@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,93 +0,0 @@
1
- /**
2
- * Clamps a number between min and max bounds
3
- * @param value - The value to clamp
4
- * @param min - Minimum bound
5
- * @param max - Maximum bound
6
- * @returns The clamped value
7
- */
8
- export function clamp(value: number, min: number, max: number): number {
9
- 'worklet';
10
- return Math.min(Math.max(value, min), max);
11
- }
12
-
13
- /**
14
- * Snaps a value to the nearest step increment
15
- * @param value - The raw value
16
- * @param min - Minimum value of the range
17
- * @param max - Maximum value of the range
18
- * @param step - Step increment
19
- * @returns The snapped value
20
- */
21
- export function snapToStep(
22
- value: number,
23
- min: number,
24
- max: number,
25
- step: number
26
- ): number {
27
- 'worklet';
28
- const snapped = Math.round((value - min) / step) * step + min;
29
- return clamp(snapped, min, max);
30
- }
31
-
32
- /**
33
- * Converts a slider value to a ratio (0 to 1)
34
- * @param value - The slider value
35
- * @param min - Minimum slider value
36
- * @param max - Maximum slider value
37
- * @returns The ratio (0 to 1)
38
- */
39
- export function valueToPercent(
40
- value: number,
41
- min: number,
42
- max: number
43
- ): number {
44
- 'worklet';
45
- if (max === min) {
46
- return 0;
47
- }
48
- return (value - min) / (max - min);
49
- }
50
-
51
- /**
52
- * Formats a slider value using Intl.NumberFormat.
53
- * Values are passed directly to the formatter — consumers are responsible
54
- * for providing values in the scale the formatter expects (e.g. 0–1 for
55
- * `style: 'percent'`).
56
- * @param value - The numeric value
57
- * @param formatOptions - Intl.NumberFormat options
58
- * @returns The formatted string
59
- */
60
- export function formatValue(
61
- value: number,
62
- formatOptions?: Intl.NumberFormatOptions
63
- ): string {
64
- if (formatOptions) {
65
- return new Intl.NumberFormat(undefined, formatOptions).format(value);
66
- }
67
- return String(value);
68
- }
69
-
70
- /**
71
- * Normalizes a SliderValue to always be an array of numbers
72
- * @param value - Single number or array
73
- * @returns Array of numbers
74
- */
75
- export function normalizeValue(value: number | number[]): number[] {
76
- return Array.isArray(value) ? value : [value];
77
- }
78
-
79
- /**
80
- * Denormalizes an array back to a SliderValue
81
- * @param values - Array of numbers
82
- * @param wasArray - Whether the original value was an array
83
- * @returns Single number or array
84
- */
85
- export function denormalizeValue(
86
- values: number[],
87
- wasArray: boolean
88
- ): number | number[] {
89
- if (wasArray) {
90
- return values;
91
- }
92
- return values[0] ?? 0;
93
- }
@@ -1 +0,0 @@
1
- export * from './slot';
@@ -1,122 +0,0 @@
1
- /* eslint-disable react-hooks/refs */
2
- import {
3
- cloneElement,
4
- forwardRef,
5
- isValidElement,
6
- type ComponentPropsWithoutRef,
7
- type ComponentRef,
8
- } from 'react';
9
- import {
10
- Image as RNImage,
11
- Pressable as RNPressable,
12
- Text as RNText,
13
- View as RNView,
14
- type PressableProps as RNPressableProps,
15
- type TextProps as RNTextProps,
16
- type ViewProps as RNViewProps,
17
- } from 'react-native';
18
- import type { AnyProps, ImageSlotProps } from './types';
19
- import { composeRefs, isTextChildren, mergeProps } from './utils';
20
-
21
- // --------------------------------------------------
22
-
23
- const Pressable = forwardRef<
24
- React.ComponentRef<typeof RNPressable>,
25
- RNPressableProps
26
- >((props, forwardedRef) => {
27
- const { children, ...pressableSlotProps } = props;
28
-
29
- if (!isValidElement(children)) {
30
- console.log('Slot.Pressable - Invalid asChild element', children);
31
- return null;
32
- }
33
-
34
- return cloneElement<
35
- React.ComponentPropsWithoutRef<typeof RNPressable>,
36
- React.ComponentRef<typeof RNPressable>
37
- >(isTextChildren(children) ? <></> : children, {
38
- ...mergeProps(pressableSlotProps, children.props as AnyProps),
39
- ref: forwardedRef
40
- ? composeRefs(forwardedRef, (children as any).ref)
41
- : (children as any).ref,
42
- });
43
- });
44
-
45
- Pressable.displayName = 'HeroUINative.Primitive.Slot.Pressable';
46
-
47
- // --------------------------------------------------
48
-
49
- const View = forwardRef<React.ComponentRef<typeof RNView>, RNViewProps>(
50
- (props, forwardedRef) => {
51
- const { children, ...viewSlotProps } = props;
52
-
53
- if (!isValidElement(children)) {
54
- console.log('Slot.View - Invalid asChild element', children);
55
- return null;
56
- }
57
-
58
- return cloneElement<
59
- ComponentPropsWithoutRef<typeof RNView>,
60
- ComponentRef<typeof RNView>
61
- >(isTextChildren(children) ? <></> : children, {
62
- ...mergeProps(viewSlotProps, children.props as AnyProps),
63
- ref: forwardedRef
64
- ? composeRefs(forwardedRef, (children as any).ref)
65
- : (children as any).ref,
66
- });
67
- }
68
- );
69
-
70
- View.displayName = 'HeroUINative.Primitive.Slot.View';
71
-
72
- // --------------------------------------------------
73
-
74
- const Text = forwardRef<ComponentRef<typeof RNText>, RNTextProps>(
75
- (props, forwardedRef) => {
76
- const { children, ...textSlotProps } = props;
77
-
78
- if (!isValidElement(children)) {
79
- console.log('Slot.Text - Invalid asChild element', children);
80
- return null;
81
- }
82
-
83
- return cloneElement<
84
- React.ComponentPropsWithoutRef<typeof RNText>,
85
- React.ComponentRef<typeof RNText>
86
- >(isTextChildren(children) ? <></> : children, {
87
- ...mergeProps(textSlotProps, children.props as AnyProps),
88
- ref: forwardedRef
89
- ? composeRefs(forwardedRef, (children as any).ref)
90
- : (children as any).ref,
91
- });
92
- }
93
- );
94
-
95
- Text.displayName = 'HeroUINative.Primitive.Slot.Text';
96
-
97
- // --------------------------------------------------
98
-
99
- const Image = forwardRef<ComponentRef<typeof RNImage>, ImageSlotProps>(
100
- (props, forwardedRef) => {
101
- const { children, ...imageSlotProps } = props;
102
-
103
- if (!isValidElement(children)) {
104
- console.log('Slot.Image - Invalid asChild element', children);
105
- return null;
106
- }
107
-
108
- return cloneElement<
109
- ComponentPropsWithoutRef<typeof RNImage>,
110
- ComponentRef<typeof RNImage>
111
- >(isTextChildren(children) ? <></> : children, {
112
- ...mergeProps(imageSlotProps, children.props as AnyProps),
113
- ref: forwardedRef
114
- ? composeRefs(forwardedRef, (children as any).ref)
115
- : (children as any).ref,
116
- });
117
- }
118
- );
119
-
120
- Image.displayName = 'HeroUINative.Primitive.Slot.Image';
121
-
122
- export { Image, Pressable, Text, View };
@@ -1,19 +0,0 @@
1
- import * as React from 'react';
2
- import {
3
- type ImageProps as RNImageProps,
4
- type ImageStyle as RNImageStyle,
5
- type PressableProps as RNPressableProps,
6
- type StyleProp,
7
- } from 'react-native';
8
-
9
- type AnyProps = Record<string, any>;
10
-
11
- type ImageSlotProps = RNImageProps & {
12
- children?: React.ReactNode;
13
- };
14
-
15
- type PressableStyle = RNPressableProps['style'];
16
- type ImageStyle = StyleProp<RNImageStyle>;
17
- type Style = PressableStyle | ImageStyle;
18
-
19
- export type { AnyProps, ImageSlotProps, ImageStyle, PressableStyle, Style };
@@ -1,96 +0,0 @@
1
- import { type PressableStateCallbackType } from 'react-native';
2
- import type { AnyProps, Style } from './types';
3
-
4
- // --------------------------------------------------
5
-
6
- export function isTextChildren(
7
- children:
8
- | React.ReactNode
9
- | ((state: PressableStateCallbackType) => React.ReactNode)
10
- ) {
11
- return Array.isArray(children)
12
- ? children.every((child) => typeof child === 'string')
13
- : typeof children === 'string';
14
- }
15
-
16
- // --------------------------------------------------
17
-
18
- export function composeRefs<T>(...refs: (React.Ref<T> | undefined)[]) {
19
- return (node: T) =>
20
- refs.forEach((ref) => {
21
- if (typeof ref === 'function') {
22
- ref(node);
23
- } else if (ref != null) {
24
- (ref as React.MutableRefObject<T>).current = node;
25
- }
26
- });
27
- }
28
-
29
- // --------------------------------------------------
30
-
31
- export function mergeProps(slotProps: AnyProps, childProps: AnyProps) {
32
- // all child props should override
33
- const overrideProps = { ...childProps };
34
-
35
- for (const propName in childProps) {
36
- const slotPropValue = slotProps[propName];
37
- const childPropValue = childProps[propName];
38
-
39
- const isHandler = /^on[A-Z]/.test(propName);
40
- if (isHandler) {
41
- // if the handler exists on both, we compose them
42
- if (slotPropValue && childPropValue) {
43
- overrideProps[propName] = (...args: unknown[]) => {
44
- childPropValue(...args);
45
- slotPropValue(...args);
46
- };
47
- }
48
- // but if it exists only on the slot, we use only this one
49
- else if (slotPropValue) {
50
- overrideProps[propName] = slotPropValue;
51
- }
52
- }
53
- // if it's `style`, we merge them
54
- else if (propName === 'style') {
55
- overrideProps[propName] = combineStyles(slotPropValue, childPropValue);
56
- } else if (propName === 'className') {
57
- overrideProps[propName] = [slotPropValue, childPropValue]
58
- .filter(Boolean)
59
- .join(' ');
60
- }
61
- }
62
-
63
- return { ...slotProps, ...overrideProps };
64
- }
65
-
66
- // --------------------------------------------------
67
-
68
- /**
69
- * Combines slot and child styles into a style array.
70
- *
71
- * Returns a style array instead of flattening via StyleSheet.flatten,
72
- * because flatten deep-copies style objects into plain objects, which
73
- * destroys Reanimated animated style bindings (useAnimatedStyle / SharedValues).
74
- * React Native natively handles nested style arrays, so an array is safe here.
75
- */
76
- function combineStyles(slotStyle?: Style, childValue?: Style) {
77
- if (typeof slotStyle === 'function' && typeof childValue === 'function') {
78
- return (state: PressableStateCallbackType) => {
79
- return [slotStyle(state), childValue(state)];
80
- };
81
- }
82
- if (typeof slotStyle === 'function') {
83
- return (state: PressableStateCallbackType) => {
84
- return childValue ? [slotStyle(state), childValue] : slotStyle(state);
85
- };
86
- }
87
- if (typeof childValue === 'function') {
88
- return (state: PressableStateCallbackType) => {
89
- return slotStyle ? [slotStyle, childValue(state)] : childValue(state);
90
- };
91
- }
92
-
93
- if (!slotStyle) return childValue;
94
- if (!childValue) return slotStyle;
95
- return [slotStyle, childValue];
96
- }
@@ -1,2 +0,0 @@
1
- export * from './switch';
2
- export * from './switch.types';
@@ -1,61 +0,0 @@
1
- import { forwardRef } from 'react';
2
- import { Pressable, View, type GestureResponderEvent } from 'react-native';
3
- import * as Slot from '../slot';
4
- import type { RootProps, RootRef, ThumbProps, ThumbRef } from './switch.types';
5
-
6
- // --------------------------------------------------
7
-
8
- const Root = forwardRef<RootRef, RootProps>(
9
- (
10
- {
11
- asChild,
12
- isSelected,
13
- onSelectedChange,
14
- isDisabled,
15
- 'onPress': onPressProp,
16
- 'aria-valuetext': ariaValueText,
17
- ...props
18
- },
19
- ref
20
- ) => {
21
- function onPress(ev: GestureResponderEvent) {
22
- if (isDisabled) return;
23
- const newValue = !isSelected;
24
- onSelectedChange?.(newValue);
25
- onPressProp?.(ev);
26
- }
27
-
28
- const Component = asChild ? Slot.Pressable : Pressable;
29
-
30
- return (
31
- <Component
32
- ref={ref}
33
- aria-disabled={isDisabled}
34
- role="switch"
35
- aria-checked={isSelected}
36
- aria-valuetext={(ariaValueText ?? isSelected) ? 'on' : 'off'}
37
- onPress={onPress}
38
- accessibilityState={{
39
- checked: isSelected,
40
- disabled: isDisabled,
41
- }}
42
- disabled={isDisabled}
43
- {...props}
44
- />
45
- );
46
- }
47
- );
48
-
49
- Root.displayName = 'HeroUINative.Primitive.Switch.Root';
50
-
51
- // --------------------------------------------------
52
-
53
- const Thumb = forwardRef<ThumbRef, ThumbProps>(({ asChild, ...props }, ref) => {
54
- const Component = asChild ? Slot.View : View;
55
-
56
- return <Component ref={ref} role="presentation" {...props} />;
57
- });
58
-
59
- Thumb.displayName = 'HeroUINative.Primitive.Switch.Thumb';
60
-
61
- export { Root, Thumb };
@@ -1,55 +0,0 @@
1
- import type {
2
- PressableRef,
3
- SlottablePressableProps,
4
- SlottableViewProps,
5
- ViewRef,
6
- } from '../../helpers/internal/types';
7
-
8
- /**
9
- * Props for the primitive Root Switch component
10
- * Extends SlottablePressableProps to support slot-based styling and pressable behavior
11
- */
12
- interface RootProps extends Omit<SlottablePressableProps, 'disabled'> {
13
- /**
14
- * Whether the switch is currently selected/checked
15
- * @type {boolean}
16
- */
17
- isSelected?: boolean;
18
-
19
- /**
20
- * Callback function fired when the switch selection state changes
21
- * @param {boolean} isSelected - The new selection state
22
- * @type {(isSelected: boolean) => void}
23
- */
24
- onSelectedChange?: (isSelected: boolean) => void;
25
-
26
- /**
27
- * Whether the switch is disabled and cannot be interacted with
28
- * @type {boolean | undefined}
29
- * @default false
30
- */
31
- isDisabled?: boolean;
32
- }
33
-
34
- /**
35
- * Props for the primitive Switch Thumb component
36
- * Extends SlottableViewProps to support slot-based styling for the thumb element
37
- * @type {SlottableViewProps}
38
- */
39
- type ThumbProps = SlottableViewProps;
40
-
41
- /**
42
- * Ref type for the primitive Root Switch component
43
- * Uses PressableRef since the root element is a Pressable component
44
- * @type {PressableRef}
45
- */
46
- type RootRef = PressableRef;
47
-
48
- /**
49
- * Ref type for the primitive Switch Thumb component
50
- * Uses ViewRef since the thumb element is a View component
51
- * @type {ViewRef}
52
- */
53
- type ThumbRef = ViewRef;
54
-
55
- export type { RootProps, RootRef, ThumbProps, ThumbRef };
@@ -1,2 +0,0 @@
1
- export * from './tabs';
2
- export * from './tabs.types';
@@ -1,202 +0,0 @@
1
- import { createContext, forwardRef, useContext, useId } from 'react';
2
- import {
3
- Pressable,
4
- Text,
5
- View,
6
- type GestureResponderEvent,
7
- } from 'react-native';
8
- import * as Slot from '../slot';
9
- import type {
10
- ContentProps,
11
- ContentRef,
12
- IndicatorProps,
13
- IndicatorRef,
14
- LabelProps,
15
- LabelRef,
16
- ListProps,
17
- ListRef,
18
- RootProps,
19
- RootRef,
20
- TriggerProps,
21
- TriggerRef,
22
- } from './tabs.types';
23
-
24
- type RootContext = RootProps & {
25
- nativeID: string;
26
- };
27
-
28
- const TabsContext = createContext<RootContext | null>(null);
29
-
30
- const Root = forwardRef<RootRef, RootProps>(
31
- ({ asChild, value, onValueChange, ...viewProps }, ref) => {
32
- const nativeID = useId();
33
- const Component = asChild ? Slot.View : View;
34
-
35
- return (
36
- <TabsContext.Provider
37
- value={{
38
- value,
39
- onValueChange,
40
- nativeID,
41
- }}
42
- >
43
- <Component ref={ref} {...viewProps} />
44
- </TabsContext.Provider>
45
- );
46
- }
47
- );
48
-
49
- Root.displayName = 'HeroUINative.Primitive.Tabs.Root';
50
-
51
- function useRootContext() {
52
- const context = useContext(TabsContext);
53
-
54
- if (!context) {
55
- throw new Error(
56
- 'Tabs compound components cannot be rendered outside the Tabs component'
57
- );
58
- }
59
-
60
- return context;
61
- }
62
-
63
- // --------------------------------------------------
64
-
65
- const List = forwardRef<ListRef, ListProps>(({ asChild, ...props }, ref) => {
66
- const Component = asChild ? Slot.View : View;
67
- return <Component ref={ref} role="tablist" {...props} />;
68
- });
69
-
70
- List.displayName = 'HeroUINative.Primitive.Tabs.List';
71
-
72
- // --------------------------------------------------
73
-
74
- const Indicator = forwardRef<IndicatorRef, IndicatorProps>(
75
- ({ asChild, ...props }, ref) => {
76
- const Component = asChild ? Slot.View : View;
77
- return (
78
- <Component ref={ref} role="presentation" aria-hidden={true} {...props} />
79
- );
80
- }
81
- );
82
-
83
- Indicator.displayName = 'HeroUINative.Primitive.Tabs.Indicator';
84
-
85
- // --------------------------------------------------
86
-
87
- type TriggerContext = {
88
- value: string;
89
- nativeID: string;
90
- isSelected: boolean;
91
- };
92
-
93
- const TriggerContext = createContext<TriggerContext | null>(null);
94
-
95
- const Trigger = forwardRef<TriggerRef, TriggerProps>(
96
- (
97
- { asChild, onPress: onPressProp, disabled, value: tabValue, ...props },
98
- ref
99
- ) => {
100
- const { onValueChange, value: rootValue, nativeID } = useRootContext();
101
-
102
- function onPress(ev: GestureResponderEvent) {
103
- if (disabled) return;
104
- onValueChange(tabValue);
105
- onPressProp?.(ev);
106
- }
107
-
108
- const Component = asChild ? Slot.Pressable : Pressable;
109
- const tabNativeID = `${nativeID}-tab-${tabValue}`;
110
- const isSelected = rootValue === tabValue;
111
-
112
- return (
113
- <TriggerContext.Provider
114
- value={{ value: tabValue, nativeID: tabNativeID, isSelected }}
115
- >
116
- <Component
117
- ref={ref}
118
- nativeID={tabNativeID}
119
- aria-disabled={!!disabled}
120
- aria-selected={isSelected}
121
- role="tab"
122
- onPress={onPress}
123
- accessibilityState={{
124
- selected: isSelected,
125
- disabled: !!disabled,
126
- }}
127
- disabled={!!disabled}
128
- {...props}
129
- />
130
- </TriggerContext.Provider>
131
- );
132
- }
133
- );
134
-
135
- Trigger.displayName = 'HeroUINative.Primitive.Tabs.Trigger';
136
-
137
- function useTriggerContext() {
138
- const context = useContext(TriggerContext);
139
-
140
- if (!context) {
141
- throw new Error(
142
- 'Tabs.Trigger compound components cannot be rendered outside the Tabs.Trigger component'
143
- );
144
- }
145
-
146
- return context;
147
- }
148
-
149
- // --------------------------------------------------
150
-
151
- const Label = forwardRef<LabelRef, LabelProps>(({ asChild, ...props }, ref) => {
152
- const { nativeID } = useTriggerContext();
153
- const Component = asChild ? Slot.Text : Text;
154
- return (
155
- <Component
156
- ref={ref}
157
- nativeID={`${nativeID}-label`}
158
- aria-labelledby={nativeID}
159
- {...props}
160
- />
161
- );
162
- });
163
-
164
- Label.displayName = 'HeroUINative.Primitive.Tabs.Label';
165
-
166
- // --------------------------------------------------
167
-
168
- const Content = forwardRef<ContentRef, ContentProps>(
169
- ({ asChild, forceMount, value: tabValue, ...props }, ref) => {
170
- const { value: rootValue, nativeID } = useRootContext();
171
-
172
- if (!forceMount) {
173
- if (rootValue !== tabValue) {
174
- return null;
175
- }
176
- }
177
-
178
- const Component = asChild ? Slot.View : View;
179
- return (
180
- <Component
181
- ref={ref}
182
- aria-hidden={!(forceMount || rootValue === tabValue)}
183
- aria-labelledby={`${nativeID}-tab-${tabValue}`}
184
- role="tabpanel"
185
- {...props}
186
- />
187
- );
188
- }
189
- );
190
-
191
- Content.displayName = 'HeroUINative.Primitive.Tabs.Content';
192
-
193
- export {
194
- Content,
195
- Indicator,
196
- Label,
197
- List,
198
- Root,
199
- Trigger,
200
- useRootContext,
201
- useTriggerContext,
202
- };