@topvisor/ui 0.0.13 → 0.0.14

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 (57) hide show
  1. package/.chunks/forms-1b3f76e9.es.js +410 -0
  2. package/.chunks/forms-1b3f76e9.es.js.map +1 -0
  3. package/.chunks/forms-512abfa7.amd.js +413 -0
  4. package/.chunks/forms-512abfa7.amd.js.map +1 -0
  5. package/README.md +62 -85
  6. package/{l/common → common}/common.amd.js +0 -1
  7. package/{l/common → common}/common.amd.js.map +1 -1
  8. package/{l/common → common}/common.js +0 -1
  9. package/{l/common → common}/common.js.map +1 -1
  10. package/core.css +442 -371
  11. package/dark.css +127 -115
  12. package/forms/forms.amd.js +11 -0
  13. package/forms/forms.amd.js.map +1 -0
  14. package/forms/forms.js +11 -0
  15. package/forms/forms.js.map +1 -0
  16. package/{c/style.css → forms.css} +301 -252
  17. package/helpers/helpers.amd.js +6 -0
  18. package/helpers/helpers.amd.js.map +1 -0
  19. package/helpers/helpers.js +6 -0
  20. package/helpers/helpers.js.map +1 -0
  21. package/icomoon/demo-files/Read Me.txt +7 -7
  22. package/icomoon/demo-files/demo.css +161 -161
  23. package/icomoon/demo-files/demo.js +30 -30
  24. package/icomoon/demo.html +2931 -2931
  25. package/icomoon/fonts/Topvisor-2.svg +231 -231
  26. package/icomoon/style.css +644 -644
  27. package/light.css +127 -128
  28. package/package.json +19 -19
  29. package/c/_plugin-vue_export-helper-cb5c78ba.js +0 -12
  30. package/c/_plugin-vue_export-helper-cb5c78ba.js.map +0 -1
  31. package/c/_plugin-vue_export-helper-cc2b3d55.js +0 -11
  32. package/c/_plugin-vue_export-helper-cc2b3d55.js.map +0 -1
  33. package/c/button/button.amd.js +0 -99
  34. package/c/button/button.amd.js.map +0 -1
  35. package/c/button/button.js +0 -100
  36. package/c/button/button.js.map +0 -1
  37. package/c/checkbox/checkbox.amd.js +0 -58
  38. package/c/checkbox/checkbox.amd.js.map +0 -1
  39. package/c/checkbox/checkbox.js +0 -59
  40. package/c/checkbox/checkbox.js.map +0 -1
  41. package/c/example/example.amd.js +0 -35
  42. package/c/example/example.amd.js.map +0 -1
  43. package/c/example/example.js +0 -36
  44. package/c/example/example.js.map +0 -1
  45. package/c/icon/icon.amd.js +0 -22
  46. package/c/icon/icon.amd.js.map +0 -1
  47. package/c/icon/icon.js +0 -22
  48. package/c/icon/icon.js.map +0 -1
  49. package/c/radio/radio.amd.js +0 -49
  50. package/c/radio/radio.amd.js.map +0 -1
  51. package/c/radio/radio.js +0 -50
  52. package/c/radio/radio.js.map +0 -1
  53. package/l/forms/forms.amd.js +0 -206
  54. package/l/forms/forms.amd.js.map +0 -1
  55. package/l/forms/forms.js +0 -205
  56. package/l/forms/forms.js.map +0 -1
  57. package/l/style.css +0 -352
