@topvisor/ui 0.0.11 → 0.0.13
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 +85 -85
- package/c/button/button.amd.js +1 -1
- package/c/button/button.amd.js.map +1 -1
- package/c/button/button.js +1 -1
- package/c/button/button.js.map +1 -1
- package/c/example/example.amd.js +2 -2
- package/c/example/example.js +2 -2
- package/c/radio/radio.amd.js +49 -0
- package/c/radio/radio.amd.js.map +1 -0
- package/c/radio/radio.js +50 -0
- package/c/radio/radio.js.map +1 -0
- package/c/style.css +57 -25
- package/core.css +573 -562
- package/dark.css +115 -115
- package/icomoon/demo-files/Read Me.txt +7 -7
- package/icomoon/demo-files/demo.css +161 -161
- package/icomoon/demo-files/demo.js +30 -30
- package/icomoon/demo.html +2931 -2931
- package/icomoon/fonts/Topvisor-2.svg +231 -231
- package/icomoon/style.css +644 -644
- package/l/forms/forms.amd.js +58 -13
- package/l/forms/forms.amd.js.map +1 -1
- package/l/forms/forms.js +59 -14
- package/l/forms/forms.js.map +1 -1
- package/l/style.css +53 -21
- package/light.css +128 -128
- package/package.json +19 -22
package/README.md
CHANGED
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
# UI kit Topvisor Vue
|
|
2
|
-
|
|
3
|
-
## Vue компоненты
|
|
4
|
-
|
|
5
|
-
Компоненты разделены на библиотеки, чтобы их можно было грузить пачками прямо с CDN.
|
|
6
|
-
|
|
7
|
-
Компоненты можно грузить по отдельности.
|
|
8
|
-
|
|
9
|
-
Компоненты поставляются в двух форматах:
|
|
10
|
-
|
|
11
|
-
- amd (requirejs)
|
|
12
|
-
- es
|
|
13
|
-
|
|
14
|
-
Расположение компонентов и библиотек:
|
|
15
|
-
- /c/ - папка с компонентами
|
|
16
|
-
- /l/ - папка с библиотеками
|
|
17
|
-
|
|
18
|
-
Список всех компонентов см. на [npmjs](https://www.npmjs.com/package/topvisor-ui?activeTab=code).
|
|
19
|
-
|
|
20
|
-
## Другие ресурсы
|
|
21
|
-
|
|
22
|
-
- /core.css - основная палитра цветов и стили компонентов
|
|
23
|
-
- /light.css - светлая тема
|
|
24
|
-
- /dark.css - темная тема
|
|
25
|
-
|
|
26
|
-
## Подключение стилей
|
|
27
|
-
|
|
28
|
-
Подключение базовых стилей и переменных палитры.
|
|
29
|
-
Подключение базовых стилей, переменных палитры и основных компонентов.
|
|
30
|
-
Подключение базовых стилей и переменных палитры.
|
|
31
|
-
Стили сложных компонентов рекомендуется грузить асинхронно.
|
|
32
|
-
|
|
33
|
-
```js
|
|
34
|
-
import '@topvisor/ui/core.css';
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Подключение стилей темы на примере светлой темы.
|
|
38
|
-
|
|
39
|
-
```js
|
|
40
|
-
import '@topvisor/ui/light.css';
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Для смены темы необходимо подгрузить файл стилей необходимой темы и сразу отключить стили предыдущей темы.
|
|
44
|
-
|
|
45
|
-
Подключение стилей основных компонентов.
|
|
46
|
-
|
|
47
|
-
```js
|
|
48
|
-
import '@topvisor/ui/l/style.css';
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
Подключение набора иконок шрифта icomoon.
|
|
52
|
-
|
|
53
|
-
```js
|
|
54
|
-
import '@topvisor/ui/icomoon/style.css';
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Подключение компонента
|
|
58
|
-
|
|
59
|
-
Пример подключения компонента Button.
|
|
60
|
-
|
|
61
|
-
```javascript
|
|
62
|
-
requirejs(['topvisor-ui/c/button/button.amd'], Button => {
|
|
63
|
-
console.log(Button);
|
|
64
|
-
});
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Подключение библиотек компонентов
|
|
68
|
-
|
|
69
|
-
В большинстве случаев группы компонентов грузить отдельно нет смысла, поэтому она вынесены в библиотеки.
|
|
70
|
-
|
|
71
|
-
Не грузите один и тот же компонент двумя способами, это приведет к тому, что он будет загружен дважды.
|
|
72
|
-
|
|
73
|
-
Пример подключения библиотеки Forms со всеми ее компонентами:
|
|
74
|
-
|
|
75
|
-
```javascript
|
|
76
|
-
requirejs(['topvisor-ui/l/forms/forms.amd'], ({Button}) => {
|
|
77
|
-
console.log(Button);
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
requirejs(['topvisor-ui/l/forms/forms.amd'], Forms => {
|
|
81
|
-
const { Button } = Forms;
|
|
82
|
-
|
|
83
|
-
console.log(Forms);
|
|
84
|
-
console.log(Button);
|
|
85
|
-
});
|
|
1
|
+
# UI kit Topvisor Vue
|
|
2
|
+
|
|
3
|
+
## Vue компоненты
|
|
4
|
+
|
|
5
|
+
Компоненты разделены на библиотеки, чтобы их можно было грузить пачками прямо с CDN.
|
|
6
|
+
|
|
7
|
+
Компоненты можно грузить по отдельности.
|
|
8
|
+
|
|
9
|
+
Компоненты поставляются в двух форматах:
|
|
10
|
+
|
|
11
|
+
- amd (requirejs)
|
|
12
|
+
- es
|
|
13
|
+
|
|
14
|
+
Расположение компонентов и библиотек:
|
|
15
|
+
- /c/ - папка с компонентами
|
|
16
|
+
- /l/ - папка с библиотеками
|
|
17
|
+
|
|
18
|
+
Список всех компонентов см. на [npmjs](https://www.npmjs.com/package/topvisor-ui?activeTab=code).
|
|
19
|
+
|
|
20
|
+
## Другие ресурсы
|
|
21
|
+
|
|
22
|
+
- /core.css - основная палитра цветов и стили компонентов
|
|
23
|
+
- /light.css - светлая тема
|
|
24
|
+
- /dark.css - темная тема
|
|
25
|
+
|
|
26
|
+
## Подключение стилей
|
|
27
|
+
|
|
28
|
+
Подключение базовых стилей и переменных палитры.
|
|
29
|
+
Подключение базовых стилей, переменных палитры и основных компонентов.
|
|
30
|
+
Подключение базовых стилей и переменных палитры.
|
|
31
|
+
Стили сложных компонентов рекомендуется грузить асинхронно.
|
|
32
|
+
|
|
33
|
+
```js
|
|
34
|
+
import '@topvisor/ui/core.css';
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Подключение стилей темы на примере светлой темы.
|
|
38
|
+
|
|
39
|
+
```js
|
|
40
|
+
import '@topvisor/ui/light.css';
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Для смены темы необходимо подгрузить файл стилей необходимой темы и сразу отключить стили предыдущей темы.
|
|
44
|
+
|
|
45
|
+
Подключение стилей основных компонентов.
|
|
46
|
+
|
|
47
|
+
```js
|
|
48
|
+
import '@topvisor/ui/l/style.css';
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Подключение набора иконок шрифта icomoon.
|
|
52
|
+
|
|
53
|
+
```js
|
|
54
|
+
import '@topvisor/ui/icomoon/style.css';
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Подключение компонента
|
|
58
|
+
|
|
59
|
+
Пример подключения компонента Button.
|
|
60
|
+
|
|
61
|
+
```javascript
|
|
62
|
+
requirejs(['topvisor-ui/c/button/button.amd'], Button => {
|
|
63
|
+
console.log(Button);
|
|
64
|
+
});
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Подключение библиотек компонентов
|
|
68
|
+
|
|
69
|
+
В большинстве случаев группы компонентов грузить отдельно нет смысла, поэтому она вынесены в библиотеки.
|
|
70
|
+
|
|
71
|
+
Не грузите один и тот же компонент двумя способами, это приведет к тому, что он будет загружен дважды.
|
|
72
|
+
|
|
73
|
+
Пример подключения библиотеки Forms со всеми ее компонентами:
|
|
74
|
+
|
|
75
|
+
```javascript
|
|
76
|
+
requirejs(['topvisor-ui/l/forms/forms.amd'], ({Button}) => {
|
|
77
|
+
console.log(Button);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
requirejs(['topvisor-ui/l/forms/forms.amd'], Forms => {
|
|
81
|
+
const { Button } = Forms;
|
|
82
|
+
|
|
83
|
+
console.log(Forms);
|
|
84
|
+
console.log(Button);
|
|
85
|
+
});
|
|
86
86
|
```
|
package/c/button/button.amd.js
CHANGED
|
@@ -72,7 +72,7 @@ define(["vue", "../_plugin-vue_export-helper-cb5c78ba"], function(vue, _pluginVu
|
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
|
-
const progress = "
|
|
75
|
+
const progress = "_progress_fevtt_1";
|
|
76
76
|
const style0 = {
|
|
77
77
|
"top-button": "top-button",
|
|
78
78
|
"top-active": "top-active",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.amd.js","sources":["../../../src/components/forms/button/button.ts","../../../src/components/forms/button/button.vue"],"sourcesContent":["import type { VNode } from 'vue';\
|
|
1
|
+
{"version":3,"file":"button.amd.js","sources":["../../../src/components/forms/button/button.ts","../../../src/components/forms/button/button.vue"],"sourcesContent":["import type { VNode } from 'vue';\n\n/**\n * Определение параметров\n */\nexport interface Props {\n\tcolor?: COLOR\n\tstyling?: STYLING // bug: name = style init with object type\n\tsize?: SIZE\n\n\tname?: string\n\ttitle?: string\n\ticon?: string\n\ticon2?: string\n\n\thref?: string // если установлена ссылка, isSubmit не может быть true\n\t// value?: string\n\n\tdisabled?: boolean\n\tisSubmit?: boolean\n\tisActive?: boolean\n\tisProgress?: boolean\n}\n\n/**\n * Определение слотов\n */\nexport interface Slots {\n\t/**\n\t * Cлот с проивзольным содержимым\n\t */\n\tdefault(): VNode[];\n}\n\n/**\n * Определение событий\n */\nexport interface Emits { }\n\n/**\n * Цвета\n */\nexport enum COLOR {\n\tTheme = 'theme',\n\tBlue = 'blue',\n\tGreen = 'green',\n\tOrange = 'orange',\n\tRed = 'red',\n\tPink = 'pink',\n}\n\n/**\n * Стили\n */\nexport enum STYLING {\n\tRegular = '',\n\tOutline = 'outline',\n\tSoft = 'soft',\n\tTransparent = 'transparent',\n}\n\n/**\n * Размеры\n */\nexport enum SIZE {\n\tS = '',\n\tL = 'l',\n\tXL = 'xl',\n}","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Props } from './button';\nimport { COLOR, STYLING, SIZE } from './button';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: COLOR.Blue,\n\tstyling: STYLING.Regular,\n\tsize: SIZE.S,\n});\n\nconst tagName = computed(() => props.href ? 'a' : 'button');\n\nconst type = computed(() => props.isSubmit ? 'submit' : undefined);\n</script>\n\n<template>\n\t<component\n\t\t:is=\"tagName\"\n\t\t:class=\"{\n\t\t\t['top-active']: props.isActive,\n\t\t\t['top-disabled']: props.disabled,\n\t\t\t[$style['top-button']]: true,\n\t\t\t[$style['top-button-progress']]: props.isProgress,\n\t\t\t[$style[`top-size_${props.size}`]]: !!props.size,\n\t\t\t[$style[`top-color_${props.color}`]]: true,\n\t\t\t[$style[`top-style_${props.styling}`]]: !!props.styling,\n\t\t}\"\n\t\t:name=\"name\"\n\t\t:title=\"title\"\n\t\t:href=\"href\"\n\t\t:type=\"type\"\n\t\t:data-top-icon=\"icon || undefined\"\n\t\t:data-top-icon2=\"icon2 || undefined\"\n\t\t:disabled=\"disabled || undefined\"\n\t\t:inProgress=\"isProgress\"\n\t>\n\t\t<slot>{{ !icon ? \"Button\" : \"\" }}</slot>\n\t</component>\n</template>\n\n<style module>\n@import \"./style/button.css\";\n@import \"./style/style-outline.css\";\n@import \"./style/style-soft.css\";\n@import \"./style/style-transparent.css\";\n\n.top-button {\n\t--top-button-color: var(--color-white);\n\t--top-button-background-color: transparent;\n\t--top-button-background-color-hover: var(--top-button-background-color);\n\t--top-button-background-color-active: var(--top-button-background-color-hover);\n\t--top-button-background-color-selected: var(--top-button-background-color-hover);\n\t--top-button-box-shadow: none;\n\t--top-button-box-shadow-hover: var(--top-shadow-darken-2);\n\t--top-button-box-shadow-active: var(--top-shadow-darken-3);\n\t--top-button-box-shadow-selected: var(--top-shadow-darken-3);\n\t--top-forms-border-width: 0px;\n\t--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));\n\t--top-icon2-width: calc(var(--top-icon2-size) + var(--top-forms-padding));\n}\n\n.top-button.top-size_l {\n\t--top-forms-padding: var(--top-forms-padding_l);\n\t--top-forms-base-height: var(--top-forms-base-height_l);\n}\n\n.top-button.top-size_xl {\n\t--top-forms-padding: var(--top-forms-padding_xl);\n\t--top-forms-base-height: var(--top-forms-base-height_xl);\n}\n\n.top-button-progress {}\n</style>"],"names":["COLOR","STYLING","SIZE","computed"],"mappings":";;AA0CY,MAAA,0BAAAA,WAAL;AACNA,WAAA,OAAQ,IAAA;AACRA,WAAA,MAAO,IAAA;AACPA,WAAA,OAAQ,IAAA;AACRA,WAAA,QAAS,IAAA;AACTA,WAAA,KAAM,IAAA;AACNA,WAAA,MAAO,IAAA;AANIA,WAAAA;AAAAA,EAAA,GAAA,SAAA,CAAA,CAAA;AAYA,MAAA,4BAAAC,aAAL;AACNA,aAAA,SAAU,IAAA;AACVA,aAAA,SAAU,IAAA;AACVA,aAAA,MAAO,IAAA;AACPA,aAAA,aAAc,IAAA;AAJHA,WAAAA;AAAAA,EAAA,GAAA,WAAA,CAAA,CAAA;AAUA,MAAA,yBAAAC,UAAL;AACNA,UAAA,GAAI,IAAA;AACJA,UAAA,GAAI,IAAA;AACJA,UAAA,IAAK,IAAA;AAHMA,WAAAA;AAAAA,EAAA,GAAA,QAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;ACrDZ,YAAM,UAAUC,IAAAA,SAAS,MAAM,MAAM,OAAO,MAAM,QAAQ;AAE1D,YAAM,OAAOA,IAAAA,SAAS,MAAM,MAAM,WAAW,WAAW,MAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/c/button/button.js
CHANGED
package/c/button/button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../../src/components/forms/button/button.ts","../../../src/components/forms/button/button.vue"],"sourcesContent":["import type { VNode } from 'vue';\
|
|
1
|
+
{"version":3,"file":"button.js","sources":["../../../src/components/forms/button/button.ts","../../../src/components/forms/button/button.vue"],"sourcesContent":["import type { VNode } from 'vue';\n\n/**\n * Определение параметров\n */\nexport interface Props {\n\tcolor?: COLOR\n\tstyling?: STYLING // bug: name = style init with object type\n\tsize?: SIZE\n\n\tname?: string\n\ttitle?: string\n\ticon?: string\n\ticon2?: string\n\n\thref?: string // если установлена ссылка, isSubmit не может быть true\n\t// value?: string\n\n\tdisabled?: boolean\n\tisSubmit?: boolean\n\tisActive?: boolean\n\tisProgress?: boolean\n}\n\n/**\n * Определение слотов\n */\nexport interface Slots {\n\t/**\n\t * Cлот с проивзольным содержимым\n\t */\n\tdefault(): VNode[];\n}\n\n/**\n * Определение событий\n */\nexport interface Emits { }\n\n/**\n * Цвета\n */\nexport enum COLOR {\n\tTheme = 'theme',\n\tBlue = 'blue',\n\tGreen = 'green',\n\tOrange = 'orange',\n\tRed = 'red',\n\tPink = 'pink',\n}\n\n/**\n * Стили\n */\nexport enum STYLING {\n\tRegular = '',\n\tOutline = 'outline',\n\tSoft = 'soft',\n\tTransparent = 'transparent',\n}\n\n/**\n * Размеры\n */\nexport enum SIZE {\n\tS = '',\n\tL = 'l',\n\tXL = 'xl',\n}","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Props } from './button';\nimport { COLOR, STYLING, SIZE } from './button';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcolor: COLOR.Blue,\n\tstyling: STYLING.Regular,\n\tsize: SIZE.S,\n});\n\nconst tagName = computed(() => props.href ? 'a' : 'button');\n\nconst type = computed(() => props.isSubmit ? 'submit' : undefined);\n</script>\n\n<template>\n\t<component\n\t\t:is=\"tagName\"\n\t\t:class=\"{\n\t\t\t['top-active']: props.isActive,\n\t\t\t['top-disabled']: props.disabled,\n\t\t\t[$style['top-button']]: true,\n\t\t\t[$style['top-button-progress']]: props.isProgress,\n\t\t\t[$style[`top-size_${props.size}`]]: !!props.size,\n\t\t\t[$style[`top-color_${props.color}`]]: true,\n\t\t\t[$style[`top-style_${props.styling}`]]: !!props.styling,\n\t\t}\"\n\t\t:name=\"name\"\n\t\t:title=\"title\"\n\t\t:href=\"href\"\n\t\t:type=\"type\"\n\t\t:data-top-icon=\"icon || undefined\"\n\t\t:data-top-icon2=\"icon2 || undefined\"\n\t\t:disabled=\"disabled || undefined\"\n\t\t:inProgress=\"isProgress\"\n\t>\n\t\t<slot>{{ !icon ? \"Button\" : \"\" }}</slot>\n\t</component>\n</template>\n\n<style module>\n@import \"./style/button.css\";\n@import \"./style/style-outline.css\";\n@import \"./style/style-soft.css\";\n@import \"./style/style-transparent.css\";\n\n.top-button {\n\t--top-button-color: var(--color-white);\n\t--top-button-background-color: transparent;\n\t--top-button-background-color-hover: var(--top-button-background-color);\n\t--top-button-background-color-active: var(--top-button-background-color-hover);\n\t--top-button-background-color-selected: var(--top-button-background-color-hover);\n\t--top-button-box-shadow: none;\n\t--top-button-box-shadow-hover: var(--top-shadow-darken-2);\n\t--top-button-box-shadow-active: var(--top-shadow-darken-3);\n\t--top-button-box-shadow-selected: var(--top-shadow-darken-3);\n\t--top-forms-border-width: 0px;\n\t--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));\n\t--top-icon2-width: calc(var(--top-icon2-size) + var(--top-forms-padding));\n}\n\n.top-button.top-size_l {\n\t--top-forms-padding: var(--top-forms-padding_l);\n\t--top-forms-base-height: var(--top-forms-base-height_l);\n}\n\n.top-button.top-size_xl {\n\t--top-forms-padding: var(--top-forms-padding_xl);\n\t--top-forms-base-height: var(--top-forms-base-height_xl);\n}\n\n.top-button-progress {}\n</style>"],"names":["COLOR","STYLING","SIZE"],"mappings":";;AA0CY,IAAA,0BAAAA,WAAL;AACNA,SAAA,OAAQ,IAAA;AACRA,SAAA,MAAO,IAAA;AACPA,SAAA,OAAQ,IAAA;AACRA,SAAA,QAAS,IAAA;AACTA,SAAA,KAAM,IAAA;AACNA,SAAA,MAAO,IAAA;AANIA,SAAAA;AAAA,GAAA,SAAA,CAAA,CAAA;AAYA,IAAA,4BAAAC,aAAL;AACNA,WAAA,SAAU,IAAA;AACVA,WAAA,SAAU,IAAA;AACVA,WAAA,MAAO,IAAA;AACPA,WAAA,aAAc,IAAA;AAJHA,SAAAA;AAAA,GAAA,WAAA,CAAA,CAAA;AAUA,IAAA,yBAAAC,UAAL;AACNA,QAAA,GAAI,IAAA;AACJA,QAAA,GAAI,IAAA;AACJA,QAAA,IAAK,IAAA;AAHMA,SAAAA;AAAA,GAAA,QAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;ACrDZ,UAAM,UAAU,SAAS,MAAM,MAAM,OAAO,MAAM,QAAQ;AAE1D,UAAM,OAAO,SAAS,MAAM,MAAM,WAAW,WAAW,MAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/c/example/example.amd.js
CHANGED
|
@@ -9,7 +9,7 @@ define(["vue", "../_plugin-vue_export-helper-cb5c78ba"], function(vue, _pluginVu
|
|
|
9
9
|
},
|
|
10
10
|
setup(__props) {
|
|
11
11
|
vue.useCssVars((_ctx) => ({
|
|
12
|
-
"
|
|
12
|
+
"6eb2e862": _ctx.color
|
|
13
13
|
}));
|
|
14
14
|
return (_ctx, _cache) => {
|
|
15
15
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
@@ -21,7 +21,7 @@ define(["vue", "../_plugin-vue_export-helper-cb5c78ba"], function(vue, _pluginVu
|
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
const example$1 = "
|
|
24
|
+
const example$1 = "_example_1exbj_2";
|
|
25
25
|
const style0 = {
|
|
26
26
|
example: example$1,
|
|
27
27
|
"top-active": "top-active"
|
package/c/example/example.js
CHANGED
|
@@ -9,7 +9,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
9
9
|
},
|
|
10
10
|
setup(__props) {
|
|
11
11
|
useCssVars((_ctx) => ({
|
|
12
|
-
"
|
|
12
|
+
"6eb2e862": _ctx.color
|
|
13
13
|
}));
|
|
14
14
|
return (_ctx, _cache) => {
|
|
15
15
|
return openBlock(), createElementBlock("div", {
|
|
@@ -21,7 +21,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
21
21
|
};
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
-
const example$1 = "
|
|
24
|
+
const example$1 = "_example_1exbj_2";
|
|
25
25
|
const style0 = {
|
|
26
26
|
example: example$1,
|
|
27
27
|
"top-active": "top-active"
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
define(["vue", "../_plugin-vue_export-helper-cb5c78ba"], function(vue, _pluginVue_exportHelper) {
|
|
2
|
+
"use strict"; vue = vue ?? Vue;
|
|
3
|
+
const _hoisted_1 = ["name", "value", "checked", "disabled"];
|
|
4
|
+
const _hoisted_2 = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "top-radio_caption"
|
|
7
|
+
};
|
|
8
|
+
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
9
|
+
__name: "radio",
|
|
10
|
+
props: {
|
|
11
|
+
name: {},
|
|
12
|
+
value: {},
|
|
13
|
+
title: {},
|
|
14
|
+
checked: { type: Boolean },
|
|
15
|
+
disabled: { type: Boolean }
|
|
16
|
+
},
|
|
17
|
+
setup(__props) {
|
|
18
|
+
return (_ctx, _cache) => {
|
|
19
|
+
return vue.openBlock(), vue.createElementBlock("label", {
|
|
20
|
+
class: vue.normalizeClass(["top-el top-radio", {
|
|
21
|
+
["top-radio_" + _ctx.name]: _ctx.name !== "",
|
|
22
|
+
["top-active"]: _ctx.checked,
|
|
23
|
+
["top-disabled"]: _ctx.disabled
|
|
24
|
+
}])
|
|
25
|
+
}, [
|
|
26
|
+
vue.createElementVNode("input", {
|
|
27
|
+
type: "radio",
|
|
28
|
+
class: "top-el top-radio_input",
|
|
29
|
+
name: _ctx.name,
|
|
30
|
+
value: _ctx.value,
|
|
31
|
+
checked: _ctx.checked,
|
|
32
|
+
disabled: _ctx.disabled
|
|
33
|
+
}, null, 8, _hoisted_1),
|
|
34
|
+
_ctx.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true)
|
|
35
|
+
], 2);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
const style0 = {
|
|
40
|
+
"top-radio": "top-radio",
|
|
41
|
+
"top-el": "top-el"
|
|
42
|
+
};
|
|
43
|
+
const cssModules = {
|
|
44
|
+
"$style": style0
|
|
45
|
+
};
|
|
46
|
+
const radio = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__cssModules", cssModules]]);
|
|
47
|
+
return radio;
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=radio.amd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio.amd.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/c/radio/radio.js
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { defineComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, toDisplayString, createCommentVNode } from "vue";
|
|
2
|
+
import { _ as _export_sfc } from "../_plugin-vue_export-helper-cc2b3d55.js";
|
|
3
|
+
const _hoisted_1 = ["name", "value", "checked", "disabled"];
|
|
4
|
+
const _hoisted_2 = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "top-radio_caption"
|
|
7
|
+
};
|
|
8
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
9
|
+
__name: "radio",
|
|
10
|
+
props: {
|
|
11
|
+
name: {},
|
|
12
|
+
value: {},
|
|
13
|
+
title: {},
|
|
14
|
+
checked: { type: Boolean },
|
|
15
|
+
disabled: { type: Boolean }
|
|
16
|
+
},
|
|
17
|
+
setup(__props) {
|
|
18
|
+
return (_ctx, _cache) => {
|
|
19
|
+
return openBlock(), createElementBlock("label", {
|
|
20
|
+
class: normalizeClass(["top-el top-radio", {
|
|
21
|
+
["top-radio_" + _ctx.name]: _ctx.name !== "",
|
|
22
|
+
["top-active"]: _ctx.checked,
|
|
23
|
+
["top-disabled"]: _ctx.disabled
|
|
24
|
+
}])
|
|
25
|
+
}, [
|
|
26
|
+
createElementVNode("input", {
|
|
27
|
+
type: "radio",
|
|
28
|
+
class: "top-el top-radio_input",
|
|
29
|
+
name: _ctx.name,
|
|
30
|
+
value: _ctx.value,
|
|
31
|
+
checked: _ctx.checked,
|
|
32
|
+
disabled: _ctx.disabled
|
|
33
|
+
}, null, 8, _hoisted_1),
|
|
34
|
+
_ctx.title ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(_ctx.title), 1)) : createCommentVNode("", true)
|
|
35
|
+
], 2);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
const style0 = {
|
|
40
|
+
"top-radio": "top-radio",
|
|
41
|
+
"top-el": "top-el"
|
|
42
|
+
};
|
|
43
|
+
const cssModules = {
|
|
44
|
+
"$style": style0
|
|
45
|
+
};
|
|
46
|
+
const radio = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
|
|
47
|
+
export {
|
|
48
|
+
radio as default
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=radio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"radio.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/c/style.css
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
/* стили этого компонента грузятся всегда: resources/styles/core/icon.css */
|
|
3
1
|
|
|
4
|
-
.
|
|
5
|
-
|
|
2
|
+
/* стили этого компонента грузятся всегда: resources/styles/core/icon.css */
|
|
3
|
+
|
|
4
|
+
._example_1exbj_2 {
|
|
5
|
+
background: var(--6eb2e862);
|
|
6
6
|
}
|
|
7
|
-
.
|
|
7
|
+
._example_1exbj_2.top-active {
|
|
8
8
|
background: green;
|
|
9
|
-
}
|
|
9
|
+
}
|
|
10
10
|
.top-button {
|
|
11
11
|
cursor: pointer;
|
|
12
12
|
box-shadow: var(--top-button-box-shadow);
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
transparent 75%,
|
|
48
48
|
transparent);
|
|
49
49
|
background-size: 32px 32px;
|
|
50
|
-
animation:
|
|
50
|
+
animation: _progress_fevtt_1 1s linear infinite;
|
|
51
51
|
}
|
|
52
|
-
@keyframes
|
|
52
|
+
@keyframes _progress_fevtt_1 {
|
|
53
53
|
0% {
|
|
54
54
|
background-position-x: 0px;
|
|
55
55
|
}
|
|
@@ -211,29 +211,29 @@ a.top-button:hover {
|
|
|
211
211
|
.top-button.top-style_transparent.top-color_pink {
|
|
212
212
|
--top-button-color: var(--color-pink-450);
|
|
213
213
|
}
|
|
214
|
-
.top-button {
|
|
215
|
-
--top-button-color: var(--color-white);
|
|
216
|
-
--top-button-background-color: transparent;
|
|
217
|
-
--top-button-background-color-hover: var(--top-button-background-color);
|
|
218
|
-
--top-button-background-color-active: var(--top-button-background-color-hover);
|
|
219
|
-
--top-button-background-color-selected: var(--top-button-background-color-hover);
|
|
220
|
-
--top-button-box-shadow: none;
|
|
221
|
-
--top-button-box-shadow-hover: var(--top-shadow-darken-2);
|
|
222
|
-
--top-button-box-shadow-active: var(--top-shadow-darken-3);
|
|
223
|
-
--top-button-box-shadow-selected: var(--top-shadow-darken-3);
|
|
224
|
-
--top-forms-border-width: 0px;
|
|
225
|
-
--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));
|
|
214
|
+
.top-button {
|
|
215
|
+
--top-button-color: var(--color-white);
|
|
216
|
+
--top-button-background-color: transparent;
|
|
217
|
+
--top-button-background-color-hover: var(--top-button-background-color);
|
|
218
|
+
--top-button-background-color-active: var(--top-button-background-color-hover);
|
|
219
|
+
--top-button-background-color-selected: var(--top-button-background-color-hover);
|
|
220
|
+
--top-button-box-shadow: none;
|
|
221
|
+
--top-button-box-shadow-hover: var(--top-shadow-darken-2);
|
|
222
|
+
--top-button-box-shadow-active: var(--top-shadow-darken-3);
|
|
223
|
+
--top-button-box-shadow-selected: var(--top-shadow-darken-3);
|
|
224
|
+
--top-forms-border-width: 0px;
|
|
225
|
+
--top-icon-width: calc(var(--top-icon-size) + var(--top-forms-padding));
|
|
226
226
|
--top-icon2-width: calc(var(--top-icon2-size) + var(--top-forms-padding));
|
|
227
227
|
}
|
|
228
|
-
.top-button.top-size_l {
|
|
229
|
-
--top-forms-padding: var(--top-forms-padding_l);
|
|
228
|
+
.top-button.top-size_l {
|
|
229
|
+
--top-forms-padding: var(--top-forms-padding_l);
|
|
230
230
|
--top-forms-base-height: var(--top-forms-base-height_l);
|
|
231
231
|
}
|
|
232
|
-
.top-button.top-size_xl {
|
|
233
|
-
--top-forms-padding: var(--top-forms-padding_xl);
|
|
232
|
+
.top-button.top-size_xl {
|
|
233
|
+
--top-forms-padding: var(--top-forms-padding_xl);
|
|
234
234
|
--top-forms-base-height: var(--top-forms-base-height_xl);
|
|
235
235
|
}
|
|
236
|
-
.top-button-progress {}
|
|
236
|
+
.top-button-progress {}
|
|
237
237
|
|
|
238
238
|
[type="checkbox"].top-el:before {
|
|
239
239
|
--top-checkbox-color: var(--top-radio-color);
|
|
@@ -325,3 +325,35 @@ a.top-button:hover {
|
|
|
325
325
|
background: var(--top-checkbox-background-color-checked-hover);
|
|
326
326
|
color: var(--top-checkbox_input-switcher-color-checked-hover);
|
|
327
327
|
}
|
|
328
|
+
|
|
329
|
+
:root {
|
|
330
|
+
--top-radio-background-color: var(--content-background-color);
|
|
331
|
+
--top-radio-background-color-hover: var(--top-radio-background-color);
|
|
332
|
+
--top-radio-background-color-active: var(--top-radio-background-color);
|
|
333
|
+
}
|
|
334
|
+
.top-radio {
|
|
335
|
+
cursor: pointer;
|
|
336
|
+
}
|
|
337
|
+
[type="radio"].top-el:before {
|
|
338
|
+
content: ' ';
|
|
339
|
+
border-radius: 100%;
|
|
340
|
+
border: 1px solid var(--color-gray-200);
|
|
341
|
+
width: 16px;
|
|
342
|
+
height: 16px;
|
|
343
|
+
}
|
|
344
|
+
[type="radio"].top-el:hover:before,
|
|
345
|
+
.top-radio:hover > [type="radio"].top-el:before {
|
|
346
|
+
border-color: var(--top-radio-color-hover);
|
|
347
|
+
}
|
|
348
|
+
[type="radio"].top-el:checked:before {
|
|
349
|
+
box-shadow:
|
|
350
|
+
var(--top-radio-background-color) 1px 1px 0 inset,
|
|
351
|
+
var(--top-radio-background-color) -1px -1px 0 inset,
|
|
352
|
+
var(--top-radio-background-color) 1px -1px 0 inset,
|
|
353
|
+
var(--top-radio-background-color) -1px 1px 0 inset;
|
|
354
|
+
background: var(--top-radio-color);
|
|
355
|
+
border-color: var(--top-radio-color);
|
|
356
|
+
}
|
|
357
|
+
[type="radio"].top-el[title]:after {
|
|
358
|
+
margin: 0 0 0 8px;
|
|
359
|
+
}
|