@appscode/design-system 2.2.58 → 2.2.60
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/package.json
CHANGED
|
@@ -8,12 +8,14 @@ interface Props {
|
|
|
8
8
|
title?: string;
|
|
9
9
|
isContainer?: boolean;
|
|
10
10
|
topValue?: string;
|
|
11
|
+
custom?: boolean;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
withDefaults(defineProps<Props>(), {
|
|
14
15
|
title: "No Title",
|
|
15
16
|
isContainer: false,
|
|
16
17
|
topValue: "86px",
|
|
18
|
+
custom: false,
|
|
17
19
|
});
|
|
18
20
|
</script>
|
|
19
21
|
|
|
@@ -22,9 +24,12 @@ withDefaults(defineProps<Props>(), {
|
|
|
22
24
|
<div class="is-flex is-justify-content-space-between" :class="{ container: isContainer }">
|
|
23
25
|
<header-items>
|
|
24
26
|
<header-item>
|
|
25
|
-
<
|
|
26
|
-
<
|
|
27
|
-
</
|
|
27
|
+
<div v-if="custom">
|
|
28
|
+
<slot name="custom" />
|
|
29
|
+
</div>
|
|
30
|
+
<div v-else>
|
|
31
|
+
<h4 :key="title">{{ title }}</h4>
|
|
32
|
+
</div>
|
|
28
33
|
</header-item>
|
|
29
34
|
<slot name="header-left-controls" />
|
|
30
35
|
</header-items>
|
|
@@ -37,94 +42,4 @@ withDefaults(defineProps<Props>(), {
|
|
|
37
42
|
|
|
38
43
|
<style lang="scss" scoped>
|
|
39
44
|
@import "../../../vue-components/styles/components/header/header";
|
|
40
|
-
|
|
41
|
-
// footer control start
|
|
42
|
-
// .form-footer-controls {
|
|
43
|
-
// .form-footer-control {
|
|
44
|
-
// display: inline-block;
|
|
45
|
-
// margin-left: 8px;
|
|
46
|
-
// vertical-align: middle;
|
|
47
|
-
|
|
48
|
-
// &:first-child {
|
|
49
|
-
// margin-left: 0;
|
|
50
|
-
// }
|
|
51
|
-
// }
|
|
52
|
-
// }
|
|
53
|
-
|
|
54
|
-
// .dashboard-header {
|
|
55
|
-
// padding: 10px 20px;
|
|
56
|
-
// border-radius: 4px;
|
|
57
|
-
// background-color: $white-100;
|
|
58
|
-
// min-height: 75px;
|
|
59
|
-
// display: table;
|
|
60
|
-
// width: 100%;
|
|
61
|
-
// border-left: 5px solid $ac-primary;
|
|
62
|
-
// border-bottom: 1px solid $color-border;
|
|
63
|
-
// border-top: 1px solid $color-border;
|
|
64
|
-
// border-right: 1px solid $color-border;
|
|
65
|
-
|
|
66
|
-
// .dashboard-header-wrapper {
|
|
67
|
-
// height: 100%;
|
|
68
|
-
// display: table;
|
|
69
|
-
// width: 100%;
|
|
70
|
-
|
|
71
|
-
// .dashboard-header-inner {
|
|
72
|
-
// display: table-cell;
|
|
73
|
-
// vertical-align: middle;
|
|
74
|
-
// }
|
|
75
|
-
// }
|
|
76
|
-
// }
|
|
77
|
-
|
|
78
|
-
// .dashboard-header-inner-top {
|
|
79
|
-
// height: 100%;
|
|
80
|
-
// vertical-align: middle;
|
|
81
|
-
// display: table-cell;
|
|
82
|
-
// }
|
|
83
|
-
|
|
84
|
-
// .dashboard-header.is-chart-available {
|
|
85
|
-
// padding: 10px 30px;
|
|
86
|
-
|
|
87
|
-
// .dashboard-header-wrapper {
|
|
88
|
-
// height: 100%;
|
|
89
|
-
// display: table;
|
|
90
|
-
// width: 100%;
|
|
91
|
-
|
|
92
|
-
// .dashboard-header-inner {
|
|
93
|
-
// display: table-cell;
|
|
94
|
-
// vertical-align: middle;
|
|
95
|
-
// }
|
|
96
|
-
// }
|
|
97
|
-
// }
|
|
98
|
-
|
|
99
|
-
// .resource {
|
|
100
|
-
// display: flex;
|
|
101
|
-
// align-items: center;
|
|
102
|
-
// border-left: 1px solid $color-border;
|
|
103
|
-
// padding: 0 1.5rem;
|
|
104
|
-
// margin-top: -10px;
|
|
105
|
-
// margin-bottom: -10px;
|
|
106
|
-
// .r-icon {
|
|
107
|
-
// display: flex;
|
|
108
|
-
// align-items: center;
|
|
109
|
-
// max-width: 40px;
|
|
110
|
-
// }
|
|
111
|
-
|
|
112
|
-
// .r-data {
|
|
113
|
-
// margin-left: 0.8rem;
|
|
114
|
-
// .request,
|
|
115
|
-
// .limit {
|
|
116
|
-
// font-weight: 500;
|
|
117
|
-
// min-width: 50px;
|
|
118
|
-
// text-align: center;
|
|
119
|
-
// }
|
|
120
|
-
// .request {
|
|
121
|
-
// font-weight: 300;
|
|
122
|
-
// }
|
|
123
|
-
// hr {
|
|
124
|
-
// margin: 0;
|
|
125
|
-
// padding: 0;
|
|
126
|
-
// background-color: $color-border;
|
|
127
|
-
// }
|
|
128
|
-
// }
|
|
129
|
-
// }
|
|
130
45
|
</style>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { computed, defineAsyncComponent, ref } from "vue";
|
|
2
|
+
import { computed, defineAsyncComponent, ref, watch } from "vue";
|
|
3
3
|
import { useElementSize } from "@vueuse/core";
|
|
4
4
|
|
|
5
5
|
interface Props {
|
|
@@ -46,9 +46,20 @@ const { width: cellDivWidth } = useElementSize(cellDiv, {
|
|
|
46
46
|
width: 150,
|
|
47
47
|
height: 30,
|
|
48
48
|
});
|
|
49
|
-
const maxCharacterLength =
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
const maxCharacterLength = ref(Math.ceil(cellDivWidth.value / 6));
|
|
50
|
+
let oldDivValue = cellDivWidth.value;
|
|
51
|
+
|
|
52
|
+
watch(
|
|
53
|
+
cellDivWidth,
|
|
54
|
+
(n) => {
|
|
55
|
+
const diff = Math.abs(n - oldDivValue);
|
|
56
|
+
if (diff >= 10) {
|
|
57
|
+
maxCharacterLength.value = Math.ceil(n / 6);
|
|
58
|
+
oldDivValue = n;
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
{ immediate: true }
|
|
62
|
+
);
|
|
52
63
|
|
|
53
64
|
const primaryColor = computed(() => {
|
|
54
65
|
return document.documentElement.classList.contains("is-dark-theme")
|