@jobber/components-native 0.77.0 → 0.78.0
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/buildThemedStyles.js +38 -0
- package/dist/src/AtlantisThemeContext/index.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 +27 -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 +30 -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 +32 -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 +55 -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.styles.js +2 -2
- 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 +47 -33
- package/dist/src/InputFieldWrapper/InputFieldWrapper.js +4 -2
- package/dist/src/InputFieldWrapper/InputFieldWrapper.style.js +121 -116
- 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 +7 -3
- package/dist/src/InputFieldWrapper/index.js +1 -1
- package/dist/src/InputPressable/InputPressable.js +4 -2
- package/dist/src/InputPressable/InputPressable.style.js +24 -22
- package/dist/src/InputText/InputText.js +4 -2
- package/dist/src/InputText/InputText.style.js +23 -22
- 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 +5 -3
- 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 +48 -45
- package/dist/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.js +2 -1
- 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 +15 -13
- package/dist/src/Typography/Typography.style.js +16 -21
- package/dist/src/Typography/index.js +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/buildThemedStyles.d.ts +32 -0
- package/dist/types/src/AtlantisThemeContext/index.d.ts +1 -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 -1
- 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.styles.d.ts +1 -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 +10 -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 +1 -1
- 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 +3 -38
- 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 +7 -11
- package/dist/types/src/Typography/index.d.ts +1 -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 +2 -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/buildThemedStyles.test.tsx +57 -0
- package/src/AtlantisThemeContext/buildThemedStyles.ts +43 -0
- package/src/AtlantisThemeContext/index.ts +1 -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 +30 -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 +32 -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 +57 -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.styles.tsx +2 -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 +65 -38
- package/src/InputFieldWrapper/InputFieldWrapper.style.ts +144 -138
- 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 +14 -3
- package/src/InputFieldWrapper/components/Prefix/Prefix.tsx +9 -3
- package/src/InputFieldWrapper/components/Suffix/Suffix.test.tsx +9 -2
- package/src/InputFieldWrapper/components/Suffix/Suffix.tsx +9 -3
- package/src/InputFieldWrapper/index.ts +4 -1
- package/src/InputPressable/InputPressable.style.ts +26 -23
- package/src/InputPressable/InputPressable.tsx +5 -2
- package/src/InputText/InputText.style.ts +26 -24
- 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 +10 -8
- 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 +52 -48
- package/src/Select/Select.tsx +2 -1
- package/src/Select/components/SelectDefaultPicker/SelectDefaultPicker.tsx +2 -1
- 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 +26 -23
- package/src/Typography/Typography.tsx +23 -10
- package/src/Typography/index.ts +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
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components-native",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.78.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "React Native implementation of Atlantis",
|
|
6
6
|
"repository": {
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"react-native-safe-area-context": "^4.5.2",
|
|
81
81
|
"react-native-svg": ">=12.0.0"
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "b9eb8377a6592eeb4443a8d8b4424135fd4d8c92"
|
|
84
84
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { View } from "react-native";
|
|
3
|
-
import {
|
|
3
|
+
import { useStyles } from "./ActionItem.style";
|
|
4
4
|
import { ActionItemContainer } from "./components/ActionItemContainer";
|
|
5
5
|
import { Typography } from "../Typography";
|
|
6
6
|
import { Icon } from "../Icon";
|
|
@@ -8,6 +8,7 @@ export function ActionItem({ title, icon, iconColor, children, actionIcon = "edi
|
|
|
8
8
|
const actionIconStyle = {
|
|
9
9
|
justifyContent: actionIconAlignment,
|
|
10
10
|
};
|
|
11
|
+
const styles = useStyles();
|
|
11
12
|
const addIconOffset = icon || onPress ? styles.offsetForIcons : undefined;
|
|
12
13
|
const titlePadding = children ? styles.titlePadding : undefined;
|
|
13
14
|
return (React.createElement(ActionItemContainer, { onPress: onPress, testID: testID, title: title },
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
import { buildThemedStyles } from "../AtlantisThemeContext";
|
|
2
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
3
|
+
return {
|
|
4
|
+
actionItemHorizontalOffset: {
|
|
5
|
+
paddingHorizontal: tokens["space-base"],
|
|
6
|
+
},
|
|
7
|
+
icon: {
|
|
8
|
+
justifyContent: "flex-start",
|
|
9
|
+
paddingRight: tokens["space-small"],
|
|
10
|
+
},
|
|
11
|
+
titlePadding: {
|
|
12
|
+
paddingBottom: tokens["space-smaller"],
|
|
13
|
+
},
|
|
14
|
+
content: {
|
|
15
|
+
flex: 1,
|
|
16
|
+
},
|
|
17
|
+
offsetForIcons: {
|
|
18
|
+
paddingTop: tokens["space-smallest"],
|
|
19
|
+
},
|
|
20
|
+
actionIcon: {
|
|
21
|
+
paddingLeft: tokens["space-small"],
|
|
22
|
+
},
|
|
23
|
+
};
|
|
23
24
|
});
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { View } from "react-native";
|
|
3
|
-
import {
|
|
3
|
+
import { useStyles } from "./ActionItem.style";
|
|
4
4
|
import { Divider } from "../Divider";
|
|
5
5
|
export function ActionItemGroup({ children, }) {
|
|
6
6
|
return React.createElement(View, null, renderChildren(children));
|
|
7
7
|
}
|
|
8
8
|
function renderChildren(children) {
|
|
9
|
+
const styles = useStyles();
|
|
9
10
|
const childArray = React.Children.toArray(children);
|
|
10
11
|
if (childArray.length === 1)
|
|
11
12
|
return children;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Pressable, View } from "react-native";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useStyles } from "./ActionItemContainer.style";
|
|
4
|
+
import { useStyles as useActionItemStyles } from "../ActionItem.style";
|
|
5
5
|
export function ActionItemContainer({ onPress, title, children, testID, }) {
|
|
6
|
+
const styles = useStyles();
|
|
7
|
+
const actionItemStyles = useActionItemStyles();
|
|
6
8
|
if (onPress) {
|
|
7
9
|
return (React.createElement(Pressable, { onPress: onPress, style: ({ pressed }) => [
|
|
8
10
|
styles.container,
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { buildThemedStyles } from "../../AtlantisThemeContext";
|
|
2
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
3
|
+
return {
|
|
4
|
+
container: {
|
|
5
|
+
width: "100%",
|
|
6
|
+
flexDirection: "row",
|
|
7
|
+
paddingVertical: tokens["space-base"],
|
|
8
|
+
},
|
|
9
|
+
pressed: {
|
|
10
|
+
opacity: tokens["opacity-pressed"],
|
|
11
|
+
},
|
|
12
|
+
};
|
|
12
13
|
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ActivityIndicator } from "react-native";
|
|
3
|
-
import {
|
|
3
|
+
import { useAtlantisTheme } from "../AtlantisThemeContext";
|
|
4
4
|
export function JobberActivityIndicator(props) {
|
|
5
|
+
const { tokens } = useAtlantisTheme();
|
|
5
6
|
return (React.createElement(ActivityIndicator, Object.assign({}, props, { color: props.color || tokens["color-greyBlue"], testID: props.testID || "ActivityIndicator" })));
|
|
6
7
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { StyleSheet } from "react-native";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import { useAtlantisTheme } from "./AtlantisThemeContext";
|
|
4
|
+
/**
|
|
5
|
+
* Creates a hook that generates themed styles using the current theme tokens.
|
|
6
|
+
* The hook will automatically update the styles when the theme changes.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* const useStyles = buildThemedStyles(tokens => ({
|
|
11
|
+
* container: {
|
|
12
|
+
* backgroundColor: tokens["color-surface"],
|
|
13
|
+
* padding: tokens["space-base"],
|
|
14
|
+
* },
|
|
15
|
+
* }));
|
|
16
|
+
*
|
|
17
|
+
* function MyComponent() {
|
|
18
|
+
* const styles = useStyles();
|
|
19
|
+
* return <View style={styles.container} />;
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @param styleFactory - A function that receives theme tokens and returns a style object
|
|
24
|
+
* @returns A hook function that returns the created styles
|
|
25
|
+
*
|
|
26
|
+
* @note
|
|
27
|
+
* - Styles are memoized and only recalculated when tokens change
|
|
28
|
+
* - Use this for components that need to respond to theme changes
|
|
29
|
+
* - The returned styles are created using StyleSheet.create()
|
|
30
|
+
*
|
|
31
|
+
* @see Related functions: {@link useAtlantisTheme}
|
|
32
|
+
*/
|
|
33
|
+
export function buildThemedStyles(styleFactory) {
|
|
34
|
+
return function useStyles() {
|
|
35
|
+
const { tokens } = useAtlantisTheme();
|
|
36
|
+
return useMemo(() => StyleSheet.create(styleFactory(tokens)), [tokens]);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
@@ -14,10 +14,11 @@ import { Text as RNText } from "react-native";
|
|
|
14
14
|
import { ComposeTextWithLinks } from "./components";
|
|
15
15
|
import { useCreateLinkedText } from "./hooks/useCreateLinkedText";
|
|
16
16
|
import { TypographyGestureDetector } from "../Typography";
|
|
17
|
-
import {
|
|
17
|
+
import { useAtlantisTheme } from "../AtlantisThemeContext";
|
|
18
18
|
export function AutoLink(_a) {
|
|
19
19
|
var { children: text = "", bottomTabsVisible = true, selectable = true } = _a, rest = __rest(_a, ["children", "bottomTabsVisible", "selectable"]);
|
|
20
20
|
const { splitText, matches } = useCreateLinkedText(Object.assign({ text }, rest));
|
|
21
|
+
const { tokens } = useAtlantisTheme();
|
|
21
22
|
return (React.createElement(TypographyGestureDetector, null,
|
|
22
23
|
React.createElement(RNText, { selectable: selectable, selectionColor: tokens["color-brand--highlight"] }, splitText.map((part, index) => (React.createElement(ComposeTextWithLinks, { key: index, part: part, index: index, match: matches[part], bottomTabsVisible: bottomTabsVisible, selectable: selectable }))))));
|
|
23
24
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { Pressable, Text as RNText, View } from "react-native";
|
|
3
|
-
import {
|
|
3
|
+
import { useStyles } from "./Banner.style";
|
|
4
4
|
import { BannerIcon } from "./components/BannerIcon/BannerIcon";
|
|
5
5
|
import { Content } from "../Content";
|
|
6
6
|
import { Text } from "../Text";
|
|
@@ -11,13 +11,14 @@ export function Banner({ action, details, text, type, children, icon, }) {
|
|
|
11
11
|
const bannerIcon = icon || getBannerIcon(type);
|
|
12
12
|
const shouldFlow = Boolean(React.Children.count(children) === 1 && !text && !details) ||
|
|
13
13
|
Boolean(text && !details && !children);
|
|
14
|
+
const styles = useStyles();
|
|
14
15
|
return (React.createElement(Pressable, { style: [styles.container], accessibilityRole: "alert", onPress: action === null || action === void 0 ? void 0 : action.onPress },
|
|
15
16
|
React.createElement(Content, { childSpacing: "small" },
|
|
16
17
|
React.createElement(View, { style: styles.bannerContent },
|
|
17
18
|
bannerIcon && React.createElement(BannerIcon, { icon: bannerIcon, type: type }),
|
|
18
19
|
React.createElement(View, { style: styles.contentContainer },
|
|
19
20
|
React.createElement(View, { style: styles.childrenContainer },
|
|
20
|
-
React.createElement(WrappingElement, { shouldFlow: shouldFlow },
|
|
21
|
+
React.createElement(WrappingElement, { shouldFlow: shouldFlow, styles: styles },
|
|
21
22
|
React.createElement(BannerChildren, null, children),
|
|
22
23
|
text && React.createElement(Text, { level: "text" }, text),
|
|
23
24
|
details && React.createElement(TextList, { items: details, level: "text" }),
|
|
@@ -33,7 +34,7 @@ function BannerChildren({ children }) {
|
|
|
33
34
|
}
|
|
34
35
|
return React.createElement(React.Fragment, null, children);
|
|
35
36
|
}
|
|
36
|
-
function WrappingElement({ shouldFlow, children, }) {
|
|
37
|
+
function WrappingElement({ shouldFlow, children, styles, }) {
|
|
37
38
|
if (shouldFlow) {
|
|
38
39
|
return React.createElement(RNText, { testID: "ATL-Banner-RNText" }, children);
|
|
39
40
|
}
|
|
@@ -1,34 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
1
|
+
import { buildThemedStyles } from "../AtlantisThemeContext";
|
|
2
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
3
|
+
return {
|
|
4
|
+
container: {
|
|
5
|
+
width: "100%",
|
|
6
|
+
borderColor: tokens["color-border"],
|
|
7
|
+
borderStyle: "solid",
|
|
8
|
+
borderBottomWidth: tokens["border-base"],
|
|
9
|
+
backgroundColor: tokens["color-surface"],
|
|
10
|
+
},
|
|
11
|
+
bannerContent: {
|
|
12
|
+
flexDirection: "row",
|
|
13
|
+
alignItems: "flex-start",
|
|
14
|
+
gap: tokens["space-small"] + tokens["space-smaller"],
|
|
15
|
+
},
|
|
16
|
+
contentContainer: {
|
|
17
|
+
flex: 1,
|
|
18
|
+
},
|
|
19
|
+
childrenContainer: {
|
|
20
|
+
marginTop: tokens["space-smallest"],
|
|
21
|
+
},
|
|
22
|
+
textContainer: {
|
|
23
|
+
marginTop: tokens["space-minuscule"],
|
|
24
|
+
},
|
|
25
|
+
fullWidth: {
|
|
26
|
+
width: "100%",
|
|
27
|
+
},
|
|
28
|
+
bannerChildrenContent: {
|
|
29
|
+
marginBottom: tokens["space-small"],
|
|
30
|
+
},
|
|
31
|
+
contentSpacing: {
|
|
32
|
+
gap: tokens["space-small"],
|
|
33
|
+
},
|
|
34
|
+
};
|
|
34
35
|
});
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { View } from "react-native";
|
|
3
|
-
import {
|
|
3
|
+
import { useStyles } from "./BannerIcon.style";
|
|
4
4
|
import { Icon } from "../../../Icon";
|
|
5
5
|
export function BannerIcon({ icon, type }) {
|
|
6
|
+
const styles = useStyles();
|
|
6
7
|
return (React.createElement(View, { style: [styles.bannerIcon, styles[type]], testID: "ATL-Banner-Icon" },
|
|
7
8
|
React.createElement(Icon, { name: icon, color: "white", size: "small" })));
|
|
8
9
|
}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { buildThemedStyles } from "../../../AtlantisThemeContext";
|
|
2
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
3
|
+
return {
|
|
4
|
+
bannerIcon: {
|
|
5
|
+
borderRadius: tokens["radius-circle"],
|
|
6
|
+
padding: tokens["space-smaller"],
|
|
7
|
+
},
|
|
8
|
+
error: {
|
|
9
|
+
backgroundColor: tokens["color-destructive"],
|
|
10
|
+
},
|
|
11
|
+
warning: {
|
|
12
|
+
backgroundColor: tokens["color-warning"],
|
|
13
|
+
},
|
|
14
|
+
notice: {
|
|
15
|
+
backgroundColor: tokens["color-informative"],
|
|
16
|
+
},
|
|
17
|
+
};
|
|
17
18
|
});
|
|
@@ -3,7 +3,7 @@ import { Modalize } from "react-native-modalize";
|
|
|
3
3
|
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
4
4
|
import { Keyboard, View } from "react-native";
|
|
5
5
|
import { BottomSheetOption } from "./components/BottomSheetOption";
|
|
6
|
-
import {
|
|
6
|
+
import { useStyles } from "./BottomSheet.style";
|
|
7
7
|
import { useIsScreenReaderEnabled } from "../hooks";
|
|
8
8
|
import { Divider } from "../Divider";
|
|
9
9
|
import { Heading } from "../Heading";
|
|
@@ -12,12 +12,13 @@ export const BottomSheet = forwardRef(BottomSheetInternal);
|
|
|
12
12
|
function BottomSheetInternal({ children, showCancel, loading = false, heading, onOpen, onClose, }, ref) {
|
|
13
13
|
const isScreenReaderEnabled = useIsScreenReaderEnabled();
|
|
14
14
|
const [open, setOpen] = useState(false);
|
|
15
|
+
const styles = useStyles();
|
|
15
16
|
return (React.createElement(React.Fragment, null,
|
|
16
|
-
open && React.createElement(Overlay,
|
|
17
|
-
React.createElement(Modalize, { ref: ref, adjustToContentHeight: true, modalStyle: styles.modal, overlayStyle: styles.overlayModalize, HeaderComponent: heading && React.createElement(Header, { heading: heading }), FooterComponent: React.createElement(Footer, { cancellable: (showCancel && !loading) || isScreenReaderEnabled, onCancel: () => {
|
|
17
|
+
open && React.createElement(Overlay, { styles: styles }),
|
|
18
|
+
React.createElement(Modalize, { ref: ref, adjustToContentHeight: true, modalStyle: styles.modal, overlayStyle: styles.overlayModalize, HeaderComponent: heading && React.createElement(Header, { heading: heading, styles: styles }), FooterComponent: React.createElement(Footer, { cancellable: (showCancel && !loading) || isScreenReaderEnabled, onCancel: () => {
|
|
18
19
|
var _a;
|
|
19
20
|
(_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.close();
|
|
20
|
-
} }), withHandle: false, withReactModal: isScreenReaderEnabled, onOpen: openModal, onClose: closeModal },
|
|
21
|
+
}, styles: styles }), withHandle: false, withReactModal: isScreenReaderEnabled, onOpen: openModal, onClose: closeModal },
|
|
21
22
|
React.createElement(View, { style: !showCancel && !isScreenReaderEnabled ? styles.children : undefined }, children))));
|
|
22
23
|
function openModal() {
|
|
23
24
|
onOpen === null || onOpen === void 0 ? void 0 : onOpen();
|
|
@@ -29,11 +30,11 @@ function BottomSheetInternal({ children, showCancel, loading = false, heading, o
|
|
|
29
30
|
setOpen(false);
|
|
30
31
|
}
|
|
31
32
|
}
|
|
32
|
-
function Header({ heading }) {
|
|
33
|
+
function Header({ heading, styles, }) {
|
|
33
34
|
return (React.createElement(View, { style: styles.header },
|
|
34
35
|
React.createElement(Heading, { level: "subtitle" }, heading)));
|
|
35
36
|
}
|
|
36
|
-
function Footer({ cancellable, onCancel, }) {
|
|
37
|
+
function Footer({ cancellable, onCancel, styles, }) {
|
|
37
38
|
const insets = useSafeAreaInsets();
|
|
38
39
|
const { t } = useAtlantisI18n();
|
|
39
40
|
return (React.createElement(View, { style: { marginBottom: insets.bottom } }, cancellable && (React.createElement(View, { style: styles.children },
|
|
@@ -46,6 +47,6 @@ function dismissKeyboard() {
|
|
|
46
47
|
//In the case where an input text field is focused we don't want to show the bottom sheet behind or above keyboard
|
|
47
48
|
Keyboard.dismiss();
|
|
48
49
|
}
|
|
49
|
-
function Overlay() {
|
|
50
|
+
function Overlay({ styles, }) {
|
|
50
51
|
return React.createElement(View, { style: styles.overlay });
|
|
51
52
|
}
|
|
@@ -1,28 +1,30 @@
|
|
|
1
1
|
import { Dimensions, StyleSheet } from "react-native";
|
|
2
|
-
import {
|
|
2
|
+
import { buildThemedStyles } from "../AtlantisThemeContext";
|
|
3
3
|
const { height } = Dimensions.get("window");
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
4
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
5
|
+
const modalBorderRadius = tokens["radius-larger"];
|
|
6
|
+
return {
|
|
7
|
+
overlayModalize: {
|
|
8
|
+
backgroundColor: "transparent",
|
|
9
|
+
},
|
|
10
|
+
overlay: Object.assign(Object.assign({}, StyleSheet.absoluteFillObject), { backgroundColor: tokens["color-overlay"], height }),
|
|
11
|
+
modal: {
|
|
12
|
+
borderTopLeftRadius: modalBorderRadius,
|
|
13
|
+
borderTopRightRadius: modalBorderRadius,
|
|
14
|
+
paddingTop: tokens["space-small"],
|
|
15
|
+
},
|
|
16
|
+
children: {
|
|
17
|
+
paddingBottom: tokens["space-small"],
|
|
18
|
+
},
|
|
19
|
+
header: {
|
|
20
|
+
paddingHorizontal: tokens["space-base"],
|
|
21
|
+
paddingTop: tokens["space-small"],
|
|
22
|
+
paddingBottom: tokens["space-base"],
|
|
23
|
+
},
|
|
24
|
+
footerDivider: {
|
|
25
|
+
marginHorizontal: tokens["space-base"],
|
|
26
|
+
marginTop: tokens["space-small"],
|
|
27
|
+
marginBottom: tokens["space-smaller"],
|
|
28
|
+
},
|
|
29
|
+
};
|
|
28
30
|
});
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { TouchableOpacity, View } from "react-native";
|
|
3
|
-
import {
|
|
3
|
+
import { useStyles } from "./BottomSheetOption.styles";
|
|
4
4
|
import { capitalize } from "../../../utils/intl";
|
|
5
5
|
import { Text } from "../../../Text";
|
|
6
6
|
import { Icon } from "../../../Icon";
|
|
7
7
|
export function BottomSheetOption({ text, icon, iconColor, textAlign, destructive, textTransform = "capitalize", onPress, }) {
|
|
8
8
|
const destructiveColor = "destructive";
|
|
9
9
|
const textVariation = destructive ? destructiveColor : "subdued";
|
|
10
|
+
const styles = useStyles();
|
|
10
11
|
return (React.createElement(TouchableOpacity, { style: styles.bottomSheetOption, onPress: onPress, accessibilityLabel: text },
|
|
11
12
|
icon && (React.createElement(View, { style: styles.icon },
|
|
12
13
|
React.createElement(Icon, { name: icon, color: destructive ? destructiveColor : iconColor }))),
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { buildThemedStyles } from "../../../AtlantisThemeContext";
|
|
2
|
+
export const useStyles = buildThemedStyles(tokens => {
|
|
3
|
+
return {
|
|
4
|
+
bottomSheetOption: {
|
|
5
|
+
display: "flex",
|
|
6
|
+
flexDirection: "row",
|
|
7
|
+
alignContent: "center",
|
|
8
|
+
alignItems: "center",
|
|
9
|
+
padding: tokens["space-small"],
|
|
10
|
+
},
|
|
11
|
+
icon: {
|
|
12
|
+
paddingHorizontal: tokens["space-small"],
|
|
13
|
+
},
|
|
14
|
+
title: {
|
|
15
|
+
paddingHorizontal: tokens["space-small"],
|
|
16
|
+
flexShrink: 1,
|
|
17
|
+
},
|
|
18
|
+
};
|
|
18
19
|
});
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { TouchableHighlight, View } from "react-native";
|
|
3
|
-
import {
|
|
3
|
+
import { useStyles } from "./Button.style";
|
|
4
4
|
import { InternalButtonLoading } from "./components/InternalButtonLoading";
|
|
5
5
|
import { ActionLabel } from "../ActionLabel";
|
|
6
6
|
import { Icon } from "../Icon";
|
|
7
|
-
import {
|
|
7
|
+
import { useAtlantisTheme } from "../AtlantisThemeContext";
|
|
8
8
|
export function Button({ label, onPress, variation = "work", type = "primary", fullHeight = false, fullWidth = true, disabled = false, loading = false, size = "base", accessibilityLabel, accessibilityHint, icon, testID, UNSAFE_style, }) {
|
|
9
|
+
const { tokens } = useAtlantisTheme();
|
|
10
|
+
const styles = useStyles();
|
|
9
11
|
const buttonStyle = [
|
|
10
12
|
styles.button,
|
|
11
13
|
styles[size],
|
|
@@ -28,7 +30,7 @@ export function Button({ label, onPress, variation = "work", type = "primary", f
|
|
|
28
30
|
React.createElement(View, { style: [buttonStyle, UNSAFE_style === null || UNSAFE_style === void 0 ? void 0 : UNSAFE_style.container] },
|
|
29
31
|
loading && React.createElement(InternalButtonLoading, { variation: variation, type: type }),
|
|
30
32
|
React.createElement(View, { style: [
|
|
31
|
-
getContentStyles(label, icon),
|
|
33
|
+
getContentStyles(label, icon, styles),
|
|
32
34
|
UNSAFE_style === null || UNSAFE_style === void 0 ? void 0 : UNSAFE_style.contentContainer,
|
|
33
35
|
], testID: "contentContainer" },
|
|
34
36
|
icon && (React.createElement(View, { style: [styles.iconStyle, UNSAFE_style === null || UNSAFE_style === void 0 ? void 0 : UNSAFE_style.iconContainer], testID: "iconContainer" },
|
|
@@ -69,7 +71,7 @@ function getIconColorVariation(variation, type, disabled) {
|
|
|
69
71
|
return "interactive";
|
|
70
72
|
}
|
|
71
73
|
}
|
|
72
|
-
function getContentStyles(label, icon) {
|
|
74
|
+
function getContentStyles(label, icon, styles) {
|
|
73
75
|
if (label && !icon) {
|
|
74
76
|
return undefined;
|
|
75
77
|
}
|