UNPKG

shineout

Version:

Shein 前端组件库

2,012 lines (1,824 loc) 109 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.setThemeConfig = setThemeConfig; exports.getThemeConfig = getThemeConfig; exports.getThemeTarget = getThemeTarget; exports.cleanStyleObj = cleanStyleObj; exports.injectTag = injectTag; exports.default = void 0; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread")); var _color = require("./color"); var _config = require("../config"); var _objects = require("./objects"); var _is = require("./is"); var _hash = _interopRequireDefault(require("./hash")); var _styles = require("../Pagination/styles"); var _styles2 = require("../Checkbox/styles"); var _styles3 = require("../Button/styles"); var _styles4 = require("../Select/styles"); var _styles5 = require("../Form/styles"); var _styles6 = require("../Menu/styles"); var _styles7 = require("../Alert/styles"); var _styles8 = require("../Message/styles"); var _styles9 = require("../Modal/styles"); var _styles10 = require("../Popover/styles"); var _styles11 = require("../DatePicker/styles"); var _styles12 = require("../Dropdown/styles"); var _styles13 = require("../Input/styles"); var _styles14 = require("../Card/styles"); var _styles15 = require("../Tooltip/styles"); var _styles16 = require("../Slider/styles"); var _styles17 = require("../Tag/styles"); var _expose = require("../styles/expose"); var config = { injectType: 'body', target: undefined }; var computedCache = {}; var styleObj = {}; function setThemeConfig(c) { Object.keys(c).forEach(function (key) { if (key in config) { // @ts-ignore config[key] = c[key]; } }); } function getThemeConfig(name) { return config[name]; } function getThemeTarget() { var target = config.target; if (!target) return document.body; if ((0, _is.isFunc)(target)) { target = target(); } else if (typeof target === 'string') { target = document.querySelector(target); } if (target instanceof HTMLElement) return target; console.error("can not find theme target dom from \"" + config.target + "\""); return document.body; } function cleanStyleObj() { styleObj = {}; } function injectTag(custom) { if (custom === void 0) { custom = {}; } if (config.target && typeof config.target !== 'string') { console.error('The target of themeConfig must use string when injectType = "tag"'); } var selector = config.target || 'body'; var id = "__shineoutThemeStyleContainer__" + (0, _hash.default)(selector); var varObj = (0, _objectSpread2.default)({}, styleObj, custom); var styleText = selector + "{" + Object.keys(varObj).map(function (key) { return key + ": " + varObj[key]; }).join(';') + "}"; var el = document.getElementById(id); if (el) { el.innerText = styleText; } else { var stylee = document.createElement('style'); stylee.setAttribute('type', 'text/css'); stylee.setAttribute('id', id); stylee.innerText = styleText; document.head.appendChild(stylee); } return id; } function getProperty(name, cache) { if (name === void 0) { name = '--btn-hover-darken'; } if (cache === void 0) { cache = true; } if (cache && computedCache[name]) return computedCache[name]; computedCache[name] = getComputedStyle(document.body).getPropertyValue(name).trim(); return computedCache[name]; } function setBodyProperty(colors, value) { for (var _iterator = (0, _objects.entries)(colors), _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { var _ref; if (_isArray) { if (_i >= _iterator.length) break; _ref = _iterator[_i++]; } else { _i = _iterator.next(); if (_i.done) break; _ref = _i.value; } var _ref2 = _ref, cssVar = _ref2[0], cssValue = _ref2[1]; if (config.injectType === 'body') { var target = getThemeTarget(); if (value === undefined) { target.style.removeProperty(cssVar); } else { target.style.setProperty(cssVar, cssValue); } } if (config.injectType === 'tag') { if (value === undefined) { delete styleObj[cssVar]; } else { styleObj[cssVar] = cssValue; } } } } var injects = { color: { info: { title: 'Color 颜色', name: 'color', path: 'Button' }, conf: [{ name: 'primary', type: 'color', attr: 'backgroundColor', className: (0, _styles3.buttonClass)('primary'), desc: '主色' }, { name: 'infoColor', type: 'color', attr: 'backgroundColor', className: (0, _styles3.buttonClass)('info') }, { name: 'warning', type: 'color', attr: 'backgroundColor', className: (0, _styles3.buttonClass)('warning') }, { name: 'danger', type: 'color', attr: 'backgroundColor', className: (0, _styles3.buttonClass)('danger') }, { name: 'secondary', type: 'color', attr: 'backgroundColor', className: (0, _styles3.buttonClass)('secondary') }, { name: 'success', type: 'color', attr: 'backgroundColor', className: (0, _styles3.buttonClass)('success') }, { name: 'gray100', type: 'color', attr: 'color', desc: 'Form, Datepicker, Cascader, Tree, Card, Upload, Pagination, Select', className: (0, _expose.exposeClass)('gray-100') }, { name: 'gray200', type: 'color', attr: 'color', desc: 'Form, Datepicker, Cascader, Alert, Tabs, Progress', className: (0, _expose.exposeClass)('gray-200') }, { name: 'gray300', type: 'color', attr: 'color', desc: 'Button, Card, Cascader, Upload, Image, Tooltip', className: (0, _expose.exposeClass)('gray-300') }, { name: 'gray400', type: 'color', attr: 'color', desc: 'Cascader, Select, TreeSelect, Slider, Upload, Input, Rate', className: (0, _expose.exposeClass)('gray-400') }, { name: 'gray500', type: 'color', attr: 'color', desc: 'Cascader, Select, Table, TreeSelect, Checkbox, Slider, Tree', className: (0, _expose.exposeClass)('gray-500') }, { name: 'gray600', type: 'color', attr: 'color', desc: 'Select, Datepicker, TreeSelect, Link-disabled, Table, Pagination, Tree', className: (0, _expose.exposeClass)('gray-600') }, { name: 'gray700', type: 'color', attr: 'color', desc: 'Table sort icon hover color', className: (0, _expose.exposeClass)('gray-700') }, { name: 'gray800', type: 'color', attr: 'color', desc: 'Dropdown, Card, Dropdown', className: (0, _expose.exposeClass)('gray-800') }, { name: 'gray900', type: 'color', attr: 'color', desc: 'text color, Menu', className: (0, _expose.exposeClass)('gray-900') }], set primary(v) { setBodyProperty({ '--primary-color': v, '--primary-color-dark-5': (0, _color.darken)(v, 5), '--primary-color-dark-15': (0, _color.darken)(v, 15), '--primary-color-dark-btn-hover': (0, _color.darken)(v, getProperty()), '--primary-color-lighten-40': (0, _color.darken)(v, -40), '--primary-color-fade-60': (0, _color.fade)(v, 0.6), '--primary-color-fade-50': (0, _color.fade)(v, 0.5), '--primary-color-fade-10': (0, _color.fade)(v, 0.1), '--primary-color-fade-5': (0, _color.fade)(v, 0.05), '--primary-color-fade-0': (0, _color.fade)(v, 0), '--primary-color-dark-5_fade-60': (0, _color.fade)((0, _color.darken)(v, 5), 0.6), '--primary-color-dark-5_fade-0': (0, _color.fade)((0, _color.darken)(v, 5), 0) }, v); }, set infoColor(v) { setBodyProperty({ '--info-color': v, '--info-color-dark-5': (0, _color.darken)(v, 5), '--info-color-fade-60': (0, _color.fade)(v, 0.6), '--info-color-dark-5_fade-60': (0, _color.fade)((0, _color.darken)(v, 5), 0.6), '--info-color-fade-0': (0, _color.fade)(v, 0), '--info-color-dark-5_fade-0': (0, _color.fade)((0, _color.darken)(v, 5), 0), '--info-color-dark-btn-hover': (0, _color.darken)(v, getProperty()) }, v); }, set warning(v) { setBodyProperty({ '--warning-color': v, '--warning-color-dark-5': (0, _color.darken)(v, 5), '--warning-color-fade-60': (0, _color.fade)(v, 0.6), '--warning-color-dark-5_fade-60': (0, _color.fade)((0, _color.darken)(v, 5), 0.6), '--warning-color-fade-0': (0, _color.fade)(v, 0), '--warning-color-dark-5_fade-0': (0, _color.fade)((0, _color.darken)(v, 5), 0), '--warning-color-dark-btn-hover': (0, _color.darken)(v, getProperty()) }, v); }, set danger(v) { setBodyProperty({ '--danger-color': v, '--danger-color-fade-25': (0, _color.fade)(v, 0.25), '--danger-color-dark-5': (0, _color.darken)(v, 5), '--danger-color-fade-60': (0, _color.fade)(v, 0.6), '--danger-color-dark-5_fade-60': (0, _color.fade)((0, _color.darken)(v, 5), 0.6), '--danger-color-fade-0': (0, _color.fade)(v, 0), '--danger-color-dark-5_fade-0': (0, _color.fade)((0, _color.darken)(v, 5), 0), '--danger-color-dark-btn-hover': (0, _color.darken)(v, getProperty()) }, v); }, set success(v) { setBodyProperty({ '--success-color': v, '--success-color-dark-5': (0, _color.darken)(v, 5), '--success-color-fade-60': (0, _color.fade)(v, 0.6), '--success-color-dark-5_fade-60': (0, _color.fade)((0, _color.darken)(v, 5), 0.6), '--success-color-fade-0': (0, _color.fade)(v, 0), '--success-color-dark-5_fade-0': (0, _color.fade)((0, _color.darken)(v, 5), 0), '--success-color-dark-btn-hover': (0, _color.darken)(v, getProperty()) }, v); }, set secondary(v) { setBodyProperty({ '--secondary-color': v, '--secondary-color-dark-5': (0, _color.darken)(v, 5), '--secondary-color-dark-btn-hover': (0, _color.darken)(v, getProperty()), '--secondary-color-dark-5_fade-60': (0, _color.fade)((0, _color.darken)(v, 5), 0.6), '--secondary-color-dark-5_fade-0': (0, _color.fade)((0, _color.darken)(v, 5), 0) }, v); }, set gray100(v) { setBodyProperty({ '--gray-100': v }, v); }, set gray200(v) { setBodyProperty({ '--gray-200': v, '--gray-200-darken-5': (0, _color.darken)(v, 5) }, v); }, set gray300(v) { setBodyProperty({ '--gray-300': v, '--gray-300-darken-hover': (0, _color.darken)(v, getProperty()), '--gray-300-fade-60': (0, _color.fade)(v, 0.6), '--gray-300-fade-0': (0, _color.fade)(v, 0) }, v); }, set gray400(v) { setBodyProperty({ '--gray-400': v, '--gray-400-darken-20': (0, _color.darken)(v, 20) }, v); }, set gray500(v) { setBodyProperty({ '--gray-500': v }, v); }, set gray600(v) { setBodyProperty({ '--gray-600': v, '--gray-600-lighten-15': (0, _color.darken)(v, -15) }, v); }, set gray700(v) { setBodyProperty({ '--gray-700': v }, v); }, set gray800(v) { setBodyProperty({ '--gray-800': v, '--gray-800-darken-5': (0, _color.darken)(v, 5) }, v); }, set gray900(v) { setBodyProperty({ '--gray-900': v, '--gray-900-lighten-40': (0, _color.darken)(v, -40) }, v); } }, button: { info: { title: 'Button 按钮', name: 'button', path: 'Button' }, conf: [{ name: 'fontSizeBase', attr: 'fontSize', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('_'), desc: '常规按钮字体大小' }, { name: 'fontSizeLarge', attr: 'fontSize', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('large'), desc: '大按钮字体大小' }, { name: 'fontSizeSmall', attr: 'fontSize', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('small'), desc: '小按钮字体大小' }, { name: 'marginLeft', attr: 'marginLeft', type: 'number', parser: parseInt, className: (0, _expose.exposeClass)('button'), desc: '连续按钮间距' }, { name: 'spinMargin', attr: 'marginRight', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('spin-ltr'), desc: '加载图标与文字间距' }, { name: 'paddingBaseHorizontal', attr: 'paddingLeft', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('_'), desc: '常规按钮水平内边距' }, { name: 'paddingBaseVertical', attr: 'paddingTop', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('_'), desc: '常规按钮垂直内边距' }, { name: 'paddingLargeHorizontal', attr: 'paddingLeft', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('large'), desc: '大按钮水平内边距' }, { name: 'paddingLargeVertical', attr: 'paddingTop', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('large'), desc: '大按钮垂直内边距' }, { name: 'paddingSmallHorizontal', attr: 'paddingLeft', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('small'), desc: '小按钮水平内边距' }, { name: 'paddingSmallVertical', attr: 'paddingTop', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('small'), desc: '小按钮垂直内边距' }, { name: 'borderRadius', attr: 'borderRadius', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('_'), desc: '常规按钮圆角' }, { name: 'smallBorderRadius', attr: 'borderRadius', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('small'), desc: '小按钮圆角' }, { name: 'largeBorderRadius', attr: 'borderRadius', type: 'number', parser: parseInt, className: (0, _styles3.buttonClass)('large'), desc: '大按钮圆角' }, { name: 'disabledBg', attr: 'backgroundColor', type: 'color', className: (0, _styles3.buttonClass)('disabled'), desc: '禁用按钮背景色' }, { name: 'disabledDelimiter', attr: 'borderColor', type: 'color', className: (0, _expose.exposeClass)('button-disabled-delimiter'), desc: '按钮组禁用状态下分隔符颜色' }, { name: 'disabledColor', attr: 'color', type: 'color', className: (0, _styles3.buttonClass)('disabled'), desc: '禁用按钮文字颜色' }, { name: 'disabledBorderColor', attr: 'borderColor', type: 'color', className: (0, _styles3.buttonClass)('disabled'), desc: '禁用按钮边框颜色' }, { name: 'buttonDefaultTextColor', attr: 'color', type: 'color', className: (0, _styles3.buttonClass)('default'), desc: '默认样式下文字颜色' }, { name: 'buttonDefaultBorderColor', attr: 'borderColor', type: 'color', className: (0, _styles3.buttonClass)('default'), desc: '默认样式下边框颜色' }], set fontSizeBase(v) { setBodyProperty({ '--button-font-size-base': parseInt(v, 10) + "px" }, v); }, set fontSizeLarge(v) { setBodyProperty({ '--button-font-size-large': parseInt(v, 10) + "px" }, v); }, set fontSizeSmall(v) { setBodyProperty({ '--button-font-size-small': parseInt(v, 10) + "px" }, v); }, set spinMargin(v) { setBodyProperty({ '--button-spin-margin': parseInt(v, 10) + "px" }, v); }, set marginLeft(v) { setBodyProperty({ '--button-margin-left': parseInt(v, 10) + "px" }, v); }, set borderRadius(v) { setBodyProperty({ '--button-border-radius': parseInt(v, 10) + "px" }, v); }, set smallBorderRadius(v) { setBodyProperty({ '--button-small-border-radius': parseInt(v, 10) + "px" }, v); }, set largeBorderRadius(v) { setBodyProperty({ '--button-large-border-radius': parseInt(v, 10) + "px" }, v); }, set paddingBaseHorizontal(v) { setBodyProperty({ '--button-padding-base-horizontal': parseInt(v, 10) + "px", '--button-padding-base-horizontal-7': parseInt(v, 10) * 0.7 + "px" }, v); }, set paddingLargeHorizontal(v) { setBodyProperty({ '--button-padding-large-horizontal': parseInt(v, 10) + "px" }, v); }, set paddingSmallHorizontal(v) { setBodyProperty({ '--button-padding-small-horizontal': parseInt(v, 10) + "px" }, v); }, set paddingBaseVertical(v) { setBodyProperty({ '--button-padding-base-vertical': parseInt(v, 10) + "px" }, v); }, set paddingLargeVertical(v) { setBodyProperty({ '--button-padding-large-vertical': parseInt(v, 10) + "px" }, v); }, set paddingSmallVertical(v) { setBodyProperty({ '--button-padding-small-vertical': parseInt(v, 10) + "px" }, v); }, set disabledBg(v) { setBodyProperty({ '--button-disabled-bg': v }, v); }, set disabledColor(v) { setBodyProperty({ '--button-disabled-color': v }, v); }, set disabledBorderColor(v) { setBodyProperty({ '--button-disabled-border-color': v }, v); }, set disabledDelimiter(v) { setBodyProperty({ '--button-disabled-delimiter': v }, v); }, set buttonDefaultTextColor(v) { setBodyProperty({ '--button-default-text-color': v }, v); }, set buttonDefaultBorderColor(v) { setBodyProperty({ '--button-default-border': v, '--button-default-border-fade-0': (0, _color.fade)(v, 0), '--button-default-border-fade-60': (0, _color.fade)(v, 0.6) }, v); } }, dropdown: { info: { title: 'Dropdown 下拉菜单', name: 'dropdown', path: 'Dropdown' }, conf: [{ name: 'borderWidth', attr: 'borderWidth', type: 'number', parser: parseInt, className: (0, _expose.exposeClass)('dropdown-button'), desc: '按钮边框宽度' }, { name: 'columnsPadding', attr: 'padding', type: 'string', className: (0, _styles12.dropdownClass)('box-list'), desc: '多列平铺的内边距' }, { name: 'optionsHoverBgc', attr: 'backgroundColor', type: 'color', className: (0, _expose.exposeClass)('dropdown-options-hover'), desc: 'options hover时背景颜色' }, { name: 'optionsHoverColor', attr: 'color', type: 'color', className: (0, _expose.exposeClass)('dropdown-options-hover'), desc: 'options hover时字体颜色' }], set borderWidth(v) { setBodyProperty({ '--dropdown-border-width': parseInt(v, 10) + "px" }, v); }, set columnsPadding(v) { setBodyProperty({ '--dropdown-columns-padding': v }, v); }, set optionsHoverBgc(v) { setBodyProperty({ '--dropdown-options-hover-bgc': v }, v); }, set optionsHoverColor(v) { setBodyProperty({ '--dropdown-options-hover-color': v }, v); } }, form: { info: { title: 'Form 表单', name: 'form', path: 'Form' }, conf: [{ name: 'itemMarginBottom', className: (0, _styles5.formClass)('item'), attr: 'marginBottom', type: 'number', parser: parseInt, desc: '条目垂直间隔' }, { name: 'itemMarginRight', className: (0, _expose.exposeClass)('form-inline'), attr: 'marginRight', type: 'number', parser: parseInt, desc: '条目水平间隔' }, { name: 'tipColor', className: (0, _expose.exposeClass)('form-tip'), attr: 'color', type: 'color', desc: '提示文字颜色' }, { name: 'labelHorizontalAlign', className: (0, _expose.exposeClass)('form-label'), attr: 'textAlign', type: ['start', 'center', 'end'], desc: '标签对齐方式' }, { name: 'formTipFontSize', className: (0, _expose.exposeClass)('form-tip'), attr: 'fontSize', type: 'number', parser: parseInt, desc: '提示信息字体大小' }, { name: 'formErrorLineHeight', className: (0, _expose.exposeClass)('form-error'), attr: 'lineHeight', type: 'number', parser: parseFloat, desc: '校验错误文字行高' }, { name: 'formErrorMarginTop', className: (0, _expose.exposeClass)('form-error'), attr: 'marginTop', type: 'number', parser: parseInt, desc: '校验错误文字顶部间距' }, { name: 'formErrorMarginBottom', className: (0, _expose.exposeClass)('form-error'), attr: 'marginBottom', type: 'number', parser: parseInt, desc: '校验错误文字底部间距' }, { name: 'formKeepErrorHeight', className: (0, _expose.exposeClass)('form-keep-error'), attr: 'min-height', type: 'number', parser: parseInt, desc: '错误提示不撑开表单高度时的最小间距' }], set itemMarginBottom(v) { setBodyProperty({ '--form-item-margin-bottom': parseInt(v, 10) + "px" }, v); }, set itemMarginRight(v) { setBodyProperty({ '--form-item-margin-right': parseInt(v, 10) + "px" }, v); }, set tipColor(v) { setBodyProperty({ '--form-tip-color': v }, v); }, set labelHorizontalAlign(v) { setBodyProperty({ '--form-item-label-align': v }, v); }, set formTipFontSize(v) { setBodyProperty({ '--form-tip-font-size': parseInt(v, 10) + "px" }, v); }, set formErrorLineHeight(v) { setBodyProperty({ '--form-item-error-line-height': parseInt(v, 10) + "px" }, v); }, set formErrorMarginTop(v) { setBodyProperty({ '--form-item-error-margin-top': parseInt(v, 10) + "px" }, v); }, set formErrorMarginBottom(v) { setBodyProperty({ '--form-item-error-margin-bottom': parseInt(v, 10) + "px" }, v); }, set formKeepErrorHeight(v) { setBodyProperty({ '--form-Item-min-keep-height': parseInt(v, 10) + "px" }, v); } }, checkbox: { info: { title: 'Checkbox 复选框', name: 'checkbox', path: 'Checkbox' }, conf: [{ name: 'marginRight', className: (0, _styles2.checkinputClass)('_'), attr: 'marginRight', type: 'number', parser: parseInt, desc: '水平间隔' }, { name: 'borderWidth', className: (0, _expose.exposeClass)('checkbox-indicator'), attr: 'width', type: 'number', parser: parseInt, desc: '边框宽度' }, { name: 'color', className: (0, _styles2.checkinputClass)('_'), attr: 'color', type: 'color', desc: '文字颜色' }, { name: 'borderColor', className: (0, _expose.exposeClass)('checkbox-indicator'), attr: 'borderColor', type: 'color', desc: '边框颜色' }, { name: 'textPaddingX', className: (0, _expose.exposeClass)('checkbox-text'), attr: 'paddingRight', type: 'number', parser: parseInt, desc: '文字水平内间距' }, { name: 'indicatorBorderRadius', className: (0, _expose.exposeClass)('checkbox-indicator'), attr: 'borderRadius', type: 'number', parser: parseInt, min: 3, desc: '圆角' }, { name: 'checkboxDisabledBgc', className: (0, _expose.exposeClass)('checkbox-disabled'), attr: 'backgroundColor', type: 'color', desc: 'Checkbox 和 Radio 未选中状态禁用后的背景色' }, { name: 'checkboxCheckedDisabledBgc', className: (0, _expose.exposeClass)('checkbox-checked-disabled'), attr: 'backgroundColor', type: 'color', desc: 'Checkbox 和 Radio 选中状态下禁用后的背景色' }], set marginRight(v) { setBodyProperty({ '--checkbox-margin-right': parseInt(v, 10) + "px" }, v); }, set color(v) { setBodyProperty({ '--checkinput-color': v }, v); }, set borderColor(v) { setBodyProperty({ '--checkbox-border-color': v }, v); }, set borderWidth(v) { setBodyProperty({ '--checkbox-border-width': parseInt(v, 10) + "px" }, v); }, set textPaddingX(v) { setBodyProperty({ '--checkbox-text-padding-x': parseInt(v, 10) + "px" }, v); }, set indicatorBorderRadius(v) { setBodyProperty({ '--checkbox-indicator-border-radius': parseInt(v, 10) + "px" }, v); }, set checkboxDisabledBgc(v) { setBodyProperty({ '--checkbox-disabled-bgc': v }, v); }, set checkboxCheckedDisabledBgc(v) { setBodyProperty({ '--checkbox-checked-disabled-bgc': v }, v); } }, radio: { info: { title: 'Radio 单选框', name: 'radio', path: 'Radio' }, conf: [{ name: 'size', className: (0, _expose.exposeClass)('radio'), attr: 'width', type: 'number', parser: parseInt, min: 0, max: 40, desc: '尺寸' }, { name: 'borderWidth', className: (0, _expose.exposeClass)('radio'), attr: 'borderWidth', type: 'number', parser: parseInt, min: 0, max: 10, desc: '选中的边框宽度' }, { name: 'innerWidth', className: (0, _expose.exposeClass)('radio-inner'), attr: 'width', type: 'number', parser: parseInt, min: 0, max: 10, desc: '选中点尺寸' }, { name: 'uncheckBorderWidth', className: (0, _expose.exposeClass)('radio-uncheck'), attr: 'width', type: 'number', parser: parseInt, min: 0, desc: '未选中边框宽度' }, { name: 'color', className: (0, _expose.exposeClass)('radio'), attr: 'color', type: 'color', desc: '文字颜色' }], set size(v) { setBodyProperty({ '--radio-width': parseInt(v, 10) + "px" }, v); }, set borderWidth(v) { setBodyProperty({ '--radio-border-width': parseInt(v, 10) + "px" }, v); }, set innerWidth(v) { setBodyProperty({ '--radio-inner-width': parseInt(v, 10) + "px" }, v); }, set uncheckBorderWidth(v) { setBodyProperty({ '--radio-border-uncheck-width': parseInt(v, 10) + "px" }, v); }, set color(v) { setBodyProperty({ '--radio-text-color': v }, v); } }, input: { info: { title: 'Input 输入框', name: 'input', path: 'Input' }, conf: [{ name: 'color', className: (0, _styles13.inputClass)('_'), attr: 'color', type: 'color', desc: '文字颜色' }, { name: 'borderRadius', className: (0, _styles13.inputClass)('_'), attr: 'borderRadius', type: 'number', parser: parseInt, desc: '圆角' }, { name: 'underlineHeight', className: (0, _styles13.inputClass)('_', 'underline'), attr: 'borderBottomWidth', type: 'number', parser: parseInt, desc: '下边框宽度(仅在下边框模式生效)' }, { name: 'dropdownBorderRadius', className: (0, _styles11.datepickerClass)('picker'), attr: 'borderRadius', type: 'number', parser: parseInt, desc: '下拉框圆角,例如Select Options' }, { name: 'focusWidth', className: (0, _styles13.inputClass)('focus'), attr: 'boxShadow', type: 'number', max: 20, parser: function parser(v) { return parseInt(v.split(' ').pop(), 10); }, desc: '聚焦发散光宽度' }, { name: 'disabledBg', className: (0, _styles13.inputClass)('disabled'), attr: 'backgroundColor', type: 'color', desc: '禁用背景色' }, { name: 'disabledColor', className: (0, _styles13.inputClass)('disabled'), attr: 'color', type: 'color', desc: '禁用字体色' }, { name: 'borderColor', className: (0, _styles13.inputClass)('_'), attr: 'borderColor', type: 'color', desc: '边框颜色' }, { name: 'borderHoverColor', className: (0, _expose.exposeClass)('input-focus'), attr: 'borderColor', type: 'color', desc: '鼠标悬浮、聚焦时的边框色' }, { name: 'placeholderColor', className: (0, _expose.exposeClass)('input-placeholder'), attr: 'color', type: 'color', desc: '占位文字颜色' }, { name: 'placeholderSize', className: (0, _expose.exposeClass)('input-placeholder'), attr: 'fontSize', type: 'number', parser: parseInt, desc: '占位文字大小' }, { name: 'clearBg', className: (0, _expose.exposeClass)('input-clear'), attr: 'backgroundColor', type: 'color', desc: '清空图标背景色' }, { name: 'clearHoverBg', className: (0, _expose.exposeClass)('input-clear-hover'), attr: 'backgroundColor', type: 'color', desc: '清空图标鼠标悬浮背景色' }], set color(v) { setBodyProperty({ '--input-text-color': v }, v); }, set borderRadius(v) { setBodyProperty({ '--input-border-radius': parseInt(v, 10) + "px" }, v); }, set underlineHeight(v) { setBodyProperty({ '--input-underline-height': parseInt(v, 10) + "px" }, v); }, set dropdownBorderRadius(v) { setBodyProperty({ '--input-dropdown-border-radius': parseInt(v, 10) + "px" }, v); }, set disabledBg(v) { setBodyProperty({ '--input-bg-disabled': v }, v); }, set disabledColor(v) { setBodyProperty({ '--input-disabled-color': v }, v); }, set borderColor(v) { setBodyProperty({ '--input-border-color': v }, v); }, set borderHoverColor(v) { setBodyProperty({ '--input-border-focus-color': v, '--input-border-focus-color-fade-25': (0, _color.fade)(v, 0.25) }, v); }, set focusWidth(v) { setBodyProperty({ '--input-focus-width': parseInt(v, 10) + "px" }, v); }, set placeholderColor(v) { setBodyProperty({ '--input-placeholder-color': v }, v); }, set placeholderSize(v) { setBodyProperty({ '--input-placeholder-size': parseInt(v, 10) + "px" }, v); }, set clearBg(v) { setBodyProperty({ '--input-clear-bg-color': v }, v); }, set clearHoverBg(v) { setBodyProperty({ '--input-clear-bg-hover-color': v }, v); } }, select: { info: { title: 'Select 选择框', name: 'select', path: 'Select' }, conf: [{ name: 'resultPaddingHorizontal', className: (0, _expose.exposeClass)('select-result-item'), attr: 'paddingLeft', type: 'number', parser: parseInt, desc: '选中值水平内边距' }, { name: 'resultPaddingVertical', className: (0, _expose.exposeClass)('select-result-item'), attr: 'paddingTop', type: 'number', parser: parseInt, desc: '选中值垂直内边距' }, { name: 'itemColor', className: (0, _styles4.selectClass)('option'), attr: 'color', type: 'color', desc: '选项文字颜色' }, { name: 'itemBgColor', className: (0, _styles4.selectClass)('option'), attr: 'backgroundColor', type: 'color', desc: '选项背景颜色' }, { name: 'disabledBg', className: (0, _styles4.selectClass)('option', 'disabled'), attr: 'backgroundColor', type: 'color', desc: '禁用选项背景色' }, { name: 'disabledColor', className: (0, _styles4.selectClass)('option', 'disabled'), attr: 'color', type: 'color', desc: '禁用选项文字颜色' }, { name: 'itemActiveBg', className: (0, _styles4.selectClass)('active', 'option'), attr: 'backgroundColor', type: 'color', desc: '选中项背景色' }, { name: 'itemActiveColor', className: (0, _styles4.selectClass)('active', 'option'), attr: 'color', type: 'color', desc: '选中项文字颜色' }, { name: 'itemHoverBg', className: (0, _expose.exposeClass)('select-option-hover'), attr: 'backgroundColor', type: 'color', desc: '选项鼠标悬浮背景色' }, { name: 'itemHoverColor', className: (0, _expose.exposeClass)('select-option-hover'), attr: 'color', type: 'color', desc: '选项鼠标悬浮文字颜色' }, { name: 'compressedMoreHoverBg', className: (0, _expose.exposeClass)('select-compressed'), attr: 'backgroundColor', type: 'color', desc: 'compressed模式按钮鼠标悬浮背景色' }, { name: 'clearIconBg', className: (0, _expose.exposeClass)('select-close'), attr: 'backgroundColor', type: 'color', desc: '清空按钮背景色' }, { name: 'treeDisabledBg', className: (0, _expose.exposeClass)('select-tree-disabled'), attr: 'backgroundColor', type: 'color', desc: '树形选择禁用选项背景色' }, { name: 'treeContentColor', className: (0, _expose.exposeClass)('select-tree'), attr: 'color', type: 'color', desc: '树形选择可点击选项文字颜色' }, { name: 'treeDisableContentColor', className: (0, _expose.exposeClass)('select-tree-disabled'), attr: 'color', type: 'color', desc: '树形选择禁用选项文字颜色' }, { name: 'treeIconHoverBg', className: (0, _expose.exposeClass)('select-tree-icon-hover'), attr: 'backgroundColor', type: 'color', desc: '树形选择展开箭头背景色' }, { name: 'treeNodeHoverBg', className: (0, _expose.exposeClass)('select-tree-node-hover'), attr: 'backgroundColor', type: 'color', desc: '树形选择节点hover状态背景色' }, { name: 'treeNodeHoverColor', className: (0, _expose.exposeClass)('select-tree-node-hover'), attr: 'color', type: 'color', desc: '树形选择节点hover状态文字颜色' }, { name: 'treeNodeSelectedBg', className: (0, _expose.exposeClass)('select-tree-node-selected'), attr: 'backgroundColor', type: 'color', desc: '树形选择节点选中状态背景色' }, { name: 'treeNodeSelectedColor', className: (0, _expose.exposeClass)('select-tree-node-selected'), attr: 'color', type: 'color', desc: '树形选择节点选中状态文字颜色' }], set resultPaddingVertical(v) { setBodyProperty({ '--select-result-padding-vertical': parseInt(v, 10) + "px" }, v); }, set resultPaddingHorizontal(v) { setBodyProperty({ '--select-result-padding-horizontal': parseInt(v, 10) + "px", '--select-result-padding-horizontal-16': parseInt(v, 10) + 16 + "px" }, v); }, set itemColor(v) { setBodyProperty({ '--select-option-color': v }, v); }, set itemBgColor(v) { setBodyProperty({ '--select-option-bg-color': v }, v); }, set disabledBg(v) { setBodyProperty({ '--select-disabled-bg-color': v }, v); }, set disabledColor(v) { setBodyProperty({ '--select-disabled-color': v }, v); }, set itemActiveBg(v) { setBodyProperty({ '--select-item-active-bg': v }, v); }, set itemActiveColor(v) { setBodyProperty({ '--select-item-active-color': v }, v); }, set itemHoverBg(v) { setBodyProperty({ '--select-option-hover-bg': v }, v); }, set itemHoverColor(v) { setBodyProperty({ '--select-option-hover-color': v }, v); }, set compressedMoreHoverBg(v) { setBodyProperty({ '--select-compressed-hover-bg': v }, v); }, set clearIconBg(v) { setBodyProperty({ '--select-clear-bg-color': v }, v); }, set treeDisabledBg(v) { setBodyProperty({ '--select-tree-disabled-bg-color': v }, v); }, set treeContentColor(v) { setBodyProperty({ '--select-tree-content-color': v }, v); }, set treeDisableContentColor(v) { setBodyProperty({ '--select-tree-disabled-content-color': v }, v); }, set treeIconHoverBg(v) { setBodyProperty({ '--select-tree-icon-hover-bg-color': v }, v); }, set treeNodeHoverBg(v) { setBodyProperty({ '--select-tree-node-hover-bg': v }, v); }, set treeNodeHoverColor(v) { setBodyProperty({ '--select-tree-node-hover-color': v }, v); }, set treeNodeSelectedBg(v) { setBodyProperty({ '--select-tree-node-selected-bg': v }, v); }, set treeNodeSelectedColor(v) { setBodyProperty({ '--select-tree-node-selected-color': v }, v); } }, datepicker: { info: { title: 'Datepicker 日期选择', name: 'datepicker', path: 'Datepicker' }, conf: [{ name: 'rectBorderRadius', className: (0, _expose.exposeClass)('datepicker-month-item'), attr: 'borderRadius', type: 'number', parser: parseInt, desc: '年份、月份选中项圆角' }, { name: 'dayHoverBgc', className: (0, _expose.exposeClass)('datepicker-day-hover-bgc'), attr: 'backgroundColor', type: 'color', desc: 'day hover时背景颜色' }], set rectBorderRadius(v) { setBodyProperty({ '--datepicker-rect-active-border-radius': parseInt(v, 10) + "px" }, v); }, set dayHoverBgc(v) { setBodyProperty({ '--datepicker-day-hover-bgc': v }, v); } }, slider: { info: { title: 'Slider 滑块', name: 'slider', path: 'Slider' }, conf: [{ name: 'indicatorBg', className: (0, _expose.exposeClass)('slider-indicator'), attr: 'backgroundColor', type: 'color', desc: '滑块背景色' }, { name: 'indicatorSize', className: (0, _expose.exposeClass)('slider-indicator'), attr: 'width', type: 'number', min: 8, max: 40, parser: parseInt, desc: '滑块尺寸' }, { name: 'indicatorBoxShadow', className: (0, _expose.exposeClass)('slider-indicator'), attr: 'boxShadow', type: 'string', desc: '滑块阴影' }, { name: 'barBg', className: (0, _expose.exposeClass)('slider-bar'), attr: 'backgroundColor', type: 'color', desc: '滑动条背景色' }, { name: 'disabledBarBg', className: (0, _expose.exposeClass)('slider-bar-disabled'), attr: 'backgroundColor', type: 'color', desc: '滑动条禁用背景色' }, { name: 'disabledIndicatorBorder', className: (0, _expose.exposeClass)('slider-indicator-disabled'), attr: 'borderColor', type: 'color', desc: '禁用状态下滑块边框色' }, { name: 'disabledIndicatorBg', className: (0, _expose.exposeClass)('slider-indicator-disabled'), attr: 'background', type: 'color', desc: '禁用状态下滑块边背景色' }, { name: 'height', className: (0, _styles16.sliderClass)('background'), attr: 'height', type: 'number', parser: parseInt, desc: '滑动条高度' }, { name: 'borderRadius', className: (0, _styles16.sliderClass)('background'), attr: 'borderRadius', type: 'number', parser: parseInt, desc: '滑动条圆角' }, { name: 'valueBottom', className: (0, _expose.exposeClass)('slider-value'), attr: 'height', type: 'number', parser: parseInt, desc: '当前值距离滑块距离' }], set indicatorBg(v) { setBodyProperty({ '--slider-indicator-bg': v }, v); }, set indicatorSize(v) { setBodyProperty({ '--slider-indicator-size': parseInt(v, 10) + "px", '--slider-indicator-size-half': parseInt(v, 10) / 2 + "px" }, v); }, set indicatorBoxShadow(v) { setBodyProperty({ '--slider-indicator-box-shadow': v }, v); }, set barBg(v) { setBodyProperty({ '--slider-bar-color': v }, v); }, set disabledBarBg(v) { setBodyProperty({ '--slider-disabled-bar-bg': v }, v); }, set disabledIndicatorBorder(v) { setBodyProperty({ '--slider-disbaled-indicator-border-color': v }, v); }, set disabledIndicatorBg(v) { setBodyProperty({ '--slider-disbaled-indicator-bg': v }, v); }, set height(v) { setBodyProperty({ '--slider-bar-height': parseInt(v, 10) + "px" }, v); }, set borderRadius(v) { setBodyProperty({ '--slider-border-radius': parseInt(v, 10) + "px" }, v); }, set valueBottom(v) { setBodyProperty({ '--slider-value-bottom': parseInt(v, 10) + "px" }, v); } }, table: { info: { title: 'Table 表格', name: 'table', path: 'Table' }, conf: [{ name: 'scrollRatio', className: (0, _expose.exposeClass)('table-scroll-ratio'), attr: 'width', parser: parseInt, type: 'number', desc: '滚动速率,仅在 Windows 下有效', logic: true, max: 500 }, { name: 'headBg', className: (0, _expose.exposeClass)('table-head'), attr: 'backgroundColor', type: 'color', desc: '表头背景色' }, { name: 'headColor', className: (0, _expose.exposeClass)('table-head'), attr: 'color', type: 'color', desc: '表头文字颜色' }, { name: 'bodyBg', className: (0, _expose.exposeClass)('table-body'), attr: 'backgroundColor', type: 'color', desc: '表格内容背景色' }, { name: 'rowSpacing', className: (0, _expose.exposeClass)('table-spacing'), attr: 'height', type: 'number', parser: parseInt, desc: '行间距' }, { name: 'rowBorderRadius', className: (0, _expose.exposeClass)('table-spacing'), attr: 'borderRadius', type: 'number', parser: parseInt, desc: '行圆角' }, { name: 'headFontWeight', className: (0, _expose.exposeClass)('table-head'), attr: 'fontWeight', type: 'number', max: 900, min: 100, parser: parseInt, desc: '表头字重' }, { name: 'borderColor', className: (0, _expose.exposeClass)('table-head'), attr: 'borderColor', type: 'color', desc: '边框颜色' }, { name: 'hoverBg', className: (0, _expose.exposeClass)('table-head-hover'), attr: 'backgroundColor', type: 'color', desc: '鼠标悬浮行背景色' }, { name: 'selectedBg', className: (0, _expose.exposeClass)('table-selected'), attr: 'backgroundColor', type: 'color', desc: '选中行背景色' }, { name: 'textColor', className: (0, _expose.exposeClass)('table'), attr: 'color', type: 'color', desc: '文字颜色' }, { name: 'borderRadiusTop', className: (0, _expose.exposeClass)('table-head'), attr: 'borderTopLeftRadius', type: 'number', parser: parseInt, desc: '表格头部圆角' }, { name: 'headerCellPadding', className: (0, _expose.exposeClass)('table-head'), attr: 'padding', type: 'string', desc: '表头分组内边距' }, { name: 'smallCellPadding', className: (0, _expose.exposeClass)('table-small'), attr: 'padding', type: 'string', desc: '紧凑表格单元格内边距' }, { name: 'cellPaddingHorizontal', className: (0, _expose.exposeClass)('table-cell'), attr: 'paddingLeft', type: 'number', parser: parseInt, desc: '单元格水平内边距' }, { name: 'cellPaddingVertical', className: (0, _expose.exposeClass)('table-cell'), attr: 'paddingTop', type: 'number', parser: parseInt, desc: '单元格垂直内边距' }, { name: 'treeExpandIconMarginRight', className: (0, _expose.exposeClass)('table-tree-expand'), attr: 'marginRight', type: 'number', parser: parseInt, desc: '子表格展开/收起按钮距离文字距离' }, { name: 'fixedStart', className: (0, _expose.exposeClass)('table-fixed-start'), attr: 'backgroundColor', type: 'color', desc: '固定列渐变色开始颜色' }, { name: 'fixedEnd', className: (0, _expose.exposeClass)('table-fixed-end'), attr: 'backgroundColor', type: 'color', desc: '固定列渐变色结束颜色' }, { name: 'tableEvenBgc', className: (0, _expose.exposeClass)('table-even'), attr: 'backgroundColor', type: 'color', desc: '偶数行背景颜色' }, { name: 'tableOddBgc', className: (0, _expose.exposeClass)('table-odd'), attr: 'backgroundColor', type: 'color', desc: '奇数行背景颜色' }, { name: 'marginBottom', className: (0, _expose.exposeClass)('table'), attr: 'marginBottom', type: 'number', parser: parseInt, desc: '表格底部外边距' }, { name: 'headerTopDivider', className: (0, _expose.exposeClass)('table-head-top'), attr: 'borderWidth', type: 'number', parser: parseInt, desc: '无边框表格头部边框线' }], set scrollRatio(v) { var rate = typeof v === 'number' ? v : parseInt(v, 10); (0, _config.set)('scrollRatio', rate); setBodyProperty({ '--table-scroll-ratio': rate + "px" }, v); }, set headBg(v) { setBodyProperty({ '--table-head-bg': v }, v); }, set hoverBg(v) { setBodyProperty({ '--table-hover-bg': v }, v); }, set selectedBg(v) { setBodyProperty({ '--table-selected-row-bg': v }, v); }, set headColor(v) { setBodyProperty({ '--table-head-color': v }, v); }, set bodyBg(v) { setBodyProperty({ '--table-body-bg': v }, v); }, set rowSpacing(v) { setBodyProperty({ '--table-row-spacing': parseInt(v, 10) + "px" }, v); }, set rowBorderRadius(v) { setBodyProperty({ '--table-row-border-radius': parseInt(v, 10) + "px" }, v); }, set headFontWeight(v) { setBodyProperty({ '--table-head-font-weight': "" + parseInt(v, 10) }, v); }, set borderColor(v) { setBodyProperty({ '--table-border-color': v }, v); }, set textColor(v) { setBodyProperty({ '--table-color': v }, v); }, set borderRadiusTop(v) { setBodyProperty({ '--table-border-radius-top': parseInt(v, 10) + "px" }, v); }, set headerCellPadding(v) { setBodyProperty({ '--table-header-cell-padding': v }, v); }, set smallCellPadding(v) { setBodyProperty({ '--table-small-cell-padding': v }, v); }, set cellPaddingHorizontal(v) { setBodyProperty({ '--table-cell-padding-horizontal': parseInt(v, 10) + "px" }, v); }, set cellPaddingVertical(v) { setBodyProperty({ '--table-cell-padding-vertical': parseInt(v, 10) + "px" }, v); }, set treeExpandIconMarginRight(v) { setBodyProperty({ '--table-tree-expand-icon-margin-right': parseInt(v, 10) + "px" }, v); }, set fixedStart(v) { setBodyProperty({ '--table-fixed-start-color': v }, v); }, set fixedEnd(v) { setBodyProperty({ '--table-fixed-end-color': v }, v); }, set tableEvenBgc(v) { setBodyProperty({ '--table-even-td-bgc': v }, v); }, set tableOddBgc(v) { setBodyProperty({ '--table-odd-td-bgc': v }, v); }, set marginBottom(v) { setBodyProperty({ '--table-margin-bottom': parseInt(v, 10) + "px" }, v); }, set headerTopDivider(v) { setBodyProperty({ '--table-header-top-divider-width': parseInt(v, 10) + "px" }, v); } }, pagination: { info: { title: 'Pagination 分页', name: 'pagination', path: 'Pagination' }, conf: [{ name: 'borderRadius', className: (0, _styles.paginationClass)('item'), attr: 'borderRadius', type: 'number', parser: parseInt, desc: '项目圆角' }, { name: 'borderWidth', className: (0, _styles.paginationClass)('item'), attr: 'borderWidth', type: 'number', parser: parseInt, desc: '项目边框宽度' }, { name: 'hoverBorderColor', className: (0, _expose.exposeClass)('pagination-hover'), attr: 'borderColor', type: 'color', desc: '项目鼠标悬浮边框颜色' }, { name: 'hoverColor', className: (0, _expose.exposeClass)('pagination-hover'), attr: 'color', type: 'color', desc: '项目鼠标悬浮文字颜色' }, { name: 'hoverBg', className: (0, _expose.exposeClass)('pagination-hover'), attr: 'backgroundColor', type: 'color', desc: '项目鼠标悬浮背景色' }, { name: 'fontSize', className: (0, _expose.exposeClass)('pagination'), attr: 'fontSize', type: 'number', parser: parseInt, desc: '字体大小' }, { name: 'defaultSize', className: (0, _expose.exposeClass)('pagination-default'), attr: 'width', type: 'number', parser: parseInt, desc: '默认尺寸宽高' }, { name: 'smallSize', className: (0, _expose.exposeClass)('pagination-small'), attr: 'width', type: 'number', parser: parseInt, desc: '小号尺寸宽高' }, { name: 'largeSize', className: (0, _expose.exposeClass)('pagination-large'), attr: 'width', type: 'number