@surdeddd/bottom-sheet 0.9.0 → 0.10.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/README.md +108 -66
- package/dist/{BottomSheetEngine-CBRcBwV-.d.ts → BottomSheetEngine-DRjCU73e.d.ts} +6 -5
- package/dist/{BottomSheetEngine-BcyruNP1.d.cts → BottomSheetEngine-DzsIwD28.d.cts} +6 -5
- package/dist/element.cjs +161 -99
- package/dist/element.d.cts +1 -1
- package/dist/element.d.ts +1 -1
- package/dist/element.iife.global.js +2 -2
- package/dist/element.js +161 -99
- package/dist/index.cjs +155 -115
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +155 -115
- package/dist/integrations/formik.d.cts +1 -1
- package/dist/integrations/formik.d.ts +1 -1
- package/dist/integrations/react-hook-form.d.cts +1 -1
- package/dist/integrations/react-hook-form.d.ts +1 -1
- package/dist/overlay.cjs +34 -25
- package/dist/overlay.d.cts +3 -0
- package/dist/overlay.d.ts +3 -0
- package/dist/overlay.js +34 -25
- package/dist/preact.d.cts +2 -1
- package/dist/preact.d.ts +2 -1
- package/dist/qwik.cjs +179 -93
- package/dist/qwik.d.cts +11 -2
- package/dist/qwik.d.ts +11 -2
- package/dist/qwik.js +179 -93
- package/dist/react.cjs +266 -181
- package/dist/react.d.cts +26 -4
- package/dist/react.d.ts +26 -4
- package/dist/react.js +266 -181
- package/dist/solid.cjs +145 -92
- package/dist/solid.d.cts +14 -4
- package/dist/solid.d.ts +14 -4
- package/dist/solid.js +145 -92
- package/dist/solid.source.jsx +145 -92
- package/dist/styles.css +17 -1
- package/dist/svelte-core.cjs +128 -90
- package/dist/svelte-core.js +128 -90
- package/dist/svelte-src/BottomSheet.svelte +6 -0
- package/dist/svelte.cjs +130 -90
- package/dist/svelte.d.cts +2 -0
- package/dist/svelte.d.ts +2 -0
- package/dist/svelte.js +130 -90
- package/dist/teleport-7uYNiEAT.d.cts +3 -0
- package/dist/teleport-7uYNiEAT.d.ts +3 -0
- package/dist/vue.cjs +136 -91
- package/dist/vue.d.cts +3 -1
- package/dist/vue.d.ts +3 -1
- package/dist/vue.js +136 -91
- package/package.json +6 -6
package/dist/element.js
CHANGED
|
@@ -213,15 +213,27 @@ var init_cssLength = __esm({
|
|
|
213
213
|
}
|
|
214
214
|
});
|
|
215
215
|
|
|
216
|
+
// src/core/primitives/devWarn.ts
|
|
217
|
+
function devWarn(...args) {
|
|
218
|
+
if (typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" && typeof console !== "undefined") {
|
|
219
|
+
console.warn(...args);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
var init_devWarn = __esm({
|
|
223
|
+
"src/core/primitives/devWarn.ts"() {
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
|
|
216
227
|
// src/core/primitives/snap-points.ts
|
|
217
228
|
var resolveSnapList, VH_NOT_DVH, auditVhUsage, findNearest, allowedRange, findById, MOUSE_FLICK_VELOCITY, MOUSE_DRAG_THRESHOLD, DIRECTIONAL_INTENT_VELOCITY, findDragSettleTarget;
|
|
218
229
|
var init_snap_points = __esm({
|
|
219
230
|
"src/core/primitives/snap-points.ts"() {
|
|
220
231
|
init_cssLength();
|
|
232
|
+
init_devWarn();
|
|
221
233
|
resolveSnapList = (points, mode, measureFit) => points.map((p) => {
|
|
222
234
|
const raw = resolveSnap(p.size, mode, measureFit);
|
|
223
235
|
if (!Number.isFinite(raw) || raw < 0) {
|
|
224
|
-
|
|
236
|
+
devWarn(
|
|
225
237
|
`[BottomSheet] snap "${p.id}" resolved to invalid size (${String(p.size)} \u2192 ${raw}); clamped to 0.`
|
|
226
238
|
);
|
|
227
239
|
return { id: p.id, size: 0 };
|
|
@@ -233,7 +245,7 @@ var init_snap_points = __esm({
|
|
|
233
245
|
for (const p of points) {
|
|
234
246
|
if (typeof p.size !== "string") continue;
|
|
235
247
|
if (!VH_NOT_DVH.test(p.size)) continue;
|
|
236
|
-
|
|
248
|
+
devWarn(
|
|
237
249
|
`[BottomSheet] snap "${p.id}" uses "vh" \u2014 prefer "dvh" on mobile (iOS Safari URL bar makes vh unstable). See https://web.dev/blog/viewport-units`
|
|
238
250
|
);
|
|
239
251
|
}
|
|
@@ -289,6 +301,31 @@ var init_snap_points = __esm({
|
|
|
289
301
|
}
|
|
290
302
|
});
|
|
291
303
|
|
|
304
|
+
// src/core/primitives/cancelable-emit.ts
|
|
305
|
+
function emitCancelable(emit, base, warnLabel) {
|
|
306
|
+
let cancelled = false;
|
|
307
|
+
let frozen = false;
|
|
308
|
+
emit({
|
|
309
|
+
...base,
|
|
310
|
+
cancel: () => {
|
|
311
|
+
if (frozen) {
|
|
312
|
+
devWarn(
|
|
313
|
+
`[BottomSheet] ${warnLabel}.cancel() called asynchronously \u2014 ignored. cancel() must be invoked synchronously inside the listener.`
|
|
314
|
+
);
|
|
315
|
+
return;
|
|
316
|
+
}
|
|
317
|
+
cancelled = true;
|
|
318
|
+
}
|
|
319
|
+
});
|
|
320
|
+
frozen = true;
|
|
321
|
+
return cancelled;
|
|
322
|
+
}
|
|
323
|
+
var init_cancelable_emit = __esm({
|
|
324
|
+
"src/core/primitives/cancelable-emit.ts"() {
|
|
325
|
+
init_devWarn();
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
|
|
292
329
|
// src/core/primitives/snap-resolver.ts
|
|
293
330
|
var SnapResolver;
|
|
294
331
|
var init_snap_resolver = __esm({
|
|
@@ -447,7 +484,9 @@ function notifyLinkedSheets(sheets, self) {
|
|
|
447
484
|
try {
|
|
448
485
|
if (linked.state.size === 0) continue;
|
|
449
486
|
const ids = linked.getAllowedIds();
|
|
450
|
-
const
|
|
487
|
+
const resolved = linked.getResolvedSnaps();
|
|
488
|
+
const sizeOf = (id) => resolved.find((s) => s.id === id)?.size ?? 0;
|
|
489
|
+
const target = ids.find((id) => sizeOf(id) > 0);
|
|
451
490
|
if (target && target !== linked.state.activeId) {
|
|
452
491
|
void linked.snapTo(target);
|
|
453
492
|
}
|
|
@@ -677,11 +716,15 @@ function installVisualViewport(deps) {
|
|
|
677
716
|
if (clamp < deps.getMaxAxisSize()) {
|
|
678
717
|
deps.setMaxAxisSize(clamp);
|
|
679
718
|
}
|
|
719
|
+
const wasAnimating = deps.isAnimating?.() ?? false;
|
|
720
|
+
deps.cancelInFlight();
|
|
721
|
+
deps.newCycle();
|
|
680
722
|
const max = deps.getMaxAxisSize();
|
|
681
723
|
deps.setSize(Math.min(deps.getSize(), max));
|
|
682
724
|
const current = deps.resolveActiveSnap();
|
|
683
725
|
if (current && !deps.isDragging()) {
|
|
684
726
|
deps.applySize(Math.min(current.size, max));
|
|
727
|
+
if (wasAnimating) deps.resyncAfterCancel?.();
|
|
685
728
|
} else {
|
|
686
729
|
deps.applySize(deps.getSize());
|
|
687
730
|
}
|
|
@@ -837,6 +880,60 @@ var init_fit_observer = __esm({
|
|
|
837
880
|
}
|
|
838
881
|
});
|
|
839
882
|
|
|
883
|
+
// src/core/features/max-height-controller.ts
|
|
884
|
+
function createMaxHeightController(deps) {
|
|
885
|
+
let maxHeightCap;
|
|
886
|
+
let maxHeightRaw;
|
|
887
|
+
const resolveCap = () => {
|
|
888
|
+
const raw = maxHeightRaw;
|
|
889
|
+
if (raw === void 0) {
|
|
890
|
+
maxHeightCap = void 0;
|
|
891
|
+
return;
|
|
892
|
+
}
|
|
893
|
+
if (typeof raw === "number") {
|
|
894
|
+
maxHeightCap = raw;
|
|
895
|
+
return;
|
|
896
|
+
}
|
|
897
|
+
if (typeof window === "undefined") return;
|
|
898
|
+
const measured = resolveSnap(raw, deps.mode);
|
|
899
|
+
maxHeightCap = measured > 0 ? measured : void 0;
|
|
900
|
+
};
|
|
901
|
+
const clampTo = () => {
|
|
902
|
+
if (maxHeightCap === void 0) return;
|
|
903
|
+
if (deps.getMaxAxisSize() > maxHeightCap) {
|
|
904
|
+
deps.setMaxAxisSize(maxHeightCap);
|
|
905
|
+
}
|
|
906
|
+
};
|
|
907
|
+
return {
|
|
908
|
+
setRadius(r) {
|
|
909
|
+
deps.element.style.setProperty(
|
|
910
|
+
"--bs-radius",
|
|
911
|
+
typeof r === "number" ? `${r}px` : r
|
|
912
|
+
);
|
|
913
|
+
},
|
|
914
|
+
setMaxHeight(h) {
|
|
915
|
+
const value = typeof h === "number" ? `${h}px` : h;
|
|
916
|
+
const axis = layoutAxis(deps.mode);
|
|
917
|
+
deps.element.style.setProperty(
|
|
918
|
+
axis === "height" ? "max-height" : "max-width",
|
|
919
|
+
value
|
|
920
|
+
);
|
|
921
|
+
maxHeightRaw = h;
|
|
922
|
+
resolveCap();
|
|
923
|
+
deps.recompute();
|
|
924
|
+
},
|
|
925
|
+
resolveCap,
|
|
926
|
+
clampTo,
|
|
927
|
+
getCap: () => maxHeightCap
|
|
928
|
+
};
|
|
929
|
+
}
|
|
930
|
+
var init_max_height_controller = __esm({
|
|
931
|
+
"src/core/features/max-height-controller.ts"() {
|
|
932
|
+
init_snap_points();
|
|
933
|
+
init_transform();
|
|
934
|
+
}
|
|
935
|
+
});
|
|
936
|
+
|
|
840
937
|
// src/core/features/fit-measurement.ts
|
|
841
938
|
var measureSheetNatural, containingExtent, measureFitSize;
|
|
842
939
|
var init_fit_measurement = __esm({
|
|
@@ -993,17 +1090,6 @@ var init_opacity_dedup = __esm({
|
|
|
993
1090
|
}
|
|
994
1091
|
});
|
|
995
1092
|
|
|
996
|
-
// src/core/primitives/devWarn.ts
|
|
997
|
-
function devWarn(...args) {
|
|
998
|
-
if (typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" && typeof console !== "undefined") {
|
|
999
|
-
console.warn(...args);
|
|
1000
|
-
}
|
|
1001
|
-
}
|
|
1002
|
-
var init_devWarn = __esm({
|
|
1003
|
-
"src/core/primitives/devWarn.ts"() {
|
|
1004
|
-
}
|
|
1005
|
-
});
|
|
1006
|
-
|
|
1007
1093
|
// src/core/primitives/overlay-position.ts
|
|
1008
1094
|
function resolveSheetAnchoredStyle(mode, position, inset) {
|
|
1009
1095
|
const sizeOffset = `calc(var(--bs-size, 0px) + ${inset})`;
|
|
@@ -2754,6 +2840,8 @@ var init_BottomSheetEngine = __esm({
|
|
|
2754
2840
|
init_instance_id();
|
|
2755
2841
|
init_event_bus();
|
|
2756
2842
|
init_snap_points();
|
|
2843
|
+
init_cancelable_emit();
|
|
2844
|
+
init_devWarn();
|
|
2757
2845
|
init_snap_resolver();
|
|
2758
2846
|
init_persist();
|
|
2759
2847
|
init_auto_collapse();
|
|
@@ -2763,6 +2851,7 @@ var init_BottomSheetEngine = __esm({
|
|
|
2763
2851
|
init_visual_viewport();
|
|
2764
2852
|
init_resize_observer();
|
|
2765
2853
|
init_fit_observer();
|
|
2854
|
+
init_max_height_controller();
|
|
2766
2855
|
init_fit_measurement();
|
|
2767
2856
|
init_slider_keyboard();
|
|
2768
2857
|
init_scrim_controller();
|
|
@@ -2801,8 +2890,7 @@ var init_BottomSheetEngine = __esm({
|
|
|
2801
2890
|
__publicField(this, "disableCloseFlag");
|
|
2802
2891
|
__publicField(this, "disableDragFlag");
|
|
2803
2892
|
__publicField(this, "closeOnRouteChange");
|
|
2804
|
-
__publicField(this, "
|
|
2805
|
-
__publicField(this, "maxHeightRaw");
|
|
2893
|
+
__publicField(this, "maxHeight");
|
|
2806
2894
|
__publicField(this, "snapPointsRaw");
|
|
2807
2895
|
__publicField(this, "snaps");
|
|
2808
2896
|
__publicField(this, "activeId");
|
|
@@ -2913,11 +3001,20 @@ var init_BottomSheetEngine = __esm({
|
|
|
2913
3001
|
auditVhUsage(this.snapPointsRaw);
|
|
2914
3002
|
this.auditDuplicateSnapIds(this.snapPointsRaw);
|
|
2915
3003
|
this.rootEl = this.element.closest(".bs-root");
|
|
3004
|
+
this.maxHeight = createMaxHeightController({
|
|
3005
|
+
element: this.element,
|
|
3006
|
+
mode: this.mode,
|
|
3007
|
+
getMaxAxisSize: () => this.snaps.getMaxAxisSize(),
|
|
3008
|
+
setMaxAxisSize: (size) => {
|
|
3009
|
+
this.snaps.setMaxAxisSize(size);
|
|
3010
|
+
},
|
|
3011
|
+
recompute: () => this.recompute()
|
|
3012
|
+
});
|
|
2916
3013
|
this.fitDeps = {
|
|
2917
3014
|
element: this.element,
|
|
2918
3015
|
scrollContainer: this.scrollContainer,
|
|
2919
3016
|
mode: this.mode,
|
|
2920
|
-
getMaxHeightCap: () => this.
|
|
3017
|
+
getMaxHeightCap: () => this.maxHeight.getCap()
|
|
2921
3018
|
};
|
|
2922
3019
|
this.snaps = new SnapResolver(
|
|
2923
3020
|
this.snapPointsRaw,
|
|
@@ -3028,7 +3125,7 @@ var init_BottomSheetEngine = __esm({
|
|
|
3028
3125
|
}
|
|
3029
3126
|
use(plugin) {
|
|
3030
3127
|
if (this.destroyed) {
|
|
3031
|
-
|
|
3128
|
+
devWarn(
|
|
3032
3129
|
`[BottomSheet] use("${plugin.name}") called on destroyed engine \u2014 ignored.`
|
|
3033
3130
|
);
|
|
3034
3131
|
return this;
|
|
@@ -3070,6 +3167,9 @@ var init_BottomSheetEngine = __esm({
|
|
|
3070
3167
|
getAllowedIds() {
|
|
3071
3168
|
return this.snaps.getAllowedIds().slice();
|
|
3072
3169
|
}
|
|
3170
|
+
getResolvedSnaps() {
|
|
3171
|
+
return this.snaps.getResolvedSnaps();
|
|
3172
|
+
}
|
|
3073
3173
|
async snapTo(id, velocityOrOpts = 0, _skipBeforeSnap = false) {
|
|
3074
3174
|
if (this.destroyed) return;
|
|
3075
3175
|
const opts = typeof velocityOrOpts === "object" ? velocityOrOpts : { velocity: velocityOrOpts };
|
|
@@ -3078,11 +3178,11 @@ var init_BottomSheetEngine = __esm({
|
|
|
3078
3178
|
if (externalSignal?.aborted) return;
|
|
3079
3179
|
const target = this.snaps.findById(id);
|
|
3080
3180
|
if (!target) {
|
|
3081
|
-
|
|
3181
|
+
devWarn(`[BottomSheet] unknown snap id: ${id}`);
|
|
3082
3182
|
return;
|
|
3083
3183
|
}
|
|
3084
3184
|
if (!this.snaps.getAllowedIds().includes(id)) {
|
|
3085
|
-
|
|
3185
|
+
devWarn(`[BottomSheet] snap "${id}" is not in allowed list`);
|
|
3086
3186
|
return;
|
|
3087
3187
|
}
|
|
3088
3188
|
if (!_skipBeforeSnap && this.emitBeforeSnap(target, this.activeId)) {
|
|
@@ -3214,42 +3314,11 @@ var init_BottomSheetEngine = __esm({
|
|
|
3214
3314
|
}
|
|
3215
3315
|
setRadius(r) {
|
|
3216
3316
|
if (this.destroyed) return;
|
|
3217
|
-
this.
|
|
3218
|
-
"--bs-radius",
|
|
3219
|
-
typeof r === "number" ? `${r}px` : r
|
|
3220
|
-
);
|
|
3317
|
+
this.maxHeight.setRadius(r);
|
|
3221
3318
|
}
|
|
3222
3319
|
setMaxHeight(h) {
|
|
3223
3320
|
if (this.destroyed) return;
|
|
3224
|
-
|
|
3225
|
-
const axis = layoutAxis(this.mode);
|
|
3226
|
-
this.element.style.setProperty(
|
|
3227
|
-
axis === "height" ? "max-height" : "max-width",
|
|
3228
|
-
value
|
|
3229
|
-
);
|
|
3230
|
-
this.maxHeightRaw = h;
|
|
3231
|
-
this.resolveMaxHeightCap();
|
|
3232
|
-
this.recompute();
|
|
3233
|
-
}
|
|
3234
|
-
resolveMaxHeightCap() {
|
|
3235
|
-
const raw = this.maxHeightRaw;
|
|
3236
|
-
if (raw === void 0) {
|
|
3237
|
-
this.maxHeightCap = void 0;
|
|
3238
|
-
return;
|
|
3239
|
-
}
|
|
3240
|
-
if (typeof raw === "number") {
|
|
3241
|
-
this.maxHeightCap = raw;
|
|
3242
|
-
return;
|
|
3243
|
-
}
|
|
3244
|
-
if (typeof window === "undefined") return;
|
|
3245
|
-
const measured = resolveSnap(raw, this.mode);
|
|
3246
|
-
this.maxHeightCap = measured > 0 ? measured : void 0;
|
|
3247
|
-
}
|
|
3248
|
-
clampToMaxHeight() {
|
|
3249
|
-
if (this.maxHeightCap === void 0) return;
|
|
3250
|
-
if (this.snaps.getMaxAxisSize() > this.maxHeightCap) {
|
|
3251
|
-
this.snaps.setMaxAxisSize(this.maxHeightCap);
|
|
3252
|
-
}
|
|
3321
|
+
this.maxHeight.setMaxHeight(h);
|
|
3253
3322
|
}
|
|
3254
3323
|
setAllowed(ids, snap) {
|
|
3255
3324
|
if (this.destroyed) return;
|
|
@@ -3337,7 +3406,7 @@ var init_BottomSheetEngine = __esm({
|
|
|
3337
3406
|
};
|
|
3338
3407
|
const host = this.screenComponent?.parentElement;
|
|
3339
3408
|
if (!host) {
|
|
3340
|
-
|
|
3409
|
+
devWarn(
|
|
3341
3410
|
"[BottomSheet] setScrimStages: no scrim element mounted \u2014 pass `scrim` to the engine first."
|
|
3342
3411
|
);
|
|
3343
3412
|
return () => {
|
|
@@ -3387,9 +3456,9 @@ var init_BottomSheetEngine = __esm({
|
|
|
3387
3456
|
}
|
|
3388
3457
|
recompute() {
|
|
3389
3458
|
if (this.destroyed) return;
|
|
3390
|
-
this.
|
|
3459
|
+
this.maxHeight.resolveCap();
|
|
3391
3460
|
this.snaps.recompute();
|
|
3392
|
-
this.
|
|
3461
|
+
this.maxHeight.clampTo();
|
|
3393
3462
|
this.scrim.invalidateOpacityCache();
|
|
3394
3463
|
if (this.gesture?.isDragging) return;
|
|
3395
3464
|
const current = this.snaps.findById(this.activeId);
|
|
@@ -3439,42 +3508,18 @@ var init_BottomSheetEngine = __esm({
|
|
|
3439
3508
|
return this.currentAbort.signal;
|
|
3440
3509
|
}
|
|
3441
3510
|
emitBeforeSnap(target, previousId) {
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
previousId,
|
|
3448
|
-
cancel: () => {
|
|
3449
|
-
if (frozen) {
|
|
3450
|
-
console.warn(
|
|
3451
|
-
"[BottomSheet] before-snap.cancel() called asynchronously \u2014 ignored. cancel() must be invoked synchronously inside the listener."
|
|
3452
|
-
);
|
|
3453
|
-
return;
|
|
3454
|
-
}
|
|
3455
|
-
cancelled = true;
|
|
3456
|
-
}
|
|
3457
|
-
});
|
|
3458
|
-
frozen = true;
|
|
3459
|
-
return cancelled;
|
|
3511
|
+
return emitCancelable(
|
|
3512
|
+
(payload) => this.emit("before-snap", payload),
|
|
3513
|
+
{ id: target.id, size: target.size, previousId },
|
|
3514
|
+
"before-snap"
|
|
3515
|
+
);
|
|
3460
3516
|
}
|
|
3461
3517
|
emitBeforeClose(reason) {
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
if (frozen) {
|
|
3468
|
-
console.warn(
|
|
3469
|
-
"[BottomSheet] before-close.cancel() called asynchronously \u2014 ignored. cancel() must be invoked synchronously inside the listener."
|
|
3470
|
-
);
|
|
3471
|
-
return;
|
|
3472
|
-
}
|
|
3473
|
-
cancelled = true;
|
|
3474
|
-
}
|
|
3475
|
-
});
|
|
3476
|
-
frozen = true;
|
|
3477
|
-
return cancelled;
|
|
3518
|
+
return emitCancelable(
|
|
3519
|
+
(payload) => this.emit("before-close", payload),
|
|
3520
|
+
{ reason },
|
|
3521
|
+
"before-close"
|
|
3522
|
+
);
|
|
3478
3523
|
}
|
|
3479
3524
|
applyAutoAriaLabelledBy() {
|
|
3480
3525
|
if (typeof document === "undefined") return;
|
|
@@ -3489,16 +3534,16 @@ var init_BottomSheetEngine = __esm({
|
|
|
3489
3534
|
this.element.setAttribute("aria-labelledby", titled.id);
|
|
3490
3535
|
}
|
|
3491
3536
|
recomputeSnaps() {
|
|
3492
|
-
this.
|
|
3537
|
+
this.maxHeight.resolveCap();
|
|
3493
3538
|
this.snaps.setRaw(this.snapPointsRaw);
|
|
3494
|
-
this.
|
|
3539
|
+
this.maxHeight.clampTo();
|
|
3495
3540
|
this.scrim.invalidateOpacityCache();
|
|
3496
3541
|
}
|
|
3497
3542
|
auditDuplicateSnapIds(points) {
|
|
3498
3543
|
const seen = /* @__PURE__ */ new Set();
|
|
3499
3544
|
for (const p of points) {
|
|
3500
3545
|
if (seen.has(p.id)) {
|
|
3501
|
-
|
|
3546
|
+
devWarn(
|
|
3502
3547
|
`[BottomSheet] duplicate snap id "${p.id}" \u2014 only the first occurrence is reachable.`
|
|
3503
3548
|
);
|
|
3504
3549
|
}
|
|
@@ -3665,7 +3710,15 @@ var init_BottomSheetEngine = __esm({
|
|
|
3665
3710
|
setSize: (size) => {
|
|
3666
3711
|
this.size = size;
|
|
3667
3712
|
},
|
|
3668
|
-
applySize: (size) => this.applySize(size)
|
|
3713
|
+
applySize: (size) => this.applySize(size),
|
|
3714
|
+
cancelInFlight: () => {
|
|
3715
|
+
this.animation.cancel();
|
|
3716
|
+
},
|
|
3717
|
+
newCycle: () => {
|
|
3718
|
+
this.newCycle();
|
|
3719
|
+
},
|
|
3720
|
+
isAnimating: () => this.animation.isAnimating,
|
|
3721
|
+
resyncAfterCancel: () => this.resyncAfterResize()
|
|
3669
3722
|
}));
|
|
3670
3723
|
}
|
|
3671
3724
|
this.teardowns.add(installSliderKeyboard({
|
|
@@ -3833,7 +3886,7 @@ var init_BottomSheetEngine = __esm({
|
|
|
3833
3886
|
var baseStyles;
|
|
3834
3887
|
var init_baseStyles = __esm({
|
|
3835
3888
|
"src/web-component/baseStyles.ts"() {
|
|
3836
|
-
baseStyles = `:where(.bs-root){--bs-surface-d:#ffffff;--bs-surface-border-d:rgba(225,227,237,1);--bs-radius-d:20px;--bs-handle-color-d:rgba(26,22,20,0.3);--bs-handle-width:40px;--bs-handle-height:5px;--bs-z-backdrop:90;--bs-z-sheet:100;--bs-header-min-height:80px;--bs-backdrop-color-d:rgba(0,0,0,0.5);--bs-scrim-color-d:transparent;--bs-scrim-blur:0px;--bs-z-scrim:calc(var(--bs-z-sheet) - 1);--bs-size:0px;--bs-progress:0}.bs-backdrop{position:fixed;inset:0;background:var(--bs-backdrop-color,var(--bs-backdrop-color-d));opacity:0;pointer-events:none;z-index:var(--bs-z-backdrop);transition:opacity 0.24s cubic-bezier(0.22,1,0.36,1);will-change:opacity}.bs-root[data-dragging="true"] .bs-backdrop,.bs-root[data-animating="true"] .bs-backdrop{transition:none}.bs-sheet{position:fixed;background:var(--bs-surface,var(--bs-surface-d));box-shadow:var(--bs-shadow,var(--bs-shadow-auto,none));z-index:var(--bs-z-sheet);pointer-events:auto;overflow:hidden;display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent;user-select:none;overscroll-behavior:contain}.bs-sheet[data-mode="bottom"]{left:0;right:0;bottom:0;width:100%;border-top-left-radius:var(--bs-radius,var(--bs-radius-d));border-top-right-radius:var(--bs-radius,var(--bs-radius-d));border-top:1px solid var(--bs-surface-border,var(--bs-surface-border-d));padding-bottom:env(safe-area-inset-bottom);--bs-shadow-auto:0 calc(var(--bs-progress,0) * -2px - 3px) calc(var(--bs-progress,0) * 18px + 12px) rgba(0,0,0,calc(var(--bs-progress,0) * 0.15 + 0.12))}.bs-sheet[data-mode="top"]{left:0;right:0;top:0;width:100%;border-bottom-left-radius:var(--bs-radius,var(--bs-radius-d));border-bottom-right-radius:var(--bs-radius,var(--bs-radius-d));border-bottom:1px solid var(--bs-surface-border,var(--bs-surface-border-d));flex-direction:column-reverse;--bs-shadow-auto:0 3px 12px rgba(0,0,0,0.12);padding-top:env(safe-area-inset-top)}.bs-sheet[data-mode="left"]{top:0;bottom:0;left:0;height:100%;border-top-right-radius:var(--bs-radius,var(--bs-radius-d));border-bottom-right-radius:var(--bs-radius,var(--bs-radius-d));border-right:1px solid var(--bs-surface-border,var(--bs-surface-border-d));--bs-shadow-auto:3px 0 12px rgba(0,0,0,0.12)}.bs-sheet[data-mode="right"]{top:0;bottom:0;right:0;height:100%;border-top-left-radius:var(--bs-radius,var(--bs-radius-d));border-bottom-left-radius:var(--bs-radius,var(--bs-radius-d));border-left:1px solid var(--bs-surface-border,var(--bs-surface-border-d));--bs-shadow-auto:-3px 0 12px rgba(0,0,0,0.12)}.bs-sheet[data-mode="left"] .bs-content{padding-right:36px}.bs-sheet[data-mode="right"] .bs-content{padding-left:36px}.bs-handle{flex-shrink:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;padding:var(--bs-handle-padding,8px 16px 4px);cursor:grab;touch-action:none;user-select:none;background:var(--bs-surface,var(--bs-surface-d));-webkit-tap-highlight-color:transparent;outline:none;position:relative}.bs-handle:active{cursor:grabbing}.bs-handle:focus-visible{outline:2px solid currentColor;outline-offset:-2px;border-radius:var(--bs-radius,var(--bs-radius-d))}.bs-handle::before{content:"";display:block;width:var(--bs-handle-width);height:var(--bs-handle-height);background:var(--bs-handle-color,var(--bs-handle-color-d));border-radius:calc(var(--bs-handle-height) / 2);margin:0 auto 8px;transition:width 0.15s ease,background 0.15s ease,transform 0.15s ease;pointer-events:none}.bs-sheet[data-mode="left"] .bs-handle,.bs-sheet[data-mode="right"] .bs-handle{position:absolute;top:0;bottom:0;width:28px;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;background:var(--bs-surface,var(--bs-surface-d));z-index:1;overflow:hidden}.bs-sheet[data-mode="left"] .bs-handle>*,.bs-sheet[data-mode="right"] .bs-handle>*{display:none}.bs-sheet[data-mode="left"] .bs-handle{right:0;border-left:1px solid var(--bs-surface-border,var(--bs-surface-border-d))}.bs-sheet[data-mode="right"] .bs-handle{left:0;border-right:1px solid var(--bs-surface-border,var(--bs-surface-border-d))}.bs-sheet[data-mode="left"] .bs-handle::before,.bs-sheet[data-mode="right"] .bs-handle::before{width:var(--bs-handle-height);height:var(--bs-handle-width);margin:0}.bs-sheet:hover .bs-handle::before{background:color-mix(in oklab,var(--bs-handle-color,var(--bs-handle-color-d)),#000 15%)}.bs-handle:active::before{background:color-mix(in oklab,var(--bs-handle-color,var(--bs-handle-color-d)),#000 35%);transform:scaleX(1.15)}.bs-handle.bs-handle--ticks::after{content:"";display:block;position:absolute;left:50%;bottom:6px;transform:translateX(-50%);width:calc(var(--bs-handle-width) * 2);height:3px;background-image:radial-gradient( circle,var(--bs-handle-color,var(--bs-handle-color-d)) 0 1.5px,transparent 1.6px );background-size:8px 3px;background-repeat:repeat-x;background-position:center;opacity:0;transition:opacity 0.18s ease-out;pointer-events:none}.bs-root[data-dragging="true"] .bs-handle.bs-handle--ticks::after{opacity:0.4}.bs-sheet[data-mode="top"] .bs-handle.bs-handle--ticks::after{bottom:auto;top:6px}.bs-sheet[data-mode="left"] .bs-handle.bs-handle--ticks::after,.bs-sheet[data-mode="right"] .bs-handle.bs-handle--ticks::after{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:3px;height:calc(var(--bs-handle-width) * 2);background-size:3px 8px;background-repeat:repeat-y;margin-left:calc(var(--bs-handle-height) + 6px)}.bs-sheet[data-mode="right"] .bs-handle.bs-handle--ticks::after{margin-left:calc(-1 * (var(--bs-handle-height) + 6px))}.bs-header{flex:0 0 auto;padding:var(--bs-header-padding,0 16px 8px);background:var(--bs-surface,var(--bs-surface-d))}.bs-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;user-select:text;padding:var(--bs-content-padding,0 16px 16px)}.bs-footer{flex:0 0 auto;padding:var(--bs-footer-padding,12px 16px calc(12px + env(safe-area-inset-bottom)));border-top:1px solid var(--bs-surface-border,var(--bs-surface-border-d));background:var(--bs-surface,var(--bs-surface-d))}.bs-sheet[data-mode="bottom"]:has(.bs-footer:not([hidden]):has(*)){padding-bottom:0}.bs-header:not(:has(*)),.bs-footer:not(:has(*)),.bs-header[hidden],.bs-footer[hidden]{display:none}.bs-screen{position:absolute;inset:0;pointer-events:none;z-index:var(--bs-z-scrim);background:var(--bs-scrim-color,var(--bs-scrim-color-d));transition:opacity 0.24s cubic-bezier(0.22,1,0.36,1);will-change:opacity}.bs-root[data-dragging="true"] .bs-screen,.bs-root[data-animating="true"] .bs-screen{transition:none}.bs-scrim-overlay{z-index:calc(var(--bs-z-sheet) + 1);pointer-events:none}.bs-button-slot{position:fixed;z-index:calc(var(--bs-z-sheet) + 1);pointer-events:auto}.bs-button-slot[data-side="left"]{left:16px;bottom:calc(var(--bs-size,0px) + 12px)}.bs-button-slot[data-side="right"]{right:16px;bottom:calc(var(--bs-size,0px) + 12px)}.bs-button-slot[data-mode="top"]{bottom:auto;top:calc(var(--bs-size,0px) + 12px)}.bs-button-slot[data-mode="left"]{left:calc(var(--bs-size,0px) + 12px);right:auto;bottom:auto;top:16px}.bs-button-slot[data-mode="right"]{right:calc(var(--bs-size,0px) + 12px);left:auto;bottom:auto;top:16px}@media (prefers-reduced-motion:reduce){.bs-backdrop,.bs-handle::before,.bs-button-slot[data-side="left"],.bs-button-slot[data-side="right"]{transition:none !important}}@media (prefers-color-scheme:dark){:where(.bs-root){--bs-surface-d:#1a1a1d;--bs-surface-border-d:rgba(255,255,255,0.08);--bs-handle-color-d:rgba(255,255,255,0.45);--bs-shadow-auto:0 -3px 16px rgba(0,0,0,0.5)}}.bs-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(.ovl-root){--ovl-surface:var(--bs-surface,var(--bs-surface-d,#ffffff));--ovl-surface-border:var(--bs-surface-border,var(--bs-surface-border-d,rgba(0,0,0,0.08)));--ovl-shadow:0 -8px 40px rgba(0,0,0,0.35);--ovl-radius:var(--bs-radius,var(--bs-radius-d,20px));--ovl-backdrop-color:rgba(0,0,0,0.5);--ovl-z-backdrop:200;--ovl-z-panel:201}.ovl-backdrop{position:fixed;inset:0;background:var(--ovl-backdrop-color);opacity:0;pointer-events:none;z-index:var(--ovl-z-backdrop)}.ovl-panel{position:fixed;background:var(--ovl-surface);box-shadow:var(--ovl-shadow);z-index:var(--ovl-z-panel);-webkit-tap-highlight-color:transparent;outline:none;transition:transform 0.32s cubic-bezier(0.29,1.24,0.84,0.99),opacity 0.32s ease-out}.ovl-panel[data-state="open"]{transform:translate3d(0,0,0);opacity:1}@starting-style{.ovl-panel[data-edge="bottom"][data-state="open"]{transform:translate3d(0,100%,0);opacity:0}.ovl-panel[data-edge="top"][data-state="open"]{transform:translate3d(0,-100%,0);opacity:0}.ovl-panel[data-edge="left"][data-state="open"]{transform:translate3d(-100%,0,0);opacity:0}.ovl-panel[data-edge="right"][data-state="open"]{transform:translate3d(100%,0,0);opacity:0}}.ovl-panel[data-edge="bottom"]{left:0;right:0;bottom:0;width:100%;border-top-left-radius:var(--ovl-radius);border-top-right-radius:var(--ovl-radius);border-top:1px solid var(--ovl-surface-border);padding-bottom:env(safe-area-inset-bottom)}.ovl-panel[data-edge="top"]{left:0;right:0;top:0;width:100%;border-bottom-left-radius:var(--ovl-radius);border-bottom-right-radius:var(--ovl-radius);border-bottom:1px solid var(--ovl-surface-border);padding-top:env(safe-area-inset-top)}.ovl-panel[data-edge="left"]{top:0;bottom:0;left:0;height:100%;border-top-right-radius:var(--ovl-radius);border-bottom-right-radius:var(--ovl-radius);border-right:1px solid var(--ovl-surface-border)}.ovl-panel[data-edge="right"]{top:0;bottom:0;right:0;height:100%;border-top-left-radius:var(--ovl-radius);border-bottom-left-radius:var(--ovl-radius);border-left:1px solid var(--ovl-surface-border)}@media (prefers-reduced-motion:reduce){.ovl-panel,.ovl-backdrop{transition:none !important}}`;
|
|
3889
|
+
baseStyles = `:where(.bs-root){--bs-surface-d:#ffffff;--bs-surface-border-d:rgba(225,227,237,1);--bs-radius-d:20px;--bs-handle-color-d:rgba(26,22,20,0.3);--bs-handle-width:40px;--bs-handle-height:5px;--bs-z-backdrop:90;--bs-z-sheet:100;--bs-backdrop-color-d:rgba(0,0,0,0.5);--bs-scrim-color-d:transparent;--bs-scrim-blur:0px;--bs-z-scrim:calc(var(--bs-z-sheet) - 1);--bs-size:0px;--bs-progress:0}.bs-backdrop{position:fixed;inset:0;background:var(--bs-backdrop-color,var(--bs-backdrop-color-d));opacity:0;pointer-events:none;z-index:var(--bs-z-backdrop);transition:opacity 0.24s cubic-bezier(0.22,1,0.36,1);will-change:opacity}.bs-root[data-dragging="true"] .bs-backdrop,.bs-root[data-animating="true"] .bs-backdrop{transition:none}.bs-sheet{position:fixed;background:var(--bs-surface,var(--bs-surface-d));box-shadow:var(--bs-shadow,var(--bs-shadow-auto,none));z-index:var(--bs-z-sheet);pointer-events:auto;overflow:hidden;display:flex;flex-direction:column;-webkit-tap-highlight-color:transparent;user-select:none;overscroll-behavior:contain}.bs-sheet[data-mode="bottom"]{left:0;right:0;bottom:0;width:100%;border-top-left-radius:var(--bs-radius,var(--bs-radius-d));border-top-right-radius:var(--bs-radius,var(--bs-radius-d));border-top:1px solid var(--bs-surface-border,var(--bs-surface-border-d));padding-bottom:env(safe-area-inset-bottom);--bs-shadow-auto:0 calc(var(--bs-progress,0) * -2px - 3px) calc(var(--bs-progress,0) * 18px + 12px) rgba(0,0,0,calc(var(--bs-progress,0) * 0.15 + 0.12))}.bs-sheet[data-mode="top"]{left:0;right:0;top:0;width:100%;border-bottom-left-radius:var(--bs-radius,var(--bs-radius-d));border-bottom-right-radius:var(--bs-radius,var(--bs-radius-d));border-bottom:1px solid var(--bs-surface-border,var(--bs-surface-border-d));flex-direction:column-reverse;--bs-shadow-auto:0 3px 12px rgba(0,0,0,0.12);padding-top:env(safe-area-inset-top)}.bs-sheet[data-mode="left"]{top:0;bottom:0;left:0;height:100%;border-top-right-radius:var(--bs-radius,var(--bs-radius-d));border-bottom-right-radius:var(--bs-radius,var(--bs-radius-d));border-right:1px solid var(--bs-surface-border,var(--bs-surface-border-d));--bs-shadow-auto:3px 0 12px rgba(0,0,0,0.12)}.bs-sheet[data-mode="right"]{top:0;bottom:0;right:0;height:100%;border-top-left-radius:var(--bs-radius,var(--bs-radius-d));border-bottom-left-radius:var(--bs-radius,var(--bs-radius-d));border-left:1px solid var(--bs-surface-border,var(--bs-surface-border-d));--bs-shadow-auto:-3px 0 12px rgba(0,0,0,0.12)}.bs-sheet[data-mode="left"] .bs-content{padding-right:36px}.bs-sheet[data-mode="right"] .bs-content{padding-left:36px}.bs-handle{flex-shrink:0;min-height:44px;display:flex;flex-direction:column;justify-content:center;padding:var(--bs-handle-padding,8px 16px 4px);cursor:grab;touch-action:none;user-select:none;background:var(--bs-surface,var(--bs-surface-d));-webkit-tap-highlight-color:transparent;outline:none;position:relative}.bs-handle:active{cursor:grabbing}.bs-handle:focus-visible{outline:2px solid currentColor;outline-offset:-2px;border-radius:var(--bs-radius,var(--bs-radius-d))}.bs-handle::before{content:"";display:block;width:var(--bs-handle-width);height:var(--bs-handle-height);background:var(--bs-handle-color,var(--bs-handle-color-d));border-radius:calc(var(--bs-handle-height) / 2);margin:0 auto 8px;transition:width 0.15s ease,background 0.15s ease,transform 0.15s ease;pointer-events:none}.bs-sheet[data-mode="left"] .bs-handle,.bs-sheet[data-mode="right"] .bs-handle{position:absolute;top:0;bottom:0;width:28px;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;background:var(--bs-surface,var(--bs-surface-d));z-index:1;overflow:hidden}.bs-sheet[data-mode="left"] .bs-handle>*,.bs-sheet[data-mode="right"] .bs-handle>*{display:none}.bs-sheet[data-mode="left"] .bs-handle{right:0;border-left:1px solid var(--bs-surface-border,var(--bs-surface-border-d))}.bs-sheet[data-mode="right"] .bs-handle{left:0;border-right:1px solid var(--bs-surface-border,var(--bs-surface-border-d))}.bs-sheet[data-mode="left"] .bs-handle::before,.bs-sheet[data-mode="right"] .bs-handle::before{width:var(--bs-handle-height);height:var(--bs-handle-width);margin:0}.bs-sheet:hover .bs-handle::before{background:color-mix(in oklab,var(--bs-handle-color,var(--bs-handle-color-d)),#000 15%)}.bs-handle:active::before{background:color-mix(in oklab,var(--bs-handle-color,var(--bs-handle-color-d)),#000 35%);transform:scaleX(1.15)}.bs-handle.bs-handle--ticks::after{content:"";display:block;position:absolute;left:50%;bottom:6px;transform:translateX(-50%);width:calc(var(--bs-handle-width) * 2);height:3px;background-image:radial-gradient( circle,var(--bs-handle-color,var(--bs-handle-color-d)) 0 1.5px,transparent 1.6px );background-size:8px 3px;background-repeat:repeat-x;background-position:center;opacity:0;transition:opacity 0.18s ease-out;pointer-events:none}.bs-root[data-dragging="true"] .bs-handle.bs-handle--ticks::after{opacity:0.4}.bs-sheet[data-mode="top"] .bs-handle.bs-handle--ticks::after{bottom:auto;top:6px}.bs-sheet[data-mode="left"] .bs-handle.bs-handle--ticks::after,.bs-sheet[data-mode="right"] .bs-handle.bs-handle--ticks::after{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:3px;height:calc(var(--bs-handle-width) * 2);background-size:3px 8px;background-repeat:repeat-y;margin-left:calc(var(--bs-handle-height) + 6px)}.bs-sheet[data-mode="right"] .bs-handle.bs-handle--ticks::after{margin-left:calc(-1 * (var(--bs-handle-height) + 6px))}.bs-header{flex:0 0 auto;min-height:var(--bs-header-min-height,0px);padding:var(--bs-header-padding,0 16px 8px);background:var(--bs-surface,var(--bs-surface-d))}.bs-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;user-select:text;padding:var(--bs-content-padding,0 16px 16px)}.bs-footer{flex:0 0 auto;padding:var(--bs-footer-padding,12px 16px calc(12px + env(safe-area-inset-bottom)));border-top:1px solid var(--bs-surface-border,var(--bs-surface-border-d));background:var(--bs-surface,var(--bs-surface-d))}.bs-sheet[data-mode="bottom"]:has(.bs-footer:not([hidden]):has(*)){padding-bottom:0}.bs-header:not(:has(*)),.bs-footer:not(:has(*)),.bs-header[hidden],.bs-footer[hidden]{display:none}.bs-screen{position:absolute;inset:0;pointer-events:none;z-index:var(--bs-z-scrim);background:var(--bs-scrim-color,var(--bs-scrim-color-d));backdrop-filter:blur(var(--bs-scrim-blur,0px));-webkit-backdrop-filter:blur(var(--bs-scrim-blur,0px));transition:opacity 0.24s cubic-bezier(0.22,1,0.36,1);will-change:opacity}.bs-root[data-dragging="true"] .bs-screen,.bs-root[data-animating="true"] .bs-screen{transition:none}.bs-scrim-overlay{z-index:calc(var(--bs-z-sheet) + 1);pointer-events:none}.bs-button-slot{position:fixed;z-index:calc(var(--bs-z-sheet) + 1);pointer-events:auto}.bs-button-slot[data-side="left"]{left:16px;bottom:calc(var(--bs-size,0px) + 12px)}.bs-button-slot[data-side="right"]{right:16px;bottom:calc(var(--bs-size,0px) + 12px)}.bs-button-slot[data-mode="top"]{bottom:auto;top:calc(var(--bs-size,0px) + 12px)}.bs-button-slot[data-mode="left"]{left:calc(var(--bs-size,0px) + 12px);right:auto;bottom:auto;top:16px}.bs-button-slot[data-mode="right"]{right:calc(var(--bs-size,0px) + 12px);left:auto;bottom:auto;top:16px}@media (prefers-reduced-motion:reduce){.bs-backdrop,.bs-handle::before,.bs-button-slot[data-side="left"],.bs-button-slot[data-side="right"]{transition:none !important}}@media (prefers-color-scheme:dark){:where(.bs-root){--bs-surface-d:#1a1a1d;--bs-surface-border-d:rgba(255,255,255,0.08);--bs-handle-color-d:rgba(255,255,255,0.45);--bs-shadow-auto:0 -3px 16px rgba(0,0,0,0.5)}}@media (forced-colors:active){.bs-sheet{border:1px solid CanvasText}.bs-handle::before{background:CanvasText;forced-color-adjust:none}.bs-backdrop,.bs-screen{forced-color-adjust:none}}.bs-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:where(.ovl-root){--ovl-surface:var(--bs-surface,var(--bs-surface-d,#ffffff));--ovl-surface-border:var(--bs-surface-border,var(--bs-surface-border-d,rgba(0,0,0,0.08)));--ovl-shadow:0 -8px 40px rgba(0,0,0,0.35);--ovl-radius:var(--bs-radius,var(--bs-radius-d,20px));--ovl-backdrop-color:rgba(0,0,0,0.5);--ovl-z-backdrop:200;--ovl-z-panel:201}.ovl-backdrop{position:fixed;inset:0;background:var(--ovl-backdrop-color);opacity:0;pointer-events:none;z-index:var(--ovl-z-backdrop)}.ovl-panel{position:fixed;background:var(--ovl-surface);box-shadow:var(--ovl-shadow);z-index:var(--ovl-z-panel);-webkit-tap-highlight-color:transparent;outline:none;transition:transform 0.32s cubic-bezier(0.29,1.24,0.84,0.99),opacity 0.32s ease-out}.ovl-panel[data-state="open"]{transform:translate3d(0,0,0);opacity:1}@starting-style{.ovl-panel[data-edge="bottom"][data-state="open"]{transform:translate3d(0,100%,0);opacity:0}.ovl-panel[data-edge="top"][data-state="open"]{transform:translate3d(0,-100%,0);opacity:0}.ovl-panel[data-edge="left"][data-state="open"]{transform:translate3d(-100%,0,0);opacity:0}.ovl-panel[data-edge="right"][data-state="open"]{transform:translate3d(100%,0,0);opacity:0}}.ovl-panel[data-edge="bottom"]{left:0;right:0;bottom:0;width:100%;border-top-left-radius:var(--ovl-radius);border-top-right-radius:var(--ovl-radius);border-top:1px solid var(--ovl-surface-border);padding-bottom:env(safe-area-inset-bottom)}.ovl-panel[data-edge="top"]{left:0;right:0;top:0;width:100%;border-bottom-left-radius:var(--ovl-radius);border-bottom-right-radius:var(--ovl-radius);border-bottom:1px solid var(--ovl-surface-border);padding-top:env(safe-area-inset-top)}.ovl-panel[data-edge="left"]{top:0;bottom:0;left:0;height:100%;border-top-right-radius:var(--ovl-radius);border-bottom-right-radius:var(--ovl-radius);border-right:1px solid var(--ovl-surface-border)}.ovl-panel[data-edge="right"]{top:0;bottom:0;right:0;height:100%;border-top-left-radius:var(--ovl-radius);border-bottom-left-radius:var(--ovl-radius);border-left:1px solid var(--ovl-surface-border)}@media (prefers-reduced-motion:reduce){.ovl-panel,.ovl-backdrop{transition:none !important}}`;
|
|
3837
3890
|
}
|
|
3838
3891
|
});
|
|
3839
3892
|
|
|
@@ -4276,10 +4329,15 @@ var init_BottomSheetElement = __esm({
|
|
|
4276
4329
|
"progress",
|
|
4277
4330
|
(payload) => this.dispatchEvent(new CustomEvent("progress", { detail: payload }))
|
|
4278
4331
|
),
|
|
4279
|
-
this.engine.on(
|
|
4280
|
-
|
|
4281
|
-
|
|
4282
|
-
|
|
4332
|
+
this.engine.on("before-close", (payload) => {
|
|
4333
|
+
const accepted = this.dispatchEvent(
|
|
4334
|
+
new CustomEvent("before-close", {
|
|
4335
|
+
detail: payload,
|
|
4336
|
+
cancelable: true
|
|
4337
|
+
})
|
|
4338
|
+
);
|
|
4339
|
+
if (!accepted) payload.cancel();
|
|
4340
|
+
}),
|
|
4283
4341
|
this.engine.on(
|
|
4284
4342
|
"opened",
|
|
4285
4343
|
(payload) => this.dispatchEvent(new CustomEvent("opened", { detail: payload }))
|
|
@@ -4295,6 +4353,10 @@ var init_BottomSheetElement = __esm({
|
|
|
4295
4353
|
this.engine.on(
|
|
4296
4354
|
"dragend",
|
|
4297
4355
|
(payload) => this.dispatchEvent(new CustomEvent("drag-end", { detail: payload }))
|
|
4356
|
+
),
|
|
4357
|
+
this.engine.on(
|
|
4358
|
+
"drag",
|
|
4359
|
+
(payload) => this.dispatchEvent(new CustomEvent("drag", { detail: payload }))
|
|
4298
4360
|
)
|
|
4299
4361
|
];
|
|
4300
4362
|
}
|