@bagelink/vue 1.12.74 → 1.14.0
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/Carousel.vue.d.ts.map +1 -1
- package/dist/index.cjs +77 -77
- package/dist/index.mjs +3698 -3689
- package/dist/style.css +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Carousel.vue +28 -3
- package/src/styles/layout.css +16 -0
- package/src/styles/mobilLayout.css +17 -0
- package/src/utils/index.ts +6 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAI1E,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,IAAI,GAAE,MAAY,QAO1D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAMlC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,iBAGtE;AAED,wBAAgB,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAG3C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,QAIrE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,UAOpE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,EAC7C,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,EACxB,QAAQ,CAAC,EAAE,GAAG,EACd,GAAG,CAAC,EAAE,CAAC;;EAwBP;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAO9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,OAG5E;AAED,eAAO,MAAM,MAAM,GAAI,YAAY,GAAG,YAA0C,CAAA;AAEhF,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,IAAI,CAAC,EAAE,GAAG,EAAE,EACZ,OAAO,CAAC,EAAE,MAAM,EAAE,GAChB,cAAc,CAAC,CAAC,CAAC,CAgBnB;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAE,MAAY,oBAErC;AAKD,wBAAsB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA2CxF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAatD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,UAIvC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,aAAa,SAAO,GAAG,MAAM,GAAG,SAAS,CAG/G;AAED,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE1C,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAE1F,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACvH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC7E,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAIpE,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { computed, nextTick, onMounted, onUnmounted, ref, watch } from 'vue'
|
|
3
3
|
|
|
4
|
+
defineOptions({ name: 'BagelCarousel' })
|
|
5
|
+
|
|
4
6
|
const props = defineProps({
|
|
5
7
|
autoHeight: { type: Boolean, default: false },
|
|
6
8
|
allowScroll: { type: Boolean, default: true },
|
|
@@ -11,6 +13,7 @@ const props = defineProps({
|
|
|
11
13
|
autoplay: { type: Boolean, default: false },
|
|
12
14
|
autoPlaySpeed: { type: Number, default: 4000 },
|
|
13
15
|
dots: { type: Boolean, default: false },
|
|
16
|
+
loop: { type: Boolean, default: false },
|
|
14
17
|
})
|
|
15
18
|
|
|
16
19
|
const emit = defineEmits(['update:index'])
|
|
@@ -55,9 +58,9 @@ const lastX = ref(0)
|
|
|
55
58
|
const lastTime = ref(0)
|
|
56
59
|
const accumulatedDeltaX = ref(0)
|
|
57
60
|
|
|
58
|
-
let timeout:
|
|
59
|
-
let wheelTimeout:
|
|
60
|
-
let autoPlayInterval:
|
|
61
|
+
let timeout: ReturnType<typeof setTimeout> | undefined
|
|
62
|
+
let wheelTimeout: ReturnType<typeof setTimeout> | undefined
|
|
63
|
+
let autoPlayInterval: ReturnType<typeof setInterval> | undefined
|
|
61
64
|
|
|
62
65
|
// Add interface for velocity tracking
|
|
63
66
|
interface VelocitySample {
|
|
@@ -119,6 +122,22 @@ function animateTransform(start: number, end: number, duration: number) {
|
|
|
119
122
|
requestAnimationFrame(animate)
|
|
120
123
|
}
|
|
121
124
|
|
|
125
|
+
// Silent jump (no animation) — used for loop resets
|
|
126
|
+
function jumpToSlide(index: number) {
|
|
127
|
+
countSlides()
|
|
128
|
+
if (!isSliderAvailable.value || !bglSlider.value || index < 0 || index >= slideCount.value) { return }
|
|
129
|
+
|
|
130
|
+
const containerWidth = bglSlider.value.offsetWidth
|
|
131
|
+
const gapWidth = (containerWidth * GAP_PERCENT) / 100
|
|
132
|
+
const totalGapWidth = (itemCount.value - 1) * gapWidth
|
|
133
|
+
const singleItemWidth = (containerWidth - totalGapWidth) / itemCount.value
|
|
134
|
+
const gapsBeforeSlide = index * gapWidth
|
|
135
|
+
const targetTransform = -(singleItemWidth * index + gapsBeforeSlide)
|
|
136
|
+
|
|
137
|
+
setTransform(targetTransform)
|
|
138
|
+
activeSlideIndex.value = index
|
|
139
|
+
}
|
|
140
|
+
|
|
122
141
|
// Navigation
|
|
123
142
|
function goToSlide(index: number, isTouchNav = false) {
|
|
124
143
|
countSlides()
|
|
@@ -551,6 +570,11 @@ onMounted(() => {
|
|
|
551
570
|
slideCount.value = bglSlider.value.children.length
|
|
552
571
|
}
|
|
553
572
|
|
|
573
|
+
// If starting at a non-zero index, jump to it (for loop mode)
|
|
574
|
+
if (props.index > 0) {
|
|
575
|
+
jumpToSlide(props.index)
|
|
576
|
+
}
|
|
577
|
+
|
|
554
578
|
if (props.autoplay) {
|
|
555
579
|
autoPlayInterval = setInterval(next, props.autoPlaySpeed)
|
|
556
580
|
}
|
|
@@ -577,6 +601,7 @@ watch(() => activeSlideIndex.value, handleSlideChange)
|
|
|
577
601
|
|
|
578
602
|
defineExpose({
|
|
579
603
|
goToSlide,
|
|
604
|
+
jumpToSlide,
|
|
580
605
|
next,
|
|
581
606
|
prev,
|
|
582
607
|
countSlides,
|
package/src/styles/layout.css
CHANGED
|
@@ -240,6 +240,22 @@
|
|
|
240
240
|
align-items: end !important;
|
|
241
241
|
}
|
|
242
242
|
|
|
243
|
+
.prose>*+*,
|
|
244
|
+
.article-space>*+* {
|
|
245
|
+
margin-block-start: var(--bgl-article-space, 1em) !important;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
.pile {
|
|
249
|
+
display: grid;
|
|
250
|
+
grid-template-areas: 'pile';
|
|
251
|
+
place-items: center;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
.place-items-center {
|
|
255
|
+
place-items: center !important;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
|
|
243
259
|
.fit-content {
|
|
244
260
|
width: fit-content;
|
|
245
261
|
height: fit-content;
|
|
@@ -278,6 +278,23 @@
|
|
|
278
278
|
align-items: end !important;
|
|
279
279
|
}
|
|
280
280
|
|
|
281
|
+
|
|
282
|
+
.m_prose>*+*,
|
|
283
|
+
.m_article-space>*+* {
|
|
284
|
+
margin-block-start: var(--bgl-article-space, 1em) !important;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
.m_pile {
|
|
288
|
+
display: grid;
|
|
289
|
+
grid-template-areas: 'pile';
|
|
290
|
+
place-items: center;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
.m_place-items-center {
|
|
294
|
+
place-items: center !;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
|
|
281
298
|
.m_fit-content {
|
|
282
299
|
width: fit-content;
|
|
283
300
|
height: fit-content;
|
package/src/utils/index.ts
CHANGED
|
@@ -215,8 +215,13 @@ export function pathKeyToURL(pathKey?: string) {
|
|
|
215
215
|
return pathKey
|
|
216
216
|
}
|
|
217
217
|
|
|
218
|
+
// For local public assets (e.g. images/foo.jpg), return as relative path
|
|
219
|
+
if (pathKey.startsWith('/')) {
|
|
220
|
+
return pathKey
|
|
221
|
+
}
|
|
222
|
+
|
|
218
223
|
// For static files from the API server, return relative path
|
|
219
|
-
if (pathKey.startsWith('static/')) {
|
|
224
|
+
if (pathKey.startsWith('static/') || pathKey.startsWith('images/')) {
|
|
220
225
|
return `/${pathKey}`
|
|
221
226
|
}
|
|
222
227
|
|