@hkyhy/marsun-components-core 0.1.12 → 0.1.17
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/README.md +31 -6
- package/dist/components/AgentHub/Chat/Action/CreateButton.js +8 -0
- package/dist/components/AgentHub/Chat/Action/CreateButton.js.map +1 -0
- package/dist/components/AgentHub/Chat/Action/ManageActionButtons.js +20 -0
- package/dist/components/AgentHub/Chat/Action/ManageActionButtons.js.map +1 -0
- package/dist/components/AgentHub/Chat/Action/SessionActionButtons.js +24 -0
- package/dist/components/AgentHub/Chat/Action/SessionActionButtons.js.map +1 -0
- package/dist/components/AgentHub/Chat/Action/handlers.d.ts +0 -5
- package/dist/components/AgentHub/Chat/Detail/ChatInput/index.js +65 -0
- package/dist/components/AgentHub/Chat/Detail/ChatInput/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ChatInput/style.module.scss.js +12 -0
- package/dist/components/AgentHub/Chat/Detail/ChatInput/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ChatPanel/index.d.ts +31 -0
- package/dist/components/AgentHub/Chat/Detail/ChatPanel/index.js +85 -0
- package/dist/components/AgentHub/Chat/Detail/ChatPanel/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ChatPanel/style.module.scss.js +14 -0
- package/dist/components/AgentHub/Chat/Detail/ChatPanel/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ChatSuggestionRow/index.d.ts +9 -0
- package/dist/components/AgentHub/Chat/Detail/ChatSuggestionRow/index.js +22 -0
- package/dist/components/AgentHub/Chat/Detail/ChatSuggestionRow/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ChatSuggestionRow/style.module.scss.js +8 -0
- package/dist/components/AgentHub/Chat/Detail/ChatSuggestionRow/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationContent/index.js +21 -0
- package/dist/components/AgentHub/Chat/Detail/CitationContent/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationContent/style.module.scss.js +8 -0
- package/dist/components/AgentHub/Chat/Detail/CitationContent/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationInlineBadge/index.js +17 -0
- package/dist/components/AgentHub/Chat/Detail/CitationInlineBadge/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationInlineBadge/style.module.scss.js +7 -0
- package/dist/components/AgentHub/Chat/Detail/CitationInlineBadge/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationMarkdownContent/index.js +68 -0
- package/dist/components/AgentHub/Chat/Detail/CitationMarkdownContent/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationMarkdownContent/style.module.scss.js +7 -0
- package/dist/components/AgentHub/Chat/Detail/CitationMarkdownContent/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationPanel/index.js +247 -0
- package/dist/components/AgentHub/Chat/Detail/CitationPanel/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/CitationPanel/style.module.scss.js +31 -0
- package/dist/components/AgentHub/Chat/Detail/CitationPanel/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MermaidBlock/index.js +43 -0
- package/dist/components/AgentHub/Chat/Detail/MermaidBlock/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MermaidBlock/style.module.scss.js +8 -0
- package/dist/components/AgentHub/Chat/Detail/MermaidBlock/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageActions/index.js +103 -0
- package/dist/components/AgentHub/Chat/Detail/MessageActions/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageActions/style.module.scss.js +14 -0
- package/dist/components/AgentHub/Chat/Detail/MessageActions/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageEditPopover/index.js +58 -0
- package/dist/components/AgentHub/Chat/Detail/MessageEditPopover/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageEditPopover/style.module.scss.js +9 -0
- package/dist/components/AgentHub/Chat/Detail/MessageEditPopover/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageItem/index.js +309 -0
- package/dist/components/AgentHub/Chat/Detail/MessageItem/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/MessageItem/style.module.scss.js +24 -0
- package/dist/components/AgentHub/Chat/Detail/MessageItem/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ThinkingSection/index.js +122 -0
- package/dist/components/AgentHub/Chat/Detail/ThinkingSection/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/ThinkingSection/style.module.scss.js +25 -0
- package/dist/components/AgentHub/Chat/Detail/ThinkingSection/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Detail/index.d.ts +12 -0
- package/dist/components/AgentHub/Chat/Form/Form.js +37 -0
- package/dist/components/AgentHub/Chat/Form/Form.js.map +1 -0
- package/dist/components/AgentHub/Chat/List/ChatCard/index.js +86 -0
- package/dist/components/AgentHub/Chat/List/ChatCard/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/List/ChatCard/style.module.scss.js +25 -0
- package/dist/components/AgentHub/Chat/List/ChatCard/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/List/FilterBar.js +17 -0
- package/dist/components/AgentHub/Chat/List/FilterBar.js.map +1 -0
- package/dist/components/AgentHub/Chat/List/SessionSidebar/index.js +156 -0
- package/dist/components/AgentHub/Chat/List/SessionSidebar/index.js.map +1 -0
- package/dist/components/AgentHub/Chat/List/SessionSidebar/style.module.scss.js +28 -0
- package/dist/components/AgentHub/Chat/List/SessionSidebar/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/Chat/Modal/FormModal.js +58 -0
- package/dist/components/AgentHub/Chat/Modal/FormModal.js.map +1 -0
- package/dist/components/AgentHub/Chat/hooks/useAutoScrollToBottom.js +35 -0
- package/dist/components/AgentHub/Chat/hooks/useAutoScrollToBottom.js.map +1 -0
- package/dist/components/AgentHub/Chat/hooks/useChat.js +51 -0
- package/dist/components/AgentHub/Chat/hooks/useChat.js.map +1 -0
- package/dist/components/AgentHub/Chat/hooks/useChatSessions.js +60 -0
- package/dist/components/AgentHub/Chat/hooks/useChatSessions.js.map +1 -0
- package/dist/components/AgentHub/Chat/hooks/useSSECompletion.js +69 -0
- package/dist/components/AgentHub/Chat/hooks/useSSECompletion.js.map +1 -0
- package/dist/components/AgentHub/Chat/hooks/useTypewriter.js +39 -0
- package/dist/components/AgentHub/Chat/hooks/useTypewriter.js.map +1 -0
- package/dist/components/AgentHub/Chat/index.d.ts +1 -0
- package/dist/components/AgentHub/Chat/utils/citationContent.js +169 -0
- package/dist/components/AgentHub/Chat/utils/citationContent.js.map +1 -0
- package/dist/components/AgentHub/Chat/utils/messageContent.js +85 -0
- package/dist/components/AgentHub/Chat/utils/messageContent.js.map +1 -0
- package/dist/components/AgentHub/Chat/utils/sanitizeMermaidChart.js +22 -0
- package/dist/components/AgentHub/Chat/utils/sanitizeMermaidChart.js.map +1 -0
- package/dist/components/AgentHub/Chat/utils/sessionMessages.js +151 -0
- package/dist/components/AgentHub/Chat/utils/sessionMessages.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Action/CreateButton.js +8 -0
- package/dist/components/AgentHub/KnowledgeBase/Action/CreateButton.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Action/ManageActionButtons.js +20 -0
- package/dist/components/AgentHub/KnowledgeBase/Action/ManageActionButtons.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/index.js +110 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/index.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/style.module.scss.js +7 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/DocumentTable/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/ParseStatusTag/index.js +18 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/ParseStatusTag/index.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/ParseStatusTag/style.module.scss.js +7 -0
- package/dist/components/AgentHub/KnowledgeBase/Detail/ParseStatusTag/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Form/Form.js +31 -0
- package/dist/components/AgentHub/KnowledgeBase/Form/Form.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/List/FilterBar.js +17 -0
- package/dist/components/AgentHub/KnowledgeBase/List/FilterBar.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/List/KnowledgeCard/index.js +118 -0
- package/dist/components/AgentHub/KnowledgeBase/List/KnowledgeCard/index.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/List/KnowledgeCard/style.module.scss.js +23 -0
- package/dist/components/AgentHub/KnowledgeBase/List/KnowledgeCard/style.module.scss.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/Modal/FormModal.js +47 -0
- package/dist/components/AgentHub/KnowledgeBase/Modal/FormModal.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/constants/types.js +28 -0
- package/dist/components/AgentHub/KnowledgeBase/constants/types.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/hooks/useKBDocuments.js +21 -0
- package/dist/components/AgentHub/KnowledgeBase/hooks/useKBDocuments.js.map +1 -0
- package/dist/components/AgentHub/KnowledgeBase/hooks/useKnowledgeBase.js +32 -0
- package/dist/components/AgentHub/KnowledgeBase/hooks/useKnowledgeBase.js.map +1 -0
- package/dist/components/Filter/CommonFilter/index.js +34 -30
- package/dist/components/Filter/CommonFilter/index.js.map +1 -1
- package/dist/components/Filter/CommonFilter/style.module.scss.js +17 -16
- package/dist/components/Filter/CommonFilter/style.module.scss.js.map +1 -1
- package/dist/components/Filter/FilterDateRange/index.d.ts +2 -0
- package/dist/components/Filter/FilterDateRange/index.js +62 -51
- package/dist/components/Filter/FilterDateRange/index.js.map +1 -1
- package/dist/components/Filter/FilterSelect/index.d.ts +8 -2
- package/dist/components/Filter/FilterSelect/index.js +163 -116
- package/dist/components/Filter/FilterSelect/index.js.map +1 -1
- package/dist/components/Filter/FilterSelect/style.module.scss.js +12 -10
- package/dist/components/Filter/FilterSelect/style.module.scss.js.map +1 -1
- package/dist/components/Filter/FilterTrigger/index.d.ts +2 -2
- package/dist/components/Filter/FilterTrigger/index.js.map +1 -1
- package/dist/components/Filter/FilterTrigger/style.module.scss.js +4 -4
- package/dist/components/Filter/index.d.ts +1 -1
- package/dist/components/Filter/types.d.ts +2 -0
- package/dist/components/Filter/types.js.map +1 -1
- package/dist/components/Filter/useFilterState.d.ts +2 -0
- package/dist/components/Filter/useFilterState.js +27 -26
- package/dist/components/Filter/useFilterState.js.map +1 -1
- package/dist/components/Icons/index.js +153 -145
- package/dist/components/Icons/index.js.map +1 -1
- package/dist/components/TooltipInfo/TooltipInfo.js +29 -20
- package/dist/components/TooltipInfo/TooltipInfo.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +295 -186
- package/dist/index.js.map +1 -1
- package/dist/marsun-components-core.css +1 -1
- package/dist/styles/global.css +1 -1
- package/dist/theme/constants.d.ts +47 -1
- package/dist/theme/constants.js +50 -5
- package/dist/theme/constants.js.map +1 -1
- package/dist/theme/index.d.ts +2 -2
- package/dist/theme/index.js +8 -6
- package/dist/theme/theme.d.ts +10 -0
- package/dist/theme/theme.js +24 -34
- package/dist/theme/theme.js.map +1 -1
- package/dist/theme/tokens.css +139 -0
- package/package.json +7 -3
package/dist/theme/theme.d.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import { ThemeConfig } from 'antd';
|
|
2
|
+
/**
|
|
3
|
+
* Marsun Components Core - Ant Design 主题配置
|
|
4
|
+
*
|
|
5
|
+
* 分层说明:
|
|
6
|
+
* 1. Design Token(全局层):颜色、字号、间距、圆角等基础变量
|
|
7
|
+
* 2. Semantic Token(语义层):别名 token,映射全局 token 的语义用途
|
|
8
|
+
* 3. Component Token(组件层):按组件定制,替代 global.css 中的 :global 覆盖
|
|
9
|
+
*/
|
|
2
10
|
/**
|
|
3
11
|
* 根据主色生成完整的 Ant Design 主题配置
|
|
4
12
|
* @param primaryColor - 主题主色,来自系统设置
|
|
@@ -9,3 +17,5 @@ export declare function generateTheme(primaryColor: string): ThemeConfig;
|
|
|
9
17
|
* 用于 SCSS 和非 antd 组件的样式引用
|
|
10
18
|
*/
|
|
11
19
|
export declare function applyThemeToCssVariables(primaryColor: string): void;
|
|
20
|
+
/** 项目级 CSS 变量覆盖(在 applyThemeToCssVariables 之后调用) */
|
|
21
|
+
export declare function applyCssTokenOverrides(overrides: Record<string, string>, target?: HTMLElement): void;
|
package/dist/theme/theme.js
CHANGED
|
@@ -1,26 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
/** 成功色 */
|
|
3
|
-
success: "#027A48",
|
|
4
|
-
/** 信息色 */
|
|
5
|
-
info: "#155ACF",
|
|
6
|
-
/** 错误/危险色 */
|
|
7
|
-
error: "#D14343",
|
|
8
|
-
/** 警告色 */
|
|
9
|
-
warning: "#F09700",
|
|
10
|
-
/** 字体色 */
|
|
11
|
-
textBase: "#222222",
|
|
12
|
-
textSecondary: "#666666",
|
|
13
|
-
textTertiary: "#999999",
|
|
14
|
-
textDisabled: "rgba(0, 0, 0, 0.25)",
|
|
15
|
-
borderSeparator: "#f3f3f3",
|
|
16
|
-
/** 背景色 */
|
|
17
|
-
bgWhite: "#ffffff",
|
|
18
|
-
bgGrey: "#fafafa",
|
|
19
|
-
bgGreyLight: "#f8f8f8",
|
|
20
|
-
bgGreyNormal: "#f3f3f3",
|
|
21
|
-
bgGreyDark: "#f1f1f1",
|
|
22
|
-
bgBlueTint: "#fafcff"
|
|
23
|
-
};
|
|
1
|
+
import { PALETTE as e, LAYOUT_TOKENS as r } from "./constants.js";
|
|
24
2
|
function d(o) {
|
|
25
3
|
return {
|
|
26
4
|
token: {
|
|
@@ -41,7 +19,7 @@ function d(o) {
|
|
|
41
19
|
colorBgContainer: e.bgWhite,
|
|
42
20
|
colorBgLayout: e.bgGrey,
|
|
43
21
|
colorBgElevated: e.bgWhite,
|
|
44
|
-
|
|
22
|
+
// colorTextLightSolid 勿改为 tooltip 深色 — Button primary 文字依赖此 token(须为浅色)
|
|
45
23
|
// 边框
|
|
46
24
|
colorBorder: e.borderSeparator,
|
|
47
25
|
colorBorderSecondary: e.borderSeparator,
|
|
@@ -91,7 +69,9 @@ function d(o) {
|
|
|
91
69
|
controlHeight: 32,
|
|
92
70
|
controlHeightSM: 24,
|
|
93
71
|
controlHeightLG: 40,
|
|
94
|
-
controlHeightXS: 16
|
|
72
|
+
controlHeightXS: 16,
|
|
73
|
+
// ====== 弹层 ======
|
|
74
|
+
zIndexPopupBase: r.zIndexPopupBase
|
|
95
75
|
},
|
|
96
76
|
components: {
|
|
97
77
|
// ====== Button ======
|
|
@@ -107,7 +87,9 @@ function d(o) {
|
|
|
107
87
|
dangerShadow: "none",
|
|
108
88
|
borderRadius: 4,
|
|
109
89
|
borderRadiusSM: 4,
|
|
110
|
-
borderRadiusLG: 4
|
|
90
|
+
borderRadiusLG: 4,
|
|
91
|
+
primaryColor: e.bgWhite,
|
|
92
|
+
dangerColor: e.bgWhite
|
|
111
93
|
},
|
|
112
94
|
// ====== Table ======
|
|
113
95
|
Table: {
|
|
@@ -182,8 +164,9 @@ function d(o) {
|
|
|
182
164
|
},
|
|
183
165
|
// ====== Tooltip ======
|
|
184
166
|
Tooltip: {
|
|
185
|
-
colorBgSpotlight: e.
|
|
186
|
-
colorTextLightSolid: e.
|
|
167
|
+
colorBgSpotlight: e.tooltipBg,
|
|
168
|
+
colorTextLightSolid: e.tooltipColor,
|
|
169
|
+
zIndexPopup: r.zIndexPopupBase
|
|
187
170
|
},
|
|
188
171
|
// ====== Popover ======
|
|
189
172
|
Popover: {
|
|
@@ -271,16 +254,23 @@ function g(o) {
|
|
|
271
254
|
b: parseInt(t.substring(4, 6), 16)
|
|
272
255
|
};
|
|
273
256
|
}
|
|
274
|
-
function a(o, t,
|
|
275
|
-
const { r, g:
|
|
276
|
-
o.style.setProperty(`--${t}-bg`, `rgba(${
|
|
257
|
+
function a(o, t, n) {
|
|
258
|
+
const { r: i, g: l, b: s } = g(n);
|
|
259
|
+
o.style.setProperty(`--${t}-bg`, `rgba(${i}, ${l}, ${s}, 0.06)`), o.style.setProperty(`--${t}-bg-hover`, `rgba(${i}, ${l}, ${s}, 0.10)`), o.style.setProperty(`--${t}-bg-active`, `rgba(${i}, ${l}, ${s}, 0.16)`), o.style.setProperty(`--${t}-border`, `rgba(${i}, ${l}, ${s}, 0.20)`), o.style.setProperty(`--${t}-fill`, `rgba(${i}, ${l}, ${s}, 0.10)`);
|
|
277
260
|
}
|
|
278
|
-
function
|
|
261
|
+
function y(o) {
|
|
279
262
|
const t = document.documentElement;
|
|
280
|
-
t.style.setProperty("--primary-color", o), t.style.setProperty("--success-color", e.success), t.style.setProperty("--info-color", e.info), t.style.setProperty("--error-color", e.error), t.style.setProperty("--warning-color", e.warning), a(t, "primary-color", o), a(t, "success-color", e.success), a(t, "info-color", e.info), a(t, "error-color", e.error), a(t, "warning-color", e.warning);
|
|
263
|
+
t.style.setProperty("--primary-color", o), t.style.setProperty("--success-color", e.success), t.style.setProperty("--info-color", e.info), t.style.setProperty("--error-color", e.error), t.style.setProperty("--warning-color", e.warning), t.style.setProperty("--layout-header-height", r.headerHeight), t.style.setProperty("--layout-sider-width", r.siderWidth), t.style.setProperty("--font-size-default", r.fontSizeDefault), t.style.setProperty("--font-size-small", r.fontSizeSmall), t.style.setProperty("--font-size-large", r.fontSizeLarge), t.style.setProperty("--font-size-18", r.fontSize18), t.style.setProperty("--font-size-24", r.fontSize24), t.style.setProperty("--line-height-default", r.lineHeightDefault), t.style.setProperty("--line-height-middle", r.lineHeightMiddle), t.style.setProperty("--line-height-small", r.lineHeightSmall), t.style.setProperty("--line-height-large", r.lineHeightLarge), t.style.setProperty("--font-color", e.textBase), t.style.setProperty("--font-color-disabled", e.textDisabled), t.style.setProperty("--font-color-grey", e.textSecondary), t.style.setProperty("--font-color-grey-1", e.textTertiary), t.style.setProperty("--font-color-grey-2", e.borderBase), t.style.setProperty("--font-color-grey-3", e.borderLight), t.style.setProperty("--font-color-grey-4", e.borderLighter), t.style.setProperty("--bg-color-white", e.bgWhite), t.style.setProperty("--bg-color-grey", e.bgGrey), t.style.setProperty("--bg-color-grey-1", e.bgGreyLight), t.style.setProperty("--bg-color-grey-2", e.bgGreyNormal), t.style.setProperty("--bg-color-grey-3", e.bgGreyDark), t.style.setProperty("--bg-color-grey-4", e.bgBlueTint), t.style.setProperty("--tag-default", e.tagDefault), t.style.setProperty("--tag-success", e.tagSuccess), t.style.setProperty("--tag-progress", e.tagProgress), t.style.setProperty("--tag-danger", e.tagDanger), t.style.setProperty("--tag-info", e.tagInfo), t.style.setProperty("--tag-other", e.tagOther), t.style.setProperty("--file-icon-word", e.fileIconWord), t.style.setProperty("--file-icon-pdf", e.fileIconPdf), t.style.setProperty("--file-icon-excel", e.fileIconExcel), t.style.setProperty("--file-icon-ppt", e.fileIconPpt), t.style.setProperty("--file-icon-image", e.fileIconImage), t.style.setProperty("--file-icon-markdown", e.fileIconMarkdown), t.style.setProperty("--file-icon-visio", e.fileIconVisio), t.style.setProperty("--file-icon-archive", e.fileIconArchive), t.style.setProperty("--file-icon-folder", e.fileIconFolder), t.style.setProperty("--file-icon-other", e.fileIconOther), t.style.setProperty("--tooltip-bg", e.tooltipBg), t.style.setProperty("--tooltip-color", e.tooltipColor), t.style.setProperty("--tooltip-info-bg", e.bgWhite), t.style.setProperty("--tooltip-info-color", e.textBase), a(t, "primary-color", o), a(t, "success-color", e.success), a(t, "info-color", e.info), a(t, "error-color", e.error), a(t, "warning-color", e.warning);
|
|
264
|
+
}
|
|
265
|
+
function p(o, t = document.documentElement) {
|
|
266
|
+
Object.entries(o).forEach(([n, i]) => {
|
|
267
|
+
const l = n.startsWith("--") ? n : `--${n}`;
|
|
268
|
+
t.style.setProperty(l, i);
|
|
269
|
+
});
|
|
281
270
|
}
|
|
282
271
|
export {
|
|
283
|
-
|
|
272
|
+
p as applyCssTokenOverrides,
|
|
273
|
+
y as applyThemeToCssVariables,
|
|
284
274
|
d as generateTheme
|
|
285
275
|
};
|
|
286
276
|
//# sourceMappingURL=theme.js.map
|
package/dist/theme/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","sources":["../../src/theme/theme.ts"],"sourcesContent":["import type { ThemeConfig } from 'antd';\n\n/**\n * Marsun Components Core - Ant Design 主题配置\n *\n * 分层说明:\n * 1. Design Token(全局层):颜色、字号、间距、圆角等基础变量\n * 2. Semantic Token(语义层):别名 token,映射全局 token 的语义用途\n * 3. Component Token(组件层):按组件定制,替代 global.css 中的 :global 覆盖\n */\n\n/** ========== 基础色板(与 CSS 变量一一对应) ========== */\nconst PALETTE = {\n /** 主色 */\n primary: '#1677ff',\n /** 成功色 */\n success: '#027A48',\n /** 信息色 */\n info: '#155ACF',\n /** 错误/危险色 */\n error: '#D14343',\n /** 警告色 */\n warning: '#F09700',\n\n /** 字体色 */\n textBase: '#222222',\n textSecondary: '#666666',\n textTertiary: '#999999',\n textDisabled: 'rgba(0, 0, 0, 0.25)',\n\n /** 边框色 */\n borderBase: '#cccccc',\n borderLight: '#dddddd',\n borderLighter: '#eeeeee',\n borderSeparator: '#f3f3f3',\n\n /** 背景色 */\n bgWhite: '#ffffff',\n bgGrey: '#fafafa',\n bgGreyLight: '#f8f8f8',\n bgGreyNormal: '#f3f3f3',\n bgGreyDark: '#f1f1f1',\n bgBlueTint: '#fafcff',\n} as const;\n\n/**\n * 根据主色生成完整的 Ant Design 主题配置\n * @param primaryColor - 主题主色,来自系统设置\n */\nexport function generateTheme(primaryColor: string): ThemeConfig {\n return {\n token: {\n // ====== 颜色 ======\n colorPrimary: primaryColor,\n colorSuccess: PALETTE.success,\n colorWarning: PALETTE.warning,\n colorError: PALETTE.error,\n colorInfo: PALETTE.info,\n colorLink: primaryColor,\n colorTextBase: PALETTE.textBase,\n\n // 文字\n colorText: PALETTE.textBase,\n colorTextSecondary: PALETTE.textSecondary,\n colorTextTertiary: PALETTE.textTertiary,\n colorTextDisabled: PALETTE.textDisabled,\n\n // 背景\n colorBgContainer: PALETTE.bgWhite,\n colorBgLayout: PALETTE.bgGrey,\n colorBgElevated: PALETTE.bgWhite,\n colorBgSpotlight: PALETTE.bgGreyDark,\n\n // 边框\n colorBorder: PALETTE.borderSeparator,\n colorBorderSecondary: PALETTE.borderSeparator,\n colorSplit: PALETTE.borderSeparator,\n\n // 填充\n colorFill: PALETTE.bgGreyDark,\n colorFillSecondary: PALETTE.bgGreyNormal,\n colorFillTertiary: PALETTE.bgGreyLight,\n colorFillQuaternary: PALETTE.bgGrey,\n\n // ====== 字体 ======\n fontSize: 14,\n fontSizeSM: 12,\n fontSizeLG: 16,\n fontSizeXL: 20,\n fontSizeHeading1: 38,\n fontSizeHeading2: 30,\n fontSizeHeading3: 24,\n fontSizeHeading4: 20,\n fontSizeHeading5: 16,\n fontFamily:\n \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'\",\n lineHeight: 1.8,\n lineHeightSM: 1.5,\n lineHeightLG: 2.2,\n\n // ====== 圆角 ======\n borderRadius: 4,\n borderRadiusSM: 2,\n borderRadiusLG: 8,\n\n // ====== 间距 ======\n padding: 16,\n paddingSM: 12,\n paddingLG: 24,\n paddingXL: 32,\n paddingXS: 8,\n margin: 16,\n marginSM: 12,\n marginLG: 24,\n marginXL: 32,\n marginXS: 8,\n\n // ====== 阴影 ======\n boxShadow:\n '0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02)',\n boxShadowSecondary:\n '0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05)',\n\n // ====== 动画 ======\n motionDurationSlow: '0.3s',\n motionDurationMid: '0.2s',\n motionDurationFast: '0.1s',\n\n // ====== 控件 ======\n controlHeight: 32,\n controlHeightSM: 24,\n controlHeightLG: 40,\n controlHeightXS: 16,\n },\n\n components: {\n // ====== Button ======\n Button: {\n contentFontSizeSM: 12,\n contentFontSizeLG: 16,\n contentLineHeightSM: 1.5,\n paddingInlineSM: 8,\n paddingInline: 12,\n paddingInlineLG: 16,\n defaultShadow: 'none',\n primaryShadow: 'none',\n dangerShadow: 'none',\n borderRadius: 4,\n borderRadiusSM: 4,\n borderRadiusLG: 4,\n },\n\n // ====== Table ======\n Table: {\n headerBg: PALETTE.bgBlueTint,\n headerColor: PALETTE.textBase,\n headerBorderRadius: 4,\n headerSortActiveBg: PALETTE.bgGreyNormal,\n headerSortHoverBg: PALETTE.bgGreyNormal,\n headerFilterHoverBg: PALETTE.bgGreyNormal,\n rowHoverBg: PALETTE.bgGrey,\n // rowHoverColor: PALETTE.textBase,\n rowSelectedBg: `${primaryColor}10`,\n rowSelectedHoverBg: `${primaryColor}20`,\n borderColor: PALETTE.borderSeparator,\n // headerCellSplitColor: 'transparent',\n cellPaddingBlock: 8,\n cellPaddingInline: 24,\n cellPaddingBlockMD: 6,\n cellPaddingInlineMD: 24,\n cellPaddingBlockSM: 6,\n cellPaddingInlineSM: 8,\n fontSize: 14,\n fontSizeSM: 12,\n },\n\n // ====== Pagination ======\n Pagination: {\n fontSize: 12,\n itemSize: 24,\n itemSizeSM: 20,\n itemActiveBg: primaryColor,\n itemActiveColor: PALETTE.bgWhite,\n itemInputBg: PALETTE.bgWhite,\n // itemBorderColor: PALETTE.borderLight,\n // itemBorderRadiusSM: 2,\n },\n\n // ====== Modal ======\n Modal: {\n contentBg: PALETTE.bgWhite,\n headerBg: PALETTE.bgWhite,\n footerBg: PALETTE.bgWhite,\n titleFontSize: 16,\n titleLineHeight: 1.5,\n },\n\n // ====== Menu ======\n Menu: {\n itemBorderRadius: 4,\n itemMarginBlock: 4,\n itemMarginInline: 8,\n itemHeight: 40,\n itemColor: PALETTE.textBase,\n itemHoverColor: primaryColor,\n itemSelectedColor: primaryColor,\n itemSelectedBg: `${primaryColor}10`,\n subMenuItemBorderRadius: 4,\n collapsedIconSize: 16,\n iconMarginInlineEnd: 10,\n },\n\n // ====== Select ======\n Select: {\n optionSelectedBg: `${primaryColor}10`,\n optionSelectedColor: primaryColor,\n optionFontSize: 14,\n optionLineHeight: 1.8,\n optionPadding: '5px 12px',\n selectorBg: PALETTE.bgWhite,\n singleItemHeightLG: 40,\n },\n\n // ====== Input ======\n Input: {\n colorTextDisabled: PALETTE.textDisabled,\n colorBgContainerDisabled: PALETTE.bgGreyNormal,\n },\n\n // ====== Tooltip ======\n Tooltip: {\n colorBgSpotlight: PALETTE.bgWhite,\n colorTextLightSolid: PALETTE.textBase,\n },\n\n // ====== Popover ======\n Popover: {\n borderRadiusLG: 4,\n },\n\n // ====== Alert ======\n Alert: {\n withDescriptionIconSize: 14,\n // defaultBg: `${PALETTE.primary}10`,\n // infoBg: `${PALETTE.info}10`,\n // successBg: `${PALETTE.success}10`,\n // warningBg: `${PALETTE.warning}10`,\n // errorBg: `${PALETTE.error}10`,\n },\n\n // ====== Tag ======\n Tag: {\n borderRadiusSM: 4,\n defaultBg: 'rgba(102, 102, 102, 0.06)',\n defaultColor: PALETTE.textSecondary,\n },\n\n // ====== Card ======\n Card: {\n borderRadiusLG: 4,\n },\n\n // ====== Descriptions ======\n Descriptions: {\n labelBg: PALETTE.bgGrey,\n labelColor: PALETTE.textSecondary,\n contentColor: PALETTE.textBase,\n },\n\n // ====== Dropdown ======\n Dropdown: {\n borderRadiusLG: 4,\n paddingBlock: 4,\n },\n\n // ====== Checkbox ======\n Checkbox: {\n // marginInlineEnd: 8,\n },\n\n // ====== Segmented ======\n Segmented: {\n itemSelectedBg: PALETTE.bgWhite,\n itemColor: PALETTE.textSecondary,\n itemSelectedColor: PALETTE.textBase,\n // containerBg: PALETTE.bgGreyNormal,\n },\n\n // ====== Tabs ======\n Tabs: {\n itemSelectedColor: primaryColor,\n itemHoverColor: primaryColor,\n inkBarColor: primaryColor,\n },\n\n // ====== Form ======\n Form: {\n labelColor: PALETTE.textBase,\n labelFontSize: 14,\n verticalLabelPadding: '0 0 4px',\n },\n\n // ====== Timeline ======\n Timeline: {\n dotBg: 'transparent',\n itemPaddingBottom: 20,\n },\n\n // ====== Empty ======\n Empty: {\n // descriptionColor: PALETTE.textTertiary,\n },\n\n // ====== Spin ======\n Spin: {\n colorPrimary: primaryColor,\n },\n\n // ====== Upload ======\n Upload: {\n colorPrimary: primaryColor,\n colorPrimaryHover: primaryColor,\n },\n },\n };\n}\n\n/**\n * 将 hex 颜色解析为 RGB 分量\n */\nfunction hexToRgb(hex: string): { r: number; g: number; b: number } {\n const h = hex.replace('#', '');\n return {\n r: parseInt(h.substring(0, 2), 16),\n g: parseInt(h.substring(2, 4), 16),\n b: parseInt(h.substring(4, 6), 16),\n };\n}\n\n/**\n * 批量设置某颜色的透明度系列 CSS 变量\n */\nfunction setColorVariants(\n root: HTMLElement,\n prefix: string,\n hex: string,\n): void {\n const { r, g, b } = hexToRgb(hex);\n root.style.setProperty(`--${prefix}-bg`, `rgba(${r}, ${g}, ${b}, 0.06)`);\n root.style.setProperty(`--${prefix}-bg-hover`, `rgba(${r}, ${g}, ${b}, 0.10)`);\n root.style.setProperty(`--${prefix}-bg-active`, `rgba(${r}, ${g}, ${b}, 0.16)`);\n root.style.setProperty(`--${prefix}-border`, `rgba(${r}, ${g}, ${b}, 0.20)`);\n root.style.setProperty(`--${prefix}-fill`, `rgba(${r}, ${g}, ${b}, 0.10)`);\n}\n\n/**\n * 将 antd 主题色同步到 CSS 变量\n * 用于 SCSS 和非 antd 组件的样式引用\n */\nexport function applyThemeToCssVariables(primaryColor: string): void {\n const root = document.documentElement;\n\n root.style.setProperty('--primary-color', primaryColor);\n root.style.setProperty('--success-color', PALETTE.success);\n root.style.setProperty('--info-color', PALETTE.info);\n root.style.setProperty('--error-color', PALETTE.error);\n root.style.setProperty('--warning-color', PALETTE.warning);\n\n // 各颜色透明度系列\n setColorVariants(root, 'primary-color', primaryColor);\n setColorVariants(root, 'success-color', PALETTE.success);\n setColorVariants(root, 'info-color', PALETTE.info);\n setColorVariants(root, 'error-color', PALETTE.error);\n setColorVariants(root, 'warning-color', PALETTE.warning);\n}\n"],"names":["PALETTE","generateTheme","primaryColor","hexToRgb","hex","h","setColorVariants","root","prefix","g","b","applyThemeToCssVariables"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theme.js","sources":["../../src/theme/theme.ts"],"sourcesContent":["import type { ThemeConfig } from 'antd';\nimport { LAYOUT_TOKENS, PALETTE } from './constants';\n\n/**\n * Marsun Components Core - Ant Design 主题配置\n *\n * 分层说明:\n * 1. Design Token(全局层):颜色、字号、间距、圆角等基础变量\n * 2. Semantic Token(语义层):别名 token,映射全局 token 的语义用途\n * 3. Component Token(组件层):按组件定制,替代 global.css 中的 :global 覆盖\n */\n\n/**\n * 根据主色生成完整的 Ant Design 主题配置\n * @param primaryColor - 主题主色,来自系统设置\n */\nexport function generateTheme(primaryColor: string): ThemeConfig {\n return {\n token: {\n // ====== 颜色 ======\n colorPrimary: primaryColor,\n colorSuccess: PALETTE.success,\n colorWarning: PALETTE.warning,\n colorError: PALETTE.error,\n colorInfo: PALETTE.info,\n colorLink: primaryColor,\n colorTextBase: PALETTE.textBase,\n\n // 文字\n colorText: PALETTE.textBase,\n colorTextSecondary: PALETTE.textSecondary,\n colorTextTertiary: PALETTE.textTertiary,\n colorTextDisabled: PALETTE.textDisabled,\n\n // 背景\n colorBgContainer: PALETTE.bgWhite,\n colorBgLayout: PALETTE.bgGrey,\n colorBgElevated: PALETTE.bgWhite,\n // colorTextLightSolid 勿改为 tooltip 深色 — Button primary 文字依赖此 token(须为浅色)\n\n // 边框\n colorBorder: PALETTE.borderSeparator,\n colorBorderSecondary: PALETTE.borderSeparator,\n colorSplit: PALETTE.borderSeparator,\n\n // 填充\n colorFill: PALETTE.bgGreyDark,\n colorFillSecondary: PALETTE.bgGreyNormal,\n colorFillTertiary: PALETTE.bgGreyLight,\n colorFillQuaternary: PALETTE.bgGrey,\n\n // ====== 字体 ======\n fontSize: 14,\n fontSizeSM: 12,\n fontSizeLG: 16,\n fontSizeXL: 20,\n fontSizeHeading1: 38,\n fontSizeHeading2: 30,\n fontSizeHeading3: 24,\n fontSizeHeading4: 20,\n fontSizeHeading5: 16,\n fontFamily:\n \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'\",\n lineHeight: 1.8,\n lineHeightSM: 1.5,\n lineHeightLG: 2.2,\n\n // ====== 圆角 ======\n borderRadius: 4,\n borderRadiusSM: 2,\n borderRadiusLG: 8,\n\n // ====== 间距 ======\n padding: 16,\n paddingSM: 12,\n paddingLG: 24,\n paddingXL: 32,\n paddingXS: 8,\n margin: 16,\n marginSM: 12,\n marginLG: 24,\n marginXL: 32,\n marginXS: 8,\n\n // ====== 阴影 ======\n boxShadow:\n '0 1px 2px 0 rgba(0, 0, 0, 0.03), 0 1px 6px -1px rgba(0, 0, 0, 0.02), 0 2px 4px 0 rgba(0, 0, 0, 0.02)',\n boxShadowSecondary:\n '0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05)',\n\n // ====== 动画 ======\n motionDurationSlow: '0.3s',\n motionDurationMid: '0.2s',\n motionDurationFast: '0.1s',\n\n // ====== 控件 ======\n controlHeight: 32,\n controlHeightSM: 24,\n controlHeightLG: 40,\n controlHeightXS: 16,\n\n // ====== 弹层 ======\n zIndexPopupBase: LAYOUT_TOKENS.zIndexPopupBase,\n },\n\n components: {\n // ====== Button ======\n Button: {\n contentFontSizeSM: 12,\n contentFontSizeLG: 16,\n contentLineHeightSM: 1.5,\n paddingInlineSM: 8,\n paddingInline: 12,\n paddingInlineLG: 16,\n defaultShadow: 'none',\n primaryShadow: 'none',\n dangerShadow: 'none',\n borderRadius: 4,\n borderRadiusSM: 4,\n borderRadiusLG: 4,\n primaryColor: PALETTE.bgWhite,\n dangerColor: PALETTE.bgWhite,\n },\n\n // ====== Table ======\n Table: {\n headerBg: PALETTE.bgBlueTint,\n headerColor: PALETTE.textBase,\n headerBorderRadius: 4,\n headerSortActiveBg: PALETTE.bgGreyNormal,\n headerSortHoverBg: PALETTE.bgGreyNormal,\n headerFilterHoverBg: PALETTE.bgGreyNormal,\n rowHoverBg: PALETTE.bgGrey,\n // rowHoverColor: PALETTE.textBase,\n rowSelectedBg: `${primaryColor}10`,\n rowSelectedHoverBg: `${primaryColor}20`,\n borderColor: PALETTE.borderSeparator,\n // headerCellSplitColor: 'transparent',\n cellPaddingBlock: 8,\n cellPaddingInline: 24,\n cellPaddingBlockMD: 6,\n cellPaddingInlineMD: 24,\n cellPaddingBlockSM: 6,\n cellPaddingInlineSM: 8,\n fontSize: 14,\n fontSizeSM: 12,\n },\n\n // ====== Pagination ======\n Pagination: {\n fontSize: 12,\n itemSize: 24,\n itemSizeSM: 20,\n itemActiveBg: primaryColor,\n itemActiveColor: PALETTE.bgWhite,\n itemInputBg: PALETTE.bgWhite,\n // itemBorderColor: PALETTE.borderLight,\n // itemBorderRadiusSM: 2,\n },\n\n // ====== Modal ======\n Modal: {\n contentBg: PALETTE.bgWhite,\n headerBg: PALETTE.bgWhite,\n footerBg: PALETTE.bgWhite,\n titleFontSize: 16,\n titleLineHeight: 1.5,\n },\n\n // ====== Menu ======\n Menu: {\n itemBorderRadius: 4,\n itemMarginBlock: 4,\n itemMarginInline: 8,\n itemHeight: 40,\n itemColor: PALETTE.textBase,\n itemHoverColor: primaryColor,\n itemSelectedColor: primaryColor,\n itemSelectedBg: `${primaryColor}10`,\n subMenuItemBorderRadius: 4,\n collapsedIconSize: 16,\n iconMarginInlineEnd: 10,\n },\n\n // ====== Select ======\n Select: {\n optionSelectedBg: `${primaryColor}10`,\n optionSelectedColor: primaryColor,\n optionFontSize: 14,\n optionLineHeight: 1.8,\n optionPadding: '5px 12px',\n selectorBg: PALETTE.bgWhite,\n singleItemHeightLG: 40,\n },\n\n // ====== Input ======\n Input: {\n colorTextDisabled: PALETTE.textDisabled,\n colorBgContainerDisabled: PALETTE.bgGreyNormal,\n },\n\n // ====== Tooltip ======\n Tooltip: {\n colorBgSpotlight: PALETTE.tooltipBg,\n colorTextLightSolid: PALETTE.tooltipColor,\n zIndexPopup: LAYOUT_TOKENS.zIndexPopupBase,\n },\n\n // ====== Popover ======\n Popover: {\n borderRadiusLG: 4,\n },\n\n // ====== Alert ======\n Alert: {\n withDescriptionIconSize: 14,\n // defaultBg: `${PALETTE.primary}10`,\n // infoBg: `${PALETTE.info}10`,\n // successBg: `${PALETTE.success}10`,\n // warningBg: `${PALETTE.warning}10`,\n // errorBg: `${PALETTE.error}10`,\n },\n\n // ====== Tag ======\n Tag: {\n borderRadiusSM: 4,\n defaultBg: 'rgba(102, 102, 102, 0.06)',\n defaultColor: PALETTE.textSecondary,\n },\n\n // ====== Card ======\n Card: {\n borderRadiusLG: 4,\n },\n\n // ====== Descriptions ======\n Descriptions: {\n labelBg: PALETTE.bgGrey,\n labelColor: PALETTE.textSecondary,\n contentColor: PALETTE.textBase,\n },\n\n // ====== Dropdown ======\n Dropdown: {\n borderRadiusLG: 4,\n paddingBlock: 4,\n },\n\n // ====== Checkbox ======\n Checkbox: {\n // marginInlineEnd: 8,\n },\n\n // ====== Segmented ======\n Segmented: {\n itemSelectedBg: PALETTE.bgWhite,\n itemColor: PALETTE.textSecondary,\n itemSelectedColor: PALETTE.textBase,\n // containerBg: PALETTE.bgGreyNormal,\n },\n\n // ====== Tabs ======\n Tabs: {\n itemSelectedColor: primaryColor,\n itemHoverColor: primaryColor,\n inkBarColor: primaryColor,\n },\n\n // ====== Form ======\n Form: {\n labelColor: PALETTE.textBase,\n labelFontSize: 14,\n verticalLabelPadding: '0 0 4px',\n },\n\n // ====== Timeline ======\n Timeline: {\n dotBg: 'transparent',\n itemPaddingBottom: 20,\n },\n\n // ====== Empty ======\n Empty: {\n // descriptionColor: PALETTE.textTertiary,\n },\n\n // ====== Spin ======\n Spin: {\n colorPrimary: primaryColor,\n },\n\n // ====== Upload ======\n Upload: {\n colorPrimary: primaryColor,\n colorPrimaryHover: primaryColor,\n },\n },\n };\n}\n\n/**\n * 将 hex 颜色解析为 RGB 分量\n */\nfunction hexToRgb(hex: string): { r: number; g: number; b: number } {\n const h = hex.replace('#', '');\n return {\n r: parseInt(h.substring(0, 2), 16),\n g: parseInt(h.substring(2, 4), 16),\n b: parseInt(h.substring(4, 6), 16),\n };\n}\n\n/**\n * 批量设置某颜色的透明度系列 CSS 变量\n */\nfunction setColorVariants(\n root: HTMLElement,\n prefix: string,\n hex: string,\n): void {\n const { r, g, b } = hexToRgb(hex);\n root.style.setProperty(`--${prefix}-bg`, `rgba(${r}, ${g}, ${b}, 0.06)`);\n root.style.setProperty(`--${prefix}-bg-hover`, `rgba(${r}, ${g}, ${b}, 0.10)`);\n root.style.setProperty(`--${prefix}-bg-active`, `rgba(${r}, ${g}, ${b}, 0.16)`);\n root.style.setProperty(`--${prefix}-border`, `rgba(${r}, ${g}, ${b}, 0.20)`);\n root.style.setProperty(`--${prefix}-fill`, `rgba(${r}, ${g}, ${b}, 0.10)`);\n}\n\n/**\n * 将 antd 主题色同步到 CSS 变量\n * 用于 SCSS 和非 antd 组件的样式引用\n */\nexport function applyThemeToCssVariables(primaryColor: string): void {\n const root = document.documentElement;\n\n root.style.setProperty('--primary-color', primaryColor);\n root.style.setProperty('--success-color', PALETTE.success);\n root.style.setProperty('--info-color', PALETTE.info);\n root.style.setProperty('--error-color', PALETTE.error);\n root.style.setProperty('--warning-color', PALETTE.warning);\n\n root.style.setProperty('--layout-header-height', LAYOUT_TOKENS.headerHeight);\n root.style.setProperty('--layout-sider-width', LAYOUT_TOKENS.siderWidth);\n\n root.style.setProperty('--font-size-default', LAYOUT_TOKENS.fontSizeDefault);\n root.style.setProperty('--font-size-small', LAYOUT_TOKENS.fontSizeSmall);\n root.style.setProperty('--font-size-large', LAYOUT_TOKENS.fontSizeLarge);\n root.style.setProperty('--font-size-18', LAYOUT_TOKENS.fontSize18);\n root.style.setProperty('--font-size-24', LAYOUT_TOKENS.fontSize24);\n\n root.style.setProperty('--line-height-default', LAYOUT_TOKENS.lineHeightDefault);\n root.style.setProperty('--line-height-middle', LAYOUT_TOKENS.lineHeightMiddle);\n root.style.setProperty('--line-height-small', LAYOUT_TOKENS.lineHeightSmall);\n root.style.setProperty('--line-height-large', LAYOUT_TOKENS.lineHeightLarge);\n\n root.style.setProperty('--font-color', PALETTE.textBase);\n root.style.setProperty('--font-color-disabled', PALETTE.textDisabled);\n root.style.setProperty('--font-color-grey', PALETTE.textSecondary);\n root.style.setProperty('--font-color-grey-1', PALETTE.textTertiary);\n root.style.setProperty('--font-color-grey-2', PALETTE.borderBase);\n root.style.setProperty('--font-color-grey-3', PALETTE.borderLight);\n root.style.setProperty('--font-color-grey-4', PALETTE.borderLighter);\n\n root.style.setProperty('--bg-color-white', PALETTE.bgWhite);\n root.style.setProperty('--bg-color-grey', PALETTE.bgGrey);\n root.style.setProperty('--bg-color-grey-1', PALETTE.bgGreyLight);\n root.style.setProperty('--bg-color-grey-2', PALETTE.bgGreyNormal);\n root.style.setProperty('--bg-color-grey-3', PALETTE.bgGreyDark);\n root.style.setProperty('--bg-color-grey-4', PALETTE.bgBlueTint);\n\n root.style.setProperty('--tag-default', PALETTE.tagDefault);\n root.style.setProperty('--tag-success', PALETTE.tagSuccess);\n root.style.setProperty('--tag-progress', PALETTE.tagProgress);\n root.style.setProperty('--tag-danger', PALETTE.tagDanger);\n root.style.setProperty('--tag-info', PALETTE.tagInfo);\n root.style.setProperty('--tag-other', PALETTE.tagOther);\n\n root.style.setProperty('--file-icon-word', PALETTE.fileIconWord);\n root.style.setProperty('--file-icon-pdf', PALETTE.fileIconPdf);\n root.style.setProperty('--file-icon-excel', PALETTE.fileIconExcel);\n root.style.setProperty('--file-icon-ppt', PALETTE.fileIconPpt);\n root.style.setProperty('--file-icon-image', PALETTE.fileIconImage);\n root.style.setProperty('--file-icon-markdown', PALETTE.fileIconMarkdown);\n root.style.setProperty('--file-icon-visio', PALETTE.fileIconVisio);\n root.style.setProperty('--file-icon-archive', PALETTE.fileIconArchive);\n root.style.setProperty('--file-icon-folder', PALETTE.fileIconFolder);\n root.style.setProperty('--file-icon-other', PALETTE.fileIconOther);\n\n root.style.setProperty('--tooltip-bg', PALETTE.tooltipBg);\n root.style.setProperty('--tooltip-color', PALETTE.tooltipColor);\n root.style.setProperty('--tooltip-info-bg', PALETTE.bgWhite);\n root.style.setProperty('--tooltip-info-color', PALETTE.textBase);\n\n setColorVariants(root, 'primary-color', primaryColor);\n setColorVariants(root, 'success-color', PALETTE.success);\n setColorVariants(root, 'info-color', PALETTE.info);\n setColorVariants(root, 'error-color', PALETTE.error);\n setColorVariants(root, 'warning-color', PALETTE.warning);\n}\n\n/** 项目级 CSS 变量覆盖(在 applyThemeToCssVariables 之后调用) */\nexport function applyCssTokenOverrides(\n overrides: Record<string, string>,\n target: HTMLElement = document.documentElement,\n): void {\n Object.entries(overrides).forEach(([key, value]) => {\n const varName = key.startsWith('--') ? key : `--${key}`;\n target.style.setProperty(varName, value);\n });\n}\n"],"names":["generateTheme","primaryColor","PALETTE","LAYOUT_TOKENS","hexToRgb","hex","h","setColorVariants","root","prefix","r","g","b","applyThemeToCssVariables","applyCssTokenOverrides","overrides","target","key","value","varName"],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Marsun Components Core — 公共 Design Tokens
|
|
3
|
+
* 项目接入:import '@hkyhy/marsun-components-core/tokens'
|
|
4
|
+
* 动态主色与透明度系列由 applyThemeToCssVariables() 在运行时覆盖
|
|
5
|
+
*/
|
|
6
|
+
:root {
|
|
7
|
+
/* 基础颜色(与 antd theme token 同步,由 applyThemeToCssVariables 维护) */
|
|
8
|
+
--primary-color: #1677ff;
|
|
9
|
+
--success-color: #027a48;
|
|
10
|
+
--info-color: #155acf;
|
|
11
|
+
--error-color: #d14343;
|
|
12
|
+
--warning-color: #f09700;
|
|
13
|
+
|
|
14
|
+
/* 布局 */
|
|
15
|
+
--layout-header-height: 56px;
|
|
16
|
+
--layout-sider-width: 220px;
|
|
17
|
+
|
|
18
|
+
/* 字号(与 antd theme token 对齐) */
|
|
19
|
+
--font-size-default: 14px;
|
|
20
|
+
--font-size-small: 12px;
|
|
21
|
+
--font-size-large: 16px;
|
|
22
|
+
--font-size-18: 18px;
|
|
23
|
+
--font-size-24: 24px;
|
|
24
|
+
|
|
25
|
+
/* 行高(与 antd theme token 对齐) */
|
|
26
|
+
--line-height-default: 1.8;
|
|
27
|
+
--line-height-middle: 2;
|
|
28
|
+
--line-height-small: 1.5;
|
|
29
|
+
--line-height-large: 2.2;
|
|
30
|
+
|
|
31
|
+
/* 字体颜色(与 antd theme token 对齐) */
|
|
32
|
+
--font-color: #222222;
|
|
33
|
+
--font-color-disabled: rgba(0, 0, 0, 0.25);
|
|
34
|
+
--font-color-grey: #666666;
|
|
35
|
+
--font-color-grey-1: #999999;
|
|
36
|
+
--font-color-grey-2: #cccccc;
|
|
37
|
+
--font-color-grey-3: #dddddd;
|
|
38
|
+
--font-color-grey-4: #eeeeee;
|
|
39
|
+
|
|
40
|
+
/* 背景色(与 antd theme token 对齐) */
|
|
41
|
+
--bg-color-white: #ffffff;
|
|
42
|
+
--bg-color-grey: #fafafa;
|
|
43
|
+
--bg-color-grey-1: #f8f8f8;
|
|
44
|
+
--bg-color-grey-2: #f3f3f3;
|
|
45
|
+
--bg-color-grey-3: #f1f1f1;
|
|
46
|
+
--bg-color-grey-4: #fafcff;
|
|
47
|
+
|
|
48
|
+
/* 标签 */
|
|
49
|
+
--tag-default: #666666;
|
|
50
|
+
--tag-success: #027a48;
|
|
51
|
+
--tag-progress: #f09700;
|
|
52
|
+
--tag-danger: #d14343;
|
|
53
|
+
--tag-info: #155acf;
|
|
54
|
+
--tag-other: #6740c3;
|
|
55
|
+
|
|
56
|
+
/* primary 透明度系列(由 applyThemeToCssVariables 维护) */
|
|
57
|
+
--primary-color-bg: rgba(22, 119, 255, 0.06);
|
|
58
|
+
--primary-color-bg-hover: rgba(22, 119, 255, 0.1);
|
|
59
|
+
--primary-color-bg-active: rgba(22, 119, 255, 0.16);
|
|
60
|
+
--primary-color-border: rgba(22, 119, 255, 0.2);
|
|
61
|
+
--primary-color-fill: rgba(22, 119, 255, 0.1);
|
|
62
|
+
|
|
63
|
+
/* success 透明度系列(由 applyThemeToCssVariables 维护) */
|
|
64
|
+
--success-color-bg: rgba(2, 122, 72, 0.06);
|
|
65
|
+
--success-color-bg-hover: rgba(2, 122, 72, 0.1);
|
|
66
|
+
--success-color-bg-active: rgba(2, 122, 72, 0.16);
|
|
67
|
+
--success-color-border: rgba(2, 122, 72, 0.2);
|
|
68
|
+
--success-color-fill: rgba(2, 122, 72, 0.1);
|
|
69
|
+
|
|
70
|
+
/* info 透明度系列(由 applyThemeToCssVariables 维护) */
|
|
71
|
+
--info-color-bg: rgba(21, 90, 207, 0.06);
|
|
72
|
+
--info-color-bg-hover: rgba(21, 90, 207, 0.1);
|
|
73
|
+
--info-color-bg-active: rgba(21, 90, 207, 0.16);
|
|
74
|
+
--info-color-border: rgba(21, 90, 207, 0.2);
|
|
75
|
+
--info-color-fill: rgba(21, 90, 207, 0.1);
|
|
76
|
+
|
|
77
|
+
/* error 透明度系列(由 applyThemeToCssVariables 维护) */
|
|
78
|
+
--error-color-bg: rgba(209, 67, 67, 0.06);
|
|
79
|
+
--error-color-bg-hover: rgba(209, 67, 67, 0.1);
|
|
80
|
+
--error-color-bg-active: rgba(209, 67, 67, 0.16);
|
|
81
|
+
--error-color-border: rgba(209, 67, 67, 0.2);
|
|
82
|
+
--error-color-fill: rgba(209, 67, 67, 0.1);
|
|
83
|
+
|
|
84
|
+
/* warning 透明度系列(由 applyThemeToCssVariables 维护) */
|
|
85
|
+
--warning-color-bg: rgba(240, 151, 0, 0.06);
|
|
86
|
+
--warning-color-bg-hover: rgba(240, 151, 0, 0.1);
|
|
87
|
+
--warning-color-bg-active: rgba(240, 151, 0, 0.16);
|
|
88
|
+
--warning-color-border: rgba(240, 151, 0, 0.2);
|
|
89
|
+
--warning-color-fill: rgba(240, 151, 0, 0.1);
|
|
90
|
+
|
|
91
|
+
/* 文件类型图标颜色 */
|
|
92
|
+
--file-icon-word: #1677ff;
|
|
93
|
+
--file-icon-pdf: #f5222d;
|
|
94
|
+
--file-icon-excel: #00b42a;
|
|
95
|
+
--file-icon-ppt: #ff7d00;
|
|
96
|
+
--file-icon-image: #722ed1;
|
|
97
|
+
--file-icon-markdown: #595959;
|
|
98
|
+
--file-icon-visio: #13c2c2;
|
|
99
|
+
--file-icon-archive: #eb2f96;
|
|
100
|
+
--file-icon-folder: #faad14;
|
|
101
|
+
--file-icon-other: #8c8c8c;
|
|
102
|
+
|
|
103
|
+
/* Tooltip — 简单提示白底深字;详情卡片见 TooltipInfo(--tooltip-info-*) */
|
|
104
|
+
--tooltip-bg: #ffffff;
|
|
105
|
+
--tooltip-color: #222222;
|
|
106
|
+
--tooltip-info-bg: var(--bg-color-white);
|
|
107
|
+
--tooltip-info-color: var(--font-color);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/* 与 maoyang _antd-overrides 一致:箭头与气泡同色;CSS 变量兜底(弹层挂 body 时 theme 仍生效) */
|
|
111
|
+
.ant-tooltip {
|
|
112
|
+
z-index: 1200;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.ant-tooltip .ant-tooltip-container {
|
|
116
|
+
color: var(--tooltip-color);
|
|
117
|
+
background-color: var(--tooltip-bg);
|
|
118
|
+
border: 1px solid var(--font-color-grey-3);
|
|
119
|
+
box-shadow:
|
|
120
|
+
0 6px 16px 0 rgba(0, 0, 0, 0.08),
|
|
121
|
+
0 3px 6px -4px rgba(0, 0, 0, 0.12);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.ant-tooltip .ant-tooltip-arrow::before {
|
|
125
|
+
background: var(--tooltip-bg) !important;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.text-primary {
|
|
129
|
+
color: var(--primary-color);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.bg-primary {
|
|
133
|
+
background-color: var(--primary-color);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* Lucide 图标在 antd Button 内跟随按钮文字色 */
|
|
137
|
+
.ant-btn-icon .marsun-icon {
|
|
138
|
+
color: inherit;
|
|
139
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hkyhy/marsun-components-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.17",
|
|
4
4
|
"description": "Marsun pure UI component library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": {
|
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
"import": "./dist/theme/index.js",
|
|
28
28
|
"types": "./dist/theme/index.d.ts"
|
|
29
29
|
},
|
|
30
|
-
"./styles": "./dist/styles/global.css"
|
|
30
|
+
"./styles": "./dist/styles/global.css",
|
|
31
|
+
"./tokens": "./dist/theme/tokens.css"
|
|
31
32
|
},
|
|
32
33
|
"sideEffects": [
|
|
33
34
|
"**/*.css",
|
|
@@ -39,7 +40,10 @@
|
|
|
39
40
|
"scripts": {
|
|
40
41
|
"predev": "node dev/scripts/collect-examples.mjs",
|
|
41
42
|
"dev": "vite --config vite.config.dev.ts",
|
|
42
|
-
"
|
|
43
|
+
"version:check": "node scripts/version-check.mjs",
|
|
44
|
+
"version:check:apply": "node scripts/version-check.mjs --apply",
|
|
45
|
+
"version:sync": "node scripts/version-check.mjs --apply-published",
|
|
46
|
+
"build": "tsc -p tsconfig.build.json && vite build --config vite.config.lib.ts && node -e \"const fs=require('fs');const path=require('path');fs.mkdirSync('dist/styles',{recursive:true});fs.mkdirSync('dist/theme',{recursive:true});fs.copyFileSync('dist/marsun-components-core.css','dist/styles/global.css');fs.copyFileSync(path.join('src','theme','tokens.css'),'dist/theme/tokens.css');\"",
|
|
43
47
|
"prepublishOnly": "npm run build",
|
|
44
48
|
"prebuild:showcase": "node dev/scripts/collect-examples.mjs",
|
|
45
49
|
"build:showcase": "vite build --config vite.config.dev.ts",
|