@@ -1,59 +0,0 @@
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", "indeterminate", "disabled"];
4
- const _hoisted_2 = {
5
- key: 0,
6
- class: "top-checkbox_caption"
7
- };
8
- const _sfc_main = /* @__PURE__ */ defineComponent({
9
- __name: "checkbox",
10
- props: {
11
- name: {},
12
- value: {},
13
- title: {},
14
- checked: { type: Boolean },
15
- disabled: { type: Boolean },
16
- indeterminate: { type: Boolean },
17
- isSwitcher: { type: Boolean }
18
- },
19
- setup(__props) {
20
- const props = __props;
21
- return (_ctx, _cache) => {
22
- return openBlock(), createElementBlock("label", {
23
- class: normalizeClass({
24
- ["top-el"]: true,
25
- ["top-checkbox"]: true,
26
- ["top-checkbox_" + props.name]: props.name !== "",
27
- ["top-active"]: props.checked,
28
- ["top-disabled"]: props.disabled
29
- })
30
- }, [
31
- createElementVNode("input", {
32
- type: "checkbox",
33
- class: normalizeClass(["top-el", {
34
- ["top-checkbox_input"]: true,
35
- ["top-checkbox_input-switcher"]: _ctx.isSwitcher
36
- }]),
37
- name: _ctx.name,
38
- value: _ctx.value,
39
- checked: _ctx.checked,
40
- indeterminate: _ctx.indeterminate,
41
- disabled: _ctx.disabled
42
- }, null, 10, _hoisted_1),
43
- _ctx.title ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(_ctx.title), 1)) : createCommentVNode("", true)
44
- ], 2);
45
- };
46
- }
47
- });
48
- const style0 = {
49
- "top-el": "top-el",
50
- "top-checkbox_input-switcher": "top-checkbox_input-switcher"
51
- };
52
- const cssModules = {
53
- "$style": style0
54
- };
55
- const checkbox = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
56
- export {
57
- checkbox as default
58
- };
59
- //# sourceMappingURL=checkbox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkbox.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,35 +0,0 @@
1
- define(["vue", "../_plugin-vue_export-helper-cb5c78ba"], function(vue, _pluginVue_exportHelper) {
2
- "use strict"; vue = vue ?? Vue;
3
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4
- __name: "example",
5
- props: {
6
- text: { default: "Вы можете поменять этот текст в props.text" },
7
- color: {},
8
- isActive: { type: Boolean }
9
- },
10
- setup(__props) {
11
- vue.useCssVars((_ctx) => ({
12
- "6eb2e862": _ctx.color
13
- }));
14
- return (_ctx, _cache) => {
15
- return vue.openBlock(), vue.createElementBlock("div", {
16
- class: vue.normalizeClass({
17
- [_ctx.$style.example]: true,
18
- [_ctx.$style["top-active"]]: _ctx.isActive
19
- })
20
- }, vue.toDisplayString(_ctx.text), 3);
21
- };
22
- }
23
- });
24
- const example$1 = "_example_1exbj_2";
25
- const style0 = {
26
- example: example$1,
27
- "top-active": "top-active"
28
- };
29
- const cssModules = {
30
- "$style": style0
31
- };
32
- const example = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__cssModules", cssModules]]);
33
- return example;
34
- });
35
- //# sourceMappingURL=example.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.amd.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,36 +0,0 @@
1
- import { defineComponent, useCssVars, openBlock, createElementBlock, normalizeClass, toDisplayString } from "vue";
2
- import { _ as _export_sfc } from "../_plugin-vue_export-helper-cc2b3d55.js";
3
- const _sfc_main = /* @__PURE__ */ defineComponent({
4
- __name: "example",
5
- props: {
6
- text: { default: "Вы можете поменять этот текст в props.text" },
7
- color: {},
8
- isActive: { type: Boolean }
9
- },
10
- setup(__props) {
11
- useCssVars((_ctx) => ({
12
- "6eb2e862": _ctx.color
13
- }));
14
- return (_ctx, _cache) => {
15
- return openBlock(), createElementBlock("div", {
16
- class: normalizeClass({
17
- [_ctx.$style.example]: true,
18
- [_ctx.$style["top-active"]]: _ctx.isActive
19
- })
20
- }, toDisplayString(_ctx.text), 3);
21
- };
22
- }
23
- });
24
- const example$1 = "_example_1exbj_2";
25
- const style0 = {
26
- example: example$1,
27
- "top-active": "top-active"
28
- };
29
- const cssModules = {
30
- "$style": style0
31
- };
32
- const example = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
33
- export {
34
- example as default
35
- };
36
- //# sourceMappingURL=example.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"example.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,22 +0,0 @@
1
- define(["vue"], function(vue) {
2
- "use strict"; vue = vue ?? Vue;
3
- const _hoisted_1 = ["data-top-icon", "data-top-icon2"];
4
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
5
- __name: "icon",
6
- props: {
7
- icon: {},
8
- icon2: {}
9
- },
10
- setup(__props) {
11
- return (_ctx, _cache) => {
12
- return vue.openBlock(), vue.createElementBlock("div", {
13
- "data-top-icon": _ctx.icon,
14
- "data-top-icon2": _ctx.icon2
15
- }, null, 8, _hoisted_1);
16
- };
17
- }
18
- });
19
- const icon_vue_vue_type_style_index_0_lang = "";
20
- return _sfc_main;
21
- });
22
- //# sourceMappingURL=icon.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon.amd.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
package/c/icon/icon.js DELETED
@@ -1,22 +0,0 @@
1
- import { defineComponent, openBlock, createElementBlock } from "vue";
2
- const _hoisted_1 = ["data-top-icon", "data-top-icon2"];
3
- const _sfc_main = /* @__PURE__ */ defineComponent({
4
- __name: "icon",
5
- props: {
6
- icon: {},
7
- icon2: {}
8
- },
9
- setup(__props) {
10
- return (_ctx, _cache) => {
11
- return openBlock(), createElementBlock("div", {
12
- "data-top-icon": _ctx.icon,
13
- "data-top-icon2": _ctx.icon2
14
- }, null, 8, _hoisted_1);
15
- };
16
- }
17
- });
18
- const icon_vue_vue_type_style_index_0_lang = "";
19
- export {
20
- _sfc_main as default
21
- };
22
- //# sourceMappingURL=icon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;"}
@@ -1,49 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"radio.amd.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/c/radio/radio.js DELETED
@@ -1,50 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"radio.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,206 +0,0 @@
1
- define(["exports", "vue"], function(exports, vue) {
2
- "use strict"; vue = vue ?? Vue;
3
- var COLOR = /* @__PURE__ */ ((COLOR2) => {
4
- COLOR2["Theme"] = "theme";
5
- COLOR2["Blue"] = "blue";
6
- COLOR2["Green"] = "green";
7
- COLOR2["Orange"] = "orange";
8
- COLOR2["Red"] = "red";
9
- COLOR2["Pink"] = "pink";
10
- return COLOR2;
11
- })(COLOR || {});
12
- var STYLING = /* @__PURE__ */ ((STYLING2) => {
13
- STYLING2["Regular"] = "";
14
- STYLING2["Outline"] = "outline";
15
- STYLING2["Soft"] = "soft";
16
- STYLING2["Transparent"] = "transparent";
17
- return STYLING2;
18
- })(STYLING || {});
19
- var SIZE = /* @__PURE__ */ ((SIZE2) => {
20
- SIZE2["S"] = "";
21
- SIZE2["L"] = "l";
22
- SIZE2["XL"] = "xl";
23
- return SIZE2;
24
- })(SIZE || {});
25
- const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
26
- __name: "button",
27
- props: {
28
- color: { default: COLOR.Blue },
29
- styling: { default: STYLING.Regular },
30
- size: { default: SIZE.S },
31
- name: {},
32
- title: {},
33
- icon: {},
34
- icon2: {},
35
- href: {},
36
- disabled: { type: Boolean },
37
- isSubmit: { type: Boolean },
38
- isActive: { type: Boolean },
39
- isProgress: { type: Boolean }
40
- },
41
- setup(__props) {
42
- const props = __props;
43
- const tagName = vue.computed(() => props.href ? "a" : "button");
44
- const type = vue.computed(() => props.isSubmit ? "submit" : void 0);
45
- return (_ctx, _cache) => {
46
- return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(tagName.value), {
47
- class: vue.normalizeClass({
48
- ["top-active"]: props.isActive,
49
- ["top-disabled"]: props.disabled,
50
- [_ctx.$style["top-button"]]: true,
51
- [_ctx.$style["top-button-progress"]]: props.isProgress,
52
- [_ctx.$style[`top-size_${props.size}`]]: !!props.size,
53
- [_ctx.$style[`top-color_${props.color}`]]: true,
54
- [_ctx.$style[`top-style_${props.styling}`]]: !!props.styling
55
- }),
56
- name: _ctx.name,
57
- title: _ctx.title,
58
- href: _ctx.href,
59
- type: type.value,
60
- "data-top-icon": _ctx.icon || void 0,
61
- "data-top-icon2": _ctx.icon2 || void 0,
62
- disabled: _ctx.disabled || void 0,
63
- inProgress: _ctx.isProgress
64
- }, {
65
- default: vue.withCtx(() => [
66
- vue.renderSlot(_ctx.$slots, "default", {}, () => [
67
- vue.createTextVNode(vue.toDisplayString(!_ctx.icon ? "Button" : ""), 1)
68
- ])
69
- ]),
70
- _: 3
71
- }, 8, ["class", "name", "title", "href", "type", "data-top-icon", "data-top-icon2", "disabled", "inProgress"]);
72
- };
73
- }
74
- });
75
- const progress = "_progress_fevtt_1";
76
- const style0$2 = {
77
- "top-button": "top-button",
78
- "top-active": "top-active",
79
- "top-button-progress": "top-button-progress",
80
- progress,
81
- "top-color_blue": "top-color_blue",
82
- "top-color_green": "top-color_green",
83
- "top-color_orange": "top-color_orange",
84
- "top-color_red": "top-color_red",
85
- "top-color_pink": "top-color_pink",
86
- "top-color_theme": "top-color_theme",
87
- "top-style_outline": "top-style_outline",
88
- "top-style_soft": "top-style_soft",
89
- "top-style_transparent": "top-style_transparent",
90
- "top-size_l": "top-size_l",
91
- "top-size_xl": "top-size_xl"
92
- };
93
- const _export_sfc = (sfc, props) => {
94
- const target = sfc.__vccOpts || sfc;
95
- for (const [key, val] of props) {
96
- target[key] = val;
97
- }
98
- return target;
99
- };
100
- const cssModules$2 = {
101
- "$style": style0$2
102
- };
103
- const button = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$2]]);
104
- const _hoisted_1$1 = ["name", "value", "checked", "indeterminate", "disabled"];
105
- const _hoisted_2$1 = {
106
- key: 0,
107
- class: "top-checkbox_caption"
108
- };
109
- const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
110
- __name: "checkbox",
111
- props: {
112
- name: {},
113
- value: {},
114
- title: {},
115
- checked: { type: Boolean },
116
- disabled: { type: Boolean },
117
- indeterminate: { type: Boolean },
118
- isSwitcher: { type: Boolean }
119
- },
120
- setup(__props) {
121
- const props = __props;
122
- return (_ctx, _cache) => {
123
- return vue.openBlock(), vue.createElementBlock("label", {
124
- class: vue.normalizeClass({
125
- ["top-el"]: true,
126
- ["top-checkbox"]: true,
127
- ["top-checkbox_" + props.name]: props.name !== "",
128
- ["top-active"]: props.checked,
129
- ["top-disabled"]: props.disabled
130
- })
131
- }, [
132
- vue.createElementVNode("input", {
133
- type: "checkbox",
134
- class: vue.normalizeClass(["top-el", {
135
- ["top-checkbox_input"]: true,
136
- ["top-checkbox_input-switcher"]: _ctx.isSwitcher
137
- }]),
138
- name: _ctx.name,
139
- value: _ctx.value,
140
- checked: _ctx.checked,
141
- indeterminate: _ctx.indeterminate,
142
- disabled: _ctx.disabled
143
- }, null, 10, _hoisted_1$1),
144
- _ctx.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$1, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true)
145
- ], 2);
146
- };
147
- }
148
- });
149
- const style0$1 = {
150
- "top-el": "top-el",
151
- "top-checkbox_input-switcher": "top-checkbox_input-switcher"
152
- };
153
- const cssModules$1 = {
154
- "$style": style0$1
155
- };
156
- const checkbox = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1]]);
157
- const _hoisted_1 = ["name", "value", "checked", "disabled"];
158
- const _hoisted_2 = {
159
- key: 0,
160
- class: "top-radio_caption"
161
- };
162
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
163
- __name: "radio",
164
- props: {
165
- name: {},
166
- value: {},
167
- title: {},
168
- checked: { type: Boolean },
169
- disabled: { type: Boolean }
170
- },
171
- setup(__props) {
172
- return (_ctx, _cache) => {
173
- return vue.openBlock(), vue.createElementBlock("label", {
174
- class: vue.normalizeClass(["top-el top-radio", {
175
- ["top-radio_" + _ctx.name]: _ctx.name !== "",
176
- ["top-active"]: _ctx.checked,
177
- ["top-disabled"]: _ctx.disabled
178
- }])
179
- }, [
180
- vue.createElementVNode("input", {
181
- type: "radio",
182
- class: "top-el top-radio_input",
183
- name: _ctx.name,
184
- value: _ctx.value,
185
- checked: _ctx.checked,
186
- disabled: _ctx.disabled
187
- }, null, 8, _hoisted_1),
188
- _ctx.title ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2, vue.toDisplayString(_ctx.title), 1)) : vue.createCommentVNode("", true)
189
- ], 2);
190
- };
191
- }
192
- });
193
- const style0 = {
194
- "top-radio": "top-radio",
195
- "top-el": "top-el"
196
- };
197
- const cssModules = {
198
- "$style": style0
199
- };
200
- const radio = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
201
- exports.Button = button;
202
- exports.Checkbox = checkbox;
203
- exports.Radio = radio;
204
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
205
- });
206
- //# sourceMappingURL=forms.amd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"forms.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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}