antd-overlay 0.2.0 → 0.4.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.
package/dist/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { ModalProps, DrawerProps } from 'antd';
2
+ import { ModalProps, DrawerProps, TourProps } from 'antd';
3
3
  import * as React$1 from 'react';
4
4
  import React__default from 'react';
5
5
 
6
6
  type DefaultModalProps = Partial<ModalProps>;
7
7
  type DefaultDrawerProps = Partial<DrawerProps>;
8
+ type DefaultTourProps = Partial<TourProps>;
8
9
  /**
9
10
  * AntdOverlay Context 的值类型
10
11
  *
@@ -23,12 +24,14 @@ interface AntdOverlayContextValue {
23
24
  defaultModalProps?: DefaultModalProps;
24
25
  /** 默认 Drawer 属性 */
25
26
  defaultDrawerProps?: DefaultDrawerProps;
27
+ /** 默认 Tour 属性 */
28
+ defaultTourProps?: DefaultTourProps;
26
29
  }
27
30
  /**
28
31
  * AntdOverlay 容器提供者组件
29
32
  *
30
33
  * 用于管理全局覆盖层的挂载点。所有通过 useGlobalOverlay、useGlobalModal、
31
- * useGlobalDrawer 等 Hook 创建的覆盖层都会被挂载到这个 Provider 下。
34
+ * useGlobalDrawer、useGlobalTour 等 Hook 创建的覆盖层都会被挂载到这个 Provider 下。
32
35
  *
33
36
  * 渲染结构:
34
37
  * ```
@@ -73,15 +76,18 @@ interface AntdOverlayProviderProps {
73
76
  defaultModalProps?: DefaultModalProps;
74
77
  /** 默认 Drawer 属性 */
75
78
  defaultDrawerProps?: DefaultDrawerProps;
79
+ /** 默认 Tour 属性 */
80
+ defaultTourProps?: DefaultTourProps;
76
81
  }
77
82
  /**
78
83
  * AntdOverlayProvider 组件
79
84
  * @param children - 子节点
80
85
  * @param defaultModalProps - 默认 Modal 属性
81
86
  * @param defaultDrawerProps - 默认 Drawer 属性
87
+ * @param defaultTourProps - 默认 Tour 属性
82
88
  * @returns React.ReactNode
83
89
  */
