@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,9 +0,0 @@
1
- export { default as Radio, useRadio } from './radio';
2
- export { radioClassNames } from './radio.styles';
3
- export type {
4
- RadioIndicatorProps,
5
- RadioIndicatorThumbAnimation,
6
- RadioIndicatorThumbProps,
7
- RadioProps,
8
- RadioRenderProps,
9
- } from './radio.types';
@@ -1,92 +0,0 @@
1
- import { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';
2
- import { useAnimationSettings } from '../../helpers/internal/contexts';
3
- import { useCombinedAnimationDisabledState } from '../../helpers/internal/hooks';
4
- import type { AnimationRootDisableAll } from '../../helpers/internal/types';
5
- import {
6
- getAnimationState,
7
- getAnimationValueMergedConfig,
8
- getAnimationValueProperty,
9
- getIsAnimationDisabledValue,
10
- } from '../../helpers/internal/utils';
11
- import type { RadioIndicatorThumbAnimation } from './radio.types';
12
-
13
- // --------------------------------------------------
14
-
15
- /**
16
- * Animation hook for Radio root component.
17
- * Handles cascading animation disabled state to child components (Indicator, IndicatorThumb).
18
- */
19
- export function useRadioRootAnimation(options: {
20
- animation: AnimationRootDisableAll | undefined;
21
- }) {
22
- const { animation } = options;
23
-
24
- const isAllAnimationsDisabled = useCombinedAnimationDisabledState(animation);
25
-
26
- return {
27
- isAllAnimationsDisabled,
28
- };
29
- }
30
-
31
- // --------------------------------------------------
32
-
33
- /**
34
- * Animation hook for Radio.IndicatorThumb component.
35
- * Handles scale animation based on selection state.
36
- */
37
- export function useRadioIndicatorThumbAnimation(options: {
38
- animation: RadioIndicatorThumbAnimation | undefined;
39
- isSelected: boolean | undefined;
40
- }) {
41
- const { animation, isSelected } = options;
42
-
43
- // Read from global animation context (always available in compound parts)
44
- const { isAllAnimationsDisabled } = useAnimationSettings();
45
-
46
- const { animationConfig, isAnimationDisabled } = getAnimationState(animation);
47
-
48
- const isAnimationDisabledValue = getIsAnimationDisabledValue({
49
- isAnimationDisabled,
50
- isAllAnimationsDisabled,
51
- });
52
-
53
- // Scale animation
54
- const scaleValue = getAnimationValueProperty({
55
- animationValue: animationConfig?.scale,
56
- property: 'value',
57
- defaultValue: [1.5, 1] as [number, number],
58
- });
59
-
60
- const scaleTimingConfig = getAnimationValueMergedConfig({
61
- animationValue: animationConfig?.scale,
62
- property: 'timingConfig',
63
- defaultValue: { duration: 300, easing: Easing.out(Easing.ease) },
64
- });
65
-
66
- const rContainerStyle = useAnimatedStyle(() => {
67
- if (isAnimationDisabledValue) {
68
- return {
69
- transform: [
70
- {
71
- scale: scaleValue[1],
72
- },
73
- ],
74
- };
75
- }
76
-
77
- return {
78
- transform: [
79
- {
80
- scale: withTiming(
81
- isSelected ? scaleValue[1] : scaleValue[0],
82
- scaleTimingConfig
83
- ),
84
- },
85
- ],
86
- };
87
- });
88
-
89
- return {
90
- rContainerStyle,
91
- };
92
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Display names for Radio components
3
- */
4
- export const DISPLAY_NAME = {
5
- RADIO_ROOT: 'HeroUINative.Radio.Root',
6
- RADIO_INDICATOR: 'HeroUINative.Radio.Indicator',
7
- RADIO_INDICATOR_THUMB: 'HeroUINative.Radio.IndicatorThumb',
8
- } as const;
9
-
10
- /** Default hit slop for the pressable area */
11
- export const DEFAULT_HIT_SLOP = 6;
@@ -1,339 +0,0 @@
1
- # Radio
2
-
3
- An individual radio option that indicates a single selection from a set of choices.
4
-
5
- ## Import
6
-
7
- ```tsx
8
- import { Radio } from '@/heroui';
9
- ```
10
-
11
- ## Anatomy
12
-
13
- ```tsx
14
- <Radio>
15
- <Radio.Indicator>
16
- <Radio.IndicatorThumb />
17
- </Radio.Indicator>
18
- </Radio>
19
- ```
20
-
21
- - **Radio**: Main container that handles selection state and user interaction. Operates in two modes: standalone with `isSelected`/`onSelectedChange`, or inside a `RadioGroup.Item` where it automatically derives state from the group context. Renders a default indicator if no children are provided. Supports render function children to access state (`isSelected`, `isDisabled`, `isInvalid`).
22
- - **Radio.Indicator**: Optional container for the radio circle. Renders default thumb if no children are provided. Manages the visual selection state with variant and invalid styling.
23
- - **Radio.IndicatorThumb**: Optional inner circle that appears when selected. Animates scale based on selection state. Can be replaced with custom content.
24
-
25
- ## Usage
26
-
27
- ### Basic Usage
28
-
29
- The Radio component renders with a default indicator and thumb if no children are provided. It automatically detects whether it's on a surface background for proper variant styling.
30
-
31
- ```tsx
32
- <Radio isSelected={isSelected} onSelectedChange={setIsSelected} />
33
- ```
34
-
35
- ### Inside RadioGroup
36
-
37
- When used inside a `RadioGroup.Item`, the Radio automatically derives its state from the group context.
38
-
39
- ```tsx
40
- <RadioGroup value={value} onValueChange={setValue}>
41
- <RadioGroup.Item value="option1">
42
- <Label>Option 1</Label>
43
- <Radio />
44
- </RadioGroup.Item>
45
- <RadioGroup.Item value="option2">
46
- <Label>Option 2</Label>
47
- <Radio />
48
- </RadioGroup.Item>
49
- </RadioGroup>
50
- ```
51
-
52
- ### Custom Indicator Styling
53
-
54
- Customize the indicator and thumb appearance using className props on compound parts.
55
-
56
- ```tsx
57
- <Radio>
58
- <Radio.Indicator className="size-8 bg-red-500 border-red-400">
59
- <Radio.IndicatorThumb className="size-3.5 bg-red-100" />
60
- </Radio.Indicator>
61
- </Radio>
62
- ```
63
-
64
- ### With ControlField
65
-
66
- Wrap the Radio inside a `ControlField.Indicator` to create a tappable field row with label and description. The `ControlField` manages the selection state and passes it down to the Radio automatically.
67
-
68
- ```tsx
69
- <ControlField isSelected={isSelected} onSelectedChange={setIsSelected}>
70
- <View className="flex-1">
71
- <Label>Enable notifications</Label>
72
- <Description>Receive alerts for important updates</Description>
73
- </View>
74
- <ControlField.Indicator variant="radio" />
75
- </ControlField>
76
- ```
77
-
78
- ### Custom Indicator Content
79
-
80
- Replace the default thumb with custom content inside the indicator.
81
-
82
- ```tsx
83
- <RadioGroup.Item value="email">
84
- {({ isSelected }) => (
85
- <>
86
- <Radio>
87
- <Radio.Indicator>{isSelected && <CustomIcon />}</Radio.Indicator>
88
- </Radio>
89
- <Label>Email Notifications</Label>
90
- </>
91
- )}
92
- </RadioGroup.Item>
93
- ```
94
-
95
- ### Render Function Children
96
-
97
- Use a render function on the Radio root to access selection state for conditional styling.
98
-
99
- ```tsx
100
- <RadioGroup.Item value="item1">
101
- {({ isSelected }) => (
102
- <View className={cn('p-3 rounded-2xl', isSelected && 'bg-surface')}>
103
- <Radio>
104
- <Radio.Indicator
105
- className={cn(!isSelected && 'border border-muted/10')}
106
- />
107
- </Radio>
108
- <Label>Item Label</Label>
109
- </View>
110
- )}
111
- </RadioGroup.Item>
112
- ```
113
-
114
- ### Disable Animations
115
-
116
- Disable all animations including children using the `animation` prop on the root.
117
-
118
- ```tsx
119
- <Radio
120
- animation="disable-all"
121
- isSelected={isSelected}
122
- onSelectedChange={setIsSelected}
123
- >
124
- <Radio.Indicator>
125
- <Radio.IndicatorThumb />
126
- </Radio.Indicator>
127
- </Radio>
128
- ```
129
-
130
- ### Custom Thumb Animation
131
-
132
- Customize the scale animation on the indicator thumb.
133
-
134
- ```tsx
135
- <Radio isSelected={isSelected} onSelectedChange={setIsSelected}>
136
- <Radio.Indicator>
137
- <Radio.IndicatorThumb
138
- animation={{
139
- scale: {
140
- value: [2, 1],
141
- timingConfig: { duration: 500 },
142
- },
143
- }}
144
- />
145
- </Radio.Indicator>
146
- </Radio>
147
- ```
148
-
149
- ## Example
150
-
151
- ```tsx
152
- import {
153
- cn,
154
- Description,
155
- Label,
156
- Radio,
157
- RadioGroup,
158
- Separator,
159
- Surface,
160
- } from '@/heroui';
161
- import React from 'react';
162
- import { View, Text } from 'react-native';
163
-
164
- export default function RadioExample() {
165
- const [priority, setPriority] = React.useState('medium');
166
-
167
- return (
168
- <Surface className="w-full gap-6">
169
- <View>
170
- <Text className="text-foreground font-semibold text-base">
171
- Priority Level
172
- </Text>
173
- <Text className="text-muted text-sm">
174
- Set the priority for this task
175
- </Text>
176
- </View>
177
- <RadioGroup value={priority} onValueChange={setPriority}>
178
- <RadioGroup.Item value="high">
179
- {({ isSelected }) => (
180
- <>
181
- <View className="flex-1">
182
- <Label>High Priority</Label>
183
- <Description>Urgent - requires immediate attention</Description>
184
- </View>
185
- <Radio>
186
- <Radio.Indicator
187
- className={cn(
188
- 'size-8',
189
- isSelected && 'bg-red-500 border-red-400'
190
- )}
191
- >
192
- <Radio.IndicatorThumb className="size-3.5 bg-red-100" />
193
- </Radio.Indicator>
194
- </Radio>
195
- </>
196
- )}
197
- </RadioGroup.Item>
198
-
199
- <Separator />
200
-
201
- <RadioGroup.Item value="medium">
202
- {({ isSelected }) => (
203
- <>
204
- <View className="flex-1">
205
- <Label>Medium Priority</Label>
206
- <Description>Important - complete within this week</Description>
207
- </View>
208
- <Radio>
209
- <Radio.Indicator
210
- className={cn(
211
- 'size-8',
212
- isSelected && 'bg-amber-500 border-amber-400'
213
- )}
214
- >
215
- <Radio.IndicatorThumb className="size-3.5 bg-amber-100" />
216
- </Radio.Indicator>
217
- </Radio>
218
- </>
219
- )}
220
- </RadioGroup.Item>
221
-
222
- <Separator />
223
-
224
- <RadioGroup.Item value="low">
225
- {({ isSelected }) => (
226
- <>
227
- <View className="flex-1">
228
- <Label>Low Priority</Label>
229
- <Description>Standard - complete when possible</Description>
230
- </View>
231
- <Radio>
232
- <Radio.Indicator
233
- className={cn(
234
- 'size-8',
235
- isSelected && 'bg-emerald-500 border-emerald-400'
236
- )}
237
- >
238
- <Radio.IndicatorThumb className="size-3.5 bg-emerald-100" />
239
- </Radio.Indicator>
240
- </Radio>
241
- </>
242
- )}
243
- </RadioGroup.Item>
244
- </RadioGroup>
245
- </Surface>
246
- );
247
- }
248
- ```
249
-
250
- You can find more examples in the [GitHub repository](<https://github.com/heroui-inc/heroui-native/blob/rc/example/src/app/(home)/components/radio-group.tsx>).
251
-
252
- ## API Reference
253
-
254
- ### Radio
255
-
256
- | prop | type | default | description |
257
- | ------------------- | ------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------- |
258
- | `children` | `React.ReactNode \| ((props: RadioRenderProps) => React.ReactNode)` | `undefined` | Child elements or render function to customize the radio |
259
- | `variant` | `'primary' \| 'secondary'` | `'primary'` | Variant style for the radio |
260
- | `isSelected` | `boolean` | `undefined` | Whether the radio is currently selected |
261
- | `isDisabled` | `boolean` | `undefined` | Whether the radio is disabled and cannot be interacted with |
262
- | `isInvalid` | `boolean` | `false` | Whether the radio is invalid (shows danger color) |
263
- | `className` | `string` | `undefined` | Additional CSS classes to apply |
264
- | `animation` | `RadioRootAnimation` | - | Animation configuration for radio |
265
- | `onSelectedChange` | `(isSelected: boolean) => void` | `undefined` | Callback fired when the radio selection state changes |
266
- | `...PressableProps` | `PressableProps` | - | All standard React Native Pressable props are supported (except disabled) |
267
-
268
- #### RadioRenderProps
269
-
270
- | prop | type | description |
271
- | ------------ | --------- | ----------------------------- |
272
- | `isSelected` | `boolean` | Whether the radio is selected |
273
- | `isDisabled` | `boolean` | Whether the radio is disabled |
274
- | `isInvalid` | `boolean` | Whether the radio is invalid |
275
-
276
- #### RadioRootAnimation
277
-
278
- Animation configuration for radio root component. Can be:
279
-
280
- - `"disable-all"`: Disable all animations including children (Indicator, IndicatorThumb)
281
- - `undefined`: Use default animations
282
-
283
- ### Radio.Indicator
284
-
285
- | prop | type | default | description |
286
- | ---------------------- | -------------------------- | ----------- | ------------------------------------------------ |
287
- | `children` | `React.ReactNode` | `undefined` | Content for the radio indicator |
288
- | `className` | `string` | `undefined` | Additional CSS classes for the indicator |
289
- | `...AnimatedViewProps` | `AnimatedProps<ViewProps>` | - | All Reanimated Animated.View props are supported |
290
-
291
- ### Radio.IndicatorThumb
292
-
293
- | prop | type | default | description |
294
- | ----------------------- | ------------------------------ | ----------- | ------------------------------------------------------------ |
295
- | `className` | `string` | `undefined` | Additional CSS classes for the thumb |
296
- | `animation` | `RadioIndicatorThumbAnimation` | - | Animation configuration for the thumb |
297
- | `isAnimatedStyleActive` | `boolean` | `true` | Whether animated styles (react-native-reanimated) are active |
298
- | `...AnimatedViewProps` | `AnimatedProps<ViewProps>` | - | All Reanimated Animated.View props are supported |
299
-
300
- #### RadioIndicatorThumbAnimation
301
-
302
- Animation configuration for radio indicator thumb component. Can be:
303
-
304
- - `false` or `"disabled"`: Disable all animations
305
- - `true` or `undefined`: Use default animations
306
- - `object`: Custom animation configuration
307
-
308
- | prop | type | default | description |
309
- | -------------------- | ----------------------- | ---------------------------------------------------- | ----------------------------------------------- |
310
- | `state` | `'disabled' \| boolean` | - | Disable animations while customizing properties |
311
- | `scale.value` | `[number, number]` | `[1.5, 1]` | Scale values [unselected, selected] |
312
- | `scale.timingConfig` | `WithTimingConfig` | `{ duration: 300, easing: Easing.out(Easing.ease) }` | Animation timing configuration |
313
-
314
- ## Hooks
315
-
316
- ### useRadio
317
-
318
- Hook to access radio context values within custom components or compound components.
319
-
320
- ```tsx
321
- import { useRadio } from '@/heroui';
322
-
323
- const CustomIndicator = () => {
324
- const { isSelected, isDisabled, isInvalid, variant } = useRadio();
325
- };
326
- ```
327
-
328
- **Returns:** `UseRadioReturn`
329
-
330
- | property | type | description |
331
- | ------------------ | ---------------------------------------------- | ----------------------------------------------------------- |
332
- | `isSelected` | `boolean \| undefined` | Whether the radio is currently selected |
333
- | `onSelectedChange` | `((isSelected: boolean) => void) \| undefined` | Callback function to change the radio selection state |
334
- | `isDisabled` | `boolean` | Whether the radio is disabled and cannot be interacted with |
335
- | `isInvalid` | `boolean` | Whether the radio is invalid (shows danger color) |
336
- | `variant` | `'primary' \| 'secondary' \| undefined` | Current variant style of the radio |
337
- | `nativeID` | `string \| undefined` | Native ID for the radio element |
338
-
339
- **Note:** This hook must be used within a `Radio` component. It will throw an error if called outside of the radio context.
@@ -1,80 +0,0 @@
1
- import { StyleSheet } from 'react-native';
2
- import { tv } from 'tailwind-variants';
3
- import { combineStyles } from '../../helpers/internal/utils';
4
-
5
- /** Root item layout style */
6
- const root = tv({
7
- base: 'flex-row items-center justify-between gap-3',
8
- });
9
-
10
- /** Indicator container style (the radio circle) */
11
- const indicator = tv({
12
- base: 'size-6 rounded-full border border-field-border items-center justify-center overflow-hidden',
13
- variants: {
14
- variant: {
15
- primary: 'bg-field shadow-field',
16
- secondary: 'bg-default',
17
- },
18
- isSelected: {
19
- true: 'bg-accent',
20
- false: '',
21
- },
22
- isInvalid: {
23
- true: 'bg-transparent border-danger',
24
- false: '',
25
- },
26
- },
27
- compoundVariants: [
28
- {
29
- isInvalid: true,
30
- isSelected: true,
31
- className: 'bg-danger border-danger',
32
- },
33
- ],
34
- defaultVariants: {
35
- variant: 'primary',
36
- isSelected: false,
37
- isInvalid: false,
38
- },
39
- });
40
-
41
- /**
42
- * Indicator thumb style definition
43
- *
44
- * @note ANIMATED PROPERTIES (cannot be set via className):
45
- * The following property is animated and cannot be overridden using Tailwind classes:
46
- * - `transform` (specifically `scale`) - Animated for selection transitions (unselected: 1.5, selected: 1)
47
- *
48
- * To customize this property, use the `animation` prop on `Radio.IndicatorThumb`:
49
- * ```tsx
50
- * <Radio.IndicatorThumb
51
- * animation={{
52
- * scale: { value: [1.5, 1], timingConfig: { duration: 300, easing: Easing.out(Easing.ease) } }
53
- * }}
54
- * />
55
- * ```
56
- *
57
- * To completely disable animated styles and apply your own via className or style prop,
58
- * set `isAnimatedStyleActive={false}` on `Radio.IndicatorThumb`.
59
- */
60
- const indicatorThumb = tv({
61
- base: 'size-2.5 rounded-full bg-accent-foreground shadow-field',
62
- variants: {
63
- isSelected: {
64
- true: 'opacity-100',
65
- false: 'opacity-0',
66
- },
67
- },
68
- });
69
-
70
- export const radioClassNames = combineStyles({
71
- root,
72
- indicator,
73
- indicatorThumb,
74
- });
75
-
76
- export const radioStyleSheet = StyleSheet.create({
77
- borderCurve: {
78
- borderCurve: 'continuous',
79
- },
80
- });