@ovotech/element-native 5.5.0 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/dist/components/Accordion/styles.d.ts +3 -1725
  2. package/dist/components/ActionList/Action.d.ts +23 -0
  3. package/dist/components/ActionList/Action.js +29 -0
  4. package/dist/components/ActionList/ActionList.d.ts +11 -27
  5. package/dist/components/ActionList/ActionList.js +9 -25
  6. package/dist/components/ActionList/ActionListItems/DataListItem.d.ts +23 -0
  7. package/dist/components/ActionList/ActionListItems/DataListItem.js +23 -0
  8. package/dist/components/ActionList/ActionListItems/EditableListItem.d.ts +43 -0
  9. package/dist/components/ActionList/ActionListItems/EditableListItem.js +134 -0
  10. package/dist/components/ActionList/ActionListItems/NavigationListItem.d.ts +16 -0
  11. package/dist/components/ActionList/ActionListItems/NavigationListItem.js +30 -0
  12. package/dist/components/ActionList/ActionListItems/ProgressRing.d.ts +7 -0
  13. package/dist/components/ActionList/ActionListItems/ProgressRing.js +66 -0
  14. package/dist/components/ActionList/ActionListItems/ToggleListItem.d.ts +9 -0
  15. package/dist/components/ActionList/ActionListItems/ToggleListItem.js +12 -0
  16. package/dist/components/ActionList/ActionListItems/styles.d.ts +51 -0
  17. package/dist/components/ActionList/ActionListItems/styles.js +173 -0
  18. package/dist/components/ActionList/components/ActionListHeading.d.ts +9 -0
  19. package/dist/components/ActionList/components/ActionListHeading.js +11 -0
  20. package/dist/components/ActionList/index.d.ts +6 -1
  21. package/dist/components/ActionList/index.js +11 -2
  22. package/dist/components/ActionList/styled.d.ts +12 -5756
  23. package/dist/components/ActionList/styled.js +24 -9
  24. package/dist/components/Badge/Badge.d.ts +1 -575
  25. package/dist/components/BottomActionBar/BottomActionBar.d.ts +12 -0
  26. package/dist/components/BottomActionBar/BottomActionBar.js +80 -0
  27. package/dist/components/BottomActionBar/OverlayProvider.d.ts +8 -0
  28. package/dist/components/BottomActionBar/OverlayProvider.js +38 -0
  29. package/dist/components/BottomActionBar/index.d.ts +2 -0
  30. package/dist/components/BottomActionBar/index.js +7 -0
  31. package/dist/components/Button/Button.js +1 -1
  32. package/dist/components/Button/Button.styles.d.ts +5 -2300
  33. package/dist/components/Card/Card.d.ts +7 -4
  34. package/dist/components/Card/Card.js +44 -22
  35. package/dist/components/Card/Card.styles.d.ts +4 -1725
  36. package/dist/components/Card/Card.styles.js +7 -11
  37. package/dist/components/Cards/AccountCard/AccountCard.styles.d.ts +8 -4600
  38. package/dist/components/Cards/BalanceCard/BalanceCard.styles.d.ts +15 -8625
  39. package/dist/components/Cards/BalanceCard/BalanceCard.styles.js +2 -2
  40. package/dist/components/Cards/DisruptiveCard/DisruptiveCard.d.ts +13 -0
  41. package/dist/components/Cards/DisruptiveCard/DisruptiveCard.js +45 -0
  42. package/dist/components/Cards/DisruptiveCard/DisruptiveCard.styles.d.ts +3 -0
  43. package/dist/components/Cards/DisruptiveCard/DisruptiveCard.styles.js +11 -0
  44. package/dist/components/Cards/DisruptiveCard/index.d.ts +1 -0
  45. package/dist/components/Cards/DisruptiveCard/index.js +17 -0
  46. package/dist/components/Cards/HeroImageCard/HeroImageCard.d.ts +12 -0
  47. package/dist/components/Cards/HeroImageCard/HeroImageCard.js +65 -0
  48. package/dist/components/Cards/HeroImageCard/HeroImageCard.styles.d.ts +10 -0
  49. package/dist/components/Cards/HeroImageCard/HeroImageCard.styles.js +27 -0
  50. package/dist/components/Cards/HeroImageCard/index.d.ts +1 -0
  51. package/dist/components/Cards/HeroImageCard/index.js +17 -0
  52. package/dist/components/Cards/IconDataCard/IconDataCard.styles.d.ts +4 -2300
  53. package/dist/components/Cards/IconTextCard/IconTextCard.js +3 -16
  54. package/dist/components/Cards/IconTextCard/IconTextCard.styles.d.ts +3 -2300
  55. package/dist/components/Cards/IconTextCard/IconTextCard.styles.js +1 -6
  56. package/dist/components/Cards/IllustrationTextCard/IllustrationTextCard.d.ts +14 -0
  57. package/dist/components/Cards/IllustrationTextCard/IllustrationTextCard.js +26 -0
  58. package/dist/components/Cards/IllustrationTextCard/IllustrationTextCard.styles.d.ts +18 -0
  59. package/dist/components/Cards/IllustrationTextCard/IllustrationTextCard.styles.js +33 -0
  60. package/dist/components/Cards/IllustrationTextCard/index.d.ts +1 -0
  61. package/dist/components/Cards/IllustrationTextCard/index.js +17 -0
  62. package/dist/components/Cards/LinkTextCard/LinkTextCard.d.ts +2 -2
  63. package/dist/components/Cards/LinkTextCard/LinkTextCard.js +7 -6
  64. package/dist/components/Cards/LinkTextCard/LinkTextCard.styles.d.ts +8 -2875
  65. package/dist/components/Cards/LinkTextCard/LinkTextCard.styles.js +9 -6
  66. package/dist/components/Cards/OfferCard/OfferCard.d.ts +22 -0
  67. package/dist/components/Cards/OfferCard/OfferCard.js +36 -0
  68. package/dist/components/Cards/OfferCard/OfferCard.styles.d.ts +34 -0
  69. package/dist/components/Cards/OfferCard/OfferCard.styles.js +61 -0
  70. package/dist/components/Cards/OfferCard/index.d.ts +1 -0
  71. package/dist/components/Cards/OfferCard/index.js +17 -0
  72. package/dist/components/Cards/ProgressBarCard/ProgressBarCard.styles.d.ts +9 -5175
  73. package/dist/components/Cards/QuickLinkCard/QuickLinkCard.d.ts +12 -0
  74. package/dist/components/Cards/QuickLinkCard/QuickLinkCard.js +27 -0
  75. package/dist/components/Cards/QuickLinkCard/QuickLinkCard.styles.d.ts +12 -0
  76. package/dist/components/Cards/QuickLinkCard/QuickLinkCard.styles.js +31 -0
  77. package/dist/components/Cards/QuickLinkCard/index.d.ts +1 -0
  78. package/dist/components/Cards/QuickLinkCard/index.js +17 -0
  79. package/dist/components/Cards/ServicesImageCard/ServicesImageCard.d.ts +12 -0
  80. package/dist/components/Cards/ServicesImageCard/ServicesImageCard.js +24 -0
  81. package/dist/components/Cards/ServicesImageCard/ServicesImageCard.styles.d.ts +17 -0
  82. package/dist/components/Cards/ServicesImageCard/ServicesImageCard.styles.js +38 -0
  83. package/dist/components/Cards/ServicesImageCard/index.d.ts +1 -0
  84. package/dist/components/Cards/ServicesImageCard/index.js +17 -0
  85. package/dist/components/Cards/components.d.ts +15 -0
  86. package/dist/components/Cards/components.js +24 -0
  87. package/dist/components/Cards/index.d.ts +5 -0
  88. package/dist/components/Cards/index.js +11 -1
  89. package/dist/components/Cards/shared.styles.d.ts +11 -3451
  90. package/dist/components/Cards/shared.styles.js +18 -2
  91. package/dist/components/Cards/utils.d.ts +1 -0
  92. package/dist/components/Cards/utils.js +13 -1
  93. package/dist/components/Checkbox/Checkbox.d.ts +2 -13
  94. package/dist/components/Checkbox/Checkbox.js +3 -49
  95. package/dist/components/Checkbox/styled.d.ts +21 -0
  96. package/dist/components/Checkbox/styled.js +52 -0
  97. package/dist/components/Checkbox/types.d.ts +16 -0
  98. package/dist/components/Checkbox/types.js +2 -0
  99. package/dist/components/CurrencyInput/CurrencyInput.d.ts +2 -1
  100. package/dist/components/CurrencyInput/CurrencyInput.js +11 -4
  101. package/dist/components/CurrencyInput/styled.d.ts +10 -0
  102. package/dist/components/CurrencyInput/styled.js +39 -0
  103. package/dist/components/DataTable/styles.d.ts +13 -7475
  104. package/dist/components/Disclosure/Disclosure.d.ts +1 -575
  105. package/dist/components/Divider/Divider.d.ts +1 -1
  106. package/dist/components/Divider/Divider.js +3 -1
  107. package/dist/components/Em/Em.d.ts +1 -575
  108. package/dist/components/EmailInput/EmailInput.d.ts +4 -1
  109. package/dist/components/EmailInput/EmailInput.js +18 -2
  110. package/dist/components/EmptyState/EmptyState.d.ts +2 -0
  111. package/dist/components/EmptyState/EmptyState.js +17 -0
  112. package/dist/components/EmptyState/EmptyState.test.d.ts +1 -0
  113. package/dist/components/EmptyState/EmptyState.test.js +92 -0
  114. package/dist/components/EmptyState/index.d.ts +1 -0
  115. package/dist/components/EmptyState/index.js +17 -0
  116. package/dist/components/EmptyState/styles.d.ts +2 -0
  117. package/dist/components/EmptyState/styles.js +23 -0
  118. package/dist/components/EmptyState/types.d.ts +18 -0
  119. package/dist/components/EmptyState/types.js +2 -0
  120. package/dist/components/ErrorText/ErrorText.d.ts +1 -575
  121. package/dist/components/Field/Field.d.ts +3 -2
  122. package/dist/components/Field/Field.js +3 -2
  123. package/dist/components/Grid/Col.d.ts +1 -575
  124. package/dist/components/HintText/HintText.d.ts +1 -575
  125. package/dist/components/Input/Input.d.ts +2 -1
  126. package/dist/components/Input/Input.js +6 -97
  127. package/dist/components/Input/styled.d.ts +16 -0
  128. package/dist/components/Input/styled.js +96 -0
  129. package/dist/components/LabelText/LabelText.d.ts +1 -575
  130. package/dist/components/LargeValueReference/LargeValueReference.d.ts +11 -0
  131. package/dist/components/LargeValueReference/LargeValueReference.js +49 -0
  132. package/dist/components/LargeValueReference/index.d.ts +1 -0
  133. package/dist/components/LargeValueReference/index.js +17 -0
  134. package/dist/components/LargeValueReference/styles.d.ts +10 -0
  135. package/dist/components/LargeValueReference/styles.js +29 -0
  136. package/dist/components/LineThrough/LineThrough.d.ts +1 -575
  137. package/dist/components/List/styled.d.ts +4 -2300
  138. package/dist/components/Margin/Margin.d.ts +1 -575
  139. package/dist/components/NavHeader/NavHeader.styles.d.ts +11 -6325
  140. package/dist/components/Notification/Notification.d.ts +2 -2
  141. package/dist/components/Notification/Notification.js +20 -12
  142. package/dist/components/Notification/Notification.styles.d.ts +13 -5175
  143. package/dist/components/Notification/Notification.styles.js +21 -2
  144. package/dist/components/PasswordInput/PasswordInput.styled.d.ts +1 -577
  145. package/dist/components/PasswordInput/PasswordInput.styled.js +5 -3
  146. package/dist/components/PasswordInput/PasswordVisibilityToggle.js +2 -8
  147. package/dist/components/Radio/Radio.d.ts +2 -2
  148. package/dist/components/Radio/Radio.js +5 -43
  149. package/dist/components/Radio/Radio.styles.d.ts +9 -0
  150. package/dist/components/Radio/Radio.styles.js +74 -0
  151. package/dist/components/RadioCard/RadioCard.d.ts +2 -1
  152. package/dist/components/RadioCard/RadioCard.js +7 -57
  153. package/dist/components/RadioCard/RadioCard.styles.d.ts +16 -0
  154. package/dist/components/RadioCard/RadioCard.styles.js +97 -0
  155. package/dist/components/Rail/Rail.d.ts +12 -0
  156. package/dist/components/Rail/Rail.js +58 -0
  157. package/dist/components/Rail/RailIndicator.d.ts +7 -0
  158. package/dist/components/Rail/RailIndicator.js +81 -0
  159. package/dist/components/Rail/index.d.ts +1 -0
  160. package/dist/components/Rail/index.js +5 -0
  161. package/dist/components/Rail/styles.d.ts +13 -0
  162. package/dist/components/Rail/styles.js +55 -0
  163. package/dist/components/Rail/useRailPaging.d.ts +13 -0
  164. package/dist/components/Rail/useRailPaging.js +95 -0
  165. package/dist/components/SelectField/Select.d.ts +5 -579
  166. package/dist/components/SelectField/Select.js +7 -107
  167. package/dist/components/SelectField/SelectField.d.ts +2 -2
  168. package/dist/components/SelectField/SelectField.js +2 -2
  169. package/dist/components/SelectField/styled.d.ts +26 -0
  170. package/dist/components/SelectField/styled.js +118 -0
  171. package/dist/components/SkeletonText/SkeletonText.js +4 -4
  172. package/dist/components/Strong/Strong.d.ts +1 -575
  173. package/dist/components/SubLabelText/SubLabelText.d.ts +1 -575
  174. package/dist/components/Tabs/Tab.d.ts +1 -575
  175. package/dist/components/TextareaInput/TextareaInput.js +12 -6
  176. package/dist/components/Toast/Toast.d.ts +10 -4
  177. package/dist/components/Toast/Toast.js +40 -27
  178. package/dist/components/Toggle/Toggle.d.ts +3 -1
  179. package/dist/components/Toggle/Toggle.js +4 -6
  180. package/dist/components/Toggle/styles.d.ts +5 -2300
  181. package/dist/components/Toggle/styles.js +3 -3
  182. package/dist/components/index.d.ts +5 -0
  183. package/dist/components/index.js +5 -0
  184. package/dist/esm/components/ActionList/Action.js +26 -0
  185. package/dist/esm/components/ActionList/ActionList.js +12 -28
  186. package/dist/esm/components/ActionList/ActionListItems/DataListItem.js +19 -0
  187. package/dist/esm/components/ActionList/ActionListItems/EditableListItem.js +131 -0
  188. package/dist/esm/components/ActionList/ActionListItems/NavigationListItem.js +26 -0
  189. package/dist/esm/components/ActionList/ActionListItems/ProgressRing.js +29 -0
  190. package/dist/esm/components/ActionList/ActionListItems/ToggleListItem.js +8 -0
  191. package/dist/esm/components/ActionList/ActionListItems/styles.js +137 -0
  192. package/dist/esm/components/ActionList/components/ActionListHeading.js +7 -0
  193. package/dist/esm/components/ActionList/index.js +6 -1
  194. package/dist/esm/components/ActionList/styled.js +23 -8
  195. package/dist/esm/components/BottomActionBar/BottomActionBar.js +40 -0
  196. package/dist/esm/components/BottomActionBar/OverlayProvider.js +30 -0
  197. package/dist/esm/components/BottomActionBar/index.js +2 -0
  198. package/dist/esm/components/Button/Button.js +1 -1
  199. package/dist/esm/components/Card/Card.js +45 -23
  200. package/dist/esm/components/Card/Card.styles.js +8 -12
  201. package/dist/esm/components/Cards/BalanceCard/BalanceCard.styles.js +2 -2
  202. package/dist/esm/components/Cards/DisruptiveCard/DisruptiveCard.js +41 -0
  203. package/dist/esm/components/Cards/DisruptiveCard/DisruptiveCard.styles.js +5 -0
  204. package/dist/esm/components/Cards/DisruptiveCard/index.js +1 -0
  205. package/dist/esm/components/Cards/HeroImageCard/HeroImageCard.js +28 -0
  206. package/dist/esm/components/Cards/HeroImageCard/HeroImageCard.styles.js +21 -0
  207. package/dist/esm/components/Cards/HeroImageCard/index.js +1 -0
  208. package/dist/esm/components/Cards/IconTextCard/IconTextCard.js +5 -18
  209. package/dist/esm/components/Cards/IconTextCard/IconTextCard.styles.js +0 -5
  210. package/dist/esm/components/Cards/IllustrationTextCard/IllustrationTextCard.js +22 -0
  211. package/dist/esm/components/Cards/IllustrationTextCard/IllustrationTextCard.styles.js +27 -0
  212. package/dist/esm/components/Cards/IllustrationTextCard/index.js +1 -0
  213. package/dist/esm/components/Cards/LinkTextCard/LinkTextCard.js +7 -6
  214. package/dist/esm/components/Cards/LinkTextCard/LinkTextCard.styles.js +9 -6
  215. package/dist/esm/components/Cards/OfferCard/OfferCard.js +32 -0
  216. package/dist/esm/components/Cards/OfferCard/OfferCard.styles.js +55 -0
  217. package/dist/esm/components/Cards/OfferCard/index.js +1 -0
  218. package/dist/esm/components/Cards/QuickLinkCard/QuickLinkCard.js +23 -0
  219. package/dist/esm/components/Cards/QuickLinkCard/QuickLinkCard.styles.js +25 -0
  220. package/dist/esm/components/Cards/QuickLinkCard/index.js +1 -0
  221. package/dist/esm/components/Cards/ServicesImageCard/ServicesImageCard.js +20 -0
  222. package/dist/esm/components/Cards/ServicesImageCard/ServicesImageCard.styles.js +32 -0
  223. package/dist/esm/components/Cards/ServicesImageCard/index.js +1 -0
  224. package/dist/esm/components/Cards/components.js +19 -0
  225. package/dist/esm/components/Cards/index.js +5 -0
  226. package/dist/esm/components/Cards/shared.styles.js +17 -1
  227. package/dist/esm/components/Cards/utils.js +11 -0
  228. package/dist/esm/components/Checkbox/Checkbox.js +2 -45
  229. package/dist/esm/components/Checkbox/styled.js +46 -0
  230. package/dist/esm/components/Checkbox/types.js +1 -0
  231. package/dist/esm/components/CurrencyInput/CurrencyInput.js +12 -5
  232. package/dist/esm/components/CurrencyInput/styled.js +33 -0
  233. package/dist/esm/components/Divider/Divider.js +3 -1
  234. package/dist/esm/components/EmailInput/EmailInput.js +18 -2
  235. package/dist/esm/components/EmptyState/EmptyState.js +13 -0
  236. package/dist/esm/components/EmptyState/EmptyState.test.js +90 -0
  237. package/dist/esm/components/EmptyState/index.js +1 -0
  238. package/dist/esm/components/EmptyState/styles.js +17 -0
  239. package/dist/esm/components/EmptyState/types.js +1 -0
  240. package/dist/esm/components/Field/Field.js +3 -2
  241. package/dist/esm/components/Input/Input.js +6 -64
  242. package/dist/esm/components/Input/styled.js +60 -0
  243. package/dist/esm/components/LargeValueReference/LargeValueReference.js +45 -0
  244. package/dist/esm/components/LargeValueReference/index.js +1 -0
  245. package/dist/esm/components/LargeValueReference/styles.js +23 -0
  246. package/dist/esm/components/Notification/Notification.js +21 -13
  247. package/dist/esm/components/Notification/Notification.styles.js +20 -1
  248. package/dist/esm/components/PasswordInput/PasswordInput.styled.js +5 -3
  249. package/dist/esm/components/PasswordInput/PasswordVisibilityToggle.js +2 -8
  250. package/dist/esm/components/Radio/Radio.js +4 -39
  251. package/dist/esm/components/Radio/Radio.styles.js +38 -0
  252. package/dist/esm/components/RadioCard/RadioCard.js +5 -52
  253. package/dist/esm/components/RadioCard/RadioCard.styles.js +61 -0
  254. package/dist/esm/components/Rail/Rail.js +21 -0
  255. package/dist/esm/components/Rail/RailIndicator.js +44 -0
  256. package/dist/esm/components/Rail/index.js +1 -0
  257. package/dist/esm/components/Rail/styles.js +49 -0
  258. package/dist/esm/components/Rail/useRailPaging.js +92 -0
  259. package/dist/esm/components/SelectField/Select.js +7 -74
  260. package/dist/esm/components/SelectField/SelectField.js +3 -3
  261. package/dist/esm/components/SelectField/styled.js +82 -0
  262. package/dist/esm/components/SkeletonText/SkeletonText.js +4 -4
  263. package/dist/esm/components/TextareaInput/TextareaInput.js +12 -6
  264. package/dist/esm/components/Toast/Toast.js +40 -27
  265. package/dist/esm/components/Toggle/Toggle.js +4 -6
  266. package/dist/esm/components/Toggle/styles.js +3 -3
  267. package/dist/esm/components/index.js +5 -0
  268. package/dist/esm/hooks/use-font-scaling.js +32 -0
  269. package/dist/esm/index.js +1 -0
  270. package/dist/esm/test/utils.js +12 -0
  271. package/dist/esm/utils/utils.js +12 -1
  272. package/dist/hooks/use-font-scaling.d.ts +26 -0
  273. package/dist/hooks/use-font-scaling.js +35 -0
  274. package/dist/index.d.ts +1 -0
  275. package/dist/index.js +1 -0
  276. package/dist/styled.native.d.ts +1 -3445
  277. package/dist/test/utils.d.ts +4 -0
  278. package/dist/test/utils.js +28 -0
  279. package/dist/utils/utils.d.ts +11 -1
  280. package/dist/utils/utils.js +12 -0
  281. package/package.json +5 -5
  282. package/dist/components/ErrorWrapper/styles.d.ts +0 -0
  283. package/dist/components/ErrorWrapper/styles.js +0 -1
  284. package/dist/esm/components/ErrorWrapper/styles.js +0 -1
