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.
Files changed (601) hide show
  1. package/.DS_Store +0 -0
  2. package/README.md +365 -193
  3. package/example/.DS_Store +0 -0
  4. package/example/.expo/web/cache/development/babel-loader/0048eab7a1937596c83f7a0a8669a057.json +1 -0
  5. package/example/.expo/web/cache/development/babel-loader/00e78539c92f01b2990b35cc56404077.json +1 -0
  6. package/example/.expo/web/cache/development/babel-loader/01548be34380766518c44d302f0da833.json +1 -0
  7. package/example/.expo/web/cache/development/babel-loader/01dc8e11259412b46f72a16b6f6f989a.json +1 -0
  8. package/example/.expo/web/cache/development/babel-loader/022bc27c62f111b60de1d9cf31798db5.json +1 -0
  9. package/example/.expo/web/cache/development/babel-loader/02341c3581c9b4661b5deec14d244183.json +1 -0
  10. package/example/.expo/web/cache/development/babel-loader/029e21747cfcaf8be0db65a531a13e45.json +1 -0
  11. package/example/.expo/web/cache/development/babel-loader/02cacb7980022332144135d930ecea11.json +1 -0
  12. package/example/.expo/web/cache/development/babel-loader/030b07a0a05e98460988fcc5b21543fd.json +1 -0
  13. package/example/.expo/web/cache/development/babel-loader/03e0f78352a5cc290e9a694dfa0457b2.json +1 -0
  14. package/example/.expo/web/cache/development/babel-loader/03f273e96dda522f2f1ffb0c11d9cb41.json +1 -0
  15. package/example/.expo/web/cache/development/babel-loader/040ef89e9083432c9c572aecfb055253.json +1 -0
  16. package/example/.expo/web/cache/development/babel-loader/053109a5af2f50846dbff99c9ddaa08b.json +1 -0
  17. package/example/.expo/web/cache/development/babel-loader/05c8ee51599e49b8df4c2aea1c61f9bd.json +1 -0
  18. package/example/.expo/web/cache/development/babel-loader/061e5f7ad7d0922480d8aa5ec61bb646.json +1 -0
  19. package/example/.expo/web/cache/development/babel-loader/062a149ffbda2b47d4a754da17f0ed89.json +1 -0
  20. package/example/.expo/web/cache/development/babel-loader/06c9aabc7c8dc32a774403b9acd1d9e3.json +1 -0
  21. package/example/.expo/web/cache/development/babel-loader/06de2f6698410c68adcc5a227728a923.json +1 -0
  22. package/example/.expo/web/cache/development/babel-loader/078d39387ece388cb409a9de98417dd7.json +1 -0
  23. package/example/.expo/web/cache/development/babel-loader/08ae8c107c10803a4fd1dcd9bb77631b.json +1 -0
  24. package/example/.expo/web/cache/development/babel-loader/0b71299ddceefa8034f07d7bd25f7132.json +1 -0
  25. package/example/.expo/web/cache/development/babel-loader/0ba484ac7ba0d1abe8d566757740b901.json +1 -0
  26. package/example/.expo/web/cache/development/babel-loader/0bdbd4da7c535a6cfa3d301a2e03cdb3.json +1 -0
  27. package/example/.expo/web/cache/development/babel-loader/0ca19fcabd7879d8a09389c265186c73.json +1 -0
  28. package/example/.expo/web/cache/development/babel-loader/0dba3b74d1f9e83e7e1be547f59f9b0d.json +1 -0
  29. package/example/.expo/web/cache/development/babel-loader/0dda8bfcef9ddb34113838e01d884c94.json +1 -0
  30. package/example/.expo/web/cache/development/babel-loader/0fed877538eec4c0fe6fc59a7fba1884.json +1 -0
  31. package/example/.expo/web/cache/development/babel-loader/10c42328cedbca0b7c02e292cbf7e819.json +1 -0
  32. package/example/.expo/web/cache/development/babel-loader/11e5e2a288b722ed1a72951da903668f.json +1 -0
  33. package/example/.expo/web/cache/development/babel-loader/124b86bda7fafdb400a04e42fb06d241.json +1 -0
  34. package/example/.expo/web/cache/development/babel-loader/12ddb38f86b223c6168a22c3c441d23c.json +1 -0
  35. package/example/.expo/web/cache/development/babel-loader/12f8b90d6b32fd8d434f74ec0a1cc5de.json +1 -0
  36. package/example/.expo/web/cache/development/babel-loader/14896ac3a706173aa66f99f5ac81de25.json +1 -0
  37. package/example/.expo/web/cache/development/babel-loader/155b2897eaa205c153dc174759391596.json +1 -0
  38. package/example/.expo/web/cache/development/babel-loader/159bcfbc06914dc0fa53d932ecdeb3a8.json +1 -0
  39. package/example/.expo/web/cache/development/babel-loader/15adfc2176211fd1b1f1e26ffac54860.json +1 -0
  40. package/example/.expo/web/cache/development/babel-loader/16bf97aa1df29d051e75cdcfe30258ca.json +1 -0
  41. package/example/.expo/web/cache/development/babel-loader/173757cc1e741e39f50c821a347ca6a7.json +1 -0
  42. package/example/.expo/web/cache/development/babel-loader/17539008e1af521bbd4be8772219d502.json +1 -0
  43. package/example/.expo/web/cache/development/babel-loader/178a06574c91fc5f7d66bb5c1087d694.json +1 -0
  44. package/example/.expo/web/cache/development/babel-loader/17f33cd1288f2d81431bd2cc3594a889.json +1 -0
  45. package/example/.expo/web/cache/development/babel-loader/1ae598529609953300b8831809806773.json +1 -0
  46. package/example/.expo/web/cache/development/babel-loader/1bf72c5e82adfae4cd9fb7d062f43c7b.json +1 -0
  47. package/example/.expo/web/cache/development/babel-loader/1e954e44cae79871d604d778ed2b019b.json +1 -0
  48. package/example/.expo/web/cache/development/babel-loader/1f3db19af6a4daad8ac653aef9a17b3e.json +1 -0
  49. package/example/.expo/web/cache/development/babel-loader/1fa8d4f7956d15e5d2301b5bc0ea5cda.json +1 -0
  50. package/example/.expo/web/cache/development/babel-loader/20143c2ba144a977d78c7b106120350d.json +1 -0
  51. package/example/.expo/web/cache/development/babel-loader/201eb696584a8e8ed6ccc7f1c94bea83.json +1 -0
  52. package/example/.expo/web/cache/development/babel-loader/208778a4ee646ee0555ed1e67b562757.json +1 -0
  53. package/example/.expo/web/cache/development/babel-loader/219c2137c40f30853f1c0da86e6195ae.json +1 -0
  54. package/example/.expo/web/cache/development/babel-loader/224ade2bbe8e0b2388eb1c55bff3f264.json +1 -0
  55. package/example/.expo/web/cache/development/babel-loader/22eb55b287473e3a78908381441cfcb4.json +1 -0
  56. package/example/.expo/web/cache/development/babel-loader/240cb3678995c4254ed6e5c7582952ba.json +1 -0
  57. package/example/.expo/web/cache/development/babel-loader/2530791779144ffab597cad5be52c226.json +1 -0
  58. package/example/.expo/web/cache/development/babel-loader/2596af2ade89538878b6d544100f3399.json +1 -0
  59. package/example/.expo/web/cache/development/babel-loader/25ba14deb6adaac77b56e2c781b4f065.json +1 -0
  60. package/example/.expo/web/cache/development/babel-loader/26d2d37f205cec86abab8af6ff0ebc64.json +1 -0
  61. package/example/.expo/web/cache/development/babel-loader/283e292d5ceb581a50e9755ac42601a2.json +1 -0
  62. package/example/.expo/web/cache/development/babel-loader/28d1872152a5070e160a78864dac71c9.json +1 -0
  63. package/example/.expo/web/cache/development/babel-loader/29518ab58c8aacdb2e5e164fc13d872b.json +1 -0
  64. package/example/.expo/web/cache/development/babel-loader/29d79f626f6ad6bfe79bbbf010acedf3.json +1 -0
  65. package/example/.expo/web/cache/development/babel-loader/2aa749a94f4df8b760e8acfdb25028ff.json +1 -0
  66. package/example/.expo/web/cache/development/babel-loader/2b64d55ee11f0015681db4ce68a395d2.json +1 -0
  67. package/example/.expo/web/cache/development/babel-loader/2cccd0ecb5914d7b91a0e2a0fbd995c9.json +1 -0
  68. package/example/.expo/web/cache/development/babel-loader/2dbbd507ae02c5249d7088f625312a95.json +1 -0
  69. package/example/.expo/web/cache/development/babel-loader/2dce9894a2affe7bfe287cd3e27b4efd.json +1 -0
  70. package/example/.expo/web/cache/development/babel-loader/2e27f8a130af009b492bc9f13a3bb578.json +1 -0
  71. package/example/.expo/web/cache/development/babel-loader/2f57f3c72b3b460c5d299bcf081b429b.json +1 -0
  72. package/example/.expo/web/cache/development/babel-loader/2f63db06dec4ae0f934cbe269ca78b7c.json +1 -0
  73. package/example/.expo/web/cache/development/babel-loader/3146ea18d415deb6177ac03e1355688e.json +1 -0
  74. package/example/.expo/web/cache/development/babel-loader/319feb766afa0b6ef1fd0f61a79d8306.json +1 -0
  75. package/example/.expo/web/cache/development/babel-loader/35c0fe0f3af5e5bb30c862ab2f0352fe.json +1 -0
  76. package/example/.expo/web/cache/development/babel-loader/35e42e8dca6b3242a869b68dd19c9320.json +1 -0
  77. package/example/.expo/web/cache/development/babel-loader/3683ce1bd7ea848ec955de2738873cfb.json +1 -0
  78. package/example/.expo/web/cache/development/babel-loader/368688165f40c4cfc59238bacf69d131.json +1 -0
  79. package/example/.expo/web/cache/development/babel-loader/36e75d47020ead36881558873b7ed051.json +1 -0
  80. package/example/.expo/web/cache/development/babel-loader/38146d6afeec03b463523c4710274e9a.json +1 -0
  81. package/example/.expo/web/cache/development/babel-loader/394f45d48a9648d70c4b5b64076be031.json +1 -0
  82. package/example/.expo/web/cache/development/babel-loader/3972208eae9b5b632b17b21baa8bf208.json +1 -0
  83. package/example/.expo/web/cache/development/babel-loader/39f743b81b60417ab847556a7179e22a.json +1 -0
  84. package/example/.expo/web/cache/development/babel-loader/3b7135501e404451314cdcc9fe0600b8.json +1 -0
  85. package/example/.expo/web/cache/development/babel-loader/3c20b6d457837e0ac87f3e648e6eca00.json +1 -0
  86. package/example/.expo/web/cache/development/babel-loader/3c5f38af9e2ec3a91de4f1b4fec17b0a.json +1 -0
  87. package/example/.expo/web/cache/development/babel-loader/3e1698f99f9fc08d49f7b34982fa5ff9.json +1 -0
  88. package/example/.expo/web/cache/development/babel-loader/3e2d35c9bbfe5423a7d98376bcd56e6b.json +1 -0
  89. package/example/.expo/web/cache/development/babel-loader/3e7a2e7fe4f726704b568371689534ae.json +1 -0
  90. package/example/.expo/web/cache/development/babel-loader/3f86d59727c3e03e54652149a8f8d3b6.json +1 -0
  91. package/example/.expo/web/cache/development/babel-loader/40402ff33d7840c2ef429fb4b123038d.json +1 -0
  92. package/example/.expo/web/cache/development/babel-loader/4088615ef9d57b3f7fe4190660ba6ddc.json +1 -0
  93. package/example/.expo/web/cache/development/babel-loader/40c4fde14ef2e0ea53a7432cd848ff2b.json +1 -0
  94. package/example/.expo/web/cache/development/babel-loader/42c2f18b8307bc0d3ea5d84373a5d67f.json +1 -0
  95. package/example/.expo/web/cache/development/babel-loader/437dd685561b93a81742ac2ecbeb7d41.json +1 -0
  96. package/example/.expo/web/cache/development/babel-loader/44dc1996d592f2e6f37bad3a90765f47.json +1 -0
  97. package/example/.expo/web/cache/development/babel-loader/45873f55ae22e035954bc06cc50b2173.json +1 -0
  98. package/example/.expo/web/cache/development/babel-loader/46679e2a6fceee1389fc81e63b21348f.json +1 -0
  99. package/example/.expo/web/cache/development/babel-loader/4861470a02020675a1ee3db81cf82013.json +1 -0
  100. package/example/.expo/web/cache/development/babel-loader/4864be71b0d3193e0c759b91a9548cce.json +1 -0
  101. package/example/.expo/web/cache/development/babel-loader/487488e8e5ae8ef9217e3c56a43ad05a.json +1 -0
  102. package/example/.expo/web/cache/development/babel-loader/49f4c364b909987eb06dde9e5e191155.json +1 -0
  103. package/example/.expo/web/cache/development/babel-loader/4b81b318c8d202092e5f11c893ba60ca.json +1 -0
  104. package/example/.expo/web/cache/development/babel-loader/4b929b061248038485fe18a4000f0dc7.json +1 -0
  105. package/example/.expo/web/cache/development/babel-loader/4bb899e66458fe70451b960feb748cca.json +1 -0
  106. package/example/.expo/web/cache/development/babel-loader/4bf2841cd4d191e4fcd069fc2defa95d.json +1 -0
  107. package/example/.expo/web/cache/development/babel-loader/4bfdf05b16115a8f6be82091518c35be.json +1 -0
  108. package/example/.expo/web/cache/development/babel-loader/4c14d7bff7de294fd991c68522f97ee4.json +1 -0
  109. package/example/.expo/web/cache/development/babel-loader/4c723644cc0a1300f119db91b3a4e1d8.json +1 -0
  110. package/example/.expo/web/cache/development/babel-loader/4c912e44b450dfff1f0d609c6fcf770c.json +1 -0
  111. package/example/.expo/web/cache/development/babel-loader/4c91a10b38720099ce4af9a3b12902e3.json +1 -0
  112. package/example/.expo/web/cache/development/babel-loader/4d466fa65871bcbc64956934ceb7b82f.json +1 -0
  113. package/example/.expo/web/cache/development/babel-loader/4e225e240a0c5e5724f9d92ab2c2a5c7.json +1 -0
  114. package/example/.expo/web/cache/development/babel-loader/4e741f92fbbd92b96334530f6ad10846.json +1 -0
  115. package/example/.expo/web/cache/development/babel-loader/4f17a38ef723d2f2f88ab36229447848.json +1 -0
  116. package/example/.expo/web/cache/development/babel-loader/5126e93c01ee93124a5e74d11303b9c8.json +1 -0
  117. package/example/.expo/web/cache/development/babel-loader/519238552f7ca486b938192b9cbcceae.json +1 -0
  118. package/example/.expo/web/cache/development/babel-loader/523038c6dc8ac0e76ef7a23d3eed51ec.json +1 -0
  119. package/example/.expo/web/cache/development/babel-loader/532fa6c08d38d3c6de9df3cbc1e6a903.json +1 -0
  120. package/example/.expo/web/cache/development/babel-loader/53bf8f177165c6b0e75a631aa4519d41.json +1 -0
  121. package/example/.expo/web/cache/development/babel-loader/53ea8a26aeb6e2759a7f1f5f4f56b6fb.json +1 -0
  122. package/example/.expo/web/cache/development/babel-loader/542e618262a94895f81236112129bd3e.json +1 -0
  123. package/example/.expo/web/cache/development/babel-loader/546891698aff03b72ed2f6ceb6e7fa89.json +1 -0
  124. package/example/.expo/web/cache/development/babel-loader/5471a749a6e8af27964d87af251c688a.json +1 -0
  125. package/example/.expo/web/cache/development/babel-loader/547a11a6bdd8bda252dfd4614f815fbb.json +1 -0
  126. package/example/.expo/web/cache/development/babel-loader/549d7a1c3d15fdb39d9bffcf267e3f56.json +1 -0
  127. package/example/.expo/web/cache/development/babel-loader/55add2461e97c93eb8aac04bb6999d6f.json +1 -0
  128. package/example/.expo/web/cache/development/babel-loader/566edd7dfdc185ef467beb97fcd9e08c.json +1 -0
  129. package/example/.expo/web/cache/development/babel-loader/567acdadac00f4c65b037849683131b6.json +1 -0
  130. package/example/.expo/web/cache/development/babel-loader/57892340c5b232df0a75f1339c9e68ce.json +1 -0
  131. package/example/.expo/web/cache/development/babel-loader/586d05cc2c149bd7435298a982b57d60.json +1 -0
  132. package/example/.expo/web/cache/development/babel-loader/5954d33f838e7e341ebe043096ac7fe5.json +1 -0
  133. package/example/.expo/web/cache/development/babel-loader/5a07d6d40bd575c25f45538b187acd8a.json +1 -0
  134. package/example/.expo/web/cache/development/babel-loader/5a27a1760bd4f6407b1fea26715a87bc.json +1 -0
  135. package/example/.expo/web/cache/development/babel-loader/5b36330631e46bbf63f870970b2122f7.json +1 -0
  136. package/example/.expo/web/cache/development/babel-loader/5b9bc4b234aa59e34135748fd93507b6.json +1 -0
  137. package/example/.expo/web/cache/development/babel-loader/5c0087a9595888025264a9904d1b8eef.json +1 -0
  138. package/example/.expo/web/cache/development/babel-loader/5d16233202c82021ddec174b9bb58863.json +1 -0
  139. package/example/.expo/web/cache/development/babel-loader/5d569557de3b7d5fa8afc576ac512a04.json +1 -0
  140. package/example/.expo/web/cache/development/babel-loader/5d646ca9aa7f759e829259ce504269e2.json +1 -0
  141. package/example/.expo/web/cache/development/babel-loader/5eef44eed8ccb290fe3456e2fe6bf8ed.json +1 -0
  142. package/example/.expo/web/cache/development/babel-loader/6024b3f768564aaeb1361263b0202a14.json +1 -0
  143. package/example/.expo/web/cache/development/babel-loader/61cfc5a0e7335e0b9a219b1cbe277614.json +1 -0
  144. package/example/.expo/web/cache/development/babel-loader/620f55f17382101002e5e9426ce3e366.json +1 -0
  145. package/example/.expo/web/cache/development/babel-loader/62676c7e580c2e05b3597d53b1cec852.json +1 -0
  146. package/example/.expo/web/cache/development/babel-loader/62f012bfa58863dc3ea69f00f9b90a77.json +1 -0
  147. package/example/.expo/web/cache/development/babel-loader/6320f4e69400d39312489472d7f26d50.json +1 -0
  148. package/example/.expo/web/cache/development/babel-loader/63a9473d63154c31603b1ec1c728c8ab.json +1 -0
  149. package/example/.expo/web/cache/development/babel-loader/63bae7aa325e3c82ba555ac19c0912fa.json +1 -0
  150. package/example/.expo/web/cache/development/babel-loader/63c7331c32b247560f7318cb076a7c40.json +1 -0
  151. package/example/.expo/web/cache/development/babel-loader/645eaa3c12cea785d12fed54225c1bad.json +1 -0
  152. package/example/.expo/web/cache/development/babel-loader/64f7c8f31e295eee69738bfe05c5bff5.json +1 -0
  153. package/example/.expo/web/cache/development/babel-loader/68189da0029a30976a2484255a17ce79.json +1 -0
  154. package/example/.expo/web/cache/development/babel-loader/696a6f2f23efafc28fc3c6d5b5ffaeac.json +1 -0
  155. package/example/.expo/web/cache/development/babel-loader/6991b1cd9f19326a94f92ef5b1b842a8.json +1 -0
  156. package/example/.expo/web/cache/development/babel-loader/6b97a59c5465397dba921f389acaafdd.json +1 -0
  157. package/example/.expo/web/cache/development/babel-loader/6c2f82c0db7403ccd4f19071f91173e4.json +1 -0
  158. package/example/.expo/web/cache/development/babel-loader/6c8a2848fe0f787148c2fb6de4264155.json +1 -0
  159. package/example/.expo/web/cache/development/babel-loader/6d6f8b41da6a4ba792c39f671105e620.json +1 -0
  160. package/example/.expo/web/cache/development/babel-loader/6e1b109f621c0d54775303f058483115.json +1 -0
  161. package/example/.expo/web/cache/development/babel-loader/6f12c17d739331ecffc1403342ba41da.json +1 -0
  162. package/example/.expo/web/cache/development/babel-loader/6fd1661af13dedb5e44522d491a1caf6.json +1 -0
  163. package/example/.expo/web/cache/development/babel-loader/70011f5e5361437bcf72ec2b53fad9f0.json +1 -0
  164. package/example/.expo/web/cache/development/babel-loader/71c89114f87eec2560a35accc6fb21d7.json +1 -0
  165. package/example/.expo/web/cache/development/babel-loader/71f17bedd745f584f7abc4f4d51c7ad4.json +1 -0
  166. package/example/.expo/web/cache/development/babel-loader/72b944856e68e4a8a0ed8e4c2413070a.json +1 -0
  167. package/example/.expo/web/cache/development/babel-loader/740b2f1ab937b3d8fae7d547e9118390.json +1 -0
  168. package/example/.expo/web/cache/development/babel-loader/748a994e95eb1d1311d08dae70ff213a.json +1 -0
  169. package/example/.expo/web/cache/development/babel-loader/74b3b0d02f286a48fe045bb68c2a4650.json +1 -0
  170. package/example/.expo/web/cache/development/babel-loader/74d8aca04393d958004db6c2ef850b15.json +1 -0
  171. package/example/.expo/web/cache/development/babel-loader/765c63eb89770f11615c740460d8a605.json +1 -0
  172. package/example/.expo/web/cache/development/babel-loader/7695443a011b53044155a45950f64551.json +1 -0
  173. package/example/.expo/web/cache/development/babel-loader/77348d41c4a630ac871ec1662d753572.json +1 -0
  174. package/example/.expo/web/cache/development/babel-loader/77a4283c1f4aa52a3ec7489dfcb4fd3c.json +1 -0
  175. package/example/.expo/web/cache/development/babel-loader/77c1d4c9c2134086a760c84c8dbb0767.json +1 -0
  176. package/example/.expo/web/cache/development/babel-loader/7856391ec0a27839d3fa6acbeb9aadda.json +1 -0
  177. package/example/.expo/web/cache/development/babel-loader/78d3d5bbf14c6f41859897e37d770fcf.json +1 -0
  178. package/example/.expo/web/cache/development/babel-loader/79c9840acdf1d5058d1dd9a3ee4c26a1.json +1 -0
  179. package/example/.expo/web/cache/development/babel-loader/79d14c794bf695a8710614f2650caadc.json +1 -0
  180. package/example/.expo/web/cache/development/babel-loader/79d484d4cd279cefd19f3ae34fbabc47.json +1 -0
  181. package/example/.expo/web/cache/development/babel-loader/7ac59aadbbeb87bbaa689455f49462e7.json +1 -0
  182. package/example/.expo/web/cache/development/babel-loader/7addb7eb6bdec7308191a341bbe4f418.json +1 -0
  183. package/example/.expo/web/cache/development/babel-loader/7c6b46cf1a8d27fbf10098fc7b3147d4.json +1 -0
  184. package/example/.expo/web/cache/development/babel-loader/7e073695c8dd0edfff43941d69ed768f.json +1 -0
  185. package/example/.expo/web/cache/development/babel-loader/7ea547e52608eb3d07287f91483f92d0.json +1 -0
  186. package/example/.expo/web/cache/development/babel-loader/80b2a7b63d2968f55ad413f37a77625e.json +1 -0
  187. package/example/.expo/web/cache/development/babel-loader/81da8afb512f1fe3dc5283eed7693dc3.json +1 -0
  188. package/example/.expo/web/cache/development/babel-loader/83ce5beb699584197b95c23e16070359.json +1 -0
  189. package/example/.expo/web/cache/development/babel-loader/84cbca54aad0ba7ad9155efbe50994e6.json +1 -0
  190. package/example/.expo/web/cache/development/babel-loader/86aa7c8020aadae1b6047e779a070006.json +1 -0
  191. package/example/.expo/web/cache/development/babel-loader/873f17ead5c8a3a89f8c307d3fc3d749.json +1 -0
  192. package/example/.expo/web/cache/development/babel-loader/88fd90442a3cd6528e4248e448007e21.json +1 -0
  193. package/example/.expo/web/cache/development/babel-loader/8947ed6ed81ae1ed2f0d1a5f7a21d4bd.json +1 -0
  194. package/example/.expo/web/cache/development/babel-loader/8b0fa6466bfbb43efbc8a796bb0a058f.json +1 -0
  195. package/example/.expo/web/cache/development/babel-loader/8bcdd0d74f6bf06c96dc636553f1ada8.json +1 -0
  196. package/example/.expo/web/cache/development/babel-loader/8bfd7063b443cb17646e674300dd862b.json +1 -0
  197. package/example/.expo/web/cache/development/babel-loader/8d06501d3b127619583bc480630ad389.json +1 -0
  198. package/example/.expo/web/cache/development/babel-loader/8d9e770602734e0d230feafb37171ca8.json +1 -0
  199. package/example/.expo/web/cache/development/babel-loader/8dbfb280c88ee5948b0a3cc84074bd43.json +1 -0
  200. package/example/.expo/web/cache/development/babel-loader/8df99953a7fe26875c55c9bc1e71ca29.json +1 -0
  201. package/example/.expo/web/cache/development/babel-loader/8e7ea386f4f497f8c5e0a4a9b80b093a.json +1 -0
  202. package/example/.expo/web/cache/development/babel-loader/8efad0218d4db05da11e8e21002ac55e.json +1 -0
  203. package/example/.expo/web/cache/development/babel-loader/8f6e1de5d12755c13e6c50a07e2d0778.json +1 -0
  204. package/example/.expo/web/cache/development/babel-loader/91ed31500f942f97aec1be73e89a7af8.json +1 -0
  205. package/example/.expo/web/cache/development/babel-loader/9252abf85af8c03f427a2e2117a1ad62.json +1 -0
  206. package/example/.expo/web/cache/development/babel-loader/92b72e3964caccd73a132a988edcfae7.json +1 -0
  207. package/example/.expo/web/cache/development/babel-loader/93945109a64716fc3d15a12d81598ef8.json +1 -0
  208. package/example/.expo/web/cache/development/babel-loader/93ee4950a9326c046f9fa65c13dac411.json +1 -0
  209. package/example/.expo/web/cache/development/babel-loader/93fe9632bb5db4ded992478e2af27d5f.json +1 -0
  210. package/example/.expo/web/cache/development/babel-loader/942ff966d1b2f375164a20370f75739c.json +1 -0
  211. package/example/.expo/web/cache/development/babel-loader/954ad5b7f72730fad3a93e8333b0da09.json +1 -0
  212. package/example/.expo/web/cache/development/babel-loader/957bea32dcc83e0fc7f2fd8795a8f818.json +1 -0
  213. package/example/.expo/web/cache/development/babel-loader/964cb097c867a1ded7eb7446f5548c22.json +1 -0
  214. package/example/.expo/web/cache/development/babel-loader/98e4f7e158718137c26f2fe60b84369d.json +1 -0
  215. package/example/.expo/web/cache/development/babel-loader/9ae989e87da92329c1f285a30c2be6f5.json +1 -0
  216. package/example/.expo/web/cache/development/babel-loader/9ba4ab6ad62c186c10cc4440ed5f54a7.json +1 -0
  217. package/example/.expo/web/cache/development/babel-loader/9ce0ea8540198d071a57d36dae227cbc.json +1 -0
  218. package/example/.expo/web/cache/development/babel-loader/9d2bab4aa3187dee265f1d9c8ce6f0f6.json +1 -0
  219. package/example/.expo/web/cache/development/babel-loader/9e653ee142610f0516609ca3fb386739.json +1 -0
  220. package/example/.expo/web/cache/development/babel-loader/9e75ea79fea0209053c68ef4989b4a3a.json +1 -0
  221. package/example/.expo/web/cache/development/babel-loader/9f2f6a11de269026061831c947435758.json +1 -0
  222. package/example/.expo/web/cache/development/babel-loader/9f3fd9ca3231e3002df99db9d9616aa0.json +1 -0
  223. package/example/.expo/web/cache/development/babel-loader/a076afeae19d4e15321e5d81cf41364a.json +1 -0
  224. package/example/.expo/web/cache/development/babel-loader/a261d7c057c570a5d74c5c84cc08e7f9.json +1 -0
  225. package/example/.expo/web/cache/development/babel-loader/a3611e076e067e7397bd47a9ebe95cf1.json +1 -0
  226. package/example/.expo/web/cache/development/babel-loader/a375a3eadad6ab2ce64ed38759b31415.json +1 -0
  227. package/example/.expo/web/cache/development/babel-loader/a3b99e0ec7f17e098c6b02a04282d805.json +1 -0
  228. package/example/.expo/web/cache/development/babel-loader/a3bde08c6c572203f93bcfa1170d4790.json +1 -0
  229. package/example/.expo/web/cache/development/babel-loader/a3bf51a1af912c42396b784cf9851941.json +1 -0
  230. package/example/.expo/web/cache/development/babel-loader/a48b6217b860aab3e81b366a7306ee03.json +1 -0
  231. package/example/.expo/web/cache/development/babel-loader/a4d591b829ddddd57e666af1737b9d34.json +1 -0
  232. package/example/.expo/web/cache/development/babel-loader/a5439975918b87c11694b33af83dab36.json +1 -0
  233. package/example/.expo/web/cache/development/babel-loader/a5813eb247e0c87dcc99934f4b49ae48.json +1 -0
  234. package/example/.expo/web/cache/development/babel-loader/a584b9a0fe744b07e9054b7aa6e79f77.json +1 -0
  235. package/example/.expo/web/cache/development/babel-loader/a689718c369fcd0f651d9089f15f507e.json +1 -0
  236. package/example/.expo/web/cache/development/babel-loader/a78dc48e202b1f3be61ef3bc64699d14.json +1 -0
  237. package/example/.expo/web/cache/development/babel-loader/a79a096843947a83012402bb34b93567.json +1 -0
  238. package/example/.expo/web/cache/development/babel-loader/aa0e6e0aa152ebcb49584ecc82533c72.json +1 -0
  239. package/example/.expo/web/cache/development/babel-loader/abfc16406c69f7727d3e40be1f492f11.json +1 -0
  240. package/example/.expo/web/cache/development/babel-loader/ac5ac27f40cd535964ff8a0f4a7ee169.json +1 -0
  241. package/example/.expo/web/cache/development/babel-loader/ac5c7f32acb8bbc71777904317929782.json +1 -0
  242. package/example/.expo/web/cache/development/babel-loader/acc343298b9d93f37fea5d0160a6e4ba.json +1 -0
  243. package/example/.expo/web/cache/development/babel-loader/b0a4e8cf7a76d3009a62200ed32812d9.json +1 -0
  244. package/example/.expo/web/cache/development/babel-loader/b1661b3c840f0f1de996ba1d52a39764.json +1 -0
  245. package/example/.expo/web/cache/development/babel-loader/b18b69c1c5e4f8cf7c4ded4ea78be1b5.json +1 -0
  246. package/example/.expo/web/cache/development/babel-loader/b265f89f5ab4c2ac5fe0a4efeb01770f.json +1 -0
  247. package/example/.expo/web/cache/development/babel-loader/b32b03cd1b812594924db2f0dadb2f56.json +1 -0
  248. package/example/.expo/web/cache/development/babel-loader/b36ad3720ed8bc69cd40bacd30394013.json +1 -0
  249. package/example/.expo/web/cache/development/babel-loader/b5d4cbb6bcdc394e0d5535f5bbf695e3.json +1 -0
  250. package/example/.expo/web/cache/development/babel-loader/b64b0b9559bbba155f24caa6cf08f433.json +1 -0
  251. package/example/.expo/web/cache/development/babel-loader/bbfb771df3000d27f236c2f6538e6d31.json +1 -0
  252. package/example/.expo/web/cache/development/babel-loader/bcd08666cb6eeb4d7141e38e753e5e5c.json +1 -0
  253. package/example/.expo/web/cache/development/babel-loader/beef69cc65e73363978524809c84094f.json +1 -0
  254. package/example/.expo/web/cache/development/babel-loader/bf018174df7cdbed5ae77cf03c266fee.json +1 -0
  255. package/example/.expo/web/cache/development/babel-loader/bf53ba81ac3956a07f41a09fa6c4fa7e.json +1 -0
  256. package/example/.expo/web/cache/development/babel-loader/c15cb7604e78e9a4f0cc5e4b79a227c2.json +1 -0
  257. package/example/.expo/web/cache/development/babel-loader/c20807f969171763f83e5286ffb7183c.json +1 -0
  258. package/example/.expo/web/cache/development/babel-loader/c309e4999a3ca5404709ed911ec9fdda.json +1 -0
  259. package/example/.expo/web/cache/development/babel-loader/c37b2427c54ed0b731d9413ea475f338.json +1 -0
  260. package/example/.expo/web/cache/development/babel-loader/c43017273abd7760afa188cb903bfa5d.json +1 -0
  261. package/example/.expo/web/cache/development/babel-loader/c5134c3fb7b800b1c9b34655b8e97e4f.json +1 -0
  262. package/example/.expo/web/cache/development/babel-loader/c62552ef04c76cdb7a94ba2f041360ac.json +1 -0
  263. package/example/.expo/web/cache/development/babel-loader/c69144c50f8f0d981b66c62204aaae74.json +1 -0
  264. package/example/.expo/web/cache/development/babel-loader/c733b561ef63b80564242d9b6f4954ec.json +1 -0
  265. package/example/.expo/web/cache/development/babel-loader/c78a01224ddb57513f9dc1603e721184.json +1 -0
  266. package/example/.expo/web/cache/development/babel-loader/c800cb1a4eccf4cc18e1408cf178b86d.json +1 -0
  267. package/example/.expo/web/cache/development/babel-loader/c8c61768113386918420fa8baaa34704.json +1 -0
  268. package/example/.expo/web/cache/development/babel-loader/ca0c207f9e3ba434db8f3775513736e6.json +1 -0
  269. package/example/.expo/web/cache/development/babel-loader/ca4498d52ea6fed7e01c9ed5c26fcf95.json +1 -0
  270. package/example/.expo/web/cache/development/babel-loader/cba71c3eea31dc8ca85b9ced8f7b1720.json +1 -0
  271. package/example/.expo/web/cache/development/babel-loader/cc2ae312a6441a2fedd76ee22ac87d51.json +1 -0
  272. package/example/.expo/web/cache/development/babel-loader/cc37b4c4f23da7c9d04d8693a5bbaaab.json +1 -0
  273. package/example/.expo/web/cache/development/babel-loader/cced66a0b48653e5bfa98910a88f9fba.json +1 -0
  274. package/example/.expo/web/cache/development/babel-loader/cd0e23910d814598adda82d05396be53.json +1 -0
  275. package/example/.expo/web/cache/development/babel-loader/cd55e478acd924f5c082f02840ed8bbb.json +1 -0
  276. package/example/.expo/web/cache/development/babel-loader/cd8b6c6cd6a24fa61739c4d22dda95f8.json +1 -0
  277. package/example/.expo/web/cache/development/babel-loader/cdf6fa5dcab6f3a13fa07e89fe985423.json +1 -0
  278. package/example/.expo/web/cache/development/babel-loader/ceccb76ea280ae97ededa88718ed0c3b.json +1 -0
  279. package/example/.expo/web/cache/development/babel-loader/cfc467109de81a77ce3d683966f4b354.json +1 -0
  280. package/example/.expo/web/cache/development/babel-loader/d0c3cb818782b9a81bfc30385f72b89b.json +1 -0
  281. package/example/.expo/web/cache/development/babel-loader/d0fcdc8e889d972bbb4337e548164f40.json +1 -0
  282. package/example/.expo/web/cache/development/babel-loader/d168cd3939b990979e911bb032f8577b.json +1 -0
  283. package/example/.expo/web/cache/development/babel-loader/d2fc7ecda4f6641f8d52e406be776196.json +1 -0
  284. package/example/.expo/web/cache/development/babel-loader/d358f00c23a45360cbb79dabdb721cd1.json +1 -0
  285. package/example/.expo/web/cache/development/babel-loader/d45d41c244dad2c3ea03ba49a46a0423.json +1 -0
  286. package/example/.expo/web/cache/development/babel-loader/d4f6275737ee0b15864d1784084ec4e9.json +1 -0
  287. package/example/.expo/web/cache/development/babel-loader/d5420905583aa27006ceaa13da6b662a.json +1 -0
  288. package/example/.expo/web/cache/development/babel-loader/d5552d7ee552fec6e21e0b398feb3ddb.json +1 -0
  289. package/example/.expo/web/cache/development/babel-loader/d5cec4c149045421487b8541b94a68b3.json +1 -0
  290. package/example/.expo/web/cache/development/babel-loader/d72ee3cf688a67b27f18b05bef74d879.json +1 -0
  291. package/example/.expo/web/cache/development/babel-loader/d797775538f909e9de0d644bcf0389e4.json +1 -0
  292. package/example/.expo/web/cache/development/babel-loader/d7cfda25d1654f23b9938352b3e5f0fd.json +1 -0
  293. package/example/.expo/web/cache/development/babel-loader/d7f22047db03832a0314db9bb7c9e4e8.json +1 -0
  294. package/example/.expo/web/cache/development/babel-loader/d92da9ccd71edac1d6d7f1b72554205f.json +1 -0
  295. package/example/.expo/web/cache/development/babel-loader/dae925659703faa3496df0985e30eb46.json +1 -0
  296. package/example/.expo/web/cache/development/babel-loader/db2362a80925087fd6dfea2ecf5d1527.json +1 -0
  297. package/example/.expo/web/cache/development/babel-loader/db44721b3956bd3b7617e773f566987b.json +1 -0
  298. package/example/.expo/web/cache/development/babel-loader/dd2e7e9f0700b6295764b0357f97fbd1.json +1 -0
  299. package/example/.expo/web/cache/development/babel-loader/dee3d7eeaa9d088adee455787ecfdbba.json +1 -0
  300. package/example/.expo/web/cache/development/babel-loader/df177e28e870b3f9ed04286275590e05.json +1 -0
  301. package/example/.expo/web/cache/development/babel-loader/df8cca84735630b31c89ab8c4525d586.json +1 -0
  302. package/example/.expo/web/cache/development/babel-loader/dffc3d3b5387634869406f7b262b0334.json +1 -0
  303. package/example/.expo/web/cache/development/babel-loader/e00a687de4af483a065036c6b80fa9f9.json +1 -0
  304. package/example/.expo/web/cache/development/babel-loader/e0bc2b67f28f7d20625141635fb72278.json +1 -0
  305. package/example/.expo/web/cache/development/babel-loader/e12513c015e82fb05ce94ecc8be7102a.json +1 -0
  306. package/example/.expo/web/cache/development/babel-loader/e13d64c5b0cbfdf147e8b47baa112969.json +1 -0
  307. package/example/.expo/web/cache/development/babel-loader/e1630fcfbaff568bf2f669a3e388c026.json +1 -0
  308. package/example/.expo/web/cache/development/babel-loader/e1962858e3fc18c71d271c6eaa3a943d.json +1 -0
  309. package/example/.expo/web/cache/development/babel-loader/e1a0963978b2cb66dec1b5d8a5a2c753.json +1 -0
  310. package/example/.expo/web/cache/development/babel-loader/e21dcee29960dda3812a8e73f9b0fcbc.json +1 -0
  311. package/example/.expo/web/cache/development/babel-loader/e2faafd77df6c4f281c0c99a9e458e54.json +1 -0
  312. package/example/.expo/web/cache/development/babel-loader/e30c76c9a2d4f8d448441c1cb652eb01.json +1 -0
  313. package/example/.expo/web/cache/development/babel-loader/e3e477529ed5548f8e901ee83d7395ef.json +1 -0
  314. package/example/.expo/web/cache/development/babel-loader/e40e88a5ee7080ae8c27b8b8b14fbe3b.json +1 -0
  315. package/example/.expo/web/cache/development/babel-loader/e4815f1b8edf5002fdece1b55fbc36bb.json +1 -0
  316. package/example/.expo/web/cache/development/babel-loader/e656bc77be79a05f8054e227f7f79d12.json +1 -0
  317. package/example/.expo/web/cache/development/babel-loader/e6f55b8bb2f55bff9c7239707407e38b.json +1 -0
  318. package/example/.expo/web/cache/development/babel-loader/e71b020cacbbe302bb14d7910742ec2d.json +1 -0
  319. package/example/.expo/web/cache/development/babel-loader/e7472dd2c104082f95c6920e14b1ebf1.json +1 -0
  320. package/example/.expo/web/cache/development/babel-loader/e7b42d4997a3a0970f307de97b93e04a.json +1 -0
  321. package/example/.expo/web/cache/development/babel-loader/e958dca390e4e96d3ffd3fd3e668de5a.json +1 -0
  322. package/example/.expo/web/cache/development/babel-loader/e9ee1fc9a9a662fdf210526a05895585.json +1 -0
  323. package/example/.expo/web/cache/development/babel-loader/ea69e12059df73da64e057bade5f4ba1.json +1 -0
  324. package/example/.expo/web/cache/development/babel-loader/eae09ceb3f4483977f405539fff299a4.json +1 -0
  325. package/example/.expo/web/cache/development/babel-loader/eaffd3d95bf68dd8a7419e53498b4640.json +1 -0
  326. package/example/.expo/web/cache/development/babel-loader/ec22a1721004d1dffd715720d5c2bda5.json +1 -0
  327. package/example/.expo/web/cache/development/babel-loader/ee15d7496b6f14edc02d2cd58a7353f9.json +1 -0
  328. package/example/.expo/web/cache/development/babel-loader/ee8e3abcff9f49ec89705c0e083bc14e.json +1 -0
  329. package/example/.expo/web/cache/development/babel-loader/ef79cc0b13fea249ac3b074f0a0de8eb.json +1 -0
  330. package/example/.expo/web/cache/development/babel-loader/efdf5fb16bfb6755d38d6afaec705dcc.json +1 -0
  331. package/example/.expo/web/cache/development/babel-loader/f114b6650124f4aa114c8641a8fb2e95.json +1 -0
  332. package/example/.expo/web/cache/development/babel-loader/f26a2ea3fe78d43644601e71fefe7a1e.json +1 -0
  333. package/example/.expo/web/cache/development/babel-loader/f2df4e0da01cdba6223f5bbe6b36ff68.json +1 -0
  334. package/example/.expo/web/cache/development/babel-loader/f3060f14259d3179812abd59791780a5.json +1 -0
  335. package/example/.expo/web/cache/development/babel-loader/f3beb518b54ed38f03ac6db8f54e60ff.json +1 -0
  336. package/example/.expo/web/cache/development/babel-loader/f3c616fbd126299d1e806d6ecc1ec318.json +1 -0
  337. package/example/.expo/web/cache/development/babel-loader/f42e9bcb2c70b941d26c869beae57ebd.json +1 -0
  338. package/example/.expo/web/cache/development/babel-loader/f4a9921d6e837efff4d9a9df358e594f.json +1 -0
  339. package/example/.expo/web/cache/development/babel-loader/f4c95c91f375005a143433586f729253.json +1 -0
  340. package/example/.expo/web/cache/development/babel-loader/f557735276807fa1f2857d869fcf3f24.json +1 -0
  341. package/example/.expo/web/cache/development/babel-loader/f7747a8774208f97feee323659c8fd9c.json +1 -0
  342. package/example/.expo/web/cache/development/babel-loader/f78eccb875790b4d905e542a961bf15d.json +1 -0
  343. package/example/.expo/web/cache/development/babel-loader/f79a20eb5fe07a41699a4082250176ee.json +1 -0
  344. package/example/.expo/web/cache/development/babel-loader/f8161007e70676aff950dd230d92b913.json +1 -0
  345. package/example/.expo/web/cache/development/babel-loader/f89bed9b99073eb34bdcfe509a9eef7b.json +1 -0
  346. package/example/.expo/web/cache/development/babel-loader/f8da7cfcc868c4561939eb69b187852b.json +1 -0
  347. package/example/.expo/web/cache/development/babel-loader/f9a453849a2adca3c8d16c288ee63674.json +1 -0
  348. package/example/.expo/web/cache/development/babel-loader/f9c8751528f50853c93bccaef3665cb2.json +1 -0
  349. package/example/.expo/web/cache/development/babel-loader/fa1cac776862e25b801ccd74fe04dedb.json +1 -0
  350. package/example/.expo/web/cache/development/babel-loader/fa7135f62c5758217dd521fe11e4f3be.json +1 -0
  351. package/example/.expo/web/cache/development/babel-loader/fb1afe2167ecb0e405e51371bc59a75e.json +1 -0
  352. package/example/.expo/web/cache/development/babel-loader/fc02f1af2a9db4facfa4f4fc290432fe.json +1 -0
  353. package/example/.expo/web/cache/development/babel-loader/fc62eb1057700a3ed46569b3ca6ae7b8.json +1 -0
  354. package/example/.expo/web/cache/development/babel-loader/fc941b53721fd7910cde57ec192fe407.json +1 -0
  355. package/example/.expo/web/cache/development/babel-loader/fd143c0566e976f3b69413de3ca79ebf.json +1 -0
  356. package/example/.expo/web/cache/development/babel-loader/fd655c3e164d6c50e7affcee01046566.json +1 -0
  357. package/example/.expo/web/cache/development/babel-loader/fdada169c1988ef70eea3e2b77f7b727.json +1 -0
  358. package/example/.expo/web/cache/development/babel-loader/fe0a5f0e6f28f358efb1ed12c10b3240.json +1 -0
  359. package/example/.expo/web/cache/development/babel-loader/ff9a6e20e331b715609602c9bca399e9.json +1 -0
  360. package/example/package.json +11 -13
  361. package/example/src/App.tsx +39 -34
  362. package/example/src/CandlestickChart.tsx +4 -1
  363. package/example/src/LineChart.tsx +20 -4
  364. package/example/src/data/line-data.json +20 -20
  365. package/example/yarn.lock +1819 -8871
  366. package/lib/commonjs/charts/candle/HoverTrap/index.web.js +120 -0
  367. package/lib/commonjs/charts/candle/HoverTrap/index.web.js.map +1 -0
  368. package/lib/commonjs/charts/candle/utils/getDomain.js +19 -0
  369. package/lib/commonjs/charts/candle/utils/getDomain.js.map +1 -0
  370. package/lib/commonjs/charts/candle/utils/getHeight.js +19 -0
  371. package/lib/commonjs/charts/candle/utils/getHeight.js.map +1 -0
  372. package/lib/commonjs/charts/candle/utils/getPrice.js +20 -0
  373. package/lib/commonjs/charts/candle/utils/getPrice.js.map +1 -0
  374. package/lib/commonjs/charts/candle/utils/getY.js +19 -0
  375. package/lib/commonjs/charts/candle/utils/getY.js.map +1 -0
  376. package/lib/commonjs/charts/candle/utils/index.js +58 -0
  377. package/lib/commonjs/charts/candle/utils/index.js.map +1 -0
  378. package/lib/commonjs/charts/line/Chart.js +27 -9
  379. package/lib/commonjs/charts/line/Chart.js.map +1 -1
  380. package/lib/commonjs/charts/line/ChartPath.js +83 -21
  381. package/lib/commonjs/charts/line/ChartPath.js.map +1 -1
  382. package/lib/commonjs/charts/line/Context.js +8 -4
  383. package/lib/commonjs/charts/line/Context.js.map +1 -1
  384. package/lib/commonjs/charts/line/Cursor.js +2 -1
  385. package/lib/commonjs/charts/line/Cursor.js.map +1 -1
  386. package/lib/commonjs/charts/line/CursorCrosshair.js +12 -3
  387. package/lib/commonjs/charts/line/CursorCrosshair.js.map +1 -1
  388. package/lib/commonjs/charts/line/CursorLine.js +6 -6
  389. package/lib/commonjs/charts/line/CursorLine.js.map +1 -1
  390. package/lib/commonjs/charts/line/DatetimeText.js +2 -0
  391. package/lib/commonjs/charts/line/DatetimeText.js.map +1 -1
  392. package/lib/commonjs/charts/line/Dot.js +126 -0
  393. package/lib/commonjs/charts/line/Dot.js.map +1 -0
  394. package/lib/commonjs/charts/line/Gradient.js +8 -25
  395. package/lib/commonjs/charts/line/Gradient.js.map +1 -1
  396. package/lib/commonjs/charts/line/Group.js +5 -24
  397. package/lib/commonjs/charts/line/Group.js.map +1 -1
  398. package/lib/commonjs/charts/line/Highlight.js +92 -0
  399. package/lib/commonjs/charts/line/Highlight.js.map +1 -0
  400. package/lib/commonjs/charts/line/HorizontalLine.js +6 -6
  401. package/lib/commonjs/charts/line/HorizontalLine.js.map +1 -1
  402. package/lib/commonjs/charts/line/HoverTrap/index.js +15 -0
  403. package/lib/commonjs/charts/line/HoverTrap/index.js.map +1 -0
  404. package/lib/commonjs/charts/line/HoverTrap/index.web.js +120 -0
  405. package/lib/commonjs/charts/line/HoverTrap/index.web.js.map +1 -0
  406. package/lib/commonjs/charts/line/Path.js +19 -30
  407. package/lib/commonjs/charts/line/Path.js.map +1 -1
  408. package/lib/commonjs/charts/line/PriceText.js +2 -0
  409. package/lib/commonjs/charts/line/PriceText.js.map +1 -1
  410. package/lib/commonjs/charts/line/Tooltip.js +2 -0
  411. package/lib/commonjs/charts/line/Tooltip.js.map +1 -1
  412. package/lib/commonjs/charts/line/index.js +48 -15
  413. package/lib/commonjs/charts/line/index.js.map +1 -1
  414. package/lib/commonjs/charts/line/useAnimatedPath.js +44 -0
  415. package/lib/commonjs/charts/line/useAnimatedPath.js.map +1 -0
  416. package/lib/commonjs/charts/line/{utils.js → utils/getArea.js} +2 -49
  417. package/lib/commonjs/charts/line/utils/getArea.js.map +1 -0
  418. package/lib/commonjs/charts/line/utils/getDomain.js +16 -0
  419. package/lib/commonjs/charts/line/utils/getDomain.js.map +1 -0
  420. package/lib/commonjs/charts/line/utils/getPath.js +34 -0
  421. package/lib/commonjs/charts/line/utils/getPath.js.map +1 -0
  422. package/lib/commonjs/charts/line/utils/index.js +71 -0
  423. package/lib/commonjs/charts/line/utils/index.js.map +1 -0
  424. package/lib/commonjs/charts/line/{interpolatePath.js → utils/interpolatePath.js} +1 -1
  425. package/lib/commonjs/charts/line/{interpolatePath.js.map → utils/interpolatePath.js.map} +1 -1
  426. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js +27 -0
  427. package/lib/commonjs/charts/line/utils/lineChartDataPropToArray.js.map +1 -0
  428. package/lib/commonjs/components/AnimatedText.js +25 -13
  429. package/lib/commonjs/components/AnimatedText.js.map +1 -1
  430. package/lib/commonjs/index.js +8 -8
  431. package/lib/commonjs/index.js.map +1 -1
  432. package/lib/commonjs/utils/formatDatetime.js +21 -0
  433. package/lib/commonjs/utils/formatDatetime.js.map +1 -0
  434. package/lib/commonjs/utils/formatPrice.js +46 -0
  435. package/lib/commonjs/utils/formatPrice.js.map +1 -0
  436. package/lib/commonjs/utils/index.js +45 -0
  437. package/lib/commonjs/utils/index.js.map +1 -0
  438. package/lib/commonjs/{utils.js → utils/usePrevious.js} +1 -57
  439. package/lib/commonjs/utils/usePrevious.js.map +1 -0
  440. package/lib/module/charts/candle/HoverTrap/index.web.js +101 -0
  441. package/lib/module/charts/candle/HoverTrap/index.web.js.map +1 -0
  442. package/lib/module/charts/candle/utils/getDomain.js +12 -0
  443. package/lib/module/charts/candle/utils/getDomain.js.map +1 -0
  444. package/lib/module/charts/candle/utils/getHeight.js +11 -0
  445. package/lib/module/charts/candle/utils/getHeight.js.map +1 -0
  446. package/lib/module/charts/candle/utils/getPrice.js +12 -0
  447. package/lib/module/charts/candle/utils/getPrice.js.map +1 -0
  448. package/lib/module/charts/candle/utils/getY.js +11 -0
  449. package/lib/module/charts/candle/utils/getY.js.map +1 -0
  450. package/lib/module/charts/candle/utils/index.js +5 -0
  451. package/lib/module/charts/candle/utils/index.js.map +1 -0
  452. package/lib/module/charts/line/Chart.js +27 -10
  453. package/lib/module/charts/line/Chart.js.map +1 -1
  454. package/lib/module/charts/line/ChartPath.js +79 -21
  455. package/lib/module/charts/line/ChartPath.js.map +1 -1
  456. package/lib/module/charts/line/Context.js +8 -4
  457. package/lib/module/charts/line/Context.js.map +1 -1
  458. package/lib/module/charts/line/Cursor.js +2 -1
  459. package/lib/module/charts/line/Cursor.js.map +1 -1
  460. package/lib/module/charts/line/CursorCrosshair.js +12 -4
  461. package/lib/module/charts/line/CursorCrosshair.js.map +1 -1
  462. package/lib/module/charts/line/CursorLine.js +4 -3
  463. package/lib/module/charts/line/CursorLine.js.map +1 -1
  464. package/lib/module/charts/line/DatetimeText.js +1 -0
  465. package/lib/module/charts/line/DatetimeText.js.map +1 -1
  466. package/lib/module/charts/line/Dot.js +105 -0
  467. package/lib/module/charts/line/Dot.js.map +1 -0
  468. package/lib/module/charts/line/Gradient.js +8 -24
  469. package/lib/module/charts/line/Gradient.js.map +1 -1
  470. package/lib/module/charts/line/Group.js +2 -23
  471. package/lib/module/charts/line/Group.js.map +1 -1
  472. package/lib/module/charts/line/Highlight.js +69 -0
  473. package/lib/module/charts/line/Highlight.js.map +1 -0
  474. package/lib/module/charts/line/HorizontalLine.js +4 -3
  475. package/lib/module/charts/line/HorizontalLine.js.map +1 -1
  476. package/lib/module/charts/line/HoverTrap/index.js +3 -0
  477. package/lib/module/charts/line/HoverTrap/index.js.map +1 -0
  478. package/lib/module/charts/line/HoverTrap/index.web.js +101 -0
  479. package/lib/module/charts/line/HoverTrap/index.web.js.map +1 -0
  480. package/lib/module/charts/line/Path.js +17 -29
  481. package/lib/module/charts/line/Path.js.map +1 -1
  482. package/lib/module/charts/line/PriceText.js +1 -0
  483. package/lib/module/charts/line/PriceText.js.map +1 -1
  484. package/lib/module/charts/line/Tooltip.js +1 -0
  485. package/lib/module/charts/line/Tooltip.js.map +1 -1
  486. package/lib/module/charts/line/index.js +13 -5
  487. package/lib/module/charts/line/index.js.map +1 -1
  488. package/lib/module/charts/line/useAnimatedPath.js +34 -0
  489. package/lib/module/charts/line/useAnimatedPath.js.map +1 -0
  490. package/lib/module/charts/line/utils/getArea.js +19 -0
  491. package/lib/module/charts/line/utils/getArea.js.map +1 -0
  492. package/lib/module/charts/line/utils/getDomain.js +9 -0
  493. package/lib/module/charts/line/utils/getDomain.js.map +1 -0
  494. package/lib/module/charts/line/utils/getPath.js +21 -0
  495. package/lib/module/charts/line/utils/getPath.js.map +1 -0
  496. package/lib/module/charts/line/utils/index.js +6 -0
  497. package/lib/module/charts/line/utils/index.js.map +1 -0
  498. package/lib/module/charts/line/{interpolatePath.js → utils/interpolatePath.js} +1 -1
  499. package/lib/module/charts/line/{interpolatePath.js.map → utils/interpolatePath.js.map} +1 -1
  500. package/lib/module/charts/line/utils/lineChartDataPropToArray.js +20 -0
  501. package/lib/module/charts/line/utils/lineChartDataPropToArray.js.map +1 -0
  502. package/lib/module/components/AnimatedText.js +24 -13
  503. package/lib/module/components/AnimatedText.js.map +1 -1
  504. package/lib/module/index.js +1 -1
  505. package/lib/module/index.js.map +1 -1
  506. package/lib/module/utils/formatDatetime.js +14 -0
  507. package/lib/module/utils/formatDatetime.js.map +1 -0
  508. package/lib/module/{utils.js → utils/formatPrice.js} +1 -29
  509. package/lib/module/utils/formatPrice.js.map +1 -0
  510. package/lib/module/utils/index.js +4 -0
  511. package/lib/module/utils/index.js.map +1 -0
  512. package/lib/module/utils/usePrevious.js +14 -0
  513. package/lib/module/utils/usePrevious.js.map +1 -0
  514. package/lib/typescript/src/charts/candle/HoverTrap/index.web.d.ts +2 -0
  515. package/lib/typescript/src/charts/candle/utils/getDomain.d.ts +2 -0
  516. package/lib/typescript/src/charts/candle/utils/getHeight.d.ts +6 -0
  517. package/lib/typescript/src/charts/candle/utils/getPrice.d.ts +6 -0
  518. package/lib/typescript/src/charts/candle/utils/getY.d.ts +6 -0
  519. package/lib/typescript/src/charts/candle/utils/index.d.ts +4 -0
  520. package/lib/typescript/src/charts/line/Chart.d.ts +6 -1
  521. package/lib/typescript/src/charts/line/ChartPath.d.ts +12 -3
  522. package/lib/typescript/src/charts/line/Context.d.ts +5 -1
  523. package/lib/typescript/src/charts/line/Cursor.d.ts +3 -0
  524. package/lib/typescript/src/charts/line/CursorCrosshair.d.ts +4 -1
  525. package/lib/typescript/src/charts/line/CursorLine.d.ts +4 -1
  526. package/lib/typescript/src/charts/line/DatetimeText.d.ts +3 -0
  527. package/lib/typescript/src/charts/line/Dot.d.ts +31 -0
  528. package/lib/typescript/src/charts/line/Gradient.d.ts +3 -0
  529. package/lib/typescript/src/charts/line/Group.d.ts +1 -2
  530. package/lib/typescript/src/charts/line/Highlight.d.ts +15 -0
  531. package/lib/typescript/src/charts/line/HorizontalLine.d.ts +4 -1
  532. package/lib/typescript/src/charts/line/HoverTrap/index.d.ts +2 -0
  533. package/lib/typescript/src/charts/line/HoverTrap/index.web.d.ts +2 -0
  534. package/lib/typescript/src/charts/line/Path.d.ts +5 -1
  535. package/lib/typescript/src/charts/line/PriceText.d.ts +3 -0
  536. package/lib/typescript/src/charts/line/Tooltip.d.ts +3 -0
  537. package/lib/typescript/src/charts/line/index.d.ts +16 -22
  538. package/lib/typescript/src/charts/line/types.d.ts +1 -0
  539. package/lib/typescript/src/charts/line/useAnimatedPath.d.ts +8 -0
  540. package/lib/typescript/src/charts/line/useLineChart.d.ts +1 -0
  541. package/lib/typescript/src/charts/line/utils/getArea.d.ts +9 -0
  542. package/lib/typescript/src/charts/line/utils/getDomain.d.ts +2 -0
  543. package/lib/typescript/src/charts/line/utils/getPath.d.ts +11 -0
  544. package/lib/typescript/src/charts/line/utils/index.d.ts +5 -0
  545. package/lib/typescript/src/charts/line/{interpolatePath.d.ts → utils/interpolatePath.d.ts} +1 -1
  546. package/lib/typescript/src/charts/line/utils/lineChartDataPropToArray.d.ts +2 -0
  547. package/lib/typescript/src/index.d.ts +1 -1
  548. package/lib/typescript/src/utils/formatDatetime.d.ts +8 -0
  549. package/lib/typescript/src/utils/formatPrice.d.ts +8 -0
  550. package/lib/typescript/src/utils/index.d.ts +3 -0
  551. package/lib/typescript/src/utils/usePrevious.d.ts +1 -0
  552. package/package.json +8 -6
  553. package/src/charts/candle/HoverTrap/index.web.tsx +110 -0
  554. package/src/charts/candle/utils/getDomain.ts +9 -0
  555. package/src/charts/candle/utils/getHeight.ts +21 -0
  556. package/src/charts/candle/utils/getPrice.ts +17 -0
  557. package/src/charts/candle/utils/getY.ts +16 -0
  558. package/src/charts/candle/utils/index.ts +4 -0
  559. package/src/charts/line/Chart.tsx +24 -8
  560. package/src/charts/line/ChartPath.tsx +119 -36
  561. package/src/charts/line/Context.tsx +8 -0
  562. package/src/charts/line/Cursor.tsx +5 -1
  563. package/src/charts/line/CursorCrosshair.tsx +22 -5
  564. package/src/charts/line/CursorLine.tsx +5 -3
  565. package/src/charts/line/DatetimeText.tsx +2 -0
  566. package/src/charts/line/Dot.tsx +175 -0
  567. package/src/charts/line/Gradient.tsx +7 -34
  568. package/src/charts/line/Group.tsx +4 -45
  569. package/src/charts/line/Highlight.tsx +78 -0
  570. package/src/charts/line/HorizontalLine.tsx +5 -3
  571. package/src/charts/line/HoverTrap/index.tsx +3 -0
  572. package/src/charts/line/HoverTrap/index.web.tsx +110 -0
  573. package/src/charts/line/Path.tsx +14 -38
  574. package/src/charts/line/PriceText.tsx +2 -0
  575. package/src/charts/line/Tooltip.tsx +2 -0
  576. package/src/charts/line/index.ts +13 -5
  577. package/src/charts/line/types.ts +1 -0
  578. package/src/charts/line/useAnimatedPath.ts +47 -0
  579. package/src/charts/line/utils/getArea.ts +38 -0
  580. package/src/charts/line/utils/getDomain.ts +7 -0
  581. package/src/charts/line/utils/getPath.ts +48 -0
  582. package/src/charts/line/utils/index.ts +5 -0
  583. package/src/charts/line/{interpolatePath.ts → utils/interpolatePath.ts} +1 -1
  584. package/src/charts/line/utils/lineChartDataPropToArray.ts +25 -0
  585. package/src/components/AnimatedText.tsx +27 -16
  586. package/src/index.ts +1 -1
  587. package/src/utils/formatDatetime.ts +16 -0
  588. package/src/{utils.ts → utils/formatPrice.ts} +0 -31
  589. package/src/utils/index.ts +3 -0
  590. package/src/utils/usePrevious.ts +13 -0
  591. package/tsconfig.json +1 -1
  592. package/yarn.lock +1847 -796
  593. package/example/patches/react-native-reanimated+2.2.2.patch +0 -28
  594. package/lib/commonjs/charts/line/utils.js.map +0 -1
  595. package/lib/commonjs/utils.js.map +0 -1
  596. package/lib/module/charts/line/utils.js +0 -60
  597. package/lib/module/charts/line/utils.js.map +0 -1
  598. package/lib/module/utils.js.map +0 -1
  599. package/lib/typescript/src/charts/line/utils.d.ts +0 -20
  600. package/lib/typescript/src/utils.d.ts +0 -17
  601. package/src/charts/line/utils.ts +0 -100
