@bagelink/vue 0.0.300 → 0.0.304
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/dist/components/Alert.vue.d.ts +1 -0
- package/dist/components/Alert.vue.d.ts.map +1 -1
- package/dist/components/BglVideo.vue.d.ts.map +1 -1
- package/dist/components/Btn.vue.d.ts.map +1 -1
- package/dist/components/Card.vue.d.ts +6 -2
- package/dist/components/Card.vue.d.ts.map +1 -1
- package/dist/components/Carousel.vue.d.ts +64 -0
- package/dist/components/Carousel.vue.d.ts.map +1 -0
- package/dist/components/ListView.vue.d.ts +2 -26
- package/dist/components/ListView.vue.d.ts.map +1 -1
- package/dist/components/Modal.vue.d.ts.map +1 -1
- package/dist/components/ModalForm.vue.d.ts.map +1 -1
- package/dist/components/NavBar.vue.d.ts +0 -7
- package/dist/components/NavBar.vue.d.ts.map +1 -1
- package/dist/components/PageTitle.vue.d.ts.map +1 -1
- package/dist/components/TableSchema.vue.d.ts.map +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/index.cjs +357 -212
- package/dist/index.mjs +358 -213
- package/dist/style.css +1191 -883
- package/dist/types/NavLink.d.ts +9 -0
- package/dist/types/NavLink.d.ts.map +1 -0
- package/package.json +3 -3
- package/src/components/Alert.vue +37 -16
- package/src/components/Avatar.vue +1 -1
- package/src/components/Badge.vue +50 -5
- package/src/components/BglVideo.vue +38 -22
- package/src/components/Btn.vue +137 -135
- package/src/components/Card.vue +46 -3
- package/src/components/Carousel.vue +258 -0
- package/src/components/ListItem.vue +1 -1
- package/src/components/ListView.vue +47 -38
- package/src/components/Modal.vue +38 -2
- package/src/components/ModalForm.vue +4 -2
- package/src/components/NavBar.vue +42 -67
- package/src/components/PageTitle.vue +33 -11
- package/src/components/TabbedLayout.vue +1 -1
- package/src/components/TableSchema.vue +67 -77
- package/src/components/index.ts +1 -1
- package/src/components/whatsapp/form/MsgTemplate.vue +1 -1
- package/src/styles/bagel.css +11 -2
- package/src/styles/buttons.css +1 -0
- package/src/styles/inputs.css +91 -92
- package/src/styles/layout.css +337 -18
- package/src/styles/loginCard.css +48 -0
- package/src/styles/text.css +27 -11
- package/src/styles/theme.css +226 -515
- package/src/styles/transitions.css +18 -0
- package/src/types/NavLink.ts +9 -0
- package/src/components/LangText.vue +0 -32
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavLink.d.ts","sourceRoot":"","sources":["../../src/types/NavLink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bagelink/vue",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.304",
|
|
5
5
|
"description": "Bagel core sdk packages",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Neveh Allon",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
],
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@vue-macros/reactivity-transform": "^0.4.3",
|
|
55
|
-
"vue": "^3.4.
|
|
55
|
+
"vue": "^3.4.21"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
58
|
"@bagelink/sdk": "*",
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
},
|
|
115
115
|
"dependencies": {
|
|
116
116
|
"floating-vue": "^5.2.2",
|
|
117
|
-
"type-fest": "^4.
|
|
117
|
+
"type-fest": "^4.11.1",
|
|
118
118
|
"vue-multiselect": "3.0.0-beta.3"
|
|
119
119
|
},
|
|
120
120
|
"scripts": {
|
package/src/components/Alert.vue
CHANGED
|
@@ -1,40 +1,48 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
<div class="alert" :class="[type]" v-if="!isDismissed" :dismissable="dismissable" >
|
|
3
|
+
<Icon class="alert_icon" :icon="type" :size="2" :color="color[type]"/>
|
|
4
|
+
<p>
|
|
5
|
+
{{ message }}
|
|
6
|
+
</p>
|
|
7
|
+
<Btn @click="isDismissed = true" flat thin class="alert_close" icon="close"/>
|
|
8
|
+
</div>
|
|
6
9
|
</template>
|
|
7
10
|
|
|
8
11
|
<script setup lang="ts">
|
|
9
12
|
import { Icon } from '@bagelink/vue';
|
|
13
|
+
import Btn from './Btn.vue';
|
|
10
14
|
|
|
11
15
|
type Props = {
|
|
12
16
|
message: string;
|
|
17
|
+
dismissable?: boolean;
|
|
13
18
|
type: 'info' | 'warning' | 'error';
|
|
14
19
|
}
|
|
15
20
|
|
|
16
21
|
withDefaults(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
defineProps<Props>(),
|
|
23
|
+
{
|
|
24
|
+
type: 'info',
|
|
25
|
+
},
|
|
21
26
|
);
|
|
22
27
|
|
|
28
|
+
const isDismissed = $ref(false);
|
|
29
|
+
|
|
23
30
|
const color = {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
info: 'var(--bgl-primary)',
|
|
32
|
+
warning: 'var(--bgl-yellow)',
|
|
33
|
+
error: 'var(--bgl-red)',
|
|
27
34
|
};
|
|
28
35
|
</script>
|
|
29
36
|
|
|
30
37
|
<style scoped>
|
|
31
38
|
.alert {
|
|
32
|
-
padding:
|
|
33
|
-
border-radius:
|
|
34
|
-
background:
|
|
39
|
+
padding: var(--btn-padding);
|
|
40
|
+
border-radius: var(--card-border-radius);
|
|
41
|
+
background: var(--bgl-primary-light);
|
|
35
42
|
display: flex;
|
|
36
43
|
align-items: flex-start;
|
|
37
44
|
gap: 1rem;
|
|
45
|
+
position: relative;
|
|
38
46
|
}
|
|
39
47
|
|
|
40
48
|
.alert_icon {
|
|
@@ -42,10 +50,23 @@ const color = {
|
|
|
42
50
|
}
|
|
43
51
|
|
|
44
52
|
.alert.warning {
|
|
45
|
-
background-color:
|
|
53
|
+
background-color: var(--bgl-yellow-light);
|
|
46
54
|
}
|
|
47
55
|
|
|
48
56
|
.alert.error {
|
|
49
|
-
background
|
|
57
|
+
background: var(--bgl-red-tint);
|
|
58
|
+
}
|
|
59
|
+
.alert_close{
|
|
60
|
+
display: none;
|
|
61
|
+
position: absolute;
|
|
62
|
+
inset-inline-end: 1.5rem;
|
|
63
|
+
top: 2rem;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.alert[dismissable="true"] .alert_close{
|
|
67
|
+
display: block;
|
|
68
|
+
}
|
|
69
|
+
.alert[dismissable="true"] p{
|
|
70
|
+
width: calc(100% - 5rem);
|
|
50
71
|
}
|
|
51
72
|
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="avatar" :style="{ width: `${size}px`, height: `${size}px` }">
|
|
3
3
|
<img v-if="src" :src="src" :alt="name">
|
|
4
|
-
<p v-else :style="{ 'line-height': `${size *
|
|
4
|
+
<p v-else :style="{ 'line-height': `${size}px`, 'font-size': `calc(1.5rem * ${size} / 50)` }">
|
|
5
5
|
{{ fallback || initials(name || '') }}
|
|
6
6
|
</p>
|
|
7
7
|
</div>
|
package/src/components/Badge.vue
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
<div class="pill" :class="[color]">
|
|
3
|
+
<Icon v-if="icon" class="inline" :icon="icon" />
|
|
4
|
+
{{ text }}
|
|
5
|
+
<Icon class="inline" v-if="props['icon.end']" :icon="props['icon.end']" />
|
|
6
|
+
</div>
|
|
7
7
|
</template>
|
|
8
8
|
|
|
9
9
|
<script setup lang="ts">
|
|
@@ -26,3 +26,48 @@ const props = defineProps<Props>();
|
|
|
26
26
|
display: inline;
|
|
27
27
|
}
|
|
28
28
|
</style>
|
|
29
|
+
<style>
|
|
30
|
+
.pill {
|
|
31
|
+
border-radius: 10px;
|
|
32
|
+
padding: 4px 8px;
|
|
33
|
+
font-size: 10px;
|
|
34
|
+
background: var(--bgl-gray-light);
|
|
35
|
+
white-space: nowrap;
|
|
36
|
+
display: inline;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.pill.blue {
|
|
40
|
+
background: var(--bgl-blue-light);
|
|
41
|
+
color: var(--bgl-primary);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.pill.red {
|
|
45
|
+
background-color: var(--bgl-red-tint);
|
|
46
|
+
color: var(--bgl-red);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.pill.green {
|
|
50
|
+
background-color: var(--bgl-green);
|
|
51
|
+
color: var(--bgl-white);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.pill.orange {
|
|
55
|
+
background-color: var(--bgl-yellow);
|
|
56
|
+
color: var(--bgl-black);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.pill.yellow {
|
|
60
|
+
background-color: var(--bgl-yellow);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.pill.Paid,
|
|
64
|
+
.pill.Active {
|
|
65
|
+
background-color: var(--bgl-green);
|
|
66
|
+
color: white;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.pill.Error {
|
|
70
|
+
background-color: var(--bgl-red-tint);
|
|
71
|
+
color: var(--bgl-red);
|
|
72
|
+
}
|
|
73
|
+
</style>
|
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
<div class="bgl_vid">
|
|
3
|
+
<iframe
|
|
4
|
+
v-if="embedType"
|
|
5
|
+
:src="videoUrl"
|
|
6
|
+
:style="{ aspectRatio }"
|
|
7
|
+
frameborder="0"
|
|
8
|
+
allowfullscreen
|
|
9
|
+
title="Video"
|
|
10
|
+
/>
|
|
11
|
+
<video
|
|
12
|
+
v-else
|
|
13
|
+
:src="src"
|
|
14
|
+
:autoplay="autoplay"
|
|
15
|
+
:muted="mute"
|
|
16
|
+
:loop="loop"
|
|
17
|
+
:style="{ aspectRatio }"
|
|
18
|
+
:controls="controls"
|
|
19
|
+
playsinline
|
|
20
|
+
/>
|
|
21
|
+
</div>
|
|
7
22
|
</template>
|
|
8
23
|
|
|
9
24
|
<script setup lang="ts">
|
|
@@ -21,26 +36,26 @@ const props = defineProps<Props>();
|
|
|
21
36
|
const aspectRatio = $computed(() => props.aspectRatio.replace(':', '/'));
|
|
22
37
|
|
|
23
38
|
const embedType = $computed<'YouTube' | 'Vimeo' | null>(() => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
39
|
+
const youtubeRegex = /youtube\.com|youtu\.be/;
|
|
40
|
+
if (youtubeRegex.test(props.src)) return 'YouTube';
|
|
41
|
+
const vimeoRegex = /vimeo\.com/;
|
|
42
|
+
if (vimeoRegex.test(props.src)) return 'Vimeo';
|
|
43
|
+
return null;
|
|
29
44
|
});
|
|
30
45
|
|
|
31
46
|
const videoUrl = $computed(() => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
47
|
+
if (embedType) {
|
|
48
|
+
if (embedType === 'YouTube') {
|
|
49
|
+
const videoId = props.src.split(/v=|youtu\.be\//)?.[1]?.split('&')?.[0];
|
|
50
|
+
return `https://www.youtube.com/embed/${videoId}`;
|
|
51
|
+
}
|
|
52
|
+
if (embedType === 'Vimeo') {
|
|
53
|
+
const vimeoRegex = /vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/)?(\d+)(?:$|\/|\?)/;
|
|
54
|
+
const videoId = props.src.match(vimeoRegex)?.[3];
|
|
55
|
+
return `https://player.vimeo.com/video/${videoId}`;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return props.src;
|
|
44
59
|
});
|
|
45
60
|
|
|
46
61
|
console.log('Video URL:', videoUrl);
|
|
@@ -51,5 +66,6 @@ console.log('Video URL:', videoUrl);
|
|
|
51
66
|
.bgl_vid video {
|
|
52
67
|
width: 100%;
|
|
53
68
|
height: auto;
|
|
69
|
+
display: block
|
|
54
70
|
}
|
|
55
71
|
</style>
|
package/src/components/Btn.vue
CHANGED
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
</div>
|
|
22
|
-
</component>
|
|
2
|
+
<component :is="to ? 'router-link' : is" :to="to" @click.stop="onClick" :type="type" :role="role" :disabled="disabled"
|
|
3
|
+
:class="{
|
|
4
|
+
'bgl_btn-icon': icon && !slots['default'] && !value,
|
|
5
|
+
bgl_btn: !icon || slots['default'] || value,
|
|
6
|
+
thin,
|
|
7
|
+
round,
|
|
8
|
+
'bgl_flatBtn': flat,
|
|
9
|
+
'bgl_btn-border': border
|
|
10
|
+
}">
|
|
11
|
+
<div class="loading" v-if="loading" />
|
|
12
|
+
<div v-else class="bgl_btn-flex">
|
|
13
|
+
<MaterialIcon v-if="icon" :icon="icon" />
|
|
14
|
+
<slot />
|
|
15
|
+
<template v-if="!slots['default'] && value">
|
|
16
|
+
{{ value }}
|
|
17
|
+
</template>
|
|
18
|
+
<MaterialIcon v-if="props['icon.end']" :icon="props['icon.end']" />
|
|
19
|
+
</div>
|
|
20
|
+
</component>
|
|
23
21
|
</template>
|
|
24
22
|
|
|
25
23
|
<script setup lang="ts">
|
|
@@ -30,224 +28,228 @@ import type { MaterialIcons, ThemeType } from '@bagelink/vue';
|
|
|
30
28
|
import { MaterialIcon } from '@bagelink/vue';
|
|
31
29
|
|
|
32
30
|
const props = withDefaults(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
31
|
+
defineProps<{
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
icon?: MaterialIcons;
|
|
34
|
+
'icon.end'?: MaterialIcons;
|
|
35
|
+
color?: ThemeType;
|
|
36
|
+
theme?: ThemeType;
|
|
37
|
+
flat?: boolean;
|
|
38
|
+
border?: boolean;
|
|
39
|
+
thin?: boolean;
|
|
40
|
+
type?: 'button' | 'submit' | 'reset';
|
|
41
|
+
loading?: boolean;
|
|
42
|
+
role?: string;
|
|
43
|
+
value?: string;
|
|
44
|
+
to?: string;
|
|
45
|
+
round?: boolean;
|
|
46
|
+
is?: string;
|
|
47
|
+
onClick?: (e: MouseEvent) => void;
|
|
48
|
+
}>(),
|
|
49
|
+
{
|
|
50
|
+
onClick: () => '',
|
|
51
|
+
loading: false,
|
|
52
|
+
round: false,
|
|
53
|
+
disabled: false,
|
|
54
|
+
type: 'button',
|
|
55
|
+
role: 'button',
|
|
56
|
+
is: 'button',
|
|
57
|
+
border: false,
|
|
58
|
+
},
|
|
61
59
|
);
|
|
62
60
|
|
|
63
61
|
const computedTheme = $computed(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
() => {
|
|
63
|
+
if (props.disabled) return 'gray-light';
|
|
64
|
+
return (props?.color || props?.theme);
|
|
65
|
+
},
|
|
68
66
|
);
|
|
69
67
|
|
|
70
68
|
const computedDefaultColors = $computed(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
() => ({
|
|
70
|
+
backgroundColor: 'var(--bgl-primary)',
|
|
71
|
+
color: props.flat ? 'var(--bgl-black)' : 'var(--bgl-white)',
|
|
72
|
+
}),
|
|
75
73
|
);
|
|
76
74
|
|
|
77
75
|
function getThemeColors(theme: Partial<typeof computedDefaultColors>): typeof computedDefaultColors {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
76
|
+
return ({
|
|
77
|
+
...computedDefaultColors,
|
|
78
|
+
...theme,
|
|
79
|
+
color: props.flat
|
|
80
|
+
? theme.backgroundColor as string
|
|
81
|
+
: theme.color as string,
|
|
82
|
+
});
|
|
85
83
|
}
|
|
86
84
|
|
|
87
85
|
const themes: { [key in ThemeType]: typeof computedDefaultColors } = {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
86
|
+
red: getThemeColors({ backgroundColor: 'var(--bgl-red)' }),
|
|
87
|
+
black: getThemeColors({ backgroundColor: 'var(--bgl-black)' }),
|
|
88
|
+
green: getThemeColors({ backgroundColor: 'var(--bgl-green)', color: 'var(--bgl-white)' }),
|
|
89
|
+
primary: getThemeColors({ backgroundColor: 'var(--bgl-primary)', color: 'var(--bgl-white)' }),
|
|
90
|
+
gray: getThemeColors({ backgroundColor: 'var(--bgl-gray-light)', color: 'var(--bgl-black)' }),
|
|
91
|
+
light: getThemeColors({ backgroundColor: 'var(--bgl-primary-light)', color: 'var(--bgl-primary)' }),
|
|
92
|
+
'gray-light': getThemeColors({ backgroundColor: 'var(--bgl-gray-light)', color: 'var(--bgl-gray)' }),
|
|
93
|
+
blue: getThemeColors({}),
|
|
96
94
|
};
|
|
97
95
|
|
|
98
96
|
const cumputedTextColor = $computed(
|
|
99
|
-
|
|
97
|
+
() => (themes?.[computedTheme as ThemeType]?.color || computedDefaultColors.color),
|
|
100
98
|
);
|
|
101
99
|
|
|
102
100
|
const computedBackgroundColor = $computed(
|
|
103
|
-
|
|
101
|
+
() => (themes?.[computedTheme as ThemeType]?.backgroundColor || computedDefaultColors.backgroundColor),
|
|
104
102
|
);
|
|
105
103
|
</script>
|
|
106
104
|
|
|
107
105
|
<style scoped>
|
|
106
|
+
a {
|
|
107
|
+
text-decoration: none;
|
|
108
|
+
}
|
|
109
|
+
|
|
108
110
|
.loading {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
111
|
+
border: 1px solid var(--bgl-white);
|
|
112
|
+
border-bottom: 2px solid var(--bgl-white);
|
|
113
|
+
animation: spin 1s linear infinite;
|
|
114
|
+
border-radius: 100px;
|
|
115
|
+
width: 1rem;
|
|
116
|
+
height: 1rem;
|
|
117
|
+
margin: auto;
|
|
116
118
|
}
|
|
117
119
|
|
|
118
120
|
@keyframes spin {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
121
|
+
0% {
|
|
122
|
+
transform: rotate(0deg);
|
|
123
|
+
}
|
|
122
124
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
125
|
+
100% {
|
|
126
|
+
transform: rotate(360deg);
|
|
127
|
+
}
|
|
126
128
|
}
|
|
127
129
|
|
|
128
130
|
.bgl_btn-icon {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
131
|
+
height: var(--btn-height);
|
|
132
|
+
width: var(--btn-height);
|
|
133
|
+
border-radius: 100%;
|
|
134
|
+
font-size: 1rem;
|
|
135
|
+
background: var(--bgl-primary);
|
|
136
|
+
color: var(--bgl-white);
|
|
137
|
+
flex-shrink: 0;
|
|
138
|
+
transition: var(--bgl-transition);
|
|
137
139
|
}
|
|
138
140
|
|
|
139
141
|
.bgl_btn {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
142
|
+
padding-left: var(--btn-padding);
|
|
143
|
+
padding-right: var(--btn-padding);
|
|
144
|
+
transition: var(--bgl-transition);
|
|
145
|
+
text-decoration: none;
|
|
144
146
|
}
|
|
145
147
|
|
|
146
148
|
.bgl_btn[disabled="true"] {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
+
opacity: 0.5;
|
|
150
|
+
cursor: not-allowed;
|
|
149
151
|
}
|
|
150
152
|
|
|
151
153
|
.bgl_btn-flex {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
154
|
+
display: flex;
|
|
155
|
+
align-items: center;
|
|
156
|
+
gap: 0.5rem;
|
|
157
|
+
justify-content: center;
|
|
156
158
|
}
|
|
157
159
|
|
|
158
160
|
.bgl_btn .bgl_.bgl_icon-font {
|
|
159
|
-
|
|
161
|
+
font-size: calc(var(--input-font-size) * 1.3);
|
|
160
162
|
}
|
|
161
163
|
|
|
162
164
|
.bgl_btn,
|
|
163
165
|
.bgl_btn-icon {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
+
background-color: v-bind(computedBackgroundColor);
|
|
167
|
+
color: v-bind(cumputedTextColor);
|
|
166
168
|
}
|
|
167
169
|
|
|
168
170
|
.bgl_btn:hover,
|
|
169
171
|
.bgl_btn-icon:hover {
|
|
170
|
-
|
|
172
|
+
filter: var(--bgl-hover-filter);
|
|
171
173
|
}
|
|
172
174
|
|
|
173
175
|
.bgl_btn:active,
|
|
174
176
|
.bgl_btn-icon:active {
|
|
175
|
-
|
|
177
|
+
filter: var(--bgl-active-filter);
|
|
176
178
|
}
|
|
177
179
|
|
|
178
180
|
.bgl_btn.bgl_flatBtn {
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
181
|
+
padding-left: var(--btn-padding);
|
|
182
|
+
padding-right: var(--btn-padding);
|
|
183
|
+
background: transparent;
|
|
182
184
|
}
|
|
183
185
|
|
|
184
186
|
.bgl_btn-icon.bgl_flatBtn {
|
|
185
|
-
|
|
187
|
+
background: transparent;
|
|
186
188
|
}
|
|
187
189
|
|
|
188
190
|
.bgl_btn.bgl_flatBtn:hover,
|
|
189
191
|
.bgl_btn-icon.bgl_flatBtn:hover {
|
|
190
|
-
|
|
192
|
+
filter: var(--bgl-active-filter);
|
|
191
193
|
}
|
|
192
194
|
|
|
193
195
|
.bgl_btn.bgl_flatBtn:active,
|
|
194
196
|
.bgl_btn-icon.bgl_flatBtn:active {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
+
background: var(--bgl-white);
|
|
198
|
+
filter: var(--bgl-hover-filter);
|
|
197
199
|
}
|
|
198
200
|
|
|
199
201
|
.bgl_btn.bgl_flatBtn.red,
|
|
200
202
|
.bgl_btn-icon.bgl_flatBtn.red {
|
|
201
|
-
|
|
203
|
+
color: var(--bgl-red);
|
|
202
204
|
}
|
|
203
205
|
|
|
204
206
|
.bgl_btn.bgl_flatBtn.light,
|
|
205
207
|
.bgl_btn-icon.bgl_flatBtn.light {
|
|
206
|
-
|
|
208
|
+
color: var(--bgl-primary-tint);
|
|
207
209
|
}
|
|
208
210
|
|
|
209
211
|
.bgl_btn.bgl_flatBtn.black,
|
|
210
212
|
.bgl_btn-icon.bgl_flatBtn.black {
|
|
211
|
-
|
|
213
|
+
color: var(--bgl-black);
|
|
212
214
|
}
|
|
213
215
|
|
|
214
216
|
.bgl_btn.bgl_flatBtn.gray,
|
|
215
217
|
.bgl_btn-icon.bgl_flatBtn.gray {
|
|
216
|
-
|
|
218
|
+
color: var(--bgl-gray);
|
|
217
219
|
}
|
|
218
220
|
|
|
219
221
|
.bgl_btn.thin {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
+
padding-left: calc(var(--btn-padding) / 2);
|
|
223
|
+
padding-right: calc(var(--btn-padding) / 2);
|
|
222
224
|
}
|
|
223
225
|
|
|
224
226
|
.bgl_btn.round {
|
|
225
|
-
|
|
227
|
+
border-radius: calc(var(--btn-border-radius) * 2);
|
|
226
228
|
}
|
|
227
229
|
|
|
228
230
|
.bgl_btn-icon.thin {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
231
|
+
height: calc(var(--btn-height) / 1.5);
|
|
232
|
+
width: calc(var(--btn-height) / 1.5);
|
|
233
|
+
line-height: 1;
|
|
232
234
|
}
|
|
233
235
|
|
|
234
236
|
[dir="rtl"] .bgl_.bgl_icon-font {
|
|
235
|
-
|
|
237
|
+
transform: rotateY(180deg);
|
|
236
238
|
}
|
|
237
239
|
|
|
238
240
|
.bgl_btn-border {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
241
|
+
outline: 1px solid v-bind(computedBackgroundColor);
|
|
242
|
+
color: v-bind(computedBackgroundColor);
|
|
243
|
+
background: transparent;
|
|
242
244
|
}
|
|
243
245
|
|
|
244
246
|
.bgl_btn-border:hover {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
247
|
+
color: var(--bgl-white);
|
|
248
|
+
background: v-bind(computedBackgroundColor);
|
|
249
|
+
filter: brightness(100%);
|
|
248
250
|
}
|
|
249
251
|
|
|
250
252
|
.bgl_btn-border:active {
|
|
251
|
-
|
|
253
|
+
filter: brightness(80%);
|
|
252
254
|
}
|
|
253
255
|
</style>
|