@bagelink/vue 1.9.96 → 1.9.102
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/AddressSearch.vue.d.ts.map +1 -1
- package/dist/components/Swiper.vue.d.ts +9 -3
- package/dist/components/Swiper.vue.d.ts.map +1 -1
- package/dist/components/calendar/CalendarPopover.vue.d.ts.map +1 -1
- package/dist/components/form/FieldArray.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/Upload/upload.d.ts +1 -1
- package/dist/components/layout/AppSidebar.vue.d.ts.map +1 -1
- package/dist/dialog/Dialog.vue.d.ts.map +1 -1
- package/dist/index.cjs +187 -160
- package/dist/index.mjs +38823 -44443
- package/dist/style.css +1 -2
- package/package.json +1 -1
- package/src/components/layout/AppSidebar.vue +7 -20
- package/src/dialog/Dialog.vue +68 -20
- package/src/plugins/bagel.ts +1 -1
- package/src/styles/toast-overrides.css +5 -9
- package/vite.config.ts +1 -0
package/package.json
CHANGED
|
@@ -176,19 +176,13 @@ const sidebarStyles = computed(() => {
|
|
|
176
176
|
<!-- Navigation Links -->
|
|
177
177
|
<nav class="sidebar-nav flex column flex-stretch gap-025 align-items-start scrollbar-gutter-stable">
|
|
178
178
|
<Btn
|
|
179
|
-
v-for="link in props.navLinks"
|
|
180
|
-
:
|
|
181
|
-
|
|
182
|
-
fullWidth
|
|
183
|
-
alignTxt="start"
|
|
184
|
-
class="flex-shrink-0 px-1"
|
|
185
|
-
:class="{ 'nav-btn-active': isActiveRoute(link) }"
|
|
179
|
+
v-for="link in props.navLinks" :key="link.to"
|
|
180
|
+
:title="!menuState.isOpen.value && !menuState.isMobile.value ? link.label : ''" fullWidth
|
|
181
|
+
alignTxt="start" class="flex-shrink-0 px-1" :class="{ 'nav-btn-active': isActiveRoute(link) }"
|
|
186
182
|
:style="{
|
|
187
183
|
backgroundColor: isActiveRoute(link) ? props.activeColor : props.bgColor,
|
|
188
184
|
color: isActiveRoute(link) ? 'white' : props.textColor,
|
|
189
|
-
}"
|
|
190
|
-
:to="link.to || '/'"
|
|
191
|
-
@click="link.action"
|
|
185
|
+
}" :to="link.to || '/'" @click="link.action"
|
|
192
186
|
>
|
|
193
187
|
<Icon :name="link.icon" size="1.2" />
|
|
194
188
|
<span class="nav-text">
|
|
@@ -200,16 +194,9 @@ const sidebarStyles = computed(() => {
|
|
|
200
194
|
<div class="sidebar-footer flex column flex-stretch gap-025 align-items-start mt-auto">
|
|
201
195
|
<!-- Footer Links -->
|
|
202
196
|
<Btn
|
|
203
|
-
v-for="link in props.footerLinks"
|
|
204
|
-
:
|
|
205
|
-
:
|
|
206
|
-
alignTxt="start"
|
|
207
|
-
fullWidth
|
|
208
|
-
flat
|
|
209
|
-
:icon="link.icon"
|
|
210
|
-
class="flex-shrink-0 px-1"
|
|
211
|
-
:to="link.to"
|
|
212
|
-
@click="link.action"
|
|
197
|
+
v-for="link in props.footerLinks" :key="link.to || link.label"
|
|
198
|
+
:title="!menuState.isOpen.value && !menuState.isMobile.value ? link.label : ''" alignTxt="start"
|
|
199
|
+
fullWidth flat :icon="link.icon" class="flex-shrink-0 px-1" :to="link.to" @click="link.action"
|
|
213
200
|
>
|
|
214
201
|
<span class="nav-text">
|
|
215
202
|
{{ link.label }}
|
package/src/dialog/Dialog.vue
CHANGED
|
@@ -105,9 +105,8 @@ defineExpose({ close })
|
|
|
105
105
|
<template>
|
|
106
106
|
<dialog
|
|
107
107
|
ref="dialogRef" :class="[positionClass, { 'is-closing': isClosing }]"
|
|
108
|
-
:style="{ '--dialog-width': widthStyle }" class="border-none overflow-hidden shadow-30 p-0 testMe1"
|
|
109
|
-
@cancel="onCancel"
|
|
110
|
-
@animationend="onAnimationEnd"
|
|
108
|
+
:style="{ '--dialog-width': widthStyle }" class="border-none overflow-hidden shadow-30 p-0 testMe1"
|
|
109
|
+
@click="onBackdropClick" @cancel="onCancel" @animationend="onAnimationEnd"
|
|
111
110
|
>
|
|
112
111
|
<div class="grid grid-dialog h-100p max-height-100-2" @click.stop>
|
|
113
112
|
<!-- Header -->
|
|
@@ -115,28 +114,43 @@ defineExpose({ close })
|
|
|
115
114
|
v-if="title || dismissable" class="flex space-between flex-shrink-0 align-items-start gap-05"
|
|
116
115
|
:class="{ 'border-bottom': !flat, 'border-none': !title, 'm_ps-1': title, 'p-05 m_p-05': !title, 'ps-1-5 pe-1 py-1 ': !thin && title, 'ps-1 pe-05 py-05': thin && title }"
|
|
117
116
|
>
|
|
118
|
-
<Btn
|
|
119
|
-
|
|
120
|
-
|
|
117
|
+
<Btn
|
|
118
|
+
v-if="dismissable && closePlacement === 'header-start'" flat icon="close" aria-label="Close"
|
|
119
|
+
class="dialog-close" thin @click="close"
|
|
120
|
+
/>
|
|
121
|
+
<h3
|
|
122
|
+
v-if="title" class="dialog-title m-0 txt20 semi w-100p word-break-all"
|
|
123
|
+
:class="{ 'txt-center': centerTitle }"
|
|
124
|
+
>
|
|
121
125
|
{{ title }}
|
|
122
126
|
</h3>
|
|
123
127
|
<div v-if="!title" class="flex-grow-1" />
|
|
124
|
-
<Btn
|
|
128
|
+
<Btn
|
|
129
|
+
v-if="dismissable && closePlacement === 'header-end'" flat icon="close" aria-label="Close"
|
|
130
|
+
class="dialog-close" thin @click="close"
|
|
131
|
+
/>
|
|
125
132
|
</header>
|
|
126
|
-
|
|
127
133
|
<!-- Body -->
|
|
128
134
|
<div class="overflow-y flex-grow-1 m_p-1" :class="{ 'px-1 py-05': thin, 'px-1-5 py-1': !thin }">
|
|
129
135
|
<slot />
|
|
130
136
|
</div>
|
|
131
|
-
|
|
132
137
|
<!-- Footer -->
|
|
133
|
-
<footer
|
|
138
|
+
<footer
|
|
139
|
+
v-if="$slots.footer" class="flex flex-shrink-0 gap-05 m_px-05 m_py-05 justify-content-end"
|
|
140
|
+
:class="{ 'border-top': !flat, 'px-05 py-05': thin, 'px-1-5 py-1': !thin }"
|
|
141
|
+
>
|
|
134
142
|
<slot name="footer" />
|
|
135
143
|
</footer>
|
|
136
144
|
</div>
|
|
137
145
|
<!-- Overlay close buttons -->
|
|
138
|
-
<Btn
|
|
139
|
-
|
|
146
|
+
<Btn
|
|
147
|
+
v-if="dismissable && closePlacement === 'overlay-start' && overlayButtonsVisible" icon="close"
|
|
148
|
+
aria-label="Close" class="fixed top-1 start-1 z-999 overlay-btn" @click="close"
|
|
149
|
+
/>
|
|
150
|
+
<Btn
|
|
151
|
+
v-if="dismissable && closePlacement === 'overlay-end' && overlayButtonsVisible" icon="close"
|
|
152
|
+
aria-label="Close" class="fixed top-1 end-1 z-999 overlay-btn" @click="close"
|
|
153
|
+
/>
|
|
140
154
|
</dialog>
|
|
141
155
|
</template>
|
|
142
156
|
|
|
@@ -194,6 +208,7 @@ dialog.dialog-center[open] {
|
|
|
194
208
|
dialog.dialog-center.is-closing {
|
|
195
209
|
animation: scale-fade-out 0.15s ease-in forwards;
|
|
196
210
|
}
|
|
211
|
+
|
|
197
212
|
dialog.dialog-right[open] {
|
|
198
213
|
animation: slide-in-right 0.25s ease-out;
|
|
199
214
|
}
|
|
@@ -209,6 +224,7 @@ dialog.dialog-left[open] {
|
|
|
209
224
|
dialog.dialog-left.is-closing {
|
|
210
225
|
animation: slide-out-left 0.2s ease-in forwards;
|
|
211
226
|
}
|
|
227
|
+
|
|
212
228
|
/* Keyframes - shared and reusable */
|
|
213
229
|
@keyframes fade-in {
|
|
214
230
|
from {
|
|
@@ -224,6 +240,7 @@ dialog.dialog-left.is-closing {
|
|
|
224
240
|
from {
|
|
225
241
|
opacity: 1;
|
|
226
242
|
}
|
|
243
|
+
|
|
227
244
|
to {
|
|
228
245
|
opacity: 0;
|
|
229
246
|
}
|
|
@@ -234,6 +251,7 @@ dialog.dialog-left.is-closing {
|
|
|
234
251
|
opacity: 0;
|
|
235
252
|
transform: scale(0.95) translateY(10px);
|
|
236
253
|
}
|
|
254
|
+
|
|
237
255
|
to {
|
|
238
256
|
opacity: 1;
|
|
239
257
|
transform: scale(1) translateY(0);
|
|
@@ -245,6 +263,7 @@ dialog.dialog-left.is-closing {
|
|
|
245
263
|
opacity: 1;
|
|
246
264
|
transform: scale(1) translateY(0);
|
|
247
265
|
}
|
|
266
|
+
|
|
248
267
|
to {
|
|
249
268
|
opacity: 0;
|
|
250
269
|
transform: scale(0.95) translateY(10px);
|
|
@@ -252,23 +271,51 @@ dialog.dialog-left.is-closing {
|
|
|
252
271
|
}
|
|
253
272
|
|
|
254
273
|
@keyframes slide-in-right {
|
|
255
|
-
from {
|
|
256
|
-
|
|
274
|
+
from {
|
|
275
|
+
opacity: 0;
|
|
276
|
+
transform: translateX(100%);
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
to {
|
|
280
|
+
opacity: 1;
|
|
281
|
+
transform: translateX(0);
|
|
282
|
+
}
|
|
257
283
|
}
|
|
258
284
|
|
|
259
285
|
@keyframes slide-out-right {
|
|
260
|
-
from {
|
|
261
|
-
|
|
286
|
+
from {
|
|
287
|
+
opacity: 1;
|
|
288
|
+
transform: translateX(0);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
to {
|
|
292
|
+
opacity: 0;
|
|
293
|
+
transform: translateX(100%);
|
|
294
|
+
}
|
|
262
295
|
}
|
|
263
296
|
|
|
264
297
|
@keyframes slide-in-left {
|
|
265
|
-
from {
|
|
266
|
-
|
|
298
|
+
from {
|
|
299
|
+
opacity: 0;
|
|
300
|
+
transform: translateX(-100%);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
to {
|
|
304
|
+
opacity: 1;
|
|
305
|
+
transform: translateX(0);
|
|
306
|
+
}
|
|
267
307
|
}
|
|
268
308
|
|
|
269
309
|
@keyframes slide-out-left {
|
|
270
|
-
from {
|
|
271
|
-
|
|
310
|
+
from {
|
|
311
|
+
opacity: 1;
|
|
312
|
+
transform: translateX(0);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
to {
|
|
316
|
+
opacity: 0;
|
|
317
|
+
transform: translateX(-100%);
|
|
318
|
+
}
|
|
272
319
|
}
|
|
273
320
|
|
|
274
321
|
/* Full width adjustments */
|
|
@@ -284,6 +331,7 @@ dialog.dialog-right[style*="--dialog-width: 100%"] {
|
|
|
284
331
|
|
|
285
332
|
/* Mobile adjustments */
|
|
286
333
|
@media screen and (max-width: 910px) {
|
|
334
|
+
|
|
287
335
|
dialog.dialog-left .grid-dialog,
|
|
288
336
|
dialog.dialog-right .grid-dialog {
|
|
289
337
|
max-height: 100vh;
|
package/src/plugins/bagel.ts
CHANGED
|
@@ -2,17 +2,13 @@
|
|
|
2
2
|
#bgl-toast-container,
|
|
3
3
|
#bgl-toplayer-container {
|
|
4
4
|
all: unset;
|
|
5
|
+
display: block;
|
|
5
6
|
position: fixed;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
top: 0;
|
|
8
|
+
left: 0;
|
|
9
|
+
width: 0;
|
|
10
|
+
height: 0;
|
|
9
11
|
overflow: visible;
|
|
10
|
-
pointer-events: none;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
#bgl-toast-container *,
|
|
14
|
-
#bgl-toplayer-container * {
|
|
15
|
-
pointer-events: auto;
|
|
16
12
|
}
|
|
17
13
|
|
|
18
14
|
/* Override vue-toastification default styles */
|
package/vite.config.ts
CHANGED
|
@@ -7,6 +7,7 @@ import tsconfigPaths from 'vite-tsconfig-paths'
|
|
|
7
7
|
|
|
8
8
|
const indexDir = resolve(import.meta.dirname, 'src')
|
|
9
9
|
|
|
10
|
+
// @ts-ignore - rolldown-vite in root workspace causes plugin type mismatch; build is unaffected
|
|
10
11
|
export default defineConfig(() => ({
|
|
11
12
|
plugins: [
|
|
12
13
|
tsconfigPaths({ root: indexDir, }),
|