@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,382 +0,0 @@
1
- import React, {
2
- forwardRef,
3
- useContext,
4
- useEffect,
5
- useId,
6
- useState,
7
- } from 'react';
8
- import {
9
- BackHandler,
10
- Pressable,
11
- View,
12
- type GestureResponderEvent,
13
- type LayoutChangeEvent,
14
- type LayoutRectangle,
15
- } from 'react-native';
16
- import {
17
- useAugmentedRef,
18
- useControllableState,
19
- useRelativePosition,
20
- type LayoutPosition,
21
- } from '../../helpers/internal/hooks';
22
- import { Portal as PrimitivePortal } from '../portal';
23
- import * as Slot from '../slot';
24
- import type {
25
- CloseProps,
26
- CloseRef,
27
- ContentProps,
28
- ContentRef,
29
- IRootContext,
30
- OverlayProps,
31
- OverlayRef,
32
- PortalProps,
33
- RootProps,
34
- RootRef,
35
- TriggerProps,
36
- TriggerRef,
37
- } from './popover.types';
38
-
39
- const RootContext = React.createContext<IRootContext | null>(null);
40
-
41
- const useRootContext = () => {
42
- const context = useContext(RootContext);
43
- if (!context) {
44
- throw new Error(
45
- 'Popover compound components cannot be rendered outside the Popover component'
46
- );
47
- }
48
- return context;
49
- };
50
-
51
- const Root = forwardRef<RootRef, RootProps>(
52
- (
53
- {
54
- asChild,
55
- isOpen: isOpenProp,
56
- isDefaultOpen,
57
- onOpenChange: onOpenChangeProp,
58
- isDisabled,
59
- presentation = 'popover',
60
- ...viewProps
61
- },
62
- ref
63
- ) => {
64
- const [isOpen = false, onOpenChange] = useControllableState({
65
- prop: isOpenProp,
66
- defaultProp: isDefaultOpen,
67
- onChange: onOpenChangeProp,
68
- });
69
- const [triggerPosition, setTriggerPosition] =
70
- useState<LayoutPosition | null>(null);
71
- const [contentLayout, setContentLayout] = useState<LayoutRectangle | null>(
72
- null
73
- );
74
-
75
- const nativeID = useId();
76
-
77
- const Component = asChild ? Slot.View : View;
78
- return (
79
- <RootContext.Provider
80
- value={{
81
- isOpen,
82
- onOpenChange,
83
- isDisabled,
84
- contentLayout,
85
- nativeID,
86
- setContentLayout,
87
- setTriggerPosition,
88
- triggerPosition,
89
- isDefaultOpen,
90
- presentation,
91
- }}
92
- >
93
- <Component ref={ref} {...viewProps} />
94
- </RootContext.Provider>
95
- );
96
- }
97
- );
98
-
99
- // --------------------------------------------------
100
-
101
- const Trigger = forwardRef<TriggerRef, TriggerProps>(
102
- ({ asChild, onPress: onPressProp, isDisabled = false, ...props }, ref) => {
103
- const {
104
- onOpenChange,
105
- isOpen,
106
- isDisabled: isDisabledRoot,
107
- setTriggerPosition,
108
- setContentLayout,
109
- isDefaultOpen,
110
- triggerPosition,
111
- } = useRootContext();
112
-
113
- const isDisabledValue = isDisabled ?? isDisabledRoot ?? undefined;
114
-
115
- const augmentedRef = useAugmentedRef({
116
- ref,
117
- methods: {
118
- open: () => {
119
- augmentedRef.current?.measure(
120
- (_x, _y, width, height, pageX, pageY) => {
121
- setTriggerPosition({ width, pageX, pageY: pageY, height });
122
- }
123
- );
124
- onOpenChange(true);
125
- },
126
- close: () => {
127
- onOpenChange(false);
128
- setTriggerPosition(null);
129
- setContentLayout(null);
130
- },
131
- },
132
- deps: [isOpen],
133
- });
134
-
135
- // Open popover on mount if isDefaultOpen is true
136
- useEffect(() => {
137
- if ((isDefaultOpen || isOpen) && !triggerPosition) {
138
- // Use setTimeout to ensure the component is mounted and can be measured
139
- const timeoutId = setTimeout(() => {
140
- augmentedRef.current?.measure(
141
- (_x, _y, width, height, pageX, pageY) => {
142
- setTriggerPosition({ width, pageX, pageY: pageY, height });
143
- if (isDefaultOpen) {
144
- onOpenChange(true);
145
- }
146
- }
147
- );
148
- }, 0);
149
- return () => clearTimeout(timeoutId);
150
- }
151
- return undefined;
152
- // eslint-disable-next-line react-hooks/exhaustive-deps
153
- }, []);
154
-
155
- function onPress(ev: GestureResponderEvent) {
156
- augmentedRef.current?.measure((_x, _y, width, height, pageX, pageY) => {
157
- setTriggerPosition({ width, pageX, pageY, height });
158
- });
159
- onOpenChange(!isOpen);
160
- onPressProp?.(ev);
161
- }
162
-
163
- const Component = asChild ? Slot.Pressable : Pressable;
164
-
165
- return (
166
- <Component
167
- ref={augmentedRef}
168
- aria-disabled={isDisabledValue}
169
- role="button"
170
- onPress={onPress}
171
- disabled={isDisabledValue}
172
- {...props}
173
- />
174
- );
175
- }
176
- );
177
-
178
- // --------------------------------------------------
179
-
180
- /**
181
- * @warning when using a custom `<PortalHost />`, you might have to adjust the Content's offset to account for nav elements like headers.
182
- */
183
- function Portal({ forceMount, hostName, children }: PortalProps) {
184
- const value = useRootContext();
185
-
186
- const isBottomSheet = value.presentation === 'bottom-sheet';
187
-
188
- if (!value.triggerPosition && !isBottomSheet) {
189
- return null;
190
- }
191
-
192
- if (!forceMount && !isBottomSheet) {
193
- if (!value.isOpen) {
194
- return null;
195
- }
196
- }
197
-
198
- return (
199
- <PrimitivePortal hostName={hostName} name={`${value.nativeID}_portal`}>
200
- <RootContext.Provider value={value}>{children}</RootContext.Provider>
201
- </PrimitivePortal>
202
- );
203
- }
204
-
205
- // --------------------------------------------------
206
-
207
- const Overlay = forwardRef<OverlayRef, OverlayProps>(
208
- (
209
- {
210
- asChild,
211
- forceMount,
212
- onPress: OnPressProp,
213
- closeOnPress = true,
214
- ...props
215
- },
216
- ref
217
- ) => {
218
- const { isOpen, onOpenChange, setTriggerPosition, setContentLayout } =
219
- useRootContext();
220
-
221
- function onPress(ev: GestureResponderEvent) {
222
- if (closeOnPress) {
223
- onOpenChange(false);
224
- setTriggerPosition(null);
225
- setContentLayout(null);
226
- }
227
- OnPressProp?.(ev);
228
- }
229
-
230
- if (!forceMount) {
231
- if (!isOpen) {
232
- return null;
233
- }
234
- }
235
-
236
- const Component = asChild ? Slot.Pressable : Pressable;
237
-
238
- return <Component ref={ref} onPress={onPress} {...props} />;
239
- }
240
- );
241
-
242
- // --------------------------------------------------
243
-
244
- /**
245
- * @info `position`, `top`, `left`, and `maxWidth` style properties are controlled internally. Opt out of this behavior by setting `disablePositioningStyle` to `true`.
246
- */
247
- const Content = forwardRef<ContentRef, ContentProps>(
248
- (
249
- {
250
- asChild = false,
251
- forceMount,
252
- align = 'start',
253
- placement = 'bottom',
254
- offset = 0,
255
- alignOffset = 0,
256
- avoidCollisions = true,
257
- onLayout: onLayoutProp,
258
- insets,
259
- style,
260
- disablePositioningStyle,
261
- width = 'content-fit',
262
- ...props
263
- },
264
- ref
265
- ) => {
266
- const {
267
- isOpen,
268
- onOpenChange,
269
- contentLayout,
270
- nativeID,
271
- setContentLayout,
272
- setTriggerPosition,
273
- triggerPosition,
274
- } = useRootContext();
275
-
276
- useEffect(() => {
277
- const backHandler = BackHandler.addEventListener(
278
- 'hardwareBackPress',
279
- () => {
280
- onOpenChange(false);
281
- setTriggerPosition(null);
282
- setContentLayout(null);
283
- return true;
284
- }
285
- );
286
-
287
- return () => {
288
- setContentLayout(null);
289
- backHandler.remove();
290
- };
291
- // eslint-disable-next-line react-hooks/exhaustive-deps
292
- }, []);
293
-
294
- const positionStyle = useRelativePosition({
295
- align,
296
- avoidCollisions,
297
- triggerPosition,
298
- contentLayout,
299
- alignOffset,
300
- insets,
301
- offset,
302
- placement,
303
- disablePositioningStyle,
304
- });
305
-
306
- // Calculate content width based on width prop
307
- const widthStyle: { width?: number | `${number}%` } = {};
308
- if (width === 'trigger' && triggerPosition) {
309
- widthStyle.width = triggerPosition.width;
310
- } else if (width === 'full') {
311
- widthStyle.width = '100%';
312
- } else if (typeof width === 'number') {
313
- widthStyle.width = width;
314
- }
315
- // 'content-fit' is default - no explicit width set
316
-
317
- function onLayout(event: LayoutChangeEvent) {
318
- setContentLayout(event.nativeEvent.layout);
319
- onLayoutProp?.(event);
320
- }
321
-
322
- if (!forceMount) {
323
- if (!isOpen) {
324
- return null;
325
- }
326
- }
327
-
328
- const Component = asChild ? Slot.View : View;
329
-
330
- return (
331
- <Component
332
- ref={ref}
333
- role="dialog"
334
- nativeID={nativeID}
335
- aria-modal={true}
336
- style={[positionStyle, widthStyle, style]}
337
- onLayout={onLayout}
338
- {...props}
339
- />
340
- );
341
- }
342
- );
343
-
344
- // --------------------------------------------------
345
-
346
- const Close = forwardRef<CloseRef, CloseProps>(
347
- ({ asChild, onPress: onPressProp, disabled = false, ...props }, ref) => {
348
- const { onOpenChange, setContentLayout, setTriggerPosition } =
349
- useRootContext();
350
-
351
- function onPress(ev: GestureResponderEvent) {
352
- if (disabled) return;
353
- onOpenChange(false);
354
- setTriggerPosition(null);
355
- setContentLayout(null);
356
- onPressProp?.(ev);
357
- }
358
-
359
- const Component = asChild ? Slot.Pressable : Pressable;
360
-
361
- return (
362
- <Component
363
- ref={ref}
364
- aria-disabled={disabled ?? undefined}
365
- role="button"
366
- onPress={onPress}
367
- disabled={disabled ?? undefined}
368
- {...props}
369
- />
370
- );
371
- }
372
- );
373
-
374
- // --------------------------------------------------
375
-
376
- Root.displayName = 'HeroUINative.Popover.Root';
377
- Trigger.displayName = 'HeroUINative.Popover.Trigger';
378
- Overlay.displayName = 'HeroUINative.Popover.Overlay';
379
- Content.displayName = 'HeroUINative.Popover.Content';
380
- Close.displayName = 'HeroUINative.Popover.Close';
381
-
382
- export { Close, Content, Overlay, Portal, Root, Trigger, useRootContext };
@@ -1,201 +0,0 @@
1
- import type { LayoutRectangle } from 'react-native';
2
- import type { LayoutPosition } from '../../helpers/internal/hooks';
3
- import type {
4
- ForceMountable,
5
- PositionedContentProps,
6
- PressableRef,
7
- SlottablePressableProps,
8
- SlottableViewProps,
9
- ViewRef,
10
- } from '../../helpers/internal/types';
11
-
12
- /**
13
- * Content sizing strategy
14
- * - 'content-fit': Auto-size to content width (default)
15
- * - 'trigger': Match trigger width exactly
16
- * - 'full': 100% width
17
- * - number: Fixed width in pixels
18
- */
19
- type ContentSizing = 'trigger' | 'content-fit' | 'full' | number;
20
-
21
- /**
22
- * Internal context interface for managing popover state and positioning
23
- */
24
- interface IRootContext {
25
- /**
26
- * Whether the popover is currently open
27
- */
28
- isOpen: boolean;
29
- /**
30
- * Callback to change the open state of the popover
31
- */
32
- onOpenChange: (open: boolean) => void;
33
- /**
34
- * Whether the popover should be open by default (uncontrolled mode)
35
- */
36
- isDefaultOpen?: boolean;
37
- /**
38
- * Whether the popover is disabled
39
- */
40
- isDisabled?: boolean;
41
- /**
42
- * The position of the trigger element relative to the viewport
43
- */
44
- triggerPosition: LayoutPosition | null;
45
- /**
46
- * Updates the trigger element's position
47
- */
48
- setTriggerPosition: (triggerPosition: LayoutPosition | null) => void;
49
- /**
50
- * The layout measurements of the popover content
51
- */
52
- contentLayout: LayoutRectangle | null;
53
- /**
54
- * Updates the content layout measurements
55
- */
56
- setContentLayout: (contentLayout: LayoutRectangle | null) => void;
57
- /**
58
- * Unique identifier for the popover instance
59
- */
60
- nativeID: string;
61
- /**
62
- * Presentation mode for the popover content
63
- * - 'popover': Default floating popover with positioning
64
- * - 'bottom-sheet': Bottom sheet modal presentation
65
- * @default 'popover'
66
- */
67
- presentation: 'popover' | 'bottom-sheet';
68
- }
69
-
70
- /**
71
- * Props for the Popover Root component
72
- */
73
- type RootProps = SlottableViewProps & {
74
- /**
75
- * Presentation mode for the popover content
76
- * - 'popover': Default floating popover with positioning
77
- * - 'bottom-sheet': Bottom sheet modal presentation
78
- * @default 'popover'
79
- */
80
- presentation?: 'popover' | 'bottom-sheet';
81
- /**
82
- * The controlled open state of the popover
83
- */
84
- isOpen?: boolean;
85
- /**
86
- * The open state of the popover when initially rendered (uncontrolled)
87
- */
88
- isDefaultOpen?: boolean;
89
- /**
90
- * Whether the popover is disabled
91
- */
92
- isDisabled?: boolean;
93
- /**
94
- * Callback fired when the popover open state changes
95
- * @param open - Whether the popover is open or closed
96
- */
97
- onOpenChange?: (open: boolean) => void;
98
- };
99
- /**
100
- * Props for the Popover Portal component
101
- */
102
- interface PortalProps extends ForceMountable {
103
- /**
104
- * The content to render within the portal
105
- */
106
- children: React.ReactNode;
107
- /**
108
- * Optional name of the host element for the portal
109
- */
110
- hostName?: string;
111
- }
112
-
113
- /**
114
- * Props for the Popover Overlay component
115
- */
116
- type OverlayProps = ForceMountable &
117
- SlottablePressableProps & {
118
- /**
119
- * Whether to close the popover when the overlay is pressed
120
- * @default true
121
- */
122
- closeOnPress?: boolean;
123
- };
124
-
125
- /**
126
- * Props for the Popover Trigger component
127
- */
128
- type TriggerProps = Omit<SlottablePressableProps, 'disabled'> & {
129
- isDisabled?: boolean;
130
- };
131
-
132
- /**
133
- * Props for the Popover Content component
134
- */
135
- type ContentProps = SlottableViewProps &
136
- PositionedContentProps & {
137
- /**
138
- * Content width sizing strategy
139
- * - 'content-fit': Auto-size to content width (default)
140
- * - 'trigger': Match trigger width exactly
141
- * - 'full': 100% width
142
- * - number: Fixed width in pixels
143
- * @default 'content-fit'
144
- */
145
- width?: ContentSizing;
146
- };
147
-
148
- /**
149
- * Props for the Popover Close component
150
- */
151
- type CloseProps = SlottablePressableProps;
152
-
153
- /**
154
- * Ref type for the Popover Close component
155
- */
156
- type CloseRef = PressableRef;
157
-
158
- /**
159
- * Ref type for the Popover Content component
160
- */
161
- type ContentRef = ViewRef;
162
-
163
- /**
164
- * Ref type for the Popover Overlay component
165
- */
166
- type OverlayRef = PressableRef;
167
-
168
- /**
169
- * Ref type for the Popover Root component
170
- */
171
- type RootRef = ViewRef;
172
-
173
- /**
174
- * Ref type for the Popover Trigger component
175
- */
176
- type TriggerRef = PressableRef & {
177
- /**
178
- * Programmatically open the popover
179
- */
180
- open: () => void;
181
- /**
182
- * Programmatically close the popover
183
- */
184
- close: () => void;
185
- };
186
-
187
- export type {
188
- CloseProps,
189
- CloseRef,
190
- ContentProps,
191
- ContentRef,
192
- ContentSizing,
193
- IRootContext,
194
- OverlayProps,
195
- OverlayRef,
196
- PortalProps,
197
- RootProps,
198
- RootRef,
199
- TriggerProps,
200
- TriggerRef,
201
- };
@@ -1 +0,0 @@
1
- export * from './portal';
@@ -1,126 +0,0 @@
1
- import * as React from 'react';
2
- import { useEffect, useSyncExternalStore } from 'react';
3
- import { Platform, type View, type ViewStyle } from 'react-native';
4
-
5
- const DEFAULT_PORTAL_HOST = 'HEROUI_NATIVE_DEFAULT_HOST_NAME';
6
-
7
- type PortalMap = Map<string, React.ReactNode>;
8
- type PortalHostMap = Map<string, PortalMap>;
9
-
10
- type PortalStore = {
11
- map: PortalHostMap;
12
- listeners: Set<() => void>;
13
- };
14
-
15
- const store: PortalStore = {
16
- map: new Map<string, PortalMap>().set(
17
- DEFAULT_PORTAL_HOST,
18
- new Map<string, React.ReactNode>()
19
- ),
20
- listeners: new Set(),
21
- };
22
-
23
- // --------------------------------------------------
24
-
25
- function emit() {
26
- for (const cb of store.listeners) cb();
27
- }
28
-
29
- function getSnapshot() {
30
- return store.map;
31
- }
32
-
33
- function subscribe(cb: () => void) {
34
- store.listeners.add(cb);
35
- return () => {
36
- store.listeners.delete(cb);
37
- };
38
- }
39
-
40
- function updatePortal(
41
- hostName: string,
42
- name: string,
43
- children: React.ReactNode
44
- ) {
45
- const next = new Map(store.map);
46
- const portal = next.get(hostName) ?? new Map<string, React.ReactNode>();
47
- portal.set(name, children);
48
- next.set(hostName, portal);
49
- store.map = next;
50
- emit();
51
- }
52
-
53
- function removePortal(hostName: string, name: string) {
54
- const next = new Map(store.map);
55
- const portal = next.get(hostName) ?? new Map<string, React.ReactNode>();
56
- portal.delete(name);
57
- next.set(hostName, portal);
58
- store.map = next;
59
- emit();
60
- }
61
-
62
- // --------------------------------------------------
63
-
64
- export function PortalHost({ name = DEFAULT_PORTAL_HOST }: { name?: string }) {
65
- const map = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);
66
- const portalMap = map.get(name) ?? new Map<string, React.ReactNode>();
67
- if (portalMap.size === 0) return null;
68
- return <>{Array.from(portalMap.values())}</>;
69
- }
70
-
71
- // --------------------------------------------------
72
-
73
- export function Portal({
74
- name,
75
- hostName = DEFAULT_PORTAL_HOST,
76
- children,
77
- }: {
78
- name: string;
79
- hostName?: string;
80
- children: React.ReactNode;
81
- }) {
82
- useEffect(() => {
83
- updatePortal(hostName, name, children);
84
- }, [hostName, name, children]);
85
-
86
- useEffect(() => {
87
- return () => {
88
- removePortal(hostName, name);
89
- };
90
- }, [hostName, name]);
91
-
92
- return null;
93
- }
94
-
95
- // --------------------------------------------------
96
-
97
- const ROOT: ViewStyle = {
98
- flex: 1,
99
- };
100
-
101
- /**
102
- * @deprecated use `FullWindowOverlay` from `react-native-screens` instead
103
- * @example
104
- import { FullWindowOverlay } from "react-native-screens"
105
- const WindowOverlay = Platform.OS === "ios" ? FullWindowOverlay : Fragment
106
- // Wrap the `<PortalHost/>` with `<WindowOverlay/>`
107
- <WindowOverlay><PortalHost/></WindowOverlay>
108
- */
109
- export function useModalPortalRoot() {
110
- const ref = React.useRef<View>(null);
111
- const [offset, setSideOffSet] = React.useState(0);
112
-
113
- const onLayout = React.useCallback(() => {
114
- if (Platform.OS === 'web') return;
115
- ref.current?.measure((_x, _y, _width, _height, _pageX, pageY) => {
116
- setSideOffSet(-pageY);
117
- });
118
- }, []);
119
-
120
- return {
121
- ref,
122
- offset,
123
- onLayout,
124
- style: ROOT,
125
- };
126
- }
@@ -1,2 +0,0 @@
1
- export * from './radio';
2
- export * from './radio.types';