@dative-gpi/foundation-shared-components 0.1.120 → 1.0.0

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 (196) hide show
  1. package/assets/images/map/imagery.png +0 -0
  2. package/assets/images/map/map.png +0 -0
  3. package/components/FSAccordion.vue +2 -1
  4. package/components/FSAccordionPanel.vue +20 -1
  5. package/components/FSBadge.vue +7 -3
  6. package/components/FSBreadcrumbs.vue +4 -2
  7. package/components/FSButton.vue +15 -8
  8. package/components/FSCalendar.vue +5 -2
  9. package/components/FSCalendarTwin.vue +6 -3
  10. package/components/FSCard.vue +4 -2
  11. package/components/FSCardPlaceholder.vue +80 -0
  12. package/components/FSCheckbox.vue +10 -7
  13. package/components/FSChip.vue +4 -2
  14. package/components/FSClickable.vue +5 -3
  15. package/components/FSClock.vue +18 -4
  16. package/components/FSCol.vue +12 -5
  17. package/components/FSColor.vue +4 -2
  18. package/components/FSColorIcon.vue +5 -3
  19. package/components/FSDialog.vue +28 -87
  20. package/components/FSDialogContent.vue +133 -0
  21. package/components/FSDialogForm.vue +25 -236
  22. package/components/FSDialogFormBody.vue +273 -0
  23. package/components/FSDialogMenu.vue +5 -2
  24. package/components/FSDialogMultiForm.vue +21 -197
  25. package/components/FSDialogMultiFormBody.vue +231 -0
  26. package/components/FSDialogSubmit.vue +4 -2
  27. package/components/FSDivider.vue +6 -4
  28. package/components/FSEditImage.vue +16 -9
  29. package/components/FSErrorToast.vue +2 -1
  30. package/components/FSFadeOut.vue +1 -1
  31. package/components/FSForm.vue +7 -7
  32. package/components/FSGrid.vue +4 -2
  33. package/components/FSGridMosaic.vue +3 -2
  34. package/components/FSIcon.vue +3 -2
  35. package/components/FSIconCard.vue +10 -3
  36. package/components/FSIconCheck.vue +2 -1
  37. package/components/FSIconFlag.vue +2 -1
  38. package/components/FSImage.vue +2 -1
  39. package/components/FSImageCard.vue +72 -0
  40. package/components/FSLabel.vue +4 -2
  41. package/components/FSLink.vue +5 -3
  42. package/components/FSLoader.vue +2 -1
  43. package/components/FSOptionGroup.vue +28 -20
  44. package/components/FSOptionItem.vue +8 -18
  45. package/components/FSPagination.vue +4 -2
  46. package/components/FSRadio.vue +23 -11
  47. package/components/FSRadioGroup.vue +23 -10
  48. package/components/FSRow.vue +8 -1
  49. package/components/FSSlideGroup.vue +27 -6
  50. package/components/FSSlider.vue +4 -2
  51. package/components/FSSpan.vue +2 -1
  52. package/components/FSSwitch.vue +13 -10
  53. package/components/FSTab.vue +4 -2
  54. package/components/FSTabs.vue +5 -14
  55. package/components/FSTag.vue +11 -4
  56. package/components/FSTagGroup.vue +4 -2
  57. package/components/FSText.vue +4 -2
  58. package/components/FSToggleSet.vue +30 -17
  59. package/components/FSTooltip.vue +15 -4
  60. package/components/FSWindow.vue +2 -2
  61. package/components/FSWrapGroup.vue +2 -1
  62. package/components/autocompletes/FSAutoCompleteAddress.vue +104 -0
  63. package/components/autocompletes/FSAutocompleteLanguage.vue +18 -26
  64. package/components/autocompletes/FSAutocompleteTag.vue +138 -0
  65. package/components/autocompletes/FSAutocompleteTimeZone.vue +19 -30
  66. package/components/buttons/FSButtonAdd.vue +28 -0
  67. package/components/buttons/FSButtonAddIcon.vue +28 -0
  68. package/components/buttons/FSButtonAddLabel.vue +27 -0
  69. package/components/buttons/FSButtonAddMini.vue +27 -0
  70. package/components/buttons/FSButtonFile.vue +4 -4
  71. package/components/buttons/FSButtonFileIcon.vue +4 -4
  72. package/components/buttons/FSButtonFileLabel.vue +4 -4
  73. package/components/buttons/FSButtonFileMini.vue +4 -4
  74. package/components/deviceOrganisations/FSConnectivity.vue +3 -2
  75. package/components/deviceOrganisations/FSConnectivityCard.vue +3 -2
  76. package/components/deviceOrganisations/FSStatus.vue +3 -2
  77. package/components/deviceOrganisations/FSStatusCard.vue +3 -2
  78. package/components/deviceOrganisations/FSStatusesCarousel.vue +3 -2
  79. package/components/deviceOrganisations/FSStatusesRow.vue +3 -2
  80. package/components/deviceOrganisations/FSWorstAlert.vue +5 -4
  81. package/components/deviceOrganisations/FSWorstAlertCard.vue +4 -2
  82. package/components/fields/FSAutocompleteField.vue +210 -97
  83. package/components/fields/FSBaseField.vue +2 -1
  84. package/components/fields/FSColorField.vue +65 -94
  85. package/components/fields/FSDateField.vue +12 -25
  86. package/components/fields/FSDateRangeField.vue +15 -27
  87. package/components/fields/FSDateTimeField.vue +22 -32
  88. package/components/fields/FSDateTimeRangeField.vue +43 -51
  89. package/components/fields/FSGradientField.vue +143 -0
  90. package/components/fields/FSIconField.vue +9 -6
  91. package/components/fields/FSMagicConfigField.vue +154 -0
  92. package/components/fields/FSMagicField.vue +185 -0
  93. package/components/fields/FSNumberField.vue +3 -1
  94. package/components/fields/FSPasswordField.vue +10 -10
  95. package/components/fields/FSRichTextField.vue +136 -50
  96. package/components/fields/FSSearchField.vue +41 -62
  97. package/components/fields/FSSelectField.vue +148 -53
  98. package/components/fields/FSTagField.vue +19 -16
  99. package/components/fields/FSTermField.vue +192 -186
  100. package/components/fields/FSTextArea.vue +4 -4
  101. package/components/fields/FSTextField.vue +29 -6
  102. package/components/fields/FSTimeField.vue +55 -20
  103. package/components/fields/FSTimeSlotField.vue +6 -5
  104. package/components/fields/FSTranslateField.vue +234 -0
  105. package/components/fields/FSTranslateRichTextField.vue +185 -0
  106. package/components/fields/FSTreeViewField.vue +520 -0
  107. package/components/lists/FSDataIteratorItem.vue +18 -3
  108. package/components/lists/FSDataTableUI.vue +138 -51
  109. package/components/lists/FSFilterButton.vue +4 -2
  110. package/components/lists/FSHiddenButton.vue +4 -2
  111. package/components/map/FSMap.vue +598 -0
  112. package/components/map/FSMapEditPointAddressOverlay.vue +164 -0
  113. package/components/map/FSMapLayerButton.vue +77 -0
  114. package/components/map/FSMapOverlay.vue +150 -0
  115. package/components/selects/FSSelectAutoRefresh.vue +62 -0
  116. package/components/selects/FSSelectDashboardVariableType.vue +47 -0
  117. package/components/selects/FSSelectDateSetting.vue +39 -37
  118. package/components/selects/FSSelectDays.vue +62 -0
  119. package/components/tiles/FSDashboardOrganisationTileUI.vue +7 -5
  120. package/components/tiles/FSDashboardOrganisationTypeTileUI.vue +7 -5
  121. package/components/tiles/FSDashboardShallowTileUI.vue +7 -5
  122. package/components/tiles/FSDeviceOrganisationTileUI.vue +11 -12
  123. package/components/tiles/FSFolderTileUI.vue +8 -6
  124. package/components/tiles/FSGroupTileUI.vue +13 -15
  125. package/components/tiles/{FSSimpleIconTileUI.vue → FSSimpleTileUI.vue} +29 -15
  126. package/components/tiles/FSTile.vue +5 -11
  127. package/components/tiles/FSUserOrganisationTileUI.vue +2 -1
  128. package/components/toggleSets/FSToggleSetPosition.vue +61 -0
  129. package/composables/index.ts +5 -1
  130. package/composables/useAddress.ts +158 -0
  131. package/composables/useAutocomplete.ts +4 -3
  132. package/composables/useColors.ts +8 -25
  133. package/composables/useDebounce.ts +2 -1
  134. package/composables/useMagicFieldProvider.ts +22 -0
  135. package/composables/useRules.ts +4 -12
  136. package/composables/useSlots.ts +46 -26
  137. package/composables/useTables.ts +29 -0
  138. package/composables/useTreeView.ts +48 -0
  139. package/elements/FSFormElement.ts +2 -1
  140. package/icons/flags/France.vue +21 -5
  141. package/icons/flags/Germany.vue +16 -4
  142. package/icons/flags/GreatBritain.vue +25 -6
  143. package/icons/flags/Italy.vue +21 -5
  144. package/icons/flags/Portugal.vue +225 -51
  145. package/icons/flags/Spain.vue +2781 -543
  146. package/icons/flags/UnitedStates.vue +31 -7
  147. package/icons/widgetTemplates/DevicesWidget.vue +189 -189
  148. package/icons/widgetTemplates/ProfileWidget.vue +9 -9
  149. package/icons/widgetTemplates/TextWidget.vue +6 -6
  150. package/models/breadcrumbs.ts +1 -1
  151. package/models/deviceAlerts.ts +1 -1
  152. package/models/deviceConnectivities.ts +1 -1
  153. package/models/index.ts +2 -0
  154. package/models/magicFields.ts +9 -0
  155. package/models/map.ts +18 -0
  156. package/models/richTextVariable.ts +5 -0
  157. package/models/rules.ts +11 -2
  158. package/models/tables.ts +30 -21
  159. package/models/variableNode.ts +104 -0
  160. package/package.json +21 -18
  161. package/plugins/colorPlugin.ts +2 -2
  162. package/plugins/index.ts +2 -1
  163. package/plugins/mapsPlugin.ts +37 -0
  164. package/shims-plugin.d.ts +2 -2
  165. package/shims-window.d.ts +3 -0
  166. package/styles/components/fs_button.scss +5 -0
  167. package/styles/components/fs_card.scss +0 -1
  168. package/styles/components/fs_col.scss +1 -0
  169. package/styles/components/fs_color_field.scss +12 -2
  170. package/styles/components/fs_data_iterator_item.scss +19 -6
  171. package/styles/components/fs_dialog.scss +12 -22
  172. package/styles/components/fs_gradient_field.scss +16 -0
  173. package/styles/components/fs_image_card.scss +18 -0
  174. package/styles/components/fs_magic_config_field.scss +13 -0
  175. package/styles/components/fs_map.scss +129 -0
  176. package/styles/components/fs_map_overlay.scss +38 -0
  177. package/styles/components/fs_meta_field.scss +6 -0
  178. package/styles/components/fs_option_group.scss +1 -0
  179. package/styles/components/fs_radio.scss +1 -1
  180. package/styles/components/fs_rich_text_field.scss +17 -5
  181. package/styles/components/fs_row.scss +1 -1
  182. package/styles/components/fs_select_field.scss +9 -14
  183. package/styles/components/fs_text.scss +1 -1
  184. package/styles/components/fs_time_field.scss +0 -4
  185. package/styles/components/fs_translate_field.scss +3 -0
  186. package/styles/components/fs_tree_view_field.scss +53 -0
  187. package/styles/components/index.scss +8 -1
  188. package/styles/globals/overrides.scss +54 -8
  189. package/styles/globals/scrollbars.scss +2 -2
  190. package/themes/default.ts +1 -1
  191. package/utils/gradient.ts +1601 -0
  192. package/utils/index.ts +3 -1
  193. package/utils/leafletMarkers.ts +23 -0
  194. package/utils/lexical.ts +3 -1
  195. package/components/selects/FSSelectTimeZone.vue +0 -67
  196. package/styles/components/fs_date_field.scss +0 -8
