@dative-gpi/foundation-shared-components 1.0.128-fix-mobile → 1.0.128-mountain-alpha

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.
@@ -0,0 +1,266 @@
1
+ <template>
2
+ <FSBaseField
3
+ :description="$props.description"
4
+ :hideHeader="$props.hideHeader"
5
+ :required="$props.required"
6
+ :editable="$props.editable"
7
+ :label="$props.label"
8
+ >
9
+ <FSRow
10
+ align="bottom-center"
11
+ gap="32px"
12
+ >
13
+ <FSTermField
14
+ width="430px"
15
+ :label="$tr('ui.instant-picker.analyze-period', 'Analyze Period')"
16
+ :startDate="$props.startDate"
17
+ :endDate="$props.endDate"
18
+ @update:startDate="$emit('update:startDate', $event)"
19
+ @update:endDate="$emit('update:endDate', $event)"
20
+ />
21
+ <FSRow
22
+ padding="0 0 2px 0"
23
+ align="center-center"
24
+ >
25
+ <FSCol
26
+ width="fill"
27
+ >
28
+ <FSSlider
29
+ minWidth='min(300px, 90vw)'
30
+ :color="ColorEnum.Light"
31
+ :thumbColor="ColorEnum.Primary"
32
+ :thumbSize="18"
33
+ :trackSize="8"
34
+ thumb-label="always"
35
+ :step="$props.stepTime"
36
+ :min="startTimestamp"
37
+ :max="endTimestamp"
38
+ :ticks="ticks"
39
+ showTicks="always"
40
+ :modelValue="$props.modelValue"
41
+ @update:modelValue="$emit('update:modelValue', $event)"
42
+ >
43
+ <template
44
+ #thumb-label="{ modelValue }"
45
+ >
46
+ <FSSpan
47
+ font="text-overline"
48
+ >
49
+ {{ epochToMonthShortTimeFormat(modelValue) }}
50
+ </FSSpan>
51
+ </template>
52
+ <template
53
+ #tick-label="{ tick, index }"
54
+ >
55
+ <FSRow
56
+ v-if="index % Math.trunc(ticks.length / maximumTickToShow) === 0 || ticks.length < maximumTickToShow"
57
+ >
58
+ <FSText
59
+ :color="lightColors.dark"
60
+ font="text-overline"
61
+ >
62
+ {{ intervalTime <= 3600000
63
+ ?
64
+ epochToShortTimeOnlyFormat(tick.value)
65
+ :
66
+ epochToDayMonthShortOnly(tick.value)
67
+ }}
68
+ </FSText>
69
+ </FSRow>
70
+ </template>
71
+ </FSSlider>
72
+ </FSCol>
73
+ <FSPlayButtons
74
+ v-if="$props.playable"
75
+ :modelValue="playing"
76
+ @click:backward="onClickBackward"
77
+ @click:forward="onClickForward"
78
+ @update:modelValue="onPlayingChange"
79
+ />
80
+ </FSRow>
81
+ </FSRow>
82
+ </FSBaseField>
83
+ </template>
84
+
85
+ <script lang="ts">
86
+ import { computed, defineComponent, ref, watch } from "vue";
87
+
88
+ import { useDateFormat, useTermFieldDate } from "@dative-gpi/foundation-shared-services/composables";
89
+
90
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
91
+ import { useBreakpoints, useColors } from '@dative-gpi/foundation-shared-components/composables';
92
+
93
+ import FSCol from '@dative-gpi/foundation-shared-components/components/FSCol.vue';
94
+ import FSSpan from '@dative-gpi/foundation-shared-components/components/FSSpan.vue';
95
+ import FSText from '@dative-gpi/foundation-shared-components/components/FSText.vue';
96
+ import FSSlider from '@dative-gpi/foundation-shared-components/components/FSSlider.vue';
97
+ import FSBaseField from '@dative-gpi/foundation-shared-components/components/fields/FSBaseField.vue';
98
+ import FSTermField from '@dative-gpi/foundation-shared-components/components/fields/FSTermField.vue';
99
+ import FSPlayButtons from '@dative-gpi/foundation-shared-components/components/FSPlayButtons.vue';
100
+
101
+ export default defineComponent({
102
+ name: "FSInstantPicker",
103
+ components: {
104
+ FSCol,
105
+ FSSpan,
106
+ FSText,
107
+ FSSlider,
108
+ FSTermField,
109
+ FSBaseField,
110
+ FSPlayButtons
111
+ },
112
+ props: {
113
+ label: {
114
+ type: String,
115
+ required: false,
116
+ },
117
+ modelValue: {
118
+ type: Number,
119
+ required: false,
120
+ default: 0,
121
+ },
122
+ startDate: {
123
+ type: String,
124
+ required: true
125
+ },
126
+ endDate: {
127
+ type: String,
128
+ required: true
129
+ },
130
+ description: {
131
+ type: String,
132
+ required: false,
133
+ default: null
134
+ },
135
+ hideHeader: {
136
+ type: Boolean,
137
+ required: false,
138
+ default: false
139
+ },
140
+ required: {
141
+ type: Boolean,
142
+ required: false,
143
+ default: false
144
+ },
145
+ editable: {
146
+ type: Boolean,
147
+ required: false,
148
+ default: true
149
+ },
150
+ playable: {
151
+ type: Boolean,
152
+ required: false,
153
+ default: true
154
+ },
155
+ stepTime: {
156
+ type: Number,
157
+ required: false,
158
+ default: 60000
159
+ },
160
+ playingStepDuration: {
161
+ type: Number,
162
+ required: false,
163
+ default: 50
164
+ }
165
+ },
166
+ emits: ['update:modelValue', 'update:startDate', 'update:endDate'],
167
+ setup(props, { emit }) {
168
+ const { epochToShortTimeOnlyFormat, epochToShortDateFormat, epochToDayMonthShortOnly, epochToISO, epochToMonthShortTimeFormat } = useDateFormat();
169
+ const { convert : convertTermToEpoch } = useTermFieldDate();
170
+ const { isMobileSized, isExtraSmall } = useBreakpoints();
171
+ const { getColors } = useColors();
172
+
173
+ const lightColors = getColors(ColorEnum.Light);
174
+ const playing = ref(false);
175
+ const playingInterval = ref();
176
+
177
+ const startTimestamp = computed(() => convertTermToEpoch(props.startDate));
178
+ const endTimestamp = computed(() => convertTermToEpoch(props.endDate));
179
+
180
+ const intervalTime = computed(() => {
181
+ const possibleIntervals = [60000, 3600000, 86400000];
182
+
183
+ const interval = possibleIntervals.find(interval => {
184
+ return (endTimestamp.value - startTimestamp.value) / interval < 100;
185
+ });
186
+
187
+ if (interval) {
188
+ return interval;
189
+ }
190
+ return 86400000;
191
+ });
192
+
193
+ const ticks = computed(() => {
194
+ const ticks: number[] = [];
195
+
196
+ const firstTick = Math.ceil(startTimestamp.value / intervalTime.value) * intervalTime.value;
197
+ for (let i = firstTick; i <= endTimestamp.value; i += intervalTime.value) {
198
+ ticks.push(i);
199
+ }
200
+ return ticks;
201
+ });
202
+
203
+ const maximumTickToShow = computed(() => {
204
+ if (isMobileSized.value) {
205
+ return 5;
206
+ }
207
+ if (isExtraSmall.value) {
208
+ return 4;
209
+ }
210
+ return 6;
211
+ });
212
+
213
+ const onPlayingChange = (value: boolean) => {
214
+ playing.value = value;
215
+ };
216
+
217
+ const onClickBackward = () => {
218
+ emit('update:modelValue', startTimestamp.value);
219
+ };
220
+
221
+ const onClickForward = () => {
222
+ emit('update:modelValue', endTimestamp.value);
223
+ };
224
+
225
+ watch(() => [props.startDate, props.endDate], () => {
226
+ if(props.modelValue < startTimestamp.value || props.modelValue > endTimestamp.value) {
227
+ emit('update:modelValue', endTimestamp.value);
228
+ }
229
+ }, { immediate: true });
230
+
231
+ watch(playing, (value) => {
232
+ if(!value && playingInterval.value) {
233
+ clearInterval(playingInterval.value);
234
+ } else {
235
+ playingInterval.value = setInterval(() => {
236
+ if(props.modelValue + props.stepTime <= endTimestamp.value) {
237
+ emit('update:modelValue', props.modelValue + props.stepTime);
238
+ } else {
239
+ emit('update:modelValue', endTimestamp.value);
240
+ playing.value = false;
241
+ }
242
+ }, props.playingStepDuration);
243
+ }
244
+ });
245
+
246
+ return {
247
+ ticks,
248
+ playing,
249
+ ColorEnum,
250
+ lightColors,
251
+ intervalTime,
252
+ endTimestamp,
253
+ startTimestamp,
254
+ maximumTickToShow,
255
+ epochToISO,
256
+ onPlayingChange,
257
+ onClickForward,
258
+ onClickBackward,
259
+ epochToShortDateFormat,
260
+ epochToShortTimeOnlyFormat,
261
+ epochToDayMonthShortOnly,
262
+ epochToMonthShortTimeFormat
263
+ };
264
+ },
265
+ });
266
+ </script>
@@ -0,0 +1,72 @@
1
+ <template>
2
+ <FSRow
3
+ width="hug"
4
+ gap="4px"
5
+ >
6
+ <FSClickable
7
+ variant="full"
8
+ :color="ColorEnum.Light"
9
+ borderRadius="50%"
10
+ padding="2px"
11
+ @click="$emit('click:backward')"
12
+ >
13
+ <FSIcon
14
+ size="18px"
15
+ icon="mdi-skip-backward"
16
+ />
17
+ </FSClickable>
18
+ <FSClickable
19
+ variant="full"
20
+ :color="ColorEnum.Light"
21
+ borderRadius="50%"
22
+ padding="2px"
23
+ @click="$emit('update:modelValue', !$props.modelValue)"
24
+ >
25
+ <FSIcon
26
+ size="18px"
27
+ :icon="$props.modelValue ? 'mdi-pause' : 'mdi-play'"
28
+ />
29
+ </FSClickable>
30
+ <FSClickable
31
+ variant="full"
32
+ :color="ColorEnum.Light"
33
+ borderRadius="50%"
34
+ padding="2px"
35
+ @click="$emit('click:forward')"
36
+ >
37
+ <FSIcon
38
+ size="18px"
39
+ icon="mdi-skip-forward"
40
+ />
41
+ </FSClickable>
42
+ </FSRow>
43
+ </template>
44
+
45
+ <script lang="ts">
46
+ import { defineComponent } from "vue";
47
+
48
+ import { ColorEnum } from '@dative-gpi/foundation-shared-components/models';
49
+
50
+ import FSIcon from '@dative-gpi/foundation-shared-components/components/FSIcon.vue';
51
+ import FSClickable from '@dative-gpi/foundation-shared-components/components/FSClickable.vue';
52
+
53
+ export default defineComponent({
54
+ name: "FSPlayButtons",
55
+ components: {
56
+ FSClickable,
57
+ FSIcon
58
+ },
59
+ props: {
60
+ modelValue: {
61
+ type: Boolean,
62
+ required: true,
63
+ }
64
+ },
65
+ emits: ['update:modelValue', 'click:backward', 'click:forward'],
66
+ setup() {
67
+ return {
68
+ ColorEnum
69
+ };
70
+ },
71
+ });
72
+ </script>
@@ -0,0 +1,90 @@
1
+ <template>
2
+ <FSRow
3
+ align="center-center"
4
+ :style="style"
5
+ gap="8px"
6
+ >
7
+ <div
8
+ class="fs-progress-bar-gradient"
9
+ >
10
+ <div></div>
11
+ </div>
12
+ <FSText
13
+ v-if="$props.showValue"
14
+ font="text-button"
15
+ >
16
+ {{ fixedRate }}%
17
+ </FSText>
18
+ </FSRow>
19
+ </template>
20
+
21
+ <script lang="ts">
22
+ import { computed, defineComponent, type StyleValue } from "vue";
23
+
24
+ import { useColors } from '@dative-gpi/foundation-shared-components/composables';
25
+
26
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
27
+
28
+ export default defineComponent({
29
+ name: "FSProgressBar",
30
+ props: {
31
+ modelValue: {
32
+ type: Number,
33
+ required: true
34
+ },
35
+ startColor: {
36
+ type: String,
37
+ required: false
38
+ },
39
+ endColor: {
40
+ type: String,
41
+ required: false
42
+ },
43
+ showValue: {
44
+ type: Boolean,
45
+ required: false,
46
+ default: true
47
+ }
48
+ },
49
+ components: {
50
+ },
51
+ setup(props) {
52
+ const { getColors } = useColors();
53
+
54
+ const lightColors = getColors(ColorEnum.Light);
55
+ const successColors = getColors(ColorEnum.Success);
56
+ const errorColors = getColors(ColorEnum.Error);
57
+
58
+ const fixedRate = computed(() => {
59
+ return (props.modelValue * 100).toFixed(0);
60
+ });
61
+
62
+ const relativeWidth = computed(() => {
63
+ return props.modelValue ? 100 / props.modelValue : 0;
64
+ });
65
+
66
+ const startColor = computed(() => {
67
+ return props.startColor ?? errorColors.base;
68
+ });
69
+
70
+ const endColor = computed(() => {
71
+ return props.endColor ?? successColors.base;
72
+ });
73
+
74
+ const style = computed((): StyleValue => {
75
+ return {
76
+ '--progress-bar-background-color': lightColors.dark,
77
+ '--progress-bar-gradient-start-color': startColor.value,
78
+ '--progress-bar-gradient-end-color': endColor.value,
79
+ '--progress-bar-gradient-width': `min(100%, ${fixedRate.value}%)`,
80
+ '--progress-bar-total-relative-width': `${relativeWidth.value}%`
81
+ };
82
+ });
83
+
84
+ return {
85
+ style,
86
+ fixedRate
87
+ }
88
+ },
89
+ });
90
+ </script>
@@ -0,0 +1,73 @@
1
+ <template>
2
+ <FSChartTileUI
3
+ v-if="chart"
4
+ :label="chart.label"
5
+ :icon="chart.icon"
6
+ :type="chart.chartType"
7
+ :imageId="chart.imageId"
8
+ v-bind="$attrs"
9
+ />
10
+ </template>
11
+
12
+ <script lang="ts">
13
+ import { defineComponent, watch, computed } from "vue";
14
+ import type { PropType } from "vue";
15
+
16
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
17
+ import { chartIcon } from "@dative-gpi/foundation-shared-components/tools";
18
+
19
+ import { useChartOrganisation, useChartOrganisationType } from "@dative-gpi/foundation-core-services/composables";
20
+
21
+ import { ApplicationScope } from "@dative-gpi/foundation-shared-domain/enums";
22
+ import FSChartTileUI from "./FSChartTileUI.vue";
23
+
24
+ export default defineComponent({
25
+ name: "FSChartTile",
26
+ components: {
27
+ FSChartTileUI
28
+ },
29
+ props: {
30
+ chartId: {
31
+ type: String,
32
+ required: true
33
+ },
34
+ scope: {
35
+ type: Object as PropType<ApplicationScope | number>,
36
+ required : true
37
+ }
38
+ },
39
+ setup(props) {
40
+
41
+ const {get : fetchChartOrganisation, entity : chartOrganisation } = useChartOrganisation();
42
+ const {get : fetchChartOrganisationType, entity : chartOrganisationType } = useChartOrganisationType();
43
+
44
+ const chart = computed(() =>{
45
+ if(props.scope == ApplicationScope.Organisation){
46
+ return chartOrganisation.value;
47
+ }
48
+ else if(props.scope == ApplicationScope.OrganisationType){
49
+ return chartOrganisationType.value;
50
+ }
51
+ else{
52
+ return null
53
+ }
54
+ })
55
+
56
+ watch(() => [props.chartId, props.scope], () =>{
57
+ if(props.scope == ApplicationScope.Organisation){
58
+ fetchChartOrganisation(props.chartId);
59
+ }
60
+ else if(props.scope == ApplicationScope.OrganisationType)
61
+ {
62
+ fetchChartOrganisationType(props.chartId)
63
+ }
64
+ }, {immediate : true})
65
+
66
+ return {
67
+ ColorEnum,
68
+ chart,
69
+ chartIcon
70
+ };
71
+ }
72
+ });
73
+ </script>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dative-gpi/foundation-shared-components",
3
3
  "sideEffects": false,
