@xenknight/framework7 0.0.8 → 0.0.10

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 (45) hide show
  1. package/components/navbar-new/navbar-ios.less +135 -135
  2. package/components/navbar-new/navbar-md.less +105 -105
  3. package/components/navbar-new/navbar-vars.less +78 -78
  4. package/components/navbar-new/navbar.d.ts +77 -77
  5. package/components/navbar-new/navbar.less +268 -268
  6. package/components/page/page.less +4 -2
  7. package/components/searchbar-new/searchbar-ios.less +131 -131
  8. package/components/searchbar-new/searchbar-md.less +154 -153
  9. package/components/searchbar-new/searchbar-new-class.js +32 -20
  10. package/components/searchbar-new/searchbar-vars.less +75 -75
  11. package/components/searchbar-new/searchbar.less +336 -331
  12. package/components/subnavbar-new/subnavbar-new-ios.less +67 -0
  13. package/components/subnavbar-new/subnavbar-new-md.less +48 -0
  14. package/components/subnavbar-new/subnavbar-new-vars.less +42 -0
  15. package/components/subnavbar-new/subnavbar-new.d.ts +12 -0
  16. package/components/subnavbar-new/subnavbar-new.js +20 -0
  17. package/components/subnavbar-new/subnavbar-new.less +151 -0
  18. package/components/toolbar-new/tabbar-highlight.js +29 -9
  19. package/components/toolbar-new/toolbar-ios.less +193 -193
  20. package/components/toolbar-new/toolbar-md.less +152 -152
  21. package/components/toolbar-new/toolbar-vars.less +77 -77
  22. package/components/toolbar-new/toolbar.less +261 -261
  23. package/framework7-bundle-rtl.css +260 -9
  24. package/framework7-bundle-rtl.min.css +5 -5
  25. package/framework7-bundle.css +260 -9
  26. package/framework7-bundle.esm.js +5 -3
  27. package/framework7-bundle.js +84 -32
  28. package/framework7-bundle.js.map +1 -1
  29. package/framework7-bundle.less +3 -2
  30. package/framework7-bundle.min.css +5 -5
  31. package/framework7-bundle.min.js +3 -3
  32. package/framework7-bundle.min.js.map +1 -1
  33. package/framework7-lite-bundle.esm.js +5 -3
  34. package/framework7-lite.esm.js +5 -3
  35. package/framework7-lite.js +3 -1
  36. package/framework7-rtl.css +260 -9
  37. package/framework7-rtl.min.css +5 -5
  38. package/framework7-types.d.ts +5 -1
  39. package/framework7.css +260 -9
  40. package/framework7.d.ts +4 -0
  41. package/framework7.esm.js +5 -3
  42. package/framework7.js +3 -1
  43. package/framework7.less +3 -2
  44. package/framework7.min.css +5 -5
  45. package/package.json +1 -1
