@v1nt1248/3nclient-lib 0.0.16 → 0.0.18
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/README.md +44 -4
- package/package.json +24 -7
- package/src/components/ui3n-button.vue +20 -4
- package/src/components/ui3n-drop-files.vue +34 -11
- package/src/components/ui3n-emoji.vue +34 -14
- package/src/components/ui3n-input.vue +3 -2
- package/src/components/ui3n-list.vue +1 -1
- package/dist/components/index.d.ts +0 -26
- package/dist/components/ui3n-button.vue.d.ts +0 -82
- package/dist/components/ui3n-dialog.vue.d.ts +0 -73
- package/dist/components/ui3n-drop-files.vue.d.ts +0 -41
- package/dist/components/ui3n-emoji.vue.d.ts +0 -36
- package/dist/components/ui3n-icon.vue.d.ts +0 -92
- package/dist/components/ui3n-input.vue.d.ts +0 -96
- package/dist/components/ui3n-list.vue.d.ts +0 -45
- package/dist/components/ui3n-menu.vue.d.ts +0 -85
- package/dist/components/ui3n-notification.vue.d.ts +0 -72
- package/dist/components/ui3n-table-sort-icon.vue.d.ts +0 -29
- package/dist/components/ui3n-table.vue.d.ts +0 -42
- package/dist/components/ui3n-text.vue.d.ts +0 -79
- package/dist/components/ui3n-virtual-scroll.vue.d.ts +0 -34
- package/dist/constants/emoticons.d.ts +0 -649
- package/dist/constants/general.d.ts +0 -2
- package/dist/constants/index.d.ts +0 -3
- package/dist/constants/types.d.ts +0 -31
- package/dist/directives/index.d.ts +0 -2
- package/dist/directives/ui3n-click-outside.d.ts +0 -10
- package/dist/directives/ui3n-html.d.ts +0 -6
- package/dist/index.d.ts +0 -37
- package/dist/libs/index.d.ts +0 -3
- package/dist/libs/ipc-service-caller.d.ts +0 -12
- package/dist/libs/ipc-service.d.ts +0 -60
- package/dist/libs/serialization-for-ipc/copy-json.d.ts +0 -8
- package/dist/libs/serialization-for-ipc/json-n-binary.d.ts +0 -5
- package/dist/libs/serialization-for-ipc/protobuf-type.d.ts +0 -10
- package/dist/libs/sqlite-on-3nstorage/deferred.d.ts +0 -6
- package/dist/libs/sqlite-on-3nstorage/index.d.ts +0 -49
- package/dist/libs/sqlite-on-3nstorage/synced.d.ts +0 -73
- package/dist/libs/sqlite-on-3nstorage/types.d.ts +0 -243
- package/dist/plugins/dialogs.d.ts +0 -17
- package/dist/plugins/i18n.d.ts +0 -20
- package/dist/plugins/icons.d.ts +0 -2
- package/dist/plugins/index.d.ts +0 -14
- package/dist/plugins/notifications.d.ts +0 -13
- package/dist/plugins/store-dialogs.d.ts +0 -4
- package/dist/plugins/store-i18n.d.ts +0 -7
- package/dist/plugins/store-notifications.d.ts +0 -4
- package/dist/plugins/store-vue-bus.d.ts +0 -4
- package/dist/plugins/vue-bus.d.ts +0 -19
- package/dist/style.css +0 -1
- package/dist/tools/common.helpers.d.ts +0 -3
- package/dist/tools/index.d.ts +0 -3
- package/dist/tools/textarea-max-rows.d.ts +0 -3
- package/dist/tools/ui.helpers.d.ts +0 -13
- package/dist/ui-3n-lib.js +0 -16529
- package/src/libs/index.ts +0 -11
- package/src/libs/ipc-service-caller.ts +0 -121
- package/src/libs/ipc-service.ts +0 -422
- package/src/libs/serialization-for-ipc/copy-json.ts +0 -55
- package/src/libs/serialization-for-ipc/json-ipc.proto.d.ts +0 -432
- package/src/libs/serialization-for-ipc/json-ipc.proto.js +0 -1093
- package/src/libs/serialization-for-ipc/json-n-binary.ts +0 -275
- package/src/libs/serialization-for-ipc/protobuf-type.ts +0 -61
- package/src/libs/sqlite-on-3nstorage/deferred.ts +0 -32
- package/src/libs/sqlite-on-3nstorage/index.ts +0 -292
- package/src/libs/sqlite-on-3nstorage/sqljs.js +0 -225
- package/src/libs/sqlite-on-3nstorage/synced.ts +0 -194
- package/src/libs/sqlite-on-3nstorage/types.ts +0 -279
package/README.md
CHANGED
|
@@ -1,9 +1,49 @@
|
|
|
1
|
-
# Library
|
|
1
|
+
# Library (Vue3 + Typescript + Vite)
|
|
2
|
+
|
|
3
|
+
Components, directives and plugins for Vue3 projects and some helpers methods.
|
|
4
|
+
Storybook is used for documentation and demo.
|
|
5
|
+
|
|
6
|
+
For demo and development - `yarn storybook` or `npm run storybook`.
|
|
7
|
+
You can run the project as `yarn dev` or `npm run dev` if you don't want to use Storybook.
|
|
2
8
|
|
|
3
|
-
## Constants
|
|
4
9
|
## Components
|
|
10
|
+
- Ui3nButton
|
|
11
|
+
- Ui3nIcon
|
|
12
|
+
- Ui3nInput
|
|
13
|
+
- Ui3nText
|
|
14
|
+
- Ui3nEmoji
|
|
15
|
+
- Ui3nMenu
|
|
16
|
+
- Ui3nDroopFiles
|
|
17
|
+
- Ui3nList
|
|
18
|
+
- Ui3nVirtualScroll
|
|
19
|
+
- Ui3nNotification
|
|
20
|
+
- Ui3nDialog
|
|
21
|
+
- Ui3nTable
|
|
22
|
+
|
|
5
23
|
## Directives
|
|
24
|
+
- Ui3nHtml
|
|
25
|
+
- Ui3nClickOutside
|
|
26
|
+
|
|
6
27
|
## Plugins
|
|
28
|
+
- icons
|
|
29
|
+
- i18n
|
|
30
|
+
- dialogs
|
|
31
|
+
- notifications
|
|
32
|
+
- vue-bus
|
|
33
|
+
|
|
7
34
|
## Store plugins
|
|
8
|
-
|
|
9
|
-
|
|
35
|
+
- store-i18n
|
|
36
|
+
- store-dialogs
|
|
37
|
+
- store-notifications
|
|
38
|
+
- store-vue-bus
|
|
39
|
+
|
|
40
|
+
## Constants
|
|
41
|
+
- emoticons
|
|
42
|
+
- mailReg
|
|
43
|
+
|
|
44
|
+
## Libs
|
|
45
|
+
- ipc-service
|
|
46
|
+
- ipc-service-caller
|
|
47
|
+
- sqlite-on-3nstorage
|
|
48
|
+
|
|
49
|
+
## Tools
|
package/package.json
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@v1nt1248/3nclient-lib",
|
|
3
|
-
"private": false,
|
|
4
3
|
"license": "AGPL-3.0-or-later",
|
|
5
4
|
"author": "v1nt1248",
|
|
6
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.18",
|
|
7
6
|
"description": "Library for 3NWeb clients",
|
|
7
|
+
"private": false,
|
|
8
8
|
"type": "module",
|
|
9
9
|
"files": [
|
|
10
10
|
"dist",
|
|
11
|
-
"src/components/"
|
|
12
|
-
"src/libs"
|
|
11
|
+
"src/components/"
|
|
13
12
|
],
|
|
14
13
|
"module": "./dist/ui-3n-lib.js",
|
|
15
14
|
"types": "./dist/index.d.ts",
|
|
@@ -30,7 +29,9 @@
|
|
|
30
29
|
"linter": "eslint -c .eslintrc.cjs --ext .js,.vue,.ts, src",
|
|
31
30
|
"linter:fix": "eslint -c .eslintrc.cjs --fix --ext .js,.vue,.ts, src",
|
|
32
31
|
"lint": "yarn linter && yarn stylelint",
|
|
33
|
-
"lint:fix": "yarn linter:fix && yarn stylelint:fix"
|
|
32
|
+
"lint:fix": "yarn linter:fix && yarn stylelint:fix",
|
|
33
|
+
"storybook": "storybook dev -p 6006",
|
|
34
|
+
"build-storybook": "storybook build"
|
|
34
35
|
},
|
|
35
36
|
"dependencies": {
|
|
36
37
|
"@iconify-icons/ic": "^1.2.13",
|
|
@@ -47,22 +48,38 @@
|
|
|
47
48
|
"vue": "^3.3.4"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
51
|
+
"@storybook/addon-actions": "^7.4.4",
|
|
52
|
+
"@storybook/addon-docs": "^7.4.4",
|
|
53
|
+
"@storybook/addon-essentials": "^7.4.4",
|
|
54
|
+
"@storybook/addon-interactions": "^7.4.4",
|
|
55
|
+
"@storybook/addon-links": "^7.4.4",
|
|
56
|
+
"@storybook/blocks": "^7.4.4",
|
|
57
|
+
"@storybook/builder-vite": "^7.4.4",
|
|
58
|
+
"@storybook/testing-library": "^0.2.1",
|
|
59
|
+
"@storybook/vue3": "^7.4.4",
|
|
60
|
+
"@storybook/vue3-vite": "^7.4.4",
|
|
50
61
|
"@types/lodash": "^4.14.197",
|
|
51
62
|
"@types/node": "^20.5.6",
|
|
52
63
|
"@types/sanitize-html": "^2.9.0",
|
|
53
64
|
"@typescript-eslint/eslint-plugin": "^6.4.1",
|
|
54
65
|
"@typescript-eslint/parser": "^6.4.1",
|
|
55
66
|
"@vitejs/plugin-vue": "^4.2.3",
|
|
67
|
+
"@vue/compiler-core": "^3.3.4",
|
|
56
68
|
"@vue/eslint-config-typescript": "^11.0.3",
|
|
57
69
|
"@vuedx/typescript-plugin-vue": "^0.7.6",
|
|
58
70
|
"eslint": "^8.48.0",
|
|
59
71
|
"eslint-plugin-import": "^2.28.1",
|
|
60
72
|
"eslint-plugin-node": "^11.1.0",
|
|
61
73
|
"eslint-plugin-promise": "^6.1.1",
|
|
74
|
+
"eslint-plugin-storybook": "^0.6.14",
|
|
62
75
|
"eslint-plugin-vue": "^9.17.0",
|
|
76
|
+
"jackspeak": "^2.3.3",
|
|
63
77
|
"pinia": "^2.1.6",
|
|
64
78
|
"postcss-html": "^1.5.0",
|
|
79
|
+
"react": "^18.2.0",
|
|
80
|
+
"react-dom": "^18.2.0",
|
|
65
81
|
"sass": "^1.66.1",
|
|
82
|
+
"storybook": "^7.4.4",
|
|
66
83
|
"stylelint": "^15.10.3",
|
|
67
84
|
"stylelint-config-recommended-scss": "^12.0.0",
|
|
68
85
|
"stylelint-config-recommended-vue": "^1.5.0",
|
|
@@ -71,10 +88,10 @@
|
|
|
71
88
|
"stylelint-scss": "^5.1.0",
|
|
72
89
|
"typescript": "^5.2.2",
|
|
73
90
|
"vite": "^4.4.5",
|
|
74
|
-
"vite-plugin-commonjs": "^0.9.0",
|
|
75
91
|
"vite-plugin-css-injected-by-js": "^3.3.0",
|
|
76
92
|
"vite-plugin-dts": "^3.5.3",
|
|
77
93
|
"vue": "^3.3.4",
|
|
78
94
|
"vue-tsc": "^1.8.5"
|
|
79
|
-
}
|
|
95
|
+
},
|
|
96
|
+
"packageManager": "yarn@3.6.3"
|
|
80
97
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { computed, onMounted, ref, useSlots } from 'vue'
|
|
2
|
+
import { computed, onMounted, ref, useSlots, watch } from 'vue'
|
|
3
3
|
import { hasSlotContent } from '../tools/ui.helpers'
|
|
4
4
|
import Ui3nIcon from './ui3n-icon.vue'
|
|
5
5
|
|
|
@@ -27,6 +27,22 @@
|
|
|
27
27
|
const buttonEl = ref<HTMLButtonElement | null>(null)
|
|
28
28
|
const isSlotEmpty = computed(() => !hasSlotContent(slots['default']))
|
|
29
29
|
|
|
30
|
+
watch(
|
|
31
|
+
[() => props.color, () => props.textColor],
|
|
32
|
+
(newValue: [string|undefined, string|undefined], prevValue: [string|undefined, string|undefined]) => {
|
|
33
|
+
const [ prevColor, prevTextColor ] = prevValue
|
|
34
|
+
const [ color, textColor ] = newValue
|
|
35
|
+
if (buttonEl.value) {
|
|
36
|
+
if (color !== prevColor) {
|
|
37
|
+
buttonEl.value.style.setProperty('--ui3n-button-background', color ?? 'var(--blue-main, #0090ec)')
|
|
38
|
+
}
|
|
39
|
+
if (textColor !== prevTextColor) {
|
|
40
|
+
buttonEl.value.style.setProperty('--ui3n-button-text-color', textColor ?? 'var(--system-white, #fff)')
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
)
|
|
45
|
+
|
|
30
46
|
onMounted(() => {
|
|
31
47
|
if (buttonEl.value) {
|
|
32
48
|
if (props.color) {
|
|
@@ -97,8 +113,8 @@
|
|
|
97
113
|
transition: background 0.5s ease-in-out;
|
|
98
114
|
|
|
99
115
|
&--round {
|
|
100
|
-
--ui3n-button-padding-vert:
|
|
101
|
-
--ui3n-button-padding-horiz:
|
|
116
|
+
--ui3n-button-padding-vert: 6px;
|
|
117
|
+
--ui3n-button-padding-horiz: 6px;
|
|
102
118
|
|
|
103
119
|
border-radius: 50%;
|
|
104
120
|
}
|
|
@@ -115,6 +131,7 @@
|
|
|
115
131
|
var(--ui3n-button-background)
|
|
116
132
|
radial-gradient(circle, transparent 1%, var(--ui3n-button-background) 1%)
|
|
117
133
|
center/15000%;
|
|
134
|
+
box-shadow: 0 0 4px var(--shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
|
118
135
|
|
|
119
136
|
.ui3n-button {
|
|
120
137
|
&__icon,
|
|
@@ -152,4 +169,3 @@
|
|
|
152
169
|
}
|
|
153
170
|
}
|
|
154
171
|
</style>
|
|
155
|
-
../tools/ui.helpers
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { computed, ref } from 'vue'
|
|
2
|
+
import { computed, onMounted, ref } from 'vue'
|
|
3
3
|
|
|
4
4
|
export interface Ui3nDropFilesProps {
|
|
5
5
|
title?: string;
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
const props = defineProps<Ui3nDropFilesProps>()
|
|
15
15
|
const emit = defineEmits<Ui3nDropFilesEmits>()
|
|
16
16
|
|
|
17
|
+
const wrapperElement = ref<HTMLDivElement | null>(null)
|
|
18
|
+
const wrapperElementHeight = ref(0)
|
|
17
19
|
const isOverDropPlace = ref(false)
|
|
18
20
|
const isOverDropZone = ref(false)
|
|
19
21
|
const params = computed(() => {
|
|
@@ -26,6 +28,20 @@
|
|
|
26
28
|
}
|
|
27
29
|
})
|
|
28
30
|
|
|
31
|
+
onMounted(() => {
|
|
32
|
+
if (wrapperElement.value) {
|
|
33
|
+
wrapperElementHeight.value = wrapperElement.value.clientHeight
|
|
34
|
+
wrapperElement.value.style.setProperty('--dropzone-height', `${wrapperElementHeight.value}px`)
|
|
35
|
+
let titleFontSize = 12
|
|
36
|
+
if (wrapperElementHeight.value > 100 && wrapperElementHeight.value <= 240) {
|
|
37
|
+
titleFontSize = 16
|
|
38
|
+
} else if (wrapperElementHeight.value > 240) {
|
|
39
|
+
titleFontSize = 20
|
|
40
|
+
}
|
|
41
|
+
wrapperElement.value.style.setProperty('--dropzone-title-font', `${titleFontSize}px`)
|
|
42
|
+
}
|
|
43
|
+
})
|
|
44
|
+
|
|
29
45
|
const onDragenter = (ev: MouseEvent) => {
|
|
30
46
|
ev.preventDefault()
|
|
31
47
|
isOverDropPlace.value = true
|
|
@@ -60,6 +76,7 @@
|
|
|
60
76
|
<template>
|
|
61
77
|
<!-- eslint-disable max-len -->
|
|
62
78
|
<div
|
|
79
|
+
ref="wrapperElement"
|
|
63
80
|
class="ui3n-drop-files"
|
|
64
81
|
@dragenter="onDragenter"
|
|
65
82
|
@dragleave="onDragleave"
|
|
@@ -80,8 +97,8 @@
|
|
|
80
97
|
</h3>
|
|
81
98
|
<div class="ui3n-drop-files__dropzone-icon">
|
|
82
99
|
<svg
|
|
83
|
-
width="
|
|
84
|
-
height="
|
|
100
|
+
:width="wrapperElementHeight / 2"
|
|
101
|
+
:height="wrapperElementHeight / 2"
|
|
85
102
|
viewBox="0 0 192 192"
|
|
86
103
|
fill="none"
|
|
87
104
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -110,11 +127,16 @@
|
|
|
110
127
|
|
|
111
128
|
<style lang="scss" scoped>
|
|
112
129
|
.ui3n-drop-files {
|
|
130
|
+
--dropzone-height: 0;
|
|
131
|
+
--dropzone-title-font: 0;
|
|
132
|
+
|
|
113
133
|
position: relative;
|
|
134
|
+
box-sizing: border-box;
|
|
114
135
|
width: 100%;
|
|
115
136
|
height: 100%;
|
|
116
137
|
|
|
117
138
|
&__dropzone {
|
|
139
|
+
box-sizing: border-box;
|
|
118
140
|
position: absolute;
|
|
119
141
|
background-color: var(--system-white, #fff);
|
|
120
142
|
display: flex;
|
|
@@ -126,19 +148,20 @@
|
|
|
126
148
|
z-index: 5;
|
|
127
149
|
|
|
128
150
|
&-border {
|
|
151
|
+
box-sizing: border-box;
|
|
129
152
|
position: absolute;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
153
|
+
top: calc(var(--base-size, 8px) + 1px);
|
|
154
|
+
bottom: calc(var(--base-size, 8px) + 1px);
|
|
155
|
+
left: calc(var(--base-size, 8px) + 1px);
|
|
156
|
+
right: calc(var(--base-size, 8px) + 1px);
|
|
134
157
|
border-radius: var(--base-size, 8px);
|
|
135
158
|
border: 2px dashed var(--gray-50, #f2f2f2);
|
|
136
159
|
pointer-events: none;
|
|
137
160
|
}
|
|
138
161
|
|
|
139
162
|
&-title {
|
|
140
|
-
margin: 0 0
|
|
141
|
-
font-size: var(--font
|
|
163
|
+
margin: 0 0 var(--dropzone-title-font);
|
|
164
|
+
font-size: var(--dropzone-title-font);
|
|
142
165
|
font-weight: 600;
|
|
143
166
|
color: var(--black-30, #b3b3b3);
|
|
144
167
|
pointer-events: none;
|
|
@@ -146,8 +169,8 @@
|
|
|
146
169
|
|
|
147
170
|
&-icon {
|
|
148
171
|
position: relative;
|
|
149
|
-
width:
|
|
150
|
-
height:
|
|
172
|
+
width: calc(var(--dropzone-height) * 0.4);
|
|
173
|
+
height: calc(var(--dropzone-height) * 0.4);
|
|
151
174
|
border-radius: 50%;
|
|
152
175
|
background-color: var(--gray-50, #f2f2f2);
|
|
153
176
|
display: flex;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { computed, onMounted, ref } from 'vue'
|
|
2
|
+
import { computed, onMounted, ref, watch } from 'vue'
|
|
3
|
+
import { emoticons } from '../constants/emoticons'
|
|
4
|
+
|
|
3
5
|
|
|
4
6
|
export interface Ui3nEmojiProps {
|
|
5
7
|
emoji: string;
|
|
@@ -11,26 +13,43 @@
|
|
|
11
13
|
(ev: 'click', value: Event): void;
|
|
12
14
|
}
|
|
13
15
|
|
|
14
|
-
const props =
|
|
16
|
+
const props = withDefaults(
|
|
17
|
+
defineProps<Ui3nEmojiProps>(),
|
|
18
|
+
{
|
|
19
|
+
size: 16,
|
|
20
|
+
readonly: false,
|
|
21
|
+
},
|
|
22
|
+
)
|
|
15
23
|
const emit = defineEmits<Ui3nEmojiEmits>()
|
|
16
24
|
|
|
17
25
|
const emojiElement = ref<HTMLDivElement | null>(null)
|
|
18
|
-
const
|
|
19
|
-
const {
|
|
20
|
-
emoji,
|
|
21
|
-
size = 16,
|
|
22
|
-
readonly = false,
|
|
23
|
-
} = props
|
|
24
|
-
|
|
25
|
-
return { emoji, size, readonly }
|
|
26
|
-
})
|
|
26
|
+
const emojiData = computed(() => emoticons[props.emoji])
|
|
27
27
|
|
|
28
28
|
onMounted(() => {
|
|
29
29
|
if (emojiElement.value) {
|
|
30
|
-
emojiElement.value.style.setProperty('--emoji-size', `${
|
|
30
|
+
emojiElement.value.style.setProperty('--emoji-size', `${props.size}px`)
|
|
31
31
|
}
|
|
32
32
|
})
|
|
33
33
|
|
|
34
|
+
watch(
|
|
35
|
+
() => props.emoji,
|
|
36
|
+
newValue => {
|
|
37
|
+
if (!Object.keys(emoticons).includes(newValue)) {
|
|
38
|
+
console.error(`[Ui3nEmoji] Invalid emoticon: ${newValue}`)
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
{ immediate: true },
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
watch(
|
|
45
|
+
() => props.size,
|
|
46
|
+
(newValue, prevValue) => {
|
|
47
|
+
if (emojiElement.value && newValue && newValue !== prevValue) {
|
|
48
|
+
emojiElement.value.style.setProperty('--emoji-size', `${newValue}px`)
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
)
|
|
52
|
+
|
|
34
53
|
const onClick = (ev: Event) => {
|
|
35
54
|
ev.stopImmediatePropagation()
|
|
36
55
|
emit('click', ev)
|
|
@@ -42,11 +61,11 @@
|
|
|
42
61
|
ref="emojiElement"
|
|
43
62
|
:class="[
|
|
44
63
|
'ui3n-emoji',
|
|
45
|
-
{ 'ui3n-emoji--readonly':
|
|
64
|
+
{ 'ui3n-emoji--readonly': props.readonly },
|
|
46
65
|
]"
|
|
47
66
|
v-on="readonly ? {} : { 'click': onClick }"
|
|
48
67
|
>
|
|
49
|
-
{{
|
|
68
|
+
{{ emojiData && emojiData.value }}
|
|
50
69
|
</div>
|
|
51
70
|
</template>
|
|
52
71
|
|
|
@@ -57,6 +76,7 @@
|
|
|
57
76
|
display: flex;
|
|
58
77
|
width: var(--emoji-size);
|
|
59
78
|
height: var(--emoji-size);
|
|
79
|
+
font-size: var(--emoji-size);
|
|
60
80
|
justify-content: center;
|
|
61
81
|
align-items: center;
|
|
62
82
|
cursor: pointer;
|
|
@@ -185,6 +185,7 @@
|
|
|
185
185
|
display: block;
|
|
186
186
|
width: 100%;
|
|
187
187
|
font-size: var(--font-12, 12px);
|
|
188
|
+
line-height: var(--font-16, 16px);
|
|
188
189
|
font-weight: 600;
|
|
189
190
|
color: var(--black-90, #212121);
|
|
190
191
|
margin-bottom: calc(var(--base-size, 8px) / 2);
|
|
@@ -271,11 +272,11 @@
|
|
|
271
272
|
|
|
272
273
|
&--with-label {
|
|
273
274
|
.ui3n-input__icon {
|
|
274
|
-
top: calc(var(--base-size) * 3.5 + 1px);
|
|
275
|
+
top: calc(var(--base-size, 8px) * 3.5 + 1px);
|
|
275
276
|
}
|
|
276
277
|
|
|
277
278
|
.ui3n-input__clear-btn {
|
|
278
|
-
top: calc(var(--base-size) * 3 + 1px);
|
|
279
|
+
top: calc(var(--base-size, 8px) * 3 + 1px);
|
|
279
280
|
}
|
|
280
281
|
}
|
|
281
282
|
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import Ui3nIcon from './ui3n-icon.vue';
|
|
2
|
-
import type { Ui3nIconProps, Ui3nIconEmits } from './ui3n-icon.vue';
|
|
3
|
-
import Ui3nButton from './ui3n-button.vue';
|
|
4
|
-
import type { Ui3nButtonProps, Ui3nButtonEmits } from './ui3n-button.vue';
|
|
5
|
-
import Ui3nDropFiles from './ui3n-drop-files.vue';
|
|
6
|
-
import type { Ui3nDropFilesProps, Ui3nDropFilesEmits } from './ui3n-drop-files.vue';
|
|
7
|
-
import Ui3nEmoji from './ui3n-emoji.vue';
|
|
8
|
-
import type { Ui3nEmojiProps, Ui3nEmojiEmits } from './ui3n-emoji.vue';
|
|
9
|
-
import Ui3nInput from './ui3n-input.vue';
|
|
10
|
-
import type { Ui3nInputProps, Ui3nInputEmits } from './ui3n-input.vue';
|
|
11
|
-
import Ui3nText from './ui3n-text.vue';
|
|
12
|
-
import type { Ui3nTextProps, Ui3nTextEmits } from './ui3n-text.vue';
|
|
13
|
-
import Ui3nNotification from './ui3n-notification.vue';
|
|
14
|
-
import Ui3nTableSortIcon from './ui3n-table-sort-icon.vue';
|
|
15
|
-
import type { Ui3nTableSortIconProps } from './ui3n-table-sort-icon.vue';
|
|
16
|
-
import Ui3nTable from './ui3n-table.vue';
|
|
17
|
-
import type { Ui3nTableProps, Ui3nTableEmits } from './ui3n-table.vue';
|
|
18
|
-
import Ui3nDialog from './ui3n-dialog.vue';
|
|
19
|
-
import type { Ui3nDialogComponentProps, Ui3nDialogComponentEmits, Ui3nDialogProps, Ui3nDialogEvent } from './ui3n-dialog.vue';
|
|
20
|
-
import Ui3nMenu from './ui3n-menu.vue';
|
|
21
|
-
import type { Ui3nMenuProps, Ui3nMenuEmits, Ui3nMenuSlots } from './ui3n-menu.vue';
|
|
22
|
-
import Ui3nList from './ui3n-list.vue';
|
|
23
|
-
import type { Ui3nListProps, Ui3nListEmits, Ui3nListSlots } from './ui3n-list.vue';
|
|
24
|
-
import Ui3nVirtualScroll from './ui3n-virtual-scroll.vue';
|
|
25
|
-
import type { Ui3nVirtualScrollProps, Ui3nVirtualScrollSlots } from './ui3n-virtual-scroll.vue';
|
|
26
|
-
export { Ui3nIcon, Ui3nIconProps, Ui3nIconEmits, Ui3nButton, Ui3nButtonProps, Ui3nButtonEmits, Ui3nDropFiles, Ui3nDropFilesProps, Ui3nDropFilesEmits, Ui3nEmoji, Ui3nEmojiProps, Ui3nEmojiEmits, Ui3nInput, Ui3nInputProps, Ui3nInputEmits, Ui3nText, Ui3nTextProps, Ui3nTextEmits, Ui3nNotification, Ui3nTableSortIcon, Ui3nTableSortIconProps, Ui3nTable, Ui3nTableProps, Ui3nTableEmits, Ui3nDialog, Ui3nDialogComponentProps, Ui3nDialogComponentEmits, Ui3nDialogProps, Ui3nDialogEvent, Ui3nMenu, Ui3nMenuProps, Ui3nMenuEmits, Ui3nMenuSlots, Ui3nList, Ui3nListProps, Ui3nListEmits, Ui3nListSlots, Ui3nVirtualScroll, Ui3nVirtualScrollProps, Ui3nVirtualScrollSlots, };
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
export interface Ui3nButtonProps {
|
|
2
|
-
textColor?: string;
|
|
3
|
-
color?: string;
|
|
4
|
-
round?: boolean;
|
|
5
|
-
elevation?: boolean;
|
|
6
|
-
icon?: string;
|
|
7
|
-
iconSize?: string | number;
|
|
8
|
-
iconColor?: string;
|
|
9
|
-
disabled?: boolean;
|
|
10
|
-
}
|
|
11
|
-
export interface Ui3nButtonEmits {
|
|
12
|
-
(ev: 'click', value: Event): void;
|
|
13
|
-
(ev: 'focus', value: Event): void;
|
|
14
|
-
(ev: 'blur', value: Event): void;
|
|
15
|
-
}
|
|
16
|
-
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
17
|
-
textColor: {
|
|
18
|
-
type: import("vue").PropType<string>;
|
|
19
|
-
};
|
|
20
|
-
color: {
|
|
21
|
-
type: import("vue").PropType<string>;
|
|
22
|
-
};
|
|
23
|
-
round: {
|
|
24
|
-
type: import("vue").PropType<boolean>;
|
|
25
|
-
};
|
|
26
|
-
elevation: {
|
|
27
|
-
type: import("vue").PropType<boolean>;
|
|
28
|
-
};
|
|
29
|
-
icon: {
|
|
30
|
-
type: import("vue").PropType<string>;
|
|
31
|
-
};
|
|
32
|
-
iconSize: {
|
|
33
|
-
type: import("vue").PropType<string | number>;
|
|
34
|
-
};
|
|
35
|
-
iconColor: {
|
|
36
|
-
type: import("vue").PropType<string>;
|
|
37
|
-
};
|
|
38
|
-
disabled: {
|
|
39
|
-
type: import("vue").PropType<boolean>;
|
|
40
|
-
};
|
|
41
|
-
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
42
|
-
click: (value: Event) => void;
|
|
43
|
-
focus: (value: Event) => void;
|
|
44
|
-
blur: (value: Event) => void;
|
|
45
|
-
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
46
|
-
textColor: {
|
|
47
|
-
type: import("vue").PropType<string>;
|
|
48
|
-
};
|
|
49
|
-
color: {
|
|
50
|
-
type: import("vue").PropType<string>;
|
|
51
|
-
};
|
|
52
|
-
round: {
|
|
53
|
-
type: import("vue").PropType<boolean>;
|
|
54
|
-
};
|
|
55
|
-
elevation: {
|
|
56
|
-
type: import("vue").PropType<boolean>;
|
|
57
|
-
};
|
|
58
|
-
icon: {
|
|
59
|
-
type: import("vue").PropType<string>;
|
|
60
|
-
};
|
|
61
|
-
iconSize: {
|
|
62
|
-
type: import("vue").PropType<string | number>;
|
|
63
|
-
};
|
|
64
|
-
iconColor: {
|
|
65
|
-
type: import("vue").PropType<string>;
|
|
66
|
-
};
|
|
67
|
-
disabled: {
|
|
68
|
-
type: import("vue").PropType<boolean>;
|
|
69
|
-
};
|
|
70
|
-
}>> & {
|
|
71
|
-
onClick?: ((value: Event) => any) | undefined;
|
|
72
|
-
onFocus?: ((value: Event) => any) | undefined;
|
|
73
|
-
onBlur?: ((value: Event) => any) | undefined;
|
|
74
|
-
}, {}, {}>, {
|
|
75
|
-
default?(_: {}): any;
|
|
76
|
-
}>;
|
|
77
|
-
export default _default;
|
|
78
|
-
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
79
|
-
new (): {
|
|
80
|
-
$slots: S;
|
|
81
|
-
};
|
|
82
|
-
};
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import type { Component } from 'vue';
|
|
2
|
-
export type Ui3nDialogEvent = 'open' | 'before-close' | 'close' | 'confirm' | 'cancel' | 'click-overlay';
|
|
3
|
-
export interface Ui3nDialogProps {
|
|
4
|
-
teleport?: string;
|
|
5
|
-
title?: string;
|
|
6
|
-
width?: string | number;
|
|
7
|
-
cssClass?: string;
|
|
8
|
-
cssStyle?: Record<string, string>;
|
|
9
|
-
contentCssClass?: string;
|
|
10
|
-
contentCssStyle?: Record<string, string>;
|
|
11
|
-
confirmButton?: boolean;
|
|
12
|
-
cancelButton?: boolean;
|
|
13
|
-
onConfirm?: (data: any) => void;
|
|
14
|
-
onCancel?: (data: any) => void;
|
|
15
|
-
confirmButtonText?: string;
|
|
16
|
-
cancelButtonText?: string;
|
|
17
|
-
confirmButtonColor?: string;
|
|
18
|
-
cancelButtonColor?: string;
|
|
19
|
-
confirmButtonBackground?: string;
|
|
20
|
-
cancelButtonBackground?: string;
|
|
21
|
-
closeOnClickOverlay?: boolean;
|
|
22
|
-
}
|
|
23
|
-
export interface Ui3nDialogComponentProps {
|
|
24
|
-
component: Component;
|
|
25
|
-
componentProps?: Record<string, any>;
|
|
26
|
-
dialogProps?: Ui3nDialogProps;
|
|
27
|
-
}
|
|
28
|
-
export interface Ui3nDialogComponentEmits {
|
|
29
|
-
(ev: 'open', value?: any): void;
|
|
30
|
-
(ev: 'before-close', value?: any): void;
|
|
31
|
-
(ev: 'close', value?: any): void;
|
|
32
|
-
(ev: 'confirm', value?: any): void;
|
|
33
|
-
(ev: 'cancel', value?: any): void;
|
|
34
|
-
(ev: 'click-overlay', value?: any): void;
|
|
35
|
-
}
|
|
36
|
-
declare const _default: import("vue").DefineComponent<{
|
|
37
|
-
component: {
|
|
38
|
-
type: import("vue").PropType<Component>;
|
|
39
|
-
required: true;
|
|
40
|
-
};
|
|
41
|
-
componentProps: {
|
|
42
|
-
type: import("vue").PropType<Record<string, any>>;
|
|
43
|
-
};
|
|
44
|
-
dialogProps: {
|
|
45
|
-
type: import("vue").PropType<Ui3nDialogProps>;
|
|
46
|
-
};
|
|
47
|
-
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
48
|
-
open: (value?: any) => void;
|
|
49
|
-
"before-close": (value?: any) => void;
|
|
50
|
-
close: (value?: any) => void;
|
|
51
|
-
confirm: (value?: any) => void;
|
|
52
|
-
cancel: (value?: any) => void;
|
|
53
|
-
"click-overlay": (value?: any) => void;
|
|
54
|
-
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
55
|
-
component: {
|
|
56
|
-
type: import("vue").PropType<Component>;
|
|
57
|
-
required: true;
|
|
58
|
-
};
|
|
59
|
-
componentProps: {
|
|
60
|
-
type: import("vue").PropType<Record<string, any>>;
|
|
61
|
-
};
|
|
62
|
-
dialogProps: {
|
|
63
|
-
type: import("vue").PropType<Ui3nDialogProps>;
|
|
64
|
-
};
|
|
65
|
-
}>> & {
|
|
66
|
-
onCancel?: ((value?: any) => any) | undefined;
|
|
67
|
-
onClose?: ((value?: any) => any) | undefined;
|
|
68
|
-
onOpen?: ((value?: any) => any) | undefined;
|
|
69
|
-
"onBefore-close"?: ((value?: any) => any) | undefined;
|
|
70
|
-
onConfirm?: ((value?: any) => any) | undefined;
|
|
71
|
-
"onClick-overlay"?: ((value?: any) => any) | undefined;
|
|
72
|
-
}, {}, {}>;
|
|
73
|
-
export default _default;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export interface Ui3nDropFilesProps {
|
|
2
|
-
title?: string;
|
|
3
|
-
text?: string;
|
|
4
|
-
additionalText?: string;
|
|
5
|
-
}
|
|
6
|
-
export interface Ui3nDropFilesEmits {
|
|
7
|
-
(e: 'select', fileList: FileList): void;
|
|
8
|
-
}
|
|
9
|
-
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
10
|
-
title: {
|
|
11
|
-
type: import("vue").PropType<string>;
|
|
12
|
-
};
|
|
13
|
-
text: {
|
|
14
|
-
type: import("vue").PropType<string>;
|
|
15
|
-
};
|
|
16
|
-
additionalText: {
|
|
17
|
-
type: import("vue").PropType<string>;
|
|
18
|
-
};
|
|
19
|
-
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
20
|
-
select: (fileList: FileList) => void;
|
|
21
|
-
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
22
|
-
title: {
|
|
23
|
-
type: import("vue").PropType<string>;
|
|
24
|
-
};
|
|
25
|
-
text: {
|
|
26
|
-
type: import("vue").PropType<string>;
|
|
27
|
-
};
|
|
28
|
-
additionalText: {
|
|
29
|
-
type: import("vue").PropType<string>;
|
|
30
|
-
};
|
|
31
|
-
}>> & {
|
|
32
|
-
onSelect?: ((fileList: FileList) => any) | undefined;
|
|
33
|
-
}, {}, {}>, {
|
|
34
|
-
default?(_: {}): any;
|
|
35
|
-
}>;
|
|
36
|
-
export default _default;
|
|
37
|
-
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
38
|
-
new (): {
|
|
39
|
-
$slots: S;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
export interface Ui3nEmojiProps {
|
|
2
|
-
emoji: string;
|
|
3
|
-
size?: string | number;
|
|
4
|
-
readonly?: boolean;
|
|
5
|
-
}
|
|
6
|
-
export interface Ui3nEmojiEmits {
|
|
7
|
-
(ev: 'click', value: Event): void;
|
|
8
|
-
}
|
|
9
|
-
declare const _default: import("vue").DefineComponent<{
|
|
10
|
-
emoji: {
|
|
11
|
-
type: import("vue").PropType<string>;
|
|
12
|
-
required: true;
|
|
13
|
-
};
|
|
14
|
-
size: {
|
|
15
|
-
type: import("vue").PropType<string | number>;
|
|
16
|
-
};
|
|
17
|
-
readonly: {
|
|
18
|
-
type: import("vue").PropType<boolean>;
|
|
19
|
-
};
|
|
20
|
-
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
21
|
-
click: (value: Event) => void;
|
|
22
|
-
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
23
|
-
emoji: {
|
|
24
|
-
type: import("vue").PropType<string>;
|
|
25
|
-
required: true;
|
|
26
|
-
};
|
|
27
|
-
size: {
|
|
28
|
-
type: import("vue").PropType<string | number>;
|
|
29
|
-
};
|
|
30
|
-
readonly: {
|
|
31
|
-
type: import("vue").PropType<boolean>;
|
|
32
|
-
};
|
|
33
|
-
}>> & {
|
|
34
|
-
onClick?: ((value: Event) => any) | undefined;
|
|
35
|
-
}, {}, {}>;
|
|
36
|
-
export default _default;
|