@dative-gpi/foundation-shared-components 0.0.118 → 0.0.120

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 (45) hide show
  1. package/components/FSBreadcrumbs.vue +1 -1
  2. package/components/FSButton.vue +1 -1
  3. package/components/FSChip.vue +1 -1
  4. package/components/FSClickable.vue +2 -2
  5. package/components/FSClock.vue +1 -7
  6. package/components/FSCol.vue +1 -1
  7. package/components/FSDialog.vue +12 -21
  8. package/components/FSDialogForm.vue +141 -52
  9. package/components/FSDialogMultiForm.vue +39 -40
  10. package/components/FSDialogRemove.vue +2 -2
  11. package/components/FSDialogSubmit.vue +44 -39
  12. package/components/FSDivider.vue +1 -1
  13. package/components/FSSlideGroup.vue +1 -1
  14. package/components/FSTabs.vue +12 -12
  15. package/components/FSTagGroup.vue +28 -5
  16. package/components/FSText.vue +1 -1
  17. package/components/FSWrapGroup.vue +1 -1
  18. package/components/deviceOrganisations/FSStatusCard.vue +0 -1
  19. package/components/fields/FSAutocompleteField.vue +284 -106
  20. package/components/fields/FSDateRangeField.vue +2 -2
  21. package/components/fields/FSDateTimeRangeField.vue +5 -11
  22. package/components/fields/FSSelectField.vue +11 -3
  23. package/components/fields/FSTagField.vue +2 -2
  24. package/components/fields/FSTermField.vue +3 -1
  25. package/components/lists/FSDataTableUI.vue +2 -1
  26. package/components/tiles/FSDashboardOrganisationTileUI.vue +3 -3
  27. package/components/tiles/FSDashboardOrganisationTypeTileUI.vue +3 -3
  28. package/components/tiles/FSDashboardShallowTileUI.vue +3 -3
  29. package/components/tiles/FSDeviceOrganisationTileUI.vue +1 -1
  30. package/components/tiles/FSFolderTileUI.vue +4 -4
  31. package/components/tiles/FSGroupTileUI.vue +1 -1
  32. package/components/tiles/{FSSimpleIconTileUI.vue → FSSimpleTileUI.vue} +17 -3
  33. package/components/tiles/FSUserOrganisationTileUI.vue +2 -2
  34. package/composables/index.ts +2 -1
  35. package/composables/useColors.ts +31 -59
  36. package/composables/useTables.ts +29 -0
  37. package/models/tables.ts +30 -21
  38. package/package.json +4 -4
  39. package/styles/components/fs_data_table.scss +100 -94
  40. package/styles/components/fs_dialog.scss +12 -21
  41. package/styles/components/fs_dialog_menu.scss +2 -2
  42. package/styles/components/fs_slider.scss +9 -1
  43. package/styles/components/fs_tabs.scss +5 -4
  44. package/styles/globals/overrides.scss +2 -2
  45. package/styles/globals/scrollbars.scss +46 -36
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <FSSimpleIconTileUI
2
+ <FSSimpleTileUI
3
3
  :bottomColor="color"
4
4
  :icon="$props.icon"
5
5
  v-bind="$attrs"
@@ -11,7 +11,7 @@ import { computed, defineComponent, PropType } from "vue";
11
11
 
12
12
  import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
13
13
 
14
- import FSSimpleIconTileUI from "./FSSimpleIconTileUI.vue";
14
+ import FSSimpleTileUI from "./FSSimpleTileUI.vue";
15
15
 
