@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,67 +0,0 @@
1
- import type { SharedValue } from 'react-native-reanimated';
2
- import {
3
- Extrapolation,
4
- interpolate,
5
- useAnimatedReaction,
6
- useSharedValue,
7
- } from 'react-native-reanimated';
8
-
9
- /**
10
- * Props for usePopupBottomSheetContentAnimation hook
11
- */
12
- export interface UsePopupBottomSheetContentAnimationProps {
13
- /**
14
- * Animation progress shared value (0=idle, 1=open, 2=close)
15
- */
16
- progress: SharedValue<number>;
17
- /**
18
- * Dragging state shared value
19
- */
20
- isDragging: SharedValue<boolean>;
21
- }
22
-
23
- /**
24
- * Animation hook for popup bottom sheet content components (Popover, Select bottom sheet presentation)
25
- * Handles synchronization between BottomSheet animatedIndex and popup progress state
26
- */
27
- export function usePopupBottomSheetContentAnimation({
28
- progress,
29
- isDragging,
30
- }: UsePopupBottomSheetContentAnimationProps) {
31
- const animatedIndex = useSharedValue(-1);
32
- const isPanActivated = useSharedValue(false);
33
- const isClosingOnSwipe = useSharedValue(false);
34
-
35
- useAnimatedReaction(
36
- () => isDragging.get(),
37
- (current, previous) => {
38
- if (current && !previous) {
39
- isClosingOnSwipe.set(false);
40
- }
41
- if (!isPanActivated.get() && current) {
42
- isPanActivated.set(true);
43
- }
44
- }
45
- );
46
-
47
- useAnimatedReaction(
48
- () => animatedIndex.get(),
49
- (current) => {
50
- if (!isPanActivated.get()) {
51
- progress.set(
52
- interpolate(current, [-1, 0], [0, 1], Extrapolation.CLAMP)
53
- );
54
- } else {
55
- progress.set(
56
- interpolate(current, [0, -1], [1, 2], Extrapolation.CLAMP)
57
- );
58
- }
59
- }
60
- );
61
-
62
- return {
63
- animatedIndex,
64
- isPanActivated,
65
- isClosingOnSwipe,
66
- };
67
- }
@@ -1,296 +0,0 @@
1
- import { useEffect, useMemo } from 'react';
2
- import { Keyboard, useWindowDimensions } from 'react-native';
3
- import { Gesture } from 'react-native-gesture-handler';
4
- import type { SharedValue } from 'react-native-reanimated';
5
- import {
6
- Easing,
7
- Extrapolation,
8
- interpolate,
9
- Keyframe,
10
- useAnimatedStyle,
11
- useDerivedValue,
12
- useSharedValue,
13
- withSpring,
14
- type EntryOrExitLayoutType,
15
- } from 'react-native-reanimated';
16
- import { scheduleOnRN } from 'react-native-worklets';
17
- import { useAnimationSettings } from '../contexts/animation-settings-context';
18
- import type { PopupDialogContentAnimation } from '../types/animation';
19
- import {
20
- getAnimationState,
21
- getIsAnimationDisabledValue,
22
- } from '../utils/animation';
23
-
24
- export interface UsePopupDialogContentAnimationProps {
25
- /**
26
- * Whether the dialog is open
27
- */
28
- isOpen: boolean;
29
- /**
30
- * Progress shared value (0 = closed, 1 = open, 2 = closing)
31
- */
32
- progress: SharedValue<number>;
33
- /**
34
- * Whether user is currently dragging
35
- */
36
- isDragging: SharedValue<boolean>;
37
- /**
38
- * Gesture release animation running state shared value
39
- */
40
- isGestureReleaseAnimationRunning: SharedValue<boolean>;
41
- /**
42
- * Callback when dialog open state changes
43
- */
44
- onOpenChange: (open: boolean) => void;
45
- /**
46
- * Animation configuration for content
47
- */
48
- animation?: PopupDialogContentAnimation;
49
- /**
50
- * Whether the dialog content can be swiped to dismiss
51
- * @default true
52
- */
53
- isSwipeable?: boolean;
54
- }
55
-
56
- /**
57
- * Default entering animation for dialog content
58
- * Dialog content animates with scale and opacity transitions
59
- */
60
- const DEFAULT_ENTERING_ANIMATION: EntryOrExitLayoutType = new Keyframe({
61
- 0: {
62
- transform: [{ scale: 0.96 }],
63
- opacity: 0,
64
- },
65
- 100: {
66
- transform: [{ scale: 1 }],
67
- opacity: 1,
68
- easing: Easing.out(Easing.ease),
69
- },
70
- }).duration(200);
71
-
72
- /**
73
- * Default exiting animation for dialog content
74
- * Mirrors the entering animation - content exits with fade out and scale down
75
- */
76
- const DEFAULT_EXITING_ANIMATION: EntryOrExitLayoutType = new Keyframe({
77
- 0: {
78
- transform: [{ scale: 1 }],
79
- opacity: 1,
80
- },
81
- 100: {
82
- transform: [{ scale: 0.96 }],
83
- opacity: 0,
84
- easing: Easing.in(Easing.ease),
85
- },
86
- }).duration(150);
87
-
88
- export const usePopupDialogContentAnimation = ({
89
- isOpen,
90
- progress,
91
- isDragging,
92
- isGestureReleaseAnimationRunning,
93
- onOpenChange,
94
- animation,
95
- isSwipeable = true,
96
- }: UsePopupDialogContentAnimationProps) => {
97
- const { height: screenHeight } = useWindowDimensions();
98
-
99
- const { isAllAnimationsDisabled } = useAnimationSettings();
100
-
101
- const { animationConfig, isAnimationDisabled } = getAnimationState(animation);
102
-
103
- const isAnimationDisabledValue = getIsAnimationDisabledValue({
104
- isAnimationDisabled,
105
- isAllAnimationsDisabled,
106
- });
107
-
108
- // Get entering animation value with default Keyframe animation
109
- const enteringValue = animationConfig?.entering ?? DEFAULT_ENTERING_ANIMATION;
110
-
111
- // Get exiting animation value with default Keyframe animation
112
- const exitingValue = animationConfig?.exiting ?? DEFAULT_EXITING_ANIMATION;
113
-
114
- const contentY = useSharedValue(0);
115
- const contentHeight = useSharedValue(0);
116
- const progressAnchor = useSharedValue(1);
117
- const contentTranslateYAnchor = useSharedValue(0);
118
- const contentScaleAnchor = useSharedValue(1);
119
- const gestureTranslationY = useSharedValue(0);
120
-
121
- useEffect(() => {
122
- if (isOpen) {
123
- progress.set(1);
124
- }
125
- }, [isOpen, progress]);
126
-
127
- const dismissKeyboard = () => {
128
- Keyboard.dismiss();
129
- };
130
-
131
- const contentTranslateY = useDerivedValue(() => {
132
- const maxDragDistance = screenHeight - contentY.get();
133
-
134
- if (progress.get() >= 1) {
135
- return interpolate(
136
- progress.get(),
137
- [1, 2],
138
- [0, maxDragDistance],
139
- Extrapolation.CLAMP
140
- );
141
- }
142
-
143
- const absoluteGestureTranslationY = Math.abs(gestureTranslationY.get());
144
-
145
- return interpolate(
146
- absoluteGestureTranslationY,
147
- [0, screenHeight],
148
- [0, -50],
149
- Extrapolation.CLAMP
150
- );
151
- });
152
-
153
- const contentScale = useDerivedValue(() => {
154
- return interpolate(progress.get(), [1, 2], [1, 0.95], Extrapolation.CLAMP);
155
- });
156
-
157
- const panGesture = useMemo(
158
- () =>
159
- Gesture.Pan()
160
- .enabled(isSwipeable && isOpen && !isAnimationDisabledValue)
161
- .onStart(() => isDragging.set(true))
162
- .onUpdate((event) => {
163
- if (!isDragging.get()) return;
164
-
165
- const maxDragDistance = screenHeight - contentY.get();
166
-
167
- gestureTranslationY.set(event.translationY);
168
-
169
- if (event.translationY > 0) {
170
- const progressValue = 1 + event.translationY / maxDragDistance;
171
- progress.set(Math.max(1, Math.min(progressValue, 2)));
172
- } else if (event.translationY < 0) {
173
- const progressValue =
174
- 1 - Math.abs(event.translationY) / contentY.get();
175
- progress.set(Math.max(0, Math.min(progressValue, 1)));
176
- }
177
- })
178
- .onFinalize(() => {
179
- progressAnchor.set(progress.get());
180
- contentTranslateYAnchor.set(contentTranslateY.get());
181
- contentScaleAnchor.set(contentScale.get());
182
-
183
- if (progress.get() > 1.1) {
184
- isGestureReleaseAnimationRunning.set(true);
185
- scheduleOnRN(dismissKeyboard);
186
- progress.set(
187
- withSpring(
188
- 2,
189
- {
190
- mass: 4,
191
- damping: 120,
192
- stiffness: 900,
193
- overshootClamping: false,
194
- },
195
- () => {
196
- isGestureReleaseAnimationRunning.set(false);
197
- }
198
- )
199
- );
200
- isDragging.set(false);
201
- setTimeout(() => {
202
- progress.set(2);
203
- scheduleOnRN(onOpenChange, false);
204
- }, 300);
205
- setTimeout(() => {
206
- progress.set(0);
207
- }, 350);
208
- } else {
209
- isGestureReleaseAnimationRunning.set(true);
210
- progress.set(
211
- withSpring(1, {}, () => {
212
- isGestureReleaseAnimationRunning.set(false);
213
- })
214
- );
215
- isDragging.set(false);
216
- }
217
- }),
218
- [
219
- contentScale,
220
- contentScaleAnchor,
221
- contentTranslateY,
222
- contentTranslateYAnchor,
223
- contentY,
224
- isOpen,
225
- isDragging,
226
- isGestureReleaseAnimationRunning,
227
- isSwipeable,
228
- onOpenChange,
229
- progress,
230
- progressAnchor,
231
- screenHeight,
232
- isAnimationDisabledValue,
233
- gestureTranslationY,
234
- ]
235
- );
236
-
237
- const rDragContainerStyle = useAnimatedStyle(() => {
238
- if (isGestureReleaseAnimationRunning.get()) {
239
- return {
240
- opacity: interpolate(
241
- progress.get(),
242
- [1, progressAnchor.get(), 1.5, 1.75],
243
- [1, 1, 1, 0]
244
- ),
245
- transform: [
246
- {
247
- translateY: interpolate(
248
- progress.get(),
249
- [
250
- progressAnchor.get(),
251
- 1,
252
- progressAnchor.get(),
253
- progressAnchor.get() + 0.1,
254
- 2,
255
- ],
256
- [
257
- contentTranslateYAnchor.get(),
258
- 0,
259
- contentTranslateYAnchor.get(),
260
- contentTranslateYAnchor.get() + 50,
261
- contentTranslateYAnchor.get() - 150,
262
- ]
263
- ),
264
- },
265
- {
266
- scale: interpolate(
267
- progress.get(),
268
- [progressAnchor.get(), 1, progressAnchor.get(), 2],
269
- [contentScaleAnchor.get(), 1, contentScaleAnchor.get(), 0.75]
270
- ),
271
- },
272
- ],
273
- };
274
- }
275
-
276
- return {
277
- transform: [
278
- {
279
- translateY: contentTranslateY.get(),
280
- },
281
- {
282
- scale: contentScale.get(),
283
- },
284
- ],
285
- };
286
- });
287
-
288
- return {
289
- contentY,
290
- contentHeight,
291
- panGesture,
292
- rDragContainerStyle,
293
- entering: isAnimationDisabledValue ? undefined : enteringValue,
294
- exiting: isAnimationDisabledValue ? undefined : exitingValue,
295
- };
296
- };
@@ -1,91 +0,0 @@
1
- import type { SharedValue } from 'react-native-reanimated';
2
- import {
3
- FadeIn,
4
- FadeOut,
5
- interpolate,
6
- useAnimatedStyle,
7
- } from 'react-native-reanimated';
8
- import { useAnimationSettings } from '../contexts/animation-settings-context';
9
- import type { PopupOverlayAnimation } from '../types/animation';
10
- import {
11
- getAnimationState,
12
- getAnimationValueProperty,
13
- getIsAnimationDisabledValue,
14
- } from '../utils/animation';
15
-
16
- /**
17
- * Animation hook for popup overlay components (Dialog, Select, BottomSheet, Popover, etc.)
18
- * Handles both progress-based opacity animation and entering/exiting animations
19
- */
20
- export function usePopupOverlayAnimation(options: {
21
- /** Animation progress shared value (0=idle, 1=open, 2=close) */
22
- progress?: SharedValue<number>;
23
- /** Dragging state shared value */
24
- isDragging?: SharedValue<boolean>;
25
- /** Gesture release animation running state shared value (optional, for components with swipe gestures) */
26
- isGestureReleaseAnimationRunning?: SharedValue<boolean>;
27
- /** Animation configuration for overlay */
28
- animation?: PopupOverlayAnimation;
29
- }) {
30
- const { progress, isDragging, isGestureReleaseAnimationRunning, animation } =
31
- options;
32
-
33
- const { isAllAnimationsDisabled } = useAnimationSettings();
34
-
35
- const { animationConfig, isAnimationDisabled } = getAnimationState(animation);
36
-
37
- const isAnimationDisabledValue = getIsAnimationDisabledValue({
38
- isAnimationDisabled,
39
- isAllAnimationsDisabled,
40
- });
41
-
42
- // Opacity animation (progress-based, for bottom-sheet/dialog)
43
- const opacityValue = getAnimationValueProperty({
44
- animationValue: animationConfig?.opacity,
45
- property: 'value',
46
- defaultValue: [0, 1, 0] as [number, number, number],
47
- });
48
-
49
- const rContainerStyle = useAnimatedStyle(() => {
50
- if (progress?.get() === undefined) {
51
- return {};
52
- }
53
-
54
- if (isAnimationDisabledValue) {
55
- return {
56
- opacity: progress.get() > 0 ? 1 : 0,
57
- };
58
- }
59
-
60
- if (
61
- (isDragging?.get() || isGestureReleaseAnimationRunning?.get()) &&
62
- progress.get() <= 1
63
- ) {
64
- return {
65
- opacity: 1,
66
- };
67
- }
68
-
69
- return {
70
- opacity: interpolate(progress.get(), [0, 1, 2], opacityValue),
71
- };
72
- });
73
-
74
- // Entering/exiting animations (for popover presentation)
75
- const enteringValue =
76
- animationConfig?.entering ??
77
- (isAnimationDisabledValue ? undefined : FadeIn.duration(200));
78
-
79
- const exitingValue =
80
- animationConfig?.exiting ??
81
- (isAnimationDisabledValue ? undefined : FadeOut.duration(150));
82
-
83
- return {
84
- /** Progress-based animated style (for bottom-sheet/dialog) */
85
- rContainerStyle,
86
- /** Entering animation (for popover presentation) */
87
- entering: isAnimationDisabledValue ? undefined : enteringValue,
88
- /** Exiting animation (for popover presentation) */
89
- exiting: isAnimationDisabledValue ? undefined : exitingValue,
90
- };
91
- }
@@ -1,199 +0,0 @@
1
- import {
2
- Easing,
3
- Keyframe,
4
- type EntryOrExitLayoutType,
5
- } from 'react-native-reanimated';
6
- import { useAnimationSettings } from '../contexts/animation-settings-context';
7
- import type { PopupPopoverContentAnimation } from '../types/animation';
8
- import {
9
- getAnimationState,
10
- getIsAnimationDisabledValue,
11
- } from '../utils/animation';
12
-
13
- /**
14
- * Placement options for popover/select content
15
- */
16
- export type PopoverContentPlacement = 'top' | 'bottom' | 'left' | 'right';
17
-
18
- /**
19
- * Props for usePopupPopoverContentAnimation hook
20
- */
21
- export interface UsePopupPopoverContentAnimationProps {
22
- /**
23
- * Placement of the popover/select content
24
- */
25
- placement: PopoverContentPlacement;
26
- /**
27
- * Alignment offset for the popover content
28
- */
29
- offset: number;
30
- /**
31
- * Animation configuration for content
32
- */
33
- animation?: PopupPopoverContentAnimation;
34
- }
35
- /**
36
- * Get default entering animation based on placement
37
- * Uses Keyframes with translateY/translateX, scale, and opacity transitions
38
- */
39
- function getDefaultEnteringAnimation(
40
- placement: PopoverContentPlacement,
41
- offset: number
42
- ): EntryOrExitLayoutType {
43
- const translateDistance = Math.min(offset, 12);
44
-
45
- switch (placement) {
46
- case 'top':
47
- // Content comes from below (translateY: translateDistance -> 0)
48
- return new Keyframe({
49
- 0: {
50
- transform: [{ translateY: translateDistance }, { scale: 0.97 }],
51
- opacity: 0.25,
52
- },
53
- 100: {
54
- transform: [{ translateY: 0 }, { scale: 1 }],
55
- opacity: 1,
56
- easing: Easing.out(Easing.ease),
57
- },
58
- }).duration(200);
59
- case 'bottom':
60
- // Content comes from above (translateY: -translateDistance -> 0)
61
- return new Keyframe({
62
- 0: {
63
- transform: [{ translateY: -translateDistance }, { scale: 0.97 }],
64
- opacity: 0.25,
65
- },
66
- 100: {
67
- transform: [{ translateY: 0 }, { scale: 1 }],
68
- opacity: 1,
69
- easing: Easing.out(Easing.ease),
70
- },
71
- }).duration(200);
72
- case 'left':
73
- // Content comes from right (translateX: translateDistance -> 0)
74
- return new Keyframe({
75
- 0: {
76
- transform: [{ translateX: translateDistance }, { scale: 0.97 }],
77
- opacity: 0.25,
78
- },
79
- 100: {
80
- transform: [{ translateX: 0 }, { scale: 1 }],
81
- opacity: 1,
82
- easing: Easing.out(Easing.ease),
83
- },
84
- }).duration(200);
85
- case 'right':
86
- // Content comes from left (translateX: -translateDistance -> 0)
87
- return new Keyframe({
88
- 0: {
89
- transform: [{ translateX: -translateDistance }, { scale: 0.97 }],
90
- opacity: 0.25,
91
- },
92
- 100: {
93
- transform: [{ translateX: 0 }, { scale: 1 }],
94
- opacity: 1,
95
- easing: Easing.out(Easing.ease),
96
- },
97
- }).duration(200);
98
- }
99
- }
100
-
101
- /**
102
- * Get default exiting animation based on placement
103
- * Mirrors the entering animation for each placement
104
- */
105
- function getDefaultExitingAnimation(
106
- placement: PopoverContentPlacement,
107
- offset: number
108
- ): EntryOrExitLayoutType {
109
- const translateDistance = Math.min(offset, 12);
110
-
111
- switch (placement) {
112
- case 'top':
113
- // Content exits downward (translateY: 0 -> translateDistance)
114
- return new Keyframe({
115
- 0: {
116
- transform: [{ translateY: 0 }, { scale: 1 }],
117
- opacity: 1,
118
- },
119
- 100: {
120
- transform: [{ translateY: translateDistance }, { scale: 0.97 }],
121
- opacity: 0,
122
- easing: Easing.out(Easing.ease),
123
- },
124
- }).duration(150);
125
- case 'bottom':
126
- // Content exits upward (translateY: 0 -> -translateDistance)
127
- return new Keyframe({
128
- 0: {
129
- transform: [{ translateY: 0 }, { scale: 1 }],
130
- opacity: 1,
131
- },
132
- 100: {
133
- transform: [{ translateY: -translateDistance }, { scale: 0.97 }],
134
- opacity: 0,
135
- easing: Easing.out(Easing.ease),
136
- },
137
- }).duration(150);
138
- case 'left':
139
- // Content exits rightward (translateX: 0 -> translateDistance)
140
- return new Keyframe({
141
- 0: {
142
- transform: [{ translateX: 0 }, { scale: 1 }],
143
- opacity: 1,
144
- },
145
- 100: {
146
- transform: [{ translateX: translateDistance }, { scale: 0.97 }],
147
- opacity: 0,
148
- easing: Easing.out(Easing.ease),
149
- },
150
- }).duration(150);
151
- case 'right':
152
- // Content exits leftward (translateX: 0 -> -translateDistance)
153
- return new Keyframe({
154
- 0: {
155
- transform: [{ translateX: 0 }, { scale: 1 }],
156
- opacity: 1,
157
- },
158
- 100: {
159
- transform: [{ translateX: -translateDistance }, { scale: 0.97 }],
160
- opacity: 0,
161
- easing: Easing.out(Easing.ease),
162
- },
163
- }).duration(150);
164
- }
165
- }
166
-
167
- /**
168
- * Animation hook for popover/select content components
169
- * Returns entering and exiting animations based on configuration and placement
170
- */
171
- export function usePopupPopoverContentAnimation({
172
- placement,
173
- offset,
174
- animation,
175
- }: UsePopupPopoverContentAnimationProps) {
176
- const { isAllAnimationsDisabled } = useAnimationSettings();
177
-
178
- const { animationConfig, isAnimationDisabled } = getAnimationState(animation);
179
-
180
- const isAnimationDisabledValue = getIsAnimationDisabledValue({
181
- isAnimationDisabled,
182
- isAllAnimationsDisabled,
183
- });
184
-
185
- // Get entering animation value with default based on placement
186
- const enteringValue =
187
- animationConfig?.entering ?? getDefaultEnteringAnimation(placement, offset);
188
-
189
- // Get exiting animation value with default based on placement
190
- const exitingValue =
191
- animationConfig?.exiting ?? getDefaultExitingAnimation(placement, offset);
192
-
193
- // Return entering and exiting animations
194
- // If animations are disabled, return undefined to disable animations
195
- return {
196
- entering: isAnimationDisabledValue ? undefined : enteringValue,
197
- exiting: isAnimationDisabledValue ? undefined : exitingValue,
198
- };
199
- }
@@ -1,26 +0,0 @@
1
- import { useSharedValue } from 'react-native-reanimated';
2
- import type { AnimationRootDisableAll } from '../types/animation';
3
- import { useCombinedAnimationDisabledState } from './use-combined-animation-disabled-state';
4
-
5
- /**
6
- * Root animation hook for popup-like components (Dialog, Select, etc.)
7
- * Manages component state transitions and animation coordination
8
- */
9
- export function usePopupRootAnimation(options: {
10
- animation?: AnimationRootDisableAll;
11
- }) {
12
- const isAllAnimationsDisabled = useCombinedAnimationDisabledState(
13
- options.animation
14
- );
15
-
16
- const progress = useSharedValue(0);
17
- const isDragging = useSharedValue(false);
18
- const isGestureReleaseAnimationRunning = useSharedValue(false);
19
-
20
- return {
21
- isAllAnimationsDisabled,
22
- progress,
23
- isDragging,
24
- isGestureReleaseAnimationRunning,
25
- };
26
- }