react-native-wagmi-charts 1.7.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.DS_Store +0 -0
- package/README.md +365 -193
- package/example/.DS_Store +0 -0
- package/example/.expo/web/cache/development/babel-loader/0048eab7a1937596c83f7a0a8669a057.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/00e78539c92f01b2990b35cc56404077.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/01548be34380766518c44d302f0da833.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/01dc8e11259412b46f72a16b6f6f989a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/022bc27c62f111b60de1d9cf31798db5.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/02341c3581c9b4661b5deec14d244183.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/029e21747cfcaf8be0db65a531a13e45.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/02cacb7980022332144135d930ecea11.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/030b07a0a05e98460988fcc5b21543fd.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/03e0f78352a5cc290e9a694dfa0457b2.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/03f273e96dda522f2f1ffb0c11d9cb41.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/040ef89e9083432c9c572aecfb055253.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/053109a5af2f50846dbff99c9ddaa08b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/05c8ee51599e49b8df4c2aea1c61f9bd.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/061e5f7ad7d0922480d8aa5ec61bb646.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/062a149ffbda2b47d4a754da17f0ed89.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/06c9aabc7c8dc32a774403b9acd1d9e3.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/06de2f6698410c68adcc5a227728a923.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/078d39387ece388cb409a9de98417dd7.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/08ae8c107c10803a4fd1dcd9bb77631b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/0b71299ddceefa8034f07d7bd25f7132.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/0ba484ac7ba0d1abe8d566757740b901.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/0bdbd4da7c535a6cfa3d301a2e03cdb3.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/0ca19fcabd7879d8a09389c265186c73.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/0dba3b74d1f9e83e7e1be547f59f9b0d.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/0dda8bfcef9ddb34113838e01d884c94.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/0fed877538eec4c0fe6fc59a7fba1884.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/10c42328cedbca0b7c02e292cbf7e819.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/11e5e2a288b722ed1a72951da903668f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/124b86bda7fafdb400a04e42fb06d241.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/12ddb38f86b223c6168a22c3c441d23c.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/12f8b90d6b32fd8d434f74ec0a1cc5de.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/14896ac3a706173aa66f99f5ac81de25.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/155b2897eaa205c153dc174759391596.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/159bcfbc06914dc0fa53d932ecdeb3a8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/15adfc2176211fd1b1f1e26ffac54860.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/16bf97aa1df29d051e75cdcfe30258ca.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/173757cc1e741e39f50c821a347ca6a7.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/17539008e1af521bbd4be8772219d502.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/178a06574c91fc5f7d66bb5c1087d694.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/17f33cd1288f2d81431bd2cc3594a889.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/1ae598529609953300b8831809806773.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/1bf72c5e82adfae4cd9fb7d062f43c7b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/1e954e44cae79871d604d778ed2b019b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/1f3db19af6a4daad8ac653aef9a17b3e.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/1fa8d4f7956d15e5d2301b5bc0ea5cda.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/20143c2ba144a977d78c7b106120350d.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/201eb696584a8e8ed6ccc7f1c94bea83.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/208778a4ee646ee0555ed1e67b562757.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/219c2137c40f30853f1c0da86e6195ae.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/224ade2bbe8e0b2388eb1c55bff3f264.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/22eb55b287473e3a78908381441cfcb4.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/240cb3678995c4254ed6e5c7582952ba.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/2530791779144ffab597cad5be52c226.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/2596af2ade89538878b6d544100f3399.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/25ba14deb6adaac77b56e2c781b4f065.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/26d2d37f205cec86abab8af6ff0ebc64.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/283e292d5ceb581a50e9755ac42601a2.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/28d1872152a5070e160a78864dac71c9.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/29518ab58c8aacdb2e5e164fc13d872b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/29d79f626f6ad6bfe79bbbf010acedf3.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/2aa749a94f4df8b760e8acfdb25028ff.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/2b64d55ee11f0015681db4ce68a395d2.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/2cccd0ecb5914d7b91a0e2a0fbd995c9.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/2dbbd507ae02c5249d7088f625312a95.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/2dce9894a2affe7bfe287cd3e27b4efd.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/2e27f8a130af009b492bc9f13a3bb578.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/2f57f3c72b3b460c5d299bcf081b429b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/2f63db06dec4ae0f934cbe269ca78b7c.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/3146ea18d415deb6177ac03e1355688e.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/319feb766afa0b6ef1fd0f61a79d8306.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/35c0fe0f3af5e5bb30c862ab2f0352fe.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/35e42e8dca6b3242a869b68dd19c9320.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/3683ce1bd7ea848ec955de2738873cfb.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/368688165f40c4cfc59238bacf69d131.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/36e75d47020ead36881558873b7ed051.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/38146d6afeec03b463523c4710274e9a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/394f45d48a9648d70c4b5b64076be031.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/3972208eae9b5b632b17b21baa8bf208.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/39f743b81b60417ab847556a7179e22a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/3b7135501e404451314cdcc9fe0600b8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/3c20b6d457837e0ac87f3e648e6eca00.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/3c5f38af9e2ec3a91de4f1b4fec17b0a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/3e1698f99f9fc08d49f7b34982fa5ff9.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/3e2d35c9bbfe5423a7d98376bcd56e6b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/3e7a2e7fe4f726704b568371689534ae.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/3f86d59727c3e03e54652149a8f8d3b6.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/40402ff33d7840c2ef429fb4b123038d.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4088615ef9d57b3f7fe4190660ba6ddc.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/40c4fde14ef2e0ea53a7432cd848ff2b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/42c2f18b8307bc0d3ea5d84373a5d67f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/437dd685561b93a81742ac2ecbeb7d41.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/44dc1996d592f2e6f37bad3a90765f47.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/45873f55ae22e035954bc06cc50b2173.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/46679e2a6fceee1389fc81e63b21348f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4861470a02020675a1ee3db81cf82013.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4864be71b0d3193e0c759b91a9548cce.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/487488e8e5ae8ef9217e3c56a43ad05a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/49f4c364b909987eb06dde9e5e191155.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4b81b318c8d202092e5f11c893ba60ca.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4b929b061248038485fe18a4000f0dc7.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4bb899e66458fe70451b960feb748cca.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4bf2841cd4d191e4fcd069fc2defa95d.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4bfdf05b16115a8f6be82091518c35be.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4c14d7bff7de294fd991c68522f97ee4.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4c723644cc0a1300f119db91b3a4e1d8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4c912e44b450dfff1f0d609c6fcf770c.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4c91a10b38720099ce4af9a3b12902e3.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4d466fa65871bcbc64956934ceb7b82f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4e225e240a0c5e5724f9d92ab2c2a5c7.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4e741f92fbbd92b96334530f6ad10846.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/4f17a38ef723d2f2f88ab36229447848.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5126e93c01ee93124a5e74d11303b9c8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/519238552f7ca486b938192b9cbcceae.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/523038c6dc8ac0e76ef7a23d3eed51ec.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/532fa6c08d38d3c6de9df3cbc1e6a903.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/53bf8f177165c6b0e75a631aa4519d41.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/53ea8a26aeb6e2759a7f1f5f4f56b6fb.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/542e618262a94895f81236112129bd3e.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/546891698aff03b72ed2f6ceb6e7fa89.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5471a749a6e8af27964d87af251c688a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/547a11a6bdd8bda252dfd4614f815fbb.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/549d7a1c3d15fdb39d9bffcf267e3f56.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/55add2461e97c93eb8aac04bb6999d6f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/566edd7dfdc185ef467beb97fcd9e08c.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/567acdadac00f4c65b037849683131b6.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/57892340c5b232df0a75f1339c9e68ce.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/586d05cc2c149bd7435298a982b57d60.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5954d33f838e7e341ebe043096ac7fe5.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5a07d6d40bd575c25f45538b187acd8a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5a27a1760bd4f6407b1fea26715a87bc.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5b36330631e46bbf63f870970b2122f7.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5b9bc4b234aa59e34135748fd93507b6.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5c0087a9595888025264a9904d1b8eef.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5d16233202c82021ddec174b9bb58863.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5d569557de3b7d5fa8afc576ac512a04.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5d646ca9aa7f759e829259ce504269e2.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/5eef44eed8ccb290fe3456e2fe6bf8ed.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/6024b3f768564aaeb1361263b0202a14.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/61cfc5a0e7335e0b9a219b1cbe277614.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/620f55f17382101002e5e9426ce3e366.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/62676c7e580c2e05b3597d53b1cec852.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/62f012bfa58863dc3ea69f00f9b90a77.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/6320f4e69400d39312489472d7f26d50.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/63a9473d63154c31603b1ec1c728c8ab.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/63bae7aa325e3c82ba555ac19c0912fa.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/63c7331c32b247560f7318cb076a7c40.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/645eaa3c12cea785d12fed54225c1bad.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/64f7c8f31e295eee69738bfe05c5bff5.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/68189da0029a30976a2484255a17ce79.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/696a6f2f23efafc28fc3c6d5b5ffaeac.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/6991b1cd9f19326a94f92ef5b1b842a8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/6b97a59c5465397dba921f389acaafdd.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/6c2f82c0db7403ccd4f19071f91173e4.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/6c8a2848fe0f787148c2fb6de4264155.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/6d6f8b41da6a4ba792c39f671105e620.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/6e1b109f621c0d54775303f058483115.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/6f12c17d739331ecffc1403342ba41da.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/6fd1661af13dedb5e44522d491a1caf6.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/70011f5e5361437bcf72ec2b53fad9f0.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/71c89114f87eec2560a35accc6fb21d7.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/71f17bedd745f584f7abc4f4d51c7ad4.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/72b944856e68e4a8a0ed8e4c2413070a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/740b2f1ab937b3d8fae7d547e9118390.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/748a994e95eb1d1311d08dae70ff213a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/74b3b0d02f286a48fe045bb68c2a4650.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/74d8aca04393d958004db6c2ef850b15.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/765c63eb89770f11615c740460d8a605.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/7695443a011b53044155a45950f64551.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/77348d41c4a630ac871ec1662d753572.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/77a4283c1f4aa52a3ec7489dfcb4fd3c.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/77c1d4c9c2134086a760c84c8dbb0767.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/7856391ec0a27839d3fa6acbeb9aadda.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/78d3d5bbf14c6f41859897e37d770fcf.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/79c9840acdf1d5058d1dd9a3ee4c26a1.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/79d14c794bf695a8710614f2650caadc.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/79d484d4cd279cefd19f3ae34fbabc47.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/7ac59aadbbeb87bbaa689455f49462e7.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/7addb7eb6bdec7308191a341bbe4f418.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/7c6b46cf1a8d27fbf10098fc7b3147d4.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/7e073695c8dd0edfff43941d69ed768f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/7ea547e52608eb3d07287f91483f92d0.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/80b2a7b63d2968f55ad413f37a77625e.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/81da8afb512f1fe3dc5283eed7693dc3.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/83ce5beb699584197b95c23e16070359.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/84cbca54aad0ba7ad9155efbe50994e6.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/86aa7c8020aadae1b6047e779a070006.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/873f17ead5c8a3a89f8c307d3fc3d749.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/88fd90442a3cd6528e4248e448007e21.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/8947ed6ed81ae1ed2f0d1a5f7a21d4bd.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/8b0fa6466bfbb43efbc8a796bb0a058f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/8bcdd0d74f6bf06c96dc636553f1ada8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/8bfd7063b443cb17646e674300dd862b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/8d06501d3b127619583bc480630ad389.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/8d9e770602734e0d230feafb37171ca8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/8dbfb280c88ee5948b0a3cc84074bd43.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/8df99953a7fe26875c55c9bc1e71ca29.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/8e7ea386f4f497f8c5e0a4a9b80b093a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/8efad0218d4db05da11e8e21002ac55e.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/8f6e1de5d12755c13e6c50a07e2d0778.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/91ed31500f942f97aec1be73e89a7af8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/9252abf85af8c03f427a2e2117a1ad62.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/92b72e3964caccd73a132a988edcfae7.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/93945109a64716fc3d15a12d81598ef8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/93ee4950a9326c046f9fa65c13dac411.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/93fe9632bb5db4ded992478e2af27d5f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/942ff966d1b2f375164a20370f75739c.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/954ad5b7f72730fad3a93e8333b0da09.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/957bea32dcc83e0fc7f2fd8795a8f818.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/964cb097c867a1ded7eb7446f5548c22.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/98e4f7e158718137c26f2fe60b84369d.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/9ae989e87da92329c1f285a30c2be6f5.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/9ba4ab6ad62c186c10cc4440ed5f54a7.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/9ce0ea8540198d071a57d36dae227cbc.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/9d2bab4aa3187dee265f1d9c8ce6f0f6.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/9e653ee142610f0516609ca3fb386739.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/9e75ea79fea0209053c68ef4989b4a3a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/9f2f6a11de269026061831c947435758.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/9f3fd9ca3231e3002df99db9d9616aa0.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a076afeae19d4e15321e5d81cf41364a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a261d7c057c570a5d74c5c84cc08e7f9.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a3611e076e067e7397bd47a9ebe95cf1.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a375a3eadad6ab2ce64ed38759b31415.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a3b99e0ec7f17e098c6b02a04282d805.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a3bde08c6c572203f93bcfa1170d4790.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a3bf51a1af912c42396b784cf9851941.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a48b6217b860aab3e81b366a7306ee03.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a4d591b829ddddd57e666af1737b9d34.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a5439975918b87c11694b33af83dab36.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a5813eb247e0c87dcc99934f4b49ae48.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a584b9a0fe744b07e9054b7aa6e79f77.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a689718c369fcd0f651d9089f15f507e.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a78dc48e202b1f3be61ef3bc64699d14.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/a79a096843947a83012402bb34b93567.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/aa0e6e0aa152ebcb49584ecc82533c72.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/abfc16406c69f7727d3e40be1f492f11.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/ac5ac27f40cd535964ff8a0f4a7ee169.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/ac5c7f32acb8bbc71777904317929782.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/acc343298b9d93f37fea5d0160a6e4ba.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/b0a4e8cf7a76d3009a62200ed32812d9.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/b1661b3c840f0f1de996ba1d52a39764.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/b18b69c1c5e4f8cf7c4ded4ea78be1b5.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/b265f89f5ab4c2ac5fe0a4efeb01770f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/b32b03cd1b812594924db2f0dadb2f56.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/b36ad3720ed8bc69cd40bacd30394013.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/b5d4cbb6bcdc394e0d5535f5bbf695e3.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/b64b0b9559bbba155f24caa6cf08f433.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/bbfb771df3000d27f236c2f6538e6d31.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/bcd08666cb6eeb4d7141e38e753e5e5c.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/beef69cc65e73363978524809c84094f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/bf018174df7cdbed5ae77cf03c266fee.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/bf53ba81ac3956a07f41a09fa6c4fa7e.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c15cb7604e78e9a4f0cc5e4b79a227c2.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c20807f969171763f83e5286ffb7183c.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c309e4999a3ca5404709ed911ec9fdda.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c37b2427c54ed0b731d9413ea475f338.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c43017273abd7760afa188cb903bfa5d.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c5134c3fb7b800b1c9b34655b8e97e4f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c62552ef04c76cdb7a94ba2f041360ac.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c69144c50f8f0d981b66c62204aaae74.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c733b561ef63b80564242d9b6f4954ec.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c78a01224ddb57513f9dc1603e721184.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c800cb1a4eccf4cc18e1408cf178b86d.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/c8c61768113386918420fa8baaa34704.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/ca0c207f9e3ba434db8f3775513736e6.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/ca4498d52ea6fed7e01c9ed5c26fcf95.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/cba71c3eea31dc8ca85b9ced8f7b1720.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/cc2ae312a6441a2fedd76ee22ac87d51.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/cc37b4c4f23da7c9d04d8693a5bbaaab.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/cced66a0b48653e5bfa98910a88f9fba.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/cd0e23910d814598adda82d05396be53.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/cd55e478acd924f5c082f02840ed8bbb.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/cd8b6c6cd6a24fa61739c4d22dda95f8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/cdf6fa5dcab6f3a13fa07e89fe985423.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/ceccb76ea280ae97ededa88718ed0c3b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/cfc467109de81a77ce3d683966f4b354.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d0c3cb818782b9a81bfc30385f72b89b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d0fcdc8e889d972bbb4337e548164f40.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d168cd3939b990979e911bb032f8577b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d2fc7ecda4f6641f8d52e406be776196.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d358f00c23a45360cbb79dabdb721cd1.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d45d41c244dad2c3ea03ba49a46a0423.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d4f6275737ee0b15864d1784084ec4e9.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d5420905583aa27006ceaa13da6b662a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d5552d7ee552fec6e21e0b398feb3ddb.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d5cec4c149045421487b8541b94a68b3.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d72ee3cf688a67b27f18b05bef74d879.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d797775538f909e9de0d644bcf0389e4.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d7cfda25d1654f23b9938352b3e5f0fd.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d7f22047db03832a0314db9bb7c9e4e8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/d92da9ccd71edac1d6d7f1b72554205f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/dae925659703faa3496df0985e30eb46.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/db2362a80925087fd6dfea2ecf5d1527.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/db44721b3956bd3b7617e773f566987b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/dd2e7e9f0700b6295764b0357f97fbd1.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/dee3d7eeaa9d088adee455787ecfdbba.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/df177e28e870b3f9ed04286275590e05.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/df8cca84735630b31c89ab8c4525d586.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/dffc3d3b5387634869406f7b262b0334.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e00a687de4af483a065036c6b80fa9f9.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e0bc2b67f28f7d20625141635fb72278.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e12513c015e82fb05ce94ecc8be7102a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e13d64c5b0cbfdf147e8b47baa112969.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e1630fcfbaff568bf2f669a3e388c026.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e1962858e3fc18c71d271c6eaa3a943d.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e1a0963978b2cb66dec1b5d8a5a2c753.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e21dcee29960dda3812a8e73f9b0fcbc.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e2faafd77df6c4f281c0c99a9e458e54.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e30c76c9a2d4f8d448441c1cb652eb01.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e3e477529ed5548f8e901ee83d7395ef.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e40e88a5ee7080ae8c27b8b8b14fbe3b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e4815f1b8edf5002fdece1b55fbc36bb.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e656bc77be79a05f8054e227f7f79d12.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e6f55b8bb2f55bff9c7239707407e38b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e71b020cacbbe302bb14d7910742ec2d.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e7472dd2c104082f95c6920e14b1ebf1.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e7b42d4997a3a0970f307de97b93e04a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e958dca390e4e96d3ffd3fd3e668de5a.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/e9ee1fc9a9a662fdf210526a05895585.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/ea69e12059df73da64e057bade5f4ba1.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/eae09ceb3f4483977f405539fff299a4.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/eaffd3d95bf68dd8a7419e53498b4640.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/ec22a1721004d1dffd715720d5c2bda5.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/ee15d7496b6f14edc02d2cd58a7353f9.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/ee8e3abcff9f49ec89705c0e083bc14e.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/ef79cc0b13fea249ac3b074f0a0de8eb.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/efdf5fb16bfb6755d38d6afaec705dcc.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f114b6650124f4aa114c8641a8fb2e95.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f26a2ea3fe78d43644601e71fefe7a1e.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f2df4e0da01cdba6223f5bbe6b36ff68.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f3060f14259d3179812abd59791780a5.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f3beb518b54ed38f03ac6db8f54e60ff.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f3c616fbd126299d1e806d6ecc1ec318.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f42e9bcb2c70b941d26c869beae57ebd.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f4a9921d6e837efff4d9a9df358e594f.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f4c95c91f375005a143433586f729253.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f557735276807fa1f2857d869fcf3f24.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f7747a8774208f97feee323659c8fd9c.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f78eccb875790b4d905e542a961bf15d.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f79a20eb5fe07a41699a4082250176ee.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f8161007e70676aff950dd230d92b913.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f89bed9b99073eb34bdcfe509a9eef7b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f8da7cfcc868c4561939eb69b187852b.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f9a453849a2adca3c8d16c288ee63674.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/f9c8751528f50853c93bccaef3665cb2.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/fa1cac776862e25b801ccd74fe04dedb.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/fa7135f62c5758217dd521fe11e4f3be.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/fb1afe2167ecb0e405e51371bc59a75e.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/fc02f1af2a9db4facfa4f4fc290432fe.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/fc62eb1057700a3ed46569b3ca6ae7b8.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/fc941b53721fd7910cde57ec192fe407.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/fd143c0566e976f3b69413de3ca79ebf.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/fd655c3e164d6c50e7affcee01046566.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/fdada169c1988ef70eea3e2b77f7b727.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/fe0a5f0e6f28f358efb1ed12c10b3240.json +1 -0
- package/example/.expo/web/cache/development/babel-loader/ff9a6e20e331b715609602c9bca399e9.json +1 -0
- package/example/package.json +11 -13
- package/example/src/App.tsx +39 -34
- package/example/src/CandlestickChart.tsx +4 -1
- package/example/src/LineChart.tsx +20 -4
- package/example/src/data/line-data.json +20 -20
- package/example/yarn.lock +1819 -8871
- package/lib/commonjs/charts/candle/HoverTrap/index.web.js +120 -0
- package/lib/commonjs/charts/candle/HoverTrap/index.web.js.map +1 -0
- package/lib/commonjs/charts/candle/utils/getDomain.js +19 -0
- package/lib/commonjs/charts/candle/utils/getDomain.js.map +1 -0
- package/lib/commonjs/charts/candle/utils/getHeight.js +19 -0
- package/lib/commonjs/charts/candle/utils/getHeight.js.map +1 -0
- package/lib/commonjs/charts/candle/utils/getPrice.js +20 -0
- package/lib/commonjs/charts/candle/utils/getPrice.js.map +1 -0
- package/lib/commonjs/charts/candle/utils/getY.js +19 -0
- package/lib/commonjs/charts/candle/utils/getY.js.map +1 -0
- package/lib/commonjs/charts/candle/utils/index.js +58 -0
- package/lib/commonjs/charts/candle/utils/index.js.map +1 -0
- package/lib/commonjs/charts/line/Chart.js +27 -9
- package/lib/commonjs/charts/line/Chart.js.map +1 -1
- package/lib/commonjs/charts/line/ChartPath.js +83 -21
- package/lib/commonjs/charts/line/ChartPath.js.map +1 -1
- package/lib/commonjs/charts/line/Context.js +8 -4
- package/lib/commonjs/charts/line/Context.js.map +1 -1
- package/lib/commonjs/charts/line/Cursor.js +2 -1
- package/lib/commonjs/charts/line/Cursor.js.map +1 -1
- package/lib/commonjs/charts/line/CursorCrosshair.js +12 -3
- package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
- package/lib/commonjs/charts/line/CursorLine.js +6 -6
- package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
- package/lib/commonjs/charts/line/DatetimeText.js +2 -0
- package/lib/commonjs/charts/line/DatetimeText.js.map +1 -1
- package/lib/commonjs/charts/line/Dot.js +126 -0
- package/lib/commonjs/charts/line/Dot.js.map +1 -0
- package/lib/commonjs/charts/line/Gradient.js +8 -25
- package/lib/commonjs/charts/line/Gradient.js.map +1 -1
- package/lib/commonjs/charts/line/Group.js +5 -24
- package/lib/commonjs/charts/line/Group.js.map +1 -1
- package/lib/commonjs/charts/line/Highlight.js +92 -0
- package/lib/commonjs/charts/line/Highlight.js.map +1 -0
- package/lib/commonjs/charts/line/HorizontalLine.js +6 -6
- package/lib/commonjs/charts/line/HorizontalLine.js.map +1 -1
- package/lib/commonjs/charts/line/HoverTrap/index.js +15 -0
- package/lib/commonjs/charts/line/HoverTrap/index.js.map +1 -0
- package/lib/commonjs/charts/line/HoverTrap/index.web.js +120 -0
- package/lib/commonjs/charts/line/HoverTrap/index.web.js.map +1 -0
- package/lib/commonjs/charts/line/Path.js +19 -30
- package/lib/commonjs/charts/line/Path.js.map +1 -1
- package/lib/commonjs/charts/line/PriceText.js +2 -0
- package/lib/commonjs/charts/line/PriceText.js.map +1 -1
- package/lib/commonjs/charts/line/Tooltip.js +2 -0
- package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
- package/lib/commonjs/charts/line/index.js +48 -15
- package/lib/commonjs/charts/line/index.js.map +1 -1
- package/lib/commonjs/charts/line/useAnimatedPath.js +44 -0
- package/lib/commonjs/charts/line/useAnimatedPath.js.map +1 -0
- package/lib/commonjs/charts/line/{utils.js → utils/getArea.js} +2 -49
- package/lib/commonjs/charts/line/utils/getArea.js.map +1 -0
- package/lib/commonjs/charts/line/utils/getDomain.js +16 -0
- package/lib/commonjs/charts/line/utils/getDomain.js.map +1 -0
- package/lib/commonjs/charts/line/utils/getPath.js +34 -0
- package/lib/commonjs/charts/line/utils/getPath.js.map +1 -0
- package/lib/commonjs/charts/line/utils/index.js +71 -0
- package/lib/commonjs/charts/line/utils/index.js.map +1 -0
- package/lib/commonjs/charts/line/{interpolatePath.js → utils/interpolatePath.js} +1 -1
- package/lib/commonjs/charts/line/{interpolatePath.js.map → utils/interpolatePath.js.map} +1 -1
- package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +27 -0
- package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js.map +1 -0
- package/lib/commonjs/components/AnimatedText.js +25 -13
- package/lib/commonjs/components/AnimatedText.js.map +1 -1
- package/lib/commonjs/index.js +8 -8
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/formatDatetime.js +21 -0
- package/lib/commonjs/utils/formatDatetime.js.map +1 -0
- package/lib/commonjs/utils/formatPrice.js +46 -0
- package/lib/commonjs/utils/formatPrice.js.map +1 -0
- package/lib/commonjs/utils/index.js +45 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/commonjs/{utils.js → utils/usePrevious.js} +1 -57
- package/lib/commonjs/utils/usePrevious.js.map +1 -0
- package/lib/module/charts/candle/HoverTrap/index.web.js +101 -0
- package/lib/module/charts/candle/HoverTrap/index.web.js.map +1 -0
- package/lib/module/charts/candle/utils/getDomain.js +12 -0
- package/lib/module/charts/candle/utils/getDomain.js.map +1 -0
- package/lib/module/charts/candle/utils/getHeight.js +11 -0
- package/lib/module/charts/candle/utils/getHeight.js.map +1 -0
- package/lib/module/charts/candle/utils/getPrice.js +12 -0
- package/lib/module/charts/candle/utils/getPrice.js.map +1 -0
- package/lib/module/charts/candle/utils/getY.js +11 -0
- package/lib/module/charts/candle/utils/getY.js.map +1 -0
- package/lib/module/charts/candle/utils/index.js +5 -0
- package/lib/module/charts/candle/utils/index.js.map +1 -0
- package/lib/module/charts/line/Chart.js +27 -10
- package/lib/module/charts/line/Chart.js.map +1 -1
- package/lib/module/charts/line/ChartPath.js +79 -21
- package/lib/module/charts/line/ChartPath.js.map +1 -1
- package/lib/module/charts/line/Context.js +8 -4
- package/lib/module/charts/line/Context.js.map +1 -1
- package/lib/module/charts/line/Cursor.js +2 -1
- package/lib/module/charts/line/Cursor.js.map +1 -1
- package/lib/module/charts/line/CursorCrosshair.js +12 -4
- package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
- package/lib/module/charts/line/CursorLine.js +4 -3
- package/lib/module/charts/line/CursorLine.js.map +1 -1
- package/lib/module/charts/line/DatetimeText.js +1 -0
- package/lib/module/charts/line/DatetimeText.js.map +1 -1
- package/lib/module/charts/line/Dot.js +105 -0
- package/lib/module/charts/line/Dot.js.map +1 -0
- package/lib/module/charts/line/Gradient.js +8 -24
- package/lib/module/charts/line/Gradient.js.map +1 -1
- package/lib/module/charts/line/Group.js +2 -23
- package/lib/module/charts/line/Group.js.map +1 -1
- package/lib/module/charts/line/Highlight.js +69 -0
- package/lib/module/charts/line/Highlight.js.map +1 -0
- package/lib/module/charts/line/HorizontalLine.js +4 -3
- package/lib/module/charts/line/HorizontalLine.js.map +1 -1
- package/lib/module/charts/line/HoverTrap/index.js +3 -0
- package/lib/module/charts/line/HoverTrap/index.js.map +1 -0
- package/lib/module/charts/line/HoverTrap/index.web.js +101 -0
- package/lib/module/charts/line/HoverTrap/index.web.js.map +1 -0
- package/lib/module/charts/line/Path.js +17 -29
- package/lib/module/charts/line/Path.js.map +1 -1
- package/lib/module/charts/line/PriceText.js +1 -0
- package/lib/module/charts/line/PriceText.js.map +1 -1
- package/lib/module/charts/line/Tooltip.js +1 -0
- package/lib/module/charts/line/Tooltip.js.map +1 -1
- package/lib/module/charts/line/index.js +13 -5
- package/lib/module/charts/line/index.js.map +1 -1
- package/lib/module/charts/line/useAnimatedPath.js +34 -0
- package/lib/module/charts/line/useAnimatedPath.js.map +1 -0
- package/lib/module/charts/line/utils/getArea.js +19 -0
- package/lib/module/charts/line/utils/getArea.js.map +1 -0
- package/lib/module/charts/line/utils/getDomain.js +9 -0
- package/lib/module/charts/line/utils/getDomain.js.map +1 -0
- package/lib/module/charts/line/utils/getPath.js +21 -0
- package/lib/module/charts/line/utils/getPath.js.map +1 -0
- package/lib/module/charts/line/utils/index.js +6 -0
- package/lib/module/charts/line/utils/index.js.map +1 -0
- package/lib/module/charts/line/{interpolatePath.js → utils/interpolatePath.js} +1 -1
- package/lib/module/charts/line/{interpolatePath.js.map → utils/interpolatePath.js.map} +1 -1
- package/lib/module/charts/line/utils/lineChartDataPropToArray.js +20 -0
- package/lib/module/charts/line/utils/lineChartDataPropToArray.js.map +1 -0
- package/lib/module/components/AnimatedText.js +24 -13
- package/lib/module/components/AnimatedText.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/formatDatetime.js +14 -0
- package/lib/module/utils/formatDatetime.js.map +1 -0
- package/lib/module/{utils.js → utils/formatPrice.js} +1 -29
- package/lib/module/utils/formatPrice.js.map +1 -0
- package/lib/module/utils/index.js +4 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/utils/usePrevious.js +14 -0
- package/lib/module/utils/usePrevious.js.map +1 -0
- package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts +2 -0
- package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +2 -0
- package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +6 -0
- package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +6 -0
- package/lib/typescript/src/charts/candle/utils/getY.d.ts +6 -0
- package/lib/typescript/src/charts/candle/utils/index.d.ts +4 -0
- package/lib/typescript/src/charts/line/Chart.d.ts +6 -1
- package/lib/typescript/src/charts/line/ChartPath.d.ts +12 -3
- package/lib/typescript/src/charts/line/Context.d.ts +5 -1
- package/lib/typescript/src/charts/line/Cursor.d.ts +3 -0
- package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +4 -1
- package/lib/typescript/src/charts/line/CursorLine.d.ts +4 -1
- package/lib/typescript/src/charts/line/DatetimeText.d.ts +3 -0
- package/lib/typescript/src/charts/line/Dot.d.ts +31 -0
- package/lib/typescript/src/charts/line/Gradient.d.ts +3 -0
- package/lib/typescript/src/charts/line/Group.d.ts +1 -2
- package/lib/typescript/src/charts/line/Highlight.d.ts +15 -0
- package/lib/typescript/src/charts/line/HorizontalLine.d.ts +4 -1
- package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +2 -0
- package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +2 -0
- package/lib/typescript/src/charts/line/Path.d.ts +5 -1
- package/lib/typescript/src/charts/line/PriceText.d.ts +3 -0
- package/lib/typescript/src/charts/line/Tooltip.d.ts +3 -0
- package/lib/typescript/src/charts/line/index.d.ts +16 -22
- package/lib/typescript/src/charts/line/types.d.ts +1 -0
- package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +8 -0
- package/lib/typescript/src/charts/line/useLineChart.d.ts +1 -0
- package/lib/typescript/src/charts/line/utils/getArea.d.ts +9 -0
- package/lib/typescript/src/charts/line/utils/getDomain.d.ts +2 -0
- package/lib/typescript/src/charts/line/utils/getPath.d.ts +11 -0
- package/lib/typescript/src/charts/line/utils/index.d.ts +5 -0
- package/lib/typescript/src/charts/line/{interpolatePath.d.ts → utils/interpolatePath.d.ts} +1 -1
- package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +2 -0
- package/lib/typescript/src/index.d.ts +1 -1
- package/lib/typescript/src/utils/formatDatetime.d.ts +8 -0
- package/lib/typescript/src/utils/formatPrice.d.ts +8 -0
- package/lib/typescript/src/utils/index.d.ts +3 -0
- package/lib/typescript/src/utils/usePrevious.d.ts +1 -0
- package/package.json +8 -6
- package/src/charts/candle/HoverTrap/index.web.tsx +110 -0
- package/src/charts/candle/utils/getDomain.ts +9 -0
- package/src/charts/candle/utils/getHeight.ts +21 -0
- package/src/charts/candle/utils/getPrice.ts +17 -0
- package/src/charts/candle/utils/getY.ts +16 -0
- package/src/charts/candle/utils/index.ts +4 -0
- package/src/charts/line/Chart.tsx +24 -8
- package/src/charts/line/ChartPath.tsx +119 -36
- package/src/charts/line/Context.tsx +8 -0
- package/src/charts/line/Cursor.tsx +5 -1
- package/src/charts/line/CursorCrosshair.tsx +22 -5
- package/src/charts/line/CursorLine.tsx +5 -3
- package/src/charts/line/DatetimeText.tsx +2 -0
- package/src/charts/line/Dot.tsx +175 -0
- package/src/charts/line/Gradient.tsx +7 -34
- package/src/charts/line/Group.tsx +4 -45
- package/src/charts/line/Highlight.tsx +78 -0
- package/src/charts/line/HorizontalLine.tsx +5 -3
- package/src/charts/line/HoverTrap/index.tsx +3 -0
- package/src/charts/line/HoverTrap/index.web.tsx +110 -0
- package/src/charts/line/Path.tsx +14 -38
- package/src/charts/line/PriceText.tsx +2 -0
- package/src/charts/line/Tooltip.tsx +2 -0
- package/src/charts/line/index.ts +13 -5
- package/src/charts/line/types.ts +1 -0
- package/src/charts/line/useAnimatedPath.ts +47 -0
- package/src/charts/line/utils/getArea.ts +38 -0
- package/src/charts/line/utils/getDomain.ts +7 -0
- package/src/charts/line/utils/getPath.ts +48 -0
- package/src/charts/line/utils/index.ts +5 -0
- package/src/charts/line/{interpolatePath.ts → utils/interpolatePath.ts} +1 -1
- package/src/charts/line/utils/lineChartDataPropToArray.ts +25 -0
- package/src/components/AnimatedText.tsx +27 -16
- package/src/index.ts +1 -1
- package/src/utils/formatDatetime.ts +16 -0
- package/src/{utils.ts → utils/formatPrice.ts} +0 -31
- package/src/utils/index.ts +3 -0
- package/src/utils/usePrevious.ts +13 -0
- package/tsconfig.json +1 -1
- package/yarn.lock +1847 -796
- package/example/patches/react-native-reanimated+2.2.2.patch +0 -28
- package/lib/commonjs/charts/line/utils.js.map +0 -1
- package/lib/commonjs/utils.js.map +0 -1
- package/lib/module/charts/line/utils.js +0 -60
- package/lib/module/charts/line/utils.js.map +0 -1
- package/lib/module/utils.js.map +0 -1
- package/lib/typescript/src/charts/line/utils.d.ts +0 -20
- package/lib/typescript/src/utils.d.ts +0 -17
- package/src/charts/line/utils.ts +0 -100
|
@@ -3,50 +3,102 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { StyleSheet, View } from 'react-native';
|
|
5
5
|
import { Svg } from 'react-native-svg';
|
|
6
|
-
import Animated, { useAnimatedProps, withTiming } from 'react-native-reanimated';
|
|
6
|
+
import Animated, { useAnimatedProps, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
7
|
+
import flattenChildren from 'react-keyed-flatten-children';
|
|
7
8
|
import { LineChartDimensionsContext } from './Chart';
|
|
8
9
|
import { LineChartPath } from './Path';
|
|
9
10
|
import { useLineChart } from './useLineChart';
|
|
11
|
+
const BACKGROUND_COMPONENTS = ['LineChartHighlight', 'LineChartHorizontalLine', 'LineChartGradient', 'LineChartDot'];
|
|
12
|
+
const FOREGROUND_COMPONENTS = ['LineChartHighlight', 'LineChartDot'];
|
|
10
13
|
const AnimatedSVG = Animated.createAnimatedComponent(Svg);
|
|
11
14
|
export const LineChartPathContext = /*#__PURE__*/React.createContext({
|
|
12
15
|
color: '',
|
|
16
|
+
isInactive: false,
|
|
13
17
|
isTransitionEnabled: true
|
|
14
18
|
});
|
|
19
|
+
LineChartPathWrapper.displayName = 'LineChartPathWrapper';
|
|
15
20
|
export function LineChartPathWrapper({
|
|
16
21
|
animationDuration = 300,
|
|
17
22
|
animationProps = {},
|
|
18
23
|
children,
|
|
19
24
|
color = 'black',
|
|
20
|
-
|
|
25
|
+
inactiveColor,
|
|
26
|
+
width: strokeWidth = 3,
|
|
27
|
+
widthOffset = 20,
|
|
21
28
|
pathProps = {},
|
|
22
|
-
showInactivePath = true
|
|
29
|
+
showInactivePath = true,
|
|
30
|
+
animateOnMount,
|
|
31
|
+
mountAnimationDuration = animationDuration,
|
|
32
|
+
mountAnimationProps = animationProps
|
|
23
33
|
}) {
|
|
24
|
-
var _pathProps$isTransiti;
|
|
34
|
+
var _pathProps$isTransiti, _pathProps$isTransiti2;
|
|
25
35
|
|
|
26
36
|
const {
|
|
27
|
-
|
|
28
|
-
|
|
37
|
+
height,
|
|
38
|
+
pathWidth,
|
|
39
|
+
width
|
|
29
40
|
} = React.useContext(LineChartDimensionsContext);
|
|
30
41
|
const {
|
|
31
42
|
currentX,
|
|
32
43
|
isActive
|
|
33
|
-
} = useLineChart();
|
|
44
|
+
} = useLineChart();
|
|
45
|
+
const isMounted = useSharedValue(false);
|
|
46
|
+
const hasMountedAnimation = useSharedValue(false);
|
|
47
|
+
React.useEffect(() => {
|
|
48
|
+
isMounted.value = true; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
49
|
+
}, []); ////////////////////////////////////////////////
|
|
50
|
+
|
|
51
|
+
const svgProps = useAnimatedProps(() => {
|
|
52
|
+
const shouldAnimateOnMount = animateOnMount === 'foreground';
|
|
53
|
+
const inactiveWidth = !isMounted.value && shouldAnimateOnMount ? 0 : pathWidth;
|
|
54
|
+
let duration = shouldAnimateOnMount && !hasMountedAnimation.value ? mountAnimationDuration : animationDuration;
|
|
55
|
+
const props = shouldAnimateOnMount && !hasMountedAnimation.value ? mountAnimationProps : animationProps;
|
|
56
|
+
|
|
57
|
+
if (isActive.value) {
|
|
58
|
+
duration = 0;
|
|
59
|
+
}
|
|
34
60
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
61
|
+
return {
|
|
62
|
+
width: withTiming(isActive.value ? // on Web, <svg /> elements don't support negative widths
|
|
63
|
+
// https://github.com/coinjar/react-native-wagmi-charts/issues/24#issuecomment-955789904
|
|
64
|
+
Math.max(currentX.value, 0) : inactiveWidth + widthOffset, Object.assign({
|
|
65
|
+
duration
|
|
66
|
+
}, props), () => {
|
|
67
|
+
hasMountedAnimation.value = true;
|
|
68
|
+
})
|
|
69
|
+
};
|
|
70
|
+
});
|
|
42
71
|
const viewSize = React.useMemo(() => ({
|
|
43
72
|
width,
|
|
44
73
|
height
|
|
45
74
|
}), [width, height]); ////////////////////////////////////////////////
|
|
46
75
|
|
|
47
|
-
|
|
76
|
+
let backgroundChildren;
|
|
77
|
+
let foregroundChildren;
|
|
78
|
+
|
|
79
|
+
if (children) {
|
|
80
|
+
const iterableChildren = flattenChildren(children);
|
|
81
|
+
backgroundChildren = iterableChildren.filter(child => {
|
|
82
|
+
var _child$type;
|
|
83
|
+
|
|
84
|
+
return (// @ts-ignore
|
|
85
|
+
BACKGROUND_COMPONENTS.includes(child === null || child === void 0 ? void 0 : (_child$type = child.type) === null || _child$type === void 0 ? void 0 : _child$type.displayName)
|
|
86
|
+
);
|
|
87
|
+
});
|
|
88
|
+
foregroundChildren = iterableChildren.filter(child => {
|
|
89
|
+
var _child$type2;
|
|
90
|
+
|
|
91
|
+
return (// @ts-ignore
|
|
92
|
+
FOREGROUND_COMPONENTS.includes(child === null || child === void 0 ? void 0 : (_child$type2 = child.type) === null || _child$type2 === void 0 ? void 0 : _child$type2.displayName)
|
|
93
|
+
);
|
|
94
|
+
});
|
|
95
|
+
} ////////////////////////////////////////////////
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LineChartPathContext.Provider, {
|
|
48
99
|
value: {
|
|
49
100
|
color,
|
|
101
|
+
isInactive: showInactivePath,
|
|
50
102
|
isTransitionEnabled: (_pathProps$isTransiti = pathProps.isTransitionEnabled) !== null && _pathProps$isTransiti !== void 0 ? _pathProps$isTransiti : true
|
|
51
103
|
}
|
|
52
104
|
}, /*#__PURE__*/React.createElement(View, {
|
|
@@ -54,18 +106,24 @@ export function LineChartPathWrapper({
|
|
|
54
106
|
}, /*#__PURE__*/React.createElement(Svg, {
|
|
55
107
|
width: width,
|
|
56
108
|
height: height
|
|
57
|
-
},
|
|
109
|
+
}, /*#__PURE__*/React.createElement(LineChartPath, _extends({
|
|
58
110
|
color: color,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
}, pathProps)))), /*#__PURE__*/React.createElement(
|
|
111
|
+
inactiveColor: inactiveColor,
|
|
112
|
+
width: strokeWidth
|
|
113
|
+
}, pathProps)), backgroundChildren))), /*#__PURE__*/React.createElement(LineChartPathContext.Provider, {
|
|
114
|
+
value: {
|
|
115
|
+
color,
|
|
116
|
+
isInactive: false,
|
|
117
|
+
isTransitionEnabled: (_pathProps$isTransiti2 = pathProps.isTransitionEnabled) !== null && _pathProps$isTransiti2 !== void 0 ? _pathProps$isTransiti2 : true
|
|
118
|
+
}
|
|
119
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
62
120
|
style: StyleSheet.absoluteFill
|
|
63
121
|
}, /*#__PURE__*/React.createElement(AnimatedSVG, {
|
|
64
122
|
animatedProps: svgProps,
|
|
65
123
|
height: height
|
|
66
124
|
}, /*#__PURE__*/React.createElement(LineChartPath, _extends({
|
|
67
125
|
color: color,
|
|
68
|
-
width:
|
|
69
|
-
}, pathProps)))));
|
|
126
|
+
width: strokeWidth
|
|
127
|
+
}, pathProps)), foregroundChildren))));
|
|
70
128
|
}
|
|
71
129
|
//# sourceMappingURL=ChartPath.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ChartPath.tsx"],"names":["React","StyleSheet","View","Svg","Animated","useAnimatedProps","withTiming","LineChartDimensionsContext","LineChartPath","useLineChart","AnimatedSVG","createAnimatedComponent","LineChartPathContext","createContext","color","isTransitionEnabled","LineChartPathWrapper","animationDuration","animationProps","children","width","
|
|
1
|
+
{"version":3,"sources":["ChartPath.tsx"],"names":["React","StyleSheet","View","Svg","Animated","useAnimatedProps","useSharedValue","withTiming","flattenChildren","LineChartDimensionsContext","LineChartPath","useLineChart","BACKGROUND_COMPONENTS","FOREGROUND_COMPONENTS","AnimatedSVG","createAnimatedComponent","LineChartPathContext","createContext","color","isInactive","isTransitionEnabled","LineChartPathWrapper","displayName","animationDuration","animationProps","children","inactiveColor","width","strokeWidth","widthOffset","pathProps","showInactivePath","animateOnMount","mountAnimationDuration","mountAnimationProps","height","pathWidth","useContext","currentX","isActive","isMounted","hasMountedAnimation","useEffect","value","svgProps","shouldAnimateOnMount","inactiveWidth","duration","props","Math","max","Object","assign","viewSize","useMemo","backgroundChildren","foregroundChildren","iterableChildren","filter","child","includes","type","absoluteFill"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { StyleSheet, View } from 'react-native';\nimport { Svg } from 'react-native-svg';\nimport Animated, {\n useAnimatedProps,\n useSharedValue,\n withTiming,\n WithTimingConfig,\n} from 'react-native-reanimated';\nimport flattenChildren from 'react-keyed-flatten-children';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { LineChartPath, LineChartPathProps } from './Path';\nimport { useLineChart } from './useLineChart';\n\nconst BACKGROUND_COMPONENTS = [\n 'LineChartHighlight',\n 'LineChartHorizontalLine',\n 'LineChartGradient',\n 'LineChartDot',\n];\nconst FOREGROUND_COMPONENTS = ['LineChartHighlight', 'LineChartDot'];\n\nconst AnimatedSVG = Animated.createAnimatedComponent(Svg);\n\nexport const LineChartPathContext = React.createContext({\n color: '',\n isInactive: false,\n isTransitionEnabled: true,\n});\n\ntype LineChartPathWrapperProps = {\n animationDuration?: number;\n animationProps?: Omit<Partial<WithTimingConfig>, 'duration'>;\n children?: React.ReactNode;\n color?: string;\n inactiveColor?: string;\n width?: number;\n widthOffset?: number;\n pathProps?: Partial<LineChartPathProps>;\n showInactivePath?: boolean;\n animateOnMount?: 'foreground';\n mountAnimationDuration?: number;\n mountAnimationProps?: Partial<WithTimingConfig>;\n};\n\nLineChartPathWrapper.displayName = 'LineChartPathWrapper';\n\nexport function LineChartPathWrapper({\n animationDuration = 300,\n animationProps = {},\n children,\n color = 'black',\n inactiveColor,\n width: strokeWidth = 3,\n widthOffset = 20,\n pathProps = {},\n showInactivePath = true,\n animateOnMount,\n mountAnimationDuration = animationDuration,\n mountAnimationProps = animationProps,\n}: LineChartPathWrapperProps) {\n const { height, pathWidth, width } = React.useContext(\n LineChartDimensionsContext\n );\n const { currentX, isActive } = useLineChart();\n const isMounted = useSharedValue(false);\n const hasMountedAnimation = useSharedValue(false);\n\n React.useEffect(() => {\n isMounted.value = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n ////////////////////////////////////////////////\n\n const svgProps = useAnimatedProps(() => {\n const shouldAnimateOnMount = animateOnMount === 'foreground';\n const inactiveWidth =\n !isMounted.value && shouldAnimateOnMount ? 0 : pathWidth;\n\n let duration =\n shouldAnimateOnMount && !hasMountedAnimation.value\n ? mountAnimationDuration\n : animationDuration;\n const props =\n shouldAnimateOnMount && !hasMountedAnimation.value\n ? mountAnimationProps\n : animationProps;\n\n if (isActive.value) {\n duration = 0;\n }\n\n return {\n width: withTiming(\n isActive.value\n ? // on Web, <svg /> elements don't support negative widths\n // https://github.com/coinjar/react-native-wagmi-charts/issues/24#issuecomment-955789904\n Math.max(currentX.value, 0)\n : inactiveWidth + widthOffset,\n Object.assign({ duration }, props),\n () => {\n hasMountedAnimation.value = true;\n }\n ),\n };\n });\n\n const viewSize = React.useMemo(() => ({ width, height }), [width, height]);\n\n ////////////////////////////////////////////////\n\n let backgroundChildren;\n let foregroundChildren;\n if (children) {\n const iterableChildren = flattenChildren(children);\n backgroundChildren = iterableChildren.filter((child) =>\n // @ts-ignore\n BACKGROUND_COMPONENTS.includes(child?.type?.displayName)\n );\n foregroundChildren = iterableChildren.filter((child) =>\n // @ts-ignore\n FOREGROUND_COMPONENTS.includes(child?.type?.displayName)\n );\n }\n\n ////////////////////////////////////////////////\n\n return (\n <>\n <LineChartPathContext.Provider\n value={{\n color,\n isInactive: showInactivePath,\n isTransitionEnabled: pathProps.isTransitionEnabled ?? true,\n }}\n >\n <View style={viewSize}>\n <Svg width={width} height={height}>\n <LineChartPath\n color={color}\n inactiveColor={inactiveColor}\n width={strokeWidth}\n {...pathProps}\n />\n {backgroundChildren}\n </Svg>\n </View>\n </LineChartPathContext.Provider>\n <LineChartPathContext.Provider\n value={{\n color,\n isInactive: false,\n isTransitionEnabled: pathProps.isTransitionEnabled ?? true,\n }}\n >\n <View style={StyleSheet.absoluteFill}>\n <AnimatedSVG animatedProps={svgProps} height={height}>\n <LineChartPath color={color} width={strokeWidth} {...pathProps} />\n {foregroundChildren}\n </AnimatedSVG>\n </View>\n </LineChartPathContext.Provider>\n </>\n );\n}\n"]}
|
|
@@ -16,13 +16,16 @@ export const LineChartContext = /*#__PURE__*/React.createContext({
|
|
|
16
16
|
yDomain: {
|
|
17
17
|
min: 0,
|
|
18
18
|
max: 0
|
|
19
|
-
}
|
|
19
|
+
},
|
|
20
|
+
xLength: 0
|
|
20
21
|
});
|
|
22
|
+
LineChartProvider.displayName = 'LineChartProvider';
|
|
21
23
|
export function LineChartProvider({
|
|
22
24
|
children,
|
|
23
25
|
data = [],
|
|
24
26
|
yRange,
|
|
25
|
-
onCurrentIndexChange
|
|
27
|
+
onCurrentIndexChange,
|
|
28
|
+
xLength
|
|
26
29
|
}) {
|
|
27
30
|
const currentX = useSharedValue(-1);
|
|
28
31
|
const currentIndex = useSharedValue(-1);
|
|
@@ -42,9 +45,10 @@ export function LineChartProvider({
|
|
|
42
45
|
yDomain: {
|
|
43
46
|
min: (_yRange$min = yRange === null || yRange === void 0 ? void 0 : yRange.min) !== null && _yRange$min !== void 0 ? _yRange$min : Math.min(...values),
|
|
44
47
|
max: (_yRange$max = yRange === null || yRange === void 0 ? void 0 : yRange.max) !== null && _yRange$max !== void 0 ? _yRange$max : Math.max(...values)
|
|
45
|
-
}
|
|
48
|
+
},
|
|
49
|
+
xLength: xLength !== null && xLength !== void 0 ? xLength : (Array.isArray(data) ? data : Object.values(data)[0]).length
|
|
46
50
|
};
|
|
47
|
-
}, [currentIndex, currentX, data, domain, isActive, yRange === null || yRange === void 0 ? void 0 : yRange.max, yRange === null || yRange === void 0 ? void 0 : yRange.min]);
|
|
51
|
+
}, [currentIndex, currentX, data, domain, isActive, yRange === null || yRange === void 0 ? void 0 : yRange.max, yRange === null || yRange === void 0 ? void 0 : yRange.min, xLength]);
|
|
48
52
|
useAnimatedReaction(() => currentIndex.value, (x, prevX) => {
|
|
49
53
|
if (x !== -1 && x !== prevX && onCurrentIndexChange) {
|
|
50
54
|
runOnJS(onCurrentIndexChange)(x);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Context.tsx"],"names":["React","runOnJS","useAnimatedReaction","useSharedValue","LineChartDataProvider","getDomain","lineChartDataPropToArray","LineChartContext","createContext","currentX","value","currentIndex","domain","isActive","yDomain","min","max","LineChartProvider","children","data","yRange","onCurrentIndexChange","useMemo","Array","isArray","Object","values","contextValue","map","Math","x","prevX"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,OADF,EAEEC,mBAFF,EAGEC,cAHF,QAIO,yBAJP;AAMA,SAASC,qBAAT,QAAsC,QAAtC;AAGA,SAASC,SAAT,EAAoBC,wBAApB,QAAoD,SAApD;AAEA,OAAO,MAAMC,gBAAgB,gBAAGP,KAAK,CAACQ,aAAN,CAAuC;AACrEC,EAAAA,QAAQ,EAAE;AAAEC,IAAAA,KAAK,EAAE,CAAC;AAAV,GAD2D;AAErEC,EAAAA,YAAY,EAAE;AAAED,IAAAA,KAAK,EAAE,CAAC;AAAV,GAFuD;AAGrEE,EAAAA,MAAM,EAAE,CAAC,CAAD,EAAI,CAAJ,CAH6D;AAIrEC,EAAAA,QAAQ,EAAE;AAAEH,IAAAA,KAAK,EAAE;AAAT,GAJ2D;AAKrEI,EAAAA,OAAO,EAAE;AACPC,IAAAA,GAAG,EAAE,CADE;AAEPC,IAAAA,GAAG,EAAE;AAFE;
|
|
1
|
+
{"version":3,"sources":["Context.tsx"],"names":["React","runOnJS","useAnimatedReaction","useSharedValue","LineChartDataProvider","getDomain","lineChartDataPropToArray","LineChartContext","createContext","currentX","value","currentIndex","domain","isActive","yDomain","min","max","xLength","LineChartProvider","displayName","children","data","yRange","onCurrentIndexChange","useMemo","Array","isArray","Object","values","contextValue","map","Math","length","x","prevX"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {\n runOnJS,\n useAnimatedReaction,\n useSharedValue,\n} from 'react-native-reanimated';\nimport type { TLineChartDataProp } from './types';\nimport { LineChartDataProvider } from './Data';\n\nimport type { TLineChartContext, YRangeProp } from './types';\nimport { getDomain, lineChartDataPropToArray } from './utils';\n\nexport const LineChartContext = React.createContext<TLineChartContext>({\n currentX: { value: -1 },\n currentIndex: { value: -1 },\n domain: [0, 0],\n isActive: { value: false },\n yDomain: {\n min: 0,\n max: 0,\n },\n xLength: 0,\n});\n\ntype LineChartProviderProps = {\n children: React.ReactNode;\n data: TLineChartDataProp;\n yRange?: YRangeProp;\n onCurrentIndexChange?: (x: number) => void;\n xLength?: number;\n};\n\nLineChartProvider.displayName = 'LineChartProvider';\n\nexport function LineChartProvider({\n children,\n data = [],\n yRange,\n onCurrentIndexChange,\n xLength,\n}: LineChartProviderProps) {\n const currentX = useSharedValue(-1);\n const currentIndex = useSharedValue(-1);\n const isActive = useSharedValue(false);\n\n const domain = React.useMemo(\n () => getDomain(Array.isArray(data) ? data : Object.values(data)[0]),\n [data]\n );\n\n const contextValue = React.useMemo<TLineChartContext>(() => {\n const values = lineChartDataPropToArray(data).map(({ value }) => value);\n\n return {\n currentX,\n currentIndex,\n isActive,\n domain,\n yDomain: {\n min: yRange?.min ?? Math.min(...values),\n max: yRange?.max ?? Math.max(...values),\n },\n xLength:\n xLength ?? (Array.isArray(data) ? data : Object.values(data)[0]).length,\n };\n }, [\n currentIndex,\n currentX,\n data,\n domain,\n isActive,\n yRange?.max,\n yRange?.min,\n xLength,\n ]);\n\n useAnimatedReaction(\n () => currentIndex.value,\n (x, prevX) => {\n if (x !== -1 && x !== prevX && onCurrentIndexChange) {\n runOnJS(onCurrentIndexChange)(x);\n }\n }\n );\n\n return (\n <LineChartDataProvider data={data}>\n <LineChartContext.Provider value={contextValue}>\n {children}\n </LineChartContext.Provider>\n </LineChartDataProvider>\n );\n}\n"]}
|
|
@@ -10,13 +10,14 @@ import { useLineChart } from './useLineChart';
|
|
|
10
10
|
export const CursorContext = /*#__PURE__*/React.createContext({
|
|
11
11
|
type: ''
|
|
12
12
|
});
|
|
13
|
+
LineChartCursor.displayName = 'LineChartCursor';
|
|
13
14
|
export function LineChartCursor({
|
|
14
15
|
children,
|
|
15
16
|
type,
|
|
16
17
|
...props
|
|
17
18
|
}) {
|
|
18
19
|
const {
|
|
19
|
-
width,
|
|
20
|
+
pathWidth: width,
|
|
20
21
|
path
|
|
21
22
|
} = React.useContext(LineChartDimensionsContext);
|
|
22
23
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Cursor.tsx"],"names":["React","StyleSheet","LongPressGestureHandler","Animated","useAnimatedGestureHandler","parse","LineChartDimensionsContext","useLineChart","CursorContext","createContext","type","LineChartCursor","children","props","width","path","useContext","currentX","currentIndex","isActive","data","parsedPath","useMemo","undefined","onGestureEvent","onActive","x","boundedX","value","minIndex","boundedIndex","Math","max","round","length","onEnd","absoluteFill"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,SAEEC,uBAFF,QAKO,8BALP;AAMA,OAAOC,QAAP,IAAmBC,yBAAnB,QAAoD,yBAApD;AACA,SAASC,KAAT,QAAsB,qBAAtB;AAEA,SAASC,0BAAT,QAA2C,SAA3C;AACA,SAASC,YAAT,QAA6B,gBAA7B;AAOA,OAAO,MAAMC,aAAa,gBAAGR,KAAK,CAACS,aAAN,CAAoB;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAApB,CAAtB;
|
|
1
|
+
{"version":3,"sources":["Cursor.tsx"],"names":["React","StyleSheet","LongPressGestureHandler","Animated","useAnimatedGestureHandler","parse","LineChartDimensionsContext","useLineChart","CursorContext","createContext","type","LineChartCursor","displayName","children","props","pathWidth","width","path","useContext","currentX","currentIndex","isActive","data","parsedPath","useMemo","undefined","onGestureEvent","onActive","x","boundedX","value","minIndex","boundedIndex","Math","max","round","length","onEnd","absoluteFill"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,SAEEC,uBAFF,QAKO,8BALP;AAMA,OAAOC,QAAP,IAAmBC,yBAAnB,QAAoD,yBAApD;AACA,SAASC,KAAT,QAAsB,qBAAtB;AAEA,SAASC,0BAAT,QAA2C,SAA3C;AACA,SAASC,YAAT,QAA6B,gBAA7B;AAOA,OAAO,MAAMC,aAAa,gBAAGR,KAAK,CAACS,aAAN,CAAoB;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAApB,CAAtB;AAEPC,eAAe,CAACC,WAAhB,GAA8B,iBAA9B;AAEA,OAAO,SAASD,eAAT,CAAyB;AAC9BE,EAAAA,QAD8B;AAE9BH,EAAAA,IAF8B;AAG9B,KAAGI;AAH2B,CAAzB,EAIkB;AACvB,QAAM;AAAEC,IAAAA,SAAS,EAAEC,KAAb;AAAoBC,IAAAA;AAApB,MAA6BjB,KAAK,CAACkB,UAAN,CACjCZ,0BADiC,CAAnC;AAGA,QAAM;AAAEa,IAAAA,QAAF;AAAYC,IAAAA,YAAZ;AAA0BC,IAAAA,QAA1B;AAAoCC,IAAAA;AAApC,MAA6Cf,YAAY,EAA/D;AAEA,QAAMgB,UAAU,GAAGvB,KAAK,CAACwB,OAAN,CACjB,MAAOP,IAAI,GAAGZ,KAAK,CAACY,IAAD,CAAR,GAAiBQ,SADX,EAEjB,CAACR,IAAD,CAFiB,CAAnB;AAKA,QAAMS,cAAc,GAAGtB,yBAAyB,CAE9C;AACAuB,IAAAA,QAAQ,EAAE,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAW;AACnB,UAAIL,UAAJ,EAAgB;AACd,cAAMM,QAAQ,GAAGD,CAAC,IAAIZ,KAAL,GAAaY,CAAb,GAAiBZ,KAAlC;AACAK,QAAAA,QAAQ,CAACS,KAAT,GAAiB,IAAjB;AACAX,QAAAA,QAAQ,CAACW,KAAT,GAAiBD,QAAjB,CAHc,CAKd;AACA;AACA;;AACA,cAAME,QAAQ,GAAG,CAAjB;AACA,cAAMC,YAAY,GAAGC,IAAI,CAACC,GAAL,CACnBH,QADmB,EAEnBE,IAAI,CAACE,KAAL,CAAWN,QAAQ,GAAGb,KAAX,IAAoB,KAAKM,IAAI,CAACc,MAAL,GAAc,CAAnB,CAApB,CAAX,CAFmB,CAArB;AAKAhB,QAAAA,YAAY,CAACU,KAAb,GAAqBE,YAArB;AACD;AACF,KAlBD;AAmBAK,IAAAA,KAAK,EAAE,MAAM;AACXhB,MAAAA,QAAQ,CAACS,KAAT,GAAiB,KAAjB;AACAV,MAAAA,YAAY,CAACU,KAAb,GAAqB,CAAC,CAAtB;AACD;AAtBD,GAF8C,CAAhD;AA2BA,sBACE,oBAAC,aAAD,CAAe,QAAf;AAAwB,IAAA,KAAK,EAAE;AAAEpB,MAAAA;AAAF;AAA/B,kBACE,oBAAC,uBAAD;AACE,IAAA,aAAa,EAAE,CADjB;AAEE,IAAA,OAAO,EAAE,MAFX;AAGE,IAAA,cAAc,EAAEgB;AAHlB,KAIMZ,KAJN,gBAME,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAEb,UAAU,CAACqC;AAAjC,KACGzB,QADH,CANF,CADF,CADF;AAcD","sourcesContent":["import * as React from 'react';\nimport { StyleSheet } from 'react-native';\nimport {\n GestureEvent,\n LongPressGestureHandler,\n LongPressGestureHandlerEventPayload,\n LongPressGestureHandlerProps,\n} from 'react-native-gesture-handler';\nimport Animated, { useAnimatedGestureHandler } from 'react-native-reanimated';\nimport { parse } from 'react-native-redash';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { useLineChart } from './useLineChart';\n\nexport type LineChartCursorProps = LongPressGestureHandlerProps & {\n children: React.ReactNode;\n type: 'line' | 'crosshair';\n};\n\nexport const CursorContext = React.createContext({ type: '' });\n\nLineChartCursor.displayName = 'LineChartCursor';\n\nexport function LineChartCursor({\n children,\n type,\n ...props\n}: LineChartCursorProps) {\n const { pathWidth: width, path } = React.useContext(\n LineChartDimensionsContext\n );\n const { currentX, currentIndex, isActive, data } = useLineChart();\n\n const parsedPath = React.useMemo(\n () => (path ? parse(path) : undefined),\n [path]\n );\n\n const onGestureEvent = useAnimatedGestureHandler<\n GestureEvent<LongPressGestureHandlerEventPayload>\n >({\n onActive: ({ x }) => {\n if (parsedPath) {\n const boundedX = x <= width ? x : width;\n isActive.value = true;\n currentX.value = boundedX;\n\n // on Web, we could drag the cursor to be negative, breaking it\n // so we clamp the index at 0 to fix it\n // https://github.com/coinjar/react-native-wagmi-charts/issues/24\n const minIndex = 0;\n const boundedIndex = Math.max(\n minIndex,\n Math.round(boundedX / width / (1 / (data.length - 1)))\n );\n\n currentIndex.value = boundedIndex;\n }\n },\n onEnd: () => {\n isActive.value = false;\n currentIndex.value = -1;\n },\n });\n\n return (\n <CursorContext.Provider value={{ type }}>\n <LongPressGestureHandler\n minDurationMs={0}\n maxDist={999999}\n onGestureEvent={onGestureEvent}\n {...props}\n >\n <Animated.View style={StyleSheet.absoluteFill}>\n {children}\n </Animated.View>\n </LongPressGestureHandler>\n </CursorContext.Provider>\n );\n}\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import { View } from 'react-native';
|
|
4
|
+
import { Platform, View } from 'react-native';
|
|
5
5
|
import Animated, { useAnimatedStyle, withSpring } from 'react-native-reanimated';
|
|
6
6
|
import { LineChartCursor } from './Cursor';
|
|
7
7
|
import { useLineChart } from './useLineChart';
|
|
8
|
+
LineChartCursorCrosshair.displayName = 'LineChartCursorCrosshair';
|
|
8
9
|
export function LineChartCursorCrosshair({
|
|
9
10
|
children,
|
|
10
11
|
color = 'black',
|
|
@@ -19,16 +20,23 @@ export function LineChartCursorCrosshair({
|
|
|
19
20
|
currentX,
|
|
20
21
|
currentY,
|
|
21
22
|
isActive
|
|
22
|
-
} = useLineChart();
|
|
23
|
+
} = useLineChart(); // It seems that enabling spring animation on initial render on Android causes a crash.
|
|
24
|
+
|
|
25
|
+
const [enableSpringAnimation, setEnableSpringAnimation] = React.useState(Platform.OS === 'ios');
|
|
26
|
+
React.useEffect(() => {
|
|
27
|
+
setTimeout(() => {
|
|
28
|
+
setEnableSpringAnimation(true);
|
|
29
|
+
}, 100);
|
|
30
|
+
}, []);
|
|
23
31
|
const animatedCursorStyle = useAnimatedStyle(() => ({
|
|
24
32
|
transform: [{
|
|
25
33
|
translateX: currentX.value - outerSize / 2
|
|
26
34
|
}, {
|
|
27
35
|
translateY: currentY.value - outerSize / 2
|
|
28
36
|
}, {
|
|
29
|
-
scale: withSpring(isActive.value ? 1 : 0, {
|
|
37
|
+
scale: enableSpringAnimation ? withSpring(isActive.value ? 1 : 0, {
|
|
30
38
|
damping: 10
|
|
31
|
-
})
|
|
39
|
+
}) : 0
|
|
32
40
|
}]
|
|
33
41
|
}));
|
|
34
42
|
return /*#__PURE__*/React.createElement(LineChartCursor, _extends({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CursorCrosshair.tsx"],"names":["React","View","Animated","useAnimatedStyle","withSpring","LineChartCursor","useLineChart","LineChartCursorCrosshair","children","color","size","outerSize","crosshairWrapperProps","crosshairProps","crosshairOuterProps","props","currentX","currentY","isActive","animatedCursorStyle","transform","translateX","value","translateY","scale","damping","width","height","alignItems","justifyContent","style","backgroundColor","borderRadius","opacity","position"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,
|
|
1
|
+
{"version":3,"sources":["CursorCrosshair.tsx"],"names":["React","Platform","View","Animated","useAnimatedStyle","withSpring","LineChartCursor","useLineChart","LineChartCursorCrosshair","displayName","children","color","size","outerSize","crosshairWrapperProps","crosshairProps","crosshairOuterProps","props","currentX","currentY","isActive","enableSpringAnimation","setEnableSpringAnimation","useState","OS","useEffect","setTimeout","animatedCursorStyle","transform","translateX","value","translateY","scale","damping","width","height","alignItems","justifyContent","style","backgroundColor","borderRadius","opacity","position"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { Platform, View, ViewProps } from 'react-native';\nimport Animated, {\n useAnimatedStyle,\n withSpring,\n} from 'react-native-reanimated';\n\nimport { LineChartCursor, LineChartCursorProps } from './Cursor';\nimport { useLineChart } from './useLineChart';\n\ntype LineChartCursorCrosshairProps = Omit<\n LineChartCursorProps,\n 'children' | 'type'\n> & {\n children?: React.ReactNode;\n color?: string;\n size?: number;\n outerSize?: number;\n crosshairWrapperProps?: Animated.AnimateProps<ViewProps>;\n crosshairProps?: ViewProps;\n crosshairOuterProps?: ViewProps;\n};\n\nLineChartCursorCrosshair.displayName = 'LineChartCursorCrosshair';\n\nexport function LineChartCursorCrosshair({\n children,\n color = 'black',\n size = 8,\n outerSize = 32,\n crosshairWrapperProps = {},\n crosshairProps = {},\n crosshairOuterProps = {},\n ...props\n}: LineChartCursorCrosshairProps) {\n const { currentX, currentY, isActive } = useLineChart();\n\n // It seems that enabling spring animation on initial render on Android causes a crash.\n const [enableSpringAnimation, setEnableSpringAnimation] = React.useState(\n Platform.OS === 'ios'\n );\n React.useEffect(() => {\n setTimeout(() => {\n setEnableSpringAnimation(true);\n }, 100);\n }, []);\n\n const animatedCursorStyle = useAnimatedStyle(() => ({\n transform: [\n { translateX: currentX.value - outerSize / 2 },\n { translateY: currentY.value - outerSize / 2 },\n {\n scale: enableSpringAnimation\n ? withSpring(isActive.value ? 1 : 0, {\n damping: 10,\n })\n : 0,\n },\n ],\n }));\n\n return (\n <LineChartCursor type=\"crosshair\" {...props}>\n <Animated.View\n {...crosshairWrapperProps}\n style={[\n {\n width: outerSize,\n height: outerSize,\n alignItems: 'center',\n justifyContent: 'center',\n },\n animatedCursorStyle,\n crosshairWrapperProps.style,\n ]}\n >\n <View\n {...crosshairOuterProps}\n style={[\n {\n backgroundColor: color,\n width: outerSize,\n height: outerSize,\n borderRadius: outerSize,\n opacity: 0.1,\n position: 'absolute',\n },\n crosshairOuterProps.style,\n ]}\n />\n <View\n {...crosshairProps}\n style={[\n {\n backgroundColor: color,\n width: size,\n height: size,\n borderRadius: size,\n },\n crosshairProps.style,\n ]}\n />\n </Animated.View>\n {children}\n </LineChartCursor>\n );\n}\n"]}
|
|
@@ -7,11 +7,12 @@ import Svg, { Line as SVGLine } from 'react-native-svg';
|
|
|
7
7
|
import { LineChartDimensionsContext } from './Chart';
|
|
8
8
|
import { LineChartCursor } from './Cursor';
|
|
9
9
|
import { useLineChart } from './useLineChart';
|
|
10
|
-
|
|
10
|
+
LineChartCursorLine.displayName = 'LineChartCursorLine';
|
|
11
|
+
export function LineChartCursorLine({
|
|
11
12
|
children,
|
|
12
13
|
color = 'gray',
|
|
13
14
|
lineProps = {}
|
|
14
|
-
})
|
|
15
|
+
}) {
|
|
15
16
|
const {
|
|
16
17
|
height
|
|
17
18
|
} = React.useContext(LineChartDimensionsContext);
|
|
@@ -41,7 +42,7 @@ export const LineChartCursorLine = ({
|
|
|
41
42
|
stroke: color,
|
|
42
43
|
strokeDasharray: "3 3"
|
|
43
44
|
}, lineProps)))), children);
|
|
44
|
-
}
|
|
45
|
+
}
|
|
45
46
|
const styles = StyleSheet.create({
|
|
46
47
|
svg: { ...StyleSheet.absoluteFillObject,
|
|
47
48
|
// height: 100% is required for <svg /> on web
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["CursorLine.tsx"],"names":["React","StyleSheet","Animated","useAnimatedStyle","Svg","Line","SVGLine","LineChartDimensionsContext","LineChartCursor","useLineChart","LineChartCursorLine","children","color","lineProps","height","useContext","currentX","isActive","vertical","opacity","value","transform","translateX","styles","svg","create","absoluteFillObject"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAOC,QAAP,IAAmBC,gBAAnB,QAA2C,yBAA3C;AACA,OAAOC,GAAP,IAAcC,IAAI,IAAIC,OAAtB,QAAgD,kBAAhD;AAEA,SAASC,0BAAT,QAA2C,SAA3C;AACA,SAASC,eAAT,QAAgC,UAAhC;AACA,SAASC,YAAT,QAA6B,gBAA7B;
|
|
1
|
+
{"version":3,"sources":["CursorLine.tsx"],"names":["React","StyleSheet","Animated","useAnimatedStyle","Svg","Line","SVGLine","LineChartDimensionsContext","LineChartCursor","useLineChart","LineChartCursorLine","displayName","children","color","lineProps","height","useContext","currentX","isActive","vertical","opacity","value","transform","translateX","styles","svg","create","absoluteFillObject"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,UAAT,QAA2B,cAA3B;AACA,OAAOC,QAAP,IAAmBC,gBAAnB,QAA2C,yBAA3C;AACA,OAAOC,GAAP,IAAcC,IAAI,IAAIC,OAAtB,QAAgD,kBAAhD;AAEA,SAASC,0BAAT,QAA2C,SAA3C;AACA,SAASC,eAAT,QAAgC,UAAhC;AACA,SAASC,YAAT,QAA6B,gBAA7B;AAQAC,mBAAmB,CAACC,WAApB,GAAkC,qBAAlC;AAEA,OAAO,SAASD,mBAAT,CAA6B;AAClCE,EAAAA,QADkC;AAElCC,EAAAA,KAAK,GAAG,MAF0B;AAGlCC,EAAAA,SAAS,GAAG;AAHsB,CAA7B,EAIsB;AAC3B,QAAM;AAAEC,IAAAA;AAAF,MAAaf,KAAK,CAACgB,UAAN,CAAiBT,0BAAjB,CAAnB;AACA,QAAM;AAAEU,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAAyBT,YAAY,EAA3C;AAEA,QAAMU,QAAQ,GAAGhB,gBAAgB,CAAC,OAAO;AACvCiB,IAAAA,OAAO,EAAEF,QAAQ,CAACG,KAAT,GAAiB,CAAjB,GAAqB,CADS;AAEvCN,IAAAA,MAAM,EAAE,MAF+B;AAGvCO,IAAAA,SAAS,EAAE,CAAC;AAAEC,MAAAA,UAAU,EAAEN,QAAQ,CAACI;AAAvB,KAAD;AAH4B,GAAP,CAAD,CAAjC;AAMA,sBACE,oBAAC,eAAD;AAAiB,IAAA,IAAI,EAAC;AAAtB,kBACE,oBAAC,QAAD,CAAU,IAAV;AAAe,IAAA,KAAK,EAAEF;AAAtB,kBACE,oBAAC,GAAD;AAAK,IAAA,KAAK,EAAEK,MAAM,CAACC;AAAnB,kBACE,oBAAC,OAAD;AACE,IAAA,EAAE,EAAE,CADN;AAEE,IAAA,EAAE,EAAE,CAFN;AAGE,IAAA,EAAE,EAAE,CAHN;AAIE,IAAA,EAAE,EAAEV,MAJN;AAKE,IAAA,WAAW,EAAE,CALf;AAME,IAAA,MAAM,EAAEF,KANV;AAOE,IAAA,eAAe,EAAC;AAPlB,KAQMC,SARN,EADF,CADF,CADF,EAeGF,QAfH,CADF;AAmBD;AAED,MAAMY,MAAM,GAAGvB,UAAU,CAACyB,MAAX,CAAkB;AAC/BD,EAAAA,GAAG,EAAE,EACH,GAAGxB,UAAU,CAAC0B,kBADX;AAEH;AACAZ,IAAAA,MAAM,EAAE;AAHL;AAD0B,CAAlB,CAAf","sourcesContent":["import React from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { useAnimatedStyle } from 'react-native-reanimated';\nimport Svg, { Line as SVGLine, LineProps } from 'react-native-svg';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { LineChartCursor } from './Cursor';\nimport { useLineChart } from './useLineChart';\n\ntype LineChartCursorLineProps = {\n children?: React.ReactNode;\n color?: string;\n lineProps?: Partial<LineProps>;\n};\n\nLineChartCursorLine.displayName = 'LineChartCursorLine';\n\nexport function LineChartCursorLine({\n children,\n color = 'gray',\n lineProps = {},\n}: LineChartCursorLineProps) {\n const { height } = React.useContext(LineChartDimensionsContext);\n const { currentX, isActive } = useLineChart();\n\n const vertical = useAnimatedStyle(() => ({\n opacity: isActive.value ? 1 : 0,\n height: '100%',\n transform: [{ translateX: currentX.value }],\n }));\n\n return (\n <LineChartCursor type=\"line\">\n <Animated.View style={vertical}>\n <Svg style={styles.svg}>\n <SVGLine\n x1={0}\n y1={0}\n x2={0}\n y2={height}\n strokeWidth={2}\n stroke={color}\n strokeDasharray=\"3 3\"\n {...lineProps}\n />\n </Svg>\n </Animated.View>\n {children}\n </LineChartCursor>\n );\n}\n\nconst styles = StyleSheet.create({\n svg: {\n ...StyleSheet.absoluteFillObject,\n // height: 100% is required for <svg /> on web\n height: '100%',\n },\n});\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useLineChartDatetime } from './useDatetime';
|
|
3
3
|
import { AnimatedText } from '../../components/AnimatedText';
|
|
4
|
+
LineChartDatetimeText.displayName = 'LineChartDatetimeText';
|
|
4
5
|
export function LineChartDatetimeText({
|
|
5
6
|
locale,
|
|
6
7
|
options,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DatetimeText.tsx"],"names":["React","useLineChartDatetime","AnimatedText","LineChartDatetimeText","locale","options","format","variant","style","datetime"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAIA,SAASC,oBAAT,QAAqC,eAArC;AAEA,SAASC,YAAT,QAA6B,+BAA7B;
|
|
1
|
+
{"version":3,"sources":["DatetimeText.tsx"],"names":["React","useLineChartDatetime","AnimatedText","LineChartDatetimeText","displayName","locale","options","format","variant","style","datetime"],"mappings":"AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAIA,SAASC,oBAAT,QAAqC,eAArC;AAEA,SAASC,YAAT,QAA6B,+BAA7B;AAUAC,qBAAqB,CAACC,WAAtB,GAAoC,uBAApC;AAEA,OAAO,SAASD,qBAAT,CAA+B;AACpCE,EAAAA,MADoC;AAEpCC,EAAAA,OAFoC;AAGpCC,EAAAA,MAHoC;AAIpCC,EAAAA,OAAO,GAAG,WAJ0B;AAKpCC,EAAAA;AALoC,CAA/B,EAMoB;AACzB,QAAMC,QAAQ,GAAGT,oBAAoB,CAAC;AAAEM,IAAAA,MAAF;AAAUF,IAAAA,MAAV;AAAkBC,IAAAA;AAAlB,GAAD,CAArC;AACA,sBAAO,oBAAC,YAAD;AAAc,IAAA,IAAI,EAAEI,QAAQ,CAACF,OAAD,CAA5B;AAAuC,IAAA,KAAK,EAAEC;AAA9C,IAAP;AACD","sourcesContent":["import * as React from 'react';\nimport type { TextProps as RNTextProps } from 'react-native';\nimport type Animated from 'react-native-reanimated';\n\nimport { useLineChartDatetime } from './useDatetime';\nimport type { TFormatterFn } from 'react-native-wagmi-charts';\nimport { AnimatedText } from '../../components/AnimatedText';\n\ntype LineChartDatetimeProps = {\n locale?: string;\n options?: Intl.DateTimeFormatOptions;\n format?: TFormatterFn<number>;\n variant?: 'formatted' | 'value';\n style?: Animated.AnimateProps<RNTextProps>['style'];\n};\n\nLineChartDatetimeText.displayName = 'LineChartDatetimeText';\n\nexport function LineChartDatetimeText({\n locale,\n options,\n format,\n variant = 'formatted',\n style,\n}: LineChartDatetimeProps) {\n const datetime = useLineChartDatetime({ format, locale, options });\n return <AnimatedText text={datetime[variant]} style={style} />;\n}\n"]}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import Animated, { Easing, useAnimatedProps, useDerivedValue, withRepeat, withSequence, withTiming } from 'react-native-reanimated';
|
|
5
|
+
import { Circle } from 'react-native-svg';
|
|
6
|
+
import { getYForX, parse } from 'react-native-redash';
|
|
7
|
+
import { LineChartDimensionsContext } from './Chart';
|
|
8
|
+
import { LineChartPathContext } from './ChartPath';
|
|
9
|
+
import { useLineChart } from './useLineChart';
|
|
10
|
+
const AnimatedCircle = Animated.createAnimatedComponent(Circle);
|
|
11
|
+
LineChartDot.displayName = 'LineChartDot';
|
|
12
|
+
export function LineChartDot({
|
|
13
|
+
at,
|
|
14
|
+
color: defaultColor = 'black',
|
|
15
|
+
dotProps,
|
|
16
|
+
hasOuterDot: defaultHasOuterDot = false,
|
|
17
|
+
hasPulse = false,
|
|
18
|
+
inactiveColor,
|
|
19
|
+
outerDotProps,
|
|
20
|
+
pulseBehaviour = 'while-inactive',
|
|
21
|
+
pulseDurationMs = 800,
|
|
22
|
+
showInactiveColor = true,
|
|
23
|
+
size = 4,
|
|
24
|
+
outerSize = size * 4
|
|
25
|
+
}) {
|
|
26
|
+
const {
|
|
27
|
+
data,
|
|
28
|
+
isActive
|
|
29
|
+
} = useLineChart();
|
|
30
|
+
const {
|
|
31
|
+
path,
|
|
32
|
+
pathWidth: width
|
|
33
|
+
} = React.useContext(LineChartDimensionsContext); ////////////////////////////////////////////////////////////
|
|
34
|
+
|
|
35
|
+
const {
|
|
36
|
+
isInactive: _isInactive
|
|
37
|
+
} = React.useContext(LineChartPathContext);
|
|
38
|
+
const isInactive = showInactiveColor && _isInactive;
|
|
39
|
+
const color = isInactive ? inactiveColor || defaultColor : defaultColor;
|
|
40
|
+
const opacity = isInactive && !inactiveColor ? 0.5 : 1;
|
|
41
|
+
const hasOuterDot = defaultHasOuterDot || hasPulse; ////////////////////////////////////////////////////////////
|
|
42
|
+
|
|
43
|
+
const parsedPath = React.useMemo(() => parse(path), [path]); ////////////////////////////////////////////////////////////
|
|
44
|
+
|
|
45
|
+
const pointWidth = React.useMemo(() => width / (data.length - 1), [data.length, width]); ////////////////////////////////////////////////////////////
|
|
46
|
+
|
|
47
|
+
const x = useDerivedValue(() => withTiming(pointWidth * at));
|
|
48
|
+
const y = useDerivedValue(() => withTiming(getYForX(parsedPath, x.value) || 0)); ////////////////////////////////////////////////////////////
|
|
49
|
+
|
|
50
|
+
const animatedDotProps = useAnimatedProps(() => ({
|
|
51
|
+
cx: x.value,
|
|
52
|
+
cy: y.value
|
|
53
|
+
}));
|
|
54
|
+
const animatedOuterDotProps = useAnimatedProps(() => {
|
|
55
|
+
let defaultProps = {
|
|
56
|
+
cx: x.value,
|
|
57
|
+
cy: y.value,
|
|
58
|
+
opacity: 0.1,
|
|
59
|
+
r: outerSize
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
if (!hasPulse) {
|
|
63
|
+
return defaultProps;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
if (isActive.value && pulseBehaviour === 'while-inactive') {
|
|
67
|
+
return { ...defaultProps,
|
|
68
|
+
r: 0
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const easing = Easing.out(Easing.sin);
|
|
73
|
+
const animatedOpacity = withRepeat(withSequence(withTiming(0.8), withTiming(0, {
|
|
74
|
+
duration: pulseDurationMs,
|
|
75
|
+
easing
|
|
76
|
+
})), -1, false);
|
|
77
|
+
const scale = withRepeat(withSequence(withTiming(0), withTiming(outerSize, {
|
|
78
|
+
duration: pulseDurationMs,
|
|
79
|
+
easing
|
|
80
|
+
})), -1, false);
|
|
81
|
+
|
|
82
|
+
if (pulseBehaviour === 'while-inactive') {
|
|
83
|
+
return { ...defaultProps,
|
|
84
|
+
opacity: isActive.value ? withTiming(0) : animatedOpacity,
|
|
85
|
+
r: isActive.value ? withTiming(0) : scale
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
return { ...defaultProps,
|
|
90
|
+
opacity: animatedOpacity,
|
|
91
|
+
r: scale
|
|
92
|
+
};
|
|
93
|
+
}, [outerSize]); ////////////////////////////////////////////////////////////
|
|
94
|
+
|
|
95
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(AnimatedCircle, _extends({
|
|
96
|
+
animatedProps: animatedDotProps,
|
|
97
|
+
r: size,
|
|
98
|
+
fill: color,
|
|
99
|
+
opacity: opacity
|
|
100
|
+
}, dotProps)), hasOuterDot && /*#__PURE__*/React.createElement(AnimatedCircle, _extends({
|
|
101
|
+
animatedProps: animatedOuterDotProps,
|
|
102
|
+
fill: color
|
|
103
|
+
}, outerDotProps)));
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=Dot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Dot.tsx"],"names":["React","Animated","Easing","useAnimatedProps","useDerivedValue","withRepeat","withSequence","withTiming","Circle","getYForX","parse","LineChartDimensionsContext","LineChartPathContext","useLineChart","AnimatedCircle","createAnimatedComponent","LineChartDot","displayName","at","color","defaultColor","dotProps","hasOuterDot","defaultHasOuterDot","hasPulse","inactiveColor","outerDotProps","pulseBehaviour","pulseDurationMs","showInactiveColor","size","outerSize","data","isActive","path","pathWidth","width","useContext","isInactive","_isInactive","opacity","parsedPath","useMemo","pointWidth","length","x","y","value","animatedDotProps","cx","cy","animatedOuterDotProps","defaultProps","r","easing","out","sin","animatedOpacity","duration","scale"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport Animated, {\n Easing,\n useAnimatedProps,\n useDerivedValue,\n withRepeat,\n withSequence,\n withTiming,\n} from 'react-native-reanimated';\nimport { Circle, CircleProps } from 'react-native-svg';\nimport { getYForX, parse } from 'react-native-redash';\n\nimport { LineChartDimensionsContext } from './Chart';\nimport { LineChartPathContext } from './ChartPath';\nimport { useLineChart } from './useLineChart';\n\nconst AnimatedCircle = Animated.createAnimatedComponent(Circle);\n\nexport type LineChartDotProps = {\n dotProps?: Animated.AnimateProps<CircleProps>;\n outerDotProps?: Animated.AnimateProps<CircleProps>;\n color?: string;\n inactiveColor?: string;\n showInactiveColor?: boolean;\n at: number;\n size?: number;\n hasPulse?: boolean;\n hasOuterDot?: boolean;\n /**\n * If `always`, the outer dot will still animate when interaction is active.\n *\n * If `while-inactive`, the outer dot will animate only when the interaction is inactive.\n *\n * Default: `while-inactive`\n */\n pulseBehaviour?: 'always' | 'while-inactive';\n /**\n * Defaults to `size * 4`\n */\n outerSize?: number;\n pulseDurationMs?: number;\n};\n\nLineChartDot.displayName = 'LineChartDot';\n\nexport function LineChartDot({\n at,\n color: defaultColor = 'black',\n dotProps,\n hasOuterDot: defaultHasOuterDot = false,\n hasPulse = false,\n inactiveColor,\n outerDotProps,\n pulseBehaviour = 'while-inactive',\n pulseDurationMs = 800,\n showInactiveColor = true,\n size = 4,\n outerSize = size * 4,\n}: LineChartDotProps) {\n const { data, isActive } = useLineChart();\n const { path, pathWidth: width } = React.useContext(\n LineChartDimensionsContext\n );\n\n ////////////////////////////////////////////////////////////\n\n const { isInactive: _isInactive } = React.useContext(LineChartPathContext);\n const isInactive = showInactiveColor && _isInactive;\n const color = isInactive ? inactiveColor || defaultColor : defaultColor;\n const opacity = isInactive && !inactiveColor ? 0.5 : 1;\n const hasOuterDot = defaultHasOuterDot || hasPulse;\n\n ////////////////////////////////////////////////////////////\n\n const parsedPath = React.useMemo(() => parse(path), [path]);\n\n ////////////////////////////////////////////////////////////\n\n const pointWidth = React.useMemo(\n () => width / (data.length - 1),\n [data.length, width]\n );\n\n ////////////////////////////////////////////////////////////\n\n const x = useDerivedValue(() => withTiming(pointWidth * at));\n const y = useDerivedValue(() =>\n withTiming(getYForX(parsedPath!, x.value) || 0)\n );\n\n ////////////////////////////////////////////////////////////\n\n const animatedDotProps = useAnimatedProps(() => ({\n cx: x.value,\n cy: y.value,\n }));\n\n const animatedOuterDotProps = useAnimatedProps(() => {\n let defaultProps = {\n cx: x.value,\n cy: y.value,\n opacity: 0.1,\n r: outerSize,\n };\n\n if (!hasPulse) {\n return defaultProps;\n }\n\n if (isActive.value && pulseBehaviour === 'while-inactive') {\n return {\n ...defaultProps,\n r: 0,\n };\n }\n\n const easing = Easing.out(Easing.sin);\n const animatedOpacity = withRepeat(\n withSequence(\n withTiming(0.8),\n withTiming(0, {\n duration: pulseDurationMs,\n easing,\n })\n ),\n -1,\n false\n );\n const scale = withRepeat(\n withSequence(\n withTiming(0),\n withTiming(outerSize, {\n duration: pulseDurationMs,\n easing,\n })\n ),\n -1,\n false\n );\n\n if (pulseBehaviour === 'while-inactive') {\n return {\n ...defaultProps,\n opacity: isActive.value ? withTiming(0) : animatedOpacity,\n r: isActive.value ? withTiming(0) : scale,\n };\n }\n return {\n ...defaultProps,\n opacity: animatedOpacity,\n r: scale,\n };\n }, [outerSize]);\n\n ////////////////////////////////////////////////////////////\n\n return (\n <>\n <AnimatedCircle\n animatedProps={animatedDotProps}\n r={size}\n fill={color}\n opacity={opacity}\n {...dotProps}\n />\n {hasOuterDot && (\n <AnimatedCircle\n animatedProps={animatedOuterDotProps}\n fill={color}\n {...outerDotProps}\n />\n )}\n </>\n );\n}\n"]}
|