Binary file
Binary file
@@ -3,7 +3,8 @@
3
3
  variant="accordion"
4
4
  >
5
5
  <template
6
- v-for="component in getChildren()"
6
+ v-for="(component, index) in getChildren()"
7
+ :key="index"
7
8
  >
8
9
  <component
9
10
  :is="component"
@@ -22,6 +22,7 @@
22
22
  </FSIcon>
23
23
  <FSSpan
24
24
  class="fs-accordion-panel-title"
25
+ :lineClamp="$props.lineClampTitle"
25
26
  >
26
27
  {{ $props.title }}
27
28
  </FSSpan>
@@ -35,22 +36,29 @@
35
36
  name="content"
36
37
  >
37
38
  <FSText
39
+ v-if="$props.variant === 'standard'"
38
40
  :lineClamp="$props.lineClampContent"
39
41
  >
40
42
  {{ $props.content }}
41
43
  </FSText>
44
+ <FSRichTextField
45
+ v-else-if="$props.variant === 'rich-text'"
46
+ variant="readonly"
47
+ :modelValue="$props.content"
48
+ />
42
49
  </slot>
43
50
  </template>
44
51
  </v-expansion-panel>
45
52
  </template>
46
53
 
47
54
  <script lang="ts">
48
- import { computed, defineComponent, PropType } from "vue";
55
+ import { computed, defineComponent, type PropType } from "vue";
49
56
 
