@volverjs/ui-vue 0.0.11 → 0.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/bin/icons.js +1 -93
  2. package/dist/components/VvAccordion/VvAccordion.es.js +1 -366
  3. package/dist/components/VvAccordionGroup/VvAccordionGroup.es.js +2 -702
  4. package/dist/components/VvAction/VvAction.es.js +1 -302
  5. package/dist/components/VvAlert/VvAlert.es.js +1 -527
  6. package/dist/components/VvAlertGroup/VvAlertGroup.es.js +1 -730
  7. package/dist/components/VvAvatar/VvAvatar.es.js +1 -132
  8. package/dist/components/VvAvatarGroup/VvAvatarGroup.es.js +1 -250
  9. package/dist/components/VvBadge/VvBadge.es.js +1 -131
  10. package/dist/components/VvBreadcrumb/VvBreadcrumb.es.js +1 -410
  11. package/dist/components/VvButton/VvButton.es.js +1 -882
  12. package/dist/components/VvButtonGroup/VvButtonGroup.es.js +1 -214
  13. package/dist/components/VvCard/VvCard.es.js +1 -152
  14. package/dist/components/VvCheckbox/VvCheckbox.es.js +1 -741
  15. package/dist/components/VvCheckboxGroup/VvCheckboxGroup.es.js +1 -981
  16. package/dist/components/VvCombobox/VvCombobox.es.js +1 -3463
  17. package/dist/components/VvCombobox/VvCombobox.umd.js +1 -1
  18. package/dist/components/VvCombobox/VvCombobox.vue.d.ts +8 -1
  19. package/dist/components/VvDialog/VvDialog.es.js +1 -317
  20. package/dist/components/VvDropdown/VvDropdown.es.js +1 -750
  21. package/dist/components/VvDropdown/VvDropdownAction.vue.d.ts +2 -2
  22. package/dist/components/VvDropdown/VvDropdownOptgroup.vue.d.ts +9 -2
  23. package/dist/components/VvDropdownAction/VvDropdownAction.es.js +1 -448
  24. package/dist/components/VvDropdownItem/VvDropdownItem.es.js +1 -149
  25. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.es.js +1 -104
  26. package/dist/components/VvDropdownOptgroup/VvDropdownOptgroup.umd.js +1 -1
  27. package/dist/components/VvDropdownOption/VvDropdownOption.es.js +1 -281
  28. package/dist/components/VvIcon/VvIcon.es.js +1 -143
  29. package/dist/components/VvInputFile/VvInputFile.es.js +1 -1704
  30. package/dist/components/VvInputText/VvInputText.es.js +4 -2790
  31. package/dist/components/VvNav/VvNav.es.js +1 -438
  32. package/dist/components/VvNavItem/VvNavItem.es.js +1 -337
  33. package/dist/components/VvNavSeparator/VvNavSeparator.es.js +1 -24
  34. package/dist/components/VvProgress/VvProgress.es.js +1 -163
  35. package/dist/components/VvRadio/VvRadio.es.js +1 -661
  36. package/dist/components/VvRadioGroup/VvRadioGroup.es.js +1 -901
  37. package/dist/components/VvSelect/VvSelect.es.js +1 -1103
  38. package/dist/components/VvSelect/VvSelect.vue.d.ts +3 -1
  39. package/dist/components/VvTab/VvTab.es.js +1 -558
  40. package/dist/components/VvTextarea/VvTextarea.es.js +2 -1989
  41. package/dist/components/VvTooltip/VvTooltip.es.js +1 -154
  42. package/dist/components/index.es.js +6 -8558
  43. package/dist/components/index.umd.js +1 -1
  44. package/dist/composables/index.es.js +2 -247
  45. package/dist/composables/index.umd.js +1 -1
  46. package/dist/directives/index.es.js +2 -311
  47. package/dist/directives/index.umd.js +1 -1
  48. package/dist/directives/v-contextmenu.es.js +2 -142
  49. package/dist/directives/v-contextmenu.umd.js +1 -1
  50. package/dist/directives/v-tooltip.es.js +1 -172
  51. package/dist/icons.es.js +1 -39
  52. package/dist/icons.umd.js +1 -1
  53. package/dist/index.es.js +1 -219
  54. package/dist/resolvers/unplugin.es.js +1 -187
  55. package/package.json +33 -33
