balm-ui
Version:
A modular and customizable UI library based on Material Design and Vue 3
1 lines • 5.63 kB
JavaScript
!function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue")):"function"===typeof define&&define.amd?define("UiBadge",["vue"],t):"object"===typeof exports?exports.UiBadge=t(require("vue")):e.UiBadge=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)?s((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 c(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 a(e,t){try{return t in e}catch(r){return!1}}function u(e,t,r){var o={};return r.isMergeableObject(e)&&c(e).forEach((function(t){o[t]=n(e[t],r)})),c(t).forEach((function(c){(function(e,t){return a(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))})(e,c)||(a(e,c)&&r.isMergeableObject(t[c])?o[c]=function(e,t){if(!t.customMerge)return s;var r=t.customMerge(e);return"function"===typeof r?r:s}(c,r)(e[c],t[c],r):o[c]=n(t[c],r))})),o}function s(e,r,c){(c=c||{}).arrayMerge=c.arrayMerge||o,c.isMergeableObject=c.isMergeableObject||t,c.cloneUnlessOtherwiseSpecified=n;var a=Array.isArray(r);return a===Array.isArray(e)?a?c.arrayMerge(e,r,c):u(e,r,c):n(r,c)}s.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,r){return s(e,r,t)}),{})};var i=s;e.exports=i},154:function(t){t.exports=e}},r={};function n(e){var o=r[e];if(void 0!==o)return o.exports;var c=r[e]={exports:{}};return t[e](c,c.exports,n),c.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 j}});var c=n(744),a=n.n(c);const u=/(?:^\[object\s(.*?)\]$)/;var s=e=>Object.prototype.toString.call(e).replace(u,"$1").toLowerCase();const i=e=>{let{componentProps:t,propName:r,props:n}=e,o=n[r];if("object"===s(o)){const e=t[r].default;t[r].default=()=>a()(e,o)}else Array.isArray(o)?t[r].default=()=>o:t[r].default=o},l=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]){i({componentProps:t[e].props,propName:r,props:n});break}}};var p=(e,t)=>{for(const r of Object.keys(t))e.props?void 0===e.props[r]?l({componentMixins:e.mixins,propName:r,props:t}):i({componentProps:e.props,propName:r,props:t}):l({componentMixins:e.mixins,propName:r,props:t})};var f=e=>{const t={install(t){p(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;const b=["success","info","warn","warning","error","help"],g={defaults:{success:"check_circle",info:"error",error:"cancel",help:"help"},outlined:{success:"check_circle_outline",info:"error_outline",error:"highlight_off",help:"help_outline"}};const v={key:0,class:"mdc-badge__sup"},h={key:0},k={name:"UiBadge",customOptions:{UI_GLOBAL:y}};var O=Object.assign(k,{props:{count:{type:Number,default:0},overlap:{type:Boolean,default:!1},maxCount:{type:Number,default:99},dot:{type:Boolean,default:!1},state:{type:String,default:""}},emits:[y.EVENTS.CLICK],setup(e,t){let{emit:r}=t;const n=e,o=r,{handleClick:c}=function(e){let{emit:t}=e;return{handleClick:function(e){t(m.EVENTS.CLICK,e)}}}({emit:o}),{stateType:a}=function(e){const t=(0,d.computed)((()=>{let t=!1;if(b.includes(e.state))switch(e.state){case"success":t="success";break;case"info":case"help":t="info";break;case"warn":case"warning":t="warning";break;case"error":t="error"}return t})),r=(0,d.computed)((()=>{let r="";return t.value&&(r=`md-${t.value}-icon`,e.stateOutlined&&(r+="--outlined")),r})),n=(0,d.computed)((()=>{let t=!1;if(b.includes(e.state)){const r=e.stateOutlined?"outlined":"defaults";t=["info","warn","warning"].includes(e.state)?g[r].info:g[r][e.state]}return t}));return{stateType:t,stateClassName:r,materialIcon:n}}(n),u=(0,d.computed)((()=>({"mdc-badge":!0,"mdc-badge--overlap":n.overlap}))),s=(0,d.computed)((()=>n.count>n.maxCount?`${n.maxCount}+`:n.count)),i=(0,d.computed)((()=>[{"mdc-badge__sup":!0,"mdc-badge__sup--dot":n.dot},a.value?`mdc-badge__sup--${a.value}`:""]));return(t,r)=>((0,d.openBlock)(),(0,d.createElementBlock)("div",{class:(0,d.normalizeClass)(u.value),onClick:r[0]||(r[0]=function(){return(0,d.unref)(c)&&(0,d.unref)(c)(...arguments)})},[(0,d.renderSlot)(t.$slots,"default"),e.count?((0,d.openBlock)(),(0,d.createElementBlock)("sup",v,(0,d.toDisplayString)(s.value),1)):((0,d.openBlock)(),(0,d.createElementBlock)(d.Fragment,{key:1},[e.overlap&&!e.dot?((0,d.openBlock)(),(0,d.createElementBlock)("sup",h)):((0,d.openBlock)(),(0,d.createElementBlock)("sup",{key:1,class:(0,d.normalizeClass)(i.value)},[(0,d.renderSlot)(t.$slots,"badge")],2))],64))],2))}});var j=f(O);return o=o.default}()}));