Icon.js 898 Bytes
import * as iconsSvg from "@ant-design/icons-svg";
import { renderIconDefinitionToSVGElement } from "@ant-design/icons-svg/es/helpers";
angular.module("esNgAntd").directive("esIcon", function ($compile) {
    return {
        controllerAs: "esIcon",
        restrict: "E",
        transclude: true,
        replace: true,
        scope: {
            type: "@",
        },
        template: `<span class="anticon"></span>`,
        link: function ($scope, $element, $attrs, $controllers, $transclude) {
            let template = renderIconDefinitionToSVGElement(
                iconsSvg[$scope.type],
                {
                    extraSVGAttrs: {
                        width: "1em",
                        height: "1em",
                        fill: "currentColor",
                    },
                }
            );
            $element.append(template);
        },
    };
});