@bagelink/vue 1.15.102 → 1.15.104
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/form/inputs/ColorInput.vue.d.ts.map +1 -1
- package/dist/dialog/Dialog.vue.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +9 -7
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/components/form/inputs/ColorInput.vue +13 -8
- package/src/dialog/Dialog.vue +11 -2
- package/src/styles/dark.css +5 -31
package/package.json
CHANGED
|
@@ -51,12 +51,12 @@ watch(
|
|
|
51
51
|
}"
|
|
52
52
|
>
|
|
53
53
|
<input
|
|
54
|
-
:id="id" v-model="inputVal"
|
|
54
|
+
:id="id" v-model="inputVal" type="color" :placeholder="resolveI18n(placeholder) || resolveI18n(label)"
|
|
55
55
|
:class="{ 'no-edit': !editMode, 'opacity-1': !inputVal }" :required="required"
|
|
56
56
|
v-bind="nativeInputAttrs"
|
|
57
57
|
>
|
|
58
58
|
<input
|
|
59
|
-
v-if="!small" v-model="inputVal" class="flex-grow-1
|
|
59
|
+
v-if="!small" v-model="inputVal" class="flex-grow-1 colorInputPick" type="text"
|
|
60
60
|
:placeholder="$t('color.placeholder')"
|
|
61
61
|
>
|
|
62
62
|
<Btn
|
|
@@ -78,6 +78,17 @@ min-width: 50px !important;
|
|
|
78
78
|
outline: none !important;
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
+
/* Frame/outline belongs to the wrap only — suppress the global variant rules
|
|
82
|
+
(e.g. `.bagel-input.bgl-outline input`) that would border the inner field. */
|
|
83
|
+
.bagel-input .colorInputPick,
|
|
84
|
+
.bagel-input.frame .colorInputPick,
|
|
85
|
+
.bagel-input.bgl-outline .colorInputPick,
|
|
86
|
+
.bagel-input.underlined .colorInputPick {
|
|
87
|
+
border: none !important;
|
|
88
|
+
outline: none !important;
|
|
89
|
+
box-shadow: none !important;
|
|
90
|
+
}
|
|
91
|
+
|
|
81
92
|
.colorInputPick:focus,
|
|
82
93
|
.colorInputPick:focus-visible {
|
|
83
94
|
outline: none !important;
|
|
@@ -88,7 +99,6 @@ box-shadow: none !important;
|
|
|
88
99
|
box-shadow: inset 0 0 10px #00000021;
|
|
89
100
|
}
|
|
90
101
|
|
|
91
|
-
/* ── frame: transparent bg, outline that highlights on focus ── */
|
|
92
102
|
.bagel-input.frame .colorInputPickWrap {
|
|
93
103
|
background: transparent !important;
|
|
94
104
|
outline: 1.5px solid var(--bgl-border-color);
|
|
@@ -100,20 +110,16 @@ outline-color: var(--bgl-input-label-active-color, var(--bgl-primary));
|
|
|
100
110
|
box-shadow: 0 0 0 3px color-mix(in srgb, var(--bgl-input-label-active-color, var(--bgl-primary)) 12%, transparent);
|
|
101
111
|
}
|
|
102
112
|
|
|
103
|
-
/* ── bgl-outline: border only ── */
|
|
104
113
|
.bagel-input.bgl-outline .colorInputPickWrap {
|
|
105
114
|
outline: 1.5px solid var(--bgl-border-color);
|
|
106
115
|
outline-offset: -1px;
|
|
107
116
|
}
|
|
108
117
|
|
|
109
|
-
/* ── underlined: suppress global border-bottom on inner inputs ── */
|
|
110
118
|
.bagel-input.underlined .colorInputPickWrap input {
|
|
111
|
-
border-bottom: none !important;
|
|
112
119
|
border-radius: 0 !important;
|
|
113
120
|
padding-inline: 0.25rem !important;
|
|
114
121
|
}
|
|
115
122
|
|
|
116
|
-
/* ── underlined: bottom border only on the wrap itself ── */
|
|
117
123
|
.bagel-input.underlined .colorInputPickWrap {
|
|
118
124
|
background: transparent !important;
|
|
119
125
|
border-radius: 0 !important;
|
|
@@ -123,7 +129,6 @@ transition: border-color 0.25s ease;
|
|
|
123
129
|
position: relative;
|
|
124
130
|
}
|
|
125
131
|
|
|
126
|
-
/* animated fill line — matches the global underlined ::after pattern */
|
|
127
132
|
.bagel-input.underlined .colorInputPickWrap::after {
|
|
128
133
|
content: '';
|
|
129
134
|
position: absolute;
|
package/src/dialog/Dialog.vue
CHANGED
|
@@ -117,10 +117,10 @@ defineExpose({ close })
|
|
|
117
117
|
<template>
|
|
118
118
|
<dialog
|
|
119
119
|
ref="dialogRef" :class="[positionClass, { 'is-closing': isClosing }]"
|
|
120
|
-
:style="{ '--dialog-width': widthStyle }" class="border-none shadow-30 p-0 testMe1" @click="onBackdropClick"
|
|
120
|
+
:style="{ '--dialog-width': widthStyle }" class="border-none shadow-30 p-0 testMe1 dialog-no-focus-outline" @click="onBackdropClick"
|
|
121
121
|
@cancel="onCancel" @animationend="onAnimationEnd"
|
|
122
122
|
>
|
|
123
|
-
<div class="grid grid-dialog max-height-100-2" @click.stop>
|
|
123
|
+
<div class="grid grid-dialog max-height-100-2" tabindex="-1" autofocus @click.stop>
|
|
124
124
|
<!-- Bottom-sheet grip handle -->
|
|
125
125
|
<div v-if="showGrip" class="dialog-grip" aria-hidden="true" />
|
|
126
126
|
<!-- Header -->
|
|
@@ -199,6 +199,15 @@ max-height: calc(100vh - 2rem);
|
|
|
199
199
|
margin-top: 0.125rem;
|
|
200
200
|
}
|
|
201
201
|
|
|
202
|
+
/* The dialog body gets the initial focus (via autofocus, so the close button
|
|
203
|
+
isn't auto-focused). It shouldn't show a focus ring itself. */
|
|
204
|
+
.dialog-no-focus-outline:focus,
|
|
205
|
+
.dialog-no-focus-outline:focus-visible,
|
|
206
|
+
.dialog-no-focus-outline .grid-dialog:focus,
|
|
207
|
+
.dialog-no-focus-outline .grid-dialog:focus-visible {
|
|
208
|
+
outline: none;
|
|
209
|
+
}
|
|
210
|
+
|
|
202
211
|
.overlay-btn {
|
|
203
212
|
opacity: 0;
|
|
204
213
|
animation: fade-in 0.3s ease-out 0.1s forwards;
|
package/src/styles/dark.css
CHANGED
|
@@ -1,35 +1,9 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Activated by useTheme() which toggles the `.bgl-dark-mode` class on <html>.
|
|
5
|
-
*
|
|
6
|
-
* ARCHITECTURE (semantic, NOT inversion):
|
|
7
|
-
* - We do NOT swap --bgl-black / --bgl-white. They keep their real meaning
|
|
8
|
-
* (black = dark, white = light) so colored buttons (.pair-*) that use
|
|
9
|
-
* `color: var(--bgl-white)` stay correct (light text on a colored fill).
|
|
10
|
-
* - Instead we override only the SEMANTIC tokens (surfaces, text, borders)
|
|
11
|
-
* with explicit dark values. Components that consume these tokens
|
|
12
|
-
* (--bgl-bg, --bgl-box-bg, --bgl-text-color, …) become dark automatically.
|
|
13
|
-
*
|
|
14
|
-
* Single source of truth: the dark palette below (--bgl-dm-* raw values), which
|
|
15
|
-
* the semantic tokens reference. If you ever need explicit opt-in dark classes
|
|
16
|
-
* for components that use physical colors, build them on these same tokens.
|
|
17
|
-
* ============================================================================ */
|
|
18
|
-
/* .bgl-dark-mode {
|
|
19
|
-
filter: invert(1);
|
|
20
|
-
}
|
|
1
|
+
/* Dark Mode Theme — .bgl-dark-mode (toggled on <html> by useTheme()).
|
|
2
|
+
Semantic, not inversion: override only the semantic tokens (surfaces, text,
|
|
3
|
+
borders) with dark values; --bgl-black/--bgl-white keep their real meaning. */
|
|
21
4
|
|
|
22
|
-
.bgl-dark-mode
|
|
23
|
-
|
|
24
|
-
.bgl-dark-mode svg,
|
|
25
|
-
.bgl-dark-mode iframe {
|
|
26
|
-
filter: invert(1);
|
|
27
|
-
} */
|
|
28
|
-
|
|
29
|
-
/* `:root.bgl-dark-mode` (the class lives on <html>) raises specificity to
|
|
30
|
-
(0,2,0) so these tokens win over any project that redefines colors in its
|
|
31
|
-
own `:root {}` (e.g. udi sets --bgl-blue: #7ad3f7). The bare .bgl-dark-mode
|
|
32
|
-
is kept as a fallback in case the class is applied to a non-root element. */
|
|
5
|
+
/* `:root.bgl-dark-mode` raises specificity to (0,2,0) so these tokens win over a
|
|
6
|
+
project's own `:root {}`; bare `.bgl-dark-mode` is a non-root fallback. */
|
|
33
7
|
:root.bgl-dark-mode,
|
|
34
8
|
.bgl-dark-mode {
|
|
35
9
|
/* ---- Dark palette (raw values) ---------------------------------------- */
|