@bagelink/vue 0.0.160 → 0.0.162
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/dist/components/Btn.vue.d.ts +2 -2
- package/dist/components/Btn.vue.d.ts.map +1 -1
- package/dist/components/Comments.vue.d.ts.map +1 -1
- package/dist/components/DropDown.vue.d.ts.map +1 -1
- package/dist/components/FileUploader.vue.d.ts.map +1 -1
- package/dist/components/LangText.vue.d.ts.map +1 -1
- package/dist/components/NavBar.vue.d.ts.map +1 -1
- package/dist/components/PersonPreview.vue.d.ts +1 -1
- package/dist/components/PersonPreview.vue.d.ts.map +1 -1
- package/dist/components/PersonPreviewFormkit.vue.d.ts +1 -1
- package/dist/components/PersonPreviewFormkit.vue.d.ts.map +1 -1
- package/dist/components/RTXEditor.vue.d.ts.map +1 -1
- package/dist/components/TableSchema.vue.d.ts.map +1 -1
- package/dist/components/charts/BarChart.vue.d.ts.map +1 -1
- package/dist/components/dashboard/Lineart.vue.d.ts +1 -1
- package/dist/components/dashboard/Lineart.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/CheckInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/Checkbox.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/PasswordInput.vue.d.ts.map +1 -1
- package/dist/components/formkit/AddressArray.vue.d.ts.map +1 -1
- package/dist/components/formkit/BankDetailsArray.vue.d.ts.map +1 -1
- package/dist/components/formkit/ContactArrayFormKit.vue.d.ts.map +1 -1
- package/dist/components/formkit/FileUploader.vue.d.ts.map +1 -1
- package/dist/components/formkit/MiscFields.vue.d.ts.map +1 -1
- package/dist/index.cjs +60 -49
- package/dist/index.mjs +60 -49
- package/dist/style.css +1468 -1402
- package/package.json +1 -1
- package/src/components/Btn.vue +127 -132
- package/src/components/Comments.vue +155 -169
- package/src/components/DropDown.vue +73 -77
- package/src/components/FileUploader.vue +133 -141
- package/src/components/FormKitTable.vue +191 -205
- package/src/components/LangText.vue +14 -14
- package/src/components/NavBar.vue +264 -261
- package/src/components/PersonPreview.vue +123 -148
- package/src/components/PersonPreviewFormkit.vue +124 -148
- package/src/components/RTXEditor.vue +91 -91
- package/src/components/TableSchema.vue +150 -156
- package/src/components/charts/BarChart.vue +212 -227
- package/src/components/dashboard/Lineart.vue +117 -130
- package/src/components/form/inputs/CheckInput.vue +90 -90
- package/src/components/form/inputs/Checkbox.vue +38 -41
- package/src/components/form/inputs/PasswordInput.vue +56 -63
- package/src/components/formkit/AddressArray.vue +150 -173
- package/src/components/formkit/BankDetailsArray.vue +175 -198
- package/src/components/formkit/ContactArrayFormKit.vue +124 -142
- package/src/components/formkit/FileUploader.vue +256 -260
- package/src/components/formkit/MiscFields.vue +42 -42
- package/src/components/formkit/Toggle.vue +97 -97
- package/src/styles/bagel.css +1 -0
- package/src/styles/buttons.css +5 -0
- package/src/styles/dark.css +46 -0
- package/src/styles/fonts/Ploni.css +8 -8
- package/src/styles/inputs.css +57 -13
- package/src/styles/layout.css +43 -0
- package/src/styles/text.css +83 -10
- package/src/styles/theme.css +25 -155
- package/src/styles/fonts/Ploni/ploni-black.eot +0 -0
- package/src/styles/fonts/Ploni/ploni-black.woff +0 -0
- package/src/styles/fonts/Ploni/ploni-black.woff2 +0 -0
- package/src/styles/fonts/Ploni/ploni-bold.eot +0 -0
- package/src/styles/fonts/Ploni/ploni-bold.woff +0 -0
- package/src/styles/fonts/Ploni/ploni-bold.woff2 +0 -0
- package/src/styles/fonts/Ploni/ploni-demibold.eot +0 -0
- package/src/styles/fonts/Ploni/ploni-demibold.woff +0 -0
- package/src/styles/fonts/Ploni/ploni-demibold.woff2 +0 -0
- package/src/styles/fonts/Ploni/ploni-light.eot +0 -0
- package/src/styles/fonts/Ploni/ploni-light.woff +0 -0
- package/src/styles/fonts/Ploni/ploni-light.woff2 +0 -0
- package/src/styles/fonts/Ploni/ploni-medium.eot +0 -0
- package/src/styles/fonts/Ploni/ploni-medium.woff +0 -0
- package/src/styles/fonts/Ploni/ploni-medium.woff2 +0 -0
- package/src/styles/fonts/Ploni/ploni-regular.eot +0 -0
- package/src/styles/fonts/Ploni/ploni-regular.woff +0 -0
- package/src/styles/fonts/Ploni/ploni-regular.woff2 +0 -0
- package/src/styles/fonts/Ploni/ploni-ultrabold.eot +0 -0
- package/src/styles/fonts/Ploni/ploni-ultrabold.woff +0 -0
- package/src/styles/fonts/Ploni/ploni-ultrabold.woff2 +0 -0
- package/src/styles/fonts/Ploni/ploni-ultralight.eot +0 -0
- package/src/styles/fonts/Ploni/ploni-ultralight.woff +0 -0
- package/src/styles/fonts/Ploni/ploni-ultralight.woff2 +0 -0
|
@@ -1,151 +1,151 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
<!-- :class="{ editable: editable }" -->
|
|
3
|
+
<div
|
|
4
|
+
@click="focusEditor"
|
|
5
|
+
:id="`canvas-${elementId}`"
|
|
6
|
+
@keydown.meta.enter="$emit('keydown.meta.enter')"
|
|
7
|
+
/>
|
|
8
8
|
</template>
|
|
9
9
|
|
|
10
10
|
<script setup lang="ts">
|
|
11
|
-
import { ref, onMounted, watch } from
|
|
12
|
-
import { DOMParser, DOMSerializer } from
|
|
13
|
-
import { EditorState } from
|
|
14
|
-
import { EditorView } from
|
|
15
|
-
import { keymap } from
|
|
16
|
-
import { baseKeymap } from
|
|
17
|
-
import { undo, redo, history } from
|
|
18
|
-
import { schema } from
|
|
11
|
+
import { ref, onMounted, watch } from "vue";
|
|
12
|
+
import { DOMParser, DOMSerializer } from "prosemirror-model";
|
|
13
|
+
import { EditorState } from "prosemirror-state";
|
|
14
|
+
import { EditorView } from "prosemirror-view";
|
|
15
|
+
import { keymap } from "prosemirror-keymap";
|
|
16
|
+
import { baseKeymap } from "prosemirror-commands";
|
|
17
|
+
import { undo, redo, history } from "prosemirror-history";
|
|
18
|
+
import { schema } from "prosemirror-schema-basic";
|
|
19
19
|
|
|
20
20
|
const props = withDefaults(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
defineProps<{
|
|
22
|
+
elementId?: string;
|
|
23
|
+
modelValue: string;
|
|
24
|
+
}>(),
|
|
25
|
+
{
|
|
26
|
+
elementId: Math.random().toString(36).substr(2, 9),
|
|
27
|
+
modelValue: "",
|
|
28
|
+
}
|
|
29
29
|
);
|
|
30
30
|
|
|
31
|
-
const emit = defineEmits([
|
|
31
|
+
const emit = defineEmits(["update:modelValue", "keydown.meta.enter"]);
|
|
32
32
|
|
|
33
33
|
const html = ref<string>(props.modelValue);
|
|
34
34
|
let view: EditorView;
|
|
35
35
|
|
|
36
36
|
const createEditorStateFromHTML = (htmlContent: string) => {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
37
|
+
let content = { type: "doc", content: [] };
|
|
38
|
+
try {
|
|
39
|
+
const dom = document.createElement("div");
|
|
40
|
+
dom.innerHTML = htmlContent || "";
|
|
41
|
+
content = DOMParser.fromSchema(schema)
|
|
42
|
+
.parse(dom, { preserveWhitespace: true })
|
|
43
|
+
.toJSON();
|
|
44
|
+
} catch (err) {
|
|
45
|
+
content = { type: "doc", content: [] };
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
const state = EditorState.create({
|
|
49
|
+
doc: DOMParser.fromSchema(schema).schema.nodeFromJSON(content),
|
|
50
|
+
plugins: [
|
|
51
|
+
history(),
|
|
52
|
+
keymap({ "Mod-z": undo, "Mod-y": redo }),
|
|
53
|
+
keymap(baseKeymap),
|
|
54
|
+
],
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
return state;
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
function handleChange(newState: any) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
61
|
+
const dom = document.createElement("div");
|
|
62
|
+
const node = DOMSerializer.fromSchema(schema).serializeFragment(newState);
|
|
63
|
+
dom.appendChild(node);
|
|
64
|
+
html.value = dom?.innerHTML || "";
|
|
65
|
+
emit("update:modelValue", html.value);
|
|
66
66
|
}
|
|
67
67
|
|
|
68
68
|
const createEditorView = (state: EditorState) => {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
69
|
+
const editorDiv = document.getElementById(`canvas-${props.elementId}`);
|
|
70
|
+
view = new EditorView(editorDiv, {
|
|
71
|
+
state,
|
|
72
|
+
// editable: () => props.editable,
|
|
73
|
+
dispatchTransaction(transaction) {
|
|
74
|
+
const newState = view.state.apply(transaction);
|
|
75
|
+
handleChange(newState.doc);
|
|
76
|
+
view.updateState(newState);
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
view.setProps({
|
|
80
|
+
// editable: () => props.editable,
|
|
81
|
+
});
|
|
82
82
|
};
|
|
83
83
|
|
|
84
84
|
function loadContent() {
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
const state = createEditorStateFromHTML(props.modelValue);
|
|
86
|
+
createEditorView(state);
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
watch(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
90
|
+
() => props.modelValue,
|
|
91
|
+
(val: string) => {
|
|
92
|
+
if (val === html.value) return;
|
|
93
|
+
const el = document.getElementById(`canvas-${props.elementId}`);
|
|
94
|
+
if (el) el.innerHTML = "";
|
|
95
|
+
loadContent();
|
|
96
|
+
}
|
|
97
97
|
);
|
|
98
98
|
|
|
99
99
|
onMounted(loadContent);
|
|
100
100
|
|
|
101
101
|
function focusEditor() {
|
|
102
|
-
|
|
102
|
+
view.focus();
|
|
103
103
|
}
|
|
104
104
|
</script>
|
|
105
105
|
|
|
106
106
|
<style>
|
|
107
107
|
.new-comment .ProseMirror {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
108
|
+
width: 100%;
|
|
109
|
+
height: 100%;
|
|
110
|
+
border-radius: 3px;
|
|
111
|
+
padding: 0.55rem;
|
|
112
|
+
min-height: 40px;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
.new-comment .ProseMirror p {
|
|
116
|
-
|
|
116
|
+
margin: 0;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
.comment-input .ProseMirror {
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
background-color: var(--input-bg);
|
|
121
|
+
margin-inline-start: 0;
|
|
122
122
|
}
|
|
123
123
|
|
|
124
124
|
.new-comment .editable {
|
|
125
|
-
|
|
125
|
+
background-color: var(--input-bg);
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
.ProseMirror-focused {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
129
|
+
outline: none;
|
|
130
|
+
border: none;
|
|
131
|
+
box-shadow: inset 0 0 10px #00000012;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
.ProseMirror,
|
|
135
135
|
.editor-wrapper {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
136
|
+
height: 100%;
|
|
137
|
+
border-radius: 3px;
|
|
138
|
+
padding: 0.55rem;
|
|
139
|
+
border-radius: var(--btn-border-radius);
|
|
140
|
+
margin-inline-start: 1rem;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
143
|
.ProseMirror p,
|
|
144
144
|
.editor-wrapper p {
|
|
145
|
-
|
|
145
|
+
margin: 0;
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
.editable .ProseMirror {
|
|
149
|
-
|
|
149
|
+
background-color: var(--bgl-bg);
|
|
150
150
|
}
|
|
151
151
|
</style>
|
|
@@ -1,246 +1,240 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
<!-- </Transition> -->
|
|
62
|
-
</div>
|
|
2
|
+
<div class="table-list-wrap h-100">
|
|
3
|
+
<table class="infinite-wrapper">
|
|
4
|
+
<thead class="row first-row">
|
|
5
|
+
<th
|
|
6
|
+
class="col"
|
|
7
|
+
v-for="field in columns"
|
|
8
|
+
:key="field.id"
|
|
9
|
+
@click="sort(field.id)"
|
|
10
|
+
>
|
|
11
|
+
<div class="flex">
|
|
12
|
+
{{ field?.label || field?.id }}
|
|
13
|
+
<div
|
|
14
|
+
class="list-arrows"
|
|
15
|
+
:class="{ sorted: sortField === field.id }"
|
|
16
|
+
>
|
|
17
|
+
<MaterialIcon
|
|
18
|
+
:class="{ desc: sortDirection === 'DESC' }"
|
|
19
|
+
icon="keyboard_arrow_up"
|
|
20
|
+
/>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</th>
|
|
24
|
+
</thead>
|
|
25
|
+
<tbody ref="infinite" class="rows infinite" :class="{ loading }">
|
|
26
|
+
<tr
|
|
27
|
+
@click="selectElement(row)"
|
|
28
|
+
class="row row-item position-relative"
|
|
29
|
+
v-for="row in data"
|
|
30
|
+
:key="row.id"
|
|
31
|
+
>
|
|
32
|
+
<td
|
|
33
|
+
class="col"
|
|
34
|
+
v-for="field in columns"
|
|
35
|
+
:key="`${field.id}-${row.id}`"
|
|
36
|
+
>
|
|
37
|
+
<slot
|
|
38
|
+
v-if="slots[field.id]"
|
|
39
|
+
:name="field.id"
|
|
40
|
+
:row="row"
|
|
41
|
+
:field="field"
|
|
42
|
+
/>
|
|
43
|
+
<div v-else>
|
|
44
|
+
<component
|
|
45
|
+
:is="field.$el || field.$cmp || 'div'"
|
|
46
|
+
v-if="field['v-if'] ? field['v-if'](row[field.id], row) : true"
|
|
47
|
+
v-bind="bindAttrs(field.attrs, row[field.id], row)"
|
|
48
|
+
:src="field.$el === 'img' ? row[field.id]?.url : ''"
|
|
49
|
+
>
|
|
50
|
+
{{
|
|
51
|
+
field?.transform?.(row[field.id], row) || row[field.id] || ""
|
|
52
|
+
}}
|
|
53
|
+
</component>
|
|
54
|
+
</div>
|
|
55
|
+
</td>
|
|
56
|
+
</tr>
|
|
57
|
+
</tbody>
|
|
58
|
+
</table>
|
|
59
|
+
<!-- </Transition> -->
|
|
60
|
+
</div>
|
|
63
61
|
</template>
|
|
64
62
|
|
|
65
63
|
<script setup lang="ts">
|
|
66
|
-
import { useSlots } from
|
|
67
|
-
import { MaterialIcon } from
|
|
64
|
+
import { useSlots } from "vue";
|
|
65
|
+
import { MaterialIcon } from "@bagelink/vue";
|
|
68
66
|
|
|
69
67
|
const slots = useSlots();
|
|
70
68
|
const loading = $ref(true);
|
|
71
69
|
|
|
72
70
|
const props = defineProps<{
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
data: any[];
|
|
72
|
+
schema?: () => any[];
|
|
75
73
|
}>();
|
|
76
74
|
|
|
77
|
-
const emit = defineEmits([
|
|
75
|
+
const emit = defineEmits(["select"]);
|
|
78
76
|
|
|
79
77
|
const selectElement = (data: Record<string, any>) => {
|
|
80
|
-
|
|
78
|
+
emit("select", data);
|
|
81
79
|
};
|
|
82
80
|
|
|
83
81
|
const bindAttrs = (attrs: Record<string, any>, field: any, row: any) => {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
],
|
|
91
|
-
);
|
|
92
|
-
const resolvedAttrs = Object.fromEntries(arr);
|
|
93
|
-
return resolvedAttrs;
|
|
82
|
+
const arr = Object.entries(attrs || {}).map(([key, value]) => [
|
|
83
|
+
key,
|
|
84
|
+
typeof value === "function" ? value(field, row) : value,
|
|
85
|
+
]);
|
|
86
|
+
const resolvedAttrs = Object.fromEntries(arr);
|
|
87
|
+
return resolvedAttrs;
|
|
94
88
|
};
|
|
95
89
|
|
|
96
90
|
// const sortList = () => {};
|
|
97
|
-
let sortDirection = $ref(
|
|
98
|
-
let sortField = $ref(
|
|
91
|
+
let sortDirection = $ref("");
|
|
92
|
+
let sortField = $ref("");
|
|
99
93
|
|
|
100
94
|
const sort = (fieldname: string) => {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
95
|
+
if (sortField === fieldname) {
|
|
96
|
+
if (sortDirection === "ASC") sortDirection = "DESC";
|
|
97
|
+
else sortField = "";
|
|
98
|
+
} else {
|
|
99
|
+
sortField = fieldname;
|
|
100
|
+
sortDirection = "ASC";
|
|
101
|
+
}
|
|
108
102
|
};
|
|
109
103
|
|
|
110
104
|
const columns = $computed(
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
105
|
+
() =>
|
|
106
|
+
props.schema?.() ||
|
|
107
|
+
Object.keys(props.data[0]).map((k: string) => ({
|
|
108
|
+
id: k,
|
|
109
|
+
inputType: "PlainText",
|
|
110
|
+
}))
|
|
117
111
|
);
|
|
118
112
|
</script>
|
|
119
113
|
|
|
120
114
|
<style scoped>
|
|
121
115
|
.list-arrows {
|
|
122
|
-
|
|
116
|
+
opacity: 0;
|
|
123
117
|
}
|
|
124
118
|
|
|
125
119
|
.list-arrows .icon-font {
|
|
126
|
-
|
|
120
|
+
transition: all ease-in-out 0.2s;
|
|
127
121
|
}
|
|
128
122
|
|
|
129
123
|
.list-arrows.sorted {
|
|
130
|
-
|
|
124
|
+
opacity: 1;
|
|
131
125
|
}
|
|
132
126
|
|
|
133
127
|
.col img {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
128
|
+
height: 35px;
|
|
129
|
+
margin-top: -14px;
|
|
130
|
+
margin-bottom: -14px;
|
|
131
|
+
border-radius: 5px;
|
|
138
132
|
}
|
|
139
133
|
|
|
140
134
|
.list-arrows.sorted .desc {
|
|
141
|
-
|
|
135
|
+
transform: rotate(180deg);
|
|
142
136
|
}
|
|
143
137
|
|
|
144
138
|
table {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
139
|
+
border-collapse: separate;
|
|
140
|
+
border-spacing: 0 15px;
|
|
141
|
+
border-collapse: collapse;
|
|
148
142
|
}
|
|
149
143
|
|
|
150
144
|
th {
|
|
151
|
-
|
|
145
|
+
font-weight: 400;
|
|
152
146
|
}
|
|
153
147
|
|
|
154
148
|
.row {
|
|
155
|
-
|
|
156
|
-
|
|
149
|
+
border-bottom: 1px solid var(--border-color);
|
|
150
|
+
cursor: pointer;
|
|
157
151
|
}
|
|
158
152
|
|
|
159
153
|
.row.first-row {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
154
|
+
font-size: 0.8rem;
|
|
155
|
+
color: var(--bgl-black-tint);
|
|
156
|
+
position: sticky;
|
|
157
|
+
top: 0;
|
|
158
|
+
z-index: 2;
|
|
159
|
+
background: var(--bgl-white);
|
|
160
|
+
height: 50px;
|
|
161
|
+
vertical-align: bottom;
|
|
168
162
|
}
|
|
169
163
|
|
|
170
164
|
.row.first-row::after {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
165
|
+
content: "";
|
|
166
|
+
border-bottom: 1px solid var(--border-color);
|
|
167
|
+
position: absolute;
|
|
168
|
+
left: 0;
|
|
169
|
+
right: 0;
|
|
170
|
+
bottom: -1px;
|
|
177
171
|
}
|
|
178
172
|
|
|
179
173
|
.first-row .col {
|
|
180
|
-
|
|
181
|
-
|
|
174
|
+
cursor: pointer;
|
|
175
|
+
background: var(--bgl-white);
|
|
182
176
|
}
|
|
183
177
|
|
|
184
178
|
.col {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
179
|
+
white-space: nowrap;
|
|
180
|
+
padding: 14px;
|
|
181
|
+
transition: var(--bgl-transition);
|
|
182
|
+
line-height: 1;
|
|
183
|
+
padding-left: 1rem;
|
|
184
|
+
padding-right: 1rem;
|
|
185
|
+
align-items: center;
|
|
192
186
|
}
|
|
193
187
|
|
|
194
|
-
.col>div {
|
|
195
|
-
|
|
196
|
-
|
|
188
|
+
.col > div {
|
|
189
|
+
display: flex;
|
|
190
|
+
gap: 0.5rem;
|
|
197
191
|
}
|
|
198
192
|
|
|
199
193
|
.max-col-width {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
194
|
+
max-width: 30vw;
|
|
195
|
+
overflow: hidden;
|
|
196
|
+
text-overflow: ellipsis;
|
|
203
197
|
}
|
|
204
198
|
|
|
205
199
|
.col.check .icon-font {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
200
|
+
border-radius: 100%;
|
|
201
|
+
background: var(--bgl-blue-20);
|
|
202
|
+
color: var(--bgl-primary);
|
|
203
|
+
width: 20px;
|
|
204
|
+
height: 20px;
|
|
205
|
+
display: flex;
|
|
206
|
+
align-items: center;
|
|
207
|
+
justify-content: center;
|
|
208
|
+
margin-top: -2px;
|
|
215
209
|
}
|
|
216
210
|
|
|
217
211
|
.rows {
|
|
218
|
-
|
|
212
|
+
font-size: 0.8125em;
|
|
219
213
|
}
|
|
220
214
|
|
|
221
215
|
.table-list {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
216
|
+
height: 100%;
|
|
217
|
+
position: relative;
|
|
218
|
+
padding-left: 0 !important;
|
|
219
|
+
padding-right: 0 !important;
|
|
220
|
+
overflow: auto;
|
|
227
221
|
}
|
|
228
222
|
|
|
229
223
|
.BagelTable .table-list {
|
|
230
|
-
|
|
224
|
+
overflow: unset;
|
|
231
225
|
}
|
|
232
226
|
|
|
233
227
|
.row-item {
|
|
234
|
-
|
|
235
|
-
|
|
228
|
+
height: 50px;
|
|
229
|
+
transition: all 200ms ease;
|
|
236
230
|
}
|
|
237
231
|
|
|
238
232
|
.row-item:hover {
|
|
239
|
-
|
|
233
|
+
background: var(--bgl-gray-light);
|
|
240
234
|
}
|
|
241
235
|
|
|
242
236
|
.infinite-wrapper {
|
|
243
|
-
|
|
244
|
-
|
|
237
|
+
overflow-y: auto;
|
|
238
|
+
width: 100%;
|
|
245
239
|
}
|
|
246
240
|
</style>
|