@ovotech/element-native 3.3.2 → 3.4.0-canary-d9e3d0a-143

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 (257) hide show
  1. package/dist/components/Accordion/Accordion.js +5 -5
  2. package/dist/components/Accordion/styles.d.ts +4 -3
  3. package/dist/components/Accordion/styles.js +2 -2
  4. package/dist/components/ActionCard/ActionCard.d.ts +19 -0
  5. package/dist/components/ActionCard/ActionCard.js +115 -0
  6. package/dist/components/ActionCard/CloseIconShape.d.ts +3 -0
  7. package/dist/components/ActionCard/CloseIconShape.js +52 -0
  8. package/dist/components/ActionCard/IndicatorIconShape.d.ts +3 -0
  9. package/dist/components/ActionCard/IndicatorIconShape.js +52 -0
  10. package/dist/components/ActionCard/index.d.ts +1 -0
  11. package/dist/components/ActionCard/index.js +5 -0
  12. package/dist/components/ActionList/styled.d.ts +5 -5
  13. package/dist/components/Badge/Badge.d.ts +1 -1
  14. package/dist/components/Card/Card.d.ts +1 -1
  15. package/dist/components/{TextField → CurrencyField}/CurrencyField.js +1 -1
  16. package/dist/components/CurrencyField/index.d.ts +1 -0
  17. package/dist/components/CurrencyField/index.js +5 -0
  18. package/dist/components/{Input → CurrencyInput}/CurrencyInput.d.ts +1 -1
  19. package/dist/components/{Input → CurrencyInput}/CurrencyInput.js +1 -1
  20. package/dist/components/CurrencyInput/index.d.ts +1 -0
  21. package/dist/components/CurrencyInput/index.js +5 -0
  22. package/dist/components/DataTable/styles.d.ts +11 -11
  23. package/dist/components/DateField/DateField.js +2 -2
  24. package/dist/components/DescriptionList/styled.d.ts +1 -1
  25. package/dist/components/{SkeletonLoading/Skeleton.d.ts → Em/Em.d.ts} +2 -2
  26. package/dist/components/Em/Em.js +13 -0
  27. package/dist/components/Em/index.d.ts +1 -0
  28. package/dist/components/Em/index.js +5 -0
  29. package/dist/components/{TextField → EmailField}/EmailField.js +1 -1
  30. package/dist/components/EmailField/index.d.ts +1 -0
  31. package/dist/components/EmailField/index.js +5 -0
  32. package/dist/components/{Input → EmailInput}/EmailInput.js +1 -1
  33. package/dist/components/EmailInput/index.d.ts +1 -0
  34. package/dist/components/EmailInput/index.js +5 -0
  35. package/dist/components/ErrorText/ErrorText.d.ts +1 -1
  36. package/dist/components/Grid/Col.d.ts +1 -1
  37. package/dist/components/Grid/Row.d.ts +1 -1
  38. package/dist/components/Heading1/Heading1.d.ts +3 -0
  39. package/dist/components/{Heading/Heading.js → Heading1/Heading1.js} +2 -35
  40. package/dist/components/Heading1/index.d.ts +1 -0
  41. package/dist/components/Heading1/index.js +5 -0
  42. package/dist/components/Heading2/Heading2.d.ts +3 -0
  43. package/dist/components/Heading2/Heading2.js +71 -0
  44. package/dist/components/Heading2/index.d.ts +1 -0
  45. package/dist/components/Heading2/index.js +5 -0
  46. package/dist/components/Heading3/Heading3.d.ts +3 -0
  47. package/dist/components/Heading3/Heading3.js +71 -0
  48. package/dist/components/Heading3/index.d.ts +1 -0
  49. package/dist/components/Heading3/index.js +5 -0
  50. package/dist/components/Heading4/Heading4.d.ts +3 -0
  51. package/dist/components/Heading4/Heading4.js +71 -0
  52. package/dist/components/Heading4/index.d.ts +1 -0
  53. package/dist/components/Heading4/index.js +5 -0
  54. package/dist/components/HintText/HintText.d.ts +1 -1
  55. package/dist/components/LabelText/LabelText.d.ts +1 -1
  56. package/dist/components/LineThrough/LineThrough.d.ts +228 -0
  57. package/dist/components/{SkeletonLoading/Skeleton.js → LineThrough/LineThrough.js} +2 -2
  58. package/dist/components/LineThrough/index.d.ts +1 -0
  59. package/dist/components/LineThrough/index.js +5 -0
  60. package/dist/components/List/List.d.ts +4 -240
  61. package/dist/components/List/List.js +44 -91
  62. package/dist/components/{Text/Text.d.ts → List/styled.d.ts} +658 -442
  63. package/dist/components/List/styled.js +70 -0
  64. package/dist/components/Margin/Margin.d.ts +1 -1
  65. package/dist/components/NavHeader/IconButton.d.ts +13 -0
  66. package/dist/components/NavHeader/IconButton.js +31 -0
  67. package/dist/components/NavHeader/NavHeader.d.ts +7 -14
  68. package/dist/components/NavHeader/NavHeader.js +39 -48
  69. package/dist/components/NavHeader/NavHeader.styles.d.ts +1833 -0
  70. package/dist/components/NavHeader/NavHeader.styles.js +72 -0
  71. package/dist/components/NavHeader/index.d.ts +1 -1
  72. package/dist/components/Notification/Notification.d.ts +2 -2
  73. package/dist/components/{TextField → NumberField}/NumberField.js +1 -1
  74. package/dist/components/NumberField/index.d.ts +1 -0
  75. package/dist/components/NumberField/index.js +5 -0
  76. package/dist/components/{Input → NumberInput}/NumberInput.js +1 -1
  77. package/dist/components/NumberInput/index.d.ts +1 -0
  78. package/dist/components/NumberInput/index.js +5 -0
  79. package/dist/components/P/P.d.ts +239 -0
  80. package/dist/components/P/P.js +38 -0
  81. package/dist/components/P/index.d.ts +1 -0
  82. package/dist/components/P/index.js +5 -0
  83. package/dist/components/{TextField → PasswordField}/PasswordField.js +1 -1
  84. package/dist/components/PasswordField/index.d.ts +1 -0
  85. package/dist/components/PasswordField/index.js +5 -0
  86. package/dist/components/{Input → PasswordInput}/PasswordInput.js +1 -1
  87. package/dist/components/{Input → PasswordInput}/PasswordInput.styled.d.ts +1 -1
  88. package/dist/components/PasswordInput/index.d.ts +1 -0
  89. package/dist/components/PasswordInput/index.js +5 -0
  90. package/dist/components/{TextField → PhoneField}/PhoneField.js +1 -1
  91. package/dist/components/PhoneField/index.d.ts +1 -0
  92. package/dist/components/PhoneField/index.js +5 -0
  93. package/dist/components/{Input → PhoneInput}/PhoneInput.d.ts +1 -2
  94. package/dist/components/{Input → PhoneInput}/PhoneInput.js +2 -3
  95. package/dist/components/PhoneInput/index.d.ts +1 -0
  96. package/dist/components/PhoneInput/index.js +5 -0
  97. package/dist/components/SelectField/Select.d.ts +1 -1
  98. package/dist/components/SelectField/Select.js +5 -4
  99. package/dist/components/SkeletonAnimation/index.d.ts +1 -0
  100. package/dist/components/SkeletonAnimation/index.js +5 -0
  101. package/dist/components/{SkeletonLoading → SkeletonCTA}/SkeletonCTA.js +4 -5
  102. package/dist/components/SkeletonCTA/index.d.ts +1 -0
  103. package/dist/components/SkeletonCTA/index.js +5 -0
  104. package/dist/components/{SkeletonLoading → SkeletonCircle}/SkeletonCircle.js +3 -4
  105. package/dist/components/SkeletonCircle/index.d.ts +1 -0
  106. package/dist/components/SkeletonCircle/index.js +5 -0
  107. package/dist/components/{SkeletonLoading → SkeletonHeading}/SkeletonHeading.js +4 -5
  108. package/dist/components/SkeletonHeading/index.d.ts +1 -0
  109. package/dist/components/SkeletonHeading/index.js +5 -0
  110. package/dist/components/{SkeletonLoading → SkeletonText}/SkeletonText.js +4 -5
  111. package/dist/components/SkeletonText/index.d.ts +1 -0
  112. package/dist/components/SkeletonText/index.js +5 -0
  113. package/dist/components/Small/Small.d.ts +239 -0
  114. package/dist/components/Small/Small.js +38 -0
  115. package/dist/components/Small/index.d.ts +1 -0
  116. package/dist/components/Small/index.js +5 -0
  117. package/dist/components/Strong/Strong.d.ts +228 -0
  118. package/dist/components/Strong/Strong.js +11 -0
  119. package/dist/components/Strong/index.d.ts +1 -0
  120. package/dist/components/Strong/index.js +5 -0
  121. package/dist/components/SubLabelText/SubLabelText.d.ts +1 -1
  122. package/dist/components/TextField/TextField.js +1 -1
  123. package/dist/components/TextField/index.d.ts +0 -7
  124. package/dist/components/TextField/index.js +1 -15
  125. package/dist/components/TextGroup/TextGroup.d.ts +3 -0
  126. package/dist/components/TextGroup/TextGroup.js +47 -0
  127. package/dist/components/TextGroup/index.d.ts +1 -0
  128. package/dist/components/TextGroup/index.js +5 -0
  129. package/dist/components/{Input → TextInput}/TextInput.js +1 -1
  130. package/dist/components/TextInput/index.d.ts +1 -0
  131. package/dist/components/TextInput/index.js +5 -0
  132. package/dist/components/{TextField → TextareaField}/TextareaField.js +1 -1
  133. package/dist/components/TextareaField/index.d.ts +1 -0
  134. package/dist/components/TextareaField/index.js +5 -0
  135. package/dist/components/{Input → TextareaInput}/TextareaInput.d.ts +1 -1
  136. package/dist/components/{Input → TextareaInput}/TextareaInput.js +1 -1
  137. package/dist/components/TextareaInput/index.d.ts +1 -0
  138. package/dist/components/TextareaInput/index.js +5 -0
  139. package/dist/components/index.d.ts +28 -4
  140. package/dist/components/index.js +28 -4
  141. package/dist/esm/components/Accordion/Accordion.js +3 -3
  142. package/dist/esm/components/Accordion/styles.js +2 -2
  143. package/dist/esm/components/ActionCard/ActionCard.js +85 -0
  144. package/dist/esm/components/ActionCard/CloseIconShape.js +22 -0
  145. package/dist/esm/components/ActionCard/IndicatorIconShape.js +22 -0
  146. package/dist/esm/components/ActionCard/index.js +1 -0
  147. package/dist/esm/components/{TextField → CurrencyField}/CurrencyField.js +1 -1
  148. package/dist/esm/components/CurrencyField/index.js +1 -0
  149. package/dist/esm/components/{Input → CurrencyInput}/CurrencyInput.js +1 -1
  150. package/dist/esm/components/CurrencyInput/index.js +1 -0
  151. package/dist/esm/components/DateField/DateField.js +1 -1
  152. package/dist/esm/components/Em/Em.js +7 -0
  153. package/dist/esm/components/Em/index.js +1 -0
  154. package/dist/esm/components/{TextField → EmailField}/EmailField.js +1 -1
  155. package/dist/esm/components/EmailField/index.js +1 -0
  156. package/dist/esm/components/{Input → EmailInput}/EmailInput.js +1 -1
  157. package/dist/esm/components/EmailInput/index.js +1 -0
  158. package/dist/esm/components/Heading1/Heading1.js +44 -0
  159. package/dist/esm/components/Heading1/index.js +1 -0
  160. package/dist/esm/components/Heading2/Heading2.js +44 -0
  161. package/dist/esm/components/Heading2/index.js +1 -0
  162. package/dist/esm/components/Heading3/Heading3.js +44 -0
  163. package/dist/esm/components/Heading3/index.js +1 -0
  164. package/dist/esm/components/Heading4/Heading4.js +44 -0
  165. package/dist/esm/components/Heading4/index.js +1 -0
  166. package/dist/esm/components/{SkeletonLoading/Skeleton.js → LineThrough/LineThrough.js} +1 -1
  167. package/dist/esm/components/LineThrough/index.js +1 -0
  168. package/dist/esm/components/List/List.js +41 -65
  169. package/dist/esm/components/List/styled.js +44 -0
  170. package/dist/esm/components/NavHeader/IconButton.js +27 -0
  171. package/dist/esm/components/NavHeader/NavHeader.js +41 -50
  172. package/dist/esm/components/NavHeader/NavHeader.styles.js +43 -0
  173. package/dist/esm/components/{TextField → NumberField}/NumberField.js +1 -1
  174. package/dist/esm/components/NumberField/index.js +1 -0
  175. package/dist/esm/components/{Input → NumberInput}/NumberInput.js +1 -1
  176. package/dist/esm/components/NumberInput/index.js +1 -0
  177. package/dist/esm/components/P/P.js +12 -0
  178. package/dist/esm/components/P/index.js +1 -0
  179. package/dist/esm/components/{TextField → PasswordField}/PasswordField.js +1 -1
  180. package/dist/esm/components/PasswordField/index.js +1 -0
  181. package/dist/esm/components/{Input → PasswordInput}/PasswordInput.js +1 -1
  182. package/dist/esm/components/PasswordInput/index.js +1 -0
  183. package/dist/esm/components/{TextField → PhoneField}/PhoneField.js +1 -1
  184. package/dist/esm/components/PhoneField/index.js +1 -0
  185. package/dist/esm/components/{Input → PhoneInput}/PhoneInput.js +2 -3
  186. package/dist/esm/components/PhoneInput/index.js +1 -0
  187. package/dist/esm/components/SelectField/Select.js +2 -1
  188. package/dist/esm/components/SkeletonAnimation/index.js +1 -0
  189. package/dist/esm/components/{SkeletonLoading → SkeletonCTA}/SkeletonCTA.js +3 -4
  190. package/dist/esm/components/SkeletonCTA/index.js +1 -0
  191. package/dist/esm/components/{SkeletonLoading → SkeletonCircle}/SkeletonCircle.js +3 -4
  192. package/dist/esm/components/SkeletonCircle/index.js +1 -0
  193. package/dist/esm/components/{SkeletonLoading → SkeletonHeading}/SkeletonHeading.js +3 -4
  194. package/dist/esm/components/SkeletonHeading/index.js +1 -0
  195. package/dist/esm/components/{SkeletonLoading → SkeletonText}/SkeletonText.js +3 -4
  196. package/dist/esm/components/SkeletonText/index.js +1 -0
  197. package/dist/esm/components/Small/Small.js +12 -0
  198. package/dist/esm/components/Small/index.js +1 -0
  199. package/dist/esm/components/Strong/Strong.js +5 -0
  200. package/dist/esm/components/Strong/index.js +1 -0
  201. package/dist/esm/components/TextField/TextField.js +1 -1
  202. package/dist/esm/components/TextField/index.js +0 -7
  203. package/dist/esm/components/TextGroup/TextGroup.js +43 -0
  204. package/dist/esm/components/TextGroup/index.js +1 -0
  205. package/dist/esm/components/{Input → TextInput}/TextInput.js +1 -1
  206. package/dist/esm/components/TextInput/index.js +1 -0
  207. package/dist/esm/components/{TextField → TextareaField}/TextareaField.js +1 -1
  208. package/dist/esm/components/TextareaField/index.js +1 -0
  209. package/dist/esm/components/{Input → TextareaInput}/TextareaInput.js +1 -1
  210. package/dist/esm/components/TextareaInput/index.js +1 -0
  211. package/dist/esm/components/index.js +28 -4
  212. package/dist/styled.native.d.ts +6 -6
  213. package/package.json +5 -3
  214. package/dist/components/Heading/Heading.d.ts +0 -6
  215. package/dist/components/Heading/index.d.ts +0 -1
  216. package/dist/components/Heading/index.js +0 -8
  217. package/dist/components/Input/index.d.ts +0 -7
  218. package/dist/components/Input/index.js +0 -17
  219. package/dist/components/SkeletonLoading/index.d.ts +0 -5
  220. package/dist/components/SkeletonLoading/index.js +0 -21
  221. package/dist/components/Text/Text.js +0 -93
  222. package/dist/components/Text/index.d.ts +0 -1
  223. package/dist/components/Text/index.js +0 -10
  224. package/dist/components/TextField/TelField.d.ts +0 -14
  225. package/dist/components/TextField/TelField.js +0 -38
  226. package/dist/esm/components/Heading/Heading.js +0 -74
  227. package/dist/esm/components/Heading/index.js +0 -1
  228. package/dist/esm/components/Input/index.js +0 -7
  229. package/dist/esm/components/SkeletonLoading/index.js +0 -5
  230. package/dist/esm/components/Text/Text.js +0 -66
  231. package/dist/esm/components/Text/index.js +0 -1
  232. package/dist/esm/components/TextField/TelField.js +0 -35
  233. /package/dist/components/{TextField → CurrencyField}/CurrencyField.d.ts +0 -0
  234. /package/dist/components/{TextField → EmailField}/EmailField.d.ts +0 -0
  235. /package/dist/components/{Input → EmailInput}/EmailInput.d.ts +0 -0
  236. /package/dist/components/{TextField → NumberField}/NumberField.d.ts +0 -0
  237. /package/dist/components/{Input → NumberInput}/NumberInput.d.ts +0 -0
  238. /package/dist/components/{TextField → PasswordField}/PasswordField.d.ts +0 -0
  239. /package/dist/components/{Input → PasswordInput}/PasswordInput.d.ts +0 -0
  240. /package/dist/components/{Input → PasswordInput}/PasswordInput.styled.js +0 -0
  241. /package/dist/components/{Input → PasswordInput}/PasswordVisibilityToggle.d.ts +0 -0
  242. /package/dist/components/{Input → PasswordInput}/PasswordVisibilityToggle.js +0 -0
  243. /package/dist/components/{TextField → PhoneField}/PhoneField.d.ts +0 -0
  244. /package/dist/components/{SkeletonLoading → SkeletonAnimation}/SkeletonAnimation.d.ts +0 -0
  245. /package/dist/components/{SkeletonLoading → SkeletonAnimation}/SkeletonAnimation.js +0 -0
  246. /package/dist/components/{SkeletonLoading → SkeletonCTA}/SkeletonCTA.d.ts +0 -0
  247. /package/dist/components/{SkeletonLoading → SkeletonCircle}/SkeletonCircle.d.ts +0 -0
  248. /package/dist/components/{SkeletonLoading → SkeletonHeading}/SkeletonHeading.d.ts +0 -0
  249. /package/dist/components/{SkeletonLoading → SkeletonText}/SkeletonText.d.ts +0 -0
  250. /package/dist/components/{Input → TextInput}/TextInput.d.ts +0 -0
  251. /package/dist/components/{TextField → TextareaField}/TextareaField.d.ts +0 -0
  252. /package/dist/esm/components/{Input → PasswordInput}/PasswordInput.styled.js +0 -0
  253. /package/dist/esm/components/{Input → PasswordInput}/PasswordVisibilityToggle.js +0 -0
  254. /package/dist/esm/components/{SkeletonLoading → SkeletonAnimation}/SkeletonAnimation.js +0 -0
  255. /package/dist/esm/{components/Accordion/hooks.js → hooks/use-layout.js} +0 -0
  256. /package/dist/{components/Accordion/hooks.d.ts → hooks/use-layout.d.ts} +0 -0
  257. /package/dist/{components/Accordion/hooks.js → hooks/use-layout.js} +0 -0