4
- "version": "1.0.128-fix-mobile",
4
+ "version": "1.0.128-mountain-alpha",
5
5
  "description": "",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -10,8 +10,8 @@
10
10
  "author": "",
11
11
  "license": "ISC",
12
12
  "dependencies": {
13
- "@dative-gpi/foundation-shared-domain": "1.0.128-fix-mobile",
14
- "@dative-gpi/foundation-shared-services": "1.0.128-fix-mobile"
13
+ "@dative-gpi/foundation-shared-domain": "1.0.128-mountain-alpha",
14
+ "@dative-gpi/foundation-shared-services": "1.0.128-mountain-alpha"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "@dative-gpi/bones-ui": "^1.0.0",
@@ -35,5 +35,5 @@
35
35
  "sass": "1.71.1",
36
36
  "sass-loader": "13.3.2"
37
37
  },
38
- "gitHead": "099789bb7c9a4134f9ee0aba08d805b673cbb977"
38
+ "gitHead": "37cef6036141cc79839c97f8ffc124c024e5486a"
39
39
  }
@@ -7,10 +7,8 @@
7
7
  color: var(--fs-breadcrumbs-disabled-color) !important;
8
8
  }
9
9
 
10
- @include clickscreen {
11
- &:hover {
12
- text-decoration: underline;
13
- }
10
+ &:hover {
11
+ text-decoration: underline;
14
12
  }
15
13
 
16
14
  &:active {
@@ -2,6 +2,11 @@
2
2
  transition: color 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
3
3
  color: var(--fs-button-color) !important;
4
4
 
5
+ &:not(.fs-button-disabled, :has(.fs-button-load)):hover {
6
+ color: var(--fs-button-hover-color) !important;
7
+ cursor: pointer !important;
8
+ }
9
+
5
10
  &.fs-button-disabled,
6
11
  &:has(.fs-button-load) {
7
12
  cursor: default !important;
@@ -11,11 +16,4 @@
11
16
  color: inherit;
12
17
  text-decoration: none;
13
18
  }
14
-
15
- @include clickscreen {
16
- &:not(.fs-button-disabled, :has(.fs-button-load)):hover {
17
- color: var(--fs-button-hover-color) !important;
18
- cursor: pointer !important;
19
- }
20
- }
21
19
  }
@@ -12,17 +12,15 @@
12
12
  .fs-chip-editable {
13
13
  cursor: pointer !important;
14
14
 
15
+ &:hover {
16
+ background-color: var(--fs-chip-hover-background-color) !important;
17
+ border-color: var(--fs-chip-hover-border-color) !important;
18
+ color: var(--fs-chip-hover-color) !important;
19
+ }
20
+
15
21
  &:active {
16
22
  background-color: var(--fs-chip-active-background-color) !important;
17
23
  border-color: var(--fs-chip-active-border-color) !important;
18
24
  color: var(--fs-chip-active-color) !important;
19
25
  }
20
-
21
- @include clickscreen {
22
- &:hover {
23
- background-color: var(--fs-chip-hover-background-color) !important;
24
- border-color: var(--fs-chip-hover-border-color) !important;
25
- color: var(--fs-chip-hover-color) !important;
26
- }
27
- }
28
26
  }
@@ -11,7 +11,18 @@
11
11
  &.fs-clickable-disabled {
12
12
  cursor: default;
13
13
  }
14
-
14
+
15
+ &:not(.fs-clickable-disabled):hover:not(:has( .fs-stopclick:hover)) {
16
+ background-color: var(--fs-clickable-hover-background-color) !important;
17
+ border-color: var(--fs-clickable-hover-border-color) !important;
18
+ color: var(--fs-clickable-hover-color) !important;
19
+
20
+ & .fs-card-clickable {
21
+ transition: background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);
22
+ background-color: var(--fs-clickable-hover-background-color);
23
+ }
24
+ }
25
+
15
26
  &:not(.fs-clickable-disabled):active:not(:has( .fs-stopclick:hover)) {
16
27
  background-color: var(--fs-clickable-active-background-color) !important;
17
28
  border-color: var(--fs-clickable-active-border-color) !important;
@@ -22,19 +33,6 @@
22
33
  background-color: var(--fs-clickable-active-background-color);
23
34
  }
