diff --git a/.pnp.cjs b/.pnp.cjs index 2e124dcdc..0a08d1d14 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -305,7 +305,7 @@ const RAW_RUNTIME_STATE = ["@atls-ui-parts/card", ["workspace:ui-parts/card"]],\ ["@atls-ui-parts/carousel", ["virtual:f561de693929ff638f31ae8c1092e5769470b1ec49c6df5e63927513a1c9d7e061e9e1e57b201cc9d192613fb86733a189e1addbd41b33049481defc3f3313a4#workspace:ui-parts/carousel", "workspace:ui-parts/carousel"]],\ ["@atls-ui-parts/checkbox", ["virtual:73f06d631f493cae648f7d00ddcf2b179ef5ac0daebca77c177de120c9fe25f11a6e92d86450fe08bcb1dceb2d2f707ee0b707ffd60612007b743eab29f0f8c1#workspace:ui-parts/checkbox", "workspace:ui-parts/checkbox"]],\ - ["@atls-ui-parts/condition", ["workspace:ui-parts/condition"]],\ + ["@atls-ui-parts/condition", ["virtual:1320fc6ec219fe9b9b8025a69a6f6da3d24ae894a872fcb488bae5457b3f8865eca8f82e6837403ffdb77f387479bf57ba00487c3f052882997ac17a7bbf66ea#workspace:ui-parts/condition", "virtual:682046feb074b3388b549ae74542bc0d90b434473ec55e02a7e0d2a15721f2364fa8ae9e9ca2919d1956e3758406c9b55e3e8dfc444924e1a76f70d9a0c6ae17#workspace:ui-parts/condition", "virtual:715735a4a2e8d54905169134c454af6bc069cd38753b21c330a59c9416baae469297a98652616fe195b447efe73a93ec5d519bc00280e9faea2d12c5bf015e0a#workspace:ui-parts/condition", "virtual:a15e8e386f0848c0efd1eadd9a418d80b9207ea53e0c7f932b55172b55bab6135bd431fc36ca11d76fcc0ab5326a613011578020d3e8cc4305b9b1c2946b74b4#workspace:ui-parts/condition", "workspace:ui-parts/condition"]],\ ["@atls-ui-parts/conditional-render", ["virtual:0fb63da0303c928b853ee6ca0e891ea755d97edab1a9215b8a99dc96704d0fbdf57052c58d77c55fed64df8b96cc32123f70d0e306086db709a9c8efd881b8d9#workspace:ui-parts/conditional-render", "virtual:73f06d631f493cae648f7d00ddcf2b179ef5ac0daebca77c177de120c9fe25f11a6e92d86450fe08bcb1dceb2d2f707ee0b707ffd60612007b743eab29f0f8c1#workspace:ui-parts/conditional-render", "workspace:ui-parts/conditional-render"]],\ ["@atls-ui-parts/core", ["workspace:ui-parts/core"]],\ ["@atls-ui-parts/datepicker", ["virtual:5a731e7e706296468b0153d9867145ff45c1549a24951381e014c4afac24b98d499015bc4279ec415be2ba0450d8e219d9348882ae396ad7ec6d30b6716be9e3#workspace:ui-parts/datepicker", "workspace:ui-parts/datepicker"]],\ @@ -1510,13 +1510,111 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@atls-ui-parts/condition", [\ + ["virtual:1320fc6ec219fe9b9b8025a69a6f6da3d24ae894a872fcb488bae5457b3f8865eca8f82e6837403ffdb77f387479bf57ba00487c3f052882997ac17a7bbf66ea#workspace:ui-parts/condition", {\ + "packageLocation": "./.yarn/__virtual__/@atls-ui-parts-condition-virtual-c6c6e6fda2/1/ui-parts/condition/",\ + "packageDependencies": [\ + ["@atls-ui-parts/condition", "virtual:1320fc6ec219fe9b9b8025a69a6f6da3d24ae894a872fcb488bae5457b3f8865eca8f82e6837403ffdb77f387479bf57ba00487c3f052882997ac17a7bbf66ea#workspace:ui-parts/condition"],\ + ["@emotion/react", "virtual:f82126c62b7b0d0900b6ba99ce1854779dcacc0684d87910375fe54da64aa4d830109285c7ffb92edf8d294cbeced1703d22d1e32a0c5b02a241297909681b45#npm:11.9.3"],\ + ["@emotion/styled", "virtual:ecc6b1bbaecda01b4876fa1e192199007fc275ac98b826098f5b047b9f5e5078bc2e874010bd031f331dc7f74a04d19db38a9dc54b7d146b32d9430495098e39#npm:11.9.3"],\ + ["@types/emotion__react", null],\ + ["@types/emotion__styled", null],\ + ["@types/framer-motion", null],\ + ["@types/react", "npm:17.0.39"],\ + ["framer-motion", "virtual:9c076913ffd643939b8ac6e8c374fd1470f44689001261d35898fb07091ea0aa596a24d8bcdfb508f949d0c68789b448702cfb68072c423229496303e9a11342#npm:6.3.11"],\ + ["react", "npm:18.2.0"]\ + ],\ + "packagePeers": [\ + "@emotion/styled",\ + "@types/emotion__react",\ + "@types/emotion__styled",\ + "@types/framer-motion",\ + "@types/react",\ + "framer-motion",\ + "react"\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:682046feb074b3388b549ae74542bc0d90b434473ec55e02a7e0d2a15721f2364fa8ae9e9ca2919d1956e3758406c9b55e3e8dfc444924e1a76f70d9a0c6ae17#workspace:ui-parts/condition", {\ + "packageLocation": "./.yarn/__virtual__/@atls-ui-parts-condition-virtual-ea92da0b88/1/ui-parts/condition/",\ + "packageDependencies": [\ + ["@atls-ui-parts/condition", "virtual:682046feb074b3388b549ae74542bc0d90b434473ec55e02a7e0d2a15721f2364fa8ae9e9ca2919d1956e3758406c9b55e3e8dfc444924e1a76f70d9a0c6ae17#workspace:ui-parts/condition"],\ + ["@emotion/react", "virtual:f82126c62b7b0d0900b6ba99ce1854779dcacc0684d87910375fe54da64aa4d830109285c7ffb92edf8d294cbeced1703d22d1e32a0c5b02a241297909681b45#npm:11.9.3"],\ + ["@emotion/styled", "virtual:ecc6b1bbaecda01b4876fa1e192199007fc275ac98b826098f5b047b9f5e5078bc2e874010bd031f331dc7f74a04d19db38a9dc54b7d146b32d9430495098e39#npm:11.9.3"],\ + ["@types/emotion__react", null],\ + ["@types/emotion__styled", null],\ + ["@types/framer-motion", null],\ + ["@types/react", "npm:17.0.39"],\ + ["framer-motion", "virtual:a15e8e386f0848c0efd1eadd9a418d80b9207ea53e0c7f932b55172b55bab6135bd431fc36ca11d76fcc0ab5326a613011578020d3e8cc4305b9b1c2946b74b4#npm:10.15.2"],\ + ["react", "npm:18.2.0"]\ + ],\ + "packagePeers": [\ + "@emotion/styled",\ + "@types/emotion__react",\ + "@types/emotion__styled",\ + "@types/framer-motion",\ + "@types/react",\ + "framer-motion",\ + "react"\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:715735a4a2e8d54905169134c454af6bc069cd38753b21c330a59c9416baae469297a98652616fe195b447efe73a93ec5d519bc00280e9faea2d12c5bf015e0a#workspace:ui-parts/condition", {\ + "packageLocation": "./.yarn/__virtual__/@atls-ui-parts-condition-virtual-ea66933762/1/ui-parts/condition/",\ + "packageDependencies": [\ + ["@atls-ui-parts/condition", "virtual:715735a4a2e8d54905169134c454af6bc069cd38753b21c330a59c9416baae469297a98652616fe195b447efe73a93ec5d519bc00280e9faea2d12c5bf015e0a#workspace:ui-parts/condition"],\ + ["@emotion/react", "virtual:f82126c62b7b0d0900b6ba99ce1854779dcacc0684d87910375fe54da64aa4d830109285c7ffb92edf8d294cbeced1703d22d1e32a0c5b02a241297909681b45#npm:11.9.3"],\ + ["@emotion/styled", "virtual:ecc6b1bbaecda01b4876fa1e192199007fc275ac98b826098f5b047b9f5e5078bc2e874010bd031f331dc7f74a04d19db38a9dc54b7d146b32d9430495098e39#npm:11.9.3"],\ + ["@types/emotion__react", null],\ + ["@types/emotion__styled", null],\ + ["@types/framer-motion", null],\ + ["@types/react", "npm:17.0.39"],\ + ["framer-motion", "virtual:9c076913ffd643939b8ac6e8c374fd1470f44689001261d35898fb07091ea0aa596a24d8bcdfb508f949d0c68789b448702cfb68072c423229496303e9a11342#npm:6.3.11"],\ + ["react", "npm:18.2.0"]\ + ],\ + "packagePeers": [\ + "@emotion/react",\ + "@emotion/styled",\ + "@types/emotion__react",\ + "@types/emotion__styled",\ + "@types/framer-motion",\ + "@types/react",\ + "framer-motion",\ + "react"\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a15e8e386f0848c0efd1eadd9a418d80b9207ea53e0c7f932b55172b55bab6135bd431fc36ca11d76fcc0ab5326a613011578020d3e8cc4305b9b1c2946b74b4#workspace:ui-parts/condition", {\ + "packageLocation": "./.yarn/__virtual__/@atls-ui-parts-condition-virtual-358591e326/1/ui-parts/condition/",\ + "packageDependencies": [\ + ["@atls-ui-parts/condition", "virtual:a15e8e386f0848c0efd1eadd9a418d80b9207ea53e0c7f932b55172b55bab6135bd431fc36ca11d76fcc0ab5326a613011578020d3e8cc4305b9b1c2946b74b4#workspace:ui-parts/condition"],\ + ["@emotion/react", "virtual:f82126c62b7b0d0900b6ba99ce1854779dcacc0684d87910375fe54da64aa4d830109285c7ffb92edf8d294cbeced1703d22d1e32a0c5b02a241297909681b45#npm:11.9.3"],\ + ["@emotion/styled", "virtual:8d719a0b3ab41aef985519ac74fa0a513aa7bee36213eb39b7cd82f90a48b0f06f4b7809e23f2bff1b0cae657f847fd7a9119b9df2f65d72dbef009384006482#npm:11.9.3"],\ + ["@types/emotion__react", null],\ + ["@types/emotion__styled", null],\ + ["@types/framer-motion", null],\ + ["@types/react", "npm:17.0.39"],\ + ["framer-motion", "virtual:a15e8e386f0848c0efd1eadd9a418d80b9207ea53e0c7f932b55172b55bab6135bd431fc36ca11d76fcc0ab5326a613011578020d3e8cc4305b9b1c2946b74b4#npm:10.15.2"],\ + ["react", "npm:18.2.0"]\ + ],\ + "packagePeers": [\ + "@emotion/styled",\ + "@types/emotion__react",\ + "@types/emotion__styled",\ + "@types/framer-motion",\ + "@types/react",\ + "framer-motion",\ + "react"\ + ],\ + "linkType": "SOFT"\ + }],\ ["workspace:ui-parts/condition", {\ "packageLocation": "./ui-parts/condition/",\ "packageDependencies": [\ ["@atls-ui-parts/condition", "workspace:ui-parts/condition"],\ - ["@emotion/react", "virtual:8eb691db84fd68975b95c7b7751e750446f82576951f5264566adefecbbef8688299b9be5a741e618cd4e5792a084b105995a5c92b7bd7f7d69bde2692db614b#npm:11.9.3"],\ - ["@emotion/styled", "virtual:8eb691db84fd68975b95c7b7751e750446f82576951f5264566adefecbbef8688299b9be5a741e618cd4e5792a084b105995a5c92b7bd7f7d69bde2692db614b#npm:11.9.3"],\ - ["framer-motion", "virtual:7b430e620a9aa0a5fbc2c5aff67d92a4aeb1b7a0814c4f142ddabc3a66f9bee0da0d51d9b7a1e3ff6a7a93b499918e737c02b96f16079d75bf01655c972bb4aa#npm:10.15.2"],\ + ["@emotion/react", "virtual:f82126c62b7b0d0900b6ba99ce1854779dcacc0684d87910375fe54da64aa4d830109285c7ffb92edf8d294cbeced1703d22d1e32a0c5b02a241297909681b45#npm:11.9.3"],\ + ["@emotion/styled", "virtual:ecc6b1bbaecda01b4876fa1e192199007fc275ac98b826098f5b047b9f5e5078bc2e874010bd031f331dc7f74a04d19db38a9dc54b7d146b32d9430495098e39#npm:11.9.3"],\ + ["@types/react", "npm:17.0.39"],\ + ["framer-motion", "virtual:e8b379d238bee0c446fdeaddb9725553fcee91eeb8db9f1f4b47e4e36a5c6c26c07ae1861b7d0a5dd574863bc008f048d25fc793392ceeaade0c9801b921d418#npm:10.15.2"],\ ["react", "npm:18.2.0"]\ ],\ "linkType": "SOFT"\ @@ -2684,6 +2782,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/__virtual__/@atls-ui-parts-tooltip-virtual-682046feb0/1/ui-parts/tooltip/",\ "packageDependencies": [\ ["@atls-ui-parts/tooltip", "virtual:64f5ebe3d6c4762e886208959fb85df8edbeeeb24f1c445899660f3035c50a4a3805f00c10c40b9842997856ef8b0df3c746a74cc6f2384757e9c78640fbb346#workspace:ui-parts/tooltip"],\ + ["@atls-ui-parts/condition", "virtual:682046feb074b3388b549ae74542bc0d90b434473ec55e02a7e0d2a15721f2364fa8ae9e9ca2919d1956e3758406c9b55e3e8dfc444924e1a76f70d9a0c6ae17#workspace:ui-parts/condition"],\ ["@atls-ui-parts/layout", "virtual:6cb7b8e9f1c69fb854d324ecb7311c8b53f1d3dd2ae546e548e3ba83a721f1b562e9885fa940c326b4b72f39b3ee42ee67c0bbe88a999acb887b2b3ee59e262c#workspace:ui-parts/layout"],\ ["@emotion/styled", "virtual:ecc6b1bbaecda01b4876fa1e192199007fc275ac98b826098f5b047b9f5e5078bc2e874010bd031f331dc7f74a04d19db38a9dc54b7d146b32d9430495098e39#npm:11.9.3"],\ ["@testing-library/react", "virtual:c7650fe93d93d6badbf40c247530f86eaec9d8a36e117d7f3b39338dbb28c3785f1a2bbe765bd4495ac8e44c34ce280fcb986eba497de7f2dccdfac3d3df5836#npm:13.3.0"],\ @@ -2717,6 +2816,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/__virtual__/@atls-ui-parts-tooltip-virtual-1320fc6ec2/1/ui-parts/tooltip/",\ "packageDependencies": [\ ["@atls-ui-parts/tooltip", "virtual:715735a4a2e8d54905169134c454af6bc069cd38753b21c330a59c9416baae469297a98652616fe195b447efe73a93ec5d519bc00280e9faea2d12c5bf015e0a#workspace:ui-parts/tooltip"],\ + ["@atls-ui-parts/condition", "virtual:1320fc6ec219fe9b9b8025a69a6f6da3d24ae894a872fcb488bae5457b3f8865eca8f82e6837403ffdb77f387479bf57ba00487c3f052882997ac17a7bbf66ea#workspace:ui-parts/condition"],\ ["@atls-ui-parts/layout", "virtual:6cb7b8e9f1c69fb854d324ecb7311c8b53f1d3dd2ae546e548e3ba83a721f1b562e9885fa940c326b4b72f39b3ee42ee67c0bbe88a999acb887b2b3ee59e262c#workspace:ui-parts/layout"],\ ["@emotion/styled", "virtual:ecc6b1bbaecda01b4876fa1e192199007fc275ac98b826098f5b047b9f5e5078bc2e874010bd031f331dc7f74a04d19db38a9dc54b7d146b32d9430495098e39#npm:11.9.3"],\ ["@testing-library/react", "virtual:c7650fe93d93d6badbf40c247530f86eaec9d8a36e117d7f3b39338dbb28c3785f1a2bbe765bd4495ac8e44c34ce280fcb986eba497de7f2dccdfac3d3df5836#npm:13.3.0"],\ @@ -2752,6 +2852,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./ui-parts/tooltip/",\ "packageDependencies": [\ ["@atls-ui-parts/tooltip", "workspace:ui-parts/tooltip"],\ + ["@atls-ui-parts/condition", "virtual:a15e8e386f0848c0efd1eadd9a418d80b9207ea53e0c7f932b55172b55bab6135bd431fc36ca11d76fcc0ab5326a613011578020d3e8cc4305b9b1c2946b74b4#workspace:ui-parts/condition"],\ ["@atls-ui-parts/layout", "virtual:a15e8e386f0848c0efd1eadd9a418d80b9207ea53e0c7f932b55172b55bab6135bd431fc36ca11d76fcc0ab5326a613011578020d3e8cc4305b9b1c2946b74b4#workspace:ui-parts/layout"],\ ["@emotion/styled", "virtual:8d719a0b3ab41aef985519ac74fa0a513aa7bee36213eb39b7cd82f90a48b0f06f4b7809e23f2bff1b0cae657f847fd7a9119b9df2f65d72dbef009384006482#npm:11.9.3"],\ ["@testing-library/react", "virtual:c7650fe93d93d6badbf40c247530f86eaec9d8a36e117d7f3b39338dbb28c3785f1a2bbe765bd4495ac8e44c34ce280fcb986eba497de7f2dccdfac3d3df5836#npm:13.3.0"],\ @@ -3232,7 +3333,7 @@ const RAW_RUNTIME_STATE = ["@atls-ui-parts/text", "virtual:5bef123a8b55951d9942856e0b20f7f3daed787a7e7e81faa3336d2cbe257a35e48eb1f127ad2a38f543296bb0a4234ae21df4cdeac538365d6fc150e0526b06#workspace:ui-parts/text"],\ ["@emotion/styled", "virtual:84fec7902996807ffe9459860cec02b265a45b9530d4af930a181ff535e79e717246a38bb4611ad5edf869ca511300134198ba9fce541bdbb3e8479a17b38a87#npm:11.9.3"],\ ["events", "npm:3.3.0"],\ - ["framer-motion", "virtual:7b430e620a9aa0a5fbc2c5aff67d92a4aeb1b7a0814c4f142ddabc3a66f9bee0da0d51d9b7a1e3ff6a7a93b499918e737c02b96f16079d75bf01655c972bb4aa#npm:10.15.2"],\ + ["framer-motion", "virtual:5bef123a8b55951d9942856e0b20f7f3daed787a7e7e81faa3336d2cbe257a35e48eb1f127ad2a38f543296bb0a4234ae21df4cdeac538365d6fc150e0526b06#npm:10.15.2"],\ ["react", "npm:18.2.0"],\ ["react-intersection-observer", "virtual:5bef123a8b55951d9942856e0b20f7f3daed787a7e7e81faa3336d2cbe257a35e48eb1f127ad2a38f543296bb0a4234ae21df4cdeac538365d6fc150e0526b06#npm:9.5.2"],\ ["styled-system", "npm:5.1.5"]\ @@ -3259,6 +3360,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./ui-proto/popover/",\ "packageDependencies": [\ ["@atls-ui-proto/popover", "workspace:ui-proto/popover"],\ + ["@atls-ui-parts/condition", "virtual:715735a4a2e8d54905169134c454af6bc069cd38753b21c330a59c9416baae469297a98652616fe195b447efe73a93ec5d519bc00280e9faea2d12c5bf015e0a#workspace:ui-parts/condition"],\ ["@atls-ui-parts/layout", "virtual:6cb7b8e9f1c69fb854d324ecb7311c8b53f1d3dd2ae546e548e3ba83a721f1b562e9885fa940c326b4b72f39b3ee42ee67c0bbe88a999acb887b2b3ee59e262c#workspace:ui-parts/layout"],\ ["@atls-ui-parts/tooltip", "virtual:715735a4a2e8d54905169134c454af6bc069cd38753b21c330a59c9416baae469297a98652616fe195b447efe73a93ec5d519bc00280e9faea2d12c5bf015e0a#workspace:ui-parts/tooltip"],\ ["@emotion/react", "virtual:f82126c62b7b0d0900b6ba99ce1854779dcacc0684d87910375fe54da64aa4d830109285c7ffb92edf8d294cbeced1703d22d1e32a0c5b02a241297909681b45#npm:11.9.3"],\ @@ -21617,21 +21719,17 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:75087829e97a06e3c8e366f92a2e1cf0763504566fe8d77886149c64df69b11b2ea4c6bd69e2945ccf693c97da9db08db72a4721660bc12a07eddca4403d4388#npm:6.3.11", {\ - "packageLocation": "./.yarn/__virtual__/framer-motion-virtual-d3ea55cf5a/0/cache/framer-motion-npm-6.3.11-8218fde9f1-e96430da49.zip/node_modules/framer-motion/",\ + ["virtual:5bef123a8b55951d9942856e0b20f7f3daed787a7e7e81faa3336d2cbe257a35e48eb1f127ad2a38f543296bb0a4234ae21df4cdeac538365d6fc150e0526b06#npm:10.15.2", {\ + "packageLocation": "./.yarn/__virtual__/framer-motion-virtual-c86eb8bba0/0/cache/framer-motion-npm-10.15.2-3eff176406-630b575886.zip/node_modules/framer-motion/",\ "packageDependencies": [\ - ["framer-motion", "virtual:75087829e97a06e3c8e366f92a2e1cf0763504566fe8d77886149c64df69b11b2ea4c6bd69e2945ccf693c97da9db08db72a4721660bc12a07eddca4403d4388#npm:6.3.11"],\ + ["framer-motion", "virtual:5bef123a8b55951d9942856e0b20f7f3daed787a7e7e81faa3336d2cbe257a35e48eb1f127ad2a38f543296bb0a4234ae21df4cdeac538365d6fc150e0526b06#npm:10.15.2"],\ ["@emotion/is-prop-valid", "npm:0.8.8"],\ - ["@types/react", "npm:17.0.39"],\ + ["@types/react", null],\ ["@types/react-dom", null],\ ["csstype", "npm:3.1.0"],\ - ["framesync", "npm:6.0.1"],\ - ["hey-listen", "npm:1.0.8"],\ - ["popmotion", "npm:11.0.3"],\ ["react", "npm:18.2.0"],\ ["react-dom", null],\ - ["style-value-types", "npm:5.0.0"],\ - ["tslib", "npm:2.2.0"]\ + ["tslib", "npm:2.4.0"]\ ],\ "packagePeers": [\ "@types/react-dom",\ @@ -21641,17 +21739,21 @@ const RAW_RUNTIME_STATE = ],\ "linkType": "HARD"\ }],\ - ["virtual:7b430e620a9aa0a5fbc2c5aff67d92a4aeb1b7a0814c4f142ddabc3a66f9bee0da0d51d9b7a1e3ff6a7a93b499918e737c02b96f16079d75bf01655c972bb4aa#npm:10.15.2", {\ - "packageLocation": "./.yarn/__virtual__/framer-motion-virtual-d742096cee/0/cache/framer-motion-npm-10.15.2-3eff176406-630b575886.zip/node_modules/framer-motion/",\ + ["virtual:75087829e97a06e3c8e366f92a2e1cf0763504566fe8d77886149c64df69b11b2ea4c6bd69e2945ccf693c97da9db08db72a4721660bc12a07eddca4403d4388#npm:6.3.11", {\ + "packageLocation": "./.yarn/__virtual__/framer-motion-virtual-d3ea55cf5a/0/cache/framer-motion-npm-6.3.11-8218fde9f1-e96430da49.zip/node_modules/framer-motion/",\ "packageDependencies": [\ - ["framer-motion", "virtual:7b430e620a9aa0a5fbc2c5aff67d92a4aeb1b7a0814c4f142ddabc3a66f9bee0da0d51d9b7a1e3ff6a7a93b499918e737c02b96f16079d75bf01655c972bb4aa#npm:10.15.2"],\ + ["framer-motion", "virtual:75087829e97a06e3c8e366f92a2e1cf0763504566fe8d77886149c64df69b11b2ea4c6bd69e2945ccf693c97da9db08db72a4721660bc12a07eddca4403d4388#npm:6.3.11"],\ ["@emotion/is-prop-valid", "npm:0.8.8"],\ - ["@types/react", null],\ + ["@types/react", "npm:17.0.39"],\ ["@types/react-dom", null],\ ["csstype", "npm:3.1.0"],\ + ["framesync", "npm:6.0.1"],\ + ["hey-listen", "npm:1.0.8"],\ + ["popmotion", "npm:11.0.3"],\ ["react", "npm:18.2.0"],\ ["react-dom", null],\ - ["tslib", "npm:2.4.0"]\ + ["style-value-types", "npm:5.0.0"],\ + ["tslib", "npm:2.2.0"]\ ],\ "packagePeers": [\ "@types/react-dom",\ diff --git a/ui-parts/condition/package.json b/ui-parts/condition/package.json index c10f97f37..61f5d098d 100755 --- a/ui-parts/condition/package.json +++ b/ui-parts/condition/package.json @@ -17,6 +17,7 @@ "devDependencies": { "@emotion/react": "11.9.3", "@emotion/styled": "11.9.3", + "@types/react": "18.2.20", "react": "18.2.0" }, "peerDependencies": { diff --git a/ui-parts/condition/src/condition.component.tsx b/ui-parts/condition/src/condition.component.tsx index b78804728..3955439d3 100755 --- a/ui-parts/condition/src/condition.component.tsx +++ b/ui-parts/condition/src/condition.component.tsx @@ -11,30 +11,13 @@ export const Condition: FC = ({ smoothDuration = 0.3, smoothPattern = 'in-and-out', children, - /* eslint-disable consistent-return */ }) => { + if (!match) return null + if (smooth) { if (smoothPattern === 'in-and-out') { return ( - {match && ( - - {children} - - )} - - ) - } - - if (smoothPattern === 'in') { - return ( - match && ( = ({ > {children} - ) + + ) + } + + if (smoothPattern === 'in') { + return ( + + {children} + ) } if (smoothPattern === 'out') { return ( - {match && ( - - {children} - - )} + + {children} + ) } } - if (match) return children + // eslint-disable-next-line react/jsx-no-useless-fragment + return <>{children} } diff --git a/ui-parts/tooltip/package.json b/ui-parts/tooltip/package.json index 1d193cdb4..7e4495154 100644 --- a/ui-parts/tooltip/package.json +++ b/ui-parts/tooltip/package.json @@ -12,6 +12,7 @@ "postpack": "rm -rf dist" }, "devDependencies": { + "@atls-ui-parts/condition": "workspace:0.0.5", "@atls-ui-parts/layout": "workspace:0.0.7", "@emotion/styled": "11.9.3", "@testing-library/react": "13.3.0", diff --git a/ui-parts/tooltip/src/container/container.component.tsx b/ui-parts/tooltip/src/container/container.component.tsx index 8e4ee7f80..37e0fb19a 100644 --- a/ui-parts/tooltip/src/container/container.component.tsx +++ b/ui-parts/tooltip/src/container/container.component.tsx @@ -1,6 +1,25 @@ -import styled from '@emotion/styled' +import styled from '@emotion/styled' -import { ContainerElement } from './container.element' -import { baseContainerStyles } from './container.styles' +import React from 'react' +import { Arrow } from 'react-laag' +import { forwardRef } from 'react' -export const Container = styled(ContainerElement)(baseContainerStyles) +import { Condition } from '@atls-ui-parts/condition' + +import { ContainerElement } from './container.element' +import { ContainerComponentProps } from './container.interfaces' +import { baseContainerStyles } from './container.styles' + +const StyledContainer = styled(ContainerElement)(baseContainerStyles) + +export const Container = forwardRef(( + { text, showArrow, arrowOptions, arrowProps, layerSide, ...props }, + ref +) => ( + + {text} + + + + +)) diff --git a/ui-parts/tooltip/src/container/container.element.tsx b/ui-parts/tooltip/src/container/container.element.tsx index f925f9226..24b5ac488 100644 --- a/ui-parts/tooltip/src/container/container.element.tsx +++ b/ui-parts/tooltip/src/container/container.element.tsx @@ -1,11 +1,10 @@ import React from 'react' -import { FunctionComponent } from 'react' import { motion } from 'framer-motion' import { forwardRef } from 'react' import { ContainerElementProps } from './container.interfaces' -export const ContainerElement: FunctionComponent = forwardRef(( +export const ContainerElement = forwardRef(( { animate, ...props }, ref ) => ( diff --git a/ui-parts/tooltip/src/container/container.interfaces.ts b/ui-parts/tooltip/src/container/container.interfaces.ts index 257f0c611..63e969c41 100644 --- a/ui-parts/tooltip/src/container/container.interfaces.ts +++ b/ui-parts/tooltip/src/container/container.interfaces.ts @@ -1,5 +1,24 @@ -export type ContainerElementProps = { +import { LayerSide } from 'react-laag' +import { UseLayerArrowProps } from 'react-laag' + +export interface ArrowOptions { + angle?: number | undefined + size?: number | undefined + roundness?: number | undefined + borderWidth?: number | undefined + borderColor?: string | undefined + backgroundColor?: string | undefined +} +export interface ContainerElementProps { animate?: boolean ref?: any style?: any } + +export interface ContainerComponentProps extends ContainerElementProps { + text?: string | number + showArrow?: boolean + layerSide?: LayerSide + arrowProps?: UseLayerArrowProps + arrowOptions?: ArrowOptions +} diff --git a/ui-parts/tooltip/src/container/index.ts b/ui-parts/tooltip/src/container/index.ts index 1db34f276..ed5f1513c 100644 --- a/ui-parts/tooltip/src/container/index.ts +++ b/ui-parts/tooltip/src/container/index.ts @@ -1,2 +1,3 @@ export * from './container.component' export * from './container.element' +export * from './container.interfaces' diff --git a/ui-parts/tooltip/src/index.ts b/ui-parts/tooltip/src/index.ts index d5a05522f..b9b79863e 100644 --- a/ui-parts/tooltip/src/index.ts +++ b/ui-parts/tooltip/src/index.ts @@ -1,3 +1,5 @@ export * from './tooltip.component' export * from './tooltip.interfaces' +export * from './use-tooltip.hook' +export { ArrowOptions } from './container' export { Arrow } from 'react-laag' diff --git a/ui-parts/tooltip/src/tooltip.component.tsx b/ui-parts/tooltip/src/tooltip.component.tsx index c46bc2200..01a79decf 100644 --- a/ui-parts/tooltip/src/tooltip.component.tsx +++ b/ui-parts/tooltip/src/tooltip.component.tsx @@ -1,140 +1,30 @@ import React from 'react' -import { AnimatePresence } from 'framer-motion' import { Children } from 'react' -import { PropsWithChildren } from 'react' import { FC } from 'react' -import { Arrow } from 'react-laag' +import { PropsWithChildren } from 'react' import { cloneElement } from 'react' -import { forwardRef } from 'react' -import { useLayer } from 'react-laag' import { Container } from './container' import { TooltipProps } from './tooltip.interfaces' -import { useClick } from './hooks' -import { useContextMenu } from './hooks' -import { useHover } from './hooks' - -const doNothing = () => { - // do nothing -} - -const DefaultContainer = forwardRef(({ text, arrow, ...props }: any, ref) => ( - - {text} - {arrow} - -)) +import { useTooltip } from './use-tooltip.hook' export const Tooltip: FC> = ({ - text, - trigger = 'hover', - showArrow, - mouseEnterDelay, - mouseLeaveDelay, - anchor, - closeOnOutsideClick, - isOpen, + text = 'Text', children, - container, - animate, - arrowOptions, ...props }) => { - const [isOver, hoverProps] = useHover({ - delayEnter: mouseEnterDelay, - delayLeave: mouseLeaveDelay, - }) - const [isContextMenu, closeContextMenu, contextMenuProps] = useContextMenu() - const [isClicked, closeClicked, clickedProps] = useClick() - - const getClose = (): (() => void) => { - if (trigger === 'click') return closeClicked - if (trigger === 'menu') return closeContextMenu - - return doNothing - } - - const getTrigger = (): boolean => { - if (typeof isOpen === 'boolean') { - return isOpen - } - if (trigger === 'hover') return isOver - if (trigger === 'click') return isClicked - if (trigger === 'menu') return isContextMenu - - return false - } - - const { triggerProps, layerProps, layerSide, arrowProps, renderLayer } = useLayer({ - isOpen: getTrigger(), - onOutsideClick: closeOnOutsideClick ? getClose() : doNothing, - placement: anchor, - ...props, - }) - - const getTriggerProps = () => { - if (trigger === 'hover') return { ...triggerProps, ...hoverProps } - if (trigger === 'click') return { ...triggerProps, ...clickedProps } - if (trigger === 'menu') return { ...triggerProps, ...contextMenuProps } - - return triggerProps - } - - const getChildrenControls = (): [boolean, () => void] => { - if (trigger === 'click' || trigger === 'menu') return [getTrigger(), getClose()] - - return [getTrigger(), doNothing] - } - - const getContainerControls = (): [() => void] => { - if (trigger === 'click' || trigger === 'menu') return [getClose()] - - return [doNothing] - } + const { isOpen, close, triggerProps, render } = useTooltip({ ...props }) const renderChildren = () => { - if (typeof children === 'function') return children(...getChildrenControls()) - - return Children.only( - cloneElement(children as any, { - ...getTriggerProps(), - }) - ) - } - const renderContainerWithoutArrow = () => { - if (typeof container === 'function') return container(...getContainerControls()) - - return cloneElement(container!, { - ...layerProps, - text, - }) - } - const renderContainerWithArrow = () => { - const renderedContainer = renderContainerWithoutArrow() - - const arrow = - - return cloneElement(renderedContainer, { arrow }) - } - const renderContainer = () => { - if (showArrow) return renderContainerWithArrow() - - return renderContainerWithoutArrow() - } + if (typeof children === 'function') return children(isOpen, close) - if (animate) { - return ( - <> - {renderChildren()} - {renderLayer({getTrigger() && renderContainer()})} - - ) + return Children.only(cloneElement(children as any, triggerProps)) } return ( <> {renderChildren()} - {renderLayer(getTrigger() && renderContainer())} + {render({ text })} ) } @@ -153,6 +43,6 @@ Tooltip.defaultProps = { triggerOffset: 8, animate: false, closeOnOutsideClick: true, - container: , + container: , text: 'Text', } diff --git a/ui-parts/tooltip/src/tooltip.interfaces.ts b/ui-parts/tooltip/src/tooltip.interfaces.ts index 32a47c06e..c9dd2eeb0 100644 --- a/ui-parts/tooltip/src/tooltip.interfaces.ts +++ b/ui-parts/tooltip/src/tooltip.interfaces.ts @@ -1,32 +1,17 @@ import { UseLayerOptions } from 'react-laag' import { Placement } from 'react-laag' -export type TooltipTrigger = 'click' | 'hover' | 'menu' +import { ArrowOptions } from './container' -export type LayerDimensions = (layerSide: string) => { - width: number - height: number -} +export type TooltipTrigger = 'click' | 'hover' | 'menu' export type ContainerFunction = (close: () => void) => React.ReactElement export type ChildrenFunction = (trigger: boolean, close: () => void) => React.ReactElement -export interface ArrowOptions { - angle?: number | undefined - size?: number | undefined - roundness?: number | undefined - borderWidth?: number | undefined - borderColor?: string | undefined - backgroundColor?: string | undefined -} +type OmitOptions = 'placement' | 'onOutsideClick' | 'isOpen' | 'container' | 'trigger' -export interface TooltipProps - extends Omit< - UseLayerOptions, - 'placement' | 'onOutsideClick' | 'isOpen' | 'container' | 'trigger' - > { - text?: string | number +export interface UseTooltipOptions extends Omit { trigger?: TooltipTrigger showArrow?: boolean mouseEnterDelay?: number @@ -36,6 +21,10 @@ export interface TooltipProps animate?: boolean isOpen?: boolean container?: React.ReactElement | ContainerFunction - children: React.ReactElement | ChildrenFunction arrowOptions?: ArrowOptions } + +export interface TooltipProps extends UseTooltipOptions { + text?: string | number + children: React.ReactElement | ChildrenFunction +} diff --git a/ui-parts/tooltip/src/tooltip.stories.tsx b/ui-parts/tooltip/src/tooltip.stories.tsx index 95aa100e5..6368cdf21 100644 --- a/ui-parts/tooltip/src/tooltip.stories.tsx +++ b/ui-parts/tooltip/src/tooltip.stories.tsx @@ -1,13 +1,14 @@ -import styled from '@emotion/styled' +import styled from '@emotion/styled' -import React from 'react' -import { useState } from 'react' +import React from 'react' +import { useState } from 'react' -import { Column } from '@atls-ui-parts/layout' -import { Layout } from '@atls-ui-parts/layout' -import { Row } from '@atls-ui-parts/layout' +import { Column } from '@atls-ui-parts/layout' +import { Layout } from '@atls-ui-parts/layout' +import { Row } from '@atls-ui-parts/layout' -import { Tooltip } from './tooltip.component' +import { Tooltip } from './tooltip.component' +import { useTooltip } from './use-tooltip.hook' export default { title: 'Components/Tooltip', @@ -50,6 +51,23 @@ Base.story = { name: 'Базовый', } +export const Hook = () => { + const { triggerProps, render } = useTooltip({ animate: true }) + + return ( + + + {render({ text: 'Hook' })} + Hook + + + ) +} + +Hook.story = { + name: 'Хук', +} + export const Anchor = () => ( diff --git a/ui-parts/tooltip/src/use-tooltip.hook.tsx b/ui-parts/tooltip/src/use-tooltip.hook.tsx new file mode 100644 index 000000000..21e9eabc6 --- /dev/null +++ b/ui-parts/tooltip/src/use-tooltip.hook.tsx @@ -0,0 +1,107 @@ +import React from 'react' +import { AnimatePresence } from 'framer-motion' +import { ReactElement } from 'react' +import { cloneElement } from 'react' +import { useMemo } from 'react' +import { useLayer } from 'react-laag' + +import { Container } from './container' +import { UseTooltipOptions } from './tooltip.interfaces' +import { useClick } from './hooks' +import { useContextMenu } from './hooks' +import { useHover } from './hooks' + +const doNothing = () => { + /** do nothing */ +} + +export const useTooltip = ({ + anchor = 'top-center', + animate = false, + arrowOptions = { + angle: 30, + size: 8, + backgroundColor: 'rgba(0, 0, 0, 0.75)', + }, + closeOnOutsideClick = true, + container = , + isOpen, + mouseEnterDelay = 100, + mouseLeaveDelay = 100, + showArrow = true, + trigger = 'click', + triggerOffset = 8, + ...props +}: UseTooltipOptions) => { + const [isContextMenu, closeContextMenu, contextMenuProps] = useContextMenu() + const [isClicked, closeClicked, clickedProps] = useClick() + const [isOver, hoverProps] = useHover({ + delayEnter: mouseEnterDelay, + delayLeave: mouseLeaveDelay, + }) + + const [isTriggered, close, customTriggerProps] = useMemo(() => { + let triggerValues: [boolean, () => void, Object] = [false, doNothing, {}] + + if (trigger === 'menu') { + triggerValues = [isContextMenu, closeContextMenu, contextMenuProps] + } // + else if (trigger === 'click') { + triggerValues = [isClicked, closeClicked, clickedProps] + } // + else if (trigger === 'hover') { + triggerValues = [isOver, doNothing, hoverProps] + } + + if (typeof isOpen === 'boolean') { + triggerValues[0] = isOpen + } + + return triggerValues + + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [trigger, isOpen, isContextMenu, isClicked, isOver]) + + const { arrowProps, triggerProps, layerProps, layerSide, renderLayer } = useLayer({ + isOpen: isTriggered, + onOutsideClick: closeOnOutsideClick ? close : doNothing, + placement: anchor, + triggerOffset, + ...props, + }) + + const renderContainer = (containerProps: Object) => { + if (!isTriggered) return null + + let renderedContainer: ReactElement + + if (typeof container === 'function') { + renderedContainer = container(close) + } else { + renderedContainer = cloneElement(container!, { + ...layerProps, + ...containerProps, + animate, + showArrow, + arrowProps, + arrowOptions, + layerSide, + }) + } + + if (animate) return {renderedContainer} + + return renderedContainer + } + + const render = (containerProps: Object) => renderLayer(renderContainer(containerProps)) + + return { + isOpen: isTriggered, + close, + triggerProps: { ...triggerProps, ...customTriggerProps }, + layerProps, + style: { ...layerProps.style }, + render, + } +} diff --git a/ui-proto/popover/package.json b/ui-proto/popover/package.json index 3fed04454..15c1a856c 100644 --- a/ui-proto/popover/package.json +++ b/ui-proto/popover/package.json @@ -12,6 +12,7 @@ "postpack": "rm -rf dist" }, "devDependencies": { + "@atls-ui-parts/condition": "workspace:0.0.5", "@atls-ui-parts/layout": "workspace:0.0.7", "@atls-ui-parts/tooltip": "workspace:0.0.8", "@emotion/react": "11.9.3", diff --git a/ui-proto/popover/src/container/container.component.tsx b/ui-proto/popover/src/container/container.component.tsx index 5124f9e2c..117d16834 100644 --- a/ui-proto/popover/src/container/container.component.tsx +++ b/ui-proto/popover/src/container/container.component.tsx @@ -1,9 +1,9 @@ import styled from '@emotion/styled' import React from 'react' -import { FunctionComponent } from 'react' import { forwardRef } from 'react' +import { Condition } from '@atls-ui-parts/condition' import { Arrow } from '@atls-ui-parts/tooltip' import { ContainerInner } from '../container-inner' @@ -14,15 +14,19 @@ import { baseContainerStyles } from './container.styles' const StyledContainer = styled(ContainerElement)(baseContainerStyles) -export const Container: FunctionComponent = forwardRef(( - { content, showArrow, arrowStyle, layerSide, title, ...props }, +export const Container = forwardRef(( + { content, showArrow, arrowOptions, arrowProps, layerSide, title, ...props }, ref ) => ( - {title && {title}} - {content && {content}} - {showArrow && ( - - )} + + {title} + + + {content} + + + + )) diff --git a/ui-proto/popover/src/container/container.element.tsx b/ui-proto/popover/src/container/container.element.tsx index f925f9226..24b5ac488 100644 --- a/ui-proto/popover/src/container/container.element.tsx +++ b/ui-proto/popover/src/container/container.element.tsx @@ -1,11 +1,10 @@ import React from 'react' -import { FunctionComponent } from 'react' import { motion } from 'framer-motion' import { forwardRef } from 'react' import { ContainerElementProps } from './container.interfaces' -export const ContainerElement: FunctionComponent = forwardRef(( +export const ContainerElement = forwardRef(( { animate, ...props }, ref ) => ( diff --git a/ui-proto/popover/src/container/container.interfaces.ts b/ui-proto/popover/src/container/container.interfaces.ts index 456c1a7c9..449df63a2 100644 --- a/ui-proto/popover/src/container/container.interfaces.ts +++ b/ui-proto/popover/src/container/container.interfaces.ts @@ -1,12 +1,16 @@ -export type LayerSide = 'left' | 'right' | 'top' | 'bottom' | 'center' +import { LayerSide } from 'react-laag' +import { UseLayerArrowProps } from 'react-laag' + +import { ArrowOptions } from '@atls-ui-parts/tooltip' export interface ContainerComponentProps { + title?: string content?: React.ReactElement showArrow?: boolean - arrowStyle?: Object - layerSide?: LayerSide - title?: string animate?: boolean + layerSide?: LayerSide + arrowProps?: UseLayerArrowProps + arrowOptions?: ArrowOptions } export interface ContainerElementProps { diff --git a/ui-proto/popover/src/index.ts b/ui-proto/popover/src/index.ts index c4ae43578..bd0b9476e 100644 --- a/ui-proto/popover/src/index.ts +++ b/ui-proto/popover/src/index.ts @@ -1 +1,3 @@ export * from './popover.component' +export * from './popover.interfaces' +export * from './use-popover.hook' diff --git a/ui-proto/popover/src/popover.component.tsx b/ui-proto/popover/src/popover.component.tsx index 0e3501ba3..23afae5b2 100644 --- a/ui-proto/popover/src/popover.component.tsx +++ b/ui-proto/popover/src/popover.component.tsx @@ -1,16 +1,28 @@ -import React from 'react' -import { FC } from 'react' +import React from 'react' +import { Children } from 'react' +import { PropsWithChildren } from 'react' +import { FC } from 'react' +import { cloneElement } from 'react' -import { Tooltip } from '@atls-ui-parts/tooltip' +import { PopoverProps } from './popover.interfaces' +import { usePopover } from './use-popover.hook' -import { Container } from './container' -import { PopoverProps } from './popover.interfaces' +const Popover: FC> = ({ title, content, children, ...props }) => { + const { isOpen, close, triggerProps, render } = usePopover({ ...props }) -const Popover: FC = ({ title, content, children, ...props }) => ( - } {...props}> - {children} - -) + const renderChildren = () => { + if (typeof children === 'function') return children(isOpen, close) + + return Children.only(cloneElement(children as any, triggerProps)) + } + + return ( + <> + {renderChildren()} + {render({ title, content })} + + ) +} Popover.defaultProps = { triggerOffset: 15, diff --git a/ui-proto/popover/src/popover.stories.tsx b/ui-proto/popover/src/popover.stories.tsx index 5d9b827ce..7ad2e2b98 100644 --- a/ui-proto/popover/src/popover.stories.tsx +++ b/ui-proto/popover/src/popover.stories.tsx @@ -1,12 +1,13 @@ -import styled from '@emotion/styled' +import styled from '@emotion/styled' -import React from 'react' -import { useState } from 'react' +import React from 'react' -import { Column } from '@atls-ui-parts/layout' -import { Layout } from '@atls-ui-parts/layout' +import { Column } from '@atls-ui-parts/layout' +import { Layout } from '@atls-ui-parts/layout' +import { Row } from '@atls-ui-parts/layout' -import { Popover } from './popover.component' +import { Popover } from './popover.component' +import { usePopover } from './use-popover.hook' export default { title: 'Components/Popover', @@ -45,26 +46,39 @@ const TestContent = ({ onClick }) => ( ) -export const Base = () => { - const [open, setOpen] = useState(false) +export const Base = () => ( + + + Content} + > + Base + + + +) + +Base.story = { + name: 'Базовый', +} + +export const Hook = () => { + const { triggerProps, render, close } = usePopover({ animate: true }) return ( - - - setOpen(false)} />} - > - setOpen(!open)}>Base - + + + {render({ title: 'Title', content: })} + Hook - + ) } -Base.story = { - name: 'Базовый', +Hook.story = { + name: 'Хук', } diff --git a/ui-proto/popover/src/use-popover.hook.tsx b/ui-proto/popover/src/use-popover.hook.tsx new file mode 100644 index 000000000..fd46d48bd --- /dev/null +++ b/ui-proto/popover/src/use-popover.hook.tsx @@ -0,0 +1,37 @@ +import React from 'react' + +import { UseTooltipOptions } from '@atls-ui-parts/tooltip' +import { useTooltip } from '@atls-ui-parts/tooltip' + +import { Container } from './container' + +type RenderOptions = { title?: string; content?: React.ReactElement } + +const usePopover = ({ + container = , + arrowOptions = { + backgroundColor: '#fff', + angle: 35, + size: 8, + }, + ...props +}: UseTooltipOptions) => { + const { close, isOpen, layerProps, render, style, triggerProps } = useTooltip({ + ...props, + arrowOptions, + container, + }) + + const renderContainer = (options: RenderOptions) => render(options) + + return { + close, + isOpen, + layerProps, + render: renderContainer, + style, + triggerProps, + } +} + +export { usePopover } diff --git a/yarn.lock b/yarn.lock index 94b44c2ae..d059f884a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -636,12 +636,13 @@ __metadata: languageName: unknown linkType: soft -"@atls-ui-parts/condition@workspace:ui-parts/condition": +"@atls-ui-parts/condition@workspace:0.0.5, @atls-ui-parts/condition@workspace:ui-parts/condition": version: 0.0.0-use.local resolution: "@atls-ui-parts/condition@workspace:ui-parts/condition" dependencies: "@emotion/react": "npm:11.9.3" "@emotion/styled": "npm:11.9.3" + "@types/react": "npm:18.2.20" framer-motion: "npm:10.15.2" react: "npm:18.2.0" peerDependencies: @@ -1058,6 +1059,7 @@ __metadata: version: 0.0.0-use.local resolution: "@atls-ui-parts/tooltip@workspace:ui-parts/tooltip" dependencies: + "@atls-ui-parts/condition": "workspace:0.0.5" "@atls-ui-parts/layout": "workspace:0.0.7" "@emotion/styled": "npm:11.9.3" "@testing-library/react": "npm:13.3.0" @@ -1410,6 +1412,7 @@ __metadata: version: 0.0.0-use.local resolution: "@atls-ui-proto/popover@workspace:ui-proto/popover" dependencies: + "@atls-ui-parts/condition": "workspace:0.0.5" "@atls-ui-parts/layout": "workspace:0.0.7" "@atls-ui-parts/tooltip": "workspace:0.0.8" "@emotion/react": "npm:11.9.3"