@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
@@ -53,22 +53,18 @@ exports.Input = void 0;
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 utils_1 = require("../../utils");
57
56
  var Icon_1 = require("../Icon/Icon");
58
57
  var StyledIcon = (0, styled_native_1.default)(Icon_1.Icon)(function (_a) {
59
- var _b = _a.theme, input = _b.input, focusRing = _b.focusRing, side = _a.side, focused = _a.focused;
60
- var distance = ((0, utils_1.pxToNumber)(input.height) - (0, utils_1.pxToNumber)(input.icon.size)) / 2 +
61
- (focused ? (0, utils_1.pxToNumber)(focusRing.distance) : 0);
62
- return (0, styled_native_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n width: ", ";\n z-index: 1;\n top: ", "px;\n ", ";\n ", ";\n "], ["\n position: absolute;\n width: ", ";\n z-index: 1;\n top: ", "px;\n ", ";\n ", ";\n "])), input.icon.size, distance, side === 'left' ? "left: ".concat(distance, "px") : '', side === 'right' ? "right: ".concat(distance, "px") : '');
58
+ var core = _a.theme.core, side = _a.side, focused = _a.focused;
59
+ return (0, styled_native_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n z-index: 1;\n top: ", ";\n ", ";\n ", ";\n "], ["\n position: absolute;\n z-index: 1;\n top: ", ";\n ", ";\n ", ";\n "])), focused ? '16px' : '14px', side === 'left' ? "left: ".concat(core.space[2]) : '', side === 'right' ? "right: ".concat(core.space[2]) : '');
63
60
  });
64
61
  var Input = (0, react_1.forwardRef)(function (_a, ref) {
65
- var onFocus = _a.onFocus, onBlur = _a.onBlur, style = _a.style, iconLeft = _a.iconLeft, iconRight = _a.iconRight, rest = __rest(_a, ["onFocus", "onBlur", "style", "iconLeft", "iconRight"]);
62
+ var onFocus = _a.onFocus, onBlur = _a.onBlur, style = _a.style, iconLeft = _a.iconLeft, iconRight = _a.iconRight, rightSlot = _a.rightSlot, rest = __rest(_a, ["onFocus", "onBlur", "style", "iconLeft", "iconRight", "rightSlot"]);
66
63
  var _b = (0, react_1.useState)(false), focused = _b[0], setFocused = _b[1];
67
64
  var breakpoints = (0, hooks_1.useBreakpoint)();
68
- var input = (0, react_1.useContext)(styled_native_1.ThemeContext).input;
69
65
  return (react_1.default.createElement(InputWrapper, { focused: focused },
70
- iconLeft ? (react_1.default.createElement(StyledIcon, { name: iconLeft, size: (0, utils_1.pxToNumber)(input.icon.size), focused: focused, pointerEvents: "none", side: "left" })) : null,
71
- react_1.default.createElement(StyledInput, __assign({}, rest, breakpoints, { iconLeft: !!iconLeft, iconRight: !!iconRight, style: style,
66
+ iconLeft ? (react_1.default.createElement(StyledIcon, { name: iconLeft, size: 16, focused: focused, pointerEvents: "none", side: "left" })) : null,
67
+ react_1.default.createElement(StyledInput, __assign({}, rest, breakpoints, { iconLeft: !!iconLeft, iconRight: !!iconRight, hasRightSlot: !!rightSlot, style: style,
72
68
  // @ts-ignore
73
69
  ref: ref, onFocus: function (event) {
74
70
  setFocused(true);
@@ -81,22 +77,24 @@ var Input = (0, react_1.forwardRef)(function (_a, ref) {
81
77
  onBlur(event);
82
78
  }
83
79
  } })),
84
- iconRight ? (react_1.default.createElement(StyledIcon, { name: iconRight, size: (0, utils_1.pxToNumber)(input.icon.size), focused: focused, pointerEvents: "none", side: "right" })) : null));
80
+ iconRight && !rightSlot ? (react_1.default.createElement(StyledIcon, { name: iconRight, size: 16, focused: focused, pointerEvents: "none", side: "right" })) : null,
81
+ rightSlot));
85
82
  });
86
83
  exports.Input = Input;
87
84
  var InputWrapper = styled_native_1.default.View(function (_a) {
88
- var _b = _a.theme, input = _b.input, focusRing = _b.focusRing, focused = _a.focused;
89
- return (0, styled_native_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-self: stretch;\n background-color: ", ";\n border-radius: ", ";\n border-width: 0px;\n border-style: solid;\n border-color: ", ";\n flex-direction: row;\n\n ", "\n "], ["\n align-self: stretch;\n background-color: ", ";\n border-radius: ", ";\n border-width: 0px;\n border-style: solid;\n border-color: ", ";\n flex-direction: row;\n\n ", "\n "])), input.background, input.borderRadius, focusRing.color, focused
90
- ? "\n border-width: ".concat(focusRing.width, ";\n padding: ").concat(focusRing.distance, ";\n margin: -").concat((0, utils_1.pxToNumber)(focusRing.width) +
91
- (0, utils_1.pxToNumber)(focusRing.distance), "px;")
85
+ var _b = _a.theme, core = _b.core, semantic = _b.semantic, focused = _a.focused;
86
+ return (0, styled_native_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-self: stretch;\n border-radius: ", ";\n border-width: 0;\n border-style: solid;\n border-color: ", ";\n flex-direction: row;\n\n ", "\n "], ["\n align-self: stretch;\n border-radius: ", ";\n border-width: 0;\n border-style: solid;\n border-color: ", ";\n flex-direction: row;\n\n ", "\n "])), core.radius.small, semantic.border.functional, focused
87
+ ? "\n border-width: ".concat(core.borderWidth.small, ";\n border-color: ").concat(semantic.focus.outline, ";\n padding: 2px;\n margin: -4px;")
92
88
  : null);
93
89
  });
94
90
  var StyledInput = styled_native_1.default.TextInput(function (_a) {
95
- var input = _a.theme.input, invalid = _a.invalid, smallAndUp = _a.smallAndUp, iconLeft = _a.iconLeft, iconRight = _a.iconRight;
96
- var fontSize = smallAndUp ? input.fontSize[1] : input.fontSize[0];
91
+ var _b = _a.theme, core = _b.core, semantic = _b.semantic, invalid = _a.invalid, smallAndUp = _a.smallAndUp, iconLeft = _a.iconLeft, iconRight = _a.iconRight, hasRightSlot = _a.hasRightSlot;
92
+ var fontSize = smallAndUp
93
+ ? core.fontSize.body.large
94
+ : core.fontSize.body.small;
97
95
  var errorStyles = invalid
98
- ? "\n border-width: ".concat(input.error.borderWidth, ";\n border-color: ").concat(input.error.color, ";\n ")
96
+ ? "\n border-color: ".concat(semantic.message.error, ";\n ")
99
97
  : '';
100
- return (0, styled_native_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n font-family: ", ";\n font-weight: ", ";\n color: ", ";\n font-size: ", ";\n height: ", ";\n line-height: 18px; /* Corrects for responsive line height in fixed height input */\n border: ", " solid ", ";\n background: ", ";\n border-radius: ", ";\n padding: ", ";\n flex: 1;\n\n ", "\n ", "\n\n ", "\n "], ["\n font-family: ", ";\n font-weight: ", ";\n color: ", ";\n font-size: ", ";\n height: ", ";\n line-height: 18px; /* Corrects for responsive line height in fixed height input */\n border: ", " solid ", ";\n background: ", ";\n border-radius: ", ";\n padding: ", ";\n flex: 1;\n\n ", "\n ", "\n\n ", "\n "])), input.fontFamily, input.fontWeight, input.color, fontSize, input.height, input.borderWidth, input.borderColor, input.background, input.borderRadius, input.padding, iconLeft ? "padding-left: ".concat(input.height, ";") : '', iconRight ? "padding-right: ".concat(input.height, ";") : '', errorStyles);
98
+ return (0, styled_native_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n font-family: ", ";\n color: ", ";\n font-size: ", ";\n height: ", ";\n line-height: 18px; /* Corrects for responsive line height in fixed height input */\n border: ", " solid ", ";\n border-radius: ", ";\n padding: 0 ", ";\n flex: 1;\n\n ", "\n ", "\n\n ", "\n "], ["\n font-family: ", ";\n color: ", ";\n font-size: ", ";\n height: ", ";\n line-height: 18px; /* Corrects for responsive line height in fixed height input */\n border: ", " solid ", ";\n border-radius: ", ";\n padding: 0 ", ";\n flex: 1;\n\n ", "\n ", "\n\n ", "\n "])), core.fontFamily.body.native, semantic.message.base, fontSize, core.space[11], core.borderWidth.small, semantic.border.functional, core.radius.small, core.space[2], iconLeft ? "padding-left: ".concat(core.space[8], ";") : '', iconRight || hasRightSlot ? "padding-right: ".concat(core.space[8], ";") : '', errorStyles);
101
99
  });
102
100
  var templateObject_1, templateObject_2, templateObject_3;
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { TextInput as RNTextInput } from 'react-native';
3
- declare const NumberInput: React.ForwardRefExoticComponent<import("react-native").TextInputProps & {
3
+ declare const NumberInput: React.ForwardRefExoticComponent<import("react-native/types").TextInputProps & {
4
4
  invalid?: boolean | undefined;
5
5
  stretch?: boolean | undefined;
6
6
  iconLeft?: (string & {}) | import("../../providers").IconName | undefined;
7
7
  iconRight?: (string & {}) | import("../../providers").IconName | undefined;
8
+ rightSlot?: React.ReactNode;
8
9
  } & React.RefAttributes<RNTextInput>>;
9
10
  export { NumberInput };
@@ -1,9 +1,12 @@
1
1
  import React from 'react';
2
2
  import { TextInput as RNTextInput } from 'react-native';
3
- declare const PasswordInput: React.ForwardRefExoticComponent<import("react-native").TextInputProps & {
3
+ declare const PasswordInput: React.ForwardRefExoticComponent<import("react-native/types").TextInputProps & {
4
4
  invalid?: boolean | undefined;
5
5
  stretch?: boolean | undefined;
6
6
  iconLeft?: (string & {}) | import("../../providers").IconName | undefined;
7
7
  iconRight?: (string & {}) | import("../../providers").IconName | undefined;
8
+ rightSlot?: React.ReactNode;
9
+ } & {
10
+ hasVisibilityToggle?: boolean | undefined;
8
11
  } & React.RefAttributes<RNTextInput>>;
9
12
  export { PasswordInput };
@@ -48,8 +48,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
48
48
  exports.PasswordInput = void 0;
49
49
  var react_1 = __importStar(require("react"));
50
50
  var Input_1 = require("./Input");
51
+ var PasswordVisibilityToggle_1 = require("./PasswordVisibilityToggle");
51
52
  var PasswordInput = (0, react_1.forwardRef)(function (_a, ref) {
52
- var _b = _a.secureTextEntry, secureTextEntry = _b === void 0 ? true : _b, props = __rest(_a, ["secureTextEntry"]);
53
- return (react_1.default.createElement(Input_1.Input, __assign({}, props, { keyboardType: "default", autoCapitalize: "none", autoCorrect: false, secureTextEntry: secureTextEntry, ref: ref })));
53
+ var props = __rest(_a, []);
54
+ var _b = (0, PasswordVisibilityToggle_1.useTogglePasswordVisibility)(), isPasswordVisible = _b.isPasswordVisible, handlePasswordVisibility = _b.handlePasswordVisibility;
55
+ return (react_1.default.createElement(Input_1.Input, __assign({}, props, { rightSlot: props.hasVisibilityToggle ? (react_1.default.createElement(PasswordVisibilityToggle_1.PasswordVisibilityToggle, { iconName: isPasswordVisible ? 'hide' : 'show', visibilityToggleLabel: isPasswordVisible ? 'Hide password' : 'Show password', handlePasswordVisibility: handlePasswordVisibility })) : null, keyboardType: "default", autoCapitalize: "none", autoCorrect: false, blurOnSubmit: false, secureTextEntry: !isPasswordVisible, ref: ref })));
54
56
  });
55
57
  exports.PasswordInput = PasswordInput;
@@ -0,0 +1,231 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledPressable: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("react-native/types").PressableProps & import("react").RefAttributes<import("react-native/types").View>>, import("../../theme/theme").Theme & {
3
+ core: {
4
+ radius: Record<"small" | "medium" | "large" | "max", string>;
5
+ borderWidth: Record<"small" | "medium" | "large", string>;
6
+ breakpoint: Record<"small" | "medium" | "large", string | number>;
7
+ mediaQuery: Record<"small" | "medium" | "large", string>;
8
+ space: Record<0 | 2 | 1 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15, string>;
9
+ transition: Record<"medium" | "slow" | "fast", string>;
10
+ opacity: Record<"solid" | "transparent" | "translucent", string | number>;
11
+ color: Record<"neutral" | "red" | "orange" | "yellow" | "green" | "blue", {
12
+ lightest: string;
13
+ lighter: string;
14
+ light: string;
15
+ base: string;
16
+ dark: string;
17
+ darker: string;
18
+ darkest: string;
19
+ }> & {
20
+ brand: Record<string, string>;
21
+ };
22
+ fontFamily: Record<"heading" | "body" | "mono" | "bodyBold", {
23
+ native: string;
24
+ web: string;
25
+ }>;
26
+ fontWeight: Record<"bold" | "book" | "black", string | number>;
27
+ fontSize: Record<"small" | "body" | "label" | "lead" | "heading1" | "heading2" | "heading3" | "heading4", {
28
+ small: string | number;
29
+ large: string | number;
30
+ }>;
31
+ lineHeight: Record<"small" | "body" | "label" | "lead" | "heading1" | "heading2" | "heading3" | "heading4", {
32
+ small: string | number;
33
+ large: string | number;
34
+ }>;
35
+ letterSpacing: Record<"base" | "compressed" | "extraCompressed", number>;
36
+ };
37
+ semantic: {
38
+ surface: Record<"base" | "cutout" | "elevated", string>;
39
+ message: Record<"base" | "link" | "error" | "secondary" | "branded", string>;
40
+ border: Record<"graphic" | "differentiated" | "functional", string>;
41
+ focus: Record<"surface" | "outline" | "hover", string>;
42
+ inverted: Record<"border" | "surface", string> & {
43
+ message: Record<"base" | "link" | "secondary" | "branded", string>;
44
+ };
45
+ success: {
46
+ border: string;
47
+ surface: string;
48
+ surfaceEmphasis: string;
49
+ message: string;
50
+ messageOnEmphasis: string;
51
+ };
52
+ warning: {
53
+ border: string;
54
+ surface: string;
55
+ surfaceEmphasis: string;
56
+ message: string;
57
+ messageOnEmphasis: string;
58
+ };
59
+ error: {
60
+ border: string;
61
+ surface: string;
62
+ surfaceEmphasis: string;
63
+ message: string;
64
+ messageOnEmphasis: string;
65
+ };
66
+ info: {
67
+ border: string;
68
+ surface: string;
69
+ surfaceEmphasis: string;
70
+ message: string;
71
+ messageOnEmphasis: string;
72
+ };
73
+ data: Record<"gas" | "branded" | "electric", Record<2 | 1 | 3 | 4, string>>;
74
+ };
75
+ component: {
76
+ heading1: {
77
+ fontFamily: string;
78
+ fontWeight: string | number;
79
+ fontSize: {
80
+ small: string | number;
81
+ large: string | number;
82
+ };
83
+ lineHeight: {
84
+ small: string | number;
85
+ large: string | number;
86
+ };
87
+ };
88
+ heading2: {
89
+ fontFamily: string;
90
+ fontWeight: string | number;
91
+ fontSize: {
92
+ small: string | number;
93
+ large: string | number;
94
+ };
95
+ lineHeight: {
96
+ small: string | number;
97
+ large: string | number;
98
+ };
99
+ };
100
+ heading3: {
101
+ fontFamily: string;
102
+ fontWeight: string | number;
103
+ fontSize: {
104
+ small: string | number;
105
+ large: string | number;
106
+ };
107
+ lineHeight: {
108
+ small: string | number;
109
+ large: string | number;
110
+ };
111
+ };
112
+ heading4: {
113
+ fontFamily: string;
114
+ fontWeight: string | number;
115
+ fontSize: {
116
+ small: string | number;
117
+ large: string | number;
118
+ };
119
+ lineHeight: {
120
+ small: string | number;
121
+ large: string | number;
122
+ };
123
+ };
124
+ lead: {
125
+ fontFamily: string;
126
+ fontWeight: string | number;
127
+ fontSize: {
128
+ small: string | number;
129
+ large: string | number;
130
+ };
131
+ lineHeight: {
132
+ small: string | number;
133
+ large: string | number;
134
+ };
135
+ };
136
+ body: {
137
+ fontFamily: string;
138
+ fontWeight: string | number;
139
+ fontSize: {
140
+ small: string | number;
141
+ large: string | number;
142
+ };
143
+ lineHeight: {
144
+ small: string | number;
145
+ large: string | number;
146
+ };
147
+ };
148
+ small: {
149
+ fontFamily: string;
150
+ fontWeight: string | number;
151
+ fontSize: {
152
+ small: string | number;
153
+ large: string | number;
154
+ };
155
+ lineHeight: {
156
+ small: string | number;
157
+ large: string | number;
158
+ };
159
+ };
160
+ label: {
161
+ fontFamily: string;
162
+ fontWeight: string | number;
163
+ fontSize: {
164
+ small: string | number;
165
+ large: string | number;
166
+ };
167
+ lineHeight: {
168
+ small: string | number;
169
+ large: string | number;
170
+ };
171
+ };
172
+ cta: {
173
+ primary: {
174
+ message: string;
175
+ surface: string;
176
+ messageHover: string;
177
+ surfaceHover: string;
178
+ messageFocused: string;
179
+ surfaceFocused: string;
180
+ outlineFocused: string;
181
+ backgroundFocused: string;
182
+ };
183
+ secondary: {
184
+ message: string;
185
+ surface: string;
186
+ messageHover: string;
187
+ surfaceHover: string;
188
+ messageFocused: string;
189
+ surfaceFocused: string;
190
+ outlineFocused: string;
191
+ backgroundFocused: string;
192
+ };
193
+ destructive: {
194
+ message: string;
195
+ surface: string;
196
+ messageHover: string;
197
+ surfaceHover: string;
198
+ messageFocused: string;
199
+ surfaceFocused: string;
200
+ outlineFocused: string;
201
+ backgroundFocused: string;
202
+ };
203
+ };
204
+ badge: {
205
+ variants: {
206
+ red: {
207
+ foreground: string;
208
+ background: string;
209
+ };
210
+ orange: {
211
+ foreground: string;
212
+ background: string;
213
+ };
214
+ yellow: {
215
+ foreground: string;
216
+ background: string;
217
+ };
218
+ green: {
219
+ foreground: string;
220
+ background: string;
221
+ };
222
+ blue: {
223
+ foreground: string;
224
+ background: string;
225
+ };
226
+ };
227
+ };
228
+ };
229
+ }, {
230
+ focused: boolean;
231
+ }, never>;
@@ -0,0 +1,37 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ exports.StyledPressable = void 0;
31
+ var react_native_1 = require("react-native");
32
+ var styled_native_1 = __importStar(require("../../styled.native"));
33
+ exports.StyledPressable = (0, styled_native_1.default)(react_native_1.Pressable)(function (_a) {
34
+ var core = _a.theme.core, focused = _a.focused;
35
+ return (0, styled_native_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n position: absolute;\n width: ", ";\n z-index: 1;\n top: ", ";\n right: ", ";\n "], ["\n display: flex;\n align-items: center;\n position: absolute;\n width: ", ";\n z-index: 1;\n top: ", ";\n right: ", ";\n "])), core.space[4], focused ? '16px' : '14px', core.space[3]);
36
+ });
37
+ var templateObject_1;
@@ -0,0 +1,11 @@
1
+ export declare const useTogglePasswordVisibility: () => {
2
+ isPasswordVisible: boolean;
3
+ handlePasswordVisibility: () => void;
4
+ };
5
+ declare type PasswordVisibilityToggleProps = {
6
+ iconName: string;
7
+ visibilityToggleLabel: string;
8
+ handlePasswordVisibility: () => void;
9
+ };
10
+ export declare const PasswordVisibilityToggle: ({ iconName, visibilityToggleLabel, handlePasswordVisibility, }: PasswordVisibilityToggleProps) => JSX.Element;
11
+ export {};
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.PasswordVisibilityToggle = exports.useTogglePasswordVisibility = void 0;
27
+ var react_1 = __importStar(require("react"));
28
+ var Icon_1 = require("../Icon");
29
+ var PasswordInput_styled_1 = require("./PasswordInput.styled");
30
+ var useTogglePasswordVisibility = function () {
31
+ var _a = (0, react_1.useState)(false), isPasswordVisible = _a[0], setIsPasswordVisible = _a[1];
32
+ var handlePasswordVisibility = function () {
33
+ setIsPasswordVisible(!isPasswordVisible);
34
+ };
35
+ return {
36
+ isPasswordVisible: isPasswordVisible,
37
+ handlePasswordVisibility: handlePasswordVisibility,
38
+ };
39
+ };
40
+ exports.useTogglePasswordVisibility = useTogglePasswordVisibility;
41
+ var PasswordVisibilityToggle = function (_a) {
42
+ var iconName = _a.iconName, visibilityToggleLabel = _a.visibilityToggleLabel, handlePasswordVisibility = _a.handlePasswordVisibility;
43
+ var _b = (0, react_1.useState)(false), focused = _b[0], setFocused = _b[1];
44
+ return (react_1.default.createElement(PasswordInput_styled_1.StyledPressable, { testID: "password-input-visibility-toggle", focused: focused, accessibilityRole: "button", accessibilityLabel: visibilityToggleLabel, onPress: handlePasswordVisibility, hitSlop: 16, onFocus: function () {
45
+ setFocused(true);
46
+ }, onBlur: function () {
47
+ setFocused(false);
48
+ } },
49
+ react_1.default.createElement(Icon_1.Icon, { name: iconName, size: 16, pointerEvents: "none" })));
50
+ };
51
+ exports.PasswordVisibilityToggle = PasswordVisibilityToggle;
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { TextInput } from 'react-native';
3
- declare const TelInput: React.ForwardRefExoticComponent<import("react-native").TextInputProps & {
3
+ declare const PhoneInput: React.ForwardRefExoticComponent<import("react-native/types").TextInputProps & {
4
4
  invalid?: boolean | undefined;
5
5
  stretch?: boolean | undefined;
6
6
  iconLeft?: (string & {}) | import("../../providers").IconName | undefined;
7
7
  iconRight?: (string & {}) | import("../../providers").IconName | undefined;
8
+ rightSlot?: React.ReactNode;
8
9
  } & React.RefAttributes<TextInput>>;
9
- export { TelInput };
10
+ export { PhoneInput };
@@ -34,8 +34,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
34
34
  return result;
35
35
  };
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.TelInput = void 0;
37
+ exports.PhoneInput = void 0;
38
38
  var react_1 = __importStar(require("react"));
39
39
  var Input_1 = require("./Input");
40
- var TelInput = (0, react_1.forwardRef)(function (props, ref) { return (react_1.default.createElement(Input_1.Input, __assign({}, props, { keyboardType: "phone-pad", autoCapitalize: "none", autoCorrect: false, ref: ref }))); });
41
- exports.TelInput = TelInput;
40
+ var PhoneInput = (0, react_1.forwardRef)(function (props, ref) { return (react_1.default.createElement(Input_1.Input, __assign({}, props, { keyboardType: "phone-pad", autoCapitalize: "none", autoCorrect: false, ref: ref }))); });
41
+ exports.PhoneInput = PhoneInput;
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
2
  import { TextInput as RNTextInput } from 'react-native';
3
- declare const TextInput: React.ForwardRefExoticComponent<import("react-native").TextInputProps & {
3
+ declare const TextInput: React.ForwardRefExoticComponent<import("react-native/types").TextInputProps & {
4
4
  invalid?: boolean | undefined;
5
5
  stretch?: boolean | undefined;
6
6
  iconLeft?: (string & {}) | import("../../providers").IconName | undefined;
7
7
  iconRight?: (string & {}) | import("../../providers").IconName | undefined;
8
+ rightSlot?: React.ReactNode;
8
9
  } & React.RefAttributes<RNTextInput>>;
9
10
  export { TextInput };
@@ -4,11 +4,12 @@ import { InputProps } from './Input';
4
4
  declare type TextareaInputProps = InputProps & {
5
5
  rows?: number;
6
6
  };
7
- declare const TextareaInput: React.ForwardRefExoticComponent<import("react-native").TextInputProps & {
7
+ declare const TextareaInput: React.ForwardRefExoticComponent<import("react-native/types").TextInputProps & {
8
8
  invalid?: boolean | undefined;
9
9
  stretch?: boolean | undefined;
10
10
  iconLeft?: (string & {}) | import("../../providers").IconName | undefined;
11
11
  iconRight?: (string & {}) | import("../../providers").IconName | undefined;
12
+ rightSlot?: React.ReactNode;
12
13
  } & {
13
14
  rows?: number | undefined;
14
15
  } & React.RefAttributes<RNTextInput>>;
@@ -1,4 +1,8 @@
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
+ };
2
6
  var __assign = (this && this.__assign) || function () {
3
7
  __assign = Object.assign || function(t) {
4
8
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -47,18 +51,16 @@ var __rest = (this && this.__rest) || function (s, e) {
47
51
  Object.defineProperty(exports, "__esModule", { value: true });
48
52
  exports.TextareaInput = void 0;
49
53
  var react_1 = __importStar(require("react"));
50
- var hooks_1 = require("../../hooks");
51
- var styled_native_1 = require("../../styled.native");
52
- var theme_1 = require("../../theme");
54
+ var styled_native_1 = __importStar(require("../../styled.native"));
53
55
  var utils_1 = require("../../utils");
54
56
  var Input_1 = require("./Input");
57
+ var StyledInput = (0, styled_native_1.default)(Input_1.Input)(function (_a) {
58
+ var core = _a.theme.core, rows = _a.rows;
59
+ return (0, styled_native_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: ", " ", " ", " ", ";\n height: ", "px;\n "], ["\n padding: ", " ", " ", " ", ";\n height: ", "px;\n "])), core.space[3], core.space[2], core.space[2], core.space[2], (0, utils_1.pxToNumber)(core.space[8]) * rows);
60
+ });
55
61
  var TextareaInput = (0, react_1.forwardRef)(function (_a, ref) {
56
62
  var _b = _a.rows, rows = _b === void 0 ? 3 : _b, rest = __rest(_a, ["rows"]);
57
- var input = (0, styled_native_1.useTheme)().input;
58
- var smallAndUp = (0, hooks_1.useBreakpoint)().smallAndUp;
59
- var height = (0, utils_1.pxToNumber)(input.padding) * 2 +
60
- (0, utils_1.pxToNumber)((0, theme_1.calculateLineHeight)(smallAndUp ? input.fontSize[1] : input.fontSize[0], input.lineHeight)) *
61
- rows;
62
- return (react_1.default.createElement(Input_1.Input, __assign({}, rest, { keyboardType: "default", multiline: true, textAlignVertical: "top", style: { height: height }, ref: ref })));
63
+ return (react_1.default.createElement(StyledInput, __assign({}, rest, { keyboardType: "default", multiline: true, textAlignVertical: "top", rows: rows, ref: ref })));
63
64
  });
64
65
  exports.TextareaInput = TextareaInput;
66
+ var templateObject_1;
@@ -1,7 +1,7 @@
1
1
  export { CurrencyInput } from './CurrencyInput';
2
2
  export { EmailInput } from './EmailInput';
3
3
  export { NumberInput } from './NumberInput';
4
- export { TelInput } from './TelInput';
4
+ export { PhoneInput } from './PhoneInput';
5
5
  export { TextInput } from './TextInput';
6
6
  export { PasswordInput } from './PasswordInput';
7
7
  export { TextareaInput } from './TextareaInput';
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TextareaInput = exports.PasswordInput = exports.TextInput = exports.TelInput = exports.NumberInput = exports.EmailInput = exports.CurrencyInput = void 0;
3
+ exports.TextareaInput = exports.PasswordInput = exports.TextInput = exports.PhoneInput = exports.NumberInput = exports.EmailInput = exports.CurrencyInput = void 0;
4
4
  var CurrencyInput_1 = require("./CurrencyInput");
5
5
  Object.defineProperty(exports, "CurrencyInput", { enumerable: true, get: function () { return CurrencyInput_1.CurrencyInput; } });
6
6
  var EmailInput_1 = require("./EmailInput");
7
7
  Object.defineProperty(exports, "EmailInput", { enumerable: true, get: function () { return EmailInput_1.EmailInput; } });
8
8
  var NumberInput_1 = require("./NumberInput");
9
9
  Object.defineProperty(exports, "NumberInput", { enumerable: true, get: function () { return NumberInput_1.NumberInput; } });
10
- var TelInput_1 = require("./TelInput");
11
- Object.defineProperty(exports, "TelInput", { enumerable: true, get: function () { return TelInput_1.TelInput; } });
10
+ var PhoneInput_1 = require("./PhoneInput");
11
+ Object.defineProperty(exports, "PhoneInput", { enumerable: true, get: function () { return PhoneInput_1.PhoneInput; } });
12
12
  var TextInput_1 = require("./TextInput");
13
13
  Object.defineProperty(exports, "TextInput", { enumerable: true, get: function () { return TextInput_1.TextInput; } });
14
14
  var PasswordInput_1 = require("./PasswordInput");