24
35
  }
25
-
26
- @include clickscreen {
27
- &:not(.fs-clickable-disabled):hover:not(:has( .fs-stopclick:hover)) {
28
- background-color: var(--fs-clickable-hover-background-color) !important;
29
- border-color: var(--fs-clickable-hover-border-color) !important;
30
- color: var(--fs-clickable-hover-color) !important;
31
-
32
- & .fs-card-clickable {
33
- transition: background-color 0.28s cubic-bezier(0.4, 0, 0.2, 1);
34
- background-color: var(--fs-clickable-hover-background-color);
35
- }
36
- }
37
- }
38
36
  }
39
37
 
40
38
  a:has(.fs-clickable) {
@@ -8,18 +8,16 @@
8
8
  padding-right: 32px;
9
9
  }
10
10
 
11
- @include clickscreen {
12
- &:hover::after {
13
- content: "";
14
- background-color: black;
15
- pointer-events: none;
16
- position: absolute;
17
- opacity: 0.04;
18
- height: 100%;
19
- width: 100%;
20
- left: 0;
21
- top: 0;
22
- }
11
+ &:hover::after {
12
+ content: "";
13
+ background-color: black;
14
+ pointer-events: none;
15
+ position: absolute;
16
+ opacity: 0.04;
17
+ height: 100%;
18
+ width: 100%;
19
+ left: 0;
20
+ top: 0;
23
21
  }
24
22
  }
