@yimou6/common-ui 1.7.8 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cdn/index.cdn.js +10 -9
- package/cdn/index.cdn.js.map +1 -1
- package/cdn/index.cdn.mjs +10 -9
- package/cdn/index.cdn.mjs.map +1 -1
- package/cdn/index.css +1 -1
- package/es/components/concise-logger/index.d.ts +2 -0
- package/es/components/concise-logger/index.mjs +9 -0
- package/es/components/concise-logger/index.mjs.map +1 -0
- package/es/components/concise-logger/src/concise-logger.d.ts +5 -0
- package/es/components/concise-logger/src/concise-logger.mjs +4 -0
- package/es/components/concise-logger/src/concise-logger.mjs.map +1 -0
- package/es/components/concise-logger/src/concise-logger.vue.d.ts +2 -0
- package/es/components/concise-logger/src/concise-logger.vue.mjs +6 -0
- package/es/components/concise-logger/src/concise-logger.vue.mjs.map +1 -0
- package/es/components/concise-logger/src/concise-logger.vue2.mjs +18 -0
- package/es/components/concise-logger/src/concise-logger.vue2.mjs.map +1 -0
- package/es/components/index.d.ts +2 -1
- package/es/components/index.mjs +3 -2
- package/es/components/index.mjs.map +1 -1
- package/es/components/text-button/index.d.ts +238 -1
- package/es/components/text-button/index.mjs +8 -1
- package/es/components/text-button/index.mjs.map +1 -1
- package/es/components/text-button/src/text-button-group.vue.d.ts +92 -0
- package/es/components/text-button/src/text-button-group.vue.mjs +6 -0
- package/es/components/text-button/src/text-button-group.vue.mjs.map +1 -0
- package/es/components/text-button/src/text-button-group.vue2.mjs +56 -0
- package/es/components/text-button/src/text-button-group.vue2.mjs.map +1 -0
- package/es/components/text-button/src/text-button.d.ts +11 -0
- package/es/components/text-button/src/text-button.mjs +7 -1
- package/es/components/text-button/src/text-button.mjs.map +1 -1
- package/es/components/wisdom-chat/index.d.ts +941 -0
- package/es/components/wisdom-chat/index.mjs +8 -0
- package/es/components/wisdom-chat/index.mjs.map +1 -0
- package/es/components/wisdom-chat/src/wisdom-chat.d.ts +82 -0
- package/es/components/wisdom-chat/src/wisdom-chat.mjs +139 -0
- package/es/components/wisdom-chat/src/wisdom-chat.mjs.map +1 -0
- package/es/components/wisdom-chat/src/wisdom-chat.vue.d.ts +941 -0
- package/es/components/wisdom-chat/src/wisdom-chat.vue.mjs +6 -0
- package/es/components/wisdom-chat/src/wisdom-chat.vue.mjs.map +1 -0
- package/es/components/wisdom-chat/src/wisdom-chat.vue2.mjs +393 -0
- package/es/components/wisdom-chat/src/wisdom-chat.vue2.mjs.map +1 -0
- package/es/index.mjs +3 -2
- package/es/index.mjs.map +1 -1
- package/es/installer.mjs +6 -3
- package/es/installer.mjs.map +1 -1
- package/es/utils/provide.d.ts +6 -2
- package/es/utils/provide.mjs.map +1 -1
- package/global.d.ts +2 -0
- package/lib/components/concise-logger/index.d.ts +2 -0
- package/lib/components/concise-logger/index.js +14 -0
- package/lib/components/concise-logger/index.js.map +1 -0
- package/lib/components/concise-logger/src/concise-logger.d.ts +5 -0
- package/lib/components/concise-logger/src/concise-logger.js +6 -0
- package/lib/components/concise-logger/src/concise-logger.js.map +1 -0
- package/lib/components/concise-logger/src/concise-logger.vue.d.ts +2 -0
- package/lib/components/concise-logger/src/concise-logger.vue.js +10 -0
- package/lib/components/concise-logger/src/concise-logger.vue.js.map +1 -0
- package/lib/components/concise-logger/src/concise-logger.vue2.js +22 -0
- package/lib/components/concise-logger/src/concise-logger.vue2.js.map +1 -0
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +8 -5
- package/lib/components/index.js.map +1 -1
- package/lib/components/text-button/index.d.ts +238 -1
- package/lib/components/text-button/index.js +9 -1
- package/lib/components/text-button/index.js.map +1 -1
- package/lib/components/text-button/src/text-button-group.vue.d.ts +92 -0
- package/lib/components/text-button/src/text-button-group.vue.js +10 -0
- package/lib/components/text-button/src/text-button-group.vue.js.map +1 -0
- package/lib/components/text-button/src/text-button-group.vue2.js +60 -0
- package/lib/components/text-button/src/text-button-group.vue2.js.map +1 -0
- package/lib/components/text-button/src/text-button.d.ts +11 -0
- package/lib/components/text-button/src/text-button.js +7 -0
- package/lib/components/text-button/src/text-button.js.map +1 -1
- package/lib/components/wisdom-chat/index.d.ts +941 -0
- package/lib/components/wisdom-chat/index.js +13 -0
- package/lib/components/wisdom-chat/index.js.map +1 -0
- package/lib/components/wisdom-chat/src/wisdom-chat.d.ts +82 -0
- package/lib/components/wisdom-chat/src/wisdom-chat.js +142 -0
- package/lib/components/wisdom-chat/src/wisdom-chat.js.map +1 -0
- package/lib/components/wisdom-chat/src/wisdom-chat.vue.d.ts +941 -0
- package/lib/components/wisdom-chat/src/wisdom-chat.vue.js +10 -0
- package/lib/components/wisdom-chat/src/wisdom-chat.vue.js.map +1 -0
- package/lib/components/wisdom-chat/src/wisdom-chat.vue2.js +397 -0
- package/lib/components/wisdom-chat/src/wisdom-chat.vue2.js.map +1 -0
- package/lib/index.js +12 -9
- package/lib/index.js.map +1 -1
- package/lib/installer.js +5 -2
- package/lib/installer.js.map +1 -1
- package/lib/utils/provide.d.ts +6 -2
- package/lib/utils/provide.js.map +1 -1
- package/package.json +3 -2
- package/theme-default/i-table.css +1 -1
- package/theme-default/i-text-button.css +1 -1
- package/theme-default/i-wisdom-chat.css +1 -0
- package/theme-default/index.css +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/text-button/index.ts"],"sourcesContent":["import { withInstall } from '../../utils';\nimport TextButton from './src/text-button.vue';\n\nexport const ITextButton = withInstall(TextButton)
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/text-button/index.ts"],"sourcesContent":["import { withInstall } from '../../utils';\nimport TextButton from './src/text-button.vue';\nimport TextButtonGroup from './src/text-button-group.vue';\n\nexport const ITextButton = withInstall(TextButton);\nexport const ITextButtonGroup = withInstall(TextButtonGroup);\n\nexport default {\n ITextButton,\n ITextButtonGroup,\n};\n"],"names":["TextButton","TextButtonGroup"],"mappings":";;;;;;;AAIa,MAAA,WAAA,GAAc,YAAYA,SAAU;AACpC,MAAA,gBAAA,GAAmB,YAAYC,WAAe;AAE3D,YAAe;AAAA,EACb,WAAA;AAAA,EACA;AACF,CAAA;;;;"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
group: {
|
|
3
|
+
type: import("vue").PropType<({
|
|
4
|
+
icon: string;
|
|
5
|
+
disabled: boolean;
|
|
6
|
+
} & {
|
|
7
|
+
textColor?: string | undefined;
|
|
8
|
+
} & {
|
|
9
|
+
text?: string;
|
|
10
|
+
slot?: string;
|
|
11
|
+
})[]>;
|
|
12
|
+
default: () => never[];
|
|
13
|
+
};
|
|
14
|
+
}>, {
|
|
15
|
+
ITextButton: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
16
|
+
icon: {
|
|
17
|
+
type: import("vue").PropType<import("./text-button").builtInIconType | string>;
|
|
18
|
+
default: string;
|
|
19
|
+
};
|
|
20
|
+
textColor: StringConstructor;
|
|
21
|
+
disabled: {
|
|
22
|
+
type: BooleanConstructor;
|
|
23
|
+
default: boolean;
|
|
24
|
+
};
|
|
25
|
+
}>, {
|
|
26
|
+
props: import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
27
|
+
icon: {
|
|
28
|
+
type: import("vue").PropType<import("./text-button").builtInIconType | string>;
|
|
29
|
+
default: string;
|
|
30
|
+
};
|
|
31
|
+
textColor: StringConstructor;
|
|
32
|
+
disabled: {
|
|
33
|
+
type: BooleanConstructor;
|
|
34
|
+
default: boolean;
|
|
35
|
+
};
|
|
36
|
+
}>> & Readonly<{
|
|
37
|
+
onClick?: ((evt: MouseEvent) => any) | undefined;
|
|
38
|
+
}> & {}>;
|
|
39
|
+
emits: (event: "click", evt: MouseEvent) => void;
|
|
40
|
+
slots: Readonly<{
|
|
41
|
+
[name: string]: import("vue").Slot<any> | undefined;
|
|
42
|
+
}>;
|
|
43
|
+
textButtonRef: import("vue").ShallowRef<any, any>;
|
|
44
|
+
textButtonIcon: import("vue").Ref<string, string>;
|
|
45
|
+
cacheTextButtonColor: string;
|
|
46
|
+
textButtonColor: import("vue").Ref<string, string>;
|
|
47
|
+
handleMousedown: () => void;
|
|
48
|
+
handleMouseup: () => void;
|
|
49
|
+
handleClick: (evt: MouseEvent) => void;
|
|
50
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
51
|
+
click: (evt: MouseEvent) => boolean;
|
|
52
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
53
|
+
icon: {
|
|
54
|
+
type: import("vue").PropType<import("./text-button").builtInIconType | string>;
|
|
55
|
+
default: string;
|
|
56
|
+
};
|
|
57
|
+
textColor: StringConstructor;
|
|
58
|
+
disabled: {
|
|
59
|
+
type: BooleanConstructor;
|
|
60
|
+
default: boolean;
|
|
61
|
+
};
|
|
62
|
+
}>> & Readonly<{
|
|
63
|
+
onClick?: ((evt: MouseEvent) => any) | undefined;
|
|
64
|
+
}>, {
|
|
65
|
+
icon: string;
|
|
66
|
+
disabled: boolean;
|
|
67
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
68
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
69
|
+
group: {
|
|
70
|
+
type: import("vue").PropType<({
|
|
71
|
+
icon: string;
|
|
72
|
+
disabled: boolean;
|
|
73
|
+
} & {
|
|
74
|
+
textColor?: string | undefined;
|
|
75
|
+
} & {
|
|
76
|
+
text?: string;
|
|
77
|
+
slot?: string;
|
|
78
|
+
})[]>;
|
|
79
|
+
default: () => never[];
|
|
80
|
+
};
|
|
81
|
+
}>> & Readonly<{}>, {
|
|
82
|
+
group: ({
|
|
83
|
+
icon: string;
|
|
84
|
+
disabled: boolean;
|
|
85
|
+
} & {
|
|
86
|
+
textColor?: string | undefined;
|
|
87
|
+
} & {
|
|
88
|
+
text?: string;
|
|
89
|
+
slot?: string;
|
|
90
|
+
})[];
|
|
91
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
92
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-button-group.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { defineComponent, openBlock, createElementBlock, Fragment, renderList, renderSlot, createBlock, withCtx, createTextVNode, toDisplayString } from 'vue';
|
|
2
|
+
import { textButtonGroupProps } from './text-button.mjs';
|
|
3
|
+
import './text-button.vue.mjs';
|
|
4
|
+
import _sfc_main$1 from './text-button.vue2.mjs';
|
|
5
|
+
|
|
6
|
+
const _hoisted_1 = { class: "i-text-button-group" };
|
|
7
|
+
var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
|
+
...{
|
|
9
|
+
name: "ITextButtonGroup"
|
|
10
|
+
},
|
|
11
|
+
__name: "text-button-group",
|
|
12
|
+
props: textButtonGroupProps,
|
|
13
|
+
setup(__props) {
|
|
14
|
+
return (_ctx, _cache) => {
|
|
15
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
16
|
+
(openBlock(true), createElementBlock(
|
|
17
|
+
Fragment,
|
|
18
|
+
null,
|
|
19
|
+
renderList(_ctx.group, (button, index) => {
|
|
20
|
+
return openBlock(), createElementBlock(
|
|
21
|
+
Fragment,
|
|
22
|
+
{
|
|
23
|
+
key: `${index}${button == null ? void 0 : button.text}`
|
|
24
|
+
},
|
|
25
|
+
[
|
|
26
|
+
button.slot ? renderSlot(_ctx.$slots, button.slot, { key: 0 }) : (openBlock(), createBlock(_sfc_main$1, {
|
|
27
|
+
key: 1,
|
|
28
|
+
icon: button.icon,
|
|
29
|
+
"text-color": button.textColor,
|
|
30
|
+
disabled: button.disabled
|
|
31
|
+
}, {
|
|
32
|
+
default: withCtx(() => [
|
|
33
|
+
createTextVNode(
|
|
34
|
+
toDisplayString(button == null ? void 0 : button.text),
|
|
35
|
+
1
|
|
36
|
+
/* TEXT */
|
|
37
|
+
)
|
|
38
|
+
]),
|
|
39
|
+
_: 2
|
|
40
|
+
/* DYNAMIC */
|
|
41
|
+
}, 1032, ["icon", "text-color", "disabled"]))
|
|
42
|
+
],
|
|
43
|
+
64
|
|
44
|
+
/* STABLE_FRAGMENT */
|
|
45
|
+
);
|
|
46
|
+
}),
|
|
47
|
+
128
|
|
48
|
+
/* KEYED_FRAGMENT */
|
|
49
|
+
))
|
|
50
|
+
]);
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
export { _sfc_main as default };
|
|
56
|
+
//# sourceMappingURL=text-button-group.vue2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-button-group.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -19,5 +19,16 @@ export declare const textButtonEmits: {
|
|
|
19
19
|
export type TextButtonEmits = typeof textButtonEmits;
|
|
20
20
|
export type TextButtonPropsType = ExtractPropTypes<typeof textButtonProps>;
|
|
21
21
|
export type TextButtonInstance = InstanceType<typeof TextButton>;
|
|
22
|
+
type TextButtonGroupItemType = TextButtonPropsType & {
|
|
23
|
+
text?: string;
|
|
24
|
+
slot?: string;
|
|
25
|
+
};
|
|
26
|
+
export declare const textButtonGroupProps: {
|
|
27
|
+
group: {
|
|
28
|
+
type: PropType<TextButtonGroupItemType[]>;
|
|
29
|
+
default: () => never[];
|
|
30
|
+
};
|
|
31
|
+
};
|
|
22
32
|
export declare function darkenColor(color: string, level: number): string;
|
|
23
33
|
export declare function getElementColor(el: HTMLElement): string;
|
|
34
|
+
export {};
|
|
@@ -30,6 +30,12 @@ const textButtonProps = {
|
|
|
30
30
|
const textButtonEmits = {
|
|
31
31
|
click: /* @__PURE__ */ __name((evt) => evt instanceof MouseEvent, "click")
|
|
32
32
|
};
|
|
33
|
+
const textButtonGroupProps = {
|
|
34
|
+
group: {
|
|
35
|
+
type: Array,
|
|
36
|
+
default: /* @__PURE__ */ __name(() => [], "default")
|
|
37
|
+
}
|
|
38
|
+
};
|
|
33
39
|
function darkenColor(color, level) {
|
|
34
40
|
let match = color.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/i);
|
|
35
41
|
if (!match) {
|
|
@@ -61,5 +67,5 @@ function hexToRgb(hex) {
|
|
|
61
67
|
}
|
|
62
68
|
__name(hexToRgb, "hexToRgb");
|
|
63
69
|
|
|
64
|
-
export { builtInIcon, darkenColor, getElementColor, textButtonEmits, textButtonProps };
|
|
70
|
+
export { builtInIcon, darkenColor, getElementColor, textButtonEmits, textButtonGroupProps, textButtonProps };
|
|
65
71
|
//# sourceMappingURL=text-button.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-button.mjs","sources":["../../../../../../../packages/components/text-button/src/text-button.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType } from 'vue';\nimport type TextButton from './text-button.vue';\n\n// 内置图标\nexport type builtInIconType = 'edit' | 'add' | 'view' | 'del' | 'download' | 'upload' | 'import' | 'export';\n// 内置图标配置\nexport const builtInIcon: Record<builtInIconType, any> = {\n add: { icon: 'icon-xinzeng' },\n del: { icon: 'icon-shanchu', color: 'var(--el-color-danger)' },\n edit: { icon: 'icon-xiugai' },\n view: { icon: 'icon-chakan' },\n download: { icon: 'icon-xiazai11' },\n upload: { icon: 'icon-shangchuan1' },\n import: { icon: 'icon-daoru' },\n export: { icon: 'icon-daochu' },\n};\n\nexport const textButtonProps = {\n // 按钮图标\n // 1、内置图标:add(新增),del(删除),edit(编辑),view(详情),download(下载),upload(上传),import(导入),export(导出)\n // 2、可使用iconfont的图标\n // 3、可使用slot.icon自定义图标\n icon: {\n type: String as PropType<builtInIconType | string>,\n default: '',\n },\n // 按钮文字颜色\n textColor: String,\n // 是否禁用\n disabled: {\n type: Boolean,\n default: false,\n },\n};\n\nexport const textButtonEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n};\n\nexport type TextButtonEmits = typeof textButtonEmits;\nexport type TextButtonPropsType = ExtractPropTypes<typeof textButtonProps>;\nexport type TextButtonInstance = InstanceType<typeof TextButton>;\n\n/**\n * 颜色加深\n * @param color\n * @param level 颜色加深程度,取值范围[0,1]\n */\nexport function darkenColor(color: string, level: number): string {\n // 解析颜色值\n let match = color.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/i);\n if (!match) {\n // 如果不是rgb或rgba格式,则尝试转换为16进制\n color = hexToRgb(color);\n match = color.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/i);\n }\n if (!match) {\n throw new Error('Invalid color format');\n }\n const [r, g, b, a] = match.slice(1).map((val, i) => (i === 3 ? parseFloat(val) : parseInt(val, 10)));\n // 计算加深后的颜色\n const darkenedR = Math.max(0, r - 255 * level);\n const darkenedG = Math.max(0, g - 255 * level);\n const darkenedB = Math.max(0, b - 255 * level);\n // 返回加深后的颜色\n return `rgba(${darkenedR}, ${darkenedG}, ${darkenedB}, ${a || 1})`;\n}\n\n/**\n * 获取当前Element的颜色(color)\n */\nexport function getElementColor(el: HTMLElement): string {\n const computedStyle = window.getComputedStyle(el);\n return computedStyle.color;\n}\n\n/**\n * 将16进制颜色转换为rgb格式\n * @param hex\n */\nfunction hexToRgb(hex: string): string {\n hex = hex.replace(/^#/, '');\n const bigint = parseInt(hex, 16);\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n return `rgb(${r}, ${g}, ${b})`;\n}\n"],"names":[],"mappings":";;AAMO,MAAM,WAA4C,GAAA;AAAA,EACvD,GAAA,EAAK,EAAE,IAAA,EAAM,cAAe,EAAA;AAAA,EAC5B,GAAK,EAAA,EAAE,IAAM,EAAA,cAAA,EAAgB,OAAO,wBAAyB,EAAA;AAAA,EAC7D,IAAA,EAAM,EAAE,IAAA,EAAM,aAAc,EAAA;AAAA,EAC5B,IAAA,EAAM,EAAE,IAAA,EAAM,aAAc,EAAA;AAAA,EAC5B,QAAA,EAAU,EAAE,IAAA,EAAM,eAAgB,EAAA;AAAA,EAClC,MAAA,EAAQ,EAAE,IAAA,EAAM,kBAAmB,EAAA;AAAA,EACnC,MAAA,EAAQ,EAAE,IAAA,EAAM,YAAa,EAAA;AAAA,EAC7B,MAAA,EAAQ,EAAE,IAAA,EAAM,aAAc;AAChC;AAEO,MAAM,eAAkB,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA;AAAA,GACX;AAAA;AAAA,EAEA,SAAW,EAAA,MAAA;AAAA;AAAA,EAEX,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA;AAAA;AAEb;AAEO,MAAM,eAAkB,GAAA;AAAA,EAC7B,KAAO,kBAAA,MAAA,CAAA,CAAC,GAAoB,KAAA,GAAA,YAAe,UAApC,EAAA,OAAA;AACT;
|
|
1
|
+
{"version":3,"file":"text-button.mjs","sources":["../../../../../../../packages/components/text-button/src/text-button.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType } from 'vue';\nimport type TextButton from './text-button.vue';\n\n// 内置图标\nexport type builtInIconType = 'edit' | 'add' | 'view' | 'del' | 'download' | 'upload' | 'import' | 'export';\n// 内置图标配置\nexport const builtInIcon: Record<builtInIconType, any> = {\n add: { icon: 'icon-xinzeng' },\n del: { icon: 'icon-shanchu', color: 'var(--el-color-danger)' },\n edit: { icon: 'icon-xiugai' },\n view: { icon: 'icon-chakan' },\n download: { icon: 'icon-xiazai11' },\n upload: { icon: 'icon-shangchuan1' },\n import: { icon: 'icon-daoru' },\n export: { icon: 'icon-daochu' },\n};\n\nexport const textButtonProps = {\n // 按钮图标\n // 1、内置图标:add(新增),del(删除),edit(编辑),view(详情),download(下载),upload(上传),import(导入),export(导出)\n // 2、可使用iconfont的图标\n // 3、可使用slot.icon自定义图标\n icon: {\n type: String as PropType<builtInIconType | string>,\n default: '',\n },\n // 按钮文字颜色\n textColor: String,\n // 是否禁用\n disabled: {\n type: Boolean,\n default: false,\n },\n};\n\nexport const textButtonEmits = {\n click: (evt: MouseEvent) => evt instanceof MouseEvent,\n};\n\nexport type TextButtonEmits = typeof textButtonEmits;\nexport type TextButtonPropsType = ExtractPropTypes<typeof textButtonProps>;\nexport type TextButtonInstance = InstanceType<typeof TextButton>;\n\ntype TextButtonGroupItemType = TextButtonPropsType & {\n text?: string;\n slot?: string;\n};\nexport const textButtonGroupProps = {\n group: {\n type: Array as PropType<TextButtonGroupItemType[]>,\n default: () => [],\n },\n};\n\n/**\n * 颜色加深\n * @param color\n * @param level 颜色加深程度,取值范围[0,1]\n */\nexport function darkenColor(color: string, level: number): string {\n // 解析颜色值\n let match = color.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/i);\n if (!match) {\n // 如果不是rgb或rgba格式,则尝试转换为16进制\n color = hexToRgb(color);\n match = color.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d+(?:\\.\\d+)?))?\\)$/i);\n }\n if (!match) {\n throw new Error('Invalid color format');\n }\n const [r, g, b, a] = match.slice(1).map((val, i) => (i === 3 ? parseFloat(val) : parseInt(val, 10)));\n // 计算加深后的颜色\n const darkenedR = Math.max(0, r - 255 * level);\n const darkenedG = Math.max(0, g - 255 * level);\n const darkenedB = Math.max(0, b - 255 * level);\n // 返回加深后的颜色\n return `rgba(${darkenedR}, ${darkenedG}, ${darkenedB}, ${a || 1})`;\n}\n\n/**\n * 获取当前Element的颜色(color)\n */\nexport function getElementColor(el: HTMLElement): string {\n const computedStyle = window.getComputedStyle(el);\n return computedStyle.color;\n}\n\n/**\n * 将16进制颜色转换为rgb格式\n * @param hex\n */\nfunction hexToRgb(hex: string): string {\n hex = hex.replace(/^#/, '');\n const bigint = parseInt(hex, 16);\n const r = (bigint >> 16) & 255;\n const g = (bigint >> 8) & 255;\n const b = bigint & 255;\n return `rgb(${r}, ${g}, ${b})`;\n}\n"],"names":[],"mappings":"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"}
|