@xenknight/framework7 0.0.3 → 0.0.5

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 (38) hide show
  1. package/components/actions/actions-ios.less +22 -15
  2. package/components/actions/actions-rtl.css +1 -1
  3. package/components/actions/actions-vars.less +4 -7
  4. package/components/actions/actions.css +1 -1
  5. package/components/actions/actions.less +0 -3
  6. package/components/app/app-class.d.ts +2 -0
  7. package/components/app/app-class.js +10 -2
  8. package/components/app/app-vars.less +36 -0
  9. package/components/card/card-rtl.css +1 -1
  10. package/components/card/card-vars.less +5 -5
  11. package/components/card/card.css +1 -1
  12. package/components/page/page-ios.less +4 -4
  13. package/components/page/page-md.less +2 -2
  14. package/components/toggle/toggle-class.js +4 -8
  15. package/components/toggle/toggle-ios.less +68 -50
  16. package/components/toggle/toggle-rtl.css +1 -1
  17. package/components/toggle/toggle-vars.less +2 -2
  18. package/components/toggle/toggle.css +1 -1
  19. package/framework7-bundle-rtl.css +136 -86
  20. package/framework7-bundle-rtl.min.css +5 -5
  21. package/framework7-bundle.css +136 -86
  22. package/framework7-bundle.esm.js +2 -2
  23. package/framework7-bundle.js +16 -11
  24. package/framework7-bundle.js.map +1 -1
  25. package/framework7-bundle.less +2 -2
  26. package/framework7-bundle.min.css +5 -5
  27. package/framework7-bundle.min.js +3 -3
  28. package/framework7-bundle.min.js.map +1 -1
  29. package/framework7-lite-bundle.esm.js +2 -2
  30. package/framework7-lite.esm.js +2 -2
  31. package/framework7-rtl.css +38 -6
  32. package/framework7-rtl.min.css +3 -3
  33. package/framework7.css +38 -6
  34. package/framework7.esm.js +2 -2
  35. package/framework7.less +2 -2
  36. package/framework7.min.css +3 -3
  37. package/less/mixins.less +8 -0
  38. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 0.0.2
2
+ * Framework7 0.0.3
3
3
  * Full featured mobile HTML framework for building iOS & Android apps
4
4
  * https://framework7.io/
5
5
  *
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: July 26, 2025
10
+ * Released on: December 14, 2025
11
11
  */
12
12
 
13
13
  /*====================
@@ -86,6 +86,21 @@
86
86
  /*
87
87
  --f7-bars-link-color: var(--f7-theme-color);
88
88
  */
89
+ --f7-glass-bg-color: rgba(255, 255, 255, 0.75);
90
+ --f7-glass-shadow: inset -1px -1px 0px -0.5px #ffffff,
91
+ inset 1px 1px 0px -0.5px rgba(255, 255, 255, 1),
92
+ inset 3px 3px 10px -3px #ddd,
93
+ inset -3px -3px 10px -3px #ddd,
94
+ inset 0 0 5px 1px #fff,
95
+ inset 0 0 0 0.5px rgba(0, 0, 0, 0.25),
96
+ inset 0 0 24px 0 rgba(0, 0, 0, 0.1),
97
+ 0 0 25px 0 rgba(0, 0, 0, 0.2);
98
+ --f7-glass-shadow-thumb: inset -3px -3px 0px -3.5px #ffffff,
99
+ inset 3px 3px 0px -3.5px rgba(255, 255, 255, 1),
100
+ inset 0px 0px 0px 0.5px rgba(255, 255, 255, 0.5),
101
+ inset 3px 3px 10px -2px #eee,
102
+ inset -3px -3px 10px -2px #eee,
103
+ inset 0 0 5px 1px #fff;
89
104
  --f7-bars-text-color: #000;
90
105
  --f7-text-color: #000;
91
106
  --f7-bars-bg-color: #f7f7f8;
@@ -94,6 +109,23 @@
94
109
  }
95
110
  .ios .dark,
