@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,311 +0,0 @@
1
- # Checkbox
2
-
3
- A selectable control that allows users to toggle between checked and unchecked states.
4
-
5
- ## Import
6
-
7
- ```tsx
8
- import { Checkbox } from '@/heroui';
9
- ```
10
-
11
- ## Anatomy
12
-
13
- ```tsx
14
- <Checkbox>
15
- <Checkbox.Indicator>...</Checkbox.Indicator>
16
- </Checkbox>
17
- ```
18
-
19
- - **Checkbox**: Main container that handles selection state and user interaction. Renders default indicator with animated checkmark if no children provided. Automatically detects surface context for proper styling. Features press scale animation that can be customized or disabled. Supports render function children to access state (`isSelected`, `isInvalid`, `isDisabled`).
20
- - **Checkbox.Indicator**: Optional checkmark container with default slide, scale, opacity, and border radius animations when selected. Renders animated check icon with SVG path drawing animation if no children provided. All animations can be individually customized or disabled. Supports render function children to access state.
21
-
22
- ## Usage
23
-
24
- ### Basic Usage
25
-
26
- The Checkbox component renders with a default animated indicator if no children are provided. It automatically detects whether it's on a surface background for proper styling.
27
-
28
- ```tsx
29
- <Checkbox isSelected={isSelected} onSelectedChange={setIsSelected} />
30
- ```
31
-
32
- ### With Custom Indicator
33
-
34
- Use a render function in the Indicator to show/hide custom icons based on state.
35
-
36
- ```tsx
37
- <Checkbox isSelected={isSelected} onSelectedChange={setIsSelected}>
38
- <Checkbox.Indicator>
39
- {({ isSelected }) => (isSelected ? <CheckIcon /> : null)}
40
- </Checkbox.Indicator>
41
- </Checkbox>
42
- ```
43
-
44
- ### Invalid State
45
-
46
- Show validation errors with the `isInvalid` prop, which applies danger color styling.
47
-
48
- ```tsx
49
- <Checkbox
50
- isSelected={isSelected}
51
- onSelectedChange={setIsSelected}
52
- isInvalid={hasError}
53
- />
54
- ```
55
-
56
- ### Custom Animations
57
-
58
- Customize or disable animations for both the root checkbox and indicator.
59
-
60
- ```tsx
61
- {
62
- /* Disable all animations (root and indicator) */
63
- }
64
- <Checkbox
65
- animation="disable-all"
66
- isSelected={isSelected}
67
- onSelectedChange={setIsSelected}
68
- >
69
- <Checkbox.Indicator />
70
- </Checkbox>;
71
-
72
- {
73
- /* Disable only root animation */
74
- }
75
- <Checkbox
76
- animation="disabled"
77
- isSelected={isSelected}
78
- onSelectedChange={setIsSelected}
79
- >
80
- <Checkbox.Indicator />
81
- </Checkbox>;
82
-
83
- {
84
- /* Disable only indicator animation */
85
- }
86
- <Checkbox isSelected={isSelected} onSelectedChange={setIsSelected}>
87
- <Checkbox.Indicator animation="disabled" />
88
- </Checkbox>;
89
-
90
- {
91
- /* Custom animation configuration */
92
- }
93
- <Checkbox
94
- animation={{ scale: { value: [1, 0.9], timingConfig: { duration: 200 } } }}
95
- isSelected={isSelected}
96
- onSelectedChange={setIsSelected}
97
- >
98
- <Checkbox.Indicator
99
- animation={{
100
- scale: { value: [0.5, 1] },
101
- opacity: { value: [0, 1] },
102
- translateX: { value: [-8, 0] },
103
- borderRadius: { value: [12, 0] },
104
- }}
105
- />
106
- </Checkbox>;
107
- ```
108
-
109
- ## Example
110
-
111
- ```tsx
112
- import {
113
- Checkbox,
114
- Description,
115
- ControlField,
116
- Label,
117
- Separator,
118
- Surface,
119
- } from '@/heroui';
120
- import React from 'react';
121
- import { View, Text } from 'react-native';
122
-
123
- interface CheckboxFieldProps {
124
- isSelected: boolean;
125
- onSelectedChange: (value: boolean) => void;
126
- title: string;
127
- description: string;
128
- }
129
-
130
- const CheckboxField: React.FC<CheckboxFieldProps> = ({
131
- isSelected,
132
- onSelectedChange,
133
- title,
134
- description,
135
- }) => {
136
- return (
137
- <ControlField isSelected={isSelected} onSelectedChange={onSelectedChange}>
138
- <ControlField.Indicator>
139
- <Checkbox className="mt-0.5" />
140
- </ControlField.Indicator>
141
- <View className="flex-1">
142
- <Label className="text-lg">{title}</Label>
143
- <Description className="text-base">{description}</Description>
144
- </View>
145
- </ControlField>
146
- );
147
- };
148
-
149
- export default function BasicUsage() {
150
- const [fields, setFields] = React.useState({
151
- newsletter: true,
152
- marketing: false,
153
- terms: false,
154
- });
155
-
156
- const fieldConfigs: Record<
157
- keyof typeof fields,
158
- { title: string; description: string }
159
- > = {
160
- newsletter: {
161
- title: 'Subscribe to newsletter',
162
- description: 'Get weekly updates about new features and tips',
163
- },
164
- marketing: {
165
- title: 'Marketing communications',
166
- description: 'Receive promotional emails and special offers',
167
- },
168
- terms: {
169
- title: 'Accept terms and conditions',
170
- description: 'Agree to our Terms of Service and Privacy Policy',
171
- },
172
- };
173
-
174
- const handleFieldChange = (key: keyof typeof fields) => (value: boolean) => {
175
- setFields((prev) => ({ ...prev, [key]: value }));
176
- };
177
-
178
- const fieldKeys = Object.keys(fields) as Array<keyof typeof fields>;
179
-
180
- return (
181
- <View className="flex-1 items-center justify-center px-5">
182
- <Surface className="py-5 w-full">
183
- {fieldKeys.map((key, index) => (
184
- <React.Fragment key={key}>
185
- {index > 0 && <Separator className="my-4" />}
186
- <CheckboxField
187
- isSelected={fields[key]}
188
- onSelectedChange={handleFieldChange(key)}
189
- title={fieldConfigs[key].title}
190
- description={fieldConfigs[key].description}
191
- />
192
- </React.Fragment>
193
- ))}
194
- </Surface>
195
- </View>
196
- );
197
- }
198
- ```
199
-
200
- You can find more examples in the [GitHub repository](<https://github.com/heroui-inc/heroui-native/blob/rc/example/src/app/(home)/components/checkbox.tsx>).
201
-
202
- ## API Reference
203
-
204
- ### Checkbox
205
-
206
- | prop | type | default | description |
207
- | ----------------------- | ---------------------------------------------------------------------- | ----------- | ------------------------------------------------------------------------- |
208
- | `children` | `React.ReactNode \| ((props: CheckboxRenderProps) => React.ReactNode)` | `undefined` | Child elements or render function to customize the checkbox |
209
- | `isSelected` | `boolean` | `undefined` | Whether the checkbox is currently selected |
210
- | `onSelectedChange` | `(isSelected: boolean) => void` | `undefined` | Callback fired when the checkbox selection state changes |
211
- | `isDisabled` | `boolean` | `false` | Whether the checkbox is disabled and cannot be interacted with |
212
- | `isInvalid` | `boolean` | `false` | Whether the checkbox is invalid (shows danger color) |
213
- | `variant` | `'primary' \| 'secondary'` | `'primary'` | Variant style for the checkbox |
214
- | `hitSlop` | `number` | `6` | Hit slop for the pressable area |
215
- | `animation` | `CheckboxRootAnimation` | - | Animation configuration |
216
- | `isAnimatedStyleActive` | `boolean` | `true` | Whether animated styles (react-native-reanimated) are active |
217
- | `className` | `string` | `undefined` | Additional CSS classes to apply |
218
- | `...PressableProps` | `PressableProps` | - | All standard React Native Pressable props are supported (except disabled) |
219
-
220
- #### CheckboxRenderProps
221
-
222
- | prop | type | description |
223
- | ------------ | --------- | -------------------------------- |
224
- | `isSelected` | `boolean` | Whether the checkbox is selected |
225
- | `isInvalid` | `boolean` | Whether the checkbox is invalid |
226
- | `isDisabled` | `boolean` | Whether the checkbox is disabled |
227
-
228
- #### CheckboxRootAnimation
229
-
230
- Animation configuration for checkbox root component. Can be:
231
-
232
- - `false` or `"disabled"`: Disable only root animations
233
- - `"disable-all"`: Disable all animations including children
234
- - `true` or `undefined`: Use default animations
235
- - `object`: Custom animation configuration
236
-
237
- | prop | type | default | description |
238
- | -------------------- | ---------------------------------------- | ------------------- | ----------------------------------------------- |
239
- | `state` | `'disabled' \| 'disable-all' \| boolean` | - | Disable animations while customizing properties |
240
- | `scale.value` | `[number, number]` | `[1, 0.96]` | Scale values [unpressed, pressed] |
241
- | `scale.timingConfig` | `WithTimingConfig` | `{ duration: 150 }` | Animation timing configuration |
242
-
243
- ### Checkbox.Indicator
244
-
245
- | prop | type | default | description |
246
- | ----------------------- | ---------------------------------------------------------------------- | ----------- | ------------------------------------------------------------ |
247
- | `children` | `React.ReactNode \| ((props: CheckboxRenderProps) => React.ReactNode)` | `undefined` | Content or render function for the checkbox indicator |
248
- | `className` | `string` | `undefined` | Additional CSS classes for the indicator |
249
- | `iconProps` | `CheckboxIndicatorIconProps` | `undefined` | Custom props for the default animated check icon |
250
- | `animation` | `CheckboxIndicatorAnimation` | - | Animation configuration |
251
- | `isAnimatedStyleActive` | `boolean` | `true` | Whether animated styles (react-native-reanimated) are active |
252
- | `...AnimatedViewProps` | `AnimatedProps<ViewProps>` | - | All standard React Native Animated View props are supported |
253
-
254
- #### CheckboxIndicatorIconProps
255
-
256
- Props for customizing the default animated check icon.
257
-
258
- | prop | type | description |
259
- | --------------- | -------- | ------------------------------------------------ |
260
- | `size` | `number` | Icon size |
261
- | `strokeWidth` | `number` | Icon stroke width |
262
- | `color` | `string` | Icon color (defaults to theme accent-foreground) |
263
- | `enterDuration` | `number` | Duration of enter animation (check appearing) |
264
- | `exitDuration` | `number` | Duration of exit animation (check disappearing) |
265
-
266
- #### CheckboxIndicatorAnimation
267
-
268
- Animation configuration for checkbox indicator component. Can be:
269
-
270
- - `false` or `"disabled"`: Disable all animations
271
- - `true` or `undefined`: Use default animations
272
- - `object`: Custom animation configuration
273
-
274
- | prop | type | default | description |
275
- | --------------------------- | ----------------------- | ------------------- | ----------------------------------------------- |
276
- | `state` | `'disabled' \| boolean` | - | Disable animations while customizing properties |
277
- | `opacity.value` | `[number, number]` | `[0, 1]` | Opacity values [unselected, selected] |
278
- | `opacity.timingConfig` | `WithTimingConfig` | `{ duration: 100 }` | Animation timing configuration |
279
- | `borderRadius.value` | `[number, number]` | `[8, 0]` | Border radius values [unselected, selected] |
280
- | `borderRadius.timingConfig` | `WithTimingConfig` | `{ duration: 50 }` | Animation timing configuration |
281
- | `translateX.value` | `[number, number]` | `[-4, 0]` | TranslateX values [unselected, selected] |
282
- | `translateX.timingConfig` | `WithTimingConfig` | `{ duration: 100 }` | Animation timing configuration |
283
- | `scale.value` | `[number, number]` | `[0.8, 1]` | Scale values [unselected, selected] |
284
- | `scale.timingConfig` | `WithTimingConfig` | `{ duration: 100 }` | Animation timing configuration |
285
-
286
- ## Hooks
287
-
288
- ### useCheckbox
289
-
290
- Hook to access checkbox context values within custom components or compound components.
291
-
292
- ```tsx
293
- import { useCheckbox } from '@/heroui';
294
-
295
- const CustomIndicator = () => {
296
- const { isSelected, isInvalid, isDisabled } = useCheckbox();
297
- // ... your implementation
298
- };
299
- ```
300
-
301
- **Returns:** `UseCheckboxReturn`
302
-
303
- | property | type | description |
304
- | ------------------ | ---------------------------------------------- | -------------------------------------------------------------- |
305
- | `isSelected` | `boolean \| undefined` | Whether the checkbox is currently selected |
306
- | `onSelectedChange` | `((isSelected: boolean) => void) \| undefined` | Callback function to change the checkbox selection state |
307
- | `isDisabled` | `boolean` | Whether the checkbox is disabled and cannot be interacted with |
308
- | `isInvalid` | `boolean` | Whether the checkbox is invalid (shows danger color) |
309
- | `nativeID` | `string \| undefined` | Native ID for the checkbox element |
310
-
311
- **Note:** This hook must be used within a `Checkbox` component. It will throw an error if called outside of the checkbox context.
@@ -1,105 +0,0 @@
1
- import { StyleSheet } from 'react-native';
2
- import { tv } from 'tailwind-variants';
3
- import { combineStyles } from '../../helpers/internal/utils';
4
-
5
- /**
6
- * Root style definition
7
- *
8
- * @note ANIMATED PROPERTIES (cannot be set via className):
9
- * The following property is animated and cannot be overridden using Tailwind classes:
10
- * - `transform` (specifically `scale`) - Animated for press feedback transitions (unpressed: 1, pressed: 0.96)
11
- *
12
- * To customize this property, use the `animation` prop on `Checkbox`:
13
- * ```tsx
14
- * <Checkbox
15
- * animation={{
16
- * scale: { value: [1, 0.96], timingConfig: { duration: 150 } }
17
- * }}
18
- * />
19
- * ```
20
- *
21
- * To completely disable animated styles and apply your own via className or style prop,
22
- * set `isAnimatedStyleActive={false}` on `Checkbox`.
23
- */
24
- const root = tv({
25
- base: 'size-6 rounded-lg overflow-hidden',
26
- variants: {
27
- variant: {
28
- primary: 'bg-field shadow-field',
29
- secondary: 'bg-default',
30
- },
31
- isSelected: {
32
- true: '',
33
- false: '',
34
- },
35
- isDisabled: {
36
- true: 'opacity-disabled pointer-events-none',
37
- false: '',
38
- },
39
- isInvalid: {
40
- true: 'border border-danger',
41
- false: 'border-0',
42
- },
43
- },
44
- compoundVariants: [
45
- {
46
- isSelected: false,
47
- isInvalid: true,
48
- className: 'bg-transparent',
49
- },
50
- ],
51
- defaultVariants: {
52
- variant: 'primary',
53
- isSelected: false,
54
- isDisabled: false,
55
- isInvalid: false,
56
- },
57
- });
58
-
59
- /**
60
- * Indicator style definition
61
- *
62
- * @note ANIMATED PROPERTIES (cannot be set via className):
63
- * The following properties are animated and cannot be overridden using Tailwind classes:
64
- * - `opacity` - Animated for selection transitions (unselected: 0, selected: 1)
65
- * - `borderRadius` - Animated for selection transitions (unselected: 8, selected: 0)
66
- * - `transform` (specifically `translateX` and `scale`) - Animated for selection transitions (translateX: unselected: -4, selected: 0; scale: unselected: 0.8, selected: 1)
67
- *
68
- * To customize these properties, use the `animation` prop on `Checkbox.Indicator`:
69
- * ```tsx
70
- * <Checkbox.Indicator
71
- * animation={{
72
- * opacity: { value: [0, 1], timingConfig: { duration: 100 } },
73
- * borderRadius: { value: [8, 0], timingConfig: { duration: 50 } },
74
- * translateX: { value: [-4, 0], timingConfig: { duration: 100 } },
75
- * scale: { value: [0.8, 1], timingConfig: { duration: 100 } }
76
- * }}
77
- * />
78
- * ```
79
- *
80
- * To completely disable animated styles and apply your own via className or style prop,
81
- * set `isAnimatedStyleActive={false}` on `Checkbox.Indicator`.
82
- */
83
- const indicator = tv({
84
- base: 'absolute inset-0 items-center justify-center',
85
- variants: {
86
- isInvalid: {
87
- true: 'bg-danger',
88
- false: 'bg-accent',
89
- },
90
- },
91
- defaultVariants: {
92
- isInvalid: false,
93
- },
94
- });
95
-
96
- export const checkboxClassNames = combineStyles({
97
- root,
98
- indicator,
99
- });
100
-
101
- export const checkboxStyleSheet = StyleSheet.create({
102
- root: {
103
- borderCurve: 'continuous',
104
- },
105
- });
@@ -1,251 +0,0 @@
1
- import { forwardRef, useCallback, useMemo } from 'react';
2
- import { View, type GestureResponderEvent } from 'react-native';
3
- import Animated from 'react-native-reanimated';
4
- import { useIsOnSurface, useThemeColor } from '../../helpers/external/hooks';
5
- import {
6
- AnimatedCheckIcon,
7
- CheckIcon,
8
- } from '../../helpers/internal/components';
9
- import { AnimationSettingsProvider } from '../../helpers/internal/contexts';
10
- import * as CheckboxPrimitives from '../../primitives/checkbox';
11
- import * as CheckboxPrimitivesTypes from '../../primitives/checkbox/checkbox.types';
12
- import {
13
- CheckboxAnimationProvider,
14
- useCheckboxIndicatorAnimation,
15
- useCheckboxRootAnimation,
16
- } from './checkbox.animation';
17
- import { DEFAULT_HIT_SLOP, DISPLAY_NAME } from './checkbox.constants';
18
- import { checkboxClassNames, checkboxStyleSheet } from './checkbox.styles';
19
- import type {
20
- CheckboxIndicatorProps,
21
- CheckboxProps,
22
- CheckboxRenderProps,
23
- } from './checkbox.types';
24
-
25
- const AnimatedRootView = Animated.createAnimatedComponent(
26
- CheckboxPrimitives.Root
27
- );
28
-
29
- const AnimatedIndicatorView = Animated.createAnimatedComponent(
30
- CheckboxPrimitives.Indicator
31
- );
32
-
33
- const useCheckbox = CheckboxPrimitives.useCheckboxContext;
34
-
35
- // --------------------------------------------------
36
-
37
- const CheckboxRoot = forwardRef<CheckboxPrimitivesTypes.RootRef, CheckboxProps>(
38
- (props, ref) => {
39
- const {
40
- children,
41
- isSelected,
42
- onSelectedChange,
43
- isDisabled = false,
44
- isInvalid = false,
45
- variant,
46
- hitSlop = DEFAULT_HIT_SLOP,
47
- className,
48
- style,
49
- onPressIn,
50
- onPressOut,
51
- animation,
52
- isAnimatedStyleActive = true,
53
- ...restProps
54
- } = props;
55
-
56
- const isOnSurfaceAutoDetected = useIsOnSurface();
57
- const finalVariant =
58
- variant !== undefined
59
- ? variant
60
- : isOnSurfaceAutoDetected
61
- ? 'secondary'
62
- : 'primary';
63
-
64
- const rootClassName = checkboxClassNames.root({
65
- variant: finalVariant,
66
- isSelected,
67
- isDisabled,
68
- isInvalid,
69
- className,
70
- });
71
-
72
- const { rContainerStyle, isCheckboxPressed, isAllAnimationsDisabled } =
73
- useCheckboxRootAnimation({
74
- animation,
75
- });
76
-
77
- const rootStyle = isAnimatedStyleActive
78
- ? [rContainerStyle, checkboxStyleSheet.root, style]
79
- : [checkboxStyleSheet.root, style];
80
-
81
- const animationContextValue = useMemo(
82
- () => ({
83
- isCheckboxPressed,
84
- }),
85
- [isCheckboxPressed]
86
- );
87
-
88
- const animationSettingsContextValue = useMemo(
89
- () => ({
90
- isAllAnimationsDisabled,
91
- }),
92
- [isAllAnimationsDisabled]
93
- );
94
-
95
- const handlePressIn = useCallback(
96
- (event: GestureResponderEvent) => {
97
- isCheckboxPressed.set(true);
98
- onPressIn?.(event);
99
- },
100
- [isCheckboxPressed, onPressIn]
101
- );
102
-
103
- const handlePressOut = useCallback(
104
- (event: GestureResponderEvent) => {
105
- isCheckboxPressed.set(false);
106
- onPressOut?.(event);
107
- },
108
- [isCheckboxPressed, onPressOut]
109
- );
110
-
111
- const renderProps: CheckboxRenderProps = {
112
- isSelected,
113
- isInvalid,
114
- isDisabled,
115
- };
116
-
117
- const content =
118
- typeof children === 'function'
119
- ? children(renderProps)
120
- : (children ?? <CheckboxIndicator />);
121
-
122
- return (
123
- <AnimationSettingsProvider value={animationSettingsContextValue}>
124
- <CheckboxAnimationProvider value={animationContextValue}>
125
- <AnimatedRootView
126
- ref={ref}
127
- className={rootClassName}
128
- isSelected={isSelected}
129
- onSelectedChange={onSelectedChange}
130
- isDisabled={isDisabled}
131
- isInvalid={isInvalid}
132
- hitSlop={hitSlop}
133
- onPressIn={handlePressIn}
134
- onPressOut={handlePressOut}
135
- style={rootStyle}
136
- {...restProps}
137
- >
138
- {content}
139
- </AnimatedRootView>
140
- </CheckboxAnimationProvider>
141
- </AnimationSettingsProvider>
142
- );
143
- }
144
- );
145
-
146
- // --------------------------------------------------
147
-
148
- const CheckboxIndicator = forwardRef<
149
- CheckboxPrimitivesTypes.IndicatorRef,
150
- CheckboxIndicatorProps
151
- >((props, ref) => {
152
- const {
153
- children,
154
- iconProps,
155
- className,
156
- style,
157
- animation,
158
- isAnimatedStyleActive = true,
159
- ...restProps
160
- } = props;
161
-
162
- const { isSelected, isDisabled, isInvalid } = useCheckbox();
163
-
164
- const themeColorAccentForeground = useThemeColor('accent-foreground');
165
-
166
- const iconSize = iconProps?.size;
167
- const iconStrokeWidth = iconProps?.strokeWidth;
168
- const iconColor = iconProps?.color ?? themeColorAccentForeground;
169
- const iconEnterDuration = iconProps?.enterDuration;
170
- const iconExitDuration = iconProps?.exitDuration;
171
-
172
- const indicatorClassName = checkboxClassNames.indicator({
173
- isInvalid,
174
- className,
175
- });
176
-
177
- const { rContainerStyle, isAnimationDisabled } =
178
- useCheckboxIndicatorAnimation({
179
- animation,
180
- isSelected,
181
- });
182
-
183
- const indicatorStyle = isAnimatedStyleActive
184
- ? [rContainerStyle, style]
185
- : style;
186
-
187
- const renderProps: CheckboxRenderProps = {
188
- isSelected,
189
- isInvalid: isInvalid ?? false,
190
- isDisabled: isDisabled ?? false,
191
- };
192
-
193
- const content =
194
- typeof children === 'function'
195
- ? children(renderProps)
196
- : (children ??
197
- (isAnimationDisabled ? (
198
- <View className="translate-y-px">
199
- <CheckIcon size={iconSize} color={iconColor} />
200
- </View>
201
- ) : (
202
- <AnimatedCheckIcon
203
- size={iconSize}
204
- strokeWidth={iconStrokeWidth}
205
- color={iconColor}
206
- isSelected={isSelected}
207
- enterDuration={iconEnterDuration}
208
- exitDuration={iconExitDuration}
209
- />
210
- )));
211
-
212
- return (
213
- <AnimatedIndicatorView
214
- ref={ref}
215
- className={indicatorClassName}
216
- style={indicatorStyle}
217
- {...restProps}
218
- >
219
- {content}
220
- </AnimatedIndicatorView>
221
- );
222
- });
223
-
224
- // --------------------------------------------------
225
-
226
- CheckboxRoot.displayName = DISPLAY_NAME.CHECKBOX_ROOT;
227
- CheckboxIndicator.displayName = DISPLAY_NAME.CHECKBOX_INDICATOR;
228
-
229
- /**
230
- * Compound Checkbox component with sub-components
231
- *
232
- * @component Checkbox - Main container that handles selection state and user interaction.
233
- * Renders default indicator with checkmark if no children provided.
234
- * Animates background and border color based on selection state.
235
- *
236
- * @component Checkbox.Indicator - Optional checkmark container that scales in when selected.
237
- * Renders default check icon if no children provided. Handles enter/exit animations
238
- * and can be replaced with custom indicators.
239
- *
240
- * Props flow from Checkbox to sub-components via context (isSelected).
241
- * The checkbox supports controlled and uncontrolled modes through isSelected/onSelectedChange.
242
- *
243
- * @see Full documentation: https://v3.heroui.com/docs/native/components/checkbox
244
- */
245
- const CompoundCheckbox = Object.assign(CheckboxRoot, {
246
- /** @optional Custom indicator with scale animations */
247
- Indicator: CheckboxIndicator,
248
- });
249
-
250
- export { useCheckbox };
251
- export default CompoundCheckbox;