50
57
  import { useColors } from "@dative-gpi/foundation-shared-components/composables";
51
58
  import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
52
59
  import { sizeToVar } from "@dative-gpi/foundation-shared-components/utils";
53
60
 
61
+ import FSRichTextField from "./fields/FSRichTextField.vue";
54
62
  import FSIcon from "./FSIcon.vue";
55
63
  import FSSpan from "./FSSpan.vue";
56
64
  import FSText from "./FSText.vue";
@@ -59,6 +67,7 @@ import FSRow from "./FSRow.vue";
59
67
  export default defineComponent({
60
68
  name: "FSAccordionPanel",
61
69
  components: {
70
+ FSRichTextField,
62
71
  FSIcon,
63
72
  FSSpan,
64
73
  FSText,
@@ -90,6 +99,11 @@ export default defineComponent({
90
99
  required: false,
91
100
  default: "16px"
92
101
  },
102
+ lineClampTitle: {
103
+ type: Number,
104
+ required: false,
105
+ default: 2
106
+ },
93
107
  lineClampContent: {
94
108
  type: Number,
95
109
  required: false,
@@ -109,6 +123,11 @@ export default defineComponent({
109
123
  type: String,
110
124
  required: false,
111
125
  default: ""
126
+ },
127
+ variant: {
128
+ type: String as PropType<"standard" | "rich-text">,
129
+ required: false,
130
+ default: "standard"
112
131
  }
113
132
  },
114
133
  setup(props) {
@@ -5,7 +5,9 @@
5
5
  :color="$props.color"
6
6
  :bordered="true"
7
7
  >
8
- <template v-slot:default>
8
+ <template
9
+ v-slot:default
10
+ >
9
11
  <slot />
10
12
  </template>
11
13
  </v-badge>
@@ -16,9 +18,11 @@
16
18
  </template>
17
19
 
18
20
  <script lang="ts">
19
- import { defineComponent, PropType } from "vue";
21
+ import type { PropType } from "vue";
22
+ import { defineComponent } from "vue";
20
23
 
21
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
24
+ import type { ColorBase} from "@dative-gpi/foundation-shared-components/models";
25
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
22
26
 
23
27
  export default defineComponent({
24
28
  name: "FSBadge",
@@ -27,9 +27,11 @@
27
27
  </template>
28
28
 
29
29
  <script lang="ts">
30
- import { defineComponent, PropType, Ref, ref } from "vue";
30
+ import type { PropType, Ref} from "vue";
31
+ import { defineComponent, ref } from "vue";
31
32
 
32
- import { ColorEnum, FSBreadcrumbItem } from "@dative-gpi/foundation-shared-components/models";
33
+ import type { FSBreadcrumbItem } from "@dative-gpi/foundation-shared-components/models";
34
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
33
35
  import { useColors } from "@dative-gpi/foundation-shared-components/composables";
34
36
 
35
37
  import FSSpan from "./FSSpan.vue";
@@ -25,7 +25,7 @@
25
25
  >
26
26
  <FSIcon
27
27
  v-if="$props.prependIcon || $props.icon"
28
- size="l"
28
+ :size="$props.iconSize"
29
29
  >
30
30
  {{ $props.prependIcon ?? $props.icon }}
31
31
  </FSIcon>
@@ -45,7 +45,7 @@
45
45
  >
46
46
  <FSIcon
47
47
  v-if="$props.appendIcon"
48
- size="l"
48
+ :size="$props.iconSize"
49
49
  >
50
50
  {{ $props.appendIcon }}
51
51
  </FSIcon>
@@ -79,7 +79,7 @@
79
79
  >
80
80
  <FSIcon
81
81
  v-if="$props.icon"
82
- size="l"
82
+ :size="$props.iconSize"
83
83
  >
84
84
  {{ $props.icon }}
85
85
  </FSIcon>
@@ -98,7 +98,7 @@
98
98
  >
99
99
  <FSIcon
100
100
  v-if="$props.icon"
101
- size="l"
101
+ :size="$props.iconSize"
102
102
  >
103
103
  {{ $props.icon }}
104
104
  </FSIcon>
@@ -114,7 +114,7 @@
114
114
  >
115
115
  <FSIcon
116
116
  v-if="$props.icon"
117
- size="l"
117
+ :size="$props.iconSize"
118
118
  >
119
119
  {{ $props.icon }}
120
120
  </FSIcon>
@@ -128,11 +128,13 @@
128
128
  </template>
129
129
 
130
130
  <script lang="ts">
131
- import { computed, defineComponent, PropType } from "vue";
132
- import { RouteLocation } from "vue-router";
131
+ import type { PropType } from "vue";
132
+ import { computed, defineComponent } from "vue";
133
+ import type { RouteLocation } from "vue-router";
133
134
 
134
135
  import { useColors, useSlots } from "@dative-gpi/foundation-shared-components/composables";
135
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
136
+ import type { ColorBase} from "@dative-gpi/foundation-shared-components/models";
137
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
136
138
 
137
139
  import FSClickable from "./FSClickable.vue";
138
140
  import FSSpan from "./FSSpan.vue";
@@ -178,6 +180,11 @@ export default defineComponent({
178
180
  required: false,
179
181
  default: null
180
182
  },
183
+ iconSize: {
184
+ type: [Array, String, Number] as PropType<"s" | "m" | "l" | string[] | number[] | string | number | null>,
185
+ required: false,
186
+ default: "l"
187
+ },
181
188
  variant: {
182
189
  type: String as PropType<"standard" | "full" | "icon">,
183
190
  required: false,
@@ -13,6 +13,7 @@
13
13
  </FSRow>
14
14
  <FSCol
15
15
  class="fs-calendar"
16
+ :height="['380px', '375px']"
16
17
  :style="style"
17
18
  >
18
19
  <FSRow
@@ -64,10 +65,12 @@
64
65
  </template>
65
66
 
66
67
  <script lang="ts">
67
- import { computed, defineComponent, PropType, ref } from "vue";
68
+ import type { PropType} from "vue";
69
+ import { computed, defineComponent, ref } from "vue";
68
70
 
69
71
  import { useAppTimeZone, useAppLanguageCode } from "@dative-gpi/foundation-shared-services/composables";
70
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
72
+ import type { ColorBase} from "@dative-gpi/foundation-shared-components/models";
73
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
71
74
  import { useColors } from "@dative-gpi/foundation-shared-components/composables";
72
75
 
73
76
  import FSButton from "./FSButton.vue";
@@ -14,8 +14,9 @@
14
14
  </FSRow>
15
15
  <FSRow
16
16
  class="fs-calendar-twin"
17
- align="center-center"
17
+ align="top-center"
18
18
  width="hug"
19
+ :height="['380px', '375px']"
19
20
  :style="style"
20
21
  >
21
22
  <FSCol
@@ -111,10 +112,12 @@
111
112
  </template>
112
113
 
113
114
  <script lang="ts">
114
- import { computed, defineComponent, onMounted, PropType, ref } from "vue";
115
+ import type { PropType} from "vue";
116
+ import { computed, defineComponent, onMounted, ref } from "vue";
115
117
 
116
118
  import { useAppTimeZone, useAppLanguageCode } from "@dative-gpi/foundation-shared-services/composables";
117
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
119
+ import type { ColorBase} from "@dative-gpi/foundation-shared-components/models";
120
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
118
121
  import { useColors } from "@dative-gpi/foundation-shared-components/composables";
119
122
 
120
123
  import FSButton from "./FSButton.vue";
@@ -34,9 +34,11 @@
34
34
  </template>
35
35
 
36
36
  <script lang="ts">
37
- import { computed, defineComponent, PropType } from "vue";
37
+ import type { PropType } from "vue";
38
+ import { computed, defineComponent } from "vue";
38
39
 
39
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
40
+ import type { ColorBase} from "@dative-gpi/foundation-shared-components/models";
41
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
40
42
  import { useColors } from "@dative-gpi/foundation-shared-components/composables";
41
43
  import { sizeToVar } from "@dative-gpi/foundation-shared-components/utils";
42
44
 
@@ -0,0 +1,80 @@
1
+ <template>
2
+ <FSClickable
3
+ borderStyle="dashed"
4
+ padding="24px"
5
+ :height="$props.height"
6
+ :width="$props.width"
7
+ :border="true"
8
+ @click="$emit('click')"
9
+ v-bind="$attrs"
10
+ >
11
+ <FSRow
12
+ align="center-center"
13
+ >
14
+ <FSIcon
15
+ v-if="$props.icon"
16
+ :color="ColorEnum.Light"
17
+ variant="dark"
18
+ >
19
+ {{ $props.icon }}
20
+ </FSIcon>
21
+ <FSText
22
+ v-if="$props.label"
23
+ :color="ColorEnum.Light"
24
+ variant="dark"
25
+ >
26
+ {{ $props.label }}
27
+ </FSText>
28
+ </FSRow>
29
+ </FSClickable>
30
+ </template>
31
+
32
+ <script lang="ts">
33
+ import type { PropType } from "vue";
34
+ import { defineComponent } from "vue";
35
+
36
+ import { ColorEnum } from "../models";
37
+
38
+ import FSClickable from "./FSClickable.vue";
39
+ import FSIcon from "./FSIcon.vue";
40
+ import FSText from "./FSText.vue";
41
+ import FSRow from "./FSRow.vue";
42
+
43
+ export default defineComponent({
44
+ name: "FSCardPlaceholder",
45
+ components: {
46
+ FSClickable,
47
+ FSIcon,
48
+ FSText,
49
+ FSRow
50
+ },
51
+ props: {
52
+ height: {
53
+ type: [Array, String, Number] as PropType<string[] | number[] | string | number | null>,
54
+ required: false,
55
+ default: "fit-content"
56
+ },
57
+ width: {
58
+ type: [Array, String, Number] as PropType<string[] | number[] | string | number | null>,
59
+ required: false,
60
+ default: "100%"
61
+ },
62
+ icon: {
63
+ type: String as PropType<string | null>,
64
+ required: false,
65
+ default: null
66
+ },
67
+ label: {
68
+ type: String as PropType<string | null>,
69
+ required: false,
70
+ default: null
71
+ }
72
+ },
73
+ emits: ["click"],
74
+ setup() {
75
+ return {
76
+ ColorEnum
77
+ };
78
+ }
79
+ });
80
+ </script>
@@ -10,13 +10,13 @@
10
10
  :validateOn="validateOn"
11
11
  :modelValue="$props.modelValue"
12
12
  @click.prevent.stop="onToggle"
13
- @blur="blurred = true"
14
13
  v-bind="$attrs"
15
14
  >
16
15
  <template
17
16
  #input
18
17
  >
19
18
  <FSRow
19
+ class="fs-checkbox-label"
20
20
  align="center-left"
21
21
  width="hug"
22
22
  :style="style"
@@ -28,10 +28,12 @@
28
28
  >
29
29
  {{ icon }}
30
30
  </FSIcon>
31
- <slot>
31
+ <slot
32
+ name="label"
33
+ v-bind="{ font }"
34
+ >
32
35
  <FSSpan
33
36
  v-if="$props.label"
34
- class="fs-checkbox-label"
35
37
  :style="style"
36
38
  :font="font"
37
39
  >
@@ -57,10 +59,12 @@
57
59
  </template>
58
60
 
59
61
  <script lang="ts">
60
- import { computed, defineComponent, PropType } from "vue";
62
+ import type { PropType } from "vue";
63
+ import { computed, defineComponent } from "vue";
61
64
 
62
65
  import { useColors, useRules } from "@dative-gpi/foundation-shared-components/composables";
63
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
66
+ import type { ColorBase} from "@dative-gpi/foundation-shared-components/models";
67
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
64
68
 
65
69
  import FSIcon from "./FSIcon.vue";
66
70
  import FSSpan from "./FSSpan.vue";
@@ -119,7 +123,7 @@ export default defineComponent({
119
123
  },
120
124
  emits: ["update:modelValue"],
121
125
  setup(props, { emit }) {
122
- const { validateOn, blurred, getMessages } = useRules();
126
+ const { validateOn, getMessages } = useRules();
123
127
  const { getColors } = useColors();
124
128
 
125
129
  const colors = computed(() => getColors(props.color));
@@ -165,7 +169,6 @@ export default defineComponent({
165
169
  return {
166
170
  validateOn,
167
171
  messages,
168
- blurred,
169
172
  style,
170
173
  icon,
171
174
  font,
@@ -44,9 +44,11 @@
44
44
  </template>
45
45
 
46
46
  <script lang="ts">
47
- import { computed, defineComponent, PropType } from "vue";
47
+ import type { PropType } from "vue";
48
+ import { computed, defineComponent } from "vue";
48
49
 
49
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
50
+ import type { ColorBase} from "@dative-gpi/foundation-shared-components/models";
51
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
50
52
  import { useColors } from "@dative-gpi/foundation-shared-components/composables";
51
53
  import { sizeToVar } from "@dative-gpi/foundation-shared-components/utils";
52
54
 
@@ -123,10 +123,12 @@
123
123
  </template>
124
124
 
125
125
  <script lang="ts">
126
- import { computed, defineComponent, PropType, ref } from "vue";
127
- import { RouteLocation } from "vue-router";
126
+ import type { PropType} from "vue";
127
+ import { computed, defineComponent, ref } from "vue";
128
+ import type { RouteLocation } from "vue-router";
128
129
 
129
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
130
+ import type { ColorBase} from "@dative-gpi/foundation-shared-components/models";
131
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
130
132
  import { useColors } from "@dative-gpi/foundation-shared-components/composables";
131
133
  import { sizeToVar } from "@dative-gpi/foundation-shared-components/utils";
132
134
 
@@ -52,9 +52,9 @@
52
52
  </template>
53
53
 
54
54
  <script lang="ts">
55
- import { computed, defineComponent, PropType, ref, watch } from "vue";
55
+ import { computed, defineComponent, type PropType, ref, watch } from "vue";
56
56
 
57
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
57
+ import { type ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
58
58
  import { useAppTimeZone } from "@dative-gpi/foundation-shared-services/composables";
59
59
  import { useColors } from "@dative-gpi/foundation-shared-components/composables";
60
60
 
@@ -106,8 +106,8 @@ export default defineComponent({
106
106
  const lights = getColors(ColorEnum.Light);
107
107
  const darks = getColors(ColorEnum.Dark);
108
108
 
109
- const innerHours = ref(props.modelValue ? Math.floor(props.modelValue / (60 * 60 * 1000)) : 0);
110
- const innerMinutes = ref(props.modelValue ? Math.floor((props.modelValue % (60 * 60 * 1000)) / (60 * 1000)) : 0);
109
+ const innerHours = ref(0);
110
+ const innerMinutes = ref(0);
111
111
 
112
112
  const style = computed((): { [key: string] : string | null | undefined } => {
113
113
  if (!props.editable) {
@@ -146,6 +146,20 @@ export default defineComponent({
146
146
  innerMinutes.value = number;
147
147
  };
148
148
 
149
+ const reset = (): void => {
150
+ innerHours.value = props.modelValue ? Math.floor(props.modelValue / (60 * 60 * 1000)) : 0;
151
+ innerMinutes.value = props.modelValue ? Math.floor((props.modelValue % (60 * 60 * 1000)) / (60 * 1000)) : 0;
152
+ };
153
+
154
+ watch(() => props.modelValue, () => {
155
+ if (
156
+ innerHours.value !== (props.modelValue ? Math.floor(props.modelValue / (60 * 60 * 1000)) : 0) ||
157
+ innerMinutes.value !== (props.modelValue ? Math.floor((props.modelValue % (60 * 60 * 1000)) / (60 * 1000)) : 0)
158
+ ) {
159
+ reset();
160
+ }
161
+ }, { immediate: true });
162
+
149
163
  watch([innerHours, innerMinutes], () => {
150
164
  emit("update:modelValue", (innerHours.value * 60 * 60 * 1000) + (innerMinutes.value * 60 * 1000));
151
165
  });
@@ -9,7 +9,8 @@
9
9
  </template>
10
10
 
11
11
  <script lang="ts">
12
- import { computed, defineComponent, PropType } from "vue";
12
+ import type { PropType } from "vue";
13
+ import { computed, defineComponent } from "vue";
13
14
 
14
15
  import { sizeToVar } from "@dative-gpi/foundation-shared-components/utils";
15
16
 
@@ -40,14 +41,20 @@ export default defineComponent({
40
41
  type: String as PropType<"top-left" | "top-center" | "top-right" | "center-left" | "center-center" | "center-right" | "bottom-left" | "bottom-center" | "bottom-right">,
41
42
  required: false,
42
43
  default: "top-left"
44
+ },
45
+ overflow: {
46
+ type: String as PropType<"visible" | "hidden" | "scroll" | "auto" | "inherit" | "initial" | "unset">,
47
+ required: false,
48
+ default: "visible"
43
49
  }
44
50
  },
45
51
  setup(props) {
46
52
  const style = computed((): { [key: string] : string | null | undefined } => ({
47
- "--fs-col-padding": sizeToVar(props.padding),
48
- "--fs-col-gap" : sizeToVar(props.gap),
49
- "--fs-col-width" : sizeToVar(props.width),
50
- "--fs-col-height" : sizeToVar(props.height)
53
+ "--fs-col-overflow": props.overflow,
54
+ "--fs-col-padding" : sizeToVar(props.padding),
55
+ "--fs-col-gap" : sizeToVar(props.gap),
56
+ "--fs-col-width" : sizeToVar(props.width),
57
+ "--fs-col-height" : sizeToVar(props.height)
51
58
  }));
52
59
 
53
60
  const classes = computed((): string[] => {
@@ -12,9 +12,11 @@
12
12
  </template>
13
13
 
14
14
  <script lang="ts">
15
- import { computed, defineComponent, PropType } from "vue";
15
+ import type { PropType } from "vue";
16
+ import { computed, defineComponent } from "vue";
16
17
 
17
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
18
+ import type { ColorBase} from "@dative-gpi/foundation-shared-components/models";
19
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
18
20
  import { useColors } from "@dative-gpi/foundation-shared-components/composables";
19
21
 
20
22
  import FSCard from "./FSCard.vue";
@@ -16,13 +16,15 @@
16
16
  <slot />
17
17
  </FSIcon>
18
18
  </FSRow>
19
- </FSColor>
19
+ </FSColor>
20
20
  </template>
21
21
 
22
22
  <script lang="ts">
23
- import { computed, defineComponent, PropType } from "vue";
23
+ import type { PropType } from "vue";
24
+ import { computed, defineComponent } from "vue";
24
25
 
25
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
26
+ import type { ColorBase} from "@dative-gpi/foundation-shared-components/models";
27
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
26
28
  import { useBreakpoints } from "@dative-gpi/foundation-shared-components/composables";
27
29
 
28
30
  import FSColor from "./FSColor.vue";