@dative-gpi/foundation-shared-components 1.0.44 → 1.0.46

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 (34) hide show
  1. package/components/FSLoader.vue +1 -2
  2. package/components/FSSpan.vue +5 -0
  3. package/components/buttons/FSButtonDragIcon.vue +27 -0
  4. package/components/deviceOrganisations/FSStatusesRow.vue +1 -1
  5. package/components/deviceOrganisations/FSWorstAlert.vue +1 -1
  6. package/components/deviceOrganisations/FSWorstAlertCard.vue +1 -1
  7. package/components/fields/FSEntityFieldUI.vue +257 -0
  8. package/components/fields/FSSelectField.vue +0 -1
  9. package/components/fields/FSTermField.vue +1 -1
  10. package/components/fields/FSTextArea.vue +16 -3
  11. package/components/fields/FSTimeSlotField.vue +1 -1
  12. package/components/fields/FSTimeStepField.vue +3 -3
  13. package/components/fields/FSTranslateField.vue +1 -0
  14. package/components/fields/FSTranslateRichTextField.vue +1 -0
  15. package/components/fields/FSTranslateTextArea.vue +233 -0
  16. package/components/lists/FSDataTableUI.vue +3 -4
  17. package/components/lists/FSSimpleList.vue +133 -0
  18. package/components/map/FSMap.vue +2 -2
  19. package/components/selects/FSSelectAutoRefresh.vue +1 -1
  20. package/components/selects/FSSelectDashboardVariableType.vue +1 -1
  21. package/components/selects/FSSelectDateSetting.vue +1 -1
  22. package/components/selects/FSSelectDays.vue +1 -1
  23. package/components/selects/FSSelectListMode.vue +51 -0
  24. package/components/selects/FSSelectMonths.vue +1 -1
  25. package/components/tiles/FSTile.vue +90 -74
  26. package/models/deviceAlerts.ts +1 -1
  27. package/models/deviceConnectivities.ts +1 -1
  28. package/models/rules.ts +1 -1
  29. package/package.json +4 -4
  30. package/styles/components/fs_span.scss +2 -1
  31. package/styles/components/fs_text_area.scss +16 -1
  32. package/styles/components/fs_tile.scss +18 -6
  33. package/utils/statuses.ts +1 -1
  34. package/utils/time.ts +1 -1
@@ -22,7 +22,6 @@
22
22
  <FSButton
23
23
  v-if="filterableHeaders.length > 0"
24
24
  prependIcon="mdi-filter-variant"
25
- padding="0 7px"
26
25
  :variant="showFilters ? 'full' : 'standard'"
27
26
  @click="showFilters = !showFilters"
28
27
  />
