@v1nt1248/3nclient-lib 0.2.93 → 0.2.95
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.
- package/dist/style.css +2 -1
- package/dist/ui3n-components.js +20093 -18347
- package/dist/ui3n-plugins.js +3513 -3037
- package/dist/ui3n-utils.js +7222 -5172
- package/package.json +32 -32
- package/src/components/ui3n-autocomplete/ui3n-autocomplete.vue +8 -5
- package/src/components/ui3n-input/ui3n-input.vue +21 -18
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@v1nt1248/3nclient-lib",
|
|
3
3
|
"license": "AGPL-3.0-or-later",
|
|
4
4
|
"author": "v1nt1248",
|
|
5
|
-
"version": "0.2.
|
|
5
|
+
"version": "0.2.95",
|
|
6
6
|
"description": "Library for 3NWeb clients",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"files": [
|
|
@@ -51,61 +51,61 @@
|
|
|
51
51
|
"docs:preview": "vitepress preview docs"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@floating-ui/dom": "^1.7.
|
|
55
|
-
"@floating-ui/vue": "1.1.
|
|
56
|
-
"dayjs": "1.11.
|
|
54
|
+
"@floating-ui/dom": "^1.7.6",
|
|
55
|
+
"@floating-ui/vue": "1.1.11",
|
|
56
|
+
"dayjs": "1.11.20",
|
|
57
57
|
"lodash": "4.17.23",
|
|
58
58
|
"mitt": "3.0.1",
|
|
59
|
-
"sanitize-html": "2.17.
|
|
59
|
+
"sanitize-html": "2.17.1",
|
|
60
60
|
"vuedraggable": "4.1.0"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"pinia": "3.0.4",
|
|
64
|
-
"vue": "3.5.
|
|
64
|
+
"vue": "3.5.30"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@eslint/eslintrc": "^3.3.
|
|
67
|
+
"@eslint/eslintrc": "^3.3.5",
|
|
68
68
|
"@eslint/js": "^9.39.1",
|
|
69
|
-
"@types/lodash": "4.17.
|
|
70
|
-
"@types/node": "22.19.
|
|
71
|
-
"@types/sanitize-html": "2.16.
|
|
72
|
-
"@typescript-eslint/eslint-plugin": "8.
|
|
73
|
-
"@typescript-eslint/parser": "8.
|
|
74
|
-
"@vitejs/plugin-vue": "6.0.
|
|
75
|
-
"@vue/compiler-core": "3.5.
|
|
76
|
-
"@vue/eslint-config-typescript": "14.
|
|
77
|
-
"@vue/runtime-core": "3.5.
|
|
69
|
+
"@types/lodash": "4.17.24",
|
|
70
|
+
"@types/node": "22.19.15",
|
|
71
|
+
"@types/sanitize-html": "2.16.1",
|
|
72
|
+
"@typescript-eslint/eslint-plugin": "8.57.1",
|
|
73
|
+
"@typescript-eslint/parser": "8.57.1",
|
|
74
|
+
"@vitejs/plugin-vue": "6.0.5",
|
|
75
|
+
"@vue/compiler-core": "3.5.30",
|
|
76
|
+
"@vue/eslint-config-typescript": "14.7.0",
|
|
77
|
+
"@vue/runtime-core": "3.5.30",
|
|
78
78
|
"@vuedx/typescript-plugin-vue": "0.7.6",
|
|
79
|
-
"eslint": "9.39.
|
|
79
|
+
"eslint": "9.39.4",
|
|
80
80
|
"eslint-config-prettier": "10.1.8",
|
|
81
81
|
"eslint-plugin-import": "2.32.0",
|
|
82
82
|
"eslint-plugin-node": "11.1.0",
|
|
83
|
-
"eslint-plugin-prettier": "5.5.
|
|
83
|
+
"eslint-plugin-prettier": "5.5.5",
|
|
84
84
|
"eslint-plugin-promise": "7.2.1",
|
|
85
|
-
"eslint-plugin-vue": "10.
|
|
86
|
-
"globals": "
|
|
87
|
-
"jackspeak": "4.
|
|
85
|
+
"eslint-plugin-vue": "10.8.0",
|
|
86
|
+
"globals": "17.4.0",
|
|
87
|
+
"jackspeak": "4.2.3",
|
|
88
88
|
"path": "0.12.7",
|
|
89
89
|
"pinia": "3.0.4",
|
|
90
90
|
"postcss-html": "1.8.1",
|
|
91
91
|
"prettier": "3.8.1",
|
|
92
|
-
"sass": "1.
|
|
93
|
-
"stylelint": "
|
|
94
|
-
"stylelint-config-recommended-scss": "
|
|
92
|
+
"sass": "1.98.0",
|
|
93
|
+
"stylelint": "17.4.0",
|
|
94
|
+
"stylelint-config-recommended-scss": "17.0.0",
|
|
95
95
|
"stylelint-config-recommended-vue": "1.6.1",
|
|
96
96
|
"stylelint-config-standard": "39.0.1",
|
|
97
|
-
"stylelint-scss": "
|
|
97
|
+
"stylelint-scss": "7.0.0",
|
|
98
98
|
"tslib": "2.8.1",
|
|
99
99
|
"typescript": "5.9.3",
|
|
100
|
-
"typescript-eslint": "8.
|
|
101
|
-
"vite": "
|
|
102
|
-
"vite-plugin-css-injected-by-js": "
|
|
100
|
+
"typescript-eslint": "8.57.1",
|
|
101
|
+
"vite": "8.0.0",
|
|
102
|
+
"vite-plugin-css-injected-by-js": "4.0.1",
|
|
103
103
|
"vite-plugin-dts": "4.5.4",
|
|
104
|
-
"vite-plugin-vue-devtools": "8.0
|
|
104
|
+
"vite-plugin-vue-devtools": "8.1.0",
|
|
105
105
|
"vitepress": "1.6.4",
|
|
106
|
-
"vue": "3.5.
|
|
107
|
-
"vue-eslint-parser": "10.
|
|
108
|
-
"vue-tsc": "3.2.
|
|
106
|
+
"vue": "3.5.30",
|
|
107
|
+
"vue-eslint-parser": "10.4.0",
|
|
108
|
+
"vue-tsc": "3.2.5"
|
|
109
109
|
},
|
|
110
110
|
"packageManager": "pnpm@10.26.0",
|
|
111
111
|
"pnpm": {
|
|
@@ -54,9 +54,9 @@
|
|
|
54
54
|
const activeItemsIndex = ref<Nullable<number>>(null);
|
|
55
55
|
const isNewValueValid = ref(true);
|
|
56
56
|
|
|
57
|
-
const ids = computed(() =>
|
|
58
|
-
? (props.modelValue as T[]).map(item => item.id)
|
|
59
|
-
|
|
57
|
+
const ids = computed(() =>
|
|
58
|
+
props.returnObject ? (props.modelValue as T[]).map(item => item.id) : (props.modelValue as Array<T[keyof T]>),
|
|
59
|
+
);
|
|
60
60
|
|
|
61
61
|
const displayValue = computed(() => {
|
|
62
62
|
if (props.chips) return '';
|
|
@@ -180,6 +180,7 @@
|
|
|
180
180
|
isMenuOpen.value = true;
|
|
181
181
|
activeItemsIndex.value = 0;
|
|
182
182
|
menuBodyEl.value && menuBodyEl.value.focus();
|
|
183
|
+
console.log('<- 111 ->');
|
|
183
184
|
return;
|
|
184
185
|
}
|
|
185
186
|
|
|
@@ -194,6 +195,7 @@
|
|
|
194
195
|
};
|
|
195
196
|
onItemClick(item as unknown as T);
|
|
196
197
|
}
|
|
198
|
+
props.clearOnSelect && (query.value = '');
|
|
197
199
|
return;
|
|
198
200
|
}
|
|
199
201
|
|
|
@@ -201,6 +203,7 @@
|
|
|
201
203
|
const item = filteredItems.value[activeItemsIndex.value!];
|
|
202
204
|
onItemClick(item);
|
|
203
205
|
activeItemsIndex.value = null;
|
|
206
|
+
props.clearOnSelect && (query.value = '');
|
|
204
207
|
}
|
|
205
208
|
}
|
|
206
209
|
|
|
@@ -299,7 +302,7 @@
|
|
|
299
302
|
@keydown.esc="onKeydown($event, 'esc')"
|
|
300
303
|
@keydown.enter="onKeydown($event, 'enter')"
|
|
301
304
|
@keydown.tab="onKeydown($event, 'tab')"
|
|
302
|
-
|
|
305
|
+
/>
|
|
303
306
|
</div>
|
|
304
307
|
|
|
305
308
|
<template #menu>
|
|
@@ -318,7 +321,7 @@
|
|
|
318
321
|
:class="[
|
|
319
322
|
$style.item,
|
|
320
323
|
activeItemsIndex === index && $style.itemSelected,
|
|
321
|
-
disabled && $style.itemDisabled
|
|
324
|
+
disabled && $style.itemDisabled,
|
|
322
325
|
]"
|
|
323
326
|
@click.stop.prevent="onItemClick(item)"
|
|
324
327
|
>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
const props = defineProps<Ui3nInputProps>();
|
|
8
8
|
const emits = defineEmits<Ui3nInputEmits>();
|
|
9
9
|
|
|
10
|
-
const
|
|
10
|
+
const css = useCssModule();
|
|
11
11
|
|
|
12
12
|
const inputElement = ref<HTMLInputElement | null>(null);
|
|
13
13
|
const text = ref<string>('');
|
|
@@ -32,29 +32,29 @@
|
|
|
32
32
|
});
|
|
33
33
|
|
|
34
34
|
const mainCssClasses = computed(() => {
|
|
35
|
-
const val = [
|
|
36
|
-
props.label && val.push(
|
|
37
|
-
props.icon && val.push(
|
|
38
|
-
props.clearable && text.value && val.push(
|
|
39
|
-
props.disabled && val.push(
|
|
40
|
-
((!!errorMessage.value && !isValid.value) || props.displayStateMode === 'error') && val.push(
|
|
41
|
-
props.displayStateMode === 'success' && val.push(
|
|
35
|
+
const val = [css.ui3nInput];
|
|
36
|
+
props.label && val.push(css.withLabel);
|
|
37
|
+
props.icon && val.push(css.withIcon);
|
|
38
|
+
props.clearable && text.value && val.push(css.clearable);
|
|
39
|
+
props.disabled && val.push(css.disabled);
|
|
40
|
+
((!!errorMessage.value && !isValid.value) || props.displayStateMode === 'error') && val.push(css.error);
|
|
41
|
+
props.displayStateMode === 'success' && val.push(css.success);
|
|
42
42
|
|
|
43
43
|
return val;
|
|
44
44
|
});
|
|
45
45
|
|
|
46
46
|
const iconCssClasses = computed(() => {
|
|
47
|
-
const val = [
|
|
48
|
-
props.disabled && val.push(
|
|
47
|
+
const val = [css.ui3nInputIcon];
|
|
48
|
+
props.disabled && val.push(css.ui3nInputIconDisabled);
|
|
49
49
|
|
|
50
50
|
return val;
|
|
51
51
|
});
|
|
52
52
|
|
|
53
53
|
const messageCssClasses = computed(() => {
|
|
54
|
-
const val = [
|
|
54
|
+
const val = [css.ui3nInputFieldMessage];
|
|
55
55
|
(errorMessage.value || (props.displayStateMode === 'error' && !!props.displayStateMessage)) &&
|
|
56
|
-
|
|
57
|
-
props.displayStateMode === 'success' && props.displayStateMessage && val.push(
|
|
56
|
+
val.push(css.ui3nInputErrorMessage);
|
|
57
|
+
props.displayStateMode === 'success' && props.displayStateMessage && val.push(css.ui3nInputSuccessMessage);
|
|
58
58
|
|
|
59
59
|
return val;
|
|
60
60
|
});
|
|
@@ -185,12 +185,12 @@
|
|
|
185
185
|
:class="$style.ui3nInputField"
|
|
186
186
|
@input="onInput"
|
|
187
187
|
@keydown.enter="onEnterKeydown"
|
|
188
|
-
@keydown.
|
|
188
|
+
@keydown.esc="onEscapeKeydown"
|
|
189
189
|
@keydown="onKeydown"
|
|
190
190
|
@focusin="onFocus"
|
|
191
191
|
@focusout="onBlur"
|
|
192
192
|
@change="onChange"
|
|
193
|
-
|
|
193
|
+
/>
|
|
194
194
|
|
|
195
195
|
<ui3n-icon
|
|
196
196
|
v-if="icon"
|
|
@@ -238,7 +238,7 @@
|
|
|
238
238
|
|
|
239
239
|
position: relative;
|
|
240
240
|
width: 100%;
|
|
241
|
-
padding: 1px;
|
|
241
|
+
padding: 1px 1px 15px 1px;
|
|
242
242
|
border-radius: var(--spacing-xs);
|
|
243
243
|
|
|
244
244
|
&:hover {
|
|
@@ -323,11 +323,14 @@
|
|
|
323
323
|
}
|
|
324
324
|
|
|
325
325
|
.ui3nInputFieldMessage {
|
|
326
|
+
position: absolute;
|
|
327
|
+
left: 0;
|
|
328
|
+
width: 100%;
|
|
329
|
+
top: 55px;
|
|
326
330
|
font-style: italic;
|
|
327
331
|
font-size: var(--font-10);
|
|
328
332
|
font-weight: 400;
|
|
329
|
-
line-height: 1.
|
|
330
|
-
margin-top: 2px;
|
|
333
|
+
line-height: 1.1;
|
|
331
334
|
|
|
332
335
|
&.ui3nInputErrorMessage {
|
|
333
336
|
color: var(--error-content-default);
|