@butternutbox/pawprint-native 0.4.1 → 0.5.1
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/.turbo/turbo-build.log +6 -6
- package/CHANGELOG.md +18 -0
- package/dist/index.cjs +102 -46
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +34 -10
- package/dist/index.d.ts +34 -10
- package/dist/index.js +102 -46
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/molecules/Countdown/Countdown.stories.tsx +35 -0
- package/src/components/molecules/Countdown/Countdown.tsx +52 -10
- package/src/components/molecules/Countdown/index.ts +5 -1
- package/src/components/molecules/Drawer/DrawerBody.tsx +29 -7
- package/src/components/molecules/ProductDisplayCard/ProductDisplayCard.stories.tsx +25 -11
- package/src/components/molecules/ProductDisplayCard/ProductDisplayCard.test.tsx +1 -1
- package/src/components/molecules/ProductDisplayCard/ProductDisplayCard.tsx +53 -33
- package/src/components/molecules/ProductDisplayCard/index.ts +1 -4
package/dist/index.d.cts
CHANGED
|
@@ -1892,6 +1892,21 @@ type PictureSelectorProps = PictureSelectorOwnProps & Omit<ViewProps, keyof Pict
|
|
|
1892
1892
|
declare const PictureSelector: React.ForwardRefExoticComponent<PictureSelectorOwnProps & Omit<ViewProps, keyof PictureSelectorOwnProps> & React.RefAttributes<View>>;
|
|
1893
1893
|
|
|
1894
1894
|
type CountdownLayout = "stacked" | "inline";
|
|
1895
|
+
/**
|
|
1896
|
+
* A unit label. Pass a plain string to use it regardless of count, or a
|
|
1897
|
+
* `{ singular, plural }` pair to pluralise based on the unit's value
|
|
1898
|
+
* (`singular` when the value is exactly 1, `plural` otherwise).
|
|
1899
|
+
*/
|
|
1900
|
+
type CountdownUnitLabel = string | {
|
|
1901
|
+
singular: string;
|
|
1902
|
+
plural: string;
|
|
1903
|
+
};
|
|
1904
|
+
type CountdownLabels = {
|
|
1905
|
+
days?: CountdownUnitLabel;
|
|
1906
|
+
hours?: CountdownUnitLabel;
|
|
1907
|
+
minutes?: CountdownUnitLabel;
|
|
1908
|
+
seconds?: CountdownUnitLabel;
|
|
1909
|
+
};
|
|
1895
1910
|
type CountdownOwnProps = {
|
|
1896
1911
|
layout?: CountdownLayout;
|
|
1897
1912
|
days?: number;
|
|
@@ -1901,6 +1916,7 @@ type CountdownOwnProps = {
|
|
|
1901
1916
|
showDays?: boolean;
|
|
1902
1917
|
showSeconds?: boolean;
|
|
1903
1918
|
label?: React.ReactNode;
|
|
1919
|
+
labels?: CountdownLabels;
|
|
1904
1920
|
};
|
|
1905
1921
|
type CountdownProps = CountdownOwnProps & Omit<ViewProps, keyof CountdownOwnProps>;
|
|
1906
1922
|
/**
|
|
@@ -1932,6 +1948,7 @@ type CountdownProps = CountdownOwnProps & Omit<ViewProps, keyof CountdownOwnProp
|
|
|
1932
1948
|
* @param {boolean} [showDays=true] - Whether to render the days unit and its separator.
|
|
1933
1949
|
* @param {boolean} [showSeconds=true] - Whether to render the seconds unit and its separator.
|
|
1934
1950
|
* @param {React.ReactNode} [label] - Customizable prefix label, rendered in the `inline` layout only.
|
|
1951
|
+
* @param {CountdownLabels} [labels] - Overrides the per-unit labels (`days`/`hours`/`minutes`/`seconds`). Each label is either a plain string or a `{ singular, plural }` pair that resolves against the unit's value. Pass translated strings here; any omitted unit falls back to its English default.
|
|
1935
1952
|
*
|
|
1936
1953
|
* @example
|
|
1937
1954
|
* ```tsx
|
|
@@ -1939,6 +1956,14 @@ type CountdownProps = CountdownOwnProps & Omit<ViewProps, keyof CountdownOwnProp
|
|
|
1939
1956
|
*
|
|
1940
1957
|
* <Countdown layout="stacked" days={2} hours={9} minutes={48} seconds={38} />
|
|
1941
1958
|
* <Countdown layout="inline" label="Sale ends:" showDays={false} hours={3} minutes={49} seconds={38} />
|
|
1959
|
+
* <Countdown
|
|
1960
|
+
* labels={{
|
|
1961
|
+
* days: { singular: "jour", plural: "jours" },
|
|
1962
|
+
* hours: { singular: "heure", plural: "heures" }
|
|
1963
|
+
* }}
|
|
1964
|
+
* days={1}
|
|
1965
|
+
* hours={2}
|
|
1966
|
+
* />
|
|
1942
1967
|
* ```
|
|
1943
1968
|
*/
|
|
1944
1969
|
declare const Countdown: React.ForwardRefExoticComponent<CountdownOwnProps & Omit<ViewProps, keyof CountdownOwnProps> & React.RefAttributes<View>>;
|
|
@@ -1980,9 +2005,7 @@ declare const ProductListingCardWithBadgeAndGrid: typeof _ProductListingCard & {
|
|
|
1980
2005
|
Grid: typeof Grid;
|
|
1981
2006
|
};
|
|
1982
2007
|
|
|
1983
|
-
type ProductDisplayCardDevice = "desktop" | "mobile";
|
|
1984
2008
|
type ProductDisplayCardProps = ViewProps & {
|
|
1985
|
-
device?: ProductDisplayCardDevice;
|
|
1986
2009
|
title: string;
|
|
1987
2010
|
subtext?: string | React.ReactNode;
|
|
1988
2011
|
showSubtext?: boolean;
|
|
@@ -1997,7 +2020,10 @@ type ProductDisplayCardProps = ViewProps & {
|
|
|
1997
2020
|
decrementDisabled?: boolean;
|
|
1998
2021
|
image?: string | React.ReactNode;
|
|
1999
2022
|
imageBackgroundColor?: string;
|
|
2023
|
+
thumbnailWidth?: number;
|
|
2024
|
+
thumbnailBackgroundColor?: string;
|
|
2000
2025
|
showImageQuantityBadge?: boolean;
|
|
2026
|
+
borderless?: boolean;
|
|
2001
2027
|
banner?: React.ReactNode;
|
|
2002
2028
|
showBanner?: boolean;
|
|
2003
2029
|
bannerType?: "error" | "success" | "warning" | "info";
|
|
@@ -2011,7 +2037,6 @@ type ProductDisplayCardProps = ViewProps & {
|
|
|
2011
2037
|
* import { ProductDisplayCard } from "@butternutbox/pawprint-native"
|
|
2012
2038
|
*
|
|
2013
2039
|
* <ProductDisplayCard
|
|
2014
|
-
* device="mobile"
|
|
2015
2040
|
* title="Premium Recipe"
|
|
2016
2041
|
* subtext="+£0.00/pouch"
|
|
2017
2042
|
* quantity={1}
|
|
@@ -2019,23 +2044,19 @@ type ProductDisplayCardProps = ViewProps & {
|
|
|
2019
2044
|
* />
|
|
2020
2045
|
* ```
|
|
2021
2046
|
*
|
|
2022
|
-
* @param device - *(optional)* Device variant: "desktop" or "mobile" (default)
|
|
2023
2047
|
* @param title - Product title
|
|
2024
|
-
* @param subtext - *(optional)* Subtitle text
|
|
2048
|
+
* @param subtext - *(optional)* Subtitle text (e.g. price)
|
|
2025
2049
|
* @param showSubtext - *(optional)* Show/hide subtext
|
|
2026
2050
|
* @param quantity - *(optional)* Current quantity value
|
|
2027
2051
|
* @param onQuantityChange - *(optional)* Callback when quantity changes
|
|
2028
2052
|
* @param showQuantityPicker - *(optional)* Show/hide quantity picker
|
|
2029
|
-
* @param image - *(optional)* Image
|
|
2030
|
-
* @param imageBackgroundColor - *(optional)* Background color for image container (default: theme background.container.secondary)
|
|
2031
|
-
* @param showImageQuantityBadge - *(optional)* Show/hide quantity badge overlay on image
|
|
2053
|
+
* @param image - *(optional)* Image element or content
|
|
2032
2054
|
* @param banner - *(optional)* Banner content to show below card
|
|
2033
2055
|
* @param showBanner - *(optional)* Show/hide banner
|
|
2034
2056
|
* @param bannerType - *(optional)* Banner notification type: "error", "success", "warning", or "info" (default)
|
|
2035
2057
|
* @param showBannerIcon - *(optional)* Show/hide banner notification icon
|
|
2036
2058
|
*/
|
|
2037
2059
|
declare const ProductDisplayCard: React.ForwardRefExoticComponent<ViewProps & {
|
|
2038
|
-
device?: ProductDisplayCardDevice;
|
|
2039
2060
|
title: string;
|
|
2040
2061
|
subtext?: string | React.ReactNode;
|
|
2041
2062
|
showSubtext?: boolean;
|
|
@@ -2050,7 +2071,10 @@ declare const ProductDisplayCard: React.ForwardRefExoticComponent<ViewProps & {
|
|
|
2050
2071
|
decrementDisabled?: boolean;
|
|
2051
2072
|
image?: string | React.ReactNode;
|
|
2052
2073
|
imageBackgroundColor?: string;
|
|
2074
|
+
thumbnailWidth?: number;
|
|
2075
|
+
thumbnailBackgroundColor?: string;
|
|
2053
2076
|
showImageQuantityBadge?: boolean;
|
|
2077
|
+
borderless?: boolean;
|
|
2054
2078
|
banner?: React.ReactNode;
|
|
2055
2079
|
showBanner?: boolean;
|
|
2056
2080
|
bannerType?: "error" | "success" | "warning" | "info";
|
|
@@ -2122,4 +2146,4 @@ type TabNavigationComponent = React.ForwardRefExoticComponent<TabNavigationProps
|
|
|
2122
2146
|
};
|
|
2123
2147
|
declare const TabNavigation: TabNavigationComponent;
|
|
2124
2148
|
|
|
2125
|
-
export { Accordion, type AccordionItemProps, type AccordionProps, type AccordionSize, Animated, type AnimatedProps, type AnimatedVariant, Avatar, type AvatarFallbackType, type AvatarProps, type AvatarSize, BRAND_FONTS, Badge$1 as Badge, type BadgeProps, Button, type ButtonColour, ButtonDock, type ButtonDockProps, type ButtonDockVariant, ButtonGroup, type ButtonGroupLayout, type ButtonGroupProps, type ButtonProps, type ButtonSize, type ButtonVariant, CarouselControls, type CarouselControlsProps, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, type CheckboxVariant, CopyField, CopyFieldInput, type CopyFieldProps, Countdown, type CountdownProps, type DateItemState, DatePicker, type DatePickerProps, Drawer, type DrawerBodyProps, type DrawerCloseProps, type DrawerContentProps, type DrawerDescriptionProps, type DrawerFooterProps, type DrawerGrabberProps, type DrawerHeaderProps, type DrawerHeaderVariant, type DrawerOverlayProps, type DrawerProps, type DrawerTitleProps, type DrawerTriggerProps, FilterTab, type FilterTabItemProps, type FilterTabProps, Hint, type HintProps, Icon, IconButton, type IconButtonColour, type IconButtonProps, type IconButtonSize, type IconButtonVariant, type IconCategory, type IconColour, type IconProps, type IconSize, Illustration, type IllustrationProps, type IllustrationSize, Input, InputDescription, type InputDescriptionProps, InputError, type InputErrorProps, InputField, type InputFieldProps, InputLabel, type InputLabelProps, type InputProps, Link, type LinkProps, type LinkSize, type LinkWeight, Logo, type LogoBrand, type LogoProps, type LogoSvgComponent, type LogoVariant, MessageCard, MessageCardBanner, type MessageCardBannerMedia, type MessageCardBannerProps, MessageCardInsight, type MessageCardInsightProps, Notification, type NotificationProps, NumberField, type NumberFieldProps, NumberInput, NumberInputField, type NumberInputFieldProps, type NumberInputProps, PasswordField, PasswordFieldInput, type PasswordFieldProps, PasswordFieldRequirements, type PasswordFieldRequirementsProps, type PasswordRequirement, type PasswordValidationRule, type PawprintIcon, type PawprintIllustration$2 as PawprintIllustration, PawprintProvider, type PawprintProviderProps, PictureSelector, type PictureSelectorItem, type PictureSelectorProps, ProductDisplayCard, type
|
|
2149
|
+
export { Accordion, type AccordionItemProps, type AccordionProps, type AccordionSize, Animated, type AnimatedProps, type AnimatedVariant, Avatar, type AvatarFallbackType, type AvatarProps, type AvatarSize, BRAND_FONTS, Badge$1 as Badge, type BadgeProps, Button, type ButtonColour, ButtonDock, type ButtonDockProps, type ButtonDockVariant, ButtonGroup, type ButtonGroupLayout, type ButtonGroupProps, type ButtonProps, type ButtonSize, type ButtonVariant, CarouselControls, type CarouselControlsProps, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, type CheckboxVariant, CopyField, CopyFieldInput, type CopyFieldProps, Countdown, type CountdownLabels, type CountdownProps, type CountdownUnitLabel, type DateItemState, DatePicker, type DatePickerProps, Drawer, type DrawerBodyProps, type DrawerCloseProps, type DrawerContentProps, type DrawerDescriptionProps, type DrawerFooterProps, type DrawerGrabberProps, type DrawerHeaderProps, type DrawerHeaderVariant, type DrawerOverlayProps, type DrawerProps, type DrawerTitleProps, type DrawerTriggerProps, FilterTab, type FilterTabItemProps, type FilterTabProps, Hint, type HintProps, Icon, IconButton, type IconButtonColour, type IconButtonProps, type IconButtonSize, type IconButtonVariant, type IconCategory, type IconColour, type IconProps, type IconSize, Illustration, type IllustrationProps, type IllustrationSize, Input, InputDescription, type InputDescriptionProps, InputError, type InputErrorProps, InputField, type InputFieldProps, InputLabel, type InputLabelProps, type InputProps, Link, type LinkProps, type LinkSize, type LinkWeight, Logo, type LogoBrand, type LogoProps, type LogoSvgComponent, type LogoVariant, MessageCard, MessageCardBanner, type MessageCardBannerMedia, type MessageCardBannerProps, MessageCardInsight, type MessageCardInsightProps, Notification, type NotificationProps, NumberField, type NumberFieldProps, NumberInput, NumberInputField, type NumberInputFieldProps, type NumberInputProps, PasswordField, PasswordFieldInput, type PasswordFieldProps, PasswordFieldRequirements, type PasswordFieldRequirementsProps, type PasswordRequirement, type PasswordValidationRule, type PawprintIcon, type PawprintIllustration$2 as PawprintIllustration, PawprintProvider, type PawprintProviderProps, PictureSelector, type PictureSelectorItem, type PictureSelectorProps, ProductDisplayCard, type ProductDisplayCardProps, ProductListingCardWithBadgeAndGrid as ProductListingCard, type ProductListingCardProps, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioOwnProps, type RadioProps, SearchField, SearchFieldInput, type SearchFieldProps, SegmentedControl, type SegmentedControlItemProps, type SegmentedControlProps, SelectField, SelectFieldContent, SelectFieldItem, type SelectFieldItemProps, type SelectFieldProps, SelectFieldTrigger, type SelectFieldTriggerProps, SelectFieldValue, type SelectValidationRule, Slider, type SliderProps, Spinner, type SpinnerProps, type SpinnerSize, type SpinnerVariant, Switch, type SwitchProps, TabNavigation, type TabNavigationListProps, type TabNavigationPanelProps, type TabNavigationProps, type TabNavigationTabProps, Tag, type TagProps, TextArea, TextAreaField, type TextAreaFieldProps, TextAreaLabel, type TextAreaLabelProps, type TextAreaProps, ThemeProvider, Tooltip, type TooltipProps, Typography, type TypographyProps, createPawprintTheme, fadeAnimation, fadeDownAnimation, fadeUpAnimation, registerLogo, resolveFont, resolveLogo, scaleAnimation, slideInAnimation, slideOutAnimation, theme, useCopyField, usePasswordField, usePawprint, useSearchField, useSelectField };
|
package/dist/index.d.ts
CHANGED
|
@@ -1892,6 +1892,21 @@ type PictureSelectorProps = PictureSelectorOwnProps & Omit<ViewProps, keyof Pict
|
|
|
1892
1892
|
declare const PictureSelector: React.ForwardRefExoticComponent<PictureSelectorOwnProps & Omit<ViewProps, keyof PictureSelectorOwnProps> & React.RefAttributes<View>>;
|
|
1893
1893
|
|
|
1894
1894
|
type CountdownLayout = "stacked" | "inline";
|
|
1895
|
+
/**
|
|
1896
|
+
* A unit label. Pass a plain string to use it regardless of count, or a
|
|
1897
|
+
* `{ singular, plural }` pair to pluralise based on the unit's value
|
|
1898
|
+
* (`singular` when the value is exactly 1, `plural` otherwise).
|
|
1899
|
+
*/
|
|
1900
|
+
type CountdownUnitLabel = string | {
|
|
1901
|
+
singular: string;
|
|
1902
|
+
plural: string;
|
|
1903
|
+
};
|
|
1904
|
+
type CountdownLabels = {
|
|
1905
|
+
days?: CountdownUnitLabel;
|
|
1906
|
+
hours?: CountdownUnitLabel;
|
|
1907
|
+
minutes?: CountdownUnitLabel;
|
|
1908
|
+
seconds?: CountdownUnitLabel;
|
|
1909
|
+
};
|
|
1895
1910
|
type CountdownOwnProps = {
|
|
1896
1911
|
layout?: CountdownLayout;
|
|
1897
1912
|
days?: number;
|
|
@@ -1901,6 +1916,7 @@ type CountdownOwnProps = {
|
|
|
1901
1916
|
showDays?: boolean;
|
|
1902
1917
|
showSeconds?: boolean;
|
|
1903
1918
|
label?: React.ReactNode;
|
|
1919
|
+
labels?: CountdownLabels;
|
|
1904
1920
|
};
|
|
1905
1921
|
type CountdownProps = CountdownOwnProps & Omit<ViewProps, keyof CountdownOwnProps>;
|
|
1906
1922
|
/**
|
|
@@ -1932,6 +1948,7 @@ type CountdownProps = CountdownOwnProps & Omit<ViewProps, keyof CountdownOwnProp
|
|
|
1932
1948
|
* @param {boolean} [showDays=true] - Whether to render the days unit and its separator.
|
|
1933
1949
|
* @param {boolean} [showSeconds=true] - Whether to render the seconds unit and its separator.
|
|
1934
1950
|
* @param {React.ReactNode} [label] - Customizable prefix label, rendered in the `inline` layout only.
|
|
1951
|
+
* @param {CountdownLabels} [labels] - Overrides the per-unit labels (`days`/`hours`/`minutes`/`seconds`). Each label is either a plain string or a `{ singular, plural }` pair that resolves against the unit's value. Pass translated strings here; any omitted unit falls back to its English default.
|
|
1935
1952
|
*
|
|
1936
1953
|
* @example
|
|
1937
1954
|
* ```tsx
|
|
@@ -1939,6 +1956,14 @@ type CountdownProps = CountdownOwnProps & Omit<ViewProps, keyof CountdownOwnProp
|
|
|
1939
1956
|
*
|
|
1940
1957
|
* <Countdown layout="stacked" days={2} hours={9} minutes={48} seconds={38} />
|
|
1941
1958
|
* <Countdown layout="inline" label="Sale ends:" showDays={false} hours={3} minutes={49} seconds={38} />
|
|
1959
|
+
* <Countdown
|
|
1960
|
+
* labels={{
|
|
1961
|
+
* days: { singular: "jour", plural: "jours" },
|
|
1962
|
+
* hours: { singular: "heure", plural: "heures" }
|
|
1963
|
+
* }}
|
|
1964
|
+
* days={1}
|
|
1965
|
+
* hours={2}
|
|
1966
|
+
* />
|
|
1942
1967
|
* ```
|
|
1943
1968
|
*/
|
|
1944
1969
|
declare const Countdown: React.ForwardRefExoticComponent<CountdownOwnProps & Omit<ViewProps, keyof CountdownOwnProps> & React.RefAttributes<View>>;
|
|
@@ -1980,9 +2005,7 @@ declare const ProductListingCardWithBadgeAndGrid: typeof _ProductListingCard & {
|
|
|
1980
2005
|
Grid: typeof Grid;
|
|
1981
2006
|
};
|
|
1982
2007
|
|
|
1983
|
-
type ProductDisplayCardDevice = "desktop" | "mobile";
|
|
1984
2008
|
type ProductDisplayCardProps = ViewProps & {
|
|
1985
|
-
device?: ProductDisplayCardDevice;
|
|
1986
2009
|
title: string;
|
|
1987
2010
|
subtext?: string | React.ReactNode;
|
|
1988
2011
|
showSubtext?: boolean;
|
|
@@ -1997,7 +2020,10 @@ type ProductDisplayCardProps = ViewProps & {
|
|
|
1997
2020
|
decrementDisabled?: boolean;
|
|
1998
2021
|
image?: string | React.ReactNode;
|
|
1999
2022
|
imageBackgroundColor?: string;
|
|
2023
|
+
thumbnailWidth?: number;
|
|
2024
|
+
thumbnailBackgroundColor?: string;
|
|
2000
2025
|
showImageQuantityBadge?: boolean;
|
|
2026
|
+
borderless?: boolean;
|
|
2001
2027
|
banner?: React.ReactNode;
|
|
2002
2028
|
showBanner?: boolean;
|
|
2003
2029
|
bannerType?: "error" | "success" | "warning" | "info";
|
|
@@ -2011,7 +2037,6 @@ type ProductDisplayCardProps = ViewProps & {
|
|
|
2011
2037
|
* import { ProductDisplayCard } from "@butternutbox/pawprint-native"
|
|
2012
2038
|
*
|
|
2013
2039
|
* <ProductDisplayCard
|
|
2014
|
-
* device="mobile"
|
|
2015
2040
|
* title="Premium Recipe"
|
|
2016
2041
|
* subtext="+£0.00/pouch"
|
|
2017
2042
|
* quantity={1}
|
|
@@ -2019,23 +2044,19 @@ type ProductDisplayCardProps = ViewProps & {
|
|
|
2019
2044
|
* />
|
|
2020
2045
|
* ```
|
|
2021
2046
|
*
|
|
2022
|
-
* @param device - *(optional)* Device variant: "desktop" or "mobile" (default)
|
|
2023
2047
|
* @param title - Product title
|
|
2024
|
-
* @param subtext - *(optional)* Subtitle text
|
|
2048
|
+
* @param subtext - *(optional)* Subtitle text (e.g. price)
|
|
2025
2049
|
* @param showSubtext - *(optional)* Show/hide subtext
|
|
2026
2050
|
* @param quantity - *(optional)* Current quantity value
|
|
2027
2051
|
* @param onQuantityChange - *(optional)* Callback when quantity changes
|
|
2028
2052
|
* @param showQuantityPicker - *(optional)* Show/hide quantity picker
|
|
2029
|
-
* @param image - *(optional)* Image
|
|
2030
|
-
* @param imageBackgroundColor - *(optional)* Background color for image container (default: theme background.container.secondary)
|
|
2031
|
-
* @param showImageQuantityBadge - *(optional)* Show/hide quantity badge overlay on image
|
|
2053
|
+
* @param image - *(optional)* Image element or content
|
|
2032
2054
|
* @param banner - *(optional)* Banner content to show below card
|
|
2033
2055
|
* @param showBanner - *(optional)* Show/hide banner
|
|
2034
2056
|
* @param bannerType - *(optional)* Banner notification type: "error", "success", "warning", or "info" (default)
|
|
2035
2057
|
* @param showBannerIcon - *(optional)* Show/hide banner notification icon
|
|
2036
2058
|
*/
|
|
2037
2059
|
declare const ProductDisplayCard: React.ForwardRefExoticComponent<ViewProps & {
|
|
2038
|
-
device?: ProductDisplayCardDevice;
|
|
2039
2060
|
title: string;
|
|
2040
2061
|
subtext?: string | React.ReactNode;
|
|
2041
2062
|
showSubtext?: boolean;
|
|
@@ -2050,7 +2071,10 @@ declare const ProductDisplayCard: React.ForwardRefExoticComponent<ViewProps & {
|
|
|
2050
2071
|
decrementDisabled?: boolean;
|
|
2051
2072
|
image?: string | React.ReactNode;
|
|
2052
2073
|
imageBackgroundColor?: string;
|
|
2074
|
+
thumbnailWidth?: number;
|
|
2075
|
+
thumbnailBackgroundColor?: string;
|
|
2053
2076
|
showImageQuantityBadge?: boolean;
|
|
2077
|
+
borderless?: boolean;
|
|
2054
2078
|
banner?: React.ReactNode;
|
|
2055
2079
|
showBanner?: boolean;
|
|
2056
2080
|
bannerType?: "error" | "success" | "warning" | "info";
|
|
@@ -2122,4 +2146,4 @@ type TabNavigationComponent = React.ForwardRefExoticComponent<TabNavigationProps
|
|
|
2122
2146
|
};
|
|
2123
2147
|
declare const TabNavigation: TabNavigationComponent;
|
|
2124
2148
|
|
|
2125
|
-
export { Accordion, type AccordionItemProps, type AccordionProps, type AccordionSize, Animated, type AnimatedProps, type AnimatedVariant, Avatar, type AvatarFallbackType, type AvatarProps, type AvatarSize, BRAND_FONTS, Badge$1 as Badge, type BadgeProps, Button, type ButtonColour, ButtonDock, type ButtonDockProps, type ButtonDockVariant, ButtonGroup, type ButtonGroupLayout, type ButtonGroupProps, type ButtonProps, type ButtonSize, type ButtonVariant, CarouselControls, type CarouselControlsProps, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, type CheckboxVariant, CopyField, CopyFieldInput, type CopyFieldProps, Countdown, type CountdownProps, type DateItemState, DatePicker, type DatePickerProps, Drawer, type DrawerBodyProps, type DrawerCloseProps, type DrawerContentProps, type DrawerDescriptionProps, type DrawerFooterProps, type DrawerGrabberProps, type DrawerHeaderProps, type DrawerHeaderVariant, type DrawerOverlayProps, type DrawerProps, type DrawerTitleProps, type DrawerTriggerProps, FilterTab, type FilterTabItemProps, type FilterTabProps, Hint, type HintProps, Icon, IconButton, type IconButtonColour, type IconButtonProps, type IconButtonSize, type IconButtonVariant, type IconCategory, type IconColour, type IconProps, type IconSize, Illustration, type IllustrationProps, type IllustrationSize, Input, InputDescription, type InputDescriptionProps, InputError, type InputErrorProps, InputField, type InputFieldProps, InputLabel, type InputLabelProps, type InputProps, Link, type LinkProps, type LinkSize, type LinkWeight, Logo, type LogoBrand, type LogoProps, type LogoSvgComponent, type LogoVariant, MessageCard, MessageCardBanner, type MessageCardBannerMedia, type MessageCardBannerProps, MessageCardInsight, type MessageCardInsightProps, Notification, type NotificationProps, NumberField, type NumberFieldProps, NumberInput, NumberInputField, type NumberInputFieldProps, type NumberInputProps, PasswordField, PasswordFieldInput, type PasswordFieldProps, PasswordFieldRequirements, type PasswordFieldRequirementsProps, type PasswordRequirement, type PasswordValidationRule, type PawprintIcon, type PawprintIllustration$2 as PawprintIllustration, PawprintProvider, type PawprintProviderProps, PictureSelector, type PictureSelectorItem, type PictureSelectorProps, ProductDisplayCard, type
|
|
2149
|
+
export { Accordion, type AccordionItemProps, type AccordionProps, type AccordionSize, Animated, type AnimatedProps, type AnimatedVariant, Avatar, type AvatarFallbackType, type AvatarProps, type AvatarSize, BRAND_FONTS, Badge$1 as Badge, type BadgeProps, Button, type ButtonColour, ButtonDock, type ButtonDockProps, type ButtonDockVariant, ButtonGroup, type ButtonGroupLayout, type ButtonGroupProps, type ButtonProps, type ButtonSize, type ButtonVariant, CarouselControls, type CarouselControlsProps, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, type CheckboxVariant, CopyField, CopyFieldInput, type CopyFieldProps, Countdown, type CountdownLabels, type CountdownProps, type CountdownUnitLabel, type DateItemState, DatePicker, type DatePickerProps, Drawer, type DrawerBodyProps, type DrawerCloseProps, type DrawerContentProps, type DrawerDescriptionProps, type DrawerFooterProps, type DrawerGrabberProps, type DrawerHeaderProps, type DrawerHeaderVariant, type DrawerOverlayProps, type DrawerProps, type DrawerTitleProps, type DrawerTriggerProps, FilterTab, type FilterTabItemProps, type FilterTabProps, Hint, type HintProps, Icon, IconButton, type IconButtonColour, type IconButtonProps, type IconButtonSize, type IconButtonVariant, type IconCategory, type IconColour, type IconProps, type IconSize, Illustration, type IllustrationProps, type IllustrationSize, Input, InputDescription, type InputDescriptionProps, InputError, type InputErrorProps, InputField, type InputFieldProps, InputLabel, type InputLabelProps, type InputProps, Link, type LinkProps, type LinkSize, type LinkWeight, Logo, type LogoBrand, type LogoProps, type LogoSvgComponent, type LogoVariant, MessageCard, MessageCardBanner, type MessageCardBannerMedia, type MessageCardBannerProps, MessageCardInsight, type MessageCardInsightProps, Notification, type NotificationProps, NumberField, type NumberFieldProps, NumberInput, NumberInputField, type NumberInputFieldProps, type NumberInputProps, PasswordField, PasswordFieldInput, type PasswordFieldProps, PasswordFieldRequirements, type PasswordFieldRequirementsProps, type PasswordRequirement, type PasswordValidationRule, type PawprintIcon, type PawprintIllustration$2 as PawprintIllustration, PawprintProvider, type PawprintProviderProps, PictureSelector, type PictureSelectorItem, type PictureSelectorProps, ProductDisplayCard, type ProductDisplayCardProps, ProductListingCardWithBadgeAndGrid as ProductListingCard, type ProductListingCardProps, Progress, type ProgressProps, Radio, RadioGroup, type RadioGroupProps, type RadioOwnProps, type RadioProps, SearchField, SearchFieldInput, type SearchFieldProps, SegmentedControl, type SegmentedControlItemProps, type SegmentedControlProps, SelectField, SelectFieldContent, SelectFieldItem, type SelectFieldItemProps, type SelectFieldProps, SelectFieldTrigger, type SelectFieldTriggerProps, SelectFieldValue, type SelectValidationRule, Slider, type SliderProps, Spinner, type SpinnerProps, type SpinnerSize, type SpinnerVariant, Switch, type SwitchProps, TabNavigation, type TabNavigationListProps, type TabNavigationPanelProps, type TabNavigationProps, type TabNavigationTabProps, Tag, type TagProps, TextArea, TextAreaField, type TextAreaFieldProps, TextAreaLabel, type TextAreaLabelProps, type TextAreaProps, ThemeProvider, Tooltip, type TooltipProps, Typography, type TypographyProps, createPawprintTheme, fadeAnimation, fadeDownAnimation, fadeUpAnimation, registerLogo, resolveFont, resolveLogo, scaleAnimation, slideInAnimation, slideOutAnimation, theme, useCopyField, usePasswordField, usePawprint, useSearchField, useSelectField };
|
package/dist/index.js
CHANGED
|
@@ -8756,6 +8756,7 @@ DrawerOverlay.displayName = "Drawer.Overlay";
|
|
|
8756
8756
|
var DrawerDragContext = React60.createContext(null);
|
|
8757
8757
|
var useDrawerDragContext = () => React60.useContext(DrawerDragContext);
|
|
8758
8758
|
var DrawerFooterContext = React60.createContext(false);
|
|
8759
|
+
var useDrawerFooterContext = () => React60.useContext(DrawerFooterContext);
|
|
8759
8760
|
var DrawerHeaderContext = React60.createContext(null);
|
|
8760
8761
|
var useDrawerHeaderContext = () => React60.useContext(DrawerHeaderContext);
|
|
8761
8762
|
var OPEN_DURATION = 320;
|
|
@@ -9282,12 +9283,22 @@ var DrawerDescription = React60.forwardRef(
|
|
|
9282
9283
|
);
|
|
9283
9284
|
DrawerDescription.displayName = "Drawer.Description";
|
|
9284
9285
|
var parseTokenValue26 = (value) => parseFloat(value);
|
|
9285
|
-
var StyledScrollView = styled60(ScrollView)(
|
|
9286
|
-
|
|
9287
|
-
|
|
9288
|
-
|
|
9289
|
-
|
|
9290
|
-
|
|
9286
|
+
var StyledScrollView = styled60(ScrollView)(
|
|
9287
|
+
({
|
|
9288
|
+
bodyPaddingHorizontal,
|
|
9289
|
+
bodyPaddingRight,
|
|
9290
|
+
bodyGap,
|
|
9291
|
+
bodyMaxHeight,
|
|
9292
|
+
bodyPaddingBottom
|
|
9293
|
+
}) => ({
|
|
9294
|
+
flex: 1,
|
|
9295
|
+
paddingLeft: bodyPaddingHorizontal,
|
|
9296
|
+
paddingRight: bodyPaddingRight,
|
|
9297
|
+
gap: bodyGap,
|
|
9298
|
+
maxHeight: bodyMaxHeight,
|
|
9299
|
+
paddingBottom: bodyPaddingBottom
|
|
9300
|
+
})
|
|
9301
|
+
);
|
|
9291
9302
|
var DrawerBody = React60.forwardRef(
|
|
9292
9303
|
(_a, ref) => {
|
|
9293
9304
|
var _b = _a, { children, contentContainerStyle } = _b, props = __objRest(_b, ["children", "contentContainerStyle"]);
|
|
@@ -9296,10 +9307,14 @@ var DrawerBody = React60.forwardRef(
|
|
|
9296
9307
|
const { buttons } = theme2.tokens.components;
|
|
9297
9308
|
const { content } = spacing;
|
|
9298
9309
|
const headerContext = useDrawerHeaderContext();
|
|
9310
|
+
const footerContext = useDrawerFooterContext();
|
|
9311
|
+
const { height: windowHeight } = useWindowDimensions();
|
|
9299
9312
|
const gap = parseTokenValue26(content.slot.gap);
|
|
9300
9313
|
const horizontalPadding = parseTokenValue26(content.slot.horizontalPadding);
|
|
9301
9314
|
const topPadding = parseTokenValue26(content.slot.verticalPadding);
|
|
9315
|
+
const bodyMaxHeight = windowHeight - 300;
|
|
9302
9316
|
const paddingRight = headerContext === null ? parseTokenValue26(spacing.close.right.md) + parseTokenValue26(buttons.size.sm.height) : horizontalPadding;
|
|
9317
|
+
const bodyPaddingBottom = !footerContext ? parseTokenValue26(theme2.tokens.semantics.dimensions.spacing["2xl"]) : 0;
|
|
9303
9318
|
return /* @__PURE__ */ jsx(
|
|
9304
9319
|
StyledScrollView,
|
|
9305
9320
|
__spreadProps(__spreadValues({
|
|
@@ -9307,6 +9322,8 @@ var DrawerBody = React60.forwardRef(
|
|
|
9307
9322
|
bodyPaddingHorizontal: horizontalPadding,
|
|
9308
9323
|
bodyPaddingRight: paddingRight,
|
|
9309
9324
|
bodyGap: gap,
|
|
9325
|
+
bodyMaxHeight,
|
|
9326
|
+
bodyPaddingBottom,
|
|
9310
9327
|
contentContainerStyle: [
|
|
9311
9328
|
{
|
|
9312
9329
|
gap,
|
|
@@ -13650,12 +13667,13 @@ var PictureSelector = React60.forwardRef(
|
|
|
13650
13667
|
}
|
|
13651
13668
|
);
|
|
13652
13669
|
PictureSelector.displayName = "PictureSelector";
|
|
13653
|
-
var
|
|
13654
|
-
days: "days",
|
|
13655
|
-
hours: "hrs",
|
|
13656
|
-
minutes: "min",
|
|
13657
|
-
seconds: "secs"
|
|
13670
|
+
var DEFAULT_UNIT_LABELS = {
|
|
13671
|
+
days: { singular: "day", plural: "days" },
|
|
13672
|
+
hours: { singular: "hr", plural: "hrs" },
|
|
13673
|
+
minutes: { singular: "min", plural: "min" },
|
|
13674
|
+
seconds: { singular: "sec", plural: "secs" }
|
|
13658
13675
|
};
|
|
13676
|
+
var resolveLabel = (label, value) => typeof label === "string" ? label : value === 1 ? label.singular : label.plural;
|
|
13659
13677
|
var parseTokenValue54 = (value) => parseFloat(value);
|
|
13660
13678
|
var pad = (value) => String(Math.max(0, Math.floor(value))).padStart(2, "0");
|
|
13661
13679
|
var StackedRoot = styled60(View)(({ rootGap }) => ({
|
|
@@ -13733,7 +13751,8 @@ var Countdown = React60.forwardRef(
|
|
|
13733
13751
|
seconds = 0,
|
|
13734
13752
|
showDays = true,
|
|
13735
13753
|
showSeconds = true,
|
|
13736
|
-
label
|
|
13754
|
+
label,
|
|
13755
|
+
labels
|
|
13737
13756
|
} = _b, rest = __objRest(_b, [
|
|
13738
13757
|
"layout",
|
|
13739
13758
|
"days",
|
|
@@ -13742,23 +13761,33 @@ var Countdown = React60.forwardRef(
|
|
|
13742
13761
|
"seconds",
|
|
13743
13762
|
"showDays",
|
|
13744
13763
|
"showSeconds",
|
|
13745
|
-
"label"
|
|
13764
|
+
"label",
|
|
13765
|
+
"labels"
|
|
13746
13766
|
]);
|
|
13747
13767
|
const theme2 = useTheme();
|
|
13748
13768
|
const { countdown } = theme2.tokens.components;
|
|
13749
13769
|
const { countdownItem } = countdown;
|
|
13770
|
+
const unitLabels = __spreadValues(__spreadValues({}, DEFAULT_UNIT_LABELS), labels);
|
|
13750
13771
|
const units = [
|
|
13751
13772
|
showDays && {
|
|
13752
13773
|
key: "days",
|
|
13753
13774
|
value: days,
|
|
13754
|
-
label:
|
|
13775
|
+
label: resolveLabel(unitLabels.days, days)
|
|
13776
|
+
},
|
|
13777
|
+
{
|
|
13778
|
+
key: "hours",
|
|
13779
|
+
value: hours,
|
|
13780
|
+
label: resolveLabel(unitLabels.hours, hours)
|
|
13781
|
+
},
|
|
13782
|
+
{
|
|
13783
|
+
key: "minutes",
|
|
13784
|
+
value: minutes,
|
|
13785
|
+
label: resolveLabel(unitLabels.minutes, minutes)
|
|
13755
13786
|
},
|
|
13756
|
-
{ key: "hours", value: hours, label: UNIT_LABELS.hours },
|
|
13757
|
-
{ key: "minutes", value: minutes, label: UNIT_LABELS.minutes },
|
|
13758
13787
|
showSeconds && {
|
|
13759
13788
|
key: "seconds",
|
|
13760
13789
|
value: seconds,
|
|
13761
|
-
label:
|
|
13790
|
+
label: resolveLabel(unitLabels.seconds, seconds)
|
|
13762
13791
|
}
|
|
13763
13792
|
].filter(Boolean);
|
|
13764
13793
|
const colon = (key) => /* @__PURE__ */ jsx(
|
|
@@ -14132,36 +14161,47 @@ var ProductListingCardWithBadgeAndGrid = Object.assign(_ProductListingCard, {
|
|
|
14132
14161
|
Badge: Badge2,
|
|
14133
14162
|
Grid
|
|
14134
14163
|
});
|
|
14135
|
-
var StyledCardContainer = styled60(View)(({
|
|
14164
|
+
var StyledCardContainer = styled60(View)(({
|
|
14165
|
+
theme: theme2,
|
|
14166
|
+
borderless
|
|
14167
|
+
}) => {
|
|
14136
14168
|
const { spacing, borderRadius } = theme2.tokens.semantics.dimensions;
|
|
14137
14169
|
const { colour } = theme2.tokens.semantics;
|
|
14138
14170
|
const spacingMd = parseTokenValue8(spacing.md);
|
|
14139
14171
|
const spacingXl = parseTokenValue8(spacing.xl);
|
|
14140
|
-
return {
|
|
14172
|
+
return __spreadProps(__spreadValues({
|
|
14141
14173
|
flexDirection: "row",
|
|
14142
14174
|
width: "100%",
|
|
14143
|
-
height: "100%",
|
|
14175
|
+
height: borderless ? void 0 : "100%",
|
|
14144
14176
|
maxHeight: spacingXl * 6 + spacingMd,
|
|
14145
|
-
backgroundColor: colour.background.surface.default
|
|
14177
|
+
backgroundColor: colour.background.surface.default
|
|
14178
|
+
}, borderless ? {} : {
|
|
14146
14179
|
borderWidth: 1,
|
|
14147
14180
|
borderColor: colour.border.default,
|
|
14148
|
-
borderRadius: parseTokenValue8(borderRadius.md),
|
|
14149
|
-
overflow: "hidden",
|
|
14150
14181
|
shadowColor: "#522a10",
|
|
14151
14182
|
shadowOffset: { width: 0, height: spacingMd / 4 },
|
|
14152
14183
|
shadowOpacity: 0.05,
|
|
14153
14184
|
shadowRadius: spacingXl - 4,
|
|
14154
|
-
elevation: 5
|
|
14185
|
+
elevation: 5
|
|
14186
|
+
}), {
|
|
14187
|
+
borderRadius: parseTokenValue8(borderRadius.md),
|
|
14188
|
+
overflow: "hidden",
|
|
14155
14189
|
zIndex: 1
|
|
14156
|
-
};
|
|
14190
|
+
});
|
|
14157
14191
|
});
|
|
14158
14192
|
var StyledImage3 = styled60(View)(
|
|
14159
|
-
({
|
|
14193
|
+
({
|
|
14194
|
+
theme: theme2,
|
|
14195
|
+
imageBackgroundColor,
|
|
14196
|
+
thumbnailWidth = 100,
|
|
14197
|
+
thumbnailBackgroundColor
|
|
14198
|
+
}) => ({
|
|
14160
14199
|
flexShrink: 0,
|
|
14161
|
-
backgroundColor: imageBackgroundColor || theme2.tokens.semantics.colour.background.container.secondary,
|
|
14200
|
+
backgroundColor: thumbnailBackgroundColor || imageBackgroundColor || theme2.tokens.semantics.colour.background.container.secondary,
|
|
14162
14201
|
overflow: "hidden",
|
|
14163
14202
|
aspectRatio: "1 / 1",
|
|
14164
|
-
|
|
14203
|
+
width: thumbnailWidth,
|
|
14204
|
+
height: thumbnailWidth,
|
|
14165
14205
|
position: "relative"
|
|
14166
14206
|
})
|
|
14167
14207
|
);
|
|
@@ -14183,12 +14223,16 @@ var StyledQuantityBadge = styled60(View)(({ theme: theme2 }) => {
|
|
|
14183
14223
|
zIndex: 2
|
|
14184
14224
|
};
|
|
14185
14225
|
});
|
|
14186
|
-
var StyledContentArea = styled60(View)(({
|
|
14226
|
+
var StyledContentArea = styled60(View)(({
|
|
14227
|
+
theme: theme2,
|
|
14228
|
+
borderless
|
|
14229
|
+
}) => {
|
|
14187
14230
|
const { spacing } = theme2.tokens.semantics.dimensions;
|
|
14231
|
+
const paddingValue = parseTokenValue8(spacing.md);
|
|
14188
14232
|
return {
|
|
14189
14233
|
flex: 1,
|
|
14190
|
-
paddingHorizontal:
|
|
14191
|
-
paddingVertical:
|
|
14234
|
+
paddingHorizontal: paddingValue,
|
|
14235
|
+
paddingVertical: borderless ? 0 : paddingValue,
|
|
14192
14236
|
gap: parseTokenValue8(spacing.xs),
|
|
14193
14237
|
justifyContent: "space-between"
|
|
14194
14238
|
};
|
|
@@ -14220,7 +14264,6 @@ var StyledNotification = styled60(Notification)(({ theme: theme2 }) => {
|
|
|
14220
14264
|
var ProductDisplayCard = React60.forwardRef(
|
|
14221
14265
|
(_a, ref) => {
|
|
14222
14266
|
var _b = _a, {
|
|
14223
|
-
device = "mobile",
|
|
14224
14267
|
title,
|
|
14225
14268
|
subtext,
|
|
14226
14269
|
showSubtext = true,
|
|
@@ -14235,13 +14278,15 @@ var ProductDisplayCard = React60.forwardRef(
|
|
|
14235
14278
|
decrementDisabled = false,
|
|
14236
14279
|
image,
|
|
14237
14280
|
imageBackgroundColor,
|
|
14281
|
+
thumbnailWidth,
|
|
14282
|
+
thumbnailBackgroundColor,
|
|
14238
14283
|
showImageQuantityBadge = false,
|
|
14284
|
+
borderless = false,
|
|
14239
14285
|
banner,
|
|
14240
14286
|
showBanner = false,
|
|
14241
14287
|
bannerType = "info",
|
|
14242
14288
|
showBannerIcon = false
|
|
14243
14289
|
} = _b, rest = __objRest(_b, [
|
|
14244
|
-
"device",
|
|
14245
14290
|
"title",
|
|
14246
14291
|
"subtext",
|
|
14247
14292
|
"showSubtext",
|
|
@@ -14256,7 +14301,10 @@ var ProductDisplayCard = React60.forwardRef(
|
|
|
14256
14301
|
"decrementDisabled",
|
|
14257
14302
|
"image",
|
|
14258
14303
|
"imageBackgroundColor",
|
|
14304
|
+
"thumbnailWidth",
|
|
14305
|
+
"thumbnailBackgroundColor",
|
|
14259
14306
|
"showImageQuantityBadge",
|
|
14307
|
+
"borderless",
|
|
14260
14308
|
"banner",
|
|
14261
14309
|
"showBanner",
|
|
14262
14310
|
"bannerType",
|
|
@@ -14267,20 +14315,28 @@ var ProductDisplayCard = React60.forwardRef(
|
|
|
14267
14315
|
onQuantityChange == null ? void 0 : onQuantityChange(newQuantity);
|
|
14268
14316
|
}
|
|
14269
14317
|
};
|
|
14270
|
-
const cardContent = /* @__PURE__ */ jsxs(StyledCardContainer, __spreadProps(__spreadValues({ ref,
|
|
14271
|
-
image && /* @__PURE__ */ jsxs(
|
|
14272
|
-
|
|
14273
|
-
|
|
14274
|
-
|
|
14275
|
-
|
|
14276
|
-
|
|
14277
|
-
|
|
14278
|
-
|
|
14279
|
-
|
|
14280
|
-
|
|
14281
|
-
|
|
14318
|
+
const cardContent = /* @__PURE__ */ jsxs(StyledCardContainer, __spreadProps(__spreadValues({ ref, borderless }, rest), { children: [
|
|
14319
|
+
image && /* @__PURE__ */ jsxs(
|
|
14320
|
+
StyledImage3,
|
|
14321
|
+
{
|
|
14322
|
+
imageBackgroundColor,
|
|
14323
|
+
thumbnailWidth,
|
|
14324
|
+
thumbnailBackgroundColor,
|
|
14325
|
+
children: [
|
|
14326
|
+
typeof image === "string" ? /* @__PURE__ */ jsx(
|
|
14327
|
+
Image,
|
|
14328
|
+
{
|
|
14329
|
+
source: { uri: image },
|
|
14330
|
+
style: { width: "100%", height: "100%" }
|
|
14331
|
+
}
|
|
14332
|
+
) : image,
|
|
14333
|
+
showImageQuantityBadge && quantity && /* @__PURE__ */ jsx(StyledQuantityBadge, { children: /* @__PURE__ */ jsx(Typography, { variant: "body", size: "sm", weight: "bold", children: quantity }) })
|
|
14334
|
+
]
|
|
14335
|
+
}
|
|
14336
|
+
),
|
|
14337
|
+
/* @__PURE__ */ jsxs(StyledContentArea, { borderless, children: [
|
|
14282
14338
|
/* @__PURE__ */ jsxs(StyledTextContainer, { children: [
|
|
14283
|
-
/* @__PURE__ */ jsx(Typography, { variant: "heading", size: "
|
|
14339
|
+
/* @__PURE__ */ jsx(Typography, { variant: "heading", size: "2xs", color: "primary", children: title }),
|
|
14284
14340
|
showSubtext && subtext && /* @__PURE__ */ jsx(Typography, { variant: "body", size: "sm", color: "secondary", children: subtext })
|
|
14285
14341
|
] }),
|
|
14286
14342
|
showQuantityPicker && /* @__PURE__ */ jsx(View, { style: { marginLeft: "auto" }, children: /* @__PURE__ */ jsx(
|