@dative-gpi/foundation-shared-components 0.0.229 → 0.1.68

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 (228) hide show
  1. package/components/FSAccordionPanel.vue +8 -10
  2. package/components/FSBadge.vue +2 -4
  3. package/components/FSBreadcrumbs.vue +9 -10
  4. package/components/FSButton.vue +81 -31
  5. package/components/FSCalendar.vue +35 -33
  6. package/components/FSCalendarTwin.vue +77 -84
  7. package/components/FSCard.vue +29 -16
  8. package/components/FSCardPlaceholder.vue +1 -2
  9. package/components/FSCheckbox.vue +5 -7
  10. package/components/FSChip.vue +9 -11
  11. package/components/FSClickable.vue +67 -57
  12. package/components/FSClock.vue +4 -4
  13. package/components/FSCol.vue +2 -3
  14. package/components/FSColor.vue +13 -31
  15. package/components/FSColorIcon.vue +25 -9
  16. package/components/FSDialog.vue +1 -2
  17. package/components/FSDialogFormBody.vue +4 -4
  18. package/components/FSDialogMenu.vue +2 -4
  19. package/components/FSDialogMultiFormBody.vue +63 -50
  20. package/components/FSDialogRemove.vue +1 -0
  21. package/components/FSDialogSubmit.vue +5 -7
  22. package/components/FSDivider.vue +7 -9
  23. package/components/FSEditImage.vue +27 -274
  24. package/components/FSEditImageUI.vue +303 -0
  25. package/components/FSErrorToast.vue +3 -4
  26. package/components/FSFadeOut.vue +18 -13
  27. package/components/FSGrid.vue +6 -9
  28. package/components/FSGridMosaic.vue +1 -2
  29. package/components/FSIcon.vue +7 -8
  30. package/components/FSIconCard.vue +23 -30
  31. package/components/FSIconCheck.vue +1 -2
  32. package/components/FSImage.vue +21 -193
  33. package/components/FSImageCard.vue +2 -2
  34. package/components/FSImageUI.vue +212 -0
  35. package/components/FSLabel.vue +18 -20
  36. package/components/FSLink.vue +19 -21
  37. package/components/FSLoader.vue +10 -14
  38. package/components/FSOptionGroup.vue +58 -12
  39. package/components/FSPagination.vue +3 -5
  40. package/components/FSRadio.vue +5 -7
  41. package/components/FSRadioGroup.vue +2 -4
  42. package/components/FSRow.vue +3 -4
  43. package/components/FSSlideGroup.vue +15 -4
  44. package/components/FSSlider.vue +9 -11
  45. package/components/FSSpan.vue +11 -9
  46. package/components/FSSwitch.vue +65 -37
  47. package/components/FSTab.vue +2 -4
  48. package/components/FSTabs.vue +36 -16
  49. package/components/FSTag.vue +23 -14
  50. package/components/FSTagGroup.vue +3 -5
  51. package/components/FSText.vue +8 -12
  52. package/components/FSWindow.vue +11 -5
  53. package/components/FSWrapGroup.vue +15 -4
  54. package/components/agenda/FSAgenda.vue +204 -0
  55. package/components/agenda/FSAgendaDialogCalendar.vue +76 -0
  56. package/components/agenda/FSAgendaHeader.vue +190 -0
  57. package/components/agenda/FSAgendaHorizontalEvent.vue +162 -0
  58. package/components/agenda/FSAgendaHorizontalTimeLineMarker.vue +46 -0
  59. package/components/agenda/FSAgendaHoursCol.vue +103 -0
  60. package/components/agenda/FSAgendaHoursRow.vue +124 -0
  61. package/components/agenda/FSAgendaVerticalEvent.vue +160 -0
  62. package/components/agenda/FSAgendaVerticalTimeLineMarker.vue +46 -0
  63. package/components/agenda/FSDayAgenda.vue +200 -0
  64. package/components/agenda/FSMonthAgenda.vue +257 -0
  65. package/components/agenda/FSSelectAgendaMode.vue +54 -0
  66. package/components/agenda/FSWeekAgenda.vue +328 -0
  67. package/components/autocompletes/FSAutocompleteLanguage.vue +18 -39
  68. package/components/autocompletes/FSAutocompleteTimeZone.vue +20 -38
  69. package/components/buttons/FSButtonCancelMini.vue +1 -0
  70. package/components/buttons/FSButtonCopy.vue +28 -0
  71. package/components/buttons/FSButtonCopyIcon.vue +28 -0
  72. package/components/buttons/FSButtonCopyLabel.vue +27 -0
  73. package/components/buttons/FSButtonCopyMini.vue +28 -0
  74. package/components/buttons/FSButtonDragIcon.vue +27 -0
  75. package/components/buttons/FSButtonDuplicateMini.vue +1 -0
  76. package/components/buttons/FSButtonEditMini.vue +1 -0
  77. package/components/buttons/FSButtonFileMini.vue +1 -0
  78. package/components/buttons/FSButtonNextMini.vue +1 -0
  79. package/components/buttons/FSButtonPreviousMini.vue +1 -0
  80. package/components/buttons/FSButtonRedoMini.vue +1 -0
  81. package/components/buttons/FSButtonRemoveMini.vue +1 -0
  82. package/components/buttons/FSButtonSaveMini.vue +1 -0
  83. package/components/buttons/FSButtonSearchMini.vue +1 -0
  84. package/components/buttons/FSButtonUndoMini.vue +1 -0
  85. package/components/buttons/FSButtonUpdateMini.vue +1 -0
  86. package/components/buttons/FSButtonValidateMini.vue +1 -0
  87. package/components/deviceOrganisations/FSConnectivity.vue +11 -1
  88. package/components/deviceOrganisations/FSConnectivityCard.vue +20 -49
  89. package/components/deviceOrganisations/FSStatus.vue +11 -1
  90. package/components/deviceOrganisations/FSStatusCard.vue +40 -60
  91. package/components/deviceOrganisations/FSStatusesCarousel.vue +1 -0
  92. package/components/deviceOrganisations/FSStatusesRow.vue +10 -5
  93. package/components/deviceOrganisations/FSWorstAlert.vue +19 -13
  94. package/components/deviceOrganisations/FSWorstAlertCard.vue +36 -47
  95. package/components/fields/FSAutocompleteField.vue +501 -323
  96. package/components/fields/FSAutocompleteTag.vue +100 -0
  97. package/components/fields/FSBaseField.vue +26 -16
  98. package/components/fields/FSColorField.vue +63 -55
  99. package/components/fields/FSCommentField.vue +93 -0
  100. package/components/fields/FSDateField.vue +2 -2
  101. package/components/fields/FSDateRangeField.vue +2 -2
  102. package/components/fields/FSDateTimeField.vue +4 -3
  103. package/components/fields/FSDateTimeRangeField.vue +7 -6
  104. package/components/fields/FSEntityFieldUI.vue +271 -0
  105. package/components/fields/FSGradientField.vue +27 -33
  106. package/components/fields/FSIconField.vue +2 -3
  107. package/components/fields/FSMagicConfigField.vue +28 -19
  108. package/components/fields/FSMagicField.vue +25 -17
  109. package/components/fields/FSNumberField.vue +9 -7
  110. package/components/fields/FSPasswordField.vue +2 -3
  111. package/components/fields/FSRichTextField.vue +32 -5
  112. package/components/fields/FSSearchField.vue +2 -2
  113. package/components/fields/FSSelectField.vue +483 -251
  114. package/components/fields/FSTagField.vue +4 -6
  115. package/components/fields/FSTermField.vue +25 -13
  116. package/components/fields/FSTextArea.vue +18 -6
  117. package/components/fields/FSTextField.vue +13 -10
  118. package/components/fields/FSTimeField.vue +1 -1
  119. package/components/fields/FSTimeSlotField.vue +3 -4
  120. package/components/fields/FSTimeStepField.vue +157 -0
  121. package/components/fields/FSTranslateField.vue +3 -2
  122. package/components/fields/FSTranslateRichTextField.vue +4 -3
  123. package/components/fields/FSTranslateTextArea.vue +233 -0
  124. package/components/fields/FSTreeViewField.vue +7 -9
  125. package/components/fields/periodicField/FSPeriodicDailyField.vue +120 -0
  126. package/components/fields/periodicField/FSPeriodicField.vue +131 -0
  127. package/components/fields/periodicField/FSPeriodicMonthlyField.vue +222 -0
  128. package/components/fields/periodicField/FSPeriodicWeeklyField.vue +120 -0
  129. package/components/fields/periodicField/FSPeriodicYearlyField.vue +144 -0
  130. package/components/lists/FSDataIteratorItem.vue +8 -10
  131. package/components/lists/FSDataTableUI.vue +47 -39
  132. package/components/lists/FSFilterButton.vue +20 -22
  133. package/components/lists/FSHiddenButton.vue +10 -12
  134. package/components/lists/FSLoadDataTable.vue +4 -6
  135. package/components/lists/FSSimpleList.vue +229 -0
  136. package/components/map/FSMap.vue +256 -405
  137. package/components/map/FSMapFeatureGroup.vue +51 -0
  138. package/components/map/FSMapLayerButton.vue +6 -3
  139. package/components/map/FSMapMarker.vue +116 -0
  140. package/components/map/FSMapMarkerClusterGroup.vue +72 -0
  141. package/components/map/FSMapOverlay.vue +69 -83
  142. package/components/map/FSMapPolygon.vue +81 -0
  143. package/components/map/FSMapTileLayer.vue +50 -0
  144. package/components/map/keys.ts +4 -0
  145. package/components/selects/FSSelectAutoRefresh.vue +1 -1
  146. package/components/selects/FSSelectDashboardVariableType.vue +1 -1
  147. package/components/selects/FSSelectDateSetting.vue +3 -3
  148. package/components/selects/FSSelectDays.vue +1 -1
  149. package/components/selects/FSSelectListMode.vue +51 -0
  150. package/components/selects/FSSelectMonths.vue +67 -0
  151. package/components/tiles/FSChartTileUI.vue +116 -0
  152. package/components/tiles/FSCommentTileUI.vue +149 -0
  153. package/components/tiles/FSDashboardOrganisationTileUI.vue +6 -8
  154. package/components/tiles/FSDashboardOrganisationTypeTileUI.vue +6 -8
  155. package/components/tiles/FSDashboardShallowTileUI.vue +6 -8
  156. package/components/tiles/FSDeviceOrganisationTileUI.vue +30 -18
  157. package/components/tiles/FSFolderTileUI.vue +6 -6
  158. package/components/tiles/FSGroupTileUI.vue +31 -22
  159. package/components/tiles/FSLoadTile.vue +5 -7
  160. package/components/tiles/FSLocationTileUI.vue +157 -0
  161. package/components/tiles/FSModelTileUI.vue +18 -0
  162. package/components/tiles/FSServiceAccountOrganisationTileUI.vue +142 -0
  163. package/components/tiles/FSSimpleTileUI.vue +57 -36
  164. package/components/tiles/FSTile.vue +115 -55
  165. package/components/tiles/FSUserOrganisationTileUI.vue +25 -35
  166. package/components/toggleSets/FSToggleSetPosition.vue +1 -1
  167. package/components/views/FSEntityHeader.vue +343 -0
  168. package/components/views/FSEntityView.vue +163 -0
  169. package/components/views/FSListHeader.vue +83 -0
  170. package/components/views/FSListView.vue +83 -0
  171. package/components/views/FSSkeletonView.vue +100 -0
  172. package/composables/useAddress.ts +2 -2
  173. package/composables/useColors.ts +15 -5
  174. package/composables/useMagicFieldProvider.ts +7 -6
  175. package/composables/useSlots.ts +51 -28
  176. package/models/agenda.ts +9 -0
  177. package/models/deviceAlerts.ts +1 -1
  178. package/models/deviceConnectivities.ts +1 -1
  179. package/models/index.ts +1 -0
  180. package/models/magicFields.ts +1 -0
  181. package/models/map.ts +2 -2
  182. package/models/rules.ts +10 -5
  183. package/models/tables.ts +3 -1
  184. package/package.json +4 -4
  185. package/styles/components/fs_agenda.scss +32 -0
  186. package/styles/components/fs_agenda_event.scss +41 -0
  187. package/styles/components/fs_agenda_hours_col.scss +4 -0
  188. package/styles/components/fs_agenda_hours_row.scss +13 -0
  189. package/styles/components/fs_agenda_time_line_marker.scss +19 -0
  190. package/styles/components/fs_card.scss +0 -1
  191. package/styles/components/fs_clickable.scss +5 -3
  192. package/styles/components/fs_color_field.scss +1 -0
  193. package/styles/components/fs_data_table.scss +2 -0
  194. package/styles/components/fs_dialog.scss +11 -15
  195. package/styles/components/fs_edit_image.scss +8 -0
  196. package/styles/components/fs_fade_out.scss +2 -1
  197. package/styles/components/fs_filter_button.scss +1 -6
  198. package/styles/components/fs_gradient_field.scss +11 -11
  199. package/styles/components/fs_magic_config_field.scss +2 -2
  200. package/styles/components/fs_map.scss +36 -30
  201. package/styles/components/fs_option_group.scss +15 -5
  202. package/styles/components/fs_radio.scss +11 -0
  203. package/styles/components/fs_rich_text_field.scss +2 -1
  204. package/styles/components/fs_search_field.scss +3 -0
  205. package/styles/components/fs_select_date_settings.scss +3 -0
  206. package/styles/components/fs_slide_group.scss +5 -0
  207. package/styles/components/fs_span.scss +2 -1
  208. package/styles/components/fs_switch.scss +1 -0
  209. package/styles/components/fs_tabs.scss +9 -0
  210. package/styles/components/fs_text_area.scss +15 -1
  211. package/styles/components/fs_tile.scss +22 -6
  212. package/styles/components/fs_window.scss +5 -0
  213. package/styles/components/fs_wrap_group.scss +4 -0
  214. package/styles/components/index.scss +6 -1
  215. package/styles/globals/overrides.scss +22 -19
  216. package/styles/globals/text_fonts.scss +17 -55
  217. package/tools/alertsTools.ts +54 -0
  218. package/tools/chartsTools.ts +300 -0
  219. package/tools/index.ts +2 -0
  220. package/utils/badge.ts +9 -0
  221. package/utils/filter.ts +18 -0
  222. package/utils/index.ts +2 -0
  223. package/utils/leafletMarkers.ts +8 -2
  224. package/utils/statuses.ts +1 -1
  225. package/utils/time.ts +27 -1
  226. package/components/autocompletes/FSAutocompleteTag.vue +0 -138
  227. package/components/map/FSMapEditPointAddressOverlay.vue +0 -164
  228. package/styles/components/fs_map_overlay.scss +0 -38
