@hero-design/rn 7.1.0 → 7.1.3-alpha

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 (367) hide show
  1. package/.eslintrc.json +4 -3
  2. package/.expo/packager-info.json +3 -3
  3. package/.expo/web/cache/development/babel-loader/015cd4023bdd8e0e3e1de310046d3b16.json +1 -0
  4. package/.expo/web/cache/development/babel-loader/0255192076dea2c7675549fa263a6722.json +1 -0
  5. package/.expo/web/cache/development/babel-loader/02c646fdcaa4819674f8e44dc29cc0aa.json +1 -0
  6. package/.expo/web/cache/development/babel-loader/02e944ba6b7532c77b5ecd94f5a52945.json +1 -0
  7. package/.expo/web/cache/development/babel-loader/06168282f87d39982c04c3b7725abef8.json +1 -0
  8. package/.expo/web/cache/development/babel-loader/064867cdc71ec7f38308957641ec0e5c.json +1 -0
  9. package/.expo/web/cache/development/babel-loader/06ca002e730e83bc0dc273752554bb0c.json +1 -0
  10. package/.expo/web/cache/development/babel-loader/07e86d93ebd8574948f718d80ecb1fad.json +1 -0
  11. package/.expo/web/cache/development/babel-loader/081a940d3ae9e0d20d13c22cc43c0a46.json +1 -0
  12. package/.expo/web/cache/development/babel-loader/085466d1c040fb7ef5d00248adeb9f1d.json +1 -0
  13. package/.expo/web/cache/development/babel-loader/08b94b37dd81e6f1b9909d84cc376c2e.json +1 -0
  14. package/.expo/web/cache/development/babel-loader/0a25801a974b0000e0a99da16c026d5c.json +1 -0
  15. package/.expo/web/cache/development/babel-loader/0a97090e9243b34fc136fda2ec55c961.json +1 -0
  16. package/.expo/web/cache/development/babel-loader/0c15db912477ec22c24f92d59cd33999.json +1 -0
  17. package/.expo/web/cache/development/babel-loader/0c784bc417f84aadf97818fbd4054b3f.json +1 -0
  18. package/.expo/web/cache/development/babel-loader/0eb233e1ecf7aa8cefdf1146268e2ef1.json +1 -0
  19. package/.expo/web/cache/development/babel-loader/0fa0699844293bd83681296074c82f83.json +1 -0
  20. package/.expo/web/cache/development/babel-loader/121bdee5f5cb95d16d99e4c933ebf864.json +1 -0
  21. package/.expo/web/cache/development/babel-loader/124896b4a24d61a32b980cbe17dfd86d.json +1 -0
  22. package/.expo/web/cache/development/babel-loader/15499f3a2f57c5182f92a767b52ccaa7.json +1 -0
  23. package/.expo/web/cache/development/babel-loader/15b64eb35bbb00e9b7d2e1ba5de504aa.json +1 -0
  24. package/.expo/web/cache/development/babel-loader/16f046b2bba77cc6b20c53ab67a8845c.json +1 -0
  25. package/.expo/web/cache/development/babel-loader/18296da1d79a9b7ed67aa73b3674c98d.json +1 -0
  26. package/.expo/web/cache/development/babel-loader/183bf8d5b8b0a24f311560391b75fb28.json +1 -0
  27. package/.expo/web/cache/development/babel-loader/18e69c8d4e2278d3ed0a2a9cf9459979.json +1 -0
  28. package/.expo/web/cache/development/babel-loader/19f6c3fb7aa14dc1a42f5d75d2b0e267.json +1 -0
  29. package/.expo/web/cache/development/babel-loader/1a87e69c2765213ad342b5f454c0a058.json +1 -0
  30. package/.expo/web/cache/development/babel-loader/1ae9718a5291beb1a34921e74351868d.json +1 -0
  31. package/.expo/web/cache/development/babel-loader/1be8f9a2939f282c2218a492c2083516.json +1 -0
  32. package/.expo/web/cache/development/babel-loader/1c33ab505b1f55675a070b3f19ab5fc6.json +1 -0
  33. package/.expo/web/cache/development/babel-loader/1c53ddb06e14036617c6be6b6ec02e93.json +1 -0
  34. package/.expo/web/cache/development/babel-loader/1ce0f519e92a6f10348175e6fa42fd6a.json +1 -0
  35. package/.expo/web/cache/development/babel-loader/1e150d4ac2c661fd694b6cddce785558.json +1 -0
  36. package/.expo/web/cache/development/babel-loader/1e64bc6f174a20385a44365e77cb71ff.json +1 -0
  37. package/.expo/web/cache/development/babel-loader/2168be4a82a7d5b116dd8fd18bd5ab62.json +1 -0
  38. package/.expo/web/cache/development/babel-loader/21dae0abf6ef0400ef25dfc87d1f4671.json +1 -0
  39. package/.expo/web/cache/development/babel-loader/2286dc8cd20eaa8051a3400057edd5ae.json +1 -0
  40. package/.expo/web/cache/development/babel-loader/22b0965d8ed07fcd7d323d92eb56a91d.json +1 -0
  41. package/.expo/web/cache/development/babel-loader/243541d6511909b66a90d2824fc71f14.json +1 -0
  42. package/.expo/web/cache/development/babel-loader/24781a54910c0940c738ec301eff4318.json +1 -0
  43. package/.expo/web/cache/development/babel-loader/24b80d0446b9c88886cd1f951632ab91.json +1 -0
  44. package/.expo/web/cache/development/babel-loader/24d40521282cac7bb526f9a7a3ab4de2.json +1 -0
  45. package/.expo/web/cache/development/babel-loader/260bba3675ce84e0a277a65fdb52f235.json +1 -0
  46. package/.expo/web/cache/development/babel-loader/266b79a5977223dbee00bdc2732e5697.json +1 -0
  47. package/.expo/web/cache/development/babel-loader/26879ba706c68b0226a1242f3c28c0e2.json +1 -0
  48. package/.expo/web/cache/development/babel-loader/2746a8c85fca2064b7728ecfc2d7e022.json +1 -0
  49. package/.expo/web/cache/development/babel-loader/28308843667ee35631612116de8ee705.json +1 -0
  50. package/.expo/web/cache/development/babel-loader/2af2c923d4fe0c7736be88b0e2fac2c0.json +1 -0
  51. package/.expo/web/cache/development/babel-loader/2b00b74ce36325af2dd1ecb817f0b69e.json +1 -0
  52. package/.expo/web/cache/development/babel-loader/2bf696f8a70361680c8d88ae78227b2c.json +1 -0
  53. package/.expo/web/cache/development/babel-loader/2fbe5d411c533de433abd361bfba9e2f.json +1 -0
  54. package/.expo/web/cache/development/babel-loader/308a319d3e13964a95b184dd7e7483a7.json +1 -0
  55. package/.expo/web/cache/development/babel-loader/30a3d4b4e5bc9d62a22ea1c05d50e3d7.json +1 -0
  56. package/.expo/web/cache/development/babel-loader/3297de3af524b87977cccb0d51c6fdb7.json +1 -0
  57. package/.expo/web/cache/development/babel-loader/335055e2588a3f703b6681b513053069.json +1 -0
  58. package/.expo/web/cache/development/babel-loader/33b1a3e46b0a9c62db1005f57d2ae76d.json +1 -0
  59. package/.expo/web/cache/development/babel-loader/342f4f51d784f91793e41c4c463ba640.json +1 -0
  60. package/.expo/web/cache/development/babel-loader/34fbec758cf381ee3d274245596e884e.json +1 -0
  61. package/.expo/web/cache/development/babel-loader/36b241618bf067485a740d2052476b6b.json +1 -0
  62. package/.expo/web/cache/development/babel-loader/377d170e62cdfc5531aca97043caa939.json +1 -0
  63. package/.expo/web/cache/development/babel-loader/383c6c820117d99d43918fdc5646ef07.json +1 -0
  64. package/.expo/web/cache/development/babel-loader/38845b2c5c1d2ac8c34919b0420e217a.json +1 -0
  65. package/.expo/web/cache/development/babel-loader/3a1b5dd13338d9b8323cc65ac0ee9084.json +1 -0
  66. package/.expo/web/cache/development/babel-loader/3b6cafaec7bd951cb292d35b7b777e16.json +1 -0
  67. package/.expo/web/cache/development/babel-loader/3dde711133a24dc39a127890207efc14.json +1 -0
  68. package/.expo/web/cache/development/babel-loader/3e411553708caef8421aca4ca7a50a79.json +1 -0
  69. package/.expo/web/cache/development/babel-loader/3e4bf0afe3180d43e6259fdc9e2cf018.json +1 -0
  70. package/.expo/web/cache/development/babel-loader/3f45c156aeb578585b9367e9f769213a.json +1 -0
  71. package/.expo/web/cache/development/babel-loader/401d9d9024ed8c80f8875e3a561ebe52.json +1 -0
  72. package/.expo/web/cache/development/babel-loader/4119e38050883976b0b6604154ff74b1.json +1 -0
  73. package/.expo/web/cache/development/babel-loader/43053f3b8cae10481352c2e2515e9d3a.json +1 -0
  74. package/.expo/web/cache/development/babel-loader/43908b6386757cbdce634000cdb05be5.json +1 -0
  75. package/.expo/web/cache/development/babel-loader/45b0b2f0892e55f6766ea3f6eedfedc8.json +1 -0
  76. package/.expo/web/cache/development/babel-loader/4641f770b3a3c0e9d65049d69666f14a.json +1 -0
  77. package/.expo/web/cache/development/babel-loader/464cf321c96f5d3a11c6e7c9ce022d89.json +1 -0
  78. package/.expo/web/cache/development/babel-loader/4884e4300b99f1c73a01bc4da1e69e2e.json +1 -0
  79. package/.expo/web/cache/development/babel-loader/49889d761f9b1b6827a7b9a4c2b63949.json +1 -0
  80. package/.expo/web/cache/development/babel-loader/49e011b42b0e8b3a01cad47999ddd5f4.json +1 -0
  81. package/.expo/web/cache/development/babel-loader/4a2372960ee87388844ee5eacf8a4e5d.json +1 -0
  82. package/.expo/web/cache/development/babel-loader/4d27b44a4344eb5d6a82f929b034fcb6.json +1 -0
  83. package/.expo/web/cache/development/babel-loader/4d6224362744b0eda6e64e9096c88e5e.json +1 -0
  84. package/.expo/web/cache/development/babel-loader/4d7371ca965d4e8d8e3b9fe29d72cb56.json +1 -0
  85. package/.expo/web/cache/development/babel-loader/4decc31212afed6aecb648cd482d8f58.json +1 -0
  86. package/.expo/web/cache/development/babel-loader/4dfa2b3056c60bce932123f61e4bc6d2.json +1 -0
  87. package/.expo/web/cache/development/babel-loader/4e008a6aedd78b935cba6d0b3d6bc7ae.json +1 -0
  88. package/.expo/web/cache/development/babel-loader/4e822161a7bda4d88f0867695e1ecfd9.json +1 -0
  89. package/.expo/web/cache/development/babel-loader/4f1e0269842359fe96d27c5b9bfd1ac4.json +1 -0
  90. package/.expo/web/cache/development/babel-loader/4fb1f40f3a67457861766892e335a81d.json +1 -0
  91. package/.expo/web/cache/development/babel-loader/507a1917d95e59163a96e7784d5288a7.json +1 -0
  92. package/.expo/web/cache/development/babel-loader/50e87c60a46b4cdf0487b5edc043be30.json +1 -0
  93. package/.expo/web/cache/development/babel-loader/530461df12ae0b0f45c0d457547c372e.json +1 -0
  94. package/.expo/web/cache/development/babel-loader/5339c25a34fe42823b7a1d2e1cdc6546.json +1 -0
  95. package/.expo/web/cache/development/babel-loader/536ca6a6eed1bcdac31786e72dedea80.json +1 -0
  96. package/.expo/web/cache/development/babel-loader/53cd7a6341558d4da20796dc5ebd58bb.json +1 -0
  97. package/.expo/web/cache/development/babel-loader/540b224b100181005e79f2dadb1edbf8.json +1 -0
  98. package/.expo/web/cache/development/babel-loader/542c478f2a9a2ca89b6b87961cb48922.json +1 -0
  99. package/.expo/web/cache/development/babel-loader/54749024a5585009dc5b67e1b0d9dbdc.json +1 -0
  100. package/.expo/web/cache/development/babel-loader/5566a5cf483f5a29e31e71e44bd4ee31.json +1 -0
  101. package/.expo/web/cache/development/babel-loader/56014c53cc4a460aedbf6b315b7a83d1.json +1 -0
  102. package/.expo/web/cache/development/babel-loader/592bfc0572fc2bceb23e0650a747eaa8.json +1 -0
  103. package/.expo/web/cache/development/babel-loader/5a57cc696da8aefee15249d630caa27a.json +1 -0
  104. package/.expo/web/cache/development/babel-loader/5b2adce8bdaf8fa5bdaf1455f271e3c8.json +1 -0
  105. package/.expo/web/cache/development/babel-loader/5b306fddfa1f5d9e99d311532bd0139c.json +1 -0
  106. package/.expo/web/cache/development/babel-loader/5bbe045789809b2f64e2bd58eb420aa3.json +1 -0
  107. package/.expo/web/cache/development/babel-loader/5d7aefda6066de8bdbb1bcb007d1b5db.json +1 -0
  108. package/.expo/web/cache/development/babel-loader/5d82ac4048edb6410bf53e83cbcbb922.json +1 -0
  109. package/.expo/web/cache/development/babel-loader/5e11b649fa3602e096c920767cb436e3.json +1 -0
  110. package/.expo/web/cache/development/babel-loader/5e6d5abccf648c1a866e21ad2a09adfd.json +1 -0
  111. package/.expo/web/cache/development/babel-loader/5f5b8027c4d87d9e0feea8462780e8ad.json +1 -0
  112. package/.expo/web/cache/development/babel-loader/5fb192b131f2f50d41e33fe34dbbc297.json +1 -0
  113. package/.expo/web/cache/development/babel-loader/604249a15ce1c8e541864121ac7ac587.json +1 -0
  114. package/.expo/web/cache/development/babel-loader/61137d04349f30b618be58175ad9d350.json +1 -0
  115. package/.expo/web/cache/development/babel-loader/61ce8c3d59dde8eac802f308f9acc828.json +1 -0
  116. package/.expo/web/cache/development/babel-loader/6391d65a84100349eba3acb527e6b030.json +1 -0
  117. package/.expo/web/cache/development/babel-loader/6500ab6cfd39dbfff785d348bf367be8.json +1 -0
  118. package/.expo/web/cache/development/babel-loader/655221527a35c47d0109d3c96a8da168.json +1 -0
  119. package/.expo/web/cache/development/babel-loader/65568c39c8b15c78a96d4caf9941129b.json +1 -0
  120. package/.expo/web/cache/development/babel-loader/657adfbea82cd6254f7ac85151e6ea52.json +1 -0
  121. package/.expo/web/cache/development/babel-loader/66c4915ff6ebfde747894fd3f427b9c7.json +1 -0
  122. package/.expo/web/cache/development/babel-loader/6b558032ef2af0092093a0e2315e3b37.json +1 -0
  123. package/.expo/web/cache/development/babel-loader/6cc8c7be4e8e8792ad698f10623c9b11.json +1 -0
  124. package/.expo/web/cache/development/babel-loader/6e14a5e499ef7e25ca0cccb6269e2f5a.json +1 -0
  125. package/.expo/web/cache/development/babel-loader/70d42954cfcb018f13bad222cfdd26c2.json +1 -0
  126. package/.expo/web/cache/development/babel-loader/70e5d0fb55302845630dc7022fcab612.json +1 -0
  127. package/.expo/web/cache/development/babel-loader/7187c947a3186dfc0857f64da0908ecf.json +1 -0
  128. package/.expo/web/cache/development/babel-loader/71ff258c6f6d9b34829e45fd9452dd3a.json +1 -0
  129. package/.expo/web/cache/development/babel-loader/72447ee2c89506d47319627069907f4b.json +1 -0
  130. package/.expo/web/cache/development/babel-loader/72bfb7460b7b81f7f3bbddc81fc8e7dc.json +1 -0
  131. package/.expo/web/cache/development/babel-loader/731d03a0a67ecaf9a9383d41beae7fd4.json +1 -0
  132. package/.expo/web/cache/development/babel-loader/741251e4d56c2c8722a5b9a0bc8b36dd.json +1 -0
  133. package/.expo/web/cache/development/babel-loader/747257270c398282d135060092b5ffc4.json +1 -0
  134. package/.expo/web/cache/development/babel-loader/74852aa6ce6f71235218eb6f1a120430.json +1 -0
  135. package/.expo/web/cache/development/babel-loader/74afe49311fab37261730b1ea83897a1.json +1 -0
  136. package/.expo/web/cache/development/babel-loader/7535495406e9daac2cf50eddcbcf984f.json +1 -0
  137. package/.expo/web/cache/development/babel-loader/76a96c09b41232a1027eb57667bed4cd.json +1 -0
  138. package/.expo/web/cache/development/babel-loader/77b71e7070039d3b0809426997ec6355.json +1 -0
  139. package/.expo/web/cache/development/babel-loader/79febcd0920ccdc7d95510faa84cd785.json +1 -0
  140. package/.expo/web/cache/development/babel-loader/7a05a01c29184e51101a5896e6771068.json +1 -0
  141. package/.expo/web/cache/development/babel-loader/7b67bf87b7a24ce1bd0d21be94d39712.json +1 -0
  142. package/.expo/web/cache/development/babel-loader/7c10bbaa16fc3f92c14dc81ed9a103e2.json +1 -0
  143. package/.expo/web/cache/development/babel-loader/7e1434686597dbe27bbdf28db628678b.json +1 -0
  144. package/.expo/web/cache/development/babel-loader/8168bf7926790fd88c46d02691141eb3.json +1 -0
  145. package/.expo/web/cache/development/babel-loader/8261d9b6445c3ae4f3db3b5a87a32bfd.json +1 -0
  146. package/.expo/web/cache/development/babel-loader/82711d1d11135fe3c5f761ef84546cca.json +1 -0
  147. package/.expo/web/cache/development/babel-loader/82a952063dc4a552385e994d051987da.json +1 -0
  148. package/.expo/web/cache/development/babel-loader/840477709eff8cb91896d04291047917.json +1 -0
  149. package/.expo/web/cache/development/babel-loader/84f16ae9077a77a1f938db11c92e5cb0.json +1 -0
  150. package/.expo/web/cache/development/babel-loader/8611b6dbd6285e6aa281a8560c089b32.json +1 -0
  151. package/.expo/web/cache/development/babel-loader/877250c4b852a8c68a5787f00473bade.json +1 -0
  152. package/.expo/web/cache/development/babel-loader/878c86d46f1cc1c2e575715bb753a6c2.json +1 -0
  153. package/.expo/web/cache/development/babel-loader/89b0b1e82520bf4a83fb46a5d5e3051f.json +1 -0
  154. package/.expo/web/cache/development/babel-loader/8ace816b6b5d313af06a110d8fffdd29.json +1 -0
  155. package/.expo/web/cache/development/babel-loader/8c4251482b1bb231323018ad7f762c79.json +1 -0
  156. package/.expo/web/cache/development/babel-loader/8c852e6d1a4869af48b20deea5689c8e.json +1 -0
  157. package/.expo/web/cache/development/babel-loader/8cc22acf99bb15df0804268c9936a316.json +1 -0
  158. package/.expo/web/cache/development/babel-loader/8cda840d3c6065c9f5d94109ac5ceac8.json +1 -0
  159. package/.expo/web/cache/development/babel-loader/8da5a65a25b8617cc4b0f363b54f17a9.json +1 -0
  160. package/.expo/web/cache/development/babel-loader/8ed28a112dbd10ae72c4404ed767005a.json +1 -0
  161. package/.expo/web/cache/development/babel-loader/8f496b2cd6790e83bab10d24aae43247.json +1 -0
  162. package/.expo/web/cache/development/babel-loader/9066a94a8de4a1e5823cfd03c3c65c22.json +1 -0
  163. package/.expo/web/cache/development/babel-loader/91ebd1694a594c00836231f13fcb5ab8.json +1 -0
  164. package/.expo/web/cache/development/babel-loader/954de33d98429fe08ac02c788703effd.json +1 -0
  165. package/.expo/web/cache/development/babel-loader/954fcaa67e62fee1d0e55770c29643a9.json +1 -0
  166. package/.expo/web/cache/development/babel-loader/95633d8353ddde580626714ebeff4a3e.json +1 -0
  167. package/.expo/web/cache/development/babel-loader/95b1ef2ed750aa97d708fa5d1da11701.json +1 -0
  168. package/.expo/web/cache/development/babel-loader/95d8acbfa7ec33bf53408384561f8f59.json +1 -0
  169. package/.expo/web/cache/development/babel-loader/961bc9fd17fd516ae1093a6bea77b236.json +1 -0
  170. package/.expo/web/cache/development/babel-loader/96afd45a8ee5c316e8d2cdeab372d2d1.json +1 -0
  171. package/.expo/web/cache/development/babel-loader/96f2624d06f0d9c15f72fe52998bb3b5.json +1 -0
  172. package/.expo/web/cache/development/babel-loader/972f4e43ba279ed169c44d25e0badb76.json +1 -0
  173. package/.expo/web/cache/development/babel-loader/9800ddc64188c0c913c560451b4f20f9.json +1 -0
  174. package/.expo/web/cache/development/babel-loader/9a44846903f5dd2ed5c6ca62986c4d7b.json +1 -0
  175. package/.expo/web/cache/development/babel-loader/9afeae36f511af6858fe68f7e94de5fc.json +1 -0
  176. package/.expo/web/cache/development/babel-loader/9b9e501c7e3b15da22d1b1519d390a93.json +1 -0
  177. package/.expo/web/cache/development/babel-loader/9ba221ab0e27ecfc06fa08f1bd338d91.json +1 -0
  178. package/.expo/web/cache/development/babel-loader/9dc84383648386cdd64384268aaba4cd.json +1 -0
  179. package/.expo/web/cache/development/babel-loader/9ed0c292f501200dbab3287f89b74285.json +1 -0
  180. package/.expo/web/cache/development/babel-loader/9ff02f1934b1011e9f1702444f6ade8b.json +1 -0
  181. package/.expo/web/cache/development/babel-loader/a00673b61f03f25ca7d5dda9ec7f1684.json +1 -0
  182. package/.expo/web/cache/development/babel-loader/a11f1fec9b3c8224ec8a3561e9d39607.json +1 -0
  183. package/.expo/web/cache/development/babel-loader/a138071c6b457813fa75f80257c00948.json +1 -0
  184. package/.expo/web/cache/development/babel-loader/a13f4194bebf279521f1219c7f0edfe5.json +1 -0
  185. package/.expo/web/cache/development/babel-loader/a20bc8b3ff9c6f0a6d0505119c7c8e4b.json +1 -0
  186. package/.expo/web/cache/development/babel-loader/a2499bb844484b72ab0bd9e19b577a2a.json +1 -0
  187. package/.expo/web/cache/development/babel-loader/a3690c2af258782c6e54d70965e2d702.json +1 -0
  188. package/.expo/web/cache/development/babel-loader/a3b408c4e99dbfe5166c61130962d530.json +1 -0
  189. package/.expo/web/cache/development/babel-loader/a3d400d230600d4606a39b88b1a50ce9.json +1 -0
  190. package/.expo/web/cache/development/babel-loader/a576aa09c4387662d5041dc16e071e7d.json +1 -0
  191. package/.expo/web/cache/development/babel-loader/aadddefc328de2a87f9585c8b9cf1ddb.json +1 -0
  192. package/.expo/web/cache/development/babel-loader/abfcdee9f49c8512a556c8d96aab05b0.json +1 -0
  193. package/.expo/web/cache/development/babel-loader/af2abfdb26938b4671383c19a474c162.json +1 -0
  194. package/.expo/web/cache/development/babel-loader/afe4775e080557f919d69bece91f9b2e.json +1 -0
  195. package/.expo/web/cache/development/babel-loader/b03a4c4f01d00d65481849a79f542339.json +1 -0
  196. package/.expo/web/cache/development/babel-loader/b161867d1c22ab0db168cb41f31e3821.json +1 -0
  197. package/.expo/web/cache/development/babel-loader/b1a28b49b320580ad2d46a362b06190e.json +1 -0
  198. package/.expo/web/cache/development/babel-loader/b21a05f75cdf7d99468ea135e93764b4.json +1 -0
  199. package/.expo/web/cache/development/babel-loader/b23f758a73c6ba11c5cbddc73adfe6a0.json +1 -0
  200. package/.expo/web/cache/development/babel-loader/b2cc4b4fb8a4d19be9c69abaa2a93cb6.json +1 -0
  201. package/.expo/web/cache/development/babel-loader/b300fad9fcb11f4867e14c4aace9b942.json +1 -0
  202. package/.expo/web/cache/development/babel-loader/b33a1081489cf7b79984ef0a745448a8.json +1 -0
  203. package/.expo/web/cache/development/babel-loader/b436db3f88511bc5455c31bd368082c4.json +1 -0
  204. package/.expo/web/cache/development/babel-loader/b4c9da64b6d0ba5eb3caf414ca166637.json +1 -0
  205. package/.expo/web/cache/development/babel-loader/b56dceadf60beadf0d3374143c0b1603.json +1 -0
  206. package/.expo/web/cache/development/babel-loader/b76d9d60e417624f1df89b5add1d2db8.json +1 -0
  207. package/.expo/web/cache/development/babel-loader/b790b246d8bb0a38f5796cf5799b17f2.json +1 -0
  208. package/.expo/web/cache/development/babel-loader/b89ff8b3e2ec84a11907141f5e517bfe.json +1 -0
  209. package/.expo/web/cache/development/babel-loader/b955a4568536fcc96a9f4110da577064.json +1 -0
  210. package/.expo/web/cache/development/babel-loader/bab60f8582caa8ab641521aa39541ff7.json +1 -0
  211. package/.expo/web/cache/development/babel-loader/baf8ec42b5295bf9b71564fe06dff559.json +1 -0
  212. package/.expo/web/cache/development/babel-loader/bbad1fdb8bad7c28c7859a0f188d3a7b.json +1 -0
  213. package/.expo/web/cache/development/babel-loader/be1eb03dbd5cd69bbffa7ae2a6e9d668.json +1 -0
  214. package/.expo/web/cache/development/babel-loader/be2fcf3973e484a6a56e37129b5eaaf7.json +1 -0
  215. package/.expo/web/cache/development/babel-loader/bf8cf6088e983893d5b4c8bc034427e4.json +1 -0
  216. package/.expo/web/cache/development/babel-loader/bfcb86bceac05155e5308c18bdd3fe08.json +1 -0
  217. package/.expo/web/cache/development/babel-loader/c172563a78f317bdf0e36e24dde3452d.json +1 -0
  218. package/.expo/web/cache/development/babel-loader/c46ad8673d03b7db6d8a2c93ed6b3802.json +1 -0
  219. package/.expo/web/cache/development/babel-loader/c59a0c339fabfd6318413aa25031c201.json +1 -0
  220. package/.expo/web/cache/development/babel-loader/c62e34d8d462d6191e1dc14c5395d52b.json +1 -0
  221. package/.expo/web/cache/development/babel-loader/c74e4bc2f5768aff42dd3c55d81749c8.json +1 -0
  222. package/.expo/web/cache/development/babel-loader/c75a76b3e08859524b69d60f8bf1df0f.json +1 -0
  223. package/.expo/web/cache/development/babel-loader/c88179e7d8d1ca25305bfc867939f5a3.json +1 -0
  224. package/.expo/web/cache/development/babel-loader/caf356c64a9f318b905731a25c8caf91.json +1 -0
  225. package/.expo/web/cache/development/babel-loader/ccaedd363abc01c405579524b8bbaf35.json +1 -0
  226. package/.expo/web/cache/development/babel-loader/cd79d69eeae7dbcdc442f692ce8a9272.json +1 -0
  227. package/.expo/web/cache/development/babel-loader/cd9063bacb890d6d5a2e981754ccf164.json +1 -0
  228. package/.expo/web/cache/development/babel-loader/ce2f3ca01216078ce7e5a74516dbfc4c.json +1 -0
  229. package/.expo/web/cache/development/babel-loader/ce604f4f65dfe84b11bbec60230afff1.json +1 -0
  230. package/.expo/web/cache/development/babel-loader/cff5797fff55ca8e98d3118c9e7250d6.json +1 -0
  231. package/.expo/web/cache/development/babel-loader/d00c274746869d9a4c810f940808ca3e.json +1 -0
  232. package/.expo/web/cache/development/babel-loader/d139c5fbc81478cca93e6b4a926b7fad.json +1 -0
  233. package/.expo/web/cache/development/babel-loader/d226ab1782131db078fc56761777579a.json +1 -0
  234. package/.expo/web/cache/development/babel-loader/d3c10e924f2ce49ca4e0a8bc4d800047.json +1 -0
  235. package/.expo/web/cache/development/babel-loader/d6f1318a1043ef95ef641a9314445194.json +1 -0
  236. package/.expo/web/cache/development/babel-loader/d96467b93e0c8535e1d5dac15bda0d22.json +1 -0
  237. package/.expo/web/cache/development/babel-loader/da79a62f9b35ea1114a46be959df1c0c.json +1 -0
  238. package/.expo/web/cache/development/babel-loader/dbd0371650c94f023fc4464f7a30c068.json +1 -0
  239. package/.expo/web/cache/development/babel-loader/ded9ef4c8d70487402a7ed05aaa42bef.json +1 -0
  240. package/.expo/web/cache/development/babel-loader/e267b9a10da82d7c9d27a0a6d2f15d6b.json +1 -0
  241. package/.expo/web/cache/development/babel-loader/e3203299dd14cd528fb01e684c97f030.json +1 -0
  242. package/.expo/web/cache/development/babel-loader/e3403556a7bef19920ff892e7ae71a33.json +1 -0
  243. package/.expo/web/cache/development/babel-loader/e4d3d45445df8599087f3f379416f83e.json +1 -0
  244. package/.expo/web/cache/development/babel-loader/e50007c2b54696bab5256823bd8b75b9.json +1 -0
  245. package/.expo/web/cache/development/babel-loader/e505af1d2b9f766ae21c2c653bc1f0eb.json +1 -0
  246. package/.expo/web/cache/development/babel-loader/e529cbcc9a784bb39cb3f93b5916cdea.json +1 -0
  247. package/.expo/web/cache/development/babel-loader/e5e73e920ce1cc98aec12c63b7239f4f.json +1 -0
  248. package/.expo/web/cache/development/babel-loader/e5f18619a8f76be87191ef677841e2a4.json +1 -0
  249. package/.expo/web/cache/development/babel-loader/e6eb03aca0506d39f23ca4f3c83aa516.json +1 -0
  250. package/.expo/web/cache/development/babel-loader/e9a8c10622926d4b2e69ab52bd21997d.json +1 -0
  251. package/.expo/web/cache/development/babel-loader/eada955a7a1f7eccb8daa2d3e2e00359.json +1 -0
  252. package/.expo/web/cache/development/babel-loader/eb765434dad51366d5e994157844242b.json +1 -0
  253. package/.expo/web/cache/development/babel-loader/ebb9e1b4c723d0cd4d0ebac704bdbd2e.json +1 -0
  254. package/.expo/web/cache/development/babel-loader/ed91f60f62296cb2284d70d9f8e8607e.json +1 -0
  255. package/.expo/web/cache/development/babel-loader/edb4691fac98a028668fb1f0afd0471c.json +1 -0
  256. package/.expo/web/cache/development/babel-loader/ef239f9c50d12e0a9514accb8a19aa62.json +1 -0
  257. package/.expo/web/cache/development/babel-loader/efa1697210dffc161da37a2bf66914eb.json +1 -0
  258. package/.expo/web/cache/development/babel-loader/f0f1a470b5e186d352c84c767337086f.json +1 -0
  259. package/.expo/web/cache/development/babel-loader/f232ab08dc4147d3925c210ac21902cf.json +1 -0
  260. package/.expo/web/cache/development/babel-loader/f24954a77b038f86faabed1c01850607.json +1 -0
  261. package/.expo/web/cache/development/babel-loader/f260775a30a227263e75172591c552dd.json +1 -0
  262. package/.expo/web/cache/development/babel-loader/f3ec90f50a726109daca5a9d5c2e70d1.json +1 -0
  263. package/.expo/web/cache/development/babel-loader/f546bb0d85ea302b502ca4c8f7f2375e.json +1 -0
  264. package/.expo/web/cache/development/babel-loader/f58eea2525ec523b6cfef3cee01b55cd.json +1 -0
  265. package/.expo/web/cache/development/babel-loader/f6e983c3ec14d5a79e2fa722aaf4bea5.json +1 -0
  266. package/.expo/web/cache/development/babel-loader/f75a9c98751a201f9b7c208e0cbc1f19.json +1 -0
  267. package/.expo/web/cache/development/babel-loader/f7a3bc17fcdef31de4f4fc1152872eca.json +1 -0
  268. package/.expo/web/cache/development/babel-loader/f7b6d4fe4161fc5d6562a61b0b11f7e2.json +1 -0
  269. package/.expo/web/cache/development/babel-loader/f8c5e9dacf5878f90c86883e982f0227.json +1 -0
  270. package/.expo/web/cache/development/babel-loader/f8f784315a22e068136d73f99db42e30.json +1 -0
  271. package/.expo/web/cache/development/babel-loader/f9f931f3f27e2b3dff7fd9fb4fcf4bf3.json +1 -0
  272. package/.expo/web/cache/development/babel-loader/fa9d8fc1d56b04d006c0c18688a640fe.json +1 -0
  273. package/.expo/web/cache/development/babel-loader/fc660bf5528c70224ec6c3295a4f1a5e.json +1 -0
  274. package/.expo/web/cache/development/babel-loader/fd8b9e4327116ec3a3a6444e0ae6837d.json +1 -0
  275. package/.expo/web/cache/development/babel-loader/fdd2ca3ec9b54d1f53453b6d8632c0f5.json +1 -0
  276. package/.expo/web/cache/development/babel-loader/ff2eab785490c90e174666553fff7e66.json +1 -0
  277. package/.expo/web/cache/development/babel-loader/ffe419731db23fbdcca1bddb7cadae71.json +1 -0
  278. package/.expo/xcodebuild-error.log +4 -0
  279. package/.expo/xcodebuild.log +20 -0
  280. package/.tool-versions +2 -0
  281. package/es/index.js +485 -127
  282. package/lib/index.js +485 -126
  283. package/package.json +4 -3
  284. package/playground/components/BottomNavigation.tsx +69 -0
  285. package/playground/components/Card.tsx +131 -70
  286. package/playground/components/FAB.tsx +30 -28
  287. package/playground/components/Typography.tsx +3 -1
  288. package/playground/index.tsx +3 -0
  289. package/rollup.config.js +1 -1
  290. package/src/components/BottomNavigation/StyledBottomNavigation.tsx +58 -0
  291. package/src/components/BottomNavigation/__tests__/BottomNavigation.spec.tsx +95 -0
  292. package/src/components/BottomNavigation/__tests__/__snapshots__/BottomNavigation.spec.tsx.snap +315 -0
  293. package/src/components/BottomNavigation/index.tsx +169 -0
  294. package/src/components/Card/StyledCard.tsx +1 -0
  295. package/src/components/Card/__tests__/__snapshots__/Card.spec.tsx.snap +1 -0
  296. package/src/components/Card/__tests__/__snapshots__/StyledCard.spec.tsx.snap +1 -0
  297. package/src/components/FAB/ActionGroup/ActionItem.tsx +28 -0
  298. package/src/components/FAB/ActionGroup/StyledActionGroup.tsx +59 -0
  299. package/src/components/FAB/ActionGroup/StyledActionItem.tsx +29 -0
  300. package/src/components/FAB/ActionGroup/__tests__/__snapshots__/index.spec.tsx.snap +1019 -0
  301. package/src/components/FAB/ActionGroup/__tests__/index.spec.tsx +76 -0
  302. package/src/components/FAB/ActionGroup/index.tsx +120 -0
  303. package/src/components/FAB/FAB.tsx +54 -0
  304. package/src/components/FAB/StyledFABIcon.tsx +1 -1
  305. package/src/components/FAB/__tests__/__snapshots__/AnimatedFABIcon.spec.tsx.snap +2 -2
  306. package/src/components/FAB/__tests__/__snapshots__/StyledFABIcon.spec.tsx.snap +1 -1
  307. package/src/components/FAB/__tests__/__snapshots__/index.spec.tsx.snap +7 -7
  308. package/src/components/FAB/__tests__/index.spec.tsx +5 -5
  309. package/src/components/FAB/index.tsx +5 -55
  310. package/src/components/Icon/utils.ts +6 -0
  311. package/src/components/Typography/Text/StyledText.tsx +5 -1
  312. package/src/components/Typography/Text/index.tsx +2 -2
  313. package/src/index.ts +2 -0
  314. package/src/theme/__tests__/__snapshots__/index.spec.ts.snap +48 -1
  315. package/src/theme/components/bottomNavigation.ts +23 -0
  316. package/src/theme/components/fab.ts +33 -2
  317. package/src/theme/components/typography.ts +1 -0
  318. package/src/theme/global/typography.ts +4 -0
  319. package/src/theme/index.ts +3 -0
  320. package/src/utils/helpers.ts +4 -0
  321. package/types/components/Card/StyledView.d.ts +12 -0
  322. package/types/components/Card/index.d.ts +0 -5
  323. package/types/index.d.ts +3 -4
  324. package/types/playground/components/BottomNavigation.d.ts +2 -0
  325. package/types/src/components/BottomNavigation/StyledBottomNavigation.d.ts +17 -0
  326. package/types/{components/Card/__tests__/Card.spec.d.ts → src/components/BottomNavigation/__tests__/BottomNavigation.spec.d.ts} +0 -0
  327. package/types/src/components/BottomNavigation/index.d.ts +40 -0
  328. package/types/src/components/FAB/ActionGroup/ActionItem.d.ts +12 -0
  329. package/types/src/components/FAB/ActionGroup/StyledActionGroup.d.ts +12 -0
  330. package/types/src/components/FAB/ActionGroup/StyledActionItem.d.ts +4 -0
  331. package/types/src/components/FAB/ActionGroup/__tests__/index.spec.d.ts +1 -0
  332. package/types/src/components/FAB/ActionGroup/index.d.ts +27 -0
  333. package/types/src/components/FAB/FAB.d.ts +30 -0
  334. package/types/src/components/FAB/FABButton.d.ts +30 -0
  335. package/types/src/components/FAB/MenuList/MenuItem.d.ts +15 -0
  336. package/types/src/components/FAB/MenuList/StyleBackDrop.d.ts +5 -0
  337. package/types/src/components/FAB/MenuList/StyledHeaderText.d.ts +3 -0
  338. package/types/src/components/FAB/MenuList/StyledMenuItem.d.ts +4 -0
  339. package/types/src/components/FAB/MenuList/__tests__/index.spec.d.ts +1 -0
  340. package/types/src/components/FAB/MenuList/index.d.ts +27 -0
  341. package/types/{components/Card/__tests__/StyledCard.spec.d.ts → src/components/FAB/__tests__/FABButton.spec.d.ts} +0 -0
  342. package/types/src/components/FAB/index.d.ts +4 -30
  343. package/types/src/components/Icon/utils.d.ts +2 -0
  344. package/types/src/components/Typography/Text/StyledText.d.ts +1 -1
  345. package/types/src/components/Typography/Text/index.d.ts +2 -2
  346. package/types/src/index.d.ts +2 -1
  347. package/types/src/theme/components/bottomNavigation.d.ts +17 -0
  348. package/types/src/theme/components/fab.d.ts +28 -1
  349. package/types/src/theme/components/typography.d.ts +1 -0
  350. package/types/src/theme/global/index.d.ts +4 -0
  351. package/types/src/theme/global/typography.d.ts +4 -0
  352. package/types/src/theme/index.d.ts +2 -0
  353. package/types/src/utils/helpers.d.ts +2 -0
  354. package/types/theme/global/colors.d.ts +0 -2
  355. package/types/theme/global/index.d.ts +0 -5
  356. package/types/theme/index.d.ts +2 -4
  357. package/types/components/Card/StyledCard.d.ts +0 -3
  358. package/types/components/Divider/StyledDivider.d.ts +0 -7
  359. package/types/components/Divider/__tests__/StyledDivider.spec.d.ts +0 -1
  360. package/types/components/Divider/index.d.ts +0 -12
  361. package/types/components/ExampleComponent/StyledView.d.ts +0 -7
  362. package/types/components/ExampleComponent/__tests__/StyledView.spec.d.ts +0 -1
  363. package/types/components/ExampleComponent/index.d.ts +0 -16
  364. package/types/theme/__tests__/index.spec.d.ts +0 -1
  365. package/types/theme/components/card.d.ts +0 -10
  366. package/types/theme/components/divider.d.ts +0 -17
  367. package/types/theme/global/borders.d.ts +0 -4
