@coze-arch/cli 0.0.10-alpha.11b7ea → 0.0.10-alpha.954690

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 (433) 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 +1 -4
  4. package/lib/__templates__/expo/client/components/Screen.tsx +1 -4
  5. package/lib/__templates__/expo/client/eslint.config.mjs +0 -2
  6. package/lib/__templates__/expo/client/global.css +0 -1
  7. package/lib/__templates__/expo/client/package.json +1 -4
  8. package/lib/__templates__/expo/package.json +1 -1
  9. package/lib/__templates__/expo/pnpm-lock.yaml +0 -68
  10. package/lib/__templates__/nextjs/AGENTS.md +6 -2
  11. package/lib/__templates__/nextjs/eslint.config.mjs +9 -0
  12. package/lib/__templates__/taro/project.config.json +1 -1
  13. package/lib/cli.js +4 -15
  14. package/package.json +1 -1
  15. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.animation.ts +0 -178
  16. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.constants.ts +0 -62
  17. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.md +0 -437
  18. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.styles.ts +0 -95
  19. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.tsx +0 -340
  20. package/lib/__templates__/expo/client/heroui/components/accordion/accordion.types.ts +0 -267
  21. package/lib/__templates__/expo/client/heroui/components/accordion/index.ts +0 -17
  22. package/lib/__templates__/expo/client/heroui/components/alert/alert.constants.ts +0 -13
  23. package/lib/__templates__/expo/client/heroui/components/alert/alert.hooks.ts +0 -28
  24. package/lib/__templates__/expo/client/heroui/components/alert/alert.md +0 -263
  25. package/lib/__templates__/expo/client/heroui/components/alert/alert.styles.ts +0 -65
  26. package/lib/__templates__/expo/client/heroui/components/alert/alert.tsx +0 -181
  27. package/lib/__templates__/expo/client/heroui/components/alert/alert.types.ts +0 -99
  28. package/lib/__templates__/expo/client/heroui/components/alert/alert.utils.tsx +0 -25
  29. package/lib/__templates__/expo/client/heroui/components/alert/default-icon.tsx +0 -28
  30. package/lib/__templates__/expo/client/heroui/components/alert/index.ts +0 -15
  31. package/lib/__templates__/expo/client/heroui/components/alert/success-icon.tsx +0 -28
  32. package/lib/__templates__/expo/client/heroui/components/alert/warning-icon.tsx +0 -28
  33. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.animation.ts +0 -123
  34. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.constants.ts +0 -19
  35. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.context.ts +0 -11
  36. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.md +0 -386
  37. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.styles.ts +0 -145
  38. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.tsx +0 -307
  39. package/lib/__templates__/expo/client/heroui/components/avatar/avatar.types.ts +0 -239
  40. package/lib/__templates__/expo/client/heroui/components/avatar/index.ts +0 -13
  41. package/lib/__templates__/expo/client/heroui/components/avatar/person-icon.tsx +0 -23
  42. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.animation.ts +0 -42
  43. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.constants.ts +0 -13
  44. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.md +0 -349
  45. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.styles.ts +0 -66
  46. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.tsx +0 -351
  47. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/bottom-sheet.types.ts +0 -150
  48. package/lib/__templates__/expo/client/heroui/components/bottom-sheet/index.ts +0 -16
  49. package/lib/__templates__/expo/client/heroui/components/button/button.constants.ts +0 -7
  50. package/lib/__templates__/expo/client/heroui/components/button/button.md +0 -381
  51. package/lib/__templates__/expo/client/heroui/components/button/button.styles.ts +0 -89
  52. package/lib/__templates__/expo/client/heroui/components/button/button.tsx +0 -284
  53. package/lib/__templates__/expo/client/heroui/components/button/button.types.ts +0 -175
  54. package/lib/__templates__/expo/client/heroui/components/button/button.utils.ts +0 -34
  55. package/lib/__templates__/expo/client/heroui/components/button/index.ts +0 -9
  56. package/lib/__templates__/expo/client/heroui/components/card/card.constants.ts +0 -11
  57. package/lib/__templates__/expo/client/heroui/components/card/card.md +0 -186
  58. package/lib/__templates__/expo/client/heroui/components/card/card.styles.ts +0 -35
  59. package/lib/__templates__/expo/client/heroui/components/card/card.tsx +0 -153
  60. package/lib/__templates__/expo/client/heroui/components/card/card.types.ts +0 -77
  61. package/lib/__templates__/expo/client/heroui/components/card/index.ts +0 -10
  62. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.animation.ts +0 -202
  63. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.constants.ts +0 -6
  64. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.md +0 -311
  65. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.styles.ts +0 -105
  66. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.tsx +0 -251
  67. package/lib/__templates__/expo/client/heroui/components/checkbox/checkbox.types.ts +0 -216
  68. package/lib/__templates__/expo/client/heroui/components/checkbox/index.ts +0 -3
  69. package/lib/__templates__/expo/client/heroui/components/chip/chip.animation.ts +0 -18
  70. package/lib/__templates__/expo/client/heroui/components/chip/chip.constants.ts +0 -7
  71. package/lib/__templates__/expo/client/heroui/components/chip/chip.md +0 -190
  72. package/lib/__templates__/expo/client/heroui/components/chip/chip.styles.ts +0 -234
  73. package/lib/__templates__/expo/client/heroui/components/chip/chip.tsx +0 -125
  74. package/lib/__templates__/expo/client/heroui/components/chip/chip.types.ts +0 -69
  75. package/lib/__templates__/expo/client/heroui/components/chip/index.ts +0 -3
  76. package/lib/__templates__/expo/client/heroui/components/close-button/close-button.constants.ts +0 -6
  77. package/lib/__templates__/expo/client/heroui/components/close-button/close-button.md +0 -109
  78. package/lib/__templates__/expo/client/heroui/components/close-button/close-button.styles.ts +0 -13
  79. package/lib/__templates__/expo/client/heroui/components/close-button/close-button.tsx +0 -57
  80. package/lib/__templates__/expo/client/heroui/components/close-button/close-button.types.ts +0 -30
  81. package/lib/__templates__/expo/client/heroui/components/close-button/index.ts +0 -6
  82. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.animation.ts +0 -18
  83. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.constants.ts +0 -7
  84. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.context.ts +0 -14
  85. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.md +0 -241
  86. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.styles.ts +0 -15
  87. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.tsx +0 -245
  88. package/lib/__templates__/expo/client/heroui/components/control-field/control-field.types.ts +0 -67
  89. package/lib/__templates__/expo/client/heroui/components/control-field/index.ts +0 -6
  90. package/lib/__templates__/expo/client/heroui/components/description/description.animation.ts +0 -53
  91. package/lib/__templates__/expo/client/heroui/components/description/description.constants.ts +0 -30
  92. package/lib/__templates__/expo/client/heroui/components/description/description.md +0 -129
  93. package/lib/__templates__/expo/client/heroui/components/description/description.styles.ts +0 -25
  94. package/lib/__templates__/expo/client/heroui/components/description/description.tsx +0 -81
  95. package/lib/__templates__/expo/client/heroui/components/description/description.types.ts +0 -77
  96. package/lib/__templates__/expo/client/heroui/components/description/index.ts +0 -3
  97. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.animation.ts +0 -9
  98. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.constants.ts +0 -13
  99. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.md +0 -288
  100. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.styles.ts +0 -77
  101. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.tsx +0 -379
  102. package/lib/__templates__/expo/client/heroui/components/dialog/dialog.types.ts +0 -199
  103. package/lib/__templates__/expo/client/heroui/components/dialog/index.ts +0 -12
  104. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.animation.ts +0 -50
  105. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.constants.ts +0 -31
  106. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.md +0 -204
  107. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.styles.ts +0 -23
  108. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.tsx +0 -91
  109. package/lib/__templates__/expo/client/heroui/components/field-error/field-error.types.ts +0 -79
  110. package/lib/__templates__/expo/client/heroui/components/field-error/index.ts +0 -3
  111. package/lib/__templates__/expo/client/heroui/components/input/index.ts +0 -3
  112. package/lib/__templates__/expo/client/heroui/components/input/input.constants.ts +0 -6
  113. package/lib/__templates__/expo/client/heroui/components/input/input.md +0 -193
  114. package/lib/__templates__/expo/client/heroui/components/input/input.styles.ts +0 -51
  115. package/lib/__templates__/expo/client/heroui/components/input/input.tsx +0 -96
  116. package/lib/__templates__/expo/client/heroui/components/input/input.types.ts +0 -44
  117. package/lib/__templates__/expo/client/heroui/components/input-group/index.ts +0 -9
  118. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.animation.ts +0 -14
  119. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.constants.ts +0 -6
  120. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.md +0 -197
  121. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.styles.ts +0 -31
  122. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.tsx +0 -239
  123. package/lib/__templates__/expo/client/heroui/components/input-group/input-group.types.ts +0 -98
  124. package/lib/__templates__/expo/client/heroui/components/input-otp/index.ts +0 -9
  125. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.animation.ts +0 -199
  126. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.constants.ts +0 -12
  127. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.md +0 -376
  128. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.styles.ts +0 -68
  129. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.tsx +0 -414
  130. package/lib/__templates__/expo/client/heroui/components/input-otp/input-otp.types.ts +0 -275
  131. package/lib/__templates__/expo/client/heroui/components/label/index.ts +0 -3
  132. package/lib/__templates__/expo/client/heroui/components/label/label.animation.ts +0 -18
  133. package/lib/__templates__/expo/client/heroui/components/label/label.constants.ts +0 -7
  134. package/lib/__templates__/expo/client/heroui/components/label/label.md +0 -187
  135. package/lib/__templates__/expo/client/heroui/components/label/label.styles.ts +0 -44
  136. package/lib/__templates__/expo/client/heroui/components/label/label.tsx +0 -172
  137. package/lib/__templates__/expo/client/heroui/components/label/label.types.ts +0 -86
  138. package/lib/__templates__/expo/client/heroui/components/list-group/index.ts +0 -17
  139. package/lib/__templates__/expo/client/heroui/components/list-group/list-group.constants.ts +0 -17
  140. package/lib/__templates__/expo/client/heroui/components/list-group/list-group.md +0 -387
  141. package/lib/__templates__/expo/client/heroui/components/list-group/list-group.styles.ts +0 -40
  142. package/lib/__templates__/expo/client/heroui/components/list-group/list-group.tsx +0 -206
  143. package/lib/__templates__/expo/client/heroui/components/list-group/list-group.types.ts +0 -132
  144. package/lib/__templates__/expo/client/heroui/components/menu/index.ts +0 -38
  145. package/lib/__templates__/expo/client/heroui/components/menu/menu.animation.ts +0 -121
  146. package/lib/__templates__/expo/client/heroui/components/menu/menu.constants.ts +0 -37
  147. package/lib/__templates__/expo/client/heroui/components/menu/menu.md +0 -620
  148. package/lib/__templates__/expo/client/heroui/components/menu/menu.styles.ts +0 -107
  149. package/lib/__templates__/expo/client/heroui/components/menu/menu.tsx +0 -664
  150. package/lib/__templates__/expo/client/heroui/components/menu/menu.types.ts +0 -394
  151. package/lib/__templates__/expo/client/heroui/components/popover/arrow-svg.tsx +0 -180
  152. package/lib/__templates__/expo/client/heroui/components/popover/index.ts +0 -18
  153. package/lib/__templates__/expo/client/heroui/components/popover/popover.animation.ts +0 -9
  154. package/lib/__templates__/expo/client/heroui/components/popover/popover.constants.ts +0 -34
  155. package/lib/__templates__/expo/client/heroui/components/popover/popover.md +0 -508
  156. package/lib/__templates__/expo/client/heroui/components/popover/popover.styles.ts +0 -98
  157. package/lib/__templates__/expo/client/heroui/components/popover/popover.tsx +0 -624
  158. package/lib/__templates__/expo/client/heroui/components/popover/popover.types.ts +0 -290
  159. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/index.ts +0 -3
  160. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.animation.ts +0 -450
  161. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.constants.ts +0 -12
  162. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.md +0 -328
  163. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.styles.ts +0 -84
  164. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.tsx +0 -330
  165. package/lib/__templates__/expo/client/heroui/components/pressable-feedback/pressable-feedback.types.ts +0 -386
  166. package/lib/__templates__/expo/client/heroui/components/radio/index.ts +0 -9
  167. package/lib/__templates__/expo/client/heroui/components/radio/radio.animation.ts +0 -92
  168. package/lib/__templates__/expo/client/heroui/components/radio/radio.constants.ts +0 -11
  169. package/lib/__templates__/expo/client/heroui/components/radio/radio.md +0 -339
  170. package/lib/__templates__/expo/client/heroui/components/radio/radio.styles.ts +0 -80
  171. package/lib/__templates__/expo/client/heroui/components/radio/radio.tsx +0 -217
  172. package/lib/__templates__/expo/client/heroui/components/radio/radio.types.ts +0 -106
  173. package/lib/__templates__/expo/client/heroui/components/radio-group/index.ts +0 -9
  174. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.animation.ts +0 -20
  175. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.constants.ts +0 -7
  176. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.context.ts +0 -14
  177. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.md +0 -273
  178. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.styles.ts +0 -15
  179. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.tsx +0 -220
  180. package/lib/__templates__/expo/client/heroui/components/radio-group/radio-group.types.ts +0 -64
  181. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/index.ts +0 -7
  182. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.animation.ts +0 -132
  183. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.constants.ts +0 -21
  184. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.md +0 -206
  185. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.styles.ts +0 -52
  186. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.tsx +0 -262
  187. package/lib/__templates__/expo/client/heroui/components/scroll-shadow/scroll-shadow.types.ts +0 -121
  188. package/lib/__templates__/expo/client/heroui/components/search-field/index.ts +0 -17
  189. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.animation.ts +0 -18
  190. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.constants.ts +0 -10
  191. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.md +0 -231
  192. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.styles.ts +0 -35
  193. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.tsx +0 -253
  194. package/lib/__templates__/expo/client/heroui/components/search-field/search-field.types.ts +0 -160
  195. package/lib/__templates__/expo/client/heroui/components/search-field/search-icon.tsx +0 -37
  196. package/lib/__templates__/expo/client/heroui/components/select/index.ts +0 -28
  197. package/lib/__templates__/expo/client/heroui/components/select/select.animation.ts +0 -92
  198. package/lib/__templates__/expo/client/heroui/components/select/select.constants.ts +0 -53
  199. package/lib/__templates__/expo/client/heroui/components/select/select.md +0 -796
  200. package/lib/__templates__/expo/client/heroui/components/select/select.styles.ts +0 -149
  201. package/lib/__templates__/expo/client/heroui/components/select/select.tsx +0 -828
  202. package/lib/__templates__/expo/client/heroui/components/select/select.types.ts +0 -438
  203. package/lib/__templates__/expo/client/heroui/components/separator/index.ts +0 -7
  204. package/lib/__templates__/expo/client/heroui/components/separator/separator.constants.ts +0 -6
  205. package/lib/__templates__/expo/client/heroui/components/separator/separator.md +0 -106
  206. package/lib/__templates__/expo/client/heroui/components/separator/separator.styles.ts +0 -50
  207. package/lib/__templates__/expo/client/heroui/components/separator/separator.tsx +0 -62
  208. package/lib/__templates__/expo/client/heroui/components/separator/separator.types.ts +0 -40
  209. package/lib/__templates__/expo/client/heroui/components/skeleton/index.ts +0 -7
  210. package/lib/__templates__/expo/client/heroui/components/skeleton/linear-gradient.tsx +0 -45
  211. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.animation.ts +0 -351
  212. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.constants.ts +0 -39
  213. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.md +0 -208
  214. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.styles.ts +0 -49
  215. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.tsx +0 -183
  216. package/lib/__templates__/expo/client/heroui/components/skeleton/skeleton.types.ts +0 -191
  217. package/lib/__templates__/expo/client/heroui/components/skeleton-group/index.ts +0 -7
  218. package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.constants.ts +0 -7
  219. package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.md +0 -247
  220. package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.styles.ts +0 -10
  221. package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.tsx +0 -94
  222. package/lib/__templates__/expo/client/heroui/components/skeleton-group/skeleton-group.types.ts +0 -28
  223. package/lib/__templates__/expo/client/heroui/components/slider/index.ts +0 -23
  224. package/lib/__templates__/expo/client/heroui/components/slider/slider.animation.ts +0 -87
  225. package/lib/__templates__/expo/client/heroui/components/slider/slider.constants.ts +0 -24
  226. package/lib/__templates__/expo/client/heroui/components/slider/slider.md +0 -348
  227. package/lib/__templates__/expo/client/heroui/components/slider/slider.styles.ts +0 -85
  228. package/lib/__templates__/expo/client/heroui/components/slider/slider.tsx +0 -413
  229. package/lib/__templates__/expo/client/heroui/components/slider/slider.types.ts +0 -120
  230. package/lib/__templates__/expo/client/heroui/components/spinner/index.ts +0 -10
  231. package/lib/__templates__/expo/client/heroui/components/spinner/spinner-icon.tsx +0 -49
  232. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.animation.ts +0 -150
  233. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.constants.ts +0 -36
  234. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.md +0 -199
  235. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.styles.ts +0 -44
  236. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.tsx +0 -198
  237. package/lib/__templates__/expo/client/heroui/components/spinner/spinner.types.ts +0 -158
  238. package/lib/__templates__/expo/client/heroui/components/surface/index.ts +0 -3
  239. package/lib/__templates__/expo/client/heroui/components/surface/surface.animation.ts +0 -18
  240. package/lib/__templates__/expo/client/heroui/components/surface/surface.constants.ts +0 -6
  241. package/lib/__templates__/expo/client/heroui/components/surface/surface.md +0 -136
  242. package/lib/__templates__/expo/client/heroui/components/surface/surface.styles.ts +0 -28
  243. package/lib/__templates__/expo/client/heroui/components/surface/surface.tsx +0 -66
  244. package/lib/__templates__/expo/client/heroui/components/surface/surface.types.ts +0 -46
  245. package/lib/__templates__/expo/client/heroui/components/switch/index.ts +0 -3
  246. package/lib/__templates__/expo/client/heroui/components/switch/switch.animation.ts +0 -243
  247. package/lib/__templates__/expo/client/heroui/components/switch/switch.constants.ts +0 -26
  248. package/lib/__templates__/expo/client/heroui/components/switch/switch.md +0 -334
  249. package/lib/__templates__/expo/client/heroui/components/switch/switch.styles.ts +0 -83
  250. package/lib/__templates__/expo/client/heroui/components/switch/switch.tsx +0 -280
  251. package/lib/__templates__/expo/client/heroui/components/switch/switch.types.ts +0 -208
  252. package/lib/__templates__/expo/client/heroui/components/tabs/index.ts +0 -8
  253. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.animation.ts +0 -246
  254. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.constants.ts +0 -17
  255. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.context.ts +0 -28
  256. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.md +0 -565
  257. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.styles.ts +0 -168
  258. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.tsx +0 -445
  259. package/lib/__templates__/expo/client/heroui/components/tabs/tabs.types.ts +0 -341
  260. package/lib/__templates__/expo/client/heroui/components/tag-group/index.ts +0 -15
  261. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.animation.ts +0 -17
  262. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.constants.ts +0 -10
  263. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.md +0 -404
  264. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.styles.ts +0 -74
  265. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.tsx +0 -325
  266. package/lib/__templates__/expo/client/heroui/components/tag-group/tag-group.types.ts +0 -125
  267. package/lib/__templates__/expo/client/heroui/components/text-area/index.ts +0 -3
  268. package/lib/__templates__/expo/client/heroui/components/text-area/text-area.constants.ts +0 -6
  269. package/lib/__templates__/expo/client/heroui/components/text-area/text-area.md +0 -133
  270. package/lib/__templates__/expo/client/heroui/components/text-area/text-area.styles.ts +0 -10
  271. package/lib/__templates__/expo/client/heroui/components/text-area/text-area.tsx +0 -44
  272. package/lib/__templates__/expo/client/heroui/components/text-area/text-area.types.ts +0 -6
  273. package/lib/__templates__/expo/client/heroui/components/text-field/index.ts +0 -3
  274. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.animation.ts +0 -20
  275. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.constants.ts +0 -6
  276. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.md +0 -256
  277. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.styles.ts +0 -10
  278. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.tsx +0 -82
  279. package/lib/__templates__/expo/client/heroui/components/text-field/text-field.types.ts +0 -56
  280. package/lib/__templates__/expo/client/heroui/components/toast/index.ts +0 -4
  281. package/lib/__templates__/expo/client/heroui/components/toast/toast.animation.ts +0 -381
  282. package/lib/__templates__/expo/client/heroui/components/toast/toast.constants.ts +0 -10
  283. package/lib/__templates__/expo/client/heroui/components/toast/toast.hooks.ts +0 -73
  284. package/lib/__templates__/expo/client/heroui/components/toast/toast.md +0 -420
  285. package/lib/__templates__/expo/client/heroui/components/toast/toast.styles.ts +0 -89
  286. package/lib/__templates__/expo/client/heroui/components/toast/toast.tsx +0 -472
  287. package/lib/__templates__/expo/client/heroui/components/toast/toast.types.ts +0 -320
  288. package/lib/__templates__/expo/client/heroui/docs.md +0 -47
  289. package/lib/__templates__/expo/client/heroui/helpers/external/hooks/index.ts +0 -3
  290. package/lib/__templates__/expo/client/heroui/helpers/external/hooks/use-is-on-surface.ts +0 -8
  291. package/lib/__templates__/expo/client/heroui/helpers/external/hooks/use-theme-color.ts +0 -137
  292. package/lib/__templates__/expo/client/heroui/helpers/external/utils/cn.ts +0 -12
  293. package/lib/__templates__/expo/client/heroui/helpers/external/utils/color-kit/index.ts +0 -2395
  294. package/lib/__templates__/expo/client/heroui/helpers/external/utils/color-kit/types.ts +0 -212
  295. package/lib/__templates__/expo/client/heroui/helpers/external/utils/index.ts +0 -2
  296. package/lib/__templates__/expo/client/heroui/helpers/internal/components/animated-check-icon.tsx +0 -78
  297. package/lib/__templates__/expo/client/heroui/helpers/internal/components/bottom-sheet-content-container.tsx +0 -97
  298. package/lib/__templates__/expo/client/heroui/helpers/internal/components/bottom-sheet-content.tsx +0 -158
  299. package/lib/__templates__/expo/client/heroui/helpers/internal/components/check-icon.tsx +0 -28
  300. package/lib/__templates__/expo/client/heroui/helpers/internal/components/chevron-down-icon.tsx +0 -28
  301. package/lib/__templates__/expo/client/heroui/helpers/internal/components/chevron-right-icon.tsx +0 -29
  302. package/lib/__templates__/expo/client/heroui/helpers/internal/components/close-icon.tsx +0 -29
  303. package/lib/__templates__/expo/client/heroui/helpers/internal/components/full-window-overlay.tsx +0 -48
  304. package/lib/__templates__/expo/client/heroui/helpers/internal/components/hero-text.tsx +0 -71
  305. package/lib/__templates__/expo/client/heroui/helpers/internal/components/index.ts +0 -9
  306. package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/animation-settings-context.ts +0 -19
  307. package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/bottom-sheet-is-dragging-context.ts +0 -11
  308. package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/form-field-context.ts +0 -36
  309. package/lib/__templates__/expo/client/heroui/helpers/internal/contexts/index.ts +0 -3
  310. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/index.ts +0 -14
  311. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-augmented-ref.ts +0 -32
  312. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-bottom-sheet-aware-handlers.ts +0 -94
  313. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-bottom-sheet-gesture-handlers.ts +0 -52
  314. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-combined-animation-disabled-state.ts +0 -49
  315. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-controllable-state.ts +0 -124
  316. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-dev-info.ts +0 -38
  317. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-keyboard-status.ts +0 -22
  318. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-bottom-sheet-content-animation.ts +0 -67
  319. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-dialog-content-animation.ts +0 -296
  320. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-overlay-animation.ts +0 -91
  321. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-popover-content-animation.ts +0 -199
  322. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-popup-root-animation.ts +0 -26
  323. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-relative-position.ts +0 -353
  324. package/lib/__templates__/expo/client/heroui/helpers/internal/hooks/use-resolved-style-property.ts +0 -118
  325. package/lib/__templates__/expo/client/heroui/helpers/internal/types/animation.ts +0 -131
  326. package/lib/__templates__/expo/client/heroui/helpers/internal/types/bottom-sheet.ts +0 -99
  327. package/lib/__templates__/expo/client/heroui/helpers/internal/types/index.ts +0 -5
  328. package/lib/__templates__/expo/client/heroui/helpers/internal/types/misc.ts +0 -10
  329. package/lib/__templates__/expo/client/heroui/helpers/internal/types/primitives.ts +0 -146
  330. package/lib/__templates__/expo/client/heroui/helpers/internal/types/theme.ts +0 -18
  331. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/animation.ts +0 -266
  332. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/children-to-string.ts +0 -117
  333. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/combine-styles.ts +0 -17
  334. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/create-context.ts +0 -60
  335. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/ease-gradient/create-interpolation.ts +0 -35
  336. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/ease-gradient/index.ts +0 -97
  337. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/get-element-by-display-name.ts +0 -15
  338. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/get-element-with-default.ts +0 -17
  339. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/has-prop.ts +0 -18
  340. package/lib/__templates__/expo/client/heroui/helpers/internal/utils/index.ts +0 -8
  341. package/lib/__templates__/expo/client/heroui/index.tsx +0 -51
  342. package/lib/__templates__/expo/client/heroui/primitives/README.md +0 -27
  343. package/lib/__templates__/expo/client/heroui/primitives/accordion/accordion.tsx +0 -270
  344. package/lib/__templates__/expo/client/heroui/primitives/accordion/accordion.types.ts +0 -117
  345. package/lib/__templates__/expo/client/heroui/primitives/accordion/accordion.utils.ts +0 -12
  346. package/lib/__templates__/expo/client/heroui/primitives/accordion/index.ts +0 -2
  347. package/lib/__templates__/expo/client/heroui/primitives/activity-indicator/activity-indicator.tsx +0 -50
  348. package/lib/__templates__/expo/client/heroui/primitives/activity-indicator/activity-indicator.types.ts +0 -24
  349. package/lib/__templates__/expo/client/heroui/primitives/activity-indicator/index.ts +0 -2
  350. package/lib/__templates__/expo/client/heroui/primitives/alert/alert.tsx +0 -124
  351. package/lib/__templates__/expo/client/heroui/primitives/alert/alert.types.ts +0 -87
  352. package/lib/__templates__/expo/client/heroui/primitives/alert/index.ts +0 -2
  353. package/lib/__templates__/expo/client/heroui/primitives/avatar/avatar.tsx +0 -171
  354. package/lib/__templates__/expo/client/heroui/primitives/avatar/avatar.types.ts +0 -62
  355. package/lib/__templates__/expo/client/heroui/primitives/avatar/avatar.utils.ts +0 -102
  356. package/lib/__templates__/expo/client/heroui/primitives/avatar/index.ts +0 -2
  357. package/lib/__templates__/expo/client/heroui/primitives/bottom-sheet/bottom-sheet.tsx +0 -235
  358. package/lib/__templates__/expo/client/heroui/primitives/bottom-sheet/bottom-sheet.types.ts +0 -127
  359. package/lib/__templates__/expo/client/heroui/primitives/bottom-sheet/index.ts +0 -2
  360. package/lib/__templates__/expo/client/heroui/primitives/checkbox/checkbox.tsx +0 -119
  361. package/lib/__templates__/expo/client/heroui/primitives/checkbox/checkbox.types.ts +0 -37
  362. package/lib/__templates__/expo/client/heroui/primitives/checkbox/index.ts +0 -2
  363. package/lib/__templates__/expo/client/heroui/primitives/dialog/dialog.tsx +0 -274
  364. package/lib/__templates__/expo/client/heroui/primitives/dialog/dialog.types.ts +0 -129
  365. package/lib/__templates__/expo/client/heroui/primitives/dialog/index.ts +0 -2
  366. package/lib/__templates__/expo/client/heroui/primitives/input-otp/index.ts +0 -3
  367. package/lib/__templates__/expo/client/heroui/primitives/input-otp/input-otp.tsx +0 -431
  368. package/lib/__templates__/expo/client/heroui/primitives/input-otp/input-otp.types.ts +0 -169
  369. package/lib/__templates__/expo/client/heroui/primitives/input-otp/input-otp.utils.ts +0 -31
  370. package/lib/__templates__/expo/client/heroui/primitives/label/index.ts +0 -2
  371. package/lib/__templates__/expo/client/heroui/primitives/label/label.tsx +0 -24
  372. package/lib/__templates__/expo/client/heroui/primitives/label/label.types.ts +0 -39
  373. package/lib/__templates__/expo/client/heroui/primitives/menu/index.ts +0 -2
  374. package/lib/__templates__/expo/client/heroui/primitives/menu/menu.tsx +0 -765
  375. package/lib/__templates__/expo/client/heroui/primitives/menu/menu.types.ts +0 -401
  376. package/lib/__templates__/expo/client/heroui/primitives/popover/index.ts +0 -2
  377. package/lib/__templates__/expo/client/heroui/primitives/popover/popover.tsx +0 -382
  378. package/lib/__templates__/expo/client/heroui/primitives/popover/popover.types.ts +0 -201
  379. package/lib/__templates__/expo/client/heroui/primitives/portal/index.ts +0 -1
  380. package/lib/__templates__/expo/client/heroui/primitives/portal/portal.tsx +0 -126
  381. package/lib/__templates__/expo/client/heroui/primitives/radio/index.ts +0 -2
  382. package/lib/__templates__/expo/client/heroui/primitives/radio/radio.tsx +0 -133
  383. package/lib/__templates__/expo/client/heroui/primitives/radio/radio.types.ts +0 -47
  384. package/lib/__templates__/expo/client/heroui/primitives/radio-group/index.ts +0 -2
  385. package/lib/__templates__/expo/client/heroui/primitives/radio-group/radio-group.tsx +0 -114
  386. package/lib/__templates__/expo/client/heroui/primitives/radio-group/radio-group.types.ts +0 -65
  387. package/lib/__templates__/expo/client/heroui/primitives/select/index.ts +0 -2
  388. package/lib/__templates__/expo/client/heroui/primitives/select/select.tsx +0 -705
  389. package/lib/__templates__/expo/client/heroui/primitives/select/select.types.ts +0 -409
  390. package/lib/__templates__/expo/client/heroui/primitives/select/select.utils.ts +0 -35
  391. package/lib/__templates__/expo/client/heroui/primitives/slider/index.ts +0 -3
  392. package/lib/__templates__/expo/client/heroui/primitives/slider/slider.tsx +0 -464
  393. package/lib/__templates__/expo/client/heroui/primitives/slider/slider.types.ts +0 -208
  394. package/lib/__templates__/expo/client/heroui/primitives/slider/slider.utils.ts +0 -93
  395. package/lib/__templates__/expo/client/heroui/primitives/slot/index.ts +0 -1
  396. package/lib/__templates__/expo/client/heroui/primitives/slot/slot.tsx +0 -122
  397. package/lib/__templates__/expo/client/heroui/primitives/slot/types.ts +0 -19
  398. package/lib/__templates__/expo/client/heroui/primitives/slot/utils.ts +0 -96
  399. package/lib/__templates__/expo/client/heroui/primitives/switch/index.ts +0 -2
  400. package/lib/__templates__/expo/client/heroui/primitives/switch/switch.tsx +0 -61
  401. package/lib/__templates__/expo/client/heroui/primitives/switch/switch.types.ts +0 -55
  402. package/lib/__templates__/expo/client/heroui/primitives/tabs/index.ts +0 -2
  403. package/lib/__templates__/expo/client/heroui/primitives/tabs/tabs.tsx +0 -202
  404. package/lib/__templates__/expo/client/heroui/primitives/tabs/tabs.types.ts +0 -77
  405. package/lib/__templates__/expo/client/heroui/primitives/tag-group/index.ts +0 -2
  406. package/lib/__templates__/expo/client/heroui/primitives/tag-group/tag-group.tsx +0 -324
  407. package/lib/__templates__/expo/client/heroui/primitives/tag-group/tag-group.types.ts +0 -119
  408. package/lib/__templates__/expo/client/heroui/primitives/toast/index.ts +0 -2
  409. package/lib/__templates__/expo/client/heroui/primitives/toast/toast.tsx +0 -138
  410. package/lib/__templates__/expo/client/heroui/primitives/toast/toast.types.ts +0 -86
  411. package/lib/__templates__/expo/client/heroui/providers/animation-settings/index.ts +0 -8
  412. package/lib/__templates__/expo/client/heroui/providers/animation-settings/provider.tsx +0 -47
  413. package/lib/__templates__/expo/client/heroui/providers/animation-settings/types.ts +0 -27
  414. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native/index.ts +0 -2
  415. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native/provider.tsx +0 -67
  416. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native/types.ts +0 -114
  417. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native-raw/index.ts +0 -2
  418. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native-raw/provider.tsx +0 -50
  419. package/lib/__templates__/expo/client/heroui/providers/hero-ui-native-raw/types.ts +0 -39
  420. package/lib/__templates__/expo/client/heroui/providers/text-component/index.ts +0 -2
  421. package/lib/__templates__/expo/client/heroui/providers/text-component/provider.tsx +0 -9
  422. package/lib/__templates__/expo/client/heroui/providers/text-component/types.ts +0 -52
  423. package/lib/__templates__/expo/client/heroui/providers/toast/index.ts +0 -3
  424. package/lib/__templates__/expo/client/heroui/providers/toast/insets-container.tsx +0 -87
  425. package/lib/__templates__/expo/client/heroui/providers/toast/provider.tsx +0 -431
  426. package/lib/__templates__/expo/client/heroui/providers/toast/reducer.ts +0 -34
  427. package/lib/__templates__/expo/client/heroui/providers/toast/toast-config.context.ts +0 -27
  428. package/lib/__templates__/expo/client/heroui/providers/toast/toast-item-renderer.tsx +0 -45
  429. package/lib/__templates__/expo/client/heroui/providers/toast/types.ts +0 -373
  430. package/lib/__templates__/expo/client/heroui/styles/index.css +0 -3
  431. package/lib/__templates__/expo/client/heroui/styles/theme.css +0 -112
  432. package/lib/__templates__/expo/client/heroui/styles/utilities.css +0 -8
  433. package/lib/__templates__/expo/client/heroui/styles/variables.css +0 -146
