@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.
Files changed (51) hide show
  1. package/dist/components/Alert.vue.d.ts +1 -0
  2. package/dist/components/Alert.vue.d.ts.map +1 -1
  3. package/dist/components/BglVideo.vue.d.ts.map +1 -1
  4. package/dist/components/Btn.vue.d.ts.map +1 -1
  5. package/dist/components/Card.vue.d.ts +6 -2
  6. package/dist/components/Card.vue.d.ts.map +1 -1
  7. package/dist/components/Carousel.vue.d.ts +64 -0
  8. package/dist/components/Carousel.vue.d.ts.map +1 -0
  9. package/dist/components/ListView.vue.d.ts +2 -26
  10. package/dist/components/ListView.vue.d.ts.map +1 -1
  11. package/dist/components/Modal.vue.d.ts.map +1 -1
  12. package/dist/components/ModalForm.vue.d.ts.map +1 -1
  13. package/dist/components/NavBar.vue.d.ts +0 -7
  14. package/dist/components/NavBar.vue.d.ts.map +1 -1
  15. package/dist/components/PageTitle.vue.d.ts.map +1 -1
  16. package/dist/components/TableSchema.vue.d.ts.map +1 -1
  17. package/dist/components/index.d.ts +1 -1
  18. package/dist/components/index.d.ts.map +1 -1
  19. package/dist/index.cjs +357 -212
  20. package/dist/index.mjs +358 -213
  21. package/dist/style.css +1191 -883
  22. package/dist/types/NavLink.d.ts +9 -0
  23. package/dist/types/NavLink.d.ts.map +1 -0
  24. package/package.json +3 -3
  25. package/src/components/Alert.vue +37 -16
  26. package/src/components/Avatar.vue +1 -1
  27. package/src/components/Badge.vue +50 -5
  28. package/src/components/BglVideo.vue +38 -22
  29. package/src/components/Btn.vue +137 -135
  30. package/src/components/Card.vue +46 -3
  31. package/src/components/Carousel.vue +258 -0
  32. package/src/components/ListItem.vue +1 -1
  33. package/src/components/ListView.vue +47 -38
  34. package/src/components/Modal.vue +38 -2
  35. package/src/components/ModalForm.vue +4 -2
  36. package/src/components/NavBar.vue +42 -67
  37. package/src/components/PageTitle.vue +33 -11
  38. package/src/components/TabbedLayout.vue +1 -1
  39. package/src/components/TableSchema.vue +67 -77
  40. package/src/components/index.ts +1 -1
  41. package/src/components/whatsapp/form/MsgTemplate.vue +1 -1
  42. package/src/styles/bagel.css +11 -2
  43. package/src/styles/buttons.css +1 -0
  44. package/src/styles/inputs.css +91 -92
  45. package/src/styles/layout.css +337 -18
  46. package/src/styles/loginCard.css +48 -0
  47. package/src/styles/text.css +27 -11
  48. package/src/styles/theme.css +226 -515
  49. package/src/styles/transitions.css +18 -0
  50. package/src/types/NavLink.ts +9 -0
  51. package/src/components/LangText.vue +0 -32
@@ -0,0 +1,9 @@
1
+ import { MaterialIcons } from './materialIcons';
2
+ export type NavLink = {
3
+ label: string;
4
+ to?: string;
5
+ materialIcon: MaterialIcons;
6
+ localized?: string;
7
+ onClick?: () => void;
8
+ };
9
+ //# sourceMappingURL=NavLink.d.ts.map
@@ -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.300",
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.19"
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.10.2",
117
+ "type-fest": "^4.11.1",
118
118
  "vue-multiselect": "3.0.0-beta.3"
119
119
  },
120
120
  "scripts": {
@@ -1,40 +1,48 @@
1
1
  <template>
2
- <div class="alert" :class="[type]">
3
- <Icon class="alert_icon" :icon="type" :size="2" :color="color[type]" />
4
- {{ message }}
5
- </div>
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
- defineProps<Props>(),
18
- {
19
- type: 'info',
20
- },
22
+ defineProps<Props>(),
23
+ {
24
+ type: 'info',
25
+ },
21
26
  );
22
27
 
28
+ const isDismissed = $ref(false);
29
+
23
30
  const color = {
24
- info: '#739DEF',
25
- warning: '#efdb73',
26
- error: '#DC3545',
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: 1rem;
33
- border-radius: 10px;
34
- background: #739def30;
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: #efdb7330;
53
+ background-color: var(--bgl-yellow-light);
46
54
  }
