framework7 8.2.0 → 8.3.1

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.
Files changed (48) hide show
  1. package/components/app/app-class.js +5 -5
  2. package/components/calendar/calendar.d.ts +1 -1
  3. package/components/color-picker/color-picker.less +8 -2
  4. package/components/navbar/navbar-ios.less +4 -4
  5. package/components/page/page-md.less +2 -1
  6. package/components/panel/panel-rtl.css +1 -1
  7. package/components/panel/panel.css +1 -1
  8. package/components/panel/panel.less +2 -2
  9. package/components/popup/popup-class.js +1 -0
  10. package/components/popup/popup-rtl.css +1 -1
  11. package/components/popup/popup.css +1 -1
  12. package/components/popup/popup.less +3 -0
  13. package/components/preloader/preloader-md.less +2 -1
  14. package/components/pull-to-refresh/pull-to-refresh-md.less +3 -1
  15. package/components/sheet/sheet-class.js +216 -18
  16. package/components/sheet/sheet-rtl.css +1 -1
  17. package/components/sheet/sheet.css +1 -1
  18. package/components/sheet/sheet.d.ts +16 -1
  19. package/components/sheet/sheet.js +8 -0
  20. package/components/sheet/sheet.less +8 -14
  21. package/components/sortable/sortable-rtl.css +1 -1
  22. package/components/sortable/sortable.css +1 -1
  23. package/components/sortable/sortable.less +1 -0
  24. package/components/swiper/swiper-rtl.css +1 -1
  25. package/components/swiper/swiper.css +1 -1
  26. package/components/swiper/swiper.less +1 -1
  27. package/framework7-bundle-rtl.css +30 -24
  28. package/framework7-bundle-rtl.min.css +5 -5
  29. package/framework7-bundle.css +30 -24
  30. package/framework7-bundle.esm.js +3 -3
  31. package/framework7-bundle.js +1895 -259
  32. package/framework7-bundle.js.map +1 -1
  33. package/framework7-bundle.less +3 -3
  34. package/framework7-bundle.min.css +5 -5
  35. package/framework7-bundle.min.js +4 -4
  36. package/framework7-bundle.min.js.map +1 -1
  37. package/framework7-lite-bundle.esm.js +3 -3
  38. package/framework7-lite.esm.js +3 -3
  39. package/framework7-rtl.css +3 -3
  40. package/framework7-rtl.min.css +3 -3
  41. package/framework7.css +3 -3
  42. package/framework7.esm.js +3 -3
  43. package/framework7.less +3 -3
  44. package/framework7.min.css +3 -3
  45. package/modules/clicks/clicks.js +1 -1
  46. package/modules/router/component-loader.js +42 -8
  47. package/package.json +27 -9
  48. package/shared/material-color-utils.js +622 -5