@@ -1 +1 @@
1
- {"version":3,"sources":["index.ts"],"names":["LineChart","Object","assign","_LineChart","Gradient","LineChartGradient","Chart","Path","LineChartPathWrapper","Cursor","LineChartCursor","CursorCrosshair","LineChartCursorCrosshair","CursorLine","LineChartCursorLine","HorizontalLine","LineChartHorizontalLine","Tooltip","LineChartTooltip","Provider","LineChartProvider","PriceText","LineChartPriceText","DatetimeText","LineChartDatetimeText","useDatetime","useLineChartDatetime","usePrice","useLineChartPrice","useChart","useLineChart","Group","LineChartGroup"],"mappings":";;;;;;;;;;AAAA;;AAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAfA;;AAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAfA;;AAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAfA;;AAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAfA;;AAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAfA;;AAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAfA;;AAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAfA;;AACA;;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAdA;;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAhBA;;AAcA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAbA;;AAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAfA;;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAhBA;;AAeA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAdA;;AAWA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAKA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAMA,SAAS,GAAGC,MAAM,CAACC,MAAP,CAAcC,gBAAd,EAA0B;AACjDC,EAAAA,QAAQ,EAAEC,2BADuC;AAEjDC,EAAAA,KAAK,EAAEH,gBAF0C;AAGjDI,EAAAA,IAAI,EAAEC,+BAH2C;AAIjDC,EAAAA,MAAM,EAAEC,uBAJyC;AAKjDC,EAAAA,eAAe,EAAEC,yCALgC;AAMjDC,EAAAA,UAAU,EAAEC,+BANqC;AAOjDC,EAAAA,cAAc,EAAEC,uCAPiC;AAQjDC,EAAAA,OAAO,EAAEC,yBARwC;AASjDC,EAAAA,QAAQ,EAAEC,0BATuC;AAUjDC,EAAAA,SAAS,EAAEC,6BAVsC;AAWjDC,EAAAA,YAAY,EAAEC,mCAXmC;AAYjDC,EAAAA,WAAW,EAAEC,iCAZoC;AAajDC,EAAAA,QAAQ,EAAEC,2BAbuC;AAcjDC,EAAAA,QAAQ,EAAEC,0BAduC;AAejDC,EAAAA,KAAK,EAAEC;AAf0C,CAA1B,CAAlB","sourcesContent":["import { LineChartGradient } from './Gradient';\nimport { LineChart as _LineChart } from './Chart';\nimport { LineChartPathWrapper } from './ChartPath';\nimport { LineChartProvider } from './Context';\nimport { LineChartCursor } from './Cursor';\nimport { LineChartCursorCrosshair } from './CursorCrosshair';\nimport { LineChartCursorLine } from './CursorLine';\nimport { LineChartHorizontalLine } from './HorizontalLine';\nimport { LineChartTooltip } from './Tooltip';\nimport { LineChartPriceText } from './PriceText';\nimport { LineChartDatetimeText } from './DatetimeText';\nimport { useLineChartDatetime } from './useDatetime';\nimport { useLineChartPrice } from './usePrice';\nimport { useLineChart } from './useLineChart';\nimport { LineChartGroup } from './Group';\n\nexport * from './Gradient';\nexport * from './Chart';\nexport * from './ChartPath';\nexport * from './Context';\nexport * from './Cursor';\nexport * from './CursorCrosshair';\nexport * from './CursorLine';\nexport * from './Tooltip';\nexport * from './DatetimeText';\nexport * from './Path';\nexport * from './PriceText';\nexport * from './useDatetime';\nexport * from './useLineChart';\nexport * from './usePrice';\nexport * from './types';\n\nexport const LineChart = Object.assign(_LineChart, {\n Gradient: LineChartGradient,\n Chart: _LineChart,\n Path: LineChartPathWrapper,\n Cursor: LineChartCursor,\n CursorCrosshair: LineChartCursorCrosshair,\n CursorLine: LineChartCursorLine,\n HorizontalLine: LineChartHorizontalLine,\n Tooltip: LineChartTooltip,\n Provider: LineChartProvider,\n PriceText: LineChartPriceText,\n DatetimeText: LineChartDatetimeText,\n useDatetime: useLineChartDatetime,\n usePrice: useLineChartPrice,\n useChart: useLineChart,\n Group: LineChartGroup,\n});\n"]}
1
+ {"version":3,"sources":["index.ts"],"names":["LineChart","Object","assign","_LineChart","Chart","Dot","LineChartDot","Path","LineChartPathWrapper","Cursor","LineChartCursor","CursorCrosshair","LineChartCursorCrosshair","CursorLine","LineChartCursorLine","Gradient","LineChartGradient","Group","LineChartGroup","Highlight","LineChartHighlight","HorizontalLine","LineChartHorizontalLine","Tooltip","LineChartTooltip","Provider","LineChartProvider","PriceText","LineChartPriceText","DatetimeText","LineChartDatetimeText","useDatetime","useLineChartDatetime","usePrice","useLineChartPrice","useChart","useLineChart","HoverTrap","LineChartHoverTrap"],"mappings":";;;;;;;;;;AAAA;;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAlBA;;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAlBA;;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAlBA;;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAlBA;;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAlBA;;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAlBA;;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAlBA;;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAlBA;;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAlBA;;AACA;;AACA;;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAhBA;;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAlBA;;AAgBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAfA;;AAkBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAjBA;;AAmBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAlBA;;AAiBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAhBA;;AAaA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAKA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAMA,SAAS,GAAGC,MAAM,CAACC,MAAP,CAAcC,gBAAd,EAA0B;AACjDC,EAAAA,KAAK,EAAED,gBAD0C;AAEjDE,EAAAA,GAAG,EAAEC,iBAF4C;AAGjDC,EAAAA,IAAI,EAAEC,+BAH2C;AAIjDC,EAAAA,MAAM,EAAEC,uBAJyC;AAKjDC,EAAAA,eAAe,EAAEC,yCALgC;AAMjDC,EAAAA,UAAU,EAAEC,+BANqC;AAOjDC,EAAAA,QAAQ,EAAEC,2BAPuC;AAQjDC,EAAAA,KAAK,EAAEC,qBAR0C;AASjDC,EAAAA,SAAS,EAAEC,6BATsC;AAUjDC,EAAAA,cAAc,EAAEC,uCAViC;AAWjDC,EAAAA,OAAO,EAAEC,yBAXwC;AAYjDC,EAAAA,QAAQ,EAAEC,0BAZuC;AAajDC,EAAAA,SAAS,EAAEC,6BAbsC;AAcjDC,EAAAA,YAAY,EAAEC,mCAdmC;AAejDC,EAAAA,WAAW,EAAEC,iCAfoC;AAgBjDC,EAAAA,QAAQ,EAAEC,2BAhBuC;AAiBjDC,EAAAA,QAAQ,EAAEC,0BAjBuC;AAkBjDC,EAAAA,SAAS,EAAEC;AAlBsC,CAA1B,CAAlB","sourcesContent":["import { LineChart as _LineChart } from './Chart';\nimport { LineChartPathWrapper } from './ChartPath';\nimport { LineChartHighlight } from './Highlight';\nimport { LineChartProvider } from './Context';\nimport { LineChartCursor } from './Cursor';\nimport { LineChartCursorCrosshair } from './CursorCrosshair';\nimport { LineChartCursorLine } from './CursorLine';\nimport { LineChartDot } from './Dot';\nimport { LineChartGradient } from './Gradient';\nimport { LineChartGroup } from './Group';\nimport { LineChartHorizontalLine } from './HorizontalLine';\nimport { LineChartTooltip } from './Tooltip';\nimport { LineChartPriceText } from './PriceText';\nimport { LineChartDatetimeText } from './DatetimeText';\nimport { useLineChartDatetime } from './useDatetime';\nimport { useLineChartPrice } from './usePrice';\nimport { useLineChart } from './useLineChart';\nimport { LineChartHoverTrap } from '../line/HoverTrap';\n\nexport * from './Chart';\nexport * from './ChartPath';\nexport * from './Highlight';\nexport * from './Context';\nexport * from './Cursor';\nexport * from './CursorCrosshair';\nexport * from './CursorLine';\nexport * from './Dot';\nexport * from './Gradient';\nexport * from './Tooltip';\nexport * from './DatetimeText';\nexport * from './Path';\nexport * from './PriceText';\nexport * from './useDatetime';\nexport * from './useLineChart';\nexport * from './usePrice';\nexport * from './types';\n\nexport const LineChart = Object.assign(_LineChart, {\n Chart: _LineChart,\n Dot: LineChartDot,\n Path: LineChartPathWrapper,\n Cursor: LineChartCursor,\n CursorCrosshair: LineChartCursorCrosshair,\n CursorLine: LineChartCursorLine,\n Gradient: LineChartGradient,\n Group: LineChartGroup,\n Highlight: LineChartHighlight,\n HorizontalLine: LineChartHorizontalLine,\n Tooltip: LineChartTooltip,\n Provider: LineChartProvider,\n PriceText: LineChartPriceText,\n DatetimeText: LineChartDatetimeText,\n useDatetime: useLineChartDatetime,\n usePrice: useLineChartPrice,\n useChart: useLineChart,\n HoverTrap: LineChartHoverTrap,\n});\n"]}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useAnimatedPath;
7
+
8
+ var _reactNativeReanimated = require("react-native-reanimated");
9
+
10
+ var _utils = require("../../utils");
11
+
12
+ var _utils2 = require("./utils");
13
+
14
+ function useAnimatedPath({
15
+ enabled = true,
16
+ path
17
+ }) {
18
+ const transition = (0, _reactNativeReanimated.useSharedValue)(0);
19
+ const previousPath = (0, _utils.usePrevious)(path);
20
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => {
21
+ return path;
22
+ }, (_, previous) => {
23
+ if (previous) {
24
+ transition.value = 0;
25
+ transition.value = (0, _reactNativeReanimated.withTiming)(1);
26
+ }
27
+ }, [path]);
28
+ const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
29
+ let d = path || '';
30
+
31
+ if (previousPath && enabled) {
32
+ const pathInterpolator = (0, _utils2.interpolatePath)(previousPath, path, null);
33
+ d = pathInterpolator(transition.value);
34
+ }
35
+
36
+ return {
37
+ d
38
+ };
39
+ });
40
+ return {
41
+ animatedProps
42
+ };
43
+ }
44
+ //# sourceMappingURL=useAnimatedPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["useAnimatedPath.ts"],"names":["useAnimatedPath","enabled","path","transition","previousPath","_","previous","value","animatedProps","d","pathInterpolator"],"mappings":";;;;;;;AAAA;;AAOA;;AACA;;AAEe,SAASA,eAAT,CAAyB;AACtCC,EAAAA,OAAO,GAAG,IAD4B;AAEtCC,EAAAA;AAFsC,CAAzB,EAMZ;AACD,QAAMC,UAAU,GAAG,2CAAe,CAAf,CAAnB;AAEA,QAAMC,YAAY,GAAG,wBAAYF,IAAZ,CAArB;AAEA,kDACE,MAAM;AACJ,WAAOA,IAAP;AACD,GAHH,EAIE,CAACG,CAAD,EAAIC,QAAJ,KAAiB;AACf,QAAIA,QAAJ,EAAc;AACZH,MAAAA,UAAU,CAACI,KAAX,GAAmB,CAAnB;AACAJ,MAAAA,UAAU,CAACI,KAAX,GAAmB,uCAAW,CAAX,CAAnB;AACD;AACF,GATH,EAUE,CAACL,IAAD,CAVF;AAaA,QAAMM,aAAa,GAAG,6CAAiB,MAAM;AAC3C,QAAIC,CAAC,GAAGP,IAAI,IAAI,EAAhB;;AACA,QAAIE,YAAY,IAAIH,OAApB,EAA6B;AAC3B,YAAMS,gBAAgB,GAAG,6BAAgBN,YAAhB,EAA8BF,IAA9B,EAAoC,IAApC,CAAzB;AACAO,MAAAA,CAAC,GAAGC,gBAAgB,CAACP,UAAU,CAACI,KAAZ,CAApB;AACD;;AACD,WAAO;AACLE,MAAAA;AADK,KAAP;AAGD,GATqB,CAAtB;AAWA,SAAO;AAAED,IAAAA;AAAF,GAAP;AACD","sourcesContent":["import {\n useAnimatedProps,\n useAnimatedReaction,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\n\nimport { usePrevious } from '../../utils';\nimport { interpolatePath } from './utils';\n\nexport default function useAnimatedPath({\n enabled = true,\n path,\n}: {\n enabled?: boolean;\n path: string;\n}) {\n const transition = useSharedValue(0);\n\n const previousPath = usePrevious(path);\n\n useAnimatedReaction(\n () => {\n return path;\n },\n (_, previous) => {\n if (previous) {\n transition.value = 0;\n transition.value = withTiming(1);\n }\n },\n [path]\n );\n\n const animatedProps = useAnimatedProps(() => {\n let d = path || '';\n if (previousPath && enabled) {\n const pathInterpolator = interpolatePath(previousPath, path, null);\n d = pathInterpolator(transition.value);\n }\n return {\n d,\n };\n });\n\n return { animatedProps };\n}\n"]}
@@ -3,9 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getDomain = getDomain;
7
- exports.lineChartDataPropToArray = lineChartDataPropToArray;
8
- exports.getPath = getPath;
9
6
  exports.getArea = getArea;
