UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

3 lines 4.07 kB
/* @license */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.html.base.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.html.base.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.HtmlIcon={}),e.kendo._globals.HtmlBase))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let n={id:`html.icon`,name:`Html.Icon`,category:`web`,description:`HTML font icon rendering utility for Kendo UI for jQuery.`,depends:[`html.base`]};(function(e,t){var n=window.kendo,r=e.extend,i=n.html.HTMLBase,a=`k-icon k-font-icon`,o=`k-i-`,s=`k-icon k-svg-icon`,c=`k-svg-i-`,l=`k-flip-`,u=`${l}h`,d=`${l}v`,f=`k-color-`,p={svg:(e,t)=>new v(e,t),font:(e,t)=>new _(e,t)},m={default:``,horizontal:u,vertical:d,both:`${u} ${d}`},h=function(t,r){return(!t||e.isPlainObject(t)||n.isString(t))&&(r=t,t=e(`<span></span>`)),n.isString(r)&&(r={icon:r}),n.isPresent(r.type)||(r.type=n.defaults.iconType?n.defaults.iconType:`svg`),n.isFunction(r.type)?r.type(t,r):n.isFunction(p[r.type])?p[r.type](t,r).html():null},g=i.extend({init:function(e,t){var n=this;i.fn.init.call(n,e,t),n._wrapper()},options:{name:`HTMLIcon`,size:`none`,themeColor:`none`,flip:`default`,iconClass:``,stylingOptions:[`size`,`themeColor`,`fill`]},_wrapper:function(){this._addClasses()},_addClasses:function(){var e=this,t=e.options,r=t.stylingOptions,i=e.wrapper.data(`added-classes`);r=r.map(function(e){return e===`themeColor`?n.cssProperties.getValidClass({widget:t.name,propName:e,value:t[e],prefix:f}):e===`fill`?m[t.flip]:n.cssProperties.getValidClass({widget:t.name,propName:e,value:t[e],fill:t.fillMode})}),i&&e.wrapper.removeClass(i.filter(t=>t!==e._className).join(` `)),e.wrapper.data(`added-classes`,r.concat([e._className])),e.wrapper.addClass(r.join(` `))}}),_=g.extend({init:function(e,t){g.fn.init.call(this,e,t)},options:r({},g.fn.options,{name:`HTMLFontIcon`,icon:null}),_wrapper:function(){var e=this,t=e.element[0].className.split(` `).find(e=>e.includes(o)),n=e.options.icon?`${e.options.icon.startsWith(o)?``:o}${e.options.icon}`:``;e._className=n,e.wrapper=e.element.addClass(a).removeClass(t).addClass(n).addClass(e.options.iconClass||``),g.fn._wrapper.call(this)}}),v=g.extend({init:function(e,t){e.empty(),g.fn.init.call(this,e,t)},options:r({},g.fn.options,{name:`HTMLSVGIcon`,icon:null}),_wrapper:function(){var t=this,r=t.options.icon,i=t.options.iconClass,a=t.element[0].className.split(` `).find(e=>e.includes(c)),o=e(`<svg></svg>`),l;if(!r&&i){let e=i.match(/k-i-(\w+(?:-\w+)*)/);e&&(r=e[1],i=i.replace(e[0],``))}n.isString(r)&&(r=r.replace(`k-i-`,``).replace(/-./g,e=>e[1].toUpperCase()),r=n.ui.svgIcons[r]||n.ui.svgIcons[`${r}Icon`]),l=r&&r.name?`${c}${r.name}`:``,t._className=l,t.wrapper=t.element.addClass(s).removeClass(a).addClass(l).addClass(i||``),e.isPlainObject(r)&&(o.attr(`viewBox`,r.viewBox||``).attr({viewBox:r.viewBox||``,focusable:`false`,xmlns:`http://www.w3.org/2000/svg`}).html(r.content||``),t.wrapper.append(o[0].outerHTML)),g.fn._wrapper.call(this)}});e.extend(n.html,{renderIcon:h,HTMLFontIcon:_,HTMLSvgIcon:v,getIconRenderer:e=>p[e]}),n.cssProperties.registerPrefix(`HTMLFontIcon`,`k-icon-`),n.cssProperties.registerValues(`HTMLFontIcon`,[{prop:`size`,values:n.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`]}]),n.cssProperties.registerPrefix(`HTMLSVGIcon`,`k-icon-`),n.cssProperties.registerValues(`HTMLSVGIcon`,[{prop:`size`,values:n.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);var r=kendo;e.__meta__=n,e.default=r}); //# sourceMappingURL=kendo.html.icon.min.js.map