@@ -0,0 +1,76 @@
1
+ import React from 'react';
2
+ import { fireEvent, render } from '@testing-library/react-native';
3
+ import ActionGroup from '..';
4
+ import { ThemeProvider, theme } from '../../../../index';
5
+ import '@testing-library/jest-native/extend-expect';
6
+
7
+ describe('ActionGroup', () => {
8
+ it.each`
9
+ active
10
+ ${true}
11
+ ${false}
12
+ `('has active $active', ({ active }) => {
13
+ const { toJSON, getByTestId, getByText } = render(
14
+ <ThemeProvider theme={theme}>
15
+ <ActionGroup
16
+ active={active}
17
+ headerTitle="What would you like to create?"
18
+ items={[
19
+ {
20
+ icon: 'speaker',
21
+ title: 'Give shout out',
22
+ testID: 'speaker-action-item',
23
+ },
24
+ { icon: 'target', title: 'Goal', testID: 'target-action-item' },
25
+ {
26
+ icon: 'plane',
27
+ title: 'Leave request',
28
+ testID: 'plane-action-item',
29
+ },
30
+ {
31
+ icon: 'health-bag',
32
+ title: 'Safety incident',
33
+ testID: 'health-bag-action-item',
34
+ },
35
+ { icon: 'clock', title: 'Timesheets', testID: 'clock-action-item' },
36
+ ]}
37
+ />
38
+ </ThemeProvider>
39
+ );
40
+
41
+ expect(toJSON()).toMatchSnapshot();
42
+
43
+ expect(getByText('What would you like to create?')).toBeDefined();
44
+ expect(getByTestId('speaker-action-item')).toBeDefined();
45
+ expect(getByTestId('target-action-item')).toBeDefined();
46
+ expect(getByTestId('plane-action-item')).toBeDefined();
47
+ expect(getByTestId('health-bag-action-item')).toBeDefined();
48
+
49
+ if (active) {
50
+ // verify action group appears
51
+ expect(getByTestId('action-group')).toHaveStyle({
52
+ transform: [{ translateX: 0 }],
53
+ });
54
+ expect(getByTestId('back-drop')).toHaveProp('pointerEvents', 'auto');
55
+ } else {
56
+ // verify action group disappears
57
+ expect(getByTestId('action-group')).toHaveStyle({
58
+ transform: [{ translateX: 400 }],
59
+ });
60
+ expect(getByTestId('back-drop')).toHaveProp('pointerEvents', 'box-none');
61
+ }
62
+ });
63
+
64
+ describe('when user presses', () => {
65
+ it('calls onPress', () => {
66
+ const onPressSpy = jest.fn();
67
+ const { getByTestId } = render(
68
+ <ThemeProvider theme={theme}>
69
+ <ActionGroup onPress={onPressSpy} />
70
+ </ThemeProvider>
71
+ );
72
+ fireEvent(getByTestId('fab'), 'press');
73
+ expect(onPressSpy).toBeCalledTimes(1);
74
+ });
75
+ });
76
+ });
@@ -0,0 +1,120 @@
1
+ import React, { useEffect, useRef } from 'react';
2
+ import { Animated, View, StyleProp, ViewStyle } from 'react-native';
3
+ import ActionItem, { ActionItemProps } from './ActionItem';
4
+ import {
5
+ StyledBackdrop,
6
+ StyledContainer,
7
+ StyledFAB,
8
+ StyledHeaderText,
9
+ StyledActionGroupContainer,
10
+ } from './StyledActionGroup';
11
+
12
+ type ActionItemsContainerProps = {
13
+ style?: StyleProp<ViewStyle>;
14
+ items?: Array<ActionItemProps>;
15
+ };
16
+ const ActionItemsListComponent = ({
17
+ style,
18
+ items,
19
+ }: ActionItemsContainerProps) => (
20
+ <View style={style}>
21
+ {items?.map(itemProp => (
22
+ <ActionItem key={itemProp.icon} {...itemProp} />
23
+ ))}
24
+ </View>
25
+ );
26
+
27
+ export interface ActionGroupProps {
28
+ /*
29
+ * Title of the action group header.
30
+ */
31
+ headerTitle?: string;
32
+
33
+ /**
34
+ * This function is called on pressing the FAB button.
35
+ * */
36
+ onPress?: () => void;
37
+
38
+ /**
39
+ * Specify if the FAB button is in active state and the action group is shown.
40
+ * */
41
+ active?: boolean;
42
+
43
+ /**
44
+ * Addditional style.
45
+ */
46
+ style?: StyleProp<ViewStyle>;
47
+
48
+ /**
49
+ * Action items of the action group.
50
+ * */
51
+ items?: Array<ActionItemProps>;
52
+
53
+ /**
54
+ * Testing id of the component.
55
+ */
56
+ testID?: string;
57
+ }
58
+ const ActionGroup = ({
59
+ headerTitle,
60
+ onPress,
61
+ active,
62
+ style,
63
+ items,
64
+ testID,
65
+ }: ActionGroupProps) => {
66
+ const tranlateXAnimation = useRef<Animated.Value>(
67
+ new Animated.Value(active ? 1 : 0)
68
+ );
69
+ useEffect(() => {
70
+ const animation = Animated.timing(tranlateXAnimation.current, {
71
+ toValue: active ? 1 : 0,
72
+ useNativeDriver: true,
73
+ });
74
+
75
+ animation.start();
76
+ }, [active]);
77
+
78
+ const interpolatedTranlateXAnimation = tranlateXAnimation.current.interpolate(
79
+ {
80
+ inputRange: [0, 1],
81
+ outputRange: [400, 0],
82
+ }
83
+ );
84
+ const interpolatedOpacityAnimation = tranlateXAnimation.current.interpolate({
85
+ inputRange: [0, 1],
86
+ outputRange: [0, 0.5],
87
+ });
88
+
89
+ return (
90
+ <StyledContainer testID={testID} pointerEvents="box-none" style={style}>
91
+ <StyledBackdrop
92
+ pointerEvents={active ? 'auto' : 'box-none'}
93
+ testID="back-drop"
94
+ style={{ opacity: interpolatedOpacityAnimation }}
95
+ />
96
+ <StyledActionGroupContainer
97
+ testID="action-group"
98
+ style={{
99
+ transform: [{ translateX: interpolatedTranlateXAnimation }],
100
+ }}
101
+ >
102
+ {headerTitle && (
103
+ <StyledHeaderText testID="header-text">
104
+ {headerTitle}
105
+ </StyledHeaderText>
106
+ )}
107
+ <ActionItemsListComponent items={items} />
108
+ </StyledActionGroupContainer>
109
+ <StyledFAB
110
+ testID="fab"
111
+ icon="add"
112
+ onPress={onPress}
113
+ animated
114
+ active={active}
115
+ />
116
+ </StyledContainer>
117
+ );
118
+ };
119
+
120
+ export default ActionGroup;
@@ -0,0 +1,54 @@
1
+ import React from 'react';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
+ import { IconProps } from '../Icon';
4
+ import { AnimatedFABIcon } from './AnimatedFABIcon';
5
+ import { StyledFABContainer } from './StyledFABContainer';
6
+ import { StyledFABIcon } from './StyledFABIcon';
7
+
8
+ export interface FABProps {
9
+ /**
10
+ * Name of the Icon.
11
+ */
12
+ icon: IconProps['icon'];
13
+
14
+ /**
15
+ * This function is called on pressing the button.
16
+ * */
17
+ onPress?: () => void;
18
+
19
+ /**
20
+ * Specify if the button is animated.
21
+ */
22
+ animated?: boolean;
23
+
24
+ /**
25
+ * Specify if the button is in active state. It only works if animated is true.
26
+ */
27
+ active?: boolean;
28
+ /**
29
+ * Addditional style.
30
+ */
31
+ style?: StyleProp<ViewStyle>;
32
+
33
+ /**
34
+ * Testing id of the component.
35
+ */
36
+ testID?: string;
37
+ }
38
+
39
+ const FAB = ({ onPress, icon, animated, testID, active, style }: FABProps) => (
40
+ <StyledFABContainer
41
+ testID={testID}
42
+ onPress={onPress}
43
+ activeOpacity={0.6}
44
+ style={style}
45
+ >
46
+ {animated ? (
47
+ <AnimatedFABIcon active={active} icon={icon} testID="animated-fab-icon" />
48
+ ) : (
49
+ <StyledFABIcon icon={icon} testID="styled-fab-icon" />
50
+ )}
51
+ </StyledFABContainer>
52
+ );
53
+
54
+ export default FAB;
@@ -3,7 +3,7 @@ import Icon, { IconProps } from '../Icon';
3
3
 