96
111
  .ios.dark {
112
+ --f7-glass-bg-color: rgba(50, 50, 50, 0.5);
113
+ --f7-glass-shadow: inset -2px -2px 0.5px -2.5px rgba(255, 255, 255, 0.4),
114
+ inset 3px 3px 0.5px -3.5px rgba(255, 255, 255, 0.4),
115
+ inset 2px 2px 0.5px -2px #262626,
116
+ inset -2px -2px 0.5px -2px #262626,
117
+ inset 0 0 5px 1px #141414,
118
+ inset 0 0 0 1px rgba(255, 255, 255, 0.15),
119
+ inset 0 0 10px 0 rgba(255, 255, 255, 0.075),
120
+ inset 0 0 24px 0 rgba(255, 255, 255, 0.05),
121
+ 0 0 25px 0 rgba(0, 0, 0, 0.15);
122
+ --f7-glass-shadow-thumb: inset 3px 3px 0px -3.5px #ffffff,
123
+ inset -3px -3px 0px -3.5px rgba(255, 255, 255, 1),
124
+ inset -0.5px -0.5px 0px rgba(255, 255, 255, 0.5),
125
+ inset 0.5px 0.5px 0px rgba(255, 255, 255, 0.1),
126
+ inset -3px 3px 0px -3.5px rgba(255, 255, 255, 0.25),
127
+ inset 0px -5px 0px -3.5px rgba(255, 255, 255, 0.25),
128
+ inset 0px -5px 5px rgba(255, 255, 255, 0.25);
97
129
  --f7-bars-text-color: #fff;
98
130
  --f7-text-color: #fff;
99
131
  --f7-bars-bg-color: #121212;
@@ -424,10 +456,10 @@ html.device-full-viewport body {
424
456
  z-index: 10000;
425
457
  }
426
458
  .ios .page-previous {
427
- transform: translate3d(-20%, 0, 0);
459
+ transform: translate3d(-20%, 0, 0) scale(0.5);
428
460
  }
429
461
  .ios .page-next {
430
- transform: translate3d(100%, 0, 0);
462
+ transform: translate3d(100%, 0, 0) scale(1);
431
463
  }
432
464
  .ios .page-previous .page-opacity-effect {
433
465
  opacity: 1;
@@ -547,11 +579,11 @@ html.device-full-viewport body {
547
579
  }
548
580
  }
549
581
  .md .page-previous {
550
- transform: translate3d(0, -20px, 0);
582
+ transform: translate3d(0, -20px, 0) scale(0.5);
551
583
  }
552
584
  .md .page-next {
553
585
  pointer-events: none;
554
- transform: translate3d(0, 128px, 0);
586
+ transform: translate3d(0, 128px, 0) scale(0.5);
555
587
  opacity: 0;
556
588
  }
557
589
  .md .page-next.page-next-on-right {
@@ -6214,15 +6246,15 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6214
6246
  }
6215
6247
  .ios {
6216
6248
  --f7-actions-transition-timing-function: initial;
6217
- --f7-actions-border-radius: 13px;
6249
+ --f7-actions-border-radius: 32px;
6218
6250
  /*
6219
6251
  --f7-actions-button-text-color: var(--f7-theme-color);
6220
6252
  */
6221
6253
  --f7-actions-grid-button-text-color: #757575;
6222
6254
  --f7-actions-button-padding: 0px;
6223
6255
  --f7-actions-button-text-align: center;
6224
- --f7-actions-button-height: 57px;
6225
- --f7-actions-button-height-landscape: 44px;
6256
+ --f7-actions-button-height: 56px;
6257
+ --f7-actions-button-height-landscape: 56px;
6226
6258
  --f7-actions-button-font-size: 20px;
6227
6259
  --f7-actions-button-icon-size: 28px;
6228
6260
  --f7-actions-button-justify-content: center;
@@ -6232,8 +6264,7 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6232
6264
  --f7-actions-label-justify-content: center;
6233
6265
  --f7-actions-group-border-color: transparent;
6234
6266
  --f7-actions-group-margin: 8px;
6235
- --f7-actions-bg-color: rgba(255, 255, 255, 0.95);
6236
- --f7-actions-bg-color-rgb: 255, 255, 255;
6267
+ --f7-actions-bg-color: var(--f7-glass-bg-color);
6237
6268
  --f7-actions-button-border-color: rgba(0, 0, 0, 0.2);
6238
6269
  --f7-actions-button-pressed-bg-color: rgba(230, 230, 230, 0.9);
6239
6270
  --f7-actions-button-pressed-bg-color-rgb: 230, 230, 230;
@@ -6241,8 +6272,6 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6241
6272
  }
6242
6273
  .ios .dark,
6243
6274
  .ios.dark {
6244
- --f7-actions-bg-color: rgba(45, 45, 45, 0.95);
6245
- --f7-actions-bg-color-rgb: 45, 45, 45;
6246
6275
  --f7-actions-button-border-color: rgba(255, 255, 255, 0.15);
6247
6276
  --f7-actions-button-pressed-bg-color: rgba(50, 50, 50, 0.9);
6248
6277
  --f7-actions-button-pressed-bg-color-rgb: 50, 50, 50;
@@ -6403,13 +6432,6 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6403
6432
  .actions-button[class*='color-'] {
6404
6433
  color: var(--f7-theme-color);
6405
6434
  }
6406
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
6407
- .ios-translucent-modals .actions-button.active-state {
6408
- background-color: rgba(var(--f7-actions-button-pressed-bg-color-rgb), 0.8);
6409
- -webkit-backdrop-filter: saturate(180%) blur(20px);
6410
- backdrop-filter: saturate(180%) blur(20px);
6411
- }
6412
- }
6413
6435
  .actions-button-media {
6414
6436
  flex-shrink: 0;
6415
6437
  display: flex;
@@ -6489,20 +6511,15 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6489
6511
  height: 1.33em;
6490
6512
  font-size: var(--f7-actions-grid-button-font-size);
6491
6513
  }
6514
+ .ios .actions-modal {
6515
+ overflow: visible;
6516
+ }
6492
6517
  .ios .actions-group {
6493
6518
  border-radius: var(--f7-actions-border-radius);
6494
- }
6495
- .ios .actions-button,
6496
- .ios .actions-label {
6497
6519
  background: var(--f7-actions-bg-color);
6498
- }
6499
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
6500
- .ios-translucent-modals .ios .actions-button,
6501
- .ios-translucent-modals .ios .actions-label {
6502
- background-color: rgba(var(--f7-actions-bg-color-rgb), 0.8);
6503
- -webkit-backdrop-filter: saturate(180%) blur(20px);
6504
- backdrop-filter: saturate(180%) blur(20px);
6505
- }
6520
+ box-shadow: var(--f7-glass-shadow);
6521
+ -webkit-backdrop-filter: saturate(180%) blur(16px);
6522
+ backdrop-filter: saturate(180%) blur(16px);
6506
6523
  }