@@ -1,67 +1,94 @@
1
1
  <template>
2
- <FSClickable
3
- v-if="$props.href || $props.to || $attrs.onClick"
4
- variant="background"
2
+ <FSCol
5
3
  class="fs-tile"
6
- padding="12px"
7
- :height="height"
8
- :style="style"
9
- :href="$props.href"
10
- :to="$props.to"
11
- v-bind="$attrs"
4
+ :height="$props.height"
5
+ :width="$props.width"
12
6
  >
13
- <slot />
14
- <FSCard
15
- v-if="$props.editable"
16
- class="fs-tile-checkbox"
17
- :border="false"
7
+ <FSClickable
8
+ v-if="$props.singleSelect"
9
+ padding="12px"
10
+ :variant="variant"
11
+ :color="color"
12
+ :style="style"
13
+ width="100%"
14
+ height="100%"
15
+ @click="() => $emit('update:modelValue', !$props.modelValue)"
18
16
  v-bind="$attrs"
19
17
  >
20
- <FSCheckbox
21
- :modelValue="$props.modelValue"
22
- @update:modelValue="() => $emit('update:modelValue', !$props.modelValue)"
23
- />
24
- </FSCard>
25
- <div
26
- class="fs-tile-bottom"
18
+ <slot />
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
+ width="100%"
28
+ height="100%"
29
+ :to="$props.to"
27
30
  :style="style"
