UNPKG

cc-ui-plus

Version:

13 lines (11 loc) 6.78 kB
(function(s,h){typeof exports=="object"&&typeof module<"u"?module.exports=h(require("vue")):typeof define=="function"&&define.amd?define(["vue"],h):(s=typeof globalThis<"u"?globalThis:s||self,s.index=h(s.Vue))})(this,function(s){"use strict";function h(n,e){return n.install=t=>{t.component(e,n)},n}function I(n){let e=0;for(let t=0;t<n.length;++t)n[t]==="&"&&++e;return e}const b=/\s*,(?![^(]*\))\s*/g,R=/\s+/g;function k(n,e){const t=[];return e.split(b).forEach(r=>{let i=I(r);if(i){if(i===1){n.forEach(o=>{t.push(r.replace("&",o))});return}}else{n.forEach(o=>{t.push((o&&o+" ")+r)});return}let u=[r];for(;i--;){const o=[];u.forEach(f=>{n.forEach(c=>{o.push(f.replace("&",c))})}),u=o}u.forEach(o=>t.push(o))}),t}function B(n,e){const t=[];return e.split(b).forEach(r=>{n.forEach(i=>{t.push((i&&i+" ")+r)})}),t}function q(n){let e=[""];return n.forEach(t=>{t=t&&t.trim(),t&&(t.includes("&")?e=k(e,t):e=B(e,t))}),e.join(", ").replace(R," ")}const L=/[A-Z]/g;function A(n){return n.replace(L,e=>"-"+e.toLowerCase())}function N(n,e=" "){return typeof n=="object"&&n!==null?` { `+Object.entries(n).map(t=>e+` ${A(t[0])}: ${t[1]};`).join(` `)+` `+e+"}":`: ${n};`}function P(n,e,t){return typeof n=="function"?n({context:e.context,props:t}):n}function $(n,e,t,r){if(!e)return"";const i=P(e,t,r);if(!i)return"";if(typeof i=="string")return`${n} { ${i} }`;const u=Object.keys(i);if(u.length===0)return t.config.keepEmptyBlock?n+` { }`:"";const o=n?[n+" {"]:[];return u.forEach(f=>{const c=i[f];if(f==="raw"){o.push(` `+c+` `);return}f=A(f),c!=null&&o.push(` ${f}${N(c)}`)}),n&&o.push("}"),o.join(` `)}function x(n,e,t){!n||n.forEach(r=>{if(Array.isArray(r))x(r,e,t);else if(typeof r=="function"){const i=r(e);Array.isArray(i)?x(i,e,t):i&&t(i)}else r&&t(r)})}function S(n,e,t,r,i,u){const o=n.$;!o||typeof o=="string"?e.push(o):typeof o=="function"?e.push(o({context:r.context,props:i})):(o.before&&o.before(r.context),!o.$||typeof o.$=="string"?e.push(o.$):o.$&&e.push(o.$({context:r.context,props:i})));const f=q(e),c=$(f,n.props,r,i);u&&c&&u.insertRule(c),!u&&c.length&&t.push(c),n.children&&x(n.children,{context:r.context,props:i},l=>{if(typeof l=="string"){const p=$(f,{raw:l},r,i);u?u.insertRule(p):t.push(p)}else S(l,e,t,r,i,u)}),e.pop(),o&&o.after&&o.after(r.context)}function _(n,e,t,r=!1){const i=[];return S(n,[],i,e,t,r?n.instance.__styleSheet:void 0),r?"":i.join(` `)}function M(n){for(var e=0,t,r=0,i=n.length;i>=4;++r,i-=4)t=n.charCodeAt(r)&255|(n.charCodeAt(++r)&255)<<8|(n.charCodeAt(++r)&255)<<16|(n.charCodeAt(++r)&255)<<24,t=(t&65535)*1540483477+((t>>>16)*59797<<16),t^=t>>>24,e=(t&65535)*1540483477+((t>>>16)*59797<<16)^(e&65535)*1540483477+((e>>>16)*59797<<16);switch(i){case 3:e^=(n.charCodeAt(r+2)&255)<<16;case 2:e^=(n.charCodeAt(r+1)&255)<<8;case 1:e^=n.charCodeAt(r)&255,e=(e&65535)*1540483477+((e>>>16)*59797<<16)}return e^=e>>>13,e=(e&65535)*1540483477+((e>>>16)*59797<<16),((e^e>>>15)>>>0).toString(36)}function y(n){if(!n)return;const e=n.parentElement;e&&e.removeChild(n)}function C(n){return document.querySelector(`style[cssr-id="${n}"]`)}function O(n){const e=document.createElement("style");return e.setAttribute("cssr-id",n),e}window&&(window.__cssrContext={});function v(n){const e=n.getAttribute("mount-count");return e===null?null:Number(e)}function w(n,e){n.setAttribute("mount-count",String(e))}function T(n,e,t,r){const{els:i}=e;if(t===void 0)i.forEach(y),e.els=[];else{const u=C(t);if(u&&i.includes(u)){const o=v(u);r?o===null?console.error(`[css-render/unmount]: The style with target='${t}' is mounted in count mode.`):o<=1?(y(u),e.els=i.filter(f=>f!==u)):w(u,o-1):o!==null?console.error(`[css-render/unmount]: The style with target='${t}' is mounted in no-count mode.`):(y(u),e.els=i.filter(f=>f!==u))}}}function W(n,e){n.push(e)}function K(n,e,t,r,i,u,o,f,c){if(o&&!c){if(t===void 0){console.error("[css-render/mount]: `id` is required in `boost` mode.");return}const m=window.__cssrContext;m[t]||(m[t]=!0,_(e,n,r,o));return}let l;const{els:p}=e;let a;if(t===void 0&&(a=e.render(r),t=M(a)),c){c(t,a!=null?a:e.render(r));return}const d=C(t);if(f||d===null){if(l=d===null?O(t):d,a===void 0&&(a=e.render(r)),l.textContent=a,d!==null)return;if(i){const m=document.head.getElementsByTagName("style")[0]||null;document.head.insertBefore(l,m)}else document.head.appendChild(l);u&&w(l,1),W(p,l)}else{const m=v(d);u?m===null?console.error(`[css-render/mount]: The style with id='${t}' has been mounted in no-count mode.`):w(d,m+1):m!==null&&console.error(`[css-render/mount]: The style with id='${t}' has been mounted in count mode.`)}return d!=null?d:l}function U(n){return _(this,this.instance,n)}function V(n={}){const{target:e,id:t,ssr:r,props:i,count:u=!1,head:o=!1,boost:f=!1,force:c=!1}=n;return K(this.instance,this,t!=null?t:e,i,o,u,f,c,r)}function Z(n={}){const{id:e,target:t,delay:r=0,count:i=!1}=n;r===0?T(this.instance,this,e!=null?e:t,i):setTimeout(()=>T(this.instance,this,e!=null?e:t,i),r)}const g=function(n,e,t,r){return{instance:n,$:e,props:t,children:r,els:[],render:U,mount:V,unmount:Z}},D=function(n,e,t,r){return Array.isArray(e)?g(n,{$:null},null,e):Array.isArray(t)?g(n,e,null,t):Array.isArray(r)?g(n,e,t,r):g(n,e,t,null)};function F(n={}){let e=null;const t={c:(...r)=>D(t,...r),use:(r,...i)=>r.install(t,...i),find:C,context:{},config:n,get __styleSheet(){if(!e){const r=document.createElement("style");return document.head.appendChild(r),e=document.styleSheets[document.styleSheets.length-1],e}return e}};return t}const{c:E}=F(),G=E(".xicon",{width:"1em",height:"1em",display:"inline-flex"},[E("svg",{width:"1em",height:"1em"}),E("svg:not([fill])",{fill:"currentColor"})]),H=()=>{G.mount({id:"xicons-icon"})},j={size:[String,Number],color:String,tag:String},z=Symbol("IconConfigInjection");s.defineComponent({name:"IconConfigProvider",props:j,setup(n,{slots:e}){return s.provide(z,n),()=>s.renderSlot(e,"default")}});const J="span",Q=s.defineComponent({name:"Icon",props:j,setup(n,{slots:e}){const t=s.inject(z,null),r=s.computed(()=>{var o;const f=(o=n.size)!==null&&o!==void 0?o:t==null?void 0:t.size;if(f!==void 0)return typeof f=="number"||/^\d+$/.test(f)?`${f}px`:f}),i=s.computed(()=>{const{color:o}=n;return o===void 0?t?t.color:void 0:o}),u=s.computed(()=>{var o;const{tag:f}=n;return f===void 0?(o=t==null?void 0:t.tag)!==null&&o!==void 0?o:J:f});return s.onBeforeMount(()=>{H()}),()=>s.h(u.value,{class:"xicon",style:{color:i.value,fontSize:r.value}},[s.renderSlot(e,"default")])}});return h(s.defineComponent({__name:"icon",props:{color:{default:"inherit"},size:{default:16},tag:{default:"span"}},setup(n){return(e,t)=>(s.openBlock(),s.createBlock(s.unref(Q),{size:n.size,color:n.color,tag:n.tag},{default:s.withCtx(()=>[s.renderSlot(e.$slots,"default")]),_:3},8,["size","color","tag"]))}}),"cc-icon")});