@yoka-ui/ui 1.1.1 → 1.1.4
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/@Docs-yoka/exports.generated.md +53 -4
- package/dist/es/assets/image/skills.zip +0 -0
- package/dist/es/business/AiChat/index.js +15 -13
- package/dist/es/business/AiChat/index.js.map +2 -2
- package/dist/es/business/AiChat/useAiChat.js +41 -24
- package/dist/es/business/AiChat/useAiChat.js.map +2 -2
- package/dist/es/business/Editor/index.d.ts +2 -2
- package/dist/es/business/Editor/index.js.map +2 -2
- package/dist/es/business/Empty/index.d.ts +1 -1
- package/dist/es/business/Empty/index.js.map +1 -1
- package/dist/es/business/ModCommonFilter/index.d.ts +1 -0
- package/dist/es/business/ModCommonFilter/index.js.map +2 -2
- package/dist/es/business/YkLoginModule/index.d.ts +1 -0
- package/dist/es/business/YkLoginModule/index.js.map +2 -2
- package/dist/es/business/YkPorjectSelect/index.d.ts +3 -3
- package/dist/es/business/YkPorjectSelect/index.js +37 -51
- package/dist/es/business/YkPorjectSelect/index.js.map +2 -2
- package/dist/es/business/YkSqlEdit/index.d.ts +1 -0
- package/dist/es/business/YkSqlEdit/index.js.map +2 -2
- package/dist/es/components/Clock/index.d.ts +2 -2
- package/dist/es/components/Clock/index.js.map +2 -2
- package/dist/es/components/DebounceInput/index.d.ts +2 -2
- package/dist/es/components/DebounceInput/index.js.map +2 -2
- package/dist/es/components/MultipleSelect/index.d.ts +2 -2
- package/dist/es/components/MultipleSelect/index.js.map +2 -2
- package/dist/es/components/RefreshButton/index.d.ts +2 -2
- package/dist/es/components/RefreshButton/index.js.map +2 -2
- package/dist/es/components/SearchWithHistory/index.d.ts +1 -1
- package/dist/es/components/SearchWithHistory/index.js.map +1 -1
- package/dist/es/components/TextWithInput/index.d.ts +2 -5
- package/dist/es/components/TextWithInput/index.js.map +2 -2
- package/dist/es/components/TextWithToolTip/index.d.ts +2 -2
- package/dist/es/components/TextWithToolTip/index.js.map +2 -2
- package/dist/es/components/TreeTransfer/index.d.ts +1 -0
- package/dist/es/components/TreeTransfer/index.js.map +2 -2
- package/dist/es/index.d.ts +29 -0
- package/dist/es/index.js.map +2 -2
- package/dist/lib/assets/image/skills.zip +0 -0
- package/dist/lib/business/AiChat/index.js +15 -13
- package/dist/lib/business/AiChat/index.js.map +2 -2
- package/dist/lib/business/AiChat/useAiChat.js +40 -22
- package/dist/lib/business/AiChat/useAiChat.js.map +2 -2
- package/dist/lib/business/Editor/index.d.ts +2 -2
- package/dist/lib/business/Editor/index.js.map +2 -2
- package/dist/lib/business/Empty/index.d.ts +1 -1
- package/dist/lib/business/Empty/index.js.map +1 -1
- package/dist/lib/business/ModCommonFilter/index.d.ts +1 -0
- package/dist/lib/business/ModCommonFilter/index.js.map +2 -2
- package/dist/lib/business/YkLoginModule/index.d.ts +1 -0
- package/dist/lib/business/YkLoginModule/index.js.map +2 -2
- package/dist/lib/business/YkPorjectSelect/index.d.ts +3 -3
- package/dist/lib/business/YkPorjectSelect/index.js +33 -27
- package/dist/lib/business/YkPorjectSelect/index.js.map +2 -2
- package/dist/lib/business/YkSqlEdit/index.d.ts +1 -0
- package/dist/lib/business/YkSqlEdit/index.js.map +2 -2
- package/dist/lib/components/Clock/index.d.ts +2 -2
- package/dist/lib/components/Clock/index.js.map +2 -2
- package/dist/lib/components/DebounceInput/index.d.ts +2 -2
- package/dist/lib/components/DebounceInput/index.js.map +2 -2
- package/dist/lib/components/MultipleSelect/index.d.ts +2 -2
- package/dist/lib/components/MultipleSelect/index.js.map +2 -2
- package/dist/lib/components/RefreshButton/index.d.ts +2 -2
- package/dist/lib/components/RefreshButton/index.js.map +2 -2
- package/dist/lib/components/SearchWithHistory/index.d.ts +1 -1
- package/dist/lib/components/SearchWithHistory/index.js.map +1 -1
- package/dist/lib/components/TextWithInput/index.d.ts +2 -5
- package/dist/lib/components/TextWithInput/index.js.map +2 -2
- package/dist/lib/components/TextWithToolTip/index.d.ts +2 -2
- package/dist/lib/components/TextWithToolTip/index.js.map +2 -2
- package/dist/lib/components/TreeTransfer/index.d.ts +1 -0
- package/dist/lib/components/TreeTransfer/index.js.map +2 -2
- package/dist/lib/index.d.ts +29 -0
- package/dist/lib/index.js.map +2 -2
- package/package.json +6 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/TextWithInput/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import { CheckOutlined, CloseOutlined, EditOutlined } from '@ant-design/icons';\nimport { Button, Input } from 'antd';\nimport React, { useState } from 'react';\n\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2D;AAC3D,kBAA8B;AAC9B,mBAAgC;
|
|
4
|
+
"sourcesContent": ["import { CheckOutlined, CloseOutlined, EditOutlined } from '@ant-design/icons';\nimport { Button, Input } from 'antd';\nimport React, { useState } from 'react';\n\nexport type TextWithInputProps = {\n /** 当前展示/提交的文本值,受控 */\n value: string;\n /** 确认编辑后的回调,参数为输入框内的新值 */\n callback: (value: string) => void;\n};\n\n/**\n * 文本 + 内联编辑:默认展示文案与编辑图标,点击图标切为输入框+确认/取消,确认时调用 callback。\n */\nconst TextWithInput: React.FC<TextWithInputProps> = ({ value, callback }) => {\n /** 是否处于编辑态(显示输入框与确认/取消按钮) */\n const [isEdit, setIsEdit] = useState(false);\n /** 编辑态下的输入内容,进入编辑时从 value 同步 */\n const [localValue, setLocalValue] = useState(value);\n\n return (\n <div style={{ display: 'flex', alignItems: 'center', gap: 5 }}>\n {isEdit ? (\n <>\n <Input value={localValue} style={{ borderRadius: 2 }} onChange={(e) => setLocalValue(e.target.value)} />\n <Button\n size='small'\n type='primary'\n style={{ width: 30, height: 30 }}\n onClick={() => {\n callback(localValue);\n setIsEdit(false);\n }}\n >\n <CheckOutlined />\n </Button>\n <Button size='small' style={{ width: 30, height: 30 }} onClick={() => setIsEdit(false)}>\n <CloseOutlined />\n </Button>\n </>\n ) : (\n <span>\n {value}\n <EditOutlined\n style={{ marginLeft: 10, cursor: 'pointer', color: '#333' }}\n onClick={() => {\n setLocalValue(value);\n setIsEdit(true);\n }}\n />\n </span>\n )}\n </div>\n );\n};\n\nexport default TextWithInput;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA2D;AAC3D,kBAA8B;AAC9B,mBAAgC;AAYhC,IAAM,gBAA8C,CAAC,EAAE,OAAO,SAAS,MAAM;AAE3E,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAS,KAAK;AAE1C,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAElD,SACE,6BAAAA,QAAA,cAAC,SAAI,OAAO,EAAE,SAAS,QAAQ,YAAY,UAAU,KAAK,EAAE,KACzD,SACC,6BAAAA,QAAA,2BAAAA,QAAA,gBACE,6BAAAA,QAAA,cAAC,qBAAM,OAAO,YAAY,OAAO,EAAE,cAAc,EAAE,GAAG,UAAU,CAAC,MAAM,cAAc,EAAE,OAAO,KAAK,GAAG,GACtG,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,MAAK;AAAA,MACL,OAAO,EAAE,OAAO,IAAI,QAAQ,GAAG;AAAA,MAC/B,SAAS,MAAM;AACb,iBAAS,UAAU;AACnB,kBAAU,KAAK;AAAA,MACjB;AAAA;AAAA,IAEA,6BAAAA,QAAA,cAAC,gCAAc;AAAA,EACjB,GACA,6BAAAA,QAAA,cAAC,sBAAO,MAAK,SAAQ,OAAO,EAAE,OAAO,IAAI,QAAQ,GAAG,GAAG,SAAS,MAAM,UAAU,KAAK,KACnF,6BAAAA,QAAA,cAAC,gCAAc,CACjB,CACF,IAEA,6BAAAA,QAAA,cAAC,cACE,OACD,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,EAAE,YAAY,IAAI,QAAQ,WAAW,OAAO,OAAO;AAAA,MAC1D,SAAS,MAAM;AACb,sBAAc,KAAK;AACnB,kBAAU,IAAI;AAAA,MAChB;AAAA;AAAA,EACF,CACF,CAEJ;AAEJ;AAEA,IAAO,wBAAQ;",
|
|
6
6
|
"names": ["React"]
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type TooltipProps } from 'antd';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
type
|
|
3
|
+
export type TextWithTooltipProps = {
|
|
4
4
|
text: number | string | React.ReactNode;
|
|
5
5
|
placement?: 'top' | 'left' | 'right' | 'bottom';
|
|
6
6
|
zIndex?: number;
|
|
@@ -13,5 +13,5 @@ type PropsType = {
|
|
|
13
13
|
highlight?: string;
|
|
14
14
|
arrow?: boolean;
|
|
15
15
|
};
|
|
16
|
-
declare const TextWithTooltip: React.FC<
|
|
16
|
+
declare const TextWithTooltip: React.FC<TextWithTooltipProps>;
|
|
17
17
|
export default TextWithTooltip;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/TextWithToolTip/index.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Tooltip, type TooltipProps } from 'antd';\nimport React, { useRef, useState } from 'react';\n\
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA2C;AAC3C,mBAAwC;AAgBxC,IAAM,
|
|
4
|
+
"sourcesContent": ["import { Tooltip, type TooltipProps } from 'antd';\nimport React, { useRef, useState } from 'react';\n\nexport type TextWithTooltipProps = {\n text: number | string | React.ReactNode;\n placement?: 'top' | 'left' | 'right' | 'bottom';\n zIndex?: number;\n color?: string;\n styles?: TooltipProps['styles'];\n width: number | string;\n maxWidth?: number | string;\n className?: string;\n style?: React.CSSProperties;\n highlight?: string; // 高亮的关键字\n arrow?: boolean;\n};\n\nconst TextWithTooltip: React.FC<TextWithTooltipProps> = ({\n text,\n placement = 'top',\n zIndex,\n width,\n maxWidth,\n className,\n style = {},\n color,\n styles,\n highlight = '',\n arrow = false,\n}) => {\n const [showTooltip, setShowTooltip] = useState(false);\n const textRef = useRef(null);\n\n const handleMouseEnter = () => {\n if (textRef.current) {\n const range = document.createRange();\n range.selectNodeContents(textRef.current);\n const rangeWidth = range.getBoundingClientRect().width;\n const actualWidth = (textRef.current as HTMLElement).getBoundingClientRect().width;\n setShowTooltip(rangeWidth > actualWidth);\n }\n };\n\n // 将text按照高亮关键字拆分成数组\n function splitString(str: string, delimiter: string) {\n const result = [];\n let match;\n const escapedDelimiter = delimiter.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n const regex = new RegExp(`(${escapedDelimiter})`, 'gi');\n let remaining = str; // 新建变量存储剩余字符串\n\n while ((match = regex.exec(remaining)) !== null) {\n const index = match.index;\n if (index !== 0) {\n result.push(remaining.slice(0, index));\n }\n result.push(match[1]);\n remaining = remaining.slice(index + match[1].length);\n regex.lastIndex = 0;\n }\n if (remaining.length > 0) {\n result.push(remaining);\n }\n return result;\n }\n\n // text是ReactNode时,不处理高亮\n const highlightedText = (text: number | string | React.ReactNode): React.ReactNode => {\n if (highlight && (typeof text === 'string' || typeof text === 'number')) {\n return splitString(text.toString(), highlight).map((part, index) => {\n if (part.toUpperCase() === highlight.toUpperCase()) {\n return (\n <span key={index} style={{ color: '#ffb401' }}>\n {part}\n </span>\n );\n } else {\n return <span key={index}>{part}</span>;\n }\n });\n } else {\n return text;\n }\n };\n\n // 处理宽度值,确保字符串数字能正确转换为带单位的 CSS 值\n const formatWidth = (value: number | string): number | string => {\n if (typeof value === 'string' && /^\\d+$/.test(value)) {\n // 如果是纯数字字符串,添加 px 单位\n return `${value}px`;\n }\n return value;\n };\n\n return (\n <Tooltip\n open={showTooltip}\n title={text}\n placement={placement}\n arrow={arrow}\n destroyOnHidden={true}\n color={color ? color : '#fff'}\n styles={styles ? styles : { body: { color: '#333', fontSize: 12 } }}\n {...(zIndex ? { zIndex } : {})}\n >\n <span\n ref={textRef}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={() => setShowTooltip(false)}\n className={className}\n style={{\n display: 'inline-block',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n verticalAlign: 'bottom',\n ...style,\n ...(maxWidth ? { maxWidth: formatWidth(maxWidth) } : { width: formatWidth(width) }),\n }}\n >\n {highlightedText(text)}\n </span>\n </Tooltip>\n );\n};\n\nexport default TextWithTooltip;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["text", "React"]
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type TreeTransferProps } from './types';
|
|
3
|
+
export type { TreeTransferProps } from './types';
|
|
3
4
|
import './index.less';
|
|
4
5
|
declare function TreeTransfer<T>({ leftDataSource, rightDataSource, loading, leftTitle, rightTitle, pageSize, columns, customRender, searchFields, searchPlaceholder, onChange, }: TreeTransferProps<T>): React.JSX.Element;
|
|
5
6
|
export default TreeTransfer;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/TreeTransfer/index.tsx"],
|
|
4
|
-
"sourcesContent": ["/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n/**\n * TreeTransfer\n *\n * 树形表格穿梭框组件。支持:\n * - 树形结构展示,父子联动选择(checkStrictly: false)\n * - 前端分页 + 防抖搜索\n * - 左右穿梭操作(含多级树正确迁移)\n * - 自定义列配置和渲染\n * - 完整的 TypeScript 泛型支持\n *\n * @template T - 行数据的自定义业务类型\n *\n * @example\n * ```tsx\n * <TreeTransfer\n * leftDataSource={leftData}\n * rightDataSource={rightData}\n * leftTitle=\"待分配\"\n * rightTitle=\"已分配\"\n * onChange={({ leftData, rightData }) => { ... }}\n * />\n * ```\n */\n\nimport { LeftOutlined, RightOutlined } from '@ant-design/icons';\nimport { Button, Space, Spin } from 'antd';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport TreeTransferPanel from './components/TreeTransferPanel';\nimport { DEFAULT_PAGE_SIZE, type TreeTransferProps } from './types';\nimport {\n addNodesToTree,\n countParentNodes,\n extractTopLevelSelectedNodes,\n filterData,\n getAllDescendantKeys,\n removeNodesFromTree,\n sliceDataByPage,\n} from './utils';\nimport './index.less';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// useDebounce\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * 防抖 Hook\n *\n * 修复说明:\n * 原实现将 `callback` 放入 `useCallback` 的 deps,导致每次渲染(callback 为\n * 新引用)都重新创建防抖函数,使 timeout 重置,防抖完全失效。\n * 修复方案:将最新 callback 存入 ref,useCallback 仅依赖 delay,保证\n * 防抖函数引用稳定,timeout 不被意外清除。\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction useDebounce<T extends (...args: any[]) => any>(callback: T, delay: number): T {\n // 存储最新 callback,避免 stale closure\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n const timeoutRef = useRef<NodeJS.Timeout>();\n\n return useCallback(\n (...args: Parameters<T>) => {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => callbackRef.current(...args), delay);\n },\n [delay], // callback 通过 ref 读取,不需要放入 deps\n ) as T;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// TreeTransfer\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * 面板选择/分页状态(不含 dataSource,数据源来自 props + memo 计算)\n */\ninterface PanelState {\n selectedRowKeys: React.Key[];\n searchValue: string;\n currentPage: number;\n totalCount: number;\n}\n\nfunction TreeTransfer<T>({\n leftDataSource,\n rightDataSource,\n loading = false,\n leftTitle = '待分配项',\n rightTitle = '已分配项',\n pageSize = DEFAULT_PAGE_SIZE,\n columns,\n customRender,\n searchFields,\n searchPlaceholder,\n onChange,\n}: TreeTransferProps<T>) {\n // ── 面板状态(选择、搜索、分页) ─────────────────────────────────────────────\n // 注意:dataSource 不存储在 state 中;显示数据通过 memo 从 props 实时计算,\n // 避免 state 与 props 不同步的问题。\n const [leftPanel, setLeftPanel] = useState<PanelState>({\n selectedRowKeys: [],\n searchValue: '',\n currentPage: 1,\n totalCount: 0,\n });\n\n const [rightPanel, setRightPanel] = useState<PanelState>({\n selectedRowKeys: [],\n searchValue: '',\n currentPage: 1,\n totalCount: 0,\n });\n\n // ── 过滤后的完整数据(先 filter,再由 slice 分页) ──────────────────────────\n // 合并 filter + count,避免对同一搜索词调用两次 filterData(原来的问题)。\n\n const filteredLeft = useMemo(\n () => filterData<T>(leftDataSource, leftPanel.searchValue, searchFields),\n [leftDataSource, leftPanel.searchValue, searchFields],\n );\n\n const filteredRight = useMemo(\n () => filterData<T>(rightDataSource, rightPanel.searchValue, searchFields),\n [rightDataSource, rightPanel.searchValue, searchFields],\n );\n\n /** 当前页展示数据(供左侧面板渲染) */\n const filteredLeftData = useMemo(\n () => sliceDataByPage<T>(filteredLeft, leftPanel.currentPage, pageSize),\n [filteredLeft, leftPanel.currentPage, pageSize],\n );\n\n /** 当前页展示数据(供右侧面板渲染) */\n const filteredRightData = useMemo(\n () => sliceDataByPage<T>(filteredRight, rightPanel.currentPage, pageSize),\n [filteredRight, rightPanel.currentPage, pageSize],\n );\n\n /** 搜索后的顶层节点数(用于分页器 total) */\n const filteredLeftTotalCount = useMemo(() => countParentNodes(filteredLeft), [filteredLeft]);\n const filteredRightTotalCount = useMemo(() => countParentNodes(filteredRight), [filteredRight]);\n\n // ── 数据源变化时更新 totalCount,同时重置到第 1 页 ──────────────────────────\n useEffect(() => {\n setLeftPanel((prev) => ({\n ...prev,\n currentPage: 1,\n totalCount: countParentNodes(leftDataSource),\n }));\n }, [leftDataSource]);\n\n useEffect(() => {\n setRightPanel((prev) => ({\n ...prev,\n currentPage: 1,\n totalCount: countParentNodes(rightDataSource),\n }));\n }, [rightDataSource]);\n\n // ── 防抖搜索 ─────────────────────────────────────────────────────────────────\n\n const handleLeftSearchChange = useDebounce((value: string) => {\n setLeftPanel((prev) => ({ ...prev, searchValue: value, currentPage: 1 }));\n }, 300);\n\n const handleRightSearchChange = useDebounce((value: string) => {\n setRightPanel((prev) => ({ ...prev, searchValue: value, currentPage: 1 }));\n }, 300);\n\n // ── 分页 ─────────────────────────────────────────────────────────────────────\n\n const handleLeftPageChange = useCallback((page: number) => {\n setLeftPanel((prev) => ({ ...prev, currentPage: page }));\n }, []);\n\n const handleRightPageChange = useCallback((page: number) => {\n setRightPanel((prev) => ({ ...prev, currentPage: page }));\n }, []);\n\n // ── 穿梭操作 ─────────────────────────────────────────────────────────────────\n\n /**\n * 右移:将左侧选中项移到右侧\n *\n * 修复说明:\n * 原实现通过 `dataSource.filter(item => item.key === key)` 只查根节点,\n * 导致仅选中子节点时 nodesToAdd 为空,数据静默丢失。\n * 修复:使用 `extractTopLevelSelectedNodes` 递归提取选中的顶层节点(含 children)。\n */\n const handleMoveRight = useCallback(() => {\n if (leftPanel.selectedRowKeys.length === 0) return;\n\n const selectedSet = new Set(leftPanel.selectedRowKeys.map(String));\n // 提取选中的顶层节点(子节点随父一起携带)\n const nodesToAdd = extractTopLevelSelectedNodes<T>(selectedSet, leftDataSource);\n // 删除所有相关 key(含后代)\n const keysToRemove = new Set(getAllDescendantKeys(leftPanel.selectedRowKeys, leftDataSource));\n const newLeftData = removeNodesFromTree(leftDataSource, keysToRemove);\n const newRightData = addNodesToTree(rightDataSource, null, nodesToAdd);\n\n setLeftPanel((prev) => ({ ...prev, currentPage: 1, selectedRowKeys: [] }));\n setRightPanel((prev) => ({ ...prev, currentPage: 1, selectedRowKeys: [] }));\n\n onChange?.({\n leftSelected: [],\n rightSelected: [],\n leftData: newLeftData,\n rightData: newRightData,\n });\n }, [leftPanel.selectedRowKeys, leftDataSource, rightDataSource, onChange]);\n\n /**\n * 左移:将右侧选中项移到左侧\n */\n const handleMoveLeft = useCallback(() => {\n if (rightPanel.selectedRowKeys.length === 0) return;\n\n const selectedSet = new Set(rightPanel.selectedRowKeys.map(String));\n const nodesToAdd = extractTopLevelSelectedNodes<T>(selectedSet, rightDataSource);\n const keysToRemove = new Set(getAllDescendantKeys(rightPanel.selectedRowKeys, rightDataSource));\n const newRightData = removeNodesFromTree(rightDataSource, keysToRemove);\n const newLeftData = addNodesToTree(leftDataSource, null, nodesToAdd);\n\n setLeftPanel((prev) => ({ ...prev, currentPage: 1, selectedRowKeys: [] }));\n setRightPanel((prev) => ({ ...prev, currentPage: 1, selectedRowKeys: [] }));\n\n onChange?.({\n leftSelected: [],\n rightSelected: [],\n leftData: newLeftData,\n rightData: newRightData,\n });\n }, [rightPanel.selectedRowKeys, rightDataSource, leftDataSource, onChange]);\n\n // ── 渲染 ─────────────────────────────────────────────────────────────────────\n\n return (\n <div className='tree-transfer-wrapper'>\n <Spin spinning={loading}>\n <div className='tree-transfer-content'>\n {/* 左侧面板 */}\n <TreeTransferPanel<T>\n dataSource={filteredLeftData}\n selectedRowKeys={leftPanel.selectedRowKeys}\n onRowSelect={(_, keys) => setLeftPanel((prev) => ({ ...prev, selectedRowKeys: keys }))}\n searchValue={leftPanel.searchValue}\n setSearchValue={handleLeftSearchChange}\n totalCount={leftPanel.searchValue ? filteredLeftTotalCount : leftPanel.totalCount}\n title={leftTitle}\n showPagination={true}\n currentPage={leftPanel.currentPage}\n pageSize={pageSize}\n onPageChange={handleLeftPageChange}\n columns={columns}\n customRender={customRender}\n searchPlaceholder={searchPlaceholder}\n />\n\n {/* 中间操作按钮 */}\n <div className='tree-transfer-operations'>\n <Space direction='vertical' size={8}>\n <Button\n className='tree-transfer-operation-btn'\n type={leftPanel.selectedRowKeys.length > 0 ? 'primary' : 'default'}\n icon={<RightOutlined />}\n onClick={handleMoveRight}\n disabled={leftPanel.selectedRowKeys.length === 0}\n />\n <Button\n className='tree-transfer-operation-btn'\n type={rightPanel.selectedRowKeys.length > 0 ? 'primary' : 'default'}\n icon={<LeftOutlined />}\n onClick={handleMoveLeft}\n disabled={rightPanel.selectedRowKeys.length === 0}\n />\n </Space>\n </div>\n\n {/* 右侧面板 */}\n <TreeTransferPanel<T>\n dataSource={filteredRightData}\n selectedRowKeys={rightPanel.selectedRowKeys}\n onRowSelect={(_, keys) => setRightPanel((prev) => ({ ...prev, selectedRowKeys: keys }))}\n searchValue={rightPanel.searchValue}\n setSearchValue={handleRightSearchChange}\n totalCount={rightPanel.searchValue ? filteredRightTotalCount : rightPanel.totalCount}\n title={rightTitle}\n showPagination={true}\n currentPage={rightPanel.currentPage}\n pageSize={pageSize}\n onPageChange={handleRightPageChange}\n columns={columns}\n customRender={customRender}\n />\n </div>\n </Spin>\n </div>\n );\n}\n\nexport default TreeTransfer;\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA0CA,mBAA4C;AAC5C,kBAAoC;AACpC,mBAAyE;AACzE,+BAA8B;AAC9B,mBAA0D;
|
|
4
|
+
"sourcesContent": ["/*\n * Licensed to the Apache Software Foundation (ASF) under one or more\n * contributor license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright ownership.\n * The ASF licenses this file to You under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with\n * the License. You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n/**\n * TreeTransfer\n *\n * 树形表格穿梭框组件。支持:\n * - 树形结构展示,父子联动选择(checkStrictly: false)\n * - 前端分页 + 防抖搜索\n * - 左右穿梭操作(含多级树正确迁移)\n * - 自定义列配置和渲染\n * - 完整的 TypeScript 泛型支持\n *\n * @template T - 行数据的自定义业务类型\n *\n * @example\n * ```tsx\n * <TreeTransfer\n * leftDataSource={leftData}\n * rightDataSource={rightData}\n * leftTitle=\"待分配\"\n * rightTitle=\"已分配\"\n * onChange={({ leftData, rightData }) => { ... }}\n * />\n * ```\n */\n\nimport { LeftOutlined, RightOutlined } from '@ant-design/icons';\nimport { Button, Space, Spin } from 'antd';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport TreeTransferPanel from './components/TreeTransferPanel';\nimport { DEFAULT_PAGE_SIZE, type TreeTransferProps } from './types';\n\nexport type { TreeTransferProps } from './types';\nimport {\n addNodesToTree,\n countParentNodes,\n extractTopLevelSelectedNodes,\n filterData,\n getAllDescendantKeys,\n removeNodesFromTree,\n sliceDataByPage,\n} from './utils';\nimport './index.less';\n\n// ─────────────────────────────────────────────────────────────────────────────\n// useDebounce\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * 防抖 Hook\n *\n * 修复说明:\n * 原实现将 `callback` 放入 `useCallback` 的 deps,导致每次渲染(callback 为\n * 新引用)都重新创建防抖函数,使 timeout 重置,防抖完全失效。\n * 修复方案:将最新 callback 存入 ref,useCallback 仅依赖 delay,保证\n * 防抖函数引用稳定,timeout 不被意外清除。\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction useDebounce<T extends (...args: any[]) => any>(callback: T, delay: number): T {\n // 存储最新 callback,避免 stale closure\n const callbackRef = useRef(callback);\n callbackRef.current = callback;\n\n const timeoutRef = useRef<NodeJS.Timeout>();\n\n return useCallback(\n (...args: Parameters<T>) => {\n clearTimeout(timeoutRef.current);\n timeoutRef.current = setTimeout(() => callbackRef.current(...args), delay);\n },\n [delay], // callback 通过 ref 读取,不需要放入 deps\n ) as T;\n}\n\n// ─────────────────────────────────────────────────────────────────────────────\n// TreeTransfer\n// ─────────────────────────────────────────────────────────────────────────────\n\n/**\n * 面板选择/分页状态(不含 dataSource,数据源来自 props + memo 计算)\n */\ninterface PanelState {\n selectedRowKeys: React.Key[];\n searchValue: string;\n currentPage: number;\n totalCount: number;\n}\n\nfunction TreeTransfer<T>({\n leftDataSource,\n rightDataSource,\n loading = false,\n leftTitle = '待分配项',\n rightTitle = '已分配项',\n pageSize = DEFAULT_PAGE_SIZE,\n columns,\n customRender,\n searchFields,\n searchPlaceholder,\n onChange,\n}: TreeTransferProps<T>) {\n // ── 面板状态(选择、搜索、分页) ─────────────────────────────────────────────\n // 注意:dataSource 不存储在 state 中;显示数据通过 memo 从 props 实时计算,\n // 避免 state 与 props 不同步的问题。\n const [leftPanel, setLeftPanel] = useState<PanelState>({\n selectedRowKeys: [],\n searchValue: '',\n currentPage: 1,\n totalCount: 0,\n });\n\n const [rightPanel, setRightPanel] = useState<PanelState>({\n selectedRowKeys: [],\n searchValue: '',\n currentPage: 1,\n totalCount: 0,\n });\n\n // ── 过滤后的完整数据(先 filter,再由 slice 分页) ──────────────────────────\n // 合并 filter + count,避免对同一搜索词调用两次 filterData(原来的问题)。\n\n const filteredLeft = useMemo(\n () => filterData<T>(leftDataSource, leftPanel.searchValue, searchFields),\n [leftDataSource, leftPanel.searchValue, searchFields],\n );\n\n const filteredRight = useMemo(\n () => filterData<T>(rightDataSource, rightPanel.searchValue, searchFields),\n [rightDataSource, rightPanel.searchValue, searchFields],\n );\n\n /** 当前页展示数据(供左侧面板渲染) */\n const filteredLeftData = useMemo(\n () => sliceDataByPage<T>(filteredLeft, leftPanel.currentPage, pageSize),\n [filteredLeft, leftPanel.currentPage, pageSize],\n );\n\n /** 当前页展示数据(供右侧面板渲染) */\n const filteredRightData = useMemo(\n () => sliceDataByPage<T>(filteredRight, rightPanel.currentPage, pageSize),\n [filteredRight, rightPanel.currentPage, pageSize],\n );\n\n /** 搜索后的顶层节点数(用于分页器 total) */\n const filteredLeftTotalCount = useMemo(() => countParentNodes(filteredLeft), [filteredLeft]);\n const filteredRightTotalCount = useMemo(() => countParentNodes(filteredRight), [filteredRight]);\n\n // ── 数据源变化时更新 totalCount,同时重置到第 1 页 ──────────────────────────\n useEffect(() => {\n setLeftPanel((prev) => ({\n ...prev,\n currentPage: 1,\n totalCount: countParentNodes(leftDataSource),\n }));\n }, [leftDataSource]);\n\n useEffect(() => {\n setRightPanel((prev) => ({\n ...prev,\n currentPage: 1,\n totalCount: countParentNodes(rightDataSource),\n }));\n }, [rightDataSource]);\n\n // ── 防抖搜索 ─────────────────────────────────────────────────────────────────\n\n const handleLeftSearchChange = useDebounce((value: string) => {\n setLeftPanel((prev) => ({ ...prev, searchValue: value, currentPage: 1 }));\n }, 300);\n\n const handleRightSearchChange = useDebounce((value: string) => {\n setRightPanel((prev) => ({ ...prev, searchValue: value, currentPage: 1 }));\n }, 300);\n\n // ── 分页 ─────────────────────────────────────────────────────────────────────\n\n const handleLeftPageChange = useCallback((page: number) => {\n setLeftPanel((prev) => ({ ...prev, currentPage: page }));\n }, []);\n\n const handleRightPageChange = useCallback((page: number) => {\n setRightPanel((prev) => ({ ...prev, currentPage: page }));\n }, []);\n\n // ── 穿梭操作 ─────────────────────────────────────────────────────────────────\n\n /**\n * 右移:将左侧选中项移到右侧\n *\n * 修复说明:\n * 原实现通过 `dataSource.filter(item => item.key === key)` 只查根节点,\n * 导致仅选中子节点时 nodesToAdd 为空,数据静默丢失。\n * 修复:使用 `extractTopLevelSelectedNodes` 递归提取选中的顶层节点(含 children)。\n */\n const handleMoveRight = useCallback(() => {\n if (leftPanel.selectedRowKeys.length === 0) return;\n\n const selectedSet = new Set(leftPanel.selectedRowKeys.map(String));\n // 提取选中的顶层节点(子节点随父一起携带)\n const nodesToAdd = extractTopLevelSelectedNodes<T>(selectedSet, leftDataSource);\n // 删除所有相关 key(含后代)\n const keysToRemove = new Set(getAllDescendantKeys(leftPanel.selectedRowKeys, leftDataSource));\n const newLeftData = removeNodesFromTree(leftDataSource, keysToRemove);\n const newRightData = addNodesToTree(rightDataSource, null, nodesToAdd);\n\n setLeftPanel((prev) => ({ ...prev, currentPage: 1, selectedRowKeys: [] }));\n setRightPanel((prev) => ({ ...prev, currentPage: 1, selectedRowKeys: [] }));\n\n onChange?.({\n leftSelected: [],\n rightSelected: [],\n leftData: newLeftData,\n rightData: newRightData,\n });\n }, [leftPanel.selectedRowKeys, leftDataSource, rightDataSource, onChange]);\n\n /**\n * 左移:将右侧选中项移到左侧\n */\n const handleMoveLeft = useCallback(() => {\n if (rightPanel.selectedRowKeys.length === 0) return;\n\n const selectedSet = new Set(rightPanel.selectedRowKeys.map(String));\n const nodesToAdd = extractTopLevelSelectedNodes<T>(selectedSet, rightDataSource);\n const keysToRemove = new Set(getAllDescendantKeys(rightPanel.selectedRowKeys, rightDataSource));\n const newRightData = removeNodesFromTree(rightDataSource, keysToRemove);\n const newLeftData = addNodesToTree(leftDataSource, null, nodesToAdd);\n\n setLeftPanel((prev) => ({ ...prev, currentPage: 1, selectedRowKeys: [] }));\n setRightPanel((prev) => ({ ...prev, currentPage: 1, selectedRowKeys: [] }));\n\n onChange?.({\n leftSelected: [],\n rightSelected: [],\n leftData: newLeftData,\n rightData: newRightData,\n });\n }, [rightPanel.selectedRowKeys, rightDataSource, leftDataSource, onChange]);\n\n // ── 渲染 ─────────────────────────────────────────────────────────────────────\n\n return (\n <div className='tree-transfer-wrapper'>\n <Spin spinning={loading}>\n <div className='tree-transfer-content'>\n {/* 左侧面板 */}\n <TreeTransferPanel<T>\n dataSource={filteredLeftData}\n selectedRowKeys={leftPanel.selectedRowKeys}\n onRowSelect={(_, keys) => setLeftPanel((prev) => ({ ...prev, selectedRowKeys: keys }))}\n searchValue={leftPanel.searchValue}\n setSearchValue={handleLeftSearchChange}\n totalCount={leftPanel.searchValue ? filteredLeftTotalCount : leftPanel.totalCount}\n title={leftTitle}\n showPagination={true}\n currentPage={leftPanel.currentPage}\n pageSize={pageSize}\n onPageChange={handleLeftPageChange}\n columns={columns}\n customRender={customRender}\n searchPlaceholder={searchPlaceholder}\n />\n\n {/* 中间操作按钮 */}\n <div className='tree-transfer-operations'>\n <Space direction='vertical' size={8}>\n <Button\n className='tree-transfer-operation-btn'\n type={leftPanel.selectedRowKeys.length > 0 ? 'primary' : 'default'}\n icon={<RightOutlined />}\n onClick={handleMoveRight}\n disabled={leftPanel.selectedRowKeys.length === 0}\n />\n <Button\n className='tree-transfer-operation-btn'\n type={rightPanel.selectedRowKeys.length > 0 ? 'primary' : 'default'}\n icon={<LeftOutlined />}\n onClick={handleMoveLeft}\n disabled={rightPanel.selectedRowKeys.length === 0}\n />\n </Space>\n </div>\n\n {/* 右侧面板 */}\n <TreeTransferPanel<T>\n dataSource={filteredRightData}\n selectedRowKeys={rightPanel.selectedRowKeys}\n onRowSelect={(_, keys) => setRightPanel((prev) => ({ ...prev, selectedRowKeys: keys }))}\n searchValue={rightPanel.searchValue}\n setSearchValue={handleRightSearchChange}\n totalCount={rightPanel.searchValue ? filteredRightTotalCount : rightPanel.totalCount}\n title={rightTitle}\n showPagination={true}\n currentPage={rightPanel.currentPage}\n pageSize={pageSize}\n onPageChange={handleRightPageChange}\n columns={columns}\n customRender={customRender}\n />\n </div>\n </Spin>\n </div>\n );\n}\n\nexport default TreeTransfer;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React", "TreeTransferPanel"]
|
|
7
7
|
}
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -1,49 +1,78 @@
|
|
|
1
1
|
import 'antd/dist/reset.css';
|
|
2
2
|
export { default as AiChat } from './business/AiChat';
|
|
3
|
+
export type { AiChatProps } from './business/AiChat';
|
|
3
4
|
export { default as DrawerPageInfo } from './business/DrawerPageInfo';
|
|
5
|
+
export type { TipContentData, FeedbackParams, PropsType as DrawerPageInfoProps } from './business/DrawerPageInfo';
|
|
4
6
|
export { default as Editor } from './business/Editor';
|
|
7
|
+
export type { EditorProps } from './business/Editor';
|
|
5
8
|
export { default as Empty } from './business/Empty';
|
|
9
|
+
export type { EmptyProps } from './business/Empty';
|
|
6
10
|
export { default as ModCommonFilter } from './business/ModCommonFilter';
|
|
11
|
+
export type { ModCommonFilterProps, ListItem, CategoryItem, TerminalItem } from './business/ModCommonFilter';
|
|
7
12
|
export { default as YkLoginModule } from './business/YkLoginModule';
|
|
13
|
+
export type { LoginModuleProps, LoginType, LoginTabItem, QrcodeApi, SmsLoginFormApi } from './business/YkLoginModule';
|
|
14
|
+
export type { OptionItem, YkPorjectSelectProps } from './business/YkPorjectSelect';
|
|
8
15
|
export { default as YkPorjectSelect } from './business/YkPorjectSelect';
|
|
9
16
|
export { default as YkSqlEdit } from './business/YkSqlEdit';
|
|
17
|
+
export type { YkSqlEditProps, SqlDialectType } from './business/YkSqlEdit';
|
|
10
18
|
export { default as Clock } from './components/Clock';
|
|
19
|
+
export type { ClockProps } from './components/Clock';
|
|
11
20
|
export { default as DebounceInput } from './components/DebounceInput';
|
|
21
|
+
export type { DebounceInputProps } from './components/DebounceInput';
|
|
12
22
|
export { default as MultipleSelect } from './components/MultipleSelect';
|
|
23
|
+
export type { MultipleSelectProps } from './components/MultipleSelect';
|
|
13
24
|
export { default as NumericInput } from './components/NumericInput';
|
|
25
|
+
export type { NumericInputProps } from './components/NumericInput';
|
|
14
26
|
export { default as RefreshButton } from './components/RefreshButton';
|
|
27
|
+
export type { RefreshButtonProps } from './components/RefreshButton';
|
|
15
28
|
export { default as SearchWithHistory } from './components/SearchWithHistory';
|
|
29
|
+
export type { SearchWithHistoryProps } from './components/SearchWithHistory';
|
|
16
30
|
export { default as TextWithInput } from './components/TextWithInput';
|
|
31
|
+
export type { TextWithInputProps } from './components/TextWithInput';
|
|
17
32
|
export { default as TextWithToolTip } from './components/TextWithToolTip';
|
|
33
|
+
export type { TextWithTooltipProps } from './components/TextWithToolTip';
|
|
18
34
|
export { default as TreeTransfer } from './components/TreeTransfer';
|
|
35
|
+
export type { TreeTransferProps } from './components/TreeTransfer';
|
|
19
36
|
export type { DateRangeValue, YkDateRangePickerProps, YkDateRangePickerRef, } from './components/YkDateRangePicker';
|
|
20
37
|
export { default as YkDateRangePicker } from './components/YkDateRangePicker';
|
|
21
38
|
export { default as YkRangeDateWithVS } from './components/YkRangeDateWithVS';
|
|
39
|
+
export type { YkRangeDateWithVSProps, YkRangeDateWithVSValue, YkRangeDateWithVSChange } from './components/YkRangeDateWithVS';
|
|
22
40
|
export { default as YkRangeTimeWithRecent } from './components/YkRangeTimeWithRecent';
|
|
41
|
+
export type { YkRangeTimeWithRecentProps, YkRangeTimeWithRecentTimeType } from './components/YkRangeTimeWithRecent';
|
|
23
42
|
export type { ArcCheckboxProps } from './creative/ArcCheckbox';
|
|
24
43
|
export { default as ArcCheckbox } from './creative/ArcCheckbox';
|
|
25
44
|
export { default as ButtonRadioWithInfo } from './creative/ButtonRadioWithInfo';
|
|
45
|
+
export type { ButtonRadioWithInfoProps, ButtonRadioWithInfoOption } from './creative/ButtonRadioWithInfo';
|
|
26
46
|
export { default as ButtonWithProgress } from './creative/ButtonWithProgress';
|
|
47
|
+
export type { ButtonWithProgressProps } from './creative/ButtonWithProgress';
|
|
27
48
|
export type { GlassSegmentedRadioProps, GlassSegmentOption, } from './creative/GlassSegmentedRadio';
|
|
28
49
|
export { default as GlassSegmentedRadio } from './creative/GlassSegmentedRadio';
|
|
29
50
|
export { default as FlexGrid } from './layout/FlexGrid';
|
|
51
|
+
export type { FlexGridProps, FlexGridColSpan } from './layout/FlexGrid';
|
|
30
52
|
export { default as YkContainer } from './layout/YkContainer';
|
|
53
|
+
export type { YkContainerProps } from './layout/YkContainer';
|
|
31
54
|
export { default as YkDrawer } from './layout/YkDrawer';
|
|
55
|
+
export type { YkDrawerProps, YkDrawerSize, YkDrawerPlacement } from './layout/YkDrawer';
|
|
32
56
|
export { default as InputTheme } from './Themes/InputTheme';
|
|
33
57
|
export { default as TableTheme } from './Themes/TableTheme';
|
|
34
58
|
export { default as LabelSelect } from './ui/LabelSelect';
|
|
59
|
+
export type { LabelSelectProps, CustomOption } from './ui/LabelSelect';
|
|
35
60
|
export { default as LogicOperator } from './ui/LogicOperator';
|
|
61
|
+
export type { LogicOperatorProps } from './ui/LogicOperator';
|
|
36
62
|
export { default as YkButton } from './ui/YkButton';
|
|
63
|
+
export type { YkButtonProps } from './ui/YkButton';
|
|
37
64
|
export { default as YkCard } from './ui/YkCard';
|
|
38
65
|
export { default as YkCheckbox } from './ui/YkCheckbox';
|
|
39
66
|
export { default as YkDescriptions } from './ui/YkDescriptions';
|
|
40
67
|
export { default as YkPagination } from './ui/YkPagination';
|
|
41
68
|
export { default as YkRadio } from './ui/YkRadio';
|
|
42
69
|
export { default as YkRadioBtnSpecial } from './ui/YkRadioBtnSpecial';
|
|
70
|
+
export type { RadioBtnProps } from './ui/YkRadioBtnSpecial';
|
|
43
71
|
export { default as YkSegmented } from './ui/YkSegmented';
|
|
44
72
|
export { default as YkSelect } from './ui/YkSelect';
|
|
45
73
|
export { default as YkSpin } from './ui/YkSpin';
|
|
46
74
|
export { default as YkStatistic } from './ui/YkStatistic';
|
|
47
75
|
export { default as YkSwitch } from './ui/YkSwitch';
|
|
48
76
|
export { default as YkTabs } from './ui/YkTabs';
|
|
77
|
+
export type { YkTabsProps, YkTabItem } from './ui/YkTabs';
|
|
49
78
|
export { default as YkTooltip } from './ui/YkTooltip';
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.tsx"],
|
|
4
|
-
"sourcesContent": ["// Auto-inject Ant Design styles per project_specification_memory #6eafc28d\nimport 'antd/dist/reset.css';\n\n// Export business components\nexport { default as AiChat } from './business/AiChat';\nexport { default as DrawerPageInfo } from './business/DrawerPageInfo';\nexport { default as Editor } from './business/Editor';\nexport { default as Empty } from './business/Empty';\nexport { default as ModCommonFilter } from './business/ModCommonFilter';\nexport { default as YkLoginModule } from './business/YkLoginModule';\nexport { default as YkPorjectSelect } from './business/YkPorjectSelect';\nexport { default as YkSqlEdit } from './business/YkSqlEdit';\n// Export common components\nexport { default as Clock } from './components/Clock';\nexport { default as DebounceInput } from './components/DebounceInput';\nexport { default as MultipleSelect } from './components/MultipleSelect';\nexport { default as NumericInput } from './components/NumericInput';\nexport { default as RefreshButton } from './components/RefreshButton';\nexport { default as SearchWithHistory } from './components/SearchWithHistory';\nexport { default as TextWithInput } from './components/TextWithInput';\nexport { default as TextWithToolTip } from './components/TextWithToolTip';\nexport { default as TreeTransfer } from './components/TreeTransfer';\nexport type {\n DateRangeValue,\n YkDateRangePickerProps,\n YkDateRangePickerRef,\n} from './components/YkDateRangePicker';\nexport { default as YkDateRangePicker } from './components/YkDateRangePicker';\nexport { default as YkRangeDateWithVS } from './components/YkRangeDateWithVS';\nexport { default as YkRangeTimeWithRecent } from './components/YkRangeTimeWithRecent';\n// Export creative components\nexport type { ArcCheckboxProps } from './creative/ArcCheckbox';\nexport { default as ArcCheckbox } from './creative/ArcCheckbox';\nexport { default as ButtonRadioWithInfo } from './creative/ButtonRadioWithInfo';\nexport { default as ButtonWithProgress } from './creative/ButtonWithProgress';\nexport type {\n GlassSegmentedRadioProps,\n GlassSegmentOption,\n} from './creative/GlassSegmentedRadio';\nexport { default as GlassSegmentedRadio } from './creative/GlassSegmentedRadio';\n// Export layout\nexport { default as FlexGrid } from './layout/FlexGrid';\nexport { default as YkContainer } from './layout/YkContainer';\nexport { default as YkDrawer } from './layout/YkDrawer';\n// Export theme components\nexport { default as InputTheme } from './Themes/InputTheme';\nexport { default as TableTheme } from './Themes/TableTheme';\n// Export all UI components\nexport { default as LabelSelect } from './ui/LabelSelect';\nexport { default as LogicOperator } from './ui/LogicOperator';\nexport { default as YkButton } from './ui/YkButton';\nexport { default as YkCard } from './ui/YkCard';\nexport { default as YkCheckbox } from './ui/YkCheckbox';\nexport { default as YkDescriptions } from './ui/YkDescriptions';\nexport { default as YkPagination } from './ui/YkPagination';\nexport { default as YkRadio } from './ui/YkRadio';\nexport { default as YkRadioBtnSpecial } from './ui/YkRadioBtnSpecial';\nexport { default as YkSegmented } from './ui/YkSegmented';\nexport { default as YkSelect } from './ui/YkSelect';\nexport { default as YkSpin } from './ui/YkSpin';\nexport { default as YkStatistic } from './ui/YkStatistic';\nexport { default as YkSwitch } from './ui/YkSwitch';\nexport { default as YkTabs } from './ui/YkTabs';\nexport { default as YkTooltip } from './ui/YkTooltip';\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAO;AAGP,oBAAkC;
|
|
4
|
+
"sourcesContent": ["// Auto-inject Ant Design styles per project_specification_memory #6eafc28d\nimport 'antd/dist/reset.css';\n\n// Export business components\nexport { default as AiChat } from './business/AiChat';\nexport type { AiChatProps } from './business/AiChat';\nexport { default as DrawerPageInfo } from './business/DrawerPageInfo';\nexport type { TipContentData, FeedbackParams, PropsType as DrawerPageInfoProps } from './business/DrawerPageInfo';\nexport { default as Editor } from './business/Editor';\nexport type { EditorProps } from './business/Editor';\nexport { default as Empty } from './business/Empty';\nexport type { EmptyProps } from './business/Empty';\nexport { default as ModCommonFilter } from './business/ModCommonFilter';\nexport type { ModCommonFilterProps, ListItem, CategoryItem, TerminalItem } from './business/ModCommonFilter';\nexport { default as YkLoginModule } from './business/YkLoginModule';\nexport type { LoginModuleProps, LoginType, LoginTabItem, QrcodeApi, SmsLoginFormApi } from './business/YkLoginModule';\nexport type { OptionItem, YkPorjectSelectProps } from './business/YkPorjectSelect';\nexport { default as YkPorjectSelect } from './business/YkPorjectSelect';\nexport { default as YkSqlEdit } from './business/YkSqlEdit';\nexport type { YkSqlEditProps, SqlDialectType } from './business/YkSqlEdit';\n// Export common components\nexport { default as Clock } from './components/Clock';\nexport type { ClockProps } from './components/Clock';\nexport { default as DebounceInput } from './components/DebounceInput';\nexport type { DebounceInputProps } from './components/DebounceInput';\nexport { default as MultipleSelect } from './components/MultipleSelect';\nexport type { MultipleSelectProps } from './components/MultipleSelect';\nexport { default as NumericInput } from './components/NumericInput';\nexport type { NumericInputProps } from './components/NumericInput';\nexport { default as RefreshButton } from './components/RefreshButton';\nexport type { RefreshButtonProps } from './components/RefreshButton';\nexport { default as SearchWithHistory } from './components/SearchWithHistory';\nexport type { SearchWithHistoryProps } from './components/SearchWithHistory';\nexport { default as TextWithInput } from './components/TextWithInput';\nexport type { TextWithInputProps } from './components/TextWithInput';\nexport { default as TextWithToolTip } from './components/TextWithToolTip';\nexport type { TextWithTooltipProps } from './components/TextWithToolTip';\nexport { default as TreeTransfer } from './components/TreeTransfer';\nexport type { TreeTransferProps } from './components/TreeTransfer';\nexport type {\n DateRangeValue,\n YkDateRangePickerProps,\n YkDateRangePickerRef,\n} from './components/YkDateRangePicker';\nexport { default as YkDateRangePicker } from './components/YkDateRangePicker';\nexport { default as YkRangeDateWithVS } from './components/YkRangeDateWithVS';\nexport type { YkRangeDateWithVSProps, YkRangeDateWithVSValue, YkRangeDateWithVSChange } from './components/YkRangeDateWithVS';\nexport { default as YkRangeTimeWithRecent } from './components/YkRangeTimeWithRecent';\nexport type { YkRangeTimeWithRecentProps, YkRangeTimeWithRecentTimeType } from './components/YkRangeTimeWithRecent';\n// Export creative components\nexport type { ArcCheckboxProps } from './creative/ArcCheckbox';\nexport { default as ArcCheckbox } from './creative/ArcCheckbox';\nexport { default as ButtonRadioWithInfo } from './creative/ButtonRadioWithInfo';\nexport type { ButtonRadioWithInfoProps, ButtonRadioWithInfoOption } from './creative/ButtonRadioWithInfo';\nexport { default as ButtonWithProgress } from './creative/ButtonWithProgress';\nexport type { ButtonWithProgressProps } from './creative/ButtonWithProgress';\nexport type {\n GlassSegmentedRadioProps,\n GlassSegmentOption,\n} from './creative/GlassSegmentedRadio';\nexport { default as GlassSegmentedRadio } from './creative/GlassSegmentedRadio';\n// Export layout\nexport { default as FlexGrid } from './layout/FlexGrid';\nexport type { FlexGridProps, FlexGridColSpan } from './layout/FlexGrid';\nexport { default as YkContainer } from './layout/YkContainer';\nexport type { YkContainerProps } from './layout/YkContainer';\nexport { default as YkDrawer } from './layout/YkDrawer';\nexport type { YkDrawerProps, YkDrawerSize, YkDrawerPlacement } from './layout/YkDrawer';\n// Export theme components\nexport { default as InputTheme } from './Themes/InputTheme';\nexport { default as TableTheme } from './Themes/TableTheme';\n// Export all UI components\nexport { default as LabelSelect } from './ui/LabelSelect';\nexport type { LabelSelectProps, CustomOption } from './ui/LabelSelect';\nexport { default as LogicOperator } from './ui/LogicOperator';\nexport type { LogicOperatorProps } from './ui/LogicOperator';\nexport { default as YkButton } from './ui/YkButton';\nexport type { YkButtonProps } from './ui/YkButton';\nexport { default as YkCard } from './ui/YkCard';\nexport { default as YkCheckbox } from './ui/YkCheckbox';\nexport { default as YkDescriptions } from './ui/YkDescriptions';\nexport { default as YkPagination } from './ui/YkPagination';\nexport { default as YkRadio } from './ui/YkRadio';\nexport { default as YkRadioBtnSpecial } from './ui/YkRadioBtnSpecial';\nexport type { RadioBtnProps } from './ui/YkRadioBtnSpecial';\nexport { default as YkSegmented } from './ui/YkSegmented';\nexport { default as YkSelect } from './ui/YkSelect';\nexport { default as YkSpin } from './ui/YkSpin';\nexport { default as YkStatistic } from './ui/YkStatistic';\nexport { default as YkSwitch } from './ui/YkSwitch';\nexport { default as YkTabs } from './ui/YkTabs';\nexport type { YkTabsProps, YkTabItem } from './ui/YkTabs';\nexport { default as YkTooltip } from './ui/YkTooltip';\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAO;AAGP,oBAAkC;AAElC,4BAA0C;AAE1C,oBAAkC;AAElC,mBAAiC;AAEjC,6BAA2C;AAE3C,2BAAyC;AAGzC,6BAA2C;AAC3C,uBAAqC;AAGrC,mBAAiC;AAEjC,2BAAyC;AAEzC,4BAA0C;AAE1C,0BAAwC;AAExC,2BAAyC;AAEzC,+BAA6C;AAE7C,2BAAyC;AAEzC,6BAA2C;AAE3C,0BAAwC;AAOxC,+BAA6C;AAC7C,+BAA6C;AAE7C,mCAAiD;AAIjD,yBAAuC;AACvC,iCAA+C;AAE/C,gCAA8C;AAM9C,iCAA+C;AAE/C,sBAAoC;AAEpC,yBAAuC;AAEvC,sBAAoC;AAGpC,wBAAsC;AACtC,wBAAsC;AAEtC,yBAAuC;AAEvC,2BAAyC;AAEzC,sBAAoC;AAEpC,oBAAkC;AAClC,wBAAsC;AACtC,4BAA0C;AAC1C,0BAAwC;AACxC,qBAAmC;AACnC,+BAA6C;AAE7C,yBAAuC;AACvC,sBAAoC;AACpC,oBAAkC;AAClC,yBAAuC;AACvC,sBAAoC;AACpC,oBAAkC;AAElC,uBAAqC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@yoka-ui/ui",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"homepage": "",
|
|
@@ -148,6 +148,11 @@
|
|
|
148
148
|
"npx @biomejs/biome check --write"
|
|
149
149
|
]
|
|
150
150
|
},
|
|
151
|
+
"pnpm": {
|
|
152
|
+
"onlyBuiltDependencies": [
|
|
153
|
+
"esbuild"
|
|
154
|
+
]
|
|
155
|
+
},
|
|
151
156
|
"publishConfig": {
|
|
152
157
|
"access": "public"
|
|
153
158
|
}
|