@dative-gpi/foundation-shared-components 0.0.36 → 0.0.38

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.
@@ -26,7 +26,9 @@
26
26
  </template>
27
27
  <template #text>
28
28
  <slot name="content">
29
- <FSText>
29
+ <FSText
30
+ :lineClamp="$props.lineClampContent"
31
+ >
30
32
  {{ $props.content }}
31
33
  </FSText>
32
34
  </slot>
@@ -35,10 +37,10 @@
35
37
  </template>
36
38
 
37
39
  <script lang="ts">
38
- import { computed, defineComponent, PropType } from "vue";
40
+ import { computed, defineComponent } from "vue";
39
41
 
40
- import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
41
42
  import { useColors } from "@dative-gpi/foundation-shared-components/composables";
43
+ import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
42
44
  import { sizeToVar } from "@dative-gpi/foundation-shared-components/utils";
43
45
 
44
46
  import FSIcon from "./FSIcon.vue";
@@ -80,6 +82,11 @@ export default defineComponent({
80
82
  required: false,
81
83
  default: "16px"
82
84
  },
85
+ lineClampContent: {
86
+ type: Number,
87
+ required: false,
88
+ default: 5
89
+ },
83
90
  divider: {
84
91
  type: Boolean,
85
92
  required: false,
@@ -8,9 +8,10 @@
8
8
  :color="$props.color"
9
9
  :load="$props.load"
10
10
  :padding="padding"
11
+ :to="$props.to"
11
12
  :style="style"
12
13
  :width="width"
13
- @click="$emit('click')"
14
+ @click.stop="onClick"
14
15
  v-bind="$attrs"
15
16
  >
16
17
  <FSRow
@@ -45,7 +46,6 @@
45
46
  </FSClickable>
46
47
  <FSRow
47
48
  v-else
48
- align="center-center"
49
49
  width="hug"
50
50
  :class="iconClasses"
51
51
  :style="style"
@@ -61,6 +61,23 @@
61
61
  :color="loadColor"
62
62
  />
63
63
  </template>
64
+ <template v-else-if="$props.to">
65
+ <router-link
66
+ :to="$props.to"
67
+ >
68
+ <FSIcon
69
+ v-if="$props.icon"
70
+ size="l"
71
+ >
72
+ {{ $props.icon }}
73
+ </FSIcon>
74
+ <FSSpan
75
+ v-if="$props.label"
76
+ >
77
+ {{ $props.label }}
78
+ </FSSpan>
79
+ </router-link>
80
+ </template>
64
81
  <template v-else>
65
82
  <FSIcon
66
83
  v-if="$props.icon"
@@ -70,7 +87,6 @@
70
87
  </FSIcon>
71
88
  <FSSpan
72
89
  v-if="$props.label"
73
- font="text-overline"
74
90
  >
75
91
  {{ $props.label }}
76
92
  </FSSpan>
@@ -80,6 +96,7 @@
80
96
 
81
97
  <script lang="ts">
82
98
  import { computed, defineComponent, PropType } from "vue";
99
+ import { RouteLocation, useRouter } from "vue-router";
83
100
 
84
101
  import { useColors, useSlots } from "@dative-gpi/foundation-shared-components/composables";
85
102
  import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
@@ -98,6 +115,11 @@ export default defineComponent({
98
115
  FSRow
99
116
  },
100
117
  props: {
118
+ to: {
119
+ type: [String, Object] as PropType<string | RouteLocation>,
120
+ required: false,
121
+ default: null
122
+ },
101
123
  prependIcon: {
102
124
  type: String,
103
125
  required: false,
@@ -148,6 +170,7 @@ export default defineComponent({
148
170
  setup(props, { emit }) {
149
171
  const { getColors } = useColors();
150
172
  const { slots } = useSlots();
173
+ const router = useRouter();
151
174
 
152
175
  const colors = computed(() => getColors(props.color));
153
176
  const lights = getColors(ColorEnum.Light);
@@ -209,9 +232,21 @@ export default defineComponent({
209
232
  return "fit-content";
210
233
  });
211
234
 
212
- const onClick = () => {
213
- if (props.editable && !props.load) {
214
- emit("click");
235
+ const href = computed((): string | null => {
236
+ if (!props.to || !props.editable || props.load) {
237
+ return null;
238
+ }
239
+ if (typeof props.to === "string") {
240
+ return props.to;
241
+ }
242
+ else {
243
+ return router.resolve(props.to).href;
244
+ }
245
+ });
246
+
247
+ const onClick = (event: MouseEvent) => {
248
+ if (!props.to && props.editable && !props.load) {
249
+ emit("click", event);
215
250
  }
216
251
  };
217
252
 
@@ -202,9 +202,9 @@ export default defineComponent({
202
202
  }
203
203
  });
204
204
 
205
- const onClick = () => {
205
+ const onClick = (event: MouseEvent) => {
206
206
  if (!props.to && props.editable && !props.load) {
207
- emit("click");
207
+ emit("click", event);
208
208
  }
209
209
  };
210
210
 
@@ -24,7 +24,7 @@ export default defineComponent({
24
24
  default: "m"
25
25
  },
26
26
  variant: {
27
- type: String as PropType<"standard" | "fill">,
27
+ type: String as PropType<"standard" | "full">,
28
28
  required: false,
29
29
  default: "standard"
30
30
  },
@@ -41,7 +41,7 @@ export default defineComponent({
41
41
 
42
42
  const style = computed((): { [code: string]: string } & Partial<CSSStyleDeclaration> => {
43
43
  switch (props.variant) {
44
- case "fill": return {
44
+ case "full": return {
45
45
  "--fs-icon-background-color": colors.value.light
46
46
  };
47
47
  default: return {
@@ -53,7 +53,7 @@ export default defineComponent({
53
53
  const classes = computed((): string[] => {
54
54
  const classNames = [`fs-icon-${props.size}`];
55
55
  switch (props.variant) {
56
- case "fill":
56
+ case "full":
57
57
  classNames.push("fs-color-icon");
58
58
  break;
59
59
  }
@@ -93,8 +93,8 @@ export default defineComponent({
93
93
  });
94
94
 
95
95
  return {
96
- ColorEnum,
97
96
  isExtraSmall,
97
+ ColorEnum,
98
98
  classes,
99
99
  width
100
100
  };
@@ -6,7 +6,7 @@
6
6
  <template #activator="{ props }">
7
7
  <FSColorIcon
8
8
  size="m"
9
- variant="fill"
9
+ variant="full"
10
10
  :color="$props.deviceConnectivity.color"
11
11
  v-bind="props"
12
12
  >
@@ -6,7 +6,7 @@
6
6
  <template #activator="{ props }">
7
7
  <FSColorIcon
8
8
  size="m"
9
- variant="fill"
9
+ variant="full"
10
10
  :color="$props.statusGroup.color"
11
11
  v-bind="props"
12
12
  >
@@ -10,7 +10,7 @@
10
10
  >
11
11
  <FSColorIcon
12
12
  size="m"
13
- variant="fill"
13
+ variant="full"
14
14
  :color="criticityColor"
15
15
  v-bind="props"
16
16
  >
@@ -2,10 +2,10 @@ import { computed, ref } from "vue";
2
2
 
3
3
  let initialized = false;
4
4
 
5
- export const useBreakpoints = () => {
6
- const windowHeight = ref(window.innerHeight);
7
- const windowWidth = ref(window.innerWidth);
5
+ const windowHeight = ref(window.innerHeight);
6
+ const windowWidth = ref(window.innerWidth);
8
7
 
8
+ export const useBreakpoints = () => {
9
9
  const onSizeChange = (): void => {
10
10
  windowHeight.value = window.innerHeight;
11
11
  windowWidth.value = window.innerWidth;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@dative-gpi/foundation-shared-components",
3
3
  "sideEffects": false,
4
- "version": "0.0.36",
4
+ "version": "0.0.38",
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": "0.0.36",
14
- "@dative-gpi/foundation-shared-services": "0.0.36",
13
+ "@dative-gpi/foundation-shared-domain": "0.0.38",
14
+ "@dative-gpi/foundation-shared-services": "0.0.38",
15
15
  "@fontsource/montserrat": "^5.0.16",
16
16
  "@lexical/clipboard": "^0.12.5",
17
17
  "@lexical/history": "^0.12.5",
@@ -32,5 +32,5 @@
32
32
  "sass": "^1.69.5",
33
33
  "sass-loader": "^13.3.2"
34
34
  },
35
- "gitHead": "6480f8ebb0980b81c6eaf46112647148d808afc3"
35
+ "gitHead": "6dbe0959177629f0285f2eae895690376a6fa0e1"
36
36
  }
@@ -6,4 +6,9 @@
6
6
  color: var(--fs-button-hover-color) !important;
7
7
  cursor: pointer !important;
8
8
  }
9
+
10
+ &.fs-button-disabled,
11
+ &:has(.fs-button-load) {
12
+ cursor: default !important;
13
+ }
9
14
  }
@@ -7,7 +7,7 @@
7
7
  overflow: hidden;
8
8
  display: -webkit-box;
9
9
  -webkit-box-orient: vertical;
10
- -webkit-line-clamp: 2;
10
+ -webkit-line-clamp: var(--fs-span-line-clamp);
11
11
  }
12
12
 
13
13
  .fs-span-ellipsis {