package/dist/index.es.js CHANGED
@@ -1,219 +1 @@
1
- import { addCollection, addIcon, addAPIProvider } from "@iconify/vue";
2
- import { ref } from "vue";
3
- const SPLIT_LOWER_UPPER_RE = new RegExp("([\\p{Ll}\\d])(\\p{Lu})", "gu");
4
- const SPLIT_UPPER_UPPER_RE = new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])", "gu");
5
- const SPLIT_SEPARATE_NUMBER_RE = new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d", "u");
6
- const DEFAULT_STRIP_REGEXP = /[^\p{L}\d]+/giu;
7
- const SPLIT_REPLACE_VALUE = "$1\0$2";
8
- const DEFAULT_PREFIX_SUFFIX_CHARACTERS = "";
9
- function split(value) {
10
- let result = value.trim();
11
- result = result.replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE).replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);
12
- result = result.replace(DEFAULT_STRIP_REGEXP, "\0");
13
- let start = 0;
14
- let end = result.length;
15
- while (result.charAt(start) === "\0")
16
- start++;
17
- if (start === end)
18
- return [];
19
- while (result.charAt(end - 1) === "\0")
20
- end--;
21
- return result.slice(start, end).split(/\0/g);
22
- }
23
- function splitSeparateNumbers(value) {
24
- const words = split(value);
25
- for (let i = 0; i < words.length; i++) {
26
- const word = words[i];
27
- const match = SPLIT_SEPARATE_NUMBER_RE.exec(word);
28
- if (match) {
29
- const offset = match.index + (match[1] ?? match[2]).length;
30
- words.splice(i, 1, word.slice(0, offset), word.slice(offset));
31
- }
32
- }
33
- return words;
34
- }
35
- function noCase(input, options) {
36
- const [prefix, words, suffix] = splitPrefixSuffix(input, options);
37
- return prefix + words.map(lowerFactory(options?.locale)).join(options?.delimiter ?? " ") + suffix;
38
- }
39
- function kebabCase(input, options) {
40
- return noCase(input, { delimiter: "-", ...options });
41
- }
42
- function lowerFactory(locale) {
43
- return locale === false ? (input) => input.toLowerCase() : (input) => input.toLocaleLowerCase(locale);
44
- }
45
- function splitPrefixSuffix(input, options = {}) {
46
- const splitFn = options.split ?? (options.separateNumbers ? splitSeparateNumbers : split);
47
- const prefixCharacters = options.prefixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;
48
- const suffixCharacters = options.suffixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;
49
- let prefixIndex = 0;
50
- let suffixIndex = input.length;
51
- while (prefixIndex < input.length) {
52
- const char = input.charAt(prefixIndex);
53
- if (!prefixCharacters.includes(char))
54
- break;
55
- prefixIndex++;
56
- }
57
- while (suffixIndex > prefixIndex) {
58
- const index = suffixIndex - 1;
59
- const char = input.charAt(index);
60
- if (!suffixCharacters.includes(char))
61
- break;
62
- suffixIndex = index;
63
- }
64
- return [
65
- input.slice(0, prefixIndex),
66
- splitFn(input.slice(prefixIndex, suffixIndex)),
67
- input.slice(suffixIndex)
68
- ];
69
- }
70
- const DEFAULT_ICONIFY_PROVIDER = "vv";
71
- const INJECTION_KEY_VOLVER = Symbol.for("volver");
72
- function useDefaultProps(component, defaults, name) {
73
- const componentName = name || component.name;
74
- if (!componentName) {
75
- return component;
76
- }
77
- const componentDefaults = defaults?.[componentName];
78
- const props = component.props;
79
- if (!componentDefaults || !props) {
80
- return { ...component, name: componentName };
81
- }
82
- return {
83
- ...component,
84
- name: componentName,
85
- props: Object.keys(props).reduce(
86
- (acc, key) => {
87
- if (!(key in componentDefaults)) {
88
- acc[key] = props[key];
89
- return acc;
90
- }
91
- const customDefault = componentDefaults[key];
92
- if (typeof props[key] === "function" || Array.isArray(props[key])) {
93
- acc[key] = {
94
- type: props[key],
95
- default: customDefault
96
- };
97
- return acc;
98
- }
99
- acc[key] = {
100
- ...props[key],
101
- default: customDefault
102
- };
103
- return acc;
104
- },
105
- {}
106
- )
107
- };
108
- }
109
- class Volver {
110
- _fetchOptions = {};
111
- _iconsCollections = [];
112
- _iconsProvider = DEFAULT_ICONIFY_PROVIDER;
113
- _nuxt = false;
114
- _experimentalFeatures = {};
115
- defaults = ref({});
116
- constructor({
117
- fetchWithCredentials,
118
- fetchOptions,
119
- iconsProvider,
120
- nuxt,
121
- iconsCollections,
122
- defaults,
123
- experimentalFeatures
124
- } = {}) {
125
- if (fetchOptions) {
126
- this._fetchOptions = fetchOptions;
127
- }
128
- if (fetchWithCredentials) {
129
- this._fetchOptions = {
130
- ...this._fetchOptions,
131
- credentials: "include"
132
- };
133
- }
134
- if (iconsProvider) {
135
- this._iconsProvider = iconsProvider;
136
- }
137
- if (nuxt) {
138
- this._nuxt = nuxt;
139
- }
140
- if (iconsCollections && Array.isArray(iconsCollections)) {
141
- iconsCollections.forEach((iconsCollection) => {
142
- this.addCollection(iconsCollection, this._iconsProvider);
143
- });
144
- }
145
- if (defaults) {
146
- this.defaults.value = defaults;
147
- }
148
- if (experimentalFeatures) {
149
- this._experimentalFeatures = experimentalFeatures;
150
- }
151
- }
152
- get nuxt() {
153
- return this._nuxt;
154
- }
155
- get iconsProvider() {
156
- return this._iconsProvider;
157
- }
158
- get iconsCollections() {
159
- return this._iconsCollections;
160
- }
161
- get experimentalFeatures() {
162
- return this._experimentalFeatures;
163
- }
164
- addCollection(collection, providerName = this._iconsProvider) {
165
- this._iconsCollections.push(collection);
166
- return addCollection(collection, providerName);
167
- }
168
- addIcon(name, data) {
169
- return addIcon(name, data);
170
- }
171
- addIconsAPIProvider(provider, customConfig) {
172
- return addAPIProvider(provider, customConfig);
173
- }
174
- fetchIcon(src, options = { cache: "force-cache" }) {
175
- return new Promise((resolve, reject) => {
176
- fetch(src, { ...this._fetchOptions, ...options }).catch((e) => reject(e)).then((response) => response?.text()).then((svg) => resolve(svg));
177
- });
178
- }
179
- }
180
- const VolverPlugin = {
181
- /**
182
- * Vue.use() hook
183
- * @param {App} app
184
- * @param {object} options
185
- */
186
- install(app, options = {}) {
187
- const volver = new Volver(options);
188
- app.config.globalProperties.$vv = volver;
189
- if (options.components) {
190
- Object.entries(options.components).forEach(([name, component]) => {
191
- app.component(
192
- name,
193
- useDefaultProps(component, options.defaults)
194
- );
195
- });
196
- }
197
- if (options.aliases) {
198
- Object.entries(options.aliases).forEach(([name, component]) => {
199
- app.component(
200
- name,
201
- useDefaultProps(component, options.defaults, name)
202
- );
203
- });
204
- }
205
- if (options.directives) {
206
- Object.entries(options.directives).forEach(([name, directive]) => {
207
- const kebabName = kebabCase(name);
208
- if (kebabName.startsWith("v-")) {
209
- name = kebabName.substring(2).toLocaleLowerCase();
210
- }
211
- app.directive(name, directive);
212
- });
213
- }
214
- app.provide(INJECTION_KEY_VOLVER, volver);
215
- }
216
- };
217
- export {
218
- VolverPlugin
219
- };
1
+ import{addCollection as e,addIcon as t,addAPIProvider as r}from"@iconify/vue";import{ref as n}from"vue";const i=new RegExp("([\\p{Ll}\\d])(\\p{Lu})","gu"),s=new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])","gu"),o=new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d","u"),c=/[^\p{L}\d]+/giu,l="$1\0$2";function a(e){let t=e.trim();t=t.replace(i,l).replace(s,l),t=t.replace(c,"\0");let r=0,n=t.length;for(;"\0"===t.charAt(r);)r++;if(r===n)return[];for(;"\0"===t.charAt(n-1);)n--;return t.slice(r,n).split(/\0/g)}function u(e){const t=a(e);for(let r=0;r<t.length;r++){const e=t[r],n=o.exec(e);if(n){const i=n.index+(n[1]??n[2]).length;t.splice(r,1,e.slice(0,i),e.slice(i))}}return t}function f(e,t){const[r,n,i]=function(e,t={}){const r=t.split??(t.separateNumbers?u:a),n=t.prefixCharacters??"",i=t.suffixCharacters??"";let s=0,o=e.length;for(;s<e.length;){const t=e.charAt(s);if(!n.includes(t))break;s++}for(;o>s;){const t=o-1,r=e.charAt(t);if(!i.includes(r))break;o=t}return[e.slice(0,s),r(e.slice(s,o)),e.slice(o)]}(e,t);return r+n.map((s=t?.locale,!1===s?e=>e.toLowerCase():e=>e.toLocaleLowerCase(s))).join(t?.delimiter??" ")+i;var s}const h=Symbol.for("volver");function p(e,t,r){const n=r||e.name;if(!n)return e;const i=t?.[n],s=e.props;return i&&s?{...e,name:n,props:Object.keys(s).reduce((e,t)=>{if(!(t in i))return e[t]=s[t],e;const r=i[t];return"function"==typeof s[t]||Array.isArray(s[t])?(e[t]={type:s[t],default:r},e):(e[t]={...s[t],default:r},e)},{})}:{...e,name:n}}class d{_fetchOptions={};_iconsCollections=[];_iconsProvider="vv";_nuxt=!1;_experimentalFeatures={};defaults=n({});constructor({fetchWithCredentials:e,fetchOptions:t,iconsProvider:r,nuxt:n,iconsCollections:i,defaults:s,experimentalFeatures:o}={}){t&&(this._fetchOptions=t),e&&(this._fetchOptions={...this._fetchOptions,credentials:"include"}),r&&(this._iconsProvider=r),n&&(this._nuxt=n),i&&Array.isArray(i)&&i.forEach(e=>{this.addCollection(e,this._iconsProvider)}),s&&(this.defaults.value=s),o&&(this._experimentalFeatures=o)}get nuxt(){return this._nuxt}get iconsProvider(){return this._iconsProvider}get iconsCollections(){return this._iconsCollections}get experimentalFeatures(){return this._experimentalFeatures}addCollection(t,r=this._iconsProvider){return this._iconsCollections.push(t),e(t,r)}addIcon(e,r){return t(e,r)}addIconsAPIProvider(e,t){return r(e,t)}fetchIcon(e,t={cache:"force-cache"}){return new Promise((r,n)=>{fetch(e,{...this._fetchOptions,...t}).catch(e=>n(e)).then(e=>e?.text()).then(e=>r(e))})}}const m={install(e,t={}){const r=new d(t);e.config.globalProperties.$vv=r,t.components&&Object.entries(t.components).forEach(([r,n])=>{e.component(r,p(n,t.defaults))}),t.aliases&&Object.entries(t.aliases).forEach(([r,n])=>{e.component(r,p(n,t.defaults,r))}),t.directives&&Object.entries(t.directives).forEach(([t,r])=>{const n=function(e,t){return f(e,{delimiter:"-",...t})}(t);n.startsWith("v-")&&(t=n.substring(2).toLocaleLowerCase()),e.directive(t,r)}),e.provide(h,r)}};export{m as VolverPlugin};
@@ -1,187 +1 @@
1
- const SPLIT_LOWER_UPPER_RE = new RegExp("([\\p{Ll}\\d])(\\p{Lu})", "gu");
2
- const SPLIT_UPPER_UPPER_RE = new RegExp("(\\p{Lu})([\\p{Lu}][\\p{Ll}])", "gu");
3
- const SPLIT_SEPARATE_NUMBER_RE = new RegExp("(\\d)\\p{Ll}|(\\p{L})\\d", "u");
4
- const DEFAULT_STRIP_REGEXP = /[^\p{L}\d]+/giu;
5
- const SPLIT_REPLACE_VALUE = "$1\0$2";
6
- const DEFAULT_PREFIX_SUFFIX_CHARACTERS = "";
7
- function split(value) {
8
- let result = value.trim();
9
- result = result.replace(SPLIT_LOWER_UPPER_RE, SPLIT_REPLACE_VALUE).replace(SPLIT_UPPER_UPPER_RE, SPLIT_REPLACE_VALUE);
10
- result = result.replace(DEFAULT_STRIP_REGEXP, "\0");
11
- let start = 0;
12
- let end = result.length;
13
- while (result.charAt(start) === "\0")
14
- start++;
15
- if (start === end)
16
- return [];
17
- while (result.charAt(end - 1) === "\0")
18
- end--;
19
- return result.slice(start, end).split(/\0/g);
20
- }
21
- function splitSeparateNumbers(value) {
22
- const words = split(value);
23
- for (let i = 0; i < words.length; i++) {
24
- const word = words[i];
25
- const match = SPLIT_SEPARATE_NUMBER_RE.exec(word);
26
- if (match) {
27
- const offset = match.index + (match[1] ?? match[2]).length;
28
- words.splice(i, 1, word.slice(0, offset), word.slice(offset));
29
- }
30
- }
31
- return words;
32
- }
33
- function noCase(input, options) {
34
- const [prefix, words, suffix] = splitPrefixSuffix(input, options);
35
- return prefix + words.map(lowerFactory(options?.locale)).join(options?.delimiter ?? " ") + suffix;
36
- }
37
- function kebabCase(input, options) {
38
- return noCase(input, { delimiter: "-", ...options });
39
- }
40
- function lowerFactory(locale) {
41
- return locale === false ? (input) => input.toLowerCase() : (input) => input.toLocaleLowerCase(locale);
42
- }
43
- function splitPrefixSuffix(input, options = {}) {
44
- const splitFn = options.split ?? (options.separateNumbers ? splitSeparateNumbers : split);
45
- const prefixCharacters = options.prefixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;
46
- const suffixCharacters = options.suffixCharacters ?? DEFAULT_PREFIX_SUFFIX_CHARACTERS;
47
- let prefixIndex = 0;
48
- let suffixIndex = input.length;
49
- while (prefixIndex < input.length) {
50
- const char = input.charAt(prefixIndex);
51
- if (!prefixCharacters.includes(char))
52
- break;
53
- prefixIndex++;
54
- }
55
- while (suffixIndex > prefixIndex) {
56
- const index = suffixIndex - 1;
57
- const char = input.charAt(index);
58
- if (!suffixCharacters.includes(char))
59
- break;
60
- suffixIndex = index;
61
- }
62
- return [
63
- input.slice(0, prefixIndex),
64
- splitFn(input.slice(prefixIndex, suffixIndex)),
65
- input.slice(suffixIndex)
66
- ];
67
- }
68
- const STYLE_EXCLUDE = ["vv-icon", "vv-action"];
69
- const VOLVER_PREFIX = "vv";
70
- const DIRECTIVES = ["v-tooltip", "v-contextmenu"];
71
- function getStyleNames(kebabName) {
72
- if (STYLE_EXCLUDE.includes(kebabName)) {
73
- return void 0;
74
- }
75
- if (kebabName === "vv-dropdown") {
76
- return ["vv-dropdown", "vv-dropdown-option", "vv-dropdown-action"];
77
- }
78
- if (kebabName === "vv-combobox") {
79
- return [
80
- "vv-select",
81
- "vv-dropdown-option",
82
- "vv-dropdown-optgroup",
83
- "vv-dropdown",
84
- "vv-dropdown-action"
85
- ];
86
- }
87
- if (kebabName === "vv-button-group") {
88
- return ["vv-button", "vv-button-group"];
89
- }
90
- if (kebabName === "vv-accordion-group") {
91
- return ["vv-accordion", "vv-accordion-group"];
92
- }
93
- if (kebabName === "vv-checkbox-group") {
94
- return ["vv-checkbox", "vv-checkbox-group"];
95
- }
96
- if (kebabName === "vv-radio-group") {
97
- return ["vv-radio", "vv-radio-group"];
98
- }
99
- if (kebabName === "vv-alert-group") {
100
- return ["vv-alert", "vv-alert-group"];
101
- }
102
- if (kebabName === "v-tooltip") {
103
- return ["vv-tooltip"];
104
- }
105
- return [kebabName];
106
- }
107
- function getSideEffects(kebabName, importStyle) {
108
- const sideEffects = [];
109
- if (!importStyle) {
110
- return sideEffects;
111
- }
112
- const styleNames = getStyleNames(kebabName);
113
- if (styleNames) {
114
- styleNames.forEach((name) => {
115
- sideEffects.push(
116
- `@volverjs/style/${importStyle === "scss" ? "scss/" : ""}components/${name}`
117
- );
118
- });
119
- }
120
- return sideEffects;
121
- }
122
- function VolverResolver({
123
- prefix = VOLVER_PREFIX,
124
- importStyle,
125
- directives,
126
- ignore,
127
- cherryPick
128
- } = {}) {
129
- return [
130
- {
131
- type: "component",
132
- resolve: (name) => {
133
- if (!prefix || !name.toLowerCase().startsWith(prefix.toLowerCase())) {
134
- return;
135
- }
136
- const kebabName = kebabCase(name).replace(
137
- `${prefix}-`,
138
- `${VOLVER_PREFIX}-`
139
- );
140
- if (ignore && ignore.includes(kebabName)) {
141
- return;
142
- }
143
- if (cherryPick) {
144
- return {
145
- from: `@volverjs/ui-vue/${kebabName}`,
146
- sideEffects: getSideEffects(kebabName, importStyle)
147
- };
148
- }
149
- return {
150
- from: "@volverjs/ui-vue/components",
151
- sideEffects: getSideEffects(kebabName, importStyle),
152
- name
153
- };
154
- }
155
- },
156
- {
157
- type: "directive",
158
- resolve: (name) => {
159
- if (!directives) {
160
- return;
161
- }
162
- const kebabName = `v-${kebabCase(name)}`;
163
- if (!DIRECTIVES.includes(kebabName)) {
164
- return;
165
- }
166
- if (ignore && ignore.includes(kebabName)) {
167
- return;
168
- }
169
- if (cherryPick) {
170
- return {
171
- from: `@volverjs/ui-vue/${kebabName}`,
172
- sideEffects: getSideEffects(kebabName, importStyle)
173
- };
174
- }
175
- return {
176
- from: "@volverjs/ui-vue/directives",
177
- sideEffects: getSideEffects(kebabName, importStyle),
178
- name: `v${name}`
179
- };
180
- }
181
- }
182
- ];
183
- }
184
- export {
185
- VolverResolver,
186
- getStyleNames
187
- };
1
+ 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};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@volverjs/ui-vue",
3
3
  "type": "module",
