zs_library 0.9.7 → 0.9.9

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.
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { ComponentRegistry, ContextMenuActionPayload, DesktopDndContextMenuProps, DndSortItem, DndPageItem, TypeConfigMap, DataTypeMenuConfigMap, PageTransition } from './types';
2
+ import { BeforeRemoveHandler, ComponentRegistry, ContextMenuActionPayload, DesktopDndContextMenuProps, DndSortItem, DndPageItem, TypeConfigMap, DataTypeMenuConfigMap, PageTransition } from './types';
3
3
  import { Theme } from './themes';
4
4
  import { DesktopDndContextValue } from './contexts';
5
5
  /**
@@ -27,6 +27,8 @@ export interface DesktopDndProviderProps {
27
27
  typeConfigMap?: TypeConfigMap;
28
28
  /** 按 item dataType 配置自定义右键菜单项。 */
29
29
  dataTypeMenuConfigMap?: DataTypeMenuConfigMap;
30
+ /** 默认移除动作提交前的同步或异步拦截器。 */
31
+ onBeforeRemove?: BeforeRemoveHandler;
30
32
  /** 点击默认移除菜单项时的自定义回调。 */
31
33
  onRemoveClick?: (item: DndSortItem) => void;
32
34
  /** 右键菜单项被触发后的统一回调。 */
