@topvisor/ui 0.0.35 → 0.0.36
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/{src/components/forms/inputDate/datepicker.css → .chunks/datepicker-1e725859.amd.js} +3 -2
- package/.chunks/datepicker-1e725859.amd.js.map +1 -0
- package/.chunks/datepicker-ad465c48.es.js +275 -0
- package/.chunks/datepicker-ad465c48.es.js.map +1 -0
- package/.chunks/forms-2891e074.amd.js +3 -0
- package/.chunks/forms-2891e074.amd.js.map +1 -0
- package/.chunks/forms-db4cb24d.es.js +946 -0
- package/.chunks/forms-db4cb24d.es.js.map +1 -0
- package/.chunks/popup-0f540839.es.js +700 -0
- package/.chunks/popup-0f540839.es.js.map +1 -0
- package/.chunks/popup-e49a9bab.amd.js +341 -0
- package/.chunks/popup-e49a9bab.amd.js.map +1 -0
- package/README.md +63 -30
- package/common/common.amd.js +2 -0
- package/common/common.amd.js.map +1 -0
- package/common/common.js +2 -0
- package/common/common.js.map +1 -0
- package/core/core.amd.js +2 -0
- package/core/core.amd.js.map +1 -0
- package/core/core.js +6 -0
- package/core/core.js.map +1 -0
- package/core.css +1 -0
- package/dark.css +1 -0
- package/forms/forms.amd.js +2 -0
- package/forms/forms.amd.js.map +1 -0
- package/forms/forms.js +15 -0
- package/forms/forms.js.map +1 -0
- package/forms/helpers.amd.js +2 -0
- package/forms/helpers.amd.js.map +1 -0
- package/forms/helpers.js +9 -0
- package/forms/helpers.js.map +1 -0
- package/forms.css +1 -0
- package/formsExt/formsExt.amd.js +3 -0
- package/formsExt/formsExt.amd.js.map +1 -0
- package/formsExt/formsExt.js +207 -0
- package/formsExt/formsExt.js.map +1 -0
- package/formsExt.css +1 -0
- package/light.css +1 -0
- package/package.json +1 -50
- package/popup/popup.amd.js +3 -0
- package/popup/popup.amd.js.map +1 -0
- package/popup/popup.js +144 -0
- package/popup/popup.js.map +1 -0
- package/popup/worker.amd.js +2 -0
- package/popup/worker.amd.js.map +1 -0
- package/popup/worker.js +154 -0
- package/popup/worker.js.map +1 -0
- package/popup.css +1 -0
- package/tabs/tabs.amd.js +3 -0
- package/tabs/tabs.amd.js.map +1 -0
- package/tabs/tabs.js +97 -0
- package/tabs/tabs.js.map +1 -0
- package/tabs.css +1 -0
- package/utils/date.amd.js +2 -0
- package/utils/date.amd.js.map +1 -0
- package/utils/date.js +6 -0
- package/utils/date.js.map +1 -0
- package/utils/device.amd.js +2 -0
- package/utils/device.amd.js.map +1 -0
- package/utils/device.js +6 -0
- package/utils/device.js.map +1 -0
- package/utils/dom.amd.js +2 -0
- package/utils/dom.amd.js.map +1 -0
- package/utils/dom.js +64 -0
- package/utils/dom.js.map +1 -0
- package/.storybook/TopTheme.js +0 -82
- package/.storybook/TopThemeManager.js +0 -44
- package/.storybook/main.ts +0 -43
- package/.storybook/manager.ts +0 -28
- package/.storybook/preview-head.html +0 -16
- package/.storybook/preview.ts +0 -48
- package/.storybook/vue/coreDecorator.ts +0 -19
- package/.storybook/vue/vModelDecorator.ts +0 -27
- package/.vscode/extensions.json +0 -11
- package/.vscode/keybindings.example.json +0 -121
- package/.vscode/settings.json +0 -46
- package/Dockerfile +0 -3
- package/NPM.md +0 -25
- package/PUBLISH.md +0 -18
- package/STORYBOOK.md +0 -27
- package/USE_IN_PROJECT.md +0 -29
- package/build/afterBuild.sh +0 -12
- package/build/cssModules.ts +0 -39
- package/build/plugin/amdFix.ts +0 -46
- package/build/rollup.config.ts +0 -18
- package/nbproject/project.properties +0 -11
- package/nbproject/project.xml +0 -9
- package/public/README.md +0 -63
- package/src/components/common/common.ts +0 -1
- package/src/components/common/icon/icon.ts +0 -4
- package/src/components/common/icon/icon.vue +0 -15
- package/src/components/component.ts +0 -133
- package/src/components/forms/button/button.stories.ts +0 -112
- package/src/components/forms/button/button.ts +0 -51
- package/src/components/forms/button/button.vue +0 -75
- package/src/components/forms/button/stories/README.md +0 -35
- package/src/components/forms/button/stories/overview.vue +0 -33
- package/src/components/forms/button/style/button.css +0 -124
- package/src/components/forms/button/style/style-outline.css +0 -42
- package/src/components/forms/button/style/style-soft.css +0 -31
- package/src/components/forms/button/style/style-transparent.css +0 -35
- package/src/components/forms/checkbox/checkbox.stories.ts +0 -33
- package/src/components/forms/checkbox/checkbox.ts +0 -23
- package/src/components/forms/checkbox/checkbox.vue +0 -135
- package/src/components/forms/checkbox/stories/overview.vue +0 -171
- package/src/components/forms/controlLabel/controlLabel.stories.ts +0 -38
- package/src/components/forms/controlLabel/controlLabel.ts +0 -4
- package/src/components/forms/controlLabel/controlLabel.vue +0 -48
- package/src/components/forms/forms.ts +0 -10
- package/src/components/forms/helpers.ts +0 -10
- package/src/components/forms/hint/hint.stories.ts +0 -46
- package/src/components/forms/hint/hint.ts +0 -8
- package/src/components/forms/hint/hint.vue +0 -32
- package/src/components/forms/input/input.stories.ts +0 -31
- package/src/components/forms/input/input.ts +0 -34
- package/src/components/forms/input/input.vue +0 -170
- package/src/components/forms/input/stories/overview.vue +0 -61
- package/src/components/forms/inputDate/datepicker.ts +0 -101
- package/src/components/forms/inputDate/inputDate.stories.ts +0 -41
- package/src/components/forms/inputDate/inputDate.ts +0 -4
- package/src/components/forms/inputDate/inputDate.vue +0 -127
- package/src/components/forms/inputDate/stories/overview.vue +0 -35
- package/src/components/forms/radio/radio.stories.ts +0 -34
- package/src/components/forms/radio/radio.ts +0 -15
- package/src/components/forms/radio/radio.vue +0 -107
- package/src/components/forms/radio/stories/overview.vue +0 -79
- package/src/components/forms/select/select.stories.ts +0 -34
- package/src/components/forms/select/select.ts +0 -36
- package/src/components/forms/select/select.vue +0 -253
- package/src/components/forms/select/stories/exampleOptions.ts +0 -71
- package/src/components/forms/select/stories/overview.vue +0 -60
- package/src/components/forms/switcher/stories/overview.vue +0 -139
- package/src/components/forms/switcher/switcher.stories.ts +0 -33
- package/src/components/forms/switcher/switcher.ts +0 -22
- package/src/components/forms/switcher/switcher.vue +0 -113
- package/src/components/forms/textarea/stories/overview.vue +0 -62
- package/src/components/forms/textarea/textarea.stories.ts +0 -33
- package/src/components/forms/textarea/textarea.ts +0 -38
- package/src/components/forms/textarea/textarea.vue +0 -119
- package/src/components/formsExt/editArea/editArea.stories.ts +0 -72
- package/src/components/formsExt/editArea/editArea.ts +0 -25
- package/src/components/formsExt/editArea/editArea.vue +0 -172
- package/src/components/formsExt/editArea/stories/README.md +0 -17
- package/src/components/formsExt/editArea/stories/overview.vue +0 -66
- package/src/components/formsExt/editInput/editInput.stories.ts +0 -36
- package/src/components/formsExt/editInput/editInput.ts +0 -20
- package/src/components/formsExt/editInput/editInput.vue +0 -57
- package/src/components/formsExt/editInput/stories/overview.vue +0 -54
- package/src/components/formsExt/formsExt.ts +0 -3
- package/src/components/formsExt/radioGroup/radioGroup.stories.ts +0 -51
- package/src/components/formsExt/radioGroup/radioGroup.ts +0 -28
- package/src/components/formsExt/radioGroup/radioGroup.vue +0 -143
- package/src/components/formsExt/radioGroup/stories/overview.vue +0 -78
- package/src/components/formsExt/radioGroup/styles/top-scrollBar.css +0 -52
- package/src/components/helper.js +0 -10
- package/src/components/helpersStories.ts +0 -151
- package/src/components/popup/lib/popup.globalEvents.js +0 -205
- package/src/components/popup/lib/popup.js +0 -702
- package/src/components/popup/lib/worker.globalEvents.js +0 -78
- package/src/components/popup/lib/worker.js +0 -232
- package/src/components/popup/popup/listItem.vue +0 -42
- package/src/components/popup/popup/opener.vue +0 -74
- package/src/components/popup/popup/popup.stories.ts +0 -68
- package/src/components/popup/popup/popup.ts +0 -93
- package/src/components/popup/popup/popup.vue +0 -95
- package/src/components/popup/popup/stories/README.md +0 -34
- package/src/components/popup/popup/stories/listItems.vue +0 -44
- package/src/components/popup/popup/stories/listSubItems.vue +0 -52
- package/src/components/popup/popup/stories/overview.vue +0 -208
- package/src/components/popup/popup/style/popup.css +0 -243
- package/src/components/popup/popup/style/popup.m.css +0 -71
- package/src/components/popup/popup/style/popup.pc.css +0 -28
- package/src/components/popup/popup.ts +0 -3
- package/src/components/popup/worker.ts +0 -1
- package/src/components/tabs/tabs/content.vue +0 -24
- package/src/components/tabs/tabs/stories/README.md +0 -10
- package/src/components/tabs/tabs/tab.vue +0 -52
- package/src/components/tabs/tabs/tabs.stories.ts +0 -171
- package/src/components/tabs/tabs/tabs.ts +0 -22
- package/src/components/tabs/tabs/tabs.vue +0 -64
- package/src/components/tabs/tabs.ts +0 -3
- package/src/core/base/Colors.stories.ts +0 -15
- package/src/core/base/Layout.stories.ts +0 -15
- package/src/core/base/Properties.stories.ts +0 -15
- package/src/core/base/base.mdx +0 -21
- package/src/core/core/core.ts +0 -144
- package/src/core/core/events.ts +0 -54
- package/src/core/core/options.ts +0 -15
- package/src/core/core/state.ts +0 -44
- package/src/core/directives/tooltip.ts +0 -55
- package/src/core/theme/Colors.stories.ts +0 -15
- package/src/core/theme/Properties.stories.ts +0 -15
- package/src/core/theme/theme.mdx +0 -15
- package/src/core/utils/date.ts +0 -164
- package/src/core/utils/device.ts +0 -48
- package/src/core/utils/dom.ts +0 -185
- package/src/core//320/235/320/260/320/261/320/276/321/200 /320/270/320/272/320/276/320/275/320/276/320/272/gallery.vue" +0 -72
- package/src/core//320/235/320/260/320/261/320/276/321/200 /320/270/320/272/320/276/320/275/320/276/320/272//320/235/320/260/320/261/320/276/321/200 /320/270/320/272/320/276/320/275/320/276/320/272.mdx" +0 -31
- package/src/core//320/235/320/260/320/261/320/276/321/200 /320/270/320/272/320/276/320/275/320/276/320/272//320/235/320/260/320/261/320/276/321/200 /320/270/320/272/320/276/320/275/320/276/320/272.stories.ts" +0 -14
- package/src/docs/CSS/FAQ.mdx +0 -43
- package/src/docs/CSS//320/236/320/261/321/211/320/270/320/265 /320/274/320/276/320/264/320/270/321/204/320/270/320/272/320/260/321/202/320/276/321/200/321/213.mdx" +0 -156
- package/src/docs/CSS//320/237/320/265/321/200/320/265/320/274/320/265/320/275/320/275/321/213/320/265.mdx +0 -47
- package/src/docs/CSS//320/237/321/200/320/265/320/264/320/277/321/200/320/276/321/206/320/265/321/201/321/201/320/276/321/200/321/213.mdx +0 -15
- package/src/docs/CSS//320/240/320/265/320/272/320/276/320/274/320/265/320/275/320/264/320/260/321/206/320/270/320/270 /320/221/320/255/320/234.mdx" +0 -49
- package/src/docs/CSS//320/241/321/202/320/270/320/273/320/270.md +0 -53
- package/src/docs/CSS//320/241/321/202/320/270/320/273/320/270.mdx +0 -4
- package/src/docs/CSS//320/247/321/202/320/276 /321/202/320/260/320/272/320/276/320/265 css /320/274/320/276/320/264/321/203/320/273/321/214.mdx" +0 -53
- package/src/docs/ROADMAP.md +0 -17
- package/src/docs/Roadmap.mdx +0 -4
- package/src/docs//320/222/320/262/320/265/320/264/320/265/320/275/320/270/320/265 /320/262 Storybook.mdx" +0 -323
- package/src/docs//320/232/320/276/320/274/320/277/320/276/320/275/320/265/320/275/321/202/321/213.mdx +0 -20
- package/src/docs//320/237/320/276/320/273/320/265/320/267/320/275/320/260/321/217 /320/270/320/275/321/204/320/276/321/200/320/274/320/260/321/206/320/270/321/217.mdx" +0 -8
- package/src/docs//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260/IDE.mdx" +0 -42
- package/src/docs//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/233/320/270/320/275/321/202/320/265/321/200.mdx" +0 -72
- package/src/docs//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260//320/241/321/202/320/260/320/275/320/264/320/260/321/200/321/202/321/213 /320/272/320/276/320/264/320/260.mdx" +0 -29
- package/src/globals.d.ts +0 -1
- package/src/resources/styles/core/colors.css +0 -204
- package/src/resources/styles/core/components.css +0 -70
- package/src/resources/styles/core/core.ts +0 -10
- package/src/resources/styles/core/forms/clear.css +0 -19
- package/src/resources/styles/core/forms/controls.css +0 -20
- package/src/resources/styles/core/forms/focusable.css +0 -26
- package/src/resources/styles/core/forms/forms.css +0 -100
- package/src/resources/styles/core/icon.css +0 -58
- package/src/resources/styles/core/layout.css +0 -40
- package/src/resources/styles/core/modifiers/as.css +0 -9
- package/src/resources/styles/core/modifiers/ellipsis.css +0 -18
- package/src/resources/styles/core/modifiers/modifiers.css +0 -81
- package/src/resources/styles/core/modifiers/only.css +0 -19
- package/src/resources/styles/core/select.css +0 -16
- package/src/resources/styles/jquery-ui.min.css +0 -6
- package/src/resources/styles/storybook.css +0 -11
- package/src/resources/styles/themes/dark/theme.css +0 -139
- package/src/resources/styles/themes/dark.ts +0 -1
- package/src/resources/styles/themes/light/theme.css +0 -139
- package/src/resources/styles/themes/light.ts +0 -1
- package/src/storybook/components/color.vue +0 -45
- package/src/storybook/components/colors.vue +0 -34
- package/src/storybook/components/icomoon.ts +0 -38
- package/src/storybook/components/properties.vue +0 -82
- package/src/storybook/resources/accessibility.png +0 -0
- package/src/storybook/resources/accessibility.svg +0 -5
- package/src/storybook/resources/addon-library.png +0 -0
- package/src/storybook/resources/assets.png +0 -0
- package/src/storybook/resources/context.png +0 -0
- package/src/storybook/resources/discord.svg +0 -15
- package/src/storybook/resources/docs.png +0 -0
- package/src/storybook/resources/figma-plugin.png +0 -0
- package/src/storybook/resources/github.svg +0 -3
- package/src/storybook/resources/share.png +0 -0
- package/src/storybook/resources/styling.png +0 -0
- package/src/storybook/resources/testing.png +0 -0
- package/src/storybook/resources/theming.png +0 -0
- package/src/storybook/resources/tutorials.svg +0 -12
- package/src/storybook/resources/youtube.svg +0 -4
- package/src//320/224/320/276/320/261/321/200/320/276 /320/277/320/276/320/266/320/260/320/273/320/276/320/262/320/260/321/202/321/214.mdx" +0 -3
- package/tsconfig.json +0 -62
- package/vite.config.ts +0 -91
- /package/{src/resources/icomoon → icomoon}/demo-files/demo.css +0 -0
- /package/{src/resources/icomoon → icomoon}/demo-files/demo.js +0 -0
- /package/{src/resources/icomoon → icomoon}/demo.html +0 -0
- /package/{src/resources/icomoon → icomoon}/fonts/Topvisor-2.svg +0 -0
- /package/{src/resources/icomoon → icomoon}/fonts/Topvisor-2.ttf +0 -0
- /package/{src/resources/icomoon → icomoon}/fonts/Topvisor-2.woff +0 -0
- /package/{src/resources/icomoon → icomoon}/selection.json +0 -0
- /package/{src/resources/icomoon → icomoon}/style.css +0 -0
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { Markdown } from '@storybook/blocks';
|
|
2
|
-
|
|
3
|
-
import ellipsisCSS from '@/resources/styles/core/modifiers/ellipsis.css?raw'
|
|
4
|
-
|
|
5
|
-
# Общие модификаторы
|
|
6
|
-
|
|
7
|
-
Формат имени класса модификатора состояний: `top-{{stateName}}`.
|
|
8
|
-
|
|
9
|
-
Расположение общих модификаторов до предкомпиляции: src/resources/styles/core/modifiers/*.css.
|
|
10
|
-
|
|
11
|
-
Отличие модификаторов от компонентов заключается в том, что модификаторы не являются самостоятельными и реализуются только в связке с компонентами.
|
|
12
|
-
|
|
13
|
-
## Модфикаторы состояния
|
|
14
|
-
|
|
15
|
-
<table>
|
|
16
|
-
<tr>
|
|
17
|
-
<th>Класс</th>
|
|
18
|
-
<th>Описание</th>
|
|
19
|
-
</tr>
|
|
20
|
-
<tr>
|
|
21
|
-
<td>.top-inited</td>
|
|
22
|
-
<td>
|
|
23
|
-
Признак готовности js, настраивается в каждом компоненте отдельно.
|
|
24
|
-
Ранее исползовался в чиcтом js для исключения скачков при загрузке страницы.
|
|
25
|
-
|
|
26
|
-
Во Vue для динамически подключаемых компонентов без SSR используется иной подход.
|
|
27
|
-
|
|
28
|
-
<details>
|
|
29
|
-
<summary>см. пример для Vue</summary>
|
|
30
|
-
|
|
31
|
-
html:
|
|
32
|
-
|
|
33
|
-
```html
|
|
34
|
-
<example-component></example-component> <!-- html до отрисовки Vue -->
|
|
35
|
-
<div class="top-exampleComponent"></div> <!-- html после отрисовки Vue -->
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
Стили:
|
|
40
|
-
|
|
41
|
-
```css
|
|
42
|
-
example-component{ height: 200px; } /* стили для заглушки компонента до его отрисовки */
|
|
43
|
-
.top-exampleComponent{ height: 200px; } /* обычные стили компонента */
|
|
44
|
-
```
|
|
45
|
-
</details>
|
|
46
|
-
|
|
47
|
-
</td>
|
|
48
|
-
</tr>
|
|
49
|
-
<tr>
|
|
50
|
-
<td>.top-error</td>
|
|
51
|
-
<td>Модификатор ошибки</td>
|
|
52
|
-
</tr>
|
|
53
|
-
<tr>
|
|
54
|
-
<td>.top-changed</td>
|
|
55
|
-
<td>Модификатор изменения</td>
|
|
56
|
-
</tr>
|
|
57
|
-
<tr>
|
|
58
|
-
<td>.top-disabled</td>
|
|
59
|
-
<td>Модификатор блокированности</td>
|
|
60
|
-
</tr>
|
|
61
|
-
<tr>
|
|
62
|
-
<td>.top-active</td>
|
|
63
|
-
<td>Модификатор активности, выбора элемента</td>
|
|
64
|
-
</tr>
|
|
65
|
-
<tr>
|
|
66
|
-
<td>.top-hightlight</td>
|
|
67
|
-
<td>Модификатор подсветки</td>
|
|
68
|
-
</tr>
|
|
69
|
-
</table>
|
|
70
|
-
|
|
71
|
-
## Модфикаторы видимости
|
|
72
|
-
|
|
73
|
-
<table>
|
|
74
|
-
<tr>
|
|
75
|
-
<th>Класс</th>
|
|
76
|
-
<th>Описание</th>
|
|
77
|
-
</tr>
|
|
78
|
-
<tr>
|
|
79
|
-
<td>.top-hidden</td>
|
|
80
|
-
<td>скрыть элемент (display: none !important)</td>
|
|
81
|
-
</tr>
|
|
82
|
-
<tr>
|
|
83
|
-
<td>.top-unvisible</td>
|
|
84
|
-
<td>скрыть элемент, элемент по прежнему будет считаться видимым</td>
|
|
85
|
-
</tr>
|
|
86
|
-
<tr>
|
|
87
|
-
<td>.top-only_admin</td>
|
|
88
|
-
<td>отображать только для админов</td>
|
|
89
|
-
</tr>
|
|
90
|
-
<tr>
|
|
91
|
-
<td>.top-only_pc</td>
|
|
92
|
-
<td>отображать только для ПК версии</td>
|
|
93
|
-
</tr>
|
|
94
|
-
<tr>
|
|
95
|
-
<td>.top-only_mobile</td>
|
|
96
|
-
<td>отображать только для мобильной версии</td>
|
|
97
|
-
</tr>
|
|
98
|
-
<tr>
|
|
99
|
-
<td>.top-only_ru</td>
|
|
100
|
-
<td>отображать только в русской языковой версии</td>
|
|
101
|
-
</tr>
|
|
102
|
-
<tr>
|
|
103
|
-
<td>.top-only_en</td>
|
|
104
|
-
<td>отображать только в английской языковой версии</td>
|
|
105
|
-
</tr>
|
|
106
|
-
</table>
|
|
107
|
-
|
|
108
|
-
## Модфикаторы размера
|
|
109
|
-
|
|
110
|
-
<table>
|
|
111
|
-
<tr>
|
|
112
|
-
<th>Класс</th>
|
|
113
|
-
<th>Описание</th>
|
|
114
|
-
</tr>
|
|
115
|
-
<tr>
|
|
116
|
-
<td>.top-size_xs</td>
|
|
117
|
-
<td>XS</td>
|
|
118
|
-
</tr>
|
|
119
|
-
<tr>
|
|
120
|
-
<td>.top-size_s</td>
|
|
121
|
-
<td>S</td>
|
|
122
|
-
</tr>
|
|
123
|
-
<tr>
|
|
124
|
-
<td>.top-size_m</td>
|
|
125
|
-
<td>M, стандартный размер, как если бы модификатор не указывался</td>
|
|
126
|
-
</tr>
|
|
127
|
-
<tr>
|
|
128
|
-
<td>.top-size_l</td>
|
|
129
|
-
<td>L</td>
|
|
130
|
-
</tr>
|
|
131
|
-
<tr>
|
|
132
|
-
<td>.top-size_xl</td>
|
|
133
|
-
<td>XL</td>
|
|
134
|
-
</tr>
|
|
135
|
-
</table>
|
|
136
|
-
|
|
137
|
-
## Модфикаторы разметки
|
|
138
|
-
|
|
139
|
-
<table>
|
|
140
|
-
<tr>
|
|
141
|
-
<th>Класс</th>
|
|
142
|
-
<th>Описание</th>
|
|
143
|
-
</tr>
|
|
144
|
-
<tr>
|
|
145
|
-
<td>.top-ellipsis</td>
|
|
146
|
-
<td>Оформление строк с сокращением под три точки</td>
|
|
147
|
-
</tr>
|
|
148
|
-
<tr>
|
|
149
|
-
<td>.top-ellipsis2</td>
|
|
150
|
-
<td>Оформление строк в две строки с сокращением под три точки</td>
|
|
151
|
-
</tr>
|
|
152
|
-
<tr>
|
|
153
|
-
<td>.top-ellipsis3</td>
|
|
154
|
-
<td>Оформление строк в три строки с сокращением под три точки</td>
|
|
155
|
-
</tr>
|
|
156
|
-
</table>
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Переменне
|
|
2
|
-
|
|
3
|
-
Правила определения переменных:
|
|
4
|
-
|
|
5
|
-
- переменные задаются в `:root{ }`
|
|
6
|
-
- формат имени цвета палитры: `--color-{{ colorName }}-{{ от 0 до 1000 }}`
|
|
7
|
-
- формат имени цвета темы: `--color-{{ colorName }}-{{ colorModificator }}`
|
|
8
|
-
- формат имени переменной компонента: `--top-{{ componentName }}-{{ cssPropertyName }}`
|
|
9
|
-
|
|
10
|
-
См. также:
|
|
11
|
-
|
|
12
|
-
* [Основные стили и переменные](/docs/core-base--docs)
|
|
13
|
-
* [Темы](/docs/core-theme--docs)
|
|
14
|
-
|
|
15
|
-
## Примеры
|
|
16
|
-
|
|
17
|
-
Переменная палитры не ассоциируется с сущностью и описывает только сам цвет:
|
|
18
|
-
|
|
19
|
-
```css
|
|
20
|
-
/* colors.css */
|
|
21
|
-
|
|
22
|
-
:root{
|
|
23
|
-
--color-blue-500: #0F0;
|
|
24
|
-
}
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
Переменная темы не ассоциируется с цветом и описывает только сущность:
|
|
28
|
-
|
|
29
|
-
```css
|
|
30
|
-
/* light.css */
|
|
31
|
-
|
|
32
|
-
:root{
|
|
33
|
-
--primary: var(--color-blue-500);
|
|
34
|
-
}
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Переменная компонента buttonExample:
|
|
38
|
-
|
|
39
|
-
```css
|
|
40
|
-
/* buttonExample.vue */
|
|
41
|
-
|
|
42
|
-
:root{
|
|
43
|
-
--top-buttonExample-color: var(--top-color-blue-500); /* стиль color, который не зависит от темы */
|
|
44
|
-
--top-buttonExample-color: var(--top-primary); /* стиль color, который зависит от темы */
|
|
45
|
-
--top-buttonExample-font-size: 24px; /* стиль font-size */
|
|
46
|
-
}
|
|
47
|
-
```
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
# Предпроцессоры
|
|
2
|
-
|
|
3
|
-
Предпроцессоры в проекте не используются.
|
|
4
|
-
|
|
5
|
-
Испоьзуется css модуль: [PostCSS](https://postcss.org/).
|
|
6
|
-
|
|
7
|
-
Благодаря правильно продуманной структуре компонентов и современных возможностей CSS вам
|
|
8
|
-
не придется делать сложных правил CSS. Если же вы с ними столкнулись, задумайтесь, возможно что-то делаете не так.
|
|
9
|
-
|
|
10
|
-
В некоторых случаях предпроцессоры могут быть полезны, например для генерации переменных на основе определенных условий
|
|
11
|
-
с помощью функций, которых нет в css. Однако распространенные задачи решаются плагинами postcss, которые способны реализовать необходимый функционал.
|
|
12
|
-
При этом достаточно гибко. Например: [postcss-color-mod-function](https://github.com/csstools/postcss-color-mod-function).
|
|
13
|
-
|
|
14
|
-
Таким образом снимаются требования к разработчику на профильное знание css препроцессоров и снижается уровень входа.
|
|
15
|
-
Одновременно с этим в проекте испоьзуются самые современные средства для работы с css.
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# Рекомендации БЭМ
|
|
2
|
-
|
|
3
|
-
Подробнее о БЭМ: [https://ru.bem.info/](https://ru.bem.info/).
|
|
4
|
-
|
|
5
|
-
Проект topvisor-ui не следуют всем правилам БЭМ, но тем не менее следуют их рекомендациям.
|
|
6
|
-
|
|
7
|
-
При написании компонента следует использовать рекомендации БЭМ со следующими правилами:
|
|
8
|
-
|
|
9
|
-
- все классы имют префикс "top-"
|
|
10
|
-
- имя блока должно соответствовать имени компонента в camelCase
|
|
11
|
-
- имена сущностей (блок, элемент, имя модификатора и значение модификатора) пишутся в camelCase
|
|
12
|
-
- элемент отделяется от блока нижним подчеркиванием: "_"
|
|
13
|
-
- модификаторы отделяется дефисом: "-"
|
|
14
|
-
- значение модификатора отделяется от имени модификатора подчеркиванием: "_"
|
|
15
|
-
- булевы модификаторы рекомендуется писать без указания значения
|
|
16
|
-
|
|
17
|
-
## Структура класса соответствует схеме
|
|
18
|
-
|
|
19
|
-
**top-blockName_elementName-modifierName_modifierValue**
|
|
20
|
-
|
|
21
|
-
## Все варианты
|
|
22
|
-
|
|
23
|
-
- top-blockName
|
|
24
|
-
- top-blockName-modifierName
|
|
25
|
-
- top-blockName-modifierName_modifierValue
|
|
26
|
-
- top-blockName_elementName
|
|
27
|
-
- top-blockName_elementName-modifierName
|
|
28
|
-
- top-blockName_elementName-modifierName_modifierValue
|
|
29
|
-
|
|
30
|
-
## Примеры
|
|
31
|
-
|
|
32
|
-
Компонент ButtonExample с подсказкой, модификаторами номера и фокуса.
|
|
33
|
-
|
|
34
|
-
```css
|
|
35
|
-
:root{
|
|
36
|
-
--top-buttonExample-color: var(--color-white);
|
|
37
|
-
--top-buttonExample-background-color: var(--color-primary);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.top-buttonExample{ } /* блок */
|
|
41
|
-
.top-buttonExample_hint{ } /* элемент подсказки */
|
|
42
|
-
|
|
43
|
-
.top-buttonExample-focus{ } /* модификатор фокуса на блоке */
|
|
44
|
-
.top-buttonExample_hint-focus{ } /* модификатор фокуса на элементе подсказки */
|
|
45
|
-
|
|
46
|
-
.top-buttonExample-number_1{ } /* модификатор номера со значением 1 */
|
|
47
|
-
.top-buttonExample-number_2{ } /* модификатор номера со значением 2 */
|
|
48
|
-
.top-buttonExample-number_3{ } /* модификатор номера со значением 3 */
|
|
49
|
-
```
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Стили
|
|
2
|
-
|
|
3
|
-
Стили можно условно разделить на 3 категории:
|
|
4
|
-
|
|
5
|
-
- общие стили topvisor-ui
|
|
6
|
-
- стили темы
|
|
7
|
-
- стили компонентнов
|
|
8
|
-
|
|
9
|
-
Каждая категория будет собрана в отдельный css файл.
|
|
10
|
-
Стили компонентнов могут быть разделены на несколько компонентво и могут загружаться по требованию в ленивом режиме.
|
|
11
|
-
|
|
12
|
-
## Рекомендации по подключению стилей
|
|
13
|
-
|
|
14
|
-
Все основные стили и стиль выбранной темы необходимо подключаться в самом начале страницы.
|
|
15
|
-
|
|
16
|
-
При смене темы ее стили должны подменяться, перезагрузка страницы не требуется.
|
|
17
|
-
|
|
18
|
-
В самом начале страницы необъодимо подключать только нужные стили компонентов.
|
|
19
|
-
По рекомендации это стили библиотек **forms** и **content**.
|
|
20
|
-
|
|
21
|
-
Подключение стилей компонентов необходимо организовывать таким образом, чтобы все нужные стили компонент загружал сам в ассинхроннорм режиме.
|
|
22
|
-
При этом следует учитывать, что стили уже могут быть заранее подключены на страницу и корреткно это обрабатывать.
|
|
23
|
-
|
|
24
|
-
## Общие стили
|
|
25
|
-
|
|
26
|
-
Некоторые стили нужно загружать всегда, независимо от загрузки компонента.
|
|
27
|
-
Такие стили выносятся в **src/resources/styles/core/*.css** и не требуют импорта в компоненте.
|
|
28
|
-
|
|
29
|
-
См. подробнее: [Основные стили и переменные](/docs/core-base--docs).
|
|
30
|
-
|
|
31
|
-
Общие стили могут содержать правила для нескольких компонентов, в пользу исключения дубля кода.
|
|
32
|
-
|
|
33
|
-
Добавление новых общих стилей не рекомендуется.
|
|
34
|
-
|
|
35
|
-
## Классы компонентнов
|
|
36
|
-
|
|
37
|
-
При указании стилей использование идентификаторов недопустимо.
|
|
38
|
-
|
|
39
|
-
Все имена компонентов в пределах topvisor-ui уникальны.
|
|
40
|
-
|
|
41
|
-
Классы начинаются с префикса "top-"
|
|
42
|
-
|
|
43
|
-
О том как называть классы см. в разделе: [Рекомендации БЭМ](/docs/docs-css-рекомендации-бэм--docs).
|
|
44
|
-
|
|
45
|
-
## Vue
|
|
46
|
-
|
|
47
|
-
Vue имеет [встроенную](https://vuejs.org/api/sfc-css-features.html) встроенную поддержку css модулей.
|
|
48
|
-
|
|
49
|
-
| Рекомендация | Причины |
|
|
50
|
-
|--|--|
|
|
51
|
-
| Не используйте scoped стили | CSS модули прекрасно справляются со своей задачей и нет никих причин усложнять код используя style scoped |
|
|
52
|
-
| Не используйте :global и :local | Это усложняет написание стилей для вас и других разработчиков. Vue предоставляет необходимый функционал для работы с глобальными и локальными css модулями |
|
|
53
|
-
| Не используйте composes | Используйте возможности Vue для явного добавления нужных классов к необходимым элементам на странице |
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
# Что такое css модуль?
|
|
2
|
-
|
|
3
|
-
Эта статья несет информационный характер и не связана напрямую с проектом topvisor-ui.
|
|
4
|
-
|
|
5
|
-
Для удобства разработки все стили подключаются в виде css модулей. CSS модуль это прокладка в typescript между обычным импортом и css файлом.
|
|
6
|
-
В результате импорта файла, объявленного как css модуль, вы получите словарь имен классов,
|
|
7
|
-
ключами которого будут входящие классы, а значениями - исходящие классы.
|
|
8
|
-
|
|
9
|
-
При написании шаблонов вместо вставки имен классов необходимо вставлять значения из этого словаря. Это правило не относится к глобальным классам.
|
|
10
|
-
|
|
11
|
-
Преимущества использования css модуля:
|
|
12
|
-
|
|
13
|
-
- при предкомпиляции классы будут автоматически заменены на другие, чтобы снизить вероятность пересечения имен с другими компонентами
|
|
14
|
-
- импортируя css модуль разработчик в явном виде будет видеть, какие классы из какого файла использует
|
|
15
|
-
- поддержка IDE обеспечивает быстрый переход между html шаблоном и css файлом, а также предлагает возможности автозаполнения, чтобы упростить процесс разработки
|
|
16
|
-
- упрощается рефакторинг css классов
|
|
17
|
-
- упрощается поиск неиспользуемых классов
|
|
18
|
-
|
|
19
|
-
## Локальные и глобальные модули
|
|
20
|
-
|
|
21
|
-
Локальные и глобальные модули будут одинаково добавлены в карту css стилей приложения при сборке и сохранятся в нужные css файлы.
|
|
22
|
-
|
|
23
|
-
### Локальные модули
|
|
24
|
-
|
|
25
|
-
Все классы локальных модулей при сборке модифицируются таким образом, чтобы минимизировать пересечения классов в приложении.
|
|
26
|
-
|
|
27
|
-
Недостатки локальных модулей:
|
|
28
|
-
|
|
29
|
-
- при импорте стороннего css файла как css модуля, в js файле будут сохранены все классы импортируемого модуля, даже те, которые не используются
|
|
30
|
-
- в другом приложении нельзя будет импортировать css файл с измененными классами после сборки и использовать его в другом приложении как css модуль, потому что другое приложение не обязано постоянно поддерживать актуальность имен css классов
|
|
31
|
-
|
|
32
|
-
### Глобальные модули
|
|
33
|
-
|
|
34
|
-
Если нам надо сделать css классы прозрачными и доступными после импорта в других приложениях, их необходимо объявить как глобальные.
|
|
35
|
-
|
|
36
|
-
Недостатки глобальных модулей:
|
|
37
|
-
|
|
38
|
-
- необходимо следить за именами классов и не подключать в одно приложения классы, которые пересекаются между собой
|
|
39
|
-
- глобальные css классы не доступны в объекте css модуля, поэтому их нельзя будет использовать в javascript и шаблонизаторах через импорт css модуля
|
|
40
|
-
|
|
41
|
-
Обратите внимание, что с ними нельзя работать как с локальными, даже если ваша IDE будет вам подсказывать имена классов,
|
|
42
|
-
после сборки никаких классов на странице не появится. Опцию экспорта глобальных классов включить можно, но это не рекомендуется,
|
|
43
|
-
так как все глобальные классы будут внедряться в javascript, что приведет к росту размера ваших компонентов.
|
|
44
|
-
|
|
45
|
-
### Что же использовать
|
|
46
|
-
|
|
47
|
-
Использовать глобальные модули, если:
|
|
48
|
-
|
|
49
|
-
- другим приложениям надо использовать классы вашего приложения, в том числе менять их для себя
|
|
50
|
-
- другим приложениям надо дать возможность использовать классы вашего приложения как css модули
|
|
51
|
-
- классы действительно являются глобальными и не связаны с конкретным компонентом
|
|
52
|
-
|
|
53
|
-
Во всех остальных случаях используйте локальные модули.
|
package/src/docs/ROADMAP.md
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Roadmap
|
|
2
|
-
|
|
3
|
-
- [x] icomoon
|
|
4
|
-
- [x] описать ядро UI 💟
|
|
5
|
-
- [x] цвета 🎨
|
|
6
|
-
- [x] темы 🎨
|
|
7
|
-
- [x] мини компоненты, возможно deprecated 🙈
|
|
8
|
-
- [x] рекомендуемые модификаторы 🎛️
|
|
9
|
-
- [x] ~~@storybook/addon-storysource 7.4.1~~ отображает только код истории, вместо кода компонента, отключен
|
|
10
|
-
- [x] addon [@storybook/theming](https://storybook.js.org/docs/react/configure/theming) для оформления самого storybook (не компонентов)
|
|
11
|
-
- [x] унификация имен классов компонентов, адаптация к новым именам классов в проекте topvisor.com
|
|
12
|
-
- [x] упростить добавление компонента
|
|
13
|
-
- [x] упростить тестирвоание сборки в другом проекте без публикации
|
|
14
|
-
- [ ] библиотека helper для независимого использования 🔧
|
|
15
|
-
- [ ] настроить eslint 📜
|
|
16
|
-
- [ ] i18n 📚
|
|
17
|
-
- [ ] Mock API 🧩
|
package/src/docs/Roadmap.mdx
DELETED