@dative-gpi/foundation-shared-components 1.1.2-fix-dialog-menu → 1.1.3-groupings
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.
- package/components/FSChipGroup.vue +123 -4
- package/components/FSDialogMenu.vue +9 -15
- package/components/FSDialogMultiFormBody.vue +6 -5
- package/components/FSGroupingChip.vue +110 -0
- package/components/FSSubgroupingChip.vue +135 -0
- package/components/tiles/FSPlaylistTileUI.vue +12 -12
- package/components/tiles/FSSubgroupingTileUI.vue +45 -0
- package/models/variants.ts +13 -0
- package/package.json +4 -4
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<slot />
|
|
14
14
|
</FSWrapGroup>
|
|
15
15
|
<FSSlideGroup
|
|
16
|
-
v-if="$props.variant === 'slide'"
|
|
16
|
+
v-else-if="$props.variant === 'slide'"
|
|
17
17
|
v-bind="$attrs"
|
|
18
18
|
>
|
|
19
19
|
<FSChip
|
|
@@ -25,23 +25,103 @@
|
|
|
25
25
|
/>
|
|
26
26
|
<slot />
|
|
27
27
|
</FSSlideGroup>
|
|
28
|
+
<FSRow
|
|
29
|
+
v-else-if="$props.variant === 'menu'"
|
|
30
|
+
align="center-left"
|
|
31
|
+
width="hug"
|
|
32
|
+
:wrap="false"
|
|
33
|
+
v-bind="$attrs"
|
|
34
|
+
>
|
|
35
|
+
<component
|
|
36
|
+
v-if="hasSlots"
|
|
37
|
+
:is="slotElements[0]"
|
|
38
|
+
/>
|
|
39
|
+
<FSChip
|
|
40
|
+
v-else
|
|
41
|
+
:variant="$props.chipVariant"
|
|
42
|
+
:color="$props.color"
|
|
43
|
+
:label="menuLabels[0]"
|
|
44
|
+
/>
|
|
45
|
+
<FSMenu
|
|
46
|
+
v-if="slotElements.length > 1 || menuLabels.length > 1"
|
|
47
|
+
location="bottom end"
|
|
48
|
+
v-model="menuOpen"
|
|
49
|
+
>
|
|
50
|
+
<template
|
|
51
|
+
#activator="{ props: activatorProps }"
|
|
52
|
+
>
|
|
53
|
+
<FSChip
|
|
54
|
+
v-bind="activatorProps"
|
|
55
|
+
variant="full"
|
|
56
|
+
:label="`+${hasSlots ? (slotElements.length - 1) : (menuLabels.length - 1)}`"
|
|
57
|
+
:color="menuActivatorColor"
|
|
58
|
+
:clickable="true"
|
|
59
|
+
/>
|
|
60
|
+
</template>
|
|
61
|
+
<FSCard
|
|
62
|
+
padding="16px 24px"
|
|
63
|
+
>
|
|
64
|
+
<FSButton
|
|
65
|
+
style="position: absolute;top:3px;right:3px;"
|
|
66
|
+
icon="mdi-close"
|
|
67
|
+
variant="icon"
|
|
68
|
+
iconSize="18px"
|
|
69
|
+
:color="ColorEnum.Dark"
|
|
70
|
+
@click="menuOpen = false"
|
|
71
|
+
/>
|
|
72
|
+
<FSCol
|
|
73
|
+
v-if="hasSlots"
|
|
74
|
+
gap="12px"
|
|
75
|
+
>
|
|
76
|
+
<component
|
|
77
|
+
v-for="(element, index) in slotElements.slice(1)"
|
|
78
|
+
:key="index"
|
|
79
|
+
:is="element"
|
|
80
|
+
/>
|
|
81
|
+
</FSCol>
|
|
82
|
+
<FSCol
|
|
83
|
+
v-else
|
|
84
|
+
gap="12px"
|
|
85
|
+
>
|
|
86
|
+
<FSChip
|
|
87
|
+
v-for="(label, index) in menuLabels"
|
|
88
|
+
:key="index"
|
|
89
|
+
:variant="$props.chipVariant"
|
|
90
|
+
:color="$props.color"
|
|
91
|
+
:label="label"
|
|
92
|
+
/>
|
|
93
|
+
</FSCol>
|
|
94
|
+
</FSCard>
|
|
95
|
+
</FSMenu>
|
|
96
|
+
</FSRow>
|
|
28
97
|
</template>
|
|
29
98
|
|
|
30
99
|
<script lang="ts">
|
|
31
|
-
import { defineComponent, type PropType } from "vue";
|
|
100
|
+
import { defineComponent, ref, type PropType, useSlots, computed, type VNode } from "vue";
|
|
32
101
|
|
|
33
102
|
import { type CardVariant, CardVariants, type ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
|
|
34
103
|
|
|
35
104
|
import FSSlideGroup from "./FSSlideGroup.vue";
|
|
36
105
|
import FSWrapGroup from "./FSWrapGroup.vue";
|
|
106
|
+
import FSButton from "./FSButton.vue";
|
|
37
107
|
import FSChip from "./FSChip.vue";
|
|
108
|
+
import FSCard from "./FSCard.vue";
|
|
109
|
+
import FSMenu from "./FSMenu.vue";
|
|
110
|
+
import FSCol from "./FSCol.vue";
|
|
111
|
+
import FSRow from "./FSRow.vue";
|
|
112
|
+
import { useColors } from "../composables";
|
|
38
113
|
|
|
39
114
|
export default defineComponent({
|
|
40
115
|
name: "FSChipGroup",
|
|
41
116
|
components: {
|
|
42
117
|
FSSlideGroup,
|
|
43
118
|
FSWrapGroup,
|
|
44
|
-
|
|
119
|
+
FSButton,
|
|
120
|
+
FSChip,
|
|
121
|
+
FSCard,
|
|
122
|
+
FSMenu,
|
|
123
|
+
FSCol,
|
|
124
|
+
FSRow
|
|
45
125
|
},
|
|
46
126
|
props: {
|
|
47
127
|
labels: {
|
|
@@ -50,7 +130,7 @@ export default defineComponent({
|
|
|
50
130
|
default: () => []
|
|
51
131
|
},
|
|
52
132
|
variant: {
|
|
53
|
-
type: String as PropType<"wrap" | "slide">,
|
|
133
|
+
type: String as PropType<"wrap" | "slide" | "menu">,
|
|
54
134
|
required: false,
|
|
55
135
|
default: "wrap"
|
|
56
136
|
},
|
|
@@ -64,6 +144,45 @@ export default defineComponent({
|
|
|
64
144
|
required: false,
|
|
65
145
|
default: ColorEnum.Light
|
|
66
146
|
}
|
|
147
|
+
},
|
|
148
|
+
setup(props) {
|
|
149
|
+
const slots = useSlots();
|
|
150
|
+
const { getColors } = useColors();
|
|
151
|
+
const menuOpen = ref(false);
|
|
152
|
+
|
|
153
|
+
const slotElements = computed((): VNode[] => {
|
|
154
|
+
const defaultSlot = slots.default?.();
|
|
155
|
+
if (!defaultSlot) {
|
|
156
|
+
return [];
|
|
157
|
+
}
|
|
158
|
+
return defaultSlot.flatMap(node => {
|
|
159
|
+
if (node.type === Symbol.for('v-fgt')) {
|
|
160
|
+
return (node.children as VNode[]) ?? [];
|
|
161
|
+
}
|
|
162
|
+
return [node];
|
|
163
|
+
}).filter(node => typeof node.type !== 'symbol');
|
|
164
|
+
});
|
|
165
|
+
|
|
166
|
+
const hasSlots = computed((): boolean => {
|
|
167
|
+
return slotElements.value.length > 0;
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
const menuLabels = computed((): string[] => {
|
|
171
|
+
return props.labels ?? [];
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
const menuActivatorColor = computed((): string => {
|
|
175
|
+
return getColors(props.color).dark;
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
return {
|
|
179
|
+
menuActivatorColor,
|
|
180
|
+
slotElements,
|
|
181
|
+
menuLabels,
|
|
182
|
+
ColorEnum,
|
|
183
|
+
hasSlots,
|
|
184
|
+
menuOpen
|
|
185
|
+
};
|
|
67
186
|
}
|
|
68
187
|
});
|
|
69
188
|
</script>
|
|
@@ -10,26 +10,18 @@
|
|
|
10
10
|
:color="$props.color"
|
|
11
11
|
:class="classes"
|
|
12
12
|
>
|
|
13
|
-
<
|
|
14
|
-
#default="slotData"
|
|
15
|
-
>
|
|
13
|
+
<FSCol>
|
|
16
14
|
<slot
|
|
17
|
-
v-if="$slots.body"
|
|
18
15
|
name="body"
|
|
19
|
-
v-bind="slotData"
|
|
20
|
-
/>
|
|
21
|
-
<slot
|
|
22
|
-
v-else
|
|
23
|
-
name="default"
|
|
24
|
-
v-bind="slotData"
|
|
25
16
|
/>
|
|
26
|
-
</
|
|
17
|
+
</FSCol>
|
|
27
18
|
<template
|
|
28
|
-
v-
|
|
29
|
-
|
|
19
|
+
v-for="(_, name) in $slots"
|
|
20
|
+
v-slot:[name]="slotData"
|
|
30
21
|
>
|
|
31
22
|
<slot
|
|
32
|
-
name="
|
|
23
|
+
:name="name"
|
|
24
|
+
v-bind="slotData"
|
|
33
25
|
/>
|
|
34
26
|
</template>
|
|
35
27
|
</FSCard>
|
|
@@ -43,11 +35,13 @@ import { type ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-compone
|
|
|
43
35
|
import { useBreakpoints } from "@dative-gpi/foundation-shared-components/composables";
|
|
44
36
|
|
|
45
37
|
import FSCard from "./FSCard.vue";
|
|
38
|
+
import FSCol from "./FSCol.vue";
|
|
46
39
|
|
|
47
40
|
export default defineComponent({
|
|
48
41
|
name: "FSDialogMenu",
|
|
49
42
|
components: {
|
|
50
|
-
FSCard
|
|
43
|
+
FSCard,
|
|
44
|
+
FSCol
|
|
51
45
|
},
|
|
52
46
|
props: {
|
|
53
47
|
classes: {
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
import { computed, defineComponent, type PropType, ref } from "vue";
|
|
105
105
|
|
|
106
106
|
import { useTranslations as useTranslationsProvider } from "@dative-gpi/bones-ui/composables";
|
|
107
|
-
import { type ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
|
|
107
|
+
import { type ColorBase, ColorEnum, type DialogMultiFormMode, DialogMultiFormModes, type DialogMultiFormVariant } from "@dative-gpi/foundation-shared-components/models";
|
|
108
108
|
import { useBreakpoints } from "@dative-gpi/foundation-shared-components/composables";
|
|
109
109
|
|
|
110
110
|
import FSPagination from "./FSPagination.vue";
|
|
@@ -118,6 +118,7 @@ import FSTabs from "./FSTabs.vue";
|
|
|
118
118
|
import FSTab from "./FSTab.vue";
|
|
119
119
|
import FSIcon from "./FSIcon.vue";
|
|
120
120
|
import FSWindow from "./FSWindow.vue";
|
|
121
|
+
import { DialogMultiFormVariants } from "@dative-gpi/foundation-shared-components/models";
|
|
121
122
|
|
|
122
123
|
export default defineComponent({
|
|
123
124
|
name: "FSDialogMultiFormBody",
|
|
@@ -146,9 +147,9 @@ export default defineComponent({
|
|
|
146
147
|
default: "auto"
|
|
147
148
|
},
|
|
148
149
|
variant: {
|
|
149
|
-
type: String as PropType<
|
|
150
|
+
type: String as PropType<DialogMultiFormVariant>,
|
|
150
151
|
required: false,
|
|
151
|
-
default:
|
|
152
|
+
default: DialogMultiFormVariants.Submit
|
|
152
153
|
},
|
|
153
154
|
steps: {
|
|
154
155
|
type: Number,
|
|
@@ -225,9 +226,9 @@ export default defineComponent({
|
|
|
225
226
|
default: false
|
|
226
227
|
},
|
|
227
228
|
mode: {
|
|
228
|
-
type: String as PropType<
|
|
229
|
+
type: String as PropType<DialogMultiFormMode>,
|
|
229
230
|
required: false,
|
|
230
|
-
default:
|
|
231
|
+
default: DialogMultiFormModes.Pagination
|
|
231
232
|
},
|
|
232
233
|
tabsColor: {
|
|
233
234
|
type: String as PropType<ColorBase>,
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<FSChip
|
|
3
|
+
:height="$props.height"
|
|
4
|
+
:width="$props.width"
|
|
5
|
+
:variant="$props.variant"
|
|
6
|
+
:color="borderColor"
|
|
7
|
+
>
|
|
8
|
+
<FSRow
|
|
9
|
+
align="center-center"
|
|
10
|
+
width="hug"
|
|
11
|
+
:wrap="false"
|
|
12
|
+
>
|
|
13
|
+
<FSRow
|
|
14
|
+
align="center-center"
|
|
15
|
+
width="hug"
|
|
16
|
+
gap="6px"
|
|
17
|
+
:wrap="false"
|
|
18
|
+
>
|
|
19
|
+
<FSIcon
|
|
20
|
+
:color="$props.iconColor"
|
|
21
|
+
:size="$props.iconSize"
|
|
22
|
+
>
|
|
23
|
+
{{ $props.icon }}
|
|
24
|
+
</FSIcon>
|
|
25
|
+
<FSText
|
|
26
|
+
font="text-overline"
|
|
27
|
+
:color="textColor"
|
|
28
|
+
>
|
|
29
|
+
{{ $props.label }}
|
|
30
|
+
</FSText>
|
|
31
|
+
</FSRow>
|
|
32
|
+
</FSRow>
|
|
33
|
+
</FSChip>
|
|
34
|
+
</template>
|
|
35
|
+
|
|
36
|
+
<script lang="ts">
|
|
37
|
+
import { defineComponent, type PropType } from "vue";
|
|
38
|
+
|
|
39
|
+
import { type ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
|
|
40
|
+
|
|
41
|
+
import FSIcon from "./FSIcon.vue";
|
|
42
|
+
import FSText from "./FSText.vue";
|
|
43
|
+
import FSChip from "./FSChip.vue";
|
|
44
|
+
import FSRow from "./FSRow.vue";
|
|
45
|
+
|
|
46
|
+
import { useColors } from "../composables";
|
|
47
|
+
|
|
48
|
+
export default defineComponent({
|
|
49
|
+
name: "FSSubgroupingChip",
|
|
50
|
+
components: {
|
|
51
|
+
FSChip,
|
|
52
|
+
FSIcon,
|
|
53
|
+
FSText,
|
|
54
|
+
FSRow
|
|
55
|
+
},
|
|
56
|
+
inheritAttrs: false,
|
|
57
|
+
props: {
|
|
58
|
+
label: {
|
|
59
|
+
type: String as PropType<string>,
|
|
60
|
+
required: true
|
|
61
|
+
},
|
|
62
|
+
icon: {
|
|
63
|
+
type: String as PropType<string>,
|
|
64
|
+
required: true
|
|
65
|
+
},
|
|
66
|
+
iconColor: {
|
|
67
|
+
type: String as PropType<ColorBase>,
|
|
68
|
+
required: false,
|
|
69
|
+
default: ColorEnum.Dark
|
|
70
|
+
},
|
|
71
|
+
height: {
|
|
72
|
+
type: [Array, String, Number] as PropType<string[] | number[] | string | number | null>,
|
|
73
|
+
required: false,
|
|
74
|
+
default: () => [24, 20]
|
|
75
|
+
},
|
|
76
|
+
width: {
|
|
77
|
+
type: [Array, String, Number] as PropType<string[] | number[] | string | number | null>,
|
|
78
|
+
required: false,
|
|
79
|
+
default: "hug"
|
|
80
|
+
},
|
|
81
|
+
color: {
|
|
82
|
+
type: String as PropType<ColorBase>,
|
|
83
|
+
required: false,
|
|
84
|
+
default: ColorEnum.Light
|
|
85
|
+
},
|
|
86
|
+
variant: {
|
|
87
|
+
type: String as PropType<"standard" | "full" | "borderless">,
|
|
88
|
+
required: false,
|
|
89
|
+
default: "standard"
|
|
90
|
+
},
|
|
91
|
+
iconSize: {
|
|
92
|
+
type: [Array, String, Number] as PropType<"s" | "m" | "l" | string[] | number[] | string | number | null>,
|
|
93
|
+
required: false,
|
|
94
|
+
default: "18px"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
setup(props) {
|
|
98
|
+
const { getColors } = useColors();
|
|
99
|
+
|
|
100
|
+
const borderColor = getColors(props.color).dark;
|
|
101
|
+
const textColor = getColors(ColorEnum.Dark).dark;
|
|
102
|
+
|
|
103
|
+
return {
|
|
104
|
+
borderColor,
|
|
105
|
+
textColor,
|
|
106
|
+
ColorEnum
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
</script>
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<FSChip
|
|
3
|
+
:height="$props.height"
|
|
4
|
+
:width="$props.width"
|
|
5
|
+
:variant="$props.variant"
|
|
6
|
+
:color="borderColor"
|
|
7
|
+
>
|
|
8
|
+
<FSRow
|
|
9
|
+
align="center-center"
|
|
10
|
+
width="hug"
|
|
11
|
+
:wrap="false"
|
|
12
|
+
>
|
|
13
|
+
<FSRow
|
|
14
|
+
align="center-center"
|
|
15
|
+
width="hug"
|
|
16
|
+
gap="6px"
|
|
17
|
+
:wrap="false"
|
|
18
|
+
>
|
|
19
|
+
<FSIcon
|
|
20
|
+
:color="$props.groupingColor"
|
|
21
|
+
:size="$props.iconSize"
|
|
22
|
+
>
|
|
23
|
+
{{ $props.groupingIcon }}
|
|
24
|
+
</FSIcon>
|
|
25
|
+
<FSText
|
|
26
|
+
font="text-overline"
|
|
27
|
+
:color="textColor"
|
|
28
|
+
>
|
|
29
|
+
{{ $props.groupingLabel }}
|
|
30
|
+
</FSText>
|
|
31
|
+
</FSRow>
|
|
32
|
+
<FSRow
|
|
33
|
+
align="center-center"
|
|
34
|
+
width="hug"
|
|
35
|
+
gap="6px"
|
|
36
|
+
:wrap="false"
|
|
37
|
+
>
|
|
38
|
+
<FSIcon
|
|
39
|
+
:size="$props.iconSize"
|
|
40
|
+
:color="textColor"
|
|
41
|
+
>
|
|
42
|
+
{{ $props.icon }}
|
|
43
|
+
</FSIcon>
|
|
44
|
+
<FSText
|
|
45
|
+
font="text-overline"
|
|
46
|
+
:color="textColor"
|
|
47
|
+
>
|
|
48
|
+
{{ $props.label }}
|
|
49
|
+
</FSText>
|
|
50
|
+
</FSRow>
|
|
51
|
+
</FSRow>
|
|
52
|
+
</FSChip>
|
|
53
|
+
</template>
|
|
54
|
+
|
|
55
|
+
<script lang="ts">
|
|
56
|
+
import { defineComponent, type PropType } from "vue";
|
|
57
|
+
|
|
58
|
+
import { type ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
|
|
59
|
+
|
|
60
|
+
import FSIcon from "./FSIcon.vue";
|
|
61
|
+
import FSText from "./FSText.vue";
|
|
62
|
+
import FSChip from "./FSChip.vue";
|
|
63
|
+
import FSRow from "./FSRow.vue";
|
|
64
|
+
import { useColors } from "../composables";
|
|
65
|
+
|
|
66
|
+
export default defineComponent({
|
|
67
|
+
name: "FSSubgroupingChip",
|
|
68
|
+
components: {
|
|
69
|
+
FSChip,
|
|
70
|
+
FSIcon,
|
|
71
|
+
FSText,
|
|
72
|
+
FSRow
|
|
73
|
+
},
|
|
74
|
+
props: {
|
|
75
|
+
groupingLabel: {
|
|
76
|
+
type: String as PropType<string>,
|
|
77
|
+
required: true
|
|
78
|
+
},
|
|
79
|
+
groupingIcon: {
|
|
80
|
+
type: String as PropType<string>,
|
|
81
|
+
required: true
|
|
82
|
+
},
|
|
83
|
+
groupingColor: {
|
|
84
|
+
type: String as PropType<ColorBase>,
|
|
85
|
+
required: false,
|
|
86
|
+
default: ColorEnum.Dark
|
|
87
|
+
},
|
|
88
|
+
label: {
|
|
89
|
+
type: String as PropType<string>,
|
|
90
|
+
required: true
|
|
91
|
+
},
|
|
92
|
+
icon: {
|
|
93
|
+
type: String as PropType<string>,
|
|
94
|
+
required: true
|
|
95
|
+
},
|
|
96
|
+
height: {
|
|
97
|
+
type: [Array, String, Number] as PropType<string[] | number[] | string | number | null>,
|
|
98
|
+
required: false,
|
|
99
|
+
default: () => [24, 20]
|
|
100
|
+
},
|
|
101
|
+
width: {
|
|
102
|
+
type: [Array, String, Number] as PropType<string[] | number[] | string | number | null>,
|
|
103
|
+
required: false,
|
|
104
|
+
default: "hug"
|
|
105
|
+
},
|
|
106
|
+
variant: {
|
|
107
|
+
type: String as PropType<"standard" | "full" | "borderless">,
|
|
108
|
+
required: false,
|
|
109
|
+
default: "standard"
|
|
110
|
+
},
|
|
111
|
+
color: {
|
|
112
|
+
type: String as PropType<ColorBase>,
|
|
113
|
+
required: false,
|
|
114
|
+
default: ColorEnum.Light
|
|
115
|
+
},
|
|
116
|
+
iconSize: {
|
|
117
|
+
type: [Array, String, Number] as PropType<"s" | "m" | "l" | string[] | number[] | string | number | null>,
|
|
118
|
+
required: false,
|
|
119
|
+
default: "18px"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
setup(props) {
|
|
123
|
+
const { getColors } = useColors();
|
|
124
|
+
|
|
125
|
+
const borderColor = getColors(props.color).dark;
|
|
126
|
+
const textColor = getColors(ColorEnum.Dark).dark;
|
|
127
|
+
|
|
128
|
+
return {
|
|
129
|
+
borderColor,
|
|
130
|
+
textColor,
|
|
131
|
+
ColorEnum
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
</script>
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
gap="16px"
|
|
15
15
|
width="fill"
|
|
16
16
|
>
|
|
17
|
-
<
|
|
17
|
+
<FSSpan
|
|
18
18
|
font="text-button"
|
|
19
19
|
>
|
|
20
20
|
{{ $props.label }}
|
|
21
|
-
</
|
|
21
|
+
</FSSpan>
|
|
22
22
|
<FSRow
|
|
23
23
|
:wrap="false"
|
|
24
24
|
align="center-left"
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
<FSIcon>
|
|
27
27
|
mdi-view-dashboard-outline
|
|
28
28
|
</FSIcon>
|
|
29
|
-
<
|
|
29
|
+
<FSSpan
|
|
30
30
|
font="text-overline"
|
|
31
31
|
>
|
|
32
32
|
{{ $tr('ui.dashboards.dynamic', '{0} dashboard(s)', $props.dashboardsCount) }}
|
|
33
|
-
</
|
|
33
|
+
</FSSpan>
|
|
34
34
|
</FSRow>
|
|
35
35
|
<FSRow
|
|
36
36
|
:wrap="false"
|
|
@@ -40,18 +40,18 @@
|
|
|
40
40
|
variant="fill"
|
|
41
41
|
:value="automaticTransition"
|
|
42
42
|
/>
|
|
43
|
-
<
|
|
43
|
+
<FSSpan
|
|
44
44
|
font="text-overline"
|
|
45
45
|
v-if="automaticTransition"
|
|
46
46
|
>
|
|
47
47
|
{{$tr('ui.playlist.transition-delay.dynamic', 'Transition : {0}', getTimeBestString($props.delay ?? 0))}}
|
|
48
|
-
</
|
|
49
|
-
<
|
|
48
|
+
</FSSpan>
|
|
49
|
+
<FSSpan
|
|
50
50
|
font="text-overline"
|
|
51
51
|
v-else
|
|
52
52
|
>
|
|
53
53
|
{{ $tr('ui.playlist.automatic-transition', 'Automatic transition') }}
|
|
54
|
-
</
|
|
54
|
+
</FSSpan>
|
|
55
55
|
</FSRow>
|
|
56
56
|
<FSRow
|
|
57
57
|
:wrap="false"
|
|
@@ -61,11 +61,11 @@
|
|
|
61
61
|
variant="fill"
|
|
62
62
|
:value="$props.looped"
|
|
63
63
|
/>
|
|
64
|
-
<
|
|
64
|
+
<FSSpan
|
|
65
65
|
font="text-overline"
|
|
66
66
|
>
|
|
67
67
|
{{ $tr('entity.playlist.looped', 'Looped') }}
|
|
68
|
-
</
|
|
68
|
+
</FSSpan>
|
|
69
69
|
</FSRow>
|
|
70
70
|
</FSCol>
|
|
71
71
|
<slot
|
|
@@ -85,7 +85,7 @@ import { getTimeBestString } from "@dative-gpi/foundation-shared-components/util
|
|
|
85
85
|
import FSIconCheck from "../FSIconCheck.vue";
|
|
86
86
|
import FSTile from "../tiles/FSTile.vue";
|
|
87
87
|
import FSIcon from "../FSIcon.vue";
|
|
88
|
-
import
|
|
88
|
+
import FSSpan from "../FSSpan.vue";
|
|
89
89
|
import FSRow from "../FSRow.vue";
|
|
90
90
|
import FSCol from "../FSCol.vue";
|
|
91
91
|
|
|
@@ -95,7 +95,7 @@ export default defineComponent({
|
|
|
95
95
|
FSIconCheck,
|
|
96
96
|
FSIcon,
|
|
97
97
|
FSTile,
|
|
98
|
-
|
|
98
|
+
FSSpan,
|
|
99
99
|
FSRow,
|
|
100
100
|
FSCol
|
|
101
101
|
},
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<FSSimpleTileUI
|
|
3
|
+
:bottomColor="null"
|
|
4
|
+
v-bind="$attrs"
|
|
5
|
+
>
|
|
6
|
+
<template
|
|
7
|
+
#append-info
|
|
8
|
+
>
|
|
9
|
+
<FSEntityCountBadge
|
|
10
|
+
:label="$tr('ui.common.equipments', 'Équipements')"
|
|
11
|
+
:count="$props.deviceOrganisationsCount ?? 0"
|
|
12
|
+
:color="ColorEnum.Primary"
|
|
13
|
+
/>
|
|
14
|
+
</template>
|
|
15
|
+
</FSSimpleTileUI>
|
|
16
|
+
</template>
|
|
17
|
+
|
|
18
|
+
<script lang="ts">
|
|
19
|
+
import { defineComponent } from "vue";
|
|
20
|
+
|
|
21
|
+
import { ColorEnum } from "@dative-gpi/foundation-shared-components/models";
|
|
22
|
+
|
|
23
|
+
import FSEntityCountBadge from "./FSEntityCountBadge.vue";
|
|
24
|
+
import FSSimpleTileUI from './FSSimpleTileUI.vue';
|
|
25
|
+
|
|
26
|
+
export default defineComponent({
|
|
27
|
+
name: "FSSubgroupingTileUI",
|
|
28
|
+
components: {
|
|
29
|
+
FSSimpleTileUI,
|
|
30
|
+
FSEntityCountBadge
|
|
31
|
+
},
|
|
32
|
+
props: {
|
|
33
|
+
deviceOrganisationsCount: {
|
|
34
|
+
type: Number,
|
|
35
|
+
required: false,
|
|
36
|
+
default: null
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
setup() {
|
|
40
|
+
return {
|
|
41
|
+
ColorEnum,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
</script>
|
package/models/variants.ts
CHANGED
|
@@ -10,4 +10,17 @@ export type SnackbarVariant = "standard" | "full";
|
|
|
10
10
|
export enum SnackbarVariants {
|
|
11
11
|
Standard = "standard",
|
|
12
12
|
Full = "full"
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type DialogMultiFormVariant = "standard" | "submit";
|
|
16
|
+
export enum DialogMultiFormVariants {
|
|
17
|
+
Standard = "standard",
|
|
18
|
+
Submit = "submit"
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export type DialogMultiFormMode = "pagination" | "tabs" | "hidden";
|
|
22
|
+
export enum DialogMultiFormModes {
|
|
23
|
+
Pagination = "pagination",
|
|
24
|
+
Tabs = "tabs",
|
|
25
|
+
Hidden = "hidden"
|
|
13
26
|
}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"url": "https://github.com/Dative-GPI/foundation-shared-ui.git"
|
|
5
5
|
},
|
|
6
6
|
"sideEffects": false,
|
|
7
|
-
"version": "1.1.
|
|
7
|
+
"version": "1.1.3-groupings",
|
|
8
8
|
"description": "",
|
|
9
9
|
"publishConfig": {
|
|
10
10
|
"access": "public"
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"author": "",
|
|
14
14
|
"license": "ISC",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@dative-gpi/foundation-shared-domain": "1.1.
|
|
17
|
-
"@dative-gpi/foundation-shared-services": "1.1.
|
|
16
|
+
"@dative-gpi/foundation-shared-domain": "1.1.3-groupings",
|
|
17
|
+
"@dative-gpi/foundation-shared-services": "1.1.3-groupings"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
20
|
"@dative-gpi/bones-ui": "^1.0.0",
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
"sass": "1.71.1",
|
|
39
39
|
"sass-loader": "13.3.2"
|
|
40
40
|
},
|
|
41
|
-
"gitHead": "
|
|
41
|
+
"gitHead": "ad40c30f9ecd5b50de62619fa3cfab64e63d7cc5"
|
|
42
42
|
}
|