@agentscope-ai/design 1.0.23-beta.1767087061250 → 1.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,19 @@
1
1
  var _templateObject;
2
2
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
3
  import createGlobalStyle from "../../libs/createStyle";
4
- export var useButtonStyle = createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n/* \u53D6\u6D88\u6240\u6709button\u7684boxShadow */\nbutton[type=\"button\"].", "-btn {\n font-weight: 500;\n padding-inline: 11px;\n \n span[data-spark-icon] {\n /* @agentscope-ai/icons\u7684\u7279\u6B8A\u903B\u8F91 */\n font-size: 20px;\n }\n \n &.", "-btn-sm {\n padding-inline: 7px;\n \n span[data-spark-icon] {\n /* @agentscope-ai/icons\u7684\u7279\u6B8A\u903B\u8F91 */\n font-size: 16px;\n }\n }\n \n &.", "-btn-lg {\n span[data-spark-icon] {\n /* @agentscope-ai/icons\u7684\u7279\u6B8A\u903B\u8F91 */\n font-size: 24px;\n }\n }\n}\n\n.", "-btn-default {\n border-color: var(--", "-color-border-secondary);\n}\n\n.", "-btn-textCompact:hover {\n color: var(--", "-color-text-tertiary) !important;\n}\n\n.", "-btn.", "-btn-default.", "-btn-dangerous:not(:disabled):not(.", "-btn-disabled) {\n border-color: transparent;\n background-color: var(--", "-color-error-bg);\n color: var(--", "-color-error);\n \n &:hover {\n background-color: var(--", "-color-error-bg-hover);\n border-color: transparent;\n color: var(--", "-color-error-hover);\n }\n}\n\n.", "-btn-color-dangerous.", "-btn-variant-solid:disabled,\n.", "-btn-color-dangerous.", "-btn-variant-solid.", "-btn-disabled {\n border-color: transparent;\n background-color: var(--", "-color-fill-disable);\n color: var(--", "-color-text-white);\n}\n\n.", "-btn-primary {\n color: var(--", "-color-text-on-primary);\n}\n.", "-btn-primary.", "-btn-variant-solid:not(:disabled):not(.", "-btn-disabled):hover {\n color: var(--", "-color-text-on-primary);\n}\n\n.", "-btn-primary:disabled {\n background: var(--", "-color-fill-disable);\n color: var(--", "-color-text-white);\n border-color: transparent;\n}\n\n.", "-btn-default:disabled {\n background: var(--", "-color-bg-base);\n color: var(--", "-color-text-tertiary);\n border-color: var(--", "-color-border-secondary);\n}\n"])), function (p) {
4
+ export var useButtonStyle = createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n/* \u53D6\u6D88\u6240\u6709button\u7684boxShadow */\nbutton[type=\"button\"].", "-btn {\n font-weight: 500;\n padding-inline: 11px;\n \n span[data-spark-icon] {\n /* @agentscope-ai/icons\u7684\u7279\u6B8A\u903B\u8F91 */\n font-size: 20px;\n }\n \n &.", "-btn-sm {\n padding-inline: 7px;\n \n span[data-spark-icon] {\n /* @agentscope-ai/icons\u7684\u7279\u6B8A\u903B\u8F91 */\n font-size: 16px;\n }\n }\n \n &.", "-btn-lg {\n span[data-spark-icon] {\n /* @agentscope-ai/icons\u7684\u7279\u6B8A\u903B\u8F91 */\n font-size: 24px;\n }\n }\n}\n\n.", "-btn-default {\n border-color: var(--", "-color-border-secondary);\n}\n\n.", "-btn-textCompact:hover {\n color: var(--", "-color-text-tertiary) !important;\n}\n\n.", "-btn.", "-btn-default.", "-btn-dangerous:not(:disabled):not(.", "-btn-disabled) {\n border-color: transparent;\n background-color: var(--", "-color-error-bg);\n color: var(--", "-color-error);\n \n &:hover {\n background-color: var(--", "-color-error-bg-hover);\n border-color: transparent;\n color: var(--", "-color-error-hover);\n }\n}\n\n.", "-btn-color-dangerous.", "-btn-variant-solid:disabled,\n.", "-btn-color-dangerous.", "-btn-variant-solid.", "-btn-disabled {\n border-color: transparent;\n background-color: var(--", "-color-fill-disable);\n color: var(--", "-color-text-white);\n}\n\n.", "-btn-primary {\n color: var(--", "-color-text-on-primary);\n}\n.", "-btn-primary.", "-btn-variant-solid:not(:disabled):not(.", "-btn-disabled):hover {\n color: var(--", "-color-text-on-primary);\n}\n\n.", "-btn-primary:disabled {\n background: var(--", "-color-fill-disable);\n color: var(--", "-color-text-white);\n border-color: transparent;\n}\n\n.", "-btn-default:disabled {\n background: var(--", "-color-bg-base);\n color: var(--", "-color-text-tertiary);\n border-color: var(--", "-color-border-secondary);\n}\n\n/* Keep white text color for primaryLess buttons */\n.spark-button-primaryLess.", "-btn-primary {\n color: var(--", "-color-text-white);\n}\n.spark-button-primaryLess.", "-btn-primary.", "-btn-variant-solid:not(:disabled):not(.", "-btn-disabled):hover {\n color: var(--", "-color-text-white);\n}\n"])), function (p) {
5
+ return p.antPrefix;
6
+ }, function (p) {
7
+ return p.antPrefix;
8
+ }, function (p) {
9
+ return p.antPrefix;
10
+ }, function (p) {
11
+ return p.antPrefix;
12
+ }, function (p) {
13
+ return p.antPrefix;
14
+ }, function (p) {
15
+ return p.antPrefix;
16
+ }, function (p) {
5
17
  return p.antPrefix;
6
18
  }, function (p) {
7
19
  return p.antPrefix;
@@ -64,7 +64,7 @@
64
64
 
65
65
  "colorTextWhite": "#ffffff",
66
66
  "colorTextBlack": "#000000",
67
- "colorTextOnPrimary": "#ffffff",
67
+ "colorTextOnPrimary": "#000000",
68
68
  "colorFillDisable": "#898989",
69
69
  "colorPurple": "#615CED",
70
70
  "colorPurpleHover": "#8383F0",
@@ -55,7 +55,7 @@ interface GenerateThemeProps {
55
55
  /** Whether it is dark mode */
56
56
  darkMode: boolean;
57
57
  }
58
- declare const generateTheme: ({ primaryHex, bgBaseHex, textBaseHex, darkMode, }: GenerateThemeProps) => {
58
+ declare const generateTheme: (config: GenerateThemeProps) => {
59
59
  borderRadiusXS: number;
60
60
  borderRadiusSM: number;
61
61
  borderRadius: number;
@@ -1,4 +1,3 @@
1
- // @ts-nocheck
2
1
  /**
3
2
  * Theme Generator
4
3
 
@@ -36,6 +35,36 @@
36
35
  import themeDataDark from "./bailianDarkTheme.json";
37
36
  import themeData from "./bailianTheme.json";
38
37
 
38
+ /**
39
+ * Calculate WCAG relative luminance (used for contrast judgment)
40
+ * Return value range: 0 (darkest) to 1 (brightest)
41
+ */
42
+ var getRelativeLuminance = function getRelativeLuminance(rgb) {
43
+ // Normalize RGB values to 0-1
44
+ var rsRGB = rgb.r / 255;
45
+ var gsRGB = rgb.g / 255;
46
+ var bsRGB = rgb.b / 255;
47
+
48
+ // Apply sRGB gamma correction
49
+ var r = rsRGB <= 0.03928 ? rsRGB / 12.92 : Math.pow((rsRGB + 0.055) / 1.055, 2.4);
50
+ var g = gsRGB <= 0.03928 ? gsRGB / 12.92 : Math.pow((gsRGB + 0.055) / 1.055, 2.4);
51
+ var b = bsRGB <= 0.03928 ? bsRGB / 12.92 : Math.pow((bsRGB + 0.055) / 1.055, 2.4);
52
+
53
+ // Calculate relative luminance using WCAG formula
54
+ return 0.2126 * r + 0.7152 * g + 0.0722 * b;
55
+ };
56
+
57
+ /**
58
+ * Determine whether to use dark or light text on the background color
59
+ * Use WCAG relative luminance algorithm, threshold is 0.5
60
+ * @returns {boolean} true means use dark text, false means use light text
61
+ */
62
+ var shouldUseDarkText = function shouldUseDarkText(rgb) {
63
+ var luminance = getRelativeLuminance(rgb);
64
+ // Use dark text when luminance is greater than 0.5, otherwise use light text
65
+ return luminance > 0.5;
66
+ };
67
+
39
68
  // ==================== Color Conversion Utility Functions ====================
40
69
 
41
70
  /**
@@ -217,21 +246,19 @@ var generateColorScale = function generateColorScale(baseHex, lightness) {
217
246
  * @returns {Object | null} Complete theme configuration object, returns null if parameters are invalid
218
247
  */
219
248
 
220
- var generateTheme = function generateTheme(_ref) {
221
- var primaryHex = _ref.primaryHex,
222
- bgBaseHex = _ref.bgBaseHex,
223
- textBaseHex = _ref.textBaseHex,
224
- _ref$darkMode = _ref.darkMode,
225
- darkMode = _ref$darkMode === void 0 ? false : _ref$darkMode;
226
- var resolvedBgBaseHex = bgBaseHex || (darkMode ? '#000000' : '#ffffff');
227
- var resolvedTextBaseHex = textBaseHex || (darkMode ? '#E7E7ED' : '#1a1a1a');
249
+ var generateTheme = function generateTheme(config) {
250
+ var primaryHex = config.primaryHex,
251
+ _config$darkMode = config.darkMode,
252
+ darkMode = _config$darkMode === void 0 ? false : _config$darkMode;
253
+ var bgBaseHex = config.bgBaseHex || (darkMode ? '#000000' : '#ffffff');
254
+ var textBaseHex = config.textBaseHex || (darkMode ? '#E7E7ED' : '#1a1a1a');
228
255
  var rgb = hexToRgb(primaryHex);
229
256
  if (!rgb) return null;
230
257
  var hsl = rgbToHsl(rgb.r, rgb.g, rgb.b);
231
258
 
232
259
  // Get RGB and HSL values for background and text colors
233
- var bgBaseRgb = hexToRgb(resolvedBgBaseHex);
234
- var textBaseRgb = hexToRgb(resolvedTextBaseHex);
260
+ var bgBaseRgb = hexToRgb(bgBaseHex);
261
+ var textBaseRgb = hexToRgb(textBaseHex);
235
262
  var bgBaseHsl = bgBaseRgb ? rgbToHsl(bgBaseRgb.r, bgBaseRgb.g, bgBaseRgb.b) : {
236
263
  h: 210,
237
264
  s: 8,
@@ -285,7 +312,7 @@ var generateTheme = function generateTheme(_ref) {
285
312
  colorPrimaryTextActive: darkMode ? generateColorWithLightness(primaryHex, Math.max(hsl.l - 10, 35), hsl.s * 0.95) : adjustColor(primaryHex, hsl.l < 50 ? -10 : -20, 0),
286
313
  // Text color displayed on primary color background: automatically selects black or white based on actual primary color lightness
287
314
  // Light theme colors (lightness > 50) use black text, dark theme colors (lightness <= 50) use white text
288
- colorTextOnPrimary: actualPrimaryHsl.l > 50 ? '#000000' : '#ffffff',
315
+ colorTextOnPrimary: shouldUseDarkText(actualPrimaryRgb) ? '#000000' : '#ffffff',
289
316
  // ========== Text Color System ==========
290
317
  // Generated based on textBase hue, uses transparency to achieve different levels
291
318
  colorTextBase: textBaseHex,
@@ -70,7 +70,9 @@ var Button = /*#__PURE__*/forwardRef(function (props, ref) {
70
70
  fontWeight: 500,
71
71
  lineHeight: 1
72
72
  }, restProps.style),
73
- className: classNames(restProps.className, 'spark-button')
73
+ className: classNames(restProps.className, 'spark-button', {
74
+ 'spark-button-primaryLess': restProps.type === 'primaryLess'
75
+ })
74
76
  }));
75
77
 
76
78
  // @ts-ignore
@@ -1,7 +1,7 @@
1
1
  var _templateObject;
2
2
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
3
  import createGlobalStyle from "../../../libs/createStyle";
4
- export var useStyle = createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n/* \u9ED8\u8BA4\u6DF1\u8272 */\n.", "-tooltip-content {\n .", "-tooltip-inner {\n border: 1px solid transparent;\n padding: 6px 12px;\n background: var(--", "-color-slate);\n color: var(--", "-color-text-on-primary);\n }\n}\n\n/* \u6D45\u8272\u6A21\u5F0F */\n.", "-tooltip-light {\n .", "-tooltip-content .", "-tooltip-inner {\n background: var(--", "-color-bg-base);\n color: var(--", "-color-text);\n }\n \n .", "-tooltip-arrow {\n &::after {\n background: var(--", "-color-bg-base);\n }\n }\n}\n"])), function (p) {
4
+ export var useStyle = createGlobalStyle(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n/* Default dark mode */\n.", "-tooltip-content {\n .", "-tooltip-inner {\n border: 1px solid transparent;\n padding: 6px 12px;\n background: var(--", "-color-slate);\n color: var(--", "-color-text-white);\n }\n}\n\n/* Light mode - keep same style as dark mode */\n.", "-tooltip-light {\n .", "-tooltip-content .", "-tooltip-inner {\n background: var(--", "-color-slate);\n color: var(--", "-color-text-white);\n }\n \n .", "-tooltip-arrow {\n &::after {\n background: var(--", "-color-slate);\n }\n }\n}\n"])), function (p) {
5
5
  return p.antPrefix;
6
6
  }, function (p) {
7
7
  return p.antPrefix;