47
55
 
48
56
  .alert.error {
49
- background-color: #DC354530;
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 * 0.9}px` }">
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>
@@ -1,9 +1,9 @@
1
1
  <template>
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>
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
- <div class="bgl_vid">
3
- <iframe v-if="embedType" :src="videoUrl" :style="{ aspectRatio }" frameborder="0" allowfullscreen title="Video" />
4
- <video v-else :src="src" :autoplay="autoplay" :muted="mute" :loop="loop" :style="{ aspectRatio }"
5
- :controls="controls" />
6
- </div>
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
- const youtubeRegex = /youtube\.com|youtu\.be/;
25
- if (youtubeRegex.test(props.src)) return 'YouTube';
26
- const vimeoRegex = /vimeo\.com/;
27
- if (vimeoRegex.test(props.src)) return 'Vimeo';
28
- return null;
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
- if (embedType) {
33
- if (embedType === 'YouTube') {
34
- const videoId = props.src.split(/v=|youtu\.be\//)?.[1]?.split('&')?.[0];
35
- return `https://www.youtube.com/embed/${videoId}`;
36
- }
37
- if (embedType === 'Vimeo') {
38
- const vimeoRegex = /vimeo\.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/)?(\d+)(?:$|\/|\?)/;
39
- const videoId = props.src.match(vimeoRegex)?.[3];
40
- return `https://player.vimeo.com/video/${videoId}`;
41
- }
42
- }
43
- return props.src;
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>
@@ -1,25 +1,23 @@
1
1
  <template>