4
4
  const StyledFABIcon = styled(Icon)<IconProps>`
5
5
  color: ${({ theme }) => theme.__hd__.fab.colors.icon};
6
- font-size: ${({ theme }) => theme.__hd__.fab.fontSizes.default};
6
+ font-size: ${({ theme }) => theme.__hd__.fab.fontSizes.buttonIcon};
7
7
  `;
8
8
 
9
9
  export { StyledFABIcon };
@@ -24,7 +24,7 @@ exports[`AnimatedFABIcon renders correctly when isActive is false 1`] = `
24
24
  },
25
25
  Object {
26
26
  "color": "#ffffff",
27
- "fontSize": 28,
27
+ "fontSize": 24,
28
28
  },
29
29
  Object {},
30
30
  ]
@@ -59,7 +59,7 @@ exports[`AnimatedFABIcon renders correctly when isActive is true 1`] = `
59
59
  },
60
60
  Object {
61
61
  "color": "#ffffff",
62
- "fontSize": 28,
62
+ "fontSize": 24,
63
63
  },
64
64
  Object {},
65
65
  ]
@@ -11,7 +11,7 @@ exports[`StyledFABIcon renders correctly 1`] = `
11
11
  },
12
12
  Object {
13
13
  "color": "#ffffff",
14
- "fontSize": 28,
14
+ "fontSize": 24,
15
15
  },
16
16
  ]
17
17
  }
@@ -1,9 +1,9 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`FAB when animated is false renders styledFABIcon 1`] = `
3
+ exports[`FAB when animated is false renders StyledFABIcon 1`] = `
4
4
  <View
5
5
  accessible={true}
6
- focusable={true}
6
+ focusable={false}
7
7
  onClick={[Function]}
8
8
  onResponderGrant={[Function]}
9
9
  onResponderMove={[Function]}
@@ -41,11 +41,11 @@ exports[`FAB when animated is false renders styledFABIcon 1`] = `
41
41
  },
