zkit-ui 1.0.0

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 (267) hide show
  1. package/README.md +267 -0
  2. package/dist/ComponentLibProvider.d.ts +15 -0
  3. package/dist/ComponentLibProvider.d.ts.map +1 -0
  4. package/dist/ComponentLibProvider.js +18 -0
  5. package/dist/assets/animations/spinner.json +1 -0
  6. package/dist/assets/icons/check.svg +4 -0
  7. package/dist/assets/icons/toast/error.webp +0 -0
  8. package/dist/assets/icons/toast/success.webp +0 -0
  9. package/dist/assets/icons/toast/warning.webp +0 -0
  10. package/dist/config.d.ts +16 -0
  11. package/dist/config.d.ts.map +1 -0
  12. package/dist/config.js +42 -0
  13. package/dist/i18n/I18nProvider.d.ts +11 -0
  14. package/dist/i18n/I18nProvider.d.ts.map +1 -0
  15. package/dist/i18n/I18nProvider.js +84 -0
  16. package/dist/i18n/locale.d.ts +7 -0
  17. package/dist/i18n/locale.d.ts.map +1 -0
  18. package/dist/i18n/locale.js +87 -0
  19. package/dist/i18n/locales/de.d.ts +51 -0
  20. package/dist/i18n/locales/de.d.ts.map +1 -0
  21. package/dist/i18n/locales/de.js +62 -0
  22. package/dist/i18n/locales/en-US.d.ts +51 -0
  23. package/dist/i18n/locales/en-US.d.ts.map +1 -0
  24. package/dist/i18n/locales/en-US.js +62 -0
  25. package/dist/i18n/locales/index.d.ts +9 -0
  26. package/dist/i18n/locales/index.d.ts.map +1 -0
  27. package/dist/i18n/locales/index.js +23 -0
  28. package/dist/i18n/locales/ja.d.ts +51 -0
  29. package/dist/i18n/locales/ja.d.ts.map +1 -0
  30. package/dist/i18n/locales/ja.js +62 -0
  31. package/dist/i18n/locales/zh-CN.d.ts +51 -0
  32. package/dist/i18n/locales/zh-CN.d.ts.map +1 -0
  33. package/dist/i18n/locales/zh-CN.js +62 -0
  34. package/dist/i18n/locales/zh-TW.d.ts +51 -0
  35. package/dist/i18n/locales/zh-TW.d.ts.map +1 -0
  36. package/dist/i18n/locales/zh-TW.js +62 -0
  37. package/dist/i18n/types.d.ts +11 -0
  38. package/dist/i18n/types.d.ts.map +1 -0
  39. package/dist/i18n/types.js +2 -0
  40. package/dist/i18n/useI18n.d.ts +2 -0
  41. package/dist/i18n/useI18n.d.ts.map +1 -0
  42. package/dist/i18n/useI18n.js +41 -0
  43. package/dist/index.d.ts +57 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +90 -0
  46. package/dist/services/ActionDialogService/ActionDialog.d.ts +4 -0
  47. package/dist/services/ActionDialogService/ActionDialog.d.ts.map +1 -0
  48. package/dist/services/ActionDialogService/ActionDialog.js +531 -0
  49. package/dist/services/ActionDialogService/index.d.ts +4 -0
  50. package/dist/services/ActionDialogService/index.d.ts.map +1 -0
  51. package/dist/services/ActionDialogService/index.js +8 -0
  52. package/dist/services/ActionDialogService/service.d.ts +7 -0
  53. package/dist/services/ActionDialogService/service.d.ts.map +1 -0
  54. package/dist/services/ActionDialogService/service.js +309 -0
  55. package/dist/services/ActionDialogService/shared.d.ts +17 -0
  56. package/dist/services/ActionDialogService/shared.d.ts.map +1 -0
  57. package/dist/services/ActionDialogService/shared.js +167 -0
  58. package/dist/services/ActionDialogService/types.d.ts +160 -0
  59. package/dist/services/ActionDialogService/types.d.ts.map +1 -0
  60. package/dist/services/ActionDialogService/types.js +2 -0
  61. package/dist/services/CardToastService/index.d.ts +115 -0
  62. package/dist/services/CardToastService/index.d.ts.map +1 -0
  63. package/dist/services/CardToastService/index.js +899 -0
  64. package/dist/services/ImagePreviewService/index.d.ts +179 -0
  65. package/dist/services/ImagePreviewService/index.d.ts.map +1 -0
  66. package/dist/services/ImagePreviewService/index.js +1383 -0
  67. package/dist/services/LoadingService/index.d.ts +146 -0
  68. package/dist/services/LoadingService/index.d.ts.map +1 -0
  69. package/dist/services/LoadingService/index.js +827 -0
  70. package/dist/services/PermissionPurposeDialogService/index.d.ts +99 -0
  71. package/dist/services/PermissionPurposeDialogService/index.d.ts.map +1 -0
  72. package/dist/services/PermissionPurposeDialogService/index.js +360 -0
  73. package/dist/services/PickerService/index.d.ts +128 -0
  74. package/dist/services/PickerService/index.d.ts.map +1 -0
  75. package/dist/services/PickerService/index.js +250 -0
  76. package/dist/theme/ThemeProvider.d.ts +15 -0
  77. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  78. package/dist/theme/ThemeProvider.js +61 -0
  79. package/dist/theme/defaultTheme.d.ts +3 -0
  80. package/dist/theme/defaultTheme.d.ts.map +1 -0
  81. package/dist/theme/defaultTheme.js +28 -0
  82. package/dist/theme/mergeTheme.d.ts +3 -0
  83. package/dist/theme/mergeTheme.d.ts.map +1 -0
  84. package/dist/theme/mergeTheme.js +19 -0
  85. package/dist/theme/types.d.ts +17 -0
  86. package/dist/theme/types.d.ts.map +1 -0
  87. package/dist/theme/types.js +2 -0
  88. package/dist/theme/useTheme.d.ts +2 -0
  89. package/dist/theme/useTheme.d.ts.map +1 -0
  90. package/dist/theme/useTheme.js +46 -0
  91. package/dist/ui/Accordion/index.d.ts +99 -0
  92. package/dist/ui/Accordion/index.d.ts.map +1 -0
  93. package/dist/ui/Accordion/index.js +777 -0
  94. package/dist/ui/AddressCascader/index.d.ts +58 -0
  95. package/dist/ui/AddressCascader/index.d.ts.map +1 -0
  96. package/dist/ui/AddressCascader/index.js +710 -0
  97. package/dist/ui/BetweenTime/index.d.ts +82 -0
  98. package/dist/ui/BetweenTime/index.d.ts.map +1 -0
  99. package/dist/ui/BetweenTime/index.js +702 -0
  100. package/dist/ui/Button/index.d.ts +93 -0
  101. package/dist/ui/Button/index.d.ts.map +1 -0
  102. package/dist/ui/Button/index.js +832 -0
  103. package/dist/ui/Checkbox/index.d.ts +103 -0
  104. package/dist/ui/Checkbox/index.d.ts.map +1 -0
  105. package/dist/ui/Checkbox/index.js +694 -0
  106. package/dist/ui/DatePicker/index.d.ts +5 -0
  107. package/dist/ui/DatePicker/index.d.ts.map +1 -0
  108. package/dist/ui/DatePicker/index.js +157 -0
  109. package/dist/ui/DatePicker/types.d.ts +99 -0
  110. package/dist/ui/DatePicker/types.d.ts.map +1 -0
  111. package/dist/ui/DatePicker/types.js +2 -0
  112. package/dist/ui/DatePicker/utils.d.ts +32 -0
  113. package/dist/ui/DatePicker/utils.d.ts.map +1 -0
  114. package/dist/ui/DatePicker/utils.js +316 -0
  115. package/dist/ui/LinkedScroll/index.d.ts +78 -0
  116. package/dist/ui/LinkedScroll/index.d.ts.map +1 -0
  117. package/dist/ui/LinkedScroll/index.js +470 -0
  118. package/dist/ui/LoadingSpinner/index.d.ts +8 -0
  119. package/dist/ui/LoadingSpinner/index.d.ts.map +1 -0
  120. package/dist/ui/LoadingSpinner/index.js +122 -0
  121. package/dist/ui/Picker/actionBar.d.ts +14 -0
  122. package/dist/ui/Picker/actionBar.d.ts.map +1 -0
  123. package/dist/ui/Picker/actionBar.js +28 -0
  124. package/dist/ui/Picker/index.d.ts +5 -0
  125. package/dist/ui/Picker/index.d.ts.map +1 -0
  126. package/dist/ui/Picker/index.js +412 -0
  127. package/dist/ui/Picker/types.d.ts +80 -0
  128. package/dist/ui/Picker/types.d.ts.map +1 -0
  129. package/dist/ui/Picker/types.js +2 -0
  130. package/dist/ui/Picker/utils.d.ts +27 -0
  131. package/dist/ui/Picker/utils.d.ts.map +1 -0
  132. package/dist/ui/Picker/utils.js +182 -0
  133. package/dist/ui/Radio/index.d.ts +95 -0
  134. package/dist/ui/Radio/index.d.ts.map +1 -0
  135. package/dist/ui/Radio/index.js +633 -0
  136. package/dist/ui/Sheet/index.d.ts +12 -0
  137. package/dist/ui/Sheet/index.d.ts.map +1 -0
  138. package/dist/ui/Sheet/index.js +832 -0
  139. package/dist/ui/Sheet/nativeBottom.d.ts +52 -0
  140. package/dist/ui/Sheet/nativeBottom.d.ts.map +1 -0
  141. package/dist/ui/Sheet/nativeBottom.js +442 -0
  142. package/dist/ui/Sheet/nativeBottom.web.d.ts +18 -0
  143. package/dist/ui/Sheet/nativeBottom.web.d.ts.map +1 -0
  144. package/dist/ui/Sheet/nativeBottom.web.js +46 -0
  145. package/dist/ui/Sheet/slots.d.ts +5 -0
  146. package/dist/ui/Sheet/slots.d.ts.map +1 -0
  147. package/dist/ui/Sheet/slots.js +40 -0
  148. package/dist/ui/Sheet/types.d.ts +131 -0
  149. package/dist/ui/Sheet/types.d.ts.map +1 -0
  150. package/dist/ui/Sheet/types.js +2 -0
  151. package/dist/ui/SliderCaptcha/index.d.ts +57 -0
  152. package/dist/ui/SliderCaptcha/index.d.ts.map +1 -0
  153. package/dist/ui/SliderCaptcha/index.js +586 -0
  154. package/dist/ui/Switch/index.d.ts +72 -0
  155. package/dist/ui/Switch/index.d.ts.map +1 -0
  156. package/dist/ui/Switch/index.js +671 -0
  157. package/dist/ui/Text/index.d.ts +41 -0
  158. package/dist/ui/Text/index.d.ts.map +1 -0
  159. package/dist/ui/Text/index.js +325 -0
  160. package/dist/ui/TextInput/TextInputPrimitive.d.ts +8 -0
  161. package/dist/ui/TextInput/TextInputPrimitive.d.ts.map +1 -0
  162. package/dist/ui/TextInput/TextInputPrimitive.js +54 -0
  163. package/dist/ui/TextInput/index.d.ts +89 -0
  164. package/dist/ui/TextInput/index.d.ts.map +1 -0
  165. package/dist/ui/TextInput/index.js +545 -0
  166. package/dist/ui/WheelColumn/ZKitWheelPickerNativeComponent.d.ts +39 -0
  167. package/dist/ui/WheelColumn/ZKitWheelPickerNativeComponent.d.ts.map +1 -0
  168. package/dist/ui/WheelColumn/ZKitWheelPickerNativeComponent.js +60 -0
  169. package/dist/ui/WheelColumn/constants.d.ts +2 -0
  170. package/dist/ui/WheelColumn/constants.d.ts.map +1 -0
  171. package/dist/ui/WheelColumn/constants.js +4 -0
  172. package/dist/ui/WheelColumn/index.d.ts +59 -0
  173. package/dist/ui/WheelColumn/index.d.ts.map +1 -0
  174. package/dist/ui/WheelColumn/index.js +547 -0
  175. package/ios/ZKitWheelPicker.h +18 -0
  176. package/ios/ZKitWheelPicker.mm +230 -0
  177. package/ios/ZKitWheelPickerLabel.h +10 -0
  178. package/ios/ZKitWheelPickerLabel.mm +31 -0
  179. package/ios/ZKitWheelPickerManager.h +5 -0
  180. package/ios/ZKitWheelPickerManager.mm +53 -0
  181. package/package.json +75 -0
  182. package/react-native.config.js +10 -0
  183. package/src/ComponentLibProvider.tsx +56 -0
  184. package/src/assets/animations/spinner.json +1 -0
  185. package/src/assets/icons/check.svg +4 -0
  186. package/src/assets/icons/toast/error.webp +0 -0
  187. package/src/assets/icons/toast/success.webp +0 -0
  188. package/src/assets/icons/toast/warning.webp +0 -0
  189. package/src/config.ts +65 -0
  190. package/src/i18n/I18nProvider.tsx +69 -0
  191. package/src/i18n/locale.ts +108 -0
  192. package/src/i18n/locales/de.ts +67 -0
  193. package/src/i18n/locales/en-US.ts +67 -0
  194. package/src/i18n/locales/index.ts +19 -0
  195. package/src/i18n/locales/ja.ts +67 -0
  196. package/src/i18n/locales/zh-CN.ts +67 -0
  197. package/src/i18n/locales/zh-TW.ts +67 -0
  198. package/src/i18n/types.ts +21 -0
  199. package/src/i18n/useI18n.ts +7 -0
  200. package/src/index.ts +395 -0
  201. package/src/services/ActionDialogService/ActionDialog.tsx +756 -0
  202. package/src/services/ActionDialogService/README.md +146 -0
  203. package/src/services/ActionDialogService/index.tsx +39 -0
  204. package/src/services/ActionDialogService/service.tsx +355 -0
  205. package/src/services/ActionDialogService/shared.ts +204 -0
  206. package/src/services/ActionDialogService/types.ts +197 -0
  207. package/src/services/CardToastService/README.md +128 -0
  208. package/src/services/CardToastService/index.tsx +1284 -0
  209. package/src/services/ImagePreviewService/README.md +67 -0
  210. package/src/services/ImagePreviewService/index.tsx +2148 -0
  211. package/src/services/LoadingService/README.md +128 -0
  212. package/src/services/LoadingService/index.tsx +1113 -0
  213. package/src/services/PermissionPurposeDialogService/README.md +80 -0
  214. package/src/services/PermissionPurposeDialogService/index.tsx +449 -0
  215. package/src/services/PickerService/README.md +154 -0
  216. package/src/services/PickerService/index.tsx +410 -0
  217. package/src/theme/ThemeProvider.tsx +40 -0
  218. package/src/theme/defaultTheme.ts +30 -0
  219. package/src/theme/mergeTheme.ts +16 -0
  220. package/src/theme/types.ts +36 -0
  221. package/src/theme/useTheme.ts +10 -0
  222. package/src/types/svg.d.ts +9 -0
  223. package/src/types/vant-area-data.d.ts +19 -0
  224. package/src/ui/Accordion/README.md +67 -0
  225. package/src/ui/Accordion/index.tsx +1221 -0
  226. package/src/ui/AddressCascader/README.md +144 -0
  227. package/src/ui/AddressCascader/index.tsx +1084 -0
  228. package/src/ui/BetweenTime/README.md +490 -0
  229. package/src/ui/BetweenTime/index.tsx +1001 -0
  230. package/src/ui/Button/README.md +186 -0
  231. package/src/ui/Button/index.tsx +1356 -0
  232. package/src/ui/Checkbox/README.md +211 -0
  233. package/src/ui/Checkbox/index.tsx +1231 -0
  234. package/src/ui/DatePicker/README.md +117 -0
  235. package/src/ui/DatePicker/index.tsx +295 -0
  236. package/src/ui/DatePicker/types.ts +115 -0
  237. package/src/ui/DatePicker/utils.ts +405 -0
  238. package/src/ui/LinkedScroll/README.md +55 -0
  239. package/src/ui/LinkedScroll/index.tsx +809 -0
  240. package/src/ui/LoadingSpinner/index.tsx +104 -0
  241. package/src/ui/Picker/README.md +190 -0
  242. package/src/ui/Picker/actionBar.tsx +70 -0
  243. package/src/ui/Picker/index.tsx +694 -0
  244. package/src/ui/Picker/types.ts +94 -0
  245. package/src/ui/Picker/utils.ts +239 -0
  246. package/src/ui/Radio/README.md +207 -0
  247. package/src/ui/Radio/index.tsx +1117 -0
  248. package/src/ui/Sheet/README.md +82 -0
  249. package/src/ui/Sheet/index.tsx +1163 -0
  250. package/src/ui/Sheet/nativeBottom.tsx +683 -0
  251. package/src/ui/Sheet/nativeBottom.web.tsx +40 -0
  252. package/src/ui/Sheet/slots.tsx +75 -0
  253. package/src/ui/Sheet/types.ts +195 -0
  254. package/src/ui/SliderCaptcha/README.md +61 -0
  255. package/src/ui/SliderCaptcha/index.tsx +816 -0
  256. package/src/ui/Switch/README.md +143 -0
  257. package/src/ui/Switch/index.tsx +1092 -0
  258. package/src/ui/Text/README.md +157 -0
  259. package/src/ui/Text/index.tsx +450 -0
  260. package/src/ui/TextInput/README.md +197 -0
  261. package/src/ui/TextInput/TextInputPrimitive.tsx +44 -0
  262. package/src/ui/TextInput/index.tsx +942 -0
  263. package/src/ui/WheelColumn/README.md +104 -0
  264. package/src/ui/WheelColumn/ZKitWheelPickerNativeComponent.tsx +68 -0
  265. package/src/ui/WheelColumn/constants.ts +1 -0
  266. package/src/ui/WheelColumn/index.tsx +826 -0
  267. package/zkit-ui.podspec +19 -0
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @file PermissionPurposeDialogService - 权限用途说明 TopSheet
3
+ * @description 在系统权限申请框弹出前后,于屏幕顶部展示一条白底黑字的非阻塞说明条,
4
+ * 告知用户该权限的使用目的。纯展示、不拦截交互、无按钮。
5
+ * 支持按权限自动填充默认文案,也支持完全自定义。
6
+ * @example
7
+ * ```tsx
8
+ * import { permissionPurposeDialog } from 'zkit-ui';
9
+ *
10
+ * // 展示说明
11
+ * const purpose = permissionPurposeDialog.show({ permission: 'location' });
12
+ * // ... 发起系统权限请求 ...
13
+ * // 请求完成后关闭
14
+ * purpose.hide();
15
+ * ```
16
+ */
17
+ import * as React from 'react';
18
+ /** 内置支持的权限用途类型 */
19
+ export type PermissionPurpose = 'location' | 'camera' | 'microphone' | 'photos' | 'notification' | 'contacts' | 'calendar' | 'bluetooth' | 'motion' | 'custom';
20
+ /** 弹窗配置 */
21
+ export type PermissionPurposeDialogOptions = {
22
+ /** 作用域标识,用于按标识关闭 */
23
+ scopeKey?: string;
24
+ /** 权限用途,会自动填充默认标题与描述 */
25
+ permission?: PermissionPurpose;
26
+ /** 自定义标题(优先于默认文案) */
27
+ title?: string;
28
+ /** 自定义描述(优先于默认文案) */
29
+ message?: string;
30
+ /** 自动关闭时长(毫秒)。不传则保持显示,直到显式关闭 */
31
+ duration?: number;
32
+ /** 顶部安全区下方额外偏移。默认 `wp(8)` */
33
+ topOffset?: number;
34
+ };
35
+ /** `show()` 返回的句柄,用于精确关闭或更新本次说明。 */
36
+ export type PermissionPurposeDialogHandle = {
37
+ /** 本次说明的唯一标识。 */
38
+ id: string;
39
+ /** 只关闭当前 id 对应的说明,避免旧异步流程误关新说明。 */
40
+ hide: () => void;
41
+ /** 只更新当前 id 对应的说明配置。 */
42
+ update: (patch: Partial<PermissionPurposeDialogOptions>) => void;
43
+ };
44
+ type ResolvedPermissionPurposeDialogOptions = {
45
+ id: string;
46
+ scopeKey?: string;
47
+ permission: PermissionPurpose;
48
+ title: string;
49
+ message: string;
50
+ topOffset: number;
51
+ };
52
+ type PermissionPurposeDialogState = {
53
+ open: boolean;
54
+ options: ResolvedPermissionPurposeDialogOptions;
55
+ };
56
+ /**
57
+ * 权限用途说明弹窗服务类
58
+ * @internal
59
+ */
60
+ declare class PermissionPurposeDialogServiceClass {
61
+ private mounted;
62
+ private idSeed;
63
+ private activeId;
64
+ private activeOptions;
65
+ private hideTimer;
66
+ private setState;
67
+ /** @internal */
68
+ setMounted(mounted: boolean): void;
69
+ /** @internal */
70
+ setStateUpdater(updater: React.Dispatch<React.SetStateAction<PermissionPurposeDialogState>> | null): void;
71
+ /** 展示权限用途说明 */
72
+ show(options?: PermissionPurposeDialogOptions): PermissionPurposeDialogHandle;
73
+ /** 关闭说明 */
74
+ hide(): void;
75
+ /** 按 scopeKey 关闭 */
76
+ hideByScope(scopeKey?: string): void;
77
+ /** @internal 清理所有定时器 */
78
+ clearAllTimers(): void;
79
+ private openWithOptions;
80
+ private hideInternal;
81
+ /** 只关闭指定 id 的说明,避免旧流程误关新说明。 */
82
+ private hideById;
83
+ /** 只更新指定 id 的说明。 */
84
+ private updateById;
85
+ private createId;
86
+ private createHandle;
87
+ private clearHideTimer;
88
+ }
89
+ /** 权限用途说明弹窗服务实例 */
90
+ export declare const permissionPurposeDialog: PermissionPurposeDialogServiceClass;
91
+ /**
92
+ * 权限用途说明 Provider
93
+ * @description 需要在应用根组件中包裹,已内置于 ComponentLibProvider
94
+ */
95
+ export declare function PermissionPurposeDialogProvider({ children }: {
96
+ children: React.ReactNode;
97
+ }): import("react/jsx-runtime").JSX.Element;
98
+ export {};
99
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/PermissionPurposeDialogService/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,kBAAkB;AAClB,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,cAAc,GACd,UAAU,GACV,UAAU,GACV,WAAW,GACX,QAAQ,GACR,QAAQ,CAAC;AAEb,WAAW;AACX,MAAM,MAAM,8BAA8B,GAAG;IAC3C,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,6BAA6B,GAAG;IAC1C,iBAAiB;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,mCAAmC;IACnC,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,wBAAwB;IACxB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,8BAA8B,CAAC,KAAK,IAAI,CAAC;CAClE,CAAC;AASF,KAAK,sCAAsC,GAAG;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,sCAAsC,CAAC;CACjD,CAAC;AA2FF;;;GAGG;AACH,cAAM,mCAAmC;IACvC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,aAAa,CAA+C;IACpE,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,QAAQ,CAAmF;IAEnG,gBAAgB;IAChB,UAAU,CAAC,OAAO,EAAE,OAAO;IAS3B,gBAAgB;IAChB,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAC,GAAG,IAAI;IAIlG,eAAe;IACf,IAAI,CAAC,OAAO,GAAE,8BAAmC,GAAG,6BAA6B;IAYjF,WAAW;IACX,IAAI;IAIJ,oBAAoB;IACpB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM;IAM7B,wBAAwB;IACxB,cAAc;IAId,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,YAAY;IAiBpB,+BAA+B;IAC/B,OAAO,CAAC,QAAQ;IAKhB,oBAAoB;IACpB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,QAAQ;IAKhB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,cAAc;CAMvB;AAED,mBAAmB;AACnB,eAAO,MAAM,uBAAuB,qCAA4C,CAAC;AAwFjF;;;GAGG;AACH,wBAAgB,+BAA+B,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAmB1F"}
@@ -0,0 +1,360 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.permissionPurposeDialog = void 0;
37
+ exports.PermissionPurposeDialogProvider = PermissionPurposeDialogProvider;
38
+ const jsx_runtime_1 = require("react/jsx-runtime");
39
+ /**
40
+ * @file PermissionPurposeDialogService - 权限用途说明 TopSheet
41
+ * @description 在系统权限申请框弹出前后,于屏幕顶部展示一条白底黑字的非阻塞说明条,
42
+ * 告知用户该权限的使用目的。纯展示、不拦截交互、无按钮。
43
+ * 支持按权限自动填充默认文案,也支持完全自定义。
44
+ * @example
45
+ * ```tsx
46
+ * import { permissionPurposeDialog } from 'zkit-ui';
47
+ *
48
+ * // 展示说明
49
+ * const purpose = permissionPurposeDialog.show({ permission: 'location' });
50
+ * // ... 发起系统权限请求 ...
51
+ * // 请求完成后关闭
52
+ * purpose.hide();
53
+ * ```
54
+ */
55
+ const React = __importStar(require("react"));
56
+ const react_native_1 = require("react-native");
57
+ const react_native_safe_area_context_1 = require("react-native-safe-area-context");
58
+ const zkit_tools_1 = require("zkit-tools");
59
+ const Text_1 = require("../../ui/Text");
60
+ /** 各权限类型的默认文案 */
61
+ const DEFAULT_PURPOSE_TEXT = {
62
+ location: {
63
+ title: '需要使用位置',
64
+ message: '用于定位、附近内容或位置相关服务。授权只会在相关功能中使用。',
65
+ },
66
+ camera: {
67
+ title: '需要使用相机',
68
+ message: '用于拍照、扫码或上传现场图片。授权只会在相关功能中使用。',
69
+ },
70
+ microphone: {
71
+ title: '需要使用麦克风',
72
+ message: '用于录音、语音输入或通话相关功能。授权只会在相关功能中使用。',
73
+ },
74
+ photos: {
75
+ title: '需要访问相册',
76
+ message: '用于选择图片或视频,并完成上传、预览等操作。',
77
+ },
78
+ notification: {
79
+ title: '需要发送通知',
80
+ message: '用于接收重要提醒和状态更新,你可以随时在系统设置中调整。',
81
+ },
82
+ contacts: {
83
+ title: '需要访问通讯录',
84
+ message: '用于联系人选择、邀请或信息补全。授权只会在相关功能中使用。',
85
+ },
86
+ calendar: {
87
+ title: '需要访问日历',
88
+ message: '用于创建、读取或同步日程提醒。授权只会在相关功能中使用。',
89
+ },
90
+ bluetooth: {
91
+ title: '需要使用蓝牙',
92
+ message: '用于发现、连接或管理附近设备。授权只会在相关功能中使用。',
93
+ },
94
+ motion: {
95
+ title: '需要访问运动数据',
96
+ message: '用于识别运动状态或完成健康相关功能。授权只会在相关功能中使用。',
97
+ },
98
+ };
99
+ const DEFAULT_TITLE = '权限申请说明';
100
+ const DEFAULT_PERMISSION = 'custom';
101
+ const DEFAULT_TOP_OFFSET = (0, zkit_tools_1.wp)(8);
102
+ const EXIT_DURATION_MS = 200;
103
+ const PERMISSION_HOST_Z_INDEX = 9999;
104
+ function isPresetPermission(permission) {
105
+ return Object.prototype.hasOwnProperty.call(DEFAULT_PURPOSE_TEXT, permission);
106
+ }
107
+ function normalizeText(value) {
108
+ if (typeof value !== 'string')
109
+ return undefined;
110
+ return value.trim();
111
+ }
112
+ function normalizeDuration(value) {
113
+ if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0)
114
+ return undefined;
115
+ return value;
116
+ }
117
+ function normalizeTopOffset(value) {
118
+ if (typeof value !== 'number' || !Number.isFinite(value))
119
+ return DEFAULT_TOP_OFFSET;
120
+ return Math.max(0, value);
121
+ }
122
+ function resolveOptions(options, id) {
123
+ var _a, _b, _c;
124
+ const rawPermission = (_a = options.permission) !== null && _a !== void 0 ? _a : DEFAULT_PERMISSION;
125
+ const permission = rawPermission === 'custom' || isPresetPermission(rawPermission) ? rawPermission : DEFAULT_PERMISSION;
126
+ const preset = isPresetPermission(permission) ? DEFAULT_PURPOSE_TEXT[permission] : null;
127
+ const title = normalizeText(options.title) || (preset === null || preset === void 0 ? void 0 : preset.title) || DEFAULT_TITLE;
128
+ const message = (_c = (_b = normalizeText(options.message)) !== null && _b !== void 0 ? _b : preset === null || preset === void 0 ? void 0 : preset.message) !== null && _c !== void 0 ? _c : '';
129
+ return {
130
+ id,
131
+ scopeKey: options.scopeKey,
132
+ permission,
133
+ title,
134
+ message,
135
+ topOffset: normalizeTopOffset(options.topOffset),
136
+ };
137
+ }
138
+ /**
139
+ * 权限用途说明弹窗服务类
140
+ * @internal
141
+ */
142
+ class PermissionPurposeDialogServiceClass {
143
+ constructor() {
144
+ this.mounted = false;
145
+ this.idSeed = 0;
146
+ this.activeId = null;
147
+ this.activeOptions = null;
148
+ this.hideTimer = null;
149
+ this.setState = null;
150
+ }
151
+ /** @internal */
152
+ setMounted(mounted) {
153
+ this.mounted = mounted;
154
+ if (!mounted) {
155
+ this.activeId = null;
156
+ this.activeOptions = null;
157
+ this.clearHideTimer();
158
+ }
159
+ }
160
+ /** @internal */
161
+ setStateUpdater(updater) {
162
+ this.setState = updater;
163
+ }
164
+ /** 展示权限用途说明 */
165
+ show(options = {}) {
166
+ const id = this.createId();
167
+ if (!this.mounted || !this.setState) {
168
+ console.warn('[permissionPurposeDialog] Provider not mounted');
169
+ return this.createHandle(id);
170
+ }
171
+ this.openWithOptions(id, options);
172
+ return this.createHandle(id);
173
+ }
174
+ /** 关闭说明 */
175
+ hide() {
176
+ this.hideInternal();
177
+ }
178
+ /** 按 scopeKey 关闭 */
179
+ hideByScope(scopeKey) {
180
+ var _a;
181
+ if (!scopeKey)
182
+ return;
183
+ if (((_a = this.activeOptions) === null || _a === void 0 ? void 0 : _a.scopeKey) !== scopeKey)
184
+ return;
185
+ this.hideById(this.activeId);
186
+ }
187
+ /** @internal 清理所有定时器 */
188
+ clearAllTimers() {
189
+ this.clearHideTimer();
190
+ }
191
+ openWithOptions(id, options) {
192
+ var _a;
193
+ this.clearHideTimer();
194
+ this.activeId = id;
195
+ this.activeOptions = options;
196
+ const resolvedOptions = resolveOptions(options, id);
197
+ (_a = this.setState) === null || _a === void 0 ? void 0 : _a.call(this, { open: true, options: resolvedOptions });
198
+ const duration = normalizeDuration(options.duration);
199
+ if (duration != null) {
200
+ this.hideTimer = setTimeout(() => {
201
+ this.hideById(id);
202
+ }, duration);
203
+ }
204
+ }
205
+ hideInternal(id) {
206
+ if (id && id !== this.activeId)
207
+ return;
208
+ const closingId = this.activeId;
209
+ this.activeId = null;
210
+ this.activeOptions = null;
211
+ this.clearHideTimer();
212
+ if (!this.mounted || !this.setState)
213
+ return;
214
+ this.setState((prev) => {
215
+ if (closingId && prev.options.id !== closingId)
216
+ return prev;
217
+ if (!prev.open)
218
+ return prev;
219
+ return { ...prev, open: false };
220
+ });
221
+ }
222
+ /** 只关闭指定 id 的说明,避免旧流程误关新说明。 */
223
+ hideById(id) {
224
+ if (!id || id !== this.activeId)
225
+ return;
226
+ this.hideInternal(id);
227
+ }
228
+ /** 只更新指定 id 的说明。 */
229
+ updateById(id, patch) {
230
+ if (!id || id !== this.activeId || !this.activeOptions || !this.mounted || !this.setState) {
231
+ return;
232
+ }
233
+ this.openWithOptions(id, { ...this.activeOptions, ...patch });
234
+ }
235
+ createId() {
236
+ this.idSeed += 1;
237
+ return `permission_purpose_${Date.now()}_${this.idSeed}`;
238
+ }
239
+ createHandle(id) {
240
+ return {
241
+ id,
242
+ hide: () => this.hideById(id),
243
+ update: (patch) => this.updateById(id, patch),
244
+ };
245
+ }
246
+ clearHideTimer() {
247
+ if (this.hideTimer) {
248
+ clearTimeout(this.hideTimer);
249
+ this.hideTimer = null;
250
+ }
251
+ }
252
+ }
253
+ /** 权限用途说明弹窗服务实例 */
254
+ exports.permissionPurposeDialog = new PermissionPurposeDialogServiceClass();
255
+ const initialState = {
256
+ open: false,
257
+ options: resolveOptions({}, '__initial__'),
258
+ };
259
+ /** TopSheet 纯展示卡片 */
260
+ function PermissionPurposeCard({ open, options, }) {
261
+ const insets = (0, react_native_safe_area_context_1.useSafeAreaInsets)();
262
+ const progress = React.useRef(new react_native_1.Animated.Value(open ? 1 : 0)).current;
263
+ const [visible, setVisible] = React.useState(open);
264
+ const accessibilityLabel = React.useMemo(() => {
265
+ if (!options.message)
266
+ return options.title;
267
+ return `${options.title},${options.message}`;
268
+ }, [options.message, options.title]);
269
+ React.useEffect(() => {
270
+ return () => {
271
+ progress.stopAnimation();
272
+ };
273
+ }, [progress]);
274
+ React.useEffect(() => {
275
+ progress.stopAnimation();
276
+ if (open) {
277
+ setVisible(true);
278
+ // 入场直接显示,不做过渡。
279
+ // 因为 Android 系统权限弹框弹出后会冻结 App 动画线程,
280
+ // 若此处做动画,权限说明可能停在半透明状态,反而损害稳定性。
281
+ progress.setValue(1);
282
+ return;
283
+ }
284
+ if (!visible)
285
+ return;
286
+ // 退场:系统权限框关闭后 App 恢复正常,可以正常跑退出动画
287
+ react_native_1.Animated.timing(progress, {
288
+ toValue: 0,
289
+ duration: EXIT_DURATION_MS,
290
+ easing: react_native_1.Easing.out(react_native_1.Easing.cubic),
291
+ useNativeDriver: true,
292
+ }).start(({ finished }) => {
293
+ if (finished)
294
+ setVisible(false);
295
+ });
296
+ }, [open, options.id, progress, visible]);
297
+ const animatedStyle = React.useMemo(() => ({
298
+ opacity: progress,
299
+ }), [progress]);
300
+ if (!visible)
301
+ return null;
302
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: [styles.host, { top: (insets.top || 0) + options.topOffset }], children: (0, jsx_runtime_1.jsx)(react_native_1.Animated.View, { accessible: open, accessibilityLabel: accessibilityLabel, accessibilityLiveRegion: "polite", accessibilityRole: "alert", importantForAccessibility: open ? 'yes' : 'no-hide-descendants', renderToHardwareTextureAndroid: react_native_1.Platform.OS === 'android', shouldRasterizeIOS: react_native_1.Platform.OS === 'ios', style: [
303
+ styles.sheet,
304
+ animatedStyle,
305
+ ], children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.content, children: [(0, jsx_runtime_1.jsx)(Text_1.Text, { style: styles.title, children: options.title }), options.message ? (0, jsx_runtime_1.jsx)(Text_1.Text, { style: styles.message, children: options.message }) : null] }) }) }));
306
+ }
307
+ /**
308
+ * 权限用途说明 Provider
309
+ * @description 需要在应用根组件中包裹,已内置于 ComponentLibProvider
310
+ */
311
+ function PermissionPurposeDialogProvider({ children }) {
312
+ const [state, setState] = React.useState(initialState);
313
+ React.useEffect(() => {
314
+ exports.permissionPurposeDialog.setMounted(true);
315
+ exports.permissionPurposeDialog.setStateUpdater(setState);
316
+ return () => {
317
+ exports.permissionPurposeDialog.clearAllTimers();
318
+ exports.permissionPurposeDialog.setStateUpdater(null);
319
+ exports.permissionPurposeDialog.setMounted(false);
320
+ };
321
+ }, []);
322
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [children, (0, jsx_runtime_1.jsx)(PermissionPurposeCard, { open: state.open, options: state.options })] }));
323
+ }
324
+ const styles = react_native_1.StyleSheet.create({
325
+ host: {
326
+ position: 'absolute',
327
+ left: (0, zkit_tools_1.wp)(0),
328
+ right: (0, zkit_tools_1.wp)(0),
329
+ alignItems: 'center',
330
+ zIndex: PERMISSION_HOST_Z_INDEX,
331
+ elevation: react_native_1.Platform.OS === 'android' ? PERMISSION_HOST_Z_INDEX : 0,
332
+ },
333
+ sheet: {
334
+ width: (0, zkit_tools_1.wp)(340),
335
+ maxWidth: '94%',
336
+ borderRadius: (0, zkit_tools_1.wp)(12),
337
+ backgroundColor: '#FFFFFF',
338
+ shadowColor: '#000000',
339
+ shadowOpacity: 0.12,
340
+ shadowOffset: { width: (0, zkit_tools_1.wp)(0), height: (0, zkit_tools_1.wp)(4) },
341
+ shadowRadius: (0, zkit_tools_1.wp)(12),
342
+ elevation: 8,
343
+ },
344
+ content: {
345
+ paddingHorizontal: (0, zkit_tools_1.wp)(16),
346
+ paddingVertical: (0, zkit_tools_1.wp)(14),
347
+ },
348
+ title: {
349
+ fontSize: (0, zkit_tools_1.wp)(15),
350
+ lineHeight: (0, zkit_tools_1.wp)(20),
351
+ fontWeight: '600',
352
+ color: '#111111',
353
+ },
354
+ message: {
355
+ marginTop: (0, zkit_tools_1.wp)(6),
356
+ fontSize: (0, zkit_tools_1.wp)(13),
357
+ lineHeight: (0, zkit_tools_1.wp)(18),
358
+ color: '#333333',
359
+ },
360
+ });
@@ -0,0 +1,128 @@
1
+ /**
2
+ * @file PickerService - 命令式选择器服务
3
+ * @description 提供 pick、pickDate、pickAddress、pickBetweenTime 等方法
4
+ * @example
5
+ * ```tsx
6
+ * import { pickerService } from 'zkit-ui';
7
+ *
8
+ * const result = await pickerService.pick({ options: [...], value: 'id' });
9
+ * const date = await pickerService.pickDate({ value: '2024-01-01' });
10
+ * ```
11
+ */
12
+ import * as React from 'react';
13
+ import { type PickerConfirmPayload, type PickerValue, type PickerProps } from '../../ui/Picker';
14
+ import { type DatePickerProps, type DatePickerValue } from '../../ui/DatePicker';
15
+ import { type AddressCascaderOption, type AddressCascaderProps, type AddressCascaderValue } from '../../ui/AddressCascader';
16
+ import { type BetweenTimeProps } from '../../ui/BetweenTime';
17
+ /** 通用选择器返回结果 */
18
+ export type PickerResult = {
19
+ /** 选中值 */
20
+ value: PickerValue;
21
+ /** 选中值数组(多列时) */
22
+ values: PickerConfirmPayload['values'];
23
+ /** 选中项文本 */
24
+ label: string;
25
+ /** 选中项文本数组(多列时) */
26
+ labels: string[];
27
+ /** 选中项数据 */
28
+ items: PickerConfirmPayload['items'];
29
+ } | null;
30
+ /** 日期选择器返回结果 */
31
+ export type DatePickerResult = {
32
+ /** 选中日期值 */
33
+ value: DatePickerValue;
34
+ /** 格式化后的日期文本 */
35
+ label: string;
36
+ } | null;
37
+ /** 地址选择器返回结果 */
38
+ export type AddressPickerResult = {
39
+ /** 选中地址码数组 */
40
+ value: AddressCascaderValue;
41
+ /** 选中地址码数组 */
42
+ values: string[];
43
+ /** 完整地址文本 */
44
+ label: string;
45
+ /** 各级地址文本数组 */
46
+ labels: string[];
47
+ /** 选中项数据 */
48
+ items: AddressCascaderOption[];
49
+ } | null;
50
+ /** 时间区间选择器返回结果 */
51
+ export type BetweenTimePickerResult = {
52
+ /** 时间区间 [开始, 结束] */
53
+ value: string[];
54
+ } | null;
55
+ /** 通用选择器配置 */
56
+ export type PickOptions = Omit<PickerProps, 'open' | 'onOpenChange' | 'onConfirm' | 'onCancel' | 'children' | 'onDismissComplete'>;
57
+ /** 日期选择器配置 */
58
+ export type PickDateOptions = Omit<DatePickerProps, 'open' | 'onOpenChange' | 'onConfirm' | 'onCancel' | 'children' | 'onDismissComplete'>;
59
+ /** 地址选择器配置 */
60
+ export type PickAddressOptions = Omit<AddressCascaderProps, 'open' | 'onOpenChange' | 'onConfirm' | 'onCancel' | 'children' | 'onDismissComplete'>;
61
+ /** 时间区间选择器配置 */
62
+ export type PickBetweenTimeOptions = Omit<BetweenTimeProps, 'open' | 'onOpenChange' | 'onConfirm' | 'onCancel' | 'children' | 'onDismissComplete'>;
63
+ type PickerType = 'picker' | 'date' | 'address' | 'betweenTime';
64
+ type PickerRequestMap = {
65
+ picker: {
66
+ options: PickOptions;
67
+ result: PickerResult;
68
+ };
69
+ date: {
70
+ options: PickDateOptions;
71
+ result: DatePickerResult;
72
+ };
73
+ address: {
74
+ options: PickAddressOptions;
75
+ result: AddressPickerResult;
76
+ };
77
+ betweenTime: {
78
+ options: PickBetweenTimeOptions;
79
+ result: BetweenTimePickerResult;
80
+ };
81
+ };
82
+ type PickerRequestResult = PickerRequestMap[PickerType]['result'];
83
+ type PickerRequest<T extends PickerType = PickerType> = {
84
+ [K in T]: {
85
+ id: string;
86
+ type: K;
87
+ options: PickerRequestMap[K]['options'];
88
+ resolve: ((result: PickerRequestResult) => void) | null;
89
+ };
90
+ }[T];
91
+ type PickerState = {
92
+ activeRequest: PickerRequest | null;
93
+ queuedRequests: PickerRequest[];
94
+ open: boolean;
95
+ };
96
+ /**
97
+ * 选择器服务类
98
+ * @internal
99
+ */
100
+ declare class PickerServiceClass {
101
+ private setState;
102
+ private sequence;
103
+ /** @internal 设置状态更新器 */
104
+ setStateUpdater(updater: React.Dispatch<React.SetStateAction<PickerState>> | null): void;
105
+ /** @internal 显示选择器 */
106
+ private show;
107
+ /** 打开通用选择器 */
108
+ pick(options: PickOptions): Promise<PickerResult>;
109
+ /** 打开日期选择器 */
110
+ pickDate(options?: PickDateOptions): Promise<DatePickerResult>;
111
+ /** 打开地址选择器 */
112
+ pickAddress(options?: PickAddressOptions): Promise<AddressPickerResult>;
113
+ /** 打开时间区间选择器 */
114
+ pickBetweenTime(options?: PickBetweenTimeOptions): Promise<BetweenTimePickerResult>;
115
+ /** 关闭当前选择器 */
116
+ close(): void;
117
+ }
118
+ /** 选择器服务实例 */
119
+ export declare const pickerService: PickerServiceClass;
120
+ /**
121
+ * 选择器服务 Provider
122
+ * @description 需要在应用根组件中包裹,已内置于 ComponentLibProvider
123
+ */
124
+ export declare function PickerServiceProvider({ children }: {
125
+ children: React.ReactNode;
126
+ }): import("react/jsx-runtime").JSX.Element;
127
+ export {};
128
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/PickerService/index.tsx"],"names":[],"mappings":"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"}