@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,217 +0,0 @@
1
- import { forwardRef, useMemo } from 'react';
2
- import { View } from 'react-native';
3
- import Animated from 'react-native-reanimated';
4
-
5
- import { useIsOnSurface } from '../../helpers/external/hooks';
6
- import { AnimationSettingsProvider } from '../../helpers/internal/contexts';
7
- import * as RadioPrimitives from '../../primitives/radio';
8
- import { useRadioGroupItem } from '../radio-group/radio-group.context';
9
- import {
10
- useRadioIndicatorThumbAnimation,
11
- useRadioRootAnimation,
12
- } from './radio.animation';
13
- import { DEFAULT_HIT_SLOP, DISPLAY_NAME } from './radio.constants';
14
- import { radioClassNames, radioStyleSheet } from './radio.styles';
15
- import type {
16
- RadioIndicatorProps,
17
- RadioIndicatorThumbProps,
18
- RadioProps,
19
- RadioRenderProps,
20
- } from './radio.types';
21
-
22
- const useRadio = RadioPrimitives.useRadioContext;
23
-
24
- const AnimatedRadioIndicator = Animated.createAnimatedComponent(
25
- RadioPrimitives.Indicator
26
- );
27
-
28
- // --------------------------------------------------
29
-
30
- /**
31
- * Radio root component.
32
- *
33
- * Operates in two modes:
34
- * - **Standalone**: Renders a Pressable trigger with `isSelected`/`onSelectedChange`.
35
- * - **Inside RadioGroupItem**: Detects parent context automatically, derives state from
36
- * the RadioGroupItem, and pressing selects this item in the group.
37
- */
38
- const RadioRoot = forwardRef<RadioPrimitives.RootRef, RadioProps>(
39
- (props, ref) => {
40
- const {
41
- children,
42
- isSelected: isSelectedProp,
43
- onSelectedChange: onSelectedChangeProp,
44
- isDisabled: isDisabledProp,
45
- isInvalid: isInvalidProp,
46
- variant: variantProp,
47
- className,
48
- animation,
49
- ...restProps
50
- } = props;
51
-
52
- // Detect RadioGroupItem context (non-strict: returns undefined outside a group)
53
- const radioGroupItemContext = useRadioGroupItem();
54
-
55
- // Merge props with RadioGroupItem context (explicit props take precedence)
56
- const isSelected = isSelectedProp ?? radioGroupItemContext?.isSelected;
57
- const isDisabled = isDisabledProp ?? radioGroupItemContext?.isDisabled;
58
- const isInvalid = isInvalidProp ?? radioGroupItemContext?.isInvalid;
59
- const onSelectedChange =
60
- onSelectedChangeProp ?? radioGroupItemContext?.onSelectedChange;
61
-
62
- const isOnSurfaceAutoDetected = useIsOnSurface();
63
- const finalVariant =
64
- variantProp !== undefined
65
- ? variantProp
66
- : radioGroupItemContext?.variant !== undefined
67
- ? radioGroupItemContext.variant
68
- : isOnSurfaceAutoDetected
69
- ? 'secondary'
70
- : 'primary';
71
-
72
- const rootClassName = radioClassNames.root({
73
- className,
74
- });
75
-
76
- const renderProps: RadioRenderProps = {
77
- isSelected: isSelected ?? false,
78
- isDisabled: isDisabled ?? false,
79
- isInvalid: isInvalid ?? false,
80
- };
81
-
82
- const content =
83
- typeof children === 'function'
84
- ? children(renderProps)
85
- : (children ?? <RadioIndicator />);
86
-
87
- const { isAllAnimationsDisabled } = useRadioRootAnimation({
88
- animation,
89
- });
90
-
91
- const animationSettingsContextValue = useMemo(
92
- () => ({
93
- isAllAnimationsDisabled,
94
- }),
95
- [isAllAnimationsDisabled]
96
- );
97
-
98
- return (
99
- <AnimationSettingsProvider value={animationSettingsContextValue}>
100
- <RadioPrimitives.Root
101
- ref={ref}
102
- variant={finalVariant}
103
- className={rootClassName}
104
- isSelected={isSelected}
105
- onSelectedChange={onSelectedChange}
106
- isDisabled={isDisabled}
107
- isInvalid={isInvalid}
108
- hitSlop={props.hitSlop ?? DEFAULT_HIT_SLOP}
109
- {...restProps}
110
- >
111
- {content}
112
- </RadioPrimitives.Root>
113
- </AnimationSettingsProvider>
114
- );
115
- }
116
- );
117
-
118
- // --------------------------------------------------
119
-
120
- const RadioIndicator = forwardRef<Animated.View, RadioIndicatorProps>(
121
- (props, ref) => {
122
- const { children, className, style, ...restProps } = props;
123
-
124
- const { isSelected, isInvalid, variant } = useRadio();
125
-
126
- const indicatorClassName = radioClassNames.indicator({
127
- variant,
128
- isSelected,
129
- isInvalid,
130
- className,
131
- });
132
-
133
- return (
134
- <AnimatedRadioIndicator
135
- ref={ref}
136
- className={indicatorClassName}
137
- style={[radioStyleSheet.borderCurve, style]}
138
- {...restProps}
139
- >
140
- {children ?? <RadioIndicatorThumb />}
141
- </AnimatedRadioIndicator>
142
- );
143
- }
144
- );
145
-
146
- // --------------------------------------------------
147
-
148
- const RadioIndicatorThumb = forwardRef<View, RadioIndicatorThumbProps>(
149
- (props, ref) => {
150
- const {
151
- className,
152
- style,
153
- animation,
154
- isAnimatedStyleActive = true,
155
- ...restProps
156
- } = props;
157
-
158
- const { isSelected } = useRadio();
159
-
160
- const thumbClassName = radioClassNames.indicatorThumb({
161
- isSelected,
162
- className,
163
- });
164
-
165
- const { rContainerStyle } = useRadioIndicatorThumbAnimation({
166
- animation,
167
- isSelected,
168
- });
169
-
170
- const thumbStyle = isAnimatedStyleActive ? [rContainerStyle, style] : style;
171
-
172
- return (
173
- <Animated.View
174
- ref={ref}
175
- className={thumbClassName}
176
- style={thumbStyle}
177
- {...restProps}
178
- />
179
- );
180
- }
181
- );
182
-
183
- // --------------------------------------------------
184
-
185
- RadioRoot.displayName = DISPLAY_NAME.RADIO_ROOT;
186
- RadioIndicator.displayName = DISPLAY_NAME.RADIO_INDICATOR;
187
- RadioIndicatorThumb.displayName = DISPLAY_NAME.RADIO_INDICATOR_THUMB;
188
-
189
- /**
190
- * Compound Radio component with sub-components.
191
- *
192
- * @component Radio - Individual radio option that operates in two modes:
193
- * - **Standalone**: Uses `isSelected`/`onSelectedChange` directly.
194
- * - **Inside RadioGroupItem**: Automatically detects the parent context, derives
195
- * `isSelected`/`isDisabled`/`isInvalid`/`variant` from it. Pressing selects this
196
- * item in the group via the group's `onValueChange`.
197
- *
198
- * Renders a default indicator if no children are provided. Supports render function
199
- * children to access state (`isSelected`, `isInvalid`, `isDisabled`).
200
- *
201
- * @component Radio.Indicator - Optional container for the radio circle. Renders default thumb
202
- * if no children provided. Manages the visual selection state.
203
- *
204
- * @component Radio.IndicatorThumb - Optional inner circle that appears when selected. Animates
205
- * scale based on selection. Can be replaced with custom content.
206
- *
207
- * @see Full documentation: https://v3.heroui.com/docs/native/components/radio
208
- */
209
- const CompoundRadio = Object.assign(RadioRoot, {
210
- /** @optional Custom radio indicator container */
211
- Indicator: RadioIndicator,
212
- /** @optional Custom indicator thumb that appears when selected */
213
- IndicatorThumb: RadioIndicatorThumb,
214
- });
215
-
216
- export { useRadio };
217
- export default CompoundRadio;
@@ -1,106 +0,0 @@
1
- import type { ViewProps } from 'react-native';
2
- import type { AnimatedProps, WithTimingConfig } from 'react-native-reanimated';
3
- import type {
4
- Animation,
5
- AnimationRootDisableAll,
6
- AnimationValue,
7
- } from '../../helpers/internal/types';
8
- import type { RootProps as RadioPrimitiveRootProps } from '../../primitives/radio';
9
-
10
- /**
11
- * Render function props for Radio children
12
- */
13
- export interface RadioRenderProps {
14
- /** Whether the radio is selected */
15
- isSelected: boolean;
16
- /** Whether the radio is disabled */
17
- isDisabled: boolean;
18
- /** Whether the radio is invalid */
19
- isInvalid: boolean;
20
- }
21
-
22
- /**
23
- * Props for the Radio root component.
24
- *
25
- * Works in two modes:
26
- * - **Standalone**: Uses `isSelected` / `onSelectedChange` directly.
27
- * - **Inside RadioGroup**: Uses `value` prop; `isSelected` is derived from group context.
28
- */
29
- export interface RadioProps extends Omit<RadioPrimitiveRootProps, 'children'> {
30
- /** Radio content, or a render function */
31
- children?: React.ReactNode | ((props: RadioRenderProps) => React.ReactNode);
32
- /** Custom class name */
33
- className?: string;
34
- /**
35
- * Animation configuration for radio
36
- * - `"disable-all"`: Disable all animations including children (Indicator, IndicatorThumb)
37
- * - `undefined`: Use default animations
38
- */
39
- animation?: AnimationRootDisableAll;
40
- }
41
-
42
- /**
43
- * Props for Radio.Indicator component
44
- */
45
- export interface RadioIndicatorProps extends AnimatedProps<ViewProps> {
46
- /** Indicator content */
47
- children?: React.ReactNode;
48
- /** Custom class name */
49
- className?: string;
50
- }
51
-
52
- /**
53
- * Animation configuration for RadioIndicatorThumb component
54
- */
55
- export type RadioIndicatorThumbAnimation = Animation<{
56
- scale?: AnimationValue<{
57
- /**
58
- * Scale values [unselected, selected]
59
- * @default [1.5, 1]
60
- */
61
- value?: [number, number];
62
- /**
63
- * Animation timing configuration
64
- * @default { duration: 300, easing: Easing.out(Easing.ease) }
65
- */
66
- timingConfig?: WithTimingConfig;
67
- }>;
68
- }>;
69
-
70
- /**
71
- * Props for Radio.IndicatorThumb component
72
- */
73
- export interface RadioIndicatorThumbProps
74
- extends Omit<AnimatedProps<ViewProps>, 'children'> {
75
- /** Custom class name
76
- *
77
- * @note The following style properties are occupied by animations and cannot be set via className:
78
- * - `transform` (specifically `scale`) - Animated for selection transitions (unselected: 1.5, selected: 1)
79
- *
80
- * To customize this property, use the `animation` prop:
81
- * ```tsx
82
- * <Radio.IndicatorThumb
83
- * animation={{
84
- * scale: { value: [1.5, 1], timingConfig: { duration: 300, easing: Easing.out(Easing.ease) } }
85
- * }}
86
- * />
87
- * ```
88
- *
89
- * To completely disable animated styles and use your own via className or style prop, set `isAnimatedStyleActive={false}`.
90
- */
91
- className?: string;
92
- /**
93
- * Animation configuration
94
- * - `false` or `"disabled"`: Disable all animations
95
- * - `true` or `undefined`: Use default animations
96
- * - `object`: Custom animation configuration
97
- */
98
- animation?: RadioIndicatorThumbAnimation;
99
- /**
100
- * Whether animated styles (react-native-reanimated) are active
101
- * When `false`, the animated style is removed and you can implement custom logic
102
- * This prop should only be used when you want to write custom styling logic instead of the default animated styles
103
- * @default true
104
- */
105
- isAnimatedStyleActive?: boolean;
106
- }
@@ -1,9 +0,0 @@
1
- export { default as RadioGroup, useRadioGroup } from './radio-group';
2
- export { useRadioGroupItem } from './radio-group.context';
3
- export { radioGroupClassNames } from './radio-group.styles';
4
- export type {
5
- RadioGroupItemContextValue,
6
- RadioGroupItemProps,
7
- RadioGroupItemRenderProps,
8
- RadioGroupProps,
9
- } from './radio-group.types';
@@ -1,20 +0,0 @@
1
- import { useCombinedAnimationDisabledState } from '../../helpers/internal/hooks';
2
- import type { AnimationRootDisableAll } from '../../helpers/internal/types';
3
-
4
- // --------------------------------------------------
5
-
6
- /**
7
- * Animation hook for RadioGroup root component.
8
- * Handles cascading animation disabled state to child components.
9
- */
10
- export function useRadioGroupRootAnimation(options: {
11
- animation: AnimationRootDisableAll | undefined;
12
- }) {
13
- const { animation } = options;
14
-
15
- const isAllAnimationsDisabled = useCombinedAnimationDisabledState(animation);
16
-
17
- return {
18
- isAllAnimationsDisabled,
19
- };
20
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * Display names for RadioGroup components
3
- */
4
- export const DISPLAY_NAME = {
5
- RADIO_GROUP_ROOT: 'HeroUINative.RadioGroup.Root',
6
- RADIO_GROUP_ITEM: 'HeroUINative.RadioGroup.Item',
7
- } as const;
@@ -1,14 +0,0 @@
1
- import { createContext } from '../../helpers/internal/utils';
2
- import type { RadioGroupItemContextValue } from './radio-group.types';
3
-
4
- /**
5
- * RadioGroupItem context provider and hook
6
- * Extracted to separate file to avoid circular dependencies with Label component
7
- */
8
- const [RadioGroupItemProvider, useRadioGroupItem] =
9
- createContext<RadioGroupItemContextValue>({
10
- name: 'RadioGroupItemContext',
11
- strict: false,
12
- });
13
-
14
- export { RadioGroupItemProvider, useRadioGroupItem };
@@ -1,273 +0,0 @@
1
- # RadioGroup
2
-
3
- A set of radio buttons where only one option can be selected at a time.
4
-
5
- ## Import
6
-
7
- ```tsx
8
- import { RadioGroup } from '@/heroui';
9
- ```
10
-
11
- ## Anatomy
12
-
13
- ```tsx
14
- <RadioGroup>
15
- <RadioGroup.Item>
16
- <Label>...</Label>
17
- <Description>...</Description>
18
- <Radio>
19
- <Radio.Indicator>
20
- <Radio.IndicatorThumb />
21
- </Radio.Indicator>
22
- </Radio>
23
- </RadioGroup.Item>
24
- <FieldError>...</FieldError>
25
- </RadioGroup>
26
- ```
27
-
28
- - **RadioGroup**: Container that manages the selection state of radio items. Supports both horizontal and vertical orientations.
29
- - **RadioGroup.Item**: Individual radio option within a RadioGroup. Must be used inside RadioGroup. Handles selection state and renders a default `<Radio />` indicator when text children are provided. Supports render function children to access state (`isSelected`, `isInvalid`, `isDisabled`).
30
- - **Label**: Optional clickable text label for the radio option. Linked to the radio for accessibility. Use the [Label](../label/label.md) component directly.
31
- - **Description**: Optional secondary text below the label. Provides additional context about the radio option. Use the [Description](../description/description.md) component directly.
32
- - **Radio**: The [Radio](../radio/radio.md) component used inside `RadioGroup.Item` to render the radio indicator. Automatically detects the `RadioGroupItem` context and derives `isSelected`, `isDisabled`, `isInvalid`, and `variant` from it.
33
- - **Radio.Indicator**: Optional container for the radio circle. Renders default thumb if no children provided. Manages the visual selection state. See [Radio](../radio/radio.md) for full API.
34
- - **Radio.IndicatorThumb**: Optional inner circle that appears when selected. Animates scale based on selection. Can be replaced with custom content. See [Radio](../radio/radio.md) for full API.
35
- - **FieldError**: Error message displayed when radio group is invalid. Shown with animation below the radio group content. Use the [FieldError](../field-error/field-error.md) component directly.
36
-
37
- ## Usage
38
-
39
- ### Basic Usage
40
-
41
- RadioGroup with simple string children automatically renders title and indicator.
42
-
43
- ```tsx
44
- <RadioGroup value={value} onValueChange={setValue}>
45
- <RadioGroup.Item value="option1">Option 1</RadioGroup.Item>
46
- <RadioGroup.Item value="option2">Option 2</RadioGroup.Item>
47
- <RadioGroup.Item value="option3">Option 3</RadioGroup.Item>
48
- </RadioGroup>
49
- ```
50
-
51
- ### With Descriptions
52
-
53
- Add descriptive text below each radio option for additional context.
54
-
55
- ```tsx
56
- import { RadioGroup, Radio, Label, Description } from '@/heroui';
57
- import { View } from 'react-native';
58
-
59
- <RadioGroup value={value} onValueChange={setValue}>
60
- <RadioGroup.Item value="standard">
61
- <View>
62
- <Label>Standard Shipping</Label>
63
- <Description>Delivered in 5-7 business days</Description>
64
- </View>
65
- <Radio />
66
- </RadioGroup.Item>
67
- <RadioGroup.Item value="express">
68
- <View>
69
- <Label>Express Shipping</Label>
70
- <Description>Delivered in 2-3 business days</Description>
71
- </View>
72
- <Radio />
73
- </RadioGroup.Item>
74
- </RadioGroup>;
75
- ```
76
-
77
- ### Custom Indicator
78
-
79
- Replace the default indicator thumb with custom content using `Radio` sub-components.
80
-
81
- ```tsx
82
- import { RadioGroup, Radio, Label } from '@/heroui';
83
-
84
- <RadioGroup value={value} onValueChange={setValue}>
85
- <RadioGroup.Item value="custom">
86
- {({ isSelected }) => (
87
- <>
88
- <Label>Custom Option</Label>
89
- <Radio>
90
- <Radio.Indicator>
91
- {isSelected && (
92
- <Animated.View entering={FadeIn}>
93
- <Icon name="check" size={12} />
94
- </Animated.View>
95
- )}
96
- </Radio.Indicator>
97
- </Radio>
98
- </>
99
- )}
100
- </RadioGroup.Item>
101
- </RadioGroup>;
102
- ```
103
-
104
- ### With Render Function
105
-
106
- Use a render function on RadioGroup.Item to access state and customize the entire content.
107
-
108
- ```tsx
109
- import { RadioGroup, Radio, Label } from '@/heroui';
110
-
111
- <RadioGroup value={value} onValueChange={setValue}>
112
- <RadioGroup.Item value="option1">
113
- {({ isSelected, isInvalid, isDisabled }) => (
114
- <>
115
- <Label>Option 1</Label>
116
- <Radio>
117
- <Radio.Indicator>{isSelected && <CustomIcon />}</Radio.Indicator>
118
- </Radio>
119
- </>
120
- )}
121
- </RadioGroup.Item>
122
- </RadioGroup>;
123
- ```
124
-
125
- ### With Error Message
126
-
127
- Display validation errors below the radio group.
128
-
129
- ```tsx
130
- import { RadioGroup, FieldError } from '@/heroui';
131
-
132
- function RadioGroupWithError() {
133
- const [value, setValue] = React.useState<string | undefined>(undefined);
134
-
135
- return (
136
- <RadioGroup value={value} onValueChange={setValue} isInvalid={!value}>
137
- <RadioGroup.Item value="agree">I agree to the terms</RadioGroup.Item>
138
- <RadioGroup.Item value="disagree">I do not agree</RadioGroup.Item>
139
- <FieldError isInvalid={!value}>
140
- Please select an option to continue
141
- </FieldError>
142
- </RadioGroup>
143
- );
144
- }
145
- ```
146
-
147
- ## Example
148
-
149
- ```tsx
150
- import {
151
- Description,
152
- Label,
153
- Radio,
154
- RadioGroup,
155
- Separator,
156
- Surface,
157
- } from '@/heroui';
158
- import React from 'react';
159
- import { View } from 'react-native';
160
-
161
- export default function RadioGroupExample() {
162
- const [selection, setSelection] = React.useState('desc1');
163
-
164
- return (
165
- <Surface className="w-full">
166
- <RadioGroup value={selection} onValueChange={setSelection}>
167
- <RadioGroup.Item value="desc1">
168
- <View>
169
- <Label>Standard Shipping</Label>
170
- <Description>Delivered in 5-7 business days</Description>
171
- </View>
172
- <Radio />
173
- </RadioGroup.Item>
174
- <Separator className="my-1" />
175
- <RadioGroup.Item value="desc2">
176
- <View>
177
- <Label>Express Shipping</Label>
178
- <Description>Delivered in 2-3 business days</Description>
179
- </View>
180
- <Radio />
181
- </RadioGroup.Item>
182
- <Separator className="my-1" />
183
- <RadioGroup.Item value="desc3">
184
- <View>
185
- <Label>Overnight Shipping</Label>
186
- <Description>Delivered next business day</Description>
187
- </View>
188
- <Radio />
189
- </RadioGroup.Item>
190
- </RadioGroup>
191
- </Surface>
192
- );
193
- }
194
- ```
195
-
196
- 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>).
197
-
198
- ## API Reference
199
-
200
- ### RadioGroup
201
-
202
- | prop | type | default | description |
203
- | --------------- | ---------------------------- | ----------- | ----------------------------------------------------------------------------------------- |
204
- | `children` | `React.ReactNode` | `undefined` | Radio group content |
205
- | `value` | `string \| undefined` | `undefined` | The currently selected value of the radio group |
206
- | `onValueChange` | `(val: string) => void` | `undefined` | Callback fired when the selected value changes |
207
- | `isDisabled` | `boolean` | `false` | Whether the entire radio group is disabled |
208
- | `isInvalid` | `boolean` | `false` | Whether the radio group is invalid |
209
- | `variant` | `'primary' \| 'secondary'` | `undefined` | Variant style for the radio group (inherited by items if not set on item) |
210
- | `animation` | `"disable-all" \| undefined` | `undefined` | Animation configuration. Use `"disable-all"` to disable all animations including children |
211
- | `className` | `string` | `undefined` | Custom class name |
212
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
213
-
214
- ### RadioGroup.Item
215
-
216
- | prop | type | default | description |
217
- | ------------------- | ---------------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------- |
218
- | `children` | `React.ReactNode \| ((props: RadioGroupItemRenderProps) => React.ReactNode)` | `undefined` | Radio item content or render function to customize the radio item |
219
- | `value` | `string` | `undefined` | The value associated with this radio item |
220
- | `isDisabled` | `boolean` | `false` | Whether this specific radio item is disabled |
221
- | `isInvalid` | `boolean` | `false` | Whether the radio item is invalid |
222
- | `variant` | `'primary' \| 'secondary'` | `'primary'` | Variant style for the radio item |
223
- | `hitSlop` | `number` | `6` | Hit slop for the pressable area |
224
- | `className` | `string` | `undefined` | Custom class name |
225
- | `...PressableProps` | `PressableProps` | - | All standard React Native Pressable props are supported (except disabled) |
226
-
227
- #### RadioGroupItemRenderProps
228
-
229
- | prop | type | description |
230
- | ------------ | --------- | ---------------------------------- |
231
- | `isSelected` | `boolean` | Whether the radio item is selected |
232
- | `isInvalid` | `boolean` | Whether the radio item is invalid |
233
- | `isDisabled` | `boolean` | Whether the radio item is disabled |
234
-
235
- ### Radio (inside RadioGroup.Item)
236
-
237
- The [Radio](../radio/radio.md) component is used inside `RadioGroup.Item` to render the radio indicator. When placed inside a `RadioGroup.Item`, the Radio component automatically detects the `RadioGroupItem` context and derives `isSelected`, `isDisabled`, `isInvalid`, and `variant` from it — no manual prop passing is needed.
238
-
239
- Use `<Radio />` for the default indicator, or compose with `Radio.Indicator` and `Radio.IndicatorThumb` for custom styling.
240
-
241
- **Note:** For complete Radio prop documentation (including `Radio.Indicator` and `Radio.IndicatorThumb`), see the [Radio component documentation](../radio/radio.md).
242
-
243
- **Note:** For labels, descriptions, and error messages, use the base components directly:
244
-
245
- - Use [Label](../label/label.md) component for labels
246
- - Use [Description](../description/description.md) component for descriptions
247
- - Use [FieldError](../field-error/field-error.md) component for error messages
248
-
249
- ## Hooks
250
-
251
- ### useRadioGroup
252
-
253
- **Returns:**
254
-
255
- | Property | Type | Description |
256
- | --------------- | -------------------------- | ---------------------------------------------- |
257
- | `value` | `string \| undefined` | Currently selected value |
258
- | `isDisabled` | `boolean` | Whether the radio group is disabled |
259
- | `isInvalid` | `boolean` | Whether the radio group is in an invalid state |
260
- | `variant` | `'primary' \| 'secondary'` | Variant style for the radio group |
261
- | `onValueChange` | `(value: string) => void` | Function to change the selected value |
262
-
263
- ### useRadioGroupItem
264
-
265
- **Returns:**
266
-
267
- | Property | Type | Description |
268
- | ------------------ | ---------------------------------------------- | ----------------------------------------------------------------------- |
269
- | `isSelected` | `boolean` | Whether the radio item is selected |
270
- | `isDisabled` | `boolean \| undefined` | Whether the radio item is disabled |
271
- | `isInvalid` | `boolean \| undefined` | Whether the radio item is invalid |
272
- | `variant` | `'primary' \| 'secondary' \| undefined` | Variant style for the radio item |
273
- | `onSelectedChange` | `((isSelected: boolean) => void) \| undefined` | Callback to change the selection state (selects this item in the group) |
@@ -1,15 +0,0 @@
1
- import { tv } from 'tailwind-variants';
2
- import { combineStyles } from '../../helpers/internal/utils';
3
-
4
- const root = tv({
5
- base: 'gap-3',
6
- });
7
-
8
- const item = tv({
9
- base: 'flex-row items-center justify-between gap-3',
10
- });
11
-
12
- export const radioGroupClassNames = combineStyles({
13
- root,
14
- item,
15
- });