@@ -833,7 +832,7 @@ export default defineComponent({
833
832
  mode: {
834
833
  type: String as PropType<"table" | "iterator">,
835
834
  required: false,
836
- default: "table"
835
+ default: "iterator"
837
836
  },
838
837
  disableTable: {
839
838
  type: Boolean,
@@ -906,8 +905,8 @@ export default defineComponent({
906
905
  const elementId = `id${uuidv4()}`;
907
906
 
908
907
  const modeOptions: FSToggle[] = [
909
- { id: "table", prependIcon: "mdi-table" },
910
- { id: "iterator", prependIcon: "mdi-apps" }
908
+ { id: "iterator", prependIcon: "mdi-view-grid-outline" },
909
+ { id: "table", prependIcon: "mdi-format-list-bulleted" }
911
910
  ];
912
911
 
913
912
  const rowsPerPageOptions: { id: number, label: string }[] = [
@@ -0,0 +1,133 @@
1
+ <template>
2
+ <component
3
+ :is="$props.direction == 'row' ? FSRow : FSCol"
4
+ v-bind="$attrs"
5
+ >
6
+ <FSTile
7
+ v-for="item in items"
8
+ :key="item.id"
9
+ v-bind="tileProps(item)"
10
+ :width="$props.direction == 'row' ? 'fit-content' : '100%'"
11
+ height="fit-content"
12
+ >
13
+ <slot
14
+ name="item"
15
+ :item="item"
16
+ >
17
+ <FSRow
18
+ align="center-left"
19
+ >
20
+ <FSButtonDragIcon
21
+ v-if="showDraggable"
22
+ />
23
+ <slot
24
+ name="itemContent"
25
+ :item="item"
26
+ >
27
+ <!-- TODO : add draggable option -->
28
+ <FSImage
29
+ v-if="item.imageId"
30
+ :imageId="item.imageId"
31
+ width="24px"
32
+ height="24px"
33
+ />
34
+ <FSIcon
35
+ size="24px"
36
+ v-else-if="item.icon"
37
+ :icon="item.icon"
38
+ />
39
+ <FSSpan>{{ item[itemLabel] }}</FSSpan>
40
+ </slot>
41
+ <FSRow
42
+ align="center-right"
43
+ >
44
+ <FSButtonEditIcon
45
+ v-if="showEdit"
46
+ @click="$emit('click:edit', item.id)"
47
+ />
48
+ <FSButtonRemoveIcon
49
+ v-if="showRemove"
50
+ @click="$emit('click:remove', item.id)"
51
+ />
52
+ </FSRow>
53
+ </FSRow>
54
+ </slot>
55
+ </FSTile>
56
+ </component>
57
+ </template>
58
+
59
+
60
+ <script lang="ts">
61
+ import { defineComponent, type PropType } from "vue";
62
+
63
+ import { ColorEnum } from "../../models"
64
+
65
+ import FSRow from "../FSRow.vue";
66
+ import FSCol from "../FSCol.vue";
67
+ import FSImage from "../FSImage.vue";
68
+ import FSIcon from "../FSIcon.vue";
69
+ import FSSpan from "../FSSpan.vue";
70
+ import FSTile from "../tiles/FSTile.vue";
71
+ import FSButtonRemoveIcon from "../buttons/FSButtonRemoveIcon.vue";
72
+ import FSButtonEditIcon from "../buttons/FSButtonEditIcon.vue";
73
+ import FSButtonDragIcon from "../buttons/FSButtonDragIcon.vue";
74
+
75
+ export default defineComponent({
76
+ name: "FSSimpleList",
77
+ components: {
78
+ FSRow,
79
+ FSCol,
80
+ FSTile,
81
+ FSImage,
82
+ FSIcon,
83
+ FSSpan,
84
+ FSButtonRemoveIcon,
85
+ FSButtonEditIcon,
86
+ FSButtonDragIcon,
87
+ },
88
+ props: {
89
+ items: {
90
+ type: Array as PropType<{id: string, label?: string, icon?: string, imageId?: string, [index: string]: any}[]>,
91
+ required: true
92
+ },
93
+ tileProps: {
94
+ type: Function as PropType<(item: any) => Record<string, any>>,
95
+ required: false,
96
+ default: () => () => ({})
97
+ },
98
+ showEdit: {
99
+ type: Boolean,
100
+ required: false,
101
+ default: true
102
+ },
103
+ showRemove: {
104
+ type: Boolean,
105
+ required: false,
106
+ default: true
107
+ },
108
+ showDraggable: {
109
+ type: Boolean,
110
+ required: false,
111
+ default: false
112
+ },
113
+ direction: {
114
+ type: String as PropType<"row" | "column">,
115
+ required: false,
116
+ default: "column"
117
+ },
118
+ itemLabel: {
119
+ type: String,
120
+ required: false,
121
+ default: "label"
122
+ }
123
+ },
124
+ emits: ["click:edit", "click:remove"],
125
+ setup(){
126
+ return {
127
+ ColorEnum,
128
+ FSRow,
129
+ FSCol
130
+ }
131
+ }
132
+ });
133
+ </script>
@@ -117,7 +117,7 @@
117
117
  </template>
118
118
 
119
119
  <script lang="ts">
120
- import { computed, defineComponent, onMounted, type Ref, provide, type PropType, ref, type StyleValue, watch, onUnmounted } from "vue";
120
+ import { computed, defineComponent, onMounted, type Ref, provide, type PropType, ref, type StyleValue, watch, onUnmounted, markRaw } from "vue";
121
121
 
122
122
  import type {} from "leaflet.markercluster";
123
123
  import { map as createMap, control, tileLayer, latLngBounds, latLng, type LatLng, LatLngBounds, type FitBoundsOptions } from "leaflet";
@@ -361,7 +361,7 @@ export default defineComponent({
361
361
  maxBoundsViscosity: 1.0
362
362
  };
363
363
 
364
- map.value = createMap(leafletContainer.value, mapOptions);
364
+ map.value = markRaw(createMap(leafletContainer.value, mapOptions));
365
365
  setView(props.center[0], props.center[1], defaultZoom);
366
366
 
367
367
  map.value.on('click', (e: L.LeafletMouseEvent) => {
@@ -13,7 +13,7 @@ import type { PropType} from "vue";
13
13
  import { computed, defineComponent } from "vue";
14
14
 
15
15
  import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
16
- import { AutoRefresh } from "@dative-gpi/foundation-shared-domain/models";
16
+ import { AutoRefresh } from "@dative-gpi/foundation-shared-domain/enums";
17
17
 
18
18
  import FSSelectField from "../fields/FSSelectField.vue";
19
19
 
@@ -13,7 +13,7 @@ import type { PropType} from "vue";
13
13
  import { computed, defineComponent } from "vue";
14
14
 
15
15
  import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
16
- import { DashboardVariableType } from "@dative-gpi/foundation-shared-domain/models";
16
+ import { DashboardVariableType } from "@dative-gpi/foundation-shared-domain/enums";
17
17
 
18
18
  import FSSelectField from "../fields/FSSelectField.vue";
19
19
 
@@ -13,7 +13,7 @@
13
13
  import { computed, defineComponent, type PropType } from "vue";
14
14
 
15
15
  import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
16
- import { DateSetting } from "@dative-gpi/foundation-shared-domain/models";
16
+ import { DateSetting } from "@dative-gpi/foundation-shared-domain/enums";
17
17
 
18
18
  import FSSelectField from "../fields/FSSelectField.vue";
19
19
 
@@ -13,7 +13,7 @@ import type { PropType} from "vue";
13
13
  import { computed, defineComponent } from "vue";
14
14
 
15
15
  import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
16
- import { Days } from "@dative-gpi/foundation-shared-domain/models";
16
+ import { Days } from "@dative-gpi/foundation-shared-domain/enums";
17
17
 
18
18
  import FSSelectField from "../fields/FSSelectField.vue";
19
19
 
@@ -0,0 +1,51 @@
1
+ <template>
2
+ <FSSelectField
3
+ :clearable="false"
4
+ :items="items"
5
+ :modelValue="$props.modelValue"
6
+ @update:modelValue="$emit('update:modelValue', $event)"
7
+ v-bind="$attrs"
8
+ >
9
+ <template
10
+ #item-prepend="{ item }"
11
+ >
12
+ <v-icon>{{ item.icon }}</v-icon>
13
+ </template>
14
+ </FSSelectField>
15
+ </template>
16
+
17
+ <script lang="ts">
18
+ import type { PropType} from "vue";
19
+ import { defineComponent } from "vue";
20
+
21
+ import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
22
+ import { ListModes } from "@dative-gpi/foundation-shared-domain/enums";
23
+
24
+ import FSSelectField from "../fields/FSSelectField.vue";
25
+
26
+ export default defineComponent({
27
+ name: "FSSelectViewMode",
28
+ components: {
29
+ FSSelectField
30
+ },
31
+ props: {
32
+ modelValue: {
33
+ type: String as PropType<ListModes>,
34
+ required: true
35
+ },
36
+ },
37
+ emits: ["update:modelValue"],
38
+ setup() {
39
+ const { $tr } = useTranslationsProvider();
40
+
41
+ const items = [
42
+ { id: ListModes.Table, label: $tr("ui.common.table-mode", "Table"), icon: "mdi-format-list-bulleted" },
43
+ { id: ListModes.Iterator, label: $tr("ui.common.tile-mode", "Tuile"), icon: "mdi-view-grid-outline" },
44
+ ];
45
+
46
+ return {
47
+ items
48
+ };
49
+ }
50
+ });
51
+ </script>
@@ -13,7 +13,7 @@ import type { PropType} from "vue";
13
13
  import { computed, defineComponent } from "vue";
14
14
 
15
15
  import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
16
- import { Months } from "@dative-gpi/foundation-shared-domain/models";
16
+ import { Months } from "@dative-gpi/foundation-shared-domain/enums";
17
17
 
18
18
  import FSSelectField from "../fields/FSSelectField.vue";
19
19
 
@@ -1,89 +1,93 @@
1
1
  <template>
2
- <FSClickable
3
- v-if="$props.singleSelect"
2
+ <FSCol
4
3
  class="fs-tile"
5
- padding="12px"
6
- :variant="variant"
7
- :height="height"
8
- :color="color"
9
- :style="style"
10
- @click="() => $emit('update:modelValue', !$props.modelValue)"
11
- v-bind="$attrs"
4
+ :height="$props.height"
5
+ :width="$props.width"
12
6
  >
13
- <slot />
14
- <div
15
- v-if="$props.bottomColor"
16
- class="fs-tile-bottom"
7
+ <FSClickable
8
+ v-if="$props.singleSelect"
9
+ padding="12px"
10
+ :variant="variant"
11
+ :color="color"
17
12
  :style="style"
18
- />
19
- </FSClickable>
20
- <FSClickable
21
- v-else-if="$props.href || $props.to || $attrs.onClick"
22
- variant="background"
23
- class="fs-tile"
24
- padding="12px"
25
- :color="ColorEnum.Background"
26
- :href="$props.href"
27
- :height="height"
28
- :to="$props.to"
29
- :style="style"
30
- v-bind="$attrs"
31
- >
32
- <slot />
33
- <FSCard
34
- v-if="$props.editable"
35
- class="fs-tile-checkbox"
13
+ width="100%"
14
+ height="100%"
15
+ @click="() => $emit('update:modelValue', !$props.modelValue)"
16
+ v-bind="$attrs"
17
+ >
18
+ <slot />
19
+ </FSClickable>
20
+ <FSClickable
21
+ v-else-if="$props.href || $props.to || $attrs.onClick"
36
22
  variant="background"
23
+ class="fs-tile"
24
+ padding="12px"
37
25
  :color="ColorEnum.Background"
38
- :border="false"
26
+ :href="$props.href"
27
+ width="100%"
28
+ height="100%"
29
+ :to="$props.to"
30
+ :style="style"
39
31
  v-bind="$attrs"
40
32
  >
41
- <FSCheckbox
42
- :modelValue="$props.modelValue"
43
- @update:modelValue="() => $emit('update:modelValue', !$props.modelValue)"
44
- />
45
- </FSCard>
46
- <div
47
- class="fs-tile-bottom"
48
- :style="style"
49
- />
50
- </FSClickable>
51
- <FSCard
52
- v-else
53
- variant="background"
54
- class="fs-tile"
55
- padding="12px"
56
- :color="color"
57
- :style="style"
58
- :height="height"
59
- v-bind="$attrs"
60
- >
61
- <slot />
33
+ <slot />
34
+ <FSCard
35
+ v-if="$props.editable"
36
+ class="fs-tile-checkbox"
37
+ variant="background"
38
+ :color="ColorEnum.Background"
39
+ :border="false"
40
+ v-bind="$attrs"
41
+ >
42
+ <FSCheckbox
43
+ :modelValue="$props.modelValue"
44
+ @update:modelValue="() => $emit('update:modelValue', !$props.modelValue)"
45
+ />
46
+ </FSCard>
47
+ </FSClickable>
62
48
  <FSCard
63
- v-if="$props.editable"
64
- class="fs-tile-checkbox"
49
+ v-else
65
50
  variant="background"
66
- :border="false"
51
+ class="fs-tile"
52
+ padding="12px"
53
+ :color="color"
54
+ :style="style"
55
+ width="100%"
56
+ height="100%"
67
57
  v-bind="$attrs"
68
58
  >
69
- <FSCheckbox
70
- :modelValue="$props.modelValue"
71
- @update:modelValue="() => $emit('update:modelValue', !$props.modelValue)"
72
- />
73
- </FSCard>
59
+ <slot />
60
+ <FSCard
61
+ v-if="$props.editable"
62
+ class="fs-tile-checkbox"
63
+ variant="background"
64
+ :border="false"
65
+ v-bind="$attrs"
66
+ >
67
+ <FSCheckbox
68
+ :modelValue="$props.modelValue"
69
+ @update:modelValue="() => $emit('update:modelValue', !$props.modelValue)"
70
+ />
71
+ </FSCard>
72
+ </FSCard>
73
+ <div
74
+ v-if="$props.leftColor"
75
+ class="fs-tile-left"
76
+ :style="style"
77
+ />
74
78
  <div
75
79
  v-if="$props.bottomColor"
76
80
  class="fs-tile-bottom"
77
81
  :style="style"
78
82
  />
79
- </FSCard>
83
+ </FSCol>
80
84
  </template>
81
85
 
82
86
  <script lang="ts">
83
87
  import { computed, defineComponent, type PropType, type StyleValue } from "vue";
84
88
  import { type RouteLocation } from "vue-router";
85
89
 
86
- import { useBreakpoints, useColors } from "@dative-gpi/foundation-shared-components/composables";
90
+ import { useColors } from "@dative-gpi/foundation-shared-components/composables";
87
91
  import { ColorEnum, type ColorBase } from "@dative-gpi/foundation-shared-components/models";
88
92
 
89
93
  import FSClickable from "../FSClickable.vue";
@@ -123,6 +127,11 @@ export default defineComponent({
123
127
  required: false,
124
128
  default: null
125
129
  },
130
+ leftColor: {
131
+ type: [Array, String] as PropType<ColorBase[] | ColorBase | null>,
132
+ required: false,
133
+ default: null
134
+ },
126
135
  editable: {
127
136
  type: Boolean,
128
137
  required: false,
@@ -132,25 +141,33 @@ export default defineComponent({
132
141
  type: Boolean,
133
142
  required: false,
134
143
  default: false
135
- }
144
+ },
145
+ width: {
146
+ type: [Array, String, Number] as PropType<string[] | number[] | string | number | null>,
147
+ required: false,
148
+ default: null
149
+ },
150
+ height: {
151
+ type: [Array, String, Number] as PropType<string[] | number[] | string | number | null>,
152
+ required: false,
153
+ default: () => [170, 156]
154
+ },
136
155
  },
137
156
  emits: ["update:modelValue"],
138
157
  setup(props) {
139
- const { isMobileSized } = useBreakpoints();
140
158
  const { getGradients } = useColors();
141
159
 
142
160
  const style = computed((): StyleValue => {
161
+ const result: StyleValue = {};
143
162
  if (props.bottomColor) {
144
163
  const bottomColors = getGradients(props.bottomColor);
145
- return {
146
- "--fs-tile-border-color": bottomColors.base
147
- };
164
+ result["--fs-tile-bottom-border-color"] = bottomColors.base;
148
165
  }
149
- return {};
150
- });
151
-
152
- const height = computed((): number => {
153
- return isMobileSized.value ? 156 : 170;
166
+ if (props.leftColor) {
167
+ const leftColors = getGradients(props.leftColor);
168
+ result["--fs-tile-left-border-color"] = leftColors.base;
169
+ }
170
+ return result;
154
171
  });
155
172
 
156
173
  const variant = computed((): "standard" | "background" => {
@@ -164,7 +181,6 @@ export default defineComponent({
164
181
  return {
165
182
  ColorEnum,
166
183
  variant,
167
- height,
168
184
  color,
169
185
  style
170
186
  };
@@ -1,4 +1,4 @@
1
- import type { AlertStatus, Criticity } from "@dative-gpi/foundation-shared-domain/models";
1
+ import type { AlertStatus, Criticity } from "@dative-gpi/foundation-shared-domain/enums";
2
2
 
3
3
  export interface FSDeviceAlert {
4
4
  id: string;
@@ -1,4 +1,4 @@
1
- import type { ConnectivityStatus } from "@dative-gpi/foundation-shared-domain/models";
1
+ import type { ConnectivityStatus } from "@dative-gpi/foundation-shared-domain/enums";
2
2
 
3
3
  export interface FSDeviceConnectivity {
4
4
  id: string;
package/models/rules.ts CHANGED
@@ -3,7 +3,7 @@ import { useDateFormat } from "@dative-gpi/foundation-shared-services/composable
3
3
  import { validateExpression } from "@dative-gpi/foundation-shared-domain/tools";
4
4
 
5
5
  import { getTimeBestString } from "../utils";
6
- import type { TimeUnit } from "@/shared/foundation-shared-domain";
6
+ import type { TimeUnit } from "@/shared/foundation-shared-domain/enums";
7
7
 
8
8
  const { epochToLongDateFormat } = useDateFormat()!;
9
9
  const { $tr } = useTranslationsProvider();
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.44",
4
+ "version": "1.0.46",
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.44",
14
- "@dative-gpi/foundation-shared-services": "1.0.44"
13
+ "@dative-gpi/foundation-shared-domain": "1.0.46",
14
+ "@dative-gpi/foundation-shared-services": "1.0.46"
15
15
  },
16
16
  "peerDependencies": {
17
17
  "@dative-gpi/bones-ui": "^0.0.75",
@@ -35,5 +35,5 @@
35
35
  "sass": "1.71.1",
36
36
  "sass-loader": "13.3.2"
37
37
  },
38
- "gitHead": "4fc1ee85626231a579c6b9565da9b7b93f5f4ebd"
38
+ "gitHead": "2798111f89f8a6eefc603e3777cce7b08cd9f56b"
39
39
  }
@@ -1,6 +1,7 @@
1
1
  .fs-span {
2
- padding-inline-end: 2px;
2
+ // padding-inline-end: 2px;
3
3
  max-width: 100%;
4
+ text-align: left;
4
5
  }
5
6
 
6
7
  .fs-span-line-clamp {
@@ -1,7 +1,6 @@
1
1
  .fs-text-area:not(.fs-text-area-auto-grow) {
2
2
  & > .v-input__control > .v-field {
3
3
  border: 1px solid var(--fs-text-area-border-color) !important;
4
- height: var(--fs-text-area-height);
5
4
 
6
5
  &--error {
7
6
  border-color: var(--fs-text-area-error-border-color) !important;
@@ -25,6 +24,10 @@
25
24
  color: var(--fs-text-area-color);
26
25
  padding: 0;
27
26
  }
27
+
28
+ & > .v-field__clearable {
29
+ align-items: flex-start;
30
+ }
28
31
 
29
32
  @include web {
30
33
  padding: 11px 16px !important;
@@ -33,6 +36,10 @@
33
36
  @include mobile {
34
37
  padding: 10px 16px !important;
35
38
  }
39
+ }
40
+
41
+ & > .v-input__append {
42
+ padding-top: 0px;
36
43
  }
37
44
  }
38
45
 
@@ -61,6 +68,10 @@
61
68
  color: var(--fs-text-area-color);
62
69
  padding: 0;
63
70
  }
71
+
72
+ & > .v-field__clearable {
73
+ align-items: flex-start;
74
+ }
64
75
 
65
76
  @include web {
66
77
  padding: 11px 16px !important;
@@ -70,4 +81,8 @@
70
81
  padding: 10px 16px !important;
71
82
  }
72
83
  }
84
+
85
+ & > .v-input__append {
86
+ padding-top: 0px;
87
+ }
73
88
  }
@@ -1,16 +1,28 @@
1
1
  .fs-tile {
2
2
  position: relative;
3
- border-bottom-left-radius: 0px !important;
4
- border-bottom-right-radius: 0px !important;
5
3
  }
6
4
 
7
5
  .fs-tile-bottom {
8
6
  position: absolute;
9
- bottom: -1px;
10
- left: -1px;
11
- width: calc(100% + 2px);
7
+ bottom: 0px;
8
+ left: 0;
9
+ width: 100%;
12
10
  height: 3px;
13
- background: var(--fs-tile-border-color);
11
+ border-bottom-left-radius: 4px;
12
+ border-bottom-right-radius: 4px;
13
+ background: var(--fs-tile-bottom-border-color);
14
+ }
15
+
16
+
17
+ .fs-tile-left {
18
+ position: absolute;
19
+ top: 0px;
20
+ left: 0px;
21
+ height: 100%;
22
+ width: 3px;
23
+ border-bottom-left-radius: 4px;
24
+ border-top-left-radius: 4px;
25
+ background: var(--fs-tile-left-border-color);
14
26
  }
15
27
 
16
28
  .fs-tile-checkbox {
package/utils/statuses.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
2
- import { ConnectivityStatus } from "@dative-gpi/foundation-shared-domain/models";
2
+ import { ConnectivityStatus } from "@dative-gpi/foundation-shared-domain/enums";
3
3
 
4
4
  const { $tr } = useTranslationsProvider();
5
5
 
package/utils/time.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
2
2
 
3
- import { TimeUnit } from "@dative-gpi/foundation-shared-domain/models"
3
+ import { TimeUnit } from "@dative-gpi/foundation-shared-domain/enums"
4
4
 
5
5
  const { $tr } = useTranslationsProvider();
6
6