balm-ui
Version:
A modular and customizable UI library based on Material Design and Vue 3
1 lines • 5.19 kB
JavaScript
!function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue")):"function"===typeof define&&define.amd?define("UiIcon",["vue"],t):"object"===typeof exports?exports.UiIcon=t(require("vue")):e.UiIcon=t(e.Vue)}("undefined"!==typeof self?self:this,(function(e){return function(){"use strict";var t={744:function(e){var t=function(e){return function(e){return!!e&&"object"===typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===r}(e)}(e)};var r="function"===typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function n(e,t){return!1!==t.clone&&t.isMergeableObject(e)?u((r=e,Array.isArray(r)?[]:{}),e,t):e;var r}function o(e,t,r){return e.concat(t).map((function(e){return n(e,r)}))}function a(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(t){return Object.propertyIsEnumerable.call(e,t)})):[]}(e))}function i(e,t){try{return t in e}catch(r){return!1}}function c(e,t,r){var o={};return r.isMergeableObject(e)&&a(e).forEach((function(t){o[t]=n(e[t],r)})),a(t).forEach((function(a){(function(e,t){return i(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,a)||(i(e,a)&&r.isMergeableObject(t[a])?o[a]=function(e,t){if(!t.customMerge)return u;var r=t.customMerge(e);return"function"===typeof r?r:u}(a,r)(e[a],t[a],r):o[a]=n(t[a],r))})),o}function u(e,r,a){(a=a||{}).arrayMerge=a.arrayMerge||o,a.isMergeableObject=a.isMergeableObject||t,a.cloneUnlessOtherwiseSpecified=n;var i=Array.isArray(r);return i===Array.isArray(e)?i?a.arrayMerge(e,r,a):c(e,r,a):n(r,a)}u.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,r){return u(e,r,t)}),{})};var l=u;e.exports=l},154:function(t){t.exports=e}},r={};function n(e){var o=r[e];if(void 0!==o)return o.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,n),a.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};var o={};n.d(o,{default:function(){return E}});var a=n(744),i=n.n(a);const c=/(?:^\[object\s(.*?)\]$)/;var u=e=>Object.prototype.toString.call(e).replace(c,"$1").toLowerCase();const l=e=>{let{componentProps:t,propName:r,props:n}=e,o=n[r];if("object"===u(o)){const e=t[r].default;t[r].default=()=>i()(e,o)}else Array.isArray(o)?t[r].default=()=>o:t[r].default=o},p=e=>{let{componentMixins:t,propName:r,props:n}=e;if(t.length){let e=t.length;for(;e--;)if(t[e].props&&void 0!==t[e].props[r]){l({componentProps:t[e].props,propName:r,props:n});break}}};var s=(e,t)=>{for(const r of Object.keys(t))e.props?void 0===e.props[r]?p({componentMixins:e.mixins,propName:r,props:t}):l({componentProps:e.props,propName:r,props:t}):p({componentMixins:e.mixins,propName:r,props:t})};var f=e=>{const t={install(t){s(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),t.component(e.name,e)}};return t},d=n(154);const m={cssClasses:{icon:"material-icons"},EVENTS:{CLICK:"click"},getMaterialIconClass:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return[m.cssClasses.icon,...t]}};var y=m;var v=(e,t,r)=>e[r]||e.type===t[r]||e.type===r;const b="UiIcon",g={TYPES:{filled:0,outlined:1,round:2,twoTone:3,sharp:4},DEFAULT_SIZE:24},h={name:b,customOptions:{name:b,UI_GLOBAL:y,UI_ICON:g}};var j=Object.assign(h,{props:{type:{type:[String,Number],default:0},outlined:{type:Boolean,default:!1},round:{type:Boolean,default:!1},twoTone:{type:Boolean,default:!1},sharp:{type:Boolean,default:!1},size:{type:[Number,String],default:g.DEFAULT_SIZE},dark:{type:Boolean,default:!1},light:{type:Boolean,default:!1},inactive:{type:Boolean,default:!1}},emits:[y.EVENTS.CLICK],setup(e,t){let{emit:r}=t;const n=e,o=r,{handleClick:a}=function(e){let{emit:t}=e;return{handleClick:function(e){t(m.EVENTS.CLICK,e)}}}({emit:o}),i=(0,d.computed)((()=>v(n,g.TYPES,"filled"))),c=(0,d.computed)((()=>v(n,g.TYPES,"outlined"))),u=(0,d.computed)((()=>v(n,g.TYPES,"round"))),l=(0,d.computed)((()=>v(n,g.TYPES,"twoTone"))),p=(0,d.computed)((()=>v(n,g.TYPES,"sharp"))),s=(0,d.computed)((()=>n.dark&&n.light)),f=(0,d.computed)((()=>n.dark||n.light)),y=(0,d.computed)((()=>{let e={"material-icons":i.value,"material-icons-outlined":c.value,"material-icons-round":u.value,"material-icons-two-tone":l.value,"material-icons-sharp":p.value,"md-dark":n.dark&&!n.light,"md-light":n.light&&!n.dark,"md-inactive":n.inactive};return+n.size!==g.DEFAULT_SIZE&&n.size>0&&(e[`md-${n.size}`]=!0),e}));return(0,d.onBeforeMount)((()=>{(s.value||!f.value&&n.inactive)&&console.warn(`[${b}]: Invalid dark or light icon`)})),(e,t)=>((0,d.openBlock)(),(0,d.createElementBlock)("i",{class:(0,d.normalizeClass)(y.value),"aria-hidden":"true",onClick:t[0]||(t[0]=function(){return(0,d.unref)(a)&&(0,d.unref)(a)(...arguments)})},[(0,d.renderSlot)(e.$slots,"default")],2))}});var E=f(j);return o=o.default}()}));