10
7
 
11
8
  var shape = _interopRequireWildcard(require("d3-shape"));
@@ -18,56 +15,12 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
18
15
 
19
16
  // @ts-ignore
20
17
  // @ts-ignore
21
- function getDomain(rows) {
22
- 'worklet';
23
-
24
- const values = rows.map(({
25
- value
26
- }) => value);
27
- return [Math.min(...values), Math.max(...values)];
28
- }
29
-
30
- function lineChartDataPropToArray(dataProp) {
31
- 'worklet';
32
-
33
- if (!dataProp) {
34
- return [];
35
- }
36
-
37
- if (Array.isArray(dataProp)) {
38
- return dataProp;
39
- }
40
-
41
- const data = [];
42
- Object.values(dataProp).forEach(dataSet => {
43
- if (dataSet) {
44
- data.push(...dataSet);
45
- }
46
- });
47
- return data;
48
- }
49
-
50
- function getPath({
51
- data,
52
- width,
53
- height,
54
- gutter,
55
- shape: _shape = shape.curveBumpX,
56
- yDomain
57
- }) {
58
- const timestamps = data.map((_, i) => i);
59
- const scaleX = (0, _d3Scale.scaleLinear)().domain([Math.min(...timestamps), Math.max(...timestamps)]).range([0, width]);
60
- const scaleY = (0, _d3Scale.scaleLinear)().domain([yDomain.min, yDomain.max]).range([height - gutter, gutter]);
61
- const path = shape.line().x((_, i) => scaleX(i)).y(d => scaleY(d.value)).curve(_shape)(data);
62
- return path;
63
- }
64
-
65
18
  function getArea({
66
19
  data,
67
20
  width,
68
21
  height,
69
22
  gutter,
70
- shape: _shape = shape.curveBumpX,
23
+ shape: _shape,
71
24
  yDomain
72
25
  }) {
73
26
  const timestamps = data.map((_, i) => i);
@@ -76,4 +29,4 @@ function getArea({
76
29
  const area = shape.area().x((_, i) => scaleX(i)).y0(d => scaleY(d.value)).y1(() => height).curve(_shape)(data);
77
30
  return area;
78
31
  }
79
- //# sourceMappingURL=utils.js.map
32
+ //# sourceMappingURL=getArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getArea.ts"],"names":["getArea","data","width","height","gutter","shape","_shape","yDomain","timestamps","map","_","i","scaleX","domain","Math","min","max","range","scaleY","area","x","y0","d","value","y1","curve"],"mappings":";;;;;;;AACA;;AAEA;;;;;;AAHA;AAEA;AAKO,SAASA,OAAT,CAAiB;AACtBC,EAAAA,IADsB;AAEtBC,EAAAA,KAFsB;AAGtBC,EAAAA,MAHsB;AAItBC,EAAAA,MAJsB;AAKtBC,EAAAA,KAAK,EAAEC,MALe;AAMtBC,EAAAA;AANsB,CAAjB,EAcI;AACT,QAAMC,UAAU,GAAGP,IAAI,CAACQ,GAAL,CAAS,CAACC,CAAD,EAAIC,CAAJ,KAAUA,CAAnB,CAAnB;AAEA,QAAMC,MAAM,GAAG,4BACZC,MADY,CACL,CAACC,IAAI,CAACC,GAAL,CAAS,GAAGP,UAAZ,CAAD,EAA0BM,IAAI,CAACE,GAAL,CAAS,GAAGR,UAAZ,CAA1B,CADK,EAEZS,KAFY,CAEN,CAAC,CAAD,EAAIf,KAAJ,CAFM,CAAf;AAGA,QAAMgB,MAAM,GAAG,4BACZL,MADY,CACL,CAACN,OAAO,CAACQ,GAAT,EAAcR,OAAO,CAACS,GAAtB,CADK,EAEZC,KAFY,CAEN,CAACd,MAAM,GAAGC,MAAV,EAAkBA,MAAlB,CAFM,CAAf;AAGA,QAAMe,IAAI,GAAGd,KAAK,CACfc,IADU,GAEVC,CAFU,CAER,CAACV,CAAD,EAAaC,CAAb,KAA2BC,MAAM,CAACD,CAAD,CAFzB,EAGVU,EAHU,CAGNC,CAAD,IAA2BJ,MAAM,CAACI,CAAC,CAACC,KAAH,CAH1B,EAIVC,EAJU,CAIP,MAAMrB,MAJC,EAKVsB,KALU,CAKJnB,MALI,EAKIL,IALJ,CAAb;AAMA,SAAOkB,IAAP;AACD","sourcesContent":["// @ts-ignore\nimport * as shape from 'd3-shape';\n// @ts-ignore\nimport { scaleLinear } from 'd3-scale';\n\nimport type { TLineChartData, YDomain } from '../types';\n\nexport function getArea({\n data,\n width,\n height,\n gutter,\n shape: _shape,\n yDomain,\n}: {\n data: TLineChartData;\n width: number;\n height: number;\n gutter: number;\n shape?: unknown;\n yDomain: YDomain;\n}): string {\n const timestamps = data.map((_, i) => i);\n\n const scaleX = scaleLinear()\n .domain([Math.min(...timestamps), Math.max(...timestamps)])\n .range([0, width]);\n const scaleY = scaleLinear()\n .domain([yDomain.min, yDomain.max])\n .range([height - gutter, gutter]);\n const area = shape\n .area()\n .x((_: unknown, i: number) => scaleX(i))\n .y0((d: { value: unknown }) => scaleY(d.value))\n .y1(() => height)\n .curve(_shape)(data);\n return area;\n}\n"]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getDomain = getDomain;
7
+
8
+ function getDomain(rows) {
9
+ 'worklet';
10
+
11
+ const values = rows.map(({
12
+ value
13
+ }) => value);
14
+ return [Math.min(...values), Math.max(...values)];
15
+ }
16
+ //# sourceMappingURL=getDomain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getDomain.ts"],"names":["getDomain","rows","values","map","value","Math","min","max"],"mappings":";;;;;;;AAEO,SAASA,SAAT,CAAmBC,IAAnB,EAA8D;AACnE;;AACA,QAAMC,MAAM,GAAGD,IAAI,CAACE,GAAL,CAAS,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAeA,KAAxB,CAAf;AACA,SAAO,CAACC,IAAI,CAACC,GAAL,CAAS,GAAGJ,MAAZ,CAAD,EAAsBG,IAAI,CAACE,GAAL,CAAS,GAAGL,MAAZ,CAAtB,CAAP;AACD","sourcesContent":["import type { TLineChartPoint } from '../types';\n\nexport function getDomain(rows: TLineChartPoint[]): [number, number] {\n 'worklet';\n const values = rows.map(({ value }) => value);\n return [Math.min(...values), Math.max(...values)];\n}\n"]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getPath = getPath;
7
+
8
+ var shape = _interopRequireWildcard(require("d3-shape"));
9
+
10
+ var _d3Scale = require("d3-scale");
11
+
12
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
+
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+
16
+ // @ts-ignore
17
+ // @ts-ignore
18
+ function getPath({
19
+ data,
20
+ from,
21
+ to,
22
+ width,
23
+ height,
24
+ gutter,
25
+ shape: _shape,
26
+ yDomain
27
+ }) {
28
+ const timestamps = data.map((_, i) => i);
29
+ const scaleX = (0, _d3Scale.scaleLinear)().domain([Math.min(...timestamps), Math.max(...timestamps)]).range([0, width]);
30
+ const scaleY = (0, _d3Scale.scaleLinear)().domain([yDomain.min, yDomain.max]).range([height - gutter, gutter]);
31
+ const path = shape.line().defined(d => from || to ? data.slice(from, to ? to + 1 : undefined).find(item => item.timestamp === d.timestamp) : true).x((_, i) => scaleX(i)).y(d => scaleY(d.value)).curve(_shape)(data);
32
+ return path;
33
+ }
34
+ //# sourceMappingURL=getPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["getPath.ts"],"names":["getPath","data","from","to","width","height","gutter","shape","_shape","yDomain","timestamps","map","_","i","scaleX","domain","Math","min","max","range","scaleY","path","line","defined","d","slice","undefined","find","item","timestamp","x","y","value","curve"],"mappings":";;;;;;;AACA;;AAEA;;;;;;AAHA;AAEA;AAKO,SAASA,OAAT,CAAiB;AACtBC,EAAAA,IADsB;AAEtBC,EAAAA,IAFsB;AAGtBC,EAAAA,EAHsB;AAItBC,EAAAA,KAJsB;AAKtBC,EAAAA,MALsB;AAMtBC,EAAAA,MANsB;AAOtBC,EAAAA,KAAK,EAAEC,MAPe;AAQtBC,EAAAA;AARsB,CAAjB,EAkBI;AACT,QAAMC,UAAU,GAAGT,IAAI,CAACU,GAAL,CAAS,CAACC,CAAD,EAAIC,CAAJ,KAAUA,CAAnB,CAAnB;AAEA,QAAMC,MAAM,GAAG,4BACZC,MADY,CACL,CAACC,IAAI,CAACC,GAAL,CAAS,GAAGP,UAAZ,CAAD,EAA0BM,IAAI,CAACE,GAAL,CAAS,GAAGR,UAAZ,CAA1B,CADK,EAEZS,KAFY,CAEN,CAAC,CAAD,EAAIf,KAAJ,CAFM,CAAf;AAGA,QAAMgB,MAAM,GAAG,4BACZL,MADY,CACL,CAACN,OAAO,CAACQ,GAAT,EAAcR,OAAO,CAACS,GAAtB,CADK,EAEZC,KAFY,CAEN,CAACd,MAAM,GAAGC,MAAV,EAAkBA,MAAlB,CAFM,CAAf;AAGA,QAAMe,IAAI,GAAGd,KAAK,CACfe,IADU,GAEVC,OAFU,CAEDC,CAAD,IACPtB,IAAI,IAAIC,EAAR,GACIF,IAAI,CACDwB,KADH,CACSvB,IADT,EACeC,EAAE,GAAGA,EAAE,GAAG,CAAR,GAAYuB,SAD7B,EAEGC,IAFH,CAESC,IAAD,IAAUA,IAAI,CAACC,SAAL,KAAmBL,CAAC,CAACK,SAFvC,CADJ,GAII,IAPK,EASVC,CATU,CASR,CAAClB,CAAD,EAAaC,CAAb,KAA2BC,MAAM,CAACD,CAAD,CATzB,EAUVkB,CAVU,CAUPP,CAAD,IAA0BJ,MAAM,CAACI,CAAC,CAACQ,KAAH,CAVxB,EAWVC,KAXU,CAWJzB,MAXI,EAWIP,IAXJ,CAAb;AAYA,SAAOoB,IAAP;AACD","sourcesContent":["// @ts-ignore\nimport * as shape from 'd3-shape';\n// @ts-ignore\nimport { scaleLinear } from 'd3-scale';\n\nimport type { TLineChartData, YDomain } from '../types';\n\nexport function getPath({\n data,\n from,\n to,\n width,\n height,\n gutter,\n shape: _shape,\n yDomain,\n}: {\n data: TLineChartData;\n from?: number;\n to?: number;\n width: number;\n height: number;\n gutter: number;\n shape?: unknown;\n yDomain: YDomain;\n}): string {\n const timestamps = data.map((_, i) => i);\n\n const scaleX = scaleLinear()\n .domain([Math.min(...timestamps), Math.max(...timestamps)])\n .range([0, width]);\n const scaleY = scaleLinear()\n .domain([yDomain.min, yDomain.max])\n .range([height - gutter, gutter]);\n const path = shape\n .line()\n .defined((d: { timestamp: number }) =>\n from || to\n ? data\n .slice(from, to ? to + 1 : undefined)\n .find((item) => item.timestamp === d.timestamp)\n : true\n )\n .x((_: unknown, i: number) => scaleX(i))\n .y((d: { value: number }) => scaleY(d.value))\n .curve(_shape)(data);\n return path;\n}\n"]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _getArea = require("./getArea");
8
+
9
+ Object.keys(_getArea).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (key in exports && exports[key] === _getArea[key]) return;
12
+ Object.defineProperty(exports, key, {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _getArea[key];
16
+ }
17
+ });
18
+ });
19
+
20
+ var _getDomain = require("./getDomain");
21
+
22
+ Object.keys(_getDomain).forEach(function (key) {
23
+ if (key === "default" || key === "__esModule") return;
24
+ if (key in exports && exports[key] === _getDomain[key]) return;
25
+ Object.defineProperty(exports, key, {
26
+ enumerable: true,
27
+ get: function () {
28
+ return _getDomain[key];
29
+ }
30
+ });
31
+ });
32
+
33
+ var _getPath = require("./getPath");
34
+
35
+ Object.keys(_getPath).forEach(function (key) {
36
+ if (key === "default" || key === "__esModule") return;
37
+ if (key in exports && exports[key] === _getPath[key]) return;
38
+ Object.defineProperty(exports, key, {
39
+ enumerable: true,
40
+ get: function () {
41
+ return _getPath[key];
42
+ }
43
+ });
44
+ });
45
+
46
+ var _interpolatePath = require("./interpolatePath");
47
+
48
+ Object.keys(_interpolatePath).forEach(function (key) {
49
+ if (key === "default" || key === "__esModule") return;
50
+ if (key in exports && exports[key] === _interpolatePath[key]) return;
51
+ Object.defineProperty(exports, key, {
52
+ enumerable: true,
53
+ get: function () {
54
+ return _interpolatePath[key];
55
+ }
56
+ });
57
+ });
58
+
59
+ var _lineChartDataPropToArray = require("./lineChartDataPropToArray");
60
+
61
+ Object.keys(_lineChartDataPropToArray).forEach(function (key) {
62
+ if (key === "default" || key === "__esModule") return;
63
+ if (key in exports && exports[key] === _lineChartDataPropToArray[key]) return;
64
+ Object.defineProperty(exports, key, {
65
+ enumerable: true,
66
+ get: function () {
67
+ return _lineChartDataPropToArray[key];
68
+ }
69
+ });
70
+ });
71
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './getArea';\nexport * from './getDomain';\nexport * from './getPath';\nexport * from './interpolatePath';\nexport * from './lineChartDataPropToArray';\n"]}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.splitCurve = splitCurve;
7
7
  exports.pathCommandsFromString = pathCommandsFromString;
