@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,284 +0,0 @@
1
- import { forwardRef, useMemo } from 'react';
2
- import { Text as RNText } from 'react-native';
3
- import { useThemeColor } from '../../helpers/external/hooks';
4
- import { colorKit } from '../../helpers/external/utils';
5
- import { HeroText } from '../../helpers/internal/components';
6
- import type { PressableRef } from '../../helpers/internal/types';
7
- import { childrenToString, createContext } from '../../helpers/internal/utils';
8
- import {
9
- PressableFeedback,
10
- type PressableFeedbackHighlightAnimation,
11
- type PressableFeedbackRippleAnimation,
12
- type PressableFeedbackScaleAnimation,
13
- } from '../pressable-feedback';
14
- import { DISPLAY_NAME } from './button.constants';
15
- import { buttonClassNames, buttonStyleSheet } from './button.styles';
16
- import type {
17
- ButtonContextValue,
18
- ButtonLabelProps,
19
- ButtonRootProps,
20
- } from './button.types';
21
- import { isAnimationDisabled, resolveAnimationObject } from './button.utils';
22
-
23
- const [ButtonProvider, useButton] = createContext<ButtonContextValue>({
24
- name: 'ButtonContext',
25
- });
26
-
27
- // --------------------------------------------------
28
-
29
- const ButtonRoot = forwardRef<PressableRef, ButtonRootProps>((props, ref) => {
30
- const {
31
- children,
32
- variant = 'primary',
33
- feedbackVariant = 'scale-highlight',
34
- animation,
35
- size = 'md',
36
- isIconOnly = false,
37
- isDisabled = false,
38
- className,
39
- style,
40
- accessibilityRole = 'button',
41
- ...restProps
42
- } = props;
43
-
44
- const [
45
- themeColorAccentHover,
46
- themeColorDefaultHover,
47
- themeColorDangerHover,
48
- themeColorDangerSoftHover,
49
- ] = useThemeColor([
50
- 'accent-hover',
51
- 'default-hover',
52
- 'danger-hover',
53
- 'danger-soft-hover',
54
- ]);
55
-
56
- const stringifiedChildren = childrenToString(children);
57
-
58
- const rootClassName = buttonClassNames.root({
59
- variant,
60
- size,
61
- isIconOnly,
62
- isDisabled,
63
- className,
64
- });
65
-
66
- const resolvedAnimation = resolveAnimationObject(animation);
67
- const allAnimationsDisabled = isAnimationDisabled(animation);
68
-
69
- const highlightColorMap = useMemo(() => {
70
- switch (variant) {
71
- case 'primary':
72
- return themeColorAccentHover;
73
- case 'secondary':
74
- return themeColorDefaultHover;
75
- case 'tertiary':
76
- return themeColorDefaultHover;
77
- case 'outline':
78
- return colorKit.setAlpha(themeColorDefaultHover, 0.3).hex();
79
- case 'ghost':
80
- return colorKit.setAlpha(themeColorDefaultHover, 0.3).hex();
81
- case 'danger':
82
- return themeColorDangerHover;
83
- case 'danger-soft':
84
- return themeColorDangerSoftHover;
85
- }
86
- }, [
87
- variant,
88
- themeColorAccentHover,
89
- themeColorDefaultHover,
90
- themeColorDangerHover,
91
- themeColorDangerSoftHover,
92
- ]);
93
-
94
- const highlightAnimationConfig = useMemo(() => {
95
- if (feedbackVariant !== 'scale-highlight') {
96
- return undefined;
97
- }
98
-
99
- const highlightAnimation = resolvedAnimation?.highlight as
100
- | PressableFeedbackHighlightAnimation
101
- | undefined;
102
-
103
- if (highlightAnimation === false || highlightAnimation === 'disabled') {
104
- return undefined;
105
- }
106
-
107
- const defaultConfig = {
108
- backgroundColor: {
109
- value: highlightColorMap,
110
- },
111
- opacity: {
112
- value: [0, 1] as [number, number],
113
- },
114
- };
115
-
116
- if (typeof highlightAnimation === 'object' && highlightAnimation !== null) {
117
- return {
118
- backgroundColor: {
119
- ...defaultConfig.backgroundColor,
120
- ...(highlightAnimation.backgroundColor ?? {}),
121
- },
122
- opacity: {
123
- ...defaultConfig.opacity,
124
- ...(highlightAnimation.opacity ?? {}),
125
- },
126
- };
127
- }
128
-
129
- return defaultConfig;
130
- }, [feedbackVariant, highlightColorMap, resolvedAnimation?.highlight]);
131
-
132
- const rippleAnimationConfig = useMemo(() => {
133
- if (feedbackVariant !== 'scale-ripple') {
134
- return undefined;
135
- }
136
-
137
- const rippleAnimation = resolvedAnimation?.ripple as
138
- | PressableFeedbackRippleAnimation
139
- | undefined;
140
-
141
- if (rippleAnimation === false || rippleAnimation === 'disabled') {
142
- return undefined;
143
- }
144
-
145
- const defaultConfig = {
146
- backgroundColor: { value: highlightColorMap },
147
- opacity: { value: [0, 1, 0] as [number, number, number] },
148
- };
149
-
150
- if (typeof rippleAnimation === 'object' && rippleAnimation !== null) {
151
- return {
152
- backgroundColor: {
153
- ...defaultConfig.backgroundColor,
154
- ...(rippleAnimation.backgroundColor ?? {}),
155
- },
156
- opacity: {
157
- ...defaultConfig.opacity,
158
- ...(rippleAnimation.opacity ?? {}),
159
- },
160
- ...(rippleAnimation.scale !== undefined && {
161
- scale: rippleAnimation.scale,
162
- }),
163
- ...(rippleAnimation.progress !== undefined && {
164
- progress: rippleAnimation.progress,
165
- }),
166
- };
167
- }
168
-
169
- return defaultConfig;
170
- }, [feedbackVariant, highlightColorMap, resolvedAnimation?.ripple]);
171
-
172
- const scaleAnimation = resolvedAnimation?.scale as
173
- | PressableFeedbackScaleAnimation
174
- | undefined;
175
-
176
- const rootAnimation = useMemo(() => {
177
- if (allAnimationsDisabled) {
178
- return 'disable-all' as const;
179
- }
180
- if (feedbackVariant === 'none') {
181
- return false as const;
182
- }
183
- if (scaleAnimation === false || scaleAnimation === 'disabled') {
184
- return false as const;
185
- }
186
- if (typeof scaleAnimation === 'object' && scaleAnimation !== null) {
187
- return { scale: scaleAnimation };
188
- }
189
- return undefined;
190
- }, [allAnimationsDisabled, feedbackVariant, scaleAnimation]);
191
-
192
- const contextValue = useMemo(
193
- () => ({
194
- size,
195
- variant,
196
- isDisabled,
197
- }),
198
- [size, variant, isDisabled]
199
- );
200
-
201
- const content = stringifiedChildren ? (
202
- <ButtonLabel>{stringifiedChildren}</ButtonLabel>
203
- ) : (
204
- children
205
- );
206
-
207
- return (
208
- <ButtonProvider value={contextValue}>
209
- <PressableFeedback
210
- ref={ref}
211
- isDisabled={isDisabled}
212
- className={rootClassName}
213
- style={
214
- typeof style === 'function'
215
- ? (state) => [buttonStyleSheet.buttonRoot, style(state)]
216
- : [buttonStyleSheet.buttonRoot, style]
217
- }
218
- accessibilityRole={accessibilityRole}
219
- accessibilityState={{ disabled: isDisabled }}
220
- animation={rootAnimation}
221
- {...restProps}
222
- >
223
- {feedbackVariant === 'scale-highlight' &&
224
- highlightAnimationConfig !== undefined && (
225
- <PressableFeedback.Highlight animation={highlightAnimationConfig} />
226
- )}
227
- {feedbackVariant === 'scale-ripple' &&
228
- rippleAnimationConfig !== undefined && (
229
- <PressableFeedback.Ripple animation={rippleAnimationConfig} />
230
- )}
231
- {content}
232
- </PressableFeedback>
233
- </ButtonProvider>
234
- );
235
- });
236
-
237
- // --------------------------------------------------
238
-
239
- const ButtonLabel = forwardRef<RNText, ButtonLabelProps>((props, ref) => {
240
- const { children, className, ...restProps } = props;
241
-
242
- const { size, variant } = useButton();
243
-
244
- const labelClassName = buttonClassNames.label({
245
- size,
246
- variant,
247
- className,
248
- });
249
-
250
- return (
251
- <HeroText ref={ref} className={labelClassName} {...restProps}>
252
- {children}
253
- </HeroText>
254
- );
255
- });
256
-
257
- // --------------------------------------------------
258
-
259
- ButtonRoot.displayName = DISPLAY_NAME.BUTTON_ROOT;
260
- ButtonLabel.displayName = DISPLAY_NAME.BUTTON_LABEL;
261
-
262
- /**
263
- * Compound Button component with sub-components.
264
- *
265
- * @component Button - Main button container wrapping `PressableFeedback`. Handles press
266
- * interactions, visual variants, and feedback animations. The `feedbackVariant` prop controls
267
- * which effects are rendered (`scale-highlight`, `scale-ripple`, `scale`, or `none`), while the
268
- * `animation` prop provides granular control over each sub-animation (scale, highlight, ripple).
269
- * String children are automatically rendered as a label.
270
- *
271
- * @component Button.Label - Text content of the button. Inherits size and variant styling
272
- * from the parent Button context.
273
- *
274
- * Props flow from Button to sub-components via context (size, variant, isDisabled).
275
- *
276
- * @see Full documentation: https://v3.heroui.com/docs/native/components/button
277
- */
278
- const CompoundButton = Object.assign(ButtonRoot, {
279
- /** Button label - renders text or custom content */
280
- Label: ButtonLabel,
281
- });
282
-
283
- export { useButton };
284
- export default CompoundButton;
@@ -1,175 +0,0 @@
1
- import type { TextProps } from 'react-native';
2
- import type {
3
- AnimationRoot,
4
- AnimationRootDisableAll,
5
- } from '../../helpers/internal/types';
6
- import type {
7
- PressableFeedbackHighlightAnimation,
8
- PressableFeedbackProps,
9
- PressableFeedbackRippleAnimation,
10
- PressableFeedbackScaleAnimation,
11
- } from '../pressable-feedback';
12
-
13
- /**
14
- * Size variants for the Button component
15
- */
16
- export type ButtonSize = 'sm' | 'md' | 'lg';
17
-
18
- /**
19
- * Variant types for the Button component
20
- */
21
- export type ButtonVariant =
22
- | 'primary'
23
- | 'secondary'
24
- | 'tertiary'
25
- | 'outline'
26
- | 'ghost'
27
- | 'danger'
28
- | 'danger-soft';
29
-
30
- /**
31
- * Feedback variant that determines which PressableFeedback compound parts are rendered
32
- */
33
- export type ButtonFeedbackVariant =
34
- | 'scale-highlight'
35
- | 'scale-ripple'
36
- | 'scale'
37
- | 'none';
38
-
39
- /**
40
- * Shared base props for the Button.Root component (common across all feedback variants)
41
- */
42
- type ButtonRootPropsBase = Omit<PressableFeedbackProps, 'animation'> & {
43
- /**
44
- * Visual variant of the button
45
- * @default 'primary'
46
- */
47
- variant?: ButtonVariant;
48
- /**
49
- * Size of the button
50
- * @default 'md'
51
- */
52
- size?: ButtonSize;
53
- /**
54
- * Whether the button displays an icon only (needed for correct layout)
55
- * @default false
56
- */
57
- isIconOnly?: boolean;
58
- };
59
-
60
- /**
61
- * Props when feedbackVariant is 'scale-highlight' (default).
62
- * Animation accepts scale and highlight configuration.
63
- */
64
- export type ButtonRootPropsScaleHighlight = ButtonRootPropsBase & {
65
- /**
66
- * Feedback variant that renders Scale + Highlight compound parts
67
- * @default 'scale-highlight'
68
- */
69
- feedbackVariant?: 'scale-highlight';
70
- /**
71
- * Animation configuration for scale and highlight feedback
72
- */
73
- animation?: AnimationRoot<{
74
- /** Scale animation configuration */
75
- scale?: PressableFeedbackScaleAnimation;
76
- /** Highlight overlay configuration */
77
- highlight?: PressableFeedbackHighlightAnimation;
78
- }>;
79
- };
80
-
81
- /**
82
- * Props when feedbackVariant is 'scale-ripple'.
83
- * Animation accepts scale and ripple configuration.
84
- */
85
- type ButtonRootPropsScaleRipple = ButtonRootPropsBase & {
86
- /**
87
- * Feedback variant that renders Scale + Ripple compound parts
88
- */
89
- feedbackVariant: 'scale-ripple';
90
- /**
91
- * Animation configuration for scale and ripple feedback
92
- */
93
- animation?: AnimationRoot<{
94
- /** Scale animation configuration */
95
- scale?: PressableFeedbackScaleAnimation;
96
- /** Ripple overlay configuration */
97
- ripple?: PressableFeedbackRippleAnimation;
98
- }>;
99
- };
100
-
101
- /**
102
- * Props when feedbackVariant is 'scale'.
103
- * Only the built-in scale animation is active — no highlight or ripple overlay is rendered.
104
- */
105
- type ButtonRootPropsScale = ButtonRootPropsBase & {
106
- /**
107
- * Feedback variant that renders only the built-in scale animation (no highlight or ripple overlay)
108
- */
109
- feedbackVariant: 'scale';
110
- /**
111
- * Animation configuration for scale-only feedback
112
- */
113
- animation?: AnimationRoot<{
114
- /** Scale animation configuration */
115
- scale?: PressableFeedbackScaleAnimation;
116
- }>;
117
- };
118
-
119
- /**
120
- * Props when feedbackVariant is 'none'.
121
- * All feedback effects are disabled — no scale, highlight, or ripple is rendered.
122
- */
123
- type ButtonRootPropsNone = ButtonRootPropsBase & {
124
- /**
125
- * Feedback variant that disables all feedback effects (no scale, highlight, or ripple)
126
- */
127
- feedbackVariant: 'none';
128
- /**
129
- * Only 'disable-all' is accepted when feedback is disabled
130
- */
131
- animation?: AnimationRootDisableAll;
132
- };
133
-
134
- /**
135
- * Props for the Button.Root component.
136
- * Discriminated union based on `feedbackVariant` — the `animation` prop type
137
- * is constrained to only the relevant sub-component configs for each variant.
138
- */
139
- export type ButtonRootProps =
140
- | ButtonRootPropsScaleHighlight
141
- | ButtonRootPropsScaleRipple
142
- | ButtonRootPropsScale
143
- | ButtonRootPropsNone;
144
-
145
- /**
146
- * Props for the Button.Label component
147
- */
148
- export interface ButtonLabelProps extends TextProps {
149
- /**
150
- * Content to be rendered as label
151
- */
152
- children?: React.ReactNode;
153
- /**
154
- * Additional CSS classes
155
- */
156
- className?: string;
157
- }
158
-
159
- /**
160
- * Context values shared between Button components
161
- */
162
- export interface ButtonContextValue {
163
- /**
164
- * Size of the button
165
- */
166
- size: ButtonSize;
167
- /**
168
- * Visual variant of the button
169
- */
170
- variant: ButtonVariant;
171
- /**
172
- * Whether the button is disabled
173
- */
174
- isDisabled: boolean;
175
- }
@@ -1,34 +0,0 @@
1
- import type { ButtonRootProps } from './button.types';
2
-
3
- /**
4
- * Resolves the animation prop into its object form.
5
- * Returns `undefined` when the animation is a non-object value (boolean / string).
6
- */
7
- export function resolveAnimationObject(
8
- animation: ButtonRootProps['animation']
9
- ): Record<string, unknown> | undefined {
10
- if (typeof animation === 'object' && animation !== null) {
11
- return animation;
12
- }
13
- return undefined;
14
- }
15
-
16
- /**
17
- * Determines whether all animations should be disabled based on the animation prop value.
18
- */
19
- export function isAnimationDisabled(
20
- animation: ButtonRootProps['animation']
21
- ): boolean {
22
- if (
23
- animation === false ||
24
- animation === 'disabled' ||
25
- animation === 'disable-all'
26
- ) {
27
- return true;
28
- }
29
- if (typeof animation === 'object' && animation !== null) {
30
- const { state } = animation;
31
- return state === false || state === 'disabled' || state === 'disable-all';
32
- }
33
- return false;
34
- }
@@ -1,9 +0,0 @@
1
- export { default as Button, useButton } from './button';
2
- export { buttonClassNames } from './button.styles';
3
- export type {
4
- ButtonContextValue,
5
- ButtonLabelProps,
6
- ButtonRootProps,
7
- ButtonSize,
8
- ButtonVariant,
9
- } from './button.types';
@@ -1,11 +0,0 @@
1
- /**
2
- * Display names for Card components
3
- */
4
- export const DISPLAY_NAME = {
5
- ROOT: 'HeroUINative.Card.Root',
6
- HEADER: 'HeroUINative.Card.Header',
7
- BODY: 'HeroUINative.Card.Body',
8
- FOOTER: 'HeroUINative.Card.Footer',
9
- TITLE: 'HeroUINative.Card.Title',
10
- DESCRIPTION: 'HeroUINative.Card.Description',
11
- };
@@ -1,186 +0,0 @@
1
- # Card
2
-
3
- Displays a card container with flexible layout sections for structured content.
4
-
5
- ## Import
6
-
7
- ```tsx
8
- import { Card } from '@/heroui';
9
- ```
10
-
11
- ## Anatomy
12
-
13
- ```tsx
14
- <Card>
15
- <Card.Header>...</Card.Header>
16
- <Card.Body>
17
- <Card.Title>...</Card.Title>
18
- <Card.Description>...</Card.Description>
19
- </Card.Body>
20
- <Card.Footer>...</Card.Footer>
21
- </Card>
22
- ```
23
-
24
- - **Card**: Main container that extends Surface component. Provides base card structure with configurable surface variants and handles overall layout.
25
- - **Card.Header**: Header section for top-aligned content like icons or badges.
26
- - **Card.Body**: Main content area with flex-1 that expands to fill all available space between Card.Header and Card.Footer.
27
- - **Card.Title**: Title text with foreground color and medium font weight.
28
- - **Card.Description**: Description text with muted color and smaller font size.
29
- - **Card.Footer**: Footer section for bottom-aligned actions like buttons.
30
-
31
- ## Usage
32
-
33
- ### Basic Usage
34
-
35
- The Card component creates a container with built-in sections for organized content.
36
-
37
- ```tsx
38
- <Card>
39
- <Card.Body>...</Card.Body>
40
- </Card>
41
- ```
42
-
43
- ### With Title and Description
44
-
45
- Combine title and description components for structured text content.
46
-
47
- ```tsx
48
- <Card>
49
- <Card.Body>
50
- <Card.Title>...</Card.Title>
51
- <Card.Description>...</Card.Description>
52
- </Card.Body>
53
- </Card>
54
- ```
55
-
56
- ### With Header and Footer
57
-
58
- Add header and footer sections for icons, badges, or actions.
59
-
60
- ```tsx
61
- <Card>
62
- <Card.Header>...</Card.Header>
63
- <Card.Body>...</Card.Body>
64
- <Card.Footer>...</Card.Footer>
65
- </Card>
66
- ```
67
-
68
- ### Variants
69
-
70
- Control the card's background appearance using different variants.
71
-
72
- ```tsx
73
- <Card variant="default">...</Card>
74
- <Card variant="secondary">...</Card>
75
- <Card variant="tertiary">...</Card>
76
- <Card variant="transparent">...</Card>
77
- ```
78
-
79
- ### Horizontal Layout
80
-
81
- Create horizontal cards by using flex-row styling.
82
-
83
- ```tsx
84
- <Card className="flex-row gap-4">
85
- <Image source={...} className="size-24 rounded-lg" />
86
- </Card>
87
- ```
88
-
89
- ### Background Image
90
-
91
- Use an image as an absolute positioned background.
92
-
93
- ```tsx
94
- <Card>
95
- <Image source={...} className="absolute inset-0" />
96
- <View className="gap-4">...</View>
97
- </Card>
98
- ```
99
-
100
- ## Example
101
-
102
- ```tsx
103
- import { Button, Card } from '@/heroui';
104
- import { Ionicons } from '@expo/vector-icons';
105
- import { View } from 'react-native';
106
-
107
- export default function CardExample() {
108
- return (
109
- <Card>
110
- <View className="gap-4">
111
- <Card.Body className="mb-4">
112
- <View className="gap-1 mb-2">
113
- <Card.Title className="text-pink-500">$450</Card.Title>
114
- <Card.Title>Living room Sofa • Collection 2025</Card.Title>
115
- </View>
116
- <Card.Description>
117
- This sofa is perfect for modern tropical spaces, baroque inspired
118
- spaces.
119
- </Card.Description>
120
- </Card.Body>
121
- <Card.Footer className="gap-3">
122
- <Button variant="primary">Buy now</Button>
123
- <Button variant="ghost">
124
- <Button.Label>Add to cart</Button.Label>
125
- <Ionicons name="bag-outline" size={16} />
126
- </Button>
127
- </Card.Footer>
128
- </View>
129
- </Card>
130
- );
131
- }
132
- ```
133
-
134
- You can find more examples in the [GitHub repository](<https://github.com/heroui-inc/heroui-native/blob/rc/example/src/app/(home)/components/card.tsx>).
135
-
136
- ## API Reference
137
-
138
- ### Card
139
-
140
- | prop | type | default | description |
141
- | -------------- | --------------------------------------------------------- | ----------- | ----------------------------------------------------------------------------------------- |
142
- | `children` | `React.ReactNode` | - | Content to be rendered inside the card |
143
- | `variant` | `'default' \| 'secondary' \| 'tertiary' \| 'transparent'` | `'default'` | Visual variant of the card surface |
144
- | `className` | `string` | - | Additional CSS classes to apply |
145
- | `animation` | `"disable-all" \| undefined` | `undefined` | Animation configuration. Use `"disable-all"` to disable all animations including children |
146
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
147
-
148
- ### Card.Header
149
-
150
- | prop | type | default | description |
151
- | -------------- | ----------------- | ------- | -------------------------------------------------- |
152
- | `children` | `React.ReactNode` | - | Children elements to be rendered inside the header |
153
- | `className` | `string` | - | Additional CSS classes |
154
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
155
-
156
- ### Card.Body
157
-
158
- | prop | type | default | description |
159
- | -------------- | ----------------- | ------- | -------------------------------------------------- |
160
- | `children` | `React.ReactNode` | - | Children elements to be rendered inside the body |
161
- | `className` | `string` | - | Additional CSS classes |
162
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
163
-
164
- ### Card.Footer
165
-
166
- | prop | type | default | description |
167
- | -------------- | ----------------- | ------- | -------------------------------------------------- |
168
- | `children` | `React.ReactNode` | - | Children elements to be rendered inside the footer |
169
- | `className` | `string` | - | Additional CSS classes |
170
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
171
-
172
- ### Card.Title
173
-
174
- | prop | type | default | description |
175
- | -------------- | ----------------- | ------- | -------------------------------------------------- |
176
- | `children` | `React.ReactNode` | - | Children elements to be rendered as the title text |
177
- | `className` | `string` | - | Additional CSS classes |
178
- | `...TextProps` | `TextProps` | - | All standard React Native Text props are supported |
179
-
180
- ### Card.Description
181
-
182
- | prop | type | default | description |
183
- | -------------- | ----------------- | ------- | -------------------------------------------------------- |
184
- | `children` | `React.ReactNode` | - | Children elements to be rendered as the description text |
185
- | `className` | `string` | - | Additional CSS classes |
186
- | `...TextProps` | `TextProps` | - | All standard React Native Text props are supported |