@mpxjs/webpack-plugin 2.10.15 → 2.10.16-beta.11

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 (274) hide show
  1. package/lib/config.js +60 -0
  2. package/lib/dependencies/AppEntryDependency.js +2 -2
  3. package/lib/dependencies/DynamicEntryDependency.js +1 -1
  4. package/lib/dependencies/ImportDependency.js +102 -0
  5. package/lib/dependencies/RecordModuleIdMapDependency.js +49 -0
  6. package/lib/dependencies/ResolveDependency.js +1 -1
  7. package/lib/{retry-runtime-module.js → dependencies/RetryRuntimeModule.js} +1 -1
  8. package/lib/file-loader.js +13 -3
  9. package/lib/helpers.js +2 -0
  10. package/lib/index.js +51 -25
  11. package/lib/json-compiler/helper.js +72 -2
  12. package/lib/json-compiler/index.js +16 -56
  13. package/lib/json-compiler/plugin.js +2 -2
  14. package/lib/loader.js +10 -4
  15. package/lib/native-loader.js +6 -3
  16. package/lib/platform/json/wx/index.js +30 -29
  17. package/lib/platform/style/wx/index.js +8 -1
  18. package/lib/platform/template/wx/component-config/ad.js +5 -0
  19. package/lib/platform/template/wx/component-config/button.js +21 -5
  20. package/lib/platform/template/wx/component-config/camera.js +25 -3
  21. package/lib/platform/template/wx/component-config/canvas.js +8 -1
  22. package/lib/platform/template/wx/component-config/component.js +31 -33
  23. package/lib/platform/template/wx/component-config/cover-image.js +7 -2
  24. package/lib/platform/template/wx/component-config/cover-view.js +3 -1
  25. package/lib/platform/template/wx/component-config/fix-component-name.js +2 -2
  26. package/lib/platform/template/wx/component-config/form.js +27 -2
  27. package/lib/platform/template/wx/component-config/image.js +5 -0
  28. package/lib/platform/template/wx/component-config/input.js +10 -0
  29. package/lib/platform/template/wx/component-config/label.js +10 -2
  30. package/lib/platform/template/wx/component-config/map.js +11 -0
  31. package/lib/platform/template/wx/component-config/movable-area.js +4 -1
  32. package/lib/platform/template/wx/component-config/movable-view.js +17 -2
  33. package/lib/platform/template/wx/component-config/navigator.js +26 -0
  34. package/lib/platform/template/wx/component-config/picker-view.js +12 -0
  35. package/lib/platform/template/wx/component-config/picker.js +3 -1
  36. package/lib/platform/template/wx/component-config/progress.js +11 -1
  37. package/lib/platform/template/wx/component-config/rich-text.js +5 -0
  38. package/lib/platform/template/wx/component-config/scroll-view.js +12 -1
  39. package/lib/platform/template/wx/component-config/slider.js +20 -0
  40. package/lib/platform/template/wx/component-config/swiper-item.js +5 -2
  41. package/lib/platform/template/wx/component-config/swiper.js +10 -0
  42. package/lib/platform/template/wx/component-config/text.js +5 -0
  43. package/lib/platform/template/wx/component-config/textarea.js +19 -2
  44. package/lib/platform/template/wx/component-config/unsupported.js +10 -1
  45. package/lib/platform/template/wx/component-config/video.js +10 -0
  46. package/lib/platform/template/wx/index.js +21 -1
  47. package/lib/react/index.js +2 -0
  48. package/lib/react/processJSON.js +39 -71
  49. package/lib/react/processStyles.js +3 -2
  50. package/lib/react/processTemplate.js +8 -6
  51. package/lib/react/script-helper.js +6 -16
  52. package/lib/react/style-helper.js +10 -2
  53. package/lib/resolver/AddEnvPlugin.js +13 -0
  54. package/lib/resolver/AddModePlugin.js +18 -0
  55. package/lib/runtime/components/react/context.ts +13 -6
  56. package/lib/runtime/components/react/dist/context.d.ts +76 -0
  57. package/lib/runtime/components/react/dist/context.d.ts.map +1 -0
  58. package/lib/runtime/components/react/dist/context.js +1 -0
  59. package/lib/runtime/components/react/dist/event.config.d.ts +8 -0
  60. package/lib/runtime/components/react/dist/event.config.d.ts.map +1 -0
  61. package/lib/runtime/components/react/dist/getInnerListeners.d.ts +8 -0
  62. package/lib/runtime/components/react/dist/getInnerListeners.d.ts.map +1 -0
  63. package/lib/runtime/components/react/dist/mpx-async-suspense.d.ts +13 -0
  64. package/lib/runtime/components/react/dist/mpx-async-suspense.d.ts.map +1 -0
  65. package/lib/runtime/components/react/dist/mpx-button.d.ts +69 -0
  66. package/lib/runtime/components/react/dist/mpx-button.d.ts.map +1 -0
  67. package/lib/runtime/components/react/dist/mpx-camera.d.ts +27 -0
  68. package/lib/runtime/components/react/dist/mpx-camera.d.ts.map +1 -0
  69. package/lib/runtime/components/react/dist/mpx-camera.jsx +197 -0
  70. package/lib/runtime/components/react/dist/mpx-canvas/Bus.d.ts +24 -0
  71. package/lib/runtime/components/react/dist/mpx-canvas/Bus.d.ts.map +1 -0
  72. package/lib/runtime/components/react/dist/mpx-canvas/CanvasGradient.d.ts +8 -0
  73. package/lib/runtime/components/react/dist/mpx-canvas/CanvasGradient.d.ts.map +1 -0
  74. package/lib/runtime/components/react/dist/mpx-canvas/CanvasRenderingContext2D.d.ts +7 -0
  75. package/lib/runtime/components/react/dist/mpx-canvas/CanvasRenderingContext2D.d.ts.map +1 -0
  76. package/lib/runtime/components/react/dist/mpx-canvas/Image.d.ts +21 -0
  77. package/lib/runtime/components/react/dist/mpx-canvas/Image.d.ts.map +1 -0
  78. package/lib/runtime/components/react/dist/mpx-canvas/ImageData.d.ts +9 -0
  79. package/lib/runtime/components/react/dist/mpx-canvas/ImageData.d.ts.map +1 -0
  80. package/lib/runtime/components/react/dist/mpx-canvas/constructorsRegistry.d.ts +11 -0
  81. package/lib/runtime/components/react/dist/mpx-canvas/constructorsRegistry.d.ts.map +1 -0
  82. package/lib/runtime/components/react/dist/mpx-canvas/html.d.ts +3 -0
  83. package/lib/runtime/components/react/dist/mpx-canvas/html.d.ts.map +1 -0
  84. package/lib/runtime/components/react/dist/mpx-canvas/index.d.ts +33 -0
  85. package/lib/runtime/components/react/dist/mpx-canvas/index.d.ts.map +1 -0
  86. package/lib/runtime/components/react/dist/mpx-canvas/utils.d.ts +53 -0
  87. package/lib/runtime/components/react/dist/mpx-canvas/utils.d.ts.map +1 -0
  88. package/lib/runtime/components/react/dist/mpx-checkbox-group.d.ts +21 -0
  89. package/lib/runtime/components/react/dist/mpx-checkbox-group.d.ts.map +1 -0
  90. package/lib/runtime/components/react/dist/mpx-checkbox.d.ts +33 -0
  91. package/lib/runtime/components/react/dist/mpx-checkbox.d.ts.map +1 -0
  92. package/lib/runtime/components/react/dist/mpx-form.d.ts +28 -0
  93. package/lib/runtime/components/react/dist/mpx-form.d.ts.map +1 -0
  94. package/lib/runtime/components/react/dist/mpx-icon/index.d.ts +19 -0
  95. package/lib/runtime/components/react/dist/mpx-icon/index.d.ts.map +1 -0
  96. package/lib/runtime/components/react/dist/mpx-image.d.ts +22 -0
  97. package/lib/runtime/components/react/dist/mpx-image.d.ts.map +1 -0
  98. package/lib/runtime/components/react/dist/mpx-image.jsx +81 -37
  99. package/lib/runtime/components/react/dist/mpx-inline-text.d.ts +8 -0
  100. package/lib/runtime/components/react/dist/mpx-inline-text.d.ts.map +1 -0
  101. package/lib/runtime/components/react/dist/mpx-input.d.ts +51 -0
  102. package/lib/runtime/components/react/dist/mpx-input.d.ts.map +1 -0
  103. package/lib/runtime/components/react/dist/mpx-input.jsx +40 -12
  104. package/lib/runtime/components/react/dist/mpx-keyboard-avoiding-view.d.ts +13 -0
  105. package/lib/runtime/components/react/dist/mpx-keyboard-avoiding-view.d.ts.map +1 -0
  106. package/lib/runtime/components/react/dist/mpx-keyboard-avoiding-view.jsx +61 -50
  107. package/lib/runtime/components/react/dist/mpx-label.d.ts +21 -0
  108. package/lib/runtime/components/react/dist/mpx-label.d.ts.map +1 -0
  109. package/lib/runtime/components/react/dist/mpx-movable-area.d.ts +21 -0
  110. package/lib/runtime/components/react/dist/mpx-movable-area.d.ts.map +1 -0
  111. package/lib/runtime/components/react/dist/mpx-movable-view.d.ts +66 -0
  112. package/lib/runtime/components/react/dist/mpx-movable-view.d.ts.map +1 -0
  113. package/lib/runtime/components/react/dist/mpx-nav.d.ts +9 -0
  114. package/lib/runtime/components/react/dist/mpx-nav.d.ts.map +1 -0
  115. package/lib/runtime/components/react/dist/mpx-nav.jsx +132 -0
  116. package/lib/runtime/components/react/dist/mpx-navigator.d.ts +10 -0
  117. package/lib/runtime/components/react/dist/mpx-navigator.d.ts.map +1 -0
  118. package/lib/runtime/components/react/dist/mpx-picker/date.d.ts +7 -0
  119. package/lib/runtime/components/react/dist/mpx-picker/date.d.ts.map +1 -0
  120. package/lib/runtime/components/react/dist/mpx-picker/dateData.d.ts +8 -0
  121. package/lib/runtime/components/react/dist/mpx-picker/dateData.d.ts.map +1 -0
  122. package/lib/runtime/components/react/dist/mpx-picker/index.d.ts +7 -0
  123. package/lib/runtime/components/react/dist/mpx-picker/index.d.ts.map +1 -0
  124. package/lib/runtime/components/react/dist/mpx-picker/multiSelector.d.ts +7 -0
  125. package/lib/runtime/components/react/dist/mpx-picker/multiSelector.d.ts.map +1 -0
  126. package/lib/runtime/components/react/dist/mpx-picker/region.d.ts +7 -0
  127. package/lib/runtime/components/react/dist/mpx-picker/region.d.ts.map +1 -0
  128. package/lib/runtime/components/react/dist/mpx-picker/regionData.d.ts +3 -0
  129. package/lib/runtime/components/react/dist/mpx-picker/regionData.d.ts.map +1 -0
  130. package/lib/runtime/components/react/dist/mpx-picker/selector.d.ts +7 -0
  131. package/lib/runtime/components/react/dist/mpx-picker/selector.d.ts.map +1 -0
  132. package/lib/runtime/components/react/dist/mpx-picker/time.d.ts +7 -0
  133. package/lib/runtime/components/react/dist/mpx-picker/time.d.ts.map +1 -0
  134. package/lib/runtime/components/react/dist/mpx-picker/type.d.ts +107 -0
  135. package/lib/runtime/components/react/dist/mpx-picker/type.d.ts.map +1 -0
  136. package/lib/runtime/components/react/dist/mpx-picker-view/index.d.ts +33 -0
  137. package/lib/runtime/components/react/dist/mpx-picker-view/index.d.ts.map +1 -0
  138. package/lib/runtime/components/react/dist/mpx-picker-view/index.jsx +4 -3
  139. package/lib/runtime/components/react/dist/mpx-picker-view/pickerVIewContext.d.ts +9 -0
  140. package/lib/runtime/components/react/dist/mpx-picker-view/pickerVIewContext.d.ts.map +1 -0
  141. package/lib/runtime/components/react/dist/mpx-picker-view-column/index.d.ts +24 -0
  142. package/lib/runtime/components/react/dist/mpx-picker-view-column/index.d.ts.map +1 -0
  143. package/lib/runtime/components/react/dist/mpx-picker-view-column/index.jsx +12 -18
  144. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewColumnItem.d.ts +15 -0
  145. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewColumnItem.d.ts.map +1 -0
  146. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewColumnItem.jsx +8 -11
  147. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewColumnItemLite.d.ts +14 -0
  148. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewColumnItemLite.d.ts.map +1 -0
  149. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewColumnItemLite.jsx +20 -0
  150. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewFaces.d.ts +17 -0
  151. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewFaces.d.ts.map +1 -0
  152. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewIndicator.d.ts +13 -0
  153. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewIndicator.d.ts.map +1 -0
  154. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewMask.d.ts +12 -0
  155. package/lib/runtime/components/react/dist/mpx-picker-view-column/pickerViewMask.d.ts.map +1 -0
  156. package/lib/runtime/components/react/dist/mpx-popup/index.d.ts +23 -0
  157. package/lib/runtime/components/react/dist/mpx-popup/index.d.ts.map +1 -0
  158. package/lib/runtime/components/react/dist/mpx-popup/popupBase.d.ts +17 -0
  159. package/lib/runtime/components/react/dist/mpx-popup/popupBase.d.ts.map +1 -0
  160. package/lib/runtime/components/react/dist/mpx-portal/index.d.ts +16 -0
  161. package/lib/runtime/components/react/dist/mpx-portal/index.d.ts.map +1 -0
  162. package/lib/runtime/components/react/dist/mpx-portal/index.jsx +5 -1
  163. package/lib/runtime/components/react/dist/mpx-portal/portal-host.d.ts +30 -0
  164. package/lib/runtime/components/react/dist/mpx-portal/portal-host.d.ts.map +1 -0
  165. package/lib/runtime/components/react/dist/mpx-portal/portal-manager.d.ts +10 -0
  166. package/lib/runtime/components/react/dist/mpx-portal/portal-manager.d.ts.map +1 -0
  167. package/lib/runtime/components/react/dist/mpx-progress.d.ts +24 -0
  168. package/lib/runtime/components/react/dist/mpx-progress.d.ts.map +1 -0
  169. package/lib/runtime/components/react/dist/mpx-progress.jsx +26 -22
  170. package/lib/runtime/components/react/dist/mpx-radio-group.d.ts +21 -0
  171. package/lib/runtime/components/react/dist/mpx-radio-group.d.ts.map +1 -0
  172. package/lib/runtime/components/react/dist/mpx-radio.d.ts +27 -0
  173. package/lib/runtime/components/react/dist/mpx-radio.d.ts.map +1 -0
  174. package/lib/runtime/components/react/dist/mpx-rich-text/html.d.ts +2 -0
  175. package/lib/runtime/components/react/dist/mpx-rich-text/html.d.ts.map +1 -0
  176. package/lib/runtime/components/react/dist/mpx-rich-text/index.d.ts +25 -0
  177. package/lib/runtime/components/react/dist/mpx-rich-text/index.d.ts.map +1 -0
  178. package/lib/runtime/components/react/dist/mpx-root-portal.d.ts +15 -0
  179. package/lib/runtime/components/react/dist/mpx-root-portal.d.ts.map +1 -0
  180. package/lib/runtime/components/react/dist/mpx-scroll-view.d.ts +55 -0
  181. package/lib/runtime/components/react/dist/mpx-scroll-view.d.ts.map +1 -0
  182. package/lib/runtime/components/react/dist/mpx-scroll-view.jsx +6 -14
  183. package/lib/runtime/components/react/dist/mpx-simple-text.d.ts +8 -0
  184. package/lib/runtime/components/react/dist/mpx-simple-text.d.ts.map +1 -0
  185. package/lib/runtime/components/react/dist/mpx-simple-view.d.ts +8 -0
  186. package/lib/runtime/components/react/dist/mpx-simple-view.d.ts.map +1 -0
  187. package/lib/runtime/components/react/dist/mpx-slider.d.ts +31 -0
  188. package/lib/runtime/components/react/dist/mpx-slider.d.ts.map +1 -0
  189. package/lib/runtime/components/react/dist/mpx-slider.jsx +321 -0
  190. package/lib/runtime/components/react/dist/mpx-sticky-header.d.ts +18 -0
  191. package/lib/runtime/components/react/dist/mpx-sticky-header.d.ts.map +1 -0
  192. package/lib/runtime/components/react/dist/mpx-sticky-section.d.ts +16 -0
  193. package/lib/runtime/components/react/dist/mpx-sticky-section.d.ts.map +1 -0
  194. package/lib/runtime/components/react/dist/mpx-swiper-item.d.ts +19 -0
  195. package/lib/runtime/components/react/dist/mpx-swiper-item.d.ts.map +1 -0
  196. package/lib/runtime/components/react/dist/mpx-swiper.d.ts +53 -0
  197. package/lib/runtime/components/react/dist/mpx-swiper.d.ts.map +1 -0
  198. package/lib/runtime/components/react/dist/mpx-swiper.jsx +9 -5
  199. package/lib/runtime/components/react/dist/mpx-switch.d.ts +27 -0
  200. package/lib/runtime/components/react/dist/mpx-switch.d.ts.map +1 -0
  201. package/lib/runtime/components/react/dist/mpx-text.d.ts +23 -0
  202. package/lib/runtime/components/react/dist/mpx-text.d.ts.map +1 -0
  203. package/lib/runtime/components/react/dist/mpx-text.jsx +33 -5
  204. package/lib/runtime/components/react/dist/mpx-textarea.d.ts +8 -0
  205. package/lib/runtime/components/react/dist/mpx-textarea.d.ts.map +1 -0
  206. package/lib/runtime/components/react/dist/mpx-video.d.ts +102 -0
  207. package/lib/runtime/components/react/dist/mpx-video.d.ts.map +1 -0
  208. package/lib/runtime/components/react/dist/mpx-view.d.ts +35 -0
  209. package/lib/runtime/components/react/dist/mpx-view.d.ts.map +1 -0
  210. package/lib/runtime/components/react/dist/mpx-view.jsx +8 -11
  211. package/lib/runtime/components/react/dist/mpx-web-view.d.ts +23 -0
  212. package/lib/runtime/components/react/dist/mpx-web-view.d.ts.map +1 -0
  213. package/lib/runtime/components/react/dist/mpx-web-view.jsx +1 -1
  214. package/lib/runtime/components/react/dist/parser.d.ts +40 -0
  215. package/lib/runtime/components/react/dist/parser.d.ts.map +1 -0
  216. package/lib/runtime/components/react/dist/useAnimationHooks.d.ts +33 -0
  217. package/lib/runtime/components/react/dist/useAnimationHooks.d.ts.map +1 -0
  218. package/lib/runtime/components/react/dist/useNodesRef.d.ts +12 -0
  219. package/lib/runtime/components/react/dist/useNodesRef.d.ts.map +1 -0
  220. package/lib/runtime/components/react/dist/utils.d.ts +123 -0
  221. package/lib/runtime/components/react/dist/utils.d.ts.map +1 -0
  222. package/lib/runtime/components/react/dist/utils.jsx +16 -6
  223. package/lib/runtime/components/react/mpx-camera.tsx +275 -0
  224. package/lib/runtime/components/react/mpx-image.tsx +89 -42
  225. package/lib/runtime/components/react/mpx-input.tsx +50 -18
  226. package/lib/runtime/components/react/mpx-keyboard-avoiding-view.tsx +69 -49
  227. package/lib/runtime/components/react/mpx-nav.tsx +155 -0
  228. package/lib/runtime/components/react/mpx-picker-view/index.tsx +5 -2
  229. package/lib/runtime/components/react/mpx-picker-view-column/index.tsx +26 -21
  230. package/lib/runtime/components/react/mpx-picker-view-column/pickerViewColumnItem.tsx +8 -12
  231. package/lib/runtime/components/react/mpx-picker-view-column/pickerViewColumnItemLite.tsx +55 -0
  232. package/lib/runtime/components/react/mpx-portal/index.tsx +8 -2
  233. package/lib/runtime/components/react/mpx-progress.tsx +26 -24
  234. package/lib/runtime/components/react/mpx-scroll-view.tsx +6 -17
  235. package/lib/runtime/components/react/mpx-slider.tsx +444 -0
  236. package/lib/runtime/components/react/mpx-swiper.tsx +9 -5
  237. package/lib/runtime/components/react/mpx-text.tsx +38 -5
  238. package/lib/runtime/components/react/mpx-view.tsx +8 -11
  239. package/lib/runtime/components/react/mpx-web-view.tsx +1 -1
  240. package/lib/runtime/components/react/types/common.d.ts +19 -0
  241. package/lib/runtime/components/react/utils.tsx +15 -6
  242. package/lib/runtime/components/web/mpx-input.vue +1 -1
  243. package/lib/runtime/components/web/mpx-scroll-view.vue +7 -1
  244. package/lib/runtime/components/web/mpx-video.vue +12 -1
  245. package/lib/runtime/optionProcessor.js +3 -1
  246. package/lib/runtime/optionProcessorReact.js +4 -2
  247. package/lib/runtime/stringify.wxs +2 -2
  248. package/lib/script-setup-compiler/index.js +2 -2
  249. package/lib/style-compiler/index.js +3 -2
  250. package/lib/style-compiler/load-postcss-config.js +1 -1
  251. package/lib/style-compiler/plugins/trans-special.js +10 -2
  252. package/lib/style-compiler/strip-conditional-loader.js +178 -15
  253. package/lib/template-compiler/bind-this.js +2 -2
  254. package/lib/template-compiler/compiler.js +277 -77
  255. package/lib/template-compiler/gen-node-react.js +18 -6
  256. package/lib/template-compiler/index.js +12 -10
  257. package/lib/template-compiler/parse-exps.js +1 -1
  258. package/lib/utils/chain-assign.js +47 -0
  259. package/lib/utils/check-core-version-match.js +75 -15
  260. package/lib/utils/const.js +2 -1
  261. package/lib/utils/dom-tag-config.js +6 -6
  262. package/lib/utils/env.js +6 -1
  263. package/lib/utils/get-build-tag-component.js +35 -0
  264. package/lib/utils/pre-process-json.js +5 -0
  265. package/lib/web/index.js +2 -0
  266. package/lib/web/processJSON.js +44 -16
  267. package/lib/web/processScript.js +1 -1
  268. package/lib/web/processTemplate.js +6 -4
  269. package/lib/web/script-helper.js +19 -9
  270. package/lib/wxs/pre-loader.js +6 -6
  271. package/lib/wxss/loader.js +1 -9
  272. package/package.json +17 -5
  273. package/LICENSE +0 -433
  274. package/lib/dependencies/ImportDependencyTemplate.js +0 -50
