@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,231 +0,0 @@
1
- # SearchField
2
-
3
- A compound search input for filtering and querying content.
4
-
5
- ## Import
6
-
7
- ```tsx
8
- import { SearchField } from '@/heroui';
9
- ```
10
-
11
- ## Anatomy
12
-
13
- ```tsx
14
- <SearchField value={value} onChange={onChange}>
15
- <SearchField.Group>
16
- <SearchField.SearchIcon />
17
- <SearchField.Input />
18
- <SearchField.ClearButton />
19
- </SearchField.Group>
20
- </SearchField>
21
- ```
22
-
23
- - **SearchField**: Root container that accepts `value` and `onChange`, providing them to children via context. Also provides form field state (isDisabled, isInvalid, isRequired) and animation settings.
24
- - **SearchField.Group**: Flex-row container that positions the search icon, input, and clear button horizontally.
25
- - **SearchField.SearchIcon**: Magnifying glass icon positioned absolutely on the left side of the input. Supports custom children to replace the default icon.
26
- - **SearchField.Input**: Wraps the Input component with search-specific defaults. Reads `value` and `onChangeText` from the SearchField context automatically.
27
- - **SearchField.ClearButton**: Small icon-only button to clear the search input. Automatically hidden when value is empty. Calls `onChange("")` from context on press.
28
-
29
- ## Usage
30
-
31
- ### Basic Usage
32
-
33
- The SearchField component uses compound parts to create a search input. Pass `value` and `onChange` to the root; the Input and ClearButton consume them via context.
34
-
35
- ```tsx
36
- <SearchField value={searchValue} onChange={setSearchValue}>
37
- <SearchField.Group>
38
- <SearchField.SearchIcon />
39
- <SearchField.Input />
40
- <SearchField.ClearButton />
41
- </SearchField.Group>
42
- </SearchField>
43
- ```
44
-
45
- ### With Label and Description
46
-
47
- Add a Label and Description outside the Group to provide context for the search field.
48
-
49
- ```tsx
50
- <SearchField value={searchValue} onChange={setSearchValue}>
51
- <Label>Find products</Label>
52
- <SearchField.Group>
53
- <SearchField.SearchIcon />
54
- <SearchField.Input />
55
- <SearchField.ClearButton />
56
- </SearchField.Group>
57
- <Description>Search by name, category, or SKU</Description>
58
- </SearchField>
59
- ```
60
-
61
- ### With Validation
62
-
63
- Use `isInvalid` and `isRequired` on the root to control validation state. Pair with FieldError to display error messages.
64
-
65
- ```tsx
66
- <SearchField
67
- value={searchValue}
68
- onChange={setSearchValue}
69
- isRequired
70
- isInvalid={isInvalid}
71
- >
72
- <Label>Search users</Label>
73
- <SearchField.Group>
74
- <SearchField.SearchIcon />
75
- <SearchField.Input />
76
- <SearchField.ClearButton />
77
- </SearchField.Group>
78
- <Description hideOnInvalid>Enter at least 3 characters to search</Description>
79
- <FieldError>No results found. Please try a different search term.</FieldError>
80
- </SearchField>
81
- ```
82
-
83
- ### Custom Search Icon
84
-
85
- Replace the default magnifying glass icon by passing children to `SearchField.SearchIcon`.
86
-
87
- ```tsx
88
- <SearchField value={searchValue} onChange={setSearchValue}>
89
- <SearchField.Group>
90
- <SearchField.SearchIcon>
91
- <Text className="text-base">🔍</Text>
92
- </SearchField.SearchIcon>
93
- <SearchField.Input className="pl-10" />
94
- <SearchField.ClearButton />
95
- </SearchField.Group>
96
- </SearchField>
97
- ```
98
-
99
- ### Disabled
100
-
101
- Set `isDisabled` on the root to disable all child components via context.
102
-
103
- ```tsx
104
- <SearchField value="Previous query" isDisabled>
105
- <Label>Disabled search</Label>
106
- <SearchField.Group>
107
- <SearchField.SearchIcon />
108
- <SearchField.Input />
109
- </SearchField.Group>
110
- <Description>Search is temporarily unavailable</Description>
111
- </SearchField>
112
- ```
113
-
114
- ## Example
115
-
116
- ```tsx
117
- import { Description, Label, SearchField } from '@/heroui';
118
- import { useState } from 'react';
119
- import { View } from 'react-native';
120
-
121
- export default function SearchFieldExample() {
122
- const [searchValue, setSearchValue] = useState('');
123
-
124
- return (
125
- <View className="px-5">
126
- <SearchField value={searchValue} onChange={setSearchValue}>
127
- <Label>Find products</Label>
128
- <SearchField.Group>
129
- <SearchField.SearchIcon />
130
- <SearchField.Input />
131
- <SearchField.ClearButton />
132
- </SearchField.Group>
133
- <Description>Search by name, category, or SKU</Description>
134
- </SearchField>
135
- </View>
136
- );
137
- }
138
- ```
139
-
140
- You can find more examples in the [GitHub repository](<https://github.com/heroui-inc/heroui-native/blob/rc/example/src/app/(home)/components/search-field.tsx>).
141
-
142
- ## API Reference
143
-
144
- ### SearchField
145
-
146
- | prop | type | default | description |
147
- | -------------- | ------------------------- | ------- | -------------------------------------------------------- |
148
- | `children` | `React.ReactNode` | - | Children elements to be rendered inside the search field |
149
- | `value` | `string` | - | Controlled search text value |
150
- | `onChange` | `(value: string) => void` | - | Callback fired when the search text changes |
151
- | `isDisabled` | `boolean` | `false` | Whether the search field is disabled |
152
- | `isInvalid` | `boolean` | `false` | Whether the search field is in an invalid state |
153
- | `isRequired` | `boolean` | `false` | Whether the search field is required |
154
- | `className` | `string` | - | Additional CSS classes |
155
- | `animation` | `AnimationRootDisableAll` | - | Animation configuration for the search field |
156
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
157
-
158
- #### AnimationRootDisableAll
159
-
160
- Animation configuration for the SearchField root component. Can be:
161
-
162
- - `"disable-all"`: Disable all animations including children (cascades down)
163
- - `undefined`: Use default animations
164
-
165
- ### SearchField.Group
166
-
167
- | prop | type | default | description |
168
- | -------------- | ----------------- | ------- | -------------------------------------------------- |
169
- | `children` | `React.ReactNode` | - | Children elements to be rendered inside the group |
170
- | `className` | `string` | - | Additional CSS classes |
171
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
172
-
173
- ### SearchField.SearchIcon
174
-
175
- | prop | type | default | description |
176
- | -------------- | -------------------------------- | ------- | ---------------------------------------------------------------------------------- |
177
- | `children` | `React.ReactNode` | - | Custom content to replace the default search icon |
178
- | `className` | `string` | - | Additional CSS classes |
179
- | `iconProps` | `SearchFieldSearchIconIconProps` | - | Props for customizing the default search icon (ignored when children are provided) |
180
- | `...ViewProps` | `ViewProps` | - | All standard React Native View props are supported |
181
-
182
- #### SearchFieldSearchIconIconProps
183
-
184
- | prop | type | default | description |
185
- | ------- | -------- | ------------------- | ----------------- |
186
- | `size` | `number` | `16` | Size of the icon |
187
- | `color` | `string` | Theme `muted` color | Color of the icon |
188
-
189
- ### SearchField.Input
190
-
191
- Extends [Input](../input/input.md) props with search-specific defaults (`placeholder="Search..."`, `returnKeyType="search"`, `accessibilityRole="search"`). Omits `value` and `onChangeText` because they are provided by the SearchField context.
192
-
193
- ### SearchField.ClearButton
194
-
195
- Automatically hidden when the controlled `value` is an empty string. Calls `onChange("")` from context on press. Additional `onPress` handlers passed via props are called after clearing.
196
-
197
- | prop | type | default | description |
198
- | ---------------- | --------------------------------- | ------- | ------------------------------------------------ |
199
- | `children` | `React.ReactNode` | - | Custom content to replace the default close icon |
200
- | `iconProps` | `SearchFieldClearButtonIconProps` | - | Props for customizing the clear button icon |
201
- | `className` | `string` | - | Additional CSS classes |
202
- | `...ButtonProps` | `ButtonRootProps` | - | All Button root props are supported |
203
-
204
- #### SearchFieldClearButtonIconProps
205
-
206
- | prop | type | default | description |
207
- | ------- | -------- | ------------------- | ----------------- |
208
- | `size` | `number` | `14` | Size of the icon |
209
- | `color` | `string` | Theme `muted` color | Color of the icon |
210
-
211
- ## Hooks
212
-
213
- ### useSearchField
214
-
215
- Hook to access the search field state from context. Must be used within a `SearchField` component.
216
-
217
- ```tsx
218
- import { useSearchField } from '@/heroui';
219
-
220
- const { value, onChange, isDisabled, isInvalid, isRequired } = useSearchField();
221
- ```
222
-
223
- #### Returns
224
-
225
- | property | type | description |
226
- | ------------ | ---------------------------------------- | ----------------------------------------------- |
227
- | `value` | `string \| undefined` | Current controlled search text value |
228
- | `onChange` | `((value: string) => void) \| undefined` | Callback to update the search text |
229
- | `isDisabled` | `boolean` | Whether the search field is disabled |
230
- | `isInvalid` | `boolean` | Whether the search field is in an invalid state |
231
- | `isRequired` | `boolean` | Whether the search field is required |
@@ -1,35 +0,0 @@
1
- import { tv } from 'tailwind-variants';
2
- import { combineStyles } from '../../helpers/internal/utils';
3
-
4
- const root = tv({
5
- base: 'gap-1.5',
6
- });
7
-
8
- const group = tv({
9
- base: 'flex-row items-center',
10
- });
11
-
12
- const searchIcon = tv({
13
- base: 'absolute left-3 z-10',
14
- });
15
-
16
- /**
17
- * @note This only applies SearchField-specific overrides (flex-1, pl-9).
18
- * Base input styling (bg, border, focus, variants, etc.) comes from the Input component.
19
- * @see {@link ../input/input.styles.ts} for the base Input styles.
20
- */
21
- const input = tv({
22
- base: 'flex-1 pl-9 pr-12',
23
- });
24
-
25
- const clearButton = tv({
26
- base: 'absolute right-3 size-6',
27
- });
28
-
29
- export const searchFieldClassNames = combineStyles({
30
- root,
31
- group,
32
- searchIcon,
33
- input,
34
- clearButton,
35
- });
@@ -1,253 +0,0 @@
1
- import { forwardRef, useMemo } from 'react';
2
- import {
3
- type GestureResponderEvent,
4
- type TextInput as TextInputType,
5
- View,
6
- } from 'react-native';
7
- import { useThemeColor } from '../../helpers/external/hooks';
8
- import { CloseIcon } from '../../helpers/internal/components';
9
- import {
10
- AnimationSettingsProvider,
11
- FormFieldProvider,
12
- } from '../../helpers/internal/contexts';
13
- import type { ViewRef } from '../../helpers/internal/types';
14
- import { createContext } from '../../helpers/internal/utils';
15
- import { Button } from '../button';
16
- import { Input } from '../input';
17
- import { useSearchFieldRootAnimation } from './search-field.animation';
18
- import { DISPLAY_NAME } from './search-field.constants';
19
- import { searchFieldClassNames } from './search-field.styles';
20
- import type {
21
- SearchFieldClearButtonProps,
22
- SearchFieldContextType,
23
- SearchFieldGroupProps,
24
- SearchFieldInputProps,
25
- SearchFieldProps,
26
- SearchFieldSearchIconProps,
27
- } from './search-field.types';
28
- import { SearchIcon } from './search-icon';
29
-
30
- const [SearchFieldProvider, useSearchField] =
31
- createContext<SearchFieldContextType>({
32
- name: 'SearchFieldContext',
33
- strict: false,
34
- });
35
-
36
- // --------------------------------------------------
37
-
38
- const SearchFieldRoot = forwardRef<ViewRef, SearchFieldProps>((props, ref) => {
39
- const {
40
- children,
41
- className,
42
- value,
43
- onChange,
44
- isDisabled = false,
45
- isInvalid = false,
46
- isRequired = false,
47
- animation,
48
- ...restProps
49
- } = props;
50
-
51
- const rootClassName = searchFieldClassNames.root({ className });
52
-
53
- const { isAllAnimationsDisabled } = useSearchFieldRootAnimation({
54
- animation,
55
- });
56
-
57
- const searchFieldContextValue = useMemo<SearchFieldContextType>(
58
- () => ({ value, onChange, isDisabled, isInvalid, isRequired }),
59
- [value, onChange, isDisabled, isInvalid, isRequired]
60
- );
61
-
62
- const formFieldContextValue = useMemo(
63
- () => ({ isDisabled, isInvalid, isRequired, hasFieldPadding: true }),
64
- [isDisabled, isInvalid, isRequired]
65
- );
66
-
67
- const animationSettingsContextValue = useMemo(
68
- () => ({
69
- isAllAnimationsDisabled,
70
- }),
71
- [isAllAnimationsDisabled]
72
- );
73
-
74
- return (
75
- <SearchFieldProvider value={searchFieldContextValue}>
76
- <AnimationSettingsProvider value={animationSettingsContextValue}>
77
- <FormFieldProvider value={formFieldContextValue}>
78
- <View ref={ref} className={rootClassName} {...restProps}>
79
- {children}
80
- </View>
81
- </FormFieldProvider>
82
- </AnimationSettingsProvider>
83
- </SearchFieldProvider>
84
- );
85
- });
86
-
87
- // --------------------------------------------------
88
-
89
- const SearchFieldGroup = forwardRef<ViewRef, SearchFieldGroupProps>(
90
- (props, ref) => {
91
- const { children, className, ...restProps } = props;
92
-
93
- const groupClassName = searchFieldClassNames.group({ className });
94
-
95
- return (
96
- <View ref={ref} className={groupClassName} {...restProps}>
97
- {children}
98
- </View>
99
- );
100
- }
101
- );
102
-
103
- // --------------------------------------------------
104
-
105
- const SearchFieldSearchIcon = forwardRef<View, SearchFieldSearchIconProps>(
106
- (props, ref) => {
107
- const { children, className, iconProps, ...restProps } = props;
108
-
109
- const searchIconClassName = searchFieldClassNames.searchIcon({ className });
110
-
111
- return (
112
- <View
113
- ref={ref}
114
- className={searchIconClassName}
115
- pointerEvents="none"
116
- accessibilityElementsHidden
117
- importantForAccessibility="no-hide-descendants"
118
- {...restProps}
119
- >
120
- {children ?? (
121
- <SearchIcon size={iconProps?.size} color={iconProps?.color} />
122
- )}
123
- </View>
124
- );
125
- }
126
- );
127
-
128
- // --------------------------------------------------
129
-
130
- const SearchFieldInput = forwardRef<TextInputType, SearchFieldInputProps>(
131
- (props, ref) => {
132
- const {
133
- className,
134
- placeholder = 'Search...',
135
- returnKeyType = 'search',
136
- accessibilityRole = 'search',
137
- accessibilityLabel = 'Search',
138
- ...restProps
139
- } = props;
140
-
141
- const searchField = useSearchField();
142
-
143
- const inputClassName = searchFieldClassNames.input({ className });
144
-
145
- return (
146
- <Input
147
- ref={ref}
148
- className={inputClassName}
149
- value={searchField?.value}
150
- onChangeText={searchField?.onChange}
151
- placeholder={placeholder}
152
- returnKeyType={returnKeyType}
153
- accessibilityRole={accessibilityRole}
154
- accessibilityLabel={accessibilityLabel}
155
- {...restProps}
156
- />
157
- );
158
- }
159
- );
160
-
161
- // --------------------------------------------------
162
-
163
- const SearchFieldClearButton = forwardRef<View, SearchFieldClearButtonProps>(
164
- (props, ref) => {
165
- const { iconProps, className, children, onPress, ...restProps } = props;
166
-
167
- const searchField = useSearchField();
168
- const themeColorMuted = useThemeColor('muted');
169
-
170
- if (searchField?.value !== undefined && searchField.value.length === 0) {
171
- return null;
172
- }
173
-
174
- const handlePress = (event: GestureResponderEvent) => {
175
- searchField?.onChange?.('');
176
-
177
- if (typeof onPress === 'function') {
178
- onPress(event);
179
- }
180
- };
181
-
182
- const clearButtonClassName = searchFieldClassNames.clearButton({
183
- className,
184
- });
185
-
186
- return (
187
- <Button
188
- ref={ref}
189
- variant="tertiary"
190
- size="sm"
191
- isIconOnly
192
- className={clearButtonClassName}
193
- hitSlop={8}
194
- accessibilityRole="button"
195
- accessibilityLabel="Clear search"
196
- onPress={handlePress}
197
- {...restProps}
198
- >
199
- {children ?? (
200
- <CloseIcon
201
- size={iconProps?.size ?? 14}
202
- color={iconProps?.color ?? themeColorMuted}
203
- />
204
- )}
205
- </Button>
206
- );
207
- }
208
- );
209
-
210
- // --------------------------------------------------
211
-
212
- SearchFieldRoot.displayName = DISPLAY_NAME.SEARCH_FIELD;
213
- SearchFieldGroup.displayName = DISPLAY_NAME.SEARCH_FIELD_GROUP;
214
- SearchFieldSearchIcon.displayName = DISPLAY_NAME.SEARCH_FIELD_SEARCH_ICON;
215
- SearchFieldInput.displayName = DISPLAY_NAME.SEARCH_FIELD_INPUT;
216
- SearchFieldClearButton.displayName = DISPLAY_NAME.SEARCH_FIELD_CLEAR_BUTTON;
217
-
218
- /**
219
- * Compound SearchField component with sub-components.
220
- *
221
- * @component SearchField - Root container that accepts `value`, `onChange`,
222
- * `isDisabled`, `isInvalid`, and `isRequired`, providing them to children via
223
- * SearchFieldContext. Also provides FormFieldProvider and animation settings.
224
- *
225
- * @component SearchField.Group - Flex-row container for the search icon, input,
226
- * and clear button.
227
- *
228
- * @component SearchField.SearchIcon - Magnifying glass icon positioned
229
- * absolutely on the left.
230
- *
231
- * @component SearchField.Input - Wraps the Input component with search-specific
232
- * defaults: "Search..." placeholder, left padding for the search icon, and
233
- * search a11y role. Reads `value` / `onChangeText` from SearchFieldContext.
234
- *
235
- * @component SearchField.ClearButton - Small button that clears the search
236
- * input. Automatically hidden when value is empty. Calls `onChange("")` from
237
- * context on press.
238
- *
239
- * @see Full documentation: https://v3.heroui.com/docs/native/components/search-field
240
- */
241
- const CompoundSearchField = Object.assign(SearchFieldRoot, {
242
- /** Flex-row container for search icon, input, and clear button */
243
- Group: SearchFieldGroup,
244
- /** Magnifying glass search icon */
245
- SearchIcon: SearchFieldSearchIcon,
246
- /** Text input with search-specific defaults */
247
- Input: SearchFieldInput,
248
- /** Small clear button to dismiss search text */
249
- ClearButton: SearchFieldClearButton,
250
- });
251
-
252
- export { useSearchField };
253
- export default CompoundSearchField;
@@ -1,160 +0,0 @@
1
- import type { ViewProps } from 'react-native';
2
- import type { AnimationRootDisableAll } from '../../helpers/internal/types';
3
- import type { ButtonRootProps } from '../button/button.types';
4
- import type { InputProps } from '../input/input.types';
5
-
6
- /**
7
- * Context value provided by SearchField root to child components.
8
- * Carries the controlled value, onChange callback, and form-field
9
- * state so that Input and ClearButton can consume them.
10
- */
11
- export interface SearchFieldContextType {
12
- /** Current search text (undefined when uncontrolled) */
13
- value: string | undefined;
14
- /** Callback invoked when the search text changes */
15
- onChange: ((value: string) => void) | undefined;
16
- /** Whether the search field is disabled */
17
- isDisabled: boolean;
18
- /** Whether the search field is in an invalid state */
19
- isInvalid: boolean;
20
- /** Whether the search field is required */
21
- isRequired: boolean;
22
- }
23
-
24
- /**
25
- * Props for the SearchField root component
26
- */
27
- export interface SearchFieldProps extends ViewProps {
28
- /**
29
- * Children elements to be rendered inside the search field
30
- */
31
- children?: React.ReactNode;
32
-
33
- /**
34
- * Controlled search text value
35
- */
36
- value?: string;
37
-
38
- /**
39
- * Callback fired when the search text changes
40
- */
41
- onChange?: (value: string) => void;
42
-
43
- /**
44
- * Whether the search field is disabled
45
- * @default false
46
- */
47
- isDisabled?: boolean;
48
-
49
- /**
50
- * Whether the search field is in an invalid state
51
- * @default false
52
- */
53
- isInvalid?: boolean;
54
-
55
- /**
56
- * Whether the search field is required
57
- * @default false
58
- */
59
- isRequired?: boolean;
60
-
61
- /**
62
- * Additional CSS classes
63
- */
64
- className?: string;
65
-
66
- /**
67
- * Animation configuration for search field
68
- * - `"disable-all"`: Disable all animations including children (cascades down)
69
- * - `undefined`: Use default animations
70
- */
71
- animation?: AnimationRootDisableAll;
72
- }
73
-
74
- /**
75
- * Props for the SearchField.Group component
76
- */
77
- export interface SearchFieldGroupProps extends ViewProps {
78
- /**
79
- * Children elements to be rendered inside the group
80
- */
81
- children?: React.ReactNode;
82
-
83
- /**
84
- * Additional CSS classes
85
- */
86
- className?: string;
87
- }
88
-
89
- /**
90
- * Props for customizing the default search icon
91
- */
92
- export interface SearchFieldSearchIconIconProps {
93
- /**
94
- * Size of the search icon
95
- * @default 16
96
- */
97
- size?: number;
98
-
99
- /**
100
- * Color of the search icon
101
- * @default Uses theme muted color
102
- */
103
- color?: string;
104
- }
105
-
106
- /**
107
- * Props for the SearchField.SearchIcon component
108
- */
109
- export interface SearchFieldSearchIconProps extends ViewProps {
110
- /**
111
- * Custom content to replace the default search icon
112
- */
113
- children?: React.ReactNode;
114
-
115
- /**
116
- * Additional CSS classes
117
- */
118
- className?: string;
119
-
120
- /**
121
- * Props for customizing the default search icon (ignored when children are provided)
122
- */
123
- iconProps?: SearchFieldSearchIconIconProps;
124
- }
125
-
126
- /**
127
- * Props for the SearchField.Input component.
128
- * Extends InputProps with search-specific defaults (placeholder, a11y role).
129
- * Omits `value` and `onChangeText` because they are provided by SearchField
130
- * root through SearchFieldValueContext.
131
- */
132
- export interface SearchFieldInputProps
133
- extends Omit<InputProps, 'value' | 'onChangeText'> {}
134
-
135
- /**
136
- * Props for customizing the clear button icon
137
- */
138
- export interface SearchFieldClearButtonIconProps {
139
- /**
140
- * Size of the icon
141
- * @default 14
142
- */
143
- size?: number;
144
-
145
- /**
146
- * Color of the icon
147
- * @default Uses theme muted color
148
- */
149
- color?: string;
150
- }
151
-
152
- /**
153
- * Props for the SearchField.ClearButton component
154
- */
155
- export type SearchFieldClearButtonProps = ButtonRootProps & {
156
- /**
157
- * Props for customizing the clear button icon
158
- */
159
- iconProps?: SearchFieldClearButtonIconProps;
160
- };