@@ -8,13 +8,16 @@ export type CardProps = ViewProps & {
8
8
  height?: number | string;
9
9
  };
10
10
  onPress?: () => void;
11
+ onSelect?: () => void;
11
12
  children?: ReactNode;
12
13
  };
13
14
  export type CardFlags = {
14
- hasBgImage: boolean;
15
- tappable: boolean;
15
+ hasBackground: boolean;
16
+ hasBgImage?: boolean;
17
+ pressable: boolean;
18
+ selectable: boolean;
16
19
  isDefault: boolean;
17
20
  isOutline: boolean;
18
21
  };
19
- export declare const getCardFlags: (props: Pick<CardProps, "background" | "onPress" | "displayStyle">) => CardFlags;
20
- export declare const Card: ({ children, displayStyle, background, onPress, ...rest }: CardProps) => import("react/jsx-runtime").JSX.Element;
22
+ export declare const getCardFlags: (props: Pick<CardProps, "background" | "onPress" | "onSelect" | "displayStyle">) => CardFlags;
23
+ export declare const Card: ({ children, displayStyle, background, onPress, onSelect, ...rest }: CardProps) => import("react/jsx-runtime").JSX.Element;
@@ -19,12 +19,21 @@ const hooks_1 = require("../../hooks");
19
19
  const styled_native_1 = require("../../styled.native");