@@ -0,0 +1,70 @@
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.StyledLi = exports.StyledList = exports.StyledOlItem = exports.StyledUlItem = exports.StyledBullet = exports.UlBullet = void 0;
31
+ var styled_native_1 = __importStar(require("../../styled.native"));
32
+ var utils_1 = require("../../utils");
33
+ exports.UlBullet = styled_native_1.default.View(function (_a) {
34
+ var _b = _a.theme, core = _b.core, semantic = _b.semantic, _c = _a.visible, visible = _c === void 0 ? true : _c, smallAndUp = _a.smallAndUp;
35
+ var lineHeight = smallAndUp
36
+ ? core.lineHeight.body.large
37
+ : core.lineHeight.body.small;
38
+ var topMargin = ((0, utils_1.pxToNumber)(lineHeight) - (0, utils_1.pxToNumber)(core.space[2])) / 2;
39
+ return (0, styled_native_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-right: ", ";\n margin-top: ", "px;\n width: ", ";\n height: ", ";\n background-color: ", ";\n "], ["\n margin-right: ", ";\n margin-top: ", "px;\n width: ", ";\n height: ", ";\n background-color: ", ";\n "])), core.space[2], topMargin, core.space[2], core.space[2], visible ? semantic.message.base : 'transparent');
40
+ });
41
+ exports.StyledBullet = styled_native_1.default.Text(function (_a) {
42
+ var _b = _a.theme, core = _b.core, semantic = _b.semantic, smallAndUp = _a.smallAndUp;
43
+ var fontSize = smallAndUp
44
+ ? core.fontSize.body.large
45
+ : core.fontSize.body.small;
46
+ var lineHeight = smallAndUp
47
+ ? core.lineHeight.body.large
48
+ : core.lineHeight.body.small;
49
+ return (0, styled_native_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n font-family: ", ";\n line-height: ", ";\n color: ", ";\n font-size: ", ";\n margin-right: ", ";\n width: ", ";\n text-align: right;\n "], ["\n font-family: ", ";\n line-height: ", ";\n color: ", ";\n font-size: ", ";\n margin-right: ", ";\n width: ", ";\n text-align: right;\n "])), core.fontFamily.body.native, lineHeight, semantic.message.base, fontSize, core.space[2], core.space[4]);
50
+ });
51
+ exports.StyledUlItem = styled_native_1.default.View(function (_a) {
52
+ var core = _a.theme.core, level = _a.level;
53
+ return (0, styled_native_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n padding-left: ", ";\n "], ["\n flex-direction: row;\n align-items: flex-start;\n justify-content: center;\n padding-left: ", ";\n "])), core.space[level]);
54
+ });
55
+ exports.StyledOlItem = exports.StyledUlItem;
56
+ exports.StyledList = styled_native_1.default.View(function (_a) {
57
+ var core = _a.theme.core, smallAndUp = _a.smallAndUp;
58
+ return (0, styled_native_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n flex-direction: column;\n flex: 1;\n margin-top: ", ";\n margin-bottom: ", ";\n "], ["\n flex-direction: column;\n flex: 1;\n margin-top: ", ";\n margin-bottom: ", ";\n "])), smallAndUp ? core.space[3] : core.space[2], smallAndUp ? core.space[3] : core.space[2]);
59
+ });
60
+ exports.StyledLi = styled_native_1.default.Text(function (_a) {
61
+ var _b = _a.theme, core = _b.core, semantic = _b.semantic, smallAndUp = _a.smallAndUp;
62
+ var fontSize = smallAndUp
63
+ ? core.fontSize.body.large
64
+ : core.fontSize.body.small;
65
+ var lineHeight = smallAndUp
66
+ ? core.lineHeight.body.large
67
+ : core.lineHeight.body.large;
68
+ return (0, styled_native_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n font-family: ", ";\n line-height: ", ";\n color: ", ";\n font-size: ", ";\n flex: 1;\n "], ["\n font-family: ", ";\n line-height: ", ";\n color: ", ";\n font-size: ", ";\n flex: 1;\n "])), core.fontFamily.body.native, lineHeight, semantic.message.base, fontSize);
69
+ });
70
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -18,7 +18,7 @@ declare const StyledMargin: import("styled-components").StyledComponent<typeof i
18
18
  borderWidth: Record<"small" | "medium" | "large", string>;
19
19
  breakpoint: Record<"small" | "medium" | "large", string | number>;
20
20
  mediaQuery: Record<"small" | "medium" | "large", string>;
21
- space: Record<0 | 2 | 1 | 3 | 4 | 10 | 5 | 6 | 7 | 8 | 9 | 11 | 12 | 13 | 14 | 15, string>;
21
+ space: Record<0 | 2 | 1 | 3 | 4 | 5 | 10 | 6 | 7 | 8 | 9 | 11 | 12 | 13 | 14 | 15, string>;
22
22
  transition: Record<"medium" | "slow" | "fast", string>;
23
23
  opacity: Record<"solid" | "transparent" | "translucent", string | number>;
24
24
  color: Record<"neutral" | "red" | "orange" | "yellow" | "green" | "blue", {
@@ -0,0 +1,13 @@
1
+ import { ComplexAnimationBuilder } from 'react-native-reanimated';
2
+ import { IconNameExtended } from '../../providers';
3
+ export declare type RightActionConfig = {
4
+ iconName?: IconNameExtended;
5
+ onActionPress?: () => void;
6
+ };
7
+ declare type IconButtonProps = {
8
+ size: 'small' | 'large';
9
+ animation: ComplexAnimationBuilder;
10
+ rightActionConfig?: RightActionConfig;
11
+ };
12
+ export declare const IconButton: ({ size, animation, rightActionConfig, }: IconButtonProps) => JSX.Element | null;
13
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.IconButton = void 0;
15
+ var jsx_runtime_1 = require("react/jsx-runtime");
16
+ var element_core_1 = require("@ovotech/element-core");
17
+ var react_native_1 = require("react-native");
18
+ var Icon_1 = require("../Icon");
19
+ var NavHeader_styles_1 = require("./NavHeader.styles");
20
+ var IconButton = function (_a) {
21
+ var size = _a.size, animation = _a.animation, rightActionConfig = _a.rightActionConfig;
22
+ var ButtonStyled = size === 'small' ? NavHeader_styles_1.StyledIconButtonS : NavHeader_styles_1.StyledIconButtonL;
23
+ if (!rightActionConfig || !(rightActionConfig === null || rightActionConfig === void 0 ? void 0 : rightActionConfig.iconName)) {
24
+ return null;
25
+ }
26
+ return ((0, jsx_runtime_1.jsx)(react_native_1.Pressable, __assign({ hitSlop: 44, pressRetentionOffset: 44, onPress: rightActionConfig === null || rightActionConfig === void 0 ? void 0 : rightActionConfig.onActionPress }, { children: function (_a) {
27
+ var pressed = _a.pressed;
28
+ return ((0, jsx_runtime_1.jsx)(ButtonStyled, __assign({ entering: animation, "$pressed": pressed }, { children: (0, jsx_runtime_1.jsx)(Icon_1.Icon, { name: rightActionConfig.iconName, size: size === 'small' ? 16 : 18, color: element_core_1.theme.semantic.inverted.message.base }) })));
29
+ } })));
30
+ };
31
+ exports.IconButton = IconButton;
@@ -1,16 +1,9 @@
1
- /// <reference types="react" />
2
- declare type NavHeaderProps = {
3
- headline?: boolean;
4
- options: NavHeaderOptions;
5
- };
6
- declare type NavHeaderOptions = {
1
+ import { RightActionConfig } from './IconButton';
2
+ export declare type NavHeaderProps = {
7
3
  title?: string;
8
- statusBarHeight?: number;
9
- header?(): React.ReactNode;
10
- headerLeft?(): React.ReactNode;
11
- headerRight?(): React.ReactNode;
12
- canGoBack(): boolean;
13
- goBack(): void;
4
+ scrolled: boolean;
5
+ rightActionConfig?: RightActionConfig;
6
+ canGoBack?: boolean;
7
+ goBack?: () => void;
14
8
  };
15
- export declare const NavHeader: ({ options, headline }: NavHeaderProps) => JSX.Element;
16
- export {};
9
+ export declare const NavHeader: ({ title, scrolled, rightActionConfig, canGoBack, goBack, }: NavHeaderProps) => JSX.Element;
@@ -1,8 +1,4 @@
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
2
  var __assign = (this && this.__assign) || function () {
7
3
  __assign = Object.assign || function(t) {
8
4
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -40,51 +36,46 @@ var __importStar = (this && this.__importStar) || function (mod) {
40
36
  Object.defineProperty(exports, "__esModule", { value: true });
41
37
  exports.NavHeader = void 0;
42
38
  var jsx_runtime_1 = require("react/jsx-runtime");
43
- var react_native_1 = require("react-native");
39
+ var element_core_1 = require("@ovotech/element-core");
40
+ var react_1 = require("react");
44
41
  var react_native_reanimated_1 = __importStar(require("react-native-reanimated"));
45
- var react_native_svg_1 = require("react-native-svg");
46
- var styled_native_1 = __importStar(require("../../styled.native"));
47
- var Heading_1 = require("../Heading");
48
- var BackIcon = function () {
49
- return ((0, jsx_runtime_1.jsx)(react_native_svg_1.Svg, __assign({ width: "10", height: "16", viewBox: "0 0 10 16" }, { children: (0, jsx_runtime_1.jsx)(react_native_svg_1.Path, { d: "M0.579956 8L8.57996 16L9.99996 14.58L3.41996 8L9.99996 1.42L8.57996 0L0.579956 8Z", fill: "white" }) })));
50
- };
51
- var StyledText = styled_native_1.default.Text(function (_a) {
52
- var _b = _a.theme, core = _b.core, semantic = _b.semantic;
53
- return (0, styled_native_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: ", ";\n font-size: ", ";\n font-family: ", ";\n "], ["\n color: ", ";\n font-size: ", ";\n font-family: ", ";\n "])), semantic.inverted.message.base, core.fontSize.small.small, core.fontFamily.body.native);
54
- });
55
- var LeftHeaderText = (0, styled_native_1.default)(StyledText)(function (_a) {
56
- var core = _a.theme.core;
57
- return (0, styled_native_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n padding-left: ", ";\n "], ["\n padding-left: ", ";\n "])), core.space[2]);
58
- });
59
- var HeadlineView = (0, styled_native_1.default)(react_native_reanimated_1.default.View)(function (_a) {
60
- var core = _a.theme.core;
61
- return (0, styled_native_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: 0 ", " ", ";\n "], ["\n padding: 0 ", " ", ";\n "])), core.space[3], core.space[3]);
62
- });
63
- var RootView = styled_native_1.default.View(function (_a) {
64
- var semantic = _a.theme.semantic;
65
- return (0, styled_native_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n background-color: ", ";\n overflow: hidden;\n "], ["\n background-color: ", ";\n overflow: hidden;\n "])), semantic.message.branded);
66
- });
67
- var StyledView = (0, styled_native_1.default)(react_native_reanimated_1.default.View)(function (_a) {
68
- var core = _a.theme.core, marginTop = _a.marginTop;
69
- return (0, styled_native_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n padding: ", ";\n padding-bottom: ", ";\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n margin-top: ", ";\n "], ["\n padding: ", ";\n padding-bottom: ", ";\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n margin-top: ", ";\n "])), core.space[3], core.space[2], marginTop !== null && marginTop !== void 0 ? marginTop : 0);
70
- });
71
- var StyledHeading4 = (0, styled_native_1.default)(Heading_1.Heading4)(function (_a) {
72
- var _b = _a.theme, core = _b.core, semantic = _b.semantic, textAlign = _a.textAlign;
73
- return (0, styled_native_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n font-family: ", ";\n margin-top: 0;\n margin-bottom: 0;\n color: ", ";\n text-align: ", ";\n "], ["\n font-family: ", ";\n margin-top: 0;\n margin-bottom: 0;\n color: ", ";\n text-align: ", ";\n "])), core.fontFamily.bodyBold.native, semantic.inverted.message.base, textAlign);
74
- });
75
- var StyledHeading3 = (0, styled_native_1.default)(Heading_1.Heading3)(function (_a) {
76
- var semantic = _a.theme.semantic;
77
- return (0, styled_native_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 0;\n color: ", ";\n text-align: left;\n "], ["\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 0;\n color: ", ";\n text-align: left;\n "])), semantic.inverted.message.base);
78
- });
42
+ var use_layout_1 = require("../../hooks/use-layout");
43
+ var ActionList_1 = require("../ActionList");
44
+ var IconButton_1 = require("./IconButton");
45
+ var NavHeader_styles_1 = require("./NavHeader.styles");
46
+ // calculated based on layout with maximum possible height
47
+ var INITIAL_HEADER_HEIGHT = 115;
48
+ var FADE_ANIMATION_DURATION = 250; // ms
79
49
  var NavHeader = function (_a) {
80
- var options = _a.options, headline = _a.headline;
81
- return ((0, jsx_runtime_1.jsxs)(RootView, __assign({ layout: react_native_reanimated_1.Layout === null || react_native_reanimated_1.Layout === void 0 ? void 0 : react_native_reanimated_1.Layout.duration(150) }, { children: [(0, jsx_runtime_1.jsxs)(StyledView, __assign({ marginTop: options === null || options === void 0 ? void 0 : options.statusBarHeight }, { children: [(options === null || options === void 0 ? void 0 : options.headerLeft) ? (options === null || options === void 0 ? void 0 : options.headerLeft()) : (options === null || options === void 0 ? void 0 : options.canGoBack()) ? ((0, jsx_runtime_1.jsxs)(react_native_1.TouchableOpacity, __assign({ style: {
82
- flexDirection: 'row',
83
- alignItems: 'center',
84
- flex: 1,
85
- flexGrow: 1,
86
- flexShrink: 1,
87
- }, onPress: options === null || options === void 0 ? void 0 : options.goBack }, { children: [(0, jsx_runtime_1.jsx)(BackIcon, {}), (0, jsx_runtime_1.jsx)(LeftHeaderText, { children: "Back" })] }))) : null, (0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, __assign({ entering: react_native_reanimated_1.FadeIn, exiting: react_native_reanimated_1.FadeOut, style: { flex: 1, flexGrow: 3, flexShrink: 1 } }, { children: (0, jsx_runtime_1.jsx)(StyledHeading4, __assign({ textAlign: (options === null || options === void 0 ? void 0 : options.canGoBack()) ? 'center' : 'left', numberOfLines: 1 }, { children: !headline ? options === null || options === void 0 ? void 0 : options.title : ' ' })) })), (0, jsx_runtime_1.jsx)(react_native_1.View, __assign({ style: { flex: 1, flexGrow: 1, flexShrink: 1 } }, { children: options.headerRight ? options.headerRight() : null }))] })), headline ? ((0, jsx_runtime_1.jsx)(HeadlineView, __assign({ entering: react_native_reanimated_1.FadeIn, exiting: react_native_reanimated_1.FadeOut }, { children: (options === null || options === void 0 ? void 0 : options.title) ? ((0, jsx_runtime_1.jsx)(StyledHeading3, { children: options.title })) : null }))) : null] })));
50
+ var title = _a.title, scrolled = _a.scrolled, rightActionConfig = _a.rightActionConfig, canGoBack = _a.canGoBack, goBack = _a.goBack;
51
+ var _b = (0, use_layout_1.useLayout)(INITIAL_HEADER_HEIGHT), layout = _b[0], onLayout = _b[1];
52
+ var navHeight = (0, react_native_reanimated_1.useSharedValue)(layout.height); // initial value
53
+ var animatedNavHeight = (0, react_native_reanimated_1.useAnimatedStyle)(function () {
54
+ return {
55
+ height: navHeight.value,
56
+ };
57
+ });
58
+ // take children calculated height and change NavContainer height accordingly but with animation
59
+ (0, react_1.useEffect)(function () {
60
+ (0, react_native_reanimated_1.runOnUI)(function () {
61
+ 'worklet';
62
+ navHeight.value = (0, react_native_reanimated_1.withTiming)(Math.floor(layout.height), {
63
+ duration: FADE_ANIMATION_DURATION,
64
+ });
65
+ })();
66
+ }, [layout.height]);
67
+ // NavContainer is animated view, height transition will be smooth
68
+ // in order to tell NavContainer which height it children have we need another NavWrapper
69
+ // back-button, title and right-action has wrappers with 33.3% and they are always rendered
70
+ // we need it for correct placing of the title when either back-button or right-action missing
71
+ return ((0, jsx_runtime_1.jsx)(NavHeader_styles_1.NavContainer, __assign({ style: animatedNavHeight }, { children: (0, jsx_runtime_1.jsxs)(NavHeader_styles_1.NavWrapper, __assign({ onLayout: onLayout }, { children: [(0, jsx_runtime_1.jsx)(react_native_reanimated_1.default.View, __assign({ style: {
72
+ width: scrolled ? '33.3%' : '100%',
73
+ // when back button is off we have small margin top for title, to write less code we can just set height
74
+ height: !canGoBack ? parseInt(element_core_1.theme.core.space[10]) : undefined,
75
+ }, layout: react_native_reanimated_1.Layout.delay(FADE_ANIMATION_DURATION) }, { children: canGoBack && ((0, jsx_runtime_1.jsx)(ActionList_1.Action, __assign({ actionType: "back", onPress: goBack }, { children: "Back" }))) })), scrolled ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(NavHeader_styles_1.CollapsedTitleWrapper, { children: (0, jsx_runtime_1.jsx)(NavHeader_styles_1.CollapsedTitle, __assign({ numberOfLines: 1, ellipsizeMode: "tail", entering: react_native_reanimated_1.FadeInDown.delay(FADE_ANIMATION_DURATION), exiting: react_native_reanimated_1.FadeOutDown.duration(FADE_ANIMATION_DURATION) }, { children: title })) }), (0, jsx_runtime_1.jsx)(NavHeader_styles_1.IconButtonWrapper, { children: (0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { rightActionConfig: rightActionConfig, size: "small", animation: react_native_reanimated_1.FadeInDown.delay(FADE_ANIMATION_DURATION) }) })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(NavHeader_styles_1.ExpandedTitle
76
+ // if we don't have right action leave more space for the title text in expanded state
77
+ , __assign({
78
+ // if we don't have right action leave more space for the title text in expanded state
79
+ fullWidth: !scrolled && !rightActionConfig, numberOfLines: 1, ellipsizeMode: "tail", hasBackButton: canGoBack, entering: react_native_reanimated_1.FadeInUp.delay(FADE_ANIMATION_DURATION), exiting: react_native_reanimated_1.FadeOutUp.duration(FADE_ANIMATION_DURATION) }, { children: title })), (0, jsx_runtime_1.jsx)(NavHeader_styles_1.IconButtonWrapper, { children: (0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { rightActionConfig: rightActionConfig, size: "large", animation: react_native_reanimated_1.FadeInUp.delay(FADE_ANIMATION_DURATION) }) })] }))] })) })));
88
80
  };
89
81
  exports.NavHeader = NavHeader;
90
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;