42
42
  Object {
43
43
  "color": "#ffffff",
44
- "fontSize": 28,
44
+ "fontSize": 24,
45
45
  },
46
46
  ]
47
47
  }
48
- testID="styledFABIcon"
48
+ testID="styled-fab-icon"
49
49
  themeIntent="text"
50
50
  themeSize="medium"
51
51
  />
@@ -55,7 +55,7 @@ exports[`FAB when animated is false renders styledFABIcon 1`] = `
55
55
  exports[`FAB when animated is true renders animatedFABIcon 1`] = `
56
56
  <View
57
57
  accessible={true}
58
- focusable={true}
58
+ focusable={false}
59
59
  onClick={[Function]}
60
60
  onResponderGrant={[Function]}
61
61
  onResponderMove={[Function]}
@@ -106,12 +106,12 @@ exports[`FAB when animated is true renders animatedFABIcon 1`] = `
106
106
  },
107
107
  Object {
108
108
  "color": "#ffffff",
109
- "fontSize": 28,
109
+ "fontSize": 24,
110
110
  },
111
111
  Object {},
112
112
  ]
113
113
  }
114
- testID="animatedFABIcon"
114
+ testID="animated-fab-icon"
115
115
  themeIntent="text"
116
116
  themeSize="medium"
117
117
  />
@@ -17,12 +17,12 @@ describe('FAB', () => {
17
17
  );
18
18
 
19
19
  expect(toJSON()).toMatchSnapshot();
20
- expect(queryAllByTestId('animatedFABIcon')).toHaveLength(1);
20
+ expect(queryAllByTestId('animated-fab-icon')).toHaveLength(1);
21
21
  });
22
22
  });
23
23
 
24
24
  describe('when animated is false', () => {
25
- it('renders styledFABIcon', () => {
25
+ it('renders StyledFABIcon', () => {
26
26
  const { queryAllByTestId, toJSON } = render(
27
27
  <ThemeProvider theme={theme}>
28
28
  <FAB
@@ -33,7 +33,7 @@ describe('FAB', () => {
33
33
  );
34
34
 
35
35
  expect(toJSON()).toMatchSnapshot();
36
- expect(queryAllByTestId('styledFABIcon')).toHaveLength(1);
36
+ expect(queryAllByTestId('styled-fab-icon')).toHaveLength(1);
37
37
  });
38
38
  });
39
39
 
@@ -46,12 +46,12 @@ describe('FAB', () => {
46
46
  onPress={onPressSpy}
47
47
  icon="add"
48
48
  style={{ backgroundColor: theme.colors.backgroundDark }}
49
- testID="FAB"
49
+ testID="fab"
50
50
  />
51
51
  </ThemeProvider>
52
52
  );
53
53
 
54
- fireEvent(getByTestId('FAB'), 'press');
54
+ fireEvent(getByTestId('fab'), 'press');
55
55
  expect(onPressSpy).toBeCalledTimes(1);
56
56
  });
57
57
  });
@@ -1,56 +1,6 @@
1
- import React from 'react';
2
- import { StyleProp, ViewStyle } from 'react-native';
3
- import { IconProps } from '../Icon';
4
- import { AnimatedFABIcon } from './AnimatedFABIcon';
5
- import { StyledFABContainer } from './StyledFABContainer';
6
- import { StyledFABIcon } from './StyledFABIcon';
1
+ import FAB from './FAB';
2
+ import ActionGroup from './ActionGroup';
7
3
 
8
- interface FABProps {
9
- /**
10
- * Name of the Icon.
11
- */
12
- icon: IconProps['icon'];
13
-
14
- /**
15
- * This function is called on pressing the button.
16
- * */
17
- onPress?: () => void;
18
-
19
- /**
20
- * Specify if the button is animated.
21
- */
22
- animated?: boolean;
23
-
24
- /**
25
- * Specify if the button is in active state. It only works if animated is true.
26
- */
27
- active?: boolean;
28
- /**
29
- * Addditional style.
30
- */
31
- style?: StyleProp<ViewStyle>;
32
-
33
- /**
34
- * Testing id of the component.
35
- */
36
- testID?: string;
37
- }
38
-
39
- const FAB = ({ onPress, icon, animated, testID, active, style }: FABProps) => (
40
- <StyledFABContainer
41
- testID={testID}
42
- onPress={() => {
43
- onPress?.();
44
- }}
45
- activeOpacity={0.6}
46
- style={style}
47
- >
48
- {animated ? (
49
- <AnimatedFABIcon active={active} icon={icon} testID="animatedFABIcon" />
50
- ) : (
51
- <StyledFABIcon icon={icon} testID="styledFABIcon" />
52
- )}
53
- </StyledFABContainer>
54
- );
55
-
56
- export default FAB;
4
+ export default Object.assign(FAB, {
5
+ ActionGroup,
6
+ });
@@ -0,0 +1,6 @@
1
+ import IconList from './IconList';
2
+
3
+ const isHeroIcon = (x: any): x is typeof IconList[number] =>
4
+ IconList.includes(x);
5
+
6
+ export { isHeroIcon };
@@ -4,7 +4,7 @@ import styled, { css } from '../../../styled-components';
4
4
  const StyledText = styled(Text)<{
5
5
  themeFontSize: 'small' | 'medium' | 'large' | 'xlarge';
6
6
  themeFontWeight: 'light' | 'regular' | 'semi-bold';
7
- themeIntent: 'body' | 'subdued';
7
+ themeIntent: 'body' | 'subdued' | 'primary';
8
8
  }>`
