@ovotech/element-native 2.0.4 → 2.2.0-canary-1cac2ba-73

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.
Files changed (183) hide show
  1. package/dist/components/Accordion/Accordion.js +23 -22
  2. package/dist/components/Accordion/Icon.js +7 -10
  3. package/dist/components/Accordion/styles.d.ts +688 -46
  4. package/dist/components/Accordion/styles.js +56 -49
  5. package/dist/components/Accordion/types.d.ts +1 -0
  6. package/dist/components/Badge/Badge.d.ts +238 -8
  7. package/dist/components/Badge/Badge.js +35 -14
  8. package/dist/components/CTAButton/CTAButton.d.ts +7 -12
  9. package/dist/components/CTAButton/CTAButton.js +18 -19
  10. package/dist/components/CTALink/CTALink.d.ts +3 -4
  11. package/dist/components/Card/Card.d.ts +228 -5
  12. package/dist/components/Card/Card.js +5 -25
  13. package/dist/components/Checkbox/Checkbox.js +19 -26
  14. package/dist/components/DataTable/DataTable.d.ts +3 -12
  15. package/dist/components/DataTable/DataTable.js +8 -71
  16. package/dist/components/DataTable/TableRow.d.ts +2 -0
  17. package/dist/components/DataTable/TableRow.js +33 -0
  18. package/dist/components/DataTable/index.d.ts +2 -0
  19. package/dist/components/DataTable/index.js +16 -0
  20. package/dist/components/DataTable/styles.d.ts +2517 -0
  21. package/dist/components/DataTable/styles.js +77 -0
  22. package/dist/components/DataTable/types.d.ts +15 -0
  23. package/dist/components/DataTable/types.js +2 -0
  24. package/dist/components/DateField/DateField.js +9 -9
  25. package/dist/components/DescriptionList/DescriptionList.d.ts +10 -0
  26. package/dist/components/DescriptionList/DescriptionList.js +66 -0
  27. package/dist/components/DescriptionList/index.d.ts +1 -0
  28. package/dist/components/DescriptionList/index.js +6 -0
  29. package/dist/components/DescriptionList/styled.d.ts +241 -0
  30. package/dist/components/DescriptionList/styled.js +88 -0
  31. package/dist/components/Disclosure/Disclosure.js +7 -10
  32. package/dist/components/Divider/Divider.d.ts +5 -0
  33. package/dist/components/Divider/Divider.js +45 -0
  34. package/dist/components/Divider/index.d.ts +1 -0
  35. package/dist/components/Divider/index.js +5 -0
  36. package/dist/components/ErrorSummaryNotification/ErrorSummaryNotification.d.ts +1 -1
  37. package/dist/components/ErrorText/ErrorText.d.ts +228 -1
  38. package/dist/components/ErrorText/ErrorText.js +1 -1
  39. package/dist/components/Field/Field.js +3 -3
  40. package/dist/components/Grid/Col.d.ts +229 -2
  41. package/dist/components/Grid/Row.d.ts +228 -1
  42. package/dist/components/Heading/Heading.js +8 -24
  43. package/dist/components/HintText/HintText.d.ts +228 -1
  44. package/dist/components/HintText/HintText.js +1 -1
  45. package/dist/components/Icon/Icon.d.ts +2 -3
  46. package/dist/components/Icon/Icon.js +2 -2
  47. package/dist/components/Input/CurrencyInput.d.ts +2 -1
  48. package/dist/components/Input/EmailInput.d.ts +2 -1
  49. package/dist/components/Input/Input.d.ts +4 -2
  50. package/dist/components/Input/Input.js +16 -18
  51. package/dist/components/Input/NumberInput.d.ts +2 -1
  52. package/dist/components/Input/PasswordInput.d.ts +4 -1
  53. package/dist/components/Input/PasswordInput.js +4 -2
  54. package/dist/components/Input/PasswordInput.styled.d.ts +231 -0
  55. package/dist/components/Input/PasswordInput.styled.js +37 -0
  56. package/dist/components/Input/PasswordVisibilityToggle.d.ts +11 -0
  57. package/dist/components/Input/PasswordVisibilityToggle.js +51 -0
  58. package/dist/components/Input/{TelInput.d.ts → PhoneInput.d.ts} +3 -2
  59. package/dist/components/Input/{TelInput.js → PhoneInput.js} +3 -3
  60. package/dist/components/Input/TextInput.d.ts +2 -1
  61. package/dist/components/Input/TextareaInput.d.ts +2 -1
  62. package/dist/components/Input/TextareaInput.js +11 -9
  63. package/dist/components/Input/index.d.ts +1 -1
  64. package/dist/components/Input/index.js +3 -3
  65. package/dist/components/LabelText/LabelText.d.ts +228 -1
  66. package/dist/components/LabelText/LabelText.js +1 -1
  67. package/dist/components/List/List.d.ts +706 -3
  68. package/dist/components/List/List.js +18 -5
  69. package/dist/components/Margin/Margin.d.ts +228 -1
  70. package/dist/components/NavHeader/NavHeader.d.ts +1 -0
  71. package/dist/components/NavHeader/NavHeader.js +11 -13
  72. package/dist/components/Notification/Notification.d.ts +466 -20
  73. package/dist/components/Notification/Notification.js +32 -44
  74. package/dist/components/Radio/Radio.js +18 -36
  75. package/dist/components/SelectField/Select.d.ts +244 -0
  76. package/dist/components/SelectField/Select.js +101 -0
  77. package/dist/components/SelectField/SelectField.d.ts +7 -0
  78. package/dist/components/SelectField/SelectField.js +38 -0
  79. package/dist/components/SelectField/index.d.ts +1 -0
  80. package/dist/components/SelectField/index.js +5 -0
  81. package/dist/components/SkeletonLoading/Skeleton.d.ts +228 -1
  82. package/dist/components/SkeletonLoading/SkeletonAnimation.d.ts +6 -0
  83. package/dist/components/SkeletonLoading/SkeletonAnimation.js +57 -0
  84. package/dist/components/SkeletonLoading/SkeletonCTA.js +3 -1
  85. package/dist/components/SkeletonLoading/SkeletonCircle.js +4 -2
  86. package/dist/components/SkeletonLoading/SkeletonHeading.js +3 -1
  87. package/dist/components/SkeletonLoading/SkeletonText.js +2 -2
  88. package/dist/components/SubLabelText/SubLabelText.d.ts +228 -1
  89. package/dist/components/SubLabelText/SubLabelText.js +1 -1
  90. package/dist/components/SummaryList/SummaryList.d.ts +4 -0
  91. package/dist/components/SummaryList/SummaryList.js +5 -0
  92. package/dist/components/Tabs/Tab.js +22 -19
  93. package/dist/components/Tabs/TabList.d.ts +11 -1
  94. package/dist/components/Tabs/TabList.js +19 -16
  95. package/dist/components/Tabs/TabPanel.js +32 -6
  96. package/dist/components/Tabs/Tabs.d.ts +8 -6
  97. package/dist/components/Tabs/Tabs.js +10 -6
  98. package/dist/components/Text/Text.d.ts +1140 -5
  99. package/dist/components/Text/Text.js +6 -10
  100. package/dist/components/TextField/CurrencyField.d.ts +2 -1
  101. package/dist/components/TextField/EmailField.d.ts +2 -1
  102. package/dist/components/TextField/NumberField.d.ts +2 -1
  103. package/dist/components/TextField/PasswordField.d.ts +4 -1
  104. package/dist/components/TextField/PasswordField.js +2 -2
  105. package/dist/components/TextField/PhoneField.d.ts +10 -0
  106. package/dist/components/TextField/PhoneField.js +56 -0
  107. package/dist/components/TextField/TelField.d.ts +6 -1
  108. package/dist/components/TextField/TelField.js +7 -2
  109. package/dist/components/TextField/TextField.d.ts +2 -1
  110. package/dist/components/TextField/TextareaField.d.ts +2 -1
  111. package/dist/components/TextField/index.d.ts +1 -0
  112. package/dist/components/TextField/index.js +3 -1
  113. package/dist/components/TextLink/TextLink.js +2 -2
  114. package/dist/components/index.d.ts +3 -0
  115. package/dist/components/index.js +3 -0
  116. package/dist/esm/components/Accordion/Accordion.js +26 -25
  117. package/dist/esm/components/Accordion/Icon.js +8 -8
  118. package/dist/esm/components/Accordion/styles.js +29 -48
  119. package/dist/esm/components/Badge/Badge.js +35 -14
  120. package/dist/esm/components/CTAButton/CTAButton.js +20 -21
  121. package/dist/esm/components/Card/Card.js +5 -25
  122. package/dist/esm/components/Checkbox/Checkbox.js +17 -27
  123. package/dist/esm/components/DataTable/DataTable.js +3 -66
  124. package/dist/esm/components/DataTable/TableRow.js +26 -0
  125. package/dist/esm/components/DataTable/index.js +2 -0
  126. package/dist/esm/components/DataTable/styles.js +51 -0
  127. package/dist/esm/components/DataTable/types.js +1 -0
  128. package/dist/esm/components/DateField/DateField.js +9 -9
  129. package/dist/esm/components/DescriptionList/DescriptionList.js +39 -0
  130. package/dist/esm/components/DescriptionList/index.js +1 -0
  131. package/dist/esm/components/DescriptionList/styled.js +57 -0
  132. package/dist/esm/components/Disclosure/Disclosure.js +9 -12
  133. package/dist/esm/components/Divider/Divider.js +15 -0
  134. package/dist/esm/components/Divider/index.js +1 -0
  135. package/dist/esm/components/ErrorText/ErrorText.js +1 -1
  136. package/dist/esm/components/Field/Field.js +3 -3
  137. package/dist/esm/components/Heading/Heading.js +8 -24
  138. package/dist/esm/components/HintText/HintText.js +1 -1
  139. package/dist/esm/components/Icon/Icon.js +2 -2
  140. package/dist/esm/components/Input/Input.js +18 -20
  141. package/dist/esm/components/Input/PasswordInput.js +4 -2
  142. package/dist/esm/components/Input/PasswordInput.styled.js +11 -0
  143. package/dist/esm/components/Input/PasswordVisibilityToggle.js +23 -0
  144. package/dist/esm/components/Input/{TelInput.js → PhoneInput.js} +2 -2
  145. package/dist/esm/components/Input/TextareaInput.js +11 -9
  146. package/dist/esm/components/Input/index.js +1 -1
  147. package/dist/esm/components/LabelText/LabelText.js +1 -1
  148. package/dist/esm/components/List/List.js +17 -5
  149. package/dist/esm/components/NavHeader/NavHeader.js +12 -14
  150. package/dist/esm/components/Notification/Notification.js +34 -46
  151. package/dist/esm/components/Radio/Radio.js +18 -36
  152. package/dist/esm/components/SelectField/Select.js +74 -0
  153. package/dist/esm/components/SelectField/SelectField.js +31 -0
  154. package/dist/esm/components/SelectField/index.js +1 -0
  155. package/dist/esm/components/SkeletonLoading/SkeletonAnimation.js +30 -0
  156. package/dist/esm/components/SkeletonLoading/SkeletonCTA.js +3 -1
  157. package/dist/esm/components/SkeletonLoading/SkeletonCircle.js +4 -2
  158. package/dist/esm/components/SkeletonLoading/SkeletonHeading.js +3 -1
  159. package/dist/esm/components/SkeletonLoading/SkeletonText.js +2 -2
  160. package/dist/esm/components/SubLabelText/SubLabelText.js +1 -1
  161. package/dist/esm/components/SummaryList/SummaryList.js +5 -0
  162. package/dist/esm/components/Tabs/Tab.js +22 -16
  163. package/dist/esm/components/Tabs/TabList.js +18 -16
  164. package/dist/esm/components/Tabs/TabPanel.js +9 -6
  165. package/dist/esm/components/Tabs/Tabs.js +9 -6
  166. package/dist/esm/components/Text/Text.js +6 -10
  167. package/dist/esm/components/TextField/PasswordField.js +2 -2
  168. package/dist/esm/components/TextField/PhoneField.js +30 -0
  169. package/dist/esm/components/TextField/TelField.js +7 -2
  170. package/dist/esm/components/TextField/index.js +1 -0
  171. package/dist/esm/components/TextLink/TextLink.js +2 -2
  172. package/dist/esm/components/index.js +3 -0
  173. package/dist/esm/providers/icons/Logo.js +6 -3
  174. package/dist/esm/theme/create-theme.js +2 -176
  175. package/dist/esm/theme/index.js +13 -2
  176. package/dist/providers/icons/Logo.js +5 -2
  177. package/dist/styled.native.d.ts +1363 -1
  178. package/dist/theme/create-theme.d.ts +1 -1
  179. package/dist/theme/create-theme.js +2 -176
  180. package/dist/theme/index.d.ts +228 -2
  181. package/dist/theme/index.js +13 -2
  182. package/dist/theme/theme.d.ts +1 -110
  183. package/package.json +12 -10
