AntdIcon.js 5.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. var _excluded = ["class", "icon", "spin", "rotate", "tabindex", "twoToneColor", "onClick"];
  2. import { createVNode as _createVNode } from "vue";
  3. function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
  4. function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
  5. function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
  6. function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
  7. function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
  8. function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
  9. function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
  10. function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  11. function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
  12. function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
  13. import VueIcon from './IconBase';
  14. import { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';
  15. import { normalizeTwoToneColors } from '../utils';
  16. import { blue } from '@ant-design/colors';
  17. import { useInjectIconContext } from './Context';
  18. import { InsertStyles } from './InsertStyle'; // Initial setting
  19. setTwoToneColor(blue.primary);
  20. var Icon = function Icon(props, context) {
  21. var _classObj;
  22. var _props$context$attrs = _objectSpread({}, props, context.attrs),
  23. cls = _props$context$attrs["class"],
  24. icon = _props$context$attrs.icon,
  25. spin = _props$context$attrs.spin,
  26. rotate = _props$context$attrs.rotate,
  27. tabindex = _props$context$attrs.tabindex,
  28. twoToneColor = _props$context$attrs.twoToneColor,
  29. onClick = _props$context$attrs.onClick,
  30. restProps = _objectWithoutProperties(_props$context$attrs, _excluded);
  31. var _useInjectIconContext = useInjectIconContext(),
  32. prefixCls = _useInjectIconContext.prefixCls,
  33. rootClassName = _useInjectIconContext.rootClassName;
  34. var classObj = (_classObj = {}, _defineProperty(_classObj, rootClassName.value, !!rootClassName.value), _defineProperty(_classObj, prefixCls.value, true), _defineProperty(_classObj, "".concat(prefixCls.value, "-").concat(icon.name), Boolean(icon.name)), _defineProperty(_classObj, "".concat(prefixCls.value, "-spin"), !!spin || icon.name === 'loading'), _classObj);
  35. var iconTabIndex = tabindex;
  36. if (iconTabIndex === undefined && onClick) {
  37. iconTabIndex = -1;
  38. }
  39. var svgStyle = rotate ? {
  40. msTransform: "rotate(".concat(rotate, "deg)"),
  41. transform: "rotate(".concat(rotate, "deg)")
  42. } : undefined;
  43. var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),
  44. _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),
  45. primaryColor = _normalizeTwoToneColo2[0],
  46. secondaryColor = _normalizeTwoToneColo2[1];
  47. return _createVNode("span", _objectSpread({
  48. "role": "img",
  49. "aria-label": icon.name
  50. }, restProps, {
  51. "onClick": onClick,
  52. "class": [classObj, cls],
  53. "tabindex": iconTabIndex
  54. }), [_createVNode(VueIcon, {
  55. "icon": icon,
  56. "primaryColor": primaryColor,
  57. "secondaryColor": secondaryColor,
  58. "style": svgStyle
  59. }, null), _createVNode(InsertStyles, null, null)]);
  60. };
  61. Icon.props = {
  62. spin: Boolean,
  63. rotate: Number,
  64. icon: Object,
  65. twoToneColor: [String, Array]
  66. };
  67. Icon.displayName = 'AntdIcon';
  68. Icon.inheritAttrs = false;
  69. Icon.getTwoToneColor = getTwoToneColor;
  70. Icon.setTwoToneColor = setTwoToneColor;
  71. export default Icon;