@dative-gpi/foundation-shared-components 1.0.140 → 1.0.141

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.
@@ -1,7 +1,5 @@
1
1
  <template>
2
- <FSCol
3
- width="hug"
4
- >
2
+ <FSCol>
5
3
  <FSRow>
6
4
  <FSSelectField
7
5
  :hideHeader="true"
@@ -22,8 +20,6 @@
22
20
  <FSRow
23
21
  class="fs-calendar-twin"
24
22
  align="top-center"
25
- width="hug"
26
- :height="['380px', '375px']"
27
23
  :style="style"
28
24
  >
29
25
  <FSCol
@@ -88,7 +88,7 @@
88
88
  <script lang="ts">
89
89
  import { computed, defineComponent, ref, watch } from "vue";
90
90
 
91
- import { useDateFormat, useTermFieldDate } from "@dative-gpi/foundation-shared-services/composables";
91
+ import { useDateFormat, useDateExpression } from "@dative-gpi/foundation-shared-services/composables";
92
92
 
93
93
  import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
94
94
  import { useBreakpoints, useColors } from '@dative-gpi/foundation-shared-components/composables';
@@ -169,7 +169,7 @@ export default defineComponent({
169
169
  emits: ['update:modelValue', 'update:startDate', 'update:endDate'],
170
170
  setup(props, { emit }) {
171
171
  const { epochToShortTimeOnlyFormat, epochToShortDateFormat, epochToDayMonthShortOnly, epochToISO, epochToMonthShortTimeFormat } = useDateFormat();
172
- const { convert : convertTermToEpoch } = useTermFieldDate();
172
+ const { convert : convertTermToEpoch } = useDateExpression();
173
173
  const { isMobileSized, isExtraSmall } = useBreakpoints();
174
174
  const { getColors } = useColors();
175
175
 
@@ -0,0 +1,160 @@
1
+ <template>
2
+ <FSDialogSubmit
3
+ :title="$props.label"
4
+ :submitButtonColor="$props.color"
5
+ :modelValue="$props.dialog"
6
+ :disabled="!valid"
7
+ @update:modelValue="$emit('cancel')"
8
+ @click:submitButton="onSubmit"
9
+ >
10
+ <template
11
+ #body
12
+ >
13
+ <FSCol>
14
+ <FSCalendarTwin
15
+ :color="$props.color"
16
+ v-model="innerDateRange"
17
+ />
18
+ <FSRow>
19
+ <FSCol>
20
+ <FSClock
21
+ :color="$props.color"
22
+ :date="innerDateLeft"
23
+ v-model="innerTimeLeft"
24
+ />
25
+ </FSCol>
26
+ <FSCol>
27
+ <FSClock
28
+ :color="$props.color"
29
+ :date="innerDateRight"
30
+ v-model="innerTimeRight"
31
+ />
32
+ </FSCol>
33
+ </FSRow>
34
+ </FSCol>
35
+ </template>
36
+ </FSDialogSubmit>
37
+ </template>
38
+
39
+ <script lang="ts">
40
+ import { computed, defineComponent, type PropType, ref, watch } from "vue";
41
+
42
+ import { type ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
43
+ import { useAppTimeZone } from "@dative-gpi/foundation-shared-services/composables";
44
+
45
+ import FSDialogSubmit from "../FSDialogSubmit.vue";
46
+ import FSCalendarTwin from "../FSCalendarTwin.vue";
47
+ import FSClock from "../FSClock.vue";
48
+ import FSCol from "../FSCol.vue";
49
+ import FSRow from "../FSRow.vue";
50
+
51
+ export default defineComponent({
52
+ name: "FSDateTimeRangeDialog",
53
+ components: {
54
+ FSDialogSubmit,
55
+ FSCalendarTwin,
56
+ FSClock,
57
+ FSCol,
58
+ FSRow
59
+ },
60
+ props: {
61
+ label: {
62
+ type: String as PropType<string | null>,
63
+ required: false,
64
+ default: null
65
+ },
66
+ modelValue: {
67
+ type: Array as PropType<number[] | null>,
68
+ required: false,
69
+ default: () => null
70
+ },
71
+ color: {
72
+ type: String as PropType<ColorBase>,
73
+ required: false,
74
+ default: ColorEnum.Primary
75
+ },
76
+ dialog: {
77
+ type: Boolean,
78
+ required: false,
79
+ default: false
80
+ }
81
+ },
82
+ emits: ["update:modelValue", "cancel"],
83
+ setup(props, { emit }) {
84
+ const { getUserOffset } = useAppTimeZone();
85
+
86
+ const innerDateRange = ref<number[] | null>(null);
87
+ const innerTimeRight = ref(0);
88
+ const innerTimeLeft = ref(0);
89
+
90
+ const innerDateLeft = computed((): number | null => {
91
+ if (innerDateRange.value && Array.isArray(innerDateRange.value) && innerDateRange.value.length) {
92
+ return innerDateRange.value[0];
93
+ }
94
+ return null;
95
+ });
96
+
97
+ const innerDateRight= computed((): number | null => {
98
+ if (innerDateRange.value && Array.isArray(innerDateRange.value) && innerDateRange.value.length > 1) {
99
+ return innerDateRange.value[1];
100
+ }
101
+ return null;
102
+ });
103
+
104
+ const valid = computed((): boolean => {
105
+ return !!innerDateRange.value && Array.isArray(innerDateRange.value) && innerDateRange.value.length > 1 &&
106
+ innerDateRange.value[0] + innerTimeLeft.value < innerDateRange.value[1] + innerTimeRight.value;
107
+ });
108
+
109
+ const reset = (): void => {
110
+ if (props.modelValue && Array.isArray(props.modelValue)) {
111
+ // FSClock just gives two numbers without consideration for the time zone
112
+ // We must adjust the time to the user's time zone
113
+ switch (props.modelValue.length) {
114
+ case 0: {
115
+ break;
116
+ }
117
+ case 1: {
118
+ innerTimeLeft.value = Math.floor((props.modelValue[0] + getUserOffset(props.modelValue[0])) % (24 * 60 * 60 * 1000));
119
+ innerDateRange.value = [props.modelValue[0] - innerTimeLeft.value];
120
+ break;
121
+ }
122
+ default: {
123
+ innerTimeLeft.value = Math.floor((props.modelValue[0] + getUserOffset(props.modelValue[0])) % (24 * 60 * 60 * 1000));
124
+ innerTimeRight.value = Math.floor((props.modelValue[1] + getUserOffset(props.modelValue[1])) % (24 * 60 * 60 * 1000));
125
+ innerDateRange.value = [props.modelValue[0] - innerTimeLeft.value, props.modelValue[1] - innerTimeRight.value];
126
+ break;
127
+ }
128
+ }
129
+ }
130
+ else {
131
+ innerDateRange.value = null;
132
+ innerTimeLeft.value = 0;
133
+ innerTimeRight.value = 0;
134
+ }
135
+ };
136
+
137
+ watch(() => props.modelValue, () => {
138
+ reset();
139
+ }, { immediate: true });
140
+
141
+ const onSubmit = (): void => {
142
+ if (valid.value) {
143
+ emit("update:modelValue", [innerDateRange.value![0] + innerTimeLeft.value, innerDateRange.value![1] + innerTimeRight.value]);
144
+ return;
145
+ }
146
+ };
147
+
148
+ return {
149
+ valid,
150
+ innerDateLeft,
151
+ innerTimeLeft,
152
+ innerDateRight,
153
+ innerTimeRight,
154
+ innerDateRange,
155
+ ColorEnum,
156
+ onSubmit
157
+ };
158
+ }
159
+ });
160
+ </script>
@@ -41,66 +41,34 @@
41
41
  />
42
42
  </template>
43
43
  </FSTextField>
44
- <FSDialogSubmit
44
+ <FSDateTimeRangeDialog
45
45
  :title="$props.label"
46
46
  :submitButtonColor="$props.color"
47
- @click:submitButton="onSubmit"
48
- v-model="dialog"
49
- >
50
- <template
51
- #body
52
- >
53
- <FSCol>
54
- <FSCalendarTwin
55
- :color="$props.color"
56
- v-model="innerDateRange"
57
- />
58
- <FSRow>
59
- <FSCol>
60
- <FSClock
61
- :color="$props.color"
62
- :date="innerDateLeft"
63
- v-model="innerTimeLeft"
64
- />
65
- </FSCol>
66
- <FSCol>
67
- <FSClock
68
- :color="$props.color"
69
- :date="innerDateRight"
70
- v-model="innerTimeRight"
71
- />
72
- </FSCol>
73
- </FSRow>
74
- </FSCol>
75
- </template>
76
- </FSDialogSubmit>
47
+ :dialog="dialog"
48
+ :modelValue="$props.modelValue"
49
+ :color="$props.color"
50
+ @cancel="dialog = false"
51
+ @update:modelValue="onSubmit($event)"
52
+ />
77
53
  </template>
78
54
 
79
55
  <script lang="ts">
80
- import { computed, defineComponent, type PropType, ref, watch } from "vue";
56
+ import { computed, defineComponent, type PropType, ref } from "vue";
81
57
 
82
58
  import { type ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
83
- import { useAppTimeZone, useDateFormat } from "@dative-gpi/foundation-shared-services/composables";
59
+ import { useDateFormat } from "@dative-gpi/foundation-shared-services/composables";
84
60
  import { useRules } from "@dative-gpi/foundation-shared-components/composables";
85
61
 
86
- import FSDialogSubmit from "../FSDialogSubmit.vue";
87
- import FSCalendarTwin from "../FSCalendarTwin.vue";
62
+ import FSDateTimeRangeDialog from "./FSDateTimeRangeDialog.vue";
88
63
  import FSTextField from "./FSTextField.vue";
89
64
  import FSButton from "../FSButton.vue";
90
- import FSClock from "../FSClock.vue";
91
- import FSCol from "../FSCol.vue";
92
- import FSRow from "../FSRow.vue";
93
65
 
94
66
  export default defineComponent({
95
67
  name: "FSDateTimeRangeField",
96
68
  components: {
97
- FSDialogSubmit,
98
- FSCalendarTwin,
69
+ FSDateTimeRangeDialog,
99
70
  FSTextField,
100
- FSButton,
101
- FSClock,
102
- FSCol,
103
- FSRow
71
+ FSButton
104
72
  },
105
73
  props: {
106
74
  label: {
@@ -146,16 +114,11 @@ export default defineComponent({
146
114
  },
147
115
  emits: ["update:modelValue"],
148
116
  setup(props, { emit }) {
149
- const { getUserOffset } = useAppTimeZone();
150
117
  const { epochToShortTimeFormat } = useDateFormat();
151
118
  const { validateOn, getMessages } = useRules();
152
119
 
153
120
  const dialog = ref(false);
154
121
 
155
- const innerDateRange = ref<number[] | null>(null);
156
- const innerTimeRight = ref(0);
157
- const innerTimeLeft = ref(0);
158
-
159
122
  const toShortTimeFormat = computed((): string => {
160
123
  if (!props.modelValue || !Array.isArray(props.modelValue) || !props.modelValue.length) {
161
124
  return "";
@@ -163,20 +126,6 @@ export default defineComponent({
163
126
  return props.modelValue.map((epoch) => epochToShortTimeFormat(epoch)).join(" - ");
164
127
  });
165
128
 
166
- const innerDateLeft = computed((): number | null => {
167
- if (innerDateRange.value && Array.isArray(innerDateRange.value) && innerDateRange.value.length) {
168
- return innerDateRange.value[0];
169
- }
170
- return null;
171
- });
172
-
173
- const innerDateRight= computed((): number | null => {
174
- if (innerDateRange.value && Array.isArray(innerDateRange.value) && innerDateRange.value.length > 1) {
175
- return innerDateRange.value[1];
176
- }
177
- return null;
178
- });
179
-
180
129
  const messages = computed((): string[] => getMessages(props.modelValue, props.rules, true));
181
130
 
182
131
  const onClick = (): void => {
@@ -185,66 +134,24 @@ export default defineComponent({
185
134
  }
186
135
  };
187
136
 
188
- const onClear = (): void => {
189
- emit("update:modelValue", null);
190
- innerTimeLeft.value = 0;
191
- innerTimeRight.value = 0;
192
- innerDateRange.value = null;
193
- };
194
-
195
- const onSubmit = (): void => {
196
- if (innerDateRange.value && Array.isArray(innerDateRange.value) && innerDateRange.value.length > 1) {
197
- emit("update:modelValue", [innerDateRange.value[0] + innerTimeLeft.value, innerDateRange.value[1] + innerTimeRight.value]);
198
- }
137
+ const onSubmit = (value: number[]): void => {
138
+ emit("update:modelValue", value);
199
139
  dialog.value = false;
200
140
  };
201
141
 
202
- const reset = (): void => {
203
- if (props.modelValue && Array.isArray(props.modelValue)) {
204
- // FSClock just gives two numbers without consideration for the time zone
205
- // We must adjust the time to the user's time zone
206
- switch (props.modelValue.length) {
207
- case 0: {
208
- break;
209
- }
210
- case 1: {
211
- innerTimeLeft.value = Math.floor((props.modelValue[0] + getUserOffset(props.modelValue[0])) % (24 * 60 * 60 * 1000));
212
- innerDateRange.value = [props.modelValue[0] - innerTimeLeft.value];
213
- break;
214
- }
215
- default: {
216
- innerTimeLeft.value = Math.floor((props.modelValue[0] + getUserOffset(props.modelValue[0])) % (24 * 60 * 60 * 1000));
217
- innerTimeRight.value = Math.floor((props.modelValue[1] + getUserOffset(props.modelValue[1])) % (24 * 60 * 60 * 1000));
218
- innerDateRange.value = [props.modelValue[0] - innerTimeLeft.value, props.modelValue[1] - innerTimeRight.value];
219
- break;
220
- }
221
- }
222
- }
223
- else {
224
- innerDateRange.value = null;
225
- innerTimeLeft.value = 0;
226
- innerTimeRight.value = 0;
227
- }
142
+ const onClear = (): void => {
143
+ emit("update:modelValue", null);
228
144
  };
229
145
 
230
- watch(() => props.modelValue, () => {
231
- reset();
232
- }, { immediate: true });
233
-
234
146
  return {
235
147
  toShortTimeFormat,
236
- innerDateLeft,
237
- innerTimeLeft,
238
- innerDateRight,
239
- innerTimeRight,
240
- innerDateRange,
241
148
  validateOn,
242
149
  ColorEnum,
243
150
  messages,
244
151
  dialog,
245
152
  onSubmit,
246
153
  onClear,
247
- onClick
154
+ onClick,
248
155
  };
249
156
  }
250
157
  });
@@ -68,16 +68,23 @@
68
68
  />
69
69
  </FSRow>
70
70
  </template>
71
- <FSDateTimeRangeField
71
+ <template
72
72
  v-else-if="innerDateSetting === DateSetting.Pick"
73
- :width="['350px', '310px']"
74
- :rules="[DateRules.required()]"
75
- :disabled="$props.disabled"
76
- :hideHeader="true"
77
- :clearable="false"
78
- :modelValue="actualValue"
79
- @update:modelValue="onPickDates"
80
- />
73
+ >
74
+ <FSDateTimeRangeField
75
+ :width="['350px', '310px']"
76
+ :disabled="$props.disabled"
77
+ :hideHeader="true"
78
+ :clearable="false"
79
+ :modelValue="actualValue"
80
+ @update:modelValue="onPickDates"
81
+ />
82
+ <FSDateTimeRangeDialog
83
+ :dialog="dateTimeRangeDialog"
84
+ @cancel="onCancelPickDates"
85
+ @update:modelValue="onPickDates"
86
+ />
87
+ </template>
81
88
  </FSRow>
82
89
  </FSForm>
83
90
  </FSBaseField>
@@ -93,6 +100,7 @@ import { useRules } from "@dative-gpi/foundation-shared-components/composables";
93
100
  import { DateSetting } from "@dative-gpi/foundation-shared-domain/enums";
94
101
 
95
102
  import FSSelectDateSetting from "../selects/FSSelectDateSetting.vue";
103
+ import FSDateTimeRangeDialog from './FSDateTimeRangeDialog.vue';
96
104
  import FSDateTimeRangeField from "./FSDateTimeRangeField.vue";
97
105
  import FSNumberField from "./FSNumberField.vue";
98
106
  import FSBaseField from "./FSBaseField.vue";
@@ -104,6 +112,7 @@ import FSRow from "../FSRow.vue";
104
112
  export default defineComponent({
105
113
  name: "FSTermField",
106
114
  components: {
115
+ FSDateTimeRangeDialog,
107
116
  FSDateTimeRangeField,
108
117
  FSSelectDateSetting,
109
118
  FSNumberField,
@@ -170,13 +179,14 @@ export default defineComponent({
170
179
  },
171
180
  emits: ["update", "update:startDate", "update:endDate"],
172
181
  setup(props, { emit }) {
173
- const { parseForPicker, epochToISO, todayToPicker, yesterdayToPicker } = useDateFormat();
182
+ const { parseForPicker, epochToISO } = useDateFormat();
174
183
  const { getMessages } = useRules();
175
184
 
176
185
  const innerDateSetting = ref<DateSetting>(DateSetting.PastDays);
177
186
  const innerDateValue = ref<number>(1);
178
187
  const innerStartDate = ref<string>("now - 1d");
179
188
  const innerEndDate = ref<string>("now");
189
+ const dateTimeRangeDialog = ref(false);
180
190
 
181
191
  const valid = ref<boolean>(false);
182
192
 
@@ -353,9 +363,8 @@ export default defineComponent({
353
363
  }
354
364
  break;
355
365
  case DateSetting.Pick:
356
- innerEndDate.value = todayToPicker();
357
- innerStartDate.value = yesterdayToPicker();
358
- break;
366
+ dateTimeRangeDialog.value = true;
367
+ return;
359
368
  }
360
369
  emit("update:startDate", innerStartDate.value);
361
370
  emit("update:endDate", innerEndDate.value);
@@ -426,34 +435,32 @@ export default defineComponent({
426
435
  emit("update", { startDate: innerStartDate.value, endDate: innerEndDate.value });
427
436
  };
428
437
 
429
- const onPickDates = (value: number[] | null) => {
430
- if (!value) {
431
- innerEndDate.value = todayToPicker();
432
- innerStartDate.value = yesterdayToPicker();
433
- if (valid.value) {
434
- emit("update:startDate", innerStartDate.value);
435
- emit("update:endDate", innerEndDate.value);
436
- emit("update", { startDate: innerStartDate.value, endDate: innerEndDate.value });
437
- }
438
+ const onPickDates = (value: number[]) => {
439
+ dateTimeRangeDialog.value = false;
440
+
441
+ if(value.length < 2) {
442
+ return;
438
443
  }
439
- else {
440
- if (value && value[0] != null && epochToISO(value[0]) !== innerStartDate.value) {
441
- innerStartDate.value = epochToISO(value[0]);
442
- if (valid.value) {
443
- emit("update:startDate", innerStartDate.value);
444
- emit("update", { startDate: innerStartDate.value, endDate: props.endDate });
445
- }
444
+
445
+ innerStartDate.value = epochToISO(value[0]);
446
+ innerEndDate.value = epochToISO(value[1]);
447
+
448
+ if (valid.value !== false) {
449
+ if(props.startDate !== innerStartDate.value) {
450
+ emit("update:startDate", innerStartDate.value);
446
451
  }
447
- if (value && value[1] != null && epochToISO(value[1]) !== innerEndDate.value) {
448
- innerEndDate.value = epochToISO(value[1]);
449
- if (valid.value) {
450
- emit("update:endDate", innerEndDate.value);
451
- emit("update", { startDate: props.startDate, endDate: innerEndDate.value });
452
- }
452
+ if (props.endDate !== innerEndDate.value) {
453
+ emit("update:endDate", innerEndDate.value);
453
454
  }
455
+ emit("update", { startDate: innerStartDate.value, endDate: innerEndDate.value });
454
456
  }
455
457
  };
456
458
 
459
+ const onCancelPickDates = () => {
460
+ dateTimeRangeDialog.value = false;
461
+ reset();
462
+ };
463
+
457
464
  const reset = (): void => {
458
465
  innerStartDate.value = props.startDate;
459
466
  innerEndDate.value = props.endDate;
@@ -663,6 +670,7 @@ export default defineComponent({
663
670
  });
664
671
 
665
672
  return {
673
+ dateTimeRangeDialog,
666
674
  innerDateSetting,
667
675
  innerDateValue,
668
676
  innerStartDate,
@@ -679,6 +687,7 @@ export default defineComponent({
679
687
  innerDateValueChange,
680
688
  innerStartDateChange,
681
689
  innerEndDateChange,
690
+ onCancelPickDates,
682
691
  parseForPicker,
683
692
  onPickDates
684
693
  };
@@ -135,7 +135,7 @@
135
135
  :headers="extraHeaders.concat(innerHeaders)"
136
136
  :sortBy="innerSortBy ? [innerSortBy] : []"
137
137
  :itemsPerPage="innerRowsPerPage"
138
- :showSelect="$props.showSelect"
138
+ :selectable="$props.selectable"
139
139
  :hover="!$props.sortDraggable"
140
140
  :itemValue="$props.itemValue"
141
141
  :loading="$props.loading"
@@ -258,7 +258,7 @@
258
258
  width="hug"
259
259
  >
260
260
  <FSCheckbox
261
- v-if="$props.showSelect"
261
+ v-if="$props.selectable"
262
262
  :modelValue="props.item.items.every((item) => $props.modelValue.includes(item.key))"
263
263
  :indeterminate="$props.modelValue.some((id) => props.item.items.some((item) => item.key === id)) && !props.item.items.every((item) => $props.modelValue.includes(item.key))"
264
264
  @update:modelValue="toggleSelectGroup(props.item)"
@@ -480,7 +480,7 @@
480
480
  v-if="item.type === 'item'"
481
481
  :leftColor="$props.rowColor ? $props.rowColor(item.raw) : null"
482
482
  :headers="innerHeaders.filter(h => !$props.sneakyHeaders.includes(h.value))"
483
- :selectable="$props.showSelect"
483
+ :selectable="$props.selectable"
484
484
  :singleSelect="$props.singleSelect"
485
485
  :to="$props.itemTo"
486
486
  :bottomColor="$props.color"
@@ -653,7 +653,7 @@
653
653
  <FSDataIteratorItem
654
654
  :leftColor="$props.rowColor ? $props.rowColor(item.raw) : null"
655
655
  :headers="innerHeaders.filter(h => !$props.sneakyHeaders.includes(h.value))"
656
- :selectable="$props.showSelect"
656
+ :selectable="$props.selectable"
657
657
  :singleSelect="$props.singleSelect"
658
658
  :to="$props.itemTo"
659
659
  :bottomColor="$props.color"
@@ -833,7 +833,7 @@ export default defineComponent({
833
833
  required: false,
834
834
  default: ColorEnum.Primary
835
835
  },
836
- showSelect: {
836
+ selectable: {
837
837
  type: Boolean,
838
838
  required: false,
839
839
  default: true
@@ -1035,7 +1035,7 @@ export default defineComponent({
1035
1035
  width: "0%"
1036
1036
  });
1037
1037
  }
1038
- if (props.showSelect) {
1038
+ if (props.selectable) {
1039
1039
  extra.push({
1040
1040
  key: "data-table-select",
1041
1041
  width: "0%"
@@ -3,7 +3,6 @@
3
3
  v-bind="$props.tileProps"
4
4
  :width="$props.width"
5
5
  height="fit-content"
6
- :selectable="false"
7
6
  >
8
7
  <slot
9
8
  name="item"
@@ -136,7 +136,7 @@ export default defineComponent({
136
136
  selectable: {
137
137
  type: Boolean,
138
138
  required: false,
139
- default: true
139
+ default: false
140
140
  },
141
141
  singleSelect: {
142
142
  type: Boolean,
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.140",
4
+ "version": "1.0.141",
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.140",
14
- "@dative-gpi/foundation-shared-services": "1.0.140"
13
+ "@dative-gpi/foundation-shared-domain": "1.0.141",
14
+ "@dative-gpi/foundation-shared-services": "1.0.141"
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": "80839b29fa54c0fd76194393337e3104fe8e27d7"
38
+ "gitHead": "546c34dcd1c901702666278bf19094ab4156ea5a"
39
39
  }
@@ -32,6 +32,7 @@
32
32
  border: 1px solid var(--fs-calendar-border-color) !important;
33
33
  border-radius: 4px !important;
34
34
  padding: 8px !important;
35
+ min-height: 380px;
35
36
  }
36
37
 
37
38
  .fs-calendar-header {