@utilitywarehouse/hearth-react-native 0.36.0 → 0.36.2
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/SKILL.md +27 -16
- package/build/components/Accordion/Accordion.d.ts +4 -0
- package/build/components/Accordion/Accordion.js +4 -0
- package/build/components/Accordion/Accordion.props.d.ts +2 -0
- package/build/components/Alert/Alert.d.ts +4 -0
- package/build/components/Alert/Alert.js +4 -0
- package/build/components/Avatar/Avatar.d.ts +4 -0
- package/build/components/Avatar/Avatar.js +4 -0
- package/build/components/Badge/Badge.d.ts +4 -0
- package/build/components/Badge/Badge.js +4 -0
- package/build/components/Badge/Badge.props.d.ts +19 -0
- package/build/components/Banner/Banner.d.ts +5 -0
- package/build/components/Banner/Banner.js +5 -0
- package/build/components/Banner/BannerIllustration.d.ts +4 -0
- package/build/components/Banner/BannerIllustration.js +4 -0
- package/build/components/Banner/BannerImage.d.ts +4 -0
- package/build/components/Banner/BannerImage.js +4 -0
- package/build/components/BodyText/BodyText.d.ts +4 -0
- package/build/components/BodyText/BodyText.js +4 -0
- package/build/components/BottomSheet/BottomSheet.d.ts +6 -0
- package/build/components/BottomSheet/BottomSheet.js +6 -0
- package/build/components/BottomSheet/BottomSheet.props.d.ts +2 -0
- package/build/components/Box/Box.d.ts +4 -0
- package/build/components/Box/Box.js +4 -0
- package/build/components/Box/Box.props.d.ts +2 -0
- package/build/components/Button/Button.d.ts +4 -0
- package/build/components/Button/Button.js +4 -0
- package/build/components/Button/Button.props.d.ts +129 -0
- package/build/components/Card/Card.d.ts +4 -0
- package/build/components/Card/Card.js +4 -0
- package/build/components/Card/Card.props.d.ts +19 -1
- package/build/components/Card/CardAction/CardAction.d.ts +4 -0
- package/build/components/Card/CardAction/CardAction.js +4 -0
- package/build/components/Card/CardAction/CardAction.props.d.ts +23 -0
- package/build/components/Card/CardPressHandler.d.ts +8 -3
- package/build/components/Card/CardPressHandler.js +3 -0
- package/build/components/Carousel/Carousel.d.ts +3 -0
- package/build/components/Carousel/Carousel.js +3 -0
- package/build/components/Carousel/Carousel.props.d.ts +37 -0
- package/build/components/Center/Center.d.ts +3 -0
- package/build/components/Center/Center.js +3 -0
- package/build/components/Checkbox/Checkbox.d.ts +3 -0
- package/build/components/Checkbox/Checkbox.js +3 -0
- package/build/components/Checkbox/Checkbox.props.d.ts +20 -0
- package/build/components/Checkbox/CheckboxGroup.d.ts +3 -0
- package/build/components/Checkbox/CheckboxGroup.js +3 -0
- package/build/components/Checkbox/CheckboxGroup.props.d.ts +24 -0
- package/build/components/Combobox/Combobox.d.ts +3 -0
- package/build/components/Combobox/Combobox.js +3 -0
- package/build/components/Container/Container.d.ts +3 -0
- package/build/components/Container/Container.js +3 -0
- package/build/components/CurrencyInput/CurrencyInput.d.ts +3 -0
- package/build/components/CurrencyInput/CurrencyInput.js +3 -0
- package/build/components/CurrencyInput/CurrencyInput.props.d.ts +25 -0
- package/build/components/DateInput/DateInput.d.ts +4 -0
- package/build/components/DateInput/DateInput.js +4 -0
- package/build/components/DateInput/DateInput.props.d.ts +3 -0
- package/build/components/DatePicker/DatePicker.d.ts +14 -0
- package/build/components/DatePicker/DatePicker.js +4 -0
- package/build/components/DatePicker/DatePicker.props.d.ts +78 -0
- package/build/components/DatePickerInput/DatePickerInput.d.ts +4 -0
- package/build/components/DatePickerInput/DatePickerInput.js +4 -0
- package/build/components/DatePickerInput/DatePickerInput.props.d.ts +21 -0
- package/build/components/DescriptionList/DescriptionList.d.ts +4 -0
- package/build/components/DescriptionList/DescriptionList.js +4 -0
- package/build/components/DescriptionList/DescriptionList.props.d.ts +4 -0
- package/build/components/DetailText/DetailText.d.ts +4 -0
- package/build/components/DetailText/DetailText.js +4 -0
- package/build/components/Divider/Divider.d.ts +4 -0
- package/build/components/Divider/Divider.js +4 -0
- package/build/components/Divider/Divider.props.d.ts +10 -0
- package/build/components/Expandable/Expandable.d.ts +5 -0
- package/build/components/Expandable/Expandable.js +5 -0
- package/build/components/ExpandableCard/ExpandableCard.d.ts +4 -0
- package/build/components/ExpandableCard/ExpandableCard.js +4 -0
- package/build/components/Flex/Flex.d.ts +4 -0
- package/build/components/Flex/Flex.js +4 -0
- package/build/components/Flex/Flex.props.d.ts +20 -0
- package/build/components/FormField/FormField.d.ts +5 -0
- package/build/components/FormField/FormField.js +5 -0
- package/build/components/FormField/FormField.props.d.ts +24 -0
- package/build/components/Grid/Grid.d.ts +4 -0
- package/build/components/Grid/Grid.js +4 -0
- package/build/components/HTMLElements/ListItem.d.ts +5 -0
- package/build/components/HTMLElements/OrderedList.d.ts +10 -0
- package/build/components/HTMLElements/OrderedList.js +4 -0
- package/build/components/HTMLElements/UnorderedList.d.ts +10 -0
- package/build/components/HTMLElements/UnorderedList.js +4 -0
- package/build/components/Heading/Heading.d.ts +4 -0
- package/build/components/Heading/Heading.js +4 -0
- package/build/components/HighlightBanner/HighlightBanner.d.ts +5 -0
- package/build/components/HighlightBanner/HighlightBanner.js +5 -0
- package/build/components/HighlightBanner/HighlightBanner.props.d.ts +14 -0
- package/build/components/HighlightBanner/HighlightBannerImage.d.ts +4 -0
- package/build/components/HighlightBanner/HighlightBannerImage.js +4 -0
- package/build/components/Icon/Icon.d.ts +4 -0
- package/build/components/Icon/Icon.js +4 -0
- package/build/components/Icon/Icon.props.d.ts +8 -0
- package/build/components/IconButton/IconButton.d.ts +5 -0
- package/build/components/IconButton/IconButton.js +5 -0
- package/build/components/IconButton/IconButton.props.d.ts +9 -0
- package/build/components/IconContainer/IconContainer.d.ts +4 -0
- package/build/components/IconContainer/IconContainer.js +4 -0
- package/build/components/IndicatorIconButton/IndicatorIconButton.d.ts +6 -0
- package/build/components/IndicatorIconButton/IndicatorIconButton.js +6 -0
- package/build/components/InlineLink/InlineLink.d.ts +1 -0
- package/build/components/InlineLink/InlineLink.js +1 -0
- package/build/components/InlineLink/InlineLink.props.d.ts +4 -0
- package/build/components/Input/Input.d.ts +5 -0
- package/build/components/Input/Input.js +5 -0
- package/build/components/Input/Input.props.d.ts +54 -0
- package/build/components/Link/Link.d.ts +5 -0
- package/build/components/Link/Link.js +5 -0
- package/build/components/Link/Link.props.d.ts +15 -0
- package/build/components/List/List.d.ts +1 -0
- package/build/components/List/List.js +1 -0
- package/build/components/List/List.props.d.ts +8 -0
- package/build/components/Menu/Menu.d.ts +1 -0
- package/build/components/Menu/Menu.js +1 -0
- package/build/components/Modal/Modal.d.ts +5 -0
- package/build/components/Modal/Modal.js +5 -1
- package/build/components/Modal/Modal.props.d.ts +6 -0
- package/build/components/Modal/Modal.shared.types.d.ts +32 -0
- package/build/components/Modal/ModalImage.d.ts +1 -0
- package/build/components/Modal/ModalImage.js +1 -0
- package/build/components/NavModal/NavModal.d.ts +8 -0
- package/build/components/NavModal/NavModal.js +8 -0
- package/build/components/NavModal/NavModal.props.d.ts +10 -0
- package/build/components/Pagination/Pagination.d.ts +5 -0
- package/build/components/Pagination/Pagination.js +5 -0
- package/build/components/PillGroup/Pill.d.ts +1 -0
- package/build/components/PillGroup/Pill.js +1 -0
- package/build/components/PillGroup/PillGroup.d.ts +5 -0
- package/build/components/PillGroup/PillGroup.js +5 -0
- package/build/components/ProgressBar/ProgressBar.d.ts +5 -0
- package/build/components/ProgressBar/ProgressBar.js +5 -0
- package/build/components/ProgressBar/ProgressBar.props.d.ts +4 -0
- package/build/components/ProgressStepper/ProgressStep.d.ts +13 -0
- package/build/components/ProgressStepper/ProgressStep.js +5 -0
- package/build/components/ProgressStepper/ProgressStepper.d.ts +5 -0
- package/build/components/ProgressStepper/ProgressStepper.js +5 -0
- package/build/components/Radio/Radio.d.ts +5 -0
- package/build/components/Radio/Radio.js +5 -0
- package/build/components/Radio/Radio.props.d.ts +17 -0
- package/build/components/Radio/RadioGroup.d.ts +5 -0
- package/build/components/Radio/RadioGroup.js +5 -0
- package/build/components/Radio/RadioGroup.props.d.ts +25 -0
- package/build/components/RadioCard/RadioCard.d.ts +10 -0
- package/build/components/RadioCard/RadioCard.js +10 -0
- package/build/components/RadioCard/RadioCard.props.d.ts +14 -0
- package/build/components/RadioCard/RadioCardGroup.d.ts +4 -0
- package/build/components/RadioCard/RadioCardGroup.js +4 -0
- package/build/components/RadioCard/RadioCardGroup.props.d.ts +17 -0
- package/build/components/Rating/Rating.d.ts +5 -0
- package/build/components/Rating/Rating.js +5 -0
- package/build/components/Roundel/Roundel.d.ts +1 -0
- package/build/components/Roundel/Roundel.js +1 -0
- package/build/components/SectionHeader/SectionHeader.d.ts +1 -0
- package/build/components/SectionHeader/SectionHeader.js +1 -0
- package/build/components/SectionHeader/SectionHeader.props.d.ts +7 -0
- package/build/components/SegmentedControl/SegmentedControl.d.ts +5 -0
- package/build/components/SegmentedControl/SegmentedControl.js +5 -0
- package/build/components/Select/Select.d.ts +5 -0
- package/build/components/Select/Select.js +5 -0
- package/build/components/Skeleton/Skeleton.d.ts +1 -0
- package/build/components/Skeleton/Skeleton.js +1 -0
- package/build/components/Skeleton/Skeleton.props.d.ts +4 -0
- package/build/components/Spinner/Spinner.d.ts +4 -0
- package/build/components/Spinner/Spinner.js +8 -0
- package/build/components/Spinner/Spinner.props.d.ts +5 -0
- package/build/components/Spinner/Spinner.web.d.ts +4 -0
- package/build/components/Spinner/Spinner.web.js +8 -0
- package/build/components/StepperInput/StepperInput.d.ts +4 -0
- package/build/components/StepperInput/StepperInput.js +4 -0
- package/build/components/StepperInput/StepperInput.props.d.ts +44 -0
- package/build/components/Switch/Switch.d.ts +4 -0
- package/build/components/Switch/Switch.js +4 -0
- package/build/components/Switch/Switch.props.d.ts +5 -0
- package/build/components/Table/Table.d.ts +4 -0
- package/build/components/Table/Table.js +4 -0
- package/build/components/Table/Table.props.d.ts +6 -0
- package/build/components/Table/TableHeader.d.ts +3 -0
- package/build/components/Table/TableHeader.js +3 -0
- package/build/components/Table/TableHeaderCell.d.ts +6 -0
- package/build/components/Table/TableHeaderCell.js +3 -0
- package/build/components/Tabs/Tabs.d.ts +5 -0
- package/build/components/Tabs/Tabs.js +5 -0
- package/build/components/Textarea/Textarea.d.ts +6 -0
- package/build/components/Textarea/Textarea.js +6 -0
- package/build/components/Textarea/Textarea.props.d.ts +14 -0
- package/build/components/TimePicker/TimePicker.d.ts +5 -0
- package/build/components/TimePicker/TimePicker.js +5 -0
- package/build/components/TimePickerInput/TimePickerInput.d.ts +5 -0
- package/build/components/TimePickerInput/TimePickerInput.js +5 -0
- package/build/components/TimePickerInput/TimePickerInput.props.d.ts +28 -0
- package/build/components/Timeline/Timeline.d.ts +5 -0
- package/build/components/Timeline/Timeline.js +5 -0
- package/build/components/Timeline/TimelineItem.d.ts +4 -0
- package/build/components/Timeline/TimelineItem.js +4 -0
- package/build/components/Toast/Toast.context.d.ts +4 -0
- package/build/components/Toast/Toast.context.js +4 -0
- package/build/components/Toast/Toast.props.d.ts +7 -0
- package/build/components/ToggleButton/ToggleButton.d.ts +4 -0
- package/build/components/ToggleButton/ToggleButton.js +4 -0
- package/build/components/ToggleButton/ToggleButton.props.d.ts +6 -0
- package/build/components/ToggleButtonCard/ToggleButtonCard.d.ts +8 -0
- package/build/components/ToggleButtonCard/ToggleButtonCard.js +8 -0
- package/build/components/ToggleButtonCard/ToggleButtonCard.props.d.ts +9 -0
- package/build/components/ToggleButtonCard/ToggleButtonCardGroup.props.d.ts +15 -0
- package/build/components/UnstyledIconButton/UnstyledIconButton.d.ts +5 -0
- package/build/components/UnstyledIconButton/UnstyledIconButton.js +5 -0
- package/build/components/UnstyledIconButton/UnstyledIconButton.props.d.ts +17 -0
- package/build/components/VerificationInput/VerificationInput.d.ts +4 -0
- package/build/components/VerificationInput/VerificationInput.js +4 -0
- package/package.json +8 -5
- package/public/llms/components/checkbox.md +6 -1
- package/public/llms/components/expandable-card.md +2 -2
- package/public/llms/components/modal.md +4 -0
- package/public/llms/docs/introduction.md +1 -1
|
@@ -2,20 +2,37 @@ import { ComponentType, ReactNode } from 'react';
|
|
|
2
2
|
import type { PressableProps, ViewProps } from 'react-native';
|
|
3
3
|
import { IconContainerProps } from '../../IconContainer';
|
|
4
4
|
export interface CardActionBaseProps extends Omit<PressableProps, 'children'> {
|
|
5
|
+
/** Shows a loading skeleton in place of the content. */
|
|
5
6
|
loading?: boolean;
|
|
7
|
+
/** Disables interaction with the action. */
|
|
6
8
|
disabled?: boolean;
|
|
9
|
+
/** Size of the heading text.
|
|
10
|
+
* @default 'md'
|
|
11
|
+
*/
|
|
7
12
|
size?: 'md' | 'lg';
|
|
8
13
|
}
|
|
9
14
|
export interface CardActionContentProps {
|
|
15
|
+
/** Main heading text; required unless `children` is used. */
|
|
10
16
|
heading: string;
|
|
17
|
+
/** Secondary text shown below the heading. */
|
|
11
18
|
helperText?: string;
|
|
19
|
+
/** Badge rendered alongside the action. */
|
|
12
20
|
badge?: ReactNode;
|
|
21
|
+
/** Position of the badge relative to the heading and helper text.
|
|
22
|
+
* @default 'bottom'
|
|
23
|
+
*/
|
|
13
24
|
badgePosition?: 'bottom' | 'middle' | 'right' | 'top';
|
|
25
|
+
/** Wraps the leading icon in a styled container.
|
|
26
|
+
* @default true
|
|
27
|
+
*/
|
|
14
28
|
iconContainer?: boolean;
|
|
29
|
+
/** Visual variant of the icon container. */
|
|
15
30
|
iconContainerVariant?: IconContainerProps['variant'];
|
|
31
|
+
/** Semantic colour family used for the icon container's surface. */
|
|
16
32
|
iconContainerColor?: IconContainerProps['color'];
|
|
17
33
|
}
|
|
18
34
|
export interface CardActionWithChildren extends CardActionBaseProps {
|
|
35
|
+
/** Custom content rendered in place of the built-in heading, helper text, and icon slots. */
|
|
19
36
|
children: ViewProps['children'];
|
|
20
37
|
heading?: never;
|
|
21
38
|
helperText?: never;
|
|
@@ -31,12 +48,14 @@ export interface CardActionWithChildren extends CardActionBaseProps {
|
|
|
31
48
|
}
|
|
32
49
|
type CardActionWithLeadingContent = CardActionBaseProps & CardActionContentProps & {
|
|
33
50
|
children?: never;
|
|
51
|
+
/** Custom content displayed at the start of the action, typically an icon. */
|
|
34
52
|
leadingContent: ViewProps['children'];
|
|
35
53
|
leadingIcon?: never;
|
|
36
54
|
};
|
|
37
55
|
type CardActionWithLeadingIcon = CardActionBaseProps & CardActionContentProps & {
|
|
38
56
|
children?: never;
|
|
39
57
|
leadingContent?: never;
|
|
58
|
+
/** Icon displayed at the start of the action. */
|
|
40
59
|
leadingIcon: ComponentType;
|
|
41
60
|
};
|
|
42
61
|
type CardActionWithNoLeading = CardActionBaseProps & CardActionContentProps & {
|
|
@@ -46,11 +65,15 @@ type CardActionWithNoLeading = CardActionBaseProps & CardActionContentProps & {
|
|
|
46
65
|
};
|
|
47
66
|
type CardActionLeadingVariants = CardActionWithLeadingContent | CardActionWithLeadingIcon | CardActionWithNoLeading;
|
|
48
67
|
type CardActionWithTrailingContent = CardActionLeadingVariants & {
|
|
68
|
+
/** Custom content displayed at the end of the action, typically an icon. */
|
|
49
69
|
trailingContent: ViewProps['children'];
|
|
50
70
|
trailingIcon?: never;
|
|
51
71
|
};
|
|
52
72
|
type CardActionWithTrailingIcon = CardActionLeadingVariants & {
|
|
53
73
|
trailingContent?: never;
|
|
74
|
+
/** Icon displayed at the end of the action.
|
|
75
|
+
* @default ChevronRightSmallIcon
|
|
76
|
+
*/
|
|
54
77
|
trailingIcon: ComponentType;
|
|
55
78
|
};
|
|
56
79
|
type CardActionWithNoTrailing = CardActionLeadingVariants & {
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
+
interface CardPressHandlerOwnProps {
|
|
3
|
+
/** The handler to inherit from the child component when the `Card` is pressed. */
|
|
4
|
+
handlerToInherit?: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Wraps a child component so it inherits the `Card`'s pressed state, letting the child show an active appearance when the `Card` is pressed.
|
|
8
|
+
*/
|
|
2
9
|
declare const CardPressHandler: {
|
|
3
|
-
({ children }: PropsWithChildren<
|
|
4
|
-
handlerToInherit?: string;
|
|
5
|
-
}>): import("react").JSX.Element;
|
|
10
|
+
({ children }: PropsWithChildren<CardPressHandlerOwnProps>): import("react").JSX.Element;
|
|
6
11
|
displayName: string;
|
|
7
12
|
};
|
|
8
13
|
export default CardPressHandler;
|
|
@@ -2,6 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { useCardContext } from './Card.context';
|
|
4
4
|
import { CardPressHandlerContext } from './CardPressHandler.context';
|
|
5
|
+
/**
|
|
6
|
+
* Wraps a child component so it inherits the `Card`'s pressed state, letting the child show an active appearance when the `Card` is pressed.
|
|
7
|
+
*/
|
|
5
8
|
const CardPressHandler = ({ children }) => {
|
|
6
9
|
const { pressed } = useCardContext();
|
|
7
10
|
const context = useMemo(() => ({
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { CarouselProps } from './Carousel.props';
|
|
2
|
+
/**
|
|
3
|
+
* Displays a horizontally scrollable series of `CarouselItem`s, such as images, articles, or products, with built-in pagination controls.
|
|
4
|
+
*/
|
|
2
5
|
declare const Carousel: {
|
|
3
6
|
({ centered, children, disabled, inactiveItemOpacity, itemWidth, onSnapToItem, showOverflow, style, width, itemsStyle, activeIndex: initialActiveIndex, showControls, showNavigation, controlsStyle, controlsItemStyle, controlsActiveItemStyle, controlsAccessibilityHidden, inverted, ref, ...props }: CarouselProps): import("react").JSX.Element;
|
|
4
7
|
displayName: string;
|
|
@@ -5,6 +5,9 @@ import { StyleSheet } from 'react-native-unistyles';
|
|
|
5
5
|
import CarouselContext from './Carousel.context';
|
|
6
6
|
import { CarouselControls } from './CarouselControls';
|
|
7
7
|
import { CarouselItem } from './CarouselItem';
|
|
8
|
+
/**
|
|
9
|
+
* Displays a horizontally scrollable series of `CarouselItem`s, such as images, articles, or products, with built-in pagination controls.
|
|
10
|
+
*/
|
|
8
11
|
const Carousel = ({ centered = false, children, disabled = false, inactiveItemOpacity = 1, itemWidth, onSnapToItem, showOverflow = false, style, width, itemsStyle, activeIndex: initialActiveIndex = 0, showControls = true, showNavigation = false, controlsStyle, controlsItemStyle, controlsActiveItemStyle, controlsAccessibilityHidden = true, inverted = false, ref, ...props }) => {
|
|
9
12
|
const [activeIndex, setActiveIndex] = useState(initialActiveIndex);
|
|
10
13
|
const [, setNumItems] = useState(0);
|
|
@@ -26,24 +26,61 @@ export interface CarouselItemProps extends ViewProps {
|
|
|
26
26
|
width?: number;
|
|
27
27
|
}
|
|
28
28
|
export interface CarouselProps extends Omit<FlatListProps<ReactElement<CarouselItemProps>>, 'accessibilityActions' | 'accessibilityLabel' | 'accessibilityRole' | 'accessible' | 'bounces' | 'children' | 'data' | 'decelerationRate' | 'getItemLayout' | 'horizontal' | 'pagingEnabled' | 'onAccessibilityAction' | 'onViewableItemsChanged' | 'overScrollMode' | 'renderItem' | 'showsHorizontalScrollIndicator' | 'snapToInterval' | 'snapToAlignment' | 'viewabilityConfig' | 'style'> {
|
|
29
|
+
/** Sets the initial active item index.
|
|
30
|
+
* @default 0
|
|
31
|
+
*/
|
|
29
32
|
activeIndex?: number;
|
|
33
|
+
/** Centers items within the viewport, revealing partial adjacent items when used with `itemWidth`.
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
30
36
|
centered?: boolean;
|
|
37
|
+
/** Disables scrolling and interaction with the carousel.
|
|
38
|
+
* @default false
|
|
39
|
+
*/
|
|
31
40
|
disabled?: boolean;
|
|
41
|
+
/** Opacity applied to items outside the active viewport, for use with `showOverflow`.
|
|
42
|
+
* @default 1
|
|
43
|
+
*/
|
|
32
44
|
inactiveItemOpacity?: number;
|
|
45
|
+
/** Width of each carousel item, if different from `width`. */
|
|
33
46
|
itemWidth?: number;
|
|
47
|
+
/** Called each time a new item becomes active in the viewport. */
|
|
34
48
|
onSnapToItem?: (index: number) => void;
|
|
49
|
+
/** Reveals items that sit outside the carousel viewport.
|
|
50
|
+
* @default false
|
|
51
|
+
*/
|
|
35
52
|
showOverflow?: boolean;
|
|
53
|
+
/** Width of the carousel viewport. */
|
|
36
54
|
width: number;
|
|
55
|
+
/** The `CarouselItem` elements to render. */
|
|
37
56
|
children?: ViewProps['children'];
|
|
57
|
+
/** Style applied to the scrollable list of items. */
|
|
38
58
|
itemsStyle?: FlatListProps<ReactElement<CarouselItemProps>>['style'];
|
|
59
|
+
/** Style applied to the carousel's outer container. */
|
|
39
60
|
style?: ViewStyle;
|
|
61
|
+
/** Shows the built-in pagination controls.
|
|
62
|
+
* @default true
|
|
63
|
+
*/
|
|
40
64
|
showControls?: boolean;
|
|
65
|
+
/** Shows previous/next navigation buttons in the controls.
|
|
66
|
+
* @default false
|
|
67
|
+
*/
|
|
41
68
|
showNavigation?: boolean;
|
|
69
|
+
/** Style applied to the pagination controls container. */
|
|
42
70
|
controlsStyle?: ViewProps['style'];
|
|
71
|
+
/** Style applied to each pagination dot. */
|
|
43
72
|
controlsItemStyle?: ViewProps['style'];
|
|
73
|
+
/** Style applied to the active pagination dot. */
|
|
44
74
|
controlsActiveItemStyle?: ViewProps['style'];
|
|
75
|
+
/** Hides the pagination controls from screen readers.
|
|
76
|
+
* @default true
|
|
77
|
+
*/
|
|
45
78
|
controlsAccessibilityHidden?: boolean;
|
|
79
|
+
/** Forwarded ref exposing `scrollToIndex` and `scrollToOffset` methods. */
|
|
46
80
|
ref?: React.Ref<CarouselRef>;
|
|
81
|
+
/** Inverts the carousel control colours, for use on brand-coloured backgrounds.
|
|
82
|
+
* @default false
|
|
83
|
+
*/
|
|
47
84
|
inverted?: boolean;
|
|
48
85
|
}
|
|
49
86
|
export interface CarouselProviderProps {
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Box } from '../Box';
|
|
3
|
+
/**
|
|
4
|
+
* Centers its children both horizontally and vertically, for building simple centered layouts.
|
|
5
|
+
*/
|
|
3
6
|
const Center = ({ children, ...props }) => (_jsx(Box, { alignItems: "center", justifyContent: "center", ...props, children: children }));
|
|
4
7
|
Center.displayName = 'Center';
|
|
5
8
|
export default Center;
|
|
@@ -9,6 +9,9 @@ declare const CheckboxIcon: import("react").ForwardRefExoticComponent<import("re
|
|
|
9
9
|
forceMount?: boolean;
|
|
10
10
|
}>;
|
|
11
11
|
declare const CheckboxLabel: import("react").ForwardRefExoticComponent<import("react").RefAttributes<import("../Label/Label.props").default> & Omit<import("../Label/Label.props").default, "ref">>;
|
|
12
|
+
/**
|
|
13
|
+
* Lets a user select one or more options from a list, with an optional label, helper text, and validation state.
|
|
14
|
+
*/
|
|
12
15
|
declare const Checkbox: {
|
|
13
16
|
({ children, label, disabled, checked, helperIcon, helperText, badge, invalidText, validText, validationStatus: validation, showValidationIcon, type, image, value, ...props }: CheckboxProps): import("react").JSX.Element;
|
|
14
17
|
displayName: string;
|
|
@@ -25,6 +25,9 @@ CheckboxGroup.displayName = 'CheckboxGroup';
|
|
|
25
25
|
CheckboxIndicator.displayName = 'CheckboxIndicator';
|
|
26
26
|
CheckboxIcon.displayName = 'CheckboxIcon';
|
|
27
27
|
CheckboxLabel.displayName = 'CheckboxLabel';
|
|
28
|
+
/**
|
|
29
|
+
* Lets a user select one or more options from a list, with an optional label, helper text, and validation state.
|
|
30
|
+
*/
|
|
28
31
|
const Checkbox = ({ children, label, disabled, checked, helperIcon, helperText, badge, invalidText, validText, validationStatus: validation, showValidationIcon, type = 'default', image, value, ...props }) => {
|
|
29
32
|
const { validationStatus: fieldValidationStatus } = useFormFieldContext();
|
|
30
33
|
const { validationStatus: groupValidationStatus, type: groupType } = useCheckboxGroupContext();
|
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
import type { ComponentType, ReactNode } from 'react';
|
|
2
2
|
import type { PressableProps, ViewProps } from 'react-native';
|
|
3
3
|
type CheckboxBaseProps = {
|
|
4
|
+
/** Called with the new checked state when the checkbox is toggled. */
|
|
4
5
|
onChange?: (isSelected: boolean) => void;
|
|
5
6
|
disabled?: boolean;
|
|
7
|
+
/** The validation status of the checkbox. */
|
|
6
8
|
validationStatus?: 'valid' | 'invalid' | 'initial';
|
|
9
|
+
/** The visual style of the checkbox.
|
|
10
|
+
* @default 'default'
|
|
11
|
+
*/
|
|
7
12
|
type?: 'default' | 'tile';
|
|
8
13
|
} & ({
|
|
14
|
+
/** The value returned on form submission when the checkbox is checked. */
|
|
9
15
|
value?: string | number | boolean;
|
|
16
|
+
/** Whether the checkbox is checked. */
|
|
10
17
|
checked: boolean;
|
|
11
18
|
} | {
|
|
19
|
+
/** The value returned on form submission when the checkbox is checked. */
|
|
12
20
|
value: string | number | boolean;
|
|
21
|
+
/** Whether the checkbox is checked. */
|
|
13
22
|
checked?: boolean;
|
|
14
23
|
}) & Omit<PressableProps, 'children'>;
|
|
15
24
|
type CheckboxWithChildrenProps = {
|
|
25
|
+
/** Custom content to render in place of the default label, helper text, and validation content. */
|
|
16
26
|
children: ViewProps['children'];
|
|
17
27
|
label?: never;
|
|
18
28
|
helperText?: never;
|
|
@@ -25,13 +35,23 @@ type CheckboxWithChildrenProps = {
|
|
|
25
35
|
} & CheckboxBaseProps;
|
|
26
36
|
type CheckboxWithoutChildrenProps = {
|
|
27
37
|
children?: never;
|
|
38
|
+
/** The label to display next to the checkbox. */
|
|
28
39
|
label?: string;
|
|
40
|
+
/** The helper text to display below the checkbox. */
|
|
29
41
|
helperText?: string;
|
|
42
|
+
/** The icon to display next to the helper text. */
|
|
30
43
|
helperIcon?: ComponentType;
|
|
44
|
+
/** The badge to display below the helper text. */
|
|
31
45
|
badge?: ReactNode;
|
|
46
|
+
/** The text to display below the checkbox when `validationStatus` is `'invalid'`. */
|
|
32
47
|
invalidText?: string;
|
|
48
|
+
/** The text to display below the checkbox when `validationStatus` is `'valid'`. */
|
|
33
49
|
validText?: string;
|
|
50
|
+
/** Whether to show the validation icon.
|
|
51
|
+
* @default true
|
|
52
|
+
*/
|
|
34
53
|
showValidationIcon?: boolean;
|
|
54
|
+
/** The image to display next to the label. */
|
|
35
55
|
image?: ReactNode;
|
|
36
56
|
} & CheckboxBaseProps;
|
|
37
57
|
type CheckboxProps = CheckboxWithChildrenProps | CheckboxWithoutChildrenProps;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import CheckboxGroupProps from './CheckboxGroup.props';
|
|
3
|
+
/**
|
|
4
|
+
* Groups multiple `Checkbox` components together, sharing a common label, helper text, and validation state.
|
|
5
|
+
*/
|
|
3
6
|
declare const CheckboxGroup: {
|
|
4
7
|
({ children, disabled, readonly, onChange, onValueChange, validationStatus, label, labelVariant, helperText, invalidText, validText, showValidationIcon, helperIcon, type, direction, gap, ...props }: CheckboxGroupProps): React.JSX.Element;
|
|
5
8
|
displayName: string;
|
|
@@ -7,6 +7,9 @@ import { Label } from '../Label';
|
|
|
7
7
|
import { CheckboxGroup as CheckboxGroupComponent } from './Checkbox';
|
|
8
8
|
import { CheckboxGroupContext } from './CheckboxGroup.context';
|
|
9
9
|
import CheckboxGroupTextContent from './CheckboxGroupTextContent';
|
|
10
|
+
/**
|
|
11
|
+
* Groups multiple `Checkbox` components together, sharing a common label, helper text, and validation state.
|
|
12
|
+
*/
|
|
10
13
|
const CheckboxGroup = ({ children, disabled, readonly, onChange, onValueChange, validationStatus, label, labelVariant = 'body', helperText, invalidText, validText, showValidationIcon = true, helperIcon, type, direction = 'column', gap, ...props }) => {
|
|
11
14
|
const value = useMemo(() => ({ disabled, validationStatus, type, direction }), [disabled, validationStatus, type, direction]);
|
|
12
15
|
const showHeader = !!label || !!helperText || !!invalidText || !!validText;
|
|
@@ -2,24 +2,48 @@ import { ComponentType } from 'react';
|
|
|
2
2
|
import { ViewProps } from 'react-native';
|
|
3
3
|
import { space } from '../../tokens';
|
|
4
4
|
interface CheckboxGroupProps extends ViewProps {
|
|
5
|
+
/** Disables every checkbox in the group. */
|
|
5
6
|
disabled?: boolean;
|
|
7
|
+
/** The selected values in the group. */
|
|
6
8
|
value?: Array<string>;
|
|
9
|
+
/** Called with the full array of selected values when any checkbox in the group is checked or unchecked. */
|
|
7
10
|
onValueChange?: (value: Array<string>) => void;
|
|
8
11
|
/**
|
|
12
|
+
* Called with the full array of selected values when any checkbox in the group is checked or unchecked.
|
|
9
13
|
* @deprecated Use `onValueChange` instead.
|
|
10
14
|
*/
|
|
11
15
|
onChange?: (value: Array<string>) => void;
|
|
16
|
+
/** Marks every checkbox in the group as read-only. */
|
|
12
17
|
readonly?: boolean;
|
|
18
|
+
/** The validation status of the checkbox group. */
|
|
13
19
|
validationStatus?: 'valid' | 'invalid' | 'initial';
|
|
20
|
+
/** The label to display above the checkbox group. */
|
|
14
21
|
label?: string;
|
|
22
|
+
/** The variant of the label text.
|
|
23
|
+
* @default 'body'
|
|
24
|
+
*/
|
|
15
25
|
labelVariant?: 'heading' | 'body';
|
|
26
|
+
/** The helper text to display below the checkbox group. */
|
|
16
27
|
helperText?: string;
|
|
28
|
+
/** Whether to show the validation icon.
|
|
29
|
+
* @default true
|
|
30
|
+
*/
|
|
17
31
|
showValidationIcon?: boolean;
|
|
32
|
+
/** The text to display below the checkbox group when `validationStatus` is `'invalid'`. */
|
|
18
33
|
invalidText?: string;
|
|
34
|
+
/** The text to display below the checkbox group when `validationStatus` is `'valid'`. */
|
|
19
35
|
validText?: string;
|
|
36
|
+
/** The icon to display next to the helper text. */
|
|
20
37
|
helperIcon?: ComponentType;
|
|
38
|
+
/** The type of checkbox rendered by the group's children.
|
|
39
|
+
* @default 'default'
|
|
40
|
+
*/
|
|
21
41
|
type?: 'default' | 'tile';
|
|
42
|
+
/** The layout direction of the checkboxes in the group.
|
|
43
|
+
* @default 'column'
|
|
44
|
+
*/
|
|
22
45
|
direction?: 'row' | 'column';
|
|
46
|
+
/** The gap between the checkbox group items. */
|
|
23
47
|
gap?: keyof typeof space;
|
|
24
48
|
}
|
|
25
49
|
export default CheckboxGroupProps;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import ComboboxProps from './Combobox.props';
|
|
3
|
+
/**
|
|
4
|
+
* A searchable select field that opens a bottom sheet for choosing a single option from a list.
|
|
5
|
+
*/
|
|
3
6
|
declare const Combobox: {
|
|
4
7
|
({ options, value, onValueChange, inputValue, onInputValueChange, label, labelVariant, placeholder, searchPlaceholder, disabled, validationStatus, helperText, helperIcon, invalidText, validText, required, children, bottomSheetProps, menuHeading, noOptionsFoundText, listProps, loading, readonly, getValueLabel, filterOption, ...rest }: ComboboxProps): React.JSX.Element;
|
|
5
8
|
displayName: string;
|
|
@@ -18,6 +18,9 @@ import { ComboboxContext } from './Combobox.context';
|
|
|
18
18
|
import { defaultFilterOption } from './Combobox.utils';
|
|
19
19
|
import ComboboxOption from './ComboboxOption';
|
|
20
20
|
const DEFAULT_SNAP_POINTS = ['25%', '40%', '80%'];
|
|
21
|
+
/**
|
|
22
|
+
* A searchable select field that opens a bottom sheet for choosing a single option from a list.
|
|
23
|
+
*/
|
|
21
24
|
const Combobox = ({ options = [], value, onValueChange, inputValue, onInputValueChange, label, labelVariant = 'body', placeholder = 'Search', searchPlaceholder = 'Search', disabled = false, validationStatus = 'initial', helperText, helperIcon, invalidText, validText, required = true, children, bottomSheetProps, menuHeading, noOptionsFoundText = 'No options found', listProps, loading = false, readonly = false, getValueLabel, filterOption, ...rest }) => {
|
|
22
25
|
const formFieldContext = useFormFieldContext();
|
|
23
26
|
const validationStatusFromContext = formFieldContext?.validationStatus ?? validationStatus;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type ContainerProps from './Container.props';
|
|
2
|
+
/**
|
|
3
|
+
* Applies the design system's responsive layout margin, padding, and spacing tokens to its content.
|
|
4
|
+
*/
|
|
2
5
|
declare const Container: {
|
|
3
6
|
({ style, children, spacing, space, ...props }: ContainerProps): import("react").JSX.Element;
|
|
4
7
|
displayName: string;
|
|
@@ -2,6 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { View } from 'react-native';
|
|
3
3
|
import { StyleSheet } from 'react-native-unistyles';
|
|
4
4
|
import { useStyleProps } from '../../hooks';
|
|
5
|
+
/**
|
|
6
|
+
* Applies the design system's responsive layout margin, padding, and spacing tokens to its content.
|
|
7
|
+
*/
|
|
5
8
|
const Container = ({ style, children, spacing = 'md', space, ...props }) => {
|
|
6
9
|
const { computedStyles, remainingProps } = useStyleProps(props);
|
|
7
10
|
styles.useVariants({ spacing: space ?? spacing });
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import type CurrencyInputProps from './CurrencyInput.props';
|
|
2
|
+
/**
|
|
3
|
+
* An input specialised for entering monetary amounts, showing a currency symbol prefix and a decimal keypad where supported.
|
|
4
|
+
*/
|
|
2
5
|
declare const CurrencyInput: {
|
|
3
6
|
({ validationStatus, disabled, focused, readonly, placeholder, inBottomSheet, required, disableGroupSeparator, value, onChangeText, label, labelVariant, helperText, helperIcon, validText, invalidText, ref, ...rest }: CurrencyInputProps): import("react").JSX.Element;
|
|
4
7
|
displayName: string;
|
|
@@ -4,6 +4,9 @@ import { StyleSheet } from 'react-native-unistyles';
|
|
|
4
4
|
import { formatThousands } from '../../utils';
|
|
5
5
|
import { DetailText } from '../DetailText';
|
|
6
6
|
import { Input, InputField, InputSlot } from '../Input';
|
|
7
|
+
/**
|
|
8
|
+
* An input specialised for entering monetary amounts, showing a currency symbol prefix and a decimal keypad where supported.
|
|
9
|
+
*/
|
|
7
10
|
const CurrencyInput = ({ validationStatus = 'initial', disabled, focused, readonly, placeholder, inBottomSheet = false, required = true, disableGroupSeparator = false, value, onChangeText, label, labelVariant = 'body', helperText, helperIcon, validText, invalidText, ref, ...rest }) => {
|
|
8
11
|
const defaultFormat = '0.00';
|
|
9
12
|
const getPlaceholder = placeholder ?? defaultFormat;
|
|
@@ -1,21 +1,46 @@
|
|
|
1
1
|
import type { Ref } from 'react';
|
|
2
2
|
import type { TextInput, TextInputProps, ViewProps } from 'react-native';
|
|
3
3
|
export interface CurrencyInputBaseProps {
|
|
4
|
+
/** Ref to the underlying text input. */
|
|
4
5
|
ref?: Ref<TextInput>;
|
|
6
|
+
/** Disables the input.
|
|
7
|
+
* @default false
|
|
8
|
+
*/
|
|
5
9
|
disabled?: boolean;
|
|
10
|
+
/** Validation styling state.
|
|
11
|
+
* @default 'initial'
|
|
12
|
+
*/
|
|
6
13
|
validationStatus?: 'initial' | 'valid' | 'invalid';
|
|
14
|
+
/** Makes the input read-only.
|
|
15
|
+
* @default false
|
|
16
|
+
*/
|
|
7
17
|
readonly?: boolean;
|
|
18
|
+
/** Forces the focused visual state.
|
|
19
|
+
* @default false
|
|
20
|
+
*/
|
|
8
21
|
focused?: boolean;
|
|
9
22
|
placeholder?: string;
|
|
23
|
+
/** Renders using `BottomSheetTextInput` for use inside a bottom sheet.
|
|
24
|
+
* @default false
|
|
25
|
+
*/
|
|
10
26
|
inBottomSheet?: boolean;
|
|
27
|
+
/** Whether the input is required. */
|
|
11
28
|
required?: boolean;
|
|
12
29
|
/** When not specifically disabled, the numeric value is automatically formatted with thousand separators (e.g. 1234 -> 1,234). */
|
|
13
30
|
disableGroupSeparator?: boolean;
|
|
31
|
+
/** The label for the input. */
|
|
14
32
|
label?: string;
|
|
33
|
+
/** The variant of the label text.
|
|
34
|
+
* @default 'body'
|
|
35
|
+
*/
|
|
15
36
|
labelVariant?: 'heading' | 'body';
|
|
37
|
+
/** Helper text to display below the input. */
|
|
16
38
|
helperText?: string;
|
|
39
|
+
/** Icon to display alongside the helper text. */
|
|
17
40
|
helperIcon?: React.ComponentType;
|
|
41
|
+
/** Text to display below the input when `validationStatus` is `'valid'`. */
|
|
18
42
|
validText?: string;
|
|
43
|
+
/** Text to display below the input when `validationStatus` is `'invalid'`. */
|
|
19
44
|
invalidText?: string;
|
|
20
45
|
}
|
|
21
46
|
export type CurrencyInputProps = CurrencyInputBaseProps & Omit<TextInputProps, 'children'> & ViewProps;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import type { DateInputProps } from './DateInput.props';
|
|
2
|
+
/**
|
|
3
|
+
* Lets users enter a date manually across separate day, month, and year segments, with the option to show only the segments needed.
|
|
4
|
+
* Integrates with the design system's form field styling, validation states, and helper text.
|
|
5
|
+
*/
|
|
2
6
|
declare const DateInput: {
|
|
3
7
|
({ label, helperText, helperIcon, validationStatus, validText, invalidText, disabled, readonly, required, hideDay, hideMonth, hideYear, dayPlaceholder, monthPlaceholder, yearPlaceholder, dayValue, monthValue, yearValue, dayRef, monthRef, yearRef, onDayChange, onMonthChange, onYearChange, onDayFocus, onMonthFocus, onYearFocus, onDayBlur, onMonthBlur, onYearBlur, inputLabelStyle, inputContainerStyle, inputStyle, ...props }: DateInputProps): import("react").JSX.Element;
|
|
4
8
|
displayName: string;
|
|
@@ -3,6 +3,10 @@ import { View } from 'react-native';
|
|
|
3
3
|
import { StyleSheet } from 'react-native-unistyles';
|
|
4
4
|
import { FormField } from '../FormField';
|
|
5
5
|
import DateInputSegment from './DateInputSegment';
|
|
6
|
+
/**
|
|
7
|
+
* Lets users enter a date manually across separate day, month, and year segments, with the option to show only the segments needed.
|
|
8
|
+
* Integrates with the design system's form field styling, validation states, and helper text.
|
|
9
|
+
*/
|
|
6
10
|
const DateInput = ({ label, helperText, helperIcon, validationStatus = 'initial', validText, invalidText, disabled, readonly, required, hideDay = false, hideMonth = false, hideYear = false, dayPlaceholder = 'DD', monthPlaceholder = 'MM', yearPlaceholder = 'YYYY', dayValue, monthValue, yearValue, dayRef, monthRef, yearRef, onDayChange, onMonthChange, onYearChange, onDayFocus, onMonthFocus, onYearFocus, onDayBlur, onMonthBlur, onYearBlur, inputLabelStyle, inputContainerStyle, inputStyle, ...props }) => {
|
|
7
11
|
return (_jsx(FormField, { label: label, helperText: helperText, helperIcon: helperIcon, validationStatus: validationStatus, validText: validText, invalidText: invalidText, disabled: disabled, readonly: readonly, required: required, style: styles.wrap, ...props, children: _jsxs(View, { style: styles.container, children: [!hideDay && (_jsx(DateInputSegment, { label: "Day", placeholder: dayPlaceholder, value: dayValue, inputRef: dayRef, onChange: onDayChange, onFocus: onDayFocus, onBlur: onDayBlur, disabled: disabled, required: required, readonly: readonly, validationStatus: validationStatus, maxLength: 2, testID: "date-input-day", inputContainerStyle: inputContainerStyle, inputStyle: inputStyle, inputLabelStyle: inputLabelStyle })), !hideMonth && (_jsx(DateInputSegment, { label: "Month", placeholder: monthPlaceholder, value: monthValue, inputRef: monthRef, onChange: onMonthChange, onFocus: onMonthFocus, onBlur: onMonthBlur, disabled: disabled, required: required, readonly: readonly, validationStatus: validationStatus, maxLength: 2, testID: "date-input-month", inputContainerStyle: inputContainerStyle, inputStyle: inputStyle, inputLabelStyle: inputLabelStyle })), !hideYear && (_jsx(DateInputSegment, { label: "Year", placeholder: yearPlaceholder, value: yearValue, inputRef: yearRef, onChange: onYearChange, onFocus: onYearFocus, onBlur: onYearBlur, disabled: disabled, required: required, readonly: readonly, validationStatus: validationStatus, maxLength: 4, testID: "date-input-year", inputContainerStyle: inputContainerStyle, inputStyle: inputStyle, inputLabelStyle: inputLabelStyle }))] }) }));
|
|
8
12
|
};
|
|
@@ -90,8 +90,11 @@ export interface DateInputProps extends FormFieldBaseProps {
|
|
|
90
90
|
* Callback fired when the year segment loses focus.
|
|
91
91
|
*/
|
|
92
92
|
onYearBlur?: TextInputProps['onBlur'];
|
|
93
|
+
/** Custom style for each input segment's container. */
|
|
93
94
|
inputContainerStyle?: ViewProps['style'];
|
|
95
|
+
/** Custom style for each input segment's text input. */
|
|
94
96
|
inputStyle?: ViewProps['style'];
|
|
97
|
+
/** Custom style for each input segment's label. */
|
|
95
98
|
inputLabelStyle?: LabelProps['style'];
|
|
96
99
|
}
|
|
97
100
|
export interface DateInputSegmentProps {
|
|
@@ -1,19 +1,33 @@
|
|
|
1
1
|
import type { DatePickerBaseProps, DateType, MultiChange, RangeChange, SingleChange } from './DatePicker.props';
|
|
2
2
|
export interface DatePickerSingleProps extends DatePickerBaseProps {
|
|
3
|
+
/** Controls whether the picker returns a single date, a date range, or multiple dates. */
|
|
3
4
|
mode: 'single';
|
|
5
|
+
/** The selected date, used in single mode. */
|
|
4
6
|
date?: DateType;
|
|
7
|
+
/** Called after a selection changes. */
|
|
5
8
|
onChange?: SingleChange;
|
|
6
9
|
}
|
|
7
10
|
export interface DatePickerRangeProps extends DatePickerBaseProps {
|
|
11
|
+
/** Controls whether the picker returns a single date, a date range, or multiple dates. */
|
|
8
12
|
mode: 'range';
|
|
13
|
+
/** Start of the selected range, used in range mode. */
|
|
9
14
|
startDate?: DateType;
|
|
15
|
+
/** End of the selected range, used in range mode. */
|
|
10
16
|
endDate?: DateType;
|
|
17
|
+
/** Called after a selection changes. */
|
|
11
18
|
onChange?: RangeChange;
|
|
12
19
|
}
|
|
13
20
|
export interface DatePickerMultipleProps extends DatePickerBaseProps {
|
|
21
|
+
/** Controls whether the picker returns a single date, a date range, or multiple dates. */
|
|
14
22
|
mode: 'multiple';
|
|
23
|
+
/** The selected dates, used in multiple mode. */
|
|
15
24
|
dates?: DateType[];
|
|
25
|
+
/** Called after a selection changes. */
|
|
16
26
|
onChange?: MultiChange;
|
|
17
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Presents a calendar in a bottom sheet so people can choose a single date, a date range, or multiple dates without leaving the current screen.
|
|
30
|
+
* Supports locale, time zone, and availability rules such as enabled, disabled, minimum, and maximum dates.
|
|
31
|
+
*/
|
|
18
32
|
declare const DateTimePicker: (props: DatePickerSingleProps | DatePickerRangeProps | DatePickerMultipleProps) => import("react").JSX.Element;
|
|
19
33
|
export default DateTimePicker;
|
|
@@ -20,6 +20,10 @@ dayjs.extend(localizedFormat);
|
|
|
20
20
|
dayjs.extend(utc);
|
|
21
21
|
dayjs.extend(timezone);
|
|
22
22
|
dayjs.extend(duration);
|
|
23
|
+
/**
|
|
24
|
+
* Presents a calendar in a bottom sheet so people can choose a single date, a date range, or multiple dates without leaving the current screen.
|
|
25
|
+
* Supports locale, time zone, and availability rules such as enabled, disabled, minimum, and maximum dates.
|
|
26
|
+
*/
|
|
23
27
|
const DateTimePicker = (props) => {
|
|
24
28
|
// eslint-disable-next-line @typescript-eslint/prefer-as-const
|
|
25
29
|
const numerals = 'latn';
|