@@ -120,6 +120,7 @@ class Sheet extends Modal {
120
120
  function pushViewScale(offset) {
121
121
  return (app.height - offset * 2) / app.height;
122
122
  }
123
+ const useBreakpoints = sheet.params.breakpoints && sheet.params.breakpoints.length > 0;
123
124
  let isTouched = false;
124
125
  let startTouch;
125
126
  let currentTouch;
@@ -140,11 +141,15 @@ class Sheet extends Modal {
140
141
  let sheetPageContentScrollTop;
141
142
  let sheetPageContentScrollHeight;
142
143
  let sheetPageContentOffsetHeight;
144
+ let breakpointsTranslate = [];
145
+ let currentBreakpointIndex;
146
+ let backdropBreakpointSet = true;
143
147
  function handleTouchStart(e) {
144
148
  if (isTouched || !(sheet.params.swipeToClose || sheet.params.swipeToStep) || !e.isTrusted) return;
145
149
  if (sheet.params.swipeHandler && $(e.target).closest(sheet.params.swipeHandler).length === 0) {
146
150
  return;
147
151
  }
152
+ if ($(e.target).closest('.sortable-handler').length > 0) return;
148
153
  isTouched = true;
149
154
  isMoved = false;
150
155
  startTouch = {
@@ -196,14 +201,23 @@ class Sheet extends Modal {
196
201
  maxTranslate = 0;
197
202
  } else {
198
203
  minTranslate = 0;
199
- maxTranslate = sheet.params.swipeToClose ? sheetElOffsetHeight : swipeStepTranslate;
204
+ maxTranslate = sheet.params.swipeToClose ? sheetElOffsetHeight : useBreakpoints ? breakpointsTranslate[0] : swipeStepTranslate;
200
205
  }
201
206
  isMoved = true;
202
207
  }
203
208
  currentTranslate = startTranslate - touchesDiff;
204
209
  currentTranslate = Math.min(Math.max(currentTranslate, minTranslate), maxTranslate);
205
210
  e.preventDefault();
206
- if (sheet.push && pushOffset) {
211
+ if (useBreakpoints) {
212
+ let progress = isTopSheetModal ? 1 + currentTranslate / sheetElOffsetHeight : 1 - currentTranslate / sheetElOffsetHeight;
213
+ progress = Math.abs(progress);
214
+ progress = Math.min(Math.max(progress, 0), 1);
215
+ // eslint-disable-next-line
216
+ setBackdropBreakpoint(progress);
217
+ // eslint-disable-next-line
218
+ setPushBreakpoint(progress);
219
+ }
220
+ if (sheet.push && pushOffset && !useBreakpoints) {
207
221
  let progress = (currentTranslate - startTranslate) / sheetElOffsetHeight;
208
222
  if (sheet.params.swipeToStep) {
209
223
  if (isTopSheetModal) {
@@ -244,14 +258,17 @@ class Sheet extends Modal {
244
258
  isMoved = false;
245
259
  $el.transform('').transition('');
246
260
  if (sheet.push && pushOffset) {
247
- $pushViewEl.transition('').transform('');
248
- $pushViewEl.css('border-radius', '');
261
+ $pushViewEl.transition('');
262
+ if (!useBreakpoints) {
263
+ $pushViewEl.transform('');
264
+ $pushViewEl.css('border-radius', '');
265
+ }
249
266
  }
250
267
  const direction = touchesDiff < 0 ? 'to-bottom' : 'to-top';
251
268
  const diff = Math.abs(touchesDiff);
252
269
  if (diff === 0 || currentTranslate === startTranslate) return;
253
270
  const timeDiff = new Date().getTime() - touchStartTime;
254
- if (!sheet.params.swipeToStep) {
271
+ if (!sheet.params.swipeToStep && !useBreakpoints) {
255
272
  if (direction !== (isTopSheetModal ? 'to-top' : 'to-bottom')) {
256
273
  return;
257
274
  }
@@ -264,7 +281,34 @@ class Sheet extends Modal {
264
281
  const closeDirection = isTopSheetModal ? 'to-top' : 'to-bottom';
265
282
  const absCurrentTranslate = Math.abs(currentTranslate);
266
283
  const absSwipeStepTranslate = Math.abs(swipeStepTranslate);
267
- if (timeDiff < 300 && diff > 10) {
284
+ if (timeDiff < 300 && diff > 10 && useBreakpoints) {
285
+ // SHORT SWIPES BREAKPOINTS
286
+ if (direction === openDirection && typeof currentBreakpointIndex !== 'undefined') {
287
+ if (currentBreakpointIndex === params.breakpoints.length - 1) {
288
+ // open
289
+ sheet.setBreakpoint(1);
290
+ } else {
291
+ // move to next breakpoint
292
+ currentBreakpointIndex = Math.min(breakpointsTranslate.length - 1, currentBreakpointIndex + 1);
293
+ sheet.setBreakpoint(params.breakpoints[currentBreakpointIndex]);
294
+ }
295
+ }
296
+ if (direction === closeDirection) {
297
+ if (currentBreakpointIndex === 0) {
298
+ // close
299
+ sheet.close();
300
+ } else {
301
+ // move to prev breakpoint
302
+ if (typeof currentBreakpointIndex === 'undefined') {
303
+ currentBreakpointIndex = params.breakpoints.length - 1;
304
+ } else {
305
+ currentBreakpointIndex = Math.max(0, currentBreakpointIndex - 1);
306
+ }
307
+ sheet.setBreakpoint(params.breakpoints[currentBreakpointIndex]);
308
+ }
309
+ }
310
+ } else if (timeDiff < 300 && diff > 10) {
311
+ // SHORT SWIPES SWIPE STEP
268
312
  if (direction === openDirection && absCurrentTranslate < absSwipeStepTranslate) {
269
313
  // open step
270
314
  $el.removeClass('modal-in-swipe-step');
@@ -311,7 +355,26 @@ class Sheet extends Modal {
311
355
  }
312
356
  return;
313
357
  }
314
- if (timeDiff >= 300) {
358
+ if (timeDiff >= 300 && useBreakpoints) {
359
+ // LONG SWIPES BREAKPOINTS
360
+ const allBreakpoints = [sheetElOffsetHeight, ...breakpointsTranslate, 0];
361
+ const closestTranslate = allBreakpoints.reduce((prev, curr) => {
362
+ return Math.abs(curr - currentTranslate) < Math.abs(prev - currentTranslate) ? curr : prev;
363
+ });
364
+ const closestIndex = allBreakpoints.indexOf(closestTranslate);
365
+ if (closestTranslate === 0) {
366
+ // open
367
+ sheet.setBreakpoint(1);
368
+ } else if (closestIndex === 0) {
369
+ // close
370
+ sheet.close();
371
+ } else {
372
+ // set bp
373
+ currentBreakpointIndex = closestIndex - 1;
374
+ sheet.setBreakpoint(params.breakpoints[currentBreakpointIndex]);
375
+ }
376
+ } else if (timeDiff >= 300) {
377
+ // LONG SWIPES SWIPE STEP
315
378
  const stepOpened = !$el.hasClass('modal-in-swipe-step');
316
379
  if (!stepOpened) {
317
380
  if (absCurrentTranslate < absSwipeStepTranslate / 2) {
@@ -350,12 +413,133 @@ class Sheet extends Modal {
350
413
  }
351
414
  }
352
415
  }
416
+ const setPushBreakpoint = breakpoint => {
417
+ const {
418
+ pushBreakpoint
419
+ } = params;
420
+ if (pushBreakpoint === null || typeof pushBreakpoint === 'undefined' || !sheet.push || !pushOffset) return;
421
+ if (breakpoint >= pushBreakpoint) {
422
+ sheet.$htmlEl.addClass('with-modal-sheet-push').removeClass('with-modal-sheet-push-closing');
423
+ $pushViewEl.transition('').forEach(el => {
424
+ el.style.setProperty('transform', `translate3d(0,0,0) scale(${pushViewScale(pushOffset)})`, 'important');
425
+ });
426
+ $pushViewEl.css('border-radius', `${pushBorderRadius * 1}px`);
427
+ } else {
428
+ const pushBreakpoints = [0, ...params.breakpoints, 1];
429
+ const pushTransparentBreakpoint = pushBreakpoints[pushBreakpoints.indexOf(pushBreakpoint) - 1];
430
+ if (breakpoint <= pushTransparentBreakpoint) {
431
+ $pushViewEl.transition('').css('transform', '');
432
+ $pushViewEl.css('border-radius', '');
433
+ sheet.$htmlEl.removeClass('with-modal-sheet-push');
434
+ if (breakpoint === pushTransparentBreakpoint) {
435
+ sheet.$htmlEl.addClass('with-modal-sheet-push-closing');
436
+ }
437
+ } else {
438
+ const progress = (breakpoint - pushTransparentBreakpoint) / (pushBreakpoint - pushTransparentBreakpoint);
439
+ sheet.$htmlEl.addClass('with-modal-sheet-push').removeClass('with-modal-sheet-push-closing');
440
+ $pushViewEl.transition(0).forEach(el => {
441
+ el.style.setProperty('transform', `translate3d(0,0,0) scale(${1 - (1 - pushViewScale(pushOffset)) * progress})`, 'important');
442
+ });
443
+ $pushViewEl.css('border-radius', `${pushBorderRadius * progress}px`);
444
+ }
445
+ }
446
+ };
447
+ const setBackdropBreakpoint = breakpoint => {
448
+ const {
449
+ backdrop,
450
+ backdropBreakpoint
451
+ } = params;
452
+ if (!backdropBreakpoint || !backdrop || !$backdropEl.length) return;
453
+ if (breakpoint >= backdropBreakpoint) {
454
+ if (!backdropBreakpointSet) {
455
+ $backdropEl.transition('').css({
456
+ opacity: '',
457
+ pointerEvents: ''
458
+ });
459
+ }
460
+ backdropBreakpointSet = true;
461
+ } else {
462
+ const backdropBreakpoints = [0, ...params.breakpoints, 1];
463
+ const backdropTransparentBreakpoint = backdropBreakpoints[backdropBreakpoints.indexOf(backdropBreakpoint) - 1];
464
+ if (breakpoint <= backdropTransparentBreakpoint) {
465
+ if (backdropBreakpointSet) {
466
+ $backdropEl.transition('').css({
467
+ opacity: 0,
468
+ pointerEvents: 'none'
469
+ });
470
+ }
471
+ backdropBreakpointSet = false;
472
+ } else {
473
+ const progress = (breakpoint - backdropTransparentBreakpoint) / (backdropBreakpoint - backdropTransparentBreakpoint);
474
+ $backdropEl.transition(0).css({
475
+ opacity: progress,
476
+ pointerEvents: 'auto'
477
+ });
478
+ }
479
+ }
480
+ };
481
+ sheet.calcBreakpoints = () => {
482
+ if (!useBreakpoints) {
483
+ return;
484
+ }
485
+ const fullSize = $el[0].offsetHeight;
486
+ // eslint-disable-next-line
487
+ const isTopSheetModal = $el.hasClass('sheet-modal-top');
488
+ breakpointsTranslate = [];
489
+ sheet.params.breakpoints.forEach(ratio => {
490
+ breakpointsTranslate.push((fullSize - fullSize * ratio) * (isTopSheetModal ? -1 : 1));
491
+ });
492
+ };
493
+ sheet.setBreakpoint = value => {
494
+ if (!useBreakpoints) {
495
+ return sheet;
496
+ }
497
+ if (value === 1) {
498
+ // open
499
+ if (!sheet.opened) {
500
+ sheet.open();
501
+ }
502
+ $el.removeClass('modal-in-breakpoint');
503
+ currentBreakpointIndex = undefined;
504
+ setBackdropBreakpoint(value);
505
+ setPushBreakpoint(value);
506
+ $el.trigger('sheet:breakpoint', value);
507
+ sheet.emit('local::breakpoint sheetBreakpoint', sheet, value);
508
+ } else if (value === 0) {
509
+ // close
510
+ $el.trigger('sheet:breakpoint', value);
511
+ sheet.emit('local::breakpoint sheetBreakpoint', sheet, value);
512
+ sheet.close();
513
+ } else {
514
+ const index = params.breakpoints.indexOf(value);
515
+ if (index < 0) return sheet;
516
+ if (!sheet.opened) {
517
+ sheet.open();
518
+ }
519
+ setBackdropBreakpoint(value);
520
+ setPushBreakpoint(value);
521
+ $el.trigger('sheet:breakpoint', value);
522
+ sheet.emit('local::breakpoint sheetBreakpoint', sheet, value);
523
+ currentBreakpointIndex = index;
524
+ $el[0].style.setProperty('--f7-sheet-breakpoint', `${breakpointsTranslate[index]}px`);
525
+ $el.addClass('modal-in-breakpoint');
526
+ }
527
+ return sheet;
528
+ };
529
+ const setBreakpointsOnResize = () => {
530
+ sheet.calcBreakpoints();
531
+ if (typeof currentBreakpointIndex !== 'undefined') {
532
+ sheet.setBreakpoint(params.breakpoints[currentBreakpointIndex]);
533
+ }
534
+ };
353
535
  sheet.setSwipeStep = function setSwipeStep(byResize) {
354
536
  if (byResize === void 0) {
355
537
  byResize = true;
356
538
  }
357
539
  const $swipeStepEl = $el.find('.sheet-modal-swipe-step').eq(0);
358
540
  if (!$swipeStepEl.length) return;
541
+
542
+ // eslint-disable-next-line
359
543
  if ($el.hasClass('sheet-modal-top')) {
360
544
  swipeStepTranslate = -($swipeStepEl.offset().top - $el.offset().top + $swipeStepEl[0].offsetHeight);
361
545
  } else {
@@ -368,12 +552,16 @@ class Sheet extends Modal {
368
552
  }
369
553
  };
370
554
  function onResize() {
371
- sheet.setSwipeStep(true);
555
+ if (useBreakpoints) {
556
+ setBreakpointsOnResize();
557
+ } else {
558
+ sheet.setSwipeStep(true);
559
+ }
372
560
  }
373
561
  const passive = support.passiveListener ? {
374
562
  passive: true
375
563
  } : false;
376
- if (sheet.params.swipeToClose || sheet.params.swipeToStep) {
564
+ if (sheet.params.swipeToClose || sheet.params.swipeToStep || useBreakpoints) {
377
565
  $el.on(app.touchEvents.start, handleTouchStart, passive);
378
566
  app.on('touchmove', handleTouchMove);
379
567
  app.on('touchend:passive', handleTouchEnd);
@@ -388,10 +576,7 @@ class Sheet extends Modal {
388
576
  $(document).on('keydown', onKeyDown);
389
577
  }
390
578
  $el.prevAll('.popup.modal-in').addClass('popup-behind');
391
- if (sheet.params.swipeToStep) {
392
- sheet.setSwipeStep(false);
393
- app.on('resize', onResize);
394
- }
579
+ app.on('resize', onResize);
395
580
  if (sheet.params.scrollToEl) {
396
581
  scrollToElementOnOpen();
397
582
  }
@@ -401,15 +586,23 @@ class Sheet extends Modal {
401
586
  if (!pushOffset) pushOffset = app.theme === 'ios' ? 44 : 48;
402
587
  sheet.$htmlEl[0].style.setProperty('--f7-sheet-push-offset', `${pushOffset}px`);
403
588
  $el.addClass('sheet-modal-push');
404
- sheet.$htmlEl.addClass('with-modal-sheet-push');
405
- if (!sheet.params.swipeToStep) {
589
+ if (!useBreakpoints) {
590
+ sheet.$htmlEl.addClass('with-modal-sheet-push');
591
+ }
592
+ if (!sheet.params.swipeToStep && !useBreakpoints) {
406
593
  sheet.$htmlEl[0].style.setProperty('--f7-sheet-push-scale', pushViewScale(pushOffset));
407
594
  } else {
408
595
  $pushViewEl = app.$el.children('.view, .views');
409
- pushBorderRadius = parseFloat($el.css(`border-${isTopSheetModal ? 'bottom' : 'top'}-left-radius`));
596
+ pushBorderRadius = app.theme === 'ios' ? 10 : 16;
410
597
  $pushViewEl.css('border-radius', '0px');
411
598
  }
412
599
  }
600
+ if (useBreakpoints) {
601
+ sheet.calcBreakpoints();
602
+ sheet.setBreakpoint(params.breakpoints[0]);
603
+ } else if (sheet.params.swipeToStep) {
604
+ sheet.setSwipeStep(false);
605
+ }
413
606
  });
414
607
  sheet.on('opened', () => {
415
608
  if (sheet.params.closeByOutsideClick || sheet.params.closeByBackdropClick) {
@@ -417,8 +610,9 @@ class Sheet extends Modal {
417
610
  }
418
611
  });
419
612
  sheet.on('close', () => {
420
- if (sheet.params.swipeToStep) {
421
- $el.removeClass('modal-in-swipe-step');
613
+ currentBreakpointIndex = undefined;
614
+ if (sheet.params.swipeToStep || useBreakpoints) {
615
+ $el.removeClass('modal-in-swipe-step modal-in-breakpoint');
422
616
  sheet.emit('local::_swipeStep', false);
423
617
  app.off('resize', onResize);
424
618
  }
@@ -435,6 +629,10 @@ class Sheet extends Modal {
435
629
  if (sheet.push && pushOffset) {
436
630
  sheet.$htmlEl.removeClass('with-modal-sheet-push');
437
631
  sheet.$htmlEl.addClass('with-modal-sheet-push-closing');
632
+ if ($pushViewEl) {
633
+ $pushViewEl.transform('');
634
+ $pushViewEl.css('border-radius', '');
635
+ }
438
636
  }
439
637
  });
440
638
  sheet.on('closed', () => {
@@ -1 +1 @@
1
- :root{--f7-sheet-height:260px;--f7-sheet-push-offset:var(--f7-safe-area-top)}.ios{--f7-sheet-border-radius:0px;--f7-sheet-border-color:var(--f7-bars-border-color);--f7-sheet-transition-timing-function:initial;--f7-sheet-push-border-radius:10px;--f7-sheet-transition-duration:300ms;--f7-sheet-bg-color:#fff}.ios .dark,.ios.dark{--f7-sheet-bg-color:#202020}.md{--f7-sheet-border-radius:16px;--f7-sheet-push-border-radius:16px;--f7-sheet-border-color:transparent;--f7-sheet-transition-timing-function:cubic-bezier(0, 0.8, 0.34, 1);--f7-sheet-transition-duration:400ms}.md,.md .dark,.md [class*=color-]{--f7-sheet-bg-color:var(--f7-md-surface)}.sheet-backdrop{z-index:11000}.sheet-backdrop-unique{z-index:12500}.sheet-modal{overflow:hidden;position:absolute;left:0;bottom:0;width:100%;height:var(--f7-sheet-height);display:none;box-sizing:border-box;transition-property:transform;transform:translate3d(0,100%,0);background:var(--f7-sheet-bg-color);z-index:12500;will-change:transform,opacity}.sheet-modal.modal-in,.sheet-modal.modal-out{transition-duration:var(--f7-sheet-transition-duration)}.sheet-modal.not-animated{transition-duration:0s}.sheet-modal.modal-in{display:block;transform:translate3d(0,0,0)}.sheet-modal.modal-in-swipe-step{display:block;transform:translate3d(0,var(--f7-sheet-swipe-step,0),0)}.sheet-modal.modal-out{transform:translate3d(0,100%,0)}.sheet-modal .sheet-modal-inner{height:100%;position:relative;overflow:hidden}.sheet-modal .toolbar{--f7-safe-area-bottom:0px;position:relative;width:100%}.sheet-modal .toolbar:after,.sheet-modal .toolbar:before{display:none}.sheet-modal .toolbar+.sheet-modal-inner{height:calc(100% - var(--f7-toolbar-height))}.sheet-modal .toolbar+.sheet-modal-inner .page-content{--f7-page-toolbar-top-offset:0px;--f7-page-toolbar-bottom-offset:0px}.sheet-backdrop,.sheet-modal{transition-timing-function:var(--f7-sheet-transition-timing-function)}.sheet-modal-top{border-radius:0 0 var(--f7-sheet-border-radius) var(--f7-sheet-border-radius)}.sheet-modal-top:after{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-top:after{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-bottom,.sheet-modal:not(.sheet-modal-top){--f7-safe-area-top:0px;border-radius:var(--f7-sheet-border-radius) var(--f7-sheet-border-radius) 0 0}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-top{--f7-safe-area-bottom:0px;bottom:auto;top:0;transform:translate3d(0,-100%,0)}.sheet-modal-top.modal-out{transform:translate3d(0,-100%,0)}.sheet-modal-top .toolbar-bottom{position:absolute}.sheet-modal-top .page-content{padding-top:var(--f7-safe-area-top)}html.with-modal-sheet-push .sheet-modal-push,html.with-modal-sheet-push-closing .sheet-modal-push{--f7-sheet-border-color:transparent;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;overflow:hidden}html.with-modal-sheet-push .sheet-modal-push .page,html.with-modal-sheet-push .sheet-modal-push .view,html.with-modal-sheet-push-closing .sheet-modal-push .page,html.with-modal-sheet-push-closing .sheet-modal-push .view{--f7-safe-area-top:0px}html.with-modal-sheet-push .sheet-modal-push.sheet-modal-top,html.with-modal-sheet-push-closing .sheet-modal-push.sheet-modal-top{border-radius:0 0 var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius)}html.with-modal-sheet-push .framework7-root,html.with-modal-sheet-push-closing .framework7-root{background:#000}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views,html.with-modal-sheet-push-closing .framework7-root>.view,html.with-modal-sheet-push-closing .framework7-root>.views{transition-duration:var(--f7-sheet-transition-duration);transition-timing-function:var(--f7-sheet-transition-timing-function)}html.with-modal-sheet-push .dark .framework7-root>.view:after,html.with-modal-sheet-push .dark .framework7-root>.views:after,html.with-modal-sheet-push .dark.framework7-root>.view:after,html.with-modal-sheet-push .dark.framework7-root>.views:after,html.with-modal-sheet-push .framework7-root>.view.dark:after,html.with-modal-sheet-push .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after,html.with-modal-sheet-push.dark .framework7-root>.view:after,html.with-modal-sheet-push.dark .framework7-root>.views:after{content:'';position:absolute;pointer-events:none;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.1);z-index:13000;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;opacity:1;animation:sheet-dark-push-overlay-fade-in var(--f7-sheet-transition-duration) forwards;animation-timing-function:var(--f7-sheet-transition-timing-function)}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views{border-radius:var(--f7-sheet-push-border-radius);transform:translate3d(0,0,0px) scale(var(--f7-sheet-push-scale,1))!important}html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after{animation:sheet-dark-push-overlay-fade-out var(--f7-sheet-transition-duration) forwards;animation-timing-function:var(--f7-sheet-transition-timing-function)}@keyframes sheet-dark-push-overlay-fade-in{from{opacity:0}to{opacity:1}}@keyframes sheet-dark-push-overlay-fade-out{from{opacity:1}to{opacity:0}}.md .sheet-modal .toolbar a.link:not(.tab-link){flex-shrink:0}
1
+ :root{--f7-sheet-height:260px;--f7-sheet-push-offset:var(--f7-safe-area-top)}.ios{--f7-sheet-border-radius:0px;--f7-sheet-border-color:var(--f7-bars-border-color);--f7-sheet-transition-timing-function:initial;--f7-sheet-push-border-radius:10px;--f7-sheet-transition-duration:300ms;--f7-sheet-bg-color:#fff}.ios .dark,.ios.dark{--f7-sheet-bg-color:#202020}.md{--f7-sheet-border-radius:16px;--f7-sheet-push-border-radius:16px;--f7-sheet-border-color:transparent;--f7-sheet-transition-timing-function:cubic-bezier(0, 0.8, 0.34, 1);--f7-sheet-transition-duration:400ms}.md,.md .dark,.md [class*=color-]{--f7-sheet-bg-color:var(--f7-md-surface)}.sheet-backdrop{z-index:11000}.sheet-backdrop-unique{z-index:12500}.sheet-modal{overflow:hidden;position:absolute;left:0;bottom:0;width:100%;height:var(--f7-sheet-height);display:none;box-sizing:border-box;transition-property:transform;transform:translate3d(0,100%,0);background:var(--f7-sheet-bg-color);z-index:12500;will-change:transform,opacity}.sheet-modal.modal-in,.sheet-modal.modal-out{transition-duration:var(--f7-sheet-transition-duration)}.sheet-modal.not-animated{transition-duration:0s}.sheet-modal.modal-in{display:block;transform:translate3d(0,0,0)}.sheet-modal.modal-in-breakpoint,.sheet-modal.modal-in-swipe-step{display:block;transform:translate3d(0,var(--f7-sheet-breakpoint,var(--f7-sheet-swipe-step,0)),0)}.sheet-modal.modal-out{transform:translate3d(0,100%,0)}.sheet-modal .sheet-modal-inner{height:100%;position:relative;overflow:hidden}.sheet-modal .toolbar{--f7-safe-area-bottom:0px;position:relative;width:100%}.sheet-modal .toolbar:after,.sheet-modal .toolbar:before{display:none}.sheet-modal .toolbar+.sheet-modal-inner{height:calc(100% - var(--f7-toolbar-height))}.sheet-modal .toolbar+.sheet-modal-inner .page-content{--f7-page-toolbar-top-offset:0px;--f7-page-toolbar-bottom-offset:0px}.sheet-backdrop,.sheet-modal{transition-timing-function:var(--f7-sheet-transition-timing-function)}.sheet-modal-top{border-radius:0 0 var(--f7-sheet-border-radius) var(--f7-sheet-border-radius)}.sheet-modal-top:after{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-top:after{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-bottom,.sheet-modal:not(.sheet-modal-top){--f7-safe-area-top:0px;border-radius:var(--f7-sheet-border-radius) var(--f7-sheet-border-radius) 0 0}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-top{--f7-safe-area-bottom:0px;bottom:auto;top:0;transform:translate3d(0,-100%,0)}.sheet-modal-top.modal-out{transform:translate3d(0,-100%,0)}.sheet-modal-top .toolbar-bottom{position:absolute}.sheet-modal-top .page-content{padding-top:var(--f7-safe-area-top)}html.with-modal-sheet-push .sheet-modal-push,html.with-modal-sheet-push-closing .sheet-modal-push{--f7-sheet-border-color:transparent;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;overflow:hidden}html.with-modal-sheet-push .sheet-modal-push .page,html.with-modal-sheet-push .sheet-modal-push .view,html.with-modal-sheet-push-closing .sheet-modal-push .page,html.with-modal-sheet-push-closing .sheet-modal-push .view{--f7-safe-area-top:0px}html.with-modal-sheet-push .sheet-modal-push.sheet-modal-top,html.with-modal-sheet-push-closing .sheet-modal-push.sheet-modal-top{border-radius:0 0 var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius)}html.with-modal-sheet-push .framework7-root,html.with-modal-sheet-push-closing .framework7-root{background:#000}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views,html.with-modal-sheet-push-closing .framework7-root>.view,html.with-modal-sheet-push-closing .framework7-root>.views{transition-duration:var(--f7-sheet-transition-duration);transition-timing-function:var(--f7-sheet-transition-timing-function)}html.with-modal-sheet-push .dark .framework7-root>.view:after,html.with-modal-sheet-push .dark .framework7-root>.views:after,html.with-modal-sheet-push .dark.framework7-root>.view:after,html.with-modal-sheet-push .dark.framework7-root>.views:after,html.with-modal-sheet-push .framework7-root>.view.dark:after,html.with-modal-sheet-push .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after,html.with-modal-sheet-push.dark .framework7-root>.view:after,html.with-modal-sheet-push.dark .framework7-root>.views:after{content:'';position:absolute;pointer-events:none;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.1);z-index:13000;opacity:1;transition-duration:var(--f7-sheet-transition-duration);transition-timing-function:var(--f7-sheet-transition-timing-function);animation:sheet-dark-push-overlay-fade-in var(--f7-sheet-transition-duration);animation-timing-function:var(--f7-sheet-transition-timing-function)}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views{border-radius:var(--f7-sheet-push-border-radius);transform:translate3d(0,0,0px) scale(var(--f7-sheet-push-scale,1))!important}html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after{opacity:0;animation:none}@keyframes sheet-dark-push-overlay-fade-in{from{opacity:0}to{opacity:1}}.md .sheet-modal .toolbar a.link:not(.tab-link){flex-shrink:0}
@@ -1 +1 @@
1
- :root{--f7-sheet-height:260px;--f7-sheet-push-offset:var(--f7-safe-area-top)}.ios{--f7-sheet-border-radius:0px;--f7-sheet-border-color:var(--f7-bars-border-color);--f7-sheet-transition-timing-function:initial;--f7-sheet-push-border-radius:10px;--f7-sheet-transition-duration:300ms;--f7-sheet-bg-color:#fff}.ios .dark,.ios.dark{--f7-sheet-bg-color:#202020}.md{--f7-sheet-border-radius:16px;--f7-sheet-push-border-radius:16px;--f7-sheet-border-color:transparent;--f7-sheet-transition-timing-function:cubic-bezier(0, 0.8, 0.34, 1);--f7-sheet-transition-duration:400ms}.md,.md .dark,.md [class*=color-]{--f7-sheet-bg-color:var(--f7-md-surface)}.sheet-backdrop{z-index:11000}.sheet-backdrop-unique{z-index:12500}.sheet-modal{overflow:hidden;position:absolute;left:0;bottom:0;width:100%;height:var(--f7-sheet-height);display:none;box-sizing:border-box;transition-property:transform;transform:translate3d(0,100%,0);background:var(--f7-sheet-bg-color);z-index:12500;will-change:transform,opacity}.sheet-modal.modal-in,.sheet-modal.modal-out{transition-duration:var(--f7-sheet-transition-duration)}.sheet-modal.not-animated{transition-duration:0s}.sheet-modal.modal-in{display:block;transform:translate3d(0,0,0)}.sheet-modal.modal-in-swipe-step{display:block;transform:translate3d(0,var(--f7-sheet-swipe-step,0),0)}.sheet-modal.modal-out{transform:translate3d(0,100%,0)}.sheet-modal .sheet-modal-inner{height:100%;position:relative;overflow:hidden}.sheet-modal .toolbar{--f7-safe-area-bottom:0px;position:relative;width:100%}.sheet-modal .toolbar:after,.sheet-modal .toolbar:before{display:none}.sheet-modal .toolbar+.sheet-modal-inner{height:calc(100% - var(--f7-toolbar-height))}.sheet-modal .toolbar+.sheet-modal-inner .page-content{--f7-page-toolbar-top-offset:0px;--f7-page-toolbar-bottom-offset:0px}.sheet-backdrop,.sheet-modal{transition-timing-function:var(--f7-sheet-transition-timing-function)}.sheet-modal-top{border-radius:0 0 var(--f7-sheet-border-radius) var(--f7-sheet-border-radius)}.sheet-modal-top:after{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-top:after{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-bottom,.sheet-modal:not(.sheet-modal-top){--f7-safe-area-top:0px;border-radius:var(--f7-sheet-border-radius) var(--f7-sheet-border-radius) 0 0}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-top{--f7-safe-area-bottom:0px;bottom:auto;top:0;transform:translate3d(0,-100%,0)}.sheet-modal-top.modal-out{transform:translate3d(0,-100%,0)}.sheet-modal-top .toolbar-bottom{position:absolute}.sheet-modal-top .page-content{padding-top:var(--f7-safe-area-top)}html.with-modal-sheet-push .sheet-modal-push,html.with-modal-sheet-push-closing .sheet-modal-push{--f7-sheet-border-color:transparent;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;overflow:hidden}html.with-modal-sheet-push .sheet-modal-push .page,html.with-modal-sheet-push .sheet-modal-push .view,html.with-modal-sheet-push-closing .sheet-modal-push .page,html.with-modal-sheet-push-closing .sheet-modal-push .view{--f7-safe-area-top:0px}html.with-modal-sheet-push .sheet-modal-push.sheet-modal-top,html.with-modal-sheet-push-closing .sheet-modal-push.sheet-modal-top{border-radius:0 0 var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius)}html.with-modal-sheet-push .framework7-root,html.with-modal-sheet-push-closing .framework7-root{background:#000}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views,html.with-modal-sheet-push-closing .framework7-root>.view,html.with-modal-sheet-push-closing .framework7-root>.views{transition-duration:var(--f7-sheet-transition-duration);transition-timing-function:var(--f7-sheet-transition-timing-function)}html.with-modal-sheet-push .dark .framework7-root>.view:after,html.with-modal-sheet-push .dark .framework7-root>.views:after,html.with-modal-sheet-push .dark.framework7-root>.view:after,html.with-modal-sheet-push .dark.framework7-root>.views:after,html.with-modal-sheet-push .framework7-root>.view.dark:after,html.with-modal-sheet-push .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after,html.with-modal-sheet-push.dark .framework7-root>.view:after,html.with-modal-sheet-push.dark .framework7-root>.views:after{content:'';position:absolute;pointer-events:none;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.1);z-index:13000;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;opacity:1;animation:sheet-dark-push-overlay-fade-in var(--f7-sheet-transition-duration) forwards;animation-timing-function:var(--f7-sheet-transition-timing-function)}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views{border-radius:var(--f7-sheet-push-border-radius);transform:translate3d(0,0,0px) scale(var(--f7-sheet-push-scale,1))!important}html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after{animation:sheet-dark-push-overlay-fade-out var(--f7-sheet-transition-duration) forwards;animation-timing-function:var(--f7-sheet-transition-timing-function)}@keyframes sheet-dark-push-overlay-fade-in{from{opacity:0}to{opacity:1}}@keyframes sheet-dark-push-overlay-fade-out{from{opacity:1}to{opacity:0}}.md .sheet-modal .toolbar a.link:not(.tab-link){flex-shrink:0}
1
+ :root{--f7-sheet-height:260px;--f7-sheet-push-offset:var(--f7-safe-area-top)}.ios{--f7-sheet-border-radius:0px;--f7-sheet-border-color:var(--f7-bars-border-color);--f7-sheet-transition-timing-function:initial;--f7-sheet-push-border-radius:10px;--f7-sheet-transition-duration:300ms;--f7-sheet-bg-color:#fff}.ios .dark,.ios.dark{--f7-sheet-bg-color:#202020}.md{--f7-sheet-border-radius:16px;--f7-sheet-push-border-radius:16px;--f7-sheet-border-color:transparent;--f7-sheet-transition-timing-function:cubic-bezier(0, 0.8, 0.34, 1);--f7-sheet-transition-duration:400ms}.md,.md .dark,.md [class*=color-]{--f7-sheet-bg-color:var(--f7-md-surface)}.sheet-backdrop{z-index:11000}.sheet-backdrop-unique{z-index:12500}.sheet-modal{overflow:hidden;position:absolute;left:0;bottom:0;width:100%;height:var(--f7-sheet-height);display:none;box-sizing:border-box;transition-property:transform;transform:translate3d(0,100%,0);background:var(--f7-sheet-bg-color);z-index:12500;will-change:transform,opacity}.sheet-modal.modal-in,.sheet-modal.modal-out{transition-duration:var(--f7-sheet-transition-duration)}.sheet-modal.not-animated{transition-duration:0s}.sheet-modal.modal-in{display:block;transform:translate3d(0,0,0)}.sheet-modal.modal-in-breakpoint,.sheet-modal.modal-in-swipe-step{display:block;transform:translate3d(0,var(--f7-sheet-breakpoint,var(--f7-sheet-swipe-step,0)),0)}.sheet-modal.modal-out{transform:translate3d(0,100%,0)}.sheet-modal .sheet-modal-inner{height:100%;position:relative;overflow:hidden}.sheet-modal .toolbar{--f7-safe-area-bottom:0px;position:relative;width:100%}.sheet-modal .toolbar:after,.sheet-modal .toolbar:before{display:none}.sheet-modal .toolbar+.sheet-modal-inner{height:calc(100% - var(--f7-toolbar-height))}.sheet-modal .toolbar+.sheet-modal-inner .page-content{--f7-page-toolbar-top-offset:0px;--f7-page-toolbar-bottom-offset:0px}.sheet-backdrop,.sheet-modal{transition-timing-function:var(--f7-sheet-transition-timing-function)}.sheet-modal-top{border-radius:0 0 var(--f7-sheet-border-radius) var(--f7-sheet-border-radius)}.sheet-modal-top:after{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-top:after{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-bottom,.sheet-modal:not(.sheet-modal-top){--f7-safe-area-top:0px;border-radius:var(--f7-sheet-border-radius) var(--f7-sheet-border-radius) 0 0}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-top{--f7-safe-area-bottom:0px;bottom:auto;top:0;transform:translate3d(0,-100%,0)}.sheet-modal-top.modal-out{transform:translate3d(0,-100%,0)}.sheet-modal-top .toolbar-bottom{position:absolute}.sheet-modal-top .page-content{padding-top:var(--f7-safe-area-top)}html.with-modal-sheet-push .sheet-modal-push,html.with-modal-sheet-push-closing .sheet-modal-push{--f7-sheet-border-color:transparent;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;overflow:hidden}html.with-modal-sheet-push .sheet-modal-push .page,html.with-modal-sheet-push .sheet-modal-push .view,html.with-modal-sheet-push-closing .sheet-modal-push .page,html.with-modal-sheet-push-closing .sheet-modal-push .view{--f7-safe-area-top:0px}html.with-modal-sheet-push .sheet-modal-push.sheet-modal-top,html.with-modal-sheet-push-closing .sheet-modal-push.sheet-modal-top{border-radius:0 0 var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius)}html.with-modal-sheet-push .framework7-root,html.with-modal-sheet-push-closing .framework7-root{background:#000}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views,html.with-modal-sheet-push-closing .framework7-root>.view,html.with-modal-sheet-push-closing .framework7-root>.views{transition-duration:var(--f7-sheet-transition-duration);transition-timing-function:var(--f7-sheet-transition-timing-function)}html.with-modal-sheet-push .dark .framework7-root>.view:after,html.with-modal-sheet-push .dark .framework7-root>.views:after,html.with-modal-sheet-push .dark.framework7-root>.view:after,html.with-modal-sheet-push .dark.framework7-root>.views:after,html.with-modal-sheet-push .framework7-root>.view.dark:after,html.with-modal-sheet-push .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after,html.with-modal-sheet-push.dark .framework7-root>.view:after,html.with-modal-sheet-push.dark .framework7-root>.views:after{content:'';position:absolute;pointer-events:none;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.1);z-index:13000;opacity:1;transition-duration:var(--f7-sheet-transition-duration);transition-timing-function:var(--f7-sheet-transition-timing-function);animation:sheet-dark-push-overlay-fade-in var(--f7-sheet-transition-duration);animation-timing-function:var(--f7-sheet-transition-timing-function)}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views{border-radius:var(--f7-sheet-push-border-radius);transform:translate3d(0,0,0px) scale(var(--f7-sheet-push-scale,1))!important}html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after{opacity:0;animation:none}@keyframes sheet-dark-push-overlay-fade-in{from{opacity:0}to{opacity:1}}.md .sheet-modal .toolbar a.link:not(.tab-link){flex-shrink:0}
@@ -13,6 +13,8 @@ export namespace Sheet {
13
13
  stepClose: (sheet: Sheet) => void;
14
14
  /** Event will be triggered on Sheet swipe step between step opened and closed state. As `progress` it receives step open progress number (from 0 to 1) */
15
15
  stepProgress: (sheet: Sheet, progress: number) => void;
16
+ /** Event will be triggered on Sheet breakpoint change */
17
+ breakpoint: (sheet: Sheet, breakpoint: number) => void;
16
18
  /** Event will be triggered when Sheet Modal starts its opening animation. As an argument event handler receives sheet instance */
17
19
  open: (sheet: Sheet) => void;
18
20
  /** Event will be triggered when Sheet Modal completes its opening animation. As an argument event handler receives sheet instance */
@@ -49,8 +51,15 @@ export namespace Sheet {
49
51
  swipeToClose?: boolean;
50
52
  /** When enabled it will be possible to split opened sheet into two states: partially opened and fully opened that can be controlled with swipe (default false) */
51
53
  swipeToStep?: boolean;
54
+ /** Use instead of swipeToStep to enable swipe breakpoints. Must be an array of numbers > 0 and < 1, where 0 is fully closed and 1 is fully opened, e.g. [0.33, 0.66], [0.5], etc. */
55
+ breakpoints?: number[];
56
+ /** Defines breakpoint when backdrop becomes visible. Number from `0` (ideally from the lowest (first) value of `breakpoints` array) to `1` (default 0) */
57
+ backdropBreakpoint?: number;
58
+ /** Defines breakpoint when to push back the view behind (`push` must be enabled). Number from `0` (ideally from the lowest (first) value of `breakpoints` array) to `1` (default 0) */
59
+ pushBreakpoint?: number;
52
60
  /** When enabled it will be possible to close sheet with swipe only on specified handler element (default null) */
53
61
  swipeHandler?: HTMLElement | CSSSelector;
62
+
54
63
  /** When enabled it will push view behind on open. Works only when top safe area is in place. It can also be enabled by adding `sheet-modal-push` class to Sheet element. (default false) */
55
64
  push?: boolean;
56
65
  /** Element to mount modal to. (default app.el) */
@@ -87,8 +96,10 @@ export namespace Sheet {
87
96
  stepClose(): void;
88
97
  /** Toggle (open or close) sheet swipe step */
89
98
  stepToggle(): void;
90
- /** Update step position. Required to call after content of sheet modal has been modified manually when it is opened */
99
+ /** Update (recalculate) breakpoints positions. Required to call after content of sheet modal has been modified manually when it is opened */
91
100
  setSwipeStep(): void;
101
+ /** Set/open sheet modal on specific breakpoint (from `breakpoints` array parameter). Also passing `0` will close sheet modal, passing `1` will fully open it */
102
+ setBreakpoint(breakpoint: number): Sheet;
92
103
  /** Destroy sheet */
93
104
  destroy(): void;
94
105
  }
@@ -127,6 +138,8 @@ export namespace Sheet {
127
138
  stepClose(el?: HTMLElement | CSSSelector): Sheet;
128
139
  /** toggle (open or close) Sheet swipe step */
129
140
  stepToggle(el?: HTMLElement | CSSSelector): Sheet;
141
+ /** Set/open sheet modal on specific breakpoint (from `breakpoints` array parameter). Also passing `0` will close sheet modal, passing `1` will fully open it */
142
+ setBreakpoint(el?: HTMLElement | CSSSelector, breakpoint: number): Sheet;
130
143
  };
131
144
  }
132
145
  interface AppParams {
@@ -139,6 +152,8 @@ export namespace Sheet {
139
152
  sheetStepClose: (sheet: Sheet) => void;
140
153
  /** Event will be triggered on Sheet swipe step between step opened and closed state. As `progress` it receives step open progress number (from 0 to 1) */
141
154
  sheetStepProgress: (sheet: Sheet, progress: number) => void;
155
+ /** Event will be triggered on Sheet breakpoint change */
156
+ sheetBreakpoint: (sheet: Sheet, breakpoint: number) => void;
142
157
  /** Event will be triggered when Sheet Modal starts its opening animation. As an argument event handler receives sheet instance */
143
158
  sheetOpen: (sheet: Sheet) => void;
144
159
  /** Event will be triggered when Sheet Modal completes its opening animation. As an argument event handler receives sheet instance */
@@ -15,6 +15,9 @@ export default {
15
15
  closeOnEscape: false,
16
16
  swipeToClose: false,
17
17
  swipeToStep: false,
18
+ breakpoints: [],
19
+ backdropBreakpoint: 0,
20
+ pushBreakpoint: 0,
18
21
  swipeHandler: null,
19
22
  containerEl: null
20
23
  }
@@ -43,6 +46,11 @@ export default {
43
46
  const sheetInstance = app.sheet.get(sheet);
44
47
  if (sheetInstance && sheetInstance.stepToggle) return sheetInstance.stepToggle();
45
48
  return undefined;
49
+ },
50
+ setBreakpoint(sheet, breakpoint) {
51
+ const sheetInstance = app.sheet.get(sheet);
52
+ if (sheetInstance && sheetInstance.setBreakpoint) return sheetInstance.setBreakpoint(breakpoint);
53
+ return undefined;
46
54
  }
47
55
  });
48
56
  },
@@ -31,9 +31,10 @@
31
31
  display: block;
32
32
  transform: translate3d(0, 0, 0);
33
33
  }
34
- &.modal-in-swipe-step {
34
+ &.modal-in-swipe-step,
35
+ &.modal-in-breakpoint {
35
36
  display: block;
36
- transform: translate3d(0, var(--f7-sheet-swipe-step, 0), 0);
37
+ transform: translate3d(0, var(--f7-sheet-breakpoint, var(--f7-sheet-swipe-step, 0)), 0);
37
38
  }
38
39
  &.modal-out {
39
40
  transform: translate3d(0, 100%, 0);
@@ -141,9 +142,10 @@ html.with-modal-sheet-push-closing {
141
142
  height: 100%;
142
143
  background: rgba(255,255,255,0.1);
143
144
  z-index: 13000;
144
- border-radius: var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;
145
145
  opacity: 1;
146
- animation: sheet-dark-push-overlay-fade-in var(--f7-sheet-transition-duration) forwards;
146
+ transition-duration: var(--f7-sheet-transition-duration);
147
+ transition-timing-function: var(--f7-sheet-transition-timing-function);
148
+ animation: sheet-dark-push-overlay-fade-in var(--f7-sheet-transition-duration);
147
149
  animation-timing-function: var(--f7-sheet-transition-timing-function);
148
150
  }
149
151
  }
@@ -170,8 +172,8 @@ html.with-modal-sheet-push {
170
172
  .framework7-root > .views.dark,
171
173
  .framework7-root > .view.dark {
172
174
  &:after {
173
- animation: sheet-dark-push-overlay-fade-out var(--f7-sheet-transition-duration) forwards;
174
- animation-timing-function: var(--f7-sheet-transition-timing-function);
175
+ opacity: 0;
176
+ animation: none;
175
177
  }
176
178
  }
177
179
  }
@@ -184,14 +186,6 @@ html.with-modal-sheet-push {
184
186
  opacity: 1;
185
187
  }
186
188
  }
187
- @keyframes sheet-dark-push-overlay-fade-out {
188
- from {
189
- opacity: 1;
190
- }
191
- to {
192
- opacity: 0;
193
- }
194
- }
195
189
  });
196
190
 
197
191
  .if-ios-theme({
@@ -1 +1 @@
1
- .ios{--f7-sortable-handler-width:36px;--f7-sortable-sorting-item-box-shadow:0px 2px 8px rgba(0, 0, 0, 0.6);--f7-sortable-handler-color:rgba(0, 0, 0, 0.22);--f7-sortable-sorting-item-bg-color:rgba(255, 255, 255, 0.8)}.ios .dark,.ios.dark{--f7-sortable-sorting-item-bg-color:rgba(50, 50, 50, 0.8);--f7-sortable-handler-color:rgba(255, 255, 255, 0.55)}.md{--f7-sortable-handler-width:42px;--f7-sortable-sorting-item-box-shadow:none}.md,.md .dark,.md [class*=color-]{--f7-sortable-handler-color:var(--f7-md-on-surface-variant);--f7-sortable-sorting-item-bg-color:var(--f7-md-surface-3)}.sortable .sortable-handler{width:var(--f7-sortable-handler-width);height:100%;position:absolute;top:0;z-index:10;opacity:0;pointer-events:none;cursor:move;transition-duration:.3s;display:flex;align-items:center;justify-content:center;overflow:hidden;left:var(--f7-safe-area-left)}.sortable .sortable-handler:after{font-family:framework7-core-icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga';text-align:center;display:block;width:100%;height:100%;font-size:20px;transition-duration:.3s;transform:translateX(10px);color:var(--f7-sortable-handler-color);overflow:hidden;height:20px;width:18px}.sortable li.sorting{z-index:50;background:var(--f7-sortable-sorting-item-bg-color);transition-duration:0s;box-shadow:var(--f7-sortable-sorting-item-box-shadow)}.sortable li.sorting .item-inner:after{display:none!important}.sortable-opposite .sortable-handler{right:var(--f7-safe-area-left);left:auto}.sortable-opposite .sortable-handler:after{transform:translateX(-10px)}.sortable-opposite .item-content,.sortable-opposite.links-list li a,.sortable.simple-list li,.sortable:not(.sortable-opposite) .item-inner{transition-duration:.3s;transition-property:all}.sortable-sorting li{transition-duration:.3s}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler{pointer-events:auto;opacity:1}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler:after{transform:translateX(0px)}.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner:before,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-title-row:before,.sortable-enabled:not(.sortable-opposite).links-list li:not(.no-sorting):not(.disallow-sorting)>a:before{display:none}.links-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) a,.no-chevron .sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.simple-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting),.sortable-enabled :not(.sortable-opposite).no-chevron .item-link .item-inner,.sortable-enabled.no-chevron:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link.no-chevron .item-inner{padding-left:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.links-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) a,.simple-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting),.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .item-content{padding-right:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.ios .sortable-handler:after{content:'sort_ios'}.md .sortable-handler:after{content:'sort_md'}
1
+ .ios{--f7-sortable-handler-width:36px;--f7-sortable-sorting-item-box-shadow:0px 2px 8px rgba(0, 0, 0, 0.6);--f7-sortable-handler-color:rgba(0, 0, 0, 0.22);--f7-sortable-sorting-item-bg-color:rgba(255, 255, 255, 0.8)}.ios .dark,.ios.dark{--f7-sortable-sorting-item-bg-color:rgba(50, 50, 50, 0.8);--f7-sortable-handler-color:rgba(255, 255, 255, 0.55)}.md{--f7-sortable-handler-width:42px;--f7-sortable-sorting-item-box-shadow:none}.md,.md .dark,.md [class*=color-]{--f7-sortable-handler-color:var(--f7-md-on-surface-variant);--f7-sortable-sorting-item-bg-color:var(--f7-md-surface-3)}.sortable .sortable-handler{width:var(--f7-sortable-handler-width);height:100%;position:absolute;top:0;z-index:10;opacity:0;pointer-events:none;cursor:move;transition-duration:.3s;display:flex;align-items:center;justify-content:center;overflow:hidden;left:var(--f7-safe-area-left)}.sortable .sortable-handler:after{font-family:framework7-core-icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga';text-align:center;display:block;width:100%;height:100%;font-size:20px;transition-duration:.3s;transform:translateX(10px);color:var(--f7-sortable-handler-color);overflow:hidden;height:20px;width:18px}.sortable li.sorting{z-index:50;background:var(--f7-sortable-sorting-item-bg-color);transition-duration:0s;box-shadow:var(--f7-sortable-sorting-item-box-shadow)}.sortable li.sorting .item-inner:after{display:none!important}.sortable-opposite .sortable-handler{right:var(--f7-safe-area-left);left:auto}.sortable-opposite .sortable-handler:after{transform:translateX(-10px)}.sortable-opposite .item-content,.sortable-opposite.links-list li a,.sortable.simple-list li,.sortable:not(.sortable-opposite) .item-inner{transition-duration:.3s;transition-property:all}.sortable-sorting li{transition-duration:.3s}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler{pointer-events:auto;touch-action:none;opacity:1}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler:after{transform:translateX(0px)}.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner:before,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-title-row:before,.sortable-enabled:not(.sortable-opposite).links-list li:not(.no-sorting):not(.disallow-sorting)>a:before{display:none}.links-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) a,.no-chevron .sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.simple-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting),.sortable-enabled :not(.sortable-opposite).no-chevron .item-link .item-inner,.sortable-enabled.no-chevron:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link.no-chevron .item-inner{padding-left:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.links-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) a,.simple-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting),.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .item-content{padding-right:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.ios .sortable-handler:after{content:'sort_ios'}.md .sortable-handler:after{content:'sort_md'}
@@ -1 +1 @@
1
- .ios{--f7-sortable-handler-width:36px;--f7-sortable-sorting-item-box-shadow:0px 2px 8px rgba(0, 0, 0, 0.6);--f7-sortable-handler-color:rgba(0, 0, 0, 0.22);--f7-sortable-sorting-item-bg-color:rgba(255, 255, 255, 0.8)}.ios .dark,.ios.dark{--f7-sortable-sorting-item-bg-color:rgba(50, 50, 50, 0.8);--f7-sortable-handler-color:rgba(255, 255, 255, 0.55)}.md{--f7-sortable-handler-width:42px;--f7-sortable-sorting-item-box-shadow:none}.md,.md .dark,.md [class*=color-]{--f7-sortable-handler-color:var(--f7-md-on-surface-variant);--f7-sortable-sorting-item-bg-color:var(--f7-md-surface-3)}.sortable .sortable-handler{width:var(--f7-sortable-handler-width);height:100%;position:absolute;top:0;z-index:10;opacity:0;pointer-events:none;cursor:move;transition-duration:.3s;display:flex;align-items:center;justify-content:center;overflow:hidden;right:var(--f7-safe-area-right)}.sortable .sortable-handler:after{font-family:framework7-core-icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga';text-align:center;display:block;width:100%;height:100%;font-size:20px;transition-duration:.3s;transform:translateX(10px);color:var(--f7-sortable-handler-color);overflow:hidden;height:20px;width:18px}.sortable li.sorting{z-index:50;background:var(--f7-sortable-sorting-item-bg-color);transition-duration:0s;box-shadow:var(--f7-sortable-sorting-item-box-shadow)}.sortable li.sorting .item-inner:after{display:none!important}.sortable-opposite .sortable-handler{left:var(--f7-safe-area-right);right:auto}.sortable-opposite .sortable-handler:after{transform:translateX(-10px)}.sortable-opposite .item-content,.sortable-opposite.links-list li a,.sortable.simple-list li,.sortable:not(.sortable-opposite) .item-inner{transition-duration:.3s;transition-property:all}.sortable-sorting li{transition-duration:.3s}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler{pointer-events:auto;opacity:1}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler:after{transform:translateX(0px)}.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner:before,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-title-row:before,.sortable-enabled:not(.sortable-opposite).links-list li:not(.no-sorting):not(.disallow-sorting)>a:before{display:none}.links-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) a,.no-chevron .sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.simple-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting),.sortable-enabled :not(.sortable-opposite).no-chevron .item-link .item-inner,.sortable-enabled.no-chevron:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link.no-chevron .item-inner{padding-right:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.links-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) a,.simple-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting),.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .item-content{padding-left:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.ios .sortable-handler:after{content:'sort_ios'}.md .sortable-handler:after{content:'sort_md'}
1
+ .ios{--f7-sortable-handler-width:36px;--f7-sortable-sorting-item-box-shadow:0px 2px 8px rgba(0, 0, 0, 0.6);--f7-sortable-handler-color:rgba(0, 0, 0, 0.22);--f7-sortable-sorting-item-bg-color:rgba(255, 255, 255, 0.8)}.ios .dark,.ios.dark{--f7-sortable-sorting-item-bg-color:rgba(50, 50, 50, 0.8);--f7-sortable-handler-color:rgba(255, 255, 255, 0.55)}.md{--f7-sortable-handler-width:42px;--f7-sortable-sorting-item-box-shadow:none}.md,.md .dark,.md [class*=color-]{--f7-sortable-handler-color:var(--f7-md-on-surface-variant);--f7-sortable-sorting-item-bg-color:var(--f7-md-surface-3)}.sortable .sortable-handler{width:var(--f7-sortable-handler-width);height:100%;position:absolute;top:0;z-index:10;opacity:0;pointer-events:none;cursor:move;transition-duration:.3s;display:flex;align-items:center;justify-content:center;overflow:hidden;right:var(--f7-safe-area-right)}.sortable .sortable-handler:after{font-family:framework7-core-icons;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:'liga';text-align:center;display:block;width:100%;height:100%;font-size:20px;transition-duration:.3s;transform:translateX(10px);color:var(--f7-sortable-handler-color);overflow:hidden;height:20px;width:18px}.sortable li.sorting{z-index:50;background:var(--f7-sortable-sorting-item-bg-color);transition-duration:0s;box-shadow:var(--f7-sortable-sorting-item-box-shadow)}.sortable li.sorting .item-inner:after{display:none!important}.sortable-opposite .sortable-handler{left:var(--f7-safe-area-right);right:auto}.sortable-opposite .sortable-handler:after{transform:translateX(-10px)}.sortable-opposite .item-content,.sortable-opposite.links-list li a,.sortable.simple-list li,.sortable:not(.sortable-opposite) .item-inner{transition-duration:.3s;transition-property:all}.sortable-sorting li{transition-duration:.3s}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler{pointer-events:auto;touch-action:none;opacity:1}.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .sortable-handler:after{transform:translateX(0px)}.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner:before,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-title-row:before,.sortable-enabled:not(.sortable-opposite).links-list li:not(.no-sorting):not(.disallow-sorting)>a:before{display:none}.links-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) a,.no-chevron .sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.simple-list.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting),.sortable-enabled :not(.sortable-opposite).no-chevron .item-link .item-inner,.sortable-enabled.no-chevron:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link .item-inner,.sortable-enabled:not(.sortable-opposite) li:not(.no-sorting):not(.disallow-sorting) .item-link.no-chevron .item-inner{padding-right:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.links-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) a,.simple-list.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting),.sortable-opposite.sortable-enabled li:not(.no-sorting):not(.disallow-sorting) .item-content{padding-left:calc(var(--f7-sortable-handler-width) + var(--f7-safe-area-right))}.ios .sortable-handler:after{content:'sort_ios'}.md .sortable-handler:after{content:'sort_md'}
@@ -70,6 +70,7 @@
70
70
  .sortable-enabled li:not(.no-sorting):not(.disallow-sorting) {
71
71
  .sortable-handler {
72
72
  pointer-events: auto;
73
+ touch-action: none;
73
74
  opacity: 1;
74
75
  &:after {
75
76
  transform: translateX(0px);