2
- <component
3
- :is="to ? 'router-link' : is" :to="to" @click.stop="onClick" :type="type" :role="role" :disabled="disabled"
4
- :class="{
5
- 'bgl_btn-icon': icon && !slots['default'] && !value,
6
- bgl_btn: !icon || slots['default'] || value,
7
- thin,
8
- round,
9
- 'bgl_flatBtn': flat,
10
- 'bgl_btn-border': border
11
- }"
12
- >
13
- <div class="loading" v-if="loading" />
14
- <div v-else class="bgl_btn-flex">
15
- <MaterialIcon v-if="icon" :icon="icon" />
16
- <slot />
17
- <template v-if="!slots['default'] && value">
18
- {{ value }}
19
- </template>
20
- <MaterialIcon v-if="props['icon.end']" :icon="props['icon.end']" />
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
- defineProps<{
34
- disabled?: boolean;
35
- icon?: MaterialIcons;
36
- 'icon.end'?: MaterialIcons;
37
- color?: ThemeType;
38
- theme?: ThemeType;
39
- flat?: boolean;
40
- border?: boolean;
41
- thin?: boolean;
42
- type?: 'button' | 'submit' | 'reset';
43
- loading?: boolean;
44
- role?: string;
45
- value?: string;
46
- to?: string;
47
- round?: boolean;
48
- is?: string;
49
- onClick?: (e: MouseEvent) => void;
50
- }>(),
51
- {
52
- onClick: () => '',
53
- loading: false,
54
- round: false,
55
- disabled: false,
56
- type: 'button',
57
- role: 'button',
58
- is: 'button',
59
- border: false,
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
- if (props.disabled) return 'gray-light';
66
- return (props?.color || props?.theme);
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
- backgroundColor: 'var(--bgl-primary)',
73
- color: props.flat ? 'var(--bgl-black)' : 'var(--bgl-white)',
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
- return ({
79
- ...computedDefaultColors,
80
- ...theme,
81
- color: props.flat
82
- ? theme.backgroundColor as string
83
- : theme.color as string,
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
- red: getThemeColors({ backgroundColor: 'var(--bgl-red)' }),
89
- black: getThemeColors({ backgroundColor: 'var(--bgl-black)' }),
90
- green: getThemeColors({ backgroundColor: 'var(--bgl-green)', color: 'var(--bgl-white)' }),
91
- primary: getThemeColors({ backgroundColor: 'var(--bgl-primary)', color: 'var(--bgl-white)' }),
92
- gray: getThemeColors({ backgroundColor: 'var(--bgl-gray-light)', color: 'var(--bgl-black)' }),
93
- light: getThemeColors({ backgroundColor: 'var(--bgl-primary-light)', color: 'var(--bgl-primary)' }),
94
- 'gray-light': getThemeColors({ backgroundColor: 'var(--bgl-gray-light)', color: 'var(--bgl-gray)' }),
95
- blue: getThemeColors({}),
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
- () => (themes?.[computedTheme as ThemeType]?.color || computedDefaultColors.color),
97
+ () => (themes?.[computedTheme as ThemeType]?.color || computedDefaultColors.color),
100
98
  );
101
99
 
102
100
  const computedBackgroundColor = $computed(
103
- () => (themes?.[computedTheme as ThemeType]?.backgroundColor || computedDefaultColors.backgroundColor),
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
- border: 1px solid var(--bgl-white);
110
- border-bottom: 2px solid var(--bgl-white);
111
- animation: spin 1s linear infinite;
112
- border-radius: 100px;
113
- width: 1rem;
114
- height: 1rem;
115
- margin: auto;
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
- 0% {
120
- transform: rotate(0deg);
121
- }
121
+ 0% {
122
+ transform: rotate(0deg);
123
+ }
122
124
 
123
- 100% {
124
- transform: rotate(360deg);
125
- }
125
+ 100% {
126
+ transform: rotate(360deg);
127
+ }
126
128
  }
127
129
 
128
130
  .bgl_btn-icon {
129
- height: var(--btn-height);
130
- width: var(--btn-height);
131
- border-radius: 100%;
132
- font-size: 1rem;
133
- background: var(--bgl-primary);
134
- color: var(--bgl-white);
135
- flex-shrink: 0;
136
- transition: var(--bgl-transition);
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
- padding-left: var(--btn-padding);
141
- padding-right: var(--btn-padding);
142
- transition: var(--bgl-transition);
143
- text-decoration: none;
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
- opacity: 0.5;
148
- cursor: not-allowed;
149
+ opacity: 0.5;
150
+ cursor: not-allowed;
149
151
  }
150
152
 
151
153
  .bgl_btn-flex {
152
- display: flex;
153
- align-items: center;
154
- gap: 0.5rem;
155
- justify-content: center;
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
- font-size: calc(var(--input-font-size) * 1.3);
161
+ font-size: calc(var(--input-font-size) * 1.3);
160
162
  }
161
163
 
162
164
  .bgl_btn,
163
165
  .bgl_btn-icon {
164
- background-color: v-bind(computedBackgroundColor);
165
- color: v-bind(cumputedTextColor);
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
- filter: var(--bgl-hover-filter);
172
+ filter: var(--bgl-hover-filter);
171
173
  }
172
174
 
173
175
  .bgl_btn:active,
174
176
  .bgl_btn-icon:active {
175
- filter: var(--bgl-active-filter);
177
+ filter: var(--bgl-active-filter);
176
178
  }
177
179
 
178
180
  .bgl_btn.bgl_flatBtn {
179
- padding-left: var(--btn-padding);
180
- padding-right: var(--btn-padding);
181
- background: transparent;
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
- background: transparent;
187
+ background: transparent;
186
188
  }
187
189
 
188
190
  .bgl_btn.bgl_flatBtn:hover,
189
191
  .bgl_btn-icon.bgl_flatBtn:hover {
190
- filter: var(--bgl-active-filter);
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
- background: var(--bgl-white);
196
- filter: var(--bgl-hover-filter);
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
- color: var(--bgl-red);
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
- color: var(--bgl-primary-tint);
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
- color: var(--bgl-black);
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
- color: var(--bgl-gray);
218
+ color: var(--bgl-gray);
217
219
  }
218
220
 
219
221
  .bgl_btn.thin {
220
- padding-left: calc(var(--btn-padding) / 2);
221
- padding-right: calc(var(--btn-padding) / 2);
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
- border-radius: calc(var(--btn-border-radius) * 2);
227
+ border-radius: calc(var(--btn-border-radius) * 2);
226
228
  }
227
229
 
228
230
  .bgl_btn-icon.thin {
229
- height: calc(var(--btn-height) / 1.5);
230
- width: calc(var(--btn-height) / 1.5);
231
- line-height: 1;
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
- transform: rotateY(180deg);
237
+ transform: rotateY(180deg);
236
238
  }
237
239
 
238
240
  .bgl_btn-border {
239
- outline: 1px solid v-bind(computedBackgroundColor);
240
- color: v-bind(computedBackgroundColor);
241
- background: transparent;
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
- color: var(--bgl-white);
246
- background: v-bind(computedBackgroundColor);
247
- filter: brightness(100%);
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
- filter: brightness(80%);
253
+ filter: brightness(80%);
252
254
  }
253
255
  </style>