@@ -1,52 +1,59 @@
1
1
  "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || function (mod) {
23
+ if (mod && mod.__esModule) return mod;
24
+ var result = {};
25
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
+ __setModuleDefault(result, mod);
27
+ return result;
28
+ };
29
+ var __importDefault = (this && this.__importDefault) || function (mod) {
30
+ return (mod && mod.__esModule) ? mod : { "default": mod };
31
+ };
2
32
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.styles = void 0;
4
- var react_native_1 = require("react-native");
5
- var theme_1 = require("../../theme");
6
- var greyBase = theme_1.theme.colors.brand.grey.base;
7
- var styles = react_native_1.StyleSheet.create({
8
- accordion: {
9
- width: '100%',
10
- borderWidth: parseInt(theme_1.theme.borderWidths.standard),
11
- borderBottomWidth: 0,
12
- borderColor: greyBase,
13
- },
14
- topItem: {
15
- borderTopLeftRadius: parseInt(theme_1.theme.radii.small),
16
- borderTopRightRadius: parseInt(theme_1.theme.radii.small),
17
- },
18
- bottomItem: {
19
- borderBottomLeftRadius: parseInt(theme_1.theme.radii.small),
20
- borderBottomRightRadius: parseInt(theme_1.theme.radii.small),
21
- borderBottomWidth: parseInt(theme_1.theme.borderWidths.standard),
22
- },
23
- accordionHeader: {
24
- paddingTop: parseInt(theme_1.theme.space[5]),
25
- paddingRight: 18,
26
- paddingBottom: 18,
27
- paddingLeft: parseInt(theme_1.theme.space[3]),
28
- flexDirection: 'row',
29
- alignItems: 'flex-start',
30
- justifyContent: 'space-between',
31
- },
32
- accordionHeaderText: {
33
- paddingRight: parseInt(theme_1.theme.space[3]),
34
- marginTop: 0,
35
- marginBottom: 0,
36
- flexShrink: 1,
37
- },
38
- content: {
39
- overflow: 'hidden',
40
- },
41
- container: {
42
- position: 'absolute',
43
- top: 0,
44
- left: 0,
45
- right: 0,
46
- paddingTop: 0,
47
- paddingRight: parseInt(theme_1.theme.space[12]),
48
- paddingBottom: parseInt(theme_1.theme.space[6]),
49
- paddingLeft: parseInt(theme_1.theme.space[3]),
50
- },
33
+ exports.StyledContainer = exports.StyledAccordionHeader = exports.StyledAccordion = void 0;
34
+ var react_native_reanimated_1 = __importDefault(require("react-native-reanimated"));
35
+ var styled_native_1 = __importStar(require("../../styled.native"));
36
+ exports.StyledAccordion = (0, styled_native_1.default)(react_native_reanimated_1.default.View)(function (_a) {
37
+ var _b = _a.theme, semantic = _b.semantic, core = _b.core, first = _a.first, last = _a.last;
38
+ return (0, styled_native_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 100%;\n border-width: ", ";\n border-color: ", ";\n border-bottom-width: 0;\n\n ", "\n\n ", "\n "], ["\n width: 100%;\n border-width: ", ";\n border-color: ", ";\n border-bottom-width: 0;\n\n ", "\n\n ", "\n "])), core.borderWidth.small, semantic.border.differentiated, first
39
+ ? {
40
+ borderTopLeftRadius: core.radius.small,
41
+ borderTopRightRadius: core.radius.small,
42
+ }
43
+ : null, last
44
+ ? {
45
+ borderBottomLeftRadius: core.radius.small,
46
+ borderBottomRightRadius: core.radius.small,
47
+ borderBottomWidth: core.borderWidth.small,
48
+ }
49
+ : null);
50
+ });
51
+ exports.StyledAccordionHeader = styled_native_1.default.TouchableOpacity(function (_a) {
52
+ var core = _a.theme.core;
53
+ return (0, styled_native_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n padding-top: ", "\n padding-left: ", "\n padding-right: 18px;\n padding-bottom: 18px;\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n "], ["\n padding-top: ", "\n padding-left: ", "\n padding-right: 18px;\n padding-bottom: 18px;\n flex-direction: row;\n align-items: flex-start;\n justify-content: space-between;\n "])), core.space[5], core.space[3]);
54
+ });
55
+ exports.StyledContainer = styled_native_1.default.View(function (_a) {
56
+ var core = _a.theme.core;
57
+ return (0, styled_native_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding-top: 0;\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n "], ["\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding-top: 0;\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n "])), core.space[12], core.space[6], core.space[3]);
51
58
  });
52
- exports.styles = styles;
59
+ var templateObject_1, templateObject_2, templateObject_3;
@@ -11,6 +11,7 @@ export declare type AccordionProps = PropsWithChildren<{
11
11
  headingComponent?: React.ComponentType<any>;
12
12
  first?: boolean;
13
13
  last?: boolean;
14
+ testId?: string;
14
15
  }>;
15
16
  export declare type AccordionGroupProps = {
16
17
  /**
@@ -1,12 +1,242 @@
1
+ import { Theme, BadgeColors } from '@ovotech/element-core';
1
2
  import { ComponentProps } from 'react';
2
- export declare type BadgeVariantName = 'default' | 'error' | 'success' | 'warning' | 'info';
3
- export declare type BadgeVariant = {
4
- background: string;
5
- foreground: string;
6
- };
7
- declare const StyledBadge: import("styled-components").StyledComponent<typeof import("react-native").View, import("../../theme/theme").Theme, {
8
- variant?: BadgeVariantName | (string & {}) | undefined;
3
+ export declare type SemanticVariants = Exclude<keyof Theme['semantic'], 'surface' | 'message' | 'border' | 'focus' | 'inverted' | 'data'>;
4
+ export declare type BadgeVariantName = BadgeColors | SemanticVariants;
5
+ declare const StyledBadge: import("styled-components").StyledComponent<typeof import("react-native").View, import("../../theme/theme").Theme & {
6
+ core: {
7
+ radius: Record<"small" | "medium" | "large" | "max", string>;
8
+ borderWidth: Record<"small" | "medium" | "large", string>;
9
+ breakpoint: Record<"small" | "medium" | "large", string | number>;
10
+ mediaQuery: Record<"small" | "medium" | "large", string>;
11
+ space: Record<0 | 2 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15, string>;
12
+ transition: Record<"medium" | "slow" | "fast", string>;
13
+ opacity: Record<"solid" | "transparent" | "translucent", string | number>;
14
+ color: Record<"neutral" | "red" | "orange" | "yellow" | "green" | "blue", {
15
+ lightest: string;
16
+ lighter: string;
17
+ light: string;
18
+ base: string;
19
+ dark: string;
20
+ darker: string;
21
+ darkest: string;
22
+ }> & {
23
+ brand: Record<string, string>;
24
+ };
25
+ fontFamily: Record<"heading" | "body" | "mono" | "bodyBold", {
26
+ native: string;
27
+ web: string;
28
+ }>;
29
+ fontWeight: Record<"bold" | "book" | "black", string | number>;
30
+ fontSize: Record<"small" | "body" | "label" | "lead" | "heading1" | "heading2" | "heading3" | "heading4", {
31
+ small: string | number;
32
+ large: string | number;
33
+ }>;
34
+ lineHeight: Record<"small" | "body" | "label" | "lead" | "heading1" | "heading2" | "heading3" | "heading4", {
35
+ small: string | number;
36
+ large: string | number;
37
+ }>;
38
+ letterSpacing: Record<"base" | "compressed" | "extraCompressed", number>;
39
+ };
40
+ semantic: {
41
+ surface: Record<"base" | "cutout" | "elevated", string>;
42
+ message: Record<"base" | "link" | "error" | "secondary" | "branded", string>;
43
+ border: Record<"graphic" | "differentiated" | "functional", string>;
44
+ focus: Record<"surface" | "outline" | "hover", string>;
45
+ inverted: Record<"border" | "surface", string> & {
46
+ message: Record<"base" | "link" | "secondary" | "branded", string>;
47
+ };
48
+ success: {
49
+ border: string;
50
+ surface: string;
51
+ surfaceEmphasis: string;
52
+ message: string;
53
+ messageOnEmphasis: string;
54
+ };
55
+ warning: {
56
+ border: string;
57
+ surface: string;
58
+ surfaceEmphasis: string;
59
+ message: string;
60
+ messageOnEmphasis: string;
61
+ };
62
+ error: {
63
+ border: string;
64
+ surface: string;
65
+ surfaceEmphasis: string;
66
+ message: string;
67
+ messageOnEmphasis: string;
68
+ };
69
+ info: {
70
+ border: string;
71
+ surface: string;
72
+ surfaceEmphasis: string;
73
+ message: string;
74
+ messageOnEmphasis: string;
75
+ };
76
+ data: Record<"gas" | "branded" | "electric", Record<2 | 1 | 3 | 4, string>>;
77
+ };
78
+ component: {
79
+ heading1: {
80
+ fontFamily: string;
81
+ fontWeight: string | number;
82
+ fontSize: {
83
+ small: string | number;
84
+ large: string | number;
85
+ };
86
+ lineHeight: {
87
+ small: string | number;
88
+ large: string | number;
89
+ };
90
+ };
91
+ heading2: {
92
+ fontFamily: string;
93
+ fontWeight: string | number;
94
+ fontSize: {
95
+ small: string | number;
96
+ large: string | number;
97
+ };
98
+ lineHeight: {
99
+ small: string | number;
100
+ large: string | number;
101
+ };
102
+ };
103
+ heading3: {
104
+ fontFamily: string;
105
+ fontWeight: string | number;
106
+ fontSize: {
107
+ small: string | number;
108
+ large: string | number;
109
+ };
110
+ lineHeight: {
111
+ small: string | number;
112
+ large: string | number;
113
+ };
114
+ };
115
+ heading4: {
116
+ fontFamily: string;
117
+ fontWeight: string | number;
118
+ fontSize: {
119
+ small: string | number;
120
+ large: string | number;
121
+ };
122
+ lineHeight: {
123
+ small: string | number;
124
+ large: string | number;
125
+ };
126
+ };
127
+ lead: {
128
+ fontFamily: string;
129
+ fontWeight: string | number;
130
+ fontSize: {
131
+ small: string | number;
132
+ large: string | number;
133
+ };
134
+ lineHeight: {
135
+ small: string | number;
136
+ large: string | number;
137
+ };
138
+ };
139
+ body: {
140
+ fontFamily: string;
141
+ fontWeight: string | number;
142
+ fontSize: {
143
+ small: string | number;
144
+ large: string | number;
145
+ };
146
+ lineHeight: {
147
+ small: string | number;
148
+ large: string | number;
149
+ };
150
+ };
151
+ small: {
152
+ fontFamily: string;
153
+ fontWeight: string | number;
154
+ fontSize: {
155
+ small: string | number;
156
+ large: string | number;
157
+ };
158
+ lineHeight: {
159
+ small: string | number;
160
+ large: string | number;
161
+ };
162
+ };
163
+ label: {
164
+ fontFamily: string;
165
+ fontWeight: string | number;
166
+ fontSize: {
167
+ small: string | number;
168
+ large: string | number;
169
+ };
170
+ lineHeight: {
171
+ small: string | number;
172
+ large: string | number;
173
+ };
174
+ };
175
+ cta: {
176
+ primary: {
177
+ message: string;
178
+ surface: string;
179
+ messageHover: string;
180
+ surfaceHover: string;
181
+ messageFocused: string;
182
+ surfaceFocused: string;
183
+ outlineFocused: string;
184
+ backgroundFocused: string;
185
+ };
186
+ secondary: {
187
+ message: string;
188
+ surface: string;
189
+ messageHover: string;
190
+ surfaceHover: string;
191
+ messageFocused: string;
192
+ surfaceFocused: string;
193
+ outlineFocused: string;
194
+ backgroundFocused: string;
195
+ };
196
+ destructive: {
197
+ message: string;
198
+ surface: string;
199
+ messageHover: string;
200
+ surfaceHover: string;
201
+ messageFocused: string;
202
+ surfaceFocused: string;
203
+ outlineFocused: string;
204
+ backgroundFocused: string;
205
+ };
206
+ };
207
+ badge: {
208
+ variants: {
209
+ red: {
210
+ foreground: string;
211
+ background: string;
212
+ };
213
+ orange: {
214
+ foreground: string;
215
+ background: string;
216
+ };
217
+ yellow: {
218
+ foreground: string;
219
+ background: string;
220
+ };
221
+ green: {
222
+ foreground: string;
223
+ background: string;
224
+ };
225
+ blue: {
226
+ foreground: string;
227
+ background: string;
228
+ };
229
+ };
230
+ };
231
+ };
232
+ }, {
233
+ customVariant?: {
234
+ backgroundColor: string;
235
+ foregroundColor: string;
236
+ } | undefined;
237
+ inverted?: boolean | undefined;
238
+ variant?: BadgeVariantName | undefined;
9
239
  }, never>;
10
240
  declare type BadgeProps = ComponentProps<typeof StyledBadge>;
11
- export declare const Badge: ({ children, variant, ...rest }: BadgeProps) => JSX.Element;
241
+ export declare const Badge: ({ children, variant, inverted, ...rest }: BadgeProps) => JSX.Element;
12
242
  export {};
@@ -54,26 +54,47 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
54
54
  Object.defineProperty(exports, "__esModule", { value: true });
55
55
  exports.Badge = void 0;
56
56
  var react_1 = __importDefault(require("react"));
57
- var hooks_1 = require("../../hooks");
58
57
  var styled_native_1 = __importStar(require("../../styled.native"));
59
- var theme_1 = require("../../theme");
60
58
  var StyledBadge = styled_native_1.default.View(function (_a) {
61
- var badge = _a.theme.badge, _b = _a.variant, variant = _b === void 0 ? 'default' : _b;
62
- // @ts-ignore to support additional palettes.
63
- var currentVariant = badge.variants[variant];
64
- return (0, styled_native_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: 0 ", ";\n border-radius: ", ";\n background-color: ", ";\n align-self: flex-start;\n "], ["\n padding: 0 ", ";\n border-radius: ", ";\n background-color: ", ";\n align-self: flex-start;\n "])), badge.paddingHorizontal, badge.borderRadius, currentVariant.background);
59
+ var _b = _a.theme, core = _b.core, semantic = _b.semantic, component = _b.component, _c = _a.variant, variant = _c === void 0 ? 'info' : _c, _d = _a.inverted, inverted = _d === void 0 ? false : _d, customVariant = _a.customVariant;
60
+ var surface;
61
+ var message;
62
+ if (variant in semantic) {
63
+ surface = semantic[variant].surface;
64
+ message = semantic[variant].message;
65
+ }
66
+ else {
67
+ surface = component.badge.variants[variant].background;
68
+ message = component.badge.variants[variant].foreground;
69
+ }
70
+ if ((customVariant === null || customVariant === void 0 ? void 0 : customVariant.foregroundColor) && (customVariant === null || customVariant === void 0 ? void 0 : customVariant.backgroundColor)) {
71
+ surface = customVariant.backgroundColor;
72
+ message = customVariant.foregroundColor;
73
+ }
74
+ return (0, styled_native_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: 0 ", ";\n border-radius: 16px;\n border: ", " solid ", ";\n background-color: ", ";\n align-self: flex-start;\n "], ["\n padding: 0 ", ";\n border-radius: 16px;\n border: ", " solid ", ";\n background-color: ", ";\n align-self: flex-start;\n "])), core.space[2], core.borderWidth.medium, core.color.brand.white, inverted ? message : surface);
65
75
  });
66
76
  var StyledBadgeText = styled_native_1.default.Text(function (_a) {
67
- var badge = _a.theme.badge, _b = _a.variant, variant = _b === void 0 ? 'default' : _b;
68
- // @ts-ignore to support additional palettes.
69
- var currentVariant = badge.variants[variant];
70
- return (0, styled_native_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n font-family: ", ";\n font-weight: ", ";\n line-height: ", ";\n color: ", ";\n font-size: ", ";\n "], ["\n font-family: ", ";\n font-weight: ", ";\n line-height: ", ";\n color: ", ";\n font-size: ", ";\n "])), badge.fontFamily, badge.fontWeight, (0, theme_1.calculateLineHeight)(badge.fontSize[1], badge.lineHeight), currentVariant.foreground, badge.fontSize[1]);
77
+ var _b = _a.theme, core = _b.core, semantic = _b.semantic, component = _b.component, _c = _a.variant, variant = _c === void 0 ? 'info' : _c, _d = _a.inverted, inverted = _d === void 0 ? false : _d, customVariant = _a.customVariant;
78
+ var surface;
79
+ var message;
80
+ if (variant in semantic) {
81
+ surface = semantic[variant].surface;
82
+ message = semantic[variant].message;
83
+ }
84
+ else {
85
+ surface = component.badge.variants[variant].background;
86
+ message = component.badge.variants[variant].foreground;
87
+ }
88
+ if ((customVariant === null || customVariant === void 0 ? void 0 : customVariant.foregroundColor) && (customVariant === null || customVariant === void 0 ? void 0 : customVariant.backgroundColor)) {
89
+ surface = customVariant.backgroundColor;
90
+ message = customVariant.foregroundColor;
91
+ }
92
+ return (0, styled_native_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n font-family: ", ";\n line-height: ", ";\n color: ", ";\n font-size: ", ";\n "], ["\n font-family: ", ";\n line-height: ", ";\n color: ", ";\n font-size: ", ";\n "])), core.fontFamily.bodyBold.native, core.lineHeight.body.small, inverted ? surface : message, core.fontSize.body.small);
71
93
  });
72
94
  var Badge = function (_a) {
73
- var children = _a.children, variant = _a.variant, rest = __rest(_a, ["children", "variant"]);
74
- var smallAndUp = (0, hooks_1.useBreakpoint)().smallAndUp;
75
- return (react_1.default.createElement(StyledBadge, __assign({}, rest, { variant: variant }),
76
- react_1.default.createElement(StyledBadgeText, { variant: variant, smallAndUp: smallAndUp }, children)));
95
+ var children = _a.children, variant = _a.variant, inverted = _a.inverted, rest = __rest(_a, ["children", "variant", "inverted"]);
96
+ return (react_1.default.createElement(StyledBadge, __assign({ variant: variant, inverted: inverted }, rest),
97
+ react_1.default.createElement(StyledBadgeText, { variant: variant, inverted: inverted }, children)));
77
98
  };
78
99
  exports.Badge = Badge;
79
100
  var templateObject_1, templateObject_2;
@@ -1,24 +1,19 @@
1
- import React, { PropsWithChildren, ComponentProps, Ref } from 'react';
2
- import { TouchableOpacityProps, TouchableOpacity } from 'react-native';
1
+ import React, { ComponentProps, PropsWithChildren, Ref } from 'react';
2
+ import { TouchableOpacity, TouchableOpacityProps } from 'react-native';
3
3
  import { IconName } from '../../providers/types';
4
- export declare type CTAVariantName = 'primary' | 'secondary' | 'destructive' | 'missionPrimary' | 'missionSecondary';
5
- export declare type CTAVariant = {
6
- background: string;
7
- foreground: string;
8
- border: string;
9
- };
4
+ export declare type CTAVariantName = 'primary' | 'secondary' | 'destructive';
10
5
  declare type CTAButtonProps = PropsWithChildren<TouchableOpacityProps & {
11
6
  iconLeft?: IconName | 'off';
12
7
  iconRight?: IconName | 'off';
13
8
  fullWidth?: 'always' | 'never' | 'small';
14
- variant?: CTAVariantName | (string & {});
9
+ variant?: CTAVariantName;
15
10
  ref?: Ref<TouchableOpacity>;
16
11
  }>;
17
12
  declare const CTAButton: ({ iconLeft, iconRight, children, fullWidth, variant, ...rest }: CTAButtonProps) => JSX.Element;
18
13
  declare type CTAProps = Omit<ComponentProps<typeof CTAButton>, 'variant' | 'ref'> & {
19
14
  ref: Ref<TouchableOpacity>;
20
15
  };
21
- declare const PrimaryCTAButton: React.ForwardRefExoticComponent<Pick<CTAProps, "fullWidth" | "iconLeft" | "iconRight" | keyof TouchableOpacityProps> & React.RefAttributes<TouchableOpacity>>;
22
- declare const SecondaryCTAButton: React.ForwardRefExoticComponent<Pick<CTAProps, "fullWidth" | "iconLeft" | "iconRight" | keyof TouchableOpacityProps> & React.RefAttributes<TouchableOpacity>>;
23
- declare const DestructiveCTAButton: React.ForwardRefExoticComponent<Pick<CTAProps, "fullWidth" | "iconLeft" | "iconRight" | keyof TouchableOpacityProps> & React.RefAttributes<TouchableOpacity>>;
16
+ declare const PrimaryCTAButton: React.ForwardRefExoticComponent<Pick<CTAProps, keyof TouchableOpacityProps | "fullWidth" | "iconLeft" | "iconRight"> & React.RefAttributes<TouchableOpacity>>;
17
+ declare const SecondaryCTAButton: React.ForwardRefExoticComponent<Pick<CTAProps, keyof TouchableOpacityProps | "fullWidth" | "iconLeft" | "iconRight"> & React.RefAttributes<TouchableOpacity>>;
18
+ declare const DestructiveCTAButton: React.ForwardRefExoticComponent<Pick<CTAProps, keyof TouchableOpacityProps | "fullWidth" | "iconLeft" | "iconRight"> & React.RefAttributes<TouchableOpacity>>;
24
19
  export { CTAButton, PrimaryCTAButton, SecondaryCTAButton, DestructiveCTAButton, };
@@ -53,7 +53,6 @@ exports.DestructiveCTAButton = exports.SecondaryCTAButton = exports.PrimaryCTABu
53
53
  var react_1 = __importStar(require("react"));
54
54
  var hooks_1 = require("../../hooks");
55
55
  var styled_native_1 = __importStar(require("../../styled.native"));
56
- var theme_1 = require("../../theme");
57
56
  var Icon_1 = require("../Icon/Icon");
58
57
  var StyledCTAWrapper = styled_native_1.default.TouchableOpacity(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-self: flex-start;\n flex-direction: row;\n align-items: flex-start;\n"], ["\n align-self: flex-start;\n flex-direction: row;\n align-items: flex-start;\n"])));
59
58
  var CTAButtonWrapper = function (_a) {
@@ -61,41 +60,41 @@ var CTAButtonWrapper = function (_a) {
61
60
  return (react_1.default.createElement(StyledCTAWrapper, __assign({ accessibilityRole: accessibilityRole, activeOpacity: activeOpacity }, rest), children));
62
61
  };
63
62
  var StyledInner = styled_native_1.default.View(function (_a) {
64
- var cta = _a.theme.cta, fullWidth = _a.fullWidth, variant = _a.variant;
65
- // @ts-ignore to support additional palettes.
66
- var currentVariant = cta.variants[variant];
67
- return (0, styled_native_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: ", " ", ";\n border-color: ", ";\n background-color: ", ";\n border-width: ", ";\n border-radius: ", ";\n min-height: ", ";\n border-style: solid;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n flex-grow: 1;\n\n ", ";\n "], ["\n padding: ", " ", ";\n border-color: ", ";\n background-color: ", ";\n border-width: ", ";\n border-radius: ", ";\n min-height: ", ";\n border-style: solid;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n flex-grow: 1;\n\n ", ";\n "])), cta.paddingVertical, cta.paddingHorizontal, currentVariant.border, currentVariant.background, cta.borderWidth, cta.borderRadius, cta.minHeight, fullWidth === 'never'
63
+ var _b = _a.theme, core = _b.core, component = _b.component, fullWidth = _a.fullWidth, variant = _a.variant;
64
+ var currentVariant = component.cta[variant];
65
+ var borderRadius = parseFloat(core.space[11]) / 2 + 'px';
66
+ return (0, styled_native_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: ", " ", ";\n background-color: ", ";\n border-radius: ", ";\n min-height: ", ";\n border: none;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n flex-grow: 1;\n\n ", ";\n "], ["\n padding: ", " ", ";\n background-color: ", ";\n border-radius: ", ";\n min-height: ", ";\n border: none;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n flex-grow: 1;\n\n ", ";\n "])), core.space[2], core.space[4], currentVariant.surface, borderRadius, core.space[11], fullWidth === 'never'
68
67
  ? (0, styled_native_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex-grow: 0;\n "], ["\n flex-grow: 0;\n "]))) : '');
69
68
  });
70
69
  var StyledRightIcon = (0, styled_native_1.default)(Icon_1.Icon)(function (_a) {
71
- var cta = _a.theme.cta;
72
- return (0, styled_native_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n margin-left: ", ";\n "], ["\n margin-left: ", ";\n "])), cta.iconGap);
70
+ var _b = _a.theme, core = _b.core, component = _b.component, variant = _a.variant;
71
+ var currentVariant = component.cta[variant];
72
+ return (0, styled_native_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n margin-left: ", ";\n color: ", ";\n "], ["\n margin-left: ", ";\n color: ", ";\n "])), core.space[1], currentVariant.message);
73
73
  });
74
74
  var StyledLeftIcon = (0, styled_native_1.default)(Icon_1.Icon)(function (_a) {
75
- var cta = _a.theme.cta;
76
- return (0, styled_native_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-right: ", ";\n "], ["\n margin-right: ", ";\n "])), cta.iconGap);
75
+ var _b = _a.theme, core = _b.core, component = _b.component, variant = _a.variant;
76
+ var currentVariant = component.cta[variant];
77
+ return (0, styled_native_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-right: ", ";\n color: ", ";\n "], ["\n margin-right: ", ";\n color: ", ";\n "])), core.space[1], currentVariant.message);
77
78
  });
78
79
  var StyledCTAButtonText = styled_native_1.default.Text(function (_a) {
79
- var cta = _a.theme.cta, smallAndUp = _a.smallAndUp, variant = _a.variant;
80
- var fontSize = smallAndUp ? cta.fontSize[1] : cta.fontSize[0];
81
- // @ts-ignore to support additional palettes.
82
- var currentVariant = cta.variants[variant];
83
- return (0, styled_native_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n text-align: left;\n flex-shrink: 2;\n "], ["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n line-height: ", ";\n text-align: left;\n flex-shrink: 2;\n "])), currentVariant.foreground, cta.fontFamily, fontSize, cta.fontWeight, (0, theme_1.calculateLineHeight)(fontSize, cta.lineHeight));
80
+ var _b = _a.theme, core = _b.core, component = _b.component, smallAndUp = _a.smallAndUp, variant = _a.variant;
81
+ var fontSize = smallAndUp
82
+ ? core.fontSize.body.large
83
+ : core.fontSize.body.small;
84
+ var currentVariant = component.cta[variant];
85
+ return (0, styled_native_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n line-height: ", ";\n text-align: center;\n flex-shrink: 2;\n "], ["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n line-height: ", ";\n text-align: center;\n flex-shrink: 2;\n "])), currentVariant.message, core.fontFamily.bodyBold.native, fontSize, core.lineHeight.body.small);
84
86
  });
85
87
  var CTAButton = function (_a) {
86
88
  var _b = _a.iconLeft, iconLeft = _b === void 0 ? 'off' : _b, _c = _a.iconRight, iconRight = _c === void 0 ? 'off' : _c, children = _a.children, _d = _a.fullWidth, fullWidth = _d === void 0 ? 'small' : _d, _e = _a.variant, variant = _e === void 0 ? 'primary' : _e, rest = __rest(_a, ["iconLeft", "iconRight", "children", "fullWidth", "variant"]);
87
- var cta = (0, react_1.useContext)(styled_native_1.ThemeContext).cta;
88
89
  var smallAndUp = (0, hooks_1.useBreakpoint)().smallAndUp;
89
- // @ts-ignore to support additional palettes.
90
- var currentVariant = cta.variants[variant];
91
90
  if (fullWidth === 'small') {
92
91
  fullWidth = smallAndUp ? 'never' : 'always';
93
92
  }
94
93
  return (react_1.default.createElement(CTAButtonWrapper, __assign({}, rest),
95
94
  react_1.default.createElement(StyledInner, { fullWidth: fullWidth, variant: variant },
96
- iconLeft !== 'off' ? (react_1.default.createElement(StyledLeftIcon, { name: iconLeft, size: 16, color: currentVariant.foreground })) : null,
95
+ iconLeft !== 'off' ? (react_1.default.createElement(StyledLeftIcon, { name: iconLeft, size: 16, variant: variant })) : null,
97
96
  react_1.default.createElement(StyledCTAButtonText, { smallAndUp: smallAndUp, variant: variant }, children),
98
- iconRight !== 'off' ? (react_1.default.createElement(StyledRightIcon, { name: iconRight, size: 16, color: currentVariant.foreground })) : null)));
97
+ iconRight !== 'off' ? (react_1.default.createElement(StyledRightIcon, { name: iconRight, size: 16, variant: variant })) : null)));
99
98
  };
100
99
  exports.CTAButton = CTAButton;
101
100
  var PrimaryCTAButton = (0, react_1.forwardRef)(function (props, ref) { return (react_1.default.createElement(CTAButton, __assign({ variant: "primary" }, props, { ref: ref }))); });
@@ -3,10 +3,9 @@ import { TouchableOpacity } from 'react-native';
3
3
  import { CTAButton } from '../CTAButton';
4
4
  declare type CTALinkProps = Omit<ComponentProps<typeof CTAButton>, 'ref'> & {
5
5
  ref: Ref<TouchableOpacity>;
6
- opensInNewWindow?: boolean;
7
6
  };
8
- declare const CTALink: React.ForwardRefExoticComponent<Pick<CTALinkProps, "variant" | "fullWidth" | "iconLeft" | "iconRight" | keyof import("react-native").TouchableOpacityProps | "opensInNewWindow"> & React.RefAttributes<TouchableOpacity>>;
7
+ declare const CTALink: React.ForwardRefExoticComponent<Pick<CTALinkProps, "variant" | keyof import("react-native/types").TouchableOpacityProps | "fullWidth" | "iconLeft" | "iconRight"> & React.RefAttributes<TouchableOpacity>>;
9
8
  declare type CTAProps = Omit<ComponentProps<typeof CTALink>, 'variant'>;
10
- declare const PrimaryCTALink: React.ForwardRefExoticComponent<Pick<CTAProps, "fullWidth" | "key" | "iconLeft" | "iconRight" | keyof import("react-native").TouchableOpacityProps | "opensInNewWindow"> & React.RefAttributes<TouchableOpacity>>;
11
- declare const SecondaryCTALink: React.ForwardRefExoticComponent<Pick<CTAProps, "fullWidth" | "key" | "iconLeft" | "iconRight" | keyof import("react-native").TouchableOpacityProps | "opensInNewWindow"> & React.RefAttributes<TouchableOpacity>>;
9
+ declare const PrimaryCTALink: React.ForwardRefExoticComponent<Pick<CTAProps, "key" | keyof import("react-native/types").TouchableOpacityProps | "fullWidth" | "iconLeft" | "iconRight"> & React.RefAttributes<TouchableOpacity>>;
10
+ declare const SecondaryCTALink: React.ForwardRefExoticComponent<Pick<CTAProps, "key" | keyof import("react-native/types").TouchableOpacityProps | "fullWidth" | "iconLeft" | "iconRight"> & React.RefAttributes<TouchableOpacity>>;
12
11
  export { CTALink, PrimaryCTALink, SecondaryCTALink };