25
23
 
@@ -11,10 +11,8 @@
11
11
  }
12
12
  }
13
13
 
14
- @include clickscreen {
15
- .fs-image-card:hover {
16
- > .fs-card {
17
- background-size: 105%;
18
- }
14
+ .fs-image-card:hover {
15
+ > .fs-card {
16
+ background-size: 105%;
19
17
  }
20
18
  }
@@ -92,13 +92,11 @@
92
92
  align-items: center;
93
93
  justify-content: center;
94
94
 
95
- @include clickscreen {
96
- &:hover {
97
- filter: brightness(0.92) drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.4));
98
-
99
- > * {
100
- transform: scale(1.15);
101
- }
95
+ &:hover {
96
+ filter: brightness(0.92) drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.4));
97
+
98
+ > * {
99
+ transform: scale(1.15);
102
100
  }
103
101
  }
104
102
  }
@@ -130,10 +128,8 @@
130
128
  opacity: 0.6;
131
129
  transition: opacity 0.28s cubic-bezier(0.4, 0, 0.2, 1);
132
130
 
133
- @include clickscreen {
134
- &:hover {
135
- opacity: 1;
136
- }
131
+ &:hover {
132
+ opacity: 1;
137
133
  }
138
134
  }
139
135
  }
@@ -4,9 +4,7 @@
4
4
  color: var(--fs-password-field-color) !important;