8
8
  exports.interpolatePathCommands = interpolatePathCommands;
9
- exports.default = interpolatePath;
9
+ exports.interpolatePath = interpolatePath;
10
10
 
11
11
  // @ts-nocheck
12
12
 
@@ -1 +1 @@
1
- {"version":3,"sources":["interpolatePath.ts"],"names":["decasteljau","points","t","left","right","decasteljauRecurse","length","push","newPoints","Array","i","reverse","pointsToCommand","command","x2","y2","x1","y1","x","y","type","splitCurveAsPoints","segmentCount","segments","remainingCurve","tIncrement","tRelative","split","splitCurve","commandStart","commandEnd","map","typeMap","M","L","H","V","C","S","Q","T","A","Z","Object","keys","forEach","key","toLowerCase","arrayOfLength","value","array","commandToString","p","join","convertToSameType","aCommand","bCommand","conversionMap","readFromBKeys","toUpperCase","aConverted","bKey","bValue","aValue","undefined","includes","splitSegment","concat","copyCommand","assign","extend","commandsToExtend","referenceCommands","excludeSegment","numSegmentsToExtend","numReferenceSegments","segmentRatio","countPointsPerSegment","reduce","accum","d","insertIndex","Math","floor","addToPriorSegment","extended","lastCommandCopies","unshift","pathCommandsFromString","tokens","match","commands","commandArgs","a","interpolatePathCommands","aCommandsInput","bCommandsInput","aCommands","slice","bCommands","nullInterpolator","addZ","pop","numPointsToExtend","abs","interpolatedCommands","pathCommandInterpolator","interpolatedCommand","j","arg","round","interpolatePath","b","commandInterpolator","pathStringInterpolator","interpolatedString"],"mappings":"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","sourcesContent":["// @ts-nocheck\n\n/**\n * Reanimated compatible fork of https://github.com/pbeshai/d3-interpolate-path\n */\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * de Casteljau's algorithm for drawing and splitting bezier curves.\n * Inspired by https://pomax.github.io/bezierinfo/\n *\n * @param {Number[][]} points Array of [x,y] points: [start, control1, control2, ..., end]\n * The original segment to split.\n * @param {Number} t Where to split the curve (value between [0, 1])\n * @return {Object} An object { left, right } where left is the segment from 0..t and\n * right is the segment from t..1.\n */\nfunction decasteljau(points, t) {\n 'worklet';\n\n const left = [];\n const right = [];\n\n function decasteljauRecurse(points, t) {\n 'worklet';\n\n if (points.length === 1) {\n left.push(points[0]);\n right.push(points[0]);\n } else {\n const newPoints = Array(points.length - 1);\n\n for (let i = 0; i < newPoints.length; i++) {\n if (i === 0) {\n left.push(points[0]);\n }\n if (i === newPoints.length - 1) {\n right.push(points[i + 1]);\n }\n\n newPoints[i] = [\n (1 - t) * points[i][0] + t * points[i + 1][0],\n (1 - t) * points[i][1] + t * points[i + 1][1],\n ];\n }\n\n decasteljauRecurse(newPoints, t);\n }\n }\n\n if (points.length) {\n decasteljauRecurse(points, t);\n }\n\n return { left, right: right.reverse() };\n}\n\n/**\n * Convert segments represented as points back into a command object\n *\n * @param {Number[][]} points Array of [x,y] points: [start, control1, control2, ..., end]\n * Represents a segment\n * @return {Object} A command object representing the segment.\n */\nfunction pointsToCommand(points) {\n 'worklet';\n\n const command = {};\n\n if (points.length === 4) {\n command.x2 = points[2][0];\n command.y2 = points[2][1];\n }\n if (points.length >= 3) {\n command.x1 = points[1][0];\n command.y1 = points[1][1];\n }\n\n command.x = points[points.length - 1][0];\n command.y = points[points.length - 1][1];\n\n if (points.length === 4) {\n // start, control1, control2, end\n command.type = 'C';\n } else if (points.length === 3) {\n // start, control, end\n command.type = 'Q';\n } else {\n // start, end\n command.type = 'L';\n }\n\n return command;\n}\n\n/**\n * Runs de Casteljau's algorithm enough times to produce the desired number of segments.\n *\n * @param {Number[][]} points Array of [x,y] points for de Casteljau (the initial segment to split)\n * @param {Number} segmentCount Number of segments to split the original into\n * @return {Number[][][]} Array of segments\n */\nfunction splitCurveAsPoints(points, segmentCount) {\n 'worklet';\n\n segmentCount = segmentCount || 2;\n\n const segments = [];\n let remainingCurve = points;\n const tIncrement = 1 / segmentCount;\n\n // x-----x-----x-----x\n // t= 0.33 0.66 1\n // x-----o-----------x\n // r= 0.33\n // x-----o-----x\n // r= 0.5 (0.33 / (1 - 0.33)) === tIncrement / (1 - (tIncrement * (i - 1))\n\n // x-----x-----x-----x----x\n // t= 0.25 0.5 0.75 1\n // x-----o----------------x\n // r= 0.25\n // x-----o----------x\n // r= 0.33 (0.25 / (1 - 0.25))\n // x-----o----x\n // r= 0.5 (0.25 / (1 - 0.5))\n\n for (let i = 0; i < segmentCount - 1; i++) {\n const tRelative = tIncrement / (1 - tIncrement * i);\n const split = decasteljau(remainingCurve, tRelative);\n segments.push(split.left);\n remainingCurve = split.right;\n }\n\n // last segment is just to the end from the last point\n segments.push(remainingCurve);\n\n return segments;\n}\n\n/**\n * Convert command objects to arrays of points, run de Casteljau's algorithm on it\n * to split into to the desired number of segments.\n *\n * @param {Object} commandStart The start command object\n * @param {Object} commandEnd The end command object\n * @param {Number} segmentCount The number of segments to create\n * @return {Object[]} An array of commands representing the segments in sequence\n */\nexport function splitCurve(commandStart, commandEnd, segmentCount) {\n 'worklet';\n\n const points = [[commandStart.x, commandStart.y]];\n if (commandEnd.x1 != null) {\n points.push([commandEnd.x1, commandEnd.y1]);\n }\n if (commandEnd.x2 != null) {\n points.push([commandEnd.x2, commandEnd.y2]);\n }\n points.push([commandEnd.x, commandEnd.y]);\n\n return splitCurveAsPoints(points, segmentCount).map(pointsToCommand);\n}\n\n/**\n * List of params for each command type in a path `d` attribute\n */\nconst typeMap = {\n M: ['x', 'y'],\n L: ['x', 'y'],\n H: ['x'],\n V: ['y'],\n C: ['x1', 'y1', 'x2', 'y2', 'x', 'y'],\n S: ['x2', 'y2', 'x', 'y'],\n Q: ['x1', 'y1', 'x', 'y'],\n T: ['x', 'y'],\n A: ['rx', 'ry', 'xAxisRotation', 'largeArcFlag', 'sweepFlag', 'x', 'y'],\n Z: [],\n};\n\n// Add lower case entries too matching uppercase (e.g. 'm' == 'M')\nObject.keys(typeMap).forEach((key) => {\n typeMap[key.toLowerCase()] = typeMap[key];\n});\n\nfunction arrayOfLength(length, value) {\n 'worklet';\n\n const array = Array(length);\n for (let i = 0; i < length; i++) {\n array[i] = value;\n }\n\n return array;\n}\n\n/**\n * Converts a command object to a string to be used in a `d` attribute\n * @param {Object} command A command object\n * @return {String} The string for the `d` attribute\n */\nfunction commandToString(command) {\n 'worklet';\n\n return `${command.type}${typeMap[command.type]\n .map((p) => command[p])\n .join(',')}`;\n}\n\n/**\n * Converts command A to have the same type as command B.\n *\n * e.g., L0,5 -> C0,5,0,5,0,5\n *\n * Uses these rules:\n * x1 <- x\n * x2 <- x\n * y1 <- y\n * y2 <- y\n * rx <- 0\n * ry <- 0\n * xAxisRotation <- read from B\n * largeArcFlag <- read from B\n * sweepflag <- read from B\n *\n * @param {Object} aCommand Command object from path `d` attribute\n * @param {Object} bCommand Command object from path `d` attribute to match against\n * @return {Object} aCommand converted to type of bCommand\n */\nfunction convertToSameType(aCommand, bCommand) {\n 'worklet';\n\n const conversionMap = {\n x1: 'x',\n y1: 'y',\n x2: 'x',\n y2: 'y',\n };\n\n const readFromBKeys = ['xAxisRotation', 'largeArcFlag', 'sweepFlag'];\n\n // convert (but ignore M types)\n if (aCommand.type !== bCommand.type && bCommand.type.toUpperCase() !== 'M') {\n const aConverted = {};\n Object.keys(bCommand).forEach((bKey) => {\n const bValue = bCommand[bKey];\n // first read from the A command\n let aValue = aCommand[bKey];\n\n // if it is one of these values, read from B no matter what\n if (aValue === undefined) {\n if (readFromBKeys.includes(bKey)) {\n aValue = bValue;\n } else {\n // if it wasn't in the A command, see if an equivalent was\n if (aValue === undefined && conversionMap[bKey]) {\n aValue = aCommand[conversionMap[bKey]];\n }\n\n // if it doesn't have a converted value, use 0\n if (aValue === undefined) {\n aValue = 0;\n }\n }\n }\n\n aConverted[bKey] = aValue;\n });\n\n // update the type to match B\n aConverted.type = bCommand.type;\n aCommand = aConverted;\n }\n\n return aCommand;\n}\n\n/**\n * Interpolate between command objects commandStart and commandEnd segmentCount times.\n * If the types are L, Q, or C then the curves are split as per de Casteljau's algorithm.\n * Otherwise we just copy commandStart segmentCount - 1 times, finally ending with commandEnd.\n *\n * @param {Object} commandStart Command object at the beginning of the segment\n * @param {Object} commandEnd Command object at the end of the segment\n * @param {Number} segmentCount The number of segments to split this into. If only 1\n * Then [commandEnd] is returned.\n * @return {Object[]} Array of ~segmentCount command objects between commandStart and\n * commandEnd. (Can be segmentCount+1 objects if commandStart is type M).\n */\nfunction splitSegment(commandStart, commandEnd, segmentCount) {\n 'worklet';\n\n let segments = [];\n\n // line, quadratic bezier, or cubic bezier\n if (\n commandEnd.type === 'L' ||\n commandEnd.type === 'Q' ||\n commandEnd.type === 'C'\n ) {\n segments = segments.concat(\n splitCurve(commandStart, commandEnd, segmentCount)\n );\n\n // general case - just copy the same point\n } else {\n const copyCommand = Object.assign({}, commandStart);\n\n // convert M to L\n if (copyCommand.type === 'M') {\n copyCommand.type = 'L';\n }\n\n segments = segments.concat(\n arrayOfLength(segmentCount - 1).map(() => copyCommand)\n );\n segments.push(commandEnd);\n }\n\n return segments;\n}\n/**\n * Extends an array of commandsToExtend to the length of the referenceCommands by\n * splitting segments until the number of commands match. Ensures all the actual\n * points of commandsToExtend are in the extended array.\n *\n * @param {Object[]} commandsToExtend The command object array to extend\n * @param {Object[]} referenceCommands The command object array to match in length\n * @param {Function} excludeSegment a function that takes a start command object and\n * end command object and returns true if the segment should be excluded from splitting.\n * @return {Object[]} The extended commandsToExtend array\n */\nfunction extend(commandsToExtend, referenceCommands, excludeSegment) {\n 'worklet';\n\n // compute insertion points:\n // number of segments in the path to extend\n const numSegmentsToExtend = commandsToExtend.length - 1;\n\n // number of segments in the reference path.\n const numReferenceSegments = referenceCommands.length - 1;\n\n // this value is always between [0, 1].\n const segmentRatio = numSegmentsToExtend / numReferenceSegments;\n\n // create a map, mapping segments in referenceCommands to how many points\n // should be added in that segment (should always be >= 1 since we need each\n // point itself).\n // 0 = segment 0-1, 1 = segment 1-2, n-1 = last vertex\n const countPointsPerSegment = arrayOfLength(numReferenceSegments).reduce(\n (accum, d, i) => {\n let insertIndex = Math.floor(segmentRatio * i);\n\n // handle excluding segments\n if (\n excludeSegment &&\n insertIndex < commandsToExtend.length - 1 &&\n excludeSegment(\n commandsToExtend[insertIndex],\n commandsToExtend[insertIndex + 1]\n )\n ) {\n // set the insertIndex to the segment that this point should be added to:\n\n // round the insertIndex essentially so we split half and half on\n // neighbouring segments. hence the segmentRatio * i < 0.5\n const addToPriorSegment = (segmentRatio * i) % 1 < 0.5;\n\n // only skip segment if we already have 1 point in it (can't entirely remove a segment)\n if (accum[insertIndex]) {\n // TODO - Note this is a naive algorithm that should work for most d3-area use cases\n // but if two adjacent segments are supposed to be skipped, this will not perform as\n // expected. Could be updated to search for nearest segment to place the point in, but\n // will only do that if necessary.\n\n // add to the prior segment\n if (addToPriorSegment) {\n if (insertIndex > 0) {\n insertIndex -= 1;\n\n // not possible to add to previous so adding to next\n } else if (insertIndex < commandsToExtend.length - 1) {\n insertIndex += 1;\n }\n // add to next segment\n } else if (insertIndex < commandsToExtend.length - 1) {\n insertIndex += 1;\n\n // not possible to add to next so adding to previous\n } else if (insertIndex > 0) {\n insertIndex -= 1;\n }\n }\n }\n\n accum[insertIndex] = (accum[insertIndex] || 0) + 1;\n\n return accum;\n },\n []\n );\n\n // extend each segment to have the correct number of points for a smooth interpolation\n const extended = countPointsPerSegment.reduce((extended, segmentCount, i) => {\n // if last command, just add `segmentCount` number of times\n if (i === commandsToExtend.length - 1) {\n const lastCommandCopies = arrayOfLength(\n segmentCount,\n Object.assign({}, commandsToExtend[commandsToExtend.length - 1])\n );\n\n // convert M to L\n if (lastCommandCopies[0].type === 'M') {\n lastCommandCopies.forEach((d) => {\n d.type = 'L';\n });\n }\n return extended.concat(lastCommandCopies);\n }\n\n // otherwise, split the segment segmentCount times.\n return extended.concat(\n splitSegment(commandsToExtend[i], commandsToExtend[i + 1], segmentCount)\n );\n }, []);\n\n // add in the very first point since splitSegment only adds in the ones after it\n extended.unshift(commandsToExtend[0]);\n\n return extended;\n}\n\n/**\n * Takes a path `d` string and converts it into an array of command\n * objects. Drops the `Z` character.\n *\n * @param {String|null} d A path `d` string\n */\nexport function pathCommandsFromString(d) {\n 'worklet';\n\n // split into valid tokens\n const tokens = (d || '').match(/[MLCSTQAHVZmlcstqahv]|-?[\\d.e+-]+/g) || [];\n const commands = [];\n let commandArgs;\n let command;\n\n // iterate over each token, checking if we are at a new command\n // by presence in the typeMap\n for (let i = 0; i < tokens.length; ++i) {\n commandArgs = typeMap[tokens[i]];\n\n // new command found:\n if (commandArgs) {\n command = {\n type: tokens[i],\n };\n\n // add each of the expected args for this command:\n for (let a = 0; a < commandArgs.length; ++a) {\n command[commandArgs[a]] = +tokens[i + a + 1];\n }\n\n // need to increment our token index appropriately since\n // we consumed token args\n i += commandArgs.length;\n\n commands.push(command);\n }\n }\n return commands;\n}\n\n/**\n * Interpolate from A to B by extending A and B during interpolation to have\n * the same number of points. This allows for a smooth transition when they\n * have a different number of points.\n *\n * Ignores the `Z` command in paths unless both A and B end with it.\n *\n * This function works directly with arrays of command objects instead of with\n * path `d` strings (see interpolatePath for working with `d` strings).\n *\n * @param {Object[]} aCommandsInput Array of path commands\n * @param {Object[]} bCommandsInput Array of path commands\n * @param {Function} excludeSegment a function that takes a start command object and\n * end command object and returns true if the segment should be excluded from splitting.\n * @returns {Function} Interpolation function that maps t ([0, 1]) to an array of path commands.\n */\nexport function interpolatePathCommands(\n aCommandsInput,\n bCommandsInput,\n excludeSegment\n) {\n 'worklet';\n\n // make a copy so we don't mess with the input arrays\n let aCommands = aCommandsInput == null ? [] : aCommandsInput.slice();\n let bCommands = bCommandsInput == null ? [] : bCommandsInput.slice();\n\n // both input sets are empty, so we don't interpolate\n if (!aCommands.length && !bCommands.length) {\n return function nullInterpolator() {\n 'worklet';\n\n return [];\n };\n }\n\n // do we add Z during interpolation? yes if both have it. (we'd expect both to have it or not)\n const addZ =\n (aCommands.length === 0 || aCommands[aCommands.length - 1].type === 'Z') &&\n (bCommands.length === 0 || bCommands[bCommands.length - 1].type === 'Z');\n\n // we temporarily remove Z\n if (aCommands.length > 0 && aCommands[aCommands.length - 1].type === 'Z') {\n aCommands.pop();\n }\n if (bCommands.length > 0 && bCommands[bCommands.length - 1].type === 'Z') {\n bCommands.pop();\n }\n\n // if A is empty, treat it as if it used to contain just the first point\n // of B. This makes it so the line extends out of from that first point.\n if (!aCommands.length) {\n aCommands.push(bCommands[0]);\n\n // otherwise if B is empty, treat it as if it contains the first point\n // of A. This makes it so the line retracts into the first point.\n } else if (!bCommands.length) {\n bCommands.push(aCommands[0]);\n }\n\n // extend to match equal size\n const numPointsToExtend = Math.abs(bCommands.length - aCommands.length);\n\n if (numPointsToExtend !== 0) {\n // B has more points than A, so add points to A before interpolating\n if (bCommands.length > aCommands.length) {\n aCommands = extend(aCommands, bCommands, excludeSegment);\n\n // else if A has more points than B, add more points to B\n } else if (bCommands.length < aCommands.length) {\n bCommands = extend(bCommands, aCommands, excludeSegment);\n }\n }\n\n // commands have same length now.\n // convert commands in A to the same type as those in B\n aCommands = aCommands.map((aCommand, i) =>\n convertToSameType(aCommand, bCommands[i])\n );\n\n // create mutable interpolated command objects\n const interpolatedCommands = aCommands.map((aCommand) => aCommand);\n\n if (addZ) {\n interpolatedCommands.push({ type: 'Z' });\n aCommands.push({ type: 'Z' }); // required for when returning at t == 0\n }\n\n return function pathCommandInterpolator(t) {\n 'worklet';\n\n // at 1 return the final value without the extensions used during interpolation\n if (t === 1) {\n return bCommandsInput == null ? [] : bCommandsInput;\n }\n\n // work with aCommands directly since interpolatedCommands are mutated\n if (t === 0) {\n return aCommands;\n }\n\n // interpolate the commands using the mutable interpolated command objs\n for (let i = 0; i < interpolatedCommands.length; ++i) {\n // if (interpolatedCommands[i].type === 'Z') continue;\n\n const aCommand = aCommands[i];\n const bCommand = bCommands[i];\n const interpolatedCommand = interpolatedCommands[i];\n for (let j = 0; j < typeMap[interpolatedCommand.type].length; j++) {\n const arg = typeMap[interpolatedCommand.type][j];\n interpolatedCommand[arg] = (1 - t) * aCommand[arg] + t * bCommand[arg];\n\n // do not use floats for flags (#27), round to integer\n if (arg === 'largeArcFlag' || arg === 'sweepFlag') {\n interpolatedCommand[arg] = Math.round(interpolatedCommand[arg]);\n }\n }\n }\n\n return interpolatedCommands;\n };\n}\n\n/**\n * Interpolate from A to B by extending A and B during interpolation to have\n * the same number of points. This allows for a smooth transition when they\n * have a different number of points.\n *\n * Ignores the `Z` character in paths unless both A and B end with it.\n *\n * @param {String} a The `d` attribute for a path\n * @param {String} b The `d` attribute for a path\n * @param {Function} excludeSegment a function that takes a start command object and\n * end command object and returns true if the segment should be excluded from splitting.\n * @returns {Function} Interpolation function that maps t ([0, 1]) to a path `d` string.\n */\nexport default function interpolatePath(a, b, excludeSegment) {\n 'worklet';\n\n let aCommands = pathCommandsFromString(a);\n let bCommands = pathCommandsFromString(b);\n\n if (!aCommands.length && !bCommands.length) {\n return function nullInterpolator() {\n 'worklet';\n\n return '';\n };\n }\n\n const commandInterpolator = interpolatePathCommands(\n aCommands,\n bCommands,\n excludeSegment\n );\n\n return function pathStringInterpolator(t) {\n 'worklet';\n\n // at 1 return the final value without the extensions used during interpolation\n if (t === 1) {\n return b == null ? '' : b;\n }\n\n const interpolatedCommands = commandInterpolator(t);\n\n // convert to a string (fastest concat: https://jsperf.com/join-concat/150)\n let interpolatedString = '';\n for (let i = 0; i < interpolatedCommands.length; i++) {\n const interpolatedCommand = interpolatedCommands[i];\n interpolatedString += commandToString(interpolatedCommand);\n }\n\n return interpolatedString;\n };\n}\n"]}
1
+ {"version":3,"sources":["interpolatePath.ts"],"names":["decasteljau","points","t","left","right","decasteljauRecurse","length","push","newPoints","Array","i","reverse","pointsToCommand","command","x2","y2","x1","y1","x","y","type","splitCurveAsPoints","segmentCount","segments","remainingCurve","tIncrement","tRelative","split","splitCurve","commandStart","commandEnd","map","typeMap","M","L","H","V","C","S","Q","T","A","Z","Object","keys","forEach","key","toLowerCase","arrayOfLength","value","array","commandToString","p","join","convertToSameType","aCommand","bCommand","conversionMap","readFromBKeys","toUpperCase","aConverted","bKey","bValue","aValue","undefined","includes","splitSegment","concat","copyCommand","assign","extend","commandsToExtend","referenceCommands","excludeSegment","numSegmentsToExtend","numReferenceSegments","segmentRatio","countPointsPerSegment","reduce","accum","d","insertIndex","Math","floor","addToPriorSegment","extended","lastCommandCopies","unshift","pathCommandsFromString","tokens","match","commands","commandArgs","a","interpolatePathCommands","aCommandsInput","bCommandsInput","aCommands","slice","bCommands","nullInterpolator","addZ","pop","numPointsToExtend","abs","interpolatedCommands","pathCommandInterpolator","interpolatedCommand","j","arg","round","interpolatePath","b","commandInterpolator","pathStringInterpolator","interpolatedString"],"mappings":"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","sourcesContent":["// @ts-nocheck\n\n/**\n * Reanimated compatible fork of https://github.com/pbeshai/d3-interpolate-path\n */\n\n//////////////////////////////////////////////////////////////////////////////////////////////////////\n\n/**\n * de Casteljau's algorithm for drawing and splitting bezier curves.\n * Inspired by https://pomax.github.io/bezierinfo/\n *\n * @param {Number[][]} points Array of [x,y] points: [start, control1, control2, ..., end]\n * The original segment to split.\n * @param {Number} t Where to split the curve (value between [0, 1])\n * @return {Object} An object { left, right } where left is the segment from 0..t and\n * right is the segment from t..1.\n */\nfunction decasteljau(points, t) {\n 'worklet';\n\n const left = [];\n const right = [];\n\n function decasteljauRecurse(points, t) {\n 'worklet';\n\n if (points.length === 1) {\n left.push(points[0]);\n right.push(points[0]);\n } else {\n const newPoints = Array(points.length - 1);\n\n for (let i = 0; i < newPoints.length; i++) {\n if (i === 0) {\n left.push(points[0]);\n }\n if (i === newPoints.length - 1) {\n right.push(points[i + 1]);\n }\n\n newPoints[i] = [\n (1 - t) * points[i][0] + t * points[i + 1][0],\n (1 - t) * points[i][1] + t * points[i + 1][1],\n ];\n }\n\n decasteljauRecurse(newPoints, t);\n }\n }\n\n if (points.length) {\n decasteljauRecurse(points, t);\n }\n\n return { left, right: right.reverse() };\n}\n\n/**\n * Convert segments represented as points back into a command object\n *\n * @param {Number[][]} points Array of [x,y] points: [start, control1, control2, ..., end]\n * Represents a segment\n * @return {Object} A command object representing the segment.\n */\nfunction pointsToCommand(points) {\n 'worklet';\n\n const command = {};\n\n if (points.length === 4) {\n command.x2 = points[2][0];\n command.y2 = points[2][1];\n }\n if (points.length >= 3) {\n command.x1 = points[1][0];\n command.y1 = points[1][1];\n }\n\n command.x = points[points.length - 1][0];\n command.y = points[points.length - 1][1];\n\n if (points.length === 4) {\n // start, control1, control2, end\n command.type = 'C';\n } else if (points.length === 3) {\n // start, control, end\n command.type = 'Q';\n } else {\n // start, end\n command.type = 'L';\n }\n\n return command;\n}\n\n/**\n * Runs de Casteljau's algorithm enough times to produce the desired number of segments.\n *\n * @param {Number[][]} points Array of [x,y] points for de Casteljau (the initial segment to split)\n * @param {Number} segmentCount Number of segments to split the original into\n * @return {Number[][][]} Array of segments\n */\nfunction splitCurveAsPoints(points, segmentCount) {\n 'worklet';\n\n segmentCount = segmentCount || 2;\n\n const segments = [];\n let remainingCurve = points;\n const tIncrement = 1 / segmentCount;\n\n // x-----x-----x-----x\n // t= 0.33 0.66 1\n // x-----o-----------x\n // r= 0.33\n // x-----o-----x\n // r= 0.5 (0.33 / (1 - 0.33)) === tIncrement / (1 - (tIncrement * (i - 1))\n\n // x-----x-----x-----x----x\n // t= 0.25 0.5 0.75 1\n // x-----o----------------x\n // r= 0.25\n // x-----o----------x\n // r= 0.33 (0.25 / (1 - 0.25))\n // x-----o----x\n // r= 0.5 (0.25 / (1 - 0.5))\n\n for (let i = 0; i < segmentCount - 1; i++) {\n const tRelative = tIncrement / (1 - tIncrement * i);\n const split = decasteljau(remainingCurve, tRelative);\n segments.push(split.left);\n remainingCurve = split.right;\n }\n\n // last segment is just to the end from the last point\n segments.push(remainingCurve);\n\n return segments;\n}\n\n/**\n * Convert command objects to arrays of points, run de Casteljau's algorithm on it\n * to split into to the desired number of segments.\n *\n * @param {Object} commandStart The start command object\n * @param {Object} commandEnd The end command object\n * @param {Number} segmentCount The number of segments to create\n * @return {Object[]} An array of commands representing the segments in sequence\n */\nexport function splitCurve(commandStart, commandEnd, segmentCount) {\n 'worklet';\n\n const points = [[commandStart.x, commandStart.y]];\n if (commandEnd.x1 != null) {\n points.push([commandEnd.x1, commandEnd.y1]);\n }\n if (commandEnd.x2 != null) {\n points.push([commandEnd.x2, commandEnd.y2]);\n }\n points.push([commandEnd.x, commandEnd.y]);\n\n return splitCurveAsPoints(points, segmentCount).map(pointsToCommand);\n}\n\n/**\n * List of params for each command type in a path `d` attribute\n */\nconst typeMap = {\n M: ['x', 'y'],\n L: ['x', 'y'],\n H: ['x'],\n V: ['y'],\n C: ['x1', 'y1', 'x2', 'y2', 'x', 'y'],\n S: ['x2', 'y2', 'x', 'y'],\n Q: ['x1', 'y1', 'x', 'y'],\n T: ['x', 'y'],\n A: ['rx', 'ry', 'xAxisRotation', 'largeArcFlag', 'sweepFlag', 'x', 'y'],\n Z: [],\n};\n\n// Add lower case entries too matching uppercase (e.g. 'm' == 'M')\nObject.keys(typeMap).forEach((key) => {\n typeMap[key.toLowerCase()] = typeMap[key];\n});\n\nfunction arrayOfLength(length, value) {\n 'worklet';\n\n const array = Array(length);\n for (let i = 0; i < length; i++) {\n array[i] = value;\n }\n\n return array;\n}\n\n/**\n * Converts a command object to a string to be used in a `d` attribute\n * @param {Object} command A command object\n * @return {String} The string for the `d` attribute\n */\nfunction commandToString(command) {\n 'worklet';\n\n return `${command.type}${typeMap[command.type]\n .map((p) => command[p])\n .join(',')}`;\n}\n\n/**\n * Converts command A to have the same type as command B.\n *\n * e.g., L0,5 -> C0,5,0,5,0,5\n *\n * Uses these rules:\n * x1 <- x\n * x2 <- x\n * y1 <- y\n * y2 <- y\n * rx <- 0\n * ry <- 0\n * xAxisRotation <- read from B\n * largeArcFlag <- read from B\n * sweepflag <- read from B\n *\n * @param {Object} aCommand Command object from path `d` attribute\n * @param {Object} bCommand Command object from path `d` attribute to match against\n * @return {Object} aCommand converted to type of bCommand\n */\nfunction convertToSameType(aCommand, bCommand) {\n 'worklet';\n\n const conversionMap = {\n x1: 'x',\n y1: 'y',\n x2: 'x',\n y2: 'y',\n };\n\n const readFromBKeys = ['xAxisRotation', 'largeArcFlag', 'sweepFlag'];\n\n // convert (but ignore M types)\n if (aCommand.type !== bCommand.type && bCommand.type.toUpperCase() !== 'M') {\n const aConverted = {};\n Object.keys(bCommand).forEach((bKey) => {\n const bValue = bCommand[bKey];\n // first read from the A command\n let aValue = aCommand[bKey];\n\n // if it is one of these values, read from B no matter what\n if (aValue === undefined) {\n if (readFromBKeys.includes(bKey)) {\n aValue = bValue;\n } else {\n // if it wasn't in the A command, see if an equivalent was\n if (aValue === undefined && conversionMap[bKey]) {\n aValue = aCommand[conversionMap[bKey]];\n }\n\n // if it doesn't have a converted value, use 0\n if (aValue === undefined) {\n aValue = 0;\n }\n }\n }\n\n aConverted[bKey] = aValue;\n });\n\n // update the type to match B\n aConverted.type = bCommand.type;\n aCommand = aConverted;\n }\n\n return aCommand;\n}\n\n/**\n * Interpolate between command objects commandStart and commandEnd segmentCount times.\n * If the types are L, Q, or C then the curves are split as per de Casteljau's algorithm.\n * Otherwise we just copy commandStart segmentCount - 1 times, finally ending with commandEnd.\n *\n * @param {Object} commandStart Command object at the beginning of the segment\n * @param {Object} commandEnd Command object at the end of the segment\n * @param {Number} segmentCount The number of segments to split this into. If only 1\n * Then [commandEnd] is returned.\n * @return {Object[]} Array of ~segmentCount command objects between commandStart and\n * commandEnd. (Can be segmentCount+1 objects if commandStart is type M).\n */\nfunction splitSegment(commandStart, commandEnd, segmentCount) {\n 'worklet';\n\n let segments = [];\n\n // line, quadratic bezier, or cubic bezier\n if (\n commandEnd.type === 'L' ||\n commandEnd.type === 'Q' ||\n commandEnd.type === 'C'\n ) {\n segments = segments.concat(\n splitCurve(commandStart, commandEnd, segmentCount)\n );\n\n // general case - just copy the same point\n } else {\n const copyCommand = Object.assign({}, commandStart);\n\n // convert M to L\n if (copyCommand.type === 'M') {\n copyCommand.type = 'L';\n }\n\n segments = segments.concat(\n arrayOfLength(segmentCount - 1).map(() => copyCommand)\n );\n segments.push(commandEnd);\n }\n\n return segments;\n}\n/**\n * Extends an array of commandsToExtend to the length of the referenceCommands by\n * splitting segments until the number of commands match. Ensures all the actual\n * points of commandsToExtend are in the extended array.\n *\n * @param {Object[]} commandsToExtend The command object array to extend\n * @param {Object[]} referenceCommands The command object array to match in length\n * @param {Function} excludeSegment a function that takes a start command object and\n * end command object and returns true if the segment should be excluded from splitting.\n * @return {Object[]} The extended commandsToExtend array\n */\nfunction extend(commandsToExtend, referenceCommands, excludeSegment) {\n 'worklet';\n\n // compute insertion points:\n // number of segments in the path to extend\n const numSegmentsToExtend = commandsToExtend.length - 1;\n\n // number of segments in the reference path.\n const numReferenceSegments = referenceCommands.length - 1;\n\n // this value is always between [0, 1].\n const segmentRatio = numSegmentsToExtend / numReferenceSegments;\n\n // create a map, mapping segments in referenceCommands to how many points\n // should be added in that segment (should always be >= 1 since we need each\n // point itself).\n // 0 = segment 0-1, 1 = segment 1-2, n-1 = last vertex\n const countPointsPerSegment = arrayOfLength(numReferenceSegments).reduce(\n (accum, d, i) => {\n let insertIndex = Math.floor(segmentRatio * i);\n\n // handle excluding segments\n if (\n excludeSegment &&\n insertIndex < commandsToExtend.length - 1 &&\n excludeSegment(\n commandsToExtend[insertIndex],\n commandsToExtend[insertIndex + 1]\n )\n ) {\n // set the insertIndex to the segment that this point should be added to:\n\n // round the insertIndex essentially so we split half and half on\n // neighbouring segments. hence the segmentRatio * i < 0.5\n const addToPriorSegment = (segmentRatio * i) % 1 < 0.5;\n\n // only skip segment if we already have 1 point in it (can't entirely remove a segment)\n if (accum[insertIndex]) {\n // TODO - Note this is a naive algorithm that should work for most d3-area use cases\n // but if two adjacent segments are supposed to be skipped, this will not perform as\n // expected. Could be updated to search for nearest segment to place the point in, but\n // will only do that if necessary.\n\n // add to the prior segment\n if (addToPriorSegment) {\n if (insertIndex > 0) {\n insertIndex -= 1;\n\n // not possible to add to previous so adding to next\n } else if (insertIndex < commandsToExtend.length - 1) {\n insertIndex += 1;\n }\n // add to next segment\n } else if (insertIndex < commandsToExtend.length - 1) {\n insertIndex += 1;\n\n // not possible to add to next so adding to previous\n } else if (insertIndex > 0) {\n insertIndex -= 1;\n }\n }\n }\n\n accum[insertIndex] = (accum[insertIndex] || 0) + 1;\n\n return accum;\n },\n []\n );\n\n // extend each segment to have the correct number of points for a smooth interpolation\n const extended = countPointsPerSegment.reduce((extended, segmentCount, i) => {\n // if last command, just add `segmentCount` number of times\n if (i === commandsToExtend.length - 1) {\n const lastCommandCopies = arrayOfLength(\n segmentCount,\n Object.assign({}, commandsToExtend[commandsToExtend.length - 1])\n );\n\n // convert M to L\n if (lastCommandCopies[0].type === 'M') {\n lastCommandCopies.forEach((d) => {\n d.type = 'L';\n });\n }\n return extended.concat(lastCommandCopies);\n }\n\n // otherwise, split the segment segmentCount times.\n return extended.concat(\n splitSegment(commandsToExtend[i], commandsToExtend[i + 1], segmentCount)\n );\n }, []);\n\n // add in the very first point since splitSegment only adds in the ones after it\n extended.unshift(commandsToExtend[0]);\n\n return extended;\n}\n\n/**\n * Takes a path `d` string and converts it into an array of command\n * objects. Drops the `Z` character.\n *\n * @param {String|null} d A path `d` string\n */\nexport function pathCommandsFromString(d) {\n 'worklet';\n\n // split into valid tokens\n const tokens = (d || '').match(/[MLCSTQAHVZmlcstqahv]|-?[\\d.e+-]+/g) || [];\n const commands = [];\n let commandArgs;\n let command;\n\n // iterate over each token, checking if we are at a new command\n // by presence in the typeMap\n for (let i = 0; i < tokens.length; ++i) {\n commandArgs = typeMap[tokens[i]];\n\n // new command found:\n if (commandArgs) {\n command = {\n type: tokens[i],\n };\n\n // add each of the expected args for this command:\n for (let a = 0; a < commandArgs.length; ++a) {\n command[commandArgs[a]] = +tokens[i + a + 1];\n }\n\n // need to increment our token index appropriately since\n // we consumed token args\n i += commandArgs.length;\n\n commands.push(command);\n }\n }\n return commands;\n}\n\n/**\n * Interpolate from A to B by extending A and B during interpolation to have\n * the same number of points. This allows for a smooth transition when they\n * have a different number of points.\n *\n * Ignores the `Z` command in paths unless both A and B end with it.\n *\n * This function works directly with arrays of command objects instead of with\n * path `d` strings (see interpolatePath for working with `d` strings).\n *\n * @param {Object[]} aCommandsInput Array of path commands\n * @param {Object[]} bCommandsInput Array of path commands\n * @param {Function} excludeSegment a function that takes a start command object and\n * end command object and returns true if the segment should be excluded from splitting.\n * @returns {Function} Interpolation function that maps t ([0, 1]) to an array of path commands.\n */\nexport function interpolatePathCommands(\n aCommandsInput,\n bCommandsInput,\n excludeSegment\n) {\n 'worklet';\n\n // make a copy so we don't mess with the input arrays\n let aCommands = aCommandsInput == null ? [] : aCommandsInput.slice();\n let bCommands = bCommandsInput == null ? [] : bCommandsInput.slice();\n\n // both input sets are empty, so we don't interpolate\n if (!aCommands.length && !bCommands.length) {\n return function nullInterpolator() {\n 'worklet';\n\n return [];\n };\n }\n\n // do we add Z during interpolation? yes if both have it. (we'd expect both to have it or not)\n const addZ =\n (aCommands.length === 0 || aCommands[aCommands.length - 1].type === 'Z') &&\n (bCommands.length === 0 || bCommands[bCommands.length - 1].type === 'Z');\n\n // we temporarily remove Z\n if (aCommands.length > 0 && aCommands[aCommands.length - 1].type === 'Z') {\n aCommands.pop();\n }\n if (bCommands.length > 0 && bCommands[bCommands.length - 1].type === 'Z') {\n bCommands.pop();\n }\n\n // if A is empty, treat it as if it used to contain just the first point\n // of B. This makes it so the line extends out of from that first point.\n if (!aCommands.length) {\n aCommands.push(bCommands[0]);\n\n // otherwise if B is empty, treat it as if it contains the first point\n // of A. This makes it so the line retracts into the first point.\n } else if (!bCommands.length) {\n bCommands.push(aCommands[0]);\n }\n\n // extend to match equal size\n const numPointsToExtend = Math.abs(bCommands.length - aCommands.length);\n\n if (numPointsToExtend !== 0) {\n // B has more points than A, so add points to A before interpolating\n if (bCommands.length > aCommands.length) {\n aCommands = extend(aCommands, bCommands, excludeSegment);\n\n // else if A has more points than B, add more points to B\n } else if (bCommands.length < aCommands.length) {\n bCommands = extend(bCommands, aCommands, excludeSegment);\n }\n }\n\n // commands have same length now.\n // convert commands in A to the same type as those in B\n aCommands = aCommands.map((aCommand, i) =>\n convertToSameType(aCommand, bCommands[i])\n );\n\n // create mutable interpolated command objects\n const interpolatedCommands = aCommands.map((aCommand) => aCommand);\n\n if (addZ) {\n interpolatedCommands.push({ type: 'Z' });\n aCommands.push({ type: 'Z' }); // required for when returning at t == 0\n }\n\n return function pathCommandInterpolator(t) {\n 'worklet';\n\n // at 1 return the final value without the extensions used during interpolation\n if (t === 1) {\n return bCommandsInput == null ? [] : bCommandsInput;\n }\n\n // work with aCommands directly since interpolatedCommands are mutated\n if (t === 0) {\n return aCommands;\n }\n\n // interpolate the commands using the mutable interpolated command objs\n for (let i = 0; i < interpolatedCommands.length; ++i) {\n // if (interpolatedCommands[i].type === 'Z') continue;\n\n const aCommand = aCommands[i];\n const bCommand = bCommands[i];\n const interpolatedCommand = interpolatedCommands[i];\n for (let j = 0; j < typeMap[interpolatedCommand.type].length; j++) {\n const arg = typeMap[interpolatedCommand.type][j];\n interpolatedCommand[arg] = (1 - t) * aCommand[arg] + t * bCommand[arg];\n\n // do not use floats for flags (#27), round to integer\n if (arg === 'largeArcFlag' || arg === 'sweepFlag') {\n interpolatedCommand[arg] = Math.round(interpolatedCommand[arg]);\n }\n }\n }\n\n return interpolatedCommands;\n };\n}\n\n/**\n * Interpolate from A to B by extending A and B during interpolation to have\n * the same number of points. This allows for a smooth transition when they\n * have a different number of points.\n *\n * Ignores the `Z` character in paths unless both A and B end with it.\n *\n * @param {String} a The `d` attribute for a path\n * @param {String} b The `d` attribute for a path\n * @param {Function} excludeSegment a function that takes a start command object and\n * end command object and returns true if the segment should be excluded from splitting.\n * @returns {Function} Interpolation function that maps t ([0, 1]) to a path `d` string.\n */\nexport function interpolatePath(a, b, excludeSegment) {\n 'worklet';\n\n let aCommands = pathCommandsFromString(a);\n let bCommands = pathCommandsFromString(b);\n\n if (!aCommands.length && !bCommands.length) {\n return function nullInterpolator() {\n 'worklet';\n\n return '';\n };\n }\n\n const commandInterpolator = interpolatePathCommands(\n aCommands,\n bCommands,\n excludeSegment\n );\n\n return function pathStringInterpolator(t) {\n 'worklet';\n\n // at 1 return the final value without the extensions used during interpolation\n if (t === 1) {\n return b == null ? '' : b;\n }\n\n const interpolatedCommands = commandInterpolator(t);\n\n // convert to a string (fastest concat: https://jsperf.com/join-concat/150)\n let interpolatedString = '';\n for (let i = 0; i < interpolatedCommands.length; i++) {\n const interpolatedCommand = interpolatedCommands[i];\n interpolatedString += commandToString(interpolatedCommand);\n }\n\n return interpolatedString;\n };\n}\n"]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.lineChartDataPropToArray = lineChartDataPropToArray;
7
+
8
+ function lineChartDataPropToArray(dataProp) {
9
+ 'worklet';
10
+
11
+ if (!dataProp) {
12
+ return [];
13
+ }
14
+
15
+ if (Array.isArray(dataProp)) {
16
+ return dataProp;
17
+ }
18
+
19
+ const data = [];
20
+ Object.values(dataProp).forEach(dataSet => {
21
+ if (dataSet) {
22
+ data.push(...dataSet);
23
+ }
24
+ });
25
+ return data;
26
+ }
27
+ //# sourceMappingURL=lineChartDataPropToArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["lineChartDataPropToArray.ts"],"names":["lineChartDataPropToArray","dataProp","Array","isArray","data","Object","values","forEach","dataSet","push"],"mappings":";;;;;;;AAEO,SAASA,wBAAT,CACLC,QADK,EAEW;AAChB;;AAEA,MAAI,CAACA,QAAL,EAAe;AACb,WAAO,EAAP;AACD;;AAED,MAAIC,KAAK,CAACC,OAAN,CAAcF,QAAd,CAAJ,EAA6B;AAC3B,WAAOA,QAAP;AACD;;AAED,QAAMG,IAAoB,GAAG,EAA7B;AAEAC,EAAAA,MAAM,CAACC,MAAP,CAAcL,QAAd,EAAwBM,OAAxB,CAAiCC,OAAD,IAAa;AAC3C,QAAIA,OAAJ,EAAa;AACXJ,MAAAA,IAAI,CAACK,IAAL,CAAU,GAAGD,OAAb;AACD;AACF,GAJD;AAMA,SAAOJ,IAAP;AACD","sourcesContent":["import type { TLineChartData, TLineChartDataProp } from '../types';\n\nexport function lineChartDataPropToArray(\n dataProp: TLineChartDataProp\n): TLineChartData {\n 'worklet';\n\n if (!dataProp) {\n return [];\n }\n\n if (Array.isArray(dataProp)) {\n return dataProp;\n }\n\n const data: TLineChartData = [];\n\n Object.values(dataProp).forEach((dataSet) => {\n if (dataSet) {\n data.push(...dataSet);\n }\n });\n\n return data;\n}\n"]}
@@ -28,18 +28,24 @@ const AnimatedText = ({
28
28
  text,
29
29
  style
30
30
  }) => {
31
- const inputRef = _react.default.useRef(null);
32
-
33
- (0, _reactNativeReanimated.useAnimatedReaction)(() => {
34
- // always return false unless web to prevent unnecessary reactions
35
- return _reactNative.Platform.OS === 'web' && text.value;
36
- }, (data, prevData) => {
37
- if (_reactNative.Platform.OS === 'web' && data !== prevData && inputRef.current) {
38
- inputRef.current.setNativeProps({
39
- value: data
40
- });
41
- }
42
- });
31
+ const inputRef = _react.default.useRef(null); // eslint-disable-line @typescript-eslint/no-explicit-any
32
+
33
+
34
+ if (_reactNative.Platform.OS === 'web') {
35
+ // For some reason, the worklet reaction evaluates upfront regardless of any
36
+ // conditionals within it, causing Android to crash upon the invokation of `setNativeProps`.
37
+ // We are going to break the rules of hooks here so it doesn't invoke `useAnimatedReaction`
38
+ // for platforms outside of the web.
39
+ // eslint-disable-next-line react-hooks/rules-of-hooks
40
+ (0, _reactNativeReanimated.useAnimatedReaction)(() => {
41
+ return text.value;
42
+ }, (data, prevData) => {
43
+ if (data !== prevData && inputRef.current) {
44
+ inputRef.current.value = data;
45
+ }
46
+ });
47
+ }
48
+
43
49
  const animatedProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
44
50
  return {
45
51
  text: text.value // Here we use any because the text prop is not available in the type
@@ -54,10 +60,16 @@ const AnimatedText = ({
54
60
  web: inputRef
55
61
  }),
56
62
  value: text.value,
57
- style: style,
63
+ style: [styles.text, style],
58
64
  animatedProps: animatedProps
59
65
  });
60
66
  };