28
- />
29
- </FSClickable>
30
- <FSCard
31
- v-else
32
- class="fs-tile"
33
- padding="12px"
34
- :style="style"
35
- :height="height"
36
- v-bind="$attrs"
37
- >
38
- <slot />
31
+ v-bind="$attrs"
32
+ >
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>
39
48
  <FSCard
40
- v-if="$props.editable"
41
- class="fs-tile-checkbox"
42
- :border="false"
49
+ v-else
50
+ variant="background"
51
+ class="fs-tile"
52
+ padding="12px"
53
+ :color="color"
54
+ :style="style"
55
+ width="100%"
56
+ height="100%"
43
57
  v-bind="$attrs"
44
58
  >
45
- <FSCheckbox
46
- :modelValue="$props.modelValue"
47
- @update:modelValue="() => $emit('update:modelValue', !$props.modelValue)"
48
- />
49
- </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
+ />
50
78
  <div
51
79
  v-if="$props.bottomColor"
52
80
  class="fs-tile-bottom"
53
81
  :style="style"
54
82
  />
55
- </FSCard>
83
+ </FSCol>
56
84
  </template>
57
85
 
58
86
  <script lang="ts">
59
- import type { PropType, StyleValue } from "vue";
60
- import { computed, defineComponent } from "vue";
61
- import type { RouteLocation } from "vue-router";
87
+ import { computed, defineComponent, type PropType, type StyleValue } from "vue";
88
+ import { type RouteLocation } from "vue-router";
62
89
 