@@ -0,0 +1,107 @@
1
+ import React from 'react';
2
+ export declare const enum PickerMode {
3
+ SELECTOR = "selector",
4
+ MULTI_SELECTOR = "multiSelector",
5
+ TIME = "time",
6
+ DATE = "date",
7
+ REGION = "region"
8
+ }
9
+ export type PickerValue = number;
10
+ export type Obj = Record<string, any>;
11
+ export type RangeItem = Obj | number | string;
12
+ export type TimeValue = `${number}-${number}-${number}` | '';
13
+ /** 通用属性 */
14
+ export interface BasePickerProps {
15
+ /** --- 小程序属性 --- */
16
+ /** 选择器类型, 默认值 selector */
17
+ mode?: PickerMode;
18
+ /** 是否禁用, 默认值 false */
19
+ disabled?: boolean;
20
+ /** 点击取消按钮时触发 */
21
+ bindcancel?: Function;
22
+ /** 头部标题 */
23
+ 'header-text'?: string;
24
+ /** --- 内部组件属性 --- */
25
+ /** 作为表单组件时的名称 */
26
+ name?: string;
27
+ style?: Record<string, any>;
28
+ children?: React.ReactNode;
29
+ range?: RangeItem[];
30
+ ref?: any;
31
+ }
32
+ export interface SelectorProps extends BasePickerProps {
33
+ mode: PickerMode.SELECTOR;
34
+ /** 默认值 0 */
35
+ value?: number;
36
+ /** 默认值 [] */
37
+ range?: RangeItem[];
38
+ 'range-key'?: string;
39
+ /** 点击确认按钮后触发 change 事件, event.detail = {value} */
40
+ bindchange?: Function;
41
+ }
42
+ export interface MultiSelectorProps extends BasePickerProps {
43
+ mode: PickerMode.MULTI_SELECTOR;
44
+ /** 默认值 [] */
45
+ value?: number[];
46
+ range?: RangeItem[];
47
+ 'range-key'?: string;
48
+ bindchange?: Function;
49
+ bindcolumnchange?: Function;
50
+ }
51
+ export interface TimeProps extends BasePickerProps {
52
+ mode: PickerMode.TIME;
53
+ /** 表示选中的时间,格式为"hh:mm" */
54
+ value?: string;
55
+ start?: string;
56
+ end?: string;
57
+ bindchange?: Function;
58
+ }
59
+ export interface DateProps extends BasePickerProps {
60
+ mode: PickerMode.DATE;
61
+ /** 默认值 '' */
62
+ value?: TimeValue;
63
+ start?: TimeValue;
64
+ end?: TimeValue;
65
+ /** 有效值 year,month,day,表示选择器的粒度 */
66
+ fields?: 'day' | 'month' | 'year';
67
+ bindchange?: Function;
68
+ }
69
+ export interface RegionProps extends BasePickerProps {
70
+ mode: PickerMode.REGION;
71
+ /** 表示选中的省市区,默认选中每一列的第一个值, 默认值 [] */
72
+ value?: string[];
73
+ /** 默认值 region */
74
+ level?: 'province' | 'city' | 'region' | 'sub-district';
75
+ /** 可为每一列的顶部添加一个自定义的项 */
76
+ 'custom-item'?: string;
77
+ /** value 改变时触发 change 事件, event.detail = {value, code, postcode},
78
+ * 其中字段 code 是统计用区划代码, postcode 是邮政编码 */
79
+ bindchange?: Function;
80
+ }
81
+ export interface RegionObj {
82
+ value: string;
83
+ code: string;
84
+ postcode?: string;
85
+ children?: RegionObj[];
86
+ }
87
+ export interface PickerData {
88
+ value: string;
89
+ label: string;
90
+ children?: Object[];
91
+ }
92
+ export interface EventType {
93
+ detail: {
94
+ value: PickerValue[];
95
+ };
96
+ }
97
+ export interface LayoutType {
98
+ nativeEvent: {
99
+ layout: Obj;
100
+ };
101
+ }
102
+ export interface FormType {
103
+ name: string;
104
+ }
105
+ export type PickerProps = SelectorProps | MultiSelectorProps | TimeProps | DateProps | RegionProps;
106
+ export type LanguageCode = 'zh-CN' | 'en-US';
107
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../mpx-picker/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,0BAAkB,UAAU;IAC1B,QAAQ,aAAa;IACrB,cAAc,kBAAkB;IAChC,IAAI,SAAS;IACb,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAChC,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AACrC,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,CAAA;AAC7C,MAAM,MAAM,SAAS,GAAG,GAAG,MAAM,IAAI,MAAM,IAAI,MAAM,EAAE,GAAG,EAAE,CAAA;AAE5D,WAAW;AACX,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,0BAA0B;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,gBAAgB;IAChB,UAAU,CAAC,EAAE,QAAQ,CAAA;IACrB,WAAW;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,qBAAqB;IACrB,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;IACnB,GAAG,CAAC,EAAE,GAAG,CAAA;CACV;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAA;IACzB,aAAa;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa;IACb,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kDAAkD;IAClD,UAAU,CAAC,EAAE,QAAQ,CAAA;CACtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,eAAe;IACzD,IAAI,EAAE,UAAU,CAAC,cAAc,CAAA;IAC/B,aAAa;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,SAAS,EAAE,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,QAAQ,CAAA;IACrB,gBAAgB,CAAC,EAAE,QAAQ,CAAA;CAC5B;AAED,MAAM,WAAW,SAAU,SAAQ,eAAe;IAChD,IAAI,EAAE,UAAU,CAAC,IAAI,CAAA;IACrB,yBAAyB;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,QAAQ,CAAA;CACtB;AAED,MAAM,WAAW,SAAU,SAAQ,eAAe;IAChD,IAAI,EAAE,UAAU,CAAC,IAAI,CAAA;IACrB,aAAa;IACb,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,kCAAkC;IAClC,MAAM,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;IACjC,UAAU,CAAC,EAAE,QAAQ,CAAA;CACtB;AAED,MAAM,WAAW,WAAY,SAAQ,eAAe;IAClD,IAAI,EAAE,UAAU,CAAC,MAAM,CAAA;IACvB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,iBAAiB;IACjB,KAAK,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,cAAc,CAAA;IACvD,wBAAwB;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;4CACwC;IACxC,UAAU,CAAC,EAAE,QAAQ,CAAA;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE;QACN,KAAK,EAAE,WAAW,EAAE,CAAA;KACrB,CAAA;CACF;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE;QACX,MAAM,EAAE,GAAG,CAAA;KACZ,CAAA;CACF;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,SAAS,GACT,WAAW,CAAA;AAEf,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,CAAA"}
@@ -0,0 +1,33 @@
1
+ import { View } from 'react-native';
2
+ import React from 'react';
3
+ import { HandlerRef } from '../useNodesRef';
4
+ import type { AnyFunc } from '../types/common';
5
+ /**
6
+ * ✔ value
7
+ * ✔ bindchange
8
+ * ✘ bindpickstart
9
+ * ✘ bindpickend
10
+ * ✔ mask-class
11
+ * ✔ indicator-style: 优先级indicator-style.height > pick-view-column中的子元素设置的height
12
+ * WebView Only:
13
+ * ✔ indicator-class
14
+ * ✔ mask-style
15
+ * ✘ immediate-change
16
+ */
17
+ interface PickerViewProps {
18
+ children: React.ReactNode;
19
+ value?: Array<number>;
20
+ bindchange?: AnyFunc;
21
+ style?: {
22
+ [key: string]: any;
23
+ };
24
+ 'enable-wheel-animation'?: boolean;
25
+ 'indicator-style'?: Record<string, any>;
26
+ 'mask-style'?: Record<string, any>;
27
+ 'enable-var'?: boolean;
28
+ 'external-var-context'?: Record<string, any>;
29
+ 'enable-offset'?: boolean;
30
+ }
31
+ declare const _PickerView: React.ForwardRefExoticComponent<PickerViewProps & React.RefAttributes<HandlerRef<View, PickerViewProps>>>;
32
+ export default _PickerView;
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../mpx-picker-view/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,KAA4C,MAAM,OAAO,CAAA;AAEhE,OAAoB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAWxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C;;;;;;;;;;;GAWG;AAEH,UAAU,eAAe;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IACrB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,KAAK,CAAC,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAA;IACD,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAyBD,QAAA,MAAM,WAAW,2GAsLf,CAAA;AAGF,eAAe,WAAW,CAAA"}
@@ -17,7 +17,7 @@ const styles = {
17
17
  };
