@volverjs/ui-vue
Version:
@volverjs/ui-vue is a lightweight Vue 3 component library to accompany @volverjs/style.
2 lines (1 loc) • 2.45 kB
JavaScript
const e=new RegExp("([\\p{Ll}\\d])(\\p{Lu})","gu"),o=new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])","gu"),r=new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d","u"),t=/[^\p{L}\d]+/giu,n="$1\0$2";function v(r){let v=r.trim();v=v.replace(e,n).replace(o,n),v=v.replace(t,"\0");let c=0,i=v.length;for(;"\0"===v.charAt(c);)c++;if(c===i)return[];for(;"\0"===v.charAt(i-1);)i--;return v.slice(c,i).split(/\0/g)}function c(e){const o=v(e);for(let t=0;t<o.length;t++){const e=o[t],n=r.exec(e);if(n){const r=n.index+(n[1]??n[2]).length;o.splice(t,1,e.slice(0,r),e.slice(r))}}return o}function i(e,o){const[r,t,n]=function(e,o={}){const r=o.split??(o.separateNumbers?c:v),t=o.prefixCharacters??"",n=o.suffixCharacters??"";let i=0,s=e.length;for(;i<e.length;){const o=e.charAt(i);if(!t.includes(o))break;i++}for(;s>i;){const o=s-1,r=e.charAt(o);if(!n.includes(r))break;s=o}return[e.slice(0,i),r(e.slice(i,s)),e.slice(s)]}(e,o);return r+t.map((i=o?.locale,!1===i?e=>e.toLowerCase():e=>e.toLocaleLowerCase(i))).join(o?.delimiter??" ")+n;var i}function s(e,o){return i(e,{delimiter:"-",...o})}const u=["vv-icon","vv-action"],p=["v-tooltip","v-contextmenu"];function l(e){if(!u.includes(e))return"vv-dropdown"===e?["vv-dropdown","vv-dropdown-option","vv-dropdown-action"]:"vv-combobox"===e?["vv-select","vv-dropdown-option","vv-dropdown-optgroup","vv-dropdown","vv-dropdown-action"]:"vv-button-group"===e?["vv-button","vv-button-group"]:"vv-accordion-group"===e?["vv-accordion","vv-accordion-group"]:"vv-checkbox-group"===e?["vv-checkbox","vv-checkbox-group"]:"vv-radio-group"===e?["vv-radio","vv-radio-group"]:"vv-alert-group"===e?["vv-alert","vv-alert-group"]:"v-tooltip"===e?["vv-tooltip"]:[e]}function d(e,o){const r=[];if(!o)return r;const t=l(e);return t&&t.forEach(e=>{r.push(`@volverjs/style/${"scss"===o?"scss/":""}components/${e}`)}),r}function a({prefix:e="vv",importStyle:o,directives:r,ignore:t,cherryPick:n}={}){return[{type:"component",resolve:r=>{if(!e||!r.toLowerCase().startsWith(e.toLowerCase()))return;const v=s(r).replace(`${e}-`,"vv-");return t&&t.includes(v)?void 0:n?{from:`@volverjs/ui-vue/${v}`,sideEffects:d(v,o)}:{from:"@volverjs/ui-vue/components",sideEffects:d(v,o),name:r}}},{type:"directive",resolve:e=>{if(!r)return;const v=`v-${s(e)}`;return!p.includes(v)||t&&t.includes(v)?void 0:n?{from:`@volverjs/ui-vue/${v}`,sideEffects:d(v,o)}:{from:"@volverjs/ui-vue/directives",sideEffects:d(v,o),name:`v${e}`}}}]}export{a as VolverResolver,l as getStyleNames};