kendo-ui-core
Version:
3 lines (2 loc) • 3.89 kB
JavaScript
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n(require("kendo.html.base.js")):"function"==typeof define&&define.amd?define(["kendo.html.base.min"],n):((e="undefined"!=typeof globalThis?globalThis:e||self).kendohtml=e.kendohtml||{},e.kendohtml.icon=e.kendohtml.icon||{},e.kendohtml.icon.js=n())}(this,(function(){return function(e,n){var s=window.kendo,i=e.extend,t=s.html.HTMLBase,o="k-i-",r="k-svg-i-",a="k-flip-",l=a+"h",c=a+"v",p={svg:function(e,n){return new m(e,n)},font:function(e,n){return new f(e,n)}},d={default:"",horizontal:l,vertical:c,both:l+" "+c},u=t.extend({init:function(e,n){t.fn.init.call(this,e,n),this._wrapper()},options:{name:"HTMLIcon",size:"none",themeColor:"none",flip:"default",iconClass:"",stylingOptions:["size","themeColor","fill"]},_wrapper:function(){this._addClasses()},_addClasses:function(){var e=this,n=e.options,i=n.stylingOptions,t=e.wrapper.data("added-classes");i=i.map((function(e){return"themeColor"===e?s.cssProperties.getValidClass({widget:n.name,propName:e,value:n[e],prefix:"k-color-"}):"fill"===e?d[n.flip]:s.cssProperties.getValidClass({widget:n.name,propName:e,value:n[e],fill:n.fillMode})})),t&&e.wrapper.removeClass(t.filter((function(n){return n!==e._className})).join(" ")),e.wrapper.data("added-classes",i.concat([e._className])),e.wrapper.addClass(i.join(" "))}}),f=u.extend({init:function(e,n){u.fn.init.call(this,e,n)},options:i({},u.fn.options,{name:"HTMLFontIcon",icon:null}),_wrapper:function(){var e=this,n=e.element[0].className.split(" ").find((function(e){return e.includes(o)})),s=e.options.icon?""+(e.options.icon.startsWith(o)?"":o)+e.options.icon:"";e._className=s,e.wrapper=e.element.addClass("k-icon k-font-icon").removeClass(n).addClass(s).addClass(e.options.iconClass||""),u.fn._wrapper.call(this)}}),m=u.extend({init:function(e,n){e.empty(),u.fn.init.call(this,e,n)},options:i({},u.fn.options,{name:"HTMLSVGIcon",icon:null}),_wrapper:function(){var n,i=this,t=i.options.icon,o=i.options.iconClass,a=i.element[0].className.split(" ").find((function(e){return e.includes(r)})),l=e("<svg></svg>");if(!t&&o){var c=o.match(/k-i-(\w+(?:-\w+)*)/);c&&(t=c[1],o=o.replace(c[0],""))}s.isString(t)&&(t=t.replace("k-i-","").replace(/-./g,(function(e){return e[1].toUpperCase()})),t=s.ui.svgIcons[t]||s.ui.svgIcons[t+"Icon"]),n=t&&t.name?""+r+t.name:"",i._className=n,i.wrapper=i.element.addClass("k-icon k-svg-icon").removeClass(a).addClass(n).addClass(o||"").attr("aria-hidden",!0),e.isPlainObject(t)&&(l.attr("viewBox",t.viewBox||"").attr({viewBox:t.viewBox||"",focusable:"false",xmlns:"http://www.w3.org/2000/svg"}).html(t.content||""),i.wrapper.append(l[0].outerHTML)),u.fn._wrapper.call(this)}});e.extend(s.html,{renderIcon:function(n,i){return(!n||e.isPlainObject(n)||s.isString(n))&&(i=n,n=e("<span></span>")),s.isString(i)&&(i={icon:i}),s.isPresent(i.type)||(i.type=s.defaults.iconType?s.defaults.iconType:"svg"),s.isFunction(i.type)?i.type(n,i):s.isFunction(p[i.type])?p[i.type](n,i).html():null},HTMLFontIcon:f,HTMLSvgIcon:m,getIconRenderer:function(e){return p[e]}}),s.cssProperties.registerPrefix("HTMLFontIcon","k-icon-"),s.cssProperties.registerValues("HTMLFontIcon",[{prop:"size",values:s.cssProperties.sizeValues.concat([["xsmall","xs"],["xlarge","xl"],["xxlarge","xxl"],["xxxlarge","xxxl"]])},{prop:"themeColor",values:["primary","secondary","tertiary","inherit","info","success","warning","error","dark","light","inverse"]}]),s.cssProperties.registerPrefix("HTMLSVGIcon","k-icon-"),s.cssProperties.registerValues("HTMLSVGIcon",[{prop:"size",values:s.cssProperties.sizeValues.concat([["xsmall","xs"],["xlarge","xl"],["xxlarge","xxl"],["xxxlarge","xxxl"]])},{prop:"themeColor",values:["primary","secondary","tertiary","inherit","info","success","warning","error","dark","light","inverse"]}])}(window.kendo.jQuery),kendo}));
//# sourceMappingURL=kendo.html.icon.min.js.map