@tarojs/components 3.6.0-canary.10 → 3.6.0-canary.12

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 (350) hide show
  1. package/dist/cjs/taro-swiper-core_2.cjs.entry.js +3 -5
  2. package/dist/cjs/taro-swiper-core_2.cjs.entry.js.map +1 -1
  3. package/dist/collection/components/swiper/swiper.js +3 -5
  4. package/dist/collection/components/swiper/swiper.js.map +1 -1
  5. package/dist/components/helper.js +15 -0
  6. package/dist/components/helper.js.map +1 -0
  7. package/dist/components/hls.js +27622 -0
  8. package/dist/components/hls.js.map +1 -0
  9. package/dist/components/index.d.ts +97 -0
  10. package/dist/components/index.js +79 -0
  11. package/dist/components/index.js.map +1 -0
  12. package/dist/components/index2.js +78 -0
  13. package/dist/components/index2.js.map +1 -0
  14. package/dist/components/index3.js +33 -0
  15. package/dist/components/index3.js.map +1 -0
  16. package/dist/components/intersection-observer.js +728 -0
  17. package/dist/components/intersection-observer.js.map +1 -0
  18. package/dist/components/picker-group.js +220 -0
  19. package/dist/components/picker-group.js.map +1 -0
  20. package/dist/components/taro-ad-core.d.ts +11 -0
  21. package/dist/components/taro-ad-core.js +35 -0
  22. package/dist/components/taro-ad-core.js.map +1 -0
  23. package/dist/components/taro-ad-custom-core.d.ts +11 -0
  24. package/dist/components/taro-ad-custom-core.js +35 -0
  25. package/dist/components/taro-ad-custom-core.js.map +1 -0
  26. package/dist/components/taro-animation-video-core.d.ts +11 -0
  27. package/dist/components/taro-animation-video-core.js +35 -0
  28. package/dist/components/taro-animation-video-core.js.map +1 -0
  29. package/dist/components/taro-animation-view-core.d.ts +11 -0
  30. package/dist/components/taro-animation-view-core.js +35 -0
  31. package/dist/components/taro-animation-view-core.js.map +1 -0
  32. package/dist/components/taro-ar-camera-core.d.ts +11 -0
  33. package/dist/components/taro-ar-camera-core.js +35 -0
  34. package/dist/components/taro-ar-camera-core.js.map +1 -0
  35. package/dist/components/taro-audio-core.d.ts +11 -0
  36. package/dist/components/taro-audio-core.js +80 -0
  37. package/dist/components/taro-audio-core.js.map +1 -0
  38. package/dist/components/taro-aweme-data-core.d.ts +11 -0
  39. package/dist/components/taro-aweme-data-core.js +35 -0
  40. package/dist/components/taro-aweme-data-core.js.map +1 -0
  41. package/dist/components/taro-block-core.d.ts +11 -0
  42. package/dist/components/taro-block-core.js +31 -0
  43. package/dist/components/taro-block-core.js.map +1 -0
  44. package/dist/components/taro-button-core.d.ts +11 -0
  45. package/dist/components/taro-button-core.js +102 -0
  46. package/dist/components/taro-button-core.js.map +1 -0
  47. package/dist/components/taro-camera-core.d.ts +11 -0
  48. package/dist/components/taro-camera-core.js +35 -0
  49. package/dist/components/taro-camera-core.js.map +1 -0
  50. package/dist/components/taro-canvas-core.d.ts +11 -0
  51. package/dist/components/taro-canvas-core.js +57 -0
  52. package/dist/components/taro-canvas-core.js.map +1 -0
  53. package/dist/components/taro-checkbox-core.d.ts +11 -0
  54. package/dist/components/taro-checkbox-core.js +81 -0
  55. package/dist/components/taro-checkbox-core.js.map +1 -0
  56. package/dist/components/taro-checkbox-group-core.d.ts +11 -0
  57. package/dist/components/taro-checkbox-group-core.js +71 -0
  58. package/dist/components/taro-checkbox-group-core.js.map +1 -0
  59. package/dist/components/taro-comment-detail-core.d.ts +11 -0
  60. package/dist/components/taro-comment-detail-core.js +35 -0
  61. package/dist/components/taro-comment-detail-core.js.map +1 -0
  62. package/dist/components/taro-comment-list-core.d.ts +11 -0
  63. package/dist/components/taro-comment-list-core.js +35 -0
  64. package/dist/components/taro-comment-list-core.js.map +1 -0
  65. package/dist/components/taro-contact-button-core.d.ts +11 -0
  66. package/dist/components/taro-contact-button-core.js +35 -0
  67. package/dist/components/taro-contact-button-core.js.map +1 -0
  68. package/dist/components/taro-cover-image-core.d.ts +11 -0
  69. package/dist/components/taro-cover-image-core.js +52 -0
  70. package/dist/components/taro-cover-image-core.js.map +1 -0
  71. package/dist/components/taro-cover-view-core.d.ts +11 -0
  72. package/dist/components/taro-cover-view-core.js +89 -0
  73. package/dist/components/taro-cover-view-core.js.map +1 -0
  74. package/dist/components/taro-custom-wrapper-core.d.ts +11 -0
  75. package/dist/components/taro-custom-wrapper-core.js +31 -0
  76. package/dist/components/taro-custom-wrapper-core.js.map +1 -0
  77. package/dist/components/taro-editor-core.d.ts +11 -0
  78. package/dist/components/taro-editor-core.js +35 -0
  79. package/dist/components/taro-editor-core.js.map +1 -0
  80. package/dist/components/taro-follow-swan-core.d.ts +11 -0
  81. package/dist/components/taro-follow-swan-core.js +35 -0
  82. package/dist/components/taro-follow-swan-core.js.map +1 -0
  83. package/dist/components/taro-form-core.d.ts +11 -0
  84. package/dist/components/taro-form-core.js +140 -0
  85. package/dist/components/taro-form-core.js.map +1 -0
  86. package/dist/components/taro-functional-page-navigator-core.d.ts +11 -0
  87. package/dist/components/taro-functional-page-navigator-core.js +35 -0
  88. package/dist/components/taro-functional-page-navigator-core.js.map +1 -0
  89. package/dist/components/taro-icon-core.d.ts +11 -0
  90. package/dist/components/taro-icon-core.js +48 -0
  91. package/dist/components/taro-icon-core.js.map +1 -0
  92. package/dist/components/taro-image-core.d.ts +11 -0
  93. package/dist/components/taro-image-core.js +81 -0
  94. package/dist/components/taro-image-core.js.map +1 -0
  95. package/dist/components/taro-inline-payment-panel-core.d.ts +11 -0
  96. package/dist/components/taro-inline-payment-panel-core.js +35 -0
  97. package/dist/components/taro-inline-payment-panel-core.js.map +1 -0
  98. package/dist/components/taro-input-core.d.ts +11 -0
  99. package/dist/components/taro-input-core.js +246 -0
  100. package/dist/components/taro-input-core.js.map +1 -0
  101. package/dist/components/taro-keyboard-accessory-core.d.ts +11 -0
  102. package/dist/components/taro-keyboard-accessory-core.js +35 -0
  103. package/dist/components/taro-keyboard-accessory-core.js.map +1 -0
  104. package/dist/components/taro-label-core.d.ts +11 -0
  105. package/dist/components/taro-label-core.js +34 -0
  106. package/dist/components/taro-label-core.js.map +1 -0
  107. package/dist/components/taro-lifestyle-core.d.ts +11 -0
  108. package/dist/components/taro-lifestyle-core.js +35 -0
  109. package/dist/components/taro-lifestyle-core.js.map +1 -0
  110. package/dist/components/taro-like-core.d.ts +11 -0
  111. package/dist/components/taro-like-core.js +35 -0
  112. package/dist/components/taro-like-core.js.map +1 -0
  113. package/dist/components/taro-live-player-core.d.ts +11 -0
  114. package/dist/components/taro-live-player-core.js +35 -0
  115. package/dist/components/taro-live-player-core.js.map +1 -0
  116. package/dist/components/taro-live-pusher-core.d.ts +11 -0
  117. package/dist/components/taro-live-pusher-core.js +35 -0
  118. package/dist/components/taro-live-pusher-core.js.map +1 -0
  119. package/dist/components/taro-login-core.d.ts +11 -0
  120. package/dist/components/taro-login-core.js +35 -0
  121. package/dist/components/taro-login-core.js.map +1 -0
  122. package/dist/components/taro-lottie-core.d.ts +11 -0
  123. package/dist/components/taro-lottie-core.js +35 -0
  124. package/dist/components/taro-lottie-core.js.map +1 -0
  125. package/dist/components/taro-map-core.d.ts +11 -0
  126. package/dist/components/taro-map-core.js +35 -0
  127. package/dist/components/taro-map-core.js.map +1 -0
  128. package/dist/components/taro-match-media-core.d.ts +11 -0
  129. package/dist/components/taro-match-media-core.js +35 -0
  130. package/dist/components/taro-match-media-core.js.map +1 -0
  131. package/dist/components/taro-movable-area-core.d.ts +11 -0
  132. package/dist/components/taro-movable-area-core.js +175 -0
  133. package/dist/components/taro-movable-area-core.js.map +1 -0
  134. package/dist/components/taro-movable-view-core.d.ts +11 -0
  135. package/dist/components/taro-movable-view-core.js +361 -0
  136. package/dist/components/taro-movable-view-core.js.map +1 -0
  137. package/dist/components/taro-native-slot-core.d.ts +11 -0
  138. package/dist/components/taro-native-slot-core.js +35 -0
  139. package/dist/components/taro-native-slot-core.js.map +1 -0
  140. package/dist/components/taro-navigation-bar-core.d.ts +11 -0
  141. package/dist/components/taro-navigation-bar-core.js +35 -0
  142. package/dist/components/taro-navigation-bar-core.js.map +1 -0
  143. package/dist/components/taro-navigator-core.d.ts +11 -0
  144. package/dist/components/taro-navigator-core.js +96 -0
  145. package/dist/components/taro-navigator-core.js.map +1 -0
  146. package/dist/components/taro-official-account-core.d.ts +11 -0
  147. package/dist/components/taro-official-account-core.js +35 -0
  148. package/dist/components/taro-official-account-core.js.map +1 -0
  149. package/dist/components/taro-open-data-core.d.ts +11 -0
  150. package/dist/components/taro-open-data-core.js +35 -0
  151. package/dist/components/taro-open-data-core.js.map +1 -0
  152. package/dist/components/taro-page-container-core.d.ts +11 -0
  153. package/dist/components/taro-page-container-core.js +35 -0
  154. package/dist/components/taro-page-container-core.js.map +1 -0
  155. package/dist/components/taro-page-meta-core.d.ts +11 -0
  156. package/dist/components/taro-page-meta-core.js +35 -0
  157. package/dist/components/taro-page-meta-core.js.map +1 -0
  158. package/dist/components/taro-picker-core.d.ts +11 -0
  159. package/dist/components/taro-picker-core.js +538 -0
  160. package/dist/components/taro-picker-core.js.map +1 -0
  161. package/dist/components/taro-picker-group.d.ts +11 -0
  162. package/dist/components/taro-picker-group.js +8 -0
  163. package/dist/components/taro-picker-group.js.map +1 -0
  164. package/dist/components/taro-picker-view-column-core.d.ts +11 -0
  165. package/dist/components/taro-picker-view-column-core.js +115 -0
  166. package/dist/components/taro-picker-view-column-core.js.map +1 -0
  167. package/dist/components/taro-picker-view-core.d.ts +11 -0
  168. package/dist/components/taro-picker-view-core.js +114 -0
  169. package/dist/components/taro-picker-view-core.js.map +1 -0
  170. package/dist/components/taro-progress-core.d.ts +11 -0
  171. package/dist/components/taro-progress-core.js +62 -0
  172. package/dist/components/taro-progress-core.js.map +1 -0
  173. package/dist/components/taro-pull-to-refresh.d.ts +11 -0
  174. package/dist/components/taro-pull-to-refresh.js +284 -0
  175. package/dist/components/taro-pull-to-refresh.js.map +1 -0
  176. package/dist/components/taro-radio-core.d.ts +11 -0
  177. package/dist/components/taro-radio-core.js +83 -0
  178. package/dist/components/taro-radio-core.js.map +1 -0
  179. package/dist/components/taro-radio-group-core.d.ts +11 -0
  180. package/dist/components/taro-radio-group-core.js +82 -0
  181. package/dist/components/taro-radio-group-core.js.map +1 -0
  182. package/dist/components/taro-rich-text-core.d.ts +11 -0
  183. package/dist/components/taro-rich-text-core.js +86 -0
  184. package/dist/components/taro-rich-text-core.js.map +1 -0
  185. package/dist/components/taro-root-portal-core.d.ts +11 -0
  186. package/dist/components/taro-root-portal-core.js +35 -0
  187. package/dist/components/taro-root-portal-core.js.map +1 -0
  188. package/dist/components/taro-rtc-room-core.d.ts +11 -0
  189. package/dist/components/taro-rtc-room-core.js +35 -0
  190. package/dist/components/taro-rtc-room-core.js.map +1 -0
  191. package/dist/components/taro-rtc-room-item-core.d.ts +11 -0
  192. package/dist/components/taro-rtc-room-item-core.js +35 -0
  193. package/dist/components/taro-rtc-room-item-core.js.map +1 -0
  194. package/dist/components/taro-scroll-view-core.d.ts +11 -0
  195. package/dist/components/taro-scroll-view-core.js +184 -0
  196. package/dist/components/taro-scroll-view-core.js.map +1 -0
  197. package/dist/components/taro-share-element-core.d.ts +11 -0
  198. package/dist/components/taro-share-element-core.js +35 -0
  199. package/dist/components/taro-share-element-core.js.map +1 -0
  200. package/dist/components/taro-slider-core.d.ts +11 -0
  201. package/dist/components/taro-slider-core.js +196 -0
  202. package/dist/components/taro-slider-core.js.map +1 -0
  203. package/dist/components/taro-slot-core.d.ts +11 -0
  204. package/dist/components/taro-slot-core.js +35 -0
  205. package/dist/components/taro-slot-core.js.map +1 -0
  206. package/dist/components/taro-swiper-core.d.ts +11 -0
  207. package/dist/components/taro-swiper-core.js +10165 -0
  208. package/dist/components/taro-swiper-core.js.map +1 -0
  209. package/dist/components/taro-swiper-item-core.d.ts +11 -0
  210. package/dist/components/taro-swiper-item-core.js +34 -0
  211. package/dist/components/taro-swiper-item-core.js.map +1 -0
  212. package/dist/components/taro-switch-core.d.ts +11 -0
  213. package/dist/components/taro-switch-core.js +87 -0
  214. package/dist/components/taro-switch-core.js.map +1 -0
  215. package/dist/components/taro-tab-item-core.d.ts +11 -0
  216. package/dist/components/taro-tab-item-core.js +35 -0
  217. package/dist/components/taro-tab-item-core.js.map +1 -0
  218. package/dist/components/taro-tabbar.d.ts +11 -0
  219. package/dist/components/taro-tabbar.js +457 -0
  220. package/dist/components/taro-tabbar.js.map +1 -0
  221. package/dist/components/taro-tabs-core.d.ts +11 -0
  222. package/dist/components/taro-tabs-core.js +35 -0
  223. package/dist/components/taro-tabs-core.js.map +1 -0
  224. package/dist/components/taro-text-core.d.ts +11 -0
  225. package/dist/components/taro-text-core.js +41 -0
  226. package/dist/components/taro-text-core.js.map +1 -0
  227. package/dist/components/taro-textarea-core.d.ts +11 -0
  228. package/dist/components/taro-textarea-core.js +164 -0
  229. package/dist/components/taro-textarea-core.js.map +1 -0
  230. package/dist/components/taro-video-control.d.ts +11 -0
  231. package/dist/components/taro-video-control.js +8 -0
  232. package/dist/components/taro-video-control.js.map +1 -0
  233. package/dist/components/taro-video-core.d.ts +11 -0
  234. package/dist/components/taro-video-core.js +485 -0
  235. package/dist/components/taro-video-core.js.map +1 -0
  236. package/dist/components/taro-video-danmu.d.ts +11 -0
  237. package/dist/components/taro-video-danmu.js +8 -0
  238. package/dist/components/taro-video-danmu.js.map +1 -0
  239. package/dist/components/taro-view-core.d.ts +11 -0
  240. package/dist/components/taro-view-core.js +101 -0
  241. package/dist/components/taro-view-core.js.map +1 -0
  242. package/dist/components/taro-voip-room-core.d.ts +11 -0
  243. package/dist/components/taro-voip-room-core.js +35 -0
  244. package/dist/components/taro-voip-room-core.js.map +1 -0
  245. package/dist/components/taro-web-view-core.d.ts +11 -0
  246. package/dist/components/taro-web-view-core.js +46 -0
  247. package/dist/components/taro-web-view-core.js.map +1 -0
  248. package/dist/components/video-control.js +233 -0
  249. package/dist/components/video-control.js.map +1 -0
  250. package/dist/components/video-danmu.js +110 -0
  251. package/dist/components/video-danmu.js.map +1 -0
  252. package/dist/esm/taro-swiper-core_2.entry.js +3 -5
  253. package/dist/esm/taro-swiper-core_2.entry.js.map +1 -1
  254. package/dist/esm-es5/taro-swiper-core_2.entry.js +1 -1
  255. package/dist/esm-es5/taro-swiper-core_2.entry.js.map +1 -1
  256. package/dist/taro-components/{p-d388c097.entry.js → p-22315b9d.entry.js} +2 -2
  257. package/dist/taro-components/p-22315b9d.entry.js.map +1 -0
  258. package/dist/taro-components/{p-6831f7b1.system.entry.js → p-c3c37cbb.system.entry.js} +2 -2
  259. package/dist/taro-components/p-c3c37cbb.system.entry.js.map +1 -0
  260. package/dist/taro-components/p-cb17d8bd.system.js +1 -1
  261. package/dist/taro-components/taro-components.esm.js +1 -1
  262. package/lib/react/components.d.ts +82 -0
  263. package/lib/react/components.js +85 -0
  264. package/lib/react/components.js.map +1 -0
  265. package/lib/react/helper.d.ts +10 -0
  266. package/lib/react/helper.js +7 -0
  267. package/lib/react/helper.js.map +1 -0
  268. package/lib/react/index.d.ts +1 -0
  269. package/lib/react/index.js +2 -0
  270. package/lib/react/index.js.map +1 -0
  271. package/lib/react/interfaces-4f837811.d.ts +30 -0
  272. package/lib/react/react-component-lib/createComponent.d.ts +10 -0
  273. package/lib/react/react-component-lib/createComponent.js +70 -0
  274. package/lib/react/react-component-lib/createComponent.js.map +1 -0
  275. package/lib/react/react-component-lib/createOverlayComponent.d.ts +21 -0
  276. package/lib/react/react-component-lib/createOverlayComponent.js +91 -0
  277. package/lib/react/react-component-lib/createOverlayComponent.js.map +1 -0
  278. package/lib/react/react-component-lib/index.d.ts +2 -0
  279. package/lib/react/react-component-lib/index.js +3 -0
  280. package/lib/react/react-component-lib/index.js.map +1 -0
  281. package/lib/react/react-component-lib/utils/attachProps.d.ts +13 -0
  282. package/lib/react/react-component-lib/utils/attachProps.js +101 -0
  283. package/lib/react/react-component-lib/utils/attachProps.js.map +1 -0
  284. package/lib/react/react-component-lib/utils/case.d.ts +3 -0
  285. package/lib/react/react-component-lib/utils/case.js +9 -0
  286. package/lib/react/react-component-lib/utils/case.js.map +1 -0
  287. package/lib/react/react-component-lib/utils/index.d.ts +11 -0
  288. package/lib/react/react-component-lib/utils/index.js +37 -0
  289. package/lib/react/react-component-lib/utils/index.js.map +1 -0
  290. package/lib/vue2/components.d.ts +352 -0
  291. package/lib/vue2/components.js +620 -0
  292. package/lib/vue2/components.js.map +1 -0
  293. package/lib/vue2/index.d.ts +3 -0
  294. package/lib/vue2/index.js +21 -0
  295. package/lib/vue2/index.js.map +1 -0
  296. package/lib/vue2/vue-component-lib/utils.d.ts +6 -0
  297. package/lib/vue2/vue-component-lib/utils.js +32 -0
  298. package/lib/vue2/vue-component-lib/utils.js.map +1 -0
  299. package/lib/vue3/components.d.ts +82 -0
  300. package/lib/vue3/components.js +386 -0
  301. package/lib/vue3/components.js.map +1 -0
  302. package/lib/vue3/index.d.ts +3 -0
  303. package/lib/vue3/index.js +15 -0
  304. package/lib/vue3/index.js.map +1 -0
  305. package/lib/vue3/vue-component-lib/utils.d.ts +21 -0
  306. package/lib/vue3/vue-component-lib/utils.js +163 -0
  307. package/lib/vue3/vue-component-lib/utils.js.map +1 -0
  308. package/package.json +9 -7
  309. package/types/index.vue3.d.ts +4 -4
  310. package/dist/react/component-lib/index.js +0 -74
  311. package/dist/react/component-lib/input.js +0 -17
  312. package/dist/react/component-lib/reactify-wc.js +0 -206
  313. package/dist/react/components.js +0 -82
  314. package/dist/react/helper.js +0 -8
  315. package/dist/react/index.js +0 -1
  316. package/dist/react/react-component-lib/createComponent.js +0 -99
  317. package/dist/react/react-component-lib/createOverlayComponent.js +0 -178
  318. package/dist/react/react-component-lib/index.js +0 -2
  319. package/dist/react/react-component-lib/interfaces.js +0 -0
  320. package/dist/react/react-component-lib/utils/attachProps.js +0 -98
  321. package/dist/react/react-component-lib/utils/case.js +0 -10
  322. package/dist/react/react-component-lib/utils/dev.js +0 -12
  323. package/dist/react/react-component-lib/utils/index.js +0 -37
  324. package/dist/taro-components/p-6831f7b1.system.entry.js.map +0 -1
  325. package/dist/taro-components/p-d388c097.entry.js.map +0 -1
  326. package/dist/vue2/component-lib/components.js +0 -71
  327. package/dist/vue2/component-lib/createComponent.js +0 -21
  328. package/dist/vue2/component-lib/createFormsComponent.js +0 -53
  329. package/dist/vue2/component-lib/icon.js +0 -19
  330. package/dist/vue2/component-lib/image.js +0 -20
  331. package/dist/vue2/component-lib/index.js +0 -28
  332. package/dist/vue2/component-lib/mixins/listeners.js +0 -14
  333. package/dist/vue2/component-lib/mixins/refs.js +0 -44
  334. package/dist/vue2/component-lib/picker.js +0 -40
  335. package/dist/vue2/component-lib/scroll-view.js +0 -32
  336. package/dist/vue2/component-lib/text.js +0 -20
  337. package/dist/vue2/components.js +0 -542
  338. package/dist/vue2/index.js +0 -22
  339. package/dist/vue2/vue-component-lib/utils.js +0 -40
  340. package/dist/vue3/component-lib/createComponent.js +0 -23
  341. package/dist/vue3/component-lib/createFormsComponent.js +0 -43
  342. package/dist/vue3/component-lib/forwardRef.js +0 -9
  343. package/dist/vue3/component-lib/icon.js +0 -21
  344. package/dist/vue3/component-lib/image.js +0 -22
  345. package/dist/vue3/component-lib/index.js +0 -76
  346. package/dist/vue3/component-lib/scroll-view.js +0 -28
  347. package/dist/vue3/component-lib/text.js +0 -22
  348. package/dist/vue3/components.js +0 -80
  349. package/dist/vue3/index.js +0 -17
  350. package/dist/vue3/vue-component-lib/utils.js +0 -175
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import { OverlayEventDetail } from "../interfaces-4f837811";
3
+ import { StencilReactForwardedRef } from "./utils/index";
4
+ interface OverlayElement extends HTMLElement {
5
+ present: () => Promise<void>;
6
+ dismiss: (data?: any, role?: string | undefined) => Promise<boolean>;
7
+ }
8
+ interface ReactOverlayProps {
9
+ children?: React.ReactNode;
10
+ isOpen: boolean;
11
+ onDidDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;
12
+ onDidPresent?: (event: CustomEvent<OverlayEventDetail>) => void;
13
+ onWillDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;
14
+ onWillPresent?: (event: CustomEvent<OverlayEventDetail>) => void;
15
+ }
16
+ declare const createOverlayComponent: <OverlayComponent extends object, OverlayType extends OverlayElement>(tagName: string, controller: {
17
+ create: (options: any) => Promise<OverlayType>;
18
+ }, customElement?: any) => React.ForwardRefExoticComponent<React.PropsWithoutRef<OverlayComponent & ReactOverlayProps & {
19
+ forwardedRef?: StencilReactForwardedRef<OverlayType>;
20
+ }> & React.RefAttributes<OverlayType>>;
21
+ export { ReactOverlayProps, createOverlayComponent };
@@ -0,0 +1,91 @@
1
+ import { __rest } from 'tslib';
2
+ import React from 'react';
3
+ import ReactDOM from 'react-dom';
4
+ import { defineCustomElement, setRef } from './utils/index.js';
5
+ import { dashToPascalCase } from './utils/case.js';
6
+ import { attachProps } from './utils/attachProps.js';
7
+
8
+ const createOverlayComponent = (tagName, controller, customElement) => {
9
+ defineCustomElement(tagName, customElement);
10
+ const displayName = dashToPascalCase(tagName);
11
+ const didDismissEventName = `on${displayName}DidDismiss`;
12
+ const didPresentEventName = `on${displayName}DidPresent`;
13
+ const willDismissEventName = `on${displayName}WillDismiss`;
14
+ const willPresentEventName = `on${displayName}WillPresent`;
15
+ let isDismissing = false;
16
+ class Overlay extends React.Component {
17
+ constructor(props) {
18
+ super(props);
19
+ if (typeof document !== 'undefined') {
20
+ this.el = document.createElement('div');
21
+ }
22
+ this.handleDismiss = this.handleDismiss.bind(this);
23
+ }
24
+ static get displayName() {
25
+ return displayName;
26
+ }
27
+ componentDidMount() {
28
+ if (this.props.isOpen) {
29
+ this.present();
30
+ }
31
+ }
32
+ componentWillUnmount() {
33
+ if (this.overlay) {
34
+ this.overlay.dismiss();
35
+ }
36
+ }
37
+ handleDismiss(event) {
38
+ if (this.props.onDidDismiss) {
39
+ this.props.onDidDismiss(event);
40
+ }
41
+ setRef(this.props.forwardedRef, null);
42
+ }
43
+ shouldComponentUpdate(nextProps) {
44
+ // Check if the overlay component is about to dismiss
45
+ if (this.overlay && nextProps.isOpen !== this.props.isOpen && nextProps.isOpen === false) {
46
+ isDismissing = true;
47
+ }
48
+ return true;
49
+ }
50
+ async componentDidUpdate(prevProps) {
51
+ if (this.overlay) {
52
+ attachProps(this.overlay, this.props, prevProps);
53
+ }
54
+ if (prevProps.isOpen !== this.props.isOpen && this.props.isOpen === true) {
55
+ this.present(prevProps);
56
+ }
57
+ if (this.overlay && prevProps.isOpen !== this.props.isOpen && this.props.isOpen === false) {
58
+ await this.overlay.dismiss();
59
+ isDismissing = false;
60
+ /**
61
+ * Now that the overlay is dismissed
62
+ * we need to render again so that any
63
+ * inner components will be unmounted
64
+ */
65
+ this.forceUpdate();
66
+ }
67
+ }
68
+ async present(prevProps) {
69
+ const _a = this.props, { children, isOpen, onDidDismiss, onDidPresent, onWillDismiss, onWillPresent } = _a, cProps = __rest(_a, ["children", "isOpen", "onDidDismiss", "onDidPresent", "onWillDismiss", "onWillPresent"]);
70
+ const elementProps = Object.assign(Object.assign({}, cProps), { ref: this.props.forwardedRef, [didDismissEventName]: this.handleDismiss, [didPresentEventName]: (e) => this.props.onDidPresent && this.props.onDidPresent(e), [willDismissEventName]: (e) => this.props.onWillDismiss && this.props.onWillDismiss(e), [willPresentEventName]: (e) => this.props.onWillPresent && this.props.onWillPresent(e) });
71
+ this.overlay = await controller.create(Object.assign(Object.assign({}, elementProps), { component: this.el, componentProps: {} }));
72
+ setRef(this.props.forwardedRef, this.overlay);
73
+ attachProps(this.overlay, elementProps, prevProps);
74
+ await this.overlay.present();
75
+ }
76
+ render() {
77
+ /**
78
+ * Continue to render the component even when
79
+ * overlay is dismissing otherwise component
80
+ * will be hidden before animation is done.
81
+ */
82
+ return ReactDOM.createPortal(this.props.isOpen || isDismissing ? this.props.children : null, this.el);
83
+ }
84
+ }
85
+ return React.forwardRef((props, ref) => {
86
+ return React.createElement(Overlay, Object.assign({}, props, { forwardedRef: ref }));
87
+ });
88
+ };
89
+
90
+ export { createOverlayComponent };
91
+ //# sourceMappingURL=createOverlayComponent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createOverlayComponent.js","sources":["../../../../taro-components-library-react/src/react-component-lib/createOverlayComponent.tsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { OverlayEventDetail } from './interfaces';\nimport {\n StencilReactForwardedRef,\n attachProps,\n dashToPascalCase,\n defineCustomElement,\n setRef,\n} from './utils';\n\ninterface OverlayElement extends HTMLElement {\n present: () => Promise<void>;\n dismiss: (data?: any, role?: string | undefined) => Promise<boolean>;\n}\n\nexport interface ReactOverlayProps {\n children?: React.ReactNode;\n isOpen: boolean;\n onDidDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;\n onDidPresent?: (event: CustomEvent<OverlayEventDetail>) => void;\n onWillDismiss?: (event: CustomEvent<OverlayEventDetail>) => void;\n onWillPresent?: (event: CustomEvent<OverlayEventDetail>) => void;\n}\n\nexport const createOverlayComponent = <\n OverlayComponent extends object,\n OverlayType extends OverlayElement\n>(\n tagName: string,\n controller: { create: (options: any) => Promise<OverlayType> },\n customElement?: any\n) => {\n defineCustomElement(tagName, customElement);\n\n const displayName = dashToPascalCase(tagName);\n const didDismissEventName = `on${displayName}DidDismiss`;\n const didPresentEventName = `on${displayName}DidPresent`;\n const willDismissEventName = `on${displayName}WillDismiss`;\n const willPresentEventName = `on${displayName}WillPresent`;\n\n type Props = OverlayComponent &\n ReactOverlayProps & {\n forwardedRef?: StencilReactForwardedRef<OverlayType>;\n };\n\n let isDismissing = false;\n\n class Overlay extends React.Component<Props> {\n overlay?: OverlayType;\n el!: HTMLDivElement;\n\n constructor(props: Props) {\n super(props);\n if (typeof document !== 'undefined') {\n this.el = document.createElement('div');\n }\n this.handleDismiss = this.handleDismiss.bind(this);\n }\n\n static get displayName() {\n return displayName;\n }\n\n componentDidMount() {\n if (this.props.isOpen) {\n this.present();\n }\n }\n\n componentWillUnmount() {\n if (this.overlay) {\n this.overlay.dismiss();\n }\n }\n\n handleDismiss(event: CustomEvent<OverlayEventDetail<any>>) {\n if (this.props.onDidDismiss) {\n this.props.onDidDismiss(event);\n }\n setRef(this.props.forwardedRef, null)\n }\n\n shouldComponentUpdate(nextProps: Props) {\n // Check if the overlay component is about to dismiss\n if (this.overlay && nextProps.isOpen !== this.props.isOpen && nextProps.isOpen === false) {\n isDismissing = true;\n }\n\n return true;\n }\n\n async componentDidUpdate(prevProps: Props) {\n if (this.overlay) {\n attachProps(this.overlay, this.props, prevProps);\n }\n\n if (prevProps.isOpen !== this.props.isOpen && this.props.isOpen === true) {\n this.present(prevProps);\n }\n if (this.overlay && prevProps.isOpen !== this.props.isOpen && this.props.isOpen === false) {\n await this.overlay.dismiss();\n isDismissing = false;\n\n /**\n * Now that the overlay is dismissed\n * we need to render again so that any\n * inner components will be unmounted\n */\n this.forceUpdate();\n }\n }\n\n async present(prevProps?: Props) {\n const {\n children,\n isOpen,\n onDidDismiss,\n onDidPresent,\n onWillDismiss,\n onWillPresent,\n ...cProps\n } = this.props;\n const elementProps = {\n ...cProps,\n ref: this.props.forwardedRef,\n [didDismissEventName]: this.handleDismiss,\n [didPresentEventName]: (e: CustomEvent) =>\n this.props.onDidPresent && this.props.onDidPresent(e),\n [willDismissEventName]: (e: CustomEvent) =>\n this.props.onWillDismiss && this.props.onWillDismiss(e),\n [willPresentEventName]: (e: CustomEvent) =>\n this.props.onWillPresent && this.props.onWillPresent(e),\n };\n\n this.overlay = await controller.create({\n ...elementProps,\n component: this.el,\n componentProps: {},\n });\n\n setRef(this.props.forwardedRef, this.overlay);\n attachProps(this.overlay, elementProps, prevProps);\n\n await this.overlay.present();\n }\n\n render() {\n /**\n * Continue to render the component even when\n * overlay is dismissing otherwise component\n * will be hidden before animation is done.\n */\n return ReactDOM.createPortal(this.props.isOpen || isDismissing ? this.props.children : null, this.el);\n }\n }\n\n return React.forwardRef<OverlayType, Props>((props, ref) => {\n return <Overlay {...props} forwardedRef={ref} />;\n });\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { createReactComponent } from "./createComponent";
2
+ export { createOverlayComponent } from "./createOverlayComponent";
@@ -0,0 +1,3 @@
1
+ export { createReactComponent } from './createComponent.js';
2
+ export { createOverlayComponent } from './createOverlayComponent.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,13 @@
1
+ declare const attachProps: (node: HTMLElement, newProps: any, oldProps?: any) => void;
2
+ declare const getClassName: (classList: DOMTokenList, newProps: any, oldProps: any) => string;
3
+ /**
4
+ * Checks if an event is supported in the current execution environment.
5
+ * @license Modernizr 3.0.0pre (Custom Build) | MIT
6
+ */
7
+ declare const isCoveredByReact: (eventNameSuffix: string) => boolean;
8
+ declare const syncEvent: (node: Element & {
9
+ __events?: {
10
+ [key: string]: (e: Event) => any;
11
+ };
12
+ }, eventName: string, newEventHandler?: (e: Event) => any) => void;
13
+ export { attachProps, getClassName, isCoveredByReact, syncEvent };
@@ -0,0 +1,101 @@
1
+ import { camelToDashCase } from './case.js';
2
+
3
+ const attachProps = (node, newProps, oldProps = {}) => {
4
+ // some test frameworks don't render DOM elements, so we test here to make sure we are dealing with DOM first
5
+ if (node instanceof Element) {
6
+ // add any classes in className to the class list
7
+ const className = getClassName(node.classList, newProps, oldProps);
8
+ if (className !== '') {
9
+ node.className = className;
10
+ }
11
+ Object.keys(newProps).forEach((name) => {
12
+ if (name === 'children' ||
13
+ name === 'style' ||
14
+ name === 'ref' ||
15
+ name === 'class' ||
16
+ name === 'className' ||
17
+ name === 'forwardedRef') {
18
+ return;
19
+ }
20
+ if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {
21
+ const eventName = name.substring(2);
22
+ const eventNameLc = eventName.toLowerCase();
23
+ if (!isCoveredByReact(eventNameLc)) {
24
+ syncEvent(node, eventNameLc, newProps[name]);
25
+ }
26
+ }
27
+ else {
28
+ node[name] = newProps[name];
29
+ const propType = typeof newProps[name];
30
+ if (propType === 'string') {
31
+ node.setAttribute(camelToDashCase(name), newProps[name]);
32
+ }
33
+ }
34
+ });
35
+ }
36
+ };
37
+ const getClassName = (classList, newProps, oldProps) => {
38
+ const newClassProp = newProps.className || newProps.class;
39
+ const oldClassProp = oldProps.className || oldProps.class;
40
+ // map the classes to Maps for performance
41
+ const currentClasses = arrayToMap(classList);
42
+ const incomingPropClasses = arrayToMap(newClassProp ? newClassProp.split(' ') : []);
43
+ const oldPropClasses = arrayToMap(oldClassProp ? oldClassProp.split(' ') : []);
44
+ const finalClassNames = [];
45
+ // loop through each of the current classes on the component
46
+ // to see if it should be a part of the classNames added
47
+ currentClasses.forEach((currentClass) => {
48
+ if (incomingPropClasses.has(currentClass)) {
49
+ // add it as its already included in classnames coming in from newProps
50
+ finalClassNames.push(currentClass);
51
+ incomingPropClasses.delete(currentClass);
52
+ }
53
+ else if (!oldPropClasses.has(currentClass)) {
54
+ // add it as it has NOT been removed by user
55
+ finalClassNames.push(currentClass);
56
+ }
57
+ });
58
+ incomingPropClasses.forEach((s) => finalClassNames.push(s));
59
+ return finalClassNames.join(' ');
60
+ };
61
+ /**
62
+ * Checks if an event is supported in the current execution environment.
63
+ * @license Modernizr 3.0.0pre (Custom Build) | MIT
64
+ */
65
+ const isCoveredByReact = (eventNameSuffix) => {
66
+ if (typeof document === 'undefined') {
67
+ return true;
68
+ }
69
+ else {
70
+ const eventName = 'on' + eventNameSuffix;
71
+ let isSupported = eventName in document;
72
+ if (!isSupported) {
73
+ const element = document.createElement('div');
74
+ element.setAttribute(eventName, 'return;');
75
+ isSupported = typeof element[eventName] === 'function';
76
+ }
77
+ return isSupported;
78
+ }
79
+ };
80
+ const syncEvent = (node, eventName, newEventHandler) => {
81
+ const eventStore = node.__events || (node.__events = {});
82
+ const oldEventHandler = eventStore[eventName];
83
+ // Remove old listener so they don't double up.
84
+ if (oldEventHandler) {
85
+ node.removeEventListener(eventName, oldEventHandler);
86
+ }
87
+ // Bind new listener.
88
+ node.addEventListener(eventName, (eventStore[eventName] = function handler(e) {
89
+ if (newEventHandler) {
90
+ newEventHandler.call(this, e);
91
+ }
92
+ }));
93
+ };
94
+ const arrayToMap = (arr) => {
95
+ const map = new Map();
96
+ arr.forEach((s) => map.set(s, s));
97
+ return map;
98
+ };
99
+
100
+ export { attachProps, getClassName, isCoveredByReact, syncEvent };
101
+ //# sourceMappingURL=attachProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachProps.js","sources":["../../../../../taro-components-library-react/src/react-component-lib/utils/attachProps.ts"],"sourcesContent":["import { camelToDashCase } from './case';\n\nexport const attachProps = (node: HTMLElement, newProps: any, oldProps: any = {}) => {\n // some test frameworks don't render DOM elements, so we test here to make sure we are dealing with DOM first\n if (node instanceof Element) {\n // add any classes in className to the class list\n const className = getClassName(node.classList, newProps, oldProps);\n if (className !== '') {\n node.className = className;\n }\n\n Object.keys(newProps).forEach((name) => {\n if (\n name === 'children' ||\n name === 'style' ||\n name === 'ref' ||\n name === 'class' ||\n name === 'className' ||\n name === 'forwardedRef'\n ) {\n return;\n }\n if (name.indexOf('on') === 0 && name[2] === name[2].toUpperCase()) {\n const eventName = name.substring(2);\n const eventNameLc = eventName.toLowerCase();\n\n if (!isCoveredByReact(eventNameLc)) {\n syncEvent(node, eventNameLc, newProps[name]);\n }\n } else {\n (node as any)[name] = newProps[name];\n const propType = typeof newProps[name];\n if (propType === 'string') {\n node.setAttribute(camelToDashCase(name), newProps[name]);\n }\n }\n });\n }\n};\n\nexport const getClassName = (classList: DOMTokenList, newProps: any, oldProps: any) => {\n const newClassProp: string = newProps.className || newProps.class;\n const oldClassProp: string = oldProps.className || oldProps.class;\n // map the classes to Maps for performance\n const currentClasses = arrayToMap(classList);\n const incomingPropClasses = arrayToMap(newClassProp ? newClassProp.split(' ') : []);\n const oldPropClasses = arrayToMap(oldClassProp ? oldClassProp.split(' ') : []);\n const finalClassNames: string[] = [];\n // loop through each of the current classes on the component\n // to see if it should be a part of the classNames added\n currentClasses.forEach((currentClass) => {\n if (incomingPropClasses.has(currentClass)) {\n // add it as its already included in classnames coming in from newProps\n finalClassNames.push(currentClass);\n incomingPropClasses.delete(currentClass);\n } else if (!oldPropClasses.has(currentClass)) {\n // add it as it has NOT been removed by user\n finalClassNames.push(currentClass);\n }\n });\n incomingPropClasses.forEach((s) => finalClassNames.push(s));\n return finalClassNames.join(' ');\n};\n\n/**\n * Checks if an event is supported in the current execution environment.\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nexport const isCoveredByReact = (eventNameSuffix: string) => {\n if (typeof document === 'undefined') {\n return true;\n } else {\n const eventName = 'on' + eventNameSuffix;\n let isSupported = eventName in document;\n\n if (!isSupported) {\n const element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof (element as any)[eventName] === 'function';\n }\n\n return isSupported;\n }\n};\n\nexport const syncEvent = (\n node: Element & { __events?: { [key: string]: ((e: Event) => any) | undefined } },\n eventName: string,\n newEventHandler?: (e: Event) => any\n) => {\n const eventStore = node.__events || (node.__events = {});\n const oldEventHandler = eventStore[eventName];\n\n // Remove old listener so they don't double up.\n if (oldEventHandler) {\n node.removeEventListener(eventName, oldEventHandler);\n }\n\n // Bind new listener.\n node.addEventListener(\n eventName,\n (eventStore[eventName] = function handler(e: Event) {\n if (newEventHandler) {\n newEventHandler.call(this, e);\n }\n })\n );\n};\n\nconst arrayToMap = (arr: string[] | DOMTokenList) => {\n const map = new Map<string, string>();\n (arr as string[]).forEach((s: string) => map.set(s, s));\n return map;\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const dashToPascalCase: (str: string) => string;
2
+ declare const camelToDashCase: (str: string) => string;
3
+ export { dashToPascalCase, camelToDashCase };
@@ -0,0 +1,9 @@
1
+ const dashToPascalCase = (str) => str
2
+ .toLowerCase()
3
+ .split('-')
4
+ .map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))
5
+ .join('');
6
+ const camelToDashCase = (str) => str.replace(/([A-Z])/g, (m) => `-${m[0].toLowerCase()}`);
7
+
8
+ export { camelToDashCase, dashToPascalCase };
9
+ //# sourceMappingURL=case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"case.js","sources":["../../../../../taro-components-library-react/src/react-component-lib/utils/case.ts"],"sourcesContent":["export const dashToPascalCase = (str: string) =>\n str\n .toLowerCase()\n .split('-')\n .map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))\n .join('');\nexport const camelToDashCase = (str: string) =>\n str.replace(/([A-Z])/g, (m: string) => `-${m[0].toLowerCase()}`);\n"],"names":[],"mappings":"MAAa,gBAAgB,GAAG,CAAC,GAAW,KAC1C,GAAG;AACA,KAAA,WAAW,EAAE;KACb,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACpE,IAAI,CAAC,EAAE,EAAE;AACP,MAAM,eAAe,GAAG,CAAC,GAAW,KACzC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAS,KAAK,CAAA,CAAA,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA,CAAE;;;;"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { StyleReactProps } from "../../interfaces-4f837811";
3
+ type StencilReactExternalProps<PropType, ElementType> = PropType & Omit<React.HTMLAttributes<ElementType>, 'style'> & StyleReactProps;
4
+ type StencilReactForwardedRef<T> = ((instance: T | null) => void) | React.MutableRefObject<T | null> | null;
5
+ declare const setRef: (ref: StencilReactForwardedRef<any> | React.Ref<any> | undefined, value: any) => void;
6
+ declare const mergeRefs: (...refs: (StencilReactForwardedRef<any> | React.Ref<any> | undefined)[]) => React.RefCallback<any>;
7
+ declare const createForwardRef: <PropType, ElementType>(ReactComponent: any, displayName: string) => React.ForwardRefExoticComponent<React.PropsWithoutRef<StencilReactExternalProps<PropType, ElementType>> & React.RefAttributes<ElementType>>;
8
+ declare const defineCustomElement: (tagName: string, customElement: any) => void;
9
+ export { StencilReactExternalProps, StencilReactForwardedRef, setRef, mergeRefs, createForwardRef, defineCustomElement };
10
+ export * from "./attachProps";
11
+ export * from "./case";
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ export { attachProps, getClassName, isCoveredByReact, syncEvent } from './attachProps.js';
3
+ export { camelToDashCase, dashToPascalCase } from './case.js';
4
+
5
+ const setRef = (ref, value) => {
6
+ if (typeof ref === 'function') {
7
+ ref(value);
8
+ }
9
+ else if (ref != null) {
10
+ // Cast as a MutableRef so we can assign current
11
+ ref.current = value;
12
+ }
13
+ };
14
+ const mergeRefs = (...refs) => {
15
+ return (value) => {
16
+ refs.forEach(ref => {
17
+ setRef(ref, value);
18
+ });
19
+ };
20
+ };
21
+ const createForwardRef = (ReactComponent, displayName) => {
22
+ const forwardRef = (props, ref) => {
23
+ return React.createElement(ReactComponent, Object.assign({}, props, { forwardedRef: ref }));
24
+ };
25
+ forwardRef.displayName = displayName;
26
+ return React.forwardRef(forwardRef);
27
+ };
28
+ const defineCustomElement = (tagName, customElement) => {
29
+ if (customElement !== undefined &&
30
+ typeof customElements !== 'undefined' &&
31
+ !customElements.get(tagName)) {
32
+ customElements.define(tagName, customElement);
33
+ }
34
+ };
35
+
36
+ export { createForwardRef, defineCustomElement, mergeRefs, setRef };
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../taro-components-library-react/src/react-component-lib/utils/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport type { StyleReactProps } from '../interfaces';\n\nexport type StencilReactExternalProps<PropType, ElementType> = PropType &\n Omit<React.HTMLAttributes<ElementType>, 'style'> &\n StyleReactProps;\n\n// This will be replaced with React.ForwardedRef when react-output-target is upgraded to React v17\nexport type StencilReactForwardedRef<T> = ((instance: T | null) => void) | React.MutableRefObject<T | null> | null;\n\nexport const setRef = (ref: StencilReactForwardedRef<any> | React.Ref<any> | undefined, value: any) => {\n if (typeof ref === 'function') {\n ref(value)\n } else if (ref != null) {\n // Cast as a MutableRef so we can assign current\n (ref as React.MutableRefObject<any>).current = value\n }\n};\n\nexport const mergeRefs = (\n ...refs: (StencilReactForwardedRef<any> | React.Ref<any> | undefined)[]\n): React.RefCallback<any> => {\n return (value: any) => {\n refs.forEach(ref => {\n setRef(ref, value)\n })\n }\n};\n\nexport const createForwardRef = <PropType, ElementType>(\n ReactComponent: any,\n displayName: string,\n) => {\n const forwardRef = (\n props: StencilReactExternalProps<PropType, ElementType>,\n ref: StencilReactForwardedRef<ElementType>,\n ) => {\n return <ReactComponent {...props} forwardedRef={ref} />;\n };\n forwardRef.displayName = displayName;\n\n return React.forwardRef(forwardRef);\n};\n\nexport const defineCustomElement = (tagName: string, customElement: any) => {\n if (\n customElement !== undefined &&\n typeof customElements !== 'undefined' &&\n !customElements.get(tagName)\n ) {\n customElements.define(tagName, customElement);\n }\n}\n\nexport * from './attachProps';\nexport * from './case';\n"],"names":[],"mappings":";;;;MAWa,MAAM,GAAG,CAAC,GAA+D,EAAE,KAAU,KAAI;AACpG,IAAA,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE;QAC7B,GAAG,CAAC,KAAK,CAAC,CAAA;AACX,KAAA;SAAM,IAAI,GAAG,IAAI,IAAI,EAAE;;AAErB,QAAA,GAAmC,CAAC,OAAO,GAAG,KAAK,CAAA;AACrD,KAAA;AACH,EAAE;MAEW,SAAS,GAAG,CACvB,GAAG,IAAoE,KAC7C;IAC1B,OAAO,CAAC,KAAU,KAAI;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,IAAG;AACjB,YAAA,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACpB,SAAC,CAAC,CAAA;AACJ,KAAC,CAAA;AACH,EAAE;MAEW,gBAAgB,GAAG,CAC9B,cAAmB,EACnB,WAAmB,KACjB;AACF,IAAA,MAAM,UAAU,GAAG,CACjB,KAAuD,EACvD,GAA0C,KACxC;QACF,OAAO,KAAA,CAAA,aAAA,CAAC,cAAc,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,KAAK,IAAE,YAAY,EAAE,GAAG,EAAA,CAAA,CAAI,CAAC;AAC1D,KAAC,CAAC;AACF,IAAA,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;AAErC,IAAA,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACtC,EAAE;MAEW,mBAAmB,GAAG,CAAC,OAAe,EAAE,aAAkB,KAAI;IACzE,IACE,aAAa,KAAK,SAAS;QAC3B,OAAO,cAAc,KAAK,WAAW;AACrC,QAAA,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAC5B;AACA,QAAA,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC/C,KAAA;AACH;;;;"}