16
16
  export default defineComponent({
17
17
  name: "FSDashboardShallowTileUI",
@@ -28,7 +28,7 @@ export default defineComponent({
28
28
  }
29
29
  },
30
30
  components: {
31
- FSSimpleIconTileUI
31
+ FSSimpleTileUI
32
32
  },
33
33
  setup(props){
34
34
  const color = computed(() => {
@@ -30,7 +30,7 @@
30
30
  </FSText>
31
31
  <FSText
32
32
  font="text-overline"
33
- variant="light"
33
+ variant="soft"
34
34
  >
35
35
  {{ $props.code }}
36
36
  </FSText>
@@ -1,8 +1,8 @@
1
1
  <template>
2
- <FSSimpleIconTileUI
2
+ <FSSimpleTileUI
3
+ :iconBackgroundColor="true"
3
4
  :bottomColor="color"
4
5
  :icon="$props.icon"
5
- :iconBackgroundColor="true"
6
6
  v-bind="$attrs"
7
7
  />
8
8
  </template>
@@ -12,7 +12,7 @@ import { computed, defineComponent, PropType } from "vue";
12
12
 
13
13
  import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
14
14
 
15
- import FSSimpleIconTileUI from "./FSSimpleIconTileUI.vue";
15
+ import FSSimpleTileUI from "./FSSimpleTileUI.vue";
16
16
 
17
17
  export default defineComponent({
18
18
  name: "FSFolderTileUI",
@@ -29,7 +29,7 @@ export default defineComponent({
29
29
  }
30
30
  },
31
31
  components: {
32
- FSSimpleIconTileUI
32
+ FSSimpleTileUI
33
33
  },
34
34
  setup(props){
35
35
  const color = computed(() => {
@@ -29,7 +29,7 @@
29
29
  </FSText>
30
30
  <FSText
31
31
  font="text-overline"
32
- variant="light"
32
+ variant="soft"
33
33
  >
34
34
  {{ $props.code }}
35
35
  </FSText>
@@ -26,12 +26,19 @@
26
26
  </FSText>
27
27
  <FSText
28
28
  font="text-overline"
29
- variant="light"
29
+ variant="soft"
30
30
  >
31
31
  {{ $props.code }}
32
32
  </FSText>
33
33
  </FSCol>
34
+ <FSImage
35
+ v-if="$props.imageId"
36
+ :height="imageSize"
37
+ :width="imageSize"
38
+ :imageId="$props.imageId"
39
+ />
34
40
  <FSIconCard
41
+ v-else
35
42
  :backgroundColor="iconBackgroundColor"
36
43
  :icon="$props.icon"
37
44
  :size="imageSize"
@@ -48,17 +55,19 @@ import { useBreakpoints } from "@dative-gpi/foundation-shared-components/composa
48
55
  import { ColorBase, ColorEnum } from "@dative-gpi/foundation-shared-components/models";
49
56
 
50
57
  import FSIconCard from "../FSIconCard.vue";
58
+ import FSImage from "../FSImage.vue";
51
59
  import FSText from "../FSText.vue";
52
60
  import FSTile from "./FSTile.vue";
53
61
  import FSCol from "../FSCol.vue";
54
62
  import FSRow from "../FSRow.vue";
55
63
 
56
64
  export default defineComponent({
57
- name: "FSSimpleIconTileUI",
65
+ name: "FSSimpleTileUI",
58
66
  components: {
59
67
  FSIconCard,
60
- FSText,
68
+ FSImage,
61
69
  FSTile,
70
+ FSText,
62
71
  FSCol,
63
72
  FSRow
64
73
  },
@@ -93,6 +102,11 @@ export default defineComponent({
93
102
  required: false,
94
103
  default: "mdi-ab-testing"
95
104
  },
105
+ imageId: {
106
+ type: String as PropType<string>,
107
+ required: false,
108
+ default: null
109
+ },
96
110
  editable: {
97
111
  type: Boolean,
98
112
  required: false,
@@ -31,14 +31,14 @@
31
31
  >
32
32
  <FSIcon
33
33
  v-if="roleIcon"
34
- variant="light"
34
+ variant="soft"
35
35
  :color="ColorEnum.Dark"
36
36
  >
37
37
  {{ roleIcon }}
38
38
  </FSIcon>
39
39
  <FSText
40
40
  font="text-overline"
41
- variant="light"
41
+ variant="soft"
42
42
  >
43
43
  {{ roleLabel }}
44
44
  </FSText>
@@ -3,4 +3,5 @@ export * from "./useBreakpoints";
3
3
  export * from "./useColors";
4
4
  export * from "./useDebounce";
5
5
  export * from "./useRules";
6
- export * from "./useSlots";
6
+ export * from "./useSlots";
7
+ export * from "./useTables";
@@ -6,7 +6,7 @@ import { ColorBase, ColorEnum, ColorVariations } from "@dative-gpi/foundation-sh
6
6
 
7
7
  export const useColors = () => {
8
8
  const theme = useTheme().current.value;
9
- const baseMinSaturation = 55;
9
+ const baseMinSaturation = 0;
10
10
  const baseFixedBrightness = 90;
11
11
 
12
12
  const isGrayScale = (color: Color): boolean => {
@@ -24,7 +24,8 @@ export const useColors = () => {
24
24
 
25
25
  const getLight = (base: Color): Color => {
26
26
  if (isGrayScale(base)) {
27
- return base.value(Math.min(base.value() + 10, 100));
27
+ return base
28
+ .value(Math.max(base.value(), 95));
28
29
  }
29
30
  return base.saturationv(10).value(100);
30
31
  };
@@ -33,75 +34,46 @@ export const useColors = () => {
33
34
  return base.value(Math.min(base.value() + 10, 100));
34
35
  };
35
36
 
36
- const getBase = (base: Color): Color => {
37
- if (isGrayScale(base)) {
38
- return base.saturationv(1);
39
- }
40
- const saturation = base.saturationv() > baseMinSaturation ? base.saturationv() : baseMinSaturation;
41
- return base.saturationv(saturation).value(baseFixedBrightness);
42
- };
43
-
44
37
  const getDark = (base: Color): Color => {
45
38
  return base.value(Math.max(base.value() - 15, 0));
46
39
  };
47
40
 
48
- const getContrast = (color: Color, fallback: Color): Color => {
49
- if (isGrayScale(color)) {
50
- if (color.value() > 50) {
51
- return color.value(Math.max(0, color.value() - 75));
52
- }
53
- else {
54
- return color.value(Math.min(100, color.value() + 75));
55
- }
41
+ const getContrast = (color: Color): Color => {
42
+ if(isGrayScale(color)){
43
+ const coeff = 4
44
+ return color
45
+ .value(color.value() < 70 ? 100 : Math.max(color.value() / coeff, 0));
46
+ }
47
+
48
+ if(isPastel(color)){
49
+ return color.darken(0.6);
56
50
  }
57
- return fallback;
51
+
52
+ if(color.darken(0.15).isLight()){
53
+ return color.darken(0.6);
54
+ }
55
+ return color.lighten(color.value() / 50);
58
56
  }
59
57
 
60
58
  const getColors = (color: ColorBase): ColorVariations => {
61
59
  const themed = (Object as any).values(ColorEnum).includes(color);
62
60
 
63
- const seed = themed ? new Color(theme.colors[color as ColorEnum]) : new Color(color);
61
+ const base = themed ? new Color(theme.colors[color as ColorEnum]) : new Color(color);
64
62
 
65
- const base = getBase(seed);
66
63
  const light = getLight(base);
67
64
  const soft = getSoft(base);
68
65
  const dark = getDark(base);
69
66
 
70
- if (isPastel(seed)) {
71
- return {
72
- light: getLight(seed).hex(),
73
- lightContrast: getContrast(light, dark).hex(),
74
- soft: getSoft(seed).hex(),
75
- softContrast: getContrast(seed, dark).hex(),
76
- base: seed.hex(),
77
- baseContrast: getContrast(seed, dark).hex(),
78
- dark: dark.hex(),
79
- darkContrast: getContrast(dark, light).hex()
80
- };
81
- }
82
-
83
- switch (color) {
84
- case ColorEnum.Background: return {
85
- light: base.hex(),
86
- lightContrast: getContrast(base, base).hex(),
87
- soft: base.hex(),
88
- softContrast: getContrast(base, base).hex(),
89
- base: base.hex(),
90
- baseContrast: getContrast(base, base).hex(),
91
- dark: dark.hex(),
92
- darkContrast: getContrast(dark, base).hex()
93
- };
94
- default: return {
95
- light: light.hex(),
96
- lightContrast: getContrast(light, dark).hex(),
97
- soft: soft.hex(),
98
- softContrast: getContrast(soft, light).hex(),
99
- base: base.hex(),
100
- baseContrast: getContrast(base, light).hex(),
101
- dark: dark.hex(),
102
- darkContrast: getContrast(dark, light).hex()
103
- };
104
- }
67
+ return {
68
+ light: light.hex(),
69
+ lightContrast: getContrast(light).hex(),
70
+ soft: soft.hex(),
71
+ softContrast: getContrast(soft).hex(),
72
+ base: base.hex(),
73
+ baseContrast: getContrast(base).hex(),
74
+ dark: dark.hex(),
75
+ darkContrast: getContrast(dark).hex()
76
+ };
105
77
  };
106
78
 
107
79
  const getGradients = (colors: ColorBase | ColorBase[], rotation: number = 90): ColorVariations => {
@@ -119,10 +91,10 @@ export const useColors = () => {
119
91
  }
120
92
 
121
93
  const getBasePaletteColors = (): string[][] => {
122
- const columnCount = 5
94
+ const columnCount = 8
123
95
  const colors: string[][] = [];
124
96
  for (let saturation = baseMinSaturation; saturation <= 100; saturation += (100 - baseMinSaturation) / (columnCount - 1)) {
125
- let colorsRow = [];
97
+ const colorsRow = [];
126
98
  for (let hue = 0; hue < 360; hue += 15) {
127
99
  const color = new Color({ h: hue, s: saturation, v: baseFixedBrightness });
128
100
  colorsRow.push(color.hex());
@@ -130,7 +102,7 @@ export const useColors = () => {
130
102
  colors.push(colorsRow)
131
103
  }
132
104
  let i = 0;
133
- for (let brightness = 5; brightness <= 95; brightness += (90 / (columnCount - 1))) {
105
+ for (let brightness = 0; brightness <= 100; brightness += (100 / (columnCount - 1))) {
134
106
  const color = new Color({ h: 0, s: 1, v: 100 - brightness });
135
107
  colors[i].unshift(color.hex());
136
108
  i++;
@@ -0,0 +1,29 @@
1
+ import { ref } from "vue";
2
+
3
+ import { Single } from "@dative-gpi/foundation-shared-domain/tools/single";
4
+
5
+ import { FSDataTable } from "../models";
6
+
7
+ const tables = ref<{ [key: string]: FSDataTable }>({});
8
+
9
+ const single = new Single();
10
+
11
+ export const useTables = () => {
12
+ return single.call(() => {
13
+ const getTable = (tableCode: string): FSDataTable | null => {
14
+ if (tables.value[tableCode] != null) {
15
+ return tables.value[tableCode];
16
+ }
17
+ return null;
18
+ };
19
+
20
+ const setTable = (tableCode: string, value: FSDataTable) => {
21
+ tables.value[tableCode] = { ...value };
22
+ };
23
+
24
+ return {
25
+ getTable,
26
+ setTable
27
+ };
28
+ });
29
+ };
package/models/tables.ts CHANGED
@@ -1,33 +1,42 @@
1
1
  export interface FSDataTableColumn {
2
- [key: string]: any;
3
- text?: string | null;
4
- value?: string | null;
5
- index: number;
6
- hidden: boolean;
7
- width?: string | number | null;
2
+ [key: string]: any;
3
+ text?: string | null;
4
+ value?: string | null;
5
+ index: number;
6
+ hidden: boolean;
7
+ width?: string | number | null;
8
8
 
9
- sortable?: boolean | null;
10
- sort?: ((a: any, b: any) => number) | null;
9
+ sortable?: boolean | null;
10
+ sort?: ((a: any, b: any) => number) | null;
11
11
 
12
- filterable?: boolean | null;
13
- fixedFilters?: { value: any, text: string }[] | null;
14
- methodFilter?: ((value: any, item: any) => boolean) | null;
15
- filter?: ((value: any, search: string, item: any) => boolean) | null;
12
+ filterable?: boolean | null;
13
+ fixedFilters?: { value: any, text: string }[] | null;
14
+ methodFilter?: ((value: any, item: any) => boolean) | null;
15
+ filter?: ((value: any, search: string, item: any) => boolean) | null;
16
16
 
17
- innerValue?: ((value: any) => any) | null;
17
+ innerValue?: ((value: any) => any) | null;
18
18
 
19
- // Should not be set directly !
20
- slotName?: string | null;
19
+ // Should not be set directly !
20
+ slotName?: string | null;
21
21
  }
22
22
 
23
23
  export interface FSDataTableFilter {
24
- text: string;
25
- value: string;
26
- hidden: boolean;
27
- filter?: ((value: any, property: any, item: any) => boolean) | null;
24
+ text: string;
25
+ value: string;
26
+ hidden: boolean;
27
+ filter?: ((value: any, property: any, item: any) => boolean) | null;
28
28
  }
29
29
 
30
30
  export interface FSDataTableOrder {
31
- key: string | null;
32
- order: "asc" | "desc" | null;
31
+ key: string | null;
32
+ order: "asc" | "desc" | null;
33
+ }
34
+
35
+ export interface FSDataTable {
36
+ headers: FSDataTableColumn[];
37
+ sortBy: FSDataTableOrder | null;
38
+ mode: "table" | "iterator";
39
+ rowsPerPage: -1 | 10 | 30;
40
+ filters: { [key: string]: FSDataTableFilter[] };
41
+ page: number;
33
42
  }
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.118",
4
+ "version": "0.0.120",
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.118",
14
- "@dative-gpi/foundation-shared-services": "0.0.118",
13
+ "@dative-gpi/foundation-shared-domain": "0.0.120",
14
+ "@dative-gpi/foundation-shared-services": "0.0.120",
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": "76a8d1b854de1eb1d0d914d4c15da28b5306e27f"
35
+ "gitHead": "faba41cbb99b47b855fbce6d40925eec86611d3d"
36
36
  }
@@ -1,128 +1,134 @@
1
1
  .fs-data-table {
2
- table {
3
- margin-top: calc(var(--fs-data-table-row-gap) * -1);
4
- border-spacing: 0 var(--fs-data-table-row-gap) !important;
5
- background-color: var(--fs-data-table-background-color) !important;
6
- }
2
+ & > .v-table__wrapper {
3
+ padding: 0 1px 0 0;
7
4
 
8
- .fs-data-table-custom-row > td {
9
- border-bottom: var(--fs-data-table-row-border-size) solid var(--fs-data-table-row-border-color) !important;
10
- border-top: var(--fs-data-table-row-border-size) solid var(--fs-data-table-row-border-color) !important;
11
- background-color: var(--fs-data-table-row-background-color) !important;
12
- color: var(--fs-data-table-row-color);
13
- position: relative;
14
- }
5
+ @extend .fs-hide-x-scrollbar;
6
+ }
15
7
 
16
- .fs-data-table-custom-row > td:first-child{
17
- border-top-left-radius: var(--fs-data-table-row-border-radius) !important;
18
- border-bottom-left-radius: var(--fs-data-table-row-border-radius) !important;
19
- border-left: var(--fs-data-table-row-border-size) solid var(--fs-data-table-row-border-color);
20
- }
8
+ table {
9
+ margin-top: calc(var(--fs-data-table-row-gap) * -1);
10
+ border-spacing: 0 var(--fs-data-table-row-gap) !important;
11
+ background-color: var(--fs-data-table-background-color) !important;
12
+ }
21
13
 
22
- .fs-data-table-custom-row > td:last-child{
23
- border-top-right-radius: var(--fs-data-table-row-border-radius) !important;
24
- border-bottom-right-radius: var(--fs-data-table-row-border-radius) !important;
25
- border-right: var(--fs-data-table-row-border-size) solid var(--fs-data-table-row-border-color);
26
- }
14
+ .fs-data-table-custom-row > td {
15
+ border-bottom: var(--fs-data-table-row-border-size) solid var(--fs-data-table-row-border-color) !important;
16
+ border-top: var(--fs-data-table-row-border-size) solid var(--fs-data-table-row-border-color) !important;
17
+ background-color: var(--fs-data-table-row-background-color) !important;
18
+ color: var(--fs-data-table-row-color);
19
+ position: relative;
20
+ }
27
21
 
28
- th,
29
- :not(.fs-data-table-custom-row) > td {
30
- background-color: var(--fs-data-table-background-color) !important;
31
- position: relative;
32
- }
33
-
34
- th {
35
- box-shadow: none !important;
36
-
37
- &:hover .fs-header-button {
38
- opacity: 1;
39
- }
40
- }
41
-
42
- th:after {
43
- content: "";
44
- position: absolute;
45
- bottom: 8px;
46
- right: 0;
47
- height: calc(100% - 16px);
48
- border-right: 1px solid var(--fs-data-table-border-color);
49
- }
50
-
51
- td {
52
- border-bottom: none !important;
22
+ .fs-data-table-custom-row > td:first-child{
23
+ border-top-left-radius: var(--fs-data-table-row-border-radius) !important;
24
+ border-bottom-left-radius: var(--fs-data-table-row-border-radius) !important;
25
+ border-left: var(--fs-data-table-row-border-size) solid var(--fs-data-table-row-border-color);
26
+ }
27
+
28
+ .fs-data-table-custom-row > td:last-child{
29
+ border-top-right-radius: var(--fs-data-table-row-border-radius) !important;
30
+ border-bottom-right-radius: var(--fs-data-table-row-border-radius) !important;
31
+ border-right: var(--fs-data-table-row-border-size) solid var(--fs-data-table-row-border-color);
32
+ }
33
+
34
+ th,
35
+ :not(.fs-data-table-custom-row) > td {
36
+ background-color: var(--fs-data-table-background-color) !important;
37
+ position: relative;
38
+ }
39
+
40
+ th {
41
+ box-shadow: none !important;
42
+
43
+ &:hover .fs-header-button {
44
+ opacity: 1;
53
45
  }
46
+ }
54
47
 
55
- th:last-of-type:after,
56
- td:last-of-type:after {
57
- border-right: none;
58
- }
48
+ th:after {
49
+ content: "";
50
+ position: absolute;
51
+ bottom: 8px;
52
+ right: 0;
53
+ height: calc(100% - 16px);
54
+ border-right: 1px solid var(--fs-data-table-border-color);
55
+ }
59
56
 
60
- th:before,
61
- td:not(.fs-data-table-group-header):before {
62
- content: "";
63
- position: absolute;
64
- left: 0;
65
- bottom: 0;
66
- width: 100%;
67
- border-bottom: 1px solid var(--fs-data-table-border-color);
68
- }
57
+ td {
58
+ border-bottom: none !important;
59
+ }
69
60
 
70
- th:first-of-type:before,
71
- td:first-of-type:before {
72
- left: 8px;
73
- width: calc(100% - 8px);
74
- }
61
+ th:last-of-type:after,
62
+ td:last-of-type:after {
63
+ border-right: none;
64
+ }
75
65
 
76
- th:last-of-type:before,
77
- td:last-of-type:before {
78
- right: 8px;
79
- width: calc(100% - 8px);
80
- }
66
+ th:before,
67
+ td:not(.fs-data-table-group-header):before {
68
+ content: "";
69
+ position: absolute;
70
+ left: 0;
71
+ bottom: 0;
72
+ width: 100%;
73
+ border-bottom: 1px solid var(--fs-data-table-border-color);
74
+ }
75
+
76
+ th:first-of-type:before,
77
+ td:first-of-type:before {
78
+ left: 8px;
79
+ width: calc(100% - 8px);
80
+ }
81
+
82
+ th:last-of-type:before,
83
+ td:last-of-type:before {
84
+ right: 8px;
85
+ width: calc(100% - 8px);
86
+ }
81
87
  }
82
88
 
83
89
  .fs-data-table-grouped {
84
- & th:first-of-type {
85
- display: none;
86
- }
90
+ & th:first-of-type {
91
+ display: none;
92
+ }
87
93
 
88
- & td:first-of-type {
89
- display: none;
90
- }
94
+ & td:first-of-type {
95
+ display: none;
96
+ }
91
97
 
92
- & .fs-data-table-group-header {
93
- padding: 0 !important;
98
+ & .fs-data-table-group-header {
99
+ padding: 0 !important;
94
100
 
95
- &:after {
96
- content: none !important;
97
- }
101
+ &:after {
102
+ content: none !important;
98
103
  }
104
+ }
99
105
  }
100
106
 
101
107
  .fs-data-table-iterator {
102
- width: 100%;
108
+ width: 100%;
103
109
  }
104
110
 
105
111
  .fs-data-table-footer {
106
- background-color: var(--fs-data-table-background-color);
112
+ background-color: var(--fs-data-table-background-color);
107
113
  }
108
114
 
109
115
  .fs-data-table-rows-per-page {
110
- min-width: 100px;
111
- width: 100px;
116
+ min-width: 100px;
117
+ width: 100px;
112
118
  }
113
119
 
114
120
  .fs-data-table-pagination {
115
- @include web {
116
- max-width: 280px;
117
- }
121
+ @include web {
122
+ max-width: 280px;
123
+ }
118
124
 
119
- @include mobile {
120
- max-width: 274px;
121
- }
125
+ @include mobile {
126
+ max-width: 274px;
127
+ }
122
128
  }
123
129
 
124
130
  .fs-data-table-intersection {
125
- margin-top: -8px;
126
- height: 10px;
127
- width: 100%;
131
+ margin-top: -8px;
132
+ height: 10px;
133
+ width: 100%;
128
134
  }