@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,565 +0,0 @@
1
- # Tabs
2
-
3
- Organize content into tabbed views with animated transitions and indicators.
4
-
5
- ## Import
6
-
7
- ```tsx
8
- import { Tabs } from '@/heroui';
9
- ```
10
-
11
- ## Anatomy
12
-
13
- ```tsx
14
- <Tabs>
15
- <Tabs.List>
16
- <Tabs.ScrollView>
17
- <Tabs.Indicator />
18
- <Tabs.Trigger>
19
- <Tabs.Label>...</Tabs.Label>
20
- </Tabs.Trigger>
21
- <Tabs.Separator />
22
- <Tabs.Trigger>
23
- <Tabs.Label>...</Tabs.Label>
24
- </Tabs.Trigger>
25
- </Tabs.ScrollView>
26
- </Tabs.List>
27
- <Tabs.Content>...</Tabs.Content>
28
- </Tabs>
29
- ```
30
-
31
- - **Tabs**: Main container that manages tab state and selection. Controls active tab, handles value changes, and provides context to child components.
32
- - **Tabs.List**: Container for tab triggers. Groups triggers together with optional styling variants (primary or secondary).
33
- - **Tabs.ScrollView**: Optional scrollable wrapper for tab triggers. Enables horizontal scrolling when tabs overflow with automatic centering of active tab.
34
- - **Tabs.Trigger**: Interactive button for each tab. Handles press events to change active tab and measures its position for indicator animation.
35
- - **Tabs.Label**: Text content for tab triggers. Displays the tab title with appropriate styling.
36
- - **Tabs.Indicator**: Animated visual indicator for active tab. Smoothly transitions between tabs using spring or timing animations.
37
- - **Tabs.Separator**: Visual separator between tabs. Shows when the current tab value is not in the `betweenValues` array, with animated opacity transitions.
38
- - **Tabs.Content**: Container for tab panel content. Shows content when its value matches the active tab.
39
-
40
- ## Usage
41
-
42
- ### Basic Usage
43
-
44
- The Tabs component uses compound parts to create navigable content sections.
45
-
46
- ```tsx
47
- <Tabs value="tab1" onValueChange={setActiveTab}>
48
- <Tabs.List>
49
- <Tabs.Indicator />
50
- <Tabs.Trigger value="tab1">
51
- <Tabs.Label>Tab 1</Tabs.Label>
52
- </Tabs.Trigger>
53
- <Tabs.Trigger value="tab2">
54
- <Tabs.Label>Tab 2</Tabs.Label>
55
- </Tabs.Trigger>
56
- </Tabs.List>
57
- <Tabs.Content value="tab1">...</Tabs.Content>
58
- <Tabs.Content value="tab2">...</Tabs.Content>
59
- </Tabs>
60
- ```
61
-
62
- ### Primary Variant
63
-
64
- Default rounded primary style for tab triggers.
65
-
66
- ```tsx
67
- <Tabs value={activeTab} onValueChange={setActiveTab} variant="primary">
68
- <Tabs.List>
69
- <Tabs.Indicator />
70
- <Tabs.Trigger value="settings">
71
- <Tabs.Label>Settings</Tabs.Label>
72
- </Tabs.Trigger>
73
- <Tabs.Trigger value="profile">
74
- <Tabs.Label>Profile</Tabs.Label>
75
- </Tabs.Trigger>
76
- </Tabs.List>
77
- <Tabs.Content value="settings">...</Tabs.Content>
78
- <Tabs.Content value="profile">...</Tabs.Content>
79
- </Tabs>
80
- ```
81
-
82
- ### Secondary Variant
83
-
84
- Underline style indicator for a more minimal appearance.
85
-
86
- ```tsx
87
- <Tabs value={activeTab} onValueChange={setActiveTab} variant="secondary">
88
- <Tabs.List>
89
- <Tabs.Indicator />
90
- <Tabs.Trigger value="overview">
91
- <Tabs.Label>Overview</Tabs.Label>
92
- </Tabs.Trigger>
93
- <Tabs.Trigger value="analytics">
94
- <Tabs.Label>Analytics</Tabs.Label>
95
- </Tabs.Trigger>
96
- </Tabs.List>
97
- <Tabs.Content value="overview">...</Tabs.Content>
98
- <Tabs.Content value="analytics">...</Tabs.Content>
99
- </Tabs>
100
- ```
101
-
102
- ### Scrollable Tabs
103
-
104
- Handle many tabs with horizontal scrolling.
105
-
106
- ```tsx
107
- <Tabs value={activeTab} onValueChange={setActiveTab}>
108
- <Tabs.List>
109
- <Tabs.ScrollView scrollAlign="center">
110
- <Tabs.Indicator />
111
- <Tabs.Trigger value="tab1">
112
- <Tabs.Label>First Tab</Tabs.Label>
113
- </Tabs.Trigger>
114
- <Tabs.Trigger value="tab2">
115
- <Tabs.Label>Second Tab</Tabs.Label>
116
- </Tabs.Trigger>
117
- <Tabs.Trigger value="tab3">
118
- <Tabs.Label>Third Tab</Tabs.Label>
119
- </Tabs.Trigger>
120
- <Tabs.Trigger value="tab4">
121
- <Tabs.Label>Fourth Tab</Tabs.Label>
122
- </Tabs.Trigger>
123
- <Tabs.Trigger value="tab5">
124
- <Tabs.Label>Fifth Tab</Tabs.Label>
125
- </Tabs.Trigger>
126
- </Tabs.ScrollView>
127
- </Tabs.List>
128
- <Tabs.Content value="tab1">...</Tabs.Content>
129
- <Tabs.Content value="tab2">...</Tabs.Content>
130
- <Tabs.Content value="tab3">...</Tabs.Content>
131
- <Tabs.Content value="tab4">...</Tabs.Content>
132
- <Tabs.Content value="tab5">...</Tabs.Content>
133
- </Tabs>
134
- ```
135
-
136
- ### Disabled Tabs
137
-
138
- Disable specific tabs to prevent interaction.
139
-
140
- ```tsx
141
- <Tabs value={activeTab} onValueChange={setActiveTab}>
142
- <Tabs.List>
143
- <Tabs.Indicator />
144
- <Tabs.Trigger value="active">
145
- <Tabs.Label>Active</Tabs.Label>
146
- </Tabs.Trigger>
147
- <Tabs.Trigger value="disabled" isDisabled>
148
- <Tabs.Label>Disabled</Tabs.Label>
149
- </Tabs.Trigger>
150
- <Tabs.Trigger value="another">
151
- <Tabs.Label>Another</Tabs.Label>
152
- </Tabs.Trigger>
153
- </Tabs.List>
154
- <Tabs.Content value="active">...</Tabs.Content>
155
- <Tabs.Content value="another">...</Tabs.Content>
156
- </Tabs>
157
- ```
158
-
159
- ### With Icons
160
-
161
- Combine icons with labels for enhanced visual context.
162
-
163
- ```tsx
164
- <Tabs value={activeTab} onValueChange={setActiveTab}>
165
- <Tabs.List>
166
- <Tabs.Indicator />
167
- <Tabs.Trigger value="home">
168
- <Icon name="home" size={16} />
169
- <Tabs.Label>Home</Tabs.Label>
170
- </Tabs.Trigger>
171
- <Tabs.Trigger value="search">
172
- <Icon name="search" size={16} />
173
- <Tabs.Label>Search</Tabs.Label>
174
- </Tabs.Trigger>
175
- </Tabs.List>
176
- <Tabs.Content value="home">...</Tabs.Content>
177
- <Tabs.Content value="search">...</Tabs.Content>
178
- </Tabs>
179
- ```
180
-
181
- ### With Render Function
182
-
183
- Use a render function on `Tabs.Trigger` to access state and customize content based on selection.
184
-
185
- ```tsx
186
- <Tabs value={activeTab} onValueChange={setActiveTab}>
187
- <Tabs.List>
188
- <Tabs.Indicator />
189
- <Tabs.Trigger value="settings">
190
- {({ isSelected, value, isDisabled }) => (
191
- <Tabs.Label
192
- className={isSelected ? 'text-accent font-medium' : 'text-foreground'}
193
- >
194
- Settings
195
- </Tabs.Label>
196
- )}
197
- </Tabs.Trigger>
198
- <Tabs.Trigger value="profile">
199
- {({ isSelected }) => (
200
- <>
201
- <Icon name="user" size={16} />
202
- <Tabs.Label className={isSelected ? 'text-accent' : 'text-muted'}>
203
- Profile
204
- </Tabs.Label>
205
- </>
206
- )}
207
- </Tabs.Trigger>
208
- </Tabs.List>
209
- <Tabs.Content value="settings">...</Tabs.Content>
210
- <Tabs.Content value="profile">...</Tabs.Content>
211
- </Tabs>
212
- ```
213
-
214
- ### With Separators
215
-
216
- Add visual separators between tabs that show when the active tab is not between specified values.
217
-
218
- ```tsx
219
- <Tabs value={activeTab} onValueChange={setActiveTab}>
220
- <Tabs.List>
221
- <Tabs.ScrollView>
222
- <Tabs.Indicator />
223
- <Tabs.Trigger value="general">
224
- <Tabs.Label>General</Tabs.Label>
225
- </Tabs.Trigger>
226
- <Tabs.Separator betweenValues={['general', 'notifications']} />
227
- <Tabs.Trigger value="notifications">
228
- <Tabs.Label>Notifications</Tabs.Label>
229
- </Tabs.Trigger>
230
- <Tabs.Separator betweenValues={['notifications', 'profile']} />
231
- <Tabs.Trigger value="profile">
232
- <Tabs.Label>Profile</Tabs.Label>
233
- </Tabs.Trigger>
234
- </Tabs.ScrollView>
235
- </Tabs.List>
236
- <Tabs.Content value="general">...</Tabs.Content>
237
- <Tabs.Content value="notifications">...</Tabs.Content>
238
- <Tabs.Content value="profile">...</Tabs.Content>
239
- </Tabs>
240
- ```
241
-
242
- ## Example
243
-
244
- ```tsx
245
- import {
246
- Button,
247
- Checkbox,
248
- Description,
249
- ControlField,
250
- Label,
251
- Tabs,
252
- TextField,
253
- } from '@/heroui';
254
- import { useState } from 'react';
255
- import { View, Text } from 'react-native';
256
- import Animated, {
257
- FadeIn,
258
- FadeOut,
259
- LinearTransition,
260
- } from 'react-native-reanimated';
261
-
262
- const AnimatedContentContainer = ({
263
- children,
264
- }: {
265
- children: React.ReactNode;
266
- }) => (
267
- <Animated.View
268
- entering={FadeIn.duration(200)}
269
- exiting={FadeOut.duration(200)}
270
- className="gap-6"
271
- >
272
- {children}
273
- </Animated.View>
274
- );
275
-
276
- export default function TabsExample() {
277
- const [activeTab, setActiveTab] = useState('general');
278
-
279
- const [showSidebar, setShowSidebar] = useState(true);
280
- const [accountActivity, setAccountActivity] = useState(true);
281
- const [name, setName] = useState('');
282
-
283
- return (
284
- <Tabs value={activeTab} onValueChange={setActiveTab} variant="primary">
285
- <Tabs.List>
286
- <Tabs.ScrollView>
287
- <Tabs.Indicator />
288
- <Tabs.Trigger value="general">
289
- <Tabs.Label>General</Tabs.Label>
290
- </Tabs.Trigger>
291
- <Tabs.Trigger value="notifications">
292
- <Tabs.Label>Notifications</Tabs.Label>
293
- </Tabs.Trigger>
294
- <Tabs.Trigger value="profile">
295
- <Tabs.Label>Profile</Tabs.Label>
296
- </Tabs.Trigger>
297
- </Tabs.ScrollView>
298
- </Tabs.List>
299
-
300
- <Animated.View
301
- layout={LinearTransition.duration(200)}
302
- className="px-4 py-6 border border-border rounded-xl"
303
- >
304
- <Tabs.Content value="general">
305
- <AnimatedContentContainer>
306
- <ControlField
307
- isSelected={showSidebar}
308
- onSelectedChange={setShowSidebar}
309
- >
310
- <ControlField.Indicator variant="checkbox" />
311
- <View className="flex-1">
312
- <Label>Show sidebar</Label>
313
- <Description>Display the sidebar navigation panel</Description>
314
- </View>
315
- </ControlField>
316
- </AnimatedContentContainer>
317
- </Tabs.Content>
318
-
319
- <Tabs.Content value="notifications">
320
- <AnimatedContentContainer>
321
- <ControlField
322
- isSelected={accountActivity}
323
- onSelectedChange={setAccountActivity}
324
- >
325
- <ControlField.Indicator variant="checkbox" />
326
- <View className="flex-1">
327
- <Label>Account activity</Label>
328
- <Description>
329
- Notifications about your account activity
330
- </Description>
331
- </View>
332
- </ControlField>
333
- </AnimatedContentContainer>
334
- </Tabs.Content>
335
-
336
- <Tabs.Content value="profile">
337
- <AnimatedContentContainer>
338
- <TextField isRequired>
339
- <Label>Name</Label>
340
- <Input
341
- value={name}
342
- onChangeText={setName}
343
- placeholder="Enter your full name"
344
- />
345
- </TextField>
346
- <Button size="sm" className="self-start">
347
- <Button.Label>Update profile</Button.Label>
348
- </Button>
349
- </AnimatedContentContainer>
350
- </Tabs.Content>
351
- </Animated.View>
352
- </Tabs>
353
- );
354
- }
355
- ```
356
-
357
- You can find more examples in the [GitHub repository](<https://github.com/heroui-inc/heroui-native/blob/rc/example/src/app/(home)/components/tabs.tsx>).
358
-
359
- ## API Reference
360
-
361
- ### Tabs
362
-
363
- | prop | type | default | description |
364
- | --------------- | ---------------------------- | ----------- | ----------------------------------------------------------------------------------------- |
365
- | `children` | `React.ReactNode` | - | Children elements to be rendered inside tabs |
366
- | `value` | `string` | - | Currently active tab value |
367
- | `variant` | `'primary' \| 'secondary'` | `'primary'` | Visual variant of the tabs |
368
- | `className` | `string` | - | Additional CSS classes for the container |
369
- | `animation` | `"disable-all" \| undefined` | `undefined` | Animation configuration. Use `"disable-all"` to disable all animations including children |
370
- | `onValueChange` | `(value: string) => void` | - | Callback when the active tab changes |
371
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
372
-
373
- ### Tabs.List
374
-
375
- | prop | type | default | description |
376
- | -------------- | ----------------- | ------- | -------------------------------------------------- |
377
- | `children` | `React.ReactNode` | - | Children elements to be rendered inside the list |
378
- | `className` | `string` | - | Additional CSS classes |
379
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
380
-
381
- ### Tabs.ScrollView
382
-
383
- | prop | type | default | description |
384
- | --------------------------- | ---------------------------------------- | ---------- | -------------------------------------------------------- |
385
- | `children` | `React.ReactNode` | - | Children elements to be rendered inside the scroll view |
386
- | `scrollAlign` | `'start' \| 'center' \| 'end' \| 'none'` | `'center'` | Scroll alignment variant for the selected item |
387
- | `className` | `string` | - | Additional CSS classes for the scroll view |
388
- | `contentContainerClassName` | `string` | - | Additional CSS classes for the content container |
389
- | `...ScrollViewProps` | `ScrollViewProps` | - | All standard React Native ScrollView props are supported |
390
-
391
- ### Tabs.Trigger
392
-
393
- | prop | type | default | description |
394
- | ------------------- | ------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------- |
395
- | `children` | `React.ReactNode \| ((props: TabsTriggerRenderProps) => React.ReactNode)` | - | Children elements to be rendered inside the trigger, or a render function |
396
- | `value` | `string` | - | The unique value identifying this tab |
397
- | `isDisabled` | `boolean` | `false` | Whether the trigger is disabled |
398
- | `className` | `string` | - | Additional CSS classes |
399
- | `...PressableProps` | `PressableProps` | - | All standard React Native Pressable props are supported |
400
-
401
- #### TabsTriggerRenderProps
402
-
403
- When using a render function for `children`, the following props are provided:
404
-
405
- | property | type | description |
406
- | ------------ | --------- | ------------------------------------------ |
407
- | `isSelected` | `boolean` | Whether this trigger is currently selected |
408
- | `value` | `string` | The value of the trigger |
409
- | `isDisabled` | `boolean` | Whether the trigger is disabled |
410
-
411
- ### Tabs.Label
412
-
413
- | prop | type | default | description |
414
- | -------------- | ----------------- | ------- | -------------------------------------------------- |
415
- | `children` | `React.ReactNode` | - | Text content to be rendered as label |
416
- | `className` | `string` | - | Additional CSS classes |
417
- | `...TextProps` | `TextProps` | - | All standard React Native Text props are supported |
418
-
419
- ### Tabs.Indicator
420
-
421
- | prop | type | default | description |
422
- | ----------------------- | ------------------------ | ------- | ------------------------------------------------------------ |
423
- | `children` | `React.ReactNode` | - | Custom indicator content |
424
- | `className` | `string` | - | Additional CSS classes |
425
- | `animation` | `TabsIndicatorAnimation` | - | Animation configuration |
426
- | `isAnimatedStyleActive` | `boolean` | `true` | Whether animated styles (react-native-reanimated) are active |
427
- | `...Animated.ViewProps` | `Animated.ViewProps` | - | All Reanimated Animated.View props are supported |
428
-
429
- #### TabsIndicatorAnimation
430
-
431
- Animation configuration for Tabs.Indicator component. Can be:
432
-
433
- - `false` or `"disabled"`: Disable all animations
434
- - `true` or `undefined`: Use default animations
435
- - `object`: Custom animation configuration
436
-
437
- | prop | type | default | description |
438
- | ------------------- | -------------------------------------- | ---------------------------------------------------------------------------- | ----------------------------------------------- |
439
- | `state` | `'disabled' \| boolean` | - | Disable animations while customizing properties |
440
- | `width.type` | `'spring' \| 'timing'` | `'spring'` | Type of animation to use |
441
- | `width.config` | `WithSpringConfig \| WithTimingConfig` | `{ stiffness: 1200, damping: 120 }` (spring) or `{ duration: 200 }` (timing) | Reanimated animation configuration |
442
- | `height.type` | `'spring' \| 'timing'` | `'spring'` | Type of animation to use |
443
- | `height.config` | `WithSpringConfig \| WithTimingConfig` | `{ stiffness: 1200, damping: 120 }` (spring) or `{ duration: 200 }` (timing) | Reanimated animation configuration |
444
- | `translateX.type` | `'spring' \| 'timing'` | `'spring'` | Type of animation to use |
445
- | `translateX.config` | `WithSpringConfig \| WithTimingConfig` | `{ stiffness: 1200, damping: 120 }` (spring) or `{ duration: 200 }` (timing) | Reanimated animation configuration |
446
-
447
- ### Tabs.Separator
448
-
449
- | prop | type | default | description |
450
- | ----------------------- | ------------------------ | ------- | -------------------------------------------------------------------------------------------------------------------------------------- |
451
- | `betweenValues` | `string[]` | - | Array of tab values between which the separator should be visible. The separator shows when the current tab value is NOT in this array |
452
- | `isAlwaysVisible` | `boolean` | `false` | If true, opacity is always 1 regardless of the current tab value |
453
- | `className` | `string` | - | Additional CSS classes |
454
- | `animation` | `TabsSeparatorAnimation` | - | Animation configuration |
455
- | `isAnimatedStyleActive` | `boolean` | `true` | Whether animated styles (react-native-reanimated) are active |
456
- | `children` | `React.ReactNode` | - | Custom separator content |
457
- | `...Animated.ViewProps` | `Animated.ViewProps` | - | All Reanimated Animated.View props are supported |
458
-
459
- **Note:** The following style properties are occupied by animations and cannot be set via className:
460
-
461
- - `opacity` - Animated for separator visibility transitions (0 when current tab is in `betweenValues`, 1 when not)
462
-
463
- To customize these properties, use the `animation` prop. To completely disable animated styles and use your own via className or style prop, set `isAnimatedStyleActive={false}`.
464
-
465
- #### TabsSeparatorAnimation
466
-
467
- Animation configuration for Tabs.Separator component. Can be:
468
-
469
- - `false` or `"disabled"`: Disable all animations
470
- - `true` or `undefined`: Use default animations
471
- - `object`: Custom animation configuration
472
-
473
- | prop | type | default | description |
474
- | ---------------------- | ----------------------- | ------------------- | ----------------------------------------------- |
475
- | `state` | `'disabled' \| boolean` | - | Disable animations while customizing properties |
476
- | `opacity.value` | `[number, number]` | `[0, 1]` | Opacity values [hidden, visible] |
477
- | `opacity.timingConfig` | `WithTimingConfig` | `{ duration: 200 }` | Animation timing configuration |
478
-
479
- ### Tabs.Content
480
-
481
- | prop | type | default | description |
482
- | -------------- | ----------------- | ------- | --------------------------------------------------- |
483
- | `children` | `React.ReactNode` | - | Children elements to be rendered inside the content |
484
- | `value` | `string` | - | The value of the tab this content belongs to |
485
- | `className` | `string` | - | Additional CSS classes |
486
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
487
-
488
- ## Hooks
489
-
490
- ### useTabs
491
-
492
- Hook to access tabs root context values within custom components or compound components.
493
-
494
- ```tsx
495
- import { useTabs } from '@/heroui';
496
-
497
- const CustomComponent = () => {
498
- const { value, onValueChange, nativeID } = useTabs();
499
- // ... your implementation
500
- };
501
- ```
502
-
503
- **Returns:** `UseTabsReturn`
504
-
505
- | property | type | description |
506
- | --------------- | ------------------------- | ------------------------------------------ |
507
- | `value` | `string` | Currently active tab value |
508
- | `onValueChange` | `(value: string) => void` | Callback function to change the active tab |
509
- | `nativeID` | `string` | Unique identifier for the tabs instance |
510
-
511
- **Note:** This hook must be used within a `Tabs` component. It will throw an error if called outside of the tabs context.
512
-
513
- ### useTabsMeasurements
514
-
515
- Hook to access tab measurements context values for managing tab trigger positions and dimensions.
516
-
517
- ```tsx
518
- import { useTabsMeasurements } from '@/heroui';
519
-
520
- const CustomIndicator = () => {
521
- const { measurements, variant } = useTabsMeasurements();
522
- // ... your implementation
523
- };
524
- ```
525
-
526
- **Returns:** `UseTabsMeasurementsReturn`
527
-
528
- | property | type | description |
529
- | ----------------- | ------------------------------------------------------- | ------------------------------------------------- |
530
- | `measurements` | `Record<string, ItemMeasurements>` | Record of measurements for each tab trigger |
531
- | `setMeasurements` | `(key: string, measurements: ItemMeasurements) => void` | Function to update measurements for a tab trigger |
532
- | `variant` | `'primary' \| 'secondary'` | Visual variant of the tabs |
533
-
534
- #### ItemMeasurements
535
-
536
- | property | type | description |
537
- | -------- | -------- | ----------------------------------- |
538
- | `width` | `number` | Width of the tab trigger in pixels |
539
- | `height` | `number` | Height of the tab trigger in pixels |
540
- | `x` | `number` | X position of the tab trigger |
541
-
542
- **Note:** This hook must be used within a `Tabs` component. It will throw an error if called outside of the tabs context.
543
-
544
- ### useTabsTrigger
545
-
546
- Hook to access tab trigger context values within custom components or compound components.
547
-
548
- ```tsx
549
- import { useTabsTrigger } from '@/heroui';
550
-
551
- const CustomLabel = () => {
552
- const { value, isSelected, nativeID } = useTabsTrigger();
553
- // ... your implementation
554
- };
555
- ```
556
-
557
- **Returns:** `UseTabsTriggerReturn`
558
-
559
- | property | type | description |
560
- | ------------ | --------- | ------------------------------------------ |
561
- | `value` | `string` | The value of this trigger |
562
- | `nativeID` | `string` | Unique identifier for this trigger |
563
- | `isSelected` | `boolean` | Whether this trigger is currently selected |
564
-
565
- **Note:** This hook must be used within a `Tabs.Trigger` component. It will throw an error if called outside of the trigger context.