@tiny-codes/react-easy 1.7.4 → 1.7.6
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/CHANGELOG.md +25 -0
- package/es/components/Animation/Pulse/index.d.ts +18 -2
- package/es/components/Animation/Pulse/index.js +1 -1
- package/es/components/Animation/Pulse/index.js.map +1 -1
- package/es/components/BreakLines/index.d.ts +7 -7
- package/es/components/BreakLines/index.js.map +1 -1
- package/es/components/ColumnSetting/index.d.ts +7 -2
- package/es/components/ColumnSetting/index.js +27 -16
- package/es/components/ColumnSetting/index.js.map +1 -1
- package/es/components/ConfigProvider/context.d.ts +2 -0
- package/es/components/ConfigProvider/context.js +1 -1
- package/es/components/ConfigProvider/context.js.map +1 -1
- package/es/components/ConfigProvider/index.d.ts +17 -1
- package/es/components/ConfigProvider/index.js +15 -8
- package/es/components/ConfigProvider/index.js.map +1 -1
- package/es/components/ContextMenu/index.d.ts +16 -0
- package/es/components/ContextMenu/index.js.map +1 -1
- package/es/components/EditableText/form.d.ts +4 -0
- package/es/components/EditableText/form.js.map +1 -1
- package/es/components/EditableText/index.d.ts +6 -2
- package/es/components/EditableText/index.js.map +1 -1
- package/es/components/EllipsisTypography/EllipsisLink.d.ts +19 -0
- package/es/components/EllipsisTypography/EllipsisLink.js +19 -0
- package/es/components/EllipsisTypography/EllipsisLink.js.map +1 -0
- package/es/components/FloatDrawer/index.d.ts +10 -0
- package/es/components/FloatDrawer/index.js.map +1 -1
- package/es/components/OverflowTags/index.d.ts +2 -0
- package/es/components/OverflowTags/index.js.map +1 -1
- package/es/components/index.d.ts +2 -0
- package/es/components/index.js +2 -0
- package/es/components/index.js.map +1 -1
- package/es/hooks/index.d.ts +2 -0
- package/es/hooks/index.js +2 -0
- package/es/hooks/index.js.map +1 -1
- package/es/hooks/useLocalStorage.d.ts +16 -0
- package/es/hooks/useLocalStorage.js +115 -0
- package/es/hooks/useLocalStorage.js.map +1 -0
- package/es/hooks/useMovable.js +2 -2
- package/es/hooks/useMovable.js.map +1 -1
- package/es/locales/index.js +1 -1
- package/es/locales/index.js.map +1 -1
- package/es/utils/math.d.ts +11 -3
- package/es/utils/math.js +62 -9
- package/es/utils/math.js.map +1 -1
- package/lib/components/Animation/Pulse/index.d.ts +18 -2
- package/lib/components/Animation/Pulse/index.js +0 -5
- package/lib/components/Animation/Pulse/index.js.map +2 -2
- package/lib/components/BreakLines/index.d.ts +7 -7
- package/lib/components/BreakLines/index.js.map +1 -1
- package/lib/components/ColumnSetting/index.d.ts +7 -2
- package/lib/components/ColumnSetting/index.js +18 -14
- package/lib/components/ColumnSetting/index.js.map +3 -3
- package/lib/components/ConfigProvider/context.d.ts +2 -0
- package/lib/components/ConfigProvider/context.js +1 -1
- package/lib/components/ConfigProvider/context.js.map +2 -2
- package/lib/components/ConfigProvider/index.d.ts +17 -1
- package/lib/components/ConfigProvider/index.js +13 -6
- package/lib/components/ConfigProvider/index.js.map +2 -2
- package/lib/components/ContextMenu/index.d.ts +16 -0
- package/lib/components/ContextMenu/index.js.map +2 -2
- package/lib/components/EditableText/form.d.ts +4 -0
- package/lib/components/EditableText/form.js.map +2 -2
- package/lib/components/EditableText/index.d.ts +6 -2
- package/lib/components/EditableText/index.js.map +2 -2
- package/lib/components/EllipsisTypography/EllipsisLink.d.ts +19 -0
- package/lib/components/EllipsisTypography/EllipsisLink.js +39 -0
- package/lib/components/EllipsisTypography/EllipsisLink.js.map +7 -0
- package/lib/components/FloatDrawer/index.d.ts +10 -0
- package/lib/components/FloatDrawer/index.js.map +2 -2
- package/lib/components/OverflowTags/index.d.ts +2 -0
- package/lib/components/OverflowTags/index.js.map +2 -2
- package/lib/components/index.d.ts +2 -0
- package/lib/components/index.js +6 -1
- package/lib/components/index.js.map +2 -2
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/index.js +5 -0
- package/lib/hooks/index.js.map +2 -2
- package/lib/hooks/useLocalStorage.d.ts +16 -0
- package/lib/hooks/useLocalStorage.js +120 -0
- package/lib/hooks/useLocalStorage.js.map +7 -0
- package/lib/hooks/useMovable.js +2 -2
- package/lib/hooks/useMovable.js.map +3 -3
- package/lib/locales/index.js +1 -1
- package/lib/locales/index.js.map +1 -1
- package/lib/utils/math.d.ts +11 -3
- package/lib/utils/math.js +43 -8
- package/lib/utils/math.js.map +3 -3
- package/package.json +14 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useContext","useImperativeHandle","useMemo","theme","AntdTheme","ConfigProvider","Typography","classNames","Item","Menu","RightSlot","Separator","Submenu","useContextMenu","useRefFunction","useStyle","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","createElement","_createElement","ContextMenu","props","ref","id","items","_props$trigger","trigger","triggerProps","prefixClsInProps","prefixCls","className","children","rest","_objectWithoutProperties","_excluded","_useContext","ConfigContext","getPrefixCls","_useStyle","_useStyle2","_slicedToArray","wrapCSSVar","hashId","cssVarCls","_useContextMenu","show","hideAll","eventNames","click","undefined","doubleClick","hover","contextMenu","handleShow","event","options","position","handleHideAll","eventHandlers","handlers","forEach","eventType","_eventNames$eventType","handlerName","leaveHandlerName","_objectSpread","concat","style","_defineProperty","length","renderItems","cmpPrefixCls","displayName","map","item","index","isSeparator","type","isSubmenu","menuItem","subMenu","key","keyMatcher","_typeof","shortcutKey","e","ctrlKey","altKey","shiftKey","metaKey","icon","label","getShortcutText","keys","Keyboard","algorithm","darkAlgorithm","Text","keyboard","push"],"sources":["../../../src/components/ContextMenu/index.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport { forwardRef, useContext, useImperativeHandle, useMemo } from 'react';\nimport { theme as AntdTheme, ConfigProvider, Typography } from 'antd';\nimport classNames from 'classnames';\nimport type { ItemProps, MenuProps, SeparatorProps, ShowContextMenuParams, SubMenuProps } from 'react-contexify';\nimport { Item, Menu, RightSlot, Separator, Submenu, useContextMenu } from 'react-contexify';\nimport { useRefFunction } from '../../hooks';\nimport useStyle from './style';\nimport 'react-contexify/dist/ReactContexify.css';\n\nexport interface ContextMenuProps extends MenuProps {\n /**\n * - **EN:** Menu items to be displayed\n * - **CN:** 要显示的菜单项\n */\n items: (ContextMenuItem | ContextMenuSeparator | ContextMenuSubmenu)[] | undefined;\n /**\n * - **EN:** Trigger methods to show the menu, default is `['contextMenu']`\n * - **CN:** 触发显示菜单的方式,默认是 `['contextMenu']`\n */\n trigger?: ('click' | 'doubleClick' | 'hover' | 'contextMenu')[];\n triggerProps?: {\n className?: string;\n style?: CSSProperties;\n };\n prefixCls?: string;\n}\n// 上下文菜单组件\nconst ContextMenu = forwardRef<ContextMenuRef, ContextMenuProps>((props, ref) => {\n const {\n id,\n items,\n trigger = ['contextMenu'],\n triggerProps,\n prefixCls: prefixClsInProps,\n className,\n children,\n ...rest\n } = props;\n const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);\n const prefixCls = getPrefixCls('context-menu', prefixClsInProps);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const { show, hideAll } = useContextMenu({ id });\n const eventNames = useMemo<Record<NonNullable<ContextMenuProps['trigger']>[number], [string, string | undefined]>>(\n () => ({\n click: ['onClick', undefined],\n doubleClick: ['onDoubleClick', undefined],\n hover: ['onPointerEnter', 'onPointerLeave'],\n contextMenu: ['onContextMenu', undefined],\n }),\n []\n );\n\n // Show context menu handler\n const handleShow = useRefFunction(\n (event: React.MouseEvent<HTMLElement>, options?: Pick<ShowContextMenuParams, 'position'>) => {\n show({\n id,\n event,\n props,\n position: options?.position,\n });\n }\n );\n // Hide all context menus handler\n const handleHideAll = useRefFunction(() => {\n hideAll();\n });\n const eventHandlers = useMemo(() => {\n const handlers: Record<string, (event: React.MouseEvent<HTMLElement>) => void> = {};\n if (trigger) {\n trigger.forEach((eventType) => {\n const [handlerName, leaveHandlerName] = eventNames[eventType];\n handlers[handlerName] = (event: React.MouseEvent<HTMLElement>) => {\n handleShow(event);\n };\n if (leaveHandlerName) {\n handlers[leaveHandlerName] = handleHideAll;\n }\n });\n }\n return handlers;\n }, [eventNames, trigger]);\n\n // Expose show and hideAll methods to the ref\n useImperativeHandle(\n ref,\n () => ({\n show: handleShow,\n hideAll: handleHideAll,\n }),\n []\n );\n\n return (\n <>\n {children &&\n wrapCSSVar(\n <div\n {...eventHandlers}\n className={classNames(hashId, cssVarCls, prefixCls, `${prefixCls}-trigger`, triggerProps?.className)}\n style={triggerProps?.style}\n >\n {children}\n </div>\n )}\n {wrapCSSVar(\n <Menu\n id={id}\n className={classNames(\n hashId,\n cssVarCls,\n prefixCls,\n `${prefixCls}-menu`,\n {\n [`${prefixCls}-menu-has-items`]: !!items?.length,\n },\n className\n )}\n {...rest}\n >\n {renderItems(items, { theme: props.theme, cmpPrefixCls: prefixCls })}\n </Menu>\n )}\n </>\n );\n});\nContextMenu.displayName = 'ContextMenu';\n\n// Render menu items\nfunction renderItems(\n items: (ContextMenuItem | ContextMenuSeparator | ContextMenuSubmenu)[] | undefined,\n options: Pick<ContextMenuProps, 'theme'> & { cmpPrefixCls: string }\n): ReactNode[] | undefined {\n return items?.map((item, index) => {\n const isSeparator = 'type' in item && item.type === 'separator';\n const isSubmenu = 'type' in item && item.type === 'submenu';\n const menuItem = item as ContextMenuItem;\n\n if (isSeparator) {\n // eslint-disable-next-line react/no-array-index-key\n return <Separator key={`[separator]:${index}`} />;\n }\n\n if (isSubmenu) {\n const subMenu = item as ContextMenuSubmenu;\n return (\n <Submenu {...subMenu} key={subMenu.key}>\n {renderItems(item.items, options)}\n </Submenu>\n );\n }\n\n return (\n <Item\n {...menuItem}\n keyMatcher={\n typeof menuItem.shortcutKey === 'object'\n ? (e) => {\n const shortcutKey = menuItem.shortcutKey as Partial<KeyboardEvent>;\n if (shortcutKey.ctrlKey && !e.ctrlKey) return false;\n if (shortcutKey.altKey && !e.altKey) return false;\n if (shortcutKey.shiftKey && !e.shiftKey) return false;\n if (shortcutKey.metaKey && !e.metaKey) return false;\n if (!shortcutKey.key || shortcutKey.key !== e.key) return false;\n return true;\n }\n : menuItem.shortcutKey\n }\n key={menuItem.key}\n >\n {menuItem.children ? (\n menuItem.children\n ) : (\n <>\n {menuItem.icon}\n <span>{menuItem.label}</span>\n {typeof menuItem.shortcutKey === 'object' && (\n <RightSlot>{getShortcutText(menuItem.shortcutKey, options)}</RightSlot>\n )}\n </>\n )}\n </Item>\n );\n });\n}\n\nfunction getShortcutText(\n event: Partial<Pick<KeyboardEvent, 'ctrlKey' | 'altKey' | 'shiftKey' | 'metaKey' | 'key'>>,\n options: Pick<ContextMenuProps, 'theme'> & { cmpPrefixCls: string }\n): ReactNode[] {\n const { theme, cmpPrefixCls } = options;\n const keys: ReactNode[] = [];\n const Keyboard = (props: { children: ReactNode }) => {\n return (\n <ConfigProvider theme={{ algorithm: theme === 'dark' ? AntdTheme.darkAlgorithm : undefined }}>\n <Typography.Text keyboard className={`${cmpPrefixCls}-shortcut-key`}>\n {props.children}\n </Typography.Text>\n </ConfigProvider>\n );\n };\n if (event.ctrlKey) keys.push(<Keyboard>^</Keyboard>);\n if (event.altKey) keys.push(<Keyboard>⌥</Keyboard>);\n if (event.shiftKey) keys.push(<Keyboard>⇧</Keyboard>);\n if (event.metaKey) keys.push(<Keyboard>⌘</Keyboard>);\n if (event.key) {\n keys.push(<Keyboard>{event.key}</Keyboard>);\n }\n return keys;\n}\n\nexport interface ContextMenuRef {\n show: (event: React.MouseEvent<HTMLElement>) => void;\n hideAll: () => void;\n}\n\nexport interface ContextMenuItem extends Omit<ItemProps, 'children' | 'keyMatcher'> {\n key: string;\n className?: string;\n icon?: ReactNode;\n label?: ReactNode;\n shortcutKey?:\n | Partial<Pick<KeyboardEvent, 'ctrlKey' | 'altKey' | 'shiftKey' | 'metaKey' | 'key'>>\n | ItemProps['keyMatcher'];\n children?: ReactNode;\n}\n\nexport interface ContextMenuSeparator extends SeparatorProps {\n type: 'separator';\n}\n\nexport interface ContextMenuSubmenu extends SubMenuProps {\n key: string;\n type: 'submenu';\n items: (ContextMenuItem | ContextMenuSeparator | ContextMenuSubmenu)[];\n}\n\nexport default ContextMenu;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["forwardRef","useContext","useImperativeHandle","useMemo","theme","AntdTheme","ConfigProvider","Typography","classNames","Item","Menu","RightSlot","Separator","Submenu","useContextMenu","useRefFunction","useStyle","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","createElement","_createElement","ContextMenu","props","ref","id","items","_props$trigger","trigger","triggerProps","prefixClsInProps","prefixCls","className","children","rest","_objectWithoutProperties","_excluded","_useContext","ConfigContext","getPrefixCls","_useStyle","_useStyle2","_slicedToArray","wrapCSSVar","hashId","cssVarCls","_useContextMenu","show","hideAll","eventNames","click","undefined","doubleClick","hover","contextMenu","handleShow","event","options","position","handleHideAll","eventHandlers","handlers","forEach","eventType","_eventNames$eventType","handlerName","leaveHandlerName","_objectSpread","concat","style","_defineProperty","length","renderItems","cmpPrefixCls","displayName","map","item","index","isSeparator","type","isSubmenu","menuItem","subMenu","key","keyMatcher","_typeof","shortcutKey","e","ctrlKey","altKey","shiftKey","metaKey","icon","label","getShortcutText","keys","Keyboard","algorithm","darkAlgorithm","Text","keyboard","push"],"sources":["../../../src/components/ContextMenu/index.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport { forwardRef, useContext, useImperativeHandle, useMemo } from 'react';\nimport { theme as AntdTheme, ConfigProvider, Typography } from 'antd';\nimport classNames from 'classnames';\nimport type { ItemProps, MenuProps, SeparatorProps, ShowContextMenuParams, SubMenuProps } from 'react-contexify';\nimport { Item, Menu, RightSlot, Separator, Submenu, useContextMenu } from 'react-contexify';\nimport { useRefFunction } from '../../hooks';\nimport useStyle from './style';\nimport 'react-contexify/dist/ReactContexify.css';\n\nexport interface ContextMenuProps extends MenuProps {\n /**\n * - **EN:** Menu items to be displayed\n * - **CN:** 要显示的菜单项\n */\n items: (ContextMenuItem | ContextMenuSeparator | ContextMenuSubmenu)[] | undefined;\n /**\n * - **EN:** Trigger methods to show the menu, default is `['contextMenu']`\n * - **CN:** 触发显示菜单的方式,默认是 `['contextMenu']`\n */\n trigger?: ('click' | 'doubleClick' | 'hover' | 'contextMenu')[];\n /**\n * - **EN:** Custom properties for the trigger element\n * - **CN:** 触发元素的自定义属性\n */\n triggerProps?: {\n /**\n * - **EN:** Custom class name for the trigger element\n * - **CN:** 触发元素的自定义类名\n */\n className?: string;\n /**\n * - **EN:** Custom styles for the trigger element\n * - **CN:** 触发元素的自定义样式\n */\n style?: CSSProperties;\n };\n /**\n * - **EN:** Custom prefix for the component's CSS class.\n * - **CN:** 组件的自定义 CSS 类前缀。\n */\n prefixCls?: string;\n}\n// 上下文菜单组件\nconst ContextMenu = forwardRef<ContextMenuRef, ContextMenuProps>((props, ref) => {\n const {\n id,\n items,\n trigger = ['contextMenu'],\n triggerProps,\n prefixCls: prefixClsInProps,\n className,\n children,\n ...rest\n } = props;\n const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);\n const prefixCls = getPrefixCls('context-menu', prefixClsInProps);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const { show, hideAll } = useContextMenu({ id });\n const eventNames = useMemo<Record<NonNullable<ContextMenuProps['trigger']>[number], [string, string | undefined]>>(\n () => ({\n click: ['onClick', undefined],\n doubleClick: ['onDoubleClick', undefined],\n hover: ['onPointerEnter', 'onPointerLeave'],\n contextMenu: ['onContextMenu', undefined],\n }),\n []\n );\n\n // Show context menu handler\n const handleShow = useRefFunction(\n (event: React.MouseEvent<HTMLElement>, options?: Pick<ShowContextMenuParams, 'position'>) => {\n show({\n id,\n event,\n props,\n position: options?.position,\n });\n }\n );\n // Hide all context menus handler\n const handleHideAll = useRefFunction(() => {\n hideAll();\n });\n const eventHandlers = useMemo(() => {\n const handlers: Record<string, (event: React.MouseEvent<HTMLElement>) => void> = {};\n if (trigger) {\n trigger.forEach((eventType) => {\n const [handlerName, leaveHandlerName] = eventNames[eventType];\n handlers[handlerName] = (event: React.MouseEvent<HTMLElement>) => {\n handleShow(event);\n };\n if (leaveHandlerName) {\n handlers[leaveHandlerName] = handleHideAll;\n }\n });\n }\n return handlers;\n }, [eventNames, trigger]);\n\n // Expose show and hideAll methods to the ref\n useImperativeHandle(\n ref,\n () => ({\n show: handleShow,\n hideAll: handleHideAll,\n }),\n []\n );\n\n return (\n <>\n {children &&\n wrapCSSVar(\n <div\n {...eventHandlers}\n className={classNames(hashId, cssVarCls, prefixCls, `${prefixCls}-trigger`, triggerProps?.className)}\n style={triggerProps?.style}\n >\n {children}\n </div>\n )}\n {wrapCSSVar(\n <Menu\n id={id}\n className={classNames(\n hashId,\n cssVarCls,\n prefixCls,\n `${prefixCls}-menu`,\n {\n [`${prefixCls}-menu-has-items`]: !!items?.length,\n },\n className\n )}\n {...rest}\n >\n {renderItems(items, { theme: props.theme, cmpPrefixCls: prefixCls })}\n </Menu>\n )}\n </>\n );\n});\nContextMenu.displayName = 'ContextMenu';\n\n// Render menu items\nfunction renderItems(\n items: (ContextMenuItem | ContextMenuSeparator | ContextMenuSubmenu)[] | undefined,\n options: Pick<ContextMenuProps, 'theme'> & { cmpPrefixCls: string }\n): ReactNode[] | undefined {\n return items?.map((item, index) => {\n const isSeparator = 'type' in item && item.type === 'separator';\n const isSubmenu = 'type' in item && item.type === 'submenu';\n const menuItem = item as ContextMenuItem;\n\n if (isSeparator) {\n // eslint-disable-next-line react/no-array-index-key\n return <Separator key={`[separator]:${index}`} />;\n }\n\n if (isSubmenu) {\n const subMenu = item as ContextMenuSubmenu;\n return (\n <Submenu {...subMenu} key={subMenu.key}>\n {renderItems(item.items, options)}\n </Submenu>\n );\n }\n\n return (\n <Item\n {...menuItem}\n keyMatcher={\n typeof menuItem.shortcutKey === 'object'\n ? (e) => {\n const shortcutKey = menuItem.shortcutKey as Partial<KeyboardEvent>;\n if (shortcutKey.ctrlKey && !e.ctrlKey) return false;\n if (shortcutKey.altKey && !e.altKey) return false;\n if (shortcutKey.shiftKey && !e.shiftKey) return false;\n if (shortcutKey.metaKey && !e.metaKey) return false;\n if (!shortcutKey.key || shortcutKey.key !== e.key) return false;\n return true;\n }\n : menuItem.shortcutKey\n }\n key={menuItem.key}\n >\n {menuItem.children ? (\n menuItem.children\n ) : (\n <>\n {menuItem.icon}\n <span>{menuItem.label}</span>\n {typeof menuItem.shortcutKey === 'object' && (\n <RightSlot>{getShortcutText(menuItem.shortcutKey, options)}</RightSlot>\n )}\n </>\n )}\n </Item>\n );\n });\n}\n\nfunction getShortcutText(\n event: Partial<Pick<KeyboardEvent, 'ctrlKey' | 'altKey' | 'shiftKey' | 'metaKey' | 'key'>>,\n options: Pick<ContextMenuProps, 'theme'> & { cmpPrefixCls: string }\n): ReactNode[] {\n const { theme, cmpPrefixCls } = options;\n const keys: ReactNode[] = [];\n const Keyboard = (props: { children: ReactNode }) => {\n return (\n <ConfigProvider theme={{ algorithm: theme === 'dark' ? AntdTheme.darkAlgorithm : undefined }}>\n <Typography.Text keyboard className={`${cmpPrefixCls}-shortcut-key`}>\n {props.children}\n </Typography.Text>\n </ConfigProvider>\n );\n };\n if (event.ctrlKey) keys.push(<Keyboard>^</Keyboard>);\n if (event.altKey) keys.push(<Keyboard>⌥</Keyboard>);\n if (event.shiftKey) keys.push(<Keyboard>⇧</Keyboard>);\n if (event.metaKey) keys.push(<Keyboard>⌘</Keyboard>);\n if (event.key) {\n keys.push(<Keyboard>{event.key}</Keyboard>);\n }\n return keys;\n}\n\nexport interface ContextMenuRef {\n show: (event: React.MouseEvent<HTMLElement>) => void;\n hideAll: () => void;\n}\n\nexport interface ContextMenuItem extends Omit<ItemProps, 'children' | 'keyMatcher'> {\n key: string;\n className?: string;\n icon?: ReactNode;\n label?: ReactNode;\n shortcutKey?:\n | Partial<Pick<KeyboardEvent, 'ctrlKey' | 'altKey' | 'shiftKey' | 'metaKey' | 'key'>>\n | ItemProps['keyMatcher'];\n children?: ReactNode;\n}\n\nexport interface ContextMenuSeparator extends SeparatorProps {\n type: 'separator';\n}\n\nexport interface ContextMenuSubmenu extends SubMenuProps {\n key: string;\n type: 'submenu';\n items: (ContextMenuItem | ContextMenuSeparator | ContextMenuSubmenu)[];\n}\n\nexport default ContextMenu;\n"],"mappings":"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"}
|
|
@@ -2,6 +2,10 @@ import type { CSSProperties, ReactElement } from 'react';
|
|
|
2
2
|
import type { ButtonProps, FormItemProps, FormProps, InputProps, SpaceProps } from 'antd';
|
|
3
3
|
import type { TextAreaProps } from 'antd/es/input';
|
|
4
4
|
export interface EditableFormProps<V, IT extends 'Input' | 'TextArea' | RenderInputInterface> {
|
|
5
|
+
/**
|
|
6
|
+
* - **EN:** Custom prefix for the component's CSS class.
|
|
7
|
+
* - **CN:** 组件的自定义 CSS 类前缀。
|
|
8
|
+
*/
|
|
5
9
|
prefixCls?: string;
|
|
6
10
|
/**
|
|
7
11
|
* - **EN:** The value to edit
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","useContext","useEffect","useRef","useState","Button","ConfigProvider","Form","Input","Space","names","CheckSquareFilled","CloseSquareFilled","useT","jsx","_jsx","jsxs","_jsxs","defaultInputActionGap","EditableTextForm","props","_formItemProps$style$","_formItemProps$style","_formItemProps$style2","prefixCls","_props$required","required","classNames","styleNames","styles","_props$inputComp","inputComp","_props$block","block","blockInProps","formProps","formItemProps","inputProps","_props$actionAlign","actionAlign","submitProps","cancelProps","onOk","onCancel","_useContext","ConfigContext","getAntPrefixCls","getPrefixCls","_Form$useForm","useForm","_Form$useForm2","form","wrapperRef","inputRef","supportAutoScale","detectorRef","actionRef","_useState","_useState2","inputWidth","setInputWidth","_useState3","_useState4","visibility","setVisibility","_useState5","_useState6","forceBlock","setForceBlock","_useState7","_useState8","saving","setSaving","inputActionGapRef","current","pxToNumber","style","marginRight","marginInlineEnd","setFieldsValue","_inputRef$current","_actionRef$current","contentWidth","inputElement","input","inputStyle","getComputedStyle","offsetWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","actionWidth","gap","observer","ResizeObserver","_ref","_ref2","entity","wrapperWidth","contentRect","width","observe","disconnect","handleCancel","_ref3","_callee","_callee$","_context","resetFields","t0","console","handleEscape","_ref4","_callee2","_cancelProps$onClick","_callee2$","_context2","onClick","_x","handleSubmit","_ref5","_callee3","_callee3$","_context3","_x2","renderInput","COMP","TextArea","_objectSpread","ref","placeholder","onPressEnter","submit","onKeyUp","CustomInput","render","_callee4","_callee4$","_context4","validateFields","cancel","className","concat","wrapper","children","component","layout","initialValues","autoComplete","onFinish","Item","rules","message","_defineProperty","position","height","whiteSpace","align","size","disabled","loading","title","icon","submitIcon","submitButton","cancelButton","cancelIcon","_ref7","_callee5","_cancelProps$onClick2","_callee5$","_context5","_x3","onChange","restProps","_objectWithoutProperties","_excluded","useInput","px","parseFloat","replace"],"sources":["../../../src/components/EditableText/form.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement } from 'react';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport type { ButtonProps, FormItemProps, FormProps, InputProps, SpaceProps } from 'antd';\nimport { Button, ConfigProvider, Form, Input, Space } from 'antd';\nimport type { InputRef, TextAreaProps } from 'antd/es/input';\nimport names from 'classnames';\nimport { CheckSquareFilled, CloseSquareFilled } from '@ant-design/icons';\nimport useT from '../../hooks/useT';\n\nconst defaultInputActionGap = 8;\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport interface EditableFormProps<V, IT extends 'Input' | 'TextArea' | RenderInputInterface> {\n prefixCls?: string;\n /**\n * - **EN:** The value to edit\n * - **CN:** 编辑的值\n */\n value: V | undefined;\n /**\n * - **EN:** Whether the text is required when editing, default is `true`, if `formItemProps.rules`\n * is set, it will override this value\n * - **CN:** 编辑文本时是否必填,默认值为`true`,如果设置了`formItemProps.rules`,将会覆盖此值\n *\n * @default true\n */\n required?: boolean;\n /**\n * - **EN:** Form properties\n * - **CN:** 表单属性\n */\n formProps?: FormProps;\n /**\n * - **EN:** Form item properties\n * - **CN:** 表单项属性\n */\n formItemProps?: FormItemProps;\n /**\n * - **EN:** Custom component type for rendering the input box\n * - **CN:** 自定义设置渲染输入框的组件类型\n *\n * @default 'Input'\n */\n inputComp?: IT;\n /**\n * - **EN:** Input component properties\n * - **CN:** 输入框组件属性\n */\n inputProps?: IT extends 'TextArea' ? TextAreaProps : IT extends 'Input' ? InputProps : never;\n /**\n * - **EN:** Whether to display as a block-level element, with width 100%\n * - **CN:** 是否显示为块级元素,宽度100%\n *\n * @default false\n */\n block?: boolean;\n /**\n * - **EN:** Semantic class names\n * - **CN:** 语义化类名\n */\n classNames?: {\n /**\n * - **EN:** Edit mode parent container class name\n * - **CN:** 编辑模式父容器类名\n */\n wrapper?: string;\n /**\n * - **EN:** Submit button class name\n * - **CN:** 提交按钮类名\n */\n submitButton?: string;\n /**\n * - **EN:** Cancel button class name\n * - **CN:** 取消按钮类名\n */\n cancelButton?: string;\n /**\n * - **EN:** Submit button icon class name\n * - **CN:** 提交按钮图标类名\n */\n submitIcon?: string;\n /**\n * - **EN:** Cancel button icon class name\n * - **CN:** 取消按钮图标类名\n */\n cancelIcon?: string;\n };\n /**\n * - **EN:** Semantic styles\n * - **CN:** 语义化样式\n */\n styles?: {\n /**\n * - **EN:** Edit mode parent container style\n * - **CN:** 编辑模式父容器样式\n */\n wrapper?: CSSProperties;\n /**\n * - **EN:** Submit button style\n * - **CN:** 提交按钮样式\n */\n submitButton?: CSSProperties;\n /**\n * - **EN:** Cancel button style\n * - **CN:** 取消按钮样式\n */\n cancelButton?: CSSProperties;\n /**\n * - **EN:** Submit button icon style\n * - **CN:** 提交按钮图标样式\n */\n submitIcon?: CSSProperties;\n /**\n * - **EN:** Cancel button icon style\n * - **CN:** 取消按钮图标样式\n */\n cancelIcon?: CSSProperties;\n };\n /**\n * **EN:** Submit and cancel action button alignment\n *\n * **CN:** 提交、取消操作按钮的对齐方式\n *\n * - `start` - align to the top | 顶部对齐\n * - `center` - align to the center | 居中对齐\n * - `end` - align to the bottom | 底部对齐\n *\n * @default 'center'\n */\n actionAlign?: SpaceProps['align'];\n /**\n * - **EN:** Submit button properties\n * - **CN:** 提交操作按钮属性\n */\n submitProps?: ButtonProps;\n /**\n * - **EN:** Cancel button properties\n * - **CN:** 取消操作按钮属性\n */\n cancelProps?: ButtonProps;\n /**\n * - **EN:** Confirm button click event, supports asynchronous operations\n * - **CN:** 确认按钮点击事件,支持异步操作\n */\n onOk: (value: V | undefined) => void | Promise<void>;\n /**\n * - **EN:** Cancel button click event, supports asynchronous operations\n * - **CN:** 取消按钮点击事件,支持异步操作\n */\n onCancel?: () => void | Promise<void>;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst EditableTextForm = <V, IT extends 'Input' | 'TextArea' | RenderInputInterface>(\n props: EditableFormProps<V, IT>\n) => {\n const {\n prefixCls,\n value,\n required = true,\n classNames,\n styles: styleNames,\n inputComp = 'Input' as IT,\n block: blockInProps = false,\n formProps,\n formItemProps,\n inputProps,\n actionAlign = 'center',\n submitProps,\n cancelProps,\n onOk,\n onCancel,\n } = props;\n const t = useT();\n const { getPrefixCls: getAntPrefixCls } = useContext(ConfigProvider.ConfigContext);\n const [form] = Form.useForm<{ value: V | undefined }>();\n const wrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<InputRef>(null);\n const supportAutoScale = inputComp === 'Input' || inputComp === 'TextArea';\n const detectorRef = useRef<HTMLSpanElement>(null);\n const actionRef = useRef<HTMLDivElement>(null);\n const [inputWidth, setInputWidth] = useState<number>();\n const [visibility, setVisibility] = useState<CSSProperties['visibility']>('hidden');\n const [forceBlock, setForceBlock] = useState(false);\n const [saving, setSaving] = useState(false);\n const inputActionGapRef = useRef<number>(0);\n inputActionGapRef.current =\n pxToNumber(formItemProps?.style?.marginRight ?? formItemProps?.style?.marginInlineEnd) || defaultInputActionGap;\n const block = blockInProps || forceBlock;\n\n // Update form value when `value` prop changes\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n form.setFieldsValue({ value: value as any });\n }, [form, value]);\n\n // Detect the width of the text and dynamically scale the input width until it reaches the max width of the container.\n // Only built-in Input and TextArea components are supported.\n useEffect(() => {\n let contentWidth = 0;\n const inputElement = inputRef.current?.input;\n if (detectorRef.current && inputElement && supportAutoScale) {\n const inputStyle = getComputedStyle(inputElement);\n contentWidth =\n detectorRef.current.offsetWidth +\n pxToNumber(inputStyle.paddingLeft) +\n pxToNumber(inputStyle.paddingRight) +\n pxToNumber(inputStyle.borderLeftWidth) +\n pxToNumber(inputStyle.borderRightWidth);\n setInputWidth(contentWidth);\n }\n const actionWidth = actionRef.current?.offsetWidth || 0; // Width of action buttons\n const gap = inputActionGapRef.current; // Gap between input box and action buttons\n setVisibility('visible');\n // Listen to the width of the wrapper container, if the input box width is greater than the wrapper container width,\n const observer = new ResizeObserver(([entity]) => {\n const wrapperWidth = entity.contentRect.width;\n // Width deviation greater than 1px is considered overflow, to avoid misjudgment due to pixel density or scaling\n if (contentWidth + actionWidth + gap - wrapperWidth > 1) {\n setForceBlock(true);\n } else {\n setForceBlock(false);\n }\n });\n if (wrapperRef.current) {\n observer.observe(wrapperRef.current);\n }\n return () => observer.disconnect();\n }, [supportAutoScale]);\n\n // Cancel editing\n const handleCancel = async () => {\n form.resetFields();\n try {\n await onCancel?.();\n } catch (error) {\n console.error(error);\n }\n };\n // Pressing the Escape key to cancel editing\n const handleEscape: InputProps['onKeyUp'] = async (e) => {\n if ((inputComp === 'Input' || inputComp === 'TextArea') && e.key === 'Escape') {\n await handleCancel();\n cancelProps?.onClick?.(e as unknown as React.MouseEvent<HTMLElement>);\n }\n };\n // Submit editing\n const handleSubmit = async (values: { value: V | undefined }) => {\n const { value } = values;\n try {\n setSaving(true);\n await onOk?.(value);\n } catch (error) {\n console.error(error);\n } finally {\n setSaving(false);\n }\n };\n\n const renderInput = () => {\n if (inputComp === 'Input' || inputComp === 'TextArea') {\n const COMP = inputComp === 'Input' ? Input : Input.TextArea;\n return (\n <COMP\n ref={inputRef}\n placeholder={t('components.EditableText.placeholder')}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {...(inputProps as any)}\n style={{\n width: block ? undefined : inputWidth, // Width is 100% in block mode, no need to set width\n ...(inputProps && 'style' in inputProps ? inputProps?.style : {}),\n }}\n onPressEnter={() => {\n if (inputComp === 'Input') {\n form.submit();\n }\n }}\n onKeyUp={handleEscape}\n />\n );\n } else {\n return (\n <CustomInput<V>\n {...props}\n render={inputComp}\n submit={async () => {\n const values = await form.validateFields();\n await handleSubmit(values);\n }}\n cancel={handleCancel}\n />\n );\n }\n };\n\n return (\n <div ref={wrapperRef} className={names(`${prefixCls}-form`, classNames?.wrapper)} style={styleNames?.wrapper}>\n <Form\n component=\"div\" // Do not use form tag to avoid conflicts with external form, which may be nested in other forms\n layout=\"inline\"\n form={form}\n initialValues={{ value }}\n autoComplete=\"off\"\n onFinish={handleSubmit}\n {...formProps}\n style={{\n visibility,\n ...formProps?.style,\n }}\n >\n {/* Input box */}\n <Form.Item\n rules={[{ required, message: t('components.EditableText.requiredMsg') }]}\n {...formItemProps}\n className={names(formItemProps?.className, { [`${getAntPrefixCls('form-item-block')}`]: block })}\n style={{\n marginInlineEnd: defaultInputActionGap,\n ...formItemProps?.style,\n }}\n name=\"value\"\n >\n {renderInput()}\n </Form.Item>\n {/* Used to calculate the width of the text content */}\n {supportAutoScale && (\n <span\n ref={detectorRef}\n style={{\n position: 'absolute',\n visibility: 'hidden',\n height: 0,\n whiteSpace: 'pre',\n }}\n >\n {value?.toString()}\n </span>\n )}\n\n {/* Action buttons */}\n <Space ref={actionRef} className={`${prefixCls}-form-btns`} align={actionAlign} size={4}>\n <Button\n type=\"text\"\n disabled={saving}\n loading={saving}\n title={t('components.EditableText.save')}\n icon={<CheckSquareFilled className={classNames?.submitIcon} style={styleNames?.submitIcon} />}\n style={styleNames?.submitButton}\n onClick={() => form.submit()}\n {...submitProps}\n className={names(\n `${prefixCls}-form-btn`,\n `${prefixCls}-form-btn-save`,\n classNames?.submitButton,\n submitProps?.className\n )}\n />\n <Button\n type=\"text\"\n style={styleNames?.cancelButton}\n className={names(`${prefixCls}-form-btn`, `${prefixCls}-form-btn-close`, classNames?.cancelButton)}\n title={t('components.EditableText.cancel')}\n icon={<CloseSquareFilled className={classNames?.cancelIcon} style={styleNames?.cancelIcon} />}\n onClick={async (e) => {\n await handleCancel();\n cancelProps?.onClick?.(e);\n }}\n {...cancelProps}\n />\n </Space>\n </Form>\n </div>\n );\n};\n\nfunction CustomInput<V>(\n props: RenderInputProps<V> & {\n render: RenderInputInterface;\n }\n): ReactElement | null {\n const { render, value, onChange, ...restProps } = props;\n const useInput = render;\n return useInput({ ...restProps, value, onChange });\n}\n\nfunction pxToNumber(px: string | number | null | undefined) {\n return px ? parseFloat(px.toString().replace('px', '')) : 0;\n}\n\nexport type RenderInputInterface = <V>(props: RenderInputProps<V>) => ReactElement | null;\nexport interface RenderInputProps<V>\n extends Omit<EditableFormProps<V, 'Input'>, 'inputComp' | 'inputProps' | 'onOk' | 'onCancel'> {\n onChange?: (value: V | undefined) => void;\n submit(): Promise<void>;\n cancel(): Promise<void>;\n}\n\nexport default EditableTextForm;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","useContext","useEffect","useRef","useState","Button","ConfigProvider","Form","Input","Space","names","CheckSquareFilled","CloseSquareFilled","useT","jsx","_jsx","jsxs","_jsxs","defaultInputActionGap","EditableTextForm","props","_formItemProps$style$","_formItemProps$style","_formItemProps$style2","prefixCls","_props$required","required","classNames","styleNames","styles","_props$inputComp","inputComp","_props$block","block","blockInProps","formProps","formItemProps","inputProps","_props$actionAlign","actionAlign","submitProps","cancelProps","onOk","onCancel","_useContext","ConfigContext","getAntPrefixCls","getPrefixCls","_Form$useForm","useForm","_Form$useForm2","form","wrapperRef","inputRef","supportAutoScale","detectorRef","actionRef","_useState","_useState2","inputWidth","setInputWidth","_useState3","_useState4","visibility","setVisibility","_useState5","_useState6","forceBlock","setForceBlock","_useState7","_useState8","saving","setSaving","inputActionGapRef","current","pxToNumber","style","marginRight","marginInlineEnd","setFieldsValue","_inputRef$current","_actionRef$current","contentWidth","inputElement","input","inputStyle","getComputedStyle","offsetWidth","paddingLeft","paddingRight","borderLeftWidth","borderRightWidth","actionWidth","gap","observer","ResizeObserver","_ref","_ref2","entity","wrapperWidth","contentRect","width","observe","disconnect","handleCancel","_ref3","_callee","_callee$","_context","resetFields","t0","console","handleEscape","_ref4","_callee2","_cancelProps$onClick","_callee2$","_context2","onClick","_x","handleSubmit","_ref5","_callee3","_callee3$","_context3","_x2","renderInput","COMP","TextArea","_objectSpread","ref","placeholder","onPressEnter","submit","onKeyUp","CustomInput","render","_callee4","_callee4$","_context4","validateFields","cancel","className","concat","wrapper","children","component","layout","initialValues","autoComplete","onFinish","Item","rules","message","_defineProperty","position","height","whiteSpace","align","size","disabled","loading","title","icon","submitIcon","submitButton","cancelButton","cancelIcon","_ref7","_callee5","_cancelProps$onClick2","_callee5$","_context5","_x3","onChange","restProps","_objectWithoutProperties","_excluded","useInput","px","parseFloat","replace"],"sources":["../../../src/components/EditableText/form.tsx"],"sourcesContent":["import type { CSSProperties, ReactElement } from 'react';\nimport { useContext, useEffect, useRef, useState } from 'react';\nimport type { ButtonProps, FormItemProps, FormProps, InputProps, SpaceProps } from 'antd';\nimport { Button, ConfigProvider, Form, Input, Space } from 'antd';\nimport type { InputRef, TextAreaProps } from 'antd/es/input';\nimport names from 'classnames';\nimport { CheckSquareFilled, CloseSquareFilled } from '@ant-design/icons';\nimport useT from '../../hooks/useT';\n\nconst defaultInputActionGap = 8;\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport interface EditableFormProps<V, IT extends 'Input' | 'TextArea' | RenderInputInterface> {\n /**\n * - **EN:** Custom prefix for the component's CSS class.\n * - **CN:** 组件的自定义 CSS 类前缀。\n */\n prefixCls?: string;\n /**\n * - **EN:** The value to edit\n * - **CN:** 编辑的值\n */\n value: V | undefined;\n /**\n * - **EN:** Whether the text is required when editing, default is `true`, if `formItemProps.rules`\n * is set, it will override this value\n * - **CN:** 编辑文本时是否必填,默认值为`true`,如果设置了`formItemProps.rules`,将会覆盖此值\n *\n * @default true\n */\n required?: boolean;\n /**\n * - **EN:** Form properties\n * - **CN:** 表单属性\n */\n formProps?: FormProps;\n /**\n * - **EN:** Form item properties\n * - **CN:** 表单项属性\n */\n formItemProps?: FormItemProps;\n /**\n * - **EN:** Custom component type for rendering the input box\n * - **CN:** 自定义设置渲染输入框的组件类型\n *\n * @default 'Input'\n */\n inputComp?: IT;\n /**\n * - **EN:** Input component properties\n * - **CN:** 输入框组件属性\n */\n inputProps?: IT extends 'TextArea' ? TextAreaProps : IT extends 'Input' ? InputProps : never;\n /**\n * - **EN:** Whether to display as a block-level element, with width 100%\n * - **CN:** 是否显示为块级元素,宽度100%\n *\n * @default false\n */\n block?: boolean;\n /**\n * - **EN:** Semantic class names\n * - **CN:** 语义化类名\n */\n classNames?: {\n /**\n * - **EN:** Edit mode parent container class name\n * - **CN:** 编辑模式父容器类名\n */\n wrapper?: string;\n /**\n * - **EN:** Submit button class name\n * - **CN:** 提交按钮类名\n */\n submitButton?: string;\n /**\n * - **EN:** Cancel button class name\n * - **CN:** 取消按钮类名\n */\n cancelButton?: string;\n /**\n * - **EN:** Submit button icon class name\n * - **CN:** 提交按钮图标类名\n */\n submitIcon?: string;\n /**\n * - **EN:** Cancel button icon class name\n * - **CN:** 取消按钮图标类名\n */\n cancelIcon?: string;\n };\n /**\n * - **EN:** Semantic styles\n * - **CN:** 语义化样式\n */\n styles?: {\n /**\n * - **EN:** Edit mode parent container style\n * - **CN:** 编辑模式父容器样式\n */\n wrapper?: CSSProperties;\n /**\n * - **EN:** Submit button style\n * - **CN:** 提交按钮样式\n */\n submitButton?: CSSProperties;\n /**\n * - **EN:** Cancel button style\n * - **CN:** 取消按钮样式\n */\n cancelButton?: CSSProperties;\n /**\n * - **EN:** Submit button icon style\n * - **CN:** 提交按钮图标样式\n */\n submitIcon?: CSSProperties;\n /**\n * - **EN:** Cancel button icon style\n * - **CN:** 取消按钮图标样式\n */\n cancelIcon?: CSSProperties;\n };\n /**\n * **EN:** Submit and cancel action button alignment\n *\n * **CN:** 提交、取消操作按钮的对齐方式\n *\n * - `start` - align to the top | 顶部对齐\n * - `center` - align to the center | 居中对齐\n * - `end` - align to the bottom | 底部对齐\n *\n * @default 'center'\n */\n actionAlign?: SpaceProps['align'];\n /**\n * - **EN:** Submit button properties\n * - **CN:** 提交操作按钮属性\n */\n submitProps?: ButtonProps;\n /**\n * - **EN:** Cancel button properties\n * - **CN:** 取消操作按钮属性\n */\n cancelProps?: ButtonProps;\n /**\n * - **EN:** Confirm button click event, supports asynchronous operations\n * - **CN:** 确认按钮点击事件,支持异步操作\n */\n onOk: (value: V | undefined) => void | Promise<void>;\n /**\n * - **EN:** Cancel button click event, supports asynchronous operations\n * - **CN:** 取消按钮点击事件,支持异步操作\n */\n onCancel?: () => void | Promise<void>;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst EditableTextForm = <V, IT extends 'Input' | 'TextArea' | RenderInputInterface>(\n props: EditableFormProps<V, IT>\n) => {\n const {\n prefixCls,\n value,\n required = true,\n classNames,\n styles: styleNames,\n inputComp = 'Input' as IT,\n block: blockInProps = false,\n formProps,\n formItemProps,\n inputProps,\n actionAlign = 'center',\n submitProps,\n cancelProps,\n onOk,\n onCancel,\n } = props;\n const t = useT();\n const { getPrefixCls: getAntPrefixCls } = useContext(ConfigProvider.ConfigContext);\n const [form] = Form.useForm<{ value: V | undefined }>();\n const wrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<InputRef>(null);\n const supportAutoScale = inputComp === 'Input' || inputComp === 'TextArea';\n const detectorRef = useRef<HTMLSpanElement>(null);\n const actionRef = useRef<HTMLDivElement>(null);\n const [inputWidth, setInputWidth] = useState<number>();\n const [visibility, setVisibility] = useState<CSSProperties['visibility']>('hidden');\n const [forceBlock, setForceBlock] = useState(false);\n const [saving, setSaving] = useState(false);\n const inputActionGapRef = useRef<number>(0);\n inputActionGapRef.current =\n pxToNumber(formItemProps?.style?.marginRight ?? formItemProps?.style?.marginInlineEnd) || defaultInputActionGap;\n const block = blockInProps || forceBlock;\n\n // Update form value when `value` prop changes\n useEffect(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n form.setFieldsValue({ value: value as any });\n }, [form, value]);\n\n // Detect the width of the text and dynamically scale the input width until it reaches the max width of the container.\n // Only built-in Input and TextArea components are supported.\n useEffect(() => {\n let contentWidth = 0;\n const inputElement = inputRef.current?.input;\n if (detectorRef.current && inputElement && supportAutoScale) {\n const inputStyle = getComputedStyle(inputElement);\n contentWidth =\n detectorRef.current.offsetWidth +\n pxToNumber(inputStyle.paddingLeft) +\n pxToNumber(inputStyle.paddingRight) +\n pxToNumber(inputStyle.borderLeftWidth) +\n pxToNumber(inputStyle.borderRightWidth);\n setInputWidth(contentWidth);\n }\n const actionWidth = actionRef.current?.offsetWidth || 0; // Width of action buttons\n const gap = inputActionGapRef.current; // Gap between input box and action buttons\n setVisibility('visible');\n // Listen to the width of the wrapper container, if the input box width is greater than the wrapper container width,\n const observer = new ResizeObserver(([entity]) => {\n const wrapperWidth = entity.contentRect.width;\n // Width deviation greater than 1px is considered overflow, to avoid misjudgment due to pixel density or scaling\n if (contentWidth + actionWidth + gap - wrapperWidth > 1) {\n setForceBlock(true);\n } else {\n setForceBlock(false);\n }\n });\n if (wrapperRef.current) {\n observer.observe(wrapperRef.current);\n }\n return () => observer.disconnect();\n }, [supportAutoScale]);\n\n // Cancel editing\n const handleCancel = async () => {\n form.resetFields();\n try {\n await onCancel?.();\n } catch (error) {\n console.error(error);\n }\n };\n // Pressing the Escape key to cancel editing\n const handleEscape: InputProps['onKeyUp'] = async (e) => {\n if ((inputComp === 'Input' || inputComp === 'TextArea') && e.key === 'Escape') {\n await handleCancel();\n cancelProps?.onClick?.(e as unknown as React.MouseEvent<HTMLElement>);\n }\n };\n // Submit editing\n const handleSubmit = async (values: { value: V | undefined }) => {\n const { value } = values;\n try {\n setSaving(true);\n await onOk?.(value);\n } catch (error) {\n console.error(error);\n } finally {\n setSaving(false);\n }\n };\n\n const renderInput = () => {\n if (inputComp === 'Input' || inputComp === 'TextArea') {\n const COMP = inputComp === 'Input' ? Input : Input.TextArea;\n return (\n <COMP\n ref={inputRef}\n placeholder={t('components.EditableText.placeholder')}\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {...(inputProps as any)}\n style={{\n width: block ? undefined : inputWidth, // Width is 100% in block mode, no need to set width\n ...(inputProps && 'style' in inputProps ? inputProps?.style : {}),\n }}\n onPressEnter={() => {\n if (inputComp === 'Input') {\n form.submit();\n }\n }}\n onKeyUp={handleEscape}\n />\n );\n } else {\n return (\n <CustomInput<V>\n {...props}\n render={inputComp}\n submit={async () => {\n const values = await form.validateFields();\n await handleSubmit(values);\n }}\n cancel={handleCancel}\n />\n );\n }\n };\n\n return (\n <div ref={wrapperRef} className={names(`${prefixCls}-form`, classNames?.wrapper)} style={styleNames?.wrapper}>\n <Form\n component=\"div\" // Do not use form tag to avoid conflicts with external form, which may be nested in other forms\n layout=\"inline\"\n form={form}\n initialValues={{ value }}\n autoComplete=\"off\"\n onFinish={handleSubmit}\n {...formProps}\n style={{\n visibility,\n ...formProps?.style,\n }}\n >\n {/* Input box */}\n <Form.Item\n rules={[{ required, message: t('components.EditableText.requiredMsg') }]}\n {...formItemProps}\n className={names(formItemProps?.className, { [`${getAntPrefixCls('form-item-block')}`]: block })}\n style={{\n marginInlineEnd: defaultInputActionGap,\n ...formItemProps?.style,\n }}\n name=\"value\"\n >\n {renderInput()}\n </Form.Item>\n {/* Used to calculate the width of the text content */}\n {supportAutoScale && (\n <span\n ref={detectorRef}\n style={{\n position: 'absolute',\n visibility: 'hidden',\n height: 0,\n whiteSpace: 'pre',\n }}\n >\n {value?.toString()}\n </span>\n )}\n\n {/* Action buttons */}\n <Space ref={actionRef} className={`${prefixCls}-form-btns`} align={actionAlign} size={4}>\n <Button\n type=\"text\"\n disabled={saving}\n loading={saving}\n title={t('components.EditableText.save')}\n icon={<CheckSquareFilled className={classNames?.submitIcon} style={styleNames?.submitIcon} />}\n style={styleNames?.submitButton}\n onClick={() => form.submit()}\n {...submitProps}\n className={names(\n `${prefixCls}-form-btn`,\n `${prefixCls}-form-btn-save`,\n classNames?.submitButton,\n submitProps?.className\n )}\n />\n <Button\n type=\"text\"\n style={styleNames?.cancelButton}\n className={names(`${prefixCls}-form-btn`, `${prefixCls}-form-btn-close`, classNames?.cancelButton)}\n title={t('components.EditableText.cancel')}\n icon={<CloseSquareFilled className={classNames?.cancelIcon} style={styleNames?.cancelIcon} />}\n onClick={async (e) => {\n await handleCancel();\n cancelProps?.onClick?.(e);\n }}\n {...cancelProps}\n />\n </Space>\n </Form>\n </div>\n );\n};\n\nfunction CustomInput<V>(\n props: RenderInputProps<V> & {\n render: RenderInputInterface;\n }\n): ReactElement | null {\n const { render, value, onChange, ...restProps } = props;\n const useInput = render;\n return useInput({ ...restProps, value, onChange });\n}\n\nfunction pxToNumber(px: string | number | null | undefined) {\n return px ? parseFloat(px.toString().replace('px', '')) : 0;\n}\n\nexport type RenderInputInterface = <V>(props: RenderInputProps<V>) => ReactElement | null;\nexport interface RenderInputProps<V>\n extends Omit<EditableFormProps<V, 'Input'>, 'inputComp' | 'inputProps' | 'onOk' | 'onCancel'> {\n onChange?: (value: V | undefined) => void;\n submit(): Promise<void>;\n cancel(): Promise<void>;\n}\n\nexport default EditableTextForm;\n"],"mappings":";;;;;;;;;+CACA,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,YAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,CAAAkD,MAAA,KAAA7D,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,uCAAA3D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAiE,UAAA,IAAArD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAAgE,IAAA,GAAAlE,CAAA,CAAAmE,OAAA,eAAAjE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,sCAAA9D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAiC,aAAAnE,CAAA,QAAAD,CAAA,KAAAqE,MAAA,EAAApE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAsE,QAAA,GAAArE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAuE,UAAA,GAAAtE,CAAA,KAAAD,CAAA,CAAAwE,QAAA,GAAAvE,CAAA,WAAAwE,UAAA,CAAAC,IAAA,CAAA1E,CAAA,cAAA2E,cAAA1E,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA2E,UAAA,QAAA5E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA2E,UAAA,GAAA5E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAwE,UAAA,MAAAJ,MAAA,aAAApE,CAAA,CAAA4C,OAAA,CAAAuB,YAAA,cAAAS,KAAA,iBAAAnC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAkE,IAAA,SAAAlE,CAAA,OAAA8E,KAAA,CAAA9E,CAAA,CAAA+E,MAAA,SAAAxE,CAAA,OAAAG,CAAA,YAAAwD,KAAA,aAAA3D,CAAA,GAAAP,CAAA,CAAA+E,MAAA,OAAA1E,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA2D,IAAA,CAAAzD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA2D,IAAA,CAAAX,IAAA,OAAAW,IAAA,SAAAA,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,YAAAxD,CAAA,CAAAwD,IAAA,GAAAxD,CAAA,gBAAAsD,SAAA,CAAAf,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA4C,WAAA,GAAA9D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAiF,mBAAA,aAAAhF,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAiF,WAAA,WAAAlF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAAgF,WAAA,IAAAhF,CAAA,CAAAmF,IAAA,OAAAnF,CAAA,CAAAoF,IAAA,aAAAnF,CAAA,WAAAE,MAAA,CAAAkF,cAAA,GAAAlF,MAAA,CAAAkF,cAAA,CAAApF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAqF,SAAA,GAAAjD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAwF,KAAA,aAAAvF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA+E,OAAA,OAAA7E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAiF,mBAAA,CAAA/E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAsD,IAAA,GAAAd,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAsD,IAAA,WAAAtB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAA0F,IAAA,aAAAzF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAwE,IAAA,CAAArE,CAAA,UAAAH,CAAA,CAAAyF,OAAA,aAAAzB,KAAA,WAAAhE,CAAA,CAAA6E,MAAA,SAAA9E,CAAA,GAAAC,CAAA,CAAA0F,GAAA,QAAA3F,CAAA,IAAAD,CAAA,SAAAkE,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,WAAAA,IAAA,CAAAX,IAAA,OAAAW,IAAA,QAAAlE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA8E,WAAA,EAAAzD,OAAA,EAAAoD,KAAA,WAAAA,MAAA7E,CAAA,aAAA6F,IAAA,WAAA3B,IAAA,WAAAP,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAwE,UAAA,CAAA5B,OAAA,CAAA8B,aAAA,IAAA3E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA4F,MAAA,OAAAzF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA4E,KAAA,EAAA5E,CAAA,CAAA6F,KAAA,cAAA7F,CAAA,IAAAD,CAAA,MAAA+F,IAAA,WAAAA,KAAA,SAAAzC,IAAA,WAAAtD,CAAA,QAAAwE,UAAA,IAAAG,UAAA,kBAAA3E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAoE,IAAA,KAAApC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAAgG,OAAA7F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAAgE,IAAA,GAAA7D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAkE,UAAA,CAAAM,MAAA,MAAAxE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA+D,UAAA,CAAAlE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAkE,UAAA,iBAAAlE,CAAA,CAAA2D,MAAA,SAAA6B,MAAA,aAAAxF,CAAA,CAAA2D,MAAA,SAAAwB,IAAA,QAAA/E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA6E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,gBAAAuB,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,cAAAzD,CAAA,aAAA+E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,qBAAAtD,CAAA,YAAAsC,KAAA,qDAAAuC,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,YAAAT,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAuE,UAAA,CAAAM,MAAA,MAAA7E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAkE,UAAA,CAAAvE,CAAA,OAAAK,CAAA,CAAA8D,MAAA,SAAAwB,IAAA,IAAAxF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAsF,IAAA,GAAAtF,CAAA,CAAAgE,UAAA,QAAA7D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA2D,MAAA,IAAArE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA6D,UAAA,KAAA7D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAkE,UAAA,cAAAhE,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAU,IAAA,GAAAxD,CAAA,CAAA6D,UAAA,EAAApC,CAAA,SAAAgE,QAAA,CAAAvF,CAAA,MAAAuF,QAAA,WAAAA,SAAAlG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAsC,IAAA,GAAAjE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAqE,IAAA,QAAApE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAU,IAAA,yBAAAjE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAkE,IAAA,GAAAlE,CAAA,GAAAmC,CAAA,KAAAiE,MAAA,WAAAA,OAAAnG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAqE,UAAA,KAAAtE,CAAA,cAAAkG,QAAA,CAAAjG,CAAA,CAAA0E,UAAA,EAAA1E,CAAA,CAAAsE,QAAA,GAAAG,aAAA,CAAAzE,CAAA,GAAAiC,CAAA,OAAAkE,KAAA,WAAAC,OAAArG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAmE,MAAA,KAAApE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAA0E,UAAA,kBAAAvE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA8C,aAAA,CAAAzE,CAAA,YAAAK,CAAA,gBAAA+C,KAAA,8BAAAiD,aAAA,WAAAA,cAAAvG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAiE,UAAA,EAAA/D,CAAA,EAAAiE,OAAA,EAAA9D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAwG,mBAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAhF,GAAA,cAAAiF,IAAA,GAAAL,GAAA,CAAAI,GAAA,EAAAhF,GAAA,OAAApB,KAAA,GAAAqG,IAAA,CAAArG,KAAA,WAAAsG,KAAA,IAAAL,MAAA,CAAAK,KAAA,iBAAAD,IAAA,CAAAvD,IAAA,IAAAL,OAAA,CAAAzC,KAAA,YAAAgF,OAAA,CAAAvC,OAAA,CAAAzC,KAAA,EAAA2C,IAAA,CAAAuD,KAAA,EAAAC,MAAA;AAAA,SAAAI,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAA3B,OAAA,WAAAvC,OAAA,EAAAwD,MAAA,QAAAD,GAAA,GAAAQ,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAR,MAAAlG,KAAA,IAAA+F,kBAAA,CAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAnG,KAAA,cAAAmG,OAAAU,GAAA,IAAAd,kBAAA,CAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAU,GAAA,KAAAX,KAAA,CAAAY,SAAA;AAAA,SAAAC,eAAAC,GAAA,EAAA/G,CAAA,WAAAgH,eAAA,CAAAD,GAAA,KAAAE,qBAAA,CAAAF,GAAA,EAAA/G,CAAA,KAAAkH,2BAAA,CAAAH,GAAA,EAAA/G,CAAA,KAAAmH,gBAAA;AAAA,SAAAA,iBAAA,cAAA7D,SAAA;AAAA,SAAA4D,4BAAArH,CAAA,EAAAuH,MAAA,SAAAvH,CAAA,qBAAAA,CAAA,sBAAAwH,iBAAA,CAAAxH,CAAA,EAAAuH,MAAA,OAAAzH,CAAA,GAAAF,MAAA,CAAAC,SAAA,CAAA4H,QAAA,CAAAlG,IAAA,CAAAvB,CAAA,EAAAwF,KAAA,aAAA1F,CAAA,iBAAAE,CAAA,CAAA2E,WAAA,EAAA7E,CAAA,GAAAE,CAAA,CAAA2E,WAAA,CAAAC,IAAA,MAAA9E,CAAA,cAAAA,CAAA,mBAAA4H,KAAA,CAAAC,IAAA,CAAA3H,CAAA,OAAAF,CAAA,+DAAA8H,IAAA,CAAA9H,CAAA,UAAA0H,iBAAA,CAAAxH,CAAA,EAAAuH,MAAA;AAAA,SAAAC,kBAAAN,GAAA,EAAAW,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAX,GAAA,CAAA1C,MAAA,EAAAqD,GAAA,GAAAX,GAAA,CAAA1C,MAAA,WAAArE,CAAA,MAAA2H,IAAA,OAAAJ,KAAA,CAAAG,GAAA,GAAA1H,CAAA,GAAA0H,GAAA,EAAA1H,CAAA,IAAA2H,IAAA,CAAA3H,CAAA,IAAA+G,GAAA,CAAA/G,CAAA,UAAA2H,IAAA;AAAA,SAAAV,sBAAAzH,CAAA,EAAA8B,CAAA,QAAA/B,CAAA,WAAAC,CAAA,gCAAAS,MAAA,IAAAT,CAAA,CAAAS,MAAA,CAAAE,QAAA,KAAAX,CAAA,4BAAAD,CAAA,QAAAD,CAAA,EAAAK,CAAA,EAAAK,CAAA,EAAAM,CAAA,EAAAJ,CAAA,OAAAqB,CAAA,OAAA1B,CAAA,iBAAAG,CAAA,IAAAT,CAAA,GAAAA,CAAA,CAAA6B,IAAA,CAAA5B,CAAA,GAAAgE,IAAA,QAAAlC,CAAA,QAAA7B,MAAA,CAAAF,CAAA,MAAAA,CAAA,UAAAgC,CAAA,uBAAAA,CAAA,IAAAjC,CAAA,GAAAU,CAAA,CAAAoB,IAAA,CAAA7B,CAAA,GAAAsD,IAAA,MAAA3C,CAAA,CAAA8D,IAAA,CAAA1E,CAAA,CAAAS,KAAA,GAAAG,CAAA,CAAAmE,MAAA,KAAA/C,CAAA,GAAAC,CAAA,iBAAA/B,CAAA,IAAAK,CAAA,OAAAF,CAAA,GAAAH,CAAA,yBAAA+B,CAAA,YAAAhC,CAAA,CAAA8D,MAAA,KAAA/C,CAAA,GAAAf,CAAA,CAAA8D,MAAA,IAAA5D,MAAA,CAAAa,CAAA,MAAAA,CAAA,2BAAAT,CAAA,QAAAF,CAAA,aAAAO,CAAA;AAAA,SAAA8G,gBAAAD,GAAA,QAAAQ,KAAA,CAAAK,OAAA,CAAAb,GAAA,UAAAA,GAAA;AAAA,SAASc,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAE/D,SAASC,MAAM,EAAEC,cAAc,EAAEC,IAAI,EAAEC,KAAK,EAAEC,KAAK,QAAQ,MAAM;AAEjE,OAAOC,KAAK,MAAM,YAAY;AAC9B,SAASC,iBAAiB,EAAEC,iBAAiB,QAAQ,mBAAmB;AACxE,OAAOC,IAAI;AAAyB,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEpC,IAAMC,qBAAqB,GAAG,CAAC;AAC/B;;AAiJA;AACA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CACpBC,KAA+B,EAC5B;EAAA,IAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA;EACH,IACEC,SAAS,GAePJ,KAAK,CAfPI,SAAS;IACTrJ,KAAK,GAcHiJ,KAAK,CAdPjJ,KAAK;IAAAsJ,eAAA,GAcHL,KAAK,CAbPM,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,IAAI,GAAAA,eAAA;IACfE,UAAU,GAYRP,KAAK,CAZPO,UAAU;IACFC,UAAU,GAWhBR,KAAK,CAXPS,MAAM;IAAAC,gBAAA,GAWJV,KAAK,CAVPW,SAAS;IAATA,SAAS,GAAAD,gBAAA,cAAG,OAAO,GAAAA,gBAAA;IAAAE,YAAA,GAUjBZ,KAAK,CATPa,KAAK;IAAEC,YAAY,GAAAF,YAAA,cAAG,KAAK,GAAAA,YAAA;IAC3BG,SAAS,GAQPf,KAAK,CARPe,SAAS;IACTC,aAAa,GAOXhB,KAAK,CAPPgB,aAAa;IACbC,UAAU,GAMRjB,KAAK,CANPiB,UAAU;IAAAC,kBAAA,GAMRlB,KAAK,CALPmB,WAAW;IAAXA,WAAW,GAAAD,kBAAA,cAAG,QAAQ,GAAAA,kBAAA;IACtBE,WAAW,GAITpB,KAAK,CAJPoB,WAAW;IACXC,WAAW,GAGTrB,KAAK,CAHPqB,WAAW;IACXC,IAAI,GAEFtB,KAAK,CAFPsB,IAAI;IACJC,QAAQ,GACNvB,KAAK,CADPuB,QAAQ;EAEV,IAAMhL,CAAC,GAAGkJ,IAAI,CAAC,CAAC;EAChB,IAAA+B,WAAA,GAA0C3C,UAAU,CAACK,cAAc,CAACuC,aAAa,CAAC;IAA5DC,eAAe,GAAAF,WAAA,CAA7BG,YAAY;EACpB,IAAAC,aAAA,GAAezC,IAAI,CAAC0C,OAAO,CAA2B,CAAC;IAAAC,cAAA,GAAAhE,cAAA,CAAA8D,aAAA;IAAhDG,IAAI,GAAAD,cAAA;EACX,IAAME,UAAU,GAAGjD,MAAM,CAAiB,IAAI,CAAC;EAC/C,IAAMkD,QAAQ,GAAGlD,MAAM,CAAW,IAAI,CAAC;EACvC,IAAMmD,gBAAgB,GAAGvB,SAAS,KAAK,OAAO,IAAIA,SAAS,KAAK,UAAU;EAC1E,IAAMwB,WAAW,GAAGpD,MAAM,CAAkB,IAAI,CAAC;EACjD,IAAMqD,SAAS,GAAGrD,MAAM,CAAiB,IAAI,CAAC;EAC9C,IAAAsD,SAAA,GAAoCrD,QAAQ,CAAS,CAAC;IAAAsD,UAAA,GAAAxE,cAAA,CAAAuE,SAAA;IAA/CE,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,IAAAG,UAAA,GAAoCzD,QAAQ,CAA8B,QAAQ,CAAC;IAAA0D,UAAA,GAAA5E,cAAA,CAAA2E,UAAA;IAA5EE,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,IAAAG,UAAA,GAAoC7D,QAAQ,CAAC,KAAK,CAAC;IAAA8D,UAAA,GAAAhF,cAAA,CAAA+E,UAAA;IAA5CE,UAAU,GAAAD,UAAA;IAAEE,aAAa,GAAAF,UAAA;EAChC,IAAAG,UAAA,GAA4BjE,QAAQ,CAAC,KAAK,CAAC;IAAAkE,UAAA,GAAApF,cAAA,CAAAmF,UAAA;IAApCE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAMG,iBAAiB,GAAGtE,MAAM,CAAS,CAAC,CAAC;EAC3CsE,iBAAiB,CAACC,OAAO,GACvBC,UAAU,EAAAtD,qBAAA,GAACe,aAAa,aAAbA,aAAa,gBAAAd,oBAAA,GAAbc,aAAa,CAAEwC,KAAK,cAAAtD,oBAAA,uBAApBA,oBAAA,CAAsBuD,WAAW,cAAAxD,qBAAA,cAAAA,qBAAA,GAAIe,aAAa,aAAbA,aAAa,gBAAAb,qBAAA,GAAba,aAAa,CAAEwC,KAAK,cAAArD,qBAAA,uBAApBA,qBAAA,CAAsBuD,eAAe,CAAC,IAAI5D,qBAAqB;EACjH,IAAMe,KAAK,GAAGC,YAAY,IAAIiC,UAAU;;EAExC;EACAjE,SAAS,CAAC,YAAM;IACd;IACAiD,IAAI,CAAC4B,cAAc,CAAC;MAAE5M,KAAK,EAAEA;IAAa,CAAC,CAAC;EAC9C,CAAC,EAAE,CAACgL,IAAI,EAAEhL,KAAK,CAAC,CAAC;;EAEjB;EACA;EACA+H,SAAS,CAAC,YAAM;IAAA,IAAA8E,iBAAA,EAAAC,kBAAA;IACd,IAAIC,YAAY,GAAG,CAAC;IACpB,IAAMC,YAAY,IAAAH,iBAAA,GAAG3B,QAAQ,CAACqB,OAAO,cAAAM,iBAAA,uBAAhBA,iBAAA,CAAkBI,KAAK;IAC5C,IAAI7B,WAAW,CAACmB,OAAO,IAAIS,YAAY,IAAI7B,gBAAgB,EAAE;MAC3D,IAAM+B,UAAU,GAAGC,gBAAgB,CAACH,YAAY,CAAC;MACjDD,YAAY,GACV3B,WAAW,CAACmB,OAAO,CAACa,WAAW,GAC/BZ,UAAU,CAACU,UAAU,CAACG,WAAW,CAAC,GAClCb,UAAU,CAACU,UAAU,CAACI,YAAY,CAAC,GACnCd,UAAU,CAACU,UAAU,CAACK,eAAe,CAAC,GACtCf,UAAU,CAACU,UAAU,CAACM,gBAAgB,CAAC;MACzC/B,aAAa,CAACsB,YAAY,CAAC;IAC7B;IACA,IAAMU,WAAW,GAAG,EAAAX,kBAAA,GAAAzB,SAAS,CAACkB,OAAO,cAAAO,kBAAA,uBAAjBA,kBAAA,CAAmBM,WAAW,KAAI,CAAC,CAAC,CAAC;IACzD,IAAMM,GAAG,GAAGpB,iBAAiB,CAACC,OAAO,CAAC,CAAC;IACvCV,aAAa,CAAC,SAAS,CAAC;IACxB;IACA,IAAM8B,QAAQ,GAAG,IAAIC,cAAc,CAAC,UAAAC,IAAA,EAAc;MAAA,IAAAC,KAAA,GAAA/G,cAAA,CAAA8G,IAAA;QAAZE,MAAM,GAAAD,KAAA;MAC1C,IAAME,YAAY,GAAGD,MAAM,CAACE,WAAW,CAACC,KAAK;MAC7C;MACA,IAAInB,YAAY,GAAGU,WAAW,GAAGC,GAAG,GAAGM,YAAY,GAAG,CAAC,EAAE;QACvD/B,aAAa,CAAC,IAAI,CAAC;MACrB,CAAC,MAAM;QACLA,aAAa,CAAC,KAAK,CAAC;MACtB;IACF,CAAC,CAAC;IACF,IAAIhB,UAAU,CAACsB,OAAO,EAAE;MACtBoB,QAAQ,CAACQ,OAAO,CAAClD,UAAU,CAACsB,OAAO,CAAC;IACtC;IACA,OAAO;MAAA,OAAMoB,QAAQ,CAACS,UAAU,CAAC,CAAC;IAAA;EACpC,CAAC,EAAE,CAACjD,gBAAgB,CAAC,CAAC;;EAEtB;EACA,IAAMkD,YAAY;IAAA,IAAAC,KAAA,GAAA/H,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAAG,SAAA4J,QAAA;MAAA,OAAAjP,mBAAA,GAAAuB,IAAA,UAAA2N,SAAAC,QAAA;QAAA,kBAAAA,QAAA,CAAArJ,IAAA,GAAAqJ,QAAA,CAAAhL,IAAA;UAAA;YACnBuH,IAAI,CAAC0D,WAAW,CAAC,CAAC;YAACD,QAAA,CAAArJ,IAAA;YAAAqJ,QAAA,CAAAhL,IAAA;YAAA,OAEX+G,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG,CAAC;UAAA;YAAAiE,QAAA,CAAAhL,IAAA;YAAA;UAAA;YAAAgL,QAAA,CAAArJ,IAAA;YAAAqJ,QAAA,CAAAE,EAAA,GAAAF,QAAA;YAElBG,OAAO,CAACtI,KAAK,CAAAmI,QAAA,CAAAE,EAAM,CAAC;UAAC;UAAA;YAAA,OAAAF,QAAA,CAAAlJ,IAAA;QAAA;MAAA,GAAAgJ,OAAA;IAAA,CAExB;IAAA,gBAPKF,YAAYA,CAAA;MAAA,OAAAC,KAAA,CAAA1H,KAAA,OAAAD,SAAA;IAAA;EAAA,GAOjB;EACD;EACA,IAAMkI,YAAmC;IAAA,IAAAC,KAAA,GAAAvI,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAAG,SAAAoK,SAAOxP,CAAC;MAAA,IAAAyP,oBAAA;MAAA,OAAA1P,mBAAA,GAAAuB,IAAA,UAAAoO,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA9J,IAAA,GAAA8J,SAAA,CAAAzL,IAAA;UAAA;YAAA,MAC9C,CAACmG,SAAS,KAAK,OAAO,IAAIA,SAAS,KAAK,UAAU,KAAKrK,CAAC,CAAC6G,GAAG,KAAK,QAAQ;cAAA8I,SAAA,CAAAzL,IAAA;cAAA;YAAA;YAAAyL,SAAA,CAAAzL,IAAA;YAAA,OACrE4K,YAAY,CAAC,CAAC;UAAA;YACpB/D,WAAW,aAAXA,WAAW,gBAAA0E,oBAAA,GAAX1E,WAAW,CAAE6E,OAAO,cAAAH,oBAAA,eAApBA,oBAAA,CAAA3N,IAAA,CAAAiJ,WAAW,EAAY/K,CAA6C,CAAC;UAAC;UAAA;YAAA,OAAA2P,SAAA,CAAA3J,IAAA;QAAA;MAAA,GAAAwJ,QAAA;IAAA,CAEzE;IAAA,gBALKF,YAAmCA,CAAAO,EAAA;MAAA,OAAAN,KAAA,CAAAlI,KAAA,OAAAD,SAAA;IAAA;EAAA,GAKxC;EACD;EACA,IAAM0I,YAAY;IAAA,IAAAC,KAAA,GAAA/I,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAAG,SAAA4K,SAAOtN,MAAgC;MAAA,IAAAjC,KAAA;MAAA,OAAAV,mBAAA,GAAAuB,IAAA,UAAA2O,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAArK,IAAA,GAAAqK,SAAA,CAAAhM,IAAA;UAAA;YAClDzD,KAAK,GAAKiC,MAAM,CAAhBjC,KAAK;YAAAyP,SAAA,CAAArK,IAAA;YAEXiH,SAAS,CAAC,IAAI,CAAC;YAACoD,SAAA,CAAAhM,IAAA;YAAA,OACV8G,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAGvK,KAAK,CAAC;UAAA;YAAAyP,SAAA,CAAAhM,IAAA;YAAA;UAAA;YAAAgM,SAAA,CAAArK,IAAA;YAAAqK,SAAA,CAAAd,EAAA,GAAAc,SAAA;YAEnBb,OAAO,CAACtI,KAAK,CAAAmJ,SAAA,CAAAd,EAAM,CAAC;UAAC;YAAAc,SAAA,CAAArK,IAAA;YAErBiH,SAAS,CAAC,KAAK,CAAC;YAAC,OAAAoD,SAAA,CAAA9J,MAAA;UAAA;UAAA;YAAA,OAAA8J,SAAA,CAAAlK,IAAA;QAAA;MAAA,GAAAgK,QAAA;IAAA,CAEpB;IAAA,gBAVKF,YAAYA,CAAAK,GAAA;MAAA,OAAAJ,KAAA,CAAA1I,KAAA,OAAAD,SAAA;IAAA;EAAA,GAUjB;EAED,IAAMgJ,WAAW,GAAG,SAAdA,WAAWA,CAAA,EAAS;IACxB,IAAI/F,SAAS,KAAK,OAAO,IAAIA,SAAS,KAAK,UAAU,EAAE;MACrD,IAAMgG,IAAI,GAAGhG,SAAS,KAAK,OAAO,GAAGvB,KAAK,GAAGA,KAAK,CAACwH,QAAQ;MAC3D,oBACEjH,IAAA,CAACgH,IAAI,EAAAE,aAAA,CAAAA,aAAA;QACHC,GAAG,EAAE7E,QAAS;QACd8E,WAAW,EAAExQ,CAAC,CAAC,qCAAqC;QACpD;MAAA,GACK0K,UAAU;QACfuC,KAAK,EAAAqD,aAAA;UACH5B,KAAK,EAAEpE,KAAK,GAAGhD,SAAS,GAAG0E;QAAU,GACjCtB,UAAU,IAAI,OAAO,IAAIA,UAAU,GAAGA,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEuC,KAAK,GAAG,CAAC,CAAC,CAChE;QACFwD,YAAY,EAAE,SAAAA,aAAA,EAAM;UAClB,IAAIrG,SAAS,KAAK,OAAO,EAAE;YACzBoB,IAAI,CAACkF,MAAM,CAAC,CAAC;UACf;QACF,CAAE;QACFC,OAAO,EAAEtB;MAAa,EACvB,CAAC;IAEN,CAAC,MAAM;MACL,oBACEjG,IAAA,CAACwH,WAAW,EAAAN,aAAA,CAAAA,aAAA,KACN7G,KAAK;QACToH,MAAM,EAAEzG,SAAU;QAClBsG,MAAM,eAAA3J,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAAE,SAAA2L,SAAA;UAAA,IAAArO,MAAA;UAAA,OAAA3C,mBAAA,GAAAuB,IAAA,UAAA0P,UAAAC,SAAA;YAAA,kBAAAA,SAAA,CAAApL,IAAA,GAAAoL,SAAA,CAAA/M,IAAA;cAAA;gBAAA+M,SAAA,CAAA/M,IAAA;gBAAA,OACeuH,IAAI,CAACyF,cAAc,CAAC,CAAC;cAAA;gBAApCxO,MAAM,GAAAuO,SAAA,CAAAtN,IAAA;gBAAAsN,SAAA,CAAA/M,IAAA;gBAAA,OACN4L,YAAY,CAACpN,MAAM,CAAC;cAAA;cAAA;gBAAA,OAAAuO,SAAA,CAAAjL,IAAA;YAAA;UAAA,GAAA+K,QAAA;QAAA,CAC3B,EAAC;QACFI,MAAM,EAAErC;MAAa,EACtB,CAAC;IAEN;EACF,CAAC;EAED,oBACEzF,IAAA;IAAKmH,GAAG,EAAE9E,UAAW;IAAC0F,SAAS,EAAEpI,KAAK,IAAAqI,MAAA,CAAIvH,SAAS,YAASG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEqH,OAAO,CAAE;IAACpE,KAAK,EAAEhD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEoH,OAAQ;IAAAC,QAAA,eAC3GhI,KAAA,CAACV,IAAI,EAAA0H,aAAA,CAAAA,aAAA;MACHiB,SAAS,EAAC,KAAK,CAAC;MAAA;MAChBC,MAAM,EAAC,QAAQ;MACfhG,IAAI,EAAEA,IAAK;MACXiG,aAAa,EAAE;QAAEjR,KAAK,EAALA;MAAM,CAAE;MACzBkR,YAAY,EAAC,KAAK;MAClBC,QAAQ,EAAE9B;IAAa,GACnBrF,SAAS;MACbyC,KAAK,EAAAqD,aAAA;QACHlE,UAAU,EAAVA;MAAU,GACP5B,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEyC,KAAK,CACnB;MAAAqE,QAAA,gBAGFlI,IAAA,CAACR,IAAI,CAACgJ,IAAI,EAAAtB,aAAA,CAAAA,aAAA;QACRuB,KAAK,EAAE,CAAC;UAAE9H,QAAQ,EAARA,QAAQ;UAAE+H,OAAO,EAAE9R,CAAC,CAAC,qCAAqC;QAAE,CAAC;MAAE,GACrEyK,aAAa;QACjB0G,SAAS,EAAEpI,KAAK,CAAC0B,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAE0G,SAAS,EAAAY,eAAA,QAAAX,MAAA,CAAQjG,eAAe,CAAC,iBAAiB,CAAC,GAAKb,KAAK,CAAE,CAAE;QACjG2C,KAAK,EAAAqD,aAAA;UACHnD,eAAe,EAAE5D;QAAqB,GACnCkB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEwC,KAAK,CACvB;QACF/H,IAAI,EAAC,OAAO;QAAAoM,QAAA,EAEXnB,WAAW,CAAC;MAAC,EACL,CAAC,EAEXxE,gBAAgB,iBACfvC,IAAA;QACEmH,GAAG,EAAE3E,WAAY;QACjBqB,KAAK,EAAE;UACL+E,QAAQ,EAAE,UAAU;UACpB5F,UAAU,EAAE,QAAQ;UACpB6F,MAAM,EAAE,CAAC;UACTC,UAAU,EAAE;QACd,CAAE;QAAAZ,QAAA,EAED9Q,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEuH,QAAQ,CAAC;MAAC,CACd,CACP,eAGDuB,KAAA,CAACR,KAAK;QAACyH,GAAG,EAAE1E,SAAU;QAACsF,SAAS,KAAAC,MAAA,CAAKvH,SAAS,eAAa;QAACsI,KAAK,EAAEvH,WAAY;QAACwH,IAAI,EAAE,CAAE;QAAAd,QAAA,gBACtFlI,IAAA,CAACV,MAAM,EAAA4H,aAAA,CAAAA,aAAA;UACL3O,IAAI,EAAC,MAAM;UACX0Q,QAAQ,EAAEzF,MAAO;UACjB0F,OAAO,EAAE1F,MAAO;UAChB2F,KAAK,EAAEvS,CAAC,CAAC,8BAA8B,CAAE;UACzCwS,IAAI,eAAEpJ,IAAA,CAACJ,iBAAiB;YAACmI,SAAS,EAAEnH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEyI,UAAW;YAACxF,KAAK,EAAEhD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEwI;UAAW,CAAE,CAAE;UAC9FxF,KAAK,EAAEhD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEyI,YAAa;UAChC/C,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMnE,IAAI,CAACkF,MAAM,CAAC,CAAC;UAAA;QAAC,GACzB7F,WAAW;UACfsG,SAAS,EAAEpI,KAAK,IAAAqI,MAAA,CACXvH,SAAS,mBAAAuH,MAAA,CACTvH,SAAS,qBACZG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0I,YAAY,EACxB7H,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEsG,SACf;QAAE,EACH,CAAC,eACF/H,IAAA,CAACV,MAAM,EAAA4H,aAAA;UACL3O,IAAI,EAAC,MAAM;UACXsL,KAAK,EAAEhD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0I,YAAa;UAChCxB,SAAS,EAAEpI,KAAK,IAAAqI,MAAA,CAAIvH,SAAS,mBAAAuH,MAAA,CAAgBvH,SAAS,sBAAmBG,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE2I,YAAY,CAAE;UACnGJ,KAAK,EAAEvS,CAAC,CAAC,gCAAgC,CAAE;UAC3CwS,IAAI,eAAEpJ,IAAA,CAACH,iBAAiB;YAACkI,SAAS,EAAEnH,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE4I,UAAW;YAAC3F,KAAK,EAAEhD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE2I;UAAW,CAAE,CAAE;UAC9FjD,OAAO;YAAA,IAAAkD,KAAA,GAAA9L,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAAE,SAAA2N,SAAO/S,CAAC;cAAA,IAAAgT,qBAAA;cAAA,OAAAjT,mBAAA,GAAAuB,IAAA,UAAA2R,UAAAC,SAAA;gBAAA,kBAAAA,SAAA,CAAArN,IAAA,GAAAqN,SAAA,CAAAhP,IAAA;kBAAA;oBAAAgP,SAAA,CAAAhP,IAAA;oBAAA,OACT4K,YAAY,CAAC,CAAC;kBAAA;oBACpB/D,WAAW,aAAXA,WAAW,gBAAAiI,qBAAA,GAAXjI,WAAW,CAAE6E,OAAO,cAAAoD,qBAAA,eAApBA,qBAAA,CAAAlR,IAAA,CAAAiJ,WAAW,EAAY/K,CAAC,CAAC;kBAAC;kBAAA;oBAAA,OAAAkT,SAAA,CAAAlN,IAAA;gBAAA;cAAA,GAAA+M,QAAA;YAAA,CAC3B;YAAA,iBAAAI,GAAA;cAAA,OAAAL,KAAA,CAAAzL,KAAA,OAAAD,SAAA;YAAA;UAAA;QAAC,GACE2D,WAAW,CAChB,CAAC;MAAA,CACG,CAAC;IAAA,EACJ;EAAC,CACJ,CAAC;AAEV,CAAC;AAED,SAAS8F,WAAWA,CAClBnH,KAEC,EACoB;EACrB,IAAQoH,MAAM,GAAoCpH,KAAK,CAA/CoH,MAAM;IAAErQ,KAAK,GAA6BiJ,KAAK,CAAvCjJ,KAAK;IAAE2S,QAAQ,GAAmB1J,KAAK,CAAhC0J,QAAQ;IAAKC,SAAS,GAAAC,wBAAA,CAAK5J,KAAK,EAAA6J,SAAA;EACvD,IAAMC,QAAQ,GAAG1C,MAAM;EACvB,OAAO0C,QAAQ,CAAAjD,aAAA,CAAAA,aAAA,KAAM8C,SAAS;IAAE5S,KAAK,EAALA,KAAK;IAAE2S,QAAQ,EAARA;EAAQ,EAAE,CAAC;AACpD;AAEA,SAASnG,UAAUA,CAACwG,EAAsC,EAAE;EAC1D,OAAOA,EAAE,GAAGC,UAAU,CAACD,EAAE,CAACzL,QAAQ,CAAC,CAAC,CAAC2L,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC;AAC7D;AAUA,eAAelK,gBAAgB"}
|
|
@@ -8,6 +8,10 @@ import type { TitleProps } from 'antd/es/typography/Title';
|
|
|
8
8
|
import { type EditableFormProps, type RenderInputInterface } from './form';
|
|
9
9
|
declare const getEllipsisConfig: (content: ReactNode | undefined) => EllipsisConfig;
|
|
10
10
|
export interface EditableTextProps<V = string, TT extends 'Text' | 'Paragraph' | 'Title' | 'Link' = 'Text', IT extends 'Input' | 'TextArea' | RenderInputInterface = 'Input'> extends Omit<EditableFormProps<V, IT>, 'block'> {
|
|
11
|
+
/**
|
|
12
|
+
* - **EN:** Custom prefix for the component's CSS class.
|
|
13
|
+
* - **CN:** 组件的自定义 CSS 类前缀。
|
|
14
|
+
*/
|
|
11
15
|
prefixCls?: string;
|
|
12
16
|
/**
|
|
13
17
|
* - **EN:** Custom read-only display text, replacing `value` display
|
|
@@ -15,7 +19,7 @@ export interface EditableTextProps<V = string, TT extends 'Text' | 'Paragraph' |
|
|
|
15
19
|
*
|
|
16
20
|
* @default true
|
|
17
21
|
*/
|
|
18
|
-
displayText?: ReactNode | ((value: V | undefined) => ReactNode);
|
|
22
|
+
displayText?: boolean | ReactNode | ((value: V | undefined) => ReactNode);
|
|
19
23
|
/**
|
|
20
24
|
* - **EN:** Another way to customize read-only display text, with higher priority than
|
|
21
25
|
* `displayText`. This method does not support text truncation.
|
|
@@ -114,7 +118,7 @@ export interface EditableTextProps<V = string, TT extends 'Text' | 'Paragraph' |
|
|
|
114
118
|
* - **EN:** Custom component type for rendering the text
|
|
115
119
|
* - **CN:** 自定义设置渲染文本组件的组件类型
|
|
116
120
|
*
|
|
117
|
-
* @default
|
|
121
|
+
* @default Typography.Text
|
|
118
122
|
*/
|
|
119
123
|
textComp?: TT;
|
|
120
124
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","React","useContext","useEffect","useMemo","useState","ConfigProvider","Flex","Typography","names","EditOutlined","useT","EditableTextForm","useStyle","jsx","_jsx","jsxs","_jsxs","getEllipsisConfig","content","tooltip","title","overlayStyle","maxWidth","EditableText","props","_textProps$style","_textProps$ellipsis","prefixClsInProps","prefixCls","valueInProps","displayTextInProps","displayText","_props$editable","editable","_props$editing","editing","_props$className","className","_props$style","style","classNames","styleNames","styles","blockInProps","block","_props$textComp","textComp","textProps","editIcon","_props$editIconAlign","editIconAlign","children","formProps","formItemProps","inputCompInProps","inputComp","inputProps","required","actionAlign","submitProps","cancelProps","onOk","onCancel","onChange","onEditingChange","_useContext","ConfigContext","getPrefixCls","_useStyle","_useStyle2","wrapCSSVar","hashId","cssVarCls","_useState","_useState2","isEditing","setIsEditing","TypographyComponent","_useState3","_useState4","setValue","viewBlock","view","editingBlock","editableRef","useRef","current","handleEditingChange","handleOk","_ref","_callee","val","_callee$","_context","t0","console","_x","handleCancel","_ref2","_callee2","_callee2$","_context2","concat","_defineProperty","align","_objectSpread","text","marginBottom","ellipsis","onClick"],"sources":["../../../src/components/EditableText/index.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { ConfigProvider, Flex, Typography } from 'antd';\nimport type { EllipsisConfig } from 'antd/es/typography/Base';\nimport type { LinkProps } from 'antd/es/typography/Link';\nimport type { ParagraphProps } from 'antd/es/typography/Paragraph';\nimport type { TextProps } from 'antd/es/typography/Text';\nimport type { TitleProps } from 'antd/es/typography/Title';\nimport names from 'classnames';\nimport { EditOutlined } from '@ant-design/icons';\nimport useT from '../../hooks/useT';\nimport EditableTextForm, { type EditableFormProps, type RenderInputInterface } from './form';\nimport useStyle from './style';\n\nconst getEllipsisConfig = (content: ReactNode | undefined): EllipsisConfig => ({\n tooltip: {\n title: content,\n overlayStyle: { maxWidth: 500 },\n },\n});\n\nexport interface EditableTextProps<\n V = string,\n TT extends 'Text' | 'Paragraph' | 'Title' | 'Link' = 'Text',\n IT extends 'Input' | 'TextArea' | RenderInputInterface = 'Input',\n> extends Omit<EditableFormProps<V, IT>, 'block'> {\n prefixCls?: string;\n /**\n * - **EN:** Custom read-only display text, replacing `value` display\n * - **CN:** 自定义只读显示文本,替代`value`显示\n *\n * @default true\n */\n displayText?: ReactNode | ((value: V | undefined) => ReactNode);\n /**\n * - **EN:** Another way to customize read-only display text, with higher priority than\n * `displayText`. This method does not support text truncation.\n * - **CN:** 另外一种方式自定义只读显示文本,优先级高于`displayText`,这种方式无文本省略效果\n */\n children?: ReactNode;\n /**\n * - **EN:** Whether to allow editing. If set to `false`, the edit button will not be displayed.\n * - **CN:** 是否允许编辑,如果设置为`false`,则不显示编辑按钮\n *\n * @default true\n */\n editable?: boolean;\n /**\n * - **EN:** Whether to open edit mode.\n * - **CN:** 是否打开编辑模式\n *\n * @default false\n */\n editing?: boolean;\n /**\n * - **EN:** Whether to display as a block-level element, with width 100%\n * - **CN:** 是否显示为块级元素,宽度100%\n *\n * @default false\n */\n block?:\n | boolean\n | {\n /**\n * - **EN:** Whether to display as a block-level element in view mode, with width 100%\n * - **CN:** 只读模式是否显示为块级元素,宽度100%\n *\n * @default false\n */\n view?: boolean;\n /**\n * - **EN:** Whether to display as a block-level element in edit mode, with width 100%\n * - **CN:** 编辑模式是否显示为块级元素,宽度100%\n *\n * @default false\n */\n editing?: boolean;\n };\n /**\n * - **EN:** Component container class name.\n * - **CN:** 组件容器类名\n */\n className?: string;\n /**\n * - **EN:** Component container style.\n * - **CN:** 组件容器样式\n */\n style?: CSSProperties;\n /**\n * - **EN:** Semantic class names.\n * - **CN:** 语义化类名\n */\n classNames?: {\n /**\n * - **EN:** Read-only text class name\n * - **CN:** 只读文本类名\n */\n text?: string;\n /**\n * - **EN:** Edit button class name\n * - **CN:** 编辑按钮类名\n */\n editIcon?: string;\n } & EditableFormProps<V, IT>['classNames'];\n /**\n * - **EN:** After saving with `onOk`, the modified value is passed out through `onChange`\n * - **CN:** 在`onOk`保存后,通过`onChange`把修改后的值传递出去\n */\n onChange?: (value: V | undefined) => void;\n /**\n * - **EN:** Event triggered when the editing state changes\n * - **CN:** 编辑状态改变事件\n */\n onEditingChange?: (editing: boolean) => void;\n /**\n * - **EN:** Whether to display as a block-level element, with width 100%\n * - **CN:** 语义化样式\n */\n styles?: {\n /**\n * - **EN:** Read-only text class name\n * - **CN:** 只读文本类名\n */\n text?: CSSProperties;\n /**\n * - **EN:** Edit button style\n * - **CN:** 编辑按钮样式\n */\n editIcon?: CSSProperties;\n } & EditableFormProps<V, IT>['styles'];\n\n /**\n * - **EN:** Custom component type for rendering the text\n * - **CN:** 自定义设置渲染文本组件的组件类型\n *\n * @default 'Text'\n */\n textComp?: TT;\n /**\n * - **EN:** Text component props\n * - **CN:** 文本组件属性\n */\n textProps?: TT extends 'Text'\n ? TextProps\n : TT extends 'Paragraph'\n ? ParagraphProps\n : TT extends 'Title'\n ? TitleProps\n : TT extends 'Link'\n ? LinkProps\n : never;\n /**\n * - **EN:** Custom edit icon\n * - **CN:** 自定义编辑图标\n */\n editIcon?: ReactNode;\n /**\n * **EN:** Edit button vertical alignment\n *\n * **CN:** 编辑按钮垂直对齐方式\n *\n * - `start` - align to the top | 顶部对齐\n * - `center` - align to the center | 居中对齐\n * - `end` - align to the bottom | 底部对齐\n * - `baseline` - align to the text baseline, useful when the text has line height set |\n * 与文本基线对齐,在文本设置了行高时会非常有用\n *\n * @default 'center'\n */\n editIconAlign?: CSSProperties['alignItems'];\n}\n\n/**\n * - **EN:** Editable text component, providing a read-only display and an edit mode.\n * - **CN:** 可编辑文本组件,提供只读显示和编辑模式。\n *\n * @example\n * <EditableText value=\"Editable Text\" onOk={(value) => console.log('Saved value:', value)} />;\n */\nconst EditableText = <\n V,\n TT extends 'Text' | 'Paragraph' | 'Title' | 'Link',\n IT extends 'Input' | 'TextArea' | RenderInputInterface,\n>(\n props: EditableTextProps<V, TT, IT>\n) => {\n const {\n prefixCls: prefixClsInProps,\n value: valueInProps,\n displayText: displayTextInProps,\n editable = true,\n editing = false,\n className = '',\n style = {},\n classNames,\n styles: styleNames,\n block: blockInProps,\n textComp = 'Text',\n textProps,\n editIcon,\n editIconAlign = 'center',\n children,\n formProps,\n formItemProps,\n inputComp: inputCompInProps,\n inputProps,\n required,\n actionAlign,\n submitProps,\n cancelProps,\n onOk,\n onCancel,\n onChange,\n onEditingChange,\n } = props;\n\n const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);\n const prefixCls = getPrefixCls('easy-editable-text', prefixClsInProps);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const t = useT();\n const [isEditing, setIsEditing] = useState<boolean>(editing);\n const TypographyComponent = Typography[textComp];\n const [value, setValue] = useState(valueInProps);\n const inputComp = inputCompInProps ?? (textComp === 'Paragraph' ? 'TextArea' : 'Input');\n const viewBlock = typeof blockInProps === 'boolean' ? blockInProps : blockInProps?.view;\n const editingBlock = typeof blockInProps === 'boolean' ? blockInProps : blockInProps?.editing;\n const editableRef = React.useRef(editable);\n editableRef.current = editable;\n const displayText = useMemo(() => {\n if (typeof displayTextInProps === 'function') {\n return displayTextInProps(value);\n }\n return displayTextInProps ?? value?.toString();\n }, [displayTextInProps, value]);\n\n // value受控\n useEffect(() => {\n setValue(valueInProps);\n }, [valueInProps]);\n // editing受控\n useEffect(() => {\n if (editableRef.current) {\n setIsEditing(editing);\n }\n }, [editing]);\n\n // 编辑状态改变\n const handleEditingChange = (editing: boolean) => {\n setIsEditing(editing);\n onEditingChange?.(editing);\n };\n // 提交编辑\n const handleOk = async (val: V | undefined) => {\n try {\n await onOk?.(val);\n onChange?.(val);\n setValue(val);\n handleEditingChange(false);\n } catch (error) {\n console.error(error);\n }\n };\n // 取消编辑\n const handleCancel = async () => {\n handleEditingChange(false);\n await onCancel?.();\n };\n\n return wrapCSSVar(\n <div className={names(prefixCls, hashId, cssVarCls, className)} style={style}>\n {isEditing ? (\n <div className={`${prefixCls}-edit-mode`}>\n <EditableTextForm\n prefixCls={prefixCls}\n value={value}\n required={required}\n formProps={formProps}\n formItemProps={formItemProps}\n inputComp={inputComp}\n inputProps={inputProps}\n block={editingBlock}\n classNames={classNames}\n styles={styleNames}\n actionAlign={actionAlign}\n submitProps={submitProps}\n cancelProps={cancelProps}\n onOk={handleOk}\n onCancel={handleCancel}\n />\n </div>\n ) : (\n <Flex\n className={names(`${prefixCls}-view-mode`, {\n [`${prefixCls}-single-line`]: textComp !== 'Paragraph',\n [`${prefixCls}-has-children`]: !!children,\n [`${prefixCls}-view-mode-block`]: viewBlock,\n })}\n align={editIconAlign}\n >\n <div className={`${prefixCls}-text-content`}>\n {children ?? (\n <TypographyComponent\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {...(textProps as any)}\n className={names(classNames?.text, classNames?.text, textProps?.className)}\n style={{\n marginBottom: textComp === 'Title' ? 0 : undefined, // 去掉标题组件的默认下边距\n ...(textProps?.style ?? styleNames?.text),\n }}\n ellipsis={textProps?.ellipsis ?? getEllipsisConfig(displayText)}\n >\n {displayText}\n </TypographyComponent>\n )}\n </div>\n {/* 编辑按钮 */}\n {editable && (\n <div\n className={names(`${prefixCls}-edit-icon`, classNames?.editIcon)}\n style={styleNames?.editIcon}\n title={t('components.EditableText.edit')}\n onClick={() => handleEditingChange(true)}\n >\n {editIcon ?? <EditOutlined />}\n </div>\n )}\n </Flex>\n )}\n </div>\n );\n};\n\ntype EditableTextInterface = typeof EditableText & {\n getEllipsisConfig: typeof getEllipsisConfig;\n};\n\nEditableText.getEllipsisConfig = getEllipsisConfig;\n\nexport default EditableText as EditableTextInterface;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","minLen","_arrayLikeToArray","toString","Array","from","test","len","arr2","isArray","React","useContext","useEffect","useMemo","useState","ConfigProvider","Flex","Typography","names","EditOutlined","useT","EditableTextForm","useStyle","jsx","_jsx","jsxs","_jsxs","getEllipsisConfig","content","tooltip","title","overlayStyle","maxWidth","EditableText","props","_textProps$style","_textProps$ellipsis","prefixClsInProps","prefixCls","valueInProps","displayTextInProps","displayText","_props$editable","editable","_props$editing","editing","_props$className","className","_props$style","style","classNames","styleNames","styles","blockInProps","block","_props$textComp","textComp","textProps","editIcon","_props$editIconAlign","editIconAlign","children","formProps","formItemProps","inputCompInProps","inputComp","inputProps","required","actionAlign","submitProps","cancelProps","onOk","onCancel","onChange","onEditingChange","_useContext","ConfigContext","getPrefixCls","_useStyle","_useStyle2","wrapCSSVar","hashId","cssVarCls","_useState","_useState2","isEditing","setIsEditing","TypographyComponent","_useState3","_useState4","setValue","viewBlock","view","editingBlock","editableRef","useRef","current","handleEditingChange","handleOk","_ref","_callee","val","_callee$","_context","t0","console","_x","handleCancel","_ref2","_callee2","_callee2$","_context2","concat","_defineProperty","align","_objectSpread","text","marginBottom","ellipsis","onClick"],"sources":["../../../src/components/EditableText/index.tsx"],"sourcesContent":["import type { CSSProperties, ReactNode } from 'react';\nimport React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { ConfigProvider, Flex, Typography } from 'antd';\nimport type { EllipsisConfig } from 'antd/es/typography/Base';\nimport type { LinkProps } from 'antd/es/typography/Link';\nimport type { ParagraphProps } from 'antd/es/typography/Paragraph';\nimport type { TextProps } from 'antd/es/typography/Text';\nimport type { TitleProps } from 'antd/es/typography/Title';\nimport names from 'classnames';\nimport { EditOutlined } from '@ant-design/icons';\nimport useT from '../../hooks/useT';\nimport EditableTextForm, { type EditableFormProps, type RenderInputInterface } from './form';\nimport useStyle from './style';\n\nconst getEllipsisConfig = (content: ReactNode | undefined): EllipsisConfig => ({\n tooltip: {\n title: content,\n overlayStyle: { maxWidth: 500 },\n },\n});\n\nexport interface EditableTextProps<\n V = string,\n TT extends 'Text' | 'Paragraph' | 'Title' | 'Link' = 'Text',\n IT extends 'Input' | 'TextArea' | RenderInputInterface = 'Input',\n> extends Omit<EditableFormProps<V, IT>, 'block'> {\n /**\n * - **EN:** Custom prefix for the component's CSS class.\n * - **CN:** 组件的自定义 CSS 类前缀。\n */\n prefixCls?: string;\n /**\n * - **EN:** Custom read-only display text, replacing `value` display\n * - **CN:** 自定义只读显示文本,替代`value`显示\n *\n * @default true\n */\n displayText?: boolean | ReactNode | ((value: V | undefined) => ReactNode);\n /**\n * - **EN:** Another way to customize read-only display text, with higher priority than\n * `displayText`. This method does not support text truncation.\n * - **CN:** 另外一种方式自定义只读显示文本,优先级高于`displayText`,这种方式无文本省略效果\n */\n children?: ReactNode;\n /**\n * - **EN:** Whether to allow editing. If set to `false`, the edit button will not be displayed.\n * - **CN:** 是否允许编辑,如果设置为`false`,则不显示编辑按钮\n *\n * @default true\n */\n editable?: boolean;\n /**\n * - **EN:** Whether to open edit mode.\n * - **CN:** 是否打开编辑模式\n *\n * @default false\n */\n editing?: boolean;\n /**\n * - **EN:** Whether to display as a block-level element, with width 100%\n * - **CN:** 是否显示为块级元素,宽度100%\n *\n * @default false\n */\n block?:\n | boolean\n | {\n /**\n * - **EN:** Whether to display as a block-level element in view mode, with width 100%\n * - **CN:** 只读模式是否显示为块级元素,宽度100%\n *\n * @default false\n */\n view?: boolean;\n /**\n * - **EN:** Whether to display as a block-level element in edit mode, with width 100%\n * - **CN:** 编辑模式是否显示为块级元素,宽度100%\n *\n * @default false\n */\n editing?: boolean;\n };\n /**\n * - **EN:** Component container class name.\n * - **CN:** 组件容器类名\n */\n className?: string;\n /**\n * - **EN:** Component container style.\n * - **CN:** 组件容器样式\n */\n style?: CSSProperties;\n /**\n * - **EN:** Semantic class names.\n * - **CN:** 语义化类名\n */\n classNames?: {\n /**\n * - **EN:** Read-only text class name\n * - **CN:** 只读文本类名\n */\n text?: string;\n /**\n * - **EN:** Edit button class name\n * - **CN:** 编辑按钮类名\n */\n editIcon?: string;\n } & EditableFormProps<V, IT>['classNames'];\n /**\n * - **EN:** After saving with `onOk`, the modified value is passed out through `onChange`\n * - **CN:** 在`onOk`保存后,通过`onChange`把修改后的值传递出去\n */\n onChange?: (value: V | undefined) => void;\n /**\n * - **EN:** Event triggered when the editing state changes\n * - **CN:** 编辑状态改变事件\n */\n onEditingChange?: (editing: boolean) => void;\n /**\n * - **EN:** Whether to display as a block-level element, with width 100%\n * - **CN:** 语义化样式\n */\n styles?: {\n /**\n * - **EN:** Read-only text class name\n * - **CN:** 只读文本类名\n */\n text?: CSSProperties;\n /**\n * - **EN:** Edit button style\n * - **CN:** 编辑按钮样式\n */\n editIcon?: CSSProperties;\n } & EditableFormProps<V, IT>['styles'];\n\n /**\n * - **EN:** Custom component type for rendering the text\n * - **CN:** 自定义设置渲染文本组件的组件类型\n *\n * @default Typography.Text\n */\n textComp?: TT;\n /**\n * - **EN:** Text component props\n * - **CN:** 文本组件属性\n */\n textProps?: TT extends 'Text'\n ? TextProps\n : TT extends 'Paragraph'\n ? ParagraphProps\n : TT extends 'Title'\n ? TitleProps\n : TT extends 'Link'\n ? LinkProps\n : never;\n /**\n * - **EN:** Custom edit icon\n * - **CN:** 自定义编辑图标\n */\n editIcon?: ReactNode;\n /**\n * **EN:** Edit button vertical alignment\n *\n * **CN:** 编辑按钮垂直对齐方式\n *\n * - `start` - align to the top | 顶部对齐\n * - `center` - align to the center | 居中对齐\n * - `end` - align to the bottom | 底部对齐\n * - `baseline` - align to the text baseline, useful when the text has line height set |\n * 与文本基线对齐,在文本设置了行高时会非常有用\n *\n * @default 'center'\n */\n editIconAlign?: CSSProperties['alignItems'];\n}\n\n/**\n * - **EN:** Editable text component, providing a read-only display and an edit mode.\n * - **CN:** 可编辑文本组件,提供只读显示和编辑模式。\n *\n * @example\n * <EditableText value=\"Editable Text\" onOk={(value) => console.log('Saved value:', value)} />;\n */\nconst EditableText = <\n V,\n TT extends 'Text' | 'Paragraph' | 'Title' | 'Link',\n IT extends 'Input' | 'TextArea' | RenderInputInterface,\n>(\n props: EditableTextProps<V, TT, IT>\n) => {\n const {\n prefixCls: prefixClsInProps,\n value: valueInProps,\n displayText: displayTextInProps,\n editable = true,\n editing = false,\n className = '',\n style = {},\n classNames,\n styles: styleNames,\n block: blockInProps,\n textComp = 'Text',\n textProps,\n editIcon,\n editIconAlign = 'center',\n children,\n formProps,\n formItemProps,\n inputComp: inputCompInProps,\n inputProps,\n required,\n actionAlign,\n submitProps,\n cancelProps,\n onOk,\n onCancel,\n onChange,\n onEditingChange,\n } = props;\n\n const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);\n const prefixCls = getPrefixCls('easy-editable-text', prefixClsInProps);\n const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);\n const t = useT();\n const [isEditing, setIsEditing] = useState<boolean>(editing);\n const TypographyComponent = Typography[textComp];\n const [value, setValue] = useState(valueInProps);\n const inputComp = inputCompInProps ?? (textComp === 'Paragraph' ? 'TextArea' : 'Input');\n const viewBlock = typeof blockInProps === 'boolean' ? blockInProps : blockInProps?.view;\n const editingBlock = typeof blockInProps === 'boolean' ? blockInProps : blockInProps?.editing;\n const editableRef = React.useRef(editable);\n editableRef.current = editable;\n const displayText = useMemo(() => {\n if (typeof displayTextInProps === 'function') {\n return displayTextInProps(value);\n }\n return displayTextInProps ?? value?.toString();\n }, [displayTextInProps, value]);\n\n // value受控\n useEffect(() => {\n setValue(valueInProps);\n }, [valueInProps]);\n // editing受控\n useEffect(() => {\n if (editableRef.current) {\n setIsEditing(editing);\n }\n }, [editing]);\n\n // 编辑状态改变\n const handleEditingChange = (editing: boolean) => {\n setIsEditing(editing);\n onEditingChange?.(editing);\n };\n // 提交编辑\n const handleOk = async (val: V | undefined) => {\n try {\n await onOk?.(val);\n onChange?.(val);\n setValue(val);\n handleEditingChange(false);\n } catch (error) {\n console.error(error);\n }\n };\n // 取消编辑\n const handleCancel = async () => {\n handleEditingChange(false);\n await onCancel?.();\n };\n\n return wrapCSSVar(\n <div className={names(prefixCls, hashId, cssVarCls, className)} style={style}>\n {isEditing ? (\n <div className={`${prefixCls}-edit-mode`}>\n <EditableTextForm\n prefixCls={prefixCls}\n value={value}\n required={required}\n formProps={formProps}\n formItemProps={formItemProps}\n inputComp={inputComp}\n inputProps={inputProps}\n block={editingBlock}\n classNames={classNames}\n styles={styleNames}\n actionAlign={actionAlign}\n submitProps={submitProps}\n cancelProps={cancelProps}\n onOk={handleOk}\n onCancel={handleCancel}\n />\n </div>\n ) : (\n <Flex\n className={names(`${prefixCls}-view-mode`, {\n [`${prefixCls}-single-line`]: textComp !== 'Paragraph',\n [`${prefixCls}-has-children`]: !!children,\n [`${prefixCls}-view-mode-block`]: viewBlock,\n })}\n align={editIconAlign}\n >\n <div className={`${prefixCls}-text-content`}>\n {children ?? (\n <TypographyComponent\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n {...(textProps as any)}\n className={names(classNames?.text, classNames?.text, textProps?.className)}\n style={{\n marginBottom: textComp === 'Title' ? 0 : undefined, // 去掉标题组件的默认下边距\n ...(textProps?.style ?? styleNames?.text),\n }}\n ellipsis={textProps?.ellipsis ?? getEllipsisConfig(displayText)}\n >\n {displayText}\n </TypographyComponent>\n )}\n </div>\n {/* 编辑按钮 */}\n {editable && (\n <div\n className={names(`${prefixCls}-edit-icon`, classNames?.editIcon)}\n style={styleNames?.editIcon}\n title={t('components.EditableText.edit')}\n onClick={() => handleEditingChange(true)}\n >\n {editIcon ?? <EditOutlined />}\n </div>\n )}\n </Flex>\n )}\n </div>\n );\n};\n\ntype EditableTextInterface = typeof EditableText & {\n getEllipsisConfig: typeof getEllipsisConfig;\n};\n\nEditableText.getEllipsisConfig = getEllipsisConfig;\n\nexport default EditableText as EditableTextInterface;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { LinkProps } from 'antd/es/typography/Link';
|
|
2
|
+
import { type MakeEllipsisTypographyProps } from './withEllipsisTypography';
|
|
3
|
+
export type EllipsisLinkProps = MakeEllipsisTypographyProps<LinkProps>;
|
|
4
|
+
/**
|
|
5
|
+
* - **EN:** A text component with automatic ellipsis and tooltip functionality that displays a
|
|
6
|
+
* tooltip when the text overflows, and does not display a tooltip when the text does not
|
|
7
|
+
* overflow. The following three methods can enable the automatic tooltip feature:
|
|
8
|
+
*
|
|
9
|
+
* 1. Set the `ellipsis` property to `true`
|
|
10
|
+
* 2. Set the `ellipsis.tooltip` property to `true`
|
|
11
|
+
* 3. Set the `ellipsis.tooltip.title` property to `true`
|
|
12
|
+
* - **CN:** 具有自动省略号和提示功能的文本组件,在文本溢出时显示工具提示,如果文本未溢出,则不显示工具提示。以下三种方式均可开启自动提示功能:
|
|
13
|
+
*
|
|
14
|
+
* 1. 设置 `ellipsis` 属性为 `true`
|
|
15
|
+
* 2. 设置 `ellipsis.tooltip` 属性为 `true`
|
|
16
|
+
* 3. 设置 `ellipsis.tooltip.title` 属性为 `true`
|
|
17
|
+
*/
|
|
18
|
+
declare const EllipsisLink: (props: MakeEllipsisTypographyProps<LinkProps>) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export default EllipsisLink;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Typography } from 'antd';
|
|
2
|
+
import withEllipsisTypography from "./withEllipsisTypography";
|
|
3
|
+
/**
|
|
4
|
+
* - **EN:** A text component with automatic ellipsis and tooltip functionality that displays a
|
|
5
|
+
* tooltip when the text overflows, and does not display a tooltip when the text does not
|
|
6
|
+
* overflow. The following three methods can enable the automatic tooltip feature:
|
|
7
|
+
*
|
|
8
|
+
* 1. Set the `ellipsis` property to `true`
|
|
9
|
+
* 2. Set the `ellipsis.tooltip` property to `true`
|
|
10
|
+
* 3. Set the `ellipsis.tooltip.title` property to `true`
|
|
11
|
+
* - **CN:** 具有自动省略号和提示功能的文本组件,在文本溢出时显示工具提示,如果文本未溢出,则不显示工具提示。以下三种方式均可开启自动提示功能:
|
|
12
|
+
*
|
|
13
|
+
* 1. 设置 `ellipsis` 属性为 `true`
|
|
14
|
+
* 2. 设置 `ellipsis.tooltip` 属性为 `true`
|
|
15
|
+
* 3. 设置 `ellipsis.tooltip.title` 属性为 `true`
|
|
16
|
+
*/
|
|
17
|
+
var EllipsisLink = withEllipsisTypography(Typography.Link);
|
|
18
|
+
export default EllipsisLink;
|
|
19
|
+
//# sourceMappingURL=EllipsisLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Typography","withEllipsisTypography","EllipsisLink","Link"],"sources":["../../../src/components/EllipsisTypography/EllipsisLink.tsx"],"sourcesContent":["import { Typography } from 'antd';\nimport type { LinkProps } from 'antd/es/typography/Link';\nimport withEllipsisTypography, { type MakeEllipsisTypographyProps } from './withEllipsisTypography';\n\nexport type EllipsisLinkProps = MakeEllipsisTypographyProps<LinkProps>;\n\n/**\n * - **EN:** A text component with automatic ellipsis and tooltip functionality that displays a\n * tooltip when the text overflows, and does not display a tooltip when the text does not\n * overflow. The following three methods can enable the automatic tooltip feature:\n *\n * 1. Set the `ellipsis` property to `true`\n * 2. Set the `ellipsis.tooltip` property to `true`\n * 3. Set the `ellipsis.tooltip.title` property to `true`\n * - **CN:** 具有自动省略号和提示功能的文本组件,在文本溢出时显示工具提示,如果文本未溢出,则不显示工具提示。以下三种方式均可开启自动提示功能:\n *\n * 1. 设置 `ellipsis` 属性为 `true`\n * 2. 设置 `ellipsis.tooltip` 属性为 `true`\n * 3. 设置 `ellipsis.tooltip.title` 属性为 `true`\n */\nconst EllipsisLink = withEllipsisTypography<LinkProps>(Typography.Link);\n\nexport default EllipsisLink;\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,MAAM;AAEjC,OAAOC,sBAAsB;AAI7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,YAAY,GAAGD,sBAAsB,CAAYD,UAAU,CAACG,IAAI,CAAC;AAEvE,eAAeD,YAAY"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { CSSProperties, FC, ReactNode } from 'react';
|
|
2
2
|
import type { CardProps } from 'antd';
|
|
3
3
|
export interface FloatDrawerProps {
|
|
4
|
+
/**
|
|
5
|
+
* - **EN:** Custom prefix for the component's CSS class.
|
|
6
|
+
* - **CN:** 组件的自定义 CSS 类前缀。
|
|
7
|
+
*/
|
|
4
8
|
prefixCls?: string;
|
|
5
9
|
/**
|
|
6
10
|
* - **EN:** Whether the drawer is open
|
|
@@ -53,16 +57,22 @@ export interface FloatDrawerProps {
|
|
|
53
57
|
/**
|
|
54
58
|
* - **EN:** Whether to show the toggle button, default is `true`.
|
|
55
59
|
* - **CN:** 是否显示展开/收起按钮,默认`true`。
|
|
60
|
+
*
|
|
61
|
+
* @default true
|
|
56
62
|
*/
|
|
57
63
|
showToggle?: boolean;
|
|
58
64
|
/**
|
|
59
65
|
* - **EN:** Whether the drawer is resizable, default is `true`.
|
|
60
66
|
* - **CN:** 抽屉是否可调整大小, 默认`true`。
|
|
67
|
+
*
|
|
68
|
+
* @default true
|
|
61
69
|
*/
|
|
62
70
|
resizable?: boolean;
|
|
63
71
|
/**
|
|
64
72
|
* - **EN:** Whether to destroy the drawer content when closed, default is `false`.
|
|
65
73
|
* - **CN:** 抽屉关闭时是否销毁内容,默认`false`。
|
|
74
|
+
*
|
|
75
|
+
* @default false
|
|
66
76
|
*/
|
|
67
77
|
destroyOnClose?: boolean;
|
|
68
78
|
/**
|