icon2.mjs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { defineComponent, computed, openBlock, createElementBlock, mergeProps, unref, renderSlot } from 'vue';
  2. import { iconProps } from './icon.mjs';
  3. import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
  4. import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
  5. import { addUnit } from '../../../utils/dom/style.mjs';
  6. const _sfc_main = defineComponent({
  7. ...{
  8. name: "ElIcon",
  9. inheritAttrs: false
  10. },
  11. __name: "icon",
  12. props: iconProps,
  13. setup(__props) {
  14. const props = __props;
  15. const ns = useNamespace("icon");
  16. const style = computed(() => {
  17. const { size, color } = props;
  18. const fontSize = addUnit(size);
  19. if (!fontSize && !color)
  20. return {};
  21. return {
  22. fontSize,
  23. "--color": color
  24. };
  25. });
  26. return (_ctx, _cache) => {
  27. return openBlock(), createElementBlock(
  28. "i",
  29. mergeProps({
  30. class: unref(ns).b(),
  31. style: style.value
  32. }, _ctx.$attrs),
  33. [
  34. renderSlot(_ctx.$slots, "default")
  35. ],
  36. 16
  37. );
  38. };
  39. }
  40. });
  41. var Icon = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/home/runner/work/element-plus/element-plus/packages/components/icon/src/icon.vue"]]);
  42. export { Icon as default };
  43. //# sourceMappingURL=icon2.mjs.map