63
- import { useBreakpoints, useColors } from "@dative-gpi/foundation-shared-components/composables";
64
- import type { ColorBase } from "@dative-gpi/foundation-shared-components/models";
90
+ import { useColors } from "@dative-gpi/foundation-shared-components/composables";
91
+ import { ColorEnum, type ColorBase } from "@dative-gpi/foundation-shared-components/models";
65
92
 
66
93
  import FSClickable from "../FSClickable.vue";
67
94
  import FSCheckbox from "../FSCheckbox.vue";
@@ -90,38 +117,71 @@ export default defineComponent({
90
117
  required: false,
91
118
  default: false
92
119
  },
120
+ activeColor: {
121
+ type: [Array, String] as PropType<ColorBase>,
122
+ required: false,
123
+ default: ColorEnum.Primary
124
+ },
93
125
  bottomColor: {
94
126
  type: [Array, String] as PropType<ColorBase[] | ColorBase | null>,
95
127
  required: false,
96
128
  default: null
97
129
  },
130
+ leftColor: {
131
+ type: [Array, String] as PropType<ColorBase[] | ColorBase | null>,
132
+ required: false,
133
+ default: null
134
+ },
98
135
  editable: {
99
136
  type: Boolean,
100
137
  required: false,
101
138
  default: false
102
- }
139
+ },
140
+ singleSelect: {
141
+ type: Boolean,
142
+ required: false,
143
+ default: false
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
+ },
103
155
  },