84
- declare function AntdOverlayProvider({ children, defaultModalProps, defaultDrawerProps, }: AntdOverlayProviderProps): react_jsx_runtime.JSX.Element;
90
+ declare function AntdOverlayProvider({ children, defaultModalProps, defaultDrawerProps, defaultTourProps, }: AntdOverlayProviderProps): react_jsx_runtime.JSX.Element;
85
91
  /**
86
92
  * 获取 AntdOverlay Context 的 Hook
87
93
  *
@@ -678,4 +684,157 @@ declare function generateUseDrawerHook<T extends CustomDrawerProps>(DrawerCompon
678
684
  useGlobalDrawer: (options?: UseDrawerOptions<T>) => OverlayOpener<T>;
679
685
  };
680
686
 
681
- export { AntdOverlayProvider, type AntdOverlayProviderProps, type CustomDrawerProps, type CustomModalProps, type CustomOverlayProps, type DefaultDrawerProps, type DefaultModalProps, type InternalOverlayProps, type OverlayController, type OverlayOpener, type UseDrawerOptions, type UseModalOptions, type UseOverlayOptions, generateUseDrawerHook, generateUseModalHook, generateUseOverlayHook, useAntdOverlayContext, useDrawer, useGlobalDrawer, useGlobalModal, useGlobalOverlay, useModal, useOverlay };
687
+ /**
688
+ * 自定义 Tour 组件的属性接口
689
+ * 继承 Ant Design TourProps 并添加自定义属性
690
+ *
691
+ * @template T - customOk 回调的参数类型
692
+ * @template R - customOk 回调的返回类型
693
+ */
694
+ interface CustomTourProps<T = any, R = void> extends TourProps, CustomOverlayProps<T, R> {
695
+ }
696
+ /**
697
+ * useTour Hook 的配置选项
698
+ * 排除了 propsAdapter 和 keyPrefix,这些由内部自动处理。
699
+ * 与 {@link UseOverlayOptions} 一致:可在顶层或 defaultProps 中传入默认 Tour 属性。
700
+ */
701
+ type UseTourOptions<T extends CustomTourProps = CustomTourProps> = Omit<UseOverlayOptions<T>, 'propsAdapter' | 'keyPrefix'>;
702
+ /**
703
+ * Tour 管理 Hook
704
+ *
705
+ * @returns 元组 [openTour, contextHolder]
706
+ */
707
+ declare function useTour<T extends CustomTourProps>(TourComponent: React.FC<T>, options?: UseTourOptions<T>): [OverlayOpener<T>, React.ReactNode];
708
+ /**
709
+ * 全局 Tour 管理 Hook
710
+ *
711
+ * 与 useTour 的区别:无需手动渲染 contextHolder,Tour 会自动挂载到全局容器。
712
+ */
713
+ declare function useGlobalTour<T extends CustomTourProps>(TourComponent: React.FC<T>, options?: UseTourOptions<T>): OverlayOpener<T>;
714
+ /**
715
+ * 生成绑定了特定 Tour 组件的 Hook 工厂函数
716
+ */
717
+ declare function generateUseTourHook<T extends CustomTourProps>(TourComponent: React.FC<T>): {
718
+ useTour: (options?: UseTourOptions<T>) => [OverlayOpener<T>, React$1.ReactNode];
719
+ useGlobalTour: (options?: UseTourOptions<T>) => OverlayOpener<T>;
720
+ };
721
+
722
+ /**
723
+ * @file usePromiseOverlay - 命令式 Promise 风格的覆盖层管理 Hook
724
+ * @description
725
+ * 在 useOverlay / useGlobalOverlay 之上叠加 Promise 语义:
726
+ * - opener 返回 `Promise<V | undefined>`
727
+ * - customOk(value) 成功 → resolve(value)(解析值为入参,非 customOk 返回值)
728
+ * - 任意非 OK 关闭路径(customClose / 蒙层 / antd 取消按钮 / 组件卸载 / 再次 open 抢占)→ resolve(undefined)
729
+ * - customOk 抛错 / Promise reject → reject(error),覆盖层保持打开
730
+ *
731
+ * 实现思路:通过包装 propsAdapter 拦截 customOk 与 customClose;
732
+ * 让内层适配器(默认 / Modal / Drawer)先完成 defaultProps 合并与 wrapCustomOk 的
733
+ * 自动关闭链路,再在外层包一层用于结算 Promise。这样 Provider 上的
734
+ * defaultModalProps.customOk / defaultDrawerProps.customOk 也能被正常消费。
735
+ */
736
+
737
+ /**
738
+ * 从覆盖层组件 props 推断 customOk 入参类型
739
+ *
740
+ * - 若 `T['customOk']` 为 `(value: V) => any`,则 `V`
741
+ * - 若组件未声明 `customOk`,则 `never`(外层 Promise 实际类型为 `Promise<undefined>`)
742
+ */
743
+ type CustomOkValue<T extends CustomOverlayProps> = T['customOk'] extends ((value: infer V) => unknown) | undefined ? V : never;
744
+ /**
745
+ * usePromiseOverlay 系列的 opener 类型
746
+ *
747
+ * 调用 opener 即打开覆盖层并返回 Promise<V | undefined>。
748
+ */
749
+ type PromiseOverlayOpener<T extends CustomOverlayProps, V = CustomOkValue<T>> = (initialize?: InternalOverlayProps<T>) => Promise<V | undefined>;
750
+ /**
751
+ * usePromiseOverlay 的配置选项(与 useOverlay 完全一致)
752
+ */
753
+ type UsePromiseOverlayOptions<T extends CustomOverlayProps> = UseOverlayOptions<T>;
754
+ /**
755
+ * usePromiseOverlay
756
+ *
757
+ * @returns `[openPromise, holder]`
758
+ * @example
759
+ * const [openPromise, holder] = usePromiseOverlay(MyOverlay, {
760
+ * propsAdapter: (props, state) => ({ ...props, open: state.open, customClose: state.onClose }),
761
+ * });
762
+ * const value = await openPromise({ ...props });
763
+ */
764
+ declare function usePromiseOverlay<T extends CustomOverlayProps>(OverlayComponent: React__default.FC<T>, options?: UsePromiseOverlayOptions<T>): [PromiseOverlayOpener<T>, React__default.ReactNode];
765
+ /**
766
+ * useGlobalPromiseOverlay
767
+ *
768
+ * 与 usePromiseOverlay 等价,但 holder 自动挂载到 AntdOverlayProvider。
769
+ * 必须在 AntdOverlayProvider 内部使用。
770
+ */
771
+ declare function useGlobalPromiseOverlay<T extends CustomOverlayProps>(OverlayComponent: React__default.FC<T>, options?: UsePromiseOverlayOptions<T>): PromiseOverlayOpener<T>;
772
+ /**
773
+ * 生成绑定特定组件的 Promise 版 Hook 工厂
774
+ *
775
+ * @example
776
+ * export const {
777
+ * usePromiseOverlay: useMyPromiseOverlay,
778
+ * useGlobalPromiseOverlay: useGlobalMyPromiseOverlay,
779
+ * } = generateUsePromiseOverlayHook(MyOverlay, { propsAdapter });
780
+ */
781
+ declare function generateUsePromiseOverlayHook<T extends CustomOverlayProps>(OverlayComponent: React__default.FC<T>, defaultOptions?: UsePromiseOverlayOptions<T>): {
782
+ usePromiseOverlay: (options?: UsePromiseOverlayOptions<T>) => [PromiseOverlayOpener<T, CustomOkValue<T>>, React__default.ReactNode];
783
+ useGlobalPromiseOverlay: (options?: UsePromiseOverlayOptions<T>) => PromiseOverlayOpener<T, CustomOkValue<T>>;
784
+ };
785
+
786
+ /**
787
+ * @file usePromiseModal - Promise 风格的 Modal 管理 Hook
788
+ * @description
789
+ * 在 usePromiseOverlay 上使用 Modal 专用的 propsAdapter,行为与 useModal 完全对齐:
790
+ * - opener 返回 `Promise<V | undefined>`
791
+ * - customOk(value) → resolve(value);非 OK 关闭 → resolve(undefined);customOk 抛错 / reject → reject 透传
792
+ *
793
+ * @example
794
+ * const [openConfirm, holder] = usePromiseModal(ConfirmModal);
795
+ * const result = await openConfirm({ title: 'Confirm?' });
796
+ * if (result === undefined) return; // 用户取消
797
+ */
798
+
799
+ /**
800
+ * usePromiseModal 的配置选项(与 useModal 一致:不含 propsAdapter / keyPrefix)
801
+ */
802
+ type UsePromiseModalOptions<T extends CustomModalProps = CustomModalProps> = UseModalOptions<T>;
803
+ declare function usePromiseModal<T extends CustomModalProps>(ModalComponent: React__default.FC<T>, options?: UsePromiseModalOptions<T>): [PromiseOverlayOpener<T>, React__default.ReactNode];
804
+ declare function useGlobalPromiseModal<T extends CustomModalProps>(ModalComponent: React__default.FC<T>, options?: UsePromiseModalOptions<T>): PromiseOverlayOpener<T>;
805
+ /**
806
+ * 生成绑定了特定 Modal 组件的 Promise Hook 工厂
807
+ */
808
+ declare function generateUsePromiseModalHook<T extends CustomModalProps>(ModalComponent: React__default.FC<T>): {
809
+ usePromiseModal: (options?: UsePromiseModalOptions<T>) => [PromiseOverlayOpener<T>, React__default.ReactNode];
810
+ useGlobalPromiseModal: (options?: UsePromiseModalOptions<T>) => PromiseOverlayOpener<T>;
811
+ };
812
+
813
+ /**
814
+ * @file usePromiseDrawer - Promise 风格的 Drawer 管理 Hook
815
+ * @description
816
+ * 在 usePromiseOverlay 上使用 Drawer 专用的 propsAdapter,行为与 useDrawer 完全对齐:
817
+ * - opener 返回 `Promise<V | undefined>`
818
+ * - customOk(value) → resolve(value);非 OK 关闭 → resolve(undefined);customOk 抛错 / reject → reject 透传
819
+ *
820
+ * @example
821
+ * const [openPromiseDrawer, holder] = usePromiseDrawer(MyDrawer);
822
+ * const result = await openPromiseDrawer({ title: 'Edit' });
823
+ * if (result === undefined) return; // 用户取消
824
+ */
825
+
826
+ /**
827
+ * usePromiseDrawer 的配置选项(与 useDrawer 一致:不含 propsAdapter / keyPrefix)
828
+ */
829
+ type UsePromiseDrawerOptions<T extends CustomDrawerProps = CustomDrawerProps> = UseDrawerOptions<T>;
830
+ declare function usePromiseDrawer<T extends CustomDrawerProps>(DrawerComponent: React__default.FC<T>, options?: UsePromiseDrawerOptions<T>): [PromiseOverlayOpener<T>, React__default.ReactNode];
831
+ declare function useGlobalPromiseDrawer<T extends CustomDrawerProps>(DrawerComponent: React__default.FC<T>, options?: UsePromiseDrawerOptions<T>): PromiseOverlayOpener<T>;
832
+ /**
833
+ * 生成绑定了特定 Drawer 组件的 Promise Hook 工厂
834
+ */
835
+ declare function generateUsePromiseDrawerHook<T extends CustomDrawerProps>(DrawerComponent: React__default.FC<T>): {
836
+ usePromiseDrawer: (options?: UsePromiseDrawerOptions<T>) => [PromiseOverlayOpener<T>, React__default.ReactNode];
837
+ useGlobalPromiseDrawer: (options?: UsePromiseDrawerOptions<T>) => PromiseOverlayOpener<T>;
838
+ };
839
+
840
+ export { AntdOverlayProvider, type AntdOverlayProviderProps, type CustomDrawerProps, type CustomModalProps, type CustomOkValue, type CustomOverlayProps, type CustomTourProps, type DefaultDrawerProps, type DefaultModalProps, type DefaultTourProps, type InternalOverlayProps, type OverlayController, type OverlayOpener, type PromiseOverlayOpener, type UseDrawerOptions, type UseModalOptions, type UseOverlayOptions, type UsePromiseDrawerOptions, type UsePromiseModalOptions, type UsePromiseOverlayOptions, type UseTourOptions, generateUseDrawerHook, generateUseModalHook, generateUseOverlayHook, generateUsePromiseDrawerHook, generateUsePromiseModalHook, generateUsePromiseOverlayHook, generateUseTourHook, useAntdOverlayContext, useDrawer, useGlobalDrawer, useGlobalModal, useGlobalOverlay, useGlobalPromiseDrawer, useGlobalPromiseModal, useGlobalPromiseOverlay, useGlobalTour, useModal, useOverlay, usePromiseDrawer, usePromiseModal, usePromiseOverlay, useTour };
package/dist/index.js CHANGED
@@ -6,7 +6,8 @@ var AntdOverlayContext = createContext(null);
6
6
  function AntdOverlayProvider({
7
7
  children,
8
8
  defaultModalProps,
9
- defaultDrawerProps
9
+ defaultDrawerProps,
10
+ defaultTourProps
10
11
  }) {
11
12
  const [holders, setHolders] = useState([]);
12
13
  const addHolder = useCallback((holder) => {
@@ -16,8 +17,15 @@ function AntdOverlayProvider({
16
17
  setHolders((prev) => prev.filter((h) => h !== holder));
17
18
  }, []);
18
19
  const value = useMemo(
19
- () => ({ holders, addHolder, removeHolder, defaultModalProps, defaultDrawerProps }),
20
- [holders, addHolder, removeHolder, defaultModalProps, defaultDrawerProps]
20
+ () => ({
21
+ holders,
22
+ addHolder,
23
+ removeHolder,
24
+ defaultModalProps,
25
+ defaultDrawerProps,
26
+ defaultTourProps
27
+ }),
28
+ [holders, addHolder, removeHolder, defaultModalProps, defaultDrawerProps, defaultTourProps]
21
29
  );
22
30
  return /* @__PURE__ */ jsxs(AntdOverlayContext.Provider, { value, children: [
23
31
  children,
@@ -260,7 +268,253 @@ function generateUseDrawerHook(DrawerComponent) {
260
268
  useGlobalDrawer: (options) => useGlobalDrawer(DrawerComponent, options)
261
269
  };
262
270
  }
271
+ var createTourPropsAdapter = (defaultProps) => {
272
+ return (props, state) => {
273
+ const result = {
274
+ ...defaultProps,
275
+ ...props,
276
+ open: state.open,
277
+ customClose: state.onClose,
278
+ onClose: (current) => {
279
+ props?.onClose?.(current);
280
+ state.onClose();
281
+ }
282
+ };
283
+ if (result.customOk) {
284
+ result.customOk = wrapCustomOk(result.customOk, state.onClose);
285
+ }
286
+ return result;
287
+ };
288
+ };
289
+ function useTour(TourComponent, options) {
290
+ const context = useAntdOverlayContext();
291
+ const propsAdapter = useMemo(
292
+ () => createTourPropsAdapter(context?.defaultTourProps),
293
+ [context?.defaultTourProps]
294
+ );
295
+ return useOverlay(TourComponent, {
296
+ animation: false,
297
+ ...options,
298
+ keyPrefix: "use-tour",
299
+ propsAdapter
300
+ });
301
+ }
302
+ function useGlobalTour(TourComponent, options) {
303
+ const context = useAntdOverlayContext();
304
+ const propsAdapter = useMemo(
305
+ () => createTourPropsAdapter(context?.defaultTourProps),
306
+ [context?.defaultTourProps]
307
+ );
308
+ return useGlobalOverlay(TourComponent, {
309
+ animation: false,
310
+ ...options,
311
+ keyPrefix: "use-tour",
312
+ propsAdapter
313
+ });
314
+ }
315
+ function generateUseTourHook(TourComponent) {
316
+ return {
317
+ useTour: (options) => useTour(TourComponent, options),
318
+ useGlobalTour: (options) => useGlobalTour(TourComponent, options)
319
+ };
320
+ }
321
+ var createSettler = (rawResolve, rawReject) => {
322
+ let settled = false;
323
+ return {
324
+ resolve: (value) => {
325
+ if (settled) return;
326
+ settled = true;
327
+ rawResolve(value);
328
+ },
329
+ reject: (err) => {
330
+ if (settled) return;
331
+ settled = true;
332
+ rawReject(err);
333
+ }
334
+ };
335
+ };
336
+ var passthroughAdapter = (props, state) => {
337
+ const result = {
338
+ ...props,
339
+ open: state.open,
340
+ customClose: state.onClose
341
+ };
342
+ if (result.customOk) {
343
+ result.customOk = wrapCustomOk(result.customOk, state.onClose);
344
+ }
345
+ return result;
346
+ };
347
+ var withPromiseAdapter = (innerAdapter, settleRef) => {
348
+ return (props, state) => {
349
+ const inner = innerAdapter(props, state);
350
+ const innerCustomOk = inner.customOk;
351
+ const innerCustomClose = inner.customClose;
352
+ return {
353
+ ...inner,
354
+ customOk: ((value) => {
355
+ if (innerCustomOk) {
356
+ try {
357
+ const result = innerCustomOk(value);
358
+ if (result instanceof Promise) {
359
+ return result.then(
360
+ (resolved) => {
361
+ settleRef.current?.resolve(value);
362
+ return resolved;
363
+ },
364
+ (err) => {
365
+ settleRef.current?.reject(err);
366
+ throw err;
367
+ }
368
+ );
369
+ }
370
+ settleRef.current?.resolve(value);
371
+ return result;
372
+ } catch (err) {
373
+ settleRef.current?.reject(err);
374
+ throw err;
375
+ }
376
+ }
377
+ settleRef.current?.resolve(value);
378
+ state.onClose();
379
+ return void 0;
380
+ }),
381
+ customClose: () => {
382
+ settleRef.current?.resolve(void 0);
383
+ innerCustomClose();
384
+ }
385
+ };
386
+ };
387
+ };
388
+ var makePromiseOpener = (openOverlay, settleRef) => {
389
+ return (initialize) => {
390
+ settleRef.current?.resolve(void 0);
391
+ let rawResolve = () => void 0;
392
+ let rawReject = () => void 0;
393
+ const promise = new Promise((resolve, reject) => {
394
+ rawResolve = resolve;
395
+ rawReject = reject;
396
+ });
397
+ settleRef.current = createSettler(rawResolve, rawReject);
398
+ openOverlay(initialize);
399
+ return promise;
400
+ };
401
+ };
402
+ function usePromiseOverlay(OverlayComponent, options = {}) {
403
+ const settleRef = useRef(null);
404
+ const { propsAdapter: userAdapter, ...rest } = options;
405
+ const wrappedAdapter = useMemo(
406
+ () => withPromiseAdapter(
407
+ userAdapter ?? passthroughAdapter,
408
+ settleRef
409
+ ),
410
+ [userAdapter]
411
+ );
412
+ const [openOverlay, holder] = useOverlay(OverlayComponent, {
413
+ ...rest,
414
+ propsAdapter: wrappedAdapter
415
+ });
416
+ useEffect(() => {
417
+ return () => {
418
+ settleRef.current?.resolve(void 0);
419
+ };
420
+ }, []);
421
+ const openPromise = useMemo(() => makePromiseOpener(openOverlay, settleRef), [openOverlay]);
422
+ return [openPromise, holder];
423
+ }
424
+ function useGlobalPromiseOverlay(OverlayComponent, options = {}) {
425
+ const settleRef = useRef(null);
426
+ const { propsAdapter: userAdapter, ...rest } = options;
427
+ const wrappedAdapter = useMemo(
428
+ () => withPromiseAdapter(
429
+ userAdapter ?? passthroughAdapter,
430
+ settleRef
431
+ ),
432
+ [userAdapter]
433
+ );
434
+ const openOverlay = useGlobalOverlay(OverlayComponent, {
435
+ ...rest,
436
+ propsAdapter: wrappedAdapter
437
+ });
438
+ useEffect(() => {
439
+ return () => {
440
+ settleRef.current?.resolve(void 0);
441
+ };
442
+ }, []);
443
+ return useMemo(() => makePromiseOpener(openOverlay, settleRef), [openOverlay]);
444
+ }
445
+ function generateUsePromiseOverlayHook(OverlayComponent, defaultOptions) {
446
+ return {
447
+ usePromiseOverlay: (options) => usePromiseOverlay(OverlayComponent, {
448
+ ...defaultOptions,
449
+ ...options
450
+ }),
451
+ useGlobalPromiseOverlay: (options) => useGlobalPromiseOverlay(OverlayComponent, {
452
+ ...defaultOptions,
453
+ ...options
454
+ })
455
+ };
456
+ }
457
+ function usePromiseModal(ModalComponent, options) {
458
+ const context = useAntdOverlayContext();
459
+ const propsAdapter = useMemo(
460
+ () => createModalPropsAdapter(context?.defaultModalProps),
461
+ [context?.defaultModalProps]
462
+ );
463
+ return usePromiseOverlay(ModalComponent, {
464
+ ...options,
465
+ keyPrefix: "use-modal",
466
+ propsAdapter
467
+ });
468
+ }
469
+ function useGlobalPromiseModal(ModalComponent, options) {
470
+ const context = useAntdOverlayContext();
471
+ const propsAdapter = useMemo(
472
+ () => createModalPropsAdapter(context?.defaultModalProps),
473
+ [context?.defaultModalProps]
474
+ );
475
+ return useGlobalPromiseOverlay(ModalComponent, {
476
+ ...options,
477
+ keyPrefix: "use-modal",
478
+ propsAdapter
479
+ });
480
+ }
481
+ function generateUsePromiseModalHook(ModalComponent) {
482
+ return {
483
+ usePromiseModal: (options) => usePromiseModal(ModalComponent, options),
484
+ useGlobalPromiseModal: (options) => useGlobalPromiseModal(ModalComponent, options)
485
+ };
486
+ }
487
+ function usePromiseDrawer(DrawerComponent, options) {
488
+ const context = useAntdOverlayContext();
489
+ const propsAdapter = useMemo(
490
+ () => createDrawerPropsAdapter(context?.defaultDrawerProps),
491
+ [context?.defaultDrawerProps]
492
+ );
493
+ return usePromiseOverlay(DrawerComponent, {
494
+ ...options,
495
+ keyPrefix: "use-drawer",
496
+ propsAdapter
497
+ });
498
+ }
499
+ function useGlobalPromiseDrawer(DrawerComponent, options) {
500
+ const context = useAntdOverlayContext();
501
+ const propsAdapter = useMemo(
502
+ () => createDrawerPropsAdapter(context?.defaultDrawerProps),
503
+ [context?.defaultDrawerProps]
504
+ );
505
+ return useGlobalPromiseOverlay(DrawerComponent, {
506
+ ...options,
507
+ keyPrefix: "use-drawer",
508
+ propsAdapter
509
+ });
510
+ }
511
+ function generateUsePromiseDrawerHook(DrawerComponent) {
512
+ return {
513
+ usePromiseDrawer: (options) => usePromiseDrawer(DrawerComponent, options),
514
+ useGlobalPromiseDrawer: (options) => useGlobalPromiseDrawer(DrawerComponent, options)
515
+ };
516
+ }
263
517
 
264
- export { AntdOverlayProvider, generateUseDrawerHook, generateUseModalHook, generateUseOverlayHook, useAntdOverlayContext, useDrawer, useGlobalDrawer, useGlobalModal, useGlobalOverlay, useModal, useOverlay };
518
+ export { AntdOverlayProvider, generateUseDrawerHook, generateUseModalHook, generateUseOverlayHook, generateUsePromiseDrawerHook, generateUsePromiseModalHook, generateUsePromiseOverlayHook, generateUseTourHook, useAntdOverlayContext, useDrawer, useGlobalDrawer, useGlobalModal, useGlobalOverlay, useGlobalPromiseDrawer, useGlobalPromiseModal, useGlobalPromiseOverlay, useGlobalTour, useModal, useOverlay, usePromiseDrawer, usePromiseModal, usePromiseOverlay, useTour };
265
519
  //# sourceMappingURL=index.js.map
266
520
  //# sourceMappingURL=index.js.map