61
67
 
62
68
  exports.AnimatedText = AnimatedText;
69
+
70
+ const styles = _reactNative.StyleSheet.create({
71
+ text: {
72
+ color: 'black'
73
+ }
74
+ });
63
75
  //# sourceMappingURL=AnimatedText.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["AnimatedText.tsx"],"names":["Animated","addWhitelistedNativeProps","text","AnimatedTextInput","createAnimatedComponent","TextInput","AnimatedText","style","inputRef","React","useRef","Platform","OS","value","data","prevData","current","setNativeProps","animatedProps","select","web"],"mappings":";;;;;;;AAEA;;AACA;;AAEA;;;;;;;;AALA;AAUAA,+BAASC,yBAAT,CAAmC;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAAnC;;AAOA,MAAMC,iBAAiB,GAAGH,+BAASI,uBAAT,CAAiCC,sBAAjC,CAA1B;;AAEO,MAAMC,YAAY,GAAG,CAAC;AAAEJ,EAAAA,IAAF;AAAQK,EAAAA;AAAR,CAAD,KAAwC;AAClE,QAAMC,QAAQ,GAAGC,eAAMC,MAAN,CAAwB,IAAxB,CAAjB;;AAEA,kDACE,MAAM;AACJ;AACA,WAAOC,sBAASC,EAAT,KAAgB,KAAhB,IAAyBV,IAAI,CAACW,KAArC;AACD,GAJH,EAKE,CAACC,IAAD,EAAOC,QAAP,KAAoB;AAClB,QAAIJ,sBAASC,EAAT,KAAgB,KAAhB,IAAyBE,IAAI,KAAKC,QAAlC,IAA8CP,QAAQ,CAACQ,OAA3D,EAAoE;AAClER,MAAAA,QAAQ,CAACQ,OAAT,CAAiBC,cAAjB,CAAgC;AAC9BJ,QAAAA,KAAK,EAAEC;AADuB,OAAhC;AAGD;AACF,GAXH;AAaA,QAAMI,aAAa,GAAG,6CAAiB,MAAM;AAC3C,WAAO;AACLhB,MAAAA,IAAI,EAAEA,IAAI,CAACW,KADN,CAEL;AACA;;AAHK,KAAP;AAKD,GANqB,CAAtB;AAOA,sBACE,6BAAC,iBAAD;AACE,IAAA,qBAAqB,EAAC,aADxB;AAEE,IAAA,QAAQ,EAAE,KAFZ;AAGE,IAAA,GAAG,EAAEF,sBAASQ,MAAT,CAAgB;AAAEC,MAAAA,GAAG,EAAEZ;AAAP,KAAhB,CAHP;AAIE,IAAA,KAAK,EAAEN,IAAI,CAACW,KAJd;AAKE,IAAA,KAAK,EAAEN,KALT;AAME,IAAA,aAAa,EAAEW;AANjB,IADF;AAUD,CAjCM","sourcesContent":["// forked from https://github.com/wcandillon/react-native-redash/blob/master/src/ReText.tsx\n\nimport React from 'react';\nimport { Platform, TextProps as RNTextProps } from 'react-native';\nimport { TextInput } from 'react-native';\nimport Animated, {\n useAnimatedProps,\n useAnimatedReaction,\n} from 'react-native-reanimated';\n\nAnimated.addWhitelistedNativeProps({ text: true });\n\ninterface AnimatedTextProps {\n text: Animated.SharedValue<string>;\n style?: Animated.AnimateProps<RNTextProps>['style'];\n}\n\nconst AnimatedTextInput = Animated.createAnimatedComponent(TextInput);\n\nexport const AnimatedText = ({ text, style }: AnimatedTextProps) => {\n const inputRef = React.useRef<TextInput>(null);\n\n useAnimatedReaction(\n () => {\n // always return false unless web to prevent unnecessary reactions\n return Platform.OS === 'web' && text.value;\n },\n (data, prevData) => {\n if (Platform.OS === 'web' && data !== prevData && inputRef.current) {\n inputRef.current.setNativeProps({\n value: data,\n });\n }\n }\n );\n const animatedProps = useAnimatedProps(() => {\n return {\n text: text.value,\n // Here we use any because the text prop is not available in the type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } as any;\n });\n return (\n <AnimatedTextInput\n underlineColorAndroid=\"transparent\"\n editable={false}\n ref={Platform.select({ web: inputRef })}\n value={text.value}\n style={style}\n animatedProps={animatedProps}\n />\n );\n};\n"]}
