@coze-arch/cli 0.0.10 → 0.0.11

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 (437) hide show
  1. package/lib/__templates__/expo/AGENTS.md +3 -3
  2. package/lib/__templates__/expo/README.md +3 -3
  3. package/lib/__templates__/expo/client/components/Provider.tsx +4 -1
  4. package/lib/__templates__/expo/client/components/Screen.tsx +4 -1
  5. package/lib/__templates__/expo/client/eslint.config.mjs +2 -0
  6. package/lib/__templates__/expo/client/global.css +1 -0
  7. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.animation.ts +178 -0
  8. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.constants.ts +62 -0
  9. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.md +437 -0
  10. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.styles.ts +95 -0
  11. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.tsx +340 -0
  12. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.types.ts +267 -0
  13. package/lib/__templates__/expo/client/heroui/components/accordion/index.ts +17 -0
  14. package/lib/__templates__/expo/client/heroui/components/alert/alert.constants.ts +13 -0
  15. package/lib/__templates__/expo/client/heroui/components/alert/alert.hooks.ts +28 -0
  16. package/lib/__templates__/expo/client/heroui/components/alert/alert.md +263 -0
  17. package/lib/__templates__/expo/client/heroui/components/alert/alert.styles.ts +65 -0
  18. package/lib/__templates__/expo/client/heroui/components/alert/alert.tsx +181 -0
  19. package/lib/__templates__/expo/client/heroui/components/alert/alert.types.ts +99 -0
  20. package/lib/__templates__/expo/client/heroui/components/alert/alert.utils.tsx +25 -0
  21. package/lib/__templates__/expo/client/heroui/components/alert/default-icon.tsx +28 -0
  22. package/lib/__templates__/expo/client/heroui/components/alert/index.ts +15 -0
  23. package/lib/__templates__/expo/client/heroui/components/alert/success-icon.tsx +28 -0
  24. package/lib/__templates__/expo/client/heroui/components/alert/warning-icon.tsx +28 -0
  25. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.animation.ts +123 -0
  26. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.constants.ts +19 -0
  27. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.context.ts +11 -0
  28. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.md +386 -0
  29. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.styles.ts +145 -0
  30. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.tsx +307 -0
  31. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.types.ts +239 -0
  32. package/lib/__templates__/expo/client/heroui/components/avatar/index.ts +13 -0
  33. package/lib/__templates__/expo/client/heroui/components/avatar/person-icon.tsx +23 -0
  34. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.animation.ts +42 -0
  35. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.constants.ts +13 -0
  36. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.md +349 -0
  37. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.styles.ts +66 -0
  38. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.tsx +351 -0
  39. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.types.ts +150 -0
  40. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/index.ts +16 -0
  41. package/lib/__templates__/expo/client/heroui/components/button/button.constants.ts +7 -0
  42. package/lib/__templates__/expo/client/heroui/components/button/button.md +381 -0
  43. package/lib/__templates__/expo/client/heroui/components/button/button.styles.ts +89 -0
  44. package/lib/__templates__/expo/client/heroui/components/button/button.tsx +284 -0
  45. package/lib/__templates__/expo/client/heroui/components/button/button.types.ts +175 -0
  46. package/lib/__templates__/expo/client/heroui/components/button/button.utils.ts +34 -0
  47. package/lib/__templates__/expo/client/heroui/components/button/index.ts +9 -0
  48. package/lib/__templates__/expo/client/heroui/components/card/card.constants.ts +11 -0
  49. package/lib/__templates__/expo/client/heroui/components/card/card.md +186 -0
  50. package/lib/__templates__/expo/client/heroui/components/card/card.styles.ts +35 -0
  51. package/lib/__templates__/expo/client/heroui/components/card/card.tsx +153 -0
  52. package/lib/__templates__/expo/client/heroui/components/card/card.types.ts +77 -0
  53. package/lib/__templates__/expo/client/heroui/components/card/index.ts +10 -0
  54. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.animation.ts +202 -0
  55. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.constants.ts +6 -0
  56. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.md +311 -0
  57. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.styles.ts +105 -0
  58. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.tsx +251 -0
  59. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.types.ts +216 -0
  60. package/lib/__templates__/expo/client/heroui/components/checkbox/index.ts +3 -0
  61. package/lib/__templates__/expo/client/heroui/components/chip/chip.animation.ts +18 -0
  62. package/lib/__templates__/expo/client/heroui/components/chip/chip.constants.ts +7 -0
  63. package/lib/__templates__/expo/client/heroui/components/chip/chip.md +190 -0
  64. package/lib/__templates__/expo/client/heroui/components/chip/chip.styles.ts +234 -0
  65. package/lib/__templates__/expo/client/heroui/components/chip/chip.tsx +125 -0
  66. package/lib/__templates__/expo/client/heroui/components/chip/chip.types.ts +69 -0
  67. package/lib/__templates__/expo/client/heroui/components/chip/index.ts +3 -0
  68. package/lib/__templates__/expo/client/heroui/components/close-button/close-button.constants.ts +6 -0
  69. package/lib/__templates__/expo/client/heroui/components/close-button/close-button.md +109 -0
  70. package/lib/__templates__/expo/client/heroui/components/close-button/close-button.styles.ts +13 -0
  71. package/lib/__templates__/expo/client/heroui/components/close-button/close-button.tsx +57 -0
  72. package/lib/__templates__/expo/client/heroui/components/close-button/close-button.types.ts +30 -0
  73. package/lib/__templates__/expo/client/heroui/components/close-button/index.ts +6 -0
  74. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.animation.ts +18 -0
  75. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.constants.ts +7 -0
  76. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.context.ts +14 -0
  77. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.md +241 -0
  78. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.styles.ts +15 -0
  79. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.tsx +245 -0
  80. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.types.ts +67 -0
  81. package/lib/__templates__/expo/client/heroui/components/control-field/index.ts +6 -0
  82. package/lib/__templates__/expo/client/heroui/components/description/description.animation.ts +53 -0
  83. package/lib/__templates__/expo/client/heroui/components/description/description.constants.ts +30 -0
  84. package/lib/__templates__/expo/client/heroui/components/description/description.md +129 -0
  85. package/lib/__templates__/expo/client/heroui/components/description/description.styles.ts +25 -0
  86. package/lib/__templates__/expo/client/heroui/components/description/description.tsx +81 -0
  87. package/lib/__templates__/expo/client/heroui/components/description/description.types.ts +77 -0
  88. package/lib/__templates__/expo/client/heroui/components/description/index.ts +3 -0
  89. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.animation.ts +9 -0
  90. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.constants.ts +13 -0
  91. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.md +288 -0
  92. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.styles.ts +77 -0
  93. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.tsx +379 -0
  94. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.types.ts +199 -0
  95. package/lib/__templates__/expo/client/heroui/components/dialog/index.ts +12 -0
  96. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.animation.ts +50 -0
  97. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.constants.ts +31 -0
  98. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.md +204 -0
  99. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.styles.ts +23 -0
  100. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.tsx +91 -0
  101. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.types.ts +79 -0
  102. package/lib/__templates__/expo/client/heroui/components/field-error/index.ts +3 -0
  103. package/lib/__templates__/expo/client/heroui/components/input/index.ts +3 -0
  104. package/lib/__templates__/expo/client/heroui/components/input/input.constants.ts +6 -0
  105. package/lib/__templates__/expo/client/heroui/components/input/input.md +193 -0
  106. package/lib/__templates__/expo/client/heroui/components/input/input.styles.ts +51 -0
  107. package/lib/__templates__/expo/client/heroui/components/input/input.tsx +96 -0
  108. package/lib/__templates__/expo/client/heroui/components/input/input.types.ts +44 -0
  109. package/lib/__templates__/expo/client/heroui/components/input-group/index.ts +9 -0
  110. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.animation.ts +14 -0
  111. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.constants.ts +6 -0
  112. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.md +197 -0
  113. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.styles.ts +31 -0
  114. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.tsx +239 -0
  115. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.types.ts +98 -0
  116. package/lib/__templates__/expo/client/heroui/components/input-otp/index.ts +9 -0
  117. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.animation.ts +199 -0
  118. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.constants.ts +12 -0
  119. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.md +376 -0
  120. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.styles.ts +68 -0
  121. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.tsx +414 -0
  122. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.types.ts +275 -0
  123. package/lib/__templates__/expo/client/heroui/components/label/index.ts +3 -0
  124. package/lib/__templates__/expo/client/heroui/components/label/label.animation.ts +18 -0
  125. package/lib/__templates__/expo/client/heroui/components/label/label.constants.ts +7 -0
  126. package/lib/__templates__/expo/client/heroui/components/label/label.md +187 -0
  127. package/lib/__templates__/expo/client/heroui/components/label/label.styles.ts +44 -0
  128. package/lib/__templates__/expo/client/heroui/components/label/label.tsx +172 -0
  129. package/lib/__templates__/expo/client/heroui/components/label/label.types.ts +86 -0
  130. package/lib/__templates__/expo/client/heroui/components/list-group/index.ts +17 -0
  131. package/lib/__templates__/expo/client/heroui/components/list-group/list-group.constants.ts +17 -0
  132. package/lib/__templates__/expo/client/heroui/components/list-group/list-group.md +387 -0
  133. package/lib/__templates__/expo/client/heroui/components/list-group/list-group.styles.ts +40 -0
  134. package/lib/__templates__/expo/client/heroui/components/list-group/list-group.tsx +206 -0
  135. package/lib/__templates__/expo/client/heroui/components/list-group/list-group.types.ts +132 -0
  136. package/lib/__templates__/expo/client/heroui/components/menu/index.ts +38 -0
  137. package/lib/__templates__/expo/client/heroui/components/menu/menu.animation.ts +121 -0
  138. package/lib/__templates__/expo/client/heroui/components/menu/menu.constants.ts +37 -0
  139. package/lib/__templates__/expo/client/heroui/components/menu/menu.md +620 -0
  140. package/lib/__templates__/expo/client/heroui/components/menu/menu.styles.ts +107 -0
  141. package/lib/__templates__/expo/client/heroui/components/menu/menu.tsx +664 -0
  142. package/lib/__templates__/expo/client/heroui/components/menu/menu.types.ts +394 -0
  143. package/lib/__templates__/expo/client/heroui/components/popover/arrow-svg.tsx +180 -0
  144. package/lib/__templates__/expo/client/heroui/components/popover/index.ts +18 -0
  145. package/lib/__templates__/expo/client/heroui/components/popover/popover.animation.ts +9 -0
  146. package/lib/__templates__/expo/client/heroui/components/popover/popover.constants.ts +34 -0
  147. package/lib/__templates__/expo/client/heroui/components/popover/popover.md +508 -0
  148. package/lib/__templates__/expo/client/heroui/components/popover/popover.styles.ts +98 -0
  149. package/lib/__templates__/expo/client/heroui/components/popover/popover.tsx +624 -0
  150. package/lib/__templates__/expo/client/heroui/components/popover/popover.types.ts +290 -0
  151. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/index.ts +3 -0
  152. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.animation.ts +450 -0
  153. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.constants.ts +12 -0
  154. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.md +328 -0
  155. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.styles.ts +84 -0
  156. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.tsx +330 -0
  157. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.types.ts +386 -0
  158. package/lib/__templates__/expo/client/heroui/components/radio/index.ts +9 -0
  159. package/lib/__templates__/expo/client/heroui/components/radio/radio.animation.ts +92 -0
  160. package/lib/__templates__/expo/client/heroui/components/radio/radio.constants.ts +11 -0
  161. package/lib/__templates__/expo/client/heroui/components/radio/radio.md +339 -0
  162. package/lib/__templates__/expo/client/heroui/components/radio/radio.styles.ts +80 -0
  163. package/lib/__templates__/expo/client/heroui/components/radio/radio.tsx +217 -0
  164. package/lib/__templates__/expo/client/heroui/components/radio/radio.types.ts +106 -0
  165. package/lib/__templates__/expo/client/heroui/components/radio-group/index.ts +9 -0
  166. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.animation.ts +20 -0
  167. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.constants.ts +7 -0
  168. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.context.ts +14 -0
  169. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.md +273 -0
  170. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.styles.ts +15 -0
  171. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.tsx +220 -0
  172. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.types.ts +64 -0
  173. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/index.ts +7 -0
  174. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.animation.ts +132 -0
  175. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.constants.ts +21 -0
  176. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.md +206 -0
  177. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.styles.ts +52 -0
  178. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.tsx +262 -0
  179. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.types.ts +121 -0
  180. package/lib/__templates__/expo/client/heroui/components/search-field/index.ts +17 -0
  181. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.animation.ts +18 -0
  182. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.constants.ts +10 -0
  183. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.md +231 -0
  184. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.styles.ts +35 -0
  185. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.tsx +253 -0
  186. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.types.ts +160 -0
  187. package/lib/__templates__/expo/client/heroui/components/search-field/search-icon.tsx +37 -0
  188. package/lib/__templates__/expo/client/heroui/components/select/index.ts +28 -0
  189. package/lib/__templates__/expo/client/heroui/components/select/select.animation.ts +92 -0
  190. package/lib/__templates__/expo/client/heroui/components/select/select.constants.ts +53 -0
  191. package/lib/__templates__/expo/client/heroui/components/select/select.md +796 -0
  192. package/lib/__templates__/expo/client/heroui/components/select/select.styles.ts +149 -0
  193. package/lib/__templates__/expo/client/heroui/components/select/select.tsx +828 -0
  194. package/lib/__templates__/expo/client/heroui/components/select/select.types.ts +438 -0
  195. package/lib/__templates__/expo/client/heroui/components/separator/index.ts +7 -0
  196. package/lib/__templates__/expo/client/heroui/components/separator/separator.constants.ts +6 -0
  197. package/lib/__templates__/expo/client/heroui/components/separator/separator.md +106 -0
  198. package/lib/__templates__/expo/client/heroui/components/separator/separator.styles.ts +50 -0
  199. package/lib/__templates__/expo/client/heroui/components/separator/separator.tsx +62 -0
  200. package/lib/__templates__/expo/client/heroui/components/separator/separator.types.ts +40 -0
  201. package/lib/__templates__/expo/client/heroui/components/skeleton/index.ts +7 -0
  202. package/lib/__templates__/expo/client/heroui/components/skeleton/linear-gradient.tsx +45 -0
  203. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.animation.ts +351 -0
  204. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.constants.ts +39 -0
  205. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.md +208 -0
  206. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.styles.ts +49 -0
  207. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.tsx +183 -0
  208. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.types.ts +191 -0
  209. package/lib/__templates__/expo/client/heroui/components/skeleton-group/index.ts +7 -0
  210. package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.constants.ts +7 -0
  211. package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.md +247 -0
  212. package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.styles.ts +10 -0
  213. package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.tsx +94 -0
  214. package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.types.ts +28 -0
  215. package/lib/__templates__/expo/client/heroui/components/slider/index.ts +23 -0
  216. package/lib/__templates__/expo/client/heroui/components/slider/slider.animation.ts +87 -0
  217. package/lib/__templates__/expo/client/heroui/components/slider/slider.constants.ts +24 -0
  218. package/lib/__templates__/expo/client/heroui/components/slider/slider.md +348 -0
  219. package/lib/__templates__/expo/client/heroui/components/slider/slider.styles.ts +85 -0
  220. package/lib/__templates__/expo/client/heroui/components/slider/slider.tsx +413 -0
  221. package/lib/__templates__/expo/client/heroui/components/slider/slider.types.ts +120 -0
  222. package/lib/__templates__/expo/client/heroui/components/spinner/index.ts +10 -0
  223. package/lib/__templates__/expo/client/heroui/components/spinner/spinner-icon.tsx +49 -0
  224. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.animation.ts +150 -0
  225. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.constants.ts +36 -0
  226. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.md +199 -0
  227. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.styles.ts +44 -0
  228. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.tsx +198 -0
  229. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.types.ts +158 -0
  230. package/lib/__templates__/expo/client/heroui/components/surface/index.ts +3 -0
  231. package/lib/__templates__/expo/client/heroui/components/surface/surface.animation.ts +18 -0
  232. package/lib/__templates__/expo/client/heroui/components/surface/surface.constants.ts +6 -0
  233. package/lib/__templates__/expo/client/heroui/components/surface/surface.md +136 -0
  234. package/lib/__templates__/expo/client/heroui/components/surface/surface.styles.ts +28 -0
  235. package/lib/__templates__/expo/client/heroui/components/surface/surface.tsx +66 -0
  236. package/lib/__templates__/expo/client/heroui/components/surface/surface.types.ts +46 -0
  237. package/lib/__templates__/expo/client/heroui/components/switch/index.ts +3 -0
  238. package/lib/__templates__/expo/client/heroui/components/switch/switch.animation.ts +243 -0
  239. package/lib/__templates__/expo/client/heroui/components/switch/switch.constants.ts +26 -0
  240. package/lib/__templates__/expo/client/heroui/components/switch/switch.md +334 -0
  241. package/lib/__templates__/expo/client/heroui/components/switch/switch.styles.ts +83 -0
  242. package/lib/__templates__/expo/client/heroui/components/switch/switch.tsx +280 -0
  243. package/lib/__templates__/expo/client/heroui/components/switch/switch.types.ts +208 -0
  244. package/lib/__templates__/expo/client/heroui/components/tabs/index.ts +8 -0
  245. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.animation.ts +246 -0
  246. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.constants.ts +17 -0
  247. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.context.ts +28 -0
  248. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.md +565 -0
  249. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.styles.ts +168 -0
  250. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.tsx +445 -0
  251. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.types.ts +341 -0
  252. package/lib/__templates__/expo/client/heroui/components/tag-group/index.ts +15 -0
  253. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.animation.ts +17 -0
  254. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.constants.ts +10 -0
  255. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.md +404 -0
  256. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.styles.ts +74 -0
  257. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.tsx +325 -0
  258. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.types.ts +125 -0
  259. package/lib/__templates__/expo/client/heroui/components/text-area/index.ts +3 -0
  260. package/lib/__templates__/expo/client/heroui/components/text-area/text-area.constants.ts +6 -0
  261. package/lib/__templates__/expo/client/heroui/components/text-area/text-area.md +133 -0
  262. package/lib/__templates__/expo/client/heroui/components/text-area/text-area.styles.ts +10 -0
  263. package/lib/__templates__/expo/client/heroui/components/text-area/text-area.tsx +44 -0
  264. package/lib/__templates__/expo/client/heroui/components/text-area/text-area.types.ts +6 -0
  265. package/lib/__templates__/expo/client/heroui/components/text-field/index.ts +3 -0
  266. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.animation.ts +20 -0
  267. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.constants.ts +6 -0
  268. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.md +256 -0
  269. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.styles.ts +10 -0
  270. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.tsx +82 -0
  271. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.types.ts +56 -0
  272. package/lib/__templates__/expo/client/heroui/components/toast/index.ts +4 -0
  273. package/lib/__templates__/expo/client/heroui/components/toast/toast.animation.ts +381 -0
  274. package/lib/__templates__/expo/client/heroui/components/toast/toast.constants.ts +10 -0
  275. package/lib/__templates__/expo/client/heroui/components/toast/toast.hooks.ts +73 -0
  276. package/lib/__templates__/expo/client/heroui/components/toast/toast.md +420 -0
  277. package/lib/__templates__/expo/client/heroui/components/toast/toast.styles.ts +89 -0
  278. package/lib/__templates__/expo/client/heroui/components/toast/toast.tsx +472 -0
  279. package/lib/__templates__/expo/client/heroui/components/toast/toast.types.ts +320 -0
  280. package/lib/__templates__/expo/client/heroui/docs.md +47 -0
  281. package/lib/__templates__/expo/client/heroui/helpers/external/hooks/index.ts +3 -0
  282. package/lib/__templates__/expo/client/heroui/helpers/external/hooks/use-is-on-surface.ts +8 -0
  283. package/lib/__templates__/expo/client/heroui/helpers/external/hooks/use-theme-color.ts +137 -0
  284. package/lib/__templates__/expo/client/heroui/helpers/external/utils/cn.ts +12 -0
  285. package/lib/__templates__/expo/client/heroui/helpers/external/utils/color-kit/index.ts +2395 -0
  286. package/lib/__templates__/expo/client/heroui/helpers/external/utils/color-kit/types.ts +212 -0
  287. package/lib/__templates__/expo/client/heroui/helpers/external/utils/index.ts +2 -0
  288. package/lib/__templates__/expo/client/heroui/helpers/internal/components/animated-check-icon.tsx +78 -0
  289. package/lib/__templates__/expo/client/heroui/helpers/internal/components/bottom-sheet-content-container.tsx +97 -0
  290. package/lib/__templates__/expo/client/heroui/helpers/internal/components/bottom-sheet-content.tsx +158 -0
  291. package/lib/__templates__/expo/client/heroui/helpers/internal/components/check-icon.tsx +28 -0
  292. package/lib/__templates__/expo/client/heroui/helpers/internal/components/chevron-down-icon.tsx +28 -0
  293. package/lib/__templates__/expo/client/heroui/helpers/internal/components/chevron-right-icon.tsx +29 -0
  294. package/lib/__templates__/expo/client/heroui/helpers/internal/components/close-icon.tsx +29 -0
  295. package/lib/__templates__/expo/client/heroui/helpers/internal/components/full-window-overlay.tsx +48 -0
  296. package/lib/__templates__/expo/client/heroui/helpers/internal/components/hero-text.tsx +71 -0
  297. package/lib/__templates__/expo/client/heroui/helpers/internal/components/index.ts +9 -0
  298. package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/animation-settings-context.ts +19 -0
  299. package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/bottom-sheet-is-dragging-context.ts +11 -0
  300. package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/form-field-context.ts +36 -0
  301. package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/index.ts +3 -0
  302. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/index.ts +14 -0
  303. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-augmented-ref.ts +32 -0
  304. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-bottom-sheet-aware-handlers.ts +94 -0
  305. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-bottom-sheet-gesture-handlers.ts +52 -0
  306. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-combined-animation-disabled-state.ts +49 -0
  307. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-controllable-state.ts +124 -0
  308. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-dev-info.ts +38 -0
  309. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-keyboard-status.ts +22 -0
  310. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-bottom-sheet-content-animation.ts +67 -0
  311. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-dialog-content-animation.ts +296 -0
  312. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-overlay-animation.ts +91 -0
  313. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-popover-content-animation.ts +199 -0
  314. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-root-animation.ts +26 -0
  315. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-relative-position.ts +353 -0
  316. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-resolved-style-property.ts +118 -0
  317. package/lib/__templates__/expo/client/heroui/helpers/internal/types/animation.ts +131 -0
  318. package/lib/__templates__/expo/client/heroui/helpers/internal/types/bottom-sheet.ts +99 -0
  319. package/lib/__templates__/expo/client/heroui/helpers/internal/types/index.ts +5 -0
  320. package/lib/__templates__/expo/client/heroui/helpers/internal/types/misc.ts +10 -0
  321. package/lib/__templates__/expo/client/heroui/helpers/internal/types/primitives.ts +146 -0
  322. package/lib/__templates__/expo/client/heroui/helpers/internal/types/theme.ts +18 -0
  323. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/animation.ts +266 -0
  324. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/children-to-string.ts +117 -0
  325. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/combine-styles.ts +17 -0
  326. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/create-context.ts +60 -0
  327. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/ease-gradient/create-interpolation.ts +35 -0
  328. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/ease-gradient/index.ts +97 -0
  329. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/get-element-by-display-name.ts +15 -0
  330. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/get-element-with-default.ts +17 -0
  331. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/has-prop.ts +18 -0
  332. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/index.ts +8 -0
  333. package/lib/__templates__/expo/client/heroui/index.tsx +51 -0
  334. package/lib/__templates__/expo/client/heroui/primitives/README.md +27 -0
  335. package/lib/__templates__/expo/client/heroui/primitives/accordion/accordion.tsx +270 -0
  336. package/lib/__templates__/expo/client/heroui/primitives/accordion/accordion.types.ts +117 -0
  337. package/lib/__templates__/expo/client/heroui/primitives/accordion/accordion.utils.ts +12 -0
  338. package/lib/__templates__/expo/client/heroui/primitives/accordion/index.ts +2 -0
  339. package/lib/__templates__/expo/client/heroui/primitives/activity-indicator/activity-indicator.tsx +50 -0
  340. package/lib/__templates__/expo/client/heroui/primitives/activity-indicator/activity-indicator.types.ts +24 -0
  341. package/lib/__templates__/expo/client/heroui/primitives/activity-indicator/index.ts +2 -0
  342. package/lib/__templates__/expo/client/heroui/primitives/alert/alert.tsx +124 -0
  343. package/lib/__templates__/expo/client/heroui/primitives/alert/alert.types.ts +87 -0
  344. package/lib/__templates__/expo/client/heroui/primitives/alert/index.ts +2 -0
  345. package/lib/__templates__/expo/client/heroui/primitives/avatar/avatar.tsx +171 -0
  346. package/lib/__templates__/expo/client/heroui/primitives/avatar/avatar.types.ts +62 -0
  347. package/lib/__templates__/expo/client/heroui/primitives/avatar/avatar.utils.ts +102 -0
  348. package/lib/__templates__/expo/client/heroui/primitives/avatar/index.ts +2 -0
  349. package/lib/__templates__/expo/client/heroui/primitives/bottom-sheet/bottom-sheet.tsx +235 -0
  350. package/lib/__templates__/expo/client/heroui/primitives/bottom-sheet/bottom-sheet.types.ts +127 -0
  351. package/lib/__templates__/expo/client/heroui/primitives/bottom-sheet/index.ts +2 -0
  352. package/lib/__templates__/expo/client/heroui/primitives/checkbox/checkbox.tsx +119 -0
  353. package/lib/__templates__/expo/client/heroui/primitives/checkbox/checkbox.types.ts +37 -0
  354. package/lib/__templates__/expo/client/heroui/primitives/checkbox/index.ts +2 -0
  355. package/lib/__templates__/expo/client/heroui/primitives/dialog/dialog.tsx +274 -0
  356. package/lib/__templates__/expo/client/heroui/primitives/dialog/dialog.types.ts +129 -0
  357. package/lib/__templates__/expo/client/heroui/primitives/dialog/index.ts +2 -0
  358. package/lib/__templates__/expo/client/heroui/primitives/input-otp/index.ts +3 -0
  359. package/lib/__templates__/expo/client/heroui/primitives/input-otp/input-otp.tsx +431 -0
  360. package/lib/__templates__/expo/client/heroui/primitives/input-otp/input-otp.types.ts +169 -0
  361. package/lib/__templates__/expo/client/heroui/primitives/input-otp/input-otp.utils.ts +31 -0
  362. package/lib/__templates__/expo/client/heroui/primitives/label/index.ts +2 -0
  363. package/lib/__templates__/expo/client/heroui/primitives/label/label.tsx +24 -0
  364. package/lib/__templates__/expo/client/heroui/primitives/label/label.types.ts +39 -0
  365. package/lib/__templates__/expo/client/heroui/primitives/menu/index.ts +2 -0
  366. package/lib/__templates__/expo/client/heroui/primitives/menu/menu.tsx +765 -0
  367. package/lib/__templates__/expo/client/heroui/primitives/menu/menu.types.ts +401 -0
  368. package/lib/__templates__/expo/client/heroui/primitives/popover/index.ts +2 -0
  369. package/lib/__templates__/expo/client/heroui/primitives/popover/popover.tsx +382 -0
  370. package/lib/__templates__/expo/client/heroui/primitives/popover/popover.types.ts +201 -0
  371. package/lib/__templates__/expo/client/heroui/primitives/portal/index.ts +1 -0
  372. package/lib/__templates__/expo/client/heroui/primitives/portal/portal.tsx +126 -0
  373. package/lib/__templates__/expo/client/heroui/primitives/radio/index.ts +2 -0
  374. package/lib/__templates__/expo/client/heroui/primitives/radio/radio.tsx +133 -0
  375. package/lib/__templates__/expo/client/heroui/primitives/radio/radio.types.ts +47 -0
  376. package/lib/__templates__/expo/client/heroui/primitives/radio-group/index.ts +2 -0
  377. package/lib/__templates__/expo/client/heroui/primitives/radio-group/radio-group.tsx +114 -0
  378. package/lib/__templates__/expo/client/heroui/primitives/radio-group/radio-group.types.ts +65 -0
  379. package/lib/__templates__/expo/client/heroui/primitives/select/index.ts +2 -0
  380. package/lib/__templates__/expo/client/heroui/primitives/select/select.tsx +705 -0
  381. package/lib/__templates__/expo/client/heroui/primitives/select/select.types.ts +409 -0
  382. package/lib/__templates__/expo/client/heroui/primitives/select/select.utils.ts +35 -0
  383. package/lib/__templates__/expo/client/heroui/primitives/slider/index.ts +3 -0
  384. package/lib/__templates__/expo/client/heroui/primitives/slider/slider.tsx +464 -0
  385. package/lib/__templates__/expo/client/heroui/primitives/slider/slider.types.ts +208 -0
  386. package/lib/__templates__/expo/client/heroui/primitives/slider/slider.utils.ts +93 -0
  387. package/lib/__templates__/expo/client/heroui/primitives/slot/index.ts +1 -0
  388. package/lib/__templates__/expo/client/heroui/primitives/slot/slot.tsx +122 -0
  389. package/lib/__templates__/expo/client/heroui/primitives/slot/types.ts +19 -0
  390. package/lib/__templates__/expo/client/heroui/primitives/slot/utils.ts +96 -0
  391. package/lib/__templates__/expo/client/heroui/primitives/switch/index.ts +2 -0
  392. package/lib/__templates__/expo/client/heroui/primitives/switch/switch.tsx +61 -0
  393. package/lib/__templates__/expo/client/heroui/primitives/switch/switch.types.ts +55 -0
  394. package/lib/__templates__/expo/client/heroui/primitives/tabs/index.ts +2 -0
  395. package/lib/__templates__/expo/client/heroui/primitives/tabs/tabs.tsx +202 -0
  396. package/lib/__templates__/expo/client/heroui/primitives/tabs/tabs.types.ts +77 -0
  397. package/lib/__templates__/expo/client/heroui/primitives/tag-group/index.ts +2 -0
  398. package/lib/__templates__/expo/client/heroui/primitives/tag-group/tag-group.tsx +324 -0
  399. package/lib/__templates__/expo/client/heroui/primitives/tag-group/tag-group.types.ts +119 -0
  400. package/lib/__templates__/expo/client/heroui/primitives/toast/index.ts +2 -0
  401. package/lib/__templates__/expo/client/heroui/primitives/toast/toast.tsx +138 -0
  402. package/lib/__templates__/expo/client/heroui/primitives/toast/toast.types.ts +86 -0
  403. package/lib/__templates__/expo/client/heroui/providers/animation-settings/index.ts +8 -0
  404. package/lib/__templates__/expo/client/heroui/providers/animation-settings/provider.tsx +47 -0
  405. package/lib/__templates__/expo/client/heroui/providers/animation-settings/types.ts +27 -0
  406. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native/index.ts +2 -0
  407. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native/provider.tsx +67 -0
  408. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native/types.ts +114 -0
  409. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native-raw/index.ts +2 -0
  410. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native-raw/provider.tsx +50 -0
  411. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native-raw/types.ts +39 -0
  412. package/lib/__templates__/expo/client/heroui/providers/text-component/index.ts +2 -0
  413. package/lib/__templates__/expo/client/heroui/providers/text-component/provider.tsx +9 -0
  414. package/lib/__templates__/expo/client/heroui/providers/text-component/types.ts +52 -0
  415. package/lib/__templates__/expo/client/heroui/providers/toast/index.ts +3 -0
  416. package/lib/__templates__/expo/client/heroui/providers/toast/insets-container.tsx +87 -0
  417. package/lib/__templates__/expo/client/heroui/providers/toast/provider.tsx +431 -0
  418. package/lib/__templates__/expo/client/heroui/providers/toast/reducer.ts +34 -0
  419. package/lib/__templates__/expo/client/heroui/providers/toast/toast-config.context.ts +27 -0
  420. package/lib/__templates__/expo/client/heroui/providers/toast/toast-item-renderer.tsx +45 -0
  421. package/lib/__templates__/expo/client/heroui/providers/toast/types.ts +373 -0
  422. package/lib/__templates__/expo/client/heroui/styles/index.css +3 -0
  423. package/lib/__templates__/expo/client/heroui/styles/theme.css +112 -0
  424. package/lib/__templates__/expo/client/heroui/styles/utilities.css +8 -0
  425. package/lib/__templates__/expo/client/heroui/styles/variables.css +146 -0
  426. package/lib/__templates__/expo/client/package.json +4 -1
  427. package/lib/__templates__/expo/package.json +1 -1
  428. package/lib/__templates__/expo/pnpm-lock.yaml +68 -0
  429. package/lib/__templates__/nextjs/AGENTS.md +6 -4
  430. package/lib/__templates__/nextjs/eslint.config.mjs +9 -0
  431. package/lib/__templates__/taro/.coze +2 -0
  432. package/lib/__templates__/taro/.cozeproj/scripts/pack.sh +1 -2
  433. package/lib/__templates__/taro/config/index.ts +1 -1
  434. package/lib/__templates__/taro/package.json +1 -0
  435. package/lib/__templates__/taro/project.config.json +1 -1
  436. package/lib/cli.js +246 -252
  437. package/package.json +3 -2
