From b636095a4b477c0c2b5af9d4feecdb23c5f2a46b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 30 Mar 2023 10:07:37 +0000 Subject: [PATCH 01/11] Update kotlin monorepo to v1.8.20 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b8c17c7e91..2f23af1663 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -kotlin = "1.8.10" +kotlin = "1.8.20" kotlinx-coroutines = "1.6.4" kotlinx-serialization = "1.5.0" androidxComposeCompiler = "1.4.3" From deae2415ea6592db80aab35cb85961a3e2b7e345 Mon Sep 17 00:00:00 2001 From: Colin White Date: Wed, 12 Apr 2023 13:48:24 -0700 Subject: [PATCH 02/11] Update libs and yarn.lock. --- gradle/libs.versions.toml | 4 +- kotlin-js-store/yarn.lock | 289 +++++++++++++++++++++++++++++++++++++- 2 files changed, 287 insertions(+), 6 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2f23af1663..b29b8ed8d7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,9 +2,9 @@ kotlin = "1.8.20" kotlinx-coroutines = "1.6.4" kotlinx-serialization = "1.5.0" -androidxComposeCompiler = "1.4.3" +androidxComposeCompiler = "1.4.5" androidx-activity = "1.3.1" -jbCompose = "1.3.1" +jbCompose = "1.4.0" lint = "30.4.2" zipline = "0.9.17" coil = "2.3.0" diff --git a/kotlin-js-store/yarn.lock b/kotlin-js-store/yarn.lock index fc52386282..83f8d211af 100644 --- a/kotlin-js-store/yarn.lock +++ b/kotlin-js-store/yarn.lock @@ -2,6 +2,27 @@ # yarn lockfile v1 +"@babel/code-frame@^7.10.4": + version "7.21.4" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" + integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== + dependencies: + "@babel/highlight" "^7.18.6" + +"@babel/helper-validator-identifier@^7.18.6": + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== + +"@babel/highlight@^7.18.6": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== + dependencies: + "@babel/helper-validator-identifier" "^7.18.6" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@colors/colors@1.5.0": version "1.5.0" resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" @@ -57,6 +78,48 @@ resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== +"@rollup/plugin-commonjs@^21.0.1": + version "21.1.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-21.1.0.tgz#45576d7b47609af2db87f55a6d4b46e44fc3a553" + integrity sha512-6ZtHx3VHIp2ReNNDxHjuUml6ur+WcQ28N1yHgCQwsbNkQg2suhxGMDQGJOn/KuDxKtd1xuZP5xSTwBA4GQ8hbA== + dependencies: + "@rollup/pluginutils" "^3.1.0" + commondir "^1.0.1" + estree-walker "^2.0.1" + glob "^7.1.6" + is-reference "^1.2.1" + magic-string "^0.25.7" + resolve "^1.17.0" + +"@rollup/plugin-node-resolve@^13.1.3": + version "13.3.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz#da1c5c5ce8316cef96a2f823d111c1e4e498801c" + integrity sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw== + dependencies: + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" + deepmerge "^4.2.2" + is-builtin-module "^3.1.0" + is-module "^1.0.0" + resolve "^1.19.0" + +"@rollup/plugin-typescript@^8.3.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-8.5.0.tgz#7ea11599a15b0a30fa7ea69ce3b791d41b862515" + integrity sha512-wMv1/scv0m/rXx21wD2IsBbJFba8wGF3ErJIr6IKRfRj49S85Lszbxb4DCo8iILpluTjk2GAAu9CoZt4G3ppgQ== + dependencies: + "@rollup/pluginutils" "^3.1.0" + resolve "^1.17.0" + +"@rollup/pluginutils@^3.0.9", "@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + "@socket.io/component-emitter@~3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" @@ -125,6 +188,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + "@types/estree@^0.0.51": version "0.0.51" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" @@ -171,6 +239,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== +"@types/node@^12.12.14": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + "@types/qs@*": version "6.9.7" resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" @@ -181,6 +254,13 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== +"@types/resolve@1.17.1": + version "1.17.1" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" + integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + dependencies: + "@types/node" "*" + "@types/retry@0.12.0": version "0.12.0" resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" @@ -445,6 +525,13 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" @@ -475,6 +562,11 @@ array-flatten@^2.1.2: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== +atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -565,6 +657,11 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -593,6 +690,15 @@ caniuse-lite@^1.0.30001400: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001447.tgz#ef1f39ae38d839d7176713735a8e467a0a2523bd" integrity sha512-bdKU1BQDPeEXe9A39xJnGtY0uRq/z5osrnXUw0TcK+EYno45Y+U7QU9HhHEyzvMDffpYadFXi3idnSNkcwLkTw== +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + chalk@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -639,6 +745,13 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + color-convert@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" @@ -646,6 +759,11 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" @@ -666,6 +784,11 @@ commander@^7.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + compressible@~2.0.16: version "2.0.18" resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" @@ -784,6 +907,16 @@ decamelize@^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.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + default-gateway@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" @@ -927,6 +1060,11 @@ escape-string-regexp@4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -952,6 +1090,16 @@ estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" @@ -1110,7 +1258,7 @@ follow-redirects@^1.0.0: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== -format-util@1.0.5: +format-util@1.0.5, format-util@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/format-util/-/format-util-1.0.5.tgz#1ffb450c8a03e7bccffe40643180918cc297d271" integrity sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg== @@ -1197,7 +1345,7 @@ glob@7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.3, glob@^7.1.7: +glob@^7.1.3, glob@^7.1.6, glob@^7.1.7: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -1219,6 +1367,11 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + has-flag@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" @@ -1374,6 +1527,20 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" +is-builtin-module@^3.1.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + +is-core-module@^2.11.0: + version "2.12.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4" + integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ== + dependencies: + has "^1.0.3" + is-core-module@^2.9.0: version "2.11.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" @@ -1403,6 +1570,11 @@ is-glob@^4.0.1, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== + is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -1425,6 +1597,13 @@ is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" +is-reference@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== + dependencies: + "@types/estree" "*" + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" @@ -1462,6 +1641,15 @@ isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== +jest-worker@^26.2.1: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + jest-worker@^27.4.5: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" @@ -1471,6 +1659,11 @@ jest-worker@^27.4.5: merge-stream "^2.0.0" supports-color "^8.0.0" +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + js-yaml@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" @@ -1608,6 +1801,13 @@ log4js@^6.4.1: rfdc "^1.3.0" streamroller "^3.1.3" +magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== + dependencies: + sourcemap-codec "^1.4.8" + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -1922,7 +2122,7 @@ picocolors@^1.0.0: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -2049,6 +2249,15 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve@^1.17.0, resolve@^1.19.0: + version "1.22.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== + dependencies: + is-core-module "^2.11.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^1.9.0: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" @@ -2075,6 +2284,31 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +rollup-plugin-sourcemaps@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz#bf93913ffe056e414419607f1d02780d7ece84ed" + integrity sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw== + dependencies: + "@rollup/pluginutils" "^3.0.9" + source-map-resolve "^0.6.0" + +rollup-plugin-terser@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== + dependencies: + "@babel/code-frame" "^7.10.4" + jest-worker "^26.2.1" + serialize-javascript "^4.0.0" + terser "^5.0.0" + +rollup@^2.68.0: + version "2.79.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + optionalDependencies: + fsevents "~2.3.2" + safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -2147,6 +2381,13 @@ serialize-javascript@6.0.0: dependencies: randombytes "^2.1.0" +serialize-javascript@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" + integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + dependencies: + randombytes "^2.1.0" + serialize-javascript@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" @@ -2268,6 +2509,14 @@ source-map-loader@4.0.0: iconv-lite "^0.6.3" source-map-js "^1.0.2" +source-map-resolve@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" + integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -2281,6 +2530,11 @@ source-map@^0.6.0, source-map@^0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + spdy-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" @@ -2370,7 +2624,14 @@ supports-color@8.1.1, supports-color@^8.0.0: dependencies: has-flag "^4.0.0" -supports-color@^7.1.0: +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== @@ -2398,6 +2659,16 @@ terser-webpack-plugin@^5.1.3: serialize-javascript "^6.0.0" terser "^5.14.1" +terser@^5.0.0: + version "5.16.9" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.9.tgz#7a28cb178e330c484369886f2afd623d9847495f" + integrity sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg== + dependencies: + "@jridgewell/source-map" "^0.3.2" + acorn "^8.5.0" + commander "^2.20.0" + source-map-support "~0.5.20" + terser@^5.14.1: version "5.16.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.1.tgz#5af3bc3d0f24241c7fb2024199d5c461a1075880" @@ -2432,6 +2703,11 @@ toidentifier@1.0.1: resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== +tslib@^2.3.1: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" + integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== + type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -2445,6 +2721,11 @@ typescript@4.7.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== +typescript@^3.7.2: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + ua-parser-js@^0.7.30: version "0.7.33" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.33.tgz#1d04acb4ccef9293df6f70f2c3d22f3030d8b532" From c7520f26db4dd9192b279050fdb0544f99f34ecd Mon Sep 17 00:00:00 2001 From: Colin White Date: Wed, 12 Apr 2023 13:51:23 -0700 Subject: [PATCH 03/11] Fix compiler version. --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b29b8ed8d7..cbf3d54b20 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -41,7 +41,7 @@ androidx-test-uiautomator = "androidx.test.uiautomator:uiautomator:2.2.0" google-material = { module = "com.google.android.material:material", version = "1.8.0" } -jetbrains-compose-compiler = "org.jetbrains.compose.compiler:compiler:1.4.2" +jetbrains-compose-compiler = "org.jetbrains.compose.compiler:compiler:1.4.5" jetbrains-compose-gradlePlugin = { module = "org.jetbrains.compose:compose-gradle-plugin", version.ref = "jbCompose" } jetbrains-compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "jbCompose" } jetbrains-compose-material = { module = "org.jetbrains.compose.material:material", version.ref = "jbCompose" } From 1aded2b0b0ca4171bae779bd3c33ff7c3ec31d43 Mon Sep 17 00:00:00 2001 From: Colin White Date: Wed, 12 Apr 2023 13:57:38 -0700 Subject: [PATCH 04/11] Remove imports. --- .../iosMain/kotlin/app/cash/redwood/widget/UIViewChildren.kt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/redwood-widget/src/iosMain/kotlin/app/cash/redwood/widget/UIViewChildren.kt b/redwood-widget/src/iosMain/kotlin/app/cash/redwood/widget/UIViewChildren.kt index 59b9eeb005..da05db34ff 100644 --- a/redwood-widget/src/iosMain/kotlin/app/cash/redwood/widget/UIViewChildren.kt +++ b/redwood-widget/src/iosMain/kotlin/app/cash/redwood/widget/UIViewChildren.kt @@ -17,10 +17,6 @@ package app.cash.redwood.widget import kotlinx.cinterop.convert import platform.UIKit.UIView -import platform.UIKit.insertSubview -import platform.UIKit.invalidateIntrinsicContentSize -import platform.UIKit.removeFromSuperview -import platform.UIKit.setNeedsDisplay import platform.darwin.NSInteger @ObjCName("UIViewChildren", exact = true) From 37c6075d94db8f6d22f925a7b231db6b783dd8fa Mon Sep 17 00:00:00 2001 From: Colin White Date: Wed, 12 Apr 2023 14:02:22 -0700 Subject: [PATCH 05/11] Fix imports. --- .../app/cash/redwood/layout/uiview/UIViewFlexContainer.kt | 3 --- .../commonMain/kotlin/app/cash/redwood/layout/uiview/utils.kt | 3 --- 2 files changed, 6 deletions(-) diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt index f47c2acf48..aafc6e531f 100644 --- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt +++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt @@ -38,9 +38,6 @@ import platform.CoreGraphics.CGSize import platform.CoreGraphics.CGSizeMake import platform.UIKit.UIView import platform.UIKit.UIViewNoIntrinsicMetric -import platform.UIKit.setFrame -import platform.UIKit.setNeedsLayout -import platform.UIKit.superview import platform.darwin.NSObject internal class UIViewFlexContainer( diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/utils.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/utils.kt index d076938dfa..521c603601 100644 --- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/utils.kt +++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/utils.kt @@ -25,9 +25,6 @@ import platform.CoreGraphics.CGSize import platform.CoreGraphics.CGSizeMake import platform.UIKit.UIView import platform.UIKit.UIViewNoIntrinsicMetric -import platform.UIKit.intrinsicContentSize -import platform.UIKit.sizeThatFits -import platform.UIKit.subviews // The cross platform density multiples use iOS as an anchor. internal const val DensityMultiplier = 1.0 From 5daecdbf04cdf25ee043ba13d3f96a3c05b696c1 Mon Sep 17 00:00:00 2001 From: Colin White Date: Wed, 12 Apr 2023 14:11:54 -0700 Subject: [PATCH 06/11] Replace FlowWithInitialValue. --- .../redwood/treehouse/treehouseCompose.kt | 6 ++-- .../redwood/treehouse/TreehouseAppContent.kt | 2 +- .../redwood/treehouse/FlowWithInitialValue.kt | 32 ------------------- .../redwood/treehouse/ZiplineTreehouseUi.kt | 3 +- 4 files changed, 6 insertions(+), 37 deletions(-) delete mode 100644 redwood-treehouse/src/commonMain/kotlin/app/cash/redwood/treehouse/FlowWithInitialValue.kt diff --git a/redwood-treehouse-guest/src/commonMain/kotlin/app/cash/redwood/treehouse/treehouseCompose.kt b/redwood-treehouse-guest/src/commonMain/kotlin/app/cash/redwood/treehouse/treehouseCompose.kt index b3cfdbf2e3..90649b37d0 100644 --- a/redwood-treehouse-guest/src/commonMain/kotlin/app/cash/redwood/treehouse/treehouseCompose.kt +++ b/redwood-treehouse-guest/src/commonMain/kotlin/app/cash/redwood/treehouse/treehouseCompose.kt @@ -24,6 +24,7 @@ import app.cash.zipline.ZiplineScoped import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.DelicateCoroutinesApi import kotlinx.coroutines.GlobalScope +import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.plus /** @@ -52,7 +53,7 @@ private class RedwoodZiplineTreehouseUi( override fun start( diffSink: DiffSinkService, - hostConfigurations: FlowWithInitialValue, + hostConfigurations: StateFlow, ) { val composition = ProtocolRedwoodComposition( scope = coroutineScope + StandardFrameClock, @@ -62,8 +63,7 @@ private class RedwoodZiplineTreehouseUi( ) this.composition = composition - val (initialHostConfiguration, hostConfigurationFlow) = hostConfigurations - composition.bind(treehouseUi, initialHostConfiguration, hostConfigurationFlow) + composition.bind(treehouseUi, hostConfigurations.value, hostConfigurations) } override fun close() { diff --git a/redwood-treehouse-host/src/commonMain/kotlin/app/cash/redwood/treehouse/TreehouseAppContent.kt b/redwood-treehouse-host/src/commonMain/kotlin/app/cash/redwood/treehouse/TreehouseAppContent.kt index 53b7c9663d..e011f34d0d 100644 --- a/redwood-treehouse-host/src/commonMain/kotlin/app/cash/redwood/treehouse/TreehouseAppContent.kt +++ b/redwood-treehouse-host/src/commonMain/kotlin/app/cash/redwood/treehouse/TreehouseAppContent.kt @@ -356,7 +356,7 @@ private class ViewContentCodeBinding( treehouseUiOrNull = treehouseUi treehouseUi.start( diffSink = this@ViewContentCodeBinding, - hostConfigurations = hostConfigurationFlow.toFlowWithInitialValue(), + hostConfigurations = hostConfigurationFlow, ) } } diff --git a/redwood-treehouse/src/commonMain/kotlin/app/cash/redwood/treehouse/FlowWithInitialValue.kt b/redwood-treehouse/src/commonMain/kotlin/app/cash/redwood/treehouse/FlowWithInitialValue.kt deleted file mode 100644 index 9731e896be..0000000000 --- a/redwood-treehouse/src/commonMain/kotlin/app/cash/redwood/treehouse/FlowWithInitialValue.kt +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright (C) 2022 Square, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package app.cash.redwood.treehouse - -import kotlin.native.ObjCName -import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.StateFlow -import kotlinx.serialization.Contextual -import kotlinx.serialization.Serializable - -@Serializable -@ObjCName("FlowWithInitialValue", exact = true) -public data class FlowWithInitialValue( - val initial: T, - @Contextual val flow: Flow, -) - -public fun StateFlow.toFlowWithInitialValue(): FlowWithInitialValue = - FlowWithInitialValue(value, this) diff --git a/redwood-treehouse/src/commonMain/kotlin/app/cash/redwood/treehouse/ZiplineTreehouseUi.kt b/redwood-treehouse/src/commonMain/kotlin/app/cash/redwood/treehouse/ZiplineTreehouseUi.kt index 3a40a72284..e9dc5de0d8 100644 --- a/redwood-treehouse/src/commonMain/kotlin/app/cash/redwood/treehouse/ZiplineTreehouseUi.kt +++ b/redwood-treehouse/src/commonMain/kotlin/app/cash/redwood/treehouse/ZiplineTreehouseUi.kt @@ -18,6 +18,7 @@ package app.cash.redwood.treehouse import app.cash.redwood.protocol.EventSink import app.cash.zipline.ZiplineService import kotlin.native.ObjCName +import kotlinx.coroutines.flow.StateFlow /** * Adapt TreehouseComposition to conform the limitations of Zipline interfaces. @@ -28,6 +29,6 @@ import kotlin.native.ObjCName public interface ZiplineTreehouseUi : ZiplineService, EventSink { public fun start( diffSink: DiffSinkService, - hostConfigurations: FlowWithInitialValue, + hostConfigurations: StateFlow, ) } From 9ffea5a787e4c7404f233c5f9f5bfdd3bee045d8 Mon Sep 17 00:00:00 2001 From: Colin White Date: Wed, 12 Apr 2023 14:23:43 -0700 Subject: [PATCH 07/11] Fix imports. --- .../kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt index 0dbd33e9cc..6f5d7a63b7 100644 --- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt +++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt @@ -21,8 +21,6 @@ import app.cash.redwood.layout.uiview.cinterop.SpacerHostView import app.cash.redwood.layout.widget.Spacer import platform.CoreGraphics.CGSizeMake import platform.UIKit.UIView -import platform.UIKit.invalidateIntrinsicContentSize -import platform.UIKit.setNeedsLayout import platform.darwin.NSObject internal class UIViewSpacer : Spacer { From c1be3fb0862c69c967fbcb55180de2e003e1344c Mon Sep 17 00:00:00 2001 From: Colin White Date: Wed, 12 Apr 2023 14:48:57 -0700 Subject: [PATCH 08/11] Remove cklib. --- build.gradle | 1 - gradle/libs.versions.toml | 2 - redwood-layout-uiview/build.gradle | 24 +------ .../native/uikit/RedwoodScrollViewDelegate.h | 12 ---- .../native/uikit/RedwoodViewDelegate.h | 9 --- redwood-layout-uiview/native/uikit/uiview.h | 28 -------- redwood-layout-uiview/native/uikit/uiview.m | 65 ------------------- .../layout/uiview/UIViewFlexContainer.kt | 33 +++++----- .../redwood/layout/uiview/UIViewSpacer.kt | 11 ++-- .../src/nativeInterop/cinterop/uikit.def | 3 - renovate.json5 | 7 -- 11 files changed, 23 insertions(+), 172 deletions(-) delete mode 100644 redwood-layout-uiview/native/uikit/RedwoodScrollViewDelegate.h delete mode 100644 redwood-layout-uiview/native/uikit/RedwoodViewDelegate.h delete mode 100644 redwood-layout-uiview/native/uikit/uiview.h delete mode 100644 redwood-layout-uiview/native/uikit/uiview.m delete mode 100644 redwood-layout-uiview/src/nativeInterop/cinterop/uikit.def diff --git a/build.gradle b/build.gradle index 0cd4607e67..2117c3c60e 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,6 @@ buildscript { classpath libs.buildConfigPlugin classpath libs.zipline.gradlePlugin classpath libs.paparazzi.gradlePlugin - classpath libs.cklib.gradle.plugin classpath 'app.cash.redwood.build:gradle-plugin' classpath 'app.cash.redwood:redwood-gradle-plugin' } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e744e2c798..c6f2fe5afa 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -71,5 +71,3 @@ coil-core = { module = "io.coil-kt:coil", version.ref = "coil" } turbine = "app.cash.turbine:turbine:0.12.3" lint-core = { module = "com.android.tools.lint:lint", version.ref = "lint" } - -cklib-gradle-plugin = { module = "co.touchlab:cklib-gradle-plugin", version = "0.2.4" } diff --git a/redwood-layout-uiview/build.gradle b/redwood-layout-uiview/build.gradle index d51c2faf51..ce5263c7f4 100644 --- a/redwood-layout-uiview/build.gradle +++ b/redwood-layout-uiview/build.gradle @@ -3,18 +3,11 @@ import app.cash.redwood.buildsupport.FlexboxHelpers apply plugin: 'org.jetbrains.kotlin.multiplatform' apply plugin: 'com.vanniktech.maven.publish' apply plugin: 'org.jetbrains.dokka' // Must be applied here for publish plugin. -apply plugin: 'co.touchlab.cklib' kotlin { - [ - iosArm64(), - iosX64(), - iosSimulatorArm64() - ].forEach { target -> - target.compilations.main.cinterops.create("uikit") { - includeDirs("$projectDir/native/uikit") - } - } + iosArm64() + iosX64() + iosSimulatorArm64() sourceSets { commonMain { @@ -39,14 +32,3 @@ kotlin { } } } - -cklib { - config.kotlinVersion = libs.versions.kotlin.get() - create("uikit", file("native/uikit"), ["main"]) {ctb -> - ctb.language = co.touchlab.cklib.gradle.CompileToBitcode.Language.OBJC - ctb.compilerArgs.addAll( - ["-DKONAN_MI_MALLOC=1", "-DNS_FORMAT_ARGUMENT(A)=", "-D_Nullable_result=_Nullable"] - ) - ctb.srcDirs = project.files(file("native/uikit")) - } -} diff --git a/redwood-layout-uiview/native/uikit/RedwoodScrollViewDelegate.h b/redwood-layout-uiview/native/uikit/RedwoodScrollViewDelegate.h deleted file mode 100644 index a3bbb0aa4e..0000000000 --- a/redwood-layout-uiview/native/uikit/RedwoodScrollViewDelegate.h +++ /dev/null @@ -1,12 +0,0 @@ -#import -#import -#import - -@protocol RedwoodScrollViewDelegate - - @property(nonatomic, readonly) CGSize intrinsicContentSize; - - (CGSize)sizeThatFits:(CGSize)size; - - (void)setNeedsLayout; - - (void)layoutSubviews; - -@end diff --git a/redwood-layout-uiview/native/uikit/RedwoodViewDelegate.h b/redwood-layout-uiview/native/uikit/RedwoodViewDelegate.h deleted file mode 100644 index 041a8a3028..0000000000 --- a/redwood-layout-uiview/native/uikit/RedwoodViewDelegate.h +++ /dev/null @@ -1,9 +0,0 @@ -#import -#import -#import - -@protocol RedwoodViewDelegate - - @property(nonatomic, readonly) CGSize intrinsicContentSize; - -@end diff --git a/redwood-layout-uiview/native/uikit/uiview.h b/redwood-layout-uiview/native/uikit/uiview.h deleted file mode 100644 index c119c1b417..0000000000 --- a/redwood-layout-uiview/native/uikit/uiview.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2022 Square, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#import -#import -#import -#import "RedwoodViewDelegate.h" -#import "RedwoodScrollViewDelegate.h" - -@interface FlexContainerHostView : UIScrollView -@property id kotlinDelegate; -@end - -@interface SpacerHostView : UIView -@property id kotlinDelegate; -@end diff --git a/redwood-layout-uiview/native/uikit/uiview.m b/redwood-layout-uiview/native/uikit/uiview.m deleted file mode 100644 index a045b5096a..0000000000 --- a/redwood-layout-uiview/native/uikit/uiview.m +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2022 Square, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#import "uiview.h" - -@implementation FlexContainerHostView - -- (id)initWithFrame :(CGRect)frame :(id )kotlinDelegate -{ - self = [super initWithFrame:frame]; - self.kotlinDelegate = kotlinDelegate; - return self; -} - -- (CGSize)intrinsicContentSize -{ - return [self.kotlinDelegate intrinsicContentSize]; -} - -- (CGSize)sizeThatFits:(CGSize)size -{ - return [self.kotlinDelegate sizeThatFits:size]; -} - -- (void)setNeedsLayout -{ - [super setNeedsLayout]; - [self.kotlinDelegate setNeedsLayout]; -} - -- (void)layoutSubviews -{ - [super layoutSubviews]; - [self.kotlinDelegate layoutSubviews]; -} - -@end - -@implementation SpacerHostView - -- (id)initWithFrame :(CGRect)frame :(id )kotlinDelegate -{ - self = [super initWithFrame:frame]; - self.kotlinDelegate = kotlinDelegate; - return self; -} - -- (CGSize)intrinsicContentSize -{ - return [self.kotlinDelegate intrinsicContentSize]; -} - -@end diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt index aafc6e531f..cc32c8531a 100644 --- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt +++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt @@ -26,8 +26,6 @@ import app.cash.redwood.layout.api.CrossAxisAlignment import app.cash.redwood.layout.api.MainAxisAlignment import app.cash.redwood.layout.api.Margin import app.cash.redwood.layout.api.Overflow -import app.cash.redwood.layout.uiview.cinterop.FlexContainerHostView -import app.cash.redwood.layout.uiview.cinterop.RedwoodScrollViewDelegateProtocol import app.cash.redwood.layout.widget.Column import app.cash.redwood.layout.widget.Row import app.cash.redwood.widget.UIViewChildren @@ -36,9 +34,9 @@ import kotlinx.cinterop.useContents import platform.CoreGraphics.CGRectMake import platform.CoreGraphics.CGSize import platform.CoreGraphics.CGSizeMake +import platform.UIKit.UIScrollView import platform.UIKit.UIView import platform.UIKit.UIViewNoIntrinsicMetric -import platform.darwin.NSObject internal class UIViewFlexContainer( private val direction: FlexDirection, @@ -47,13 +45,13 @@ internal class UIViewFlexContainer( flexDirection = direction roundToInt = false } - - override val value = FlexContainerHostView().apply { - kotlinDelegate = UIViewDelegate() + private val view = FlexContainerHostView().apply { showsHorizontalScrollIndicator = false showsVerticalScrollIndicator = false } + override val value: UIView get() = view + override val children = UIViewChildren(value) override var layoutModifiers: LayoutModifier = LayoutModifier @@ -74,7 +72,7 @@ internal class UIViewFlexContainer( } override fun overflow(overflow: Overflow) { - value.setScrollEnabled(overflow == Overflow.Scroll) + view.setScrollEnabled(overflow == Overflow.Scroll) invalidate() } @@ -108,13 +106,16 @@ internal class UIViewFlexContainer( value.setNeedsLayout() } - private inner class UIViewDelegate : NSObject(), RedwoodScrollViewDelegateProtocol { + private inner class FlexContainerHostView : UIScrollView() { private var needsLayout = true - override fun intrinsicContentSize(): CValue = CGSizeMake(noIntrinsicSize.width, noIntrinsicSize.height) + override fun intrinsicContentSize(): CValue { + return CGSizeMake(UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric) + } - override fun sizeThatFits(size: CValue): CValue = - measure(size.useContents { toUnsafeSize() }).run { CGSizeMake(width, height) } + override fun sizeThatFits(size: CValue): CValue { + return measure(size.useContents { toUnsafeSize() }).run { CGSizeMake(width, height) } + } override fun setNeedsLayout() { needsLayout = true @@ -124,19 +125,19 @@ internal class UIViewFlexContainer( if (!needsLayout) return needsLayout = false - val bounds = value.bounds.useContents { size.toUnsafeSize() } + val bounds = bounds.useContents { size.toUnsafeSize() } measure(bounds) - value.setContentSize( + setContentSize( CGSizeMake( width = container.items.maxOfOrNull { it.right } ?: 0.0, height = container.items.maxOfOrNull { it.top } ?: 0.0, ), ) - value.superview?.setNeedsLayout() + superview?.setNeedsLayout() container.items.forEachIndexed { index, item -> - value.typedSubviews[index].setFrame( + typedSubviews[index].setFrame( CGRectMake( x = item.left, y = item.top, @@ -167,8 +168,6 @@ internal class UIViewFlexContainer( } } -private val noIntrinsicSize = UnsafeSize(UIViewNoIntrinsicMetric, UIViewNoIntrinsicMetric) - internal data class UnsafeSize( val width: Double, val height: Double, diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt index 6f5d7a63b7..6e432a6015 100644 --- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt +++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt @@ -16,20 +16,17 @@ package app.cash.redwood.layout.uiview import app.cash.redwood.LayoutModifier -import app.cash.redwood.layout.uiview.cinterop.RedwoodViewDelegateProtocol -import app.cash.redwood.layout.uiview.cinterop.SpacerHostView import app.cash.redwood.layout.widget.Spacer import platform.CoreGraphics.CGSizeMake import platform.UIKit.UIView -import platform.darwin.NSObject internal class UIViewSpacer : Spacer { private var width = 0.0 private var height = 0.0 - override val value: UIView = SpacerHostView().apply { - kotlinDelegate = UIViewDelegate() - } + private val view = SpacerHostView() + + override val value: UIView get() = view override var layoutModifiers: LayoutModifier = LayoutModifier @@ -50,7 +47,7 @@ internal class UIViewSpacer : Spacer { value.setNeedsLayout() } - private inner class UIViewDelegate : NSObject(), RedwoodViewDelegateProtocol { + private inner class SpacerHostView : UIView() { override fun intrinsicContentSize() = CGSizeMake(width, height) } } diff --git a/redwood-layout-uiview/src/nativeInterop/cinterop/uikit.def b/redwood-layout-uiview/src/nativeInterop/cinterop/uikit.def deleted file mode 100644 index 92eaa0eb81..0000000000 --- a/redwood-layout-uiview/src/nativeInterop/cinterop/uikit.def +++ /dev/null @@ -1,3 +0,0 @@ -package = app.cash.redwood.layout.uiview.cinterop -language = Objective-C -headers = uiview.h RedwoodViewDelegate.h RedwoodScrollViewDelegate.h diff --git a/renovate.json5 b/renovate.json5 index 9ccbb98512..ef56aafe85 100644 --- a/renovate.json5 +++ b/renovate.json5 @@ -3,11 +3,4 @@ "extends": [ "config:base", ], - "packageRules": [ - { - // First release used Kotlin version + project version which sorts higher than new versions. - "matchPackageNames": ["co.touchlab:cklib-gradle-plugin"], - "allowedVersions": "!/1\\.5\\.31\\.2/", - }, - ], } From dcfc34c80928311e19ad95b0813e26ecfd968131 Mon Sep 17 00:00:00 2001 From: Colin White Date: Wed, 12 Apr 2023 15:05:26 -0700 Subject: [PATCH 09/11] Fix build. --- .../cash/redwood/layout/uiview/UIViewFlexContainer.kt | 4 +++- .../app/cash/redwood/layout/uiview/UIViewSpacer.kt | 4 +++- .../app/cash/redwood/treehouse/TreehouseUIKitView.kt | 10 ++-------- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt index cc32c8531a..e85bf3af7e 100644 --- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt +++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt @@ -30,8 +30,10 @@ import app.cash.redwood.layout.widget.Column import app.cash.redwood.layout.widget.Row import app.cash.redwood.widget.UIViewChildren import kotlinx.cinterop.CValue +import kotlinx.cinterop.cValue import kotlinx.cinterop.useContents import platform.CoreGraphics.CGRectMake +import platform.CoreGraphics.CGRectZero import platform.CoreGraphics.CGSize import platform.CoreGraphics.CGSizeMake import platform.UIKit.UIScrollView @@ -106,7 +108,7 @@ internal class UIViewFlexContainer( value.setNeedsLayout() } - private inner class FlexContainerHostView : UIScrollView() { + private inner class FlexContainerHostView : UIScrollView(cValue { CGRectZero }) { private var needsLayout = true override fun intrinsicContentSize(): CValue { diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt index 6e432a6015..3573883513 100644 --- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt +++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewSpacer.kt @@ -17,6 +17,8 @@ package app.cash.redwood.layout.uiview import app.cash.redwood.LayoutModifier import app.cash.redwood.layout.widget.Spacer +import kotlinx.cinterop.cValue +import platform.CoreGraphics.CGRectZero import platform.CoreGraphics.CGSizeMake import platform.UIKit.UIView @@ -47,7 +49,7 @@ internal class UIViewSpacer : Spacer { value.setNeedsLayout() } - private inner class SpacerHostView : UIView() { + private inner class SpacerHostView : UIView(cValue { CGRectZero }) { override fun intrinsicContentSize() = CGSizeMake(width, height) } } diff --git a/redwood-treehouse-host/src/iosMain/kotlin/app/cash/redwood/treehouse/TreehouseUIKitView.kt b/redwood-treehouse-host/src/iosMain/kotlin/app/cash/redwood/treehouse/TreehouseUIKitView.kt index aba165d3de..7a26f4c60d 100644 --- a/redwood-treehouse-host/src/iosMain/kotlin/app/cash/redwood/treehouse/TreehouseUIKitView.kt +++ b/redwood-treehouse-host/src/iosMain/kotlin/app/cash/redwood/treehouse/TreehouseUIKitView.kt @@ -19,7 +19,6 @@ import app.cash.redwood.treehouse.TreehouseView.ReadyForContentChangeListener import app.cash.redwood.treehouse.TreehouseView.WidgetSystem import app.cash.redwood.widget.UIViewChildren import app.cash.redwood.widget.Widget -import kotlinx.cinterop.ObjCAction import kotlinx.cinterop.cValue import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow @@ -27,10 +26,6 @@ import platform.CoreGraphics.CGRectZero import platform.UIKit.UITraitCollection import platform.UIKit.UIUserInterfaceStyle.UIUserInterfaceStyleDark import platform.UIKit.UIView -import platform.UIKit.removeFromSuperview -import platform.UIKit.setFrame -import platform.UIKit.subviews -import platform.UIKit.superview @ObjCName("TreehouseUIKitView", exact = true) public class TreehouseUIKitView( @@ -81,17 +76,16 @@ private fun computeHostConfiguration( ) } -@Suppress("unused") // cinterop erroneously exposes these as extension functions. private class RootUiView( private val treehouseView: TreehouseUIKitView, ) : UIView(cValue { CGRectZero }) { - @ObjCAction fun layoutSubviews() { + override fun layoutSubviews() { subviews.forEach { (it as UIView).setFrame(bounds) } } - @ObjCAction fun didMoveToSuperview() { + override fun didMoveToSuperview() { treehouseView.superviewChanged() } From fb9c255d2392eb28fa6a8beea3d9a2c9e03d7e22 Mon Sep 17 00:00:00 2001 From: Colin White Date: Wed, 12 Apr 2023 15:58:21 -0700 Subject: [PATCH 10/11] Fix imports. --- .../redwood/treehouse/lazylayout/uiview/UIViewLazyColumn.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/redwood-treehouse-lazylayout-uiview/src/commonMain/kotlin/app/cash/redwood/treehouse/lazylayout/uiview/UIViewLazyColumn.kt b/redwood-treehouse-lazylayout-uiview/src/commonMain/kotlin/app/cash/redwood/treehouse/lazylayout/uiview/UIViewLazyColumn.kt index c99832cf7f..83fa4f3011 100644 --- a/redwood-treehouse-lazylayout-uiview/src/commonMain/kotlin/app/cash/redwood/treehouse/lazylayout/uiview/UIViewLazyColumn.kt +++ b/redwood-treehouse-lazylayout-uiview/src/commonMain/kotlin/app/cash/redwood/treehouse/lazylayout/uiview/UIViewLazyColumn.kt @@ -32,10 +32,8 @@ import platform.UIKit.UITableViewCell import platform.UIKit.UITableViewCellStyle import platform.UIKit.UITableViewDiffableDataSource import platform.UIKit.UIView -import platform.UIKit.addSubview import platform.UIKit.row import platform.UIKit.section -import platform.UIKit.setFrame import platform.darwin.NSInteger internal class UIViewLazyColumn( From bf78f0b632272c92091154c5c39172dacc1bb795 Mon Sep 17 00:00:00 2001 From: Jake Wharton Date: Tue, 18 Apr 2023 12:12:47 -0400 Subject: [PATCH 11/11] Zipline .18 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ce43f7f07c..7754fe2782 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,7 +6,7 @@ androidxComposeCompiler = "1.4.5" androidx-activity = "1.3.1" jbCompose = "1.4.0" lint = "31.0.0" -zipline = "0.9.17" +zipline = "0.9.18" coil = "2.3.0" [libraries]