@@ -1,150 +0,0 @@
1
- import { useEffect, useMemo } from 'react';
2
- import {
3
- cancelAnimation,
4
- Easing,
5
- useAnimatedStyle,
6
- useSharedValue,
7
- withRepeat,
8
- withSequence,
9
- withTiming,
10
- } from 'react-native-reanimated';
11
- import { useAnimationSettings } from '../../helpers/internal/contexts';
12
- import { useCombinedAnimationDisabledState } from '../../helpers/internal/hooks';
13
- import {
14
- getAnimationState,
15
- getAnimationValueProperty,
16
- getIsAnimationDisabledValue,
17
- getRootAnimationState,
18
- } from '../../helpers/internal/utils';
19
- import {
20
- DEFAULT_ROTATION_DURATION,
21
- DEFAULT_SPINNER_INDICATOR_ENTERING,
22
- DEFAULT_SPINNER_INDICATOR_EXITING,
23
- } from './spinner.constants';
24
- import type {
25
- SpinnerIndicatorAnimation,
26
- SpinnerRootAnimation,
27
- } from './spinner.types';
28
-
29
- // --------------------------------------------------
30
-
31
- /**
32
- * Animation hook for Spinner root component
33
- * Handles entering and exiting animations for the spinner container
34
- */
35
- export function useSpinnerRootAnimation(options: {
36
- animation: SpinnerRootAnimation | undefined;
37
- }) {
38
- const { animation } = options;
39
-
40
- const { animationConfig, isAnimationDisabled } =
41
- getRootAnimationState(animation);
42
-
43
- const isAllAnimationsDisabled = useCombinedAnimationDisabledState(animation);
44
-
45
- const isAnimationDisabledValue = getIsAnimationDisabledValue({
46
- isAnimationDisabled,
47
- isAllAnimationsDisabled,
48
- });
49
-
50
- // Entering animation
51
- const enteringValue = getAnimationValueProperty({
52
- animationValue: animationConfig?.entering,
53
- property: 'value',
54
- defaultValue: DEFAULT_SPINNER_INDICATOR_ENTERING,
55
- });
56
-
57
- // Exiting animation
58
- const exitingValue = getAnimationValueProperty({
59
- animationValue: animationConfig?.exiting,
60
- property: 'value',
61
- defaultValue: DEFAULT_SPINNER_INDICATOR_EXITING,
62
- });
63
-
64
- return {
65
- entering: isAnimationDisabledValue ? undefined : enteringValue,
66
- exiting: isAnimationDisabledValue ? undefined : exitingValue,
67
- isAllAnimationsDisabled,
68
- };
69
- }
70
-
71
- // --------------------------------------------------
72
-
73
- /**
74
- * Animation hook for Spinner Indicator component
75
- * Handles rotation animation for the spinner indicator
76
- */
77
- export function useSpinnerIndicatorAnimation(options: {
78
- animation: SpinnerIndicatorAnimation | undefined;
79
- isLoading: boolean;
80
- }) {
81
- const { animation, isLoading } = options;
82
-
83
- // Read from global animation context (always available in compound parts)
84
- const { isAllAnimationsDisabled } = useAnimationSettings();
85
-
86
- const { animationConfig, isAnimationDisabled } = getAnimationState(animation);
87
-
88
- const isAnimationDisabledValue = getIsAnimationDisabledValue({
89
- isAnimationDisabled,
90
- isAllAnimationsDisabled,
91
- });
92
-
93
- // Rotation animation configuration
94
- const rotationSpeed = getAnimationValueProperty({
95
- animationValue: animationConfig?.rotation,
96
- property: 'speed',
97
- defaultValue: 1.1,
98
- });
99
-
100
- const rotationEasing = getAnimationValueProperty({
101
- animationValue: animationConfig?.rotation,
102
- property: 'easing',
103
- defaultValue: Easing.linear,
104
- });
105
-
106
- const rotationTimingConfig = useMemo(() => {
107
- return {
108
- duration: DEFAULT_ROTATION_DURATION / rotationSpeed,
109
- easing: rotationEasing,
110
- };
111
- }, [rotationSpeed, rotationEasing]);
112
-
113
- const rotation = useSharedValue(0);
114
-
115
- useEffect(() => {
116
- if (isLoading) {
117
- if (isAnimationDisabledValue) {
118
- rotation.set(0);
119
- } else {
120
- rotation.set(
121
- withRepeat(
122
- withSequence(withTiming(360, rotationTimingConfig)),
123
- -1,
124
- false
125
- )
126
- );
127
- }
128
- } else {
129
- rotation.set(withTiming(0, { duration: 300 }));
130
- }
131
-
132
- return () => {
133
- cancelAnimation(rotation);
134
- };
135
- }, [isLoading, isAnimationDisabledValue, rotation, rotationTimingConfig]);
136
-
137
- const rContainerStyle = useAnimatedStyle(() => {
138
- return {
139
- transform: [
140
- {
141
- rotate: `${rotation.get()}deg`,
142
- },
143
- ],
144
- };
145
- });
146
-
147
- return {
148
- rContainerStyle,
149
- };
150
- }
@@ -1,36 +0,0 @@
1
- import { Easing, FadeIn, FadeOut } from 'react-native-reanimated';
2
-
3
- /**
4
- * Display names for Spinner components
5
- */
6
- export const DISPLAY_NAME = {
7
- ROOT: 'HeroUINative.Spinner.Root',
8
- INDICATOR: 'HeroUINative.Spinner.Indicator',
9
- ICON: 'HeroUINative.Spinner.Icon',
10
- } as const;
11
-
12
- /**
13
- * Default animation duration for spinner rotation (in milliseconds)
14
- */
15
- export const DEFAULT_ROTATION_DURATION = 1000;
16
-
17
- /**
18
- * Size mappings for spinner icon dimensions
19
- */
20
- export const SPINNER_SIZE_MAP = {
21
- sm: 16,
22
- md: 24,
23
- lg: 32,
24
- } as const;
25
-
26
- /**
27
- * Default entering animation configuration for spinner indicator
28
- */
29
- export const DEFAULT_SPINNER_INDICATOR_ENTERING = FadeIn.duration(200).easing(
30
- Easing.out(Easing.ease)
31
- );
32
-
33
- /**
34
- * Default exiting animation configuration for spinner indicator
35
- */
36
- export const DEFAULT_SPINNER_INDICATOR_EXITING = FadeOut.duration(100);
@@ -1,199 +0,0 @@
1
- # Spinner
2
-
3
- Displays an animated loading indicator.
4
-
5
- ## Import
6
-
7
- ```tsx
8
- import { Spinner } from '@/heroui';
9
- ```
10
-
11
- ## Anatomy
12
-
13
- ```tsx
14
- <Spinner>
15
- <Spinner.Indicator>...</Spinner.Indicator>
16
- </Spinner>
17
- ```
18
-
19
- - **Spinner**: Main container that controls loading state, size, and color. Renders a default animated indicator if no children provided.
20
- - **Spinner.Indicator**: Optional sub-component for customizing animation configuration and icon appearance. Accepts custom children to replace the default icon.
21
-
22
- ## Usage
23
-
24
- ### Basic Usage
25
-
26
- The Spinner component displays a rotating loading indicator.
27
-
28
- ```tsx
29
- <Spinner />
30
- ```
31
-
32
- ### Sizes
33
-
34
- Control the spinner size with the `size` prop.
35
-
36
- ```tsx
37
- <Spinner size="sm" />
38
- <Spinner size="md" />
39
- <Spinner size="lg" />
40
- ```
41
-
42
- ### Colors
43
-
44
- Use predefined color variants or custom colors.
45
-
46
- ```tsx
47
- <Spinner color="default" />
48
- <Spinner color="success" />
49
- <Spinner color="warning" />
50
- <Spinner color="danger" />
51
- <Spinner color="#8B5CF6" />
52
- ```
53
-
54
- ### Loading State
55
-
56
- Control the visibility of the spinner with the `isLoading` prop.
57
-
58
- ```tsx
59
- <Spinner isLoading={true} />
60
- <Spinner isLoading={false} />
61
- ```
62
-
63
- ### Animation Speed
64
-
65
- Customize the rotation speed using the `animation` prop on the Indicator component.
66
-
67
- ```tsx
68
- <Spinner>
69
- <Spinner.Indicator animation={{ rotation: { speed: 0.5 } }} />
70
- </Spinner>
71
-
72
- <Spinner>
73
- <Spinner.Indicator animation={{ rotation: { speed: 2 } }} />
74
- </Spinner>
75
- ```
76
-
77
- ### Custom Icon
78
-
79
- Replace the default spinner icon with custom content.
80
-
81
- ```tsx
82
- const themeColorForeground = useThemeColor('foreground')
83
-
84
- <Spinner>
85
- <Spinner.Indicator>
86
- <Ionicons name="refresh" size={24} color={themeColorForeground} />
87
- </Spinner.Indicator>
88
- </Spinner>
89
-
90
- <Spinner>
91
- <Spinner.Indicator>
92
- <Text>⏳</Text>
93
- </Spinner.Indicator>
94
- </Spinner>
95
- ```
96
-
97
- ## Example
98
-
99
- ```tsx
100
- import { Spinner } from '@/heroui';
101
- import { Ionicons } from '@expo/vector-icons';
102
- import React from 'react';
103
- import { Text, TouchableOpacity, View } from 'react-native';
104
-
105
- export default function SpinnerExample() {
106
- const [isLoading, setIsLoading] = React.useState(true);
107
-
108
- return (
109
- <View className="gap-4 p-4 bg-background">
110
- <View className="flex-row items-center gap-2 p-4 rounded-lg bg-stone-200">
111
- <Spinner size="sm" color="default" />
112
- <Text className="text-stone-500">Loading content...</Text>
113
- </View>
114
-
115
- <View className="items-center p-8 rounded-2xl bg-stone-200">
116
- <Spinner size="lg" color="success" isLoading={isLoading} />
117
- <Text className="text-stone-500 mt-4">Processing...</Text>
118
- <TouchableOpacity onPress={() => setIsLoading(!isLoading)}>
119
- <Text className="text-primary mt-2 text-sm">
120
- {isLoading ? 'Tap to stop' : 'Tap to start'}
121
- </Text>
122
- </TouchableOpacity>
123
- </View>
124
-
125
- <View className="flex-row gap-4 items-center justify-center">
126
- <Spinner size="md" color="#EC4899">
127
- <Spinner.Indicator animation={{ rotation: { speed: 0.7 } }}>
128
- <Ionicons name="refresh" size={24} color="#EC4899" />
129
- </Spinner.Indicator>
130
- </Spinner>
131
- </View>
132
- </View>
133
- );
134
- }
135
- ```
136
-
137
- You can find more examples in the [GitHub repository](<https://github.com/heroui-inc/heroui-native/blob/rc/example/src/app/(home)/components/spinner.tsx>).
138
-
139
- ## API Reference
140
-
141
- ### Spinner
142
-
143
- | prop | type | default | description |
144
- | -------------- | ----------------------------------------------------------- | ----------- | -------------------------------------------------- |
145
- | `children` | `React.ReactNode` | `undefined` | Content to render inside the spinner |
146
- | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Size of the spinner |
147
- | `color` | `'default' \| 'success' \| 'warning' \| 'danger' \| string` | `'default'` | Color theme of the spinner |
148
- | `isLoading` | `boolean` | `true` | Whether the spinner is loading |
149
- | `className` | `string` | `undefined` | Custom class name for the spinner |
150
- | `animation` | `SpinnerRootAnimation` | - | Animation configuration |
151
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
152
-
153
- #### SpinnerRootAnimation
154
-
155
- Animation configuration for Spinner component. Can be:
156
-
157
- - `false` or `"disabled"`: Disable only root animations
158
- - `"disable-all"`: Disable all animations including children
159
- - `true` or `undefined`: Use default animations
160
- - `object`: Custom animation configuration
161
-
162
- | prop | type | default | description |
163
- | ---------------- | ---------------------------------------- | -------------------------------------------------------------------- | ----------------------------------------------- |
164
- | `state` | `'disabled' \| 'disable-all' \| boolean` | - | Disable animations while customizing properties |
165
- | `entering.value` | `EntryOrExitLayoutType` | `FadeIn`<br/>`.duration(200)`<br/>`.easing(Easing.out(Easing.ease))` | Custom entering animation |
166
- | `exiting.value` | `EntryOrExitLayoutType` | `FadeOut`<br/>`.duration(100)` | Custom exiting animation |
167
-
168
- ### Spinner.Indicator
169
-
170
- | prop | type | default | description |
171
- | ----------------------- | --------------------------- | ----------- | ------------------------------------------------------------ |
172
- | `children` | `React.ReactNode` | `undefined` | Content to render inside the indicator |
173
- | `iconProps` | `SpinnerIconProps` | `undefined` | Props for the default icon |
174
- | `className` | `string` | `undefined` | Custom class name for the indicator element |
175
- | `animation` | `SpinnerIndicatorAnimation` | - | Animation configuration |
176
- | `isAnimatedStyleActive` | `boolean` | `true` | Whether animated styles (react-native-reanimated) are active |
177
- | `...Animated.ViewProps` | `Animated.ViewProps` | - | All Reanimated Animated.View props are supported |
178
-
179
- #### SpinnerIndicatorAnimation
180
-
181
- Animation configuration for Spinner.Indicator component. Can be:
182
-
183
- - `false` or `"disabled"`: Disable all animations
184
- - `true` or `undefined`: Use default animations
185
- - `object`: Custom animation configuration
186
-
187
- | prop | type | default | description |
188
- | ----------------- | ---------------------------- | --------------- | ----------------------------------------------- |
189
- | `state` | `'disabled' \| boolean` | - | Disable animations while customizing properties |
190
- | `rotation.speed` | `number` | `1.1` | Rotation speed multiplier |
191
- | `rotation.easing` | `WithTimingConfig['easing']` | `Easing.linear` | Animation easing configuration |
192
-
193
- ### SpinnerIconProps
194
-
195
- | prop | type | default | description |
196
- | -------- | ------------------ | ---------------- | ------------------ |
197
- | `width` | `number \| string` | `24` | Width of the icon |
198
- | `height` | `number \| string` | `24` | Height of the icon |
199
- | `color` | `string` | `'currentColor'` | Color of the icon |
@@ -1,44 +0,0 @@
1
- import { tv } from 'tailwind-variants';
2
- import { combineStyles } from '../../helpers/internal/utils';
3
-
4
- const root = tv({
5
- base: 'items-center justify-center',
6
- variants: {
7
- size: {
8
- sm: 'size-4',
9
- md: 'size-6',
10
- lg: 'size-8',
11
- },
12
- },
13
- defaultVariants: {
14
- size: 'md',
15
- },
16
- });
17
-
18
- /**
19
- * Indicator style definition
20
- *
21
- * @note ANIMATED PROPERTIES (cannot be set via className):
22
- * The following property is animated and cannot be overridden using Tailwind classes:
23
- * - `transform` (specifically `rotate`) - Animated for continuous rotation animation
24
- *
25
- * To customize this property, use the `animation` prop on `Spinner.Indicator`:
26
- * ```tsx
27
- * <Spinner.Indicator
28
- * animation={{
29
- * rotation: { speed: 1.1, easing: Easing.linear }
30
- * }}
31
- * />
32
- * ```
33
- *
34
- * To completely disable animated styles and apply your own via className or style prop,
35
- * set `isAnimatedStyleActive={false}` on `Spinner.Indicator`.
36
- */
37
- const indicator = tv({
38
- base: 'size-full items-center justify-center',
39
- });
40
-
41
- export const spinnerClassNames = combineStyles({
42
- root,
43
- indicator,
44
- });
@@ -1,198 +0,0 @@
1
- import { forwardRef, useMemo } from 'react';
2
- import type { View } from 'react-native';
3
- import Animated from 'react-native-reanimated';
4
- import { useThemeColor } from '../../helpers/external/hooks';
5
- import { AnimationSettingsProvider } from '../../helpers/internal/contexts';
6
- import {
7
- createContext,
8
- getElementWithDefault,
9
- } from '../../helpers/internal/utils';
10
- import * as ActivityIndicatorPrimitives from '../../primitives/activity-indicator';
11
- import { SpinnerIcon } from './spinner-icon';
12
- import {
13
- useSpinnerIndicatorAnimation,
14
- useSpinnerRootAnimation,
15
- } from './spinner.animation';
16
- import { DISPLAY_NAME, SPINNER_SIZE_MAP } from './spinner.constants';
17
- import { spinnerClassNames } from './spinner.styles';
18
- import type {
19
- SpinnerContextValue,
20
- SpinnerIndicatorProps,
21
- SpinnerProps,
22
- } from './spinner.types';
23
-
24
- const AnimatedRoot = Animated.createAnimatedComponent(
25
- ActivityIndicatorPrimitives.Root
26
- );
27
-
28
- const AnimatedIndicator = Animated.createAnimatedComponent(
29
- ActivityIndicatorPrimitives.Indicator
30
- );
31
-
32
- const [SpinnerProvider, useSpinnerContext] = createContext<SpinnerContextValue>(
33
- {
34
- name: 'SpinnerContext',
35
- }
36
- );
37
-
38
- const SpinnerRoot = forwardRef<View, SpinnerProps>((props, ref) => {
39
- const {
40
- children,
41
- size = 'md',
42
- color = 'default',
43
- isLoading = true,
44
- className,
45
- animation,
46
- ...restProps
47
- } = props;
48
-
49
- const rootClassName = spinnerClassNames.root({
50
- size,
51
- className,
52
- });
53
-
54
- const { entering, exiting, isAllAnimationsDisabled } =
55
- useSpinnerRootAnimation({
56
- animation,
57
- });
58
-
59
- const indicatorElement = useMemo(
60
- () =>
61
- getElementWithDefault(
62
- children,
63
- DISPLAY_NAME.INDICATOR,
64
- <SpinnerIndicator />
65
- ),
66
- [children]
67
- );
68
-
69
- const contextValue = useMemo(
70
- () => ({
71
- size,
72
- color,
73
- isLoading,
74
- }),
75
- [size, color, isLoading]
76
- );
77
-
78
- const animationSettingsContextValue = useMemo(
79
- () => ({
80
- isAllAnimationsDisabled,
81
- }),
82
- [isAllAnimationsDisabled]
83
- );
84
-
85
- return (
86
- <AnimationSettingsProvider value={animationSettingsContextValue}>
87
- <SpinnerProvider value={contextValue}>
88
- <AnimatedRoot
89
- ref={ref}
90
- entering={entering}
91
- exiting={exiting}
92
- isLoading={isLoading}
93
- className={rootClassName}
94
- {...restProps}
95
- >
96
- {children || indicatorElement}
97
- </AnimatedRoot>
98
- </SpinnerProvider>
99
- </AnimationSettingsProvider>
100
- );
101
- });
102
-
103
- // --------------------------------------------------
104
-
105
- const SpinnerIndicator = forwardRef<View, SpinnerIndicatorProps>(
106
- (props, ref) => {
107
- const {
108
- children,
109
- className,
110
- style,
111
- iconProps,
112
- animation,
113
- isAnimatedStyleActive = true,
114
- ...restProps
115
- } = props;
116
-
117
- const { size, color, isLoading } = useSpinnerContext();
118
-
119
- const [
120
- themeColorAccent,
121
- themeColorSuccess,
122
- themeColorWarning,
123
- themeColorDanger,
124
- ] = useThemeColor(['accent', 'success', 'warning', 'danger']);
125
-
126
- const indicatorClassName = spinnerClassNames.indicator({
127
- className,
128
- });
129
-
130
- const iconSize = SPINNER_SIZE_MAP[size];
131
-
132
- const colorMap: Record<string, string> = {
133
- default: themeColorAccent,
134
- success: themeColorSuccess,
135
- warning: themeColorWarning,
136
- danger: themeColorDanger,
137
- };
138
-
139
- const iconColor = colorMap[color] || color;
140
-
141
- const { rContainerStyle } = useSpinnerIndicatorAnimation({
142
- animation,
143
- isLoading,
144
- });
145
-
146
- const indicatorStyle = isAnimatedStyleActive
147
- ? [rContainerStyle, style]
148
- : style;
149
-
150
- if (!isLoading) {
151
- return null;
152
- }
153
-
154
- return (
155
- <AnimatedIndicator
156
- ref={ref}
157
- className={indicatorClassName}
158
- style={indicatorStyle}
159
- {...restProps}
160
- >
161
- {children || (
162
- <SpinnerIcon
163
- width={iconProps?.width ?? iconSize}
164
- height={iconProps?.height ?? iconSize}
165
- color={iconProps?.color ?? iconColor}
166
- />
167
- )}
168
- </AnimatedIndicator>
169
- );
170
- }
171
- );
172
-
173
- // --------------------------------------------------
174
-
175
- SpinnerRoot.displayName = DISPLAY_NAME.ROOT;
176
- SpinnerIndicator.displayName = DISPLAY_NAME.INDICATOR;
177
-
178
- /**
179
- * Compound Spinner component with sub-components
180
- *
181
- * @component Spinner - Main container that controls loading state, size, and color.
182
- * Renders a default animated indicator if no children provided.
183
- *
184
- * @component Spinner.Indicator - Optional sub-component for customizing animation configuration
185
- * and icon appearance. Accepts custom children to replace the default icon.
186
- * When omitted, Spinner uses a default indicator with standard animation settings.
187
- *
188
- * Props flow from Spinner to Indicator via context (size, color, isLoading).
189
- * The indicator only renders when isLoading is true.
190
- *
191
- * @see Full documentation: https://v3.heroui.com/docs/native/components/spinner
192
- */
193
- const CompoundSpinner = Object.assign(SpinnerRoot, {
194
- /** @optional Customize animation configuration and icon appearance */
195
- Indicator: SpinnerIndicator,
196
- });
197
-
198
- export default CompoundSpinner;