104
156
  emits: ["update:modelValue"],
105
157
  setup(props) {
106
- const { isMobileSized } = useBreakpoints();
107
158
  const { getGradients } = useColors();
108
159
 
109
160
  const style = computed((): StyleValue => {
161
+ const result: StyleValue = {};
110
162
  if (props.bottomColor) {
111
163
  const bottomColors = getGradients(props.bottomColor);
112
- return {
113
- "--fs-tile-border-color": bottomColors.base
114
- };
164
+ result["--fs-tile-bottom-border-color"] = bottomColors.base;
165
+ }
166
+ if (props.leftColor) {
167
+ const leftColors = getGradients(props.leftColor);
168
+ result["--fs-tile-left-border-color"] = leftColors.base;
115
169
  }
116
- return {};
170
+ return result;
171
+ });
172
+
173
+ const variant = computed((): "standard" | "background" => {
174
+ return (props.singleSelect && props.modelValue) ? "standard" : "background";
117
175
  });
118
176
 
119
- const height = computed(() => {
120
- return isMobileSized.value ? 156 : 170;
177
+ const color = computed((): ColorBase => {
178
+ return (props.singleSelect && props.modelValue) ? props.activeColor : ColorEnum.Background;
121
179
  });
122
180
 
123
181
  return {
124
- height,
182
+ ColorEnum,
183
+ variant,
184
+ color,
125
185
  style
126
186
  };
127
187
  }
@@ -1,6 +1,8 @@
1
1
  <template>
2
2
  <FSTile
3
+ :activeColor="ColorEnum.Primary"
3
4
  :editable="$props.editable"
5
+ :width="$props.width"
4
6
  :modelValue="$props.modelValue"
5
7
  v-bind="$attrs"
6
8
  >
@@ -18,16 +20,17 @@
18
20
  gap="4px"
19
21
  :width="infoWidth"
20
22
  >
21
- <FSText
23
+ <FSSpan
22
24
  font="text-button"
23
25
  :lineClamp="2"
24
26
  >
25
- {{ title }}
26
- </FSText>
27
+ {{ $props.name }}
28
+ </FSSpan>
27
29
  <FSRow
28
30
  v-if="roleLabel"
29
31
  align="center-left"
30
32
  gap="4px"
33
+ :wrap="false"
31
34
  >
32
35
  <FSIcon
33
36
  v-if="roleIcon"
@@ -36,12 +39,12 @@
36
39
  >
37
40
  {{ roleIcon }}
38
41
  </FSIcon>
39
- <FSText
42
+ <FSSpan
40
43
  font="text-overline"
41
44
  variant="soft"
42
45
  >
43
46
  {{ roleLabel }}
44
- </FSText>
47
+ </FSSpan>
45
48
  </FSRow>
46
49
  </FSCol>
47
50
  <FSImage
@@ -55,16 +58,14 @@
55
58
  </template>
56
59
 
57
60
  <script lang="ts">
58
- import type { PropType } from "vue";
59
- import { computed, defineComponent } from "vue";
61
+ import { computed, defineComponent, type PropType } from "vue";
60
62
 
61
63
  import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
62
64
  import { useBreakpoints } from "@dative-gpi/foundation-shared-components/composables";
63
65
  import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
64
- import { UserType } from "@dative-gpi/foundation-core-domain/models";
65
66
 
66
67
  import FSImage from "../FSImage.vue";
67
- import FSText from "../FSText.vue";
68
+ import FSSpan from "../FSSpan.vue";
68
69
  import FSTile from "./FSTile.vue";
69
70
  import FSCol from "../FSCol.vue";
70
71
  import FSRow from "../FSRow.vue";
@@ -73,7 +74,7 @@ export default defineComponent({
73
74
  name: "FSUserOrganisationTileUI",
74
75
  components: {
75
76
  FSImage,
76
- FSText,
77
+ FSSpan,
77
78
  FSTile,
78
79
  FSCol,
79
80
  FSRow
@@ -89,16 +90,6 @@ export default defineComponent({
89
90
  required: false,
90
91
  default: null
91
92
  },
92
- label: {
93
- type: String as PropType<string | null>,
94
- required: false,
95
- default: null
96
- },
97
- userType: {
98
- type: Number as PropType<UserType>,
99
- required: false,
100
- default: UserType.User
101
- },
102
93
  roleIcon: {
103
94
  type: String as PropType<string | null>,
104
95
  required: false,
@@ -114,6 +105,11 @@ export default defineComponent({
114
105
  required: false,
115
106
  default: false
116
107
  },
108
+ width: {
109
+ type: [Array, String, Number] as PropType<string[] | number[] | string | number | null>,
110
+ required: false,
111
+ default: () => [352, 336]
112
+ },
117
113
  modelValue: {
118
114
  type: Boolean,
119
115
  required: false,
@@ -129,13 +125,6 @@ export default defineComponent({
129
125
  const { isMobileSized } = useBreakpoints();
130
126
  const { $tr } = useTranslationsProvider();
131
127
 
132
- const title = computed((): string | null => {
133
- switch (props.userType) {
134
- case UserType.ServiceAccount: return props.label;
135
- default: return props.name;
136
- }
137
- });
138
-
139
128
  const roleIcon = computed((): string | null => {
140
129
  if (props.admin) {
141
130
  return "mdi-crown-outline";
@@ -151,24 +140,25 @@ export default defineComponent({
151
140
  });
152
141
 
153
142
  const imageSize = computed((): number => {
143
+ if (!props.imageId) {
144
+ return 0;
145
+ }
154
146
  return isMobileSized.value ? 90 : 100;
155
147
  });
156
148
 
157
- const infoWidth = computed((): number => {
158
- let width = isMobileSized.value ? 288 : 304;
159
- if (props.imageId) {
160
- width -= imageSize.value;
149
+ const infoWidth = computed((): string => {
150
+ if (!props.imageId) {
151
+ return "100%";
161
152
  }
162
- return width;
153
+ return `calc(100% - ${imageSize.value}px - 24px)`;
163
154
  });
164
155
 
165
156
  return {
157
+ ColorEnum,
166
158
  imageSize,
167
159
  infoWidth,
168
- ColorEnum,
169
160
  roleLabel,
170
- roleIcon,
171
- title
161
+ roleIcon
172
162
  };
173
163
  }
174
164
  });
@@ -22,7 +22,7 @@ import { computed, defineComponent } from "vue";
22
22
  import type { PropType } from "vue";
23
23
 
24
24
  import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
25
- import { Position } from "@dative-gpi/foundation-shared-domain/models";
25
+ import { Position } from "@dative-gpi/foundation-shared-domain/enums";
26
26
 
27
27
  export default defineComponent({
28
28
  name: "FSToggleSetPosition",