5
5
  transition: color 0.28s cubic-bezier(0.4, 0, 0.2, 1);
6
6
 
7
- @include clickscreen {
8
- &:hover {
9
- color: var(--fs-password-field-hover-color) !important;
10
- }
7
+ &:hover {
8
+ color: var(--fs-password-field-hover-color) !important;
11
9
  }
12
10
  }
@@ -0,0 +1,14 @@
1
+ .fs-progress-bar-gradient {
2
+ flex: 1;
3
+ background-color: var(--progress-bar-background-color);
4
+ height: 8px;
5
+ border-radius: 4px;
6
+
7
+ div {
8
+ transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
9
+ height: 100%;
10
+ background: linear-gradient(to right, var(--progress-bar-gradient-start-color) 0%, var(--progress-bar-gradient-end-color) var(--progress-bar-total-relative-width));
11
+ width: var(--progress-bar-gradient-width);
12
+ border-radius: 4px;
13
+ }
14
+ }
@@ -23,11 +23,9 @@
23
23
  @extend .text-button;
24
24
  }
25
25
 
26
- @include clickscreen {
27
- &:hover {
28
- border-bottom: 1px solid var(--fs-tab-hover-border-color) !important;
29
- color: var(--fs-group-hover-color) !important;
30
- }
26
+ &:hover {
27
+ border-bottom: 1px solid var(--fs-tab-hover-border-color) !important;
28
+ color: var(--fs-group-hover-color) !important;
31
29
  }
32
30
  }