@@ -103,8 +103,18 @@ class SearchbarNew extends FrameworkClass {
103
103
  $backdropEl = $('<div class="searchbar-new-backdrop"></div>');
104
104
  if ($pageEl && $pageEl.length) {
105
105
  if ($el.parents($pageEl).length > 0 && $navbarEl && $el.parents($navbarEl).length === 0) {
106
+ // Searchbar is in page but not in navbar - insert before searchbar
106
107
  $backdropEl.insertBefore($el);
108
+ } else if ($navbarEl && $navbarEl.length > 0) {
109
+ // Searchbar is in navbar - insert after navbar, before page-content
110
+ const $pageContent = $pageEl.find('.page-content').eq(0);
111
+ if ($pageContent.length) {
112
+ $backdropEl.insertBefore($pageContent);
113
+ } else {
114
+ $navbarEl.after($backdropEl);
115
+ }
107
116
  } else {
117
+ // Default: insert before page-content
108
118
  $backdropEl.insertBefore($pageEl.find('.page-content').eq(0));
109
119
  }
110
120
  } else {
@@ -183,8 +193,8 @@ class SearchbarNew extends FrameworkClass {
183
193
  }
184
194
  }
185
195
  function onInputClear(e, previousValue) {
186
- sb.$el.trigger('searchbar-new:clear', previousValue);
187
- sb.emit('local::clear searchbarNewClear', sb, previousValue);
196
+ sb.$el.trigger('searchbar:clear', previousValue);
197
+ sb.emit('local::clear searchbarClear', sb, previousValue);
188
198
  }
189
199
  function disableOnClick(e) {
190
200
  sb.disable(e);
@@ -257,15 +267,16 @@ class SearchbarNew extends FrameworkClass {
257
267
  }
258
268
  const previousQuery = sb.value;
259
269
  sb.$inputEl.val('').trigger('change').focus();
260
- sb.$el.trigger('searchbar-new:clear', previousQuery);
261
- sb.emit('local::clear searchbarNewClear', sb, previousQuery);
270
+ sb.$el.trigger('searchbar:clear', previousQuery);
271
+ sb.emit('local::clear searchbarClear', sb, previousQuery);
262
272
  return sb;
263
273
  }
264
274
  setDisableButtonMargin() {
265
275
  const sb = this;
266
276
  if (sb.expandable) return;
267
277
  const app = sb.app;
268
- sb.$disableButtonEl.transition(0).show();
278
+ sb.$disableButtonEl.transition(0);
279
+ sb.$disableButtonEl.css('display', 'flex');
269
280
  sb.$disableButtonEl.css(`margin-${app.rtl ? 'left' : 'right'}`, `${-sb.disableButtonEl.offsetWidth}px`);
270
281
  /* eslint no-underscore-dangle: ["error", { "allow": ["_clientLeft"] }] */
271
282
  sb._clientLeft = sb.$disableButtonEl[0].clientLeft;
@@ -317,8 +328,8 @@ class SearchbarNew extends FrameworkClass {
317
328
  }
318
329
  }
319
330
  if (sb.$hideOnEnableEl) sb.$hideOnEnableEl.addClass('hidden-by-searchbar-new');
320
- sb.$el.trigger('searchbar-new:enable');
321
- sb.emit('local::enable searchbarNewEnable', sb);
331
+ sb.$el.trigger('searchbar:enable');
332
+ sb.emit('local::enable searchbarEnable', sb);
322
333
  }
323
334
  let needsFocus = false;
