Repository: kiwicom/mobile
Pull request #1454 (2019-01-22 07:57:38)

Upgrading dev-dependencies
e2e-test run locally and passing. No breaking changes expected


Patch:
diff --git a/app/hotels/src/filter/hotelAmenities/HotelAmenitiesPopup.js b/app/hotels/src/filter/hotelAmenities/HotelAmenitiesPopup.js
index 460eb0a5..f1ba80e9 100644
--- a/app/hotels/src/filter/hotelAmenities/HotelAmenitiesPopup.js
+++ b/app/hotels/src/filter/hotelAmenities/HotelAmenitiesPopup.js
@@ -128,9 +128,6 @@ export default class HotelAmenitiesPopup extends React.Component<Props, State> {
           buttonTitle={
             <Translation id="hotels_search.filter.hotel_facilities_popup.save" />
           }
-          buttonCloseTitle={
-            <Translation id="hotels_search.filter.hotel_facilities_popup.close" />
-          }
           onSave={this.onSave}
           onClose={this.props.onClose}
           isVisible={this.props.isVisible}
diff --git a/app/hotels/src/filter/order/OrderPopup.js b/app/hotels/src/filter/order/OrderPopup.js
index 027cb893..e35d710d 100644
--- a/app/hotels/src/filter/order/OrderPopup.js
+++ b/app/hotels/src/filter/order/OrderPopup.js
@@ -57,7 +57,6 @@ export default class OrderPopup extends React.Component<Props, State> {
     return (
       <ButtonPopup
         buttonTitle={<Translation id="shared.button.save" />}
-        buttonCloseTitle={<Translation id="shared.button.close" />}
         onSave={this.onSave}
         onClose={this.onClose}
         isVisible={this.props.isVisible}
diff --git a/app/hotels/src/filter/price/PricePopup.js b/app/hotels/src/filter/price/PricePopup.js
index 74a54c89..84cebc16 100644
--- a/app/hotels/src/filter/price/PricePopup.js
+++ b/app/hotels/src/filter/price/PricePopup.js
@@ -73,9 +73,6 @@ export default class PricePopup extends React.Component<Props, State> {
           buttonTitle={
             <Translation id="hotels_search.filter.price_popup.save" />
           }
-          buttonCloseTitle={
-            <Translation id="hotels_search.filter.hotel_facilities_popup.close" />
-          }
           onSave={this.onSave}
           onClose={this.props.onClose}
           isVisible={this.props.isVisible}
diff --git a/app/hotels/src/filter/score/ScorePopup.js b/app/hotels/src/filter/score/ScorePopup.js
index 316770f0..68c7074b 100644
--- a/app/hotels/src/filter/score/ScorePopup.js
+++ b/app/hotels/src/filter/score/ScorePopup.js
@@ -73,9 +73,6 @@ export default class ScorePopup extends React.Component<Props, State> {
           buttonTitle={
             <Translation id="hotels_search.filter.score_popup.save" />
           }
-          buttonCloseTitle={
-            <Translation id="hotels_search.filter.hotel_facilities_popup.close" />
-          }
           onSave={this.onSave}
           onClose={this.props.onClose}
           isVisible={this.props.isVisible}
diff --git a/app/hotels/src/filter/stars/StarsPopup.js b/app/hotels/src/filter/stars/StarsPopup.js
index 971d38fa..eb72fafe 100644
--- a/app/hotels/src/filter/stars/StarsPopup.js
+++ b/app/hotels/src/filter/stars/StarsPopup.js
@@ -96,9 +96,6 @@ export default class StarsPopup extends React.Component<Props, State> {
           buttonTitle={
             <Translation id="hotels_search.filter.stars_popup.save" />
           }
-          buttonCloseTitle={
-            <Translation id="hotels_search.filter.hotel_facilities_popup.close" />
-          }
           onSave={this.onSave}
           onClose={this.props.onClose}
           isVisible={this.props.isVisible}
diff --git a/package.json b/package.json
index b407b3e1..40cf1f14 100644
--- a/package.json
+++ b/package.json
@@ -38,31 +38,30 @@
     "node-fetch": "^2"
   },
   "devDependencies": {
-    "@babel/cli": "^7.1.5",
-    "@babel/core": "^7.1.6",
-    "@babel/node": "^7.0.0",
-    "@babel/plugin-transform-runtime": "^7.1.0",
-    "@babel/runtime": "^7.1.5",
+    "@babel/cli": "^7.2.3",
+    "@babel/core": "^7.2.2",
+    "@babel/node": "^7.2.2",
+    "@babel/plugin-transform-runtime": "^7.2.0",
+    "@babel/runtime": "^7.3.1",
     "@kiwicom/eslint-config": "^2.3.0",
     "babel-core": "^7.0.0-bridge.0",
     "babel-eslint": "^10.0.1",
     "babel-jest": "^23.6.0",
     "eslint": "^5.12.0",
-    "eslint-config-prettier": "^3.3.0",
+    "eslint-config-prettier": "^3.6.0",
     "eslint-plugin-detox": "^1.0.0",
     "eslint-plugin-flowtype": "^3.2.0",
     "eslint-plugin-import": "^2.14.0",
     "eslint-plugin-jasmine": "^2.10.1",
-    "eslint-plugin-prettier": "^3.0.0",
-    "eslint-plugin-react": "^7.11.1",
+    "eslint-plugin-prettier": "^3.0.1",
+    "eslint-plugin-react": "^7.12.4",
     "eslint-plugin-react-native": "^3.5.0",
-    "find-in-files": "^0.5.0",
     "flow-bin": "^0.87.0",
     "jest": "^23.6.0",
-    "metro": "^0.49.1",
-    "metro-react-native-babel-preset": "^0.49.1",
+    "metro": "^0.51.1",
+    "metro-react-native-babel-preset": "^0.51.1",
     "node-fetch": "^2.2.0",
-    "prettier": "^1.15.2",
+    "prettier": "^1.16.0",
     "react-native-dotenv": "^0.2.0",
     "react-test-renderer": "16.6.3",
     "regenerator-runtime": "^0.12.1"
diff --git a/packages/shared/src/buttons/CloseButton.js b/packages/shared/src/buttons/CloseButton.js
index ef30f796..9d747471 100644
--- a/packages/shared/src/buttons/CloseButton.js
+++ b/packages/shared/src/buttons/CloseButton.js
@@ -1,10 +1,9 @@
 // @flow strict
 
 import * as React from 'react';
-import { defaultTokens } from '@kiwicom/mobile-orbit';
 import { Translation } from '@kiwicom/mobile-localization';
+import { Button } from '@kiwicom/universal-components';
 
-import Button from './Button';
 import ButtonTitle from './ButtonTitle';
 import StyleSheet from '../PlatformStyleSheet';
 import type { StylePropType } from '../../types/Styles';
@@ -16,7 +15,7 @@ type Props = {|
 
 export default function CloseButton({ onPress, style }: Props) {
   return (
-    <Button onPress={onPress} style={[styles.button, style]}>
+    <Button onPress={onPress} style={style} type="secondary">
       <ButtonTitle
         style={styles.text}
         text={<Translation id="shared.button.close" />}
@@ -26,9 +25,6 @@ export default function CloseButton({ onPress, style }: Props) {
 }
 
 const styles = StyleSheet.create({
-  button: {
-    backgroundColor: defaultTokens.paletteCloudNormal,
-  },
   text: {
     fontWeight: '800',
     fontSize: 16,
diff --git a/packages/shared/src/popup/ButtonPopup.js b/packages/shared/src/popup/ButtonPopup.js
index 9aae1cbb..a60c2a28 100644
--- a/packages/shared/src/popup/ButtonPopup.js
+++ b/packages/shared/src/popup/ButtonPopup.js
@@ -7,10 +7,10 @@ import type { TranslationType } from '@kiwicom/mobile-localization';
 import Popup from './Popup';
 import TextButton from '../buttons/TextButton';
 import StyleSheet from '../PlatformStyleSheet';
+import CloseButton from '../buttons/CloseButton';
 
 type Props = {|
   +buttonTitle: TranslationType,
-  +buttonCloseTitle: TranslationType,
   +children: React.Node,
   +isVisible: boolean,
   +onClose: Function,
@@ -38,11 +38,7 @@ export default class ButtonPopup extends React.Component<Props> {
         bottomContent={
           <View style={styles.buttonsWrapper}>
             <View style={[styles.button, styles.buttonFirst]}>
-              <TextButton
-                title={this.props.buttonCloseTitle}
-                onPress={this.onClose}
-                type="secondary"
-              />
+              <CloseButton onPress={this.onClose} />
             </View>
             <View style={styles.button}>
               <TextButton
diff --git a/yarn.lock b/yarn.lock
index 41a2efa0..b045d967 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,7 +2,7 @@
 # yarn lockfile v1
 
 
-"@babel/cli@^7.1.5":
+"@babel/cli@^7.2.3":
   version "7.2.3"
   resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.2.3.tgz#1b262e42a3e959d28ab3d205ba2718e1923cfee6"
   integrity sha512-bfna97nmJV6nDJhXNPeEfxyMjWnt6+IjUAaDPiYRTBlm8L41n8nvw6UAqUCbvpFfU246gHPxW7sfWwqtF4FcYA==
@@ -26,7 +26,7 @@
   dependencies:
     "@babel/highlight" "^7.0.0"
 
-"@babel/core@^7.0.0", "@babel/core@^7.1.6":
+"@babel/core@^7.0.0", "@babel/core@^7.2.2":
   version "7.2.2"
   resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.2.2.tgz#07adba6dde27bb5ad8d8672f15fde3e08184a687"
   integrity sha512-59vB0RWt09cAct5EIe58+NzGP4TFSD3Bz//2/ELy3ZeTeKF6VTD1AXlH8BGGbCX0PuobZBsIzO7IAI9PH67eKw==
@@ -260,7 +260,7 @@
     esutils "^2.0.2"
     js-tokens "^4.0.0"
 
-"@babel/node@^7.0.0":
+"@babel/node@^7.2.2":
   version "7.2.2"
   resolved "https://registry.yarnpkg.com/@babel/node/-/node-7.2.2.tgz#1557dd23545b38d7b1d030a9c0e8fb225dbf70ab"
   integrity sha512-jPqgTycE26uFsuWpLika9Ohz9dmLQHWjOnMNxBOjYb1HXO+eLKxEr5FfKSXH/tBvFwwaw+pzke3gagnurGOfCA==
@@ -581,7 +581,7 @@
   dependencies:
     regenerator-transform "^0.13.3"
 
-"@babel/plugin-transform-runtime@^7.0.0", "@babel/plugin-transform-runtime@^7.1.0":
+"@babel/plugin-transform-runtime@^7.0.0", "@babel/plugin-transform-runtime@^7.2.0":
   version "7.2.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.2.0.tgz#566bc43f7d0aedc880eaddbd29168d0f248966ea"
   integrity sha512-jIgkljDdq4RYDnJyQsiWbdvGeei/0MOTtSHKO/rfbd/mXBxNpdlulMx49L0HQ4pug1fXannxoqCI+fYSle9eSw==
@@ -666,10 +666,10 @@
   dependencies:
     regenerator-runtime "^0.12.0"
 
-"@babel/runtime@^7.1.5":
-  version "7.2.0"
-  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.2.0.tgz#b03e42eeddf5898e00646e4c840fa07ba8dcad7f"
-  integrity sha512-oouEibCbHMVdZSDlJBO6bZmID/zA/G/Qx3H1d3rSNPTD+L8UNKvCat7aKWSJ74zYbm5zWGh0GQN0hKj8zYFTCg==
+"@babel/runtime@^7.3.1":
+  version "7.3.1"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.3.1.tgz#574b03e8e8a9898eaf4a872a92ea20b7846f6f2a"
+  integrity sha512-7jGW8ppV0ant637pIqAcFfQDDH1orEPGJb8aXfUozuCU3QqX7rX4DA8iwrbPrR1hcH0FTTHz47yQnk+bl5xHQA==
   dependencies:
     regenerator-runtime "^0.12.0"
 
@@ -2086,7 +2086,7 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0:
     escape-string-regexp "^1.0.5"
     supports-color "^5.3.0"
 
-chalk@^2.4.2:
+chalk@^2.4.1, chalk@^2.4.2:
   version "2.4.2"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
   integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -2852,13 +2852,6 @@ escodegen@1.x.x, escodegen@^1.9.1:
   optionalDependencies:
     source-map "~0.6.1"
 
-eslint-config-prettier@^3.3.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.3.0.tgz#41afc8d3b852e757f06274ed6c44ca16f939a57d"
-  integrity sha512-Bc3bh5bAcKNvs3HOpSi6EfGA2IIp7EzWcg2tS4vP7stnXu/J1opihHDM7jI9JCIckyIDTgZLSWn7J3HY0j2JfA==
-  dependencies:
-    get-stdin "^6.0.0"
-
 eslint-config-prettier@^3.5.0:
   version "3.5.0"
   resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.5.0.tgz#fb29575c5be7ed79c1637c5a0c58985833290805"
@@ -2866,6 +2859,13 @@ eslint-config-prettier@^3.5.0:
   dependencies:
     get-stdin "^6.0.0"
 
+eslint-config-prettier@^3.6.0:
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-3.6.0.tgz#8ca3ffac4bd6eeef623a0651f9d754900e3ec217"
+  integrity sha512-ixJ4U3uTLXwJts4rmSVW/lMXjlGwCijhBJHk8iVqKKSifeI0qgFEfWl8L63isfc8Od7EiBALF6BX3jKLluf/jQ==
+  dependencies:
+    get-stdin "^6.0.0"
+
 eslint-import-resolver-node@^0.3.1:
   version "0.3.2"
   resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
@@ -2995,7 +2995,7 @@ eslint-plugin-prefer-object-spread@^1.2.1:
   resolved "https://registry.yarnpkg.com/eslint-plugin-prefer-object-spread/-/eslint-plugin-prefer-object-spread-1.2.1.tgz#27fb91853690cceb3ae6101d9c8aecc6a67a402c"
   integrity sha1-J/uRhTaQzOs65hAdnIrsxqZ6QCw=
 
-eslint-plugin-prettier@^3.0.0, eslint-plugin-prettier@^3.0.1:
+eslint-plugin-prettier@^3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.0.1.tgz#19d521e3981f69dd6d14f64aec8c6a6ac6eb0b0d"
   integrity sha512-/PMttrarPAY78PLvV3xfWibMOdMDl57hmlQ2XqFeA37wd+CJ7WSxV7txqjVPHi/AAFKd2lX0ZqfsOc/i5yFCSQ==
@@ -3026,20 +3026,7 @@ eslint-plugin-react-native@^3.6.0:
   dependencies:
     eslint-plugin-react-native-globals "^0.1.1"
 
-eslint-plugin-react@^7.11.1:
-  version "7.12.2"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.2.tgz#95a4d8117011787824625ea57be9e38401d33548"
-  integrity sha512-6F8uOJXOsWWWD3Mg8cvz4onsqEYp2LFZCFlgjaTAzbPLwqdwRCeK78unbuEaMXYPxq8paXCzTpoaDCwXBvC/gg==
-  dependencies:
-    array-includes "^3.0.3"
-    doctrine "^2.1.0"
-    has "^1.0.3"
-    jsx-ast-utils "^2.0.1"
-    object.fromentries "^2.0.0"
-    prop-types "^15.6.2"
-    resolve "^1.9.0"
-
-eslint-plugin-react@^7.12.3:
+eslint-plugin-react@^7.12.3, eslint-plugin-react@^7.12.4:
   version "7.12.4"
   resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.12.4.tgz#b1ecf26479d61aee650da612e425c53a99f48c8c"
   integrity sha512-1puHJkXJY+oS1t467MjbqjvX53uQ05HXwjqDgdbGBqf5j9eeydI54G3KwiJmWciQ0HTBacIKw2jgwSBSH3yfgQ==
@@ -3558,14 +3545,6 @@ find-cache-dir@^1.0.0:
     make-dir "^1.0.0"
     pkg-dir "^2.0.0"
 
-find-in-files@^0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/find-in-files/-/find-in-files-0.5.0.tgz#8e5a20ffb562e0a47cb916b7f7b821717025e691"
-  integrity sha512-VraTc6HdtdSHmAp0yJpAy20yPttGKzyBWc7b7FPnnsX9TOgmKx0g9xajizpF/iuu4IvNK4TP0SpyBT9zAlwG+g==
-  dependencies:
-    find "^0.1.5"
-    q "^1.0.1"
-
 find-up@^1.0.0:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
@@ -3581,13 +3560,6 @@ find-up@^2.0.0, find-up@^2.1.0:
   dependencies:
     locate-path "^2.0.0"
 
-find@^0.1.5:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/find/-/find-0.1.7.tgz#c86c87af1ab18f222bbe38dec86cbc760d16a6fb"
-  integrity sha1-yGyHrxqxjyIrvjjeyGy8dg0Wpvs=
-  dependencies:
-    traverse-chain "~0.1.0"
-
 flat-cache@^1.2.1:
   version "1.3.4"
   resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f"
@@ -5447,6 +5419,13 @@ metro-babel-register@^0.48.1:
     core-js "^2.2.2"
     escape-string-regexp "^1.0.5"
 
+metro-babel-transformer@0.51.1:
+  version "0.51.1"
+  resolved "https://registry.yarnpkg.com/metro-babel-transformer/-/metro-babel-transformer-0.51.1.tgz#97be9e2b96c78aa202b52ae05fb86f71327aef72"
+  integrity sha512-+tOnZZzOzufB86ASdfimUEGB1jBKsdsVpPdjNJZkueTFyvYlGqWDQKHM1w9bwKMeM/czPQ48Y6m8Bou6le0X4w==
+  dependencies:
+    "@babel/core" "^7.0.0"
+
 metro-babel7-plugin-react-transform@0.48.3:
   version "0.48.3"
   resolved "https://registry.yarnpkg.com/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.48.3.tgz#c3e43c99173c143537fb234b44cdd6e6b511d511"
@@ -5454,10 +5433,10 @@ metro-babel7-plugin-react-transform@0.48.3:
   dependencies:
     "@babel/helper-module-imports" "^7.0.0"
 
-metro-babel7-plugin-react-transform@0.49.2:
-  version "0.49.2"
-  resolved "https://registry.yarnpkg.com/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.49.2.tgz#d4c43faa6f2b91cc1b244a36a5d708ae8d39dbb2"
-  integrity sha512-LpJT8UvqF/tvVqEwiLUTMjRPhEGdI8e2dr3424XaRANba3j0nqmrbKdJQsPE8TrcqMWR4RHmfsXk0ti5QrEvJg==
+metro-babel7-plugin-react-transform@0.51.1:
+  version "0.51.1"
+  resolved "https://registry.yarnpkg.com/metro-babel7-plugin-react-transform/-/metro-babel7-plugin-react-transform-0.51.1.tgz#9cce2c340cc4006fc82aa6dfab27af22d592607e"
+  integrity sha512-wzn4X9KgmAMZ7Bi6v9KxA7dw+AHGL0RODPxU5NDJ3A6d0yERvzfZ3qkzWhz8jbFkVBK12cu5DTho3HBazKQDOw==
   dependencies:
     "@babel/helper-module-imports" "^7.0.0"
 
@@ -5471,13 +5450,13 @@ metro-cache@0.48.3:
     mkdirp "^0.5.1"
     rimraf "^2.5.4"
 
-metro-cache@0.49.2:
-  version "0.49.2"
-  resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.49.2.tgz#355dd3dba9fbd805a7ca6f55646216d35ca98225"
-  integrity sha512-GFeK4bPQn/U9bbRlVPhu2dYMe/b/GsNOFPEResOxr0kQreHV81rs6Jzcr4pU+9HY7vFiEQ1oggnsLUmANuRyPQ==
+metro-cache@0.51.1:
+  version "0.51.1"
+  resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.51.1.tgz#d0b296eab8e009214413bba87e4eac3d9b44cd04"
+  integrity sha512-0m1+aicsw77LVAehNuTxDpE1c/7Xv/ajRD+UL/lFCWUxnrjSbxVtIKr8l5DxEY11082c1axVRuaV9e436W+eXg==
   dependencies:
     jest-serializer "24.0.0-alpha.6"
-    metro-core "0.49.2"
+    metro-core "0.51.1"
     mkdirp "^0.5.1"
     rimraf "^2.5.4"
 
@@ -5492,15 +5471,15 @@ metro-config@0.48.3:
     metro-core "0.48.3"
     pretty-format "^23.4.1"
 
-metro-config@0.49.2:
-  version "0.49.2"
-  resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.49.2.tgz#d9dd0cc32fdb9731b4685b0019c98874a6e4443b"
-  integrity sha512-olh50qIMWd+Mj47TQeFnIW9NIquMpfq2g2NT5k+rwI38Xfk+KBnV4BamxtzZuViH7eQI06+Cdyu4NvcZffBXGg==
+metro-config@0.51.1:
+  version "0.51.1"
+  resolved "https://registry.yarnpkg.com/metro-config/-/metro-config-0.51.1.tgz#8f1a241ce2c0b521cd492c39bc5c6c69e3397b82"
+  integrity sha512-WCNd0tTI9gb/ubgTqK1+ljZL4b3hsXVinsOAtep4nHiVb6DSDdbO2yXDD2rpYx3NE6hDRMFS9HHg6G0139pAqQ==
   dependencies:
     cosmiconfig "^5.0.5"
-    metro "0.49.2"
-    metro-cache "0.49.2"
-    metro-core "0.49.2"
+    metro "0.51.1"
+    metro-cache "0.51.1"
+    metro-core "0.51.1"
     pretty-format "24.0.0-alpha.6"
 
 metro-core@0.48.3, metro-core@^0.48.1:
@@ -5513,14 +5492,14 @@ metro-core@0.48.3, metro-core@^0.48.1:
     metro-resolver "0.48.3"
     wordwrap "^1.0.0"
 
-metro-core@0.49.2:
-  version "0.49.2"
-  resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.49.2.tgz#e3d7f9f02454863fc047bd75c2e37d5544c72d1a"
-  integrity sha512-kqhvNPOUTUWOqfm4nFF8l0zWMp2BKO1BUx5KY7osFnVTUpDkuq9Iy433FqEFVhA2jUISrmnd0CTIPcDQyFNllQ==
+metro-core@0.51.1:
+  version "0.51.1"
+  resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.51.1.tgz#e7227fb1dd1bb3f953272fad9876e6201140b038"
+  integrity sha512-sG1yACjdFqmIzZN50HqLTKUMp1oy0AehHhmIuYeIllo1DjX6Y2o3UAT3rGP8U+SAqJGXf/OWzl6VNyRPGDENfA==
   dependencies:
     jest-haste-map "24.0.0-alpha.6"
     lodash.throttle "^4.1.1"
-    metro-resolver "0.49.2"
+    metro-resolver "0.51.1"
     wordwrap "^1.0.0"
 
 metro-memory-fs@^0.48.1:
@@ -5535,10 +5514,10 @@ metro-minify-uglify@0.48.3:
   dependencies:
     uglify-es "^3.1.9"
 
-metro-minify-uglify@0.49.2:
-  version "0.49.2"
-  resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.49.2.tgz#f3b8615cb0e9afd714e4952842bcb9f4d71b4822"
-  integrity sha512-LfnR5N2784pnHe5ShioNkLHyUA1unDU6iLivehX2Waxno1oIP3xKYl/u/VTDET4L8AvLwa5HFACE2hbiWjGQ2Q==
+metro-minify-uglify@0.51.1:
+  version "0.51.1"
+  resolved "https://registry.yarnpkg.com/metro-minify-uglify/-/metro-minify-uglify-0.51.1.tgz#60cd8fe4d3e82d6670c717b8ddb52ae63199c0e4"
+  integrity sha512-HAqd/rFrQ6mnbqVAszDXIKTg2rqHlY9Fm8DReakgbkAeyMbF2mH3kEgtesPmTrhajdFk81UZcNSm6wxj1JMgVg==
   dependencies:
     uglify-es "^3.1.9"
 
@@ -5583,10 +5562,10 @@ metro-react-native-babel-preset@0.48.3:
     metro-babel7-plugin-react-transform "0.48.3"
     react-transform-hmr "^1.0.4"
 
-metro-react-native-babel-preset@0.49.2, metro-react-native-babel-preset@^0.49.1:
-  version "0.49.2"
-  resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.49.2.tgz#8d53610e044e0c9a53a03d307e1c51f9e8577abc"
-  integrity sha512-N0+4ramShYCHSAVEPUNWIZuKZskWj8/RDSoinhadHpdpHORMbMxLkexSOVHLluB+XFQ+DENLEx5oVPYwOlENBA==
+metro-react-native-babel-preset@0.51.1, metro-react-native-babel-preset@^0.51.1:
+  version "0.51.1"
+  resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.51.1.tgz#44aeeedfea37f7c2ab8f6f273fa71b90fe65f089"
+  integrity sha512-e9tsYDFhU70gar0jQWcZXRPJVCv4k7tEs6Pm74wXO2OO/T1MEumbvniDIGwGG8bG8RUnYdHhjcaiub2Vc5BRWw==
   dependencies:
     "@babel/plugin-proposal-class-properties" "^7.0.0"
     "@babel/plugin-proposal-export-default-from" "^7.0.0"
@@ -5621,7 +5600,7 @@ metro-react-native-babel-preset@0.49.2, metro-react-native-babel-preset@^0.49.1:
     "@babel/plugin-transform-typescript" "^7.0.0"
     "@babel/plugin-transform-unicode-regex" "^7.0.0"
     "@babel/template" "^7.0.0"
-    metro-babel7-plugin-react-transform "0.49.2"
+    metro-babel7-plugin-react-transform "0.51.1"
     react-transform-hmr "^1.0.4"
 
 metro-resolver@0.48.3:
@@ -5631,10 +5610,10 @@ metro-resolver@0.48.3:
   dependencies:
     absolute-path "^0.0.0"
 
-metro-resolver@0.49.2:
-  version "0.49.2"
-  resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.49.2.tgz#b7580d7a24fdf96170a9d4099a66b29a18e6e5f8"
-  integrity sha512-Si9/A+jNQmVWlLSi6fXSG1tDEanYu99PMz/cAvM+aZy1yX9RyqfJzHzWVdr4lrNh+4DKCgDea94B9BjezqNYyw==
+metro-resolver@0.51.1:
+  version "0.51.1"
+  resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.51.1.tgz#4c26f0baee47d30250187adca3d34c902e627611"
+  integrity sha512-zmWbD/287NDA/jLPuPV0hne/YMMSG0dljzu21TYMg2lXRLur/zROJHHhyepZvuBHgInXBi4Vhr2wvuSnY39SuA==
   dependencies:
     absolute-path "^0.0.0"
 
@@ -5645,10 +5624,10 @@ metro-source-map@0.48.3:
   dependencies:
     source-map "^0.5.6"
 
-metro-source-map@0.49.2:
-  version "0.49.2"
-  resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.49.2.tgz#0f9e3d0286fc9549652c99b56b7aa2aec12372e7"
-  integrity sha512-gUQ9wq8iR05QeMqRbAJ+L961LVfoNKLBXSeEzHxoDNSwZ7jFYLMKn0ofLlfMy0S1javZGisS51l5OScLt83naQ==
+metro-source-map@0.51.1:
+  version "0.51.1"
+  resolved "https://registry.yarnpkg.com/metro-source-map/-/metro-source-map-0.51.1.tgz#1a8da138e98e184304d5558b4f92a5c2141822d0"
+  integrity sha512-JyrE+RV4YumrboHPHTGsUUGERjQ681ImRLrSYDGcmNv4tfpk9nvAK26UAas4IvBYFCC9oW90m0udt3kaQGv59Q==
   dependencies:
     source-map "^0.5.6"
 
@@ -5707,10 +5686,10 @@ metro@0.48.3, metro@^0.48.1:
     xpipe "^1.0.5"
     yargs "^9.0.0"
 
-metro@0.49.2, metro@^0.49.1:
-  version "0.49.2"
-  resolved "https://registry.yarnpkg.com/metro/-/metro-0.49.2.tgz#0fd615d9f451893a0816721b46e94dcf49dda0f6"
-  integrity sha512-GSNMigeQq+QQ++qwEnWx0hjtYCZIvogn4JuqpKqOyVqNbg+aIheJPvxfDzjF9OXM5WHuNsTfGLW8n5kbUmQJSg==
+metro@0.51.1, metro@^0.51.1:
+  version "0.51.1"
+  resolved "https://registry.yarnpkg.com/metro/-/metro-0.51.1.tgz#b0aad4731593b9f244261bad1abb2a006d1c8969"
+  integrity sha512-nM0dqn8LQlMjhChl2fzTUq2EWiUebZM7nkesD9vQe47W10bj/tbRLPiIIAxht6SRDbPd/hRA+t39PxLhPSKEKg==
   dependencies:
     "@babel/core" "^7.0.0"
     "@babel/generator" "^7.0.0"
@@ -5723,7 +5702,7 @@ metro@0.49.2, metro@^0.49.1:
     async "^2.4.0"
     babel-preset-fbjs "^3.0.1"
     buffer-crc32 "^0.2.13"
-    chalk "^1.1.1"
+    chalk "^2.4.1"
     concat-stream "^1.6.0"
     connect "^3.6.5"
     debug "^2.2.0"
@@ -5733,18 +5712,20 @@ metro@0.49.2, metro@^0.49.1:
     fs-extra "^1.0.0"
     graceful-fs "^4.1.3"
     image-size "^0.6.0"
+    invariant "^2.2.4"
     jest-haste-map "24.0.0-alpha.6"
     jest-worker "24.0.0-alpha.6"
     json-stable-stringify "^1.0.1"
     lodash.throttle "^4.1.1"
     merge-stream "^1.0.1"
-    metro-cache "0.49.2"
-    metro-config "0.49.2"
-    metro-core "0.49.2"
-    metro-minify-uglify "0.49.2"
-    metro-react-native-babel-preset "0.49.2"
-    metro-resolver "0.49.2"
-    metro-source-map "0.49.2"
+    metro-babel-transformer "0.51.1"
+    metro-cache "0.51.1"
+    metro-config "0.51.1"
+    metro-core "0.51.1"
+    metro-minify-uglify "0.51.1"
+    metro-react-native-babel-preset "0.51.1"
+    metro-resolver "0.51.1"
+    metro-source-map "0.51.1"
     mime-types "2.1.11"
     mkdirp "^0.5.1"
     node-fetch "^2.2.0"
@@ -5758,7 +5739,7 @@ metro@0.49.2, metro@^0.49.1:
     throat "^4.1.0"
     wordwrap "^1.0.0"
     write-file-atomic "^1.2.0"
-    ws "^1.1.0"
+    ws "^1.1.5"
     xpipe "^1.0.5"
     yargs "^9.0.0"
 
@@ -6614,11 +6595,16 @@ prettier-linter-helpers@^1.0.0:
   dependencies:
     fast-diff "^1.1.2"
 
-prettier@^1.15.2, prettier@^1.15.3:
+prettier@^1.15.3:
   version "1.15.3"
   resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.15.3.tgz#1feaac5bdd181237b54dbe65d874e02a1472786a"
   integrity sha512-gAU9AGAPMaKb3NNSUUuhhFAS7SCO4ALTN4nRIn6PJ075Qd28Yn2Ig2ahEJWdJwJmlEBTUfC7mMUSFy8MwsOCfg==
 
+prettier@^1.16.0:
+  version "1.16.0"
+  resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.16.0.tgz#104dd25f5ee3d0c9d0a6ce4bb40ced8481d51219"
+  integrity sha512-MCBCYeAuZfejUPdEpkleLWvpRBwLii/Sp5jQs0eb8Ul/drGIDjkL6tAU24tk6yCGf0KPV5rhPPPlczfBmN2pWQ==
+
 pretty-format@24.0.0-alpha.6:
   version "24.0.0-alpha.6"
   resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.0.0-alpha.6.tgz#25ad2fa46b342d6278bf241c5d2114d4376fbac1"
@@ -6743,7 +6729,7 @@ punycode@^2.1.0:
   resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
   integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
 
-q@^1.0.1, q@^1.4.1:
+q@^1.4.1:
   version "1.5.1"
   resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
   integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=
@@ -8319,11 +8305,6 @@ tr46@^1.0.1:
   dependencies:
     punycode "^2.1.0"
 
-traverse-chain@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/traverse-chain/-/traverse-chain-0.1.0.tgz#61dbc2d53b69ff6091a12a168fd7d433107e40f1"
-  integrity sha1-YdvC1Ttp/2CRoSoWj9fUMxB+QPE=
-
 trim-right@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"


Test patch:
diff --git a/app/hotels/src/filter/stars/__tests__/__snapshots__/StarsPopup.test.js.snap b/app/hotels/src/filter/stars/__tests__/__snapshots__/StarsPopup.test.js.snap
index 650de331..49038104 100644
--- a/app/hotels/src/filter/stars/__tests__/__snapshots__/StarsPopup.test.js.snap
+++ b/app/hotels/src/filter/stars/__tests__/__snapshots__/StarsPopup.test.js.snap
@@ -3,11 +3,6 @@
 exports[`StarsPopup should render popup 1`] = `
 <withOrientation>
   <ButtonPopup
-    buttonCloseTitle={
-      <Translation
-        id="hotels_search.filter.hotel_facilities_popup.close"
-      />
-    }
     buttonTitle={
       <Translation
         id="hotels_search.filter.stars_popup.save"
diff --git a/packages/shared/src/popup/__tests__/ButtonPopup.test.js b/packages/shared/src/popup/__tests__/ButtonPopup.test.js
index 33ad1aa8..a7268698 100644
--- a/packages/shared/src/popup/__tests__/ButtonPopup.test.js
+++ b/packages/shared/src/popup/__tests__/ButtonPopup.test.js
@@ -7,13 +7,13 @@ import { Translation } from '@kiwicom/mobile-localization';
 import ButtonPopup from '../ButtonPopup';
 import Touchable from '../../Touchable';
 import Dimensions from '../../view/Dimensions';
+import CloseButton from '../../buttons/CloseButton';
 
 const renderPopup = (onSave, onClose) =>
   renderer.create(
     <Dimensions.Provider dimensions={{ width: 500, height: 700 }}>
       <ButtonPopup
         buttonTitle={<Translation passThrough="Save" />}
-        buttonCloseTitle={<Translation passThrough="Close" />}
         isVisible={true}
         onSave={onSave}
         onClose={onClose}
@@ -34,6 +34,19 @@ describe('ButtonPopup', () => {
     });
 
     expect(onSave).toBeCalled();
+    expect(onClose).not.toBeCalled();
+  });
+
+  it('close button should call onClose', async () => {
+    const onSave = jest.fn();
+    const onClose = jest.fn();
+    const testRenderer = renderPopup(onSave, onClose);
+    const testInstance = testRenderer.root;
+    await testInstance.findAllByType(CloseButton).forEach(async child => {
+      await child.props.onPress();
+    });
+
+    expect(onSave).not.toBeCalled();
     expect(onClose).toBeCalled();
   });
 });
diff --git a/packages/shared/src/popup/__tests__/ButtonPopupPlayground.test.js b/packages/shared/src/popup/__tests__/ButtonPopupPlayground.test.js
index 1feea87b..222f8b5b 100644
--- a/packages/shared/src/popup/__tests__/ButtonPopupPlayground.test.js
+++ b/packages/shared/src/popup/__tests__/ButtonPopupPlayground.test.js
@@ -13,7 +13,6 @@ describe('ButtonPopup playground', () => {
     PlaygroundRenderer.render(
       <ButtonPopup
         buttonTitle={<Translation passThrough="Save" />}
-        buttonCloseTitle={<Translation passThrough="Close" />}
         isVisible={true}
         onSave={noop}
         onClose={noop}
diff --git a/packages/shared/src/popup/__tests__/__snapshots__/ButtonPopupPlayground.test.js.snap b/packages/shared/src/popup/__tests__/__snapshots__/ButtonPopupPlayground.test.js.snap
index 84841496..f79b3d6b 100644
--- a/packages/shared/src/popup/__tests__/__snapshots__/ButtonPopupPlayground.test.js.snap
+++ b/packages/shared/src/popup/__tests__/__snapshots__/ButtonPopupPlayground.test.js.snap
@@ -23,15 +23,8 @@ exports[`ButtonPopup playground renders in playground 1`] = `
           ]
         }
       >
-        <TextButton
-          disabled={false}
+        <CloseButton
           onPress={[Function]}
-          title={
-            <Translation
-              passThrough="Close"
-            />
-          }
-          type="secondary"
         />
       </View>
       <View