@@ -0,0 +1,212 @@
1
+ /**
2
+ * Color manipulation utilities adapted from reanimated-color-picker
3
+ *
4
+ * Original source: https://github.com/alabsi91/reanimated-color-picker
5
+ * Author: @alabsi91
6
+ * License: MIT
7
+ *
8
+ * This code has been adapted for use in HeroUI Native with modifications
9
+ * for TypeScript compatibility and integration with the theme system.
10
+ */
11
+
12
+ type NAMED_COLORS = {
13
+ readonly aliceblue: '#f0f8ff';
14
+ readonly antiquewhite: '#faebd7';
15
+ readonly aqua: '#00ffff';
16
+ readonly aquamarine: '#7fffd4';
17
+ readonly azure: '#f0ffff';
18
+ readonly beige: '#f5f5dc';
19
+ readonly bisque: '#ffe4c4';
20
+ readonly black: '#000000';
21
+ readonly blanchedalmond: '#ffebcd';
22
+ readonly blue: '#0000ff';
23
+ readonly blueviolet: '#8a2be2';
24
+ readonly brown: '#a52a2a';
25
+ readonly burlywood: '#deb887';
26
+ readonly cadetblue: '#5f9ea0';
27
+ readonly chartreuse: '#7fff00';
28
+ readonly chocolate: '#d2691e';
29
+ readonly coral: '#ff7f50';
30
+ readonly cornflowerblue: '#6495ed';
31
+ readonly cornsilk: '#fff8dc';
32
+ readonly crimson: '#dc143c';
33
+ readonly cyan: '#00ffff';
34
+ readonly darkblue: '#00008b';
35
+ readonly darkcyan: '#008b8b';
36
+ readonly darkgoldenrod: '#b8860b';
37
+ readonly darkgray: '#a9a9a9';
38
+ readonly darkgreen: '#006400';
39
+ readonly darkgrey: '#a9a9a9';
40
+ readonly darkkhaki: '#bdb76b';
41
+ readonly darkmagenta: '#8b008b';
42
+ readonly darkolivegreen: '#556b2f';
43
+ readonly darkorange: '#ff8c00';
44
+ readonly darkorchid: '#9932cc';
45
+ readonly darkred: '#8b0000';
46
+ readonly darksalmon: '#e9967a';
47
+ readonly darkseagreen: '#8fbc8f';
48
+ readonly darkslateblue: '#483d8b';
49
+ readonly darkslategrey: '#2f4f4f';
50
+ readonly darkturquoise: '#00ced1';
51
+ readonly darkviolet: '#9400d3';
52
+ readonly deeppink: '#ff1493';
53
+ readonly deepskyblue: '#00bfff';
54
+ readonly dimgray: '#696969';
55
+ readonly dimgrey: '#696969';
56
+ readonly dodgerblue: '#1e90ff';
57
+ readonly firebrick: '#b22222';
58
+ readonly floralwhite: '#fffaf0';
59
+ readonly forestgreen: '#228b22';
60
+ readonly fuchsia: '#ff00ff';
61
+ readonly gainsboro: '#dcdcdc';
62
+ readonly ghostwhite: '#f8f8ff';
63
+ readonly gold: '#ffd700';
64
+ readonly goldenrod: '#daa520';
65
+ readonly gray: '#808080';
66
+ readonly green: '#008000';
67
+ readonly greenyellow: '#adff2f';
68
+ readonly grey: '#808080';
69
+ readonly honeydew: '#f0fff0';
70
+ readonly hotpink: '#ff69b4';
71
+ readonly indianred: '#cd5c5c';
72
+ readonly indigo: '#4b0082';
73
+ readonly ivory: '#fffff0';
74
+ readonly khaki: '#f0e68c';
75
+ readonly lavender: '#e6e6fa';
76
+ readonly lavenderblush: '#fff0f5';
77
+ readonly lawngreen: '#7cfc00';
78
+ readonly lemonchiffon: '#fffacd';
79
+ readonly lightblue: '#add8e6';
80
+ readonly lightcoral: '#f08080';
81
+ readonly lightcyan: '#e0ffff';
82
+ readonly lightgoldenrodyellow: '#fafad2';
83
+ readonly lightgray: '#d3d3d3';
84
+ readonly lightgreen: '#90ee90';
85
+ readonly lightgrey: '#d3d3d3';
86
+ readonly lightpink: '#ffb6c1';
87
+ readonly lightsalmon: '#ffa07a';
88
+ readonly lightseagreen: '#20b2aa';
89
+ readonly lightskyblue: '#87cefa';
90
+ readonly lightslategrey: '#778899';
91
+ readonly lightsteelblue: '#b0c4de';
92
+ readonly lightyellow: '#ffffe0';
93
+ readonly lime: '#00ff00';
94
+ readonly limegreen: '#32cd32';
95
+ readonly linen: '#faf0e6';
96
+ readonly magenta: '#ff00ff';
97
+ readonly maroon: '#800000';
98
+ readonly mediumaquamarine: '#66cdaa';
99
+ readonly mediumblue: '#0000cd';
100
+ readonly mediumorchid: '#ba55d3';
101
+ readonly mediumpurple: '#9370db';
102
+ readonly mediumseagreen: '#3cb371';
103
+ readonly mediumslateblue: '#7b68ee';
104
+ readonly mediumspringgreen: '#00fa9a';
105
+ readonly mediumturquoise: '#48d1cc';
106
+ readonly mediumvioletred: '#c71585';
107
+ readonly midnightblue: '#191970';
108
+ readonly mintcream: '#f5fffa';
109
+ readonly mistyrose: '#ffe4e1';
110
+ readonly moccasin: '#ffe4b5';
111
+ readonly navajowhite: '#ffdead';
112
+ readonly navy: '#000080';
113
+ readonly oldlace: '#fdf5e6';
114
+ readonly olive: '#808000';
115
+ readonly olivedrab: '#6b8e23';
116
+ readonly orange: '#ffa500';
117
+ readonly orangered: '#ff4500';
118
+ readonly orchid: '#da70d6';
119
+ readonly palegoldenrod: '#eee8aa';
120
+ readonly palegreen: '#98fb98';
121
+ readonly paleturquoise: '#afeeee';
122
+ readonly palevioletred: '#db7093';
123
+ readonly papayawhip: '#ffefd5';
124
+ readonly peachpuff: '#ffdab9';
125
+ readonly peru: '#cd853f';
126
+ readonly pink: '#ffc0cb';
127
+ readonly plum: '#dda0dd';
128
+ readonly powderblue: '#b0e0e6';
129
+ readonly purple: '#800080';
130
+ readonly rebeccapurple: '#663399';
131
+ readonly red: '#ff0000';
132
+ readonly rosybrown: '#bc8f8f';
133
+ readonly royalblue: '#4169e1';
134
+ readonly saddlebrown: '#8b4513';
135
+ readonly salmon: '#fa8072';
136
+ readonly sandybrown: '#f4a460';
137
+ readonly seagreen: '#2e8b57';
138
+ readonly seashell: '#fff5ee';
139
+ readonly sienna: '#a0522d';
140
+ readonly silver: '#c0c0c0';
141
+ readonly skyblue: '#87ceeb';
142
+ readonly slateblue: '#6a5acd';
143
+ readonly slategray: '#708090';
144
+ readonly snow: '#fffafa';
145
+ readonly springgreen: '#00ff7f';
146
+ readonly steelblue: '#4682b4';
147
+ readonly tan: '#d2b48c';
148
+ readonly teal: '#008080';
149
+ readonly thistle: '#d8bfd8';
150
+ readonly tomato: '#ff6347';
151
+ readonly turquoise: '#40e0d0';
152
+ readonly violet: '#ee82ee';
153
+ readonly wheat: '#f5deb3';
154
+ readonly white: '#ffffff';
155
+ readonly whitesmoke: '#f5f5f5';
156
+ readonly yellow: '#ffff00';
157
+ readonly yellowgreen: '#9acd32';
158
+ };
159
+
160
+ export type ColorFormats =
161
+ | 'hex3'
162
+ | 'hex4'
163
+ | 'hex6'
164
+ | 'hex8'
165
+ | 'hsl'
166
+ | 'hsla'
167
+ | 'rgb'
168
+ | 'rgba'
169
+ | 'hsva'
170
+ | 'hsv'
171
+ | 'hwba'
172
+ | 'hwb';
173
+
174
+ export type ColorString = keyof NAMED_COLORS | (string & NonNullable<unknown>);
175
+
176
+ export type rgbaT = { r: number; g: number; b: number; a: number };
177
+ export type rgbT = Omit<rgbaT, 'a'>;
178
+
179
+ export type hslaT = { h: number; s: number; l: number; a: number };
180
+ export type hslT = Omit<hslaT, 'a'>;
181
+
182
+ export type hsvaT = { h: number; s: number; v: number; a: number };
183
+ export type hsvT = Omit<hsvaT, 'a'>;
184
+
185
+ export type hwbaT = { h: number; w: number; b: number; a: number };
186
+ export type hwbT = Omit<hwbaT, 'a'>;
187
+
188
+ export type SupportedColorFormats =
189
+ | ColorString
190
+ | rgbaT
191
+ | rgbT
192
+ | hslaT
193
+ | hslT
194
+ | hsvaT
195
+ | hsvT
196
+ | hwbaT
197
+ | hwbT
198
+ | number;
199
+
200
+ export type ColorTypes<T extends object> = {
201
+ object: (roundValues?: boolean) => T;
202
+ string: (alpha?: boolean) => string;
203
+ array: (roundValues?: boolean) => number[];
204
+ };
205
+
206
+ export type ConversionMethods = {
207
+ hex: () => string;
208
+ rgb: () => ColorTypes<rgbaT>;
209
+ hsl: () => ColorTypes<hslaT>;
210
+ hsv: () => ColorTypes<hsvaT>;
211
+ hwb: () => ColorTypes<hwbaT>;
212
+ };
@@ -0,0 +1,2 @@
1
+ export * from './cn';
2
+ export { default as colorKit } from './color-kit';
@@ -0,0 +1,78 @@
1
+ import React from 'react';
2
+ import Animated, {
3
+ Easing,
4
+ useAnimatedProps,
5
+ useDerivedValue,
6
+ withDelay,
7
+ withTiming,
8
+ } from 'react-native-reanimated';
9
+ import Svg, { Path } from 'react-native-svg';
10
+ import { useThemeColor } from '../../external/hooks';
11
+
12
+ const AnimatedPath = Animated.createAnimatedComponent(Path);
13
+
14
+ const DEFAULT_SIZE = 18;
15
+ const ENTER_DURATION = 150;
16
+ const EXIT_DURATION = 150;
17
+
18
+ interface CheckIconProps {
19
+ isSelected?: boolean;
20
+ size?: number;
21
+ strokeWidth?: number;
22
+ color?: string;
23
+ enterDuration?: number;
24
+ exitDuration?: number;
25
+ }
26
+
27
+ export const AnimatedCheckIcon: React.FC<CheckIconProps> = ({
28
+ isSelected = false,
29
+ size = DEFAULT_SIZE,
30
+ strokeWidth = 2.5,
31
+ color,
32
+ enterDuration = ENTER_DURATION,
33
+ exitDuration = EXIT_DURATION,
34
+ }) => {
35
+ const themeColorForeground = useThemeColor('foreground');
36
+
37
+ const checkProgress = useDerivedValue(() => {
38
+ if (isSelected) {
39
+ return withDelay(
40
+ 100,
41
+ withTiming(1, {
42
+ duration: enterDuration,
43
+ easing: Easing.out(Easing.ease),
44
+ })
45
+ );
46
+ } else {
47
+ return withTiming(0, { duration: exitDuration });
48
+ }
49
+ });
50
+
51
+ const animatedCheckProps = useAnimatedProps(
52
+ () => ({
53
+ strokeDasharray: size,
54
+ strokeDashoffset: size * (1 - checkProgress.value),
55
+ }),
56
+ [checkProgress]
57
+ );
58
+
59
+ return (
60
+ <Svg
61
+ width={size}
62
+ height={size}
63
+ viewBox={`0 0 ${DEFAULT_SIZE} ${DEFAULT_SIZE}`}
64
+ fill="none"
65
+ >
66
+ <AnimatedPath
67
+ d="M4 9.5L8 13L14 6"
68
+ stroke={color ?? themeColorForeground}
69
+ strokeWidth={strokeWidth}
70
+ strokeLinecap="round"
71
+ strokeLinejoin="round"
72
+ animatedProps={animatedCheckProps}
73
+ />
74
+ </Svg>
75
+ );
76
+ };
77
+
78
+ AnimatedCheckIcon.displayName = 'HeroUINative.AnimatedCheckIcon';
@@ -0,0 +1,97 @@
1
+ import { BottomSheetView, useBottomSheet } from '@gorhom/bottom-sheet';
2
+ import { useEffect, useRef } from 'react';
3
+ import { BackHandler } from 'react-native';
4
+ import { useAnimatedReaction } from 'react-native-reanimated';
5
+ import { scheduleOnRN } from 'react-native-worklets';
6
+ import type { BottomSheetContentContainerProps } from '../types/bottom-sheet';
7
+
8
+ /**
9
+ * Reusable BottomSheetContentContainer component
10
+ *
11
+ * This component handles the content container for bottom sheets used across
12
+ * BottomSheet, Popover, and Select components. It manages the expand/close
13
+ * behavior based on the provided state and applies consistent styling.
14
+ *
15
+ */
16
+ export function BottomSheetContentContainer({
17
+ children,
18
+ isOpen,
19
+ progress,
20
+ isDragging,
21
+ isPanActivated,
22
+ isClosingOnSwipe,
23
+ initialIndex,
24
+ contentContainerClassName,
25
+ contentContainerProps,
26
+ onOpenChange,
27
+ }: BottomSheetContentContainerProps) {
28
+ const { close, snapToIndex } = useBottomSheet();
29
+ const prevIsOpenRef = useRef(isOpen);
30
+
31
+ const closeBottomSheet = () => {
32
+ onOpenChange(false);
33
+ };
34
+
35
+ useAnimatedReaction(
36
+ () => progress.get(),
37
+ (value) => {
38
+ if (value > 1.5 && !isDragging.get() && !isClosingOnSwipe.get()) {
39
+ isClosingOnSwipe.set(true);
40
+ scheduleOnRN(closeBottomSheet);
41
+ }
42
+ if (value === 2) {
43
+ isPanActivated.set(false);
44
+ }
45
+ }
46
+ );
47
+
48
+ /**
49
+ * Dismiss the bottom sheet when the Android hardware back button is pressed.
50
+ * Only registers the listener while the sheet is open so that closed
51
+ * instances (Popover, Select, other BottomSheets) don't consume the event.
52
+ */
53
+ useEffect(() => {
54
+ if (!isOpen) return;
55
+
56
+ const backHandler = BackHandler.addEventListener(
57
+ 'hardwareBackPress',
58
+ () => {
59
+ close();
60
+ onOpenChange(false);
61
+ return true;
62
+ }
63
+ );
64
+
65
+ return () => {
66
+ backHandler.remove();
67
+ };
68
+ // eslint-disable-next-line react-hooks/exhaustive-deps
69
+ }, [isOpen]);
70
+
71
+ useEffect(() => {
72
+ const wasOpen = prevIsOpenRef.current;
73
+ prevIsOpenRef.current = isOpen;
74
+
75
+ if (isOpen && !wasOpen) {
76
+ // Only snap to initial index when transitioning from closed to open
77
+ isPanActivated.set(false);
78
+ snapToIndex(initialIndex);
79
+ } else if (!isOpen && wasOpen) {
80
+ // Close when transitioning from open to closed
81
+ close();
82
+ }
83
+ // Note: We intentionally don't include snapToIndex, close, or isPanActivated
84
+ // in the dependency array to prevent re-snapping when content re-renders.
85
+ // We only want to snap when isOpen or initialIndex changes.
86
+ // eslint-disable-next-line react-hooks/exhaustive-deps
87
+ }, [isOpen, initialIndex]);
88
+
89
+ return (
90
+ <BottomSheetView
91
+ className={contentContainerClassName}
92
+ {...contentContainerProps}
93
+ >
94
+ {children}
95
+ </BottomSheetView>
96
+ );
97
+ }
@@ -0,0 +1,158 @@
1
+ import BottomSheet from '@gorhom/bottom-sheet';
2
+ import { forwardRef, useMemo } from 'react';
3
+ import type { StyleProp, ViewStyle } from 'react-native';
4
+ import type { SharedValue } from 'react-native-reanimated';
5
+ import { ReduceMotion } from 'react-native-reanimated';
6
+ import { withUniwind } from 'uniwind';
7
+ import { useBottomSheetContentAnimation } from '../../../components/bottom-sheet/bottom-sheet.animation';
8
+ import { bottomSheetClassNames } from '../../../components/bottom-sheet/bottom-sheet.styles';
9
+ import { BottomSheetIsDraggingProvider } from '../contexts';
10
+ import { useBottomSheetGestureHandlers } from '../hooks';
11
+ import { usePopupBottomSheetContentAnimation } from '../hooks/use-popup-bottom-sheet-content-animation';
12
+ import type { BaseBottomSheetContentProps } from '../types/bottom-sheet';
13
+ import { BottomSheetContentContainer } from './bottom-sheet-content-container';
14
+
15
+ const StyledBottomSheet = withUniwind(BottomSheet);
16
+
17
+ /**
18
+ * Props for the reusable BottomSheetContent component
19
+ */
20
+ export interface BottomSheetContentProps
21
+ extends BaseBottomSheetContentProps,
22
+ Partial<React.ComponentProps<typeof BottomSheet>> {
23
+ /**
24
+ * Whether the bottom sheet is open
25
+ */
26
+ isOpen: boolean;
27
+ /**
28
+ * Animation progress shared value (0=idle, 1=open, 2=close)
29
+ */
30
+ progress: SharedValue<number>;
31
+ /**
32
+ * Whether the bottom sheet is dragging
33
+ */
34
+ isDragging: SharedValue<boolean>;
35
+ /**
36
+ * Callback when the bottom sheet open state changes
37
+ */
38
+ onOpenChange: (open: boolean) => void;
39
+ /**
40
+ * Initial index of the bottom sheet
41
+ */
42
+ index?: number;
43
+ /**
44
+ * Additional style for the background
45
+ */
46
+ backgroundStyle?: StyleProp<ViewStyle>;
47
+ }
48
+
49
+ /**
50
+ * Reusable BottomSheetContent component
51
+ *
52
+ * This component provides a reusable bottom sheet content wrapper used across
53
+ * Popover, Select, and other components when using bottom-sheet presentation.
54
+ * It handles animation coordination, styling, and gesture handling.
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * <BottomSheetContent
59
+ * isOpen={isOpen}
60
+ * progress={progress}
61
+ * isDragging={isDragging}
62
+ * onOpenChange={onOpenChange}
63
+ * index={0}
64
+ * >
65
+ * {children}
66
+ * </BottomSheetContent>
67
+ * ```
68
+ */
69
+ export const BottomSheetContent = forwardRef<
70
+ BottomSheet,
71
+ BottomSheetContentProps
72
+ >(
73
+ (
74
+ {
75
+ children,
76
+ index: initialIndex,
77
+ backgroundClassName,
78
+ handleIndicatorClassName,
79
+ contentContainerClassName: contentContainerClassNameProp,
80
+ contentContainerProps,
81
+ animation,
82
+ animationConfigs,
83
+ backgroundStyle,
84
+ isOpen,
85
+ progress,
86
+ isDragging,
87
+ onOpenChange,
88
+ ...restProps
89
+ },
90
+ ref
91
+ ) => {
92
+ const { isAnimationDisabledValue } = useBottomSheetContentAnimation({
93
+ animation,
94
+ });
95
+
96
+ const { animatedIndex, isClosingOnSwipe, isPanActivated } =
97
+ usePopupBottomSheetContentAnimation({
98
+ progress,
99
+ isDragging,
100
+ });
101
+
102
+ const contentBackgroundClassName = bottomSheetClassNames.contentBackground({
103
+ className: backgroundClassName,
104
+ });
105
+
106
+ const contentHandleIndicatorClassName =
107
+ bottomSheetClassNames.contentHandleIndicator({
108
+ className: handleIndicatorClassName,
109
+ });
110
+
111
+ const contentContainerClassName = bottomSheetClassNames.contentContainer({
112
+ className: contentContainerClassNameProp,
113
+ });
114
+
115
+ const mergedAnimationConfigs = useMemo(
116
+ () => ({
117
+ ...animationConfigs,
118
+ reduceMotion: isAnimationDisabledValue
119
+ ? ReduceMotion.Always
120
+ : animationConfigs?.reduceMotion,
121
+ }),
122
+ [animationConfigs, isAnimationDisabledValue]
123
+ );
124
+
125
+ return (
126
+ <BottomSheetIsDraggingProvider value={{ isDragging }}>
127
+ <StyledBottomSheet
128
+ ref={ref}
129
+ index={-1}
130
+ backgroundClassName={contentBackgroundClassName}
131
+ backgroundStyle={backgroundStyle}
132
+ handleIndicatorClassName={contentHandleIndicatorClassName}
133
+ enablePanDownToClose={restProps.enablePanDownToClose ?? true}
134
+ animatedIndex={animatedIndex ?? restProps.animatedIndex}
135
+ animationConfigs={mergedAnimationConfigs}
136
+ gestureEventsHandlersHook={useBottomSheetGestureHandlers}
137
+ {...restProps}
138
+ >
139
+ <BottomSheetContentContainer
140
+ initialIndex={initialIndex ?? 0}
141
+ isOpen={isOpen}
142
+ progress={progress}
143
+ isDragging={isDragging}
144
+ isPanActivated={isPanActivated}
145
+ isClosingOnSwipe={isClosingOnSwipe}
146
+ contentContainerClassName={contentContainerClassName}
147
+ contentContainerProps={contentContainerProps}
148
+ onOpenChange={onOpenChange}
149
+ >
150
+ {children}
151
+ </BottomSheetContentContainer>
152
+ </StyledBottomSheet>
153
+ </BottomSheetIsDraggingProvider>
154
+ );
155
+ }
156
+ );
157
+
158
+ BottomSheetContent.displayName = 'HeroUINative.BottomSheetContent';
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import Svg, { Path } from 'react-native-svg';
3
+ import { useThemeColor } from '../../external/hooks';
4
+ interface CheckIconProps {
5
+ size?: number;
6
+ color?: string;
7
+ }
8
+
9
+ export const CheckIcon: React.FC<CheckIconProps> = ({ size = 16, color }) => {
10
+ const themeColorForeground = useThemeColor('foreground');
11
+
12
+ return (
13
+ <Svg
14
+ width={size}
15
+ height={size}
16
+ viewBox="0 0 24 24"
17
+ fill={color ?? themeColorForeground}
18
+ >
19
+ <Path
20
+ fillRule="evenodd"
21
+ d="M20.732 4.645a1.5 1.5 0 0 1 .163 2.116l-9 10.5a1.5 1.5 0 0 1-2.2.084l-5.25-5.25a1.5 1.5 0 0 1 2.121-2.121l3.892 3.891 7.96-9.287a1.5 1.5 0 0 1 2.114-.163"
22
+ clipRule="evenodd"
23
+ />
24
+ </Svg>
25
+ );
26
+ };
27
+
28
+ CheckIcon.displayName = 'HeroUINative.CheckIcon';
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import Svg, { Path } from 'react-native-svg';
3
+
4
+ interface ChevronDownIconProps {
5
+ size?: number;
6
+ color?: string;
7
+ }
8
+
9
+ /**
10
+ * Chevron down icon component
11
+ * Reusable SVG icon used in Select and Accordion components
12
+ */
13
+ export const ChevronDownIcon: React.FC<ChevronDownIconProps> = ({
14
+ size = 16,
15
+ color = 'currentColor',
16
+ }) => {
17
+ return (
18
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill={color}>
19
+ <Path
20
+ fillRule="evenodd"
21
+ d="M4.455 8.205a1.125 1.125 0 0 1 1.59 0L12 14.16l5.955-5.955a1.125 1.125 0 1 1 1.59 1.59l-6.75 6.75a1.125 1.125 0 0 1-1.59 0l-6.75-6.75a1.125 1.125 0 0 1 0-1.59"
22
+ clipRule="evenodd"
23
+ />
24
+ </Svg>
25
+ );
26
+ };
27
+
28
+ ChevronDownIcon.displayName = 'HeroUINative.ChevronDownIcon';
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import Svg, { Path } from 'react-native-svg';
3
+
4
+ interface ChevronRightIconProps {
5
+ size?: number;
6
+ color?: string;
7
+ }
8
+
9
+ /**
10
+ * Chevron right icon component
11
+ * Reusable SVG icon used in ListGroup and navigation components.
12
+ * Path derived from chevron-down-icon rotated 90° clockwise.
13
+ */
14
+ export const ChevronRightIcon: React.FC<ChevronRightIconProps> = ({
15
+ size = 16,
16
+ color = 'currentColor',
17
+ }) => {
18
+ return (
19
+ <Svg width={size} height={size} viewBox="0 0 24 24" fill={color}>
20
+ <Path
21
+ fillRule="evenodd"
22
+ d="M8.205 19.545a1.125 1.125 0 0 1 0-1.59L14.16 12l-5.955-5.955a1.125 1.125 0 1 1 1.59-1.59l6.75 6.75a1.125 1.125 0 0 1 0 1.59l-6.75 6.75a1.125 1.125 0 0 1-1.59 0"
23
+ clipRule="evenodd"
24
+ />
25
+ </Svg>
26
+ );
27
+ };
28
+
29
+ ChevronRightIcon.displayName = 'HeroUINative.ChevronRightIcon';
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import Svg, { Path } from 'react-native-svg';
3
+ import { useThemeColor } from '../../external/hooks';
4
+
5
+ interface CloseIconProps {
6
+ size?: number;
7
+ color?: string;
8
+ }
9
+
10
+ export const CloseIcon: React.FC<CloseIconProps> = ({ size = 16, color }) => {
11
+ const themeColorForeground = useThemeColor('foreground');
12
+
13
+ return (
14
+ <Svg
15
+ width={size}
16
+ height={size}
17
+ viewBox="0 0 16 16"
18
+ fill={color ?? themeColorForeground}
19
+ >
20
+ <Path
21
+ d="M3.47 3.47a.75.75 0 0 1 1.06 0L8 6.94l3.47-3.47a.75.75 0 1 1 1.06 1.06L9.06 8l3.47 3.47a.75.75 0 1 1-1.06 1.06L8 9.06l-3.47 3.47a.75.75 0 0 1-1.06-1.06L6.94 8L3.47 4.53a.75.75 0 0 1 0-1.06"
22
+ fillRule="evenodd"
23
+ clipRule="evenodd"
24
+ />
25
+ </Svg>
26
+ );
27
+ };
28
+
29
+ CloseIcon.displayName = 'HeroUINative.CloseIcon';