324
335
  if (setFocus === true) {
@@ -359,9 +370,10 @@ class SearchbarNew extends FrameworkClass {
359
370
  if (sb.expandable) {
360
371
  const $navbarEl = sb.$el.parents('.navbar-new');
361
372
  const $pageContentEl = sb.$pageEl && sb.$pageEl.find('.page-content');
373
+ const $transitionTargetEl = app.theme === 'md' ? sb.$el : sb.$el.find('.searchbar-new-input-wrap');
362
374
  if ($navbarEl.hasClass('navbar-new-large') && $pageContentEl.length) {
363
375
  const $titleLargeEl = $navbarEl.find('.title-large');
364
- sb.$el.transitionEnd(() => {
376
+ $transitionTargetEl.transitionEnd(() => {
365
377
  $pageContentEl.removeClass('with-searchbar-new-expandable-closing');
366
378
  });
367
379
  if ($navbarEl.hasClass('navbar-new-large') && $navbarEl.hasClass('navbar-new-large-collapsed') && $titleLargeEl.length) {
@@ -379,12 +391,12 @@ class SearchbarNew extends FrameworkClass {
379
391
  }
380
392
  if (app.theme === 'md' && $navbarEl.length) {
381
393
  $navbarEl.removeClass('with-searchbar-new-expandable-enabled with-searchbar-new-expandable-enabled-no-transition').addClass('with-searchbar-new-expandable-closing');
382
- sb.$el.transitionEnd(() => {
394
+ $transitionTargetEl.transitionEnd(() => {
383
395
  $navbarEl.removeClass('with-searchbar-new-expandable-closing');
384
396
  });
385
397
  } else {
386
398
  $navbarEl.removeClass('with-searchbar-new-expandable-enabled with-searchbar-new-expandable-enabled-no-transition').addClass('with-searchbar-new-expandable-closing');
387
- sb.$el.transitionEnd(() => {
399
+ $transitionTargetEl.transitionEnd(() => {
388
400
  $navbarEl.removeClass('with-searchbar-new-expandable-closing');
389
401
  });
390
402
  if (sb.$pageEl) {
@@ -401,8 +413,8 @@ class SearchbarNew extends FrameworkClass {
401
413
  sb.enabled = false;
402
414
  sb.$inputEl.blur();
403
415
  if (sb.$hideOnEnableEl) sb.$hideOnEnableEl.removeClass('hidden-by-searchbar-new');
404
- sb.$el.trigger('searchbar-new:disable');
405
- sb.emit('local::disable searchbarNewDisable', sb);
416
+ sb.$el.trigger('searchbar:disable');
417
+ sb.emit('local::disable searchbarDisable', sb);
406
418
  return sb;
407
419
  }
408
420
  toggle() {
@@ -461,11 +473,11 @@ class SearchbarNew extends FrameworkClass {
461
473
  }
462
474
  }
463
475
  if (sb.params.customSearch) {
464
- $el.trigger('searchbar-new:search', {
476
+ $el.trigger('searchbar:search', {
465
477
  query,
466
478
  previousQuery: sb.previousQuery
467
479
  });
468
- sb.emit('local::search searchbarNewSearch', sb, query, sb.previousQuery);
480
+ sb.emit('local::search searchbarSearch', sb, query, sb.previousQuery);
469
481
  return sb;
470
482
  }
471
483
  let foundItems = [];
@@ -476,11 +488,11 @@ class SearchbarNew extends FrameworkClass {
476
488
  sb.virtualList.resetFilter();
477
489
  if ($notFoundEl) $notFoundEl.hide();
478
490
  if ($foundEl) $foundEl.show();
479
- $el.trigger('searchbar-new:search', {
491
+ $el.trigger('searchbar:search', {
480
492
  query,
481
493
  previousQuery: sb.previousQuery
482
494
  });
483
- sb.emit('local::search searchbarNewSearch', sb, query, sb.previousQuery);
495
+ sb.emit('local::search searchbarSearch', sb, query, sb.previousQuery);
484
496
  return sb;
485
497
  }
486
498
  vlQuery = sb.params.removeDiacritics ? removeDiacritics(query) : query;
@@ -563,12 +575,12 @@ class SearchbarNew extends FrameworkClass {
563
575
  if (isVirtualList && sb.virtualList) {
564
576
  sb.virtualList.filterItems(foundItems);
565
577
  }
566
- $el.trigger('searchbar-new:search', {
578
+ $el.trigger('searchbar:search', {
567
579
  query,
568
580
  previousQuery: sb.previousQuery,
569
581
  foundItems
570
582
  });
571
- sb.emit('local::search searchbarNewSearch', sb, query, sb.previousQuery, foundItems);
583
+ sb.emit('local::search searchbarSearch', sb, query, sb.previousQuery, foundItems);
572
584
  return sb;
573
585
  }
574
586
  init() {
@@ -579,8 +591,8 @@ class SearchbarNew extends FrameworkClass {
579
591
  }
580
592
  destroy() {
581
593
  const sb = this;
582
- sb.emit('local::beforeDestroy searchbarNewBeforeDestroy', sb);
583
- sb.$el.trigger('searchbar-new:beforedestroy');
594
+ sb.emit('local::beforeDestroy searchbarBeforeDestroy', sb);
595
+ sb.$el.trigger('searchbar:beforedestroy');
584
596
  sb.detachEvents();
585
597
  if (sb.$el[0]) {
586
598
  sb.$el[0].f7SearchbarNew = null;
@@ -1,75 +1,75 @@
1
- :root {
2
- /*
3
- --f7-searchbar-new-link-color: var(--f7-bars-link-color);
4
- --f7-searchbar-new-inline-input-font-size: var(--f7-searchbar-new-input-font-size);
5
- */
6
- --f7-searchbar-new-input-border-width: 0px;
7
- --f7-searchbar-new-input-border-color: transparent;
8
- }
9
- .ios-vars({
10
- /*
11
- --f7-searchbar-new-border-color: var(--f7-bars-border-color);
12
- */
13
- --f7-searchbar-new-bg-color: transparent;
14
- --f7-searchbar-new-height: 44px;
15
- --f7-searchbar-new-inner-padding-left: 0px;
16
- --f7-searchbar-new-inner-padding-right: 0px;
17
- --f7-searchbar-new-link-color: var(--f7-bars-text-color);
18
- --f7-searchbar-new-input-font-size: 17px;
19
- --f7-searchbar-new-input-border-radius: 44px;
20
- --f7-searchbar-new-input-height: 44px;
21
- --f7-searchbar-new-inline-input-height: 44px;
22
- /*
23
- --f7-searchbar-new-inline-input-border-radius: var(--f7-searchbar-new-input-border-radius);
24
- */
25
- --f7-searchbar-new-input-padding-horizontal: 44px;
26
- /*
27
- --f7-searchbar-new-inline-input-padding-horizontal: var(--f7-searchbar-new-input-padding-horizontal);
28
- --f7-searchbar-new-input-clear-button-color: var(--f7-input-clear-button-color);
29
- */
30
- --f7-searchbar-new-backdrop-bg-color: rgba(0,0,0,0.4);
31
- --f7-searchbar-new-in-page-content-margin: 16px;
32
- --f7-searchbar-new-in-page-content-box-shadow: none;
33
- --f7-searchbar-new-in-page-content-border-radius: 44px;
34
- --f7-searchbar-new-in-page-content-input-border-radius: 44px;
35
- --f7-searchbar-new-input-bg-color: var(--f7-glass-bg-color);
36
- .light-vars({
37
- --f7-searchbar-new-placeholder-color: rgba(0, 0, 0, 0.4);
38
- --f7-searchbar-new-input-text-color: #000;
39
- --f7-searchbar-new-search-icon-color: rgba(0, 0, 0, 0.4);
40
- --f7-searchbar-new-bars-bg-color: #efeff4;
41
- });
42
- .dark-vars({
43
- --f7-searchbar-new-placeholder-color: rgba(255, 255, 255, 0.4);
44
- --f7-searchbar-new-input-text-color: #fff;
45
- --f7-searchbar-new-search-icon-color: rgba(255, 255, 255, 0.4);
46
- --f7-searchbar-new-bars-bg-color: rgba(0, 0, 0, 0.5);
47
- });
48
- });
49
- .md-vars({
50
- --f7-searchbar-new-border-color: transparent;
51
- --f7-searchbar-new-height: 48px;
52
- --f7-searchbar-new-inner-padding-left: 8px;
53
- --f7-searchbar-new-inner-padding-right: 8px;
54
- --f7-searchbar-new-input-font-size: 16px;
55
- --f7-searchbar-new-input-border-radius: 24px;
56
- --f7-searchbar-new-input-height: 48px;
57
- --f7-searchbar-new-inline-input-height: 48px;
58
- --f7-searchbar-new-inline-input-border-radius: 24px;
59
- --f7-searchbar-new-input-padding-horizontal: 16px;
60
- --f7-searchbar-new-inline-input-padding-horizontal: 16px;
61
- --f7-searchbar-new-backdrop-bg-color: rgba(0,0,0,0.25);
62
- --f7-searchbar-new-in-page-content-margin: 16px 0;
63
- --f7-searchbar-new-in-page-content-box-shadow: none;
64
- --f7-searchbar-new-in-page-content-border-radius: 24px;
65
- --f7-searchbar-new-in-page-content-input-border-radius: 24px;
66
- --f7-searchbar-new-bg-color: transparent;
67
- });
68
- .md-color-vars({
69
- --f7-searchbar-new-link-color: var(--f7-md-on-surface);
70
- --f7-searchbar-new-search-icon-color: var(--f7-md-on-surface);
71
- --f7-searchbar-new-input-clear-button-color: var(--f7-md-on-surface);
72
- --f7-searchbar-new-placeholder-color: var(--f7-md-on-surface-variant);
73
- --f7-searchbar-new-input-bg-color: var(--f7-md-secondary-container);
74
- --f7-searchbar-new-input-text-color: var(--f7-md-on-surface);
75
- });
1
+ :root {
2
+ /*
3
+ --f7-searchbar-new-link-color: var(--f7-bars-link-color);
4
+ --f7-searchbar-new-inline-input-font-size: var(--f7-searchbar-new-input-font-size);
5
+ */
6
+ --f7-searchbar-new-input-border-width: 0px;
7
+ --f7-searchbar-new-input-border-color: transparent;
8
+ }
9
+ .ios-vars({
10
+ /*
11
+ --f7-searchbar-new-border-color: var(--f7-bars-border-color);
12
+ */
13
+ --f7-searchbar-new-bg-color: transparent;
14
+ --f7-searchbar-new-height: 44px;
15
+ --f7-searchbar-new-inner-padding-left: 0px;
16
+ --f7-searchbar-new-inner-padding-right: 0px;
17
+ --f7-searchbar-new-link-color: var(--f7-bars-text-color);
18
+ --f7-searchbar-new-input-font-size: 17px;
19
+ --f7-searchbar-new-input-border-radius: 44px;
20
+ --f7-searchbar-new-input-height: 44px;
21
+ --f7-searchbar-new-inline-input-height: 44px;
22
+ /*
23
+ --f7-searchbar-new-inline-input-border-radius: var(--f7-searchbar-new-input-border-radius);
24
+ */
25
+ --f7-searchbar-new-input-padding-horizontal: 44px;
26
+ /*
27
+ --f7-searchbar-new-inline-input-padding-horizontal: var(--f7-searchbar-new-input-padding-horizontal);
28
+ --f7-searchbar-new-input-clear-button-color: var(--f7-input-clear-button-color);
29
+ */
30
+ --f7-searchbar-new-backdrop-bg-color: rgba(0,0,0,0.4);
31
+ --f7-searchbar-new-in-page-content-margin: 16px;
32
+ --f7-searchbar-new-in-page-content-box-shadow: none;
33
+ --f7-searchbar-new-in-page-content-border-radius: 44px;
34
+ --f7-searchbar-new-in-page-content-input-border-radius: 44px;
35
+ --f7-searchbar-new-input-bg-color: var(--f7-glass-bg-color);
36
+ .light-vars({
37
+ --f7-searchbar-new-placeholder-color: rgba(0, 0, 0, 0.4);
38
+ --f7-searchbar-new-input-text-color: #000;
39
+ --f7-searchbar-new-search-icon-color: rgba(0, 0, 0, 0.4);
40
+ --f7-searchbar-new-bars-bg-color: #efeff4;
41
+ });
42
+ .dark-vars({
43
+ --f7-searchbar-new-placeholder-color: rgba(255, 255, 255, 0.4);
44
+ --f7-searchbar-new-input-text-color: #fff;
45
+ --f7-searchbar-new-search-icon-color: rgba(255, 255, 255, 0.4);
46
+ --f7-searchbar-new-bars-bg-color: rgba(0, 0, 0, 0.5);
47
+ });
48
+ });
49
+ .md-vars({
50
+ --f7-searchbar-new-border-color: transparent;
51
+ --f7-searchbar-new-height: 48px;
52
+ --f7-searchbar-new-inner-padding-left: 8px;
53
+ --f7-searchbar-new-inner-padding-right: 8px;
54
+ --f7-searchbar-new-input-font-size: 16px;
55
+ --f7-searchbar-new-input-border-radius: 24px;
56
+ --f7-searchbar-new-input-height: 48px;
57
+ --f7-searchbar-new-inline-input-height: 48px;
58
+ --f7-searchbar-new-inline-input-border-radius: 24px;
59
+ --f7-searchbar-new-input-padding-horizontal: 16px;
60
+ --f7-searchbar-new-inline-input-padding-horizontal: 16px;
61
+ --f7-searchbar-new-backdrop-bg-color: rgba(0,0,0,0.25);
62
+ --f7-searchbar-new-in-page-content-margin: 16px 0;
63
+ --f7-searchbar-new-in-page-content-box-shadow: none;
64
+ --f7-searchbar-new-in-page-content-border-radius: 24px;
65
+ --f7-searchbar-new-in-page-content-input-border-radius: 24px;
66
+ --f7-searchbar-new-bg-color: transparent;
67
+ });
68
+ .md-color-vars({
69
+ --f7-searchbar-new-link-color: var(--f7-md-on-surface);
70
+ --f7-searchbar-new-search-icon-color: var(--f7-md-on-surface);
71
+ --f7-searchbar-new-input-clear-button-color: var(--f7-md-on-surface);
72
+ --f7-searchbar-new-placeholder-color: var(--f7-md-on-surface-variant);
73
+ --f7-searchbar-new-input-bg-color: var(--f7-md-secondary-container);
74
+ --f7-searchbar-new-input-text-color: var(--f7-md-on-surface);
75
+ });