kendo-ui-core
Version:
3 lines (2 loc) • 3.8 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,o=s.html.HTMLBase,t="k-i-",a="k-svg-i-",r="k-flip-",l=`${r}h`,c=`${r}v`,p={svg:(e,n)=>new u(e,n),font:(e,n)=>new m(e,n)},d={default:"",horizontal:l,vertical:c,both:`${l} ${c}`},f=o.extend({init:function(e,n){o.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,o=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})})),o&&e.wrapper.removeClass(o.filter((n=>n!==e._className)).join(" ")),e.wrapper.data("added-classes",i.concat([e._className])),e.wrapper.addClass(i.join(" "))}}),m=f.extend({init:function(e,n){f.fn.init.call(this,e,n)},options:i({},f.fn.options,{name:"HTMLFontIcon",icon:null}),_wrapper:function(){var e=this,n=e.element[0].className.split(" ").find((e=>e.includes(t))),s=e.options.icon?`${e.options.icon.startsWith(t)?"":t}${e.options.icon}`:"";e._className=s,e.wrapper=e.element.addClass("k-icon k-font-icon").removeClass(n).addClass(s).addClass(e.options.iconClass||""),f.fn._wrapper.call(this)}}),u=f.extend({init:function(e,n){e.empty(),f.fn.init.call(this,e,n)},options:i({},f.fn.options,{name:"HTMLSVGIcon",icon:null}),_wrapper:function(){var n,i=this,o=i.options.icon,t=i.options.iconClass,r=i.element[0].className.split(" ").find((e=>e.includes(a))),l=e("<svg></svg>");if(!o&&t){const e=/k-i-(\w+(?:-\w+)*)/;let n=t.match(e);n&&(o=n[1],t=t.replace(n[0],""))}s.isString(o)&&(o=o.replace("k-i-","").replace(/-./g,(e=>e[1].toUpperCase())),o=s.ui.svgIcons[o]||s.ui.svgIcons[`${o}Icon`]),n=o&&o.name?`${a}${o.name}`:"",i._className=n,i.wrapper=i.element.addClass("k-icon k-svg-icon").removeClass(r).addClass(n).addClass(t||"").attr("aria-hidden",!0),e.isPlainObject(o)&&(l.attr("viewBox",o.viewBox||"").attr({viewBox:o.viewBox||"",focusable:"false",xmlns:"http://www.w3.org/2000/svg"}).html(o.content||""),i.wrapper.append(l[0].outerHTML)),f.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:m,HTMLSvgIcon:u,getIconRenderer:e=>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