antd-overlay 0.3.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.cts 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,6 +684,41 @@ declare function generateUseDrawerHook<T extends CustomDrawerProps>(DrawerCompon
678
684
  useGlobalDrawer: (options?: UseDrawerOptions<T>) => OverlayOpener<T>;
679
685
  };
680
686
 
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
+
681
722
  /**
682
723
  * @file usePromiseOverlay - 命令式 Promise 风格的覆盖层管理 Hook
683
724
  * @description
@@ -796,4 +837,4 @@ declare function generateUsePromiseDrawerHook<T extends CustomDrawerProps>(Drawe
796
837
  useGlobalPromiseDrawer: (options?: UsePromiseDrawerOptions<T>) => PromiseOverlayOpener<T>;
797
838
  };
798
839
 
799
- export { AntdOverlayProvider, type AntdOverlayProviderProps, type CustomDrawerProps, type CustomModalProps, type CustomOkValue, type CustomOverlayProps, type DefaultDrawerProps, type DefaultModalProps, type InternalOverlayProps, type OverlayController, type OverlayOpener, type PromiseOverlayOpener, type UseDrawerOptions, type UseModalOptions, type UseOverlayOptions, type UsePromiseDrawerOptions, type UsePromiseModalOptions, type UsePromiseOverlayOptions, generateUseDrawerHook, generateUseModalHook, generateUseOverlayHook, generateUsePromiseDrawerHook, generateUsePromiseModalHook, generateUsePromiseOverlayHook, useAntdOverlayContext, useDrawer, useGlobalDrawer, useGlobalModal, useGlobalOverlay, useGlobalPromiseDrawer, useGlobalPromiseModal, useGlobalPromiseOverlay, useModal, useOverlay, usePromiseDrawer, usePromiseModal, usePromiseOverlay };
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.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,6 +684,41 @@ declare function generateUseDrawerHook<T extends CustomDrawerProps>(DrawerCompon
678
684
  useGlobalDrawer: (options?: UseDrawerOptions<T>) => OverlayOpener<T>;
679
685
  };
680
686
 
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
+
681
722
  /**
682
723
  * @file usePromiseOverlay - 命令式 Promise 风格的覆盖层管理 Hook
683
724
  * @description
@@ -796,4 +837,4 @@ declare function generateUsePromiseDrawerHook<T extends CustomDrawerProps>(Drawe
796
837
  useGlobalPromiseDrawer: (options?: UsePromiseDrawerOptions<T>) => PromiseOverlayOpener<T>;
797
838
  };
798
839
 
799
- export { AntdOverlayProvider, type AntdOverlayProviderProps, type CustomDrawerProps, type CustomModalProps, type CustomOkValue, type CustomOverlayProps, type DefaultDrawerProps, type DefaultModalProps, type InternalOverlayProps, type OverlayController, type OverlayOpener, type PromiseOverlayOpener, type UseDrawerOptions, type UseModalOptions, type UseOverlayOptions, type UsePromiseDrawerOptions, type UsePromiseModalOptions, type UsePromiseOverlayOptions, generateUseDrawerHook, generateUseModalHook, generateUseOverlayHook, generateUsePromiseDrawerHook, generateUsePromiseModalHook, generateUsePromiseOverlayHook, useAntdOverlayContext, useDrawer, useGlobalDrawer, useGlobalModal, useGlobalOverlay, useGlobalPromiseDrawer, useGlobalPromiseModal, useGlobalPromiseOverlay, useModal, useOverlay, usePromiseDrawer, usePromiseModal, usePromiseOverlay };
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,6 +268,56 @@ 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
+ }
263
321
  var createSettler = (rawResolve, rawReject) => {
264
322
  let settled = false;
265
323
  return {
@@ -457,6 +515,6 @@ function generateUsePromiseDrawerHook(DrawerComponent) {
457
515
  };
458
516
  }
459
517
 
460
- export { AntdOverlayProvider, generateUseDrawerHook, generateUseModalHook, generateUseOverlayHook, generateUsePromiseDrawerHook, generateUsePromiseModalHook, generateUsePromiseOverlayHook, useAntdOverlayContext, useDrawer, useGlobalDrawer, useGlobalModal, useGlobalOverlay, useGlobalPromiseDrawer, useGlobalPromiseModal, useGlobalPromiseOverlay, useModal, useOverlay, usePromiseDrawer, usePromiseModal, usePromiseOverlay };
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 };
461
519
  //# sourceMappingURL=index.js.map
462
520
  //# sourceMappingURL=index.js.map