@appscode/design-system 2.2.65 → 2.2.67-alpha
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/main.scss +3 -2
- package/package.json +1 -1
- package/plugins/time-convert.js +0 -1
- package/vue-components/styles/base/utilities/_all.scss +1 -0
- package/vue-components/styles/base/utilities/_animation.scss +11 -0
- package/vue-components/styles/base/utilities/_colors.scss +8 -2
- package/vue-components/styles/base/utilities/_global.scss +3 -1
- package/vue-components/styles/components/_table.scss +3 -1
- package/vue-components/styles/components/form-fields/_all.scss +1 -0
- package/vue-components/styles/components/form-fields/_check-radio-switch.scss +230 -34
- package/vue-components/styles/components/form-fields/_custom-selectbox.scss +135 -0
- package/vue-components/styles/components/form-fields/_input.scss +2 -9
- package/vue-components/styles/components/header/_header.scss +1 -1
- package/vue-components/v3/accordion/Accordion.vue +14 -7
- package/vue-components/v3/breadcrumbs/Breadcrumb.vue +1 -1
- package/vue-components/v3/button/Buttons.vue +1 -1
- package/vue-components/v3/cards/FeatureCard.vue +1 -1
- package/vue-components/v3/code-preview/CodeBlock.vue +16 -5
- package/vue-components/v3/code-preview/CodeGroup.vue +13 -8
- package/vue-components/v3/dropdown/DropdownMenu.vue +1 -1
- package/vue-components/v3/editor/Editor.vue +2 -2
- package/vue-components/v3/editor/FilteredFileEditor.vue +2 -2
- package/vue-components/v3/editor/MonacoEditor.vue +1 -1
- package/vue-components/v3/editor/ResourceKeyValueEditor.vue +1 -1
- package/vue-components/v3/form-fields/AcInput.vue +1 -1
- package/vue-components/v3/form-fields/AcTextArea.vue +1 -1
- package/vue-components/v3/form-fields/CheckBox.vue +7 -11
- package/vue-components/v3/form-fields/CheckRadio.vue +2 -3
- package/vue-components/v3/form-fields/CustomSelect.vue +122 -0
- package/vue-components/v3/form-fields/ListInputField.vue +118 -0
- package/vue-components/v3/form-fields/Switch.vue +14 -10
- package/vue-components/v3/icons/ArrowDownIcon.vue +14 -0
- package/vue-components/v3/icons/CloseIcon.vue +14 -0
- package/vue-components/v3/icons/RefreshIcon.vue +18 -0
- package/vue-components/v3/modal/DialogModal.vue +1 -1
- package/vue-components/v3/navbar/NavbarItem.vue +2 -2
- package/vue-components/v3/navbar/Notification.vue +1 -1
- package/vue-components/v3/pagination/Pagination.vue +1 -1
- package/vue-components/v3/sidebar/AccentColorPicker.vue +2 -2
- package/vue-components/v3/sidebar/ClusterSwitcher.vue +2 -2
- package/vue-components/v3/sidebar/SidebarItem.vue +1 -1
- package/vue-components/v3/sidebar/SidebarItemWithDropDown.vue +1 -1
- package/vue-components/v3/table/InfoTable.vue +1 -1
- package/vue-components/v3/table/MultiInfoTable.vue +1 -1
- package/vue-components/v3/table/Table.vue +1 -1
- package/vue-components/v3/table/TableCell.vue +1 -3
- package/vue-components/v3/table/table-cell/CellValue.vue +2 -2
- package/vue-components/v3/table/table-cell/GenericCell.vue +1 -1
- package/plugins/vue-toaster.js +0 -85
|
@@ -1,28 +1,39 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import { ref } from "vue";
|
|
3
|
+
import { useClipboard } from "@vueuse/core";
|
|
4
|
+
import AcButton from "../button/Button.vue";
|
|
3
5
|
|
|
4
6
|
interface Props {
|
|
5
7
|
spacing?: string;
|
|
6
8
|
downloadBtn?: boolean;
|
|
9
|
+
code?: string;
|
|
7
10
|
copyBtn?: boolean;
|
|
8
11
|
}
|
|
9
12
|
|
|
10
|
-
withDefaults(defineProps<Props>(), {
|
|
13
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
11
14
|
spacing: "pr-48",
|
|
12
15
|
downloadBtn: false,
|
|
16
|
+
code: "",
|
|
13
17
|
copyBtn: true,
|
|
14
18
|
});
|
|
15
19
|
|
|
16
|
-
const
|
|
20
|
+
const source = ref(props.code);
|
|
21
|
+
|
|
22
|
+
const { copy, copied } = useClipboard({ source, legacy: true });
|
|
17
23
|
</script>
|
|
18
24
|
<template>
|
|
19
25
|
<div class="code-container p-0">
|
|
20
26
|
<pre class="ac-hscrollbar" :class="spacing">
|
|
21
|
-
|
|
27
|
+
{{ code }}
|
|
22
28
|
</pre>
|
|
23
29
|
<div class="buttons">
|
|
24
30
|
<ac-button v-if="downloadBtn" modifier-classes="is-primary small-button" icon-class="download" />
|
|
25
|
-
<ac-button
|
|
31
|
+
<ac-button
|
|
32
|
+
v-if="copyBtn"
|
|
33
|
+
:modifier-classes="'is-primary small-button'"
|
|
34
|
+
:icon-class="copied ? 'check' : 'copy'"
|
|
35
|
+
@click="copy()"
|
|
36
|
+
/>
|
|
26
37
|
</div>
|
|
27
38
|
</div>
|
|
28
39
|
</template>
|
|
@@ -1,32 +1,37 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import { ref } from "vue";
|
|
3
|
+
import { useClipboard } from "@vueuse/core";
|
|
4
|
+
import AcButton from "../button/Button.vue";
|
|
3
5
|
|
|
4
6
|
interface Props {
|
|
5
7
|
spacing?: string;
|
|
6
8
|
copyBtn?: boolean;
|
|
9
|
+
code?: string;
|
|
7
10
|
}
|
|
8
11
|
|
|
9
|
-
withDefaults(defineProps<Props>(), {
|
|
12
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
10
13
|
spacing: "pr-48",
|
|
11
14
|
copyBtn: true,
|
|
15
|
+
code: "",
|
|
12
16
|
});
|
|
13
|
-
|
|
14
|
-
const
|
|
17
|
+
const source = ref(props.code);
|
|
18
|
+
const { copy, copied } = useClipboard({ source, legacy: true });
|
|
15
19
|
</script>
|
|
16
20
|
<template>
|
|
17
21
|
<div class="code-container p-0 b-1 is-rounded-4">
|
|
18
22
|
<div class="head is-flex is-justify-content-space-between is-align-items-center pt-7 px-4 b-b-1">
|
|
19
23
|
<div><slot name="left" /></div>
|
|
20
24
|
<ac-button
|
|
21
|
-
title="Copy"
|
|
25
|
+
:title="copied ? '' : 'Copy'"
|
|
22
26
|
v-if="copyBtn"
|
|
23
27
|
data-testid="kubeconfig-copy-button"
|
|
24
|
-
modifier-classes="is-outlined small-button mb-6"
|
|
25
|
-
icon-class="copy"
|
|
28
|
+
:modifier-classes="`is-outlined small-button mb-6 `"
|
|
29
|
+
:icon-class="copied ? 'check' : 'copy'"
|
|
30
|
+
@click="copy()"
|
|
26
31
|
/>
|
|
27
32
|
</div>
|
|
28
33
|
<pre class="ac-hscrollbar is-border-none">
|
|
29
|
-
|
|
34
|
+
{{ code }}
|
|
30
35
|
</pre>
|
|
31
36
|
</div>
|
|
32
37
|
</template>
|
|
@@ -59,7 +59,7 @@ export default defineComponent({
|
|
|
59
59
|
// remove the schema
|
|
60
60
|
if (this.$monacoValidationOptions) {
|
|
61
61
|
this.$monacoValidationOptions.schemas = this.$monacoValidationOptions.schemas.filter(
|
|
62
|
-
(schema) => !schema.fileMatch.includes(this.modelId)
|
|
62
|
+
(schema) => !schema.fileMatch.includes(this.modelId),
|
|
63
63
|
);
|
|
64
64
|
}
|
|
65
65
|
// dispose editor
|
|
@@ -19,18 +19,14 @@ const model = defineModel({ type: Array });
|
|
|
19
19
|
</script>
|
|
20
20
|
|
|
21
21
|
<template>
|
|
22
|
-
<div v-for="option in options" :key="name + option.label" class="
|
|
23
|
-
<
|
|
24
|
-
class="
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
type="checkbox"
|
|
29
|
-
v-model="model"
|
|
30
|
-
/>
|
|
31
|
-
<label :for="name + option.label">{{ option.label }}</label>
|
|
22
|
+
<div v-for="option in options" :key="name + option.label" class="mb-8">
|
|
23
|
+
<label class="ac-checkbox" :for="name + option.label">
|
|
24
|
+
<input :class="modifierClasses" :id="name + option.label" :value="option.value" type="checkbox" v-model="model" />
|
|
25
|
+
<span class="checkmark"></span>
|
|
26
|
+
<span>{{ option.label }}</span>
|
|
27
|
+
</label>
|
|
32
28
|
</div>
|
|
33
|
-
<p v-show="errorMsg" class="is-danger">
|
|
29
|
+
<p v-show="errorMsg" class="is-danger mb-16">
|
|
34
30
|
{{ errorMsg }}
|
|
35
31
|
</p>
|
|
36
32
|
</template>
|
|
@@ -18,10 +18,9 @@ const model = defineModel();
|
|
|
18
18
|
</script>
|
|
19
19
|
|
|
20
20
|
<template>
|
|
21
|
-
<div v-for="option in options" :key="name + option.label"
|
|
21
|
+
<div class="ac-radio" v-for="option in options" :key="name + option.label">
|
|
22
22
|
<input
|
|
23
23
|
v-model="model"
|
|
24
|
-
class="is-checkradio"
|
|
25
24
|
:class="modifierClasses"
|
|
26
25
|
:id="name + option.label"
|
|
27
26
|
type="radio"
|
|
@@ -34,7 +33,7 @@ const model = defineModel();
|
|
|
34
33
|
<slot name="message" />
|
|
35
34
|
</p>
|
|
36
35
|
</div>
|
|
37
|
-
<p v-show="errorMsg" class="is-danger">
|
|
36
|
+
<p v-show="errorMsg" class="is-danger mb-16">
|
|
38
37
|
{{ errorMsg }}
|
|
39
38
|
</p>
|
|
40
39
|
</template>
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { defineAsyncComponent } from "vue";
|
|
3
|
+
|
|
4
|
+
interface prop {
|
|
5
|
+
multiselect?: boolean;
|
|
6
|
+
custom?: boolean;
|
|
7
|
+
group?: boolean;
|
|
8
|
+
isOpen?: boolean;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
withDefaults(defineProps<prop>(), {
|
|
12
|
+
multiselect: false,
|
|
13
|
+
custom: false,
|
|
14
|
+
isOpen: false,
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
const AcButtons = defineAsyncComponent(() => import("../button/Buttons.vue"));
|
|
18
|
+
const AcButton = defineAsyncComponent(() => import("../button/Button.vue"));
|
|
19
|
+
|
|
20
|
+
const ArrowDownIcon = defineAsyncComponent(() => import("../icons/ArrowDownIcon.vue"));
|
|
21
|
+
const RefreshIcon = defineAsyncComponent(() => import("../icons/RefreshIcon.vue"));
|
|
22
|
+
const CloseIcon = defineAsyncComponent(() => import("../icons/CloseIcon.vue"));
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
<template>
|
|
26
|
+
<!-- add dynamic 'z-index', use 'is-open' for show hide options -->
|
|
27
|
+
<div class="ac-single-input is-small is-selectbox" :class="[isOpen ? 'is-open' : '']" style="z-index: 2">
|
|
28
|
+
<!-- add 'show-label' class for move top -->
|
|
29
|
+
<label for="custom-select" class="ac-label show-label">Select Option</label>
|
|
30
|
+
<input type="text" value="Select" />
|
|
31
|
+
|
|
32
|
+
<div v-if="multiselect" class="ac-field field is-grouped is-clipped">
|
|
33
|
+
<div class="control">
|
|
34
|
+
<div class="tags has-addons">
|
|
35
|
+
<span class="tag is-primary is-light">Alex Smith</span>
|
|
36
|
+
<a class="tag is-delete"></a>
|
|
37
|
+
</div>
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
<div class="control">
|
|
41
|
+
<div class="tags has-addons">
|
|
42
|
+
<span class="tag is-info is-light">Alex Smith</span>
|
|
43
|
+
<a class="tag is-delete"></a>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div class="control">
|
|
48
|
+
<div class="tags has-addons">
|
|
49
|
+
<span class="tag is-secondary is-light">Alex Smith</span>
|
|
50
|
+
<a class="tag is-delete"></a>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<div class="control">
|
|
55
|
+
<div class="tags has-addons">
|
|
56
|
+
<span class="tag is-primary is-clickable">+3</span>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<ac-buttons>
|
|
62
|
+
<button class="button ac-button is-white">
|
|
63
|
+
<ArrowDownIcon />
|
|
64
|
+
</button>
|
|
65
|
+
|
|
66
|
+
<ac-button modifier-classes="is-white">
|
|
67
|
+
<RefreshIcon class="is-spin" />
|
|
68
|
+
</ac-button>
|
|
69
|
+
|
|
70
|
+
<ac-button modifier-classes="is-white">
|
|
71
|
+
<CloseIcon style="rotate: 180deg" />
|
|
72
|
+
</ac-button>
|
|
73
|
+
</ac-buttons>
|
|
74
|
+
|
|
75
|
+
<ul v-if="group" class="options group">
|
|
76
|
+
<li v-for="i in 2" :key="i">
|
|
77
|
+
<strong>Group one</strong>
|
|
78
|
+
<ul>
|
|
79
|
+
<li>
|
|
80
|
+
<input v-if="multiselect" type="checkbox" name="" id="opt-five" />
|
|
81
|
+
<label for="opt-five">Select option five</label>
|
|
82
|
+
</li>
|
|
83
|
+
<li>
|
|
84
|
+
<input v-if="multiselect" type="checkbox" name="" id="opt-six" checked />
|
|
85
|
+
<label for="opt-six">Select option six</label>
|
|
86
|
+
</li>
|
|
87
|
+
<li class="is-disabled">
|
|
88
|
+
<input v-if="multiselect" type="checkbox" name="" id="opt-seven" />
|
|
89
|
+
<label for="opt-seven">Select option seven</label>
|
|
90
|
+
</li>
|
|
91
|
+
<li>
|
|
92
|
+
<input v-if="multiselect" type="checkbox" name="" id="opt-eight" />
|
|
93
|
+
<label for="opt-eight">Select option eight</label>
|
|
94
|
+
</li>
|
|
95
|
+
</ul>
|
|
96
|
+
</li>
|
|
97
|
+
</ul>
|
|
98
|
+
<div v-else-if="custom" class="custom-select options">
|
|
99
|
+
<slot />
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
<ul v-else class="options">
|
|
103
|
+
<li>
|
|
104
|
+
<input v-if="multiselect" type="checkbox" name="" id="opt-one" />
|
|
105
|
+
<label for="opt-one">Select option one</label>
|
|
106
|
+
</li>
|
|
107
|
+
<li class="is-active">
|
|
108
|
+
<input v-if="multiselect" type="checkbox" name="" id="opt-two" />
|
|
109
|
+
<label for="opt-two">Select option Two</label>
|
|
110
|
+
</li>
|
|
111
|
+
<li class="is-disabled">
|
|
112
|
+
<input v-if="multiselect" type="checkbox" name="" id="opt-three" />
|
|
113
|
+
<label for="opt-three">Select option three</label>
|
|
114
|
+
</li>
|
|
115
|
+
<li>
|
|
116
|
+
<input v-if="multiselect" type="checkbox" name="" id="opt-four" />
|
|
117
|
+
<label for="opt-four">Select option four</label>
|
|
118
|
+
</li>
|
|
119
|
+
</ul>
|
|
120
|
+
</div>
|
|
121
|
+
<!-- <single-input /> -->
|
|
122
|
+
</template>
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<div class="input-container">
|
|
4
|
+
<AcInput v-model="newItem" @keyup.enter="addItem" :placeholderText="placeholderText" class="input-field" />
|
|
5
|
+
<AcButton @click="addItem">Add</AcButton>
|
|
6
|
+
</div>
|
|
7
|
+
<transition-group name="list" tag="ul" class="item-list">
|
|
8
|
+
<li v-for="(item, index) in items" :key="item" class="list-item">
|
|
9
|
+
<span>{{ item }}</span>
|
|
10
|
+
<AcButton @click="removeItem(index)" class="remove-button">×</AcButton>
|
|
11
|
+
</li>
|
|
12
|
+
</transition-group>
|
|
13
|
+
</div>
|
|
14
|
+
</template>
|
|
15
|
+
|
|
16
|
+
<script setup lang="ts">
|
|
17
|
+
import { ref } from "vue";
|
|
18
|
+
import AcInput from "./AcInput.vue";
|
|
19
|
+
import AcButton from "../button/Button.vue";
|
|
20
|
+
|
|
21
|
+
withDefaults(
|
|
22
|
+
defineProps<{
|
|
23
|
+
placeholderText?: string;
|
|
24
|
+
}>(),
|
|
25
|
+
{ placeholderText: "Enter a New Item" },
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
const newItem = ref("");
|
|
29
|
+
const items = ref<string[]>([]);
|
|
30
|
+
|
|
31
|
+
const emit = defineEmits<{
|
|
32
|
+
(e: "update:items", value: string[]): void;
|
|
33
|
+
}>();
|
|
34
|
+
|
|
35
|
+
const addItem = () => {
|
|
36
|
+
if (newItem.value.trim()) {
|
|
37
|
+
items.value.unshift(newItem.value.trim());
|
|
38
|
+
newItem.value = "";
|
|
39
|
+
emit("update:items", items.value);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const removeItem = (index: number) => {
|
|
44
|
+
items.value.splice(index, 1);
|
|
45
|
+
emit("update:items", items.value);
|
|
46
|
+
};
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<style scoped>
|
|
50
|
+
.title {
|
|
51
|
+
color: #2c3e50;
|
|
52
|
+
text-align: center;
|
|
53
|
+
margin-bottom: 20px;
|
|
54
|
+
font-size: 24px;
|
|
55
|
+
font-weight: bold;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.input-field {
|
|
59
|
+
border-radius: 8px;
|
|
60
|
+
transition: border-color 0.3s;
|
|
61
|
+
margin-right: 8px;
|
|
62
|
+
width: 100%;
|
|
63
|
+
}
|
|
64
|
+
.input-container {
|
|
65
|
+
display: flex;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.item-list {
|
|
69
|
+
list-style-type: none;
|
|
70
|
+
padding: 0;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.list-item {
|
|
74
|
+
display: flex;
|
|
75
|
+
justify-content: space-between;
|
|
76
|
+
align-items: center;
|
|
77
|
+
padding: 12px;
|
|
78
|
+
background-color: #ecf0f1;
|
|
79
|
+
margin-bottom: 12px;
|
|
80
|
+
border-radius: 8px;
|
|
81
|
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
82
|
+
transition: all 0.3s;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.list-item:hover {
|
|
86
|
+
background-color: #e0e6e8;
|
|
87
|
+
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.remove-button {
|
|
91
|
+
background-color: #e74c3c;
|
|
92
|
+
color: white;
|
|
93
|
+
border: none;
|
|
94
|
+
border-radius: 50%;
|
|
95
|
+
width: 30px;
|
|
96
|
+
height: 30px;
|
|
97
|
+
font-size: 18px;
|
|
98
|
+
cursor: pointer;
|
|
99
|
+
display: flex;
|
|
100
|
+
align-items: center;
|
|
101
|
+
justify-content: center;
|
|
102
|
+
transition: background-color 0.3s;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.remove-button:hover {
|
|
106
|
+
background-color: #c0392b;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.list-enter-active,
|
|
110
|
+
.list-leave-active {
|
|
111
|
+
transition: all 0.5s;
|
|
112
|
+
}
|
|
113
|
+
.list-enter,
|
|
114
|
+
.list-leave-to {
|
|
115
|
+
opacity: 0;
|
|
116
|
+
transform: translateY(30px);
|
|
117
|
+
}
|
|
118
|
+
</style>
|
|
@@ -18,17 +18,21 @@ const model = defineModel({ type: Boolean });
|
|
|
18
18
|
</script>
|
|
19
19
|
|
|
20
20
|
<template>
|
|
21
|
-
<div class="
|
|
22
|
-
<input
|
|
23
|
-
v-model="model"
|
|
24
|
-
:id="name"
|
|
25
|
-
type="checkbox"
|
|
26
|
-
:name="name"
|
|
27
|
-
class="switch is-rounded is-primary"
|
|
28
|
-
:class="modifierClasses"
|
|
29
|
-
:data-testid="dataTestId"
|
|
30
|
-
/>
|
|
21
|
+
<div class="ac-switch is-flex is-align-items-center gap-8">
|
|
31
22
|
<label :for="name">{{ label }}</label>
|
|
23
|
+
<label class="switch">
|
|
24
|
+
<input
|
|
25
|
+
v-model="model"
|
|
26
|
+
:id="name"
|
|
27
|
+
type="checkbox"
|
|
28
|
+
:name="name"
|
|
29
|
+
class="switch is-rounded is-primary"
|
|
30
|
+
:class="modifierClasses"
|
|
31
|
+
:data-testid="dataTestId"
|
|
32
|
+
/>
|
|
33
|
+
<span class="slider round"></span>
|
|
34
|
+
</label>
|
|
35
|
+
|
|
32
36
|
<p v-show="errorMsg" class="is-danger">
|
|
33
37
|
{{ errorMsg }}
|
|
34
38
|
</p>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
4
|
+
fill="none"
|
|
5
|
+
width="16px"
|
|
6
|
+
height="16px"
|
|
7
|
+
viewBox="0 0 24 24"
|
|
8
|
+
stroke-width="1.5"
|
|
9
|
+
stroke="currentColor"
|
|
10
|
+
class="size-6"
|
|
11
|
+
>
|
|
12
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18 18 6M6 6l12 12" />
|
|
13
|
+
</svg>
|
|
14
|
+
</template>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
4
|
+
fill="none"
|
|
5
|
+
height="16px"
|
|
6
|
+
width="16px"
|
|
7
|
+
viewBox="0 0 24 24"
|
|
8
|
+
stroke-width="1.5"
|
|
9
|
+
stroke="currentColor"
|
|
10
|
+
class="size-6"
|
|
11
|
+
>
|
|
12
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="m19.5 8.25-7.5 7.5-7.5-7.5" />
|
|
13
|
+
</svg>
|
|
14
|
+
</template>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<svg
|
|
3
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
4
|
+
fill="none"
|
|
5
|
+
width="16px"
|
|
6
|
+
height="16px"
|
|
7
|
+
viewBox="0 0 24 24"
|
|
8
|
+
stroke-width="1.5"
|
|
9
|
+
stroke="currentColor"
|
|
10
|
+
class="size-6"
|
|
11
|
+
>
|
|
12
|
+
<path
|
|
13
|
+
stroke-linecap="round"
|
|
14
|
+
stroke-linejoin="round"
|
|
15
|
+
d="M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99"
|
|
16
|
+
/>
|
|
17
|
+
</svg>
|
|
18
|
+
</template>
|
|
@@ -63,7 +63,7 @@ watch(
|
|
|
63
63
|
document.documentElement.style.setProperty("--hsl-lightness", lightness);
|
|
64
64
|
});
|
|
65
65
|
},
|
|
66
|
-
{ deep: true }
|
|
66
|
+
{ deep: true },
|
|
67
67
|
);
|
|
68
68
|
|
|
69
69
|
watch(
|
|
@@ -76,7 +76,7 @@ watch(
|
|
|
76
76
|
document.documentElement.style.setProperty("--font-hsl-lightness", lightness);
|
|
77
77
|
});
|
|
78
78
|
},
|
|
79
|
-
{ deep: true }
|
|
79
|
+
{ deep: true },
|
|
80
80
|
);
|
|
81
81
|
</script>
|
|
82
82
|
|
|
@@ -32,7 +32,7 @@ watch(
|
|
|
32
32
|
(n) => {
|
|
33
33
|
selectedClusterName.value = n;
|
|
34
34
|
},
|
|
35
|
-
{ immediate: true }
|
|
35
|
+
{ immediate: true },
|
|
36
36
|
);
|
|
37
37
|
|
|
38
38
|
watch(selectedCluster, (n) => {
|
|
@@ -62,7 +62,7 @@ watch(
|
|
|
62
62
|
return selectedClusterName.value === item.name;
|
|
63
63
|
}) || null;
|
|
64
64
|
},
|
|
65
|
-
{ immediate: true, deep: true }
|
|
65
|
+
{ immediate: true, deep: true },
|
|
66
66
|
);
|
|
67
67
|
</script>
|
|
68
68
|
|
|
@@ -53,7 +53,7 @@ const isFullTableLoaderActive = computed(() => {
|
|
|
53
53
|
}"
|
|
54
54
|
>
|
|
55
55
|
<template v-if="!isTableEmpty">
|
|
56
|
-
<table-row v-for="(tableHeader, idx) in tableHeaders" :key="
|
|
56
|
+
<table-row v-for="(tableHeader, idx) in tableHeaders" :key="tableHeader as string">
|
|
57
57
|
<table-cell>
|
|
58
58
|
<span class="is-flex is-align-items-center">
|
|
59
59
|
<slot :name="`table-cell-icon-${idx}`" />
|