@v1nt1248/3nclient-lib 0.0.15 → 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.
Files changed (67) hide show
  1. package/README.md +44 -4
  2. package/package.json +24 -7
  3. package/src/components/ui3n-button.vue +20 -4
  4. package/src/components/ui3n-drop-files.vue +34 -11
  5. package/src/components/ui3n-emoji.vue +34 -14
  6. package/src/components/ui3n-input.vue +3 -2
  7. package/src/components/ui3n-list.vue +1 -1
  8. package/dist/components/index.d.ts +0 -26
  9. package/dist/components/ui3n-button.vue.d.ts +0 -82
  10. package/dist/components/ui3n-dialog.vue.d.ts +0 -73
  11. package/dist/components/ui3n-drop-files.vue.d.ts +0 -41
  12. package/dist/components/ui3n-emoji.vue.d.ts +0 -36
  13. package/dist/components/ui3n-icon.vue.d.ts +0 -92
  14. package/dist/components/ui3n-input.vue.d.ts +0 -96
  15. package/dist/components/ui3n-list.vue.d.ts +0 -45
  16. package/dist/components/ui3n-menu.vue.d.ts +0 -85
  17. package/dist/components/ui3n-notification.vue.d.ts +0 -72
  18. package/dist/components/ui3n-table-sort-icon.vue.d.ts +0 -29
  19. package/dist/components/ui3n-table.vue.d.ts +0 -42
  20. package/dist/components/ui3n-text.vue.d.ts +0 -79
  21. package/dist/components/ui3n-virtual-scroll.vue.d.ts +0 -34
  22. package/dist/constants/emoticons.d.ts +0 -649
  23. package/dist/constants/general.d.ts +0 -2
  24. package/dist/constants/index.d.ts +0 -3
  25. package/dist/constants/types.d.ts +0 -31
  26. package/dist/directives/index.d.ts +0 -2
  27. package/dist/directives/ui3n-click-outside.d.ts +0 -10
  28. package/dist/directives/ui3n-html.d.ts +0 -6
  29. package/dist/index.d.ts +0 -37
  30. package/dist/libs/index.d.ts +0 -3
  31. package/dist/libs/ipc-service-caller.d.ts +0 -12
  32. package/dist/libs/ipc-service.d.ts +0 -60
  33. package/dist/libs/serialization-for-ipc/copy-json.d.ts +0 -8
  34. package/dist/libs/serialization-for-ipc/json-n-binary.d.ts +0 -5
  35. package/dist/libs/serialization-for-ipc/protobuf-type.d.ts +0 -10
  36. package/dist/libs/sqlite-on-3nstorage/deferred.d.ts +0 -6
  37. package/dist/libs/sqlite-on-3nstorage/index.d.ts +0 -49
  38. package/dist/libs/sqlite-on-3nstorage/synced.d.ts +0 -73
  39. package/dist/plugins/dialogs.d.ts +0 -17
  40. package/dist/plugins/i18n.d.ts +0 -20
  41. package/dist/plugins/icons.d.ts +0 -2
  42. package/dist/plugins/index.d.ts +0 -14
  43. package/dist/plugins/notifications.d.ts +0 -13
  44. package/dist/plugins/store-dialogs.d.ts +0 -4
  45. package/dist/plugins/store-i18n.d.ts +0 -7
  46. package/dist/plugins/store-notifications.d.ts +0 -4
  47. package/dist/plugins/store-vue-bus.d.ts +0 -4
  48. package/dist/plugins/vue-bus.d.ts +0 -19
  49. package/dist/style.css +0 -1
  50. package/dist/tools/common.helpers.d.ts +0 -3
  51. package/dist/tools/index.d.ts +0 -3
  52. package/dist/tools/textarea-max-rows.d.ts +0 -3
  53. package/dist/tools/ui.helpers.d.ts +0 -13
  54. package/dist/ui-3n-lib.js +0 -16529
  55. package/src/libs/index.ts +0 -11
  56. package/src/libs/ipc-service-caller.ts +0 -121
  57. package/src/libs/ipc-service.ts +0 -422
  58. package/src/libs/serialization-for-ipc/copy-json.ts +0 -55
  59. package/src/libs/serialization-for-ipc/json-ipc.proto.d.ts +0 -432
  60. package/src/libs/serialization-for-ipc/json-ipc.proto.js +0 -1093
  61. package/src/libs/serialization-for-ipc/json-n-binary.ts +0 -275
  62. package/src/libs/serialization-for-ipc/protobuf-type.ts +0 -61
  63. package/src/libs/sqlite-on-3nstorage/deferred.ts +0 -32
  64. package/src/libs/sqlite-on-3nstorage/index.ts +0 -291
  65. package/src/libs/sqlite-on-3nstorage/sqljs.d.ts +0 -279
  66. package/src/libs/sqlite-on-3nstorage/sqljs.js +0 -225
  67. package/src/libs/sqlite-on-3nstorage/synced.ts +0 -194
package/README.md CHANGED
@@ -1,9 +1,49 @@
1
- # Library for 3NWeb clients (Vue + Typescript)
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
- ## Services
9
- ## Helpers
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.15",
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: 4px;
101
- --ui3n-button-padding-horiz: 4px;
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="192"
84
- height="192"
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
- width: calc(100% - calc(var(--base-size, 8px) * 2));
131
- height: calc(100% - calc(var(--base-size, 8px) * 2));
132
- top: var(--base-size, 8px);
133
- left: var(--base-size, 8px);
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 24px;
141
- font-size: var(--font-24, 24px);
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: 160px;
150
- height: 160px;
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 = defineProps<Ui3nEmojiProps>()
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 params = computed(() => {
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', `${params.value.size}px`)
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': params.readonly },
64
+ { 'ui3n-emoji--readonly': props.readonly },
46
65
  ]"
47
66
  v-on="readonly ? {} : { 'click': onClick }"
48
67
  >
49
- {{ emoji }}
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
  }
@@ -62,7 +62,7 @@
62
62
  <div
63
63
  :class="[
64
64
  'ui3n-list__item-content',
65
- { 'ui3n-list__item-content--disables': props.disabled },
65
+ { 'ui3n-list__item-content--disabled': props.disabled },
66
66
  ]"
67
67
  @click.stop="emits('select', { value: item, index })"
68
68
  >
@@ -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;