/**
 * Pisell 项目统一的 Ant Design Token 配置
 * 基于 Figma 设计规范
 *
 * 使用场景：
 * - 低代码平台（page/index.tsx）
 * - Storybook 预览
 * - 其他需要主题配置的场景
 */

/**
 * 获取组件级别的 token 配置
 */
export function getComponentsToken() {
  return {
    Table: {
      colorFillContent: '#EAECF0',
      colorFillSecondary: '#F2F4F7',
      colorBorderSecondary: '#EAECF0',
      colorFillAlter: '#F9FAFB',
      controlItemBgHover: '#F9FAFB',
      colorTextHeading: '#475467',
      colorTextDescription: '#667085',
      colorText: '#101828',
      controlHeight: 32,
      padding: 24,
      margin: 16
    },
    Message: {
      contentBg: '#101828'
    },
    Button: {
      borderRadiusSM: 6,
      borderRadiusLG: 9,
      borderRadius: 8,
      controlHeight: 36,
      colorBgContainerDisabled: '#F2F4F7',
      colorBgTextHover: '#F9FAFB',
      colorBorder: '#D0D5DD',
      colorError: '#D92D20',
      colorErrorActive: '#D92D20',
      colorErrorHover: '#B42318',
      colorErrorBg: '#FEF3F2',
      colorErrorBorderHover: '#FDA29B',
      colorErrorOutline: 'rgba(217, 45, 32, 0.06)',
      colorLink: '#7F56DA',
      colorLinkActive: '#5F3DA8',
      colorLinkHover: '#6D48C4',
      colorText: '#344054',
      colorTextDisabled: '#D0D5DD',
      colorTextLightSolid: '#fff',
      colorBgTextActive: '#D0D5DD',
      controlOutline: 'rgba(127, 86, 217, 0.04)',
      controlTmpOutline: '#F9FAFB',
      paddingContentHorizontal: 14,
      marginXS: 8
    },
    Divider: {
      colorSplit: '#EAECF0'
    },
    Breadcrumb: {
      itemColor: '#475467',
      colorTextDescription: '#475467',
      separatorMargin: 12,
      separatorColor: '#D0D5DD',
      linkHoverColor: '#1D2939',
      linkColor: '#475467',
      colorBgTextHover: '#F9FAFB',
      paddingXXS: 8
    },
    Dropdown: {
      borderRadiusLG: 8,
      controlHeight: 42,
      fontSize: 14
      // // 下拉框阴影（Figma: Shadow/lg）
      // boxShadowSecondary:
      //   '0px 4px 6px -2px rgba(16, 24, 40, 0.03), 0px 12px 16px -4px rgba(16, 24, 40, 0.08)',
    },
    DatePicker: {
      borderRadius: 8,
      colorTextPlaceholder: '#667085',
      colorIcon: '#667085',
      colorTextQuaternary: '#D0D5DD',
      colorBgContainerDisabled: '#F9FAFB',
      colorTextDisabled: '#98A2B3'
    },
    Input: {
      // // 基础样式（基于 Figma 设计规范）
      // fontSizeIcon: 16,
      // fontSize: 16,
      // lineHeight: 1.5, // 24px / 16px = 1.5
      // addonBg: '#fff',
      //
      // // 边框和圆角
      // borderRadius: 8,
      // colorBorder: '#D0D5DD', // Gray/300
      //
      // // 内边距（Figma: 16px 12px）
      // paddingBlock: 12,
      // paddingInline: 16,
      // controlHeight: 48, // 12px + 24px + 12px = 48px
      //
      // // 颜色
      // colorText: '#101828', // Gray/900 - 输入文本
      // colorTextPlaceholder: '#667085', // Gray/500 - 占位符
      // colorBgContainer: '#FFFFFF', // 背景色
      //
      // // 禁用态
      // colorBgContainerDisabled: '#F9FAFB', // Gray/50
      // colorTextDisabled: '#98A2B3', // Gray/400
      //
      // // 注意：TextArea 的水平内边距比 Input 小2px (14px vs 16px)
      // // 在各组件的 Less 文件中单独设置
    },
    InputNumber: {
      // // 基础样式（与 Input 保持一致，基于 Figma 设计规范）
      // fontSize: 16,
      // lineHeight: 1.5, // 24px / 16px = 1.5
      //
      // // 边框和圆角
      // borderRadius: 8,
      // colorBorder: '#D0D5DD', // Gray/300
      //
      // // 内边距（Figma: 16px 12px）
      // paddingBlock: 12,
      // paddingInline: 16,
      // controlHeight: 48, // 12px + 24px + 12px = 48px
      //
      // // 颜色
      // colorText: '#101828', // Gray/900 - 输入文本
      // colorTextPlaceholder: '#667085', // Gray/500 - 占位符
      // colorBgContainer: '#FFFFFF', // 背景色
      //
      // // 禁用态
      // colorBgContainerDisabled: '#F9FAFB', // Gray/50
      // colorTextDisabled: '#98A2B3', // Gray/400
      //
      // // 控制按钮（步进器）
      // handleVisible: true, // 显示增减按钮
      // handleBg: '#FFFFFF',
      // handleHoverColor: '#7F56DA', // 悬停颜色使用主色
      // handleBorderColor: '#D0D5DD',
    },
    Select: {
      // // 基础样式（Figma 设计规范）
      // fontSizeIcon: 16,
      // fontSize: 16,
      // lineHeight: 1.5,
      //
      // // 边框和圆角（Figma: 8px 圆角，#D0D5DD 边框）
      // borderRadius: 8,
      // colorBorder: '#D0D5DD', // Gray/300
      //
      // // 高度和内边距（Figma: 48px 高度，16px 水平内边距）
      // controlHeight: 48,
      // controlPaddingHorizontal: 16,
      //
      // // 颜色（Figma 设计规范）
      // colorText: '#101828', // Gray/900 - 选中文本
      // colorTextPlaceholder: '#667085', // Gray/500 - 占位符
      // colorBgContainer: '#FFFFFF', // Base/White - 背景
      //
      // // 禁用态
      // colorBgContainerDisabled: '#F9FAFB', // Gray/50
      // colorTextDisabled: '#98A2B3', // Gray/400
      //
      // // 聚焦态（Figma: Primary/300 边框，Primary/100 阴影）
      // colorPrimaryBorder: '#D6BBFB', // Primary/300
      // controlOutline: '#F4EBFF', // Primary/100
      // controlOutlineWidth: 4,
      //
      // // 下拉箭头和清空按钮颜色
      // colorIcon: '#667085', // Gray/500
      // colorIconHover: '#344054', // Gray/700
      //
      // // 选择框阴影（Figma: Shadow/xs）
      // boxShadowSecondary:
      //   '0px 4px 6px -2px rgba(16, 24, 40, 0.03), 0px 12px 16px -4px rgba(16, 24, 40, 0.08)',
      //
      // // 多选标签样式（Figma: Gray/200 背景）
      // multipleItemBg: '#EAECF0', // Gray/200
      // multipleItemBorderColor: 'transparent',
      // multipleItemHeight: 36,
      //
      // // 选项样式
      // optionFontSize: 16,
      // optionLineHeight: 1.5,
      // optionPadding: '10px 8px',
      // optionSelectedBg: '#F4EBFF', // Primary/100 - 选中项背景（浅紫色）
      // optionActiveBg: '#F9FAFB', // Gray/50 - hover 背景
    },
    Menu: {
      itemSelectedColor: '#9976e3'
    },
    Popover: {
      // 下拉框阴影（Figma: Shadow/lg）
      // boxShadowSecondary:
      //   '0px 4px 6px -2px rgba(16, 24, 40, 0.03), 0px 12px 16px -4px rgba(16, 24, 40, 0.08)',
    },
    Typography: {
      colorText: '#101828',
      colorTextSecondary: '#475467',
      colorLink: '#7F56DA',
      colorLinkHover: '#6D48C4',
      colorLinkActive: '#5F3DA8'
    }
  };
}

