@pksep/yui 0.1.306 → 0.1.307
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 +83 -83
- package/dist/components/ContentEditor/ContentEditor.vue.d.ts +4 -6
- package/dist/components/ContentEditor/interfaces/content-editor.d.ts +7 -0
- package/dist/components/index.d.ts +2 -1
- package/dist/sep-yui.mjs +1211 -1203
- package/dist/sep-yui.umd.cjs +21 -21
- package/dist/style.css +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
# SEP-YUI
|
|
2
|
-
|
|
3
|
-
**SEP-YUI** — библиотека UI-компонентов для Vue, созданная для решения задачи удобного переиспользования интерфейсных элементов между проектами.
|
|
4
|
-
Она позволяет использовать единый набор UI-решений, снижает связанность компонентов и упрощает поддержку.
|
|
5
|
-
|
|
6
|
-
## Основные преимущества
|
|
7
|
-
|
|
8
|
-
- Лёгкая интеграция в существующие проекты
|
|
9
|
-
- Низкий порог входа
|
|
10
|
-
- Гибкость и кастомизация
|
|
11
|
-
- Регулярные обновления и техническая поддержка
|
|
12
|
-
- Возможность комбинирования компонентов внутри проекта
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## Установка и подключение
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
npm i @pksep/yui
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
#### 1. Для использования библиотеки в проекте, необходимо импортировать компоненты библиотеки в главный файл проекта main.ts таким образом:
|
|
23
|
-
|
|
24
|
-
```ts
|
|
25
|
-
main.ts;
|
|
26
|
-
import Ylibrary from '@pksep/yui';
|
|
27
|
-
app.use(Ylibrary);
|
|
28
|
-
app.mount('#app');
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
#### 1.1 Для выборочного импорта компонентов, можно использовать подключение такого вида.
|
|
32
|
-
|
|
33
|
-
```ts
|
|
34
|
-
main.ts;
|
|
35
|
-
import { Toggle } from '@pksep/yui';
|
|
36
|
-
app.component('Toggle', Toggle);
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
#### 2. Стили импортируются через путь "@pksep/yui/styles" также в файле main.ts
|
|
40
|
-
|
|
41
|
-
```ts
|
|
42
|
-
main.ts;
|
|
43
|
-
import '@pksep/yui/styles';
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Стили библиотеки подключаются отдельно от JavaScript и уже содержат используемые
|
|
47
|
-
шрифты Inter Variable и Source Sans Pro. Если проект переопределяет токены или
|
|
48
|
-
стили компонентов, импортируйте собственный stylesheet после `@pksep/yui/styles`.
|
|
49
|
-
|
|
50
|
-
#### 3. Далее просто пишем название компонента внутри проекта и используем как при обычной разработке на Vue.
|
|
51
|
-
|
|
52
|
-
```vue
|
|
53
|
-
App.vue
|
|
54
|
-
<template>
|
|
55
|
-
<Toggle :disabled="true" :backgroundColor="'red'" />
|
|
56
|
-
</template>
|
|
57
|
-
<script setup lang="ts"></script>
|
|
58
|
-
<styles scoped></styles>
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## Примеры и Storybook
|
|
65
|
-
|
|
66
|
-
Документация и примеры компонентов:
|
|
67
|
-
|
|
68
|
-
➡️ https://pksep.github.io/sep_yui
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
|
|
72
|
-
## Разработка
|
|
73
|
-
|
|
74
|
-
### Публикация пакетов
|
|
75
|
-
|
|
76
|
-
Обязательно через команду, так как генерятся changelog. Для этого используем:
|
|
77
|
-
[changeloggen](https://unjs.io/packages/changelogen/)
|
|
78
|
-
|
|
79
|
-
```sh
|
|
80
|
-
pnpm run build:lib
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
Токен можно для публикации можно получить у менеджера.
|
|
1
|
+
# SEP-YUI
|
|
2
|
+
|
|
3
|
+
**SEP-YUI** — библиотека UI-компонентов для Vue, созданная для решения задачи удобного переиспользования интерфейсных элементов между проектами.
|
|
4
|
+
Она позволяет использовать единый набор UI-решений, снижает связанность компонентов и упрощает поддержку.
|
|
5
|
+
|
|
6
|
+
## Основные преимущества
|
|
7
|
+
|
|
8
|
+
- Лёгкая интеграция в существующие проекты
|
|
9
|
+
- Низкий порог входа
|
|
10
|
+
- Гибкость и кастомизация
|
|
11
|
+
- Регулярные обновления и техническая поддержка
|
|
12
|
+
- Возможность комбинирования компонентов внутри проекта
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Установка и подключение
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm i @pksep/yui
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
#### 1. Для использования библиотеки в проекте, необходимо импортировать компоненты библиотеки в главный файл проекта main.ts таким образом:
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
main.ts;
|
|
26
|
+
import Ylibrary from '@pksep/yui';
|
|
27
|
+
app.use(Ylibrary);
|
|
28
|
+
app.mount('#app');
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
#### 1.1 Для выборочного импорта компонентов, можно использовать подключение такого вида.
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
main.ts;
|
|
35
|
+
import { Toggle } from '@pksep/yui';
|
|
36
|
+
app.component('Toggle', Toggle);
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
#### 2. Стили импортируются через путь "@pksep/yui/styles" также в файле main.ts
|
|
40
|
+
|
|
41
|
+
```ts
|
|
42
|
+
main.ts;
|
|
43
|
+
import '@pksep/yui/styles';
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Стили библиотеки подключаются отдельно от JavaScript и уже содержат используемые
|
|
47
|
+
шрифты Inter Variable и Source Sans Pro. Если проект переопределяет токены или
|
|
48
|
+
стили компонентов, импортируйте собственный stylesheet после `@pksep/yui/styles`.
|
|
49
|
+
|
|
50
|
+
#### 3. Далее просто пишем название компонента внутри проекта и используем как при обычной разработке на Vue.
|
|
51
|
+
|
|
52
|
+
```vue
|
|
53
|
+
App.vue
|
|
54
|
+
<template>
|
|
55
|
+
<Toggle :disabled="true" :backgroundColor="'red'" />
|
|
56
|
+
</template>
|
|
57
|
+
<script setup lang="ts"></script>
|
|
58
|
+
<styles scoped></styles>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Примеры и Storybook
|
|
65
|
+
|
|
66
|
+
Документация и примеры компонентов:
|
|
67
|
+
|
|
68
|
+
➡️ https://pksep.github.io/sep_yui
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Разработка
|
|
73
|
+
|
|
74
|
+
### Публикация пакетов
|
|
75
|
+
|
|
76
|
+
Обязательно через команду, так как генерятся changelog. Для этого используем:
|
|
77
|
+
[changeloggen](https://unjs.io/packages/changelogen/)
|
|
78
|
+
|
|
79
|
+
```sh
|
|
80
|
+
pnpm run build:lib
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Токен можно для публикации можно получить у менеджера.
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
+
import { IContentEditorSlots } from './interfaces/content-editor';
|
|
1
2
|
|
|
2
|
-
declare function __VLS_template():
|
|
3
|
-
action?(_: {}): any;
|
|
4
|
-
"mobile-right-action"?(_: {}): any;
|
|
5
|
-
};
|
|
3
|
+
declare function __VLS_template(): Readonly<IContentEditorSlots> & IContentEditorSlots;
|
|
6
4
|
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
7
5
|
modelValue: import('vue').PropType<string>;
|
|
8
6
|
activeAttachFile: {
|
|
@@ -115,7 +113,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
115
113
|
emitAttachFiles: (files: FileList | File[], onlyMedia?: boolean) => Promise<void>;
|
|
116
114
|
queueAttachFiles: (files: FileList | File[], onlyMedia: boolean) => Promise<void>;
|
|
117
115
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
118
|
-
"unmount-send": (params: import('
|
|
116
|
+
"unmount-send": (params: import('..').IContentEditorSendPayload) => void;
|
|
119
117
|
"unmount-attach-file": (files: FileList, onlyMedia: boolean) => void;
|
|
120
118
|
"mention-change": (search: string | null) => void;
|
|
121
119
|
"slash-change": (search: string | null) => void;
|
|
@@ -225,7 +223,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
225
223
|
type: import('vue').PropType<(item: unknown) => string>;
|
|
226
224
|
};
|
|
227
225
|
}>> & Readonly<{
|
|
228
|
-
"onUnmount-send"?: ((params: import('
|
|
226
|
+
"onUnmount-send"?: ((params: import('..').IContentEditorSendPayload) => any) | undefined;
|
|
229
227
|
"onUnmount-attach-file"?: ((files: FileList, onlyMedia: boolean) => any) | undefined;
|
|
230
228
|
"onMention-change"?: ((search: string | null) => any) | undefined;
|
|
231
229
|
"onSlash-change"?: ((search: string | null) => any) | undefined;
|
|
@@ -9,6 +9,13 @@ export interface IContentEditorEmit {
|
|
|
9
9
|
(e: 'mention-change', search: string | null): void;
|
|
10
10
|
(e: 'slash-change', search: string | null): void;
|
|
11
11
|
}
|
|
12
|
+
export interface IContentEditorSlots {
|
|
13
|
+
action?: () => unknown;
|
|
14
|
+
'mobile-right-action'?: () => unknown;
|
|
15
|
+
'mobile-trailing-action'?: () => unknown;
|
|
16
|
+
'desktop-left-action'?: () => unknown;
|
|
17
|
+
'desktop-right-action'?: () => unknown;
|
|
18
|
+
}
|
|
12
19
|
export interface IContentEditorProps {
|
|
13
20
|
activeAttachFile?: boolean;
|
|
14
21
|
activeSelectUser?: boolean;
|
|
@@ -59,6 +59,7 @@ import { OptionsObject } from './Select/interface/interface';
|
|
|
59
59
|
import { IDialogProps } from './Modal/interface/interface';
|
|
60
60
|
import { IDataTestIdProp } from '../common/dataTestidProps';
|
|
61
61
|
import { IContentEditorSlashMenuItem } from './ContentEditor/interfaces/content-editor-slash-menu';
|
|
62
|
+
import { IContentEditorProps, IContentEditorSendPayload, IContentEditorSlots } from './ContentEditor/interfaces/content-editor';
|
|
62
63
|
import { MessageTypeEnum } from './Notification/enum/enum';
|
|
63
64
|
import { IconNameEnum } from './Icon/enum/enum';
|
|
64
65
|
import { SizesEnum } from '../common/sizes';
|
|
@@ -80,4 +81,4 @@ declare const _default: {
|
|
|
80
81
|
install: (app: App) => void;
|
|
81
82
|
};
|
|
82
83
|
export default _default;
|
|
83
|
-
export { Accordion, Badges, BreadCrumbs, Button, Dialog, Card, Calendar, DragAndDrop, Switch, SelectList, Dropdown, Textarea, Filter, Icon, Input, Combobox, InputNumber, Search, PushNotification, Picture, Scroll, Modal, Slider, Checkbox, Toggle, UserMenu, CopyIcon, Loader, FilterTag, CircularProgress, Popover, Table, TableSimple, TableNew, TableRow, TableRowNew, TableTd, TableTh, SectionTableRow, HeadTableRow, HeadTableRowNew, ScrollWrapper, Radio, Tooltip, BaseFilter, Range, Avatar, Tabs, ContentEditor, ContentEditorFormattingToolbar, ContentEditorSlashMenu, ModalCroppedAvatar, TimePicker, type IDialogProps, type IRangeForDatePicker, type OptionsObject, type IDataTestIdProp, type IContentEditorSlashMenuItem, CheckboxSizeEnum, CheckboxCircularEnum, TextFieldEnum, IconNameEnum, SizesEnum, ButtonTypeEnum, ColorsEnum, ImageExtensionsEnum, BadgesTypeEnum, VideoExtensionsEnum, InputTypeEnum, TextareaTypeEnum, MenuTypeEnum, MessageTypeEnum, getLastTime, getFirstTime, vuePluginRemoveTestid, SliderModal, PdfPreview, ImagePreview, VideoPreview, Skeleton };
|
|
84
|
+
export { Accordion, Badges, BreadCrumbs, Button, Dialog, Card, Calendar, DragAndDrop, Switch, SelectList, Dropdown, Textarea, Filter, Icon, Input, Combobox, InputNumber, Search, PushNotification, Picture, Scroll, Modal, Slider, Checkbox, Toggle, UserMenu, CopyIcon, Loader, FilterTag, CircularProgress, Popover, Table, TableSimple, TableNew, TableRow, TableRowNew, TableTd, TableTh, SectionTableRow, HeadTableRow, HeadTableRowNew, ScrollWrapper, Radio, Tooltip, BaseFilter, Range, Avatar, Tabs, ContentEditor, ContentEditorFormattingToolbar, ContentEditorSlashMenu, ModalCroppedAvatar, TimePicker, type IDialogProps, type IRangeForDatePicker, type OptionsObject, type IDataTestIdProp, type IContentEditorSlashMenuItem, type IContentEditorProps, type IContentEditorSendPayload, type IContentEditorSlots, CheckboxSizeEnum, CheckboxCircularEnum, TextFieldEnum, IconNameEnum, SizesEnum, ButtonTypeEnum, ColorsEnum, ImageExtensionsEnum, BadgesTypeEnum, VideoExtensionsEnum, InputTypeEnum, TextareaTypeEnum, MenuTypeEnum, MessageTypeEnum, getLastTime, getFirstTime, vuePluginRemoveTestid, SliderModal, PdfPreview, ImagePreview, VideoPreview, Skeleton };
|