20
20
  const Card_styles_1 = require("./Card.styles");
21
21
  const getCardFlags = (props) => {
22
- const { background, onPress, displayStyle } = props;
23
- const hasBgImage = !!background && typeof background !== 'string';
24
- const tappable = Boolean(onPress);
22
+ const { background, onPress, onSelect, displayStyle } = props;
23
+ const hasBackground = !!background;
24
+ const hasBgImage = hasBackground && typeof background !== 'string';
25
+ const selectable = Boolean(onSelect) && !onPress;
26
+ const pressable = Boolean(onPress) && !onSelect;
25
27
  const isDefault = displayStyle === 'default';
26
28
  const isOutline = displayStyle === 'outline';
27
- return { hasBgImage, tappable, isDefault, isOutline };
29
+ return {
30
+ hasBackground,
31
+ hasBgImage,
32
+ pressable,
33
+ selectable,
34
+ isDefault,
35
+ isOutline,
36
+ };
28
37
  };
29
38
  exports.getCardFlags = getCardFlags;
30
39
  function useAnimatedBorder(baseColor, selectedColor, isSelected, duration) {
@@ -35,46 +44,59 @@ function useAnimatedBorder(baseColor, selectedColor, isSelected, duration) {
35
44
  duration,
36
45
  useNativeDriver: false,
37
46
  }).start();
