@utilitywarehouse/hearth-react-native 0.34.5 → 0.35.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/LICENSE +194 -0
- package/README.md +52 -0
- package/SKILL.md +361 -0
- package/build/components/Alert/AlertIcon.js +4 -4
- package/build/components/Badge/BadgeIcon.js +4 -4
- package/build/components/Card/CardAction/CardActionIcon.js +2 -2
- package/build/components/Card/CardAction/CardActionTrailingIcon.js +2 -2
- package/build/components/Carousel/CarouselControlItem.js +2 -2
- package/build/components/Carousel/CarouselControls.js +2 -2
- package/build/components/Checkbox/CheckboxGroup.d.ts +1 -1
- package/build/components/Checkbox/CheckboxGroup.js +5 -2
- package/build/components/Checkbox/CheckboxGroup.props.d.ts +4 -0
- package/build/components/Combobox/Combobox.js +2 -9
- package/build/components/Combobox/Combobox.utils.d.ts +2 -0
- package/build/components/Combobox/Combobox.utils.js +8 -0
- package/build/components/Combobox/Combobox.utils.test.d.ts +1 -0
- package/build/components/Combobox/Combobox.utils.test.js +27 -0
- package/build/components/DatePicker/DatePickerHeader/DatePickerNextButton.js +2 -2
- package/build/components/DatePicker/DatePickerHeader/DatePickerPrevButton.js +2 -2
- package/build/components/DatePicker/DatePickerHeader/DatePickerSelectors.js +2 -2
- package/build/components/DatePicker/utils.test.d.ts +1 -0
- package/build/components/DatePicker/utils.test.js +191 -0
- package/build/components/DatePickerInput/DatePickerInput.js +1 -8
- package/build/components/DatePickerInput/DatePickerInput.utils.d.ts +2 -0
- package/build/components/DatePickerInput/DatePickerInput.utils.js +8 -0
- package/build/components/DatePickerInput/DatePickerInput.utils.test.d.ts +1 -0
- package/build/components/DatePickerInput/DatePickerInput.utils.test.js +22 -0
- package/build/components/ExpandableCard/ExpandableCardIcon.js +2 -2
- package/build/components/FormField/FormField.d.ts +5 -5
- package/build/components/Helper/HelperIcon.js +2 -2
- package/build/components/IconButton/IconButtonIcon.js +4 -4
- package/build/components/List/ListAction/ListActionTrailingIcon.js +2 -2
- package/build/components/List/ListItem/ListItemIcon.js +2 -2
- package/build/components/PillGroup/PillGroup.d.ts +1 -1
- package/build/components/PillGroup/PillGroup.js +4 -2
- package/build/components/PillGroup/PillGroup.props.d.ts +10 -0
- package/build/components/Radio/RadioGroup.d.ts +1 -1
- package/build/components/Radio/RadioGroup.js +5 -2
- package/build/components/Radio/RadioGroup.props.d.ts +4 -0
- package/build/components/RadioCard/RadioCard.d.ts +5 -24
- package/build/components/RadioCard/RadioCard.js +5 -1
- package/build/components/RadioCard/RadioCardGroup.props.d.ts +4 -0
- package/build/components/Rating/Rating.d.ts +1 -1
- package/build/components/Rating/Rating.js +3 -2
- package/build/components/Rating/Rating.props.d.ts +5 -0
- package/build/components/SegmentedControl/SegmentedControl.js +2 -2
- package/build/components/Select/Select.js +2 -3
- package/build/components/Select/Select.utils.d.ts +2 -0
- package/build/components/Select/Select.utils.js +1 -0
- package/build/components/Select/Select.utils.test.d.ts +1 -0
- package/build/components/Select/Select.utils.test.js +21 -0
- package/build/components/StepperInput/StepperInput.js +1 -62
- package/build/components/StepperInput/StepperInput.utils.d.ts +6 -0
- package/build/components/StepperInput/StepperInput.utils.js +62 -0
- package/build/components/StepperInput/StepperInput.utils.test.d.ts +1 -0
- package/build/components/StepperInput/StepperInput.utils.test.js +99 -0
- package/build/components/Switch/Switch.js +10 -8
- package/build/components/Switch/Switch.props.d.ts +11 -1
- package/build/components/Switch/Switch.web.js +10 -8
- package/build/components/TimePickerInput/TimePickerInput.js +1 -8
- package/build/components/TimePickerInput/TimePickerInput.utils.d.ts +3 -0
- package/build/components/TimePickerInput/TimePickerInput.utils.js +8 -0
- package/build/components/TimePickerInput/TimePickerInput.utils.test.d.ts +1 -0
- package/build/components/TimePickerInput/TimePickerInput.utils.test.js +20 -0
- package/build/components/Toast/ToastItem.js +2 -2
- package/build/components/ToggleButton/ToggleButtonRoot.js +1 -1
- package/build/components/ToggleButtonCard/ToggleButtonCard.d.ts +5 -1
- package/build/components/ToggleButtonCard/ToggleButtonCard.js +5 -1
- package/build/components/ToggleButtonCard/ToggleButtonCardGroup.props.d.ts +4 -0
- package/build/tokens/components/dark/chip.d.ts +14 -0
- package/build/tokens/components/dark/chip.js +13 -0
- package/build/tokens/components/dark/icon.d.ts +26 -0
- package/build/tokens/components/dark/icon.js +25 -0
- package/build/tokens/components/dark/index.d.ts +2 -0
- package/build/tokens/components/dark/index.js +2 -0
- package/build/tokens/components/light/chip.d.ts +14 -0
- package/build/tokens/components/light/chip.js +13 -0
- package/build/tokens/components/light/icon.d.ts +26 -0
- package/build/tokens/components/light/icon.js +25 -0
- package/build/tokens/components/light/index.d.ts +2 -0
- package/build/tokens/components/light/index.js +2 -0
- package/build/tokens/semantic-dark.d.ts +4 -4
- package/build/tokens/semantic-dark.js +4 -4
- package/build/tokens/semantic-light.d.ts +4 -4
- package/build/tokens/semantic-light.js +4 -4
- package/build/utils/formatThousands.test.d.ts +1 -0
- package/build/utils/formatThousands.test.js +31 -0
- package/build/utils/getFlattenedColorValue.test.d.ts +1 -0
- package/build/utils/getFlattenedColorValue.test.js +21 -0
- package/build/utils/getInitials.test.d.ts +1 -0
- package/build/utils/getInitials.test.js +23 -0
- package/build/utils/hexWithOpacity.test.d.ts +1 -0
- package/build/utils/hexWithOpacity.test.js +22 -0
- package/build/utils/isEqual.test.d.ts +1 -0
- package/build/utils/isEqual.test.js +44 -0
- package/build/utils/themeValueHelpers.test.d.ts +1 -0
- package/build/utils/themeValueHelpers.test.js +82 -0
- package/package.json +25 -7
- package/{src/components/Accordion/Accordion.docs.mdx → public/llms/components/accordion.md} +62 -97
- package/{src/components/Alert/Alert.docs.mdx → public/llms/components/alert.md} +46 -49
- package/{src/components/Avatar/Avatar.docs.mdx → public/llms/components/avatar.md} +18 -50
- package/{src/components/Badge/Badge.docs.mdx → public/llms/components/badge.md} +56 -38
- package/{src/components/Banner/Banner.docs.mdx → public/llms/components/banner.md} +487 -40
- package/{src/components/BodyText/BodyText.docs.mdx → public/llms/components/body-text.md} +32 -25
- package/{src/components/BottomSheet/BottomSheet.docs.mdx → public/llms/components/bottom-sheet.md} +25 -33
- package/{src/components/Box/Box.docs.mdx → public/llms/components/box.md} +7 -21
- package/{src/components/Button/Button.docs.mdx → public/llms/components/button.md} +118 -109
- package/{src/components/Card/Card.docs.mdx → public/llms/components/card.md} +281 -47
- package/{src/components/Carousel/Carousel.docs.mdx → public/llms/components/carousel.md} +14 -92
- package/public/llms/components/center.md +24 -0
- package/{src/components/Checkbox/Checkbox.docs.mdx → public/llms/components/checkbox.md} +114 -155
- package/{src/components/Combobox/Combobox.docs.mdx → public/llms/components/combobox.md} +53 -47
- package/{src/components/Container/Container.docs.mdx → public/llms/components/container.md} +59 -26
- package/{src/components/CurrencyInput/CurrencyInput.docs.mdx → public/llms/components/currency-input.md} +48 -44
- package/{src/components/DateInput/DateInput.docs.mdx → public/llms/components/date-input.md} +162 -29
- package/{src/components/DatePickerInput/DatePickerInput.docs.mdx → public/llms/components/date-picker-input.md} +11 -51
- package/{src/components/DatePicker/DatePicker.docs.mdx → public/llms/components/date-picker.md} +49 -26
- package/{src/components/DescriptionList/DescriptionList.docs.mdx → public/llms/components/description-list.md} +64 -31
- package/{src/components/DetailText/DetailText.docs.mdx → public/llms/components/detail-text.md} +47 -25
- package/{src/components/Divider/Divider.docs.mdx → public/llms/components/divider.md} +10 -22
- package/{src/components/ExpandableCard/ExpandableCard.docs.mdx → public/llms/components/expandable-card.md} +213 -28
- package/{src/components/Expandable/Expandable.docs.mdx → public/llms/components/expandable.md} +165 -21
- package/{src/components/Flex/Flex.docs.mdx → public/llms/components/flex.md} +18 -24
- package/{src/components/FormField/FormField.docs.mdx → public/llms/components/form-field.md} +57 -109
- package/{src/components/Grid/Grid.docs.mdx → public/llms/components/grid.md} +15 -79
- package/{src/components/Heading/Heading.docs.mdx → public/llms/components/heading.md} +32 -21
- package/{src/components/HighlightBanner/HighlightBanner.docs.mdx → public/llms/components/highlight-banner.md} +204 -41
- package/{src/components/HTMLElements/Lists.docs.mdx → public/llms/components/html-elements/lists.md} +20 -43
- package/{src/components/IconButton/IconButton.docs.mdx → public/llms/components/icon-button.md} +134 -32
- package/{src/components/IconContainer/IconContainer.docs.mdx → public/llms/components/icon-container.md} +44 -35
- package/{src/components/Icon/Icon.docs.mdx → public/llms/components/icon.md} +6 -30
- package/public/llms/components/indicator-icon-button.md +138 -0
- package/{src/components/InlineLink/InlineLink.docs.mdx → public/llms/components/inline-link.md} +7 -26
- package/{src/components/Input/Input.docs.mdx → public/llms/components/input.md} +73 -75
- package/{src/components/Link/Link.docs.mdx → public/llms/components/link.md} +5 -20
- package/{src/components/List/List.docs.mdx → public/llms/components/list.md} +192 -127
- package/{src/components/Menu/Menu.docs.mdx → public/llms/components/menu.md} +52 -29
- package/{src/components/Modal/Modal.docs.mdx → public/llms/components/modal.md} +119 -50
- package/{src/components/NavModal/NavModal.docs.mdx → public/llms/components/nav-modal.md} +65 -24
- package/{src/components/Pagination/Pagination.docs.mdx → public/llms/components/pagination.md} +38 -27
- package/public/llms/components/pill-group.md +162 -0
- package/{src/components/ProgressBar/ProgressBar.docs.mdx → public/llms/components/progress-bar.md} +42 -28
- package/public/llms/components/progress-stepper.md +144 -0
- package/{src/components/RadioCard/RadioCard.docs.mdx → public/llms/components/radio-card.md} +19 -50
- package/{src/components/Radio/Radio.docs.mdx → public/llms/components/radio.md} +146 -132
- package/public/llms/components/rating.md +147 -0
- package/{src/components/Roundel/Roundel.docs.mdx → public/llms/components/roundel.md} +19 -19
- package/{src/components/SectionHeader/Sectionheader.docs.mdx → public/llms/components/section-header.md} +46 -19
- package/{src/components/SegmentedControl/SegmentedControl.docs.mdx → public/llms/components/segmented-control.md} +40 -28
- package/{src/components/Select/Select.docs.mdx → public/llms/components/select.md} +70 -57
- package/{src/components/Skeleton/Skeleton.docs.mdx → public/llms/components/skeleton.md} +5 -9
- package/{src/components/Spinner/Spinner.docs.mdx → public/llms/components/spinner.md} +22 -22
- package/{src/components/StepperInput/StepperInput.docs.mdx → public/llms/components/stepper-input.md} +102 -29
- package/{src/components/Switch/Switch.docs.mdx → public/llms/components/switch.md} +56 -60
- package/public/llms/components/table.md +408 -0
- package/{src/components/Tabs/Tabs.docs.mdx → public/llms/components/tabs.md} +176 -41
- package/{src/components/Textarea/Textarea.docs.mdx → public/llms/components/textarea.md} +7 -49
- package/{src/components/ThemedImage/ThemedImage.docs.mdx → public/llms/components/themed-image.md} +79 -14
- package/{src/components/TimePickerInput/TimePickerInput.docs.mdx → public/llms/components/time-picker-input.md} +10 -48
- package/{src/components/TimePicker/TimePicker.docs.mdx → public/llms/components/time-picker.md} +17 -20
- package/{src/components/Timeline/Timeline.docs.mdx → public/llms/components/timeline.md} +30 -73
- package/{src/components/Toast/Toast.docs.mdx → public/llms/components/toast.md} +50 -31
- package/{src/components/ToggleButtonCard/ToggleButtonCard.docs.mdx → public/llms/components/toggle-button-card.md} +34 -56
- package/{src/components/VerificationInput/VerificationInput.docs.mdx → public/llms/components/verification-input.md} +106 -21
- package/{docs/adding-shadows.mdx → public/llms/docs/adding-shadows.md} +2 -29
- package/public/llms/docs/ai-tooling.md +188 -0
- package/public/llms/docs/all-components.md +3 -0
- package/{docs/dark-mode-best-practice.mdx → public/llms/docs/dark-mode-best-practice.md} +10 -139
- package/{docs/getting-started.mdx → public/llms/docs/getting-started.md} +2 -13
- package/{docs/hooks.mdx → public/llms/docs/hooks.md} +16 -13
- package/{docs/introduction.mdx → public/llms/docs/introduction.md} +6 -12
- package/{docs/layout-components.docs.mdx → public/llms/docs/layout-components.md} +59 -26
- package/{docs/styling.mdx → public/llms/docs/styling.md} +21 -17
- package/{docs/theme-tokens.mdx → public/llms/docs/theme-tokens.md} +23 -18
- package/public/llms.txt +128 -0
- package/scripts/init-ai.js +157 -0
- package/.storybook/main.ts +0 -81
- package/.storybook/manager.ts +0 -11
- package/.storybook/preview.tsx +0 -174
- package/.storybook/prism-setup.ts +0 -104
- package/.storybook/vitest.setup.ts +0 -31
- package/.turbo/turbo-build.log +0 -1
- package/CHANGELOG.md +0 -2083
- package/CLAUDE.md +0 -109
- package/chromatic.config.json +0 -6
- package/docs/all-components.mdx +0 -19
- package/docs/assets/bank-logo.png +0 -0
- package/docs/assets/bank-logo1.png +0 -0
- package/docs/assets/modal-android.mp4 +0 -0
- package/docs/assets/modal-ios.mp4 +0 -0
- package/docs/assets/pigs.png +0 -0
- package/docs/assets/toast-ios.MP4 +0 -0
- package/docs/changelog.mdx +0 -2100
- package/docs/components/AdvancedInputExample.tsx +0 -39
- package/docs/components/AllComponents.web.tsx +0 -1005
- package/docs/components/BackToTopButton.tsx +0 -58
- package/docs/components/BadgeList.tsx +0 -30
- package/docs/components/DocComponentWrap.tsx +0 -7
- package/docs/components/InputShadowExample.tsx +0 -19
- package/docs/components/NextPrevPage.tsx +0 -54
- package/docs/components/SwitchExample.tsx +0 -13
- package/docs/components/SwitchList.tsx +0 -52
- package/docs/components/UsageWrap.tsx +0 -21
- package/docs/components/VariantTitle.tsx +0 -40
- package/docs/components/ViewFigmaButton.tsx +0 -43
- package/docs/components/ViewWrap.tsx +0 -32
- package/docs/components/index.ts +0 -13
- package/docs/heplers/addReactNativePrefix.ts +0 -8
- package/docs/heplers/index.ts +0 -1
- package/docs/llm-docs/unistyles-llms-full.txt +0 -9135
- package/docs/llm-docs/unistyles-llms-small.txt +0 -247
- package/eslint.config.js +0 -35
- package/figma.config.json +0 -11
- package/scripts/copyChangelog.js +0 -57
- package/scripts/copyTokens.js +0 -96
- package/src/components/Accordion/Accordion.context.tsx +0 -13
- package/src/components/Accordion/Accordion.figma.tsx +0 -21
- package/src/components/Accordion/Accordion.props.ts +0 -43
- package/src/components/Accordion/Accordion.stories.tsx +0 -118
- package/src/components/Accordion/Accordion.tsx +0 -127
- package/src/components/Accordion/AccordionContent.tsx +0 -44
- package/src/components/Accordion/AccordionContentText.tsx +0 -10
- package/src/components/Accordion/AccordionHeader.tsx +0 -18
- package/src/components/Accordion/AccordionIcon.tsx +0 -11
- package/src/components/Accordion/AccordionItem.context.tsx +0 -11
- package/src/components/Accordion/AccordionItem.figma.tsx +0 -27
- package/src/components/Accordion/AccordionItem.props.ts +0 -20
- package/src/components/Accordion/AccordionItemRoot.tsx +0 -27
- package/src/components/Accordion/AccordionRoot.tsx +0 -35
- package/src/components/Accordion/AccordionTitleText.tsx +0 -19
- package/src/components/Accordion/AccordionTrigger.tsx +0 -54
- package/src/components/Accordion/index.ts +0 -10
- package/src/components/Alert/Alert.context.ts +0 -8
- package/src/components/Alert/Alert.figma.tsx +0 -47
- package/src/components/Alert/Alert.props.ts +0 -67
- package/src/components/Alert/Alert.stories.tsx +0 -87
- package/src/components/Alert/Alert.tsx +0 -109
- package/src/components/Alert/AlertCloseButton.tsx +0 -54
- package/src/components/Alert/AlertContent.tsx +0 -22
- package/src/components/Alert/AlertIcon.tsx +0 -54
- package/src/components/Alert/AlertIconButton.tsx +0 -49
- package/src/components/Alert/AlertLink.tsx +0 -60
- package/src/components/Alert/AlertText.tsx +0 -39
- package/src/components/Alert/AlertTitle.tsx +0 -39
- package/src/components/Alert/index.ts +0 -8
- package/src/components/Avatar/Avatar.figma.tsx +0 -23
- package/src/components/Avatar/Avatar.props.ts +0 -31
- package/src/components/Avatar/Avatar.stories.tsx +0 -76
- package/src/components/Avatar/Avatar.tsx +0 -134
- package/src/components/Avatar/index.ts +0 -2
- package/src/components/Badge/Badge.context.ts +0 -11
- package/src/components/Badge/Badge.figma.tsx +0 -47
- package/src/components/Badge/Badge.props.ts +0 -26
- package/src/components/Badge/Badge.stories.tsx +0 -184
- package/src/components/Badge/Badge.tsx +0 -300
- package/src/components/Badge/BadgeIcon.tsx +0 -158
- package/src/components/Badge/BadgeText.tsx +0 -166
- package/src/components/Badge/index.ts +0 -3
- package/src/components/Banner/Banner.context.ts +0 -11
- package/src/components/Banner/Banner.figma.tsx +0 -23
- package/src/components/Banner/Banner.props.ts +0 -99
- package/src/components/Banner/Banner.stories.tsx +0 -650
- package/src/components/Banner/Banner.tsx +0 -337
- package/src/components/Banner/BannerIllustration.figma.tsx +0 -30
- package/src/components/Banner/BannerIllustration.tsx +0 -58
- package/src/components/Banner/BannerImage.tsx +0 -63
- package/src/components/Banner/index.ts +0 -4
- package/src/components/BodyText/BodyText.props.ts +0 -10
- package/src/components/BodyText/BodyText.stories.tsx +0 -147
- package/src/components/BodyText/BodyText.tsx +0 -144
- package/src/components/BodyText/index.ts +0 -2
- package/src/components/BottomSheet/BottomSheet.context.ts +0 -15
- package/src/components/BottomSheet/BottomSheet.props.ts +0 -49
- package/src/components/BottomSheet/BottomSheet.stories.tsx +0 -335
- package/src/components/BottomSheet/BottomSheet.tsx +0 -71
- package/src/components/BottomSheet/BottomSheetBackdrop.tsx +0 -29
- package/src/components/BottomSheet/BottomSheetFlatList.tsx +0 -65
- package/src/components/BottomSheet/BottomSheetHandle.tsx +0 -48
- package/src/components/BottomSheet/BottomSheetModal.figma.tsx +0 -20
- package/src/components/BottomSheet/BottomSheetModal.tsx +0 -70
- package/src/components/BottomSheet/BottomSheetModalProvider.tsx +0 -33
- package/src/components/BottomSheet/BottomSheetScrollView.tsx +0 -74
- package/src/components/BottomSheet/BottomSheetView.tsx +0 -67
- package/src/components/BottomSheet/index.ts +0 -20
- package/src/components/BottomSheet/useBottomSheetLogic.tsx +0 -53
- package/src/components/Box/Box.props.ts +0 -13
- package/src/components/Box/Box.stories.tsx +0 -70
- package/src/components/Box/Box.tsx +0 -107
- package/src/components/Box/index.ts +0 -1
- package/src/components/Button/Button.context.ts +0 -13
- package/src/components/Button/Button.figma.tsx +0 -132
- package/src/components/Button/Button.props.tsx +0 -84
- package/src/components/Button/Button.stories.tsx +0 -293
- package/src/components/Button/Button.tsx +0 -83
- package/src/components/Button/ButtonGroup.context.ts +0 -5
- package/src/components/Button/ButtonGroup.tsx +0 -25
- package/src/components/Button/ButtonGroupRoot.tsx +0 -85
- package/src/components/Button/ButtonIcon.tsx +0 -141
- package/src/components/Button/ButtonRoot.tsx +0 -451
- package/src/components/Button/ButtonSpinner.tsx +0 -60
- package/src/components/Button/ButtonText.tsx +0 -134
- package/src/components/Button/index.ts +0 -3
- package/src/components/Card/Card.context.ts +0 -19
- package/src/components/Card/Card.figma.tsx +0 -29
- package/src/components/Card/Card.props.ts +0 -34
- package/src/components/Card/Card.stories.tsx +0 -370
- package/src/components/Card/Card.tsx +0 -10
- package/src/components/Card/CardAction/CardAction.context.ts +0 -22
- package/src/components/Card/CardAction/CardAction.figma.tsx +0 -44
- package/src/components/Card/CardAction/CardAction.props.ts +0 -86
- package/src/components/Card/CardAction/CardAction.stories.tsx +0 -412
- package/src/components/Card/CardAction/CardAction.tsx +0 -10
- package/src/components/Card/CardAction/CardActionContent.tsx +0 -20
- package/src/components/Card/CardAction/CardActionHelperText.tsx +0 -21
- package/src/components/Card/CardAction/CardActionIcon.tsx +0 -32
- package/src/components/Card/CardAction/CardActionLeadingContent.tsx +0 -9
- package/src/components/Card/CardAction/CardActionRoot.tsx +0 -270
- package/src/components/Card/CardAction/CardActionText.tsx +0 -17
- package/src/components/Card/CardAction/CardActionTrailingContent.tsx +0 -9
- package/src/components/Card/CardAction/CardActionTrailingIcon.tsx +0 -32
- package/src/components/Card/CardAction/index.ts +0 -10
- package/src/components/Card/CardActions.context.ts +0 -12
- package/src/components/Card/CardActions.tsx +0 -40
- package/src/components/Card/CardContent.tsx +0 -40
- package/src/components/Card/CardPressHandler.context.ts +0 -12
- package/src/components/Card/CardPressHandler.tsx +0 -20
- package/src/components/Card/CardRoot.tsx +0 -357
- package/src/components/Card/helpers.tsx +0 -195
- package/src/components/Card/index.ts +0 -7
- package/src/components/Carousel/Carousel.context.tsx +0 -8
- package/src/components/Carousel/Carousel.figma.tsx +0 -22
- package/src/components/Carousel/Carousel.props.ts +0 -89
- package/src/components/Carousel/Carousel.stories.tsx +0 -317
- package/src/components/Carousel/Carousel.tsx +0 -448
- package/src/components/Carousel/CarouselControlItem.tsx +0 -87
- package/src/components/Carousel/CarouselControls.tsx +0 -150
- package/src/components/Carousel/CarouselItem.tsx +0 -68
- package/src/components/Carousel/index.ts +0 -6
- package/src/components/Center/Center.docs.mdx +0 -42
- package/src/components/Center/Center.stories.tsx +0 -30
- package/src/components/Center/Center.tsx +0 -12
- package/src/components/Center/index.ts +0 -1
- package/src/components/Checkbox/Checkbox.context.ts +0 -9
- package/src/components/Checkbox/Checkbox.figma.tsx +0 -26
- package/src/components/Checkbox/Checkbox.props.ts +0 -47
- package/src/components/Checkbox/Checkbox.stories.tsx +0 -217
- package/src/components/Checkbox/Checkbox.tsx +0 -110
- package/src/components/Checkbox/CheckboxGroup.context.ts +0 -10
- package/src/components/Checkbox/CheckboxGroup.figma.tsx +0 -73
- package/src/components/Checkbox/CheckboxGroup.props.ts +0 -23
- package/src/components/Checkbox/CheckboxGroup.stories.tsx +0 -100
- package/src/components/Checkbox/CheckboxGroup.tsx +0 -114
- package/src/components/Checkbox/CheckboxGroupRoot.tsx +0 -36
- package/src/components/Checkbox/CheckboxGroupTextContent.tsx +0 -14
- package/src/components/Checkbox/CheckboxIcon.tsx +0 -30
- package/src/components/Checkbox/CheckboxImage.figma.tsx +0 -27
- package/src/components/Checkbox/CheckboxImage.tsx +0 -14
- package/src/components/Checkbox/CheckboxIndicator.tsx +0 -63
- package/src/components/Checkbox/CheckboxLabel.tsx +0 -14
- package/src/components/Checkbox/CheckboxRoot.tsx +0 -64
- package/src/components/Checkbox/CheckboxTextContent.tsx +0 -21
- package/src/components/Checkbox/CheckboxTileRoot.figma.tsx +0 -29
- package/src/components/Checkbox/CheckboxTileRoot.tsx +0 -50
- package/src/components/Checkbox/index.ts +0 -12
- package/src/components/Combobox/Combobox.context.ts +0 -26
- package/src/components/Combobox/Combobox.figma.tsx +0 -60
- package/src/components/Combobox/Combobox.props.ts +0 -187
- package/src/components/Combobox/Combobox.stories.tsx +0 -233
- package/src/components/Combobox/Combobox.tsx +0 -446
- package/src/components/Combobox/ComboboxOption.tsx +0 -100
- package/src/components/Combobox/index.ts +0 -9
- package/src/components/Container/Container.props.ts +0 -32
- package/src/components/Container/Container.stories.tsx +0 -290
- package/src/components/Container/Container.tsx +0 -52
- package/src/components/Container/index.tsx +0 -2
- package/src/components/CurrencyInput/CurrencyInput.figma.tsx +0 -72
- package/src/components/CurrencyInput/CurrencyInput.props.ts +0 -27
- package/src/components/CurrencyInput/CurrencyInput.stories.tsx +0 -147
- package/src/components/CurrencyInput/CurrencyInput.tsx +0 -101
- package/src/components/CurrencyInput/index.ts +0 -1
- package/src/components/DateInput/DateInput.figma.tsx +0 -88
- package/src/components/DateInput/DateInput.props.ts +0 -125
- package/src/components/DateInput/DateInput.stories.tsx +0 -314
- package/src/components/DateInput/DateInput.tsx +0 -135
- package/src/components/DateInput/DateInputSegment.tsx +0 -69
- package/src/components/DateInput/index.ts +0 -2
- package/src/components/DatePicker/DatePicker.context.ts +0 -23
- package/src/components/DatePicker/DatePicker.figma.tsx +0 -47
- package/src/components/DatePicker/DatePicker.props.ts +0 -139
- package/src/components/DatePicker/DatePicker.stories.tsx +0 -98
- package/src/components/DatePicker/DatePicker.tsx +0 -673
- package/src/components/DatePicker/DatePickerCalendar.tsx +0 -58
- package/src/components/DatePicker/DatePickerDay.tsx +0 -302
- package/src/components/DatePicker/DatePickerDays.tsx +0 -241
- package/src/components/DatePicker/DatePickerFooter.tsx +0 -35
- package/src/components/DatePicker/DatePickerHeader/DatePickerHeader.props.ts +0 -8
- package/src/components/DatePicker/DatePickerHeader/DatePickerMonthButton.tsx +0 -29
- package/src/components/DatePicker/DatePickerHeader/DatePickerNextButton.tsx +0 -46
- package/src/components/DatePicker/DatePickerHeader/DatePickerPrevButton.tsx +0 -46
- package/src/components/DatePicker/DatePickerHeader/DatePickerSelectors.tsx +0 -96
- package/src/components/DatePicker/DatePickerHeader/DatePickerTimeButton.tsx +0 -48
- package/src/components/DatePicker/DatePickerHeader/DatePickerYearButton.tsx +0 -50
- package/src/components/DatePicker/DatePickerHeader/index.tsx +0 -64
- package/src/components/DatePicker/DatePickerMonths.tsx +0 -101
- package/src/components/DatePicker/DatePickerWeekdays.tsx +0 -49
- package/src/components/DatePicker/DatePickerYears.tsx +0 -119
- package/src/components/DatePicker/enums.ts +0 -14
- package/src/components/DatePicker/index.ts +0 -15
- package/src/components/DatePicker/polyfill.ts +0 -21
- package/src/components/DatePicker/utils.ts +0 -549
- package/src/components/DatePickerInput/DatePickerInput.figma.tsx +0 -34
- package/src/components/DatePickerInput/DatePickerInput.props.ts +0 -56
- package/src/components/DatePickerInput/DatePickerInput.stories.tsx +0 -178
- package/src/components/DatePickerInput/DatePickerInput.tsx +0 -277
- package/src/components/DatePickerInput/DatePickerInputDoneButton.tsx +0 -42
- package/src/components/DatePickerInput/DatePickerInputDoneButton.web.tsx +0 -7
- package/src/components/DatePickerInput/index.ts +0 -2
- package/src/components/DescriptionList/DescriptionList.context.ts +0 -18
- package/src/components/DescriptionList/DescriptionList.figma.tsx +0 -47
- package/src/components/DescriptionList/DescriptionList.props.ts +0 -14
- package/src/components/DescriptionList/DescriptionList.stories.tsx +0 -172
- package/src/components/DescriptionList/DescriptionList.tsx +0 -54
- package/src/components/DescriptionList/DescriptionListItem.figma.tsx +0 -42
- package/src/components/DescriptionList/DescriptionListItem.props.ts +0 -15
- package/src/components/DescriptionList/DescriptionListItem.tsx +0 -106
- package/src/components/DescriptionList/index.ts +0 -4
- package/src/components/DetailText/DetailText.props.ts +0 -8
- package/src/components/DetailText/DetailText.stories.tsx +0 -148
- package/src/components/DetailText/DetailText.tsx +0 -147
- package/src/components/DetailText/index.ts +0 -1
- package/src/components/Divider/Divider.figma.tsx +0 -12
- package/src/components/Divider/Divider.props.ts +0 -19
- package/src/components/Divider/Divider.stories.tsx +0 -60
- package/src/components/Divider/Divider.tsx +0 -240
- package/src/components/Divider/index.ts +0 -1
- package/src/components/Expandable/Expandable.props.ts +0 -46
- package/src/components/Expandable/Expandable.stories.tsx +0 -284
- package/src/components/Expandable/Expandable.tsx +0 -92
- package/src/components/Expandable/index.ts +0 -2
- package/src/components/ExpandableCard/ExpandableCard.figma.tsx +0 -49
- package/src/components/ExpandableCard/ExpandableCard.props.ts +0 -108
- package/src/components/ExpandableCard/ExpandableCard.stories.tsx +0 -376
- package/src/components/ExpandableCard/ExpandableCard.tsx +0 -84
- package/src/components/ExpandableCard/ExpandableCardContent.tsx +0 -21
- package/src/components/ExpandableCard/ExpandableCardExpandedContent.tsx +0 -42
- package/src/components/ExpandableCard/ExpandableCardGroup.figma.tsx +0 -40
- package/src/components/ExpandableCard/ExpandableCardGroup.props.ts +0 -36
- package/src/components/ExpandableCard/ExpandableCardGroup.tsx +0 -42
- package/src/components/ExpandableCard/ExpandableCardHelperText.tsx +0 -21
- package/src/components/ExpandableCard/ExpandableCardIcon.tsx +0 -32
- package/src/components/ExpandableCard/ExpandableCardLeadingContent.tsx +0 -9
- package/src/components/ExpandableCard/ExpandableCardText.tsx +0 -14
- package/src/components/ExpandableCard/ExpandableCardTrailingContent.tsx +0 -9
- package/src/components/ExpandableCard/ExpandableCardTrailingIcon.tsx +0 -30
- package/src/components/ExpandableCard/ExpandableCardTrigger.props.ts +0 -76
- package/src/components/ExpandableCard/ExpandableCardTrigger.tsx +0 -9
- package/src/components/ExpandableCard/ExpandableCardTriggerRoot.tsx +0 -173
- package/src/components/ExpandableCard/index.ts +0 -14
- package/src/components/Flex/Flex.props.ts +0 -31
- package/src/components/Flex/Flex.stories.tsx +0 -78
- package/src/components/Flex/Flex.tsx +0 -46
- package/src/components/Flex/index.ts +0 -1
- package/src/components/FormField/FormFielInvalidIcon.tsx +0 -11
- package/src/components/FormField/FormField.context.ts +0 -11
- package/src/components/FormField/FormField.figma.tsx +0 -23
- package/src/components/FormField/FormField.props.ts +0 -20
- package/src/components/FormField/FormField.stories.tsx +0 -134
- package/src/components/FormField/FormField.tsx +0 -123
- package/src/components/FormField/FormFieldHelper.tsx +0 -23
- package/src/components/FormField/FormFieldInvalid.tsx +0 -33
- package/src/components/FormField/FormFieldLabel.tsx +0 -16
- package/src/components/FormField/FormFieldRoot.tsx +0 -21
- package/src/components/FormField/FormFieldValid.tsx +0 -33
- package/src/components/FormField/FormFieldValidIcon.tsx +0 -11
- package/src/components/FormField/index.ts +0 -16
- package/src/components/Grid/Grid.props.ts +0 -62
- package/src/components/Grid/Grid.stories.tsx +0 -199
- package/src/components/Grid/Grid.tsx +0 -146
- package/src/components/Grid/index.ts +0 -2
- package/src/components/HTMLElements/ListItem.tsx +0 -33
- package/src/components/HTMLElements/OrderedList.stories.tsx +0 -86
- package/src/components/HTMLElements/OrderedList.tsx +0 -98
- package/src/components/HTMLElements/UnorderedList.stories.tsx +0 -110
- package/src/components/HTMLElements/UnorderedList.tsx +0 -92
- package/src/components/HTMLElements/index.ts +0 -3
- package/src/components/Heading/Heading.props.ts +0 -8
- package/src/components/Heading/Heading.stories.tsx +0 -128
- package/src/components/Heading/Heading.tsx +0 -193
- package/src/components/Heading/index.ts +0 -1
- package/src/components/Helper/Helper.props.ts +0 -24
- package/src/components/Helper/Helper.tsx +0 -66
- package/src/components/Helper/HelperContext.ts +0 -6
- package/src/components/Helper/HelperIcon.tsx +0 -44
- package/src/components/Helper/HelperText.figma.tsx +0 -23
- package/src/components/Helper/HelperText.tsx +0 -46
- package/src/components/Helper/index.ts +0 -3
- package/src/components/HighlightBanner/HighlightBanner.figma.tsx +0 -46
- package/src/components/HighlightBanner/HighlightBanner.props.ts +0 -29
- package/src/components/HighlightBanner/HighlightBanner.stories.tsx +0 -314
- package/src/components/HighlightBanner/HighlightBanner.tsx +0 -127
- package/src/components/HighlightBanner/HighlightBannerImage.tsx +0 -20
- package/src/components/HighlightBanner/index.ts +0 -3
- package/src/components/Icon/Icon.props.ts +0 -17
- package/src/components/Icon/Icon.stories.tsx +0 -44
- package/src/components/Icon/Icon.tsx +0 -52
- package/src/components/Icon/index.tsx +0 -2
- package/src/components/IconButton/IconButton.context.ts +0 -13
- package/src/components/IconButton/IconButton.figma.tsx +0 -45
- package/src/components/IconButton/IconButton.props.ts +0 -45
- package/src/components/IconButton/IconButton.stories.tsx +0 -271
- package/src/components/IconButton/IconButton.tsx +0 -37
- package/src/components/IconButton/IconButtonIcon.tsx +0 -156
- package/src/components/IconButton/IconButtonRoot.tsx +0 -478
- package/src/components/IconButton/IconButtonSpinner.tsx +0 -68
- package/src/components/IconButton/index.tsx +0 -2
- package/src/components/IconContainer/IconContainer.figma.tsx +0 -44
- package/src/components/IconContainer/IconContainer.props.ts +0 -17
- package/src/components/IconContainer/IconContainer.stories.tsx +0 -135
- package/src/components/IconContainer/IconContainer.tsx +0 -178
- package/src/components/IconContainer/index.tsx +0 -2
- package/src/components/Icons/CircleIcon.tsx +0 -21
- package/src/components/Icons/index.ts +0 -1
- package/src/components/IndicatorIconButton/IndicatorIconButton.docs.mdx +0 -85
- package/src/components/IndicatorIconButton/IndicatorIconButton.figma.tsx +0 -16
- package/src/components/IndicatorIconButton/IndicatorIconButton.props.ts +0 -12
- package/src/components/IndicatorIconButton/IndicatorIconButton.stories.tsx +0 -150
- package/src/components/IndicatorIconButton/IndicatorIconButton.tsx +0 -36
- package/src/components/IndicatorIconButton/index.tsx +0 -2
- package/src/components/InlineLink/InlineLink.context.ts +0 -10
- package/src/components/InlineLink/InlineLink.props.ts +0 -10
- package/src/components/InlineLink/InlineLink.stories.tsx +0 -91
- package/src/components/InlineLink/InlineLink.tsx +0 -26
- package/src/components/InlineLink/InlineLinkRoot.tsx +0 -87
- package/src/components/InlineLink/index.ts +0 -3
- package/src/components/Input/Input.context.ts +0 -6
- package/src/components/Input/Input.figma.tsx +0 -123
- package/src/components/Input/Input.props.ts +0 -118
- package/src/components/Input/Input.stories.tsx +0 -235
- package/src/components/Input/Input.tsx +0 -215
- package/src/components/Input/InputField.tsx +0 -75
- package/src/components/Input/InputIcon.tsx +0 -30
- package/src/components/Input/InputRoot.tsx +0 -89
- package/src/components/Input/InputSlot.tsx +0 -32
- package/src/components/Input/index.ts +0 -1
- package/src/components/Label/Label.figma.tsx +0 -24
- package/src/components/Label/Label.props.ts +0 -9
- package/src/components/Label/Label.tsx +0 -44
- package/src/components/Label/index.ts +0 -1
- package/src/components/Link/Link.context.ts +0 -10
- package/src/components/Link/Link.figma.tsx +0 -35
- package/src/components/Link/Link.props.ts +0 -18
- package/src/components/Link/Link.stories.tsx +0 -75
- package/src/components/Link/Link.tsx +0 -44
- package/src/components/Link/LinkIcon.tsx +0 -60
- package/src/components/Link/LinkRoot.tsx +0 -65
- package/src/components/Link/LinkText.tsx +0 -59
- package/src/components/Link/index.ts +0 -4
- package/src/components/List/List.context.ts +0 -16
- package/src/components/List/List.figma.tsx +0 -45
- package/src/components/List/List.props.ts +0 -13
- package/src/components/List/List.stories.tsx +0 -535
- package/src/components/List/List.tsx +0 -109
- package/src/components/List/ListAction/ListAction.figma.tsx +0 -21
- package/src/components/List/ListAction/ListAction.props.ts +0 -10
- package/src/components/List/ListAction/ListAction.tsx +0 -165
- package/src/components/List/ListAction/ListActionContent.tsx +0 -21
- package/src/components/List/ListAction/ListActionText.tsx +0 -14
- package/src/components/List/ListAction/ListActionTrailingContent.tsx +0 -9
- package/src/components/List/ListAction/ListActionTrailingIcon.tsx +0 -33
- package/src/components/List/ListAction/index.ts +0 -6
- package/src/components/List/ListItem/ListItem.context.ts +0 -11
- package/src/components/List/ListItem/ListItem.figma.tsx +0 -56
- package/src/components/List/ListItem/ListItem.props.ts +0 -38
- package/src/components/List/ListItem/ListItem.tsx +0 -10
- package/src/components/List/ListItem/ListItemContent.tsx +0 -21
- package/src/components/List/ListItem/ListItemHeading.tsx +0 -20
- package/src/components/List/ListItem/ListItemHelperText.tsx +0 -20
- package/src/components/List/ListItem/ListItemIcon.tsx +0 -32
- package/src/components/List/ListItem/ListItemLeadingContent.figma.tsx +0 -29
- package/src/components/List/ListItem/ListItemLeadingContent.tsx +0 -9
- package/src/components/List/ListItem/ListItemRoot.tsx +0 -221
- package/src/components/List/ListItem/ListItemTrailingContent.figma.tsx +0 -27
- package/src/components/List/ListItem/ListItemTrailingContent.tsx +0 -9
- package/src/components/List/ListItem/ListItemTrailingIcon.tsx +0 -31
- package/src/components/List/ListItem/index.ts +0 -9
- package/src/components/List/index.ts +0 -4
- package/src/components/Menu/Menu.context.ts +0 -15
- package/src/components/Menu/Menu.figma.tsx +0 -30
- package/src/components/Menu/Menu.props.ts +0 -20
- package/src/components/Menu/Menu.stories.tsx +0 -292
- package/src/components/Menu/Menu.tsx +0 -51
- package/src/components/Menu/MenuItem.figma.tsx +0 -39
- package/src/components/Menu/MenuItem.props.ts +0 -29
- package/src/components/Menu/MenuItem.tsx +0 -145
- package/src/components/Menu/MenuTrigger.props.ts +0 -14
- package/src/components/Menu/MenuTrigger.tsx +0 -20
- package/src/components/Menu/index.ts +0 -7
- package/src/components/Modal/Modal.figma.tsx +0 -67
- package/src/components/Modal/Modal.props.ts +0 -25
- package/src/components/Modal/Modal.shared.types.ts +0 -43
- package/src/components/Modal/Modal.stories.tsx +0 -405
- package/src/components/Modal/Modal.tsx +0 -423
- package/src/components/Modal/Modal.web.tsx +0 -250
- package/src/components/Modal/ModalImage.tsx +0 -20
- package/src/components/Modal/index.ts +0 -3
- package/src/components/NavModal/NavModal.figma.tsx +0 -13
- package/src/components/NavModal/NavModal.props.ts +0 -31
- package/src/components/NavModal/NavModal.stories.tsx +0 -200
- package/src/components/NavModal/NavModal.tsx +0 -436
- package/src/components/NavModal/index.ts +0 -2
- package/src/components/Pagination/Pagination.figma.tsx +0 -20
- package/src/components/Pagination/Pagination.props.ts +0 -28
- package/src/components/Pagination/Pagination.stories.tsx +0 -88
- package/src/components/Pagination/Pagination.tsx +0 -248
- package/src/components/Pagination/Pagination.utils.test.ts +0 -20
- package/src/components/Pagination/Pagination.utils.ts +0 -37
- package/src/components/Pagination/index.ts +0 -2
- package/src/components/PillGroup/Pill.figma.tsx +0 -12
- package/src/components/PillGroup/Pill.props.ts +0 -13
- package/src/components/PillGroup/Pill.tsx +0 -118
- package/src/components/PillGroup/PillGroup.context.tsx +0 -12
- package/src/components/PillGroup/PillGroup.docs.mdx +0 -96
- package/src/components/PillGroup/PillGroup.figma.tsx +0 -20
- package/src/components/PillGroup/PillGroup.props.ts +0 -36
- package/src/components/PillGroup/PillGroup.stories.tsx +0 -158
- package/src/components/PillGroup/PillGroup.tsx +0 -70
- package/src/components/PillGroup/index.ts +0 -4
- package/src/components/ProgressBar/ProgressBar.figma.tsx +0 -79
- package/src/components/ProgressBar/ProgressBar.props.ts +0 -60
- package/src/components/ProgressBar/ProgressBar.stories.tsx +0 -117
- package/src/components/ProgressBar/ProgressBar.tsx +0 -74
- package/src/components/ProgressBar/ProgressBarCircular.tsx +0 -181
- package/src/components/ProgressBar/ProgressBarLinear.tsx +0 -127
- package/src/components/ProgressBar/index.ts +0 -7
- package/src/components/ProgressStepper/ProgressStep.figma.tsx +0 -19
- package/src/components/ProgressStepper/ProgressStep.tsx +0 -134
- package/src/components/ProgressStepper/ProgressStepper.docs.mdx +0 -87
- package/src/components/ProgressStepper/ProgressStepper.figma.tsx +0 -13
- package/src/components/ProgressStepper/ProgressStepper.props.ts +0 -27
- package/src/components/ProgressStepper/ProgressStepper.stories.tsx +0 -107
- package/src/components/ProgressStepper/ProgressStepper.tsx +0 -26
- package/src/components/ProgressStepper/ProgressStepperRoot.tsx +0 -32
- package/src/components/ProgressStepper/index.ts +0 -3
- package/src/components/Radio/Radio.context.ts +0 -9
- package/src/components/Radio/Radio.figma.tsx +0 -38
- package/src/components/Radio/Radio.props.ts +0 -38
- package/src/components/Radio/Radio.stories.tsx +0 -254
- package/src/components/Radio/Radio.tsx +0 -98
- package/src/components/Radio/RadioGroup.context.ts +0 -10
- package/src/components/Radio/RadioGroup.figma.tsx +0 -82
- package/src/components/Radio/RadioGroup.props.ts +0 -23
- package/src/components/Radio/RadioGroup.stories.tsx +0 -131
- package/src/components/Radio/RadioGroup.tsx +0 -113
- package/src/components/Radio/RadioGroupRoot.tsx +0 -36
- package/src/components/Radio/RadioGroupTextContent.tsx +0 -14
- package/src/components/Radio/RadioIcon.tsx +0 -37
- package/src/components/Radio/RadioImage.figma.tsx +0 -27
- package/src/components/Radio/RadioImage.tsx +0 -14
- package/src/components/Radio/RadioIndicator.tsx +0 -63
- package/src/components/Radio/RadioLabel.tsx +0 -14
- package/src/components/Radio/RadioRoot.tsx +0 -65
- package/src/components/Radio/RadioTextContent.tsx +0 -21
- package/src/components/Radio/RadioTile.figma.tsx +0 -38
- package/src/components/Radio/RadioTileRoot.tsx +0 -46
- package/src/components/Radio/index.ts +0 -6
- package/src/components/RadioCard/RadioCard.context.ts +0 -8
- package/src/components/RadioCard/RadioCard.figma.tsx +0 -24
- package/src/components/RadioCard/RadioCard.props.ts +0 -19
- package/src/components/RadioCard/RadioCard.stories.tsx +0 -45
- package/src/components/RadioCard/RadioCard.tsx +0 -62
- package/src/components/RadioCard/RadioCardGroup.context.ts +0 -16
- package/src/components/RadioCard/RadioCardGroup.props.ts +0 -36
- package/src/components/RadioCard/RadioCardGroup.stories.tsx +0 -94
- package/src/components/RadioCard/RadioCardGroup.tsx +0 -57
- package/src/components/RadioCard/RadioCardIcon.tsx +0 -33
- package/src/components/RadioCard/RadioCardIndicator.tsx +0 -63
- package/src/components/RadioCard/RadioCardLabel.tsx +0 -19
- package/src/components/RadioCard/RadioCardRoot.tsx +0 -85
- package/src/components/RadioCard/index.ts +0 -8
- package/src/components/Rating/Rating.docs.mdx +0 -217
- package/src/components/Rating/Rating.figma.tsx +0 -39
- package/src/components/Rating/Rating.props.ts +0 -28
- package/src/components/Rating/Rating.stories.tsx +0 -112
- package/src/components/Rating/Rating.tsx +0 -198
- package/src/components/Rating/Rating.utils.test.ts +0 -15
- package/src/components/Rating/Rating.utils.ts +0 -14
- package/src/components/Rating/RatingEmoji.tsx +0 -28
- package/src/components/Rating/RatingStarEmpty.tsx +0 -22
- package/src/components/Rating/RatingStarFilled.tsx +0 -27
- package/src/components/Rating/index.ts +0 -2
- package/src/components/Roundel/Roundel.figma.tsx +0 -17
- package/src/components/Roundel/Roundel.props.ts +0 -8
- package/src/components/Roundel/Roundel.stories.tsx +0 -49
- package/src/components/Roundel/Roundel.tsx +0 -51
- package/src/components/Roundel/index.ts +0 -2
- package/src/components/SectionHeader/SectionHeader.figma.tsx +0 -37
- package/src/components/SectionHeader/SectionHeader.props.ts +0 -29
- package/src/components/SectionHeader/SectionHeader.stories.tsx +0 -86
- package/src/components/SectionHeader/SectionHeader.tsx +0 -61
- package/src/components/SectionHeader/SectionHeaderHeading.tsx +0 -14
- package/src/components/SectionHeader/SectionHeaderHelperText.tsx +0 -21
- package/src/components/SectionHeader/SectionHeaderTextContent.tsx +0 -21
- package/src/components/SectionHeader/SectionHeaderTrailingContent.tsx +0 -20
- package/src/components/SectionHeader/index.ts +0 -5
- package/src/components/SegmentedControl/SegmentedControl.context.ts +0 -22
- package/src/components/SegmentedControl/SegmentedControl.figma.tsx +0 -39
- package/src/components/SegmentedControl/SegmentedControl.props.ts +0 -20
- package/src/components/SegmentedControl/SegmentedControl.stories.tsx +0 -98
- package/src/components/SegmentedControl/SegmentedControl.tsx +0 -260
- package/src/components/SegmentedControl/SegmentedControlOption.props.ts +0 -16
- package/src/components/SegmentedControl/SegmentedControlOption.tsx +0 -237
- package/src/components/SegmentedControl/index.ts +0 -4
- package/src/components/Select/Select.context.ts +0 -15
- package/src/components/Select/Select.figma.tsx +0 -56
- package/src/components/Select/Select.props.ts +0 -161
- package/src/components/Select/Select.stories.tsx +0 -290
- package/src/components/Select/Select.tsx +0 -321
- package/src/components/Select/SelectOption.figma.tsx +0 -18
- package/src/components/Select/SelectOption.tsx +0 -103
- package/src/components/Select/index.ts +0 -7
- package/src/components/Skeleton/Skeleton.props.ts +0 -11
- package/src/components/Skeleton/Skeleton.stories.tsx +0 -33
- package/src/components/Skeleton/Skeleton.tsx +0 -77
- package/src/components/Skeleton/index.ts +0 -1
- package/src/components/Spinner/Spinner.figma.tsx +0 -14
- package/src/components/Spinner/Spinner.props.ts +0 -10
- package/src/components/Spinner/Spinner.stories.tsx +0 -56
- package/src/components/Spinner/Spinner.tsx +0 -157
- package/src/components/Spinner/Spinner.web.tsx +0 -149
- package/src/components/Spinner/index.ts +0 -2
- package/src/components/StepperInput/StepperButton.tsx +0 -83
- package/src/components/StepperInput/StepperInput.figma.tsx +0 -45
- package/src/components/StepperInput/StepperInput.props.ts +0 -39
- package/src/components/StepperInput/StepperInput.stories.tsx +0 -270
- package/src/components/StepperInput/StepperInput.tsx +0 -322
- package/src/components/StepperInput/index.ts +0 -2
- package/src/components/Switch/Switch.figma.tsx +0 -16
- package/src/components/Switch/Switch.props.ts +0 -10
- package/src/components/Switch/Switch.stories.tsx +0 -80
- package/src/components/Switch/Switch.tsx +0 -209
- package/src/components/Switch/Switch.web.tsx +0 -207
- package/src/components/Switch/index.ts +0 -1
- package/src/components/Table/Table.context.tsx +0 -23
- package/src/components/Table/Table.docs.mdx +0 -239
- package/src/components/Table/Table.figma.tsx +0 -65
- package/src/components/Table/Table.props.ts +0 -65
- package/src/components/Table/Table.stories.tsx +0 -399
- package/src/components/Table/Table.tsx +0 -127
- package/src/components/Table/Table.utils.test.ts +0 -82
- package/src/components/Table/Table.utils.ts +0 -72
- package/src/components/Table/TableBody.tsx +0 -25
- package/src/components/Table/TableCell.tsx +0 -67
- package/src/components/Table/TableHeader.tsx +0 -41
- package/src/components/Table/TableHeaderCell.tsx +0 -145
- package/src/components/Table/TablePagination.tsx +0 -10
- package/src/components/Table/TableRow.tsx +0 -42
- package/src/components/Table/index.ts +0 -16
- package/src/components/Tabs/Tab.figma.tsx +0 -21
- package/src/components/Tabs/Tab.props.ts +0 -16
- package/src/components/Tabs/Tab.tsx +0 -114
- package/src/components/Tabs/TabPanel.props.ts +0 -10
- package/src/components/Tabs/TabPanel.tsx +0 -46
- package/src/components/Tabs/Tabs.context.ts +0 -26
- package/src/components/Tabs/Tabs.figma.tsx +0 -20
- package/src/components/Tabs/Tabs.props.ts +0 -21
- package/src/components/Tabs/Tabs.stories.tsx +0 -270
- package/src/components/Tabs/Tabs.tsx +0 -138
- package/src/components/Tabs/TabsList.props.ts +0 -8
- package/src/components/Tabs/TabsList.tsx +0 -194
- package/src/components/Tabs/index.ts +0 -8
- package/src/components/Textarea/Textarea.context.ts +0 -6
- package/src/components/Textarea/Textarea.figma.tsx +0 -64
- package/src/components/Textarea/Textarea.props.ts +0 -74
- package/src/components/Textarea/Textarea.stories.tsx +0 -106
- package/src/components/Textarea/Textarea.tsx +0 -207
- package/src/components/Textarea/TextareaField.tsx +0 -45
- package/src/components/Textarea/TextareaRoot.tsx +0 -83
- package/src/components/Textarea/index.ts +0 -1
- package/src/components/ThemedImage/ThemedImage.props.ts +0 -15
- package/src/components/ThemedImage/ThemedImage.stories.tsx +0 -175
- package/src/components/ThemedImage/ThemedImage.tsx +0 -34
- package/src/components/ThemedImage/index.tsx +0 -2
- package/src/components/TimePicker/TimePicker.figma.tsx +0 -29
- package/src/components/TimePicker/TimePicker.props.ts +0 -45
- package/src/components/TimePicker/TimePicker.stories.tsx +0 -85
- package/src/components/TimePicker/TimePicker.tsx +0 -150
- package/src/components/TimePicker/TimePickerView.tsx +0 -216
- package/src/components/TimePicker/TimePickerWheel.tsx +0 -161
- package/src/components/TimePicker/TimePickerWheel.web.tsx +0 -217
- package/src/components/TimePicker/index.ts +0 -8
- package/src/components/TimePickerInput/TimePickerInput.figma.tsx +0 -34
- package/src/components/TimePickerInput/TimePickerInput.props.ts +0 -55
- package/src/components/TimePickerInput/TimePickerInput.stories.tsx +0 -175
- package/src/components/TimePickerInput/TimePickerInput.tsx +0 -283
- package/src/components/TimePickerInput/TimePickerInputDoneButton.tsx +0 -42
- package/src/components/TimePickerInput/TimePickerInputDoneButton.web.tsx +0 -7
- package/src/components/TimePickerInput/index.ts +0 -2
- package/src/components/Timeline/Timeline.figma.tsx +0 -89
- package/src/components/Timeline/Timeline.props.ts +0 -51
- package/src/components/Timeline/Timeline.stories.tsx +0 -102
- package/src/components/Timeline/Timeline.tsx +0 -48
- package/src/components/Timeline/TimelineItem.tsx +0 -293
- package/src/components/Timeline/index.ts +0 -9
- package/src/components/Toast/Toast.context.tsx +0 -139
- package/src/components/Toast/Toast.props.ts +0 -38
- package/src/components/Toast/Toast.stories.tsx +0 -385
- package/src/components/Toast/ToastItem.figma.tsx +0 -15
- package/src/components/Toast/ToastItem.tsx +0 -205
- package/src/components/Toast/index.ts +0 -3
- package/src/components/ToggleButton/ToggleButton.props.tsx +0 -7
- package/src/components/ToggleButton/ToggleButton.stories.tsx +0 -35
- package/src/components/ToggleButton/ToggleButton.tsx +0 -32
- package/src/components/ToggleButton/ToggleButtonIcon.tsx +0 -47
- package/src/components/ToggleButton/ToggleButtonRoot.tsx +0 -98
- package/src/components/ToggleButton/ToggleButtonText.tsx +0 -29
- package/src/components/ToggleButton/index.ts +0 -2
- package/src/components/ToggleButtonCard/ToggleButtonCard.context.ts +0 -8
- package/src/components/ToggleButtonCard/ToggleButtonCard.figma.tsx +0 -24
- package/src/components/ToggleButtonCard/ToggleButtonCard.props.ts +0 -17
- package/src/components/ToggleButtonCard/ToggleButtonCard.stories.tsx +0 -45
- package/src/components/ToggleButtonCard/ToggleButtonCard.tsx +0 -32
- package/src/components/ToggleButtonCard/ToggleButtonCardGroup.props.ts +0 -34
- package/src/components/ToggleButtonCard/ToggleButtonCardGroup.stories.tsx +0 -85
- package/src/components/ToggleButtonCard/ToggleButtonCardGroup.tsx +0 -48
- package/src/components/ToggleButtonCard/ToggleButtonCardRoot.tsx +0 -97
- package/src/components/ToggleButtonCard/index.ts +0 -2
- package/src/components/UnstyledIconButton/UnstyledIconButton.context.ts +0 -11
- package/src/components/UnstyledIconButton/UnstyledIconButton.figma.tsx +0 -49
- package/src/components/UnstyledIconButton/UnstyledIconButton.props.ts +0 -34
- package/src/components/UnstyledIconButton/UnstyledIconButton.stories.tsx +0 -96
- package/src/components/UnstyledIconButton/UnstyledIconButton.tsx +0 -68
- package/src/components/UnstyledIconButton/UnstyledIconButtonIcon.tsx +0 -74
- package/src/components/UnstyledIconButton/UnstyledIconButtonRoot.tsx +0 -61
- package/src/components/UnstyledIconButton/UnstyledIconButtonSpinner.tsx +0 -39
- package/src/components/UnstyledIconButton/index.tsx +0 -2
- package/src/components/VerificationInput/VerificationInput.figma.tsx +0 -53
- package/src/components/VerificationInput/VerificationInput.props.ts +0 -66
- package/src/components/VerificationInput/VerificationInput.stories.tsx +0 -249
- package/src/components/VerificationInput/VerificationInput.tsx +0 -290
- package/src/components/VerificationInput/VerificationInput.utils.test.ts +0 -48
- package/src/components/VerificationInput/VerificationInput.utils.ts +0 -32
- package/src/components/VerificationInput/VerificationInputSlot.tsx +0 -170
- package/src/components/VerificationInput/index.ts +0 -7
- package/src/components/index.ts +0 -77
- package/src/core/breakpoints.ts +0 -10
- package/src/core/index.ts +0 -38
- package/src/core/themes.ts +0 -390
- package/src/hooks/index.ts +0 -8
- package/src/hooks/useBreakpointValue.ts +0 -62
- package/src/hooks/useColorMode.ts +0 -18
- package/src/hooks/useFormFieldAccessibility.test.tsx +0 -74
- package/src/hooks/useFormFieldAccessibility.ts +0 -67
- package/src/hooks/useMedia.ts +0 -31
- package/src/hooks/usePrevious.ts +0 -9
- package/src/hooks/useStyleProps.ts +0 -95
- package/src/hooks/useTheme.ts +0 -9
- package/src/hooks/useToken.ts +0 -40
- package/src/index.ts +0 -4
- package/src/legacyTokens/common/brand.ts +0 -18
- package/src/legacyTokens/common/index.ts +0 -10
- package/src/legacyTokens/common/service.ts +0 -22
- package/src/legacyTokens/dark/apple.ts +0 -30
- package/src/legacyTokens/dark/cyan.ts +0 -50
- package/src/legacyTokens/dark/gold.ts +0 -46
- package/src/legacyTokens/dark/grape.ts +0 -30
- package/src/legacyTokens/dark/green.ts +0 -42
- package/src/legacyTokens/dark/grey.ts +0 -62
- package/src/legacyTokens/dark/index.ts +0 -42
- package/src/legacyTokens/dark/pink.ts +0 -30
- package/src/legacyTokens/dark/purple.ts +0 -50
- package/src/legacyTokens/dark/red.ts +0 -42
- package/src/legacyTokens/dark/rose.ts +0 -30
- package/src/legacyTokens/index.ts +0 -14
- package/src/legacyTokens/light/apple.ts +0 -30
- package/src/legacyTokens/light/cyan.ts +0 -50
- package/src/legacyTokens/light/gold.ts +0 -46
- package/src/legacyTokens/light/grape.ts +0 -30
- package/src/legacyTokens/light/green.ts +0 -42
- package/src/legacyTokens/light/grey.ts +0 -62
- package/src/legacyTokens/light/index.ts +0 -42
- package/src/legacyTokens/light/pink.ts +0 -30
- package/src/legacyTokens/light/purple.ts +0 -50
- package/src/legacyTokens/light/red.ts +0 -42
- package/src/legacyTokens/light/rose.ts +0 -34
- package/src/tokens/README.md +0 -7
- package/src/tokens/border-radius.ts +0 -12
- package/src/tokens/border-width.ts +0 -8
- package/src/tokens/color.ts +0 -659
- package/src/tokens/components/dark/accordion.ts +0 -27
- package/src/tokens/components/dark/alert.ts +0 -23
- package/src/tokens/components/dark/avatar.ts +0 -19
- package/src/tokens/components/dark/badge.ts +0 -24
- package/src/tokens/components/dark/banner.ts +0 -53
- package/src/tokens/components/dark/bottom-navigation.ts +0 -30
- package/src/tokens/components/dark/bottom-sheet.ts +0 -16
- package/src/tokens/components/dark/breadcrumb.ts +0 -7
- package/src/tokens/components/dark/button.ts +0 -19
- package/src/tokens/components/dark/card-accordion.ts +0 -13
- package/src/tokens/components/dark/card-action.ts +0 -11
- package/src/tokens/components/dark/card-content.ts +0 -25
- package/src/tokens/components/dark/card.ts +0 -38
- package/src/tokens/components/dark/carousel-control.ts +0 -11
- package/src/tokens/components/dark/checkbox.ts +0 -42
- package/src/tokens/components/dark/date-picker.ts +0 -44
- package/src/tokens/components/dark/description-list.ts +0 -20
- package/src/tokens/components/dark/divider.ts +0 -11
- package/src/tokens/components/dark/drawer.ts +0 -29
- package/src/tokens/components/dark/expandable-card.ts +0 -11
- package/src/tokens/components/dark/form-field.ts +0 -10
- package/src/tokens/components/dark/icon-button.ts +0 -46
- package/src/tokens/components/dark/icon-container.ts +0 -25
- package/src/tokens/components/dark/illustrations.ts +0 -7
- package/src/tokens/components/dark/index.ts +0 -58
- package/src/tokens/components/dark/indicator-icon-button.ts +0 -11
- package/src/tokens/components/dark/inline-link.ts +0 -14
- package/src/tokens/components/dark/input.ts +0 -43
- package/src/tokens/components/dark/link.ts +0 -20
- package/src/tokens/components/dark/list.ts +0 -48
- package/src/tokens/components/dark/menu.ts +0 -34
- package/src/tokens/components/dark/modal.ts +0 -36
- package/src/tokens/components/dark/navigation.ts +0 -61
- package/src/tokens/components/dark/overlay.ts +0 -8
- package/src/tokens/components/dark/pagination.ts +0 -13
- package/src/tokens/components/dark/parts.ts +0 -33
- package/src/tokens/components/dark/pill.ts +0 -16
- package/src/tokens/components/dark/progress-bar.ts +0 -41
- package/src/tokens/components/dark/progress-stepper.ts +0 -24
- package/src/tokens/components/dark/radio.ts +0 -39
- package/src/tokens/components/dark/rating.ts +0 -8
- package/src/tokens/components/dark/section-header.ts +0 -10
- package/src/tokens/components/dark/segmented-control.ts +0 -19
- package/src/tokens/components/dark/select.ts +0 -45
- package/src/tokens/components/dark/skeleton.ts +0 -7
- package/src/tokens/components/dark/spinner.ts +0 -24
- package/src/tokens/components/dark/switch.ts +0 -25
- package/src/tokens/components/dark/table.ts +0 -27
- package/src/tokens/components/dark/tabs.ts +0 -25
- package/src/tokens/components/dark/time-picker.ts +0 -30
- package/src/tokens/components/dark/timeline.ts +0 -27
- package/src/tokens/components/dark/toast.ts +0 -17
- package/src/tokens/components/dark/toggle-button.ts +0 -13
- package/src/tokens/components/dark/tooltip.ts +0 -13
- package/src/tokens/components/dark/top-navigation.ts +0 -18
- package/src/tokens/components/index.ts +0 -6
- package/src/tokens/components/light/accordion.ts +0 -27
- package/src/tokens/components/light/alert.ts +0 -23
- package/src/tokens/components/light/avatar.ts +0 -19
- package/src/tokens/components/light/badge.ts +0 -24
- package/src/tokens/components/light/banner.ts +0 -53
- package/src/tokens/components/light/bottom-navigation.ts +0 -30
- package/src/tokens/components/light/bottom-sheet.ts +0 -16
- package/src/tokens/components/light/breadcrumb.ts +0 -7
- package/src/tokens/components/light/button.ts +0 -19
- package/src/tokens/components/light/card-accordion.ts +0 -13
- package/src/tokens/components/light/card-action.ts +0 -11
- package/src/tokens/components/light/card-content.ts +0 -25
- package/src/tokens/components/light/card.ts +0 -38
- package/src/tokens/components/light/carousel-control.ts +0 -11
- package/src/tokens/components/light/checkbox.ts +0 -42
- package/src/tokens/components/light/date-picker.ts +0 -44
- package/src/tokens/components/light/description-list.ts +0 -20
- package/src/tokens/components/light/divider.ts +0 -11
- package/src/tokens/components/light/drawer.ts +0 -29
- package/src/tokens/components/light/expandable-card.ts +0 -11
- package/src/tokens/components/light/form-field.ts +0 -10
- package/src/tokens/components/light/icon-button.ts +0 -46
- package/src/tokens/components/light/icon-container.ts +0 -25
- package/src/tokens/components/light/illustrations.ts +0 -7
- package/src/tokens/components/light/index.ts +0 -58
- package/src/tokens/components/light/indicator-icon-button.ts +0 -11
- package/src/tokens/components/light/inline-link.ts +0 -14
- package/src/tokens/components/light/input.ts +0 -43
- package/src/tokens/components/light/link.ts +0 -20
- package/src/tokens/components/light/list.ts +0 -48
- package/src/tokens/components/light/menu.ts +0 -34
- package/src/tokens/components/light/modal.ts +0 -36
- package/src/tokens/components/light/navigation.ts +0 -61
- package/src/tokens/components/light/overlay.ts +0 -8
- package/src/tokens/components/light/pagination.ts +0 -13
- package/src/tokens/components/light/parts.ts +0 -33
- package/src/tokens/components/light/pill.ts +0 -16
- package/src/tokens/components/light/progress-bar.ts +0 -41
- package/src/tokens/components/light/progress-stepper.ts +0 -24
- package/src/tokens/components/light/radio.ts +0 -39
- package/src/tokens/components/light/rating.ts +0 -8
- package/src/tokens/components/light/section-header.ts +0 -10
- package/src/tokens/components/light/segmented-control.ts +0 -19
- package/src/tokens/components/light/select.ts +0 -45
- package/src/tokens/components/light/skeleton.ts +0 -7
- package/src/tokens/components/light/spinner.ts +0 -24
- package/src/tokens/components/light/switch.ts +0 -25
- package/src/tokens/components/light/table.ts +0 -27
- package/src/tokens/components/light/tabs.ts +0 -25
- package/src/tokens/components/light/time-picker.ts +0 -30
- package/src/tokens/components/light/timeline.ts +0 -27
- package/src/tokens/components/light/toast.ts +0 -17
- package/src/tokens/components/light/toggle-button.ts +0 -13
- package/src/tokens/components/light/tooltip.ts +0 -13
- package/src/tokens/components/light/top-navigation.ts +0 -18
- package/src/tokens/font.ts +0 -29
- package/src/tokens/index.ts +0 -20
- package/src/tokens/layout.ts +0 -94
- package/src/tokens/letter-spacing.ts +0 -13
- package/src/tokens/line-height.ts +0 -16
- package/src/tokens/motion.ts +0 -23
- package/src/tokens/primitive.ts +0 -102
- package/src/tokens/semantic-dark.ts +0 -255
- package/src/tokens/semantic-light.ts +0 -255
- package/src/tokens/semantic.ts +0 -9
- package/src/tokens/shadow.ts +0 -52
- package/src/tokens/space.ts +0 -23
- package/src/tokens/typography.ts +0 -298
- package/src/types/index.ts +0 -6
- package/src/types/refs.ts +0 -8
- package/src/types/semanticColorValues.ts +0 -26
- package/src/types/states.ts +0 -11
- package/src/types/unistyles.ts +0 -12
- package/src/types/utilityProps.ts +0 -410
- package/src/types/values.ts +0 -81
- package/src/utils/coloursAsArray.ts +0 -65
- package/src/utils/formatThousands.ts +0 -14
- package/src/utils/getFlattenedColorValue.ts +0 -13
- package/src/utils/getInitials.ts +0 -7
- package/src/utils/getStyleValue.ts +0 -9
- package/src/utils/hasChildrenByDisplayName.ts +0 -43
- package/src/utils/hexWithOpacity.ts +0 -19
- package/src/utils/index.ts +0 -17
- package/src/utils/isEqual.ts +0 -30
- package/src/utils/isThemedImageProps.ts +0 -8
- package/src/utils/styleUtils.ts +0 -264
- package/src/utils/themeValueHelpers.ts +0 -98
- package/src/vite-env.d.ts +0 -19
- package/tsconfig.eslint.json +0 -14
- package/tsconfig.json +0 -45
- package/vitest.config.js +0 -37
- package/vitest.unit.config.ts +0 -9
package/LICENSE
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
Apache License
|
|
2
|
+
Version 2.0, January 2004
|
|
3
|
+
http://www.apache.org/licenses/
|
|
4
|
+
|
|
5
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
6
|
+
|
|
7
|
+
1. Definitions.
|
|
8
|
+
|
|
9
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
10
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
11
|
+
|
|
12
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
13
|
+
the copyright owner that is granting the License.
|
|
14
|
+
|
|
15
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
16
|
+
other entities that control, are controlled by, or are under common
|
|
17
|
+
control with that entity. For the purposes of this definition,
|
|
18
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
19
|
+
direction or management of such entity, whether by contract or
|
|
20
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
21
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
22
|
+
|
|
23
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
24
|
+
exercising permissions granted by this License.
|
|
25
|
+
|
|
26
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
27
|
+
including but not limited to software source code, documentation
|
|
28
|
+
source, and configuration files.
|
|
29
|
+
|
|
30
|
+
"Object" form shall mean any form resulting from mechanical
|
|
31
|
+
transformation or translation of a Source form, including but
|
|
32
|
+
not limited to compiled object code, generated documentation,
|
|
33
|
+
and conversions to other media types.
|
|
34
|
+
|
|
35
|
+
"Work" shall mean the work of authorship made available under
|
|
36
|
+
the License, as indicated by a copyright notice that is included in
|
|
37
|
+
or attached to the work (an example is provided in the Appendix below).
|
|
38
|
+
|
|
39
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
40
|
+
form, that is based on (or derived from) the Work and for which the
|
|
41
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
42
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
43
|
+
of this License, Derivative Works shall not include works that remain
|
|
44
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
45
|
+
the Work and Derivative Works thereof.
|
|
46
|
+
|
|
47
|
+
"Contribution" shall mean, as submitted to the Licensor for inclusion
|
|
48
|
+
in the Work by the copyright owner or by an individual or Legal Entity
|
|
49
|
+
authorized to submit on behalf of the copyright owner. For the purposes
|
|
50
|
+
of this definition, "submitted" means any form of electronic, verbal,
|
|
51
|
+
or written communication sent to the Licensor or its representatives,
|
|
52
|
+
including but not limited to communication on electronic mailing lists,
|
|
53
|
+
source code control systems, and issue tracking systems that are managed
|
|
54
|
+
by, or on behalf of, the Licensor for the purpose of discussing and
|
|
55
|
+
improving the Work, but excluding communication that is conspicuously
|
|
56
|
+
marked or designated in writing by the copyright owner as "Not a
|
|
57
|
+
Contribution."
|
|
58
|
+
|
|
59
|
+
"Contributor" shall mean Licensor and any Legal Entity on behalf of
|
|
60
|
+
whom a Contribution has been received by the Licensor and incorporated
|
|
61
|
+
within the Work.
|
|
62
|
+
|
|
63
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
64
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
65
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
66
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
67
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
68
|
+
Work and such Derivative Works in Source or Object form.
|
|
69
|
+
|
|
70
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
71
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
72
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
73
|
+
(except as stated in this section) patent license to make, have made,
|
|
74
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
75
|
+
where such license applies only to those patent claims licensable
|
|
76
|
+
by such Contributor that are necessarily infringed by their
|
|
77
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
78
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
79
|
+
institute patent litigation against any entity (including a
|
|
80
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
81
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
82
|
+
or contributory patent infringement, then any patent licenses
|
|
83
|
+
granted to You under this License for that Work shall terminate
|
|
84
|
+
as of the date such litigation is filed.
|
|
85
|
+
|
|
86
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
87
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
88
|
+
modifications, and in Source or Object form, provided that You
|
|
89
|
+
meet the following conditions:
|
|
90
|
+
|
|
91
|
+
(a) You must give any other recipients of the Work or Derivative
|
|
92
|
+
Works a copy of this License; and
|
|
93
|
+
|
|
94
|
+
(b) You must cause any modified files to carry prominent notices
|
|
95
|
+
stating that You changed the files; and
|
|
96
|
+
|
|
97
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
98
|
+
that You distribute, all copyright, patent, trademark, and
|
|
99
|
+
attribution notices from the Source form of the Work,
|
|
100
|
+
excluding those notices that do not pertain to any part of
|
|
101
|
+
the Derivative Works; and
|
|
102
|
+
|
|
103
|
+
(d) If the Work includes a "NOTICE" file as part of its
|
|
104
|
+
distribution, You must include a readable copy of the
|
|
105
|
+
attribution notices contained within such NOTICE file, in
|
|
106
|
+
at least one of the following places: within a NOTICE text
|
|
107
|
+
file distributed as part of the Derivative Works; within
|
|
108
|
+
the Source form or documentation, if provided along with the
|
|
109
|
+
Derivative Works; or, within a display generated by the
|
|
110
|
+
Derivative Works, if and wherever such third-party notices
|
|
111
|
+
normally appear. The contents of the NOTICE file are for
|
|
112
|
+
informational purposes only and do not modify the License.
|
|
113
|
+
You may add Your own attribution notices within Derivative
|
|
114
|
+
Works that You distribute, alongside or in addition to the
|
|
115
|
+
NOTICE text from the Work, provided that such additional
|
|
116
|
+
attribution notices cannot be construed as modifying the
|
|
117
|
+
License.
|
|
118
|
+
|
|
119
|
+
You may add Your own license statement for Your modifications and
|
|
120
|
+
may provide additional grant of rights to use, copy, modify, merge,
|
|
121
|
+
publish, distribute, sublicense, and/or sell copies of the
|
|
122
|
+
Derivative Works, and to permit persons to whom the Derivative Works
|
|
123
|
+
is furnished to do so.
|
|
124
|
+
|
|
125
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
126
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
127
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
128
|
+
this License, without any additional terms or conditions.
|
|
129
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
130
|
+
the terms of any separate license agreement you may have executed
|
|
131
|
+
with Licensor regarding such Contributions.
|
|
132
|
+
|
|
133
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
134
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
135
|
+
except as required for reasonable and customary use in describing the
|
|
136
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
137
|
+
|
|
138
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
139
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
140
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
141
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
142
|
+
implied, including, without limitation, any warranties or conditions
|
|
143
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
144
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
145
|
+
appropriateness of using or reproducing the Work and assume any
|
|
146
|
+
risks associated with Your exercise of permissions under this License.
|
|
147
|
+
|
|
148
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
149
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
150
|
+
unless required by applicable law (such as deliberate and grossly
|
|
151
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
152
|
+
liable to You for damages, including any direct, indirect, special,
|
|
153
|
+
incidental, or exemplary damages of any character arising as a
|
|
154
|
+
result of this License or out of the use or inability to use the
|
|
155
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
156
|
+
work stoppage, computer failure or malfunction, or all other
|
|
157
|
+
commercial damages or losses), even if such Contributor has been
|
|
158
|
+
advised of the possibility of such damages.
|
|
159
|
+
|
|
160
|
+
9. Accepting Warranty or Liability. While redistributing the Work or
|
|
161
|
+
Derivative Works thereof, You may choose to offer, and charge a fee
|
|
162
|
+
for, acceptance of support, warranty, indemnity, or other liability
|
|
163
|
+
obligations and/or rights consistent with this License. However, in
|
|
164
|
+
accepting such obligations, You may offer such obligations only on
|
|
165
|
+
Your own behalf and on Your sole responsibility, not on behalf of
|
|
166
|
+
any other Contributor, and only if You agree to indemnify, defend,
|
|
167
|
+
and hold each Contributor harmless for any liability incurred by,
|
|
168
|
+
or claims asserted against, such Contributor by reason of your
|
|
169
|
+
accepting any warranty or additional liability.
|
|
170
|
+
|
|
171
|
+
END OF TERMS AND CONDITIONS
|
|
172
|
+
|
|
173
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
174
|
+
|
|
175
|
+
To apply the Apache License to your work, attach the following
|
|
176
|
+
boilerplate notice, with the fields enclosed by brackets "[]"
|
|
177
|
+
replaced with your own identifying information. (Don't include
|
|
178
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
179
|
+
comment syntax for the file format in use. Please also include a
|
|
180
|
+
reference to the disclaimer of Section 7 and 8.
|
|
181
|
+
|
|
182
|
+
Copyright 2026 Utility Warehouse
|
|
183
|
+
|
|
184
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
185
|
+
you may not use this file except in compliance with the License.
|
|
186
|
+
You may obtain a copy of the License at
|
|
187
|
+
|
|
188
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
189
|
+
|
|
190
|
+
Unless required by applicable law or agreed to in writing, software
|
|
191
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
192
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
193
|
+
See the License for the specific language governing permissions and
|
|
194
|
+
limitations under the License.
|
package/README.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# React Native
|
|
2
|
+
|
|
3
|
+
## Releases
|
|
4
|
+
|
|
5
|
+
Currently all `v0` releases should be considered unstable pre-releases. Any
|
|
6
|
+
breaking change will be made in a minor release, with the number of breaking
|
|
7
|
+
changes per minor release kept to a minimum. All breaking changes will be
|
|
8
|
+
documented with guidelines for how to update your code, and, if necessary,
|
|
9
|
+
will be accompanied by a codemod.
|
|
10
|
+
|
|
11
|
+
## AI Assistant Setup
|
|
12
|
+
|
|
13
|
+
`@utilitywarehouse/hearth-react-native` ships with an AI skill file that gives
|
|
14
|
+
your coding assistant deep knowledge of the component library — including
|
|
15
|
+
component APIs, usage patterns, design tokens, and best practices.
|
|
16
|
+
|
|
17
|
+
## Setup
|
|
18
|
+
|
|
19
|
+
After installing the package, run the init command to wire it up for your AI tool:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npx @utilitywarehouse/hearth-react-native init-ai
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
This detects your AI tool's config file and adds the skill reference automatically.
|
|
26
|
+
|
|
27
|
+
### Manual setup
|
|
28
|
+
|
|
29
|
+
If you prefer to add it yourself, append the appropriate line to your project's AI config file:
|
|
30
|
+
|
|
31
|
+
| Tool | Config file | Line to add |
|
|
32
|
+
| --------------------- | ---------------------------------- | -------------------------------------------------------------------------------------------------- |
|
|
33
|
+
| Claude Code | `CLAUDE.md` | `@node_modules/@utilitywarehouse/hearth-react-native/SKILL.md` |
|
|
34
|
+
| Cursor | `.cursorrules` | `@node_modules/@utilitywarehouse/hearth-react-native/SKILL.md` |
|
|
35
|
+
| Windsurf | `.windsurfrules` | `@node_modules/@utilitywarehouse/hearth-react-native/SKILL.md` |
|
|
36
|
+
| Codex / OpenAI agents | `AGENTS.md` | `See node_modules/@utilitywarehouse/hearth-react-native/SKILL.md for component usage guidelines.` |
|
|
37
|
+
| GitHub Copilot | `.github/copilot-instructions.md` | `See node_modules/@utilitywarehouse/hearth-react-native/SKILL.md for component usage guidelines.` |
|
|
38
|
+
| Cline / Roo | `.clinerules` | `@node_modules/@utilitywarehouse/hearth-react-native/SKILL.md` |
|
|
39
|
+
|
|
40
|
+
## What the skill covers
|
|
41
|
+
|
|
42
|
+
- Component inventory and when to use each one
|
|
43
|
+
- Utility props, variants, and composition patterns
|
|
44
|
+
- Design token usage and Unistyles theming
|
|
45
|
+
- Accessibility requirements and patterns
|
|
46
|
+
- Common mistakes and anti-patterns
|
|
47
|
+
|
|
48
|
+
## Keeping it up to date
|
|
49
|
+
|
|
50
|
+
The skill file is versioned with the package — upgrading
|
|
51
|
+
`@utilitywarehouse/hearth-react-native` automatically updates the skill. No
|
|
52
|
+
changes needed to your config file after the initial setup.
|
package/SKILL.md
ADDED
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: hearth-react-native
|
|
3
|
+
description: Use when building any UI component or screen with the Hearth React Native library. Use this implicitly whenever building any UI component or screen in a React Native app that has Hearth React Native installed — Hearth React Native is the default. Do not wait for an explicit mention of "Hearth React Native" — if it's UI work in an app with Hearth React Native, use this skill. Triggers when creating components, implementing Figma designs, adding UI features, or writing any React Native code in the app.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Building with Hearth React Native
|
|
7
|
+
|
|
8
|
+
You are acting as a React Native engineer. Your job is to turn requirements —
|
|
9
|
+
either Figma designs or written requirements — into UI React Native code using
|
|
10
|
+
Hearth — Utility Warehouse's Design Systems libraries.
|
|
11
|
+
|
|
12
|
+
## Package imports
|
|
13
|
+
|
|
14
|
+
| Purpose | Package |
|
|
15
|
+
| ---------- | ---------------------------------------------- |
|
|
16
|
+
| Components | `@utilitywarehouse/hearth-react-native` |
|
|
17
|
+
| Icons | `@utilitywarehouse/hearth-react-native-icons` |
|
|
18
|
+
|
|
19
|
+
## Before you implement: discover what exists
|
|
20
|
+
|
|
21
|
+
There are 2 options for discovering existing components and documentation:
|
|
22
|
+
|
|
23
|
+
- MCP server: `hearth-react-native` MCP hosted on a remote URL
|
|
24
|
+
- Raw markdown files: located in the `public` folder of the `hearth-react-native` package
|
|
25
|
+
|
|
26
|
+
**Default to the raw markdown files.** They are local, always available, and
|
|
27
|
+
version-matched to what the app actually has installed — so the API you read is
|
|
28
|
+
the API you get.
|
|
29
|
+
|
|
30
|
+
**Use the MCP server for richer exploration** — searching across components,
|
|
31
|
+
fetching story code, or discovering what exists when you're not sure where to
|
|
32
|
+
start. It's worth reaching for when the markdown files don't give you enough
|
|
33
|
+
context, but it requires the server to be configured and reachable.
|
|
34
|
+
|
|
35
|
+
Whatever source you use, review what is available before writing any code.
|
|
36
|
+
|
|
37
|
+
The library is broad — always check whether an existing component covers the
|
|
38
|
+
need before implementing anything custom.
|
|
39
|
+
|
|
40
|
+
### Raw markdown files
|
|
41
|
+
|
|
42
|
+
Full component API reference is available in the installed package. First,
|
|
43
|
+
resolve where it is installed — in a monorepo the package is typically hoisted
|
|
44
|
+
to the repo root rather than the app's local `node_modules`:
|
|
45
|
+
|
|
46
|
+
node -e "const path = require('path'); console.log(path.dirname(require.resolve('@utilitywarehouse/hearth-react-native/package.json')))"
|
|
47
|
+
|
|
48
|
+
The docs are then at:
|
|
49
|
+
|
|
50
|
+
- `<hearth-react-native-root>/public/llms/components/` — one file per component
|
|
51
|
+
- `<hearth-react-native-root>/public/llms/docs/` — design tokens, styling, layout, hooks, dark mode
|
|
52
|
+
- `<hearth-react-native-root>/public/llms.txt` — index of all available docs
|
|
53
|
+
|
|
54
|
+
### MCP Server
|
|
55
|
+
|
|
56
|
+
You can use the **`hearth-react-native`** MCP server if available (`https://main--68e3ad5c6e80b57678cad6c6.chromatic.com/mcp`):
|
|
57
|
+
|
|
58
|
+
1. `list-all-documentation` — get an index of all Hearth React Native components
|
|
59
|
+
2. `get-documentation` — get props, API, and usage examples for a specific component
|
|
60
|
+
3. `get-documentation-for-story` — get story code and docs for a specific story
|
|
61
|
+
|
|
62
|
+
## Plan before writing
|
|
63
|
+
|
|
64
|
+
For anything beyond a trivial change — a new screen, a multi-component feature, an
|
|
65
|
+
unfamiliar part of the codebase — share a brief plan before writing code:
|
|
66
|
+
|
|
67
|
+
- Which Hearth components you'll use and why
|
|
68
|
+
- Any local components you'll need
|
|
69
|
+
- The output folder/file structure
|
|
70
|
+
- Any decisions where multiple reasonable options exist
|
|
71
|
+
|
|
72
|
+
For small, self-contained tasks (adding a button, tweaking a layout) you can
|
|
73
|
+
proceed directly. Use your judgement: if you'd want sign-off as a developer
|
|
74
|
+
pairing with someone, ask for it here too.
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
# Principles
|
|
79
|
+
|
|
80
|
+
1. **Use Hearth React Native.** (`@utilitywarehouse/hearth-react-native`) This is
|
|
81
|
+
the default component library for Utility Warehouse React Native apps. Use it
|
|
82
|
+
for all UI work unless explicitly told otherwise.
|
|
83
|
+
2. **Use available components first.** Check documentation for what is available
|
|
84
|
+
before writing custom UI, or reaching for bare React Native primitives.
|
|
85
|
+
3. **Compose, don't reinvent.** Most screens can be built by composing existing
|
|
86
|
+
layout and UI components and utilising utility props. Only create new
|
|
87
|
+
components or custom Unistyles styles when absolutely necessary.
|
|
88
|
+
4. **Use built-in variants and utility props, before custom Unistyles.**
|
|
89
|
+
`variant="outline"`, `size="sm"`, `p="200"`, `rounded="lg"` — only reach for a
|
|
90
|
+
custom `StyleSheet.create` when these don't achieve the desired result.
|
|
91
|
+
5. **Use semantic colors.** The `color`, `iconColor`, `backgroundColor` (and `bg`/
|
|
92
|
+
`bgColor` shorthands) utility props resolve against simplified semantic tokens
|
|
93
|
+
(e.g. `color="primary"`, `bg="brand"`) — don't reach for raw palette values
|
|
94
|
+
(`theme.color.purple[400]`) unless a semantic token doesn't cover the case.
|
|
95
|
+
6. **Theme tokens in Unistyles `StyleSheet.create`, not hardcoded values.** Any
|
|
96
|
+
custom styling should pull from the `theme` argument (`theme.space`,
|
|
97
|
+
`theme.color`, `theme.font`, `theme.borderRadius`) rather than hardcoded hex
|
|
98
|
+
codes or font sizes. Prefer tokens for pixel dimensions too, but a hardcoded
|
|
99
|
+
value (e.g. a `minHeight` with no matching token) is fine when no token
|
|
100
|
+
covers the case — check the theme first rather than treating this as an
|
|
101
|
+
absolute rule.
|
|
102
|
+
7. **Space tokens are for spacing only** — do not use spacing tokens for
|
|
103
|
+
one-off dimensions that aren't part of the spacing scale.
|
|
104
|
+
|
|
105
|
+
# Critical Rules
|
|
106
|
+
|
|
107
|
+
## Use layout components
|
|
108
|
+
|
|
109
|
+
Use layout components to structure and space content. Do not add margin to
|
|
110
|
+
individual UI elements to achieve spacing — keep spacing decisions at the layout
|
|
111
|
+
level so UI components stay composable.
|
|
112
|
+
|
|
113
|
+
Five layout primitives, all built on design tokens:
|
|
114
|
+
|
|
115
|
+
| Component | Use for |
|
|
116
|
+
| ----------- | --------------------------------------------------------------------------------------------------- |
|
|
117
|
+
| `Box` | Generic container (renders a `View`); supports all utility props — spacing, sizing, colour, flex/position etc. |
|
|
118
|
+
| `Flex` | Flexbox layouts — rows, columns, centring, wrapping |
|
|
119
|
+
| `Grid` | Grid layouts — responsive column counts |
|
|
120
|
+
| `Center` | `Box` pre-configured with `alignItems="center"` and `justifyContent="center"` |
|
|
121
|
+
| `Container` | Page-width container with responsive gutters and vertical spacing |
|
|
122
|
+
|
|
123
|
+
```tsx
|
|
124
|
+
// Box with utility props (shorthand + full names both work)
|
|
125
|
+
<Box bg="brand" p="200" borderRadius="md">
|
|
126
|
+
<BodyText color="inverted">Content</BodyText>
|
|
127
|
+
</Box>
|
|
128
|
+
|
|
129
|
+
// Flex column with gap
|
|
130
|
+
<Flex direction="column" gap="200">
|
|
131
|
+
<Heading>Title</Heading>
|
|
132
|
+
<BodyText>Content</BodyText>
|
|
133
|
+
</Flex>
|
|
134
|
+
|
|
135
|
+
// Responsive grid columns
|
|
136
|
+
<Grid columns={{ base: 1, md: 2, lg: 3 }} spacing="md">
|
|
137
|
+
<Box>{...}</Box>
|
|
138
|
+
<Box>{...}</Box>
|
|
139
|
+
</Grid>
|
|
140
|
+
|
|
141
|
+
// Centered content
|
|
142
|
+
<Center>
|
|
143
|
+
<Spinner />
|
|
144
|
+
</Center>
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Use `gap` (or the `spacing`/`space` alias) on the parent `Flex`/`Grid` to space
|
|
148
|
+
children. For distribution and alignment, use `justify`/`align` on `Flex`. Don't
|
|
149
|
+
put margin on individual sibling components just for spacing.
|
|
150
|
+
|
|
151
|
+
```tsx
|
|
152
|
+
// ❌ WRONG — margin for spacing
|
|
153
|
+
<Flex>
|
|
154
|
+
<Button mr="100">Cancel</Button>
|
|
155
|
+
<Button>Submit</Button>
|
|
156
|
+
</Flex>
|
|
157
|
+
|
|
158
|
+
// ✅ CORRECT — gap on parent
|
|
159
|
+
<Flex gap="100">
|
|
160
|
+
<Button>Cancel</Button>
|
|
161
|
+
<Button>Submit</Button>
|
|
162
|
+
</Flex>
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
`Box` accepts the full set of utility props (shorthand and full names), for
|
|
166
|
+
example: `p`/`padding`, `px`/`paddingHorizontal`, `m`/`margin`, `h`/`height`,
|
|
167
|
+
`w`/`width`, `bg`/`backgroundColor`, `rounded`/`borderRadius`, plus every other
|
|
168
|
+
`ViewStyle` property directly (`flex`, `alignItems`, `position`, `opacity`,
|
|
169
|
+
etc.). `Flex` and `Grid` accept the same spacing/sizing/colour utility props
|
|
170
|
+
alongside their own layout-specific props (`direction`, `align`, `justify`,
|
|
171
|
+
`wrap` on `Flex`; `columns` on `Grid`).
|
|
172
|
+
|
|
173
|
+
## Styling: Unistyles, not `StyleSheet` from `react-native`
|
|
174
|
+
|
|
175
|
+
Custom styles use `react-native-unistyles`'s `StyleSheet.create(theme => ({...}))`,
|
|
176
|
+
re-exported from the package. Only reach for this when utility props and
|
|
177
|
+
existing component variants don't cover the need.
|
|
178
|
+
|
|
179
|
+
- Define styles as **variants** (e.g. `size`, `colorScheme`, `variant`,
|
|
180
|
+
`disabled`) and apply them at render time via `styles.useVariants({...})`.
|
|
181
|
+
- Use **`compoundVariants`** for combinations that need distinct treatment,
|
|
182
|
+
rather than conditional logic in the component body.
|
|
183
|
+
- Read colours, spacing, radii, and typography from the `theme` parameter
|
|
184
|
+
(`theme.color.*`, `theme.space[...]`, `theme.borderRadius.*`, `theme.font.*`)
|
|
185
|
+
rather than hardcoding a hex value or font family. Prefer a token for pixel
|
|
186
|
+
dimensions too, but check the theme first before assuming one doesn't
|
|
187
|
+
exist — existing components do fall back to a hardcoded value (e.g. a
|
|
188
|
+
`minHeight`) when there's genuinely no matching token.
|
|
189
|
+
- `_web` blocks hold web-only pseudo-class styles (`_hover`, `_focus-visible`,
|
|
190
|
+
`_active`) since Unistyles targets both native and `react-native-web`
|
|
191
|
+
(Storybook renders through `react-native-web`, so these matter for how a
|
|
192
|
+
component looks there).
|
|
193
|
+
|
|
194
|
+
```tsx
|
|
195
|
+
const ButtonRoot = ({ variant = 'solid', size = 'md', disabled = false, ...props }) => {
|
|
196
|
+
styles.useVariants({ variant, size, disabled });
|
|
197
|
+
|
|
198
|
+
return <Pressable {...props} style={styles.container} />;
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
const styles = StyleSheet.create(theme => ({
|
|
202
|
+
container: {
|
|
203
|
+
borderRadius: theme.components.button.borderRadius,
|
|
204
|
+
gap: theme.components.button.gap,
|
|
205
|
+
_web: {
|
|
206
|
+
'_focus-visible': {
|
|
207
|
+
outlineStyle: 'solid',
|
|
208
|
+
outlineWidth: 2,
|
|
209
|
+
outlineColor: theme.color.focus.primary,
|
|
210
|
+
},
|
|
211
|
+
},
|
|
212
|
+
variants: {
|
|
213
|
+
disabled: {
|
|
214
|
+
true: { opacity: theme.opacity.disabled },
|
|
215
|
+
},
|
|
216
|
+
variant: {
|
|
217
|
+
solid: { borderColor: theme.color.interactive.highlight.border.strong },
|
|
218
|
+
outline: { backgroundColor: 'transparent', borderWidth: 2 },
|
|
219
|
+
},
|
|
220
|
+
size: {
|
|
221
|
+
sm: { minHeight: 32 },
|
|
222
|
+
md: { minHeight: 48 },
|
|
223
|
+
},
|
|
224
|
+
},
|
|
225
|
+
compoundVariants: [
|
|
226
|
+
{
|
|
227
|
+
variant: 'solid',
|
|
228
|
+
size: 'sm',
|
|
229
|
+
styles: { paddingHorizontal: theme.space['150'] },
|
|
230
|
+
},
|
|
231
|
+
],
|
|
232
|
+
},
|
|
233
|
+
}));
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
## Responsive breakpoints
|
|
237
|
+
|
|
238
|
+
Breakpoints are configured once (via Unistyles' `StyleSheet.configure`) and
|
|
239
|
+
cascade **mobile-first**: a value applies from that breakpoint upward until
|
|
240
|
+
overridden by a larger one. See the
|
|
241
|
+
[Unistyles breakpoints reference](https://www.unistyl.es/v3/references/breakpoints/)
|
|
242
|
+
for the underlying behaviour.
|
|
243
|
+
|
|
244
|
+
Hearth's breakpoints are `base`, `xs`, `sm`, `md`, `lg`, `xl`, `superLarge`,
|
|
245
|
+
`tvLike` — **not** the web package's `mobile`/`tablet`/`desktop`/`wide` names.
|
|
246
|
+
`base` is the required starting point (must map to the smallest screen size)
|
|
247
|
+
and behaves like `mobile` does on web: never omit it from a responsive object,
|
|
248
|
+
or nothing applies at the smallest breakpoint.
|
|
249
|
+
|
|
250
|
+
```tsx
|
|
251
|
+
const styles = StyleSheet.create(theme => ({
|
|
252
|
+
container: {
|
|
253
|
+
// ❌ WRONG — no style applied below `md`
|
|
254
|
+
padding: { md: theme.space['400'] },
|
|
255
|
+
|
|
256
|
+
// ✅ CORRECT
|
|
257
|
+
padding: { base: theme.space['200'], md: theme.space['400'] },
|
|
258
|
+
},
|
|
259
|
+
}));
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
`Grid`'s `columns` prop takes the same breakpoint keys directly:
|
|
263
|
+
`columns={{ base: 1, md: 2, lg: 3 }}`.
|
|
264
|
+
|
|
265
|
+
## Required app-level providers
|
|
266
|
+
|
|
267
|
+
Hearth React Native components rely on these wrapping the app root:
|
|
268
|
+
|
|
269
|
+
- `GestureHandlerRootView` (from `react-native-gesture-handler`) — required for
|
|
270
|
+
any gesture-driven component (`BottomSheet`, `Modal`, `Select`, swipeable
|
|
271
|
+
`Toast`, etc.).
|
|
272
|
+
- `BottomSheetModalProvider` (from Hearth) — required for any component built on
|
|
273
|
+
a bottom sheet (`Modal`, `Combobox`, `Select`, `Menu`, `DatePicker`,
|
|
274
|
+
`TimePicker`).
|
|
275
|
+
|
|
276
|
+
```tsx
|
|
277
|
+
import { BottomSheetModalProvider } from '@utilitywarehouse/hearth-react-native';
|
|
278
|
+
import { GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
279
|
+
|
|
280
|
+
const App = () => (
|
|
281
|
+
<GestureHandlerRootView>
|
|
282
|
+
<BottomSheetModalProvider>{/* app content */}</BottomSheetModalProvider>
|
|
283
|
+
</GestureHandlerRootView>
|
|
284
|
+
);
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
If a screen renders one of these components and the app crashes or the sheet
|
|
288
|
+
fails to present, check these providers are wired up before debugging further.
|
|
289
|
+
|
|
290
|
+
## Safe area handling
|
|
291
|
+
|
|
292
|
+
Two different patterns exist depending on the component — check which one
|
|
293
|
+
applies before reaching for `react-native-safe-area-context` directly:
|
|
294
|
+
|
|
295
|
+
- **Bottom-sheet-based components** (`Modal`, `Combobox`, `Select`, and the
|
|
296
|
+
`BottomSheet*` primitives) don't take their own safe-area prop — they read a
|
|
297
|
+
boolean `useSafeAreaInsets` (default `true`) from the nearest
|
|
298
|
+
`BottomSheetModalProvider` via context, which toggles whether their internal
|
|
299
|
+
`SafeAreaView` applies the `top` edge. Set `useSafeAreaInsets={false}` on
|
|
300
|
+
`BottomSheetModalProvider` only if the parent screen already handles
|
|
301
|
+
safe-area insets itself — don't look for the prop on the individual
|
|
302
|
+
components.
|
|
303
|
+
- **`NavModal`** (used when a screen is already presented by React Navigation)
|
|
304
|
+
reads safe-area insets directly from the Unistyles runtime
|
|
305
|
+
(`rt.insets.top`/`rt.insets.bottom` inside `StyleSheet.create((theme, rt) =>
|
|
306
|
+
...)`) rather than rendering a `SafeAreaView`.
|
|
307
|
+
|
|
308
|
+
Don't wrap Hearth components in your own `SafeAreaView` on top of these —
|
|
309
|
+
check `BottomSheetModalProvider`'s `useSafeAreaInsets` prop (or `NavModal`'s
|
|
310
|
+
own prop, for that component) first.
|
|
311
|
+
|
|
312
|
+
## Accessibility
|
|
313
|
+
|
|
314
|
+
Accessibility is not optional — the UW product is used by customers across a
|
|
315
|
+
wide range of abilities, and assistive technology support is a product
|
|
316
|
+
requirement. Use React Native's accessibility props, not ARIA/web semantics:
|
|
317
|
+
|
|
318
|
+
- `accessibilityRole`, `accessibilityLabel`, `accessibilityHint`,
|
|
319
|
+
`accessibilityState` — Hearth wires these where it can (e.g. `Heading`
|
|
320
|
+
always sets `accessibilityRole="header"`), so in most cases you just need to
|
|
321
|
+
use the components correctly and avoid overriding what they do.
|
|
322
|
+
- For form inputs wrapped in `FormField`, don't hand-roll
|
|
323
|
+
`accessibilityLabel`/`accessibilityHint` — `FormField` and its inputs
|
|
324
|
+
already combine the label, helper text, and required/invalid state into the
|
|
325
|
+
correct accessibility props via the `useFormFieldAccessibility` hook.
|
|
326
|
+
- Use `accessibilityState={{ checked, disabled }}` (not custom props) on
|
|
327
|
+
toggle-like components so screen readers report state correctly.
|
|
328
|
+
|
|
329
|
+
## Compound components
|
|
330
|
+
|
|
331
|
+
Many components have sub-components that must be used together. Read the
|
|
332
|
+
reference file before composing. Examples:
|
|
333
|
+
|
|
334
|
+
- `Card` → `CardContent`, `CardActions`, `CardAction*`, `CardPressHandler`
|
|
335
|
+
- `Accordion` → `AccordionItem`, `AccordionTrigger`, `AccordionHeader`,
|
|
336
|
+
`AccordionContent`
|
|
337
|
+
- `FormField` → `FormFieldLabel`, `FormFieldHelper`, `FormFieldValid`,
|
|
338
|
+
`FormFieldInvalid`
|
|
339
|
+
|
|
340
|
+
Compound components share state via a `<Component>Context` (check for a
|
|
341
|
+
`useXContext` export) rather than prop drilling.
|
|
342
|
+
|
|
343
|
+
## Common patterns
|
|
344
|
+
|
|
345
|
+
### Themed images that adapt to light/dark mode
|
|
346
|
+
|
|
347
|
+
```tsx
|
|
348
|
+
<ThemedImage light={require('./logo-light.png')} dark={require('./logo-dark.png')} />
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Full-width button on mobile, auto-width on larger screens
|
|
352
|
+
|
|
353
|
+
Control width with the parent layout component rather than a prop on `Button`.
|
|
354
|
+
|
|
355
|
+
```tsx
|
|
356
|
+
<Flex direction="column" align={{ base: 'stretch', md: 'flex-start' }}>
|
|
357
|
+
<Button variant="solid" colorScheme="highlight">
|
|
358
|
+
Submit
|
|
359
|
+
</Button>
|
|
360
|
+
</Flex>
|
|
361
|
+
```
|
|
@@ -20,10 +20,10 @@ const AlertIcon = (props) => {
|
|
|
20
20
|
AlertIcon.displayName = 'AlertIcon';
|
|
21
21
|
const styles = StyleSheet.create(theme => ({
|
|
22
22
|
icon: {
|
|
23
|
-
width:
|
|
24
|
-
height:
|
|
25
|
-
minWidth:
|
|
26
|
-
minHeight:
|
|
23
|
+
width: theme.components.icon.md.width,
|
|
24
|
+
height: theme.components.icon.md.height,
|
|
25
|
+
minWidth: theme.components.icon.md.width,
|
|
26
|
+
minHeight: theme.components.icon.md.height,
|
|
27
27
|
alignSelf: 'flex-start',
|
|
28
28
|
variants: {
|
|
29
29
|
colorScheme: {
|
|
@@ -10,10 +10,10 @@ const BadgeIcon = (props) => {
|
|
|
10
10
|
BadgeIcon.displayName = 'BadgeIcon';
|
|
11
11
|
const styles = StyleSheet.create(theme => ({
|
|
12
12
|
icon: {
|
|
13
|
-
width:
|
|
14
|
-
height:
|
|
15
|
-
minWidth:
|
|
16
|
-
minHeight:
|
|
13
|
+
width: theme.components.icon.sm.width,
|
|
14
|
+
height: theme.components.icon.sm.height,
|
|
15
|
+
minWidth: theme.components.icon.sm.width,
|
|
16
|
+
minHeight: theme.components.icon.sm.height,
|
|
17
17
|
variants: {
|
|
18
18
|
colorScheme: {
|
|
19
19
|
info: {},
|
|
@@ -12,8 +12,8 @@ CardActionIcon.displayName = 'CardActionIcon';
|
|
|
12
12
|
const styles = StyleSheet.create(theme => ({
|
|
13
13
|
icon: {
|
|
14
14
|
color: theme.color.icon.primary,
|
|
15
|
-
width:
|
|
16
|
-
height:
|
|
15
|
+
width: theme.components.icon.md.width,
|
|
16
|
+
height: theme.components.icon.md.height,
|
|
17
17
|
},
|
|
18
18
|
}));
|
|
19
19
|
export default CardActionIcon;
|
|
@@ -12,8 +12,8 @@ CardActionTrailingIcon.displayName = 'CardActionTrailingIcon';
|
|
|
12
12
|
const styles = StyleSheet.create(theme => ({
|
|
13
13
|
icon: {
|
|
14
14
|
color: theme.color.icon.primary,
|
|
15
|
-
minWidth:
|
|
16
|
-
minHeight:
|
|
15
|
+
minWidth: theme.components.icon.sm.width,
|
|
16
|
+
minHeight: theme.components.icon.sm.height,
|
|
17
17
|
},
|
|
18
18
|
}));
|
|
19
19
|
export default CardActionTrailingIcon;
|
|
@@ -15,8 +15,8 @@ const CarouselControlItem = createPressable({
|
|
|
15
15
|
CarouselControlItem.displayName = 'CarouselControlItem';
|
|
16
16
|
const styles = StyleSheet.create(theme => ({
|
|
17
17
|
item: {
|
|
18
|
-
width:
|
|
19
|
-
height:
|
|
18
|
+
width: theme.components.icon.md.width,
|
|
19
|
+
height: theme.components.icon.md.height,
|
|
20
20
|
alignItems: 'center',
|
|
21
21
|
justifyContent: 'center',
|
|
22
22
|
},
|