@7365admin1/layer-common 3.2.2-staging.131 → 3.2.2-staging.132
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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<v-btn v-if="!prop.iconOnly" text="Close" class="
|
|
3
|
-
<v-btn v-else icon="mdi-close" size="small" class="
|
|
2
|
+
<v-btn v-if="!prop.iconOnly" text="Close" variant="flat" class="screen-btn-ghost" :height="prop.height" @click="emit('click')" />
|
|
3
|
+
<v-btn v-else icon="mdi-close" variant="flat" size="small" class="screen-modal__close" :height="prop.height" @click="emit('click')" />
|
|
4
4
|
</template>
|
|
5
5
|
|
|
6
6
|
<script setup lang="ts">
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<v-card flat
|
|
2
|
+
<v-card flat class="w-100 member-summary">
|
|
3
3
|
<v-card-text>
|
|
4
4
|
<v-row no-gutters>
|
|
5
5
|
<v-col cols="10" no-gutters>
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
</v-row>
|
|
14
14
|
</v-col>
|
|
15
15
|
<v-col cols="2" class="d-flex align-center justify-center">
|
|
16
|
-
<v-btn icon="mdi-trash-outline"
|
|
16
|
+
<v-btn class="member-summary__remove" icon="mdi-trash-outline" variant="text" size="small" @click="emit('remove')" />
|
|
17
17
|
</v-col>
|
|
18
18
|
</v-row>
|
|
19
19
|
</v-card-text>
|
|
@@ -45,4 +45,29 @@ const displayFields: Record<keyof TMemberInfo, string> = {
|
|
|
45
45
|
|
|
46
46
|
</script>
|
|
47
47
|
|
|
48
|
-
<style scoped
|
|
48
|
+
<style scoped>
|
|
49
|
+
/*
|
|
50
|
+
* Was `border="sm grey-lighten-2" color="grey-lighten-3"` - two LITERAL light
|
|
51
|
+
* greys, i.e. a pale slab with a pale frame drawn straight across the dark
|
|
52
|
+
* theme. The design draws an added-member row as an inset on the card it sits
|
|
53
|
+
* in, so it takes `--hover` (the neutral wash the chips and avatars use) on
|
|
54
|
+
* `--border`, at the inner radius.
|
|
55
|
+
*
|
|
56
|
+
* The remove action was `color="red"` - not a token, and a solid red circle the
|
|
57
|
+
* design never draws. It is the `--err` glyph the rest of the layer uses.
|
|
58
|
+
*/
|
|
59
|
+
.member-summary {
|
|
60
|
+
background: var(--hover);
|
|
61
|
+
border: 1px solid var(--border);
|
|
62
|
+
border-radius: var(--r-inner);
|
|
63
|
+
color: var(--text);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.member-summary :deep(.v-card-text) {
|
|
67
|
+
font-size: var(--fs-cell);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.member-summary__remove {
|
|
71
|
+
color: var(--err);
|
|
72
|
+
}
|
|
73
|
+
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<v-card flat
|
|
2
|
+
<v-card flat class="screen-card toggle-card">
|
|
3
3
|
<v-card-text class="d-flex justify-space-between align-center py-0">
|
|
4
|
-
<p>{{ label }}</p>
|
|
4
|
+
<p class="toggle-card__label">{{ label }}</p>
|
|
5
5
|
<v-switch v-model="toggle" :color="toggleColor" hide-details />
|
|
6
6
|
</v-card-text>
|
|
7
7
|
</v-card>
|
|
@@ -22,4 +22,16 @@ defineProps({
|
|
|
22
22
|
const toggle = defineModel({default: false})
|
|
23
23
|
</script>
|
|
24
24
|
|
|
25
|
-
<style scoped
|
|
25
|
+
<style scoped>
|
|
26
|
+
/*
|
|
27
|
+
* Was `border="md black"` - a 2px LITERAL black frame, which is a black box
|
|
28
|
+
* drawn across the dark theme. The design draws a settings row as the ordinary
|
|
29
|
+
* 1px card, so this is `.screen-card` plus the design's cell type on the label
|
|
30
|
+
* (Vuetify's `<p>` inherits the body size, not the design's).
|
|
31
|
+
*/
|
|
32
|
+
.toggle-card__label {
|
|
33
|
+
font-size: var(--fs-cell);
|
|
34
|
+
color: var(--text);
|
|
35
|
+
margin: 0;
|
|
36
|
+
}
|
|
37
|
+
</style>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"
|
|
11
11
|
:disabled="readOnly"
|
|
12
12
|
size="small"
|
|
13
|
-
class="me-2"
|
|
13
|
+
class="me-2 checklist-action"
|
|
14
14
|
icon
|
|
15
15
|
@click.stop="handleReject"
|
|
16
16
|
>
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"
|
|
28
28
|
:disabled="readOnly"
|
|
29
29
|
size="small"
|
|
30
|
+
class="checklist-action"
|
|
30
31
|
icon
|
|
31
32
|
@click.stop="handleApprove"
|
|
32
33
|
>
|
|
@@ -52,3 +53,26 @@ function handleApprove() {
|
|
|
52
53
|
emit("approve", props.item);
|
|
53
54
|
}
|
|
54
55
|
</script>
|
|
56
|
+
|
|
57
|
+
<style scoped>
|
|
58
|
+
/*
|
|
59
|
+
* The reject/approve pair is the design's bordered icon square (`.screen-icon-btn`
|
|
60
|
+
* geometry) rather than Vuetify's pill: 36px, `--r-inner`, `--border`.
|
|
61
|
+
*
|
|
62
|
+
* `color="error"` / `color="success"` are LEFT ALONE - unlike `--success`/`--error`,
|
|
63
|
+
* which are not CSS tokens, Vuetify's `success`/`error` theme names are mapped in
|
|
64
|
+
* `utils/theme.ts` to the design's `ok`/`err`, so the chosen state already paints
|
|
65
|
+
* the right tone. Only the un-chosen (outlined) state was factory Vuetify.
|
|
66
|
+
*/
|
|
67
|
+
.checklist-action.v-btn {
|
|
68
|
+
width: var(--icon-btn);
|
|
69
|
+
height: var(--icon-btn);
|
|
70
|
+
min-width: var(--icon-btn);
|
|
71
|
+
border-radius: var(--r-inner);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.checklist-action.v-btn--variant-outlined {
|
|
75
|
+
border: 1px solid var(--border);
|
|
76
|
+
color: var(--text2);
|
|
77
|
+
}
|
|
78
|
+
</style>
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="arrow-navigation">
|
|
3
|
-
<v-btn icon="mdi-chevron-left" variant="text" density="comfortable" :disabled="page <= 1" @click="decrement" />
|
|
3
|
+
<v-btn class="pager-arrow" icon="mdi-chevron-left" variant="text" density="comfortable" :disabled="page <= 1" @click="decrement" />
|
|
4
4
|
<v-btn
|
|
5
|
-
icon="mdi-chevron-right" variant="text" density="comfortable" :disabled="page >= props.length"
|
|
5
|
+
class="pager-arrow" icon="mdi-chevron-right" variant="text" density="comfortable" :disabled="page >= props.length"
|
|
6
6
|
@click="increment" />
|
|
7
7
|
</div>
|
|
8
8
|
</template>
|
|
@@ -28,4 +28,28 @@ const props = defineProps({
|
|
|
28
28
|
default: 0
|
|
29
29
|
}
|
|
30
30
|
});
|
|
31
|
-
</script>
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<style scoped>
|
|
34
|
+
/*
|
|
35
|
+
* The pager sits in EVERY converted table's toolbar (TableMain's `right`
|
|
36
|
+
* slot), so it was the last piece of factory Vuetify on an otherwise
|
|
37
|
+
* on-design card: Vuetify's own `on-surface` ink and its comfortable-density
|
|
38
|
+
* box. The design draws a toolbar arrow borderless - so this is ink, size and
|
|
39
|
+
* hover only, no border and no fill invented.
|
|
40
|
+
*/
|
|
41
|
+
.arrow-navigation :deep(.pager-arrow) {
|
|
42
|
+
width: var(--icon-btn);
|
|
43
|
+
height: var(--icon-btn);
|
|
44
|
+
border-radius: var(--r-inner);
|
|
45
|
+
color: var(--text2);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.arrow-navigation :deep(.pager-arrow:hover) {
|
|
49
|
+
background: var(--hover);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.arrow-navigation :deep(.pager-arrow.v-btn--disabled) {
|
|
53
|
+
color: var(--muted);
|
|
54
|
+
}
|
|
55
|
+
</style>
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@7365admin1/layer-common",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "3.2.2-staging.
|
|
5
|
+
"version": "3.2.2-staging.132",
|
|
6
6
|
"author": "7365admin1",
|
|
7
7
|
"main": "./nuxt.config.ts",
|
|
8
8
|
"//files": "What a consumer extending this layer actually loads. Without this npm ships the whole working tree - the changesets, the CI workflows, the render harness in tools/ and any scratch directory that happened to exist at publish time. Nuxt resolves a layer by directory, so every runtime directory below has to stay listed; adding a new top-level runtime directory means adding it here too.",
|