18
18
  const DefaultPickerItemH = 36;
19
19
  const _PickerView = forwardRef((props, ref) => {
20
- const { children, value = [], bindchange, style, 'indicator-style': indicatorStyle = {}, 'mask-style': pickerMaskStyle = {}, 'enable-var': enableVar, 'external-var-context': externalVarContext } = props;
20
+ const { children, value = [], bindchange, style, 'enable-wheel-animation': enableWheelAnimation = true, 'indicator-style': indicatorStyle = {}, 'mask-style': pickerMaskStyle = {}, 'enable-var': enableVar, 'external-var-context': externalVarContext } = props;
21
21
  const { height: indicatorH, ...pickerIndicatorStyle } = indicatorStyle;
22
22
  const nodeRef = useRef(null);
23
23
  const cloneRef = useRef(null);
@@ -67,7 +67,7 @@ const _PickerView = forwardRef((props, ref) => {
67
67
  columnData,
68
68
  ref: cloneRef,
69
69
  columnIndex: index,
70
- key: `pick-view-${index}`,
70
+ key: `pick-view-${index}-${columnData.length}`,
71
71
  wrapperStyle: {
72
72
  height: normalStyle?.height || DefaultPickerItemH,
73
73
  itemHeight: indicatorH || DefaultPickerItemH
@@ -75,7 +75,8 @@ const _PickerView = forwardRef((props, ref) => {
75
75
  onSelectChange: onSelectChange.bind(null, index),
76
76
  initialIndex,
77
77
  pickerIndicatorStyle,
78
- pickerMaskStyle
78
+ pickerMaskStyle,
79
+ enableWheelAnimation
79
80
  });
80
81
  const realElement = React.cloneElement(child, wrappedProps);
81
82
  return wrapChildren({
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { SharedValue } from 'react-native-reanimated';
3
+ type ContextValue = SharedValue<number>;
4
+ export declare const PickerViewColumnAnimationContext: import("react").Context<ContextValue | undefined>;
5
+ export declare const usePickerViewColumnAnimationContext: () => ContextValue;
6
+ export declare const PickerViewStyleContext: import("react").Context<Record<string, any> | undefined>;
7
+ export declare const usePickerViewStyleContext: () => Record<string, any> | undefined;
8
+ export {};
9
+ //# sourceMappingURL=pickerVIewContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickerVIewContext.d.ts","sourceRoot":"","sources":["../../mpx-picker-view/pickerVIewContext.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,KAAK,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;AAEvC,eAAO,MAAM,gCAAgC,mDAEjC,CAAA;AAEZ,eAAO,MAAM,mCAAmC,oBAQ/C,CAAA;AAED,eAAO,MAAM,sBAAsB,0DAEvB,CAAA;AAEZ,eAAO,MAAM,yBAAyB,uCAGrC,CAAA"}
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { ScrollView, View } from 'react-native';
3
+ import { HandlerRef } from '../useNodesRef';
4
+ interface ColumnProps {
5
+ columnIndex: number;
6
+ columnData: React.ReactNode[];
7
+ initialIndex: number;
8
+ onSelectChange: Function;
9
+ style: {
10
+ [key: string]: any;
11
+ };
12
+ 'enable-var'?: boolean;
13
+ 'external-var-context'?: Record<string, any>;
14
+ wrapperStyle: {
15
+ height: number;
16
+ itemHeight: number;
17
+ };
18
+ pickerMaskStyle: Record<string, any>;
19
+ pickerIndicatorStyle: Record<string, any>;
20
+ enableWheelAnimation?: boolean;
21
+ }
22
+ declare const _PickerViewColumn: React.ForwardRefExoticComponent<ColumnProps & React.RefAttributes<HandlerRef<ScrollView & View, ColumnProps>>>;
23
+ export default _PickerViewColumn;
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../mpx-picker-view-column/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuF,MAAM,OAAO,CAAA;AAC3G,OAAO,EAAqF,UAAU,EAAc,IAAI,EAAE,MAAM,cAAc,CAAA;AAG9I,OAAoB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAQxD,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,QAAQ,CAAA;IACxB,KAAK,EAAE;QACL,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KACnB,CAAA;IACD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5C,YAAY,EAAE;QACZ,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACpC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzC,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B;AAID,QAAA,MAAM,iBAAiB,gHA0UrB,CAAA;AAQF,eAAe,iBAAiB,CAAA"}
@@ -5,12 +5,13 @@ import { useTransformStyle, splitStyle, splitProps, useLayout, usePrevious, isAn
5
5
  import useNodesRef from '../useNodesRef';
6
6
  import PickerIndicator from './pickerViewIndicator';
7
7
  import PickerMask from './pickerViewMask';
8
- import MpxPickerVIewColumnItem from './pickerViewColumnItem';
8
+ import MpxPickerViewColumnItem from './pickerViewColumnItem';
9
+ import MpxPickerViewColumnItemLite from './pickerViewColumnItemLite';
9
10
  import { PickerViewColumnAnimationContext } from '../mpx-picker-view/pickerVIewContext';
10
11
  import { calcHeightOffsets } from './pickerViewFaces';
11
12
  const visibleCount = 5;
12
13
  const _PickerViewColumn = forwardRef((props, ref) => {
13
- const { columnData, columnIndex, initialIndex, onSelectChange, style, wrapperStyle, pickerMaskStyle, pickerIndicatorStyle, 'enable-var': enableVar, 'external-var-context': externalVarContext } = props;
14
+ const { columnData, columnIndex, initialIndex, onSelectChange, style, wrapperStyle, pickerMaskStyle, pickerIndicatorStyle, enableWheelAnimation = true, 'enable-var': enableVar, 'external-var-context': externalVarContext } = props;
14
15
  const { normalStyle, hasSelfPercent, setWidth, setHeight } = useTransformStyle(style, { enableVar, externalVarContext });
15
16
  const { textStyle = {} } = splitStyle(normalStyle);
16
17
  const { textProps = {} } = splitProps(props);
@@ -43,6 +44,7 @@ const _PickerViewColumn = forwardRef((props, ref) => {
43
44
  const contentContainerStyle = useMemo(() => {
44
45
  return [{ paddingVertical: paddingHeight }];
45
46
  }, [paddingHeight]);
47
+ const initialContentOffsetY = useMemo(() => initialIndex * itemRawH, [initialIndex, itemRawH]);
46
48
  const getIndex = useCallback((y) => {
47
49
  const calc = Math.round(y / itemRawH);
48
50
  return Math.max(0, Math.min(calc, maxIndex));
@@ -92,16 +94,6 @@ const _PickerViewColumn = forwardRef((props, ref) => {
92
94
  activeIndex.current = initialIndex;
93
95
  }, isIOS ? 0 : 200);
94
96
  }, [itemRawH, maxIndex, initialIndex]);
95
- const onContentSizeChange = useCallback((_w, h) => {
96
- const y = initialIndex * itemRawH;
97
- if (y <= h) {
98
- clearTimerScrollTo();
99
- timerScrollTo.current = setTimeout(() => {
100
- scrollViewRef.current?.scrollTo({ x: 0, y, animated: false });
101
- activeIndex.current = initialIndex;
102
- }, 0);
103
- }
104
- }, [itemRawH, initialIndex]);
105
97
  const onItemLayout = useCallback((e) => {
106
98
  const { height: rawH } = e.nativeEvent.layout;
107
99
  const roundedH = Math.round(rawH);
@@ -217,7 +209,9 @@ const _PickerViewColumn = forwardRef((props, ref) => {
217
209
  }
218
210
  }, [itemRawH, maxIndex, calcOffset, onMomentumScrollEnd]);
219
211
  const renderInnerchild = () => columnData.map((item, index) => {
220
- return (<MpxPickerVIewColumnItem key={index} item={item} index={index} itemHeight={itemHeight} textStyle={textStyle} textProps={textProps} visibleCount={visibleCount} onItemLayout={onItemLayout}/>);
212
+ return enableWheelAnimation
213
+ ? (<MpxPickerViewColumnItem key={index} item={item} index={index} itemHeight={itemHeight} textStyle={textStyle} textProps={textProps} visibleCount={visibleCount} onItemLayout={onItemLayout}/>)
214
+ : (<MpxPickerViewColumnItemLite key={index} item={item} index={index} itemHeight={itemHeight} textStyle={textStyle} textProps={textProps} onItemLayout={onItemLayout}/>);
221
215
  });
222
216
  const renderScollView = () => {
223
217
  const innerProps = extendObject({}, layoutProps, {
@@ -238,17 +232,17 @@ const _PickerViewColumn = forwardRef((props, ref) => {
238
232
  onScrollEndDrag,
239
233
  onMomentumScrollBegin,
240
234
  onMomentumScrollEnd,
241
- onContentSizeChange,
242
- contentContainerStyle
235
+ contentContainerStyle,
236
+ contentOffset: { x: 0, y: initialContentOffsetY }
243
237
  });
244
238
  return createElement(PickerViewColumnAnimationContext.Provider, { value: offsetYShared }, createElement(Reanimated.ScrollView, innerProps, renderInnerchild()));
245
239
  };
246
240
  const renderIndicator = () => (<PickerIndicator itemHeight={itemHeight} indicatorItemStyle={pickerIndicatorStyle}/>);
247
241
  const renderMask = () => (<PickerMask itemHeight={itemHeight} maskContainerStyle={pickerMaskStyle}/>);
248
242
  return (<View style={[styles.wrapper, normalStyle]}>
249
- {renderScollView()}
250
- {renderMask()}
251
- {renderIndicator()}
243
+ {renderScollView()}
244
+ {renderMask()}
245
+ {renderIndicator()}
252
246
  </View>);
253
247
  });
254
248
  const styles = StyleSheet.create({
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { LayoutChangeEvent } from 'react-native';
3
+ interface PickerColumnItemProps {
4
+ item: React.ReactElement;
5
+ index: number;
6
+ itemHeight: number;
7
+ itemWidth?: number | '100%';
8
+ textStyle: Record<string, any>;
9
+ visibleCount: number;
10
+ textProps?: any;
11
+ onItemLayout?: (e: LayoutChangeEvent) => void;
12
+ }
13
+ declare const PickerViewColumnItem: React.FC<PickerColumnItemProps>;
14
+ export default PickerViewColumnItem;
15
+ //# sourceMappingURL=pickerViewColumnItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickerViewColumnItem.d.ts","sourceRoot":"","sources":["../../mpx-picker-view-column/pickerViewColumnItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAMhD,UAAU,qBAAqB;IAC7B,IAAI,EAAE,KAAK,CAAC,YAAY,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAC9C;AAED,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAqDzD,CAAA;AAGD,eAAe,oBAAoB,CAAA"}
@@ -1,23 +1,20 @@
1
- import React, { useEffect } from 'react';
2
- import Reanimated, { Extrapolation, interpolate, useAnimatedStyle, useSharedValue } from 'react-native-reanimated';
1
+ import React, { useMemo } from 'react';
2
+ import Reanimated, { Extrapolation, interpolate, useAnimatedStyle } from 'react-native-reanimated';
3
3
  import { extendObject } from '../utils';
4
4
  import { createFaces } from './pickerViewFaces';
5
5
  import { usePickerViewColumnAnimationContext, usePickerViewStyleContext } from '../mpx-picker-view/pickerVIewContext';
6
6
  const PickerViewColumnItem = ({ item, index, itemHeight, itemWidth = '100%', textStyle, textProps, visibleCount, onItemLayout }) => {
7
7
  const textStyleFromAncestor = usePickerViewStyleContext();
8
8
  const offsetYShared = usePickerViewColumnAnimationContext();
9
- const facesShared = useSharedValue(createFaces(itemHeight, visibleCount));
10
- useEffect(() => {
11
- facesShared.value = createFaces(itemHeight, visibleCount);
12
- }, [itemHeight]);
9
+ const facesShared = useMemo(() => createFaces(itemHeight, visibleCount), [itemHeight, visibleCount]);
13
10
  const animatedStyles = useAnimatedStyle(() => {
14
- const inputRange = facesShared.value.map((f) => itemHeight * (index + f.index));
11
+ const inputRange = facesShared.map((f) => itemHeight * (index + f.index));
15
12
  return {
16
- opacity: interpolate(offsetYShared.value, inputRange, facesShared.value.map((x) => x.opacity), Extrapolation.CLAMP),
13
+ opacity: interpolate(offsetYShared.value, inputRange, facesShared.map((x) => x.opacity), Extrapolation.CLAMP),
17
14
  transform: [
18
- { translateY: interpolate(offsetYShared.value, inputRange, facesShared.value.map((x) => x.offsetY), Extrapolation.EXTEND) },
19
- { rotateX: interpolate(offsetYShared.value, inputRange, facesShared.value.map((x) => x.deg), Extrapolation.CLAMP) + 'deg' },
20
- { scale: interpolate(offsetYShared.value, inputRange, facesShared.value.map((x) => x.scale), Extrapolation.EXTEND) }
15
+ { translateY: interpolate(offsetYShared.value, inputRange, facesShared.map((x) => x.offsetY), Extrapolation.EXTEND) },
16
+ { rotateX: interpolate(offsetYShared.value, inputRange, facesShared.map((x) => x.deg), Extrapolation.CLAMP) + 'deg' },
17
+ { scale: interpolate(offsetYShared.value, inputRange, facesShared.map((x) => x.scale), Extrapolation.EXTEND) }
21
18
  ]
22
19
  };
23
20
  });
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { LayoutChangeEvent } from 'react-native';
3
+ interface PickerColumnItemProps {
4
+ item: React.ReactElement;
5
+ index: number;
6
+ itemHeight: number;
7
+ itemWidth?: number | '100%';
8
+ textStyle: Record<string, any>;
9
+ textProps?: any;
10
+ onItemLayout?: (e: LayoutChangeEvent) => void;
11
+ }
12
+ declare const PickerViewColumnItem: React.FC<PickerColumnItemProps>;
13
+ export default PickerViewColumnItem;
14
+ //# sourceMappingURL=pickerViewColumnItemLite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickerViewColumnItemLite.d.ts","sourceRoot":"","sources":["../../mpx-picker-view-column/pickerViewColumnItemLite.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAQ,MAAM,cAAc,CAAA;AAItD,UAAU,qBAAqB;IAC7B,IAAI,EAAE,KAAK,CAAC,YAAY,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC9B,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAA;CAC9C;AAED,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAoCzD,CAAA;AAGD,eAAe,oBAAoB,CAAA"}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import { extendObject } from '../utils';
4
+ import { usePickerViewStyleContext } from '../mpx-picker-view/pickerVIewContext';
5
+ const PickerViewColumnItem = ({ item, index, itemHeight, itemWidth = '100%', textStyle, textProps, onItemLayout }) => {
6
+ const textStyleFromAncestor = usePickerViewStyleContext();
7
+ const strKey = `picker-column-item-${index}`;
8
+ const restProps = index === 0 ? { onLayout: onItemLayout } : {};
9
+ const itemProps = extendObject({
10
+ style: extendObject({ height: itemHeight, width: '100%' }, textStyleFromAncestor, textStyle, item.props.style)
11
+ }, textProps, restProps);
12
+ const realItem = React.cloneElement(item, itemProps);
13
+ return (<View key={strKey} style={[
14
+ { height: itemHeight, width: itemWidth, pointerEvents: 'none' }
15
+ ]}>
16
+ {realItem}
17
+ </View>);
18
+ };
19
+ PickerViewColumnItem.displayName = 'MpxPickerViewColumnItem';
20
+ export default PickerViewColumnItem;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Borrowed from open-source code: https://github.com/quidone/react-native-wheel-picker
3
+ * Special thanks to the authors for their contribution to the open-source community.
4
+ */
5
+ export type Faces = {
6
+ index: number;
7
+ deg: number;
8
+ offsetY: number;
9
+ opacity: number;
10
+ scale: number;
11
+ screenHeight: number;
12
+ };
13
+ export declare const degToRad: (deg: number) => number;
14
+ export declare const calcPickerHeight: (faces: Faces[], itemHeight: number) => number;
15
+ export declare const calcHeightOffsets: (itemHeight: number) => number[];
16
+ export declare const createFaces: (itemHeight: number, visibleCount: number) => Faces[];
17
+ //# sourceMappingURL=pickerViewFaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickerViewFaces.d.ts","sourceRoot":"","sources":["../../mpx-picker-view-column/pickerViewFaces.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,eAAO,MAAM,QAAQ,QAAS,MAAM,WAA0B,CAAA;AAM9D,eAAO,MAAM,gBAAgB,UAAW,KAAK,EAAE,cAAc,MAAM,WAKlE,CAAA;AAED,eAAO,MAAM,iBAAiB,eAAgB,MAAM,aAKnD,CAAA;AAED,eAAO,MAAM,WAAW,eACV,MAAM,gBACJ,MAAM,KACnB,KAAK,EA4EP,CAAA"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
+ type IndicatorProps = {
4
+ itemHeight: number;
5
+ indicatorItemStyle?: StyleProp<ViewStyle>;
6
+ indicatorContainerStyle?: StyleProp<ViewStyle>;
7
+ };
8
+ declare const _PickerViewIndicator: {
9
+ ({ itemHeight, indicatorItemStyle, indicatorContainerStyle }: IndicatorProps): React.JSX.Element;
10
+ displayName: string;
11
+ };
12
+ export default _PickerViewIndicator;
13
+ //# sourceMappingURL=pickerViewIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickerViewIndicator.d.ts","sourceRoot":"","sources":["../../mpx-picker-view-column/pickerViewIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAErE,KAAK,cAAc,GAAG;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IACzC,uBAAuB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAC/C,CAAA;AAED,QAAA,MAAM,oBAAoB;kEAAiE,cAAc;;CAMxG,CAAA;AAkBD,eAAe,oBAAoB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { StyleProp, ViewStyle } from 'react-native';
3
+ type MaskProps = {
4
+ itemHeight: number;
5
+ maskContainerStyle?: StyleProp<ViewStyle>;
6
+ };
7
+ declare const _PickerViewMask: {
8
+ ({ itemHeight, maskContainerStyle }: MaskProps): React.JSX.Element;
9
+ displayName: string;
10
+ };
11
+ export default _PickerViewMask;
12
+ //# sourceMappingURL=pickerViewMask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pickerViewMask.d.ts","sourceRoot":"","sources":["../../mpx-picker-view-column/pickerViewMask.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,SAAS,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAGrE,KAAK,SAAS,GAAG;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,kBAAkB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAC1C,CAAA;AAED,QAAA,MAAM,eAAe;yCAGlB,SAAS;;CAQX,CAAA;AASD,eAAe,eAAe,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { ReactElement } from 'react';
2
+ import { PopupBaseProps } from './popupBase';
3
+ export declare const enum PopupType {
4
+ PICKER = "picker"
5
+ }
6
+ export interface IUsePopupOptions {
7
+ modal?: React.ComponentType<PopupBaseProps>;
8
+ type?: PopupType;
9
+ }
10
+ /**
11
+ * 基于 Portal 封装的 Popup 弹窗组件管理 Hooks
12
+ */
13
+ declare const createPopupManager: (options?: IUsePopupOptions) => {
14
+ open: (childComponent: React.ReactNode, pageId: number | undefined, options?: {
15
+ contentHeight?: number;
16
+ }) => void;
17
+ show: () => void;
18
+ hide: () => void;
19
+ update: (updatedChild: ReactElement | null) => void;
20
+ remove: () => void;
21
+ };
22
+ export { createPopupManager };
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../mpx-popup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgB,YAAY,EAAE,MAAM,OAAO,CAAA;AAElD,OAAkB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEvD,0BAAkB,SAAS;IACzB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAA;IAC3C,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB;AAaD;;GAEG;AACH,QAAA,MAAM,kBAAkB,aAAa,gBAAgB;2BAiBjC,MAAM,SAAS,UACvB,MAAM,GAAG,SAAS,YAChB;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE;;;2BAaR,YAAY,GAAG,IAAI;;CAwBlD,CAAA;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ export interface PopupBaseProps {
3
+ children?: React.ReactNode;
4
+ hide?: () => void;
5
+ contentHeight?: number;
6
+ visible?: boolean;
7
+ }
8
+ /**
9
+ * 类似微信 picker 弹窗的动画效果都可以复用此类容器
10
+ * 其他特定类型的弹窗容器组件可以在此基础上封装,或者扩展实现
11
+ */
12
+ declare const PopupBase: {
13
+ (props?: PopupBaseProps): import("react").JSX.Element;
14
+ displayName: string;
15
+ };
16
+ export default PopupBase;
17
+ //# sourceMappingURL=popupBase.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popupBase.d.ts","sourceRoot":"","sources":["../../mpx-popup/popupBase.tsx"],"names":[],"mappings":";AAUA,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAmCD;;;GAGG;AACH,QAAA,MAAM,SAAS;aAAW,cAAc;;CAwEvC,CAAA;AAGD,eAAe,SAAS,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ export type PortalProps = {
3
+ children?: ReactNode;
4
+ };
5
+ declare const Portal: {
6
+ ({ children }: PortalProps): null;
7
+ Host: ({ children }: {
8
+ children: ReactNode;
9
+ pageId: number;
10
+ }) => JSX.Element;
11
+ add: (e: ReactNode, id: number | null) => number;
12
+ remove: (key: number) => void;
13
+ update: (key: number, e: ReactNode) => void;
14
+ };
15
+ export default Portal;
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../mpx-portal/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAiC,MAAM,OAAO,CAAA;AAIhE,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,QAAA,MAAM,MAAM;mBAAkB,WAAW,GAAG,IAAI;;;;;;;;CA6B/C,CAAA;AAOD,eAAe,MAAM,CAAA"}
@@ -1,14 +1,18 @@
1
1
  import { useContext, useEffect, useRef } from 'react';
2
- import { PortalContext, RouteContext, VarContext } from '../context';
2
+ import { PortalContext, ProviderContext, RouteContext, VarContext } from '../context';
3
3
  import PortalHost, { portal } from './portal-host';
4
4
  const Portal = ({ children }) => {
5
5
  const manager = useContext(PortalContext);
6
6
  const keyRef = useRef(null);
7
7
  const { pageId } = useContext(RouteContext) || {};
8
8
  const varContext = useContext(VarContext);
9
+ const parentProvides = useContext(ProviderContext);
9
10
  if (varContext) {
10
11
  children = (<VarContext.Provider value={varContext} key='varContextWrap'>{children}</VarContext.Provider>);
11
12
  }
13
+ if (parentProvides) {
14
+ children = (<ProviderContext.Provider value={parentProvides} key='providerContextWrap'>{children}</ProviderContext.Provider>);
15
+ }
12
16
  useEffect(() => {
13
17
  manager.update(keyRef.current, children);
14
18
  }, [children]);
@@ -0,0 +1,30 @@
1
+ import { ReactNode } from 'react';
2
+ type PortalHostProps = {
3
+ children: ReactNode;
4
+ pageId: number;
5
+ };
6
+ export type Operation = {
7
+ type: 'mount';
8
+ key: number;
9
+ children: ReactNode;
10
+ } | {
11
+ type: 'update';
12
+ key: number;
13
+ children: ReactNode;
14
+ } | {
15
+ type: 'unmount';
16
+ key: number;
17
+ };
18
+ declare class PortalGuard {
19
+ private nextKey;
20
+ add: (e: ReactNode, id: number | null) => number;
21
+ remove: (key: number) => void;
22
+ update: (key: number, e: ReactNode) => void;
23
+ }
24
+ /**
25
+ * portal
26
+ */
27
+ export declare const portal: PortalGuard;
28
+ declare const PortalHost: ({ children }: PortalHostProps) => JSX.Element;
29
+ export default PortalHost;
30
+ //# sourceMappingURL=portal-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal-host.d.ts","sourceRoot":"","sources":["../../mpx-portal/portal-host.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,SAAS,EAAuB,MAAM,OAAO,CAAA;AAUzE,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAQD,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAepC,cAAM,WAAW;IACf,OAAO,CAAC,OAAO,CAAQ;IACvB,GAAG,MAAO,SAAS,MAAM,MAAM,GAAC,IAAI,YAInC;IAED,MAAM,QAAS,MAAM,UAEpB;IAED,MAAM,QAAS,MAAM,KAAK,SAAS,UAElC;CACF;AACD;;GAEG;AACH,eAAO,MAAM,MAAM,aAAoB,CAAA;AAEvC,QAAA,MAAM,UAAU,iBAAkB,eAAe,KAAG,WA8EnD,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ export type State = {
3
+ portals: Array<{
4
+ key: number;
5
+ children: ReactNode;
6
+ }>;
7
+ };
8
+ declare const _PortalManager: import("react").ForwardRefExoticComponent<import("react").RefAttributes<unknown>>;
9
+ export default _PortalManager;
10
+ //# sourceMappingURL=portal-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal-manager.d.ts","sourceRoot":"","sources":["../../mpx-portal/portal-manager.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwE,SAAS,EAA0B,MAAM,OAAO,CAAA;AAE/H,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,EAAE,KAAK,CAAC;QACb,GAAG,EAAE,MAAM,CAAA;QACX,QAAQ,EAAE,SAAS,CAAA;KACpB,CAAC,CAAA;CACH,CAAA;AAKD,QAAA,MAAM,cAAc,mFA4ClB,CAAA;AAEF,eAAe,cAAc,CAAA"}
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ import { View, ViewStyle } from 'react-native';
3
+ import { HandlerRef } from './useNodesRef';
4
+ export interface ProgressProps {
5
+ percent?: number;
6
+ 'stroke-width'?: number | string;
7
+ color?: string;
8
+ activeColor?: string;
9
+ backgroundColor?: string;
10
+ active?: boolean;
11
+ 'active-mode'?: 'backwards' | 'forwards';
12
+ duration?: number;
13
+ bindactiveend?: (event: any) => void;
14
+ style?: ViewStyle & Record<string, any>;
15
+ 'enable-offset'?: boolean;
16
+ 'enable-var'?: boolean;
17
+ 'external-var-context'?: Record<string, any>;
18
+ 'parent-font-size'?: number;
19
+ 'parent-width'?: number;
20
+ 'parent-height'?: number;
21
+ }
22
+ declare const Progress: import("react").ForwardRefExoticComponent<ProgressProps & import("react").RefAttributes<HandlerRef<View, ProgressProps>>>;
23
+ export default Progress;
24
+ //# sourceMappingURL=mpx-progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mpx-progress.d.ts","sourceRoot":"","sources":["../mpx-progress.tsx"],"names":[],"mappings":";AAuBA,OAAO,EACL,IAAI,EACJ,SAAS,EACV,MAAM,cAAc,CAAA;AAUrB,OAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAIvD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,WAAW,GAAG,UAAU,CAAA;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;IACpC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACvC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,QAAA,MAAM,QAAQ,2HAoMZ,CAAA;AAGF,eAAe,QAAQ,CAAA"}