@surdeddd/bottom-sheet 0.9.1 → 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.cjs
CHANGED
|
@@ -215,15 +215,27 @@ var init_cssLength = __esm({
|
|
|
215
215
|
}
|
|
216
216
|
});
|
|
217
217
|
|
|
218
|
+
// src/core/primitives/devWarn.ts
|
|
219
|
+
function devWarn(...args) {
|
|
220
|
+
if (typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" && typeof console !== "undefined") {
|
|
221
|
+
console.warn(...args);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
var init_devWarn = __esm({
|
|
225
|
+
"src/core/primitives/devWarn.ts"() {
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
|
|
218
229
|
// src/core/primitives/snap-points.ts
|
|
219
230
|
var resolveSnapList, VH_NOT_DVH, auditVhUsage, findNearest, allowedRange, findById, MOUSE_FLICK_VELOCITY, MOUSE_DRAG_THRESHOLD, DIRECTIONAL_INTENT_VELOCITY, findDragSettleTarget;
|
|
220
231
|
var init_snap_points = __esm({
|
|
221
232
|
"src/core/primitives/snap-points.ts"() {
|
|
222
233
|
init_cssLength();
|
|
234
|
+
init_devWarn();
|
|
223
235
|
resolveSnapList = (points, mode, measureFit) => points.map((p) => {
|
|
224
236
|
const raw = resolveSnap(p.size, mode, measureFit);
|
|
225
237
|
if (!Number.isFinite(raw) || raw < 0) {
|
|
226
|
-
|
|
238
|
+
devWarn(
|
|
227
239
|
`[BottomSheet] snap "${p.id}" resolved to invalid size (${String(p.size)} \u2192 ${raw}); clamped to 0.`
|
|
228
240
|
);
|
|
229
241
|
return { id: p.id, size: 0 };
|
|
@@ -235,7 +247,7 @@ var init_snap_points = __esm({
|
|
|
235
247
|
for (const p of points) {
|
|
236
248
|
if (typeof p.size !== "string") continue;
|
|
237
249
|
if (!VH_NOT_DVH.test(p.size)) continue;
|
|
238
|
-
|
|
250
|
+
devWarn(
|
|
239
251
|
`[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`
|
|
240
252
|
);
|
|
241
253
|
}
|
|
@@ -291,6 +303,31 @@ var init_snap_points = __esm({
|
|
|
291
303
|
}
|
|
292
304
|
});
|
|
293
305
|
|
|
306
|
+
// src/core/primitives/cancelable-emit.ts
|
|
307
|
+
function emitCancelable(emit, base, warnLabel) {
|
|
308
|
+
let cancelled = false;
|
|
309
|
+
let frozen = false;
|
|
310
|
+
emit({
|
|
311
|
+
...base,
|
|
312
|
+
cancel: () => {
|
|
313
|
+
if (frozen) {
|
|
314
|
+
devWarn(
|
|
315
|
+
`[BottomSheet] ${warnLabel}.cancel() called asynchronously \u2014 ignored. cancel() must be invoked synchronously inside the listener.`
|
|
316
|
+
);
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
cancelled = true;
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
frozen = true;
|
|
323
|
+
return cancelled;
|
|
324
|
+
}
|
|
325
|
+
var init_cancelable_emit = __esm({
|
|
326
|
+
"src/core/primitives/cancelable-emit.ts"() {
|
|
327
|
+
init_devWarn();
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
|
|
294
331
|
// src/core/primitives/snap-resolver.ts
|
|
295
332
|
var SnapResolver;
|
|
296
333
|
var init_snap_resolver = __esm({
|
|
@@ -449,7 +486,9 @@ function notifyLinkedSheets(sheets, self) {
|
|
|
449
486
|
try {
|
|
450
487
|
if (linked.state.size === 0) continue;
|
|
451
488
|
const ids = linked.getAllowedIds();
|
|
452
|
-
const
|
|
489
|
+
const resolved = linked.getResolvedSnaps();
|
|
490
|
+
const sizeOf = (id) => resolved.find((s) => s.id === id)?.size ?? 0;
|
|
491
|
+
const target = ids.find((id) => sizeOf(id) > 0);
|
|
453
492
|
if (target && target !== linked.state.activeId) {
|
|
454
493
|
void linked.snapTo(target);
|
|
455
494
|
}
|
|
@@ -679,11 +718,15 @@ function installVisualViewport(deps) {
|
|
|
679
718
|
if (clamp < deps.getMaxAxisSize()) {
|
|
680
719
|
deps.setMaxAxisSize(clamp);
|
|
681
720
|
}
|
|
721
|
+
const wasAnimating = deps.isAnimating?.() ?? false;
|
|
722
|
+
deps.cancelInFlight();
|
|
723
|
+
deps.newCycle();
|
|
682
724
|
const max = deps.getMaxAxisSize();
|
|
683
725
|
deps.setSize(Math.min(deps.getSize(), max));
|
|
684
726
|
const current = deps.resolveActiveSnap();
|
|
685
727
|
if (current && !deps.isDragging()) {
|
|
686
728
|
deps.applySize(Math.min(current.size, max));
|
|
729
|
+
if (wasAnimating) deps.resyncAfterCancel?.();
|
|
687
730
|
} else {
|
|
688
731
|
deps.applySize(deps.getSize());
|
|
689
732
|
}
|
|
@@ -839,6 +882,60 @@ var init_fit_observer = __esm({
|
|
|
839
882
|
}
|
|
840
883
|
});
|
|
841
884
|
|
|
885
|
+
// src/core/features/max-height-controller.ts
|
|
886
|
+
function createMaxHeightController(deps) {
|
|
887
|
+
let maxHeightCap;
|
|
888
|
+
let maxHeightRaw;
|
|
889
|
+
const resolveCap = () => {
|
|
890
|
+
const raw = maxHeightRaw;
|
|
891
|
+
if (raw === void 0) {
|
|
892
|
+
maxHeightCap = void 0;
|
|
893
|
+
return;
|
|
894
|
+
}
|
|
895
|
+
if (typeof raw === "number") {
|
|
896
|
+
maxHeightCap = raw;
|
|
897
|
+
return;
|
|
898
|
+
}
|
|
899
|
+
if (typeof window === "undefined") return;
|
|
900
|
+
const measured = resolveSnap(raw, deps.mode);
|
|
901
|
+
maxHeightCap = measured > 0 ? measured : void 0;
|
|
902
|
+
};
|
|
903
|
+
const clampTo = () => {
|
|
904
|
+
if (maxHeightCap === void 0) return;
|
|
905
|
+
if (deps.getMaxAxisSize() > maxHeightCap) {
|
|
906
|
+
deps.setMaxAxisSize(maxHeightCap);
|
|
907
|
+
}
|
|
908
|
+
};
|
|
909
|
+
return {
|
|
910
|
+
setRadius(r) {
|
|
911
|
+
deps.element.style.setProperty(
|
|
912
|
+
"--bs-radius",
|
|
913
|
+
typeof r === "number" ? `${r}px` : r
|
|
914
|
+
);
|
|
915
|
+
},
|
|
916
|
+
setMaxHeight(h) {
|
|
917
|
+
const value = typeof h === "number" ? `${h}px` : h;
|
|
918
|
+
const axis = layoutAxis(deps.mode);
|
|
919
|
+
deps.element.style.setProperty(
|
|
920
|
+
axis === "height" ? "max-height" : "max-width",
|
|
921
|
+
value
|
|
922
|
+
);
|
|
923
|
+
maxHeightRaw = h;
|
|
924
|
+
resolveCap();
|
|
925
|
+
deps.recompute();
|
|
926
|
+
},
|
|
927
|
+
resolveCap,
|
|
928
|
+
clampTo,
|
|
929
|
+
getCap: () => maxHeightCap
|
|
930
|
+
};
|
|
931
|
+
}
|
|
932
|
+
var init_max_height_controller = __esm({
|
|
933
|
+
"src/core/features/max-height-controller.ts"() {
|
|
934
|
+
init_snap_points();
|
|
935
|
+
init_transform();
|
|
936
|
+
}
|
|
937
|
+
});
|
|
938
|
+
|
|
842
939
|
// src/core/features/fit-measurement.ts
|
|
843
940
|
var measureSheetNatural, containingExtent, measureFitSize;
|
|
844
941
|
var init_fit_measurement = __esm({
|
|
@@ -995,17 +1092,6 @@ var init_opacity_dedup = __esm({
|
|
|
995
1092
|
}
|
|
996
1093
|
});
|
|
997
1094
|
|
|
998
|
-
// src/core/primitives/devWarn.ts
|
|
999
|
-
function devWarn(...args) {
|
|
1000
|
-
if (typeof process !== "undefined" && process.env && process.env.NODE_ENV !== "production" && typeof console !== "undefined") {
|
|
1001
|
-
console.warn(...args);
|
|
1002
|
-
}
|
|
1003
|
-
}
|
|
1004
|
-
var init_devWarn = __esm({
|
|
1005
|
-
"src/core/primitives/devWarn.ts"() {
|
|
1006
|
-
}
|
|
1007
|
-
});
|
|
1008
|
-
|
|
1009
1095
|
// src/core/primitives/overlay-position.ts
|
|
1010
1096
|
function resolveSheetAnchoredStyle(mode, position, inset) {
|
|
1011
1097
|
const sizeOffset = `calc(var(--bs-size, 0px) + ${inset})`;
|
|
@@ -2756,6 +2842,8 @@ var init_BottomSheetEngine = __esm({
|
|
|
2756
2842
|
init_instance_id();
|
|
2757
2843
|
init_event_bus();
|
|
2758
2844
|
init_snap_points();
|
|
2845
|
+
init_cancelable_emit();
|
|
2846
|
+
init_devWarn();
|
|
2759
2847
|
init_snap_resolver();
|
|
2760
2848
|
init_persist();
|
|
2761
2849
|
init_auto_collapse();
|
|
@@ -2765,6 +2853,7 @@ var init_BottomSheetEngine = __esm({
|
|
|
2765
2853
|
init_visual_viewport();
|
|
2766
2854
|
init_resize_observer();
|
|
2767
2855
|
init_fit_observer();
|
|
2856
|
+
init_max_height_controller();
|
|
2768
2857
|
init_fit_measurement();
|
|
2769
2858
|
init_slider_keyboard();
|
|
2770
2859
|
init_scrim_controller();
|
|
@@ -2803,8 +2892,7 @@ var init_BottomSheetEngine = __esm({
|
|
|
2803
2892
|
__publicField(this, "disableCloseFlag");
|
|
2804
2893
|
__publicField(this, "disableDragFlag");
|
|
2805
2894
|
__publicField(this, "closeOnRouteChange");
|
|
2806
|
-
__publicField(this, "
|
|
2807
|
-
__publicField(this, "maxHeightRaw");
|
|
2895
|
+
__publicField(this, "maxHeight");
|
|
2808
2896
|
__publicField(this, "snapPointsRaw");
|
|
2809
2897
|
__publicField(this, "snaps");
|
|
2810
2898
|
__publicField(this, "activeId");
|
|
@@ -2915,11 +3003,20 @@ var init_BottomSheetEngine = __esm({
|
|
|
2915
3003
|
auditVhUsage(this.snapPointsRaw);
|
|
2916
3004
|
this.auditDuplicateSnapIds(this.snapPointsRaw);
|
|
2917
3005
|
this.rootEl = this.element.closest(".bs-root");
|
|
3006
|
+
this.maxHeight = createMaxHeightController({
|
|
3007
|
+
element: this.element,
|
|
3008
|
+
mode: this.mode,
|
|
3009
|
+
getMaxAxisSize: () => this.snaps.getMaxAxisSize(),
|
|
3010
|
+
setMaxAxisSize: (size) => {
|
|
3011
|
+
this.snaps.setMaxAxisSize(size);
|
|
3012
|
+
},
|
|
3013
|
+
recompute: () => this.recompute()
|
|
3014
|
+
});
|
|
2918
3015
|
this.fitDeps = {
|
|
2919
3016
|
element: this.element,
|
|
2920
3017
|
scrollContainer: this.scrollContainer,
|
|
2921
3018
|
mode: this.mode,
|
|
2922
|
-
getMaxHeightCap: () => this.
|
|
3019
|
+
getMaxHeightCap: () => this.maxHeight.getCap()
|
|
2923
3020
|
};
|
|
2924
3021
|
this.snaps = new SnapResolver(
|
|
2925
3022
|
this.snapPointsRaw,
|
|
@@ -3030,7 +3127,7 @@ var init_BottomSheetEngine = __esm({
|
|
|
3030
3127
|
}
|
|
3031
3128
|
use(plugin) {
|
|
3032
3129
|
if (this.destroyed) {
|
|
3033
|
-
|
|
3130
|
+
devWarn(
|
|
3034
3131
|
`[BottomSheet] use("${plugin.name}") called on destroyed engine \u2014 ignored.`
|
|
3035
3132
|
);
|
|
3036
3133
|
return this;
|
|
@@ -3072,6 +3169,9 @@ var init_BottomSheetEngine = __esm({
|
|
|
3072
3169
|
getAllowedIds() {
|
|
3073
3170
|
return this.snaps.getAllowedIds().slice();
|
|
3074
3171
|
}
|
|
3172
|
+
getResolvedSnaps() {
|
|
3173
|
+
return this.snaps.getResolvedSnaps();
|
|
3174
|
+
}
|
|
3075
3175
|
async snapTo(id, velocityOrOpts = 0, _skipBeforeSnap = false) {
|
|
3076
3176
|
if (this.destroyed) return;
|
|
3077
3177
|
const opts = typeof velocityOrOpts === "object" ? velocityOrOpts : { velocity: velocityOrOpts };
|
|
@@ -3080,11 +3180,11 @@ var init_BottomSheetEngine = __esm({
|
|
|
3080
3180
|
if (externalSignal?.aborted) return;
|
|
3081
3181
|
const target = this.snaps.findById(id);
|
|
3082
3182
|
if (!target) {
|
|
3083
|
-
|
|
3183
|
+
devWarn(`[BottomSheet] unknown snap id: ${id}`);
|
|
3084
3184
|
return;
|
|
3085
3185
|
}
|
|
3086
3186
|
if (!this.snaps.getAllowedIds().includes(id)) {
|
|
3087
|
-
|
|
3187
|
+
devWarn(`[BottomSheet] snap "${id}" is not in allowed list`);
|
|
3088
3188
|
return;
|
|
3089
3189
|
}
|
|
3090
3190
|
if (!_skipBeforeSnap && this.emitBeforeSnap(target, this.activeId)) {
|
|
@@ -3216,42 +3316,11 @@ var init_BottomSheetEngine = __esm({
|
|
|
3216
3316
|
}
|
|
3217
3317
|
setRadius(r) {
|
|
3218
3318
|
if (this.destroyed) return;
|
|
3219
|
-
this.
|
|
3220
|
-
"--bs-radius",
|
|
3221
|
-
typeof r === "number" ? `${r}px` : r
|
|
3222
|
-
);
|
|
3319
|
+
this.maxHeight.setRadius(r);
|
|
3223
3320
|
}
|
|
3224
3321
|
setMaxHeight(h) {
|
|
3225
3322
|
if (this.destroyed) return;
|
|
3226
|
-
|
|
3227
|
-
const axis = layoutAxis(this.mode);
|
|
3228
|
-
this.element.style.setProperty(
|
|
3229
|
-
axis === "height" ? "max-height" : "max-width",
|
|
3230
|
-
value
|
|
3231
|
-
);
|
|
3232
|
-
this.maxHeightRaw = h;
|
|
3233
|
-
this.resolveMaxHeightCap();
|
|
3234
|
-
this.recompute();
|
|
3235
|
-
}
|
|
3236
|
-
resolveMaxHeightCap() {
|
|
3237
|
-
const raw = this.maxHeightRaw;
|
|
3238
|
-
if (raw === void 0) {
|
|
3239
|
-
this.maxHeightCap = void 0;
|
|
3240
|
-
return;
|
|
3241
|
-
}
|
|
3242
|
-
if (typeof raw === "number") {
|
|
3243
|
-
this.maxHeightCap = raw;
|
|
3244
|
-
return;
|
|
3245
|
-
}
|
|
3246
|
-
if (typeof window === "undefined") return;
|
|
3247
|
-
const measured = resolveSnap(raw, this.mode);
|
|
3248
|
-
this.maxHeightCap = measured > 0 ? measured : void 0;
|
|
3249
|
-
}
|
|
3250
|
-
clampToMaxHeight() {
|
|
3251
|
-
if (this.maxHeightCap === void 0) return;
|
|
3252
|
-
if (this.snaps.getMaxAxisSize() > this.maxHeightCap) {
|
|
3253
|
-
this.snaps.setMaxAxisSize(this.maxHeightCap);
|
|
3254
|
-
}
|
|
3323
|
+
this.maxHeight.setMaxHeight(h);
|
|
3255
3324
|
}
|
|
3256
3325
|
setAllowed(ids, snap) {
|
|
3257
3326
|
if (this.destroyed) return;
|
|
@@ -3339,7 +3408,7 @@ var init_BottomSheetEngine = __esm({
|
|
|
3339
3408
|
};
|
|
3340
3409
|
const host = this.screenComponent?.parentElement;
|
|
3341
3410
|
if (!host) {
|
|
3342
|
-
|
|
3411
|
+
devWarn(
|
|
3343
3412
|
"[BottomSheet] setScrimStages: no scrim element mounted \u2014 pass `scrim` to the engine first."
|
|
3344
3413
|
);
|
|
3345
3414
|
return () => {
|
|
@@ -3389,9 +3458,9 @@ var init_BottomSheetEngine = __esm({
|
|
|
3389
3458
|
}
|
|
3390
3459
|
recompute() {
|
|
3391
3460
|
if (this.destroyed) return;
|
|
3392
|
-
this.
|
|
3461
|
+
this.maxHeight.resolveCap();
|
|
3393
3462
|
this.snaps.recompute();
|
|
3394
|
-
this.
|
|
3463
|
+
this.maxHeight.clampTo();
|
|
3395
3464
|
this.scrim.invalidateOpacityCache();
|
|
3396
3465
|
if (this.gesture?.isDragging) return;
|
|
3397
3466
|
const current = this.snaps.findById(this.activeId);
|
|
@@ -3441,42 +3510,18 @@ var init_BottomSheetEngine = __esm({
|
|
|
3441
3510
|
return this.currentAbort.signal;
|
|
3442
3511
|
}
|
|
3443
3512
|
emitBeforeSnap(target, previousId) {
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
previousId,
|
|
3450
|
-
cancel: () => {
|
|
3451
|
-
if (frozen) {
|
|
3452
|
-
console.warn(
|
|
3453
|
-
"[BottomSheet] before-snap.cancel() called asynchronously \u2014 ignored. cancel() must be invoked synchronously inside the listener."
|
|
3454
|
-
);
|
|
3455
|
-
return;
|
|
3456
|
-
}
|
|
3457
|
-
cancelled = true;
|
|
3458
|
-
}
|
|
3459
|
-
});
|
|
3460
|
-
frozen = true;
|
|
3461
|
-
return cancelled;
|
|
3513
|
+
return emitCancelable(
|
|
3514
|
+
(payload) => this.emit("before-snap", payload),
|
|
3515
|
+
{ id: target.id, size: target.size, previousId },
|
|
3516
|
+
"before-snap"
|
|
3517
|
+
);
|
|
3462
3518
|
}
|
|
3463
3519
|
emitBeforeClose(reason) {
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
if (frozen) {
|
|
3470
|
-
console.warn(
|
|
3471
|
-
"[BottomSheet] before-close.cancel() called asynchronously \u2014 ignored. cancel() must be invoked synchronously inside the listener."
|
|
3472
|
-
);
|
|
3473
|
-
return;
|
|
3474
|
-
}
|
|
3475
|
-
cancelled = true;
|
|
3476
|
-
}
|
|
3477
|
-
});
|
|
3478
|
-
frozen = true;
|
|
3479
|
-
return cancelled;
|
|
3520
|
+
return emitCancelable(
|
|
3521
|
+
(payload) => this.emit("before-close", payload),
|
|
3522
|
+
{ reason },
|
|
3523
|
+
"before-close"
|
|
3524
|
+
);
|
|
3480
3525
|
}
|
|
3481
3526
|
applyAutoAriaLabelledBy() {
|
|
3482
3527
|
if (typeof document === "undefined") return;
|
|
@@ -3491,16 +3536,16 @@ var init_BottomSheetEngine = __esm({
|
|
|
3491
3536
|
this.element.setAttribute("aria-labelledby", titled.id);
|
|
3492
3537
|
}
|
|
3493
3538
|
recomputeSnaps() {
|
|
3494
|
-
this.
|
|
3539
|
+
this.maxHeight.resolveCap();
|
|
3495
3540
|
this.snaps.setRaw(this.snapPointsRaw);
|
|
3496
|
-
this.
|
|
3541
|
+
this.maxHeight.clampTo();
|
|
3497
3542
|
this.scrim.invalidateOpacityCache();
|
|
3498
3543
|
}
|
|
3499
3544
|
auditDuplicateSnapIds(points) {
|
|
3500
3545
|
const seen = /* @__PURE__ */ new Set();
|
|
3501
3546
|
for (const p of points) {
|
|
3502
3547
|
if (seen.has(p.id)) {
|
|
3503
|
-
|
|
3548
|
+
devWarn(
|
|
3504
3549
|
`[BottomSheet] duplicate snap id "${p.id}" \u2014 only the first occurrence is reachable.`
|
|
3505
3550
|
);
|
|
3506
3551
|
}
|
|
@@ -3667,7 +3712,15 @@ var init_BottomSheetEngine = __esm({
|
|
|
3667
3712
|
setSize: (size) => {
|
|
3668
3713
|
this.size = size;
|
|
3669
3714
|
},
|
|
3670
|
-
applySize: (size) => this.applySize(size)
|
|
3715
|
+
applySize: (size) => this.applySize(size),
|
|
3716
|
+
cancelInFlight: () => {
|
|
3717
|
+
this.animation.cancel();
|
|
3718
|
+
},
|
|
3719
|
+
newCycle: () => {
|
|
3720
|
+
this.newCycle();
|
|
3721
|
+
},
|
|
3722
|
+
isAnimating: () => this.animation.isAnimating,
|
|
3723
|
+
resyncAfterCancel: () => this.resyncAfterResize()
|
|
3671
3724
|
}));
|
|
3672
3725
|
}
|
|
3673
3726
|
this.teardowns.add(installSliderKeyboard({
|
|
@@ -3835,7 +3888,7 @@ var init_BottomSheetEngine = __esm({
|
|
|
3835
3888
|
var baseStyles;
|
|
3836
3889
|
var init_baseStyles = __esm({
|
|
3837
3890
|
"src/web-component/baseStyles.ts"() {
|
|
3838
|
-
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}}`;
|
|
3891
|
+
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}}`;
|
|
3839
3892
|
}
|
|
3840
3893
|
});
|
|
3841
3894
|
|
|
@@ -4278,10 +4331,15 @@ var init_BottomSheetElement = __esm({
|
|
|
4278
4331
|
"progress",
|
|
4279
4332
|
(payload) => this.dispatchEvent(new CustomEvent("progress", { detail: payload }))
|
|
4280
4333
|
),
|
|
4281
|
-
this.engine.on(
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
|
|
4334
|
+
this.engine.on("before-close", (payload) => {
|
|
4335
|
+
const accepted = this.dispatchEvent(
|
|
4336
|
+
new CustomEvent("before-close", {
|
|
4337
|
+
detail: payload,
|
|
4338
|
+
cancelable: true
|
|
4339
|
+
})
|
|
4340
|
+
);
|
|
4341
|
+
if (!accepted) payload.cancel();
|
|
4342
|
+
}),
|
|
4285
4343
|
this.engine.on(
|
|
4286
4344
|
"opened",
|
|
4287
4345
|
(payload) => this.dispatchEvent(new CustomEvent("opened", { detail: payload }))
|
|
@@ -4297,6 +4355,10 @@ var init_BottomSheetElement = __esm({
|
|
|
4297
4355
|
this.engine.on(
|
|
4298
4356
|
"dragend",
|
|
4299
4357
|
(payload) => this.dispatchEvent(new CustomEvent("drag-end", { detail: payload }))
|
|
4358
|
+
),
|
|
4359
|
+
this.engine.on(
|
|
4360
|
+
"drag",
|
|
4361
|
+
(payload) => this.dispatchEvent(new CustomEvent("drag", { detail: payload }))
|
|
4300
4362
|
)
|
|
4301
4363
|
];
|
|
4302
4364
|
}
|
package/dist/element.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as BottomSheetEngine, C as CloseReason, A as AnchorOptions, S as ScrimStagesOptions, E as EngineState } from './BottomSheetEngine-
|
|
1
|
+
import { B as BottomSheetEngine, C as CloseReason, A as AnchorOptions, S as ScrimStagesOptions, E as EngineState } from './BottomSheetEngine-DzsIwD28.cjs';
|
|
2
2
|
import './transform-jVfAikE9.cjs';
|
|
3
3
|
|
|
4
4
|
declare const BaseHTMLElement: typeof HTMLElement;
|
package/dist/element.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as BottomSheetEngine, C as CloseReason, A as AnchorOptions, S as ScrimStagesOptions, E as EngineState } from './BottomSheetEngine-
|
|
1
|
+
import { B as BottomSheetEngine, C as CloseReason, A as AnchorOptions, S as ScrimStagesOptions, E as EngineState } from './BottomSheetEngine-DRjCU73e.js';
|
|
2
2
|
import './transform-jVfAikE9.js';
|
|
3
3
|
|
|
4
4
|
declare const BaseHTMLElement: typeof HTMLElement;
|