6507
6524
  .ios .actions-button:first-child,
6508
6525
  .ios .actions-label:first-child {
@@ -6526,29 +6543,28 @@ html.with-modal-popup-push-closing .framework7-root > .view.dark:after {
6526
6543
  .ios .actions-label.actions-button-strong {
6527
6544
  font-weight: 600;
6528
6545
  }
6529
- .ios .actions-grid .actions-group {
6530
- border-radius: 0;
6546
+ .ios .actions-grid::before {
6547
+ content: '';
6548
+ position: absolute;
6549
+ left: var(--f7-actions-group-margin);
6550
+ right: var(--f7-actions-group-margin);
6551
+ bottom: var(--f7-actions-group-margin);
6531
6552
  background: var(--f7-actions-bg-color);
6532
- }
6533
- @supports ((-webkit-backdrop-filter: blur(20px)) or (backdrop-filter: blur(20px))) {
6534
- .ios-translucent-modals .ios .actions-grid .actions-group {
6535
- background-color: rgba(var(--f7-actions-bg-color-rgb), 0.8);
6536
- -webkit-backdrop-filter: saturate(180%) blur(20px);
6537
- backdrop-filter: saturate(180%) blur(20px);
6538
- }
6539
- }
6540
- .ios .actions-grid .actions-group:first-child {
6541
- border-radius: var(--f7-actions-border-radius) var(--f7-actions-border-radius) 0 0;
6542
- }
6543
- .ios .actions-grid .actions-group:last-child {
6544
- border-radius: 0 0 var(--f7-actions-border-radius) var(--f7-actions-border-radius);
6545
- }
6546
- .ios .actions-grid .actions-group:first-child:last-child {
6553
+ top: 0;
6547
6554
  border-radius: var(--f7-actions-border-radius);
6555
+ box-shadow: var(--f7-glass-shadow);
6556
+ -webkit-backdrop-filter: saturate(180%) blur(16px);
6557
+ backdrop-filter: saturate(180%) blur(16px);
6558
+ }
6559
+ .ios .actions-grid .actions-group {
6560
+ background: transparent;
6561
+ box-shadow: none;
6562
+ -webkit-backdrop-filter: none;
6563
+ backdrop-filter: none;
6548
6564
  }
6549
6565
  .ios .actions-grid .actions-button,
6550
6566
  .ios .actions-grid .actions-label {
6551
- border-radius: 0 !important;
6567
+ border-radius: var(--f7-actions-border-radius);
6552
6568
  }
6553
6569
  .ios .actions-button-media {
6554
6570
  margin-left: 16px;
@@ -9615,19 +9631,19 @@ html.with-modal-sheet-push-closing .framework7-root > .panel-in.panel-push.panel
9615
9631
  --f7-card-expandable-tablet-height: 670px;
9616
9632
  }
9617
9633
  .ios {
9618
- --f7-card-border-radius: 8px;
9634
+ --f7-card-border-radius: 24px;
9619
9635
  --f7-card-box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.2);
9620
9636
  --f7-card-header-font-size: 17px;
9621
9637
  --f7-card-header-padding-vertical: 10px;
9622
- --f7-card-header-min-height: 44px;
9638
+ --f7-card-header-min-height: 52px;
9623
9639
  --f7-card-footer-text-color: rgba(0, 0, 0, 0.45);
9624
9640
  --f7-card-footer-padding-vertical: 10px;
9625
- --f7-card-footer-min-height: 44px;
9641
+ --f7-card-footer-min-height: 52px;
9626
9642
  --f7-card-expandable-margin-horizontal: 20px;
9627
9643
  --f7-card-expandable-margin-vertical: 30px;
9628
9644
  --f7-card-expandable-box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.3);
9629
- --f7-card-expandable-border-radius: 16px;
9630
- --f7-card-expandable-tablet-border-radius: 16px;
9645
+ --f7-card-expandable-border-radius: 24px;
9646
+ --f7-card-expandable-tablet-border-radius: 24px;
9631
9647
  --f7-card-expandable-header-font-size: 27px;
9632
9648
  --f7-card-expandable-header-font-weight: bold;
9633
9649
  --f7-card-text-color: inherit;
@@ -11270,8 +11286,8 @@ label.item-radio.disabled,
11270
11286
  }
11271
11287
  /* === Toggle === */
11272
11288
  .ios {
11273
- --f7-toggle-width: 52px;
11274
- --f7-toggle-height: 32px;
11289
+ --f7-toggle-width: 64px;
11290
+ --f7-toggle-height: 28px;
11275
11291
  /*
11276
11292
  --f7-toggle-active-bg-color: var(--f7-theme-color);
11277
11293
  */
@@ -11344,52 +11360,86 @@ label.item-radio.disabled,
11344
11360
  transition-duration: 300ms;
11345
11361
  }
11346
11362
  .ios .toggle {
11363
+ --f7-toggle-knob-tx: 0px;
11364
+ }
11365
+ .ios .toggle::before {
11366
+ content: '';
11367
+ border-radius: inherit;
11368
+ inset: 0;
11369
+ position: absolute;
11370
+ background: var(--f7-toggle-inactive-border-color);
11371
+ transition-duration: 300ms;
11372
+ z-index: 0;
11373
+ }
11374
+ .ios .toggle::after {
11375
+ content: '';
11376
+ position: absolute;
11377
+ left: 0;
11378
+ transform: translateX(calc(var(--f7-toggle-width) - var(--f7-toggle-height)));
11379
+ top: 0;
11380
+ width: var(--f7-toggle-height);
11381
+ height: var(--f7-toggle-height);
11382
+ border-radius: var(--f7-toggle-height);
11347
11383
  background: var(--f7-toggle-inactive-border-color);
11384
+ transition-duration: 300ms;
11385
+ z-index: 0;
11348
11386
  }
11349
- .ios .toggle input[type='checkbox']:checked + .toggle-icon {
11350
- background: var(--f7-toggle-active-color, var(--f7-theme-color));
11387
+ .ios .toggle:has(input[type='checkbox']:checked) {
11388
+ --f7-toggle-knob-tx: calc(var(--f7-toggle-width) - 38px - 4px);
11351
11389
  }
11352
- .ios .toggle input[type='checkbox']:checked + .toggle-icon:before {
11390
+ .ios .toggle:has(input[type='checkbox']:checked)::before {
11353
11391
  background: var(--f7-toggle-active-bg-color, var(--f7-theme-color));
11354
- transform: scale(0);
11355
11392
  }
11356
- .ios .toggle input[type='checkbox']:checked + .toggle-icon:after {
11357
- background: var(--f7-toggle-active-knob-bg-color);
11358
- transform: translateX(calc(var(--f7-toggle-width) - var(--f7-toggle-height)));
11393
+ .ios .toggle:has(input[type='checkbox']:checked)::after {
11394
+ background: var(--f7-toggle-active-bg-color, var(--f7-theme-color));
11395
+ transform: translateX(0);
11359
11396
  }
11360
11397
  .ios .toggle-icon {
11361
- background: var(--f7-toggle-border-color);
11362
- }
11363
- .ios .toggle-icon:before {
11364
- position: absolute;
11365
- left: 2px;
11366
- top: 2px;
11367
- width: calc(var(--f7-toggle-width) - 4px);
11368
- height: calc(var(--f7-toggle-height) - 4px);
11369
- border-radius: var(--f7-toggle-height);
11370
- box-sizing: border-box;
11371
- background: var(--f7-toggle-inactive-bg-color);
11372
- z-index: 1;
11373
- transition-duration: 300ms;
11374
- transform: scale(1);
11375
- }
11376
- .ios .toggle-icon:after {
11377
11398
  background: var(--f7-toggle-inactive-knob-bg-color);
11378
11399
  height: calc(var(--f7-toggle-height) - 4px);
11379
- width: calc(var(--f7-toggle-height) - 4px);
11400
+ width: 38px;
11380
11401
  top: 2px;
11381
11402
  left: 2px;
11382
11403
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
11383
11404
  border-radius: calc(var(--f7-toggle-height) - 4px);
11405
+ transition-duration: 300ms;
11406
+ transform: translateX(var(--f7-toggle-knob-tx)) scale(1);
11407
+ position: relative;
11408
+ z-index: 1;
11409
+ transform-origin: center;
11384
11410
  }
11385
- .ios .toggle-active-state input[type='checkbox']:not(:checked) + .toggle-icon:before {
11386
- transform: scale(0);
11411
+ .ios .toggle-icon::before {
11412
+ content: '';
11413
+ position: absolute;
11414
+ left: 50%;
11415
+ top: 50%;
11416
+ width: 1px;
11417
+ height: 1px;
11418
+ opacity: 0;
11419
+ transition-duration: 300ms;
11420
+ box-shadow: 0px 0px 40px 15px rgba(var(--f7-theme-color-rgb), 0.75);
11421
+ }
11422
+ .ios .toggle-icon::after {
11423
+ content: '';
11424
+ position: absolute;
11425
+ inset: 0;
11426
+ border-radius: inherit;
11427
+ box-shadow: var(--f7-glass-shadow-thumb);
11428
+ transition-duration: 300ms;
11429
+ opacity: 0;
11430
+ }
11431
+ .ios .toggle-active-state::before {
11432
+ transform: scale(0.75);
11433
+ }
11434
+ .ios .toggle-active-state .toggle-icon {
11435
+ background: transparent;
11436
+ transform: translateX(var(--f7-toggle-knob-tx)) scale(1.4);
11387
11437
  }
11388
- .ios .toggle-active-state input[type='checkbox'] + .toggle-icon:after {
11389
- width: calc(var(--f7-toggle-height) + 4px);
11438
+ .ios .toggle-active-state .toggle-icon::before {
11439
+ opacity: 1;
11390
11440
  }
11391
- .ios .toggle-active-state input[type='checkbox']:checked + .toggle-icon:after {
11392
- transform: translateX(calc(var(--f7-toggle-width) - var(--f7-toggle-height) - 8px));
11441
+ .ios .toggle-active-state .toggle-icon::after {
11442
+ opacity: 1;
11393
11443
  }
11394
11444
  .md .toggle input[type='checkbox']:checked + .toggle-icon {
11395
11445
  background: var(--f7-toggle-active-bg-color);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 0.0.2
2
+ * Framework7 0.0.3
3
3
  * Full featured mobile HTML framework for building iOS & Android apps
4
4
  * https://framework7.io/
5
5
  *
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: July 26, 2025
10
+ * Released on: December 14, 2025
11
11
  */
12
12
 
13
13
  import $ from './shared/dom7.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Framework7 0.0.2
2
+ * Framework7 0.0.3
3
3
  * Full featured mobile HTML framework for building iOS & Android apps
4
4
  * https://framework7.io/
5
5
  *
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Released under the MIT License
9
9
  *
10
- * Released on: July 26, 2025
10
+ * Released on: December 14, 2025
11
11
  */
12
12
 
13
13
  (function (global, factory) {
@@ -4270,6 +4270,7 @@
4270
4270
  componentUrl: undefined,
4271
4271
  userAgent: null,
4272
4272
  url: null,
4273
+ mdColorScheme: 'default',
4273
4274
  colors: {
4274
4275
  primary: '#007aff',
4275
4276
  red: '#ff3b30',
@@ -4311,6 +4312,7 @@
4311
4312
  passedParams,
4312
4313
  online: w.navigator.onLine,
4313
4314
  colors: app.params.colors,
4315
+ mdColorScheme: app.params.mdColorScheme || 'default',
4314
4316
  darkMode: app.params.darkMode
4315
4317
  });
4316
4318
  if (params.store) app.params.store = params.store;
@@ -4340,10 +4342,16 @@
4340
4342
  // Return app instance
4341
4343
  return app;
4342
4344
  }
4343
- setColorTheme(color) {
4345
+ setColorTheme(color, mdColorScheme) {
4344
4346
  if (!color) return;
4345
4347
  const app = this;
4346
4348
  app.colors.primary = color;
4349
+ app.mdColorScheme = mdColorScheme || app.mdColorScheme;
4350
+ app.setColors();
4351
+ }
4352
+ setMdColorScheme(mdColorScheme) {
4353
+ const app = this;
4354
+ app.mdColorScheme = mdColorScheme || app.mdColorScheme;
4347
4355
  app.setColors();
4348
4356
  }
4349
4357
  setColors() {
@@ -4353,7 +4361,7 @@
4353
4361
  app.colorsStyleEl = document.createElement('style');
4354
4362
  document.head.prepend(app.colorsStyleEl);
4355
4363
  }
4356
- app.colorsStyleEl.textContent = app.utils.colorThemeCSSStyles(app.colors);
4364
+ app.colorsStyleEl.textContent = app.utils.colorThemeCSSStyles(app.colors, app.mdColorScheme);
4357
4365
  }
4358
4366
  mount(rootEl) {
4359
4367
  const app = this;
@@ -21264,7 +21272,6 @@
21264
21272
  }
21265
21273
  super(params, [app]);
21266
21274
  const toggle = this;
21267
- const support = getSupport$1();
21268
21275
  const defaults = {};
21269
21276
 
21270
21277
  // Extend defaults with modules params
@@ -21375,19 +21382,17 @@
21375
21382
  toggle.emit('local::change toggleChange', toggle);
21376
21383
  }
21377
21384
  toggle.attachEvents = function attachEvents() {
21378
- const passive = support.passiveListener ? {
21385
+ $el.on(app.touchEvents.start, handleTouchStart, {
21379
21386
  passive: true
21380
- } : false;
21381
- $el.on(app.touchEvents.start, handleTouchStart, passive);
21387
+ });
21382
21388
  app.on('touchmove', handleTouchMove);
21383
21389
  app.on('touchend:passive', handleTouchEnd);
21384
21390
  toggle.$inputEl.on('change', handleInputChange);
21385
21391
  };
21386
21392
  toggle.detachEvents = function detachEvents() {
21387
- const passive = support.passiveListener ? {
21393
+ $el.off(app.touchEvents.start, handleTouchStart, {
21388
21394
  passive: true
21389
- } : false;
21390
- $el.off(app.touchEvents.start, handleTouchStart, passive);
21395
+ });
21391
21396
  app.off('touchmove', handleTouchMove);
21392
21397
  app.off('touchend:passive', handleTouchEnd);
21393
21398
  toggle.$inputEl.off('change', handleInputChange);