/**
 * 获取全局 token 配置
 */
export function getGlobalToken(themeColor) {
  return {
    colorPrimary: themeColor || '#5D3F9F',
    colorPrimaryBg: '#eee5ff',
    colorPrimaryBgHover: '#e4d9fc',
    colorPrimaryBorder: '#d4c3f7',
    colorSuccess: '#5f9e3f',
    colorInfo: '#5d3f9f',
    colorError: '#f5222d',
    colorSuccessBg: '#e5fcd9',
    colorSuccessBgHover: '#d5f7c3',
    // 链接色
    colorLink: '#7F56DA',
    colorLinkActive: '#5F3DA8',
    colorLinkHover: '#6D48C4',
    // 文本颜色
    colorText: '#101828',
    colorTextSecondary: '#475467',
    colorTextTertiary: '#667085',
    colorTextQuaternary: '#D0D5DD',
    // 边框和背景
    colorBorder: '#D0D5DD',
    colorBorderSecondary: '#EAECF0',
    colorFill: '#D0D5DD',
    colorFillSecondary: '#EAECF0',
    colorFillTertiary: '#F2F4F7',
    colorFillQuaternary: '#F9FAFB',
    colorBgLayout: '#F2F4F7',
    colorBgSpotlight: '#101828',
    colorBgMask: 'rgba(0, 0, 0, 0.5)',
    // 其他
    wireframe: false,
    borderRadius: 8
  };
}

/**
 * 获取完整的主题配置
 */
export function getThemeConfig(themeColor) {
  return {
    components: getComponentsToken(),
    token: getGlobalToken(themeColor)
  };
}