1
+ {"version":3,"sources":["AnimatedText.tsx"],"names":["Animated","addWhitelistedNativeProps","text","AnimatedTextInput","createAnimatedComponent","TextInput","AnimatedText","style","inputRef","React","useRef","Platform","OS","value","data","prevData","current","animatedProps","select","web","styles","StyleSheet","create","color"],"mappings":";;;;;;;AAEA;;AACA;;AAEA;;;;;;;;AALA;AAUAA,+BAASC,yBAAT,CAAmC;AAAEC,EAAAA,IAAI,EAAE;AAAR,CAAnC;;AAOA,MAAMC,iBAAiB,GAAGH,+BAASI,uBAAT,CAAiCC,sBAAjC,CAA1B;;AAEO,MAAMC,YAAY,GAAG,CAAC;AAAEJ,EAAAA,IAAF;AAAQK,EAAAA;AAAR,CAAD,KAAwC;AAClE,QAAMC,QAAQ,GAAGC,eAAMC,MAAN,CAAkB,IAAlB,CAAjB,CADkE,CACxB;;;AAE1C,MAAIC,sBAASC,EAAT,KAAgB,KAApB,EAA2B;AACzB;AACA;AACA;AACA;AAEA;AACA,oDACE,MAAM;AACJ,aAAOV,IAAI,CAACW,KAAZ;AACD,KAHH,EAIE,CAACC,IAAD,EAAOC,QAAP,KAAoB;AAClB,UAAID,IAAI,KAAKC,QAAT,IAAqBP,QAAQ,CAACQ,OAAlC,EAA2C;AACzCR,QAAAA,QAAQ,CAACQ,OAAT,CAAiBH,KAAjB,GAAyBC,IAAzB;AACD;AACF,KARH;AAUD;;AACD,QAAMG,aAAa,GAAG,6CAAiB,MAAM;AAC3C,WAAO;AACLf,MAAAA,IAAI,EAAEA,IAAI,CAACW,KADN,CAEL;AACA;;AAHK,KAAP;AAKD,GANqB,CAAtB;AAOA,sBACE,6BAAC,iBAAD;AACE,IAAA,qBAAqB,EAAC,aADxB;AAEE,IAAA,QAAQ,EAAE,KAFZ;AAGE,IAAA,GAAG,EAAEF,sBAASO,MAAT,CAAgB;AAAEC,MAAAA,GAAG,EAAEX;AAAP,KAAhB,CAHP;AAIE,IAAA,KAAK,EAAEN,IAAI,CAACW,KAJd;AAKE,IAAA,KAAK,EAAE,CAACO,MAAM,CAAClB,IAAR,EAAcK,KAAd,CALT;AAME,IAAA,aAAa,EAAEU;AANjB,IADF;AAUD,CAtCM;;;;AAwCP,MAAMG,MAAM,GAAGC,wBAAWC,MAAX,CAAkB;AAC/BpB,EAAAA,IAAI,EAAE;AACJqB,IAAAA,KAAK,EAAE;AADH;AADyB,CAAlB,CAAf","sourcesContent":["// forked from https://github.com/wcandillon/react-native-redash/blob/master/src/ReText.tsx\n\nimport React from 'react';\nimport { Platform, StyleSheet, TextProps as RNTextProps } from 'react-native';\nimport { TextInput } from 'react-native';\nimport Animated, {\n useAnimatedProps,\n useAnimatedReaction,\n} from 'react-native-reanimated';\n\nAnimated.addWhitelistedNativeProps({ text: true });\n\ninterface AnimatedTextProps {\n text: Animated.SharedValue<string>;\n style?: Animated.AnimateProps<RNTextProps>['style'];\n}\n\nconst AnimatedTextInput = Animated.createAnimatedComponent(TextInput);\n\nexport const AnimatedText = ({ text, style }: AnimatedTextProps) => {\n const inputRef = React.useRef<any>(null); // eslint-disable-line @typescript-eslint/no-explicit-any\n\n if (Platform.OS === 'web') {\n // For some reason, the worklet reaction evaluates upfront regardless of any\n // conditionals within it, causing Android to crash upon the invokation of `setNativeProps`.\n // We are going to break the rules of hooks here so it doesn't invoke `useAnimatedReaction`\n // for platforms outside of the web.\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useAnimatedReaction(\n () => {\n return text.value;\n },\n (data, prevData) => {\n if (data !== prevData && inputRef.current) {\n inputRef.current.value = data;\n }\n }\n );\n }\n const animatedProps = useAnimatedProps(() => {\n return {\n text: text.value,\n // Here we use any because the text prop is not available in the type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n } as any;\n });\n return (\n <AnimatedTextInput\n underlineColorAndroid=\"transparent\"\n editable={false}\n ref={Platform.select({ web: inputRef })}\n value={text.value}\n style={[styles.text, style]}\n animatedProps={animatedProps}\n />\n );\n};\n\nconst styles = StyleSheet.create({\n text: {\n color: 'black',\n },\n});\n"]}