@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,624 +0,0 @@
1
- import BottomSheet from '@gorhom/bottom-sheet';
2
- import { createContext, forwardRef, use, useMemo } from 'react';
3
- import type {
4
- GestureResponderEvent,
5
- Text as RNText,
6
- StyleProp,
7
- ViewStyle,
8
- } from 'react-native';
9
- import { StyleSheet, useWindowDimensions, View } from 'react-native';
10
- import Animated from 'react-native-reanimated';
11
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
12
- import { useThemeColor } from '../../helpers/external/hooks';
13
- import { cn } from '../../helpers/external/utils';
14
- import {
15
- BottomSheetContent,
16
- FullWindowOverlay,
17
- HeroText,
18
- } from '../../helpers/internal/components';
19
- import {
20
- AnimationSettingsProvider,
21
- useAnimationSettings,
22
- } from '../../helpers/internal/contexts';
23
- import {
24
- usePopupOverlayAnimation,
25
- usePopupPopoverContentAnimation,
26
- usePopupRootAnimation,
27
- } from '../../helpers/internal/hooks';
28
- import type { PressableRef } from '../../helpers/internal/types';
29
- import * as PopoverPrimitives from '../../primitives/popover';
30
- import * as PopoverPrimitivesTypes from '../../primitives/popover/popover.types';
31
- import { CloseButton } from '../close-button';
32
- import { ArrowSvg } from './arrow-svg';
33
- import {
34
- PopoverAnimationProvider,
35
- usePopoverAnimation,
36
- } from './popover.animation';
37
- import {
38
- DEFAULT_ALIGN_OFFSET,
39
- DEFAULT_INSETS,
40
- DEFAULT_OFFSET,
41
- DISPLAY_NAME,
42
- } from './popover.constants';
43
- import { popoverClassNames, popoverStyleSheet } from './popover.styles';
44
- import type {
45
- PopoverArrowProps,
46
- PopoverCloseProps,
47
- PopoverContentBottomSheetProps,
48
- PopoverContentContextValue,
49
- PopoverContentPopoverProps,
50
- PopoverContentProps,
51
- PopoverDescriptionProps,
52
- PopoverOverlayProps,
53
- PopoverPortalProps,
54
- PopoverRootProps,
55
- PopoverTitleProps,
56
- PopoverTriggerProps,
57
- } from './popover.types';
58
-
59
- const AnimatedOverlay = Animated.createAnimatedComponent(
60
- PopoverPrimitives.Overlay
61
- );
62
-
63
- const AnimatedContent = Animated.createAnimatedComponent(
64
- PopoverPrimitives.Content
65
- );
66
-
67
- const usePopover = PopoverPrimitives.useRootContext;
68
-
69
- const PopoverContentContext = createContext<PopoverContentContextValue>({
70
- placement: undefined,
71
- });
72
-
73
- // --------------------------------------------------
74
-
75
- const PopoverRoot = forwardRef<
76
- PopoverPrimitivesTypes.RootRef,
77
- PopoverRootProps
78
- >(
79
- (
80
- {
81
- children,
82
- isOpen: isOpenProp,
83
- isDefaultOpen,
84
- onOpenChange: onOpenChangeProp,
85
- presentation = 'popover',
86
- animation,
87
- ...props
88
- },
89
- ref
90
- ) => {
91
- const { isAllAnimationsDisabled, progress, isDragging } =
92
- usePopupRootAnimation({
93
- animation,
94
- });
95
-
96
- const animationContextValue = useMemo(
97
- () => ({
98
- progress,
99
- isDragging,
100
- }),
101
- [progress, isDragging]
102
- );
103
-
104
- const animationSettingsContextValue = useMemo(
105
- () => ({
106
- isAllAnimationsDisabled,
107
- }),
108
- [isAllAnimationsDisabled]
109
- );
110
-
111
- return (
112
- <AnimationSettingsProvider value={animationSettingsContextValue}>
113
- <PopoverAnimationProvider value={animationContextValue}>
114
- <PopoverPrimitives.Root
115
- ref={ref}
116
- presentation={presentation}
117
- isOpen={isOpenProp}
118
- isDefaultOpen={isDefaultOpen}
119
- onOpenChange={onOpenChangeProp}
120
- {...props}
121
- >
122
- {children}
123
- </PopoverPrimitives.Root>
124
- </PopoverAnimationProvider>
125
- </AnimationSettingsProvider>
126
- );
127
- }
128
- );
129
-
130
- // --------------------------------------------------
131
-
132
- const PopoverTrigger = forwardRef<
133
- PopoverPrimitivesTypes.TriggerRef,
134
- PopoverTriggerProps
135
- >((props, ref) => {
136
- return <PopoverPrimitives.Trigger ref={ref} {...props} />;
137
- });
138
-
139
- // --------------------------------------------------
140
-
141
- const PopoverPortal = ({
142
- className,
143
- children,
144
- disableFullWindowOverlay = false,
145
- ...props
146
- }: PopoverPortalProps) => {
147
- const animationSettingsContext = useAnimationSettings();
148
- const animationContext = usePopoverAnimation();
149
-
150
- const portalClassName = popoverClassNames.portal({ className });
151
-
152
- return (
153
- <PopoverPrimitives.Portal {...props}>
154
- <AnimationSettingsProvider value={animationSettingsContext}>
155
- <PopoverAnimationProvider value={animationContext}>
156
- <FullWindowOverlay
157
- disableFullWindowOverlay={disableFullWindowOverlay}
158
- >
159
- <View className={portalClassName} pointerEvents="box-none">
160
- {children}
161
- </View>
162
- </FullWindowOverlay>
163
- </PopoverAnimationProvider>
164
- </AnimationSettingsProvider>
165
- </PopoverPrimitives.Portal>
166
- );
167
- };
168
-
169
- // --------------------------------------------------
170
-
171
- const PopoverOverlay = forwardRef<
172
- PopoverPrimitivesTypes.OverlayRef,
173
- PopoverOverlayProps
174
- >(
175
- (
176
- { className, style, animation, isAnimatedStyleActive = true, ...props },
177
- ref
178
- ) => {
179
- const { isOpen, presentation } = usePopover();
180
- const { progress, isDragging } = usePopoverAnimation();
181
-
182
- const overlayClassName = popoverClassNames.overlay({ className });
183
-
184
- const { rContainerStyle, entering, exiting } = usePopupOverlayAnimation({
185
- progress: presentation === 'bottom-sheet' ? progress : undefined,
186
- isDragging: presentation === 'bottom-sheet' ? isDragging : undefined,
187
- animation,
188
- });
189
-
190
- const overlayStyle = isAnimatedStyleActive
191
- ? [rContainerStyle, style]
192
- : style;
193
-
194
- return (
195
- <Animated.View
196
- entering={entering}
197
- exiting={exiting}
198
- style={StyleSheet.absoluteFill}
199
- pointerEvents="box-none"
200
- >
201
- <AnimatedOverlay
202
- ref={ref}
203
- className={overlayClassName}
204
- style={overlayStyle}
205
- forceMount={presentation === 'bottom-sheet' ? true : undefined}
206
- pointerEvents={isOpen ? 'auto' : 'none'}
207
- {...props}
208
- />
209
- </Animated.View>
210
- );
211
- }
212
- );
213
-
214
- // --------------------------------------------------
215
-
216
- const PopoverContentPopover = forwardRef<
217
- PopoverPrimitivesTypes.ContentRef,
218
- PopoverContentPopoverProps
219
- >(
220
- (
221
- {
222
- placement = 'bottom',
223
- align = 'center',
224
- avoidCollisions = true,
225
- offset = DEFAULT_OFFSET,
226
- alignOffset = DEFAULT_ALIGN_OFFSET,
227
- className,
228
- children,
229
- style,
230
- animation,
231
- ...props
232
- },
233
- ref
234
- ) => {
235
- const { contentLayout } = usePopover();
236
-
237
- const safeAreaInsets = useSafeAreaInsets();
238
- const { height: screenHeight } = useWindowDimensions();
239
-
240
- // Initially useRelativePosition returns { position: 'absolute', opacity: 0, top: dimensions.height }
241
- // So we need to wait for the content to be ready before showing it
242
- const isReady = Boolean(contentLayout?.y && contentLayout.y < screenHeight);
243
-
244
- const insets = {
245
- top: DEFAULT_INSETS.top + safeAreaInsets.top,
246
- bottom: DEFAULT_INSETS.bottom + safeAreaInsets.bottom,
247
- left: DEFAULT_INSETS.left + safeAreaInsets.left,
248
- right: DEFAULT_INSETS.right + safeAreaInsets.right,
249
- };
250
-
251
- const contentClassName = popoverClassNames.content({
252
- className,
253
- });
254
-
255
- const { entering, exiting } = usePopupPopoverContentAnimation({
256
- placement,
257
- offset,
258
- animation,
259
- });
260
-
261
- return (
262
- <PopoverContentContext value={{ placement }}>
263
- {isReady && (
264
- <AnimatedContent
265
- ref={ref}
266
- entering={entering}
267
- exiting={exiting}
268
- placement={placement}
269
- align={align}
270
- avoidCollisions={avoidCollisions}
271
- offset={offset}
272
- alignOffset={alignOffset}
273
- insets={insets}
274
- className={contentClassName}
275
- style={[popoverStyleSheet.contentContainer, style]}
276
- {...props}
277
- >
278
- {children}
279
- </AnimatedContent>
280
- )}
281
- <AnimatedContent
282
- placement={placement}
283
- accessible={false}
284
- accessibilityElementsHidden={true}
285
- importantForAccessibility="no"
286
- pointerEvents="none"
287
- collapsable={false}
288
- align={align}
289
- avoidCollisions={avoidCollisions}
290
- offset={offset}
291
- alignOffset={alignOffset}
292
- insets={insets}
293
- className={cn(contentClassName, 'absolute opacity-0')}
294
- style={[popoverStyleSheet.contentContainer, style]}
295
- {...props}
296
- >
297
- {children}
298
- </AnimatedContent>
299
- </PopoverContentContext>
300
- );
301
- }
302
- );
303
-
304
- // --------------------------------------------------
305
-
306
- const PopoverContentBottomSheet = forwardRef<
307
- BottomSheet,
308
- PopoverContentBottomSheetProps
309
- >(
310
- (
311
- {
312
- children,
313
- index: initialIndex,
314
- backgroundClassName,
315
- handleIndicatorClassName,
316
- contentContainerClassName: contentContainerClassNameProp,
317
- contentContainerProps,
318
- animation,
319
- animationConfigs,
320
- ...restProps
321
- },
322
- ref
323
- ) => {
324
- const { isOpen, onOpenChange } = usePopover();
325
-
326
- const { progress, isDragging } = usePopoverAnimation();
327
-
328
- return (
329
- <BottomSheetContent
330
- ref={ref}
331
- index={initialIndex}
332
- backgroundClassName={backgroundClassName}
333
- handleIndicatorClassName={handleIndicatorClassName}
334
- contentContainerClassName={contentContainerClassNameProp}
335
- contentContainerProps={contentContainerProps}
336
- animation={animation}
337
- animationConfigs={animationConfigs}
338
- backgroundStyle={[
339
- popoverStyleSheet.contentContainer,
340
- restProps.backgroundStyle,
341
- ]}
342
- isOpen={isOpen}
343
- progress={progress}
344
- isDragging={isDragging}
345
- onOpenChange={onOpenChange}
346
- {...restProps}
347
- >
348
- {children}
349
- </BottomSheetContent>
350
- );
351
- }
352
- );
353
-
354
- // --------------------------------------------------
355
-
356
- const PopoverContent = forwardRef<
357
- PopoverPrimitivesTypes.ContentRef | BottomSheet,
358
- PopoverContentProps
359
- >((props, ref) => {
360
- const { presentation: contextPresentation } = usePopover();
361
-
362
- if (__DEV__) {
363
- if (props.presentation !== contextPresentation) {
364
- throw new Error(
365
- `Popover.Content presentation prop ("${props.presentation}") does not match Popover.Root presentation prop ("${contextPresentation}"). They must be the same.`
366
- );
367
- }
368
- }
369
-
370
- if (props.presentation === 'bottom-sheet') {
371
- return (
372
- <PopoverContentBottomSheet
373
- ref={ref as React.Ref<BottomSheet>}
374
- {...(props as PopoverContentBottomSheetProps)}
375
- />
376
- );
377
- }
378
-
379
- return (
380
- <PopoverContentPopover
381
- ref={ref as React.Ref<PopoverPrimitivesTypes.ContentRef>}
382
- {...(props as PopoverContentPopoverProps)}
383
- />
384
- );
385
- });
386
-
387
- // --------------------------------------------------
388
-
389
- const PopoverClose = forwardRef<PressableRef, PopoverCloseProps>(
390
- (props, ref) => {
391
- const { onPress: onPressProp, ...restProps } = props;
392
- const { onOpenChange } = usePopover();
393
-
394
- const onPress = (ev: GestureResponderEvent) => {
395
- onOpenChange(false);
396
- if (typeof onPressProp === 'function') {
397
- onPressProp(ev);
398
- }
399
- };
400
-
401
- return <CloseButton ref={ref} onPress={onPress} {...restProps} />;
402
- }
403
- );
404
-
405
- // --------------------------------------------------
406
-
407
- const PopoverTitle = forwardRef<RNText, PopoverTitleProps>(
408
- ({ className, children, ...props }, ref) => {
409
- const titleClassName = popoverClassNames.label({ className });
410
-
411
- return (
412
- <HeroText
413
- ref={ref}
414
- role="heading"
415
- accessibilityRole="header"
416
- className={titleClassName}
417
- {...props}
418
- >
419
- {children}
420
- </HeroText>
421
- );
422
- }
423
- );
424
-
425
- // --------------------------------------------------
426
-
427
- const PopoverDescription = forwardRef<RNText, PopoverDescriptionProps>(
428
- ({ className, children, ...props }, ref) => {
429
- const descriptionClassName = popoverClassNames.description({
430
- className,
431
- });
432
-
433
- return (
434
- <HeroText
435
- ref={ref}
436
- accessibilityRole="text"
437
- className={descriptionClassName}
438
- {...props}
439
- >
440
- {children}
441
- </HeroText>
442
- );
443
- }
444
- );
445
-
446
- // --------------------------------------------------
447
-
448
- const PopoverArrow = forwardRef<View, PopoverArrowProps>(
449
- (
450
- {
451
- children,
452
- style,
453
- className,
454
- height = 12,
455
- width = 20,
456
- fill,
457
- stroke,
458
- strokeWidth = 1,
459
- placement: placementLocal,
460
- strokeBaselineInset = 1,
461
- },
462
- ref
463
- ) => {
464
- const [themeColorOverlay, themeColorBorder] = useThemeColor([
465
- 'overlay',
466
- 'border',
467
- ]);
468
- const { triggerPosition, contentLayout } = usePopover();
469
- const { placement: placementContext } = use(PopoverContentContext);
470
-
471
- const placement = placementLocal || placementContext;
472
-
473
- const arrowClassName = popoverClassNames.arrow({ className });
474
-
475
- if (
476
- !triggerPosition ||
477
- !contentLayout ||
478
- contentLayout.x === 0 ||
479
- contentLayout.y === 0 ||
480
- !placement
481
- ) {
482
- return null;
483
- }
484
-
485
- const arrowFill = fill || themeColorOverlay;
486
- const arrowStroke = stroke || themeColorBorder;
487
-
488
- const getArrowPosition = (): StyleProp<ViewStyle> => {
489
- const triggerCenterX = triggerPosition.pageX + triggerPosition.width / 2;
490
- const triggerCenterY = triggerPosition.pageY + triggerPosition.height / 2;
491
-
492
- const baseStyle: ViewStyle = {
493
- position: 'absolute',
494
- };
495
-
496
- switch (placement) {
497
- case 'top':
498
- return {
499
- ...baseStyle,
500
- bottom: -height + strokeBaselineInset,
501
- left: Math.min(
502
- Math.max(12, triggerCenterX - contentLayout.x - width / 2),
503
- contentLayout.width - width - 12
504
- ),
505
- };
506
- case 'bottom':
507
- return {
508
- ...baseStyle,
509
- top: -height + strokeBaselineInset,
510
- left: Math.min(
511
- Math.max(12, triggerCenterX - contentLayout.x - width / 2),
512
- contentLayout.width - width - 12
513
- ),
514
- };
515
-
516
- case 'left':
517
- return {
518
- ...baseStyle,
519
- right: -height + strokeBaselineInset,
520
- top: Math.min(
521
- Math.max(12, triggerCenterY - contentLayout.y - width / 2),
522
- contentLayout.height - width - 12
523
- ),
524
- };
525
-
526
- case 'right':
527
- return {
528
- ...baseStyle,
529
- left: -height + strokeBaselineInset,
530
- top: Math.min(
531
- Math.max(12, triggerCenterY - contentLayout.y - width / 2),
532
- contentLayout.height - width - 12
533
- ),
534
- };
535
- default:
536
- return baseStyle;
537
- }
538
- };
539
-
540
- const arrowPositionStyle = getArrowPosition();
541
-
542
- return (
543
- <Animated.View
544
- ref={ref}
545
- className={arrowClassName}
546
- style={[arrowPositionStyle, style]}
547
- pointerEvents="none"
548
- >
549
- {children ? (
550
- children
551
- ) : (
552
- <ArrowSvg
553
- width={width}
554
- height={height}
555
- placement={placement}
556
- fill={arrowFill}
557
- stroke={arrowStroke}
558
- strokeWidth={strokeWidth}
559
- />
560
- )}
561
- </Animated.View>
562
- );
563
- }
564
- );
565
-
566
- // --------------------------------------------------
567
-
568
- PopoverRoot.displayName = DISPLAY_NAME.ROOT;
569
- PopoverTrigger.displayName = DISPLAY_NAME.TRIGGER;
570
- PopoverPortal.displayName = DISPLAY_NAME.PORTAL;
571
- PopoverOverlay.displayName = DISPLAY_NAME.OVERLAY;
572
- PopoverContent.displayName = DISPLAY_NAME.CONTENT;
573
- PopoverClose.displayName = DISPLAY_NAME.CLOSE;
574
- PopoverTitle.displayName = DISPLAY_NAME.TITLE;
575
- PopoverDescription.displayName = DISPLAY_NAME.DESCRIPTION;
576
- PopoverArrow.displayName = DISPLAY_NAME.ARROW;
577
-
578
- /**
579
- * Compound Popover component with sub-components
580
- *
581
- * @component Popover - Main container that manages open/close state, positioning,
582
- * and provides context to child components. Handles placement, alignment, and collision detection.
583
- *
584
- * @component Popover.Trigger - Clickable element that toggles the popover visibility.
585
- * Wraps any child element with press handlers.
586
- *
587
- * @component Popover.Portal - Renders popover content in a portal layer above other content.
588
- * Ensures proper stacking and positioning.
589
- *
590
- * @component Popover.Overlay - Optional background overlay. Can be transparent or
591
- * semi-transparent to capture outside clicks.
592
- *
593
- * @component Popover.Content - Container for popover content with two presentation modes:
594
- * default floating popover with positioning and collision detection, or bottom sheet modal.
595
- * Supports arrow indicators and custom animations.
596
- *
597
- * @component Popover.Arrow - Optional arrow indicator pointing to the trigger element.
598
- * Automatically positions itself based on popover placement.
599
- *
600
- * @component Popover.Close - Close button for the popover.
601
- * Can accept custom children or uses default close icon.
602
- *
603
- * @component Popover.Title - Optional title text with pre-styled typography.
604
- *
605
- * @component Popover.Description - Optional description text with muted styling.
606
- *
607
- * Props flow from Popover to sub-components via context (placement, align, offset, etc.).
608
- * The popover automatically positions itself relative to the trigger element.
609
- *
610
- * @see Full documentation: https://v3.heroui.com/docs/native/components/popover
611
- */
612
- const Popover = Object.assign(PopoverRoot, {
613
- Trigger: PopoverTrigger,
614
- Portal: PopoverPortal,
615
- Overlay: PopoverOverlay,
616
- Content: PopoverContent,
617
- Arrow: PopoverArrow,
618
- Close: PopoverClose,
619
- Title: PopoverTitle,
620
- Description: PopoverDescription,
621
- });
622
-
623
- export { usePopover, usePopoverAnimation };
624
- export default Popover;