4
- "version": "0.0.11",
4
+ "version": "0.0.12",
5
5
  "description": "@volverjs/ui-vue is a lightweight Vue 3 component library to accompany @volverjs/style.",
6
6
  "author": "8 wave S.r.l.",
7
7
  "license": "MIT",
@@ -377,7 +377,7 @@
377
377
  ],
378
378
  "peerDependencies": {
379
379
  "@volverjs/style": "0.x",
380
- "@vueuse/core": "^13.x",
380
+ "@vueuse/core": "^14.x",
381
381
  "vue": "^3.5.x"
382
382
  },
383
383
  "dependencies": {
@@ -387,8 +387,8 @@
387
387
  "blurhash": "^2.0.5",
388
388
  "chokidar": "^4.0.3",
389
389
  "comlink": "^4.4.2",
390
- "dot-prop": "^10.0.0",
391
- "jsdom": "^27.0.0",
390
+ "dot-prop": "^10.1.0",
391
+ "jsdom": "^27.2.0",
392
392
  "mitt": "^3.0.1",
393
393
  "pica": "^9.0.1",
394
394
  "vue-imask": "^7.6.1",
@@ -396,53 +396,53 @@
396
396
  "yargs": "^18.0.0"
397
397
  },
398
398
  "devDependencies": {
399
- "@antfu/eslint-config": "5.4.1",
400
- "@babel/core": "^7.28.4",
401
- "@babel/preset-env": "^7.28.3",
402
- "@babel/preset-typescript": "^7.27.1",
399
+ "@antfu/eslint-config": "6.2.0",
400
+ "@babel/core": "^7.28.5",
401
+ "@babel/preset-env": "^7.28.5",
402
+ "@babel/preset-typescript": "^7.28.5",
403
403
  "@iconify/types": "^2.0.0",
404
404
  "@iconify/utils": "^3.0.2",
405
405
  "@nabla/vite-plugin-eslint": "^2.0.6",
406
- "@storybook/addon-a11y": "^9.1.10",
407
- "@storybook/addon-docs": "^9.1.10",
408
- "@storybook/addon-links": "^9.1.10",
409
- "@storybook/cli": "^9.1.10",
410
- "@storybook/test-runner": "^0.23.0",
411
- "@storybook/vue3-vite": "^9.1.10",
412
- "@tsconfig/node18": "^18.2.4",
406
+ "@storybook/addon-a11y": "^10.0.8",
407
+ "@storybook/addon-docs": "^10.0.8",
408
+ "@storybook/addon-links": "^10.0.8",
409
+ "@storybook/cli": "^10.0.8",
410
+ "@storybook/test-runner": "^0.24.1",
411
+ "@storybook/vue3-vite": "^10.0.8",
412
+ "@tsconfig/node18": "^18.2.6",
413
413
  "@types/jest-axe": "^3.5.9",
414
414
  "@types/jsdom": "^27.0.0",
415
- "@types/node": "^24.6.2",
415
+ "@types/node": "^24.10.1",
416
416
  "@types/pica": "^9.0.5",
417
- "@types/yargs": "^17.0.33",
418
- "@vitejs/plugin-vue": "^6.0.1",
419
- "@volverjs/style": "^0.1.22",
420
- "@vue/compiler-sfc": "^3.5.22",
417
+ "@types/yargs": "^17.0.35",
418
+ "@vitejs/plugin-vue": "^6.0.2",
419
+ "@volverjs/style": "^0.1.23",
420
+ "@vue/compiler-sfc": "^3.5.25",
421
421
  "@vue/eslint-config-typescript": "^14.6.0",
422
422
  "@vue/test-utils": "^2.4.6",
423
423
  "@vue/tsconfig": "^0.8.1",
424
- "@vueless/storybook-dark-mode": "^9.0.9",
425
- "@vueuse/core": "^13.9.0",
424
+ "@vueless/storybook-dark-mode": "^10.0.3",
425
+ "@vueuse/core": "^14.0.0",
426
426
  "change-case": "^5.4.4",
427
- "eslint": "^9.36.0",
428
- "glob": "^11.0.3",
427
+ "eslint": "^9.39.1",
428
+ "glob": "^13.0.0",
429
429
  "jest-axe": "^10.0.0",
430
- "jsdom": "^27.0.0",
430
+ "jsdom": "^27.2.0",
431
431
  "npm-run-all": "^4.1.5",
432
432
  "prettier": "^3.6.2",
433
433
  "remark": "^15.0.1",
434
- "sass-embedded": "1.93.2",
435
- "storybook": "^9.1.10",
434
+ "sass-embedded": "1.93.3",
435
+ "storybook": "^10.0.8",
436
436
  "storybook-addon-markdown-docs": "^2.0.0",
437
- "terser": "^5.44.0",
437
+ "terser": "^5.44.1",
438
438
  "ts-node": "^10.9.2",
439
439
  "typescript": "~5.9.3",
440
440
  "unplugin-auto-import": "^20.2.0",
441
- "unplugin-vue-components": "^29.1.0",
442
- "vite": "^7.1.8",
443
- "vite-plugin-externalize-deps": "^0.9.0",
444
- "vue": "^3.5.22",
445
- "vue-tsc": "^3.1.0"
441
+ "unplugin-vue-components": "^30.0.0",
442
+ "vite": "^7.2.4",
443
+ "vite-plugin-externalize-deps": "^0.10.0",
444
+ "vue": "^3.5.25",
445
+ "vue-tsc": "^3.1.5"
446
446
  },
447
447
  "scripts": {
448
448
  "dev": "storybook dev -p 6006",