@jobber/components-native 0.76.0 → 0.76.1-JOB-116234-314c5ff.22
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/dist/package.json +2 -2
- package/dist/src/ActionItem/ActionItem.js +2 -1
- package/dist/src/ActionItem/ActionItem.style.js +23 -22
- package/dist/src/ActionItem/ActionItemGroup.js +2 -1
- package/dist/src/ActionItem/components/ActionItemContainer.js +4 -2
- package/dist/src/ActionItem/components/ActionItemContainer.style.js +12 -11
- package/dist/src/ActivityIndicator/ActivityIndicator.js +2 -1
- package/dist/src/AtlantisThemeContext/AtlantisThemeContext.js +32 -0
- package/dist/src/AtlantisThemeContext/buildThemedStyles.js +38 -0
- package/dist/src/AtlantisThemeContext/index.js +2 -0
- package/dist/src/AtlantisThemeContext/types.js +1 -0
- package/dist/src/AutoLink/AutoLink.js +2 -1
- package/dist/src/Banner/Banner.js +4 -3
- package/dist/src/Banner/Banner.style.js +34 -33
- package/dist/src/Banner/components/BannerIcon/BannerIcon.js +2 -1
- package/dist/src/Banner/components/BannerIcon/BannerIcon.style.js +17 -16
- package/dist/src/BottomSheet/BottomSheet.js +8 -7
- package/dist/src/BottomSheet/BottomSheet.style.js +28 -25
- package/dist/src/BottomSheet/components/BottomSheetOption/BottomSheetOption.js +2 -1
- package/dist/src/BottomSheet/components/BottomSheetOption/BottomSheetOption.styles.js +18 -17
- package/dist/src/Button/Button.js +6 -4
- package/dist/src/Button/Button.style.js +97 -95
- package/dist/src/ButtonGroup/ButtonGroup.js +2 -1
- package/dist/src/ButtonGroup/ButtonGroup.style.js +18 -17
- package/dist/src/Card/Card.js +4 -3
- package/dist/src/Card/Card.style.js +31 -30
- package/dist/src/Card/components/InternalCardHeader.js +2 -1
- package/dist/src/Card/components/InternalCardHeader.style.js +16 -15
- package/dist/src/Checkbox/Checkbox.js +4 -2
- package/dist/src/Checkbox/Checkbox.style.js +31 -29
- package/dist/src/Checkbox/CheckboxGroup.js +2 -1
- package/dist/src/Checkbox/CheckboxGroup.style.js +14 -13
- package/dist/src/Chip/Chip.js +5 -3
- package/dist/src/Chip/Chip.style.js +33 -31
- package/dist/src/Content/Content.js +7 -4
- package/dist/src/Content/ContentHorizontal.style.js +30 -29
- package/dist/src/Content/ContentSpaceAround.style.js +22 -21
- package/dist/src/Content/ContentVertical.style.js +30 -29
- package/dist/src/ContentOverlay/ContentOverlay.js +4 -2
- package/dist/src/ContentOverlay/ContentOverlay.style.js +56 -54
- package/dist/src/Disclosure/Disclosure.js +10 -7
- package/dist/src/Disclosure/Disclosure.style.js +21 -20
- package/dist/src/Divider/Divider.js +4 -2
- package/dist/src/Divider/DividerHorizontal.style.js +23 -22
- package/dist/src/Divider/DividerVertical.style.js +26 -25
- package/dist/src/EmptyState/EmptyState.js +2 -1
- package/dist/src/EmptyState/EmptyState.style.js +8 -7
- package/dist/src/ErrorMessageWrapper/ErrorMessageWrapper.js +6 -5
- package/dist/src/ErrorMessageWrapper/ErrorMessageWrapper.style.js +31 -30
- package/dist/src/Flex/Flex.gap.styles.js +9 -0
- package/dist/src/Flex/Flex.js +3 -2
- package/dist/src/Flex/Flex.styles.js +0 -9
- package/dist/src/Form/Form.js +2 -1
- package/dist/src/Form/Form.style.js +33 -32
- package/dist/src/Form/components/FormActionBar/FormActionBar.js +2 -1
- package/dist/src/Form/components/FormActionBar/FormActionBar.style.js +5 -4
- package/dist/src/Form/components/FormBody/FormBody.js +2 -1
- package/dist/src/Form/components/FormBody/FormBody.style.js +26 -25
- package/dist/src/Form/components/FormMask/FormMask.js +2 -1
- package/dist/src/Form/components/FormMask/FormMask.style.js +15 -14
- package/dist/src/Form/components/FormMessage/components/InternalFormMessage/InternalFormMessage.js +2 -1
- package/dist/src/Form/components/FormMessage/components/InternalFormMessage/InternalFormMessage.style.js +17 -16
- package/dist/src/FormatFile/FormatFile.js +2 -1
- package/dist/src/FormatFile/FormatFile.style.js +16 -15
- package/dist/src/FormatFile/components/ErrorIcon/ErrorIcon.js +2 -1
- package/dist/src/FormatFile/components/ErrorIcon/ErrorIcon.style.js +10 -9
- package/dist/src/FormatFile/components/FileView/FileView.js +2 -1
- package/dist/src/FormatFile/components/FileView/FileView.style.js +64 -63
- package/dist/src/FormatFile/components/MediaView/MediaView.js +8 -7
- package/dist/src/FormatFile/components/MediaView/MediaView.style.js +27 -26
- package/dist/src/FormatFile/components/ProgressBar/ProgressBar.js +2 -1
- package/dist/src/FormatFile/components/ProgressBar/ProgressBar.style.js +15 -14
- package/dist/src/Glimmer/Glimmer.js +6 -3
- package/dist/src/Glimmer/Glimmer.shape.style.js +16 -15
- package/dist/src/Glimmer/Glimmer.size.style.js +9 -8
- package/dist/src/Glimmer/Glimmer.style.js +21 -19
- package/dist/src/IconButton/IconButton.js +2 -1
- package/dist/src/IconButton/IconButton.style.js +10 -9
- package/dist/src/InputFieldWrapper/CommonInputStyles.style.js +13 -3
- package/dist/src/InputFieldWrapper/InputFieldWrapper.js +4 -2
- package/dist/src/InputFieldWrapper/InputFieldWrapper.style.js +122 -117
- package/dist/src/InputFieldWrapper/components/ClearAction/ClearAction.js +2 -1
- package/dist/src/InputFieldWrapper/components/ClearAction/ClearAction.style.js +25 -24
- package/dist/src/InputFieldWrapper/components/Prefix/Prefix.js +7 -3
- package/dist/src/InputFieldWrapper/components/Suffix/Suffix.js +5 -2
- package/dist/src/InputFieldWrapper/index.js +1 -1
- package/dist/src/InputPressable/InputPressable.js +4 -2
- package/dist/src/InputPressable/InputPressable.style.js +22 -21
- package/dist/src/InputText/InputText.js +4 -2
- package/dist/src/InputText/InputText.style.js +22 -21
- package/dist/src/InputText/context/InputAccessoriesProvider.js +2 -1
- package/dist/src/InputText/context/InputAccessoriesProvider.style.js +21 -19
- package/dist/src/Menu/Menu.js +6 -4
- package/dist/src/Menu/Menu.style.js +5 -4
- package/dist/src/Menu/components/MenuOption/MenuOption.js +4 -2
- package/dist/src/Menu/components/MenuOption/MenuOption.style.js +10 -9
- package/dist/src/Menu/components/Overlay/Overlay.js +2 -1
- package/dist/src/Menu/components/Overlay/Overlay.style.js +15 -4
- package/dist/src/Menu/utils.js +1 -2
- package/dist/src/ProgressBar/ProgressBar.js +4 -2
- package/dist/src/ProgressBar/ProgressBar.style.js +36 -35
- package/dist/src/ProgressBar/ProgressBarInner.js +2 -1
- package/dist/src/ProgressBar/ProgressBarStepped.js +7 -2
- package/dist/src/Select/Select.js +2 -1
- package/dist/src/Select/Select.style.js +43 -43
- package/dist/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.ios.js +2 -1
- package/dist/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.js +4 -2
- package/dist/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.style.js +32 -28
- package/dist/src/Select/components/SelectPressable/SelectPressable.js +2 -1
- package/dist/src/Select/components/SelectPressable/SelectPressable.style.js +7 -6
- package/dist/src/StatusLabel/StatusLabel.js +6 -4
- package/dist/src/StatusLabel/StatusLabel.style.js +28 -28
- package/dist/src/Switch/Switch.js +2 -1
- package/dist/src/Switch/Switch.styles.js +20 -19
- package/dist/src/Switch/components/BaseSwitch/BaseSwitch.js +2 -1
- package/dist/src/TextList/TextList.js +2 -1
- package/dist/src/TextList/TextList.style.js +16 -15
- package/dist/src/ThumbnailList/ThumbnailList.js +2 -1
- package/dist/src/ThumbnailList/ThumbnailList.style.js +49 -48
- package/dist/src/Toast/Toast.js +9 -6
- package/dist/src/Toast/Toast.styles.js +30 -29
- package/dist/src/Typography/Typography.js +2 -1
- package/dist/src/Typography/Typography.style.js +15 -20
- package/dist/src/Typography/index.js +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/utils/design/index.js +5 -0
- package/dist/src/utils/meta/meta.json +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/src/ActionItem/ActionItem.style.d.ts +1 -1
- package/dist/types/src/ActionItem/components/ActionItemContainer.style.d.ts +1 -1
- package/dist/types/src/AtlantisThemeContext/AtlantisThemeContext.d.ts +3 -0
- package/dist/types/src/AtlantisThemeContext/buildThemedStyles.d.ts +32 -0
- package/dist/types/src/AtlantisThemeContext/index.d.ts +3 -0
- package/dist/types/src/AtlantisThemeContext/types.d.ts +27 -0
- package/dist/types/src/Banner/Banner.style.d.ts +1 -1
- package/dist/types/src/Banner/components/BannerIcon/BannerIcon.style.d.ts +1 -1
- package/dist/types/src/BottomSheet/BottomSheet.style.d.ts +1 -1
- package/dist/types/src/BottomSheet/components/BottomSheetOption/BottomSheetOption.styles.d.ts +1 -1
- package/dist/types/src/Button/Button.d.ts +1 -1
- package/dist/types/src/Button/Button.style.d.ts +1 -2
- package/dist/types/src/ButtonGroup/ButtonGroup.style.d.ts +1 -1
- package/dist/types/src/Card/Card.style.d.ts +1 -1
- package/dist/types/src/Card/components/InternalCardHeader.style.d.ts +1 -1
- package/dist/types/src/Checkbox/Checkbox.style.d.ts +1 -1
- package/dist/types/src/Checkbox/CheckboxGroup.style.d.ts +1 -1
- package/dist/types/src/Chip/Chip.style.d.ts +1 -1
- package/dist/types/src/Content/ContentHorizontal.style.d.ts +1 -1
- package/dist/types/src/Content/ContentSpaceAround.style.d.ts +1 -1
- package/dist/types/src/Content/ContentVertical.style.d.ts +1 -1
- package/dist/types/src/ContentOverlay/ContentOverlay.style.d.ts +1 -1
- package/dist/types/src/Disclosure/Disclosure.style.d.ts +1 -1
- package/dist/types/src/Divider/DividerHorizontal.style.d.ts +1 -1
- package/dist/types/src/Divider/DividerVertical.style.d.ts +1 -1
- package/dist/types/src/EmptyState/EmptyState.style.d.ts +1 -1
- package/dist/types/src/ErrorMessageWrapper/ErrorMessageWrapper.style.d.ts +1 -1
- package/dist/types/src/Flex/Flex.gap.styles.d.ts +2 -0
- package/dist/types/src/Flex/Flex.styles.d.ts +0 -1
- package/dist/types/src/Form/Form.style.d.ts +1 -1
- package/dist/types/src/Form/components/FormActionBar/FormActionBar.style.d.ts +1 -1
- package/dist/types/src/Form/components/FormBody/FormBody.style.d.ts +1 -1
- package/dist/types/src/Form/components/FormMask/FormMask.style.d.ts +1 -1
- package/dist/types/src/Form/components/FormMessage/components/InternalFormMessage/InternalFormMessage.style.d.ts +1 -1
- package/dist/types/src/FormatFile/FormatFile.style.d.ts +1 -1
- package/dist/types/src/FormatFile/components/ErrorIcon/ErrorIcon.style.d.ts +1 -1
- package/dist/types/src/FormatFile/components/FileView/FileView.style.d.ts +1 -1
- package/dist/types/src/FormatFile/components/MediaView/MediaView.style.d.ts +1 -1
- package/dist/types/src/FormatFile/components/ProgressBar/ProgressBar.style.d.ts +1 -1
- package/dist/types/src/Glimmer/Glimmer.d.ts +4 -4
- package/dist/types/src/Glimmer/Glimmer.shape.style.d.ts +1 -1
- package/dist/types/src/Glimmer/Glimmer.size.style.d.ts +1 -1
- package/dist/types/src/Glimmer/Glimmer.style.d.ts +1 -1
- package/dist/types/src/IconButton/IconButton.style.d.ts +1 -1
- package/dist/types/src/InputFieldWrapper/CommonInputStyles.style.d.ts +9 -32
- package/dist/types/src/InputFieldWrapper/InputFieldWrapper.style.d.ts +2 -16
- package/dist/types/src/InputFieldWrapper/components/ClearAction/ClearAction.style.d.ts +1 -1
- package/dist/types/src/InputFieldWrapper/index.d.ts +1 -1
- package/dist/types/src/InputPressable/InputPressable.style.d.ts +1 -1
- package/dist/types/src/InputText/InputText.style.d.ts +1 -1
- package/dist/types/src/InputText/context/InputAccessoriesProvider.style.d.ts +1 -1
- package/dist/types/src/Menu/Menu.style.d.ts +1 -1
- package/dist/types/src/Menu/components/MenuOption/MenuOption.style.d.ts +1 -1
- package/dist/types/src/Menu/components/Overlay/Overlay.style.d.ts +6 -6
- package/dist/types/src/Menu/utils.d.ts +2 -1
- package/dist/types/src/ProgressBar/ProgressBar.style.d.ts +1 -1
- package/dist/types/src/Select/Select.style.d.ts +2 -30
- package/dist/types/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.style.d.ts +1 -1
- package/dist/types/src/Select/components/SelectPressable/SelectPressable.style.d.ts +1 -1
- package/dist/types/src/StatusLabel/StatusLabel.style.d.ts +1 -1
- package/dist/types/src/Switch/Switch.styles.d.ts +1 -1
- package/dist/types/src/Text/Text.d.ts +1 -1
- package/dist/types/src/TextList/TextList.style.d.ts +1 -1
- package/dist/types/src/ThumbnailList/ThumbnailList.style.d.ts +1 -1
- package/dist/types/src/Toast/Toast.styles.d.ts +1 -1
- package/dist/types/src/Typography/Typography.style.d.ts +6 -10
- package/dist/types/src/Typography/index.d.ts +1 -0
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/utils/design/index.d.ts +5 -0
- package/package.json +2 -2
- package/src/ActionItem/ActionItem.style.ts +23 -22
- package/src/ActionItem/ActionItem.tsx +3 -1
- package/src/ActionItem/ActionItemGroup.tsx +3 -1
- package/src/ActionItem/components/ActionItemContainer.style.ts +12 -11
- package/src/ActionItem/components/ActionItemContainer.tsx +5 -2
- package/src/ActivityIndicator/ActivityIndicator.tsx +3 -1
- package/src/AtlantisThemeContext/AtlantisThemeContext.test.tsx +106 -0
- package/src/AtlantisThemeContext/AtlantisThemeContext.tsx +56 -0
- package/src/AtlantisThemeContext/buildThemedStyles.test.tsx +83 -0
- package/src/AtlantisThemeContext/buildThemedStyles.ts +43 -0
- package/src/AtlantisThemeContext/index.ts +10 -0
- package/src/AtlantisThemeContext/types.ts +33 -0
- package/src/AutoLink/AutoLink.tsx +2 -1
- package/src/Banner/Banner.style.ts +34 -33
- package/src/Banner/Banner.tsx +6 -2
- package/src/Banner/components/BannerIcon/BannerIcon.style.ts +17 -16
- package/src/Banner/components/BannerIcon/BannerIcon.tsx +3 -1
- package/src/BottomSheet/BottomSheet.style.ts +32 -29
- package/src/BottomSheet/BottomSheet.tsx +21 -5
- package/src/BottomSheet/components/BottomSheetOption/BottomSheetOption.styles.ts +18 -17
- package/src/BottomSheet/components/BottomSheetOption/BottomSheetOption.tsx +2 -1
- package/src/Button/Button.style.ts +119 -120
- package/src/Button/Button.tsx +8 -4
- package/src/ButtonGroup/ButtonGroup.style.ts +18 -17
- package/src/ButtonGroup/ButtonGroup.tsx +2 -1
- package/src/Card/Card.style.ts +46 -45
- package/src/Card/Card.tsx +8 -3
- package/src/Card/components/InternalCardHeader.style.ts +16 -15
- package/src/Card/components/InternalCardHeader.tsx +3 -1
- package/src/Checkbox/Checkbox.style.ts +32 -29
- package/src/Checkbox/Checkbox.tsx +6 -2
- package/src/Checkbox/CheckboxGroup.style.ts +14 -13
- package/src/Checkbox/CheckboxGroup.tsx +3 -1
- package/src/Chip/Chip.style.ts +33 -31
- package/src/Chip/Chip.tsx +6 -4
- package/src/Content/Content.test.tsx +14 -4
- package/src/Content/Content.tsx +8 -4
- package/src/Content/ContentHorizontal.style.ts +38 -37
- package/src/Content/ContentSpaceAround.style.ts +22 -21
- package/src/Content/ContentVertical.style.ts +38 -37
- package/src/ContentOverlay/ContentOverlay.style.ts +58 -56
- package/src/ContentOverlay/ContentOverlay.tsx +5 -2
- package/src/Disclosure/Disclosure.style.ts +21 -20
- package/src/Disclosure/Disclosure.tsx +18 -7
- package/src/Divider/Divider.test.tsx +11 -3
- package/src/Divider/Divider.tsx +5 -2
- package/src/Divider/DividerHorizontal.style.ts +23 -22
- package/src/Divider/DividerVertical.style.ts +26 -25
- package/src/EmptyState/EmptyState.style.ts +8 -7
- package/src/EmptyState/EmptyState.tsx +3 -1
- package/src/ErrorMessageWrapper/ErrorMessageWrapper.style.ts +31 -30
- package/src/ErrorMessageWrapper/ErrorMessageWrapper.tsx +7 -6
- package/src/Flex/Flex.gap.styles.tsx +14 -0
- package/src/Flex/Flex.styles.tsx +1 -13
- package/src/Flex/Flex.tsx +3 -2
- package/src/Form/Form.style.ts +33 -32
- package/src/Form/Form.tsx +3 -1
- package/src/Form/components/FormActionBar/FormActionBar.style.ts +10 -9
- package/src/Form/components/FormActionBar/FormActionBar.tsx +3 -1
- package/src/Form/components/FormBody/FormBody.style.ts +26 -25
- package/src/Form/components/FormBody/FormBody.tsx +2 -1
- package/src/Form/components/FormMask/FormMask.style.tsx +15 -14
- package/src/Form/components/FormMask/FormMask.tsx +2 -1
- package/src/Form/components/FormMessage/components/InternalFormMessage/InternalFormMessage.style.ts +17 -16
- package/src/Form/components/FormMessage/components/InternalFormMessage/InternalFormMessage.tsx +2 -1
- package/src/FormatFile/FormatFile.style.ts +16 -15
- package/src/FormatFile/FormatFile.tsx +3 -1
- package/src/FormatFile/components/ErrorIcon/ErrorIcon.style.ts +10 -9
- package/src/FormatFile/components/ErrorIcon/ErrorIcon.tsx +3 -1
- package/src/FormatFile/components/FileView/FileView.style.ts +64 -63
- package/src/FormatFile/components/FileView/FileView.tsx +3 -1
- package/src/FormatFile/components/MediaView/MediaView.style.ts +27 -26
- package/src/FormatFile/components/MediaView/MediaView.tsx +15 -3
- package/src/FormatFile/components/ProgressBar/ProgressBar.style.tsx +15 -14
- package/src/FormatFile/components/ProgressBar/ProgressBar.tsx +3 -1
- package/src/Glimmer/Glimmer.shape.style.ts +16 -15
- package/src/Glimmer/Glimmer.size.style.ts +9 -8
- package/src/Glimmer/Glimmer.style.ts +21 -19
- package/src/Glimmer/Glimmer.tsx +9 -5
- package/src/IconButton/IconButton.style.ts +10 -9
- package/src/IconButton/IconButton.tsx +3 -1
- package/src/InputFieldWrapper/CommonInputStyles.style.ts +31 -5
- package/src/InputFieldWrapper/InputFieldWrapper.style.ts +144 -139
- package/src/InputFieldWrapper/InputFieldWrapper.test.tsx +24 -5
- package/src/InputFieldWrapper/InputFieldWrapper.tsx +5 -2
- package/src/InputFieldWrapper/components/ClearAction/ClearAction.style.ts +25 -24
- package/src/InputFieldWrapper/components/ClearAction/ClearAction.tsx +2 -1
- package/src/InputFieldWrapper/components/Prefix/Prefix.test.tsx +21 -3
- package/src/InputFieldWrapper/components/Prefix/Prefix.tsx +9 -3
- package/src/InputFieldWrapper/components/Suffix/Suffix.tsx +7 -2
- package/src/InputFieldWrapper/index.ts +1 -1
- package/src/InputPressable/InputPressable.style.ts +23 -22
- package/src/InputPressable/InputPressable.tsx +5 -2
- package/src/InputText/InputText.style.ts +24 -23
- package/src/InputText/InputText.test.tsx +11 -1
- package/src/InputText/InputText.tsx +5 -2
- package/src/InputText/context/InputAccessoriesProvider.style.tsx +21 -19
- package/src/InputText/context/InputAccessoriesProvider.tsx +3 -1
- package/src/Menu/Menu.style.ts +13 -12
- package/src/Menu/Menu.test.tsx +1 -1
- package/src/Menu/Menu.tsx +9 -4
- package/src/Menu/components/MenuOption/MenuOption.style.tsx +10 -9
- package/src/Menu/components/MenuOption/MenuOption.tsx +4 -2
- package/src/Menu/components/Overlay/Overlay.style.ts +15 -9
- package/src/Menu/components/Overlay/Overlay.tsx +3 -1
- package/src/Menu/utils.ts +2 -1
- package/src/ProgressBar/ProgressBar.style.ts +36 -35
- package/src/ProgressBar/ProgressBar.test.tsx +6 -20
- package/src/ProgressBar/ProgressBar.tsx +4 -2
- package/src/ProgressBar/ProgressBarInner.tsx +2 -1
- package/src/ProgressBar/ProgressBarStepped.tsx +10 -2
- package/src/Select/Select.style.ts +44 -43
- package/src/Select/Select.tsx +2 -1
- package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.ios.tsx +2 -1
- package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.style.ts +32 -28
- package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.tsx +4 -2
- package/src/Select/components/SelectPressable/SelectPressable.style.ts +7 -6
- package/src/Select/components/SelectPressable/SelectPressable.tsx +2 -2
- package/src/StatusLabel/StatusLabel.style.ts +29 -29
- package/src/StatusLabel/StatusLabel.tsx +9 -4
- package/src/Switch/Switch.styles.ts +20 -19
- package/src/Switch/Switch.tsx +2 -1
- package/src/Switch/components/BaseSwitch/BaseSwitch.tsx +3 -1
- package/src/Text/Text.test.tsx +1 -1
- package/src/Text/Text.tsx +1 -1
- package/src/TextList/TextList.style.ts +16 -15
- package/src/TextList/TextList.tsx +3 -1
- package/src/ThumbnailList/ThumbnailList.style.ts +49 -48
- package/src/ThumbnailList/ThumbnailList.tsx +2 -1
- package/src/Toast/Toast.styles.ts +30 -29
- package/src/Toast/Toast.tsx +10 -6
- package/src/Typography/Typography.style.ts +25 -22
- package/src/Typography/Typography.tsx +3 -1
- package/src/Typography/index.ts +1 -0
- package/src/index.ts +1 -0
- package/src/utils/design/index.ts +5 -0
- package/src/utils/meta/meta.json +1 -0
- package/dist/src/InputText/context/InputAccessory.style.js +0 -16
- package/dist/types/src/InputText/context/InputAccessory.style.d.ts +0 -14
- package/src/InputText/context/InputAccessory.style.ts +0 -17
|
@@ -1,20 +1,39 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
RenderAPI,
|
|
4
|
+
fireEvent,
|
|
5
|
+
render,
|
|
6
|
+
renderHook,
|
|
7
|
+
} from "@testing-library/react-native";
|
|
3
8
|
import { Text, ViewStyle } from "react-native";
|
|
4
9
|
import {
|
|
5
10
|
InputFieldWrapper,
|
|
6
11
|
InputFieldWrapperProps,
|
|
7
|
-
|
|
12
|
+
useCommonInputStyles,
|
|
8
13
|
} from ".";
|
|
9
|
-
import {
|
|
14
|
+
import { useStyles } from "./InputFieldWrapper.style";
|
|
10
15
|
import {
|
|
11
16
|
INPUT_FIELD_WRAPPER_GLIMMERS_TEST_ID,
|
|
12
17
|
INPUT_FIELD_WRAPPER_SPINNER_TEST_ID,
|
|
13
18
|
} from "./InputFieldWrapper";
|
|
14
|
-
import {
|
|
19
|
+
import { useTypographyStyles } from "../Typography";
|
|
15
20
|
|
|
16
21
|
const mockLabel = { label: "$" };
|
|
17
22
|
|
|
23
|
+
let styles: ReturnType<typeof useStyles>;
|
|
24
|
+
let commonInputStyles: ReturnType<typeof useCommonInputStyles>;
|
|
25
|
+
let typographyStyles: ReturnType<typeof useTypographyStyles>;
|
|
26
|
+
|
|
27
|
+
beforeAll(() => {
|
|
28
|
+
const stylesHook = renderHook(() => useStyles());
|
|
29
|
+
const commonInputStylesHook = renderHook(() => useCommonInputStyles());
|
|
30
|
+
const typographyStylesHook = renderHook(() => useTypographyStyles());
|
|
31
|
+
|
|
32
|
+
styles = stylesHook.result.current;
|
|
33
|
+
commonInputStyles = commonInputStylesHook.result.current;
|
|
34
|
+
typographyStyles = typographyStylesHook.result.current;
|
|
35
|
+
});
|
|
36
|
+
|
|
18
37
|
type InputFieldWrapperTestProps = Omit<InputFieldWrapperProps, "children">;
|
|
19
38
|
|
|
20
39
|
function renderInputFieldWrapper(props: InputFieldWrapperTestProps): RenderAPI {
|
|
@@ -159,7 +178,7 @@ describe("InputFieldWrapper", () => {
|
|
|
159
178
|
const styleOverride = {
|
|
160
179
|
container: {
|
|
161
180
|
backgroundColor: "purple",
|
|
162
|
-
width: "50%",
|
|
181
|
+
width: "50%" as const,
|
|
163
182
|
},
|
|
164
183
|
};
|
|
165
184
|
const { getByTestId } = renderInputFieldWrapper({
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
} from "react-native";
|
|
9
9
|
import { FieldError } from "react-hook-form";
|
|
10
10
|
import { IconNames } from "@jobber/design";
|
|
11
|
-
import {
|
|
11
|
+
import { useStyles } from "./InputFieldWrapper.style";
|
|
12
12
|
import { PrefixIcon, PrefixLabel } from "./components/Prefix/Prefix";
|
|
13
13
|
import { SuffixIcon, SuffixLabel } from "./components/Suffix/Suffix";
|
|
14
14
|
import { ClearAction } from "./components/ClearAction";
|
|
15
15
|
import { Glimmer } from "../Glimmer/Glimmer";
|
|
16
16
|
import { ErrorMessageWrapper } from "../ErrorMessageWrapper";
|
|
17
|
-
import { TextVariation,
|
|
17
|
+
import { TextVariation, useTypographyStyles } from "../Typography";
|
|
18
18
|
import { Text } from "../Text";
|
|
19
19
|
import { ActivityIndicator } from "../ActivityIndicator";
|
|
20
20
|
|
|
@@ -145,6 +145,7 @@ export function InputFieldWrapper({
|
|
|
145
145
|
|
|
146
146
|
const showLoadingSpinner = loading && loadingType === "spinner";
|
|
147
147
|
const showLoadingGlimmer = loading && loadingType === "glimmer";
|
|
148
|
+
const styles = useStyles();
|
|
148
149
|
|
|
149
150
|
return (
|
|
150
151
|
<ErrorMessageWrapper message={getMessage({ invalid, error })}>
|
|
@@ -342,6 +343,8 @@ function Placeholder({
|
|
|
342
343
|
readonly labelVariation: TextVariation;
|
|
343
344
|
readonly hasMiniLabel: boolean;
|
|
344
345
|
}) {
|
|
346
|
+
const typographyStyles = useTypographyStyles();
|
|
347
|
+
|
|
345
348
|
return (
|
|
346
349
|
<>
|
|
347
350
|
{!styleOverride ? (
|
|
@@ -1,27 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { tokens } from "../../../utils/design";
|
|
1
|
+
import { buildThemedStyles } from "../../../AtlantisThemeContext";
|
|
3
2
|
|
|
4
|
-
const
|
|
3
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
4
|
+
const width = tokens["space-smaller"] + tokens["space-larger"];
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
6
|
+
return {
|
|
7
|
+
container: {
|
|
8
|
+
width,
|
|
9
|
+
height: "100%",
|
|
10
|
+
flexDirection: "row",
|
|
11
|
+
justifyContent: "center",
|
|
12
|
+
alignItems: "center",
|
|
13
|
+
alignSelf: "center",
|
|
14
|
+
},
|
|
15
|
+
circle: {
|
|
16
|
+
backgroundColor: tokens["color-surface--background"],
|
|
17
|
+
borderRadius: tokens["radius-circle"],
|
|
18
|
+
width: tokens["space-large"],
|
|
19
|
+
height: tokens["space-large"],
|
|
20
|
+
flexDirection: "row",
|
|
21
|
+
justifyContent: "center",
|
|
22
|
+
alignItems: "center",
|
|
23
|
+
},
|
|
24
|
+
addedMargin: {
|
|
25
|
+
marginRight: tokens["space-small"],
|
|
26
|
+
},
|
|
27
|
+
};
|
|
27
28
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Pressable, View } from "react-native";
|
|
3
|
-
import {
|
|
3
|
+
import { useStyles } from "./ClearAction.style";
|
|
4
4
|
import { Icon } from "../../../Icon";
|
|
5
5
|
import { useAtlantisI18n } from "../../../hooks/useAtlantisI18n";
|
|
6
6
|
|
|
@@ -17,6 +17,7 @@ export function ClearAction({
|
|
|
17
17
|
hasMarginRight = false,
|
|
18
18
|
}: ClearActionProps): JSX.Element {
|
|
19
19
|
const { t } = useAtlantisI18n();
|
|
20
|
+
const styles = useStyles();
|
|
20
21
|
|
|
21
22
|
return (
|
|
22
23
|
<Pressable
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { render } from "@testing-library/react-native";
|
|
2
|
+
import { render, renderHook } from "@testing-library/react-native";
|
|
3
3
|
import { TextStyle } from "react-native";
|
|
4
4
|
import { ReactTestInstance } from "react-test-renderer";
|
|
5
5
|
import {
|
|
@@ -10,8 +10,11 @@ import {
|
|
|
10
10
|
prefixIconTestId,
|
|
11
11
|
prefixLabelTestId,
|
|
12
12
|
} from "./Prefix";
|
|
13
|
-
import {
|
|
14
|
-
|
|
13
|
+
import {
|
|
14
|
+
typographyStyles as staticStyles,
|
|
15
|
+
useTypographyStyles,
|
|
16
|
+
} from "../../../Typography";
|
|
17
|
+
import { useStyles } from "../../InputFieldWrapper.style";
|
|
15
18
|
import { tokens } from "../../../utils/design";
|
|
16
19
|
import * as IconComponent from "../../../Icon/Icon";
|
|
17
20
|
|
|
@@ -19,6 +22,19 @@ const iconSpy = jest.spyOn(IconComponent, "Icon");
|
|
|
19
22
|
|
|
20
23
|
const mockLabel = "$";
|
|
21
24
|
|
|
25
|
+
let styles: ReturnType<typeof useStyles>;
|
|
26
|
+
let typographyStyles: ReturnType<typeof useTypographyStyles>;
|
|
27
|
+
|
|
28
|
+
beforeAll(() => {
|
|
29
|
+
const stylesHook = renderHook(() => useStyles());
|
|
30
|
+
const typographyStylesHook = renderHook(() => useTypographyStyles());
|
|
31
|
+
|
|
32
|
+
styles = stylesHook.result.current;
|
|
33
|
+
typographyStyles = typographyStylesHook.result.current;
|
|
34
|
+
console.log(typographyStyles.defaultSize);
|
|
35
|
+
console.log(staticStyles.defaultSize);
|
|
36
|
+
});
|
|
37
|
+
|
|
22
38
|
function setupLabel({
|
|
23
39
|
disabled = false,
|
|
24
40
|
focused = false,
|
|
@@ -156,6 +172,8 @@ describe("Prefix", () => {
|
|
|
156
172
|
disabled: true,
|
|
157
173
|
});
|
|
158
174
|
const prefixLabel = tree.getByText(mockLabel);
|
|
175
|
+
// console.log(tree.debug());
|
|
176
|
+
console.log(prefixLabel.props.style);
|
|
159
177
|
const expectedStyle = [
|
|
160
178
|
typographyStyles.baseRegularRegular,
|
|
161
179
|
typographyStyles.disabled,
|
|
@@ -9,9 +9,9 @@ import {
|
|
|
9
9
|
import { IconNames } from "@jobber/design";
|
|
10
10
|
import { Icon } from "../../../Icon";
|
|
11
11
|
import { Text } from "../../../Text";
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
12
|
+
import { useAtlantisTheme } from "../../../AtlantisThemeContext";
|
|
13
|
+
import { useTypographyStyles } from "../../../Typography";
|
|
14
|
+
import { useStyles } from "../../InputFieldWrapper.style";
|
|
15
15
|
|
|
16
16
|
export interface PrefixLabelProps {
|
|
17
17
|
readonly focused: boolean;
|
|
@@ -33,6 +33,9 @@ export function PrefixLabel({
|
|
|
33
33
|
label,
|
|
34
34
|
styleOverride,
|
|
35
35
|
}: PrefixLabelProps): JSX.Element {
|
|
36
|
+
const styles = useStyles();
|
|
37
|
+
const typographyStyles = useTypographyStyles();
|
|
38
|
+
|
|
36
39
|
return (
|
|
37
40
|
<View
|
|
38
41
|
style={[
|
|
@@ -81,6 +84,9 @@ export function PrefixIcon({
|
|
|
81
84
|
inputInvalid,
|
|
82
85
|
icon,
|
|
83
86
|
}: PrefixIconProps): JSX.Element {
|
|
87
|
+
const styles = useStyles();
|
|
88
|
+
const { tokens } = useAtlantisTheme();
|
|
89
|
+
|
|
84
90
|
return (
|
|
85
91
|
<View
|
|
86
92
|
testID={prefixIconTestId}
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
View,
|
|
8
8
|
} from "react-native";
|
|
9
9
|
import { IconNames } from "@jobber/design";
|
|
10
|
-
import { tokens } from "../../../utils/design";
|
|
11
10
|
import { Icon } from "../../../Icon";
|
|
12
11
|
import { Text } from "../../../Text";
|
|
13
12
|
import { typographyStyles } from "../../../Typography";
|
|
14
|
-
import {
|
|
13
|
+
import { useAtlantisTheme } from "../../../AtlantisThemeContext";
|
|
14
|
+
import { useStyles } from "../../InputFieldWrapper.style";
|
|
15
15
|
|
|
16
16
|
export interface SuffixLabelProps {
|
|
17
17
|
readonly focused: boolean;
|
|
@@ -35,6 +35,8 @@ export function SuffixLabel({
|
|
|
35
35
|
hasLeftMargin = true,
|
|
36
36
|
styleOverride,
|
|
37
37
|
}: SuffixLabelProps): JSX.Element {
|
|
38
|
+
const styles = useStyles();
|
|
39
|
+
|
|
38
40
|
return (
|
|
39
41
|
<View
|
|
40
42
|
testID={suffixLabelTestId}
|
|
@@ -87,6 +89,9 @@ export function SuffixIcon({
|
|
|
87
89
|
hasLeftMargin = false,
|
|
88
90
|
onPress,
|
|
89
91
|
}: SuffixIconProps): JSX.Element {
|
|
92
|
+
const styles = useStyles();
|
|
93
|
+
const { tokens } = useAtlantisTheme();
|
|
94
|
+
|
|
90
95
|
return (
|
|
91
96
|
<View
|
|
92
97
|
testID={suffixIconTestId}
|
|
@@ -1,29 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { StyleSheet } from "react-native";
|
|
1
|
+
import { buildThemedStyles } from "../AtlantisThemeContext";
|
|
3
2
|
import { typographyStyles } from "../Typography/Typography.style";
|
|
4
3
|
|
|
5
|
-
export const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
5
|
+
return {
|
|
6
|
+
pressable: {
|
|
7
|
+
flex: 1,
|
|
8
|
+
},
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
inputPressableStyles: {
|
|
11
|
+
paddingTop:
|
|
12
|
+
(typographyStyles.defaultSize.fontSize || 0) +
|
|
13
|
+
tokens["space-small"] +
|
|
14
|
+
tokens["space-smaller"],
|
|
15
|
+
lineHeight: typographyStyles.defaultSize.lineHeight,
|
|
16
|
+
},
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
inputEmpty: {
|
|
19
|
+
paddingTop: 0,
|
|
20
|
+
},
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
inputDisabled: {
|
|
23
|
+
color: typographyStyles.disabled.color,
|
|
24
|
+
},
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
inputInvalid: {
|
|
27
|
+
borderColor: tokens["color-critical"],
|
|
28
|
+
},
|
|
29
|
+
};
|
|
29
30
|
});
|
|
@@ -4,8 +4,8 @@ import { FieldError } from "react-hook-form";
|
|
|
4
4
|
import { Text as NativeText, Pressable } from "react-native";
|
|
5
5
|
import { Clearable, useShowClear } from "@jobber/hooks";
|
|
6
6
|
import { XOR } from "ts-xor";
|
|
7
|
-
import {
|
|
8
|
-
import { InputFieldWrapper,
|
|
7
|
+
import { useStyles } from "./InputPressable.style";
|
|
8
|
+
import { InputFieldWrapper, useCommonInputStyles } from "../InputFieldWrapper";
|
|
9
9
|
|
|
10
10
|
interface BasicSuffix {
|
|
11
11
|
icon?: IconNames;
|
|
@@ -129,6 +129,9 @@ export function InputPressableInternal(
|
|
|
129
129
|
disabled,
|
|
130
130
|
});
|
|
131
131
|
|
|
132
|
+
const styles = useStyles();
|
|
133
|
+
const commonInputStyles = useCommonInputStyles();
|
|
134
|
+
|
|
132
135
|
return (
|
|
133
136
|
<InputFieldWrapper
|
|
134
137
|
prefix={prefix}
|
|
@@ -1,29 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { tokens } from "../utils/design";
|
|
1
|
+
import { buildThemedStyles } from "../AtlantisThemeContext";
|
|
3
2
|
import { typographyStyles } from "../Typography";
|
|
4
3
|
|
|
5
|
-
export const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
5
|
+
return {
|
|
6
|
+
inputPaddingTop: {
|
|
7
|
+
paddingTop:
|
|
8
|
+
(typographyStyles.smallSize.fontSize || 0) +
|
|
9
|
+
tokens["space-smaller"] +
|
|
10
|
+
tokens["space-smallest"],
|
|
11
|
+
},
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
multiLineInput: {
|
|
14
|
+
paddingTop: 0,
|
|
15
|
+
lineHeight: typographyStyles.defaultSize.lineHeight,
|
|
16
|
+
paddingRight: tokens["space-base"] - tokens["space-smallest"],
|
|
17
|
+
},
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
multiLineInputWithMini: {
|
|
20
|
+
paddingTop: tokens["space-large"] + tokens["space-smallest"],
|
|
21
|
+
paddingBottom: tokens["space-small"] - tokens["space-smallest"],
|
|
22
|
+
},
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
multilineInputiOS: {
|
|
25
|
+
// for placeholder
|
|
26
|
+
paddingTop:
|
|
27
|
+
(typographyStyles.defaultSize.fontSize || 0) + tokens["space-smallest"],
|
|
28
|
+
},
|
|
29
|
+
};
|
|
29
30
|
});
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
RenderAPI,
|
|
4
4
|
fireEvent,
|
|
5
5
|
render,
|
|
6
|
+
renderHook,
|
|
6
7
|
waitFor,
|
|
7
8
|
} from "@testing-library/react-native";
|
|
8
9
|
import { Platform, TextStyle } from "react-native";
|
|
@@ -12,7 +13,7 @@ import { InputAccessoriesProvider } from "./context";
|
|
|
12
13
|
import {
|
|
13
14
|
Clearable,
|
|
14
15
|
InputFieldWrapperProps,
|
|
15
|
-
|
|
16
|
+
useCommonInputStyles,
|
|
16
17
|
} from "../InputFieldWrapper";
|
|
17
18
|
|
|
18
19
|
const MockInputFieldWrapper = jest.fn();
|
|
@@ -40,6 +41,15 @@ function renderInputText(props: InputTextProps): RenderAPI {
|
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
const clearInput = "Clear input";
|
|
44
|
+
|
|
45
|
+
let commonInputStyles: ReturnType<typeof useCommonInputStyles>;
|
|
46
|
+
|
|
47
|
+
beforeAll(() => {
|
|
48
|
+
const commonInputStylesHook = renderHook(() => useCommonInputStyles());
|
|
49
|
+
|
|
50
|
+
commonInputStyles = commonInputStylesHook.result.current;
|
|
51
|
+
});
|
|
52
|
+
|
|
43
53
|
// eslint-disable-next-line max-statements
|
|
44
54
|
describe("InputText", () => {
|
|
45
55
|
describe("InputFieldWrapper gets the expected props", () => {
|
|
@@ -22,7 +22,7 @@ import { RegisterOptions } from "react-hook-form";
|
|
|
22
22
|
import { IconNames } from "@jobber/design";
|
|
23
23
|
import identity from "lodash/identity";
|
|
24
24
|
import { Clearable, useShowClear } from "@jobber/hooks";
|
|
25
|
-
import {
|
|
25
|
+
import { useStyles } from "./InputText.style";
|
|
26
26
|
import { useInputAccessoriesContext } from "./context";
|
|
27
27
|
import { useFormController } from "../hooks";
|
|
28
28
|
import {
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
InputFieldWrapperProps,
|
|
31
31
|
} from "../InputFieldWrapper/InputFieldWrapper";
|
|
32
32
|
import { InputFieldWrapper } from "../InputFieldWrapper";
|
|
33
|
-
import {
|
|
33
|
+
import { useCommonInputStyles } from "../InputFieldWrapper/CommonInputStyles.style";
|
|
34
34
|
|
|
35
35
|
export interface InputTextProps
|
|
36
36
|
extends Pick<
|
|
@@ -363,6 +363,9 @@ function InputTextInternal(
|
|
|
363
363
|
onFocusNext();
|
|
364
364
|
}
|
|
365
365
|
|
|
366
|
+
const styles = useStyles();
|
|
367
|
+
const commonInputStyles = useCommonInputStyles();
|
|
368
|
+
|
|
366
369
|
return (
|
|
367
370
|
<InputFieldWrapper
|
|
368
371
|
prefix={prefix}
|
|
@@ -1,23 +1,25 @@
|
|
|
1
|
-
import { PlatformColor
|
|
2
|
-
import {
|
|
1
|
+
import { PlatformColor } from "react-native";
|
|
2
|
+
import { buildThemedStyles } from "../../AtlantisThemeContext";
|
|
3
3
|
|
|
4
4
|
const BAR_HEIGHT = 44;
|
|
5
5
|
|
|
6
|
-
export const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
6
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
7
|
+
return {
|
|
8
|
+
container: {
|
|
9
|
+
flexDirection: "row",
|
|
10
|
+
justifyContent: "flex-end",
|
|
11
|
+
alignItems: "center",
|
|
12
|
+
paddingHorizontal: tokens["space-small"],
|
|
13
|
+
borderTopWidth: tokens["space-minuscule"],
|
|
14
|
+
borderTopColor: tokens["color-border"],
|
|
15
|
+
height: BAR_HEIGHT,
|
|
16
|
+
},
|
|
17
|
+
lightTheme: {
|
|
18
|
+
backgroundColor: tokens["color-surface--background"],
|
|
19
|
+
},
|
|
20
|
+
darkTheme: {
|
|
21
|
+
// PlatformColor has to be conditional for Storybook to run without error
|
|
22
|
+
backgroundColor: PlatformColor?.("systemGray3"),
|
|
23
|
+
},
|
|
24
|
+
};
|
|
23
25
|
});
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "react-native";
|
|
10
10
|
import { v4 } from "react-native-uuid";
|
|
11
11
|
import { InputAccessoriesContext } from "./InputAccessoriesContext";
|
|
12
|
-
import {
|
|
12
|
+
import { useStyles } from "./InputAccessoriesProvider.style";
|
|
13
13
|
|
|
14
14
|
export function InputAccessoriesProvider({
|
|
15
15
|
children,
|
|
@@ -30,6 +30,8 @@ export function InputAccessoriesProvider({
|
|
|
30
30
|
|
|
31
31
|
const colorScheme = useColorScheme();
|
|
32
32
|
|
|
33
|
+
const styles = useStyles();
|
|
34
|
+
|
|
33
35
|
return (
|
|
34
36
|
<InputAccessoriesContext.Provider
|
|
35
37
|
value={{
|
package/src/Menu/Menu.style.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { tokens } from "../utils/design";
|
|
1
|
+
import { buildThemedStyles } from "../AtlantisThemeContext";
|
|
3
2
|
|
|
4
3
|
const menuWidth = 208;
|
|
5
4
|
|
|
6
|
-
export const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
5
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
6
|
+
return {
|
|
7
|
+
menu: {
|
|
8
|
+
position: "absolute",
|
|
9
|
+
backgroundColor: tokens["color-surface"],
|
|
10
|
+
paddingHorizontal: tokens["space-small"],
|
|
11
|
+
paddingVertical: tokens["space-small"] + tokens["space-smallest"],
|
|
12
|
+
borderRadius: tokens["radius-base"],
|
|
13
|
+
width: menuWidth,
|
|
14
|
+
...tokens["shadow-high"],
|
|
15
|
+
},
|
|
16
|
+
};
|
|
16
17
|
});
|
package/src/Menu/Menu.test.tsx
CHANGED
|
@@ -2,8 +2,8 @@ import React from "react";
|
|
|
2
2
|
import { fireEvent, render } from "@testing-library/react-native";
|
|
3
3
|
import { Host } from "react-native-portalize";
|
|
4
4
|
import { View } from "react-native";
|
|
5
|
-
import { tokens } from "@jobber/design/foundation";
|
|
6
5
|
import { Menu, MenuOptionProps, MenuProps } from ".";
|
|
6
|
+
import { tokens } from "../utils/design";
|
|
7
7
|
import { Icon } from "../Icon";
|
|
8
8
|
import { Button } from "../Button";
|
|
9
9
|
|
package/src/Menu/Menu.tsx
CHANGED
|
@@ -9,16 +9,16 @@ import {
|
|
|
9
9
|
} from "react-native";
|
|
10
10
|
import { Portal } from "react-native-portalize";
|
|
11
11
|
import { useSafeAreaFrame } from "react-native-safe-area-context";
|
|
12
|
-
import {
|
|
12
|
+
import { useStyles } from "./Menu.style";
|
|
13
13
|
import { findViewpoint } from "./utils";
|
|
14
14
|
import { MenuProps } from "./types";
|
|
15
15
|
import { MenuOption } from "./components/MenuOption";
|
|
16
16
|
import { Overlay } from "./components/Overlay";
|
|
17
|
-
import { tokens } from "../utils/design";
|
|
18
17
|
import { Button } from "../Button";
|
|
19
18
|
import { Content } from "../Content";
|
|
20
19
|
import { useAtlantisContext } from "../AtlantisContext";
|
|
21
20
|
import { useAtlantisI18n } from "../hooks/useAtlantisI18n";
|
|
21
|
+
import { useAtlantisTheme } from "../AtlantisThemeContext";
|
|
22
22
|
|
|
23
23
|
export function Menu({ menuOptions, customActivator }: MenuProps): JSX.Element {
|
|
24
24
|
const [open, setOpen] = useState<boolean>(false);
|
|
@@ -28,12 +28,15 @@ export function Menu({ menuOptions, customActivator }: MenuProps): JSX.Element {
|
|
|
28
28
|
const screenInfo = useScreenInformation();
|
|
29
29
|
|
|
30
30
|
const { t } = useAtlantisI18n();
|
|
31
|
+
const styles = useStyles();
|
|
31
32
|
|
|
32
33
|
const findMenuLayout = useCallback(() => {
|
|
33
34
|
if (activatorLayout.current) {
|
|
34
|
-
setMenuPosition(
|
|
35
|
+
setMenuPosition(
|
|
36
|
+
findViewpoint(screenInfo, activatorLayout.current, styles),
|
|
37
|
+
);
|
|
35
38
|
}
|
|
36
|
-
}, [screenInfo, activatorLayout]);
|
|
39
|
+
}, [screenInfo, activatorLayout, styles]);
|
|
37
40
|
|
|
38
41
|
const openMenu = () => {
|
|
39
42
|
menuButtonRef.current?.measureInWindow(
|
|
@@ -63,6 +66,8 @@ export function Menu({ menuOptions, customActivator }: MenuProps): JSX.Element {
|
|
|
63
66
|
}
|
|
64
67
|
};
|
|
65
68
|
|
|
69
|
+
const { tokens } = useAtlantisTheme();
|
|
70
|
+
|
|
66
71
|
return (
|
|
67
72
|
<>
|
|
68
73
|
<View
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { tokens } from "../../../utils/design";
|
|
1
|
+
import { buildThemedStyles } from "../../../AtlantisThemeContext";
|
|
3
2
|
|
|
4
|
-
export const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
4
|
+
return {
|
|
5
|
+
menuOption: {
|
|
6
|
+
display: "flex",
|
|
7
|
+
paddingHorizontal: tokens["space-base"],
|
|
8
|
+
paddingVertical: tokens["space-small"],
|
|
9
|
+
borderRadius: tokens["radius-large"],
|
|
10
|
+
},
|
|
11
|
+
};
|
|
11
12
|
});
|