33
31
 
@@ -36,10 +34,8 @@
36
34
  color: var(--fs-group-hover-color) !important;
37
35
  border-bottom: 0 !important;
38
36
 
39
- @include clickscreen {
40
- &:hover {
41
- border-bottom: 0 !important;
42
- }
37
+ &:hover {
38
+ border-bottom: 0 !important;
43
39
  }
44
40
  }
45
41
 
@@ -13,19 +13,17 @@
13
13
  background-color: var(--fs-tag-background-color) !important;
14
14
  color: var(--fs-tag-color) !important;
15
15
 
16
- min-width: 20px !important;
17
- width: 20px !important;
18
- height: 20px !important;
16
+ &:hover {
17
+ background-color: var(--fs-tag-hover-background-color) !important;
18
+ color: var(--fs-tag-hover-color) !important;
19
+ }
19
20
 
20
21
  &:active {
21
22
  background-color: var(--fs-tag-active-background-color) !important;
22
23
  color: var(--fs-tag-active-color) !important;
23
24
  }
24
25
 
25
- @include clickscreen {
26
- &:hover {
27
- background-color: var(--fs-tag-hover-background-color) !important;
28
- color: var(--fs-tag-hover-color) !important;
29
- }
30
- }
26
+ min-width: 20px !important;
27
+ width: 20px !important;
28
+ height: 20px !important;
31
29
  }