@@ -65,4 +67,4 @@ export interface DesktopDndProviderProps {
65
67
  *
66
68
  * 负责组装状态、配置和数据操作三个细粒度 context,并保持 useDesktopDnd 的兼容返回值。
67
69
  */
68
- export declare const DesktopDndProvider: ({ pages: externalPages, onChange, iconSize, maxPages, mergeDwellTime, containerRef, typeConfigMap, dataTypeMenuConfigMap, onRemoveClick, onContextMenuItemClick, contextMenuProps, theme: themeProp, noLetters, itemBuilder, itemBuilderAllowNull, itemIconBuilder, itemIconBuilderAllowNull, pagingDotBuilder, pagingDotsBuilder, pageTransition, extraItems, storageKey, componentRegistry, children, }: DesktopDndProviderProps) => import("react/jsx-runtime").JSX.Element;
70
+ export declare const DesktopDndProvider: ({ pages: externalPages, onChange, iconSize, maxPages, mergeDwellTime, containerRef, typeConfigMap, dataTypeMenuConfigMap, onBeforeRemove, onRemoveClick, onContextMenuItemClick, contextMenuProps, theme: themeProp, noLetters, itemBuilder, itemBuilderAllowNull, itemIconBuilder, itemIconBuilderAllowNull, pagingDotBuilder, pagingDotsBuilder, pageTransition, extraItems, storageKey, componentRegistry, children, }: DesktopDndProviderProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { default as React } from 'react';
2
- import { ComponentRegistry, ContextMenuActionPayload, ContextMenuData, DesktopDndContextMenuProps, DndPageItem, DndSortItem, DragState, FolderModalState, PageTransition, SortItemUserConfig, TypeConfigMap, DataTypeMenuConfigMap } from '../types';
2
+ import { BeforeRemoveHandler, ComponentRegistry, ContextMenuActionPayload, ContextMenuData, DesktopDndContextMenuProps, DndPageItem, DndSortItem, DragState, FolderModalState, PageTransition, SortItemUserConfig, TypeConfigMap, DataTypeMenuConfigMap } from '../types';
3
3
  import { Theme } from '../themes';
4
4
  import { DesktopNextI18nT, DesktopNextLanguage } from '../i18n';
5
5
  /** 桌面运行时状态,描述当前页面、拖拽、弹窗和右键菜单的即时状态。 */
@@ -46,6 +46,8 @@ export interface DesktopDndConfigContextValue {
46
46
  typeConfigMap?: TypeConfigMap;
47
47
  /** 按 item dataType 配置自定义右键菜单项。 */
48
48
  dataTypeMenuConfigMap?: DataTypeMenuConfigMap;
49
+ /** 默认移除动作提交前的同步或异步拦截器。 */
50
+ onBeforeRemove?: BeforeRemoveHandler;
49
51
  /** 点击默认移除菜单项时的自定义回调;未提供时直接移除 item。 */
50
52
  onRemoveClick?: (item: DndSortItem) => void;
51
53
  /** 右键菜单项被触发后的统一回调,包括移除、改尺寸和自定义菜单项。 */
@@ -47,7 +47,7 @@ declare const DesktopDnd: <D = unknown>(props: DesktopDndExtendedProps<D> & {
47
47
  ref?: React.ForwardedRef<DesktopHandle>;
48
48
  }) => JSX.Element;
49
49
  export default DesktopDnd;
50
- export type { DesktopDndProps, DndSortItem, DndPageItem, DndItemBaseData, SizeConfig, SortItemUserConfig, MenuItemConfig, DataTypeMenuConfigMap, SortItemDefaultConfig, TypeConfigMap, ContextMenuData, DesktopDndContextMenuProps, ContextMenuActionPayload, ContextMenuActionType, ListItem, SortItemBaseData, SortItemBaseConfig, ComponentRegistryEntry, ComponentRegistry, PageTransition, } from './types';
50
+ export type { BeforeRemoveHandler, BeforeRemoveResult, DesktopDndProps, DndSortItem, DndPageItem, DndItemBaseData, SizeConfig, SortItemUserConfig, MenuItemConfig, DataTypeMenuConfigMap, SortItemDefaultConfig, TypeConfigMap, ContextMenuData, DesktopDndContextMenuProps, ContextMenuActionPayload, ContextMenuActionType, ListItem, SortItemBaseData, SortItemBaseConfig, ComponentRegistryEntry, ComponentRegistry, PageTransition, } from './types';
51
51
  export { loadRemoteComponent, RemoteComponentErrorBoundary } from './component-registry/remote-loader';
52
52
  export { appDefaultConfig, groupDefaultConfig, builtinConfigMap, getDefaultConfig, commonSizeConfigs, commonSizeConfigsArray, getSizeConfig, getItemSize, getDataTypeMenuConfig, } from './config';
53
53
  export type { Theme, ThemeType } from './themes';
@@ -49,6 +49,8 @@ export interface FolderModalState {
49
49
  } | null;
50
50
  }
51
51
  export type PageTransition = "slide" | "cube" | "fade" | "zoom";
52
+ export type BeforeRemoveResult = boolean | void;
53
+ export type BeforeRemoveHandler<D = unknown> = (item: DndSortItem<D>) => BeforeRemoveResult | Promise<BeforeRemoveResult>;
52
54
  /** 组件 Props */
53
55
  export interface DesktopDndProps<D = any> {
54
56
  pages: DndPageItem<D>[];
@@ -64,6 +66,8 @@ export interface DesktopDndProps<D = any> {
64
66
  mergeDwellTime?: number;
65
67
  typeConfigMap?: TypeConfigMap;
66
68
  dataTypeMenuConfigMap?: DataTypeMenuConfigMap;
69
+ /** 在移除动画和数据提交前拦截;返回 false 或拒绝 Promise 时取消。 */
70
+ onBeforeRemove?: BeforeRemoveHandler<D>;
67
71
  onRemoveClick?: (item: DndSortItem<D>) => void;
68
72
  onContextMenuItemClick?: (item: DndSortItem<D>, payload: ContextMenuActionPayload) => void;
69
73
  contextMenuProps?: DesktopDndContextMenuProps;
@@ -38,7 +38,7 @@ export { DesktopDndProvider as DesktopNextProvider, useDesktopDnd as useDesktopN
38
38
  export { commonSizeConfigs as desktopNextCommonSizeConfigs, commonSizeConfigsArray as desktopNextCommonSizeConfigsArray, appDefaultConfig as desktopNextAppDefaultConfig, groupDefaultConfig as desktopNextGroupDefaultConfig, builtinConfigMap as desktopNextBuiltinConfigMap, getDefaultConfig as getDesktopNextDefaultConfig, getSizeConfig as getDesktopNextSizeConfig, getItemSize as getDesktopNextItemSize, getDataTypeMenuConfig as getDesktopNextDataTypeMenuConfig, } from './desktop-next/config';
39
39
  export { themeLight as desktopNextThemeLight, themeDark as desktopNextThemeDark, defaultTheme as desktopNextDefaultTheme, themes as desktopNextThemes, } from './desktop-next/themes';
40
40
  export type { Theme as DesktopNextTheme, ThemeType as DesktopNextThemeType, } from './desktop-next/themes';
41
- export type { DesktopDndExtendedProps as DesktopNextProps, DesktopHandle as DesktopNextHandle, DesktopDndProviderProps as DesktopNextProviderProps, DesktopDndActionsContextValue as DesktopNextActionsContextValue, DesktopDndConfigContextValue as DesktopNextConfigContextValue, DesktopDndContextValue as DesktopNextContextValue, DesktopDndStateContextValue as DesktopNextStateContextValue, ContextMenuProps as DesktopNextContextMenuComponentProps, ContextMenuItemProps as DesktopNextContextMenuItemProps, ContextMenuSubMenuItemProps as DesktopNextContextMenuSubMenuItemProps, ContextMenuSizeMenuItemProps as DesktopNextContextMenuSizeMenuItemProps, ContextMenuHoverContextType as DesktopNextContextMenuHoverContextType, DockProps as DesktopNextDockProps, LaunchpadModalProps as DesktopNextLaunchpadModalProps, LaunchpadButtonProps as DesktopNextLaunchpadButtonProps, StackedIconProps as DesktopNextStackedIconProps, SearchBoxProps as DesktopNextSearchBoxProps, BaseModalFloatingControlsConfig as DesktopNextBaseModalFloatingControlsConfig, BaseModalProps as DesktopNextBaseModalProps, BaseDrawerProps as DesktopNextBaseDrawerProps, DndSortItem, DndPageItem, DndItemBaseData, SizeConfig, SortItemUserConfig, MenuItemConfig, DataTypeMenuConfigMap, SortItemDefaultConfig, TypeConfigMap, ContextMenuData, DesktopDndContextMenuProps as DesktopNextContextMenuProps, ContextMenuActionPayload, ContextMenuActionType, ListItem as DesktopNextListItem, SortItemBaseData as DesktopNextSortItemBaseData, SortItemBaseConfig as DesktopNextSortItemBaseConfig, ComponentRegistryEntry as DesktopNextComponentRegistryEntry, ComponentRegistry as DesktopNextComponentRegistry, PageTransition as DesktopNextPageTransition, DesktopNextLanguage, DesktopNextI18n, DesktopNextI18nResource, DesktopNextI18nT, } from './desktop-next';
41
+ export type { DesktopDndExtendedProps as DesktopNextProps, DesktopHandle as DesktopNextHandle, DesktopDndProviderProps as DesktopNextProviderProps, DesktopDndActionsContextValue as DesktopNextActionsContextValue, DesktopDndConfigContextValue as DesktopNextConfigContextValue, DesktopDndContextValue as DesktopNextContextValue, DesktopDndStateContextValue as DesktopNextStateContextValue, ContextMenuProps as DesktopNextContextMenuComponentProps, ContextMenuItemProps as DesktopNextContextMenuItemProps, ContextMenuSubMenuItemProps as DesktopNextContextMenuSubMenuItemProps, ContextMenuSizeMenuItemProps as DesktopNextContextMenuSizeMenuItemProps, ContextMenuHoverContextType as DesktopNextContextMenuHoverContextType, DockProps as DesktopNextDockProps, LaunchpadModalProps as DesktopNextLaunchpadModalProps, LaunchpadButtonProps as DesktopNextLaunchpadButtonProps, StackedIconProps as DesktopNextStackedIconProps, SearchBoxProps as DesktopNextSearchBoxProps, BaseModalFloatingControlsConfig as DesktopNextBaseModalFloatingControlsConfig, BaseModalProps as DesktopNextBaseModalProps, BaseDrawerProps as DesktopNextBaseDrawerProps, DndSortItem, DndPageItem, DndItemBaseData, BeforeRemoveHandler, BeforeRemoveResult, SizeConfig, SortItemUserConfig, MenuItemConfig, DataTypeMenuConfigMap, SortItemDefaultConfig, TypeConfigMap, ContextMenuData, DesktopDndContextMenuProps as DesktopNextContextMenuProps, ContextMenuActionPayload, ContextMenuActionType, ListItem as DesktopNextListItem, SortItemBaseData as DesktopNextSortItemBaseData, SortItemBaseConfig as DesktopNextSortItemBaseConfig, ComponentRegistryEntry as DesktopNextComponentRegistryEntry, ComponentRegistry as DesktopNextComponentRegistry, PageTransition as DesktopNextPageTransition, DesktopNextLanguage, DesktopNextI18n, DesktopNextI18nResource, DesktopNextI18nT, } from './desktop-next';
42
42
  export { default as DesktopDnd } from './desktop-next';
43
43
  /** @deprecated Use desktopNextCommonSizeConfigs instead */
44
44
  export { commonSizeConfigs as desktopDndCommonSizeConfigs, appDefaultConfig as desktopDndAppDefaultConfig, groupDefaultConfig as desktopDndGroupDefaultConfig, builtinConfigMap as desktopDndBuiltinConfigMap, getDefaultConfig as getDesktopDndDefaultConfig, getSizeConfig as getDesktopDndSizeConfig, getItemSize as getDesktopDndItemSize, } from './desktop-next/config';
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { Desktop, DesktopSortable, DesktopAppItem, DesktopGroupItem, DesktopBaseModal, DesktopBaseDrawer, DesktopSortableConfigProvider, DesktopSortableStateProvider, getDesktopDefaultConfig, desktopThemeLight, desktopThemeDark, SortableUtils, DesktopNext, DesktopNextProvider, useDesktopNext, DesktopNextActionsProvider, DesktopNextConfigProvider, DesktopNextStateProvider, useDesktopNextActions, useDesktopNextConfig, useDesktopNextState, DesktopNextContextMenu, DesktopNextContextMenuItem, DesktopNextContextMenuSubMenuItem, DesktopNextContextMenuSizeSubMenuContent, DesktopNextContextMenuHoverContext, DesktopNextDock, DesktopNextLaunchpadModal, DesktopNextLaunchpadButton, DesktopNextStackedIcon, DesktopNextSearchBox, DesktopNextBaseModal, DesktopNextBaseDrawer, loadDesktopNextRemoteComponent, DesktopNextRemoteComponentErrorBoundary, mergeDesktopNextTheme, desktopNextCommonSizeConfigs, desktopNextCommonSizeConfigsArray, desktopNextAppDefaultConfig, desktopNextGroupDefaultConfig, desktopNextBuiltinConfigMap, getDesktopNextDefaultConfig, getDesktopNextSizeConfig, getDesktopNextItemSize, getDesktopNextDataTypeMenuConfig, desktopNextThemeLight, desktopNextThemeDark, desktopNextDefaultTheme, desktopNextThemes, DesktopDnd, desktopDndCommonSizeConfigs, desktopDndAppDefaultConfig, desktopDndGroupDefaultConfig, desktopDndBuiltinConfigMap, getDesktopDndDefaultConfig, getDesktopDndSizeConfig, getDesktopDndItemSize, Dock, DockDesktop, DockDesktopItem, DockMobile, DockMobileItem, useDockDesktopMouseX, MdEditor, Markdown, GeoMap, SimpleEditor, SimpleEditorViewer, useSimpleEditor, jsonToHtml, htmlToJson, EditorFormatConverter, PhotoWatermark, HtmlRenderer, availableTemplates, extractExifData, parseExifData, formatXiaomiLeicaExifData, } from './components';
2
2
  export { I18nProvider, ZsI18nProvider, } from './i18n/provider';
3
- export type { DesktopHandle, DesktopProps, DesktopAppItemProps, DesktopGroupItemProps, DesktopSortableProps, DesktopSortableConfigProviderProps, DesktopSortableStateProviderProps, DesktopBaseModalProps, DesktopBaseDrawerProps, DesktopSortItemBaseConfig, DesktopSortItemUserConfig, DesktopSortItemDefaultConfig, DesktopTypeConfigMap, DesktopSortItem, DesktopListItem, DesktopSortItemBaseData, DesktopTheme, DesktopNextProps, DesktopNextHandle, DesktopNextProviderProps, DesktopNextActionsContextValue, DesktopNextConfigContextValue, DesktopNextContextValue, DesktopNextStateContextValue, DesktopNextContextMenuProps, DesktopNextContextMenuComponentProps, DesktopNextContextMenuItemProps, DesktopNextContextMenuSubMenuItemProps, DesktopNextContextMenuSizeMenuItemProps, DesktopNextContextMenuHoverContextType, DesktopNextDockProps, DesktopNextLaunchpadModalProps, DesktopNextLaunchpadButtonProps, DesktopNextStackedIconProps, DesktopNextSearchBoxProps, DesktopNextBaseModalFloatingControlsConfig, DesktopNextBaseModalProps, DesktopNextBaseDrawerProps, DesktopNextTheme, DesktopNextThemeType, DesktopDndProps, DndSortItem, DndPageItem, DndItemBaseData, SizeConfig, SortItemUserConfig, MenuItemConfig, DataTypeMenuConfigMap, SortItemDefaultConfig, TypeConfigMap, ContextMenuData, DesktopDndContextMenuProps, ContextMenuActionPayload, ContextMenuActionType, DesktopNextListItem, DesktopNextSortItemBaseData, DesktopNextSortItemBaseConfig, DesktopNextComponentRegistryEntry, DesktopNextComponentRegistry, DesktopNextPageTransition, DesktopNextLanguage, DesktopNextI18n, DesktopNextI18nResource, DesktopNextI18nT, DockDesktopItemProps, DockMobileItemProps, SimpleEditorProps, SimpleEditorViewerProps, SimpleEditorFeatures, EditorOutputFormat, UseSimpleEditorProps, JSONContent, ExifData, ExifExtractResult, } from './components';
3
+ export type { DesktopHandle, DesktopProps, DesktopAppItemProps, DesktopGroupItemProps, DesktopSortableProps, DesktopSortableConfigProviderProps, DesktopSortableStateProviderProps, DesktopBaseModalProps, DesktopBaseDrawerProps, DesktopSortItemBaseConfig, DesktopSortItemUserConfig, DesktopSortItemDefaultConfig, DesktopTypeConfigMap, DesktopSortItem, DesktopListItem, DesktopSortItemBaseData, DesktopTheme, DesktopNextProps, DesktopNextHandle, DesktopNextProviderProps, DesktopNextActionsContextValue, DesktopNextConfigContextValue, DesktopNextContextValue, DesktopNextStateContextValue, DesktopNextContextMenuProps, DesktopNextContextMenuComponentProps, DesktopNextContextMenuItemProps, DesktopNextContextMenuSubMenuItemProps, DesktopNextContextMenuSizeMenuItemProps, DesktopNextContextMenuHoverContextType, DesktopNextDockProps, DesktopNextLaunchpadModalProps, DesktopNextLaunchpadButtonProps, DesktopNextStackedIconProps, DesktopNextSearchBoxProps, DesktopNextBaseModalFloatingControlsConfig, DesktopNextBaseModalProps, DesktopNextBaseDrawerProps, DesktopNextTheme, DesktopNextThemeType, DesktopDndProps, DndSortItem, DndPageItem, DndItemBaseData, BeforeRemoveHandler, BeforeRemoveResult, SizeConfig, SortItemUserConfig, MenuItemConfig, DataTypeMenuConfigMap, SortItemDefaultConfig, TypeConfigMap, ContextMenuData, DesktopDndContextMenuProps, ContextMenuActionPayload, ContextMenuActionType, DesktopNextListItem, DesktopNextSortItemBaseData, DesktopNextSortItemBaseConfig, DesktopNextComponentRegistryEntry, DesktopNextComponentRegistry, DesktopNextPageTransition, DesktopNextLanguage, DesktopNextI18n, DesktopNextI18nResource, DesktopNextI18nT, DockDesktopItemProps, DockMobileItemProps, SimpleEditorProps, SimpleEditorViewerProps, SimpleEditorFeatures, EditorOutputFormat, UseSimpleEditorProps, JSONContent, ExifData, ExifExtractResult, } from './components';
4
4
  export type { ZsI18nProviderProps } from './i18n/provider';
5
5
  export type { ZsI18nContextValue, ZsI18nLanguage, ZsI18nResources, } from './i18n/context';
6
6
  import * as Components from "./components";