primevue
Version:
PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc
2 lines (1 loc) • 2.81 kB
JavaScript
import{UniqueComponentId as e,DomHandler as t}from"primevue/utils";import r from"primevue/badgedirective/style";import a from"primevue/basedirective";function o(e){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},o(e)}function n(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?n(Object(r),!0).forEach((function(t){d(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):n(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(e,t,r){var a;return(t="symbol"==o(a=l(t,"string"))?a:String(a))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){if("object"!=o(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var a=r.call(e,t||"default");if("object"!=o(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}var s=a.extend({style:r}).extend("badge",{mounted:function(r,a){var n=e()+"_badge",d=t.createElement("span",{id:n,class:!this.isUnstyled()&&this.cx("root"),"p-bind":this.ptm("root",{context:i(i({},a.modifiers),{},{nogutter:1===String(a.value).length,dot:null==a.value})})});for(var l in r.$_pbadgeId=d.getAttribute("id"),a.modifiers)!this.isUnstyled()&&t.addClass(d,"p-badge-"+l);null!=a.value?(r.$_badgeValue="object"===o(a.value)?a.value.value:a.value,d.appendChild(document.createTextNode(r.$_badgeValue)),1!==String(r.$_badgeValue).length||this.isUnstyled()||!this.isUnstyled()&&t.addClass(d,"p-badge-no-gutter")):!this.isUnstyled()&&t.addClass(d,"p-badge-dot"),r.setAttribute("data-pd-badge",!0),!this.isUnstyled()&&t.addClass(r,"p-overlay-badge"),r.setAttribute("data-p-overlay-badge","true"),r.appendChild(d),this.$el=d},updated:function(e,r){if(!this.isUnstyled()&&t.addClass(e,"p-overlay-badge"),e.setAttribute("data-p-overlay-badge","true"),r.oldValue!==r.value){var a=document.getElementById(e.$_pbadgeId);e.$_badgeValue="object"===o(r.value)?r.value.value:r.value,this.isUnstyled()||(e.$_badgeValue?(t.hasClass(a,"p-badge-dot")&&t.removeClass(a,"p-badge-dot"),1===e.$_badgeValue.length?t.addClass(a,"p-badge-no-gutter"):t.removeClass(a,"p-badge-no-gutter")):e.$_badgeValue||t.hasClass(a,"p-badge-dot")||t.addClass(a,"p-badge-dot")),a.innerHTML="",a.appendChild(document.createTextNode(e.$_badgeValue))}}});export{s as default};