@@ -47,6 +47,7 @@
47
47
  @import "fs_option_group.scss";
48
48
  @import "fs_pagination.scss";
49
49
  @import "fs_password_field.scss";
50
+ @import "fs_progress_bar.scss";
50
51
  @import "fs_radio.scss";
51
52
  @import "fs_rich_text_field.scss";
52
53
  @import "fs_row.scss";
@@ -137,16 +137,11 @@
137
137
  }
138
138
  }
139
139
 
140
+ // Ellipsis on input of all fields
140
141
  input {
141
- // Ellipsis on all fields
142
142
  text-overflow: ellipsis;
143
143
  }
144
144
 
145
- input, select, textarea {
146
- // No zoom on focus for user of a certain version of Chrome, and who ask their mobile to zoom if font-size < 16px
147
- touch-action: none;
148
- }
149
-
150
145
  // No up / down buttons in input field of type number
151
146
  input[type=number] {
152
147
  -moz-appearance: textfield;
@@ -192,11 +187,9 @@ $nthOverlay: 25;
192
187
  }
193
188
 
194
189
  // Change color on arrows when hovered
195
- @include clickscreen {
196
- .v-slide-group__prev:hover,
197
- .v-slide-group__next:hover {
198
- color: var(--fs-group-hover-color);
199
- }
190
+ .v-slide-group__prev:hover,
191
+ .v-slide-group__next:hover {
192
+ color: var(--fs-group-hover-color);
200
193
  }
201
194
 
202
195
  /***************************************************************************/
@@ -47,19 +47,9 @@
47
47
  @include touchscreen {
48
48
  .fs-hide-x-scrollbar {
49
49
  overflow-x: scroll;
50
-
51
- &::-webkit-scrollbar {
52
- display: none;
53
- }
54
- scrollbar-width: none;
55
50
  }
56
51
 
57
52
  .fs-hide-y-scrollbar {
58
53
  overflow-y: scroll;
59
-
60
- &::-webkit-scrollbar {
61
- display: none;
62
- }
63
- scrollbar-width: none;
64
54
  }
65
55
  }