38
- }, [isSelected, duration]);
47
+ }, [isSelected, duration, borderAnim]);
39
48
  return borderAnim.interpolate({
40
49
  inputRange: [0, 1],
41
50
  outputRange: [baseColor, selectedColor],
42
51
  });
43
52
  }
44
53
  const Card = (_a) => {
45
- var { children, displayStyle = 'default', background, onPress } = _a, rest = __rest(_a, ["children", "displayStyle", "background", "onPress"]);
54
+ var { children, displayStyle = 'default', background, onPress, onSelect } = _a, rest = __rest(_a, ["children", "displayStyle", "background", "onPress", "onSelect"]);
46
55
  const theme = (0, styled_native_1.useTheme)();
47
56
  const [isFocused, setFocused] = (0, react_1.useState)(false);
48
57
  const [isSelected, setSelected] = (0, react_1.useState)(false);
49
58
  const { largeAndUp } = (0, hooks_1.useBreakpoint)();
50
- const { hasBgImage, tappable, isDefault, isOutline } = (0, exports.getCardFlags)({
59
+ const { hasBackground, hasBgImage, pressable, selectable, isDefault, isOutline, } = (0, exports.getCardFlags)({
51
60
  background,
52
61
  onPress,
53
62
  displayStyle,
63
+ onSelect,
54
64
  });
55
65
  let baseBorderColor = theme.color.surface.bright;
56
- if (isOutline) {
57
- baseBorderColor = theme.color.surface.bright;
58
- }
59
- else if (isDefault) {
60
- if (hasBgImage)
66
+ if (isDefault) {
67
+ if (hasBgImage) {
61
68
  baseBorderColor = 'transparent';
62
- else if (typeof background === 'string')
69
+ }
70
+ else if (typeof background === 'string') {
63
71
  baseBorderColor = background;
64
- else
65
- baseBorderColor = theme.color.surface.bright;
72
+ }
66
73
  }
67
74
  const selectedBorderColor = theme.color.surface.onSurface;
68
- const animatedBorderColor = useAnimatedBorder(baseBorderColor, selectedBorderColor, isSelected, theme.transition.duration.fast);
75
+ const shouldHideBorder = hasBackground && !isOutline && !pressable && !selectable;
76
+ const animatedBorderColor = useAnimatedBorder(baseBorderColor, selectedBorderColor, selectable && isSelected, theme.transition.duration.fast);
69
77
  const handlePress = () => {
70
- setSelected(prev => !prev);
71
78
  onPress === null || onPress === void 0 ? void 0 : onPress();
72
79
  };
73
- const CardContent = ((0, jsx_runtime_1.jsxs)(Card_styles_1.AnimatedStyledCard, Object.assign({ displayStyle: displayStyle, background: background, largeAndUp: largeAndUp }, rest, { style: [rest === null || rest === void 0 ? void 0 : rest.style, { borderColor: animatedBorderColor }], children: [hasBgImage && ((0, jsx_runtime_1.jsx)(Card_styles_1.BackgroundImage, { source: background, resizeMode: "cover", largeAndUp: largeAndUp })), children] })));
74
- if (!tappable)
75
- return CardContent;
76
- return ((0, jsx_runtime_1.jsx)(Card_styles_1.TappableWrapper, { onPress: handlePress, onFocus: () => setFocused(true), onBlur: () => setFocused(false), accessibilityRole: "button", focused: isFocused, largeAndUp: largeAndUp, style: ({ pressed }) => ({
80
+ const handleSelect = () => {
81
+ setSelected(prev => !prev);
82
+ onSelect === null || onSelect === void 0 ? void 0 : onSelect();
83
+ };
84
+ const CardContent = ((0, jsx_runtime_1.jsxs)(Card_styles_1.AnimatedStyledCard, Object.assign({ displayStyle: displayStyle, background: background, largeAndUp: largeAndUp, onPress: onPress, onSelect: onSelect }, rest, { style: [
85
+ {
86
+ borderWidth: shouldHideBorder ? 0 : theme.border.width.md,
87
+ borderColor: animatedBorderColor,
88
+ },
89
+ rest === null || rest === void 0 ? void 0 : rest.style,
90
+ ], children: [hasBgImage && ((0, jsx_runtime_1.jsx)(Card_styles_1.BackgroundImage, { source: background, resizeMode: "cover", largeAndUp: largeAndUp })), children] })));
91
+ const isInteractive = pressable || selectable;
92
+ return ((0, jsx_runtime_1.jsx)(Card_styles_1.TappableWrapper, Object.assign({ as: isInteractive ? react_native_1.Pressable : react_native_1.View, largeAndUp: largeAndUp, tappable: isInteractive, focused: isInteractive ? isFocused : false }, (isInteractive && {
93
+ onPress: pressable ? handlePress : handleSelect,
94
+ onFocus: () => setFocused(true),
95
+ onBlur: () => setFocused(false),
96
+ accessibilityRole: 'button',
97
+ style: ({ pressed }) => ({
77
98
  opacity: pressed ? 0.9 : 1,
78
- }), children: CardContent }));
99
+ }),
100
+ }), { children: CardContent })));
79
101
  };
80
102
  exports.Card = Card;