9
9
  ${({ themeFontSize, theme }) => {
10
10
  switch (themeFontSize) {
@@ -62,6 +62,10 @@ const StyledText = styled(Text)<{
62
62
  return css`
63
63
  color: ${theme.__hd__.typography.colors.subdued};
64
64
  `;
65
+ case 'primary':
66
+ return css`
67
+ color: ${theme.__hd__.typography.colors.primary};
68
+ `;
65
69
  }
66
70
  }}
67
71
  `;
@@ -6,7 +6,7 @@ import {
6
6
  } from 'react-native';
7
7
  import { StyledText } from './StyledText';
8
8
 
9
- interface TextProps extends NativeTextProps {
9
+ export interface TextProps extends NativeTextProps {
10
10
  /**
11
11
  * Text content.
12
12
  */
@@ -22,7 +22,7 @@ interface TextProps extends NativeTextProps {
22
22
  /**
23
23
  * Visual intent color to apply to the text.
24
24
  */
25
- intent?: 'body' | 'subdued';
25
+ intent?: 'body' | 'subdued' | 'primary';
26
26
  /**
27
27
  * Addditional style.
28
28
  */
package/src/index.ts CHANGED
@@ -3,6 +3,7 @@ import theme, { getTheme } from './theme';
3
3
  import { scale } from './utils/scale';
4
4
 
5
5
  import Badge from './components/Badge';
6
+ import BottomNavigation from './components/BottomNavigation';
6
7
  import Card from './components/Card';
7
8
  import Divider from './components/Divider';
8
9
  import Icon from './components/Icon';
@@ -16,6 +17,7 @@ export {
16
17
  scale,
17
18
  ThemeProvider,
18
19
  Badge,
20
+ BottomNavigation,
19
21
  Card,
20
22
  Divider,
21
23
  Icon,
@@ -30,6 +30,21 @@ Object {
30
30
  "default": "4px",
31
31
  },
32
32
  },
33
+ "bottomNavigation": Object {
34
+ "colors": Object {
35
+ "background": "#ffffff",
36
+ "shadow": "#292a2b",
37
+ },
38
+ "shadows": Object {
39
+ "elevation": 10,
40
+ "offset": "0px 3px",
41
+ "opacity": 0.27,
42
+ "radius": "4.65px",
43
+ },
44
+ "sizes": Object {
45
+ "height": 72,
46
+ },
47
+ },
33
48
  "card": Object {
34
49
  "padding": Object {
35
50
  "default": "8px",
@@ -55,16 +70,43 @@ Object {
55
70
  },
56
71
  "fab": Object {
57
72
  "colors": Object {
73
+ "actionItemBackground": "#d1d9fe",
74
+ "backdropBackground": "#ffffff",
58
75
  "buttonBackground": "#292a2b",
76
+ "headerText": "#292a2b",
59
77
  "icon": "#ffffff",
60
78
  },
61
79
  "fontSizes": Object {
62
- "default": "28px",
80
+ "actionItemText": "14px",
81
+ "buttonIcon": "24px",
82
+ "header": "24px",
83
+ },
84
+ "fontWeights": Object {
85
+ "actionItemText": "400",
86
+ "header": "600",
87
+ },
88
+ "lineHeights": Object {
89
+ "actionItemText": "22px",
90
+ "header": "32px",
91
+ },
92
+ "radii": Object {
93
+ "actionItem": "999px",
63
94
  },
64
95
  "sizes": Object {
65
96
  "height": "64px",
66
97
  "width": "64px",
67
98
  },
99
+ "space": Object {
100
+ "actionItemMargin": "8px",
101
+ "actionItemMarginRight": "24px",
102
+ "actionItemPaddingBottom": "8px",
103
+ "actionItemPaddingLeft": "16px",
104
+ "actionItemPaddingRight": "16px",
105
+ "actionItemPaddingTop": "8px",
106
+ "actionItemTextPaddingLeft": "8px",
107
+ "headerTextMarginBottom": "24px",
108
+ "headerTextMarginRight": "24px",
109
+ },
68
110
  },
69
111
  "icon": Object {
70
112
  "colors": Object {
@@ -86,6 +128,7 @@ Object {
86
128
  "typography": Object {
87
129
  "colors": Object {
88
130
  "body": "#292a2b",
131
+ "primary": "#7622d7",
89
132
  "subdued": "#8b8d92",
90
133
  },
91
134
  "fontSizes": Object {
@@ -157,6 +200,10 @@ Object {
157
200
  "small": 20,
158
201
  "xlarge": 26,
159
202
  "xsmall": 18,
203
+ "xxlarge": 28,
204
+ "xxxlarge": 32,
205
+ "xxxxlarge": 36,
206
+ "xxxxxlarge": 40,
160
207
  },
161
208
  "space": Object {
162
209
  "large": 24,
@@ -0,0 +1,23 @@
1
+ import { GlobalTheme } from '../global';
2
+
3
+ const getBottomNavigationTheme = (theme: GlobalTheme) => {
4
+ const colors = {
5
+ shadow: theme.colors.backgroundDark,
6
+ background: theme.colors.platformBackground,
7
+ };
8
+
9
+ const sizes = {
10
+ height: 72,
11
+ };
12
+
13
+ const shadows = {
14
+ offset: `0px 3px`,
15
+ opacity: 0.27,
16
+ radius: `4.65px`,
17
+ elevation: 10,
18
+ };
19
+
20
+ return { colors, shadows, sizes };
21
+ };
22
+
23
+ export default getBottomNavigationTheme;
@@ -4,6 +4,9 @@ const getFABTheme = (theme: GlobalTheme) => {
4
4
  const colors = {
5
5
  buttonBackground: theme.colors.backgroundDark,
6
6
  icon: theme.colors.invertedText,
7
+ headerText: theme.colors.text,
8
+ actionItemBackground: theme.colors.infoLight,
9
+ backdropBackground: theme.colors.platformBackground,
7
10
  };
8
11
 
9
12
  const sizes = {
@@ -12,10 +15,38 @@ const getFABTheme = (theme: GlobalTheme) => {
12
15
  };
13
16
 
14
17
  const fontSizes = {
15
- default: `${theme.fontSizes.xxxxlarge}px`,
18
+ header: `${theme.fontSizes.xxxlarge}px`,
19
+ buttonIcon: `${theme.fontSizes.xxxlarge}px`,
20
+ actionItemText: `${theme.fontSizes.medium}px`,
16
21
  };
17
22
 
18
- return { fontSizes, colors, sizes };
23
+ const fontWeights = {
24
+ header: `${theme.fontWeights.semiBold}`,
25
+ actionItemText: `${theme.fontWeights.regular}`,
26
+ };
27
+
28
+ const lineHeights = {
29
+ header: `${theme.lineHeights.xxxlarge}px`,
30
+ actionItemText: `${theme.lineHeights.medium}px`,
31
+ };
32
+
33
+ const space = {
34
+ actionItemPaddingLeft: `${theme.space.medium}px`,
35
+ actionItemPaddingRight: `${theme.space.medium}px`,
36
+ actionItemPaddingTop: `${theme.space.small}px`,
37
+ actionItemPaddingBottom: `${theme.space.small}px`,
38
+ actionItemMargin: `${theme.space.small}px`,
39
+ actionItemMarginRight: `${theme.space.large}px`,
40
+ actionItemTextPaddingLeft: `${theme.space.small}px`,
41
+ headerTextMarginRight: `${theme.space.large}px`,
42
+ headerTextMarginBottom: `${theme.space.large}px`,
43
+ };
44
+
45
+ const radii = {
46
+ actionItem: `999px`,
47
+ };
48
+
49
+ return { radii, fontSizes, colors, sizes, lineHeights, fontWeights, space };
19
50
  };
20
51
 
21
52
  export default getFABTheme;
@@ -4,6 +4,7 @@ const getTypographyTheme = (theme: GlobalTheme) => {
4
4
  const colors = {
5
5
  body: theme.colors.text,
6
6
  subdued: theme.colors.disabledText,
7
+ primary: theme.colors.primary,
7
8
  };
8
9
 
9
10
  const fontSizes = {
@@ -22,6 +22,10 @@ const fontWeights = {
22
22
  };
23
23
 
24
24
  const lineHeights = {
25
+ xxxxxlarge: fontSizes.xxxxxlarge + 8,
26
+ xxxxlarge: fontSizes.xxxxlarge + 8,
27
+ xxxlarge: fontSizes.xxxlarge + 8,
28
+ xxlarge: fontSizes.xxlarge + 8,
25
29
  xlarge: fontSizes.xlarge + 8,
26
30
  large: fontSizes.large + 8,
27
31
  medium: fontSizes.medium + 8,