From 99d3db1201e3b8f524e47d88a757028ff4a68071 Mon Sep 17 00:00:00 2001 From: Dmitry Stadnik Date: Tue, 6 Apr 2021 20:24:52 +0500 Subject: [PATCH 1/6] Fix minimumTrackImage, maximumTrackImage, and trackImage do not work together --- src/ios/RNCSlider.h | 2 ++ src/ios/RNCSlider.m | 22 ++++++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/ios/RNCSlider.h b/src/ios/RNCSlider.h index 08474bac..911ed830 100644 --- a/src/ios/RNCSlider.h +++ b/src/ios/RNCSlider.h @@ -23,6 +23,8 @@ @property (nonatomic, strong) UIImage *maximumTrackImage; @property (nonatomic, strong) UIImage *thumbImage; @property (nonatomic, assign) bool tapToSeek; +@property (nonatomic, assign) bool minimumTrackImageSet; +@property (nonatomic, assign) bool maximumTrackImageSet; @property (nonatomic, strong) NSString *accessibilityUnits; @property (nonatomic, strong) NSArray *accessibilityIncrements; diff --git a/src/ios/RNCSlider.m b/src/ios/RNCSlider.m index 714b63de..03986286 100644 --- a/src/ios/RNCSlider.m +++ b/src/ios/RNCSlider.m @@ -64,20 +64,25 @@ - (void)setTrackImage:(UIImage *)trackImage if (trackImage != _trackImage) { _trackImage = trackImage; CGFloat width = trackImage.size.width / 2; - UIImage *minimumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ - 0, width, 0, width - } resizingMode:UIImageResizingModeStretch]; - UIImage *maximumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ - 0, width, 0, width - } resizingMode:UIImageResizingModeStretch]; - [self setMinimumTrackImage:minimumTrackImage forState:UIControlStateNormal]; - [self setMaximumTrackImage:maximumTrackImage forState:UIControlStateNormal]; + if (!_minimumTrackImageSet) { + UIImage *minimumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ + 0, width, 0, width + } resizingMode:UIImageResizingModeStretch]; + [self setMinimumTrackImage:minimumTrackImage forState:UIControlStateNormal]; + } + if (!_maximumTrackImageSet) { + UIImage *maximumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ + 0, width, 0, width + } resizingMode:UIImageResizingModeStretch]; + [self setMaximumTrackImage:maximumTrackImage forState:UIControlStateNormal]; + } } } - (void)setMinimumTrackImage:(UIImage *)minimumTrackImage { _trackImage = nil; + _minimumTrackImageSet = true; minimumTrackImage = [minimumTrackImage resizableImageWithCapInsets:(UIEdgeInsets){ 0, minimumTrackImage.size.width, 0, 0 } resizingMode:UIImageResizingModeStretch]; @@ -92,6 +97,7 @@ - (UIImage *)minimumTrackImage - (void)setMaximumTrackImage:(UIImage *)maximumTrackImage { _trackImage = nil; + _maximumTrackImageSet = true; maximumTrackImage = [maximumTrackImage resizableImageWithCapInsets:(UIEdgeInsets){ 0, 0, 0, maximumTrackImage.size.width } resizingMode:UIImageResizingModeStretch]; From 649c91aa15087f8cde51d881f0fe6ee4b29c9cab Mon Sep 17 00:00:00 2001 From: Dmitry Stadnik Date: Wed, 7 Apr 2021 14:10:32 +0500 Subject: [PATCH 2/6] Fix deps not linked on iOS. Fix installation problem with detox. (#274) * Fix deps not linked on iOS. Fix installation problem with detox. * Updated config.yml Co-authored-by: Dmitry Stadnik --- .circleci/config.yml | 2 +- example/ios/Podfile.lock | 10 +-- example/package.json | 2 +- src/package.json | 2 +- yarn.lock | 173 +++++++++++++++++++++++++++++++-------- 5 files changed, 146 insertions(+), 43 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8cd9387f..0904762c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,7 +1,7 @@ version: 2.1 orbs: - rn: react-native-community/react-native@2.0.1 + rn: react-native-community/react-native@5.1.0 jobs: checkout_code: diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index d0e8ed3d..d362810e 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -182,7 +182,7 @@ PODS: - React-cxxreact (= 0.62.2) - React-jsi (= 0.62.2) - React-jsinspector (0.62.2) - - react-native-slider (3.0.2): + - react-native-slider (4.0.0-rc.2): - React-Core - React-RCTActionSheet (0.62.2): - React-Core/RCTActionSheetHeaders (= 0.62.2) @@ -261,7 +261,7 @@ DEPENDENCIES: - React-jsi (from `../../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../../node_modules/react-native/ReactCommon/jsinspector`) - - "react-native-slider (from `../node_modules/@react-native-community/slider`)" + - react-native-slider (from `../../src`) - React-RCTActionSheet (from `../../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTBlob (from `../../node_modules/react-native/Libraries/Blob`) @@ -309,7 +309,7 @@ EXTERNAL SOURCES: React-jsinspector: :path: "../../node_modules/react-native/ReactCommon/jsinspector" react-native-slider: - :path: "../node_modules/@react-native-community/slider" + :path: "../../src" React-RCTActionSheet: :path: "../../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: @@ -349,7 +349,7 @@ SPEC CHECKSUMS: React-jsi: b6dc94a6a12ff98e8877287a0b7620d365201161 React-jsiexecutor: 1540d1c01bb493ae3124ed83351b1b6a155db7da React-jsinspector: 512e560d0e985d0e8c479a54a4e5c147a9c83493 - react-native-slider: 912097f311e20780e1eec115e4c127c2bb405dcf + react-native-slider: b0516fffccae0858ce1ab73ba1e80188d2041a27 React-RCTActionSheet: f41ea8a811aac770e0cc6e0ad6b270c644ea8b7c React-RCTAnimation: 49ab98b1c1ff4445148b72a3d61554138565bad0 React-RCTBlob: a332773f0ebc413a0ce85942a55b064471587a71 @@ -364,4 +364,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 65ed4e66fef8e5bea5ac04bddc5f5646eead8fdb -COCOAPODS: 1.9.3 +COCOAPODS: 1.10.1 diff --git a/example/package.json b/example/package.json index 22de12f3..c47dac50 100644 --- a/example/package.json +++ b/example/package.json @@ -10,7 +10,7 @@ "run:web": "expo web" }, "dependencies": { - "@react-native-community/slider": "./src", + "@react-native-community/slider": "^4.0.0-rc.2", "babel-preset-expo": "^8.2.1", "expo": "^37.0.12", "react-dom": "~16.9.0", diff --git a/src/package.json b/src/package.json index 81700356..708b242e 100644 --- a/src/package.json +++ b/src/package.json @@ -31,7 +31,7 @@ "@react-native-community/eslint-config": "0.0.5", "babel-jest": "^24.9.0", "babel-plugin-module-resolver": "3.1.3", - "detox": "12.4.1", + "detox": "^18.9.0", "eslint": "^6.5.1", "flow-bin": "0.113.0", "jest": "^24.9.0", diff --git a/yarn.lock b/yarn.lock index 4c8e91e4..5d69d448 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2048,11 +2048,6 @@ eslint-plugin-react-native "3.6.0" prettier "1.16.4" -"@react-native-community/slider@./src": - version "4.0.0-rc.2" - dependencies: - flow-bin "0.113.0" - "@types/babel__core@^7.1.0": version "7.1.2" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" @@ -2793,10 +2788,10 @@ binary-extensions@^1.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== -bluebird@3.5.x: - version "3.5.5" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" - integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== +bluebird@^3.5.4: + version "3.7.2" + resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== blueimp-md5@^2.10.0: version "2.16.0" @@ -2965,6 +2960,11 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + caniuse-lite@^1.0.30001043: version "1.0.30001066" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001066.tgz#0a8a58a10108f2b9bf38e7b65c237b12fd9c5f04" @@ -3097,6 +3097,15 @@ cliui@^6.0.0: strip-ansi "^6.0.0" wrap-ansi "^6.2.0" +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + clone@^1.0.2: version "1.0.4" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" @@ -3422,6 +3431,11 @@ decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -3520,29 +3534,34 @@ detect-newline@^2.1.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= -detox@12.4.1: - version "12.4.1" - resolved "https://registry.yarnpkg.com/detox/-/detox-12.4.1.tgz#93de225fe7ab4d6f5540bd771b2d28db487b443e" - integrity sha512-teoNGSmGmTXhrtd3i/DKq+ORGViZ5NZ9olqQc7O53jVQ7Ozfwb9x3rBOdxkdlNtUCQ+PwCVCuU3veBcN/KI64Q== +detox@^18.9.0: + version "18.9.0" + resolved "https://registry.yarnpkg.com/detox/-/detox-18.9.0.tgz#8a6c18aaf04c0016b28c4611012d00664026bc61" + integrity sha512-HXsEN6y8MpkwfuvNfCeLpKhiTJtCMsWO4UIgOQi2Ll2aYuRqyUhk2XKUZPpzv3R8np7RUpXmJF32gynB+8utag== dependencies: bunyan "^1.8.12" bunyan-debug-stream "^1.1.0" chalk "^2.4.2" child-process-promise "^2.2.0" + find-up "^4.1.0" fs-extra "^4.0.2" + funpermaproxy "^1.0.1" get-port "^2.1.0" ini "^1.3.4" lodash "^4.17.5" minimist "^1.2.0" proper-lockfile "^3.0.2" + resolve-from "^5.0.0" sanitize-filename "^1.6.1" - shell-utils "^1.0.9" + shell-quote "^1.7.2" + signal-exit "^3.0.3" tail "^2.0.0" - telnet-client "0.15.3" + telnet-client "1.2.8" tempfile "^2.0.0" - ws "^1.1.1" - yargs "^13.0.0" - yargs-parser "^13.0.0" + which "^1.3.1" + ws "^3.3.1" + yargs "^16.0.3" + yargs-unparser "^2.0.0" diff-sequences@^24.9.0: version "24.9.0" @@ -3670,6 +3689,11 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -4336,6 +4360,11 @@ flat-cache@^2.0.1: rimraf "2.6.3" write "1.0.3" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08" @@ -4444,6 +4473,11 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= +funpermaproxy@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/funpermaproxy/-/funpermaproxy-1.0.1.tgz#4650e69b7c334d9717c06beba9b339cc08ac3335" + integrity sha512-9pEzs5vnNtR7ZGihly98w/mQ7blsvl68Wj30ZCDAXy7qDN4CWLLjdfjtH/P2m6whsnaJkw15hysCNHMXue+wdA== + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -4458,7 +4492,7 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" -get-caller-file@^2.0.1: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -4984,6 +5018,11 @@ is-plain-obj@^1.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -5837,7 +5876,7 @@ lodash.unescape@4.0.1: resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= -lodash@4.x.x, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.5, lodash@^4.3.0: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.5, lodash@^4.3.0: version "4.17.13" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.13.tgz#0bdc3a6adc873d2f4e0c4bac285df91b64fc7b93" integrity sha512-vm3/XWXfWtRua0FkUyEHBZy8kCPjErNBT9fJx8Zvs+U6zjqPbTUOpkaoum3O5uiA8sm+yNMHXfYkTUHFoMxFNA== @@ -7565,6 +7604,11 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" @@ -7840,12 +7884,10 @@ shell-quote@1.6.1, shell-quote@^1.6.1: array-reduce "~0.0.0" jsonify "~0.0.0" -shell-utils@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/shell-utils/-/shell-utils-1.0.10.tgz#7fe7b8084f5d6d21323d941267013bc38aed063e" - integrity sha512-p1xuqhj3jgcXiV8wGoF1eL/NOvapN9tyGDoObqKwvZTUZn7fIzK75swLTEHfGa7sObeN9vxFplHw/zgYUYRTsg== - dependencies: - lodash "4.x.x" +shell-quote@^1.7.2: + version "1.7.2" + resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" + integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== shelljs@^0.7.8: version "0.7.8" @@ -7866,6 +7908,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= +signal-exit@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" + integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + simple-plist@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/simple-plist/-/simple-plist-1.0.0.tgz#bed3085633b22f371e111f45d159a1ccf94b81eb" @@ -8230,12 +8277,12 @@ tar@^4: safe-buffer "^5.1.2" yallist "^3.0.3" -telnet-client@0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/telnet-client/-/telnet-client-0.15.3.tgz#99ec754e4acf6fa51dc69898f574df3c2550712e" - integrity sha512-GSfdzQV0BKIYsmeXq7bJFJ2wHeJud6icaIxCUf6QCGQUD6R0BBGbT1+yLDhq67JRdgRpwyPwUbV7JxFeRrZomQ== +telnet-client@1.2.8: + version "1.2.8" + resolved "https://registry.yarnpkg.com/telnet-client/-/telnet-client-1.2.8.tgz#946c0dadc8daa3f19bb40a3e898cb870403a4ca4" + integrity sha512-W+w4k3QAmULVNhBVT2Fei369kGZCh/TH25M7caJAXW+hLxwoQRuw0di3cX4l0S9fgH3Mvq7u+IFMoBDpEw/eIg== dependencies: - bluebird "3.5.x" + bluebird "^3.5.4" temp-dir@^1.0.0: version "1.0.0" @@ -8450,6 +8497,11 @@ ultron@1.0.x: resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" integrity sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po= +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== + unicode-canonical-property-names-ecmascript@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" @@ -8737,7 +8789,7 @@ which-module@^2.0.0: resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= -which@^1.2.9, which@^1.3.0: +which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -8779,6 +8831,15 @@ wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -8809,7 +8870,7 @@ write@1.0.3: dependencies: mkdirp "^0.5.1" -ws@^1.1.0, ws@^1.1.1, ws@^1.1.5: +ws@^1.1.0, ws@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" integrity sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w== @@ -8817,6 +8878,15 @@ ws@^1.1.0, ws@^1.1.1, ws@^1.1.5: options ">=0.0.5" ultron "1.0.x" +ws@^3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + ws@^5.2.0: version "5.2.2" resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" @@ -8881,6 +8951,11 @@ y18n@^4.0.0: resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== +y18n@^5.0.5: + version "5.0.6" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.6.tgz#8236b05cfc5af6a409f41326a4847c68989bb04f" + integrity sha512-PlVX4Y0lDTN6E2V4ES2tEdyvXkeKzxa8c/vo0pxPr/TqbztddTP0yn7zZylIyiAuxerqj0Q5GhpJ1YJCP8LaZQ== + yallist@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" @@ -8891,7 +8966,7 @@ yallist@^3.0.0, yallist@^3.0.3: resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== -yargs-parser@^13.0.0, yargs-parser@^13.1.1: +yargs-parser@^13.1.1: version "13.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== @@ -8915,7 +8990,22 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs@^13.0.0, yargs@^13.3.0: +yargs-parser@^20.2.2: + version "20.2.7" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" + integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== + +yargs-unparser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@^13.3.0: version "13.3.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== @@ -8964,3 +9054,16 @@ yargs@^15.1.0: which-module "^2.0.0" y18n "^4.0.0" yargs-parser "^18.1.2" + +yargs@^16.0.3: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" From cc460375e472e9448236414c1de97922a13e130e Mon Sep 17 00:00:00 2001 From: Dmitry Stadnik Date: Wed, 7 Apr 2021 16:27:20 +0500 Subject: [PATCH 3/6] Use private properties to keep trackImage info. --- example/ios/Podfile.lock | 10 +++++----- src/ios/RNCSlider.h | 2 -- src/ios/RNCSlider.m | 3 ++- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index d0e8ed3d..d362810e 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -182,7 +182,7 @@ PODS: - React-cxxreact (= 0.62.2) - React-jsi (= 0.62.2) - React-jsinspector (0.62.2) - - react-native-slider (3.0.2): + - react-native-slider (4.0.0-rc.2): - React-Core - React-RCTActionSheet (0.62.2): - React-Core/RCTActionSheetHeaders (= 0.62.2) @@ -261,7 +261,7 @@ DEPENDENCIES: - React-jsi (from `../../node_modules/react-native/ReactCommon/jsi`) - React-jsiexecutor (from `../../node_modules/react-native/ReactCommon/jsiexecutor`) - React-jsinspector (from `../../node_modules/react-native/ReactCommon/jsinspector`) - - "react-native-slider (from `../node_modules/@react-native-community/slider`)" + - react-native-slider (from `../../src`) - React-RCTActionSheet (from `../../node_modules/react-native/Libraries/ActionSheetIOS`) - React-RCTAnimation (from `../../node_modules/react-native/Libraries/NativeAnimation`) - React-RCTBlob (from `../../node_modules/react-native/Libraries/Blob`) @@ -309,7 +309,7 @@ EXTERNAL SOURCES: React-jsinspector: :path: "../../node_modules/react-native/ReactCommon/jsinspector" react-native-slider: - :path: "../node_modules/@react-native-community/slider" + :path: "../../src" React-RCTActionSheet: :path: "../../node_modules/react-native/Libraries/ActionSheetIOS" React-RCTAnimation: @@ -349,7 +349,7 @@ SPEC CHECKSUMS: React-jsi: b6dc94a6a12ff98e8877287a0b7620d365201161 React-jsiexecutor: 1540d1c01bb493ae3124ed83351b1b6a155db7da React-jsinspector: 512e560d0e985d0e8c479a54a4e5c147a9c83493 - react-native-slider: 912097f311e20780e1eec115e4c127c2bb405dcf + react-native-slider: b0516fffccae0858ce1ab73ba1e80188d2041a27 React-RCTActionSheet: f41ea8a811aac770e0cc6e0ad6b270c644ea8b7c React-RCTAnimation: 49ab98b1c1ff4445148b72a3d61554138565bad0 React-RCTBlob: a332773f0ebc413a0ce85942a55b064471587a71 @@ -364,4 +364,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 65ed4e66fef8e5bea5ac04bddc5f5646eead8fdb -COCOAPODS: 1.9.3 +COCOAPODS: 1.10.1 diff --git a/src/ios/RNCSlider.h b/src/ios/RNCSlider.h index 911ed830..08474bac 100644 --- a/src/ios/RNCSlider.h +++ b/src/ios/RNCSlider.h @@ -23,8 +23,6 @@ @property (nonatomic, strong) UIImage *maximumTrackImage; @property (nonatomic, strong) UIImage *thumbImage; @property (nonatomic, assign) bool tapToSeek; -@property (nonatomic, assign) bool minimumTrackImageSet; -@property (nonatomic, assign) bool maximumTrackImageSet; @property (nonatomic, strong) NSString *accessibilityUnits; @property (nonatomic, strong) NSArray *accessibilityIncrements; diff --git a/src/ios/RNCSlider.m b/src/ios/RNCSlider.m index 03986286..2e995c41 100644 --- a/src/ios/RNCSlider.m +++ b/src/ios/RNCSlider.m @@ -10,7 +10,8 @@ @implementation RNCSlider { float _unclippedValue; -} + bool _minimumTrackImageSet; + bool _maximumTrackImageSet;} - (instancetype)initWithFrame:(CGRect)frame { From 54772ae0db531e8fe32170480a874f2483545c7f Mon Sep 17 00:00:00 2001 From: Dmitry Stadnik Date: Tue, 6 Apr 2021 20:24:52 +0500 Subject: [PATCH 4/6] Fix minimumTrackImage, maximumTrackImage, and trackImage do not work together --- src/ios/RNCSlider.h | 2 ++ src/ios/RNCSlider.m | 22 ++++++++++++++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/src/ios/RNCSlider.h b/src/ios/RNCSlider.h index 08474bac..911ed830 100644 --- a/src/ios/RNCSlider.h +++ b/src/ios/RNCSlider.h @@ -23,6 +23,8 @@ @property (nonatomic, strong) UIImage *maximumTrackImage; @property (nonatomic, strong) UIImage *thumbImage; @property (nonatomic, assign) bool tapToSeek; +@property (nonatomic, assign) bool minimumTrackImageSet; +@property (nonatomic, assign) bool maximumTrackImageSet; @property (nonatomic, strong) NSString *accessibilityUnits; @property (nonatomic, strong) NSArray *accessibilityIncrements; diff --git a/src/ios/RNCSlider.m b/src/ios/RNCSlider.m index 714b63de..03986286 100644 --- a/src/ios/RNCSlider.m +++ b/src/ios/RNCSlider.m @@ -64,20 +64,25 @@ - (void)setTrackImage:(UIImage *)trackImage if (trackImage != _trackImage) { _trackImage = trackImage; CGFloat width = trackImage.size.width / 2; - UIImage *minimumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ - 0, width, 0, width - } resizingMode:UIImageResizingModeStretch]; - UIImage *maximumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ - 0, width, 0, width - } resizingMode:UIImageResizingModeStretch]; - [self setMinimumTrackImage:minimumTrackImage forState:UIControlStateNormal]; - [self setMaximumTrackImage:maximumTrackImage forState:UIControlStateNormal]; + if (!_minimumTrackImageSet) { + UIImage *minimumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ + 0, width, 0, width + } resizingMode:UIImageResizingModeStretch]; + [self setMinimumTrackImage:minimumTrackImage forState:UIControlStateNormal]; + } + if (!_maximumTrackImageSet) { + UIImage *maximumTrackImage = [trackImage resizableImageWithCapInsets:(UIEdgeInsets){ + 0, width, 0, width + } resizingMode:UIImageResizingModeStretch]; + [self setMaximumTrackImage:maximumTrackImage forState:UIControlStateNormal]; + } } } - (void)setMinimumTrackImage:(UIImage *)minimumTrackImage { _trackImage = nil; + _minimumTrackImageSet = true; minimumTrackImage = [minimumTrackImage resizableImageWithCapInsets:(UIEdgeInsets){ 0, minimumTrackImage.size.width, 0, 0 } resizingMode:UIImageResizingModeStretch]; @@ -92,6 +97,7 @@ - (UIImage *)minimumTrackImage - (void)setMaximumTrackImage:(UIImage *)maximumTrackImage { _trackImage = nil; + _maximumTrackImageSet = true; maximumTrackImage = [maximumTrackImage resizableImageWithCapInsets:(UIEdgeInsets){ 0, 0, 0, maximumTrackImage.size.width } resizingMode:UIImageResizingModeStretch]; From f28c4a6fa14a207f5b4b7640ffba1f42ff334a5d Mon Sep 17 00:00:00 2001 From: Dmitry Stadnik Date: Wed, 7 Apr 2021 16:27:20 +0500 Subject: [PATCH 5/6] Use private properties to keep trackImage info. --- src/ios/RNCSlider.h | 2 -- src/ios/RNCSlider.m | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/ios/RNCSlider.h b/src/ios/RNCSlider.h index 911ed830..08474bac 100644 --- a/src/ios/RNCSlider.h +++ b/src/ios/RNCSlider.h @@ -23,8 +23,6 @@ @property (nonatomic, strong) UIImage *maximumTrackImage; @property (nonatomic, strong) UIImage *thumbImage; @property (nonatomic, assign) bool tapToSeek; -@property (nonatomic, assign) bool minimumTrackImageSet; -@property (nonatomic, assign) bool maximumTrackImageSet; @property (nonatomic, strong) NSString *accessibilityUnits; @property (nonatomic, strong) NSArray *accessibilityIncrements; diff --git a/src/ios/RNCSlider.m b/src/ios/RNCSlider.m index 03986286..2e995c41 100644 --- a/src/ios/RNCSlider.m +++ b/src/ios/RNCSlider.m @@ -10,7 +10,8 @@ @implementation RNCSlider { float _unclippedValue; -} + bool _minimumTrackImageSet; + bool _maximumTrackImageSet;} - (instancetype)initWithFrame:(CGRect)frame { From 99fae203910bbaca7017e40d8d5cb10a69988987 Mon Sep 17 00:00:00 2001 From: Dmitry Stadnik Date: Thu, 8 Apr 2021 20:31:14 +0500 Subject: [PATCH 6/6] Small syntax fix. --- src/ios/RNCSlider.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ios/RNCSlider.m b/src/ios/RNCSlider.m index 2e995c41..d83f34ff 100644 --- a/src/ios/RNCSlider.m +++ b/src/ios/RNCSlider.m @@ -11,7 +11,8 @@ @implementation RNCSlider { float _unclippedValue; bool _minimumTrackImageSet; - bool _maximumTrackImageSet;} + bool _maximumTrackImageSet; +} - (instancetype)initWithFrame:(CGRect)frame {