framework7 7.0.0-beta.15 → 7.0.0-beta.20

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 (142) hide show
  1. package/components/accordion/accordion.lazy.js +1 -1
  2. package/components/actions/actions.js +10 -2
  3. package/components/actions/actions.lazy.js +1 -1
  4. package/components/app/app-class.js +15 -9
  5. package/components/area-chart/area-chart-class.js +34 -18
  6. package/components/area-chart/area-chart.lazy.js +1 -1
  7. package/components/autocomplete/autocomplete-class.js +5 -1
  8. package/components/autocomplete/autocomplete.lazy.js +1 -1
  9. package/components/calendar/calendar-class.js +10 -2
  10. package/components/calendar/calendar.js +5 -1
  11. package/components/calendar/calendar.lazy.js +1 -1
  12. package/components/card/card.js +23 -3
  13. package/components/card/card.lazy.js +1 -1
  14. package/components/color-picker/color-picker-class.js +19 -3
  15. package/components/color-picker/color-picker.js +5 -1
  16. package/components/color-picker/color-picker.lazy.js +1 -1
  17. package/components/data-table/data-table-class.js +5 -1
  18. package/components/data-table/data-table.lazy.js +1 -1
  19. package/components/dialog/dialog.js +30 -6
  20. package/components/dialog/dialog.lazy.js +1 -1
  21. package/components/fab/fab-rtl.css +1 -1
  22. package/components/fab/fab.css +1 -1
  23. package/components/fab/fab.js +15 -3
  24. package/components/fab/fab.lazy.js +1 -1
  25. package/components/form/form.lazy.js +1 -1
  26. package/components/gauge/gauge-class.js +10 -2
  27. package/components/gauge/gauge.lazy.js +1 -1
  28. package/components/input/input.js +5 -1
  29. package/components/input/input.lazy.js +1 -1
  30. package/components/list-index/list-index-class.js +5 -1
  31. package/components/list-index/list-index.lazy.js +1 -1
  32. package/components/login-screen/login-screen.js +10 -2
  33. package/components/login-screen/login-screen.lazy.js +1 -1
  34. package/components/menu/menu.js +10 -2
  35. package/components/menu/menu.lazy.js +1 -1
  36. package/components/messagebar/messagebar-class.js +25 -5
  37. package/components/messagebar/messagebar.lazy.js +1 -1
  38. package/components/messages/messages-class.js +60 -24
  39. package/components/messages/messages-rtl.css +1 -1
  40. package/components/messages/messages.css +1 -1
  41. package/components/messages/messages.lazy.js +1 -1
  42. package/components/navbar/navbar.js +26 -2
  43. package/components/panel/panel-class.js +35 -7
  44. package/components/panel/panel.js +40 -8
  45. package/components/panel/panel.lazy.js +1 -1
  46. package/components/photo-browser/photo-browser-class.js +42 -8
  47. package/components/photo-browser/photo-browser.lazy.js +1 -1
  48. package/components/picker/picker-class.js +5 -1
  49. package/components/picker/picker.js +5 -1
  50. package/components/picker/picker.lazy.js +1 -1
  51. package/components/pie-chart/pie-chart-class.js +16 -7
  52. package/components/pie-chart/pie-chart.lazy.js +1 -1
  53. package/components/popover/popover-class.js +5 -1
  54. package/components/popover/popover.js +10 -2
  55. package/components/popover/popover.lazy.js +1 -1
  56. package/components/popup/popup.js +10 -2
  57. package/components/popup/popup.lazy.js +1 -1
  58. package/components/preloader/preloader-rtl.css +1 -1
  59. package/components/preloader/preloader.css +1 -1
  60. package/components/preloader/preloader.js +10 -2
  61. package/components/preloader/preloader.lazy.js +1 -1
  62. package/components/progressbar/progressbar.js +16 -3
  63. package/components/progressbar/progressbar.lazy.js +1 -1
  64. package/components/pull-to-refresh/pull-to-refresh-class.js +5 -1
  65. package/components/pull-to-refresh/pull-to-refresh.lazy.js +1 -1
  66. package/components/range/range.js +10 -2
  67. package/components/range/range.lazy.js +1 -1
  68. package/components/searchbar/searchbar-class.js +5 -1
  69. package/components/searchbar/searchbar.js +20 -4
  70. package/components/searchbar/searchbar.lazy.js +1 -1
  71. package/components/sheet/sheet-class.js +5 -1
  72. package/components/sheet/sheet.js +10 -2
  73. package/components/sheet/sheet.lazy.js +1 -1
  74. package/components/smart-select/smart-select-class.js +15 -3
  75. package/components/smart-select/smart-select.lazy.js +1 -1
  76. package/components/sortable/sortable.js +30 -6
  77. package/components/sortable/sortable.lazy.js +1 -1
  78. package/components/statusbar/statusbar.js +5 -1
  79. package/components/stepper/stepper.js +10 -2
  80. package/components/stepper/stepper.lazy.js +1 -1
  81. package/components/swipeout/swipeout.js +16 -3
  82. package/components/swipeout/swipeout.lazy.js +1 -1
  83. package/components/swiper/swiper.lazy.js +1 -1
  84. package/components/tabs/tabs.js +10 -2
  85. package/components/tabs/tabs.lazy.js +1 -1
  86. package/components/toggle/toggle-class.js +5 -1
  87. package/components/toggle/toggle.lazy.js +1 -1
  88. package/components/toolbar/toolbar.js +10 -2
  89. package/components/tooltip/tooltip-class.js +5 -1
  90. package/components/tooltip/tooltip.lazy.js +1 -1
  91. package/components/touch-ripple/touch-ripple.js +5 -1
  92. package/components/treeview/treeview.lazy.js +1 -1
  93. package/components/view/view-class.js +5 -1
  94. package/components/virtual-list/virtual-list-class.js +10 -2
  95. package/components/virtual-list/virtual-list.lazy.js +1 -1
  96. package/framework7-bundle-rtl.css +4 -4
  97. package/framework7-bundle-rtl.min.css +3 -3
  98. package/framework7-bundle.css +4 -4
  99. package/framework7-bundle.esm.js +2 -2
  100. package/framework7-bundle.js +1646 -461
  101. package/framework7-bundle.js.map +1 -1
  102. package/framework7-bundle.less +2 -2
  103. package/framework7-bundle.min.css +3 -3
  104. package/framework7-bundle.min.js +3 -3
  105. package/framework7-bundle.min.js.map +1 -1
  106. package/framework7-lite-bundle.esm.js +2 -2
  107. package/framework7-lite.esm.js +2 -2
  108. package/framework7-rtl.css +2 -2
  109. package/framework7-rtl.min.css +2 -2
  110. package/framework7.css +2 -2
  111. package/framework7.esm.js +2 -2
  112. package/framework7.js +562 -174
  113. package/framework7.js.map +1 -1
  114. package/framework7.less +2 -2
  115. package/framework7.min.css +2 -2
  116. package/framework7.min.js +3 -3
  117. package/framework7.min.js.map +1 -1
  118. package/modules/component/$h.js +5 -1
  119. package/modules/component/$jsx.js +5 -1
  120. package/modules/component/component-class.js +35 -22
  121. package/modules/component/component.js +7 -6
  122. package/modules/component/eventslisteners.js +5 -1
  123. package/modules/component/snabbdom/h.js +1 -1
  124. package/modules/component/vdom.js +32 -17
  125. package/modules/router/back.js +5 -5
  126. package/modules/router/component-loader.js +34 -23
  127. package/modules/router/modal.js +5 -1
  128. package/modules/router/navigate.js +19 -3
  129. package/modules/router/redirect.js +5 -1
  130. package/modules/router/router-class.js +39 -10
  131. package/modules/router/swipe-back.js +7 -6
  132. package/modules/router/tab.js +5 -1
  133. package/modules/store/create-store.js +10 -2
  134. package/package.json +3 -2
  135. package/shared/$jsx.js +6 -1
  136. package/shared/class.js +33 -5
  137. package/shared/constructor-methods.js +25 -4
  138. package/shared/events-class.js +15 -3
  139. package/shared/get-device.js +9 -4
  140. package/shared/modal-methods.js +10 -2
  141. package/shared/request.js +45 -7
  142. package/shared/utils.js +47 -10
@@ -1 +1 @@
1
- (function framework7ComponentLoader(e,a){void 0===a&&(a=!0);var n=e.$,t=e.utils,s=(e.getDevice,e.getSupport),l=e.Class,i=(e.Modal,e.ConstructorMethods,e.ModalMethods,t.extend),o=t.now,r=t.nextFrame,p=t.deleteProps;function d(e){const a=e.app,t=s();if(e.resizableInitialized)return;i(e,{resizable:!0,resizableWidth:null,resizableInitialized:!0});const l=n("html"),{$el:o,$backdropEl:p,side:d,effect:c}=e;if(!o)return;let h,f;const b={};let g,u,v,m,w,C;function k(e){if(!e)return null;if(e.indexOf("%")>=0||e.indexOf("vw")>=0)return parseInt(e,10)/100*a.width;const n=parseInt(e,10);return Number.isNaN(n)?null:n}function $(a){e.resizable&&o.hasClass("panel-resizable")&&(b.x="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,b.y="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY,f=!1,h=!0,m=k(o.css("min-width")),w=k(o.css("max-width")),C=o.hasClass("panel-in-breakpoint"))}function z(t){if(!h)return;const s="touchmove"===t.type?t.targetTouches[0].pageX:t.pageX;f||(u=o[0].offsetWidth,o.transition(0),o.addClass("panel-resizing"),l.css("cursor","col-resize"),("cover"!==c||C)&&(v=n(e.getViewEl()),e.$containerEl&&e.$containerEl.hasClass("page")&&v.add(e.$containerEl.children(".page-content, .tabs, .fab"))),"cover"===c||C||(p.transition(0),v.transition(0))),f=!0,t.preventDefault(),g=s-b.x;let i="left"===d?u+g:u-g;m&&!Number.isNaN(m)&&(i=Math.max(i,m)),w&&!Number.isNaN(w)&&(i=Math.min(i,w)),i=Math.min(Math.max(i,0),a.width),e.resizableWidth=i,o[0].style.width=`${i}px`,"cover"===c||C?C&&v&&v.css(`margin-${d}`,`${i}px`):(v&&v.transform(`translate3d(${"left"===d?i:-i}px, 0, 0)`),p&&p.transform(`translate3d(${"left"===d?i:-i}px, 0, 0)`)),o.trigger("panel:resize",i),e.emit("local::resize panelResize",e,i)}function B(){if(n("html").css("cursor",""),!h||!f)return h=!1,void(f=!1);h=!1,f=!1,l[0].style.setProperty(`--f7-panel-${d}-width`,`${e.resizableWidth}px`),o[0].style.width="","cover"===c||C||(v.transform(""),p.transform("")),o.removeClass("panel-resizing"),r((()=>{o.transition(""),"cover"!==c&&(p.transition(""),v&&v.transition(""))}))}function E(){e.opened&&e.resizableWidth&&(m=k(o.css("min-width")),w=k(o.css("max-width")),m&&!Number.isNaN(m)&&e.resizableWidth<m&&(e.resizableWidth=Math.max(e.resizableWidth,m)),w&&!Number.isNaN(w)&&e.resizableWidth>w&&(e.resizableWidth=Math.min(e.resizableWidth,w)),e.resizableWidth=Math.min(Math.max(e.resizableWidth,0),a.width),l[0].style.setProperty(`--f7-panel-${d}-width`,`${e.resizableWidth}px`))}0===e.$el.find(".panel-resize-handler").length&&e.$el.append('<div class="panel-resize-handler"></div>'),e.$resizeHandlerEl=e.$el.children(".panel-resize-handler"),o.addClass("panel-resizable");const y=!!t.passiveListener&&{passive:!0};e.$el.on(a.touchEvents.start,".panel-resize-handler",$,y),a.on("touchmove:active",z),a.on("touchend:passive",B),a.on("resize",E),e.on("beforeOpen",E),e.once("panelDestroy",(()=>{o.removeClass("panel-resizable"),e.$resizeHandlerEl.remove(),e.$el.off(a.touchEvents.start,".panel-resize-handler",$,y),a.off("touchmove:active",z),a.off("touchend:passive",B),a.off("resize",E),e.off("beforeOpen",E)}))}class c extends l{constructor(e,a={}){const t=i({on:{}},e.params.panel,a);super(t,[e]);const s=this;let l;if(s.params=t,s.$containerEl=s.params.containerEl?n(s.params.containerEl).eq(0):e.$el,s.containerEl=s.$containerEl[0],s.containerEl||(s.$containerEl=e.$el,s.containerEl=e.$el[0]),s.params.el?l=n(s.params.el).eq(0):s.params.content&&(l=n(s.params.content).filter((e=>1===e.nodeType)).eq(0)),0===l.length)return s;if(l[0].f7Panel)return l[0].f7Panel;l[0].f7Panel=s;let o,{side:r,effect:p,resizable:d}=s.params;return void 0===r&&(r=l.hasClass("panel-left")?"left":"right"),void 0===p&&(p=l.hasClass("panel-cover")?"cover":l.hasClass("panel-push")?"push":"reveal"),void 0===d&&(d=l.hasClass("panel-resizable")),s.params.backdrop&&s.params.backdropEl?o=n(s.params.backdropEl):s.params.backdrop&&(o=s.$containerEl.children(".panel-backdrop"),0===o.length&&(o=n('<div class="panel-backdrop"></div>'),s.$containerEl.prepend(o))),i(s,{app:e,side:r,effect:p,resizable:d,$el:l,el:l[0],opened:!1,$backdropEl:o,backdropEl:o&&o[0]}),s.useModules(),s.init(),s}getViewEl(){const e=this;let a;return a=e.$containerEl.children(".views").length>0?e.$containerEl.children(".views")[0]:e.$containerEl.children(".view")[0],a}setStateClasses(e){const a=this,{side:t,el:s}=a,l=a.getViewEl(),i=l&&l.contains(s),o=!l||i?a.$containerEl:n("html");"open"===e&&o.addClass(`with-panel with-panel-${a.side}-${a.effect}`),"before-closing"===e&&o.addClass("with-panel-closing"),"closing"===e&&(o.addClass("with-panel-closing"),o.removeClass(`with-panel with-panel-${a.side}-${a.effect}`)),"after-closing"===e&&o.removeClass("with-panel-closing"),"closed"===e&&o.removeClass(`with-panel-${t}-reveal with-panel-${t}-cover with-panel-${t}-push with-panel`)}enableVisibleBreakpoint(){const e=this;return e.visibleBreakpointDisabled=!1,e.setVisibleBreakpoint(),e}disableVisibleBreakpoint(){const e=this;return e.visibleBreakpointDisabled=!0,e.setVisibleBreakpoint(),e}toggleVisibleBreakpoint(){const e=this;return e.visibleBreakpointDisabled=!e.visibleBreakpointDisabled,e.setVisibleBreakpoint(),e}setVisibleBreakpoint(e=!0){const a=this,t=a.app;a.visibleBreakpointResizeHandler||(a.visibleBreakpointResizeHandler=function(){a.setVisibleBreakpoint()},t.on("resize",a.visibleBreakpointResizeHandler));const{side:s,$el:l,$containerEl:i,params:o,visibleBreakpointDisabled:r}=a,p=o.visibleBreakpoint,d=n(a.getViewEl()),c=l.hasClass("panel-in-breakpoint");i&&i.hasClass("page")&&d.add(i.children(".page-content, .tabs, .fab")),t.width>=p&&null!=p&&!r?c?d.css({[`margin-${s}`]:`${l.width()}px`}):(a.setStateClasses("closed"),l.addClass("panel-in-breakpoint").removeClass("panel-in panel-in-collapsed"),a.onOpen(!1),a.onOpened(),d.css({[`margin-${s}`]:`${l.width()}px`}),t.allowPanelOpen=!0,e&&(a.emit("local::breakpoint panelBreakpoint",a),a.$el.trigger("panel:breakpoint"))):c&&(l.removeClass("panel-in-breakpoint panel-in"),a.onClose(),a.onClosed(),d.css({[`margin-${s}`]:""}),e&&(a.emit("local::breakpoint panelBreakpoint",a),a.$el.trigger("panel:breakpoint")))}enableCollapsedBreakpoint(){const e=this;return e.collapsedBreakpointDisabled=!1,e.setCollapsedBreakpoint(),e}disableCollapsedBreakpoint(){const e=this;return e.collapsedBreakpointDisabled=!0,e.setCollapsedBreakpoint(),e}toggleCollapsedBreakpoint(){const e=this;return e.collapsedBreakpointDisabled=!e.collapsedBreakpointDisabled,e.setCollapsedBreakpoint(),e}setCollapsedBreakpoint(e=!0){const a=this,n=a.app;a.collapsedBreakpointResizeHandler||(a.collapsedBreakpointResizeHandler=function(){a.setCollapsedBreakpoint()},n.on("resize",a.collapsedBreakpointResizeHandler));const{$el:t,params:s,collapsedBreakpointDisabled:l}=a;if(t.hasClass("panel-in-breakpoint"))return;const i=s.collapsedBreakpoint,o=t.hasClass("panel-in-collapsed");n.width>=i&&null!=i&&!l?o||(a.setStateClasses("closed"),t.addClass("panel-in-collapsed").removeClass("panel-in"),a.collapsed=!0,n.allowPanelOpen=!0,e&&(a.emit("local::collapsedBreakpoint panelCollapsedBreakpoint",a),a.$el.trigger("panel:collapsedbreakpoint"))):o&&(t.removeClass("panel-in-collapsed panel-in"),a.collapsed=!1,e&&(a.emit("local::collapsedBreakpoint panelCollapsedBreakpoint",a),a.$el.trigger("panel:collapsedbreakpoint")))}enableResizable(){const e=this;return e.resizableInitialized?(e.resizable=!0,e.$el.addClass("panel-resizable")):d(e),e}disableResizable(){const e=this;return e.resizable=!1,e.$el.removeClass("panel-resizable"),e}enableSwipe(){const e=this;return e.swipeInitialized?e.swipeable=!0:function(e){const a=e.app;if(e.swipeInitialized)return;i(e,{swipeable:!0,swipeInitialized:!0});const t=e.params,{$el:s,$backdropEl:l,side:p,effect:d}=e;let c,h,f,b,g,u;const v={};let m,w,C,k,$,z,B,E=0;function y(s){if(!e.swipeable||f)return;if(!a.panel.allowOpen||!t.swipe&&!t.swipeOnlyClose||h)return;if(n(".modal-in:not(.toast):not(.notification), .photo-browser-in").length>0)return;c=a.panel.get("left"===p?"right":"left")||{};const l=c.opened&&c.$el&&!c.$el.hasClass("panel-in-breakpoint");if((e.opened||!l)&&(t.swipeOnlyClose||!l)&&(!s.target||"input"!==s.target.nodeName.toLowerCase()||"range"!==s.target.type)&&!(n(s.target).closest(".range-slider, .tabs-swipeable-wrap, .calendar-months, .no-swipe-panel, .card-opened").length>0)&&(v.x="touchstart"===s.type?s.targetTouches[0].pageX:s.pageX,v.y="touchstart"===s.type?s.targetTouches[0].pageY:s.pageY,!t.swipeOnlyClose||e.opened)){if(t.swipeActiveArea&&!e.opened){if("left"===p&&v.x>t.swipeActiveArea)return;if("right"===p&&v.x<a.width-t.swipeActiveArea)return}E=0,B=n(e.getViewEl()),b=!1,h=!0,g=void 0,u=!1,m=o(),z=void 0}}function x(n){if(!h||f||u)return;if(E+=1,E<2)return;if(n.f7PreventSwipePanel||a.preventSwipePanelBySwipeBack||a.preventSwipePanel)return void(h=!1);const i="touchmove"===n.type?n.targetTouches[0].pageX:n.pageX,o="touchmove"===n.type?n.targetTouches[0].pageY:n.pageY;if(void 0===g&&(g=!!(g||Math.abs(o-v.y)>Math.abs(i-v.x))),g)return void(h=!1);if(!z){if(z=i>v.x?"to-right":"to-left",t.swipeActiveArea>0&&!e.opened){if("left"===p&&v.x>t.swipeActiveArea)return void(h=!1);if("right"===p&&v.x<a.width-t.swipeActiveArea)return void(h=!1)}if(s.hasClass("panel-in-breakpoint"))return void(h=!1);if("left"===p&&"to-left"===z&&!s.hasClass("panel-in")||"right"===p&&"to-right"===z&&!s.hasClass("panel-in"))return void(h=!1)}let r=e.opened?0:-t.swipeThreshold;"right"===p&&(r=-r),b||(e.opened||(e.insertToRoot(),s.addClass("panel-in-swipe"),l.css("visibility","visible"),s.trigger("panel:swipeopen"),e.emit("local::swipeOpen panelSwipeOpen",e)),$=s[0].offsetWidth,"reveal"===d&&s.hasClass("panel-in-collapsed")&&($-=parseFloat(B.css(`margin-${p}`))),s.transition(0)),b=!0,n.cancelable&&n.preventDefault(),w=i-v.x+r,"right"===p?"cover"===d||"push"===d?(C=w+(e.opened?0:$),C<0&&(C=0),C>$&&(C=$)):(C=w-(e.opened?$:0),C>0&&(C=0),C<-$&&(C=-$)):(C=w+(e.opened?$:0),C<0&&(C=0),C>$&&(C=$));const c=Math.abs(C/$);if("reveal"===d)t.swipeNoFollow||(B.transform(`translate3d(${C}px,0,0)`).transition(0),l.transform(`translate3d(${C}px,0,0)`).transition(0)),s.trigger("panel:swipe",Math.abs(C/$)),e.emit("local::swipe panelSwipe",e,Math.abs(C/$));else{if("left"===p&&(C-=$),!t.swipeNoFollow&&(l.transition(0),k=1-Math.abs(C/$),l.css({opacity:k}),s.transform(`translate3d(${C}px,0,0)`).transition(0),"push"===d)){const e="left"===p?C+$:C-$;B.transform(`translate3d(${e}px,0,0)`).transition(0),l.transform(`translate3d(${e}px,0,0)`).transition(0)}s.trigger("panel:swipe",Math.abs(C/$)),e.emit("local::swipe panelSwipe",e,Math.abs(C/$))}t.swipeNoFollow&&(e.opened&&0===c||!e.opened&&1===c)&&(u=!0,O(n))}function O(a){if(!h||!b)return h=!1,void(b=!1);const n="gesturestart"===a.type||f;h=!1,b=!1;const i=(new Date).getTime()-m;let o;const c=(0===C||Math.abs(C)===$)&&!t.swipeNoFollow,g=t.swipeThreshold||0;o=n?"reset":e.opened?"cover"===d||"push"===d?0===C?"reset":i<300&&Math.abs(C)>0?"swap":i>=300&&Math.abs(C)<$/2?"reset":"swap":C===-$?"reset":i<300&&Math.abs(C)>=0||i>=300&&Math.abs(C)<=$/2?"left"===p&&C===$?"reset":"swap":"reset":Math.abs(w)<g?"reset":"cover"===d||"push"===d?0===C||i<300&&Math.abs(C)>0||i>=300&&Math.abs(C)<$/2?"swap":"reset":0===C?"reset":i<300&&Math.abs(C)>0||i>=300&&Math.abs(C)>=$/2?"swap":"reset","swap"===o&&(e.opened?e.close(!c):e.open(!c));let u=!0;if("reset"===o&&!e.opened)if(c)s.removeClass("panel-in-swipe");else{u=!1;const a="reveal"===d?B:s;e.setStateClasses("before-closing"),a.transitionEnd((()=>{s.hasClass("panel-in")||(s.removeClass("panel-in-swipe"),e.setStateClasses("after-closing"))}))}"reveal"!==d&&"push"!==d||r((()=>{B.transition(""),B.transform("")})),u&&s.removeClass("panel-in-swipe"),s.transition("").transform(""),l.transform("").transition("").css({opacity:"",visibility:""})}function M(e){f=!0,O(e)}function N(){f=!1}a.on("touchstart:passive",y),a.on("touchmove:active",x),a.on("touchend:passive",O),a.on("gesturestart",M),a.on("gestureend",N),e.on("panelDestroy",(()=>{a.off("touchstart:passive",y),a.off("touchmove:active",x),a.off("touchend:passive",O),a.off("gesturestart",M),a.off("gestureend",N)}))}(e),e}disableSwipe(){return this.swipeable=!1,this}onOpen(e=!0){const a=this,n=a.app;a.opened=!0,n.panel.allowOpen=!1,a.$el.trigger("panel:beforeopen"),a.emit("local::beforeOpen panelBeforeOpen",a),e&&a.setStateClasses("open"),a.$el.trigger("panel:open"),a.emit("local::open panelOpen",a)}onOpened(){const e=this;e.app.panel.allowOpen=!0,e.$el.trigger("panel:opened"),e.emit("local::opened panelOpened",e)}onClose(){const e=this,a=e.app;e.opened=!1,a.panel.allowOpen=!1,e.$el.trigger("panel:beforeclose"),e.emit("local::beforeClose panelBeforeClose",e),e.setStateClasses("closing"),e.$el.trigger("panel:close"),e.emit("local::close panelClose",e)}onClosed(){const e=this,a=e.app;if(a.panel.allowOpen=!0,e.setStateClasses("after-closing"),e.$el.removeClass("panel-out"),e.$backdropEl){const n=a.panel.get(".panel-in");(!n||n&&!n.$backdropEl)&&e.$backdropEl.removeClass("panel-backdrop-in")}e.$el.trigger("panel:closed"),e.emit("local::closed panelClosed",e)}toggle(e=!0){const a=this,n=a.params.visibleBreakpoint;return a.app.width>=n&&null!=n?a.toggleVisibleBreakpoint():(a.opened?a.close(e):a.open(e),a)}insertToRoot(){const e=this,a=getDocument(),{$el:n,$backdropEl:t,$containerEl:s}=e,l=n.parent(),i=n.parents(a).length>0;if(!l.is(s)||n.prevAll(".views, .view").length){const a=s.children(".panel, .views, .view").eq(0),o=s.children(".panel-backdrop").eq(0);a.length?n.insertBefore(a):o?n.insertBefore(o):s.prepend(n),t&&t.length&&(!t.parent().is(s)&&0===t.nextAll(".panel").length||t.parent().is(s)&&0===t.nextAll(".panel").length)&&t.insertBefore(n),e.once("panelClosed",(()=>{i?l.append(n):n.remove()}))}}open(e=!0){const a=this,t=a.app;if(!t.panel.allowOpen)return!1;const{effect:s,$el:l,$backdropEl:i,opened:o,$containerEl:r}=a;if(!l||l.hasClass("panel-in"))return a;if(a.insertToRoot(),o||l.hasClass("panel-in-breakpoint")||l.hasClass("panel-in"))return!1;const p=t.panel.get(".panel-in");p&&p!==a&&p.close(e),l[e?"removeClass":"addClass"]("not-animated"),l.addClass("panel-in"),i&&(i.addClass("panel-backdrop-in"),i[e?"removeClass":"addClass"]("not-animated")),"cover"!==a.effect&&"push"!==a.effect||(a._clientLeft=l[0].clientLeft);const d=n(a.getViewEl());r&&r.hasClass("page")&&d.add(r.children(".page-content, .tabs"));const c="reveal"===s?d:l;return e?(i&&i.removeClass("not-animated"),function e(){c.transitionEnd((t=>{n(t.target).is(c)?l.hasClass("panel-out")?a.onClosed():a.onOpened():e()}))}(),l.removeClass("panel-out not-animated").addClass("panel-in"),a.onOpen()):(i&&i.addClass("not-animated"),l.removeClass("panel-out").addClass("panel-in not-animated"),a.onOpen(),a.onOpened()),!0}close(e=!0){const a=this,{effect:t,$el:s,$backdropEl:l,opened:i,$containerEl:o}=a;if(!i||s.hasClass("panel-in-breakpoint")||!s.hasClass("panel-in"))return a;s[e?"removeClass":"addClass"]("not-animated"),l&&l[e?"removeClass":"addClass"]("not-animated");const r=n(a.getViewEl());o&&o.hasClass("page")&&r.add(o.children(".page-content, .tabs"));return e?(("reveal"===t?r:s).transitionEnd((()=>{s.hasClass("panel-out")?a.onClosed():s.hasClass("panel-in")&&a.onOpened(),a.setStateClasses("after-closing")})),s.removeClass("panel-in").addClass("panel-out"),a.onClose()):(s.addClass("not-animated").removeClass("panel-in").addClass("panel-out"),a.onClose(),a.onClosed()),a}init(){const e=this;void 0!==e.params.visibleBreakpoint&&e.setVisibleBreakpoint(),void 0!==e.params.collapsedBreakpoint&&e.setCollapsedBreakpoint(),e.params.swipe&&e.enableSwipe(),e.resizable&&e.enableResizable()}destroy(){let e=this;const a=e.app,{$containerEl:t}=e;if(e.$el){if(e.emit("local::beforeDestroy panelBeforeDestroy",e),e.$el.trigger("panel:beforedestroy"),e.visibleBreakpointResizeHandler&&a.off("resize",e.visibleBreakpointResizeHandler),e.collapsedBreakpointResizeHandler&&a.off("resize",e.collapsedBreakpointResizeHandler),e.$el.hasClass("panel-in-breakpoint")||e.$el.hasClass("panel-in-collapsed")){const a=n(e.getViewEl());t&&t.hasClass("page")&&a.add(t.children(".page-content, .tabs")),e.$el.removeClass("panel-in-breakpoint panel-in-collapsed panel-in"),a.css({[`margin-${e.side}`]:""}),e.emit("local::breakpoint panelBreakpoint",e),e.$el.trigger("panel:breakpoint")}e.$el.trigger("panel:destroy"),e.emit("local::destroy panelDestroy",e),e.el&&(e.el.f7Panel=null,delete e.el.f7Panel),p(e),e=null}}}var h={name:"panel",params:{panel:{opened:void 0,side:void 0,effect:void 0,resizable:void 0,backdrop:!0,backdropEl:void 0,visibleBreakpoint:void 0,collapsedBreakpoint:void 0,swipe:!1,swipeNoFollow:!1,swipeOnlyClose:!1,swipeActiveArea:0,swipeThreshold:0,closeByBackdropClick:!0,containerEl:void 0}},static:{Panel:c},create(){const e=this;i(e,{panel:{allowOpen:!0,create:a=>new c(e,a),get(e=".panel"){if(e instanceof c)return e;"left"!==e&&"right"!==e||(e=`.panel-${e}`);const a=n(e);return 0===a.length||a.length>1?void 0:a[0].f7Panel},destroy(a=".panel"){const n=e.panel.get(a);if(n&&n.destroy)return n.destroy()},open(a=".panel",n){"left"!==a&&"right"!==a||(a=`.panel-${a}`);let t=e.panel.get(a);return t&&t.open?t.open(n):t?void 0:(t=e.panel.create({el:a}),t.open(n))},close(a=".panel-in",n){"left"!==a&&"right"!==a||(a=`.panel-${a}`);let t=e.panel.get(a);return t&&t.open?t.close(n):t?void 0:(t=e.panel.create({el:a}),t.close(n))},toggle(a=".panel",n){"left"!==a&&"right"!==a||(a=`.panel-${a}`);let t=e.panel.get(a);return t&&t.toggle?t.toggle(n):t?void 0:(t=e.panel.create({el:a}),t.toggle(n))}}})},on:{init(){const e=this;n(".panel-init").each((a=>{const t=Object.assign({el:a},n(a).dataset()||{});e.panel.create(t)}))},pageInit(e){const a=this;e.$el.find(".panel-init").each((e=>{const t=Object.assign({el:e},n(e).dataset()||{});a.panel.create(t)}))},pageBeforeRemove(e){const a=this;e.$el.find(".panel-init").each((e=>{const n=a.panel.get(e);n&&n.destroy&&n.destroy()}))}},vnode:{"panel-init":{insert(e){const a=e.elm,t=Object.assign({el:a},n(a).dataset()||{});this.panel.create(t)},destroy(e){const a=e.elm,n=this.panel.get(a);n&&n.destroy&&n.destroy()}}},clicks:{".panel-open":function(e,a={}){this.panel.open(a.panel,a.animate)},".panel-close":function(e,a={}){this.panel.close(a.panel,a.animate)},".panel-toggle":function(e,a={}){this.panel.toggle(a.panel,a.animate)},".panel-backdrop":function(){const e=this,a=n(".panel-in:not(.panel-out)");if(!a.length)return;const t=a[0]&&a[0].f7Panel;a.trigger("panel:backdrop-click"),t&&t.emit("backdropClick",t),e.emit("panelBackdropClick",t||a[0]),e.params.panel.closeByBackdropClick&&e.panel.close()}}};if(a){if(e.prototype.modules&&e.prototype.modules[h.name])return;e.use(h),e.instance&&(e.instance.useModuleParams(h,e.instance.params),e.instance.useModule(h))}return h}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(e,a){void 0===a&&(a=!0);var n=e.$,t=e.utils,s=(e.getDevice,e.getSupport),l=e.Class,i=(e.Modal,e.ConstructorMethods,e.ModalMethods,t.extend),o=t.now,r=t.nextFrame,p=t.deleteProps;function d(e){const a=e.app,t=s();if(e.resizableInitialized)return;i(e,{resizable:!0,resizableWidth:null,resizableInitialized:!0});const l=n("html"),{$el:o,$backdropEl:p,side:d,effect:c}=e;if(!o)return;let h,f;const b={};let g,v,u,m,w,C;function k(e){if(!e)return null;if(e.indexOf("%")>=0||e.indexOf("vw")>=0)return parseInt(e,10)/100*a.width;const n=parseInt(e,10);return Number.isNaN(n)?null:n}function $(a){e.resizable&&o.hasClass("panel-resizable")&&(b.x="touchstart"===a.type?a.targetTouches[0].pageX:a.pageX,b.y="touchstart"===a.type?a.targetTouches[0].pageY:a.pageY,f=!1,h=!0,m=k(o.css("min-width")),w=k(o.css("max-width")),C=o.hasClass("panel-in-breakpoint"))}function z(t){if(!h)return;const s="touchmove"===t.type?t.targetTouches[0].pageX:t.pageX;f||(v=o[0].offsetWidth,o.transition(0),o.addClass("panel-resizing"),l.css("cursor","col-resize"),("cover"!==c||C)&&(u=n(e.getViewEl()),e.$containerEl&&e.$containerEl.hasClass("page")&&u.add(e.$containerEl.children(".page-content, .tabs, .fab"))),"cover"===c||C||(p.transition(0),u.transition(0))),f=!0,t.preventDefault(),g=s-b.x;let i="left"===d?v+g:v-g;m&&!Number.isNaN(m)&&(i=Math.max(i,m)),w&&!Number.isNaN(w)&&(i=Math.min(i,w)),i=Math.min(Math.max(i,0),a.width),e.resizableWidth=i,o[0].style.width=`${i}px`,"cover"===c||C?C&&u&&u.css(`margin-${d}`,`${i}px`):(u&&u.transform(`translate3d(${"left"===d?i:-i}px, 0, 0)`),p&&p.transform(`translate3d(${"left"===d?i:-i}px, 0, 0)`)),o.trigger("panel:resize",i),e.emit("local::resize panelResize",e,i)}function B(){if(n("html").css("cursor",""),!h||!f)return h=!1,void(f=!1);h=!1,f=!1,l[0].style.setProperty(`--f7-panel-${d}-width`,`${e.resizableWidth}px`),o[0].style.width="","cover"===c||C||(u.transform(""),p.transform("")),o.removeClass("panel-resizing"),r((()=>{o.transition(""),"cover"!==c&&(p.transition(""),u&&u.transition(""))}))}function E(){e.opened&&e.resizableWidth&&(m=k(o.css("min-width")),w=k(o.css("max-width")),m&&!Number.isNaN(m)&&e.resizableWidth<m&&(e.resizableWidth=Math.max(e.resizableWidth,m)),w&&!Number.isNaN(w)&&e.resizableWidth>w&&(e.resizableWidth=Math.min(e.resizableWidth,w)),e.resizableWidth=Math.min(Math.max(e.resizableWidth,0),a.width),l[0].style.setProperty(`--f7-panel-${d}-width`,`${e.resizableWidth}px`))}0===e.$el.find(".panel-resize-handler").length&&e.$el.append('<div class="panel-resize-handler"></div>'),e.$resizeHandlerEl=e.$el.children(".panel-resize-handler"),o.addClass("panel-resizable");const y=!!t.passiveListener&&{passive:!0};e.$el.on(a.touchEvents.start,".panel-resize-handler",$,y),a.on("touchmove:active",z),a.on("touchend:passive",B),a.on("resize",E),e.on("beforeOpen",E),e.once("panelDestroy",(()=>{o.removeClass("panel-resizable"),e.$resizeHandlerEl.remove(),e.$el.off(a.touchEvents.start,".panel-resize-handler",$,y),a.off("touchmove:active",z),a.off("touchend:passive",B),a.off("resize",E),e.off("beforeOpen",E)}))}class c extends l{constructor(e,a){void 0===a&&(a={});const t=i({on:{}},e.params.panel,a);super(t,[e]);const s=this;let l;if(s.params=t,s.$containerEl=s.params.containerEl?n(s.params.containerEl).eq(0):e.$el,s.containerEl=s.$containerEl[0],s.containerEl||(s.$containerEl=e.$el,s.containerEl=e.$el[0]),s.params.el?l=n(s.params.el).eq(0):s.params.content&&(l=n(s.params.content).filter((e=>1===e.nodeType)).eq(0)),0===l.length)return s;if(l[0].f7Panel)return l[0].f7Panel;l[0].f7Panel=s;let o,{side:r,effect:p,resizable:d}=s.params;return void 0===r&&(r=l.hasClass("panel-left")?"left":"right"),void 0===p&&(p=l.hasClass("panel-cover")?"cover":l.hasClass("panel-push")?"push":"reveal"),void 0===d&&(d=l.hasClass("panel-resizable")),s.params.backdrop&&s.params.backdropEl?o=n(s.params.backdropEl):s.params.backdrop&&(o=s.$containerEl.children(".panel-backdrop"),0===o.length&&(o=n('<div class="panel-backdrop"></div>'),s.$containerEl.prepend(o))),i(s,{app:e,side:r,effect:p,resizable:d,$el:l,el:l[0],opened:!1,$backdropEl:o,backdropEl:o&&o[0]}),s.useModules(),s.init(),s}getViewEl(){const e=this;let a;return a=e.$containerEl.children(".views").length>0?e.$containerEl.children(".views")[0]:e.$containerEl.children(".view")[0],a}setStateClasses(e){const a=this,{side:t,el:s}=a,l=a.getViewEl(),i=l&&l.contains(s),o=!l||i?a.$containerEl:n("html");"open"===e&&o.addClass(`with-panel with-panel-${a.side}-${a.effect}`),"before-closing"===e&&o.addClass("with-panel-closing"),"closing"===e&&(o.addClass("with-panel-closing"),o.removeClass(`with-panel with-panel-${a.side}-${a.effect}`)),"after-closing"===e&&o.removeClass("with-panel-closing"),"closed"===e&&o.removeClass(`with-panel-${t}-reveal with-panel-${t}-cover with-panel-${t}-push with-panel`)}enableVisibleBreakpoint(){const e=this;return e.visibleBreakpointDisabled=!1,e.setVisibleBreakpoint(),e}disableVisibleBreakpoint(){const e=this;return e.visibleBreakpointDisabled=!0,e.setVisibleBreakpoint(),e}toggleVisibleBreakpoint(){const e=this;return e.visibleBreakpointDisabled=!e.visibleBreakpointDisabled,e.setVisibleBreakpoint(),e}setVisibleBreakpoint(e){void 0===e&&(e=!0);const a=this,t=a.app;a.visibleBreakpointResizeHandler||(a.visibleBreakpointResizeHandler=function(){a.setVisibleBreakpoint()},t.on("resize",a.visibleBreakpointResizeHandler));const{side:s,$el:l,$containerEl:i,params:o,visibleBreakpointDisabled:r}=a,p=o.visibleBreakpoint,d=n(a.getViewEl()),c=l.hasClass("panel-in-breakpoint");i&&i.hasClass("page")&&d.add(i.children(".page-content, .tabs, .fab")),t.width>=p&&null!=p&&!r?c?d.css({[`margin-${s}`]:`${l.width()}px`}):(a.setStateClasses("closed"),l.addClass("panel-in-breakpoint").removeClass("panel-in panel-in-collapsed"),a.onOpen(!1),a.onOpened(),d.css({[`margin-${s}`]:`${l.width()}px`}),t.allowPanelOpen=!0,e&&(a.emit("local::breakpoint panelBreakpoint",a),a.$el.trigger("panel:breakpoint"))):c&&(l.removeClass("panel-in-breakpoint panel-in"),a.onClose(),a.onClosed(),d.css({[`margin-${s}`]:""}),e&&(a.emit("local::breakpoint panelBreakpoint",a),a.$el.trigger("panel:breakpoint")))}enableCollapsedBreakpoint(){const e=this;return e.collapsedBreakpointDisabled=!1,e.setCollapsedBreakpoint(),e}disableCollapsedBreakpoint(){const e=this;return e.collapsedBreakpointDisabled=!0,e.setCollapsedBreakpoint(),e}toggleCollapsedBreakpoint(){const e=this;return e.collapsedBreakpointDisabled=!e.collapsedBreakpointDisabled,e.setCollapsedBreakpoint(),e}setCollapsedBreakpoint(e){void 0===e&&(e=!0);const a=this,n=a.app;a.collapsedBreakpointResizeHandler||(a.collapsedBreakpointResizeHandler=function(){a.setCollapsedBreakpoint()},n.on("resize",a.collapsedBreakpointResizeHandler));const{$el:t,params:s,collapsedBreakpointDisabled:l}=a;if(t.hasClass("panel-in-breakpoint"))return;const i=s.collapsedBreakpoint,o=t.hasClass("panel-in-collapsed");n.width>=i&&null!=i&&!l?o||(a.setStateClasses("closed"),t.addClass("panel-in-collapsed").removeClass("panel-in"),a.collapsed=!0,n.allowPanelOpen=!0,e&&(a.emit("local::collapsedBreakpoint panelCollapsedBreakpoint",a),a.$el.trigger("panel:collapsedbreakpoint"))):o&&(t.removeClass("panel-in-collapsed panel-in"),a.collapsed=!1,e&&(a.emit("local::collapsedBreakpoint panelCollapsedBreakpoint",a),a.$el.trigger("panel:collapsedbreakpoint")))}enableResizable(){const e=this;return e.resizableInitialized?(e.resizable=!0,e.$el.addClass("panel-resizable")):d(e),e}disableResizable(){const e=this;return e.resizable=!1,e.$el.removeClass("panel-resizable"),e}enableSwipe(){const e=this;return e.swipeInitialized?e.swipeable=!0:function(e){const a=e.app;if(e.swipeInitialized)return;i(e,{swipeable:!0,swipeInitialized:!0});const t=e.params,{$el:s,$backdropEl:l,side:p,effect:d}=e;let c,h,f,b,g,v;const u={};let m,w,C,k,$,z,B,E=0;function y(s){if(!e.swipeable||f)return;if(!a.panel.allowOpen||!t.swipe&&!t.swipeOnlyClose||h)return;if(n(".modal-in:not(.toast):not(.notification), .photo-browser-in").length>0)return;c=a.panel.get("left"===p?"right":"left")||{};const l=c.opened&&c.$el&&!c.$el.hasClass("panel-in-breakpoint");if((e.opened||!l)&&(t.swipeOnlyClose||!l)&&(!s.target||"input"!==s.target.nodeName.toLowerCase()||"range"!==s.target.type)&&!(n(s.target).closest(".range-slider, .tabs-swipeable-wrap, .calendar-months, .no-swipe-panel, .card-opened").length>0)&&(u.x="touchstart"===s.type?s.targetTouches[0].pageX:s.pageX,u.y="touchstart"===s.type?s.targetTouches[0].pageY:s.pageY,!t.swipeOnlyClose||e.opened)){if(t.swipeActiveArea&&!e.opened){if("left"===p&&u.x>t.swipeActiveArea)return;if("right"===p&&u.x<a.width-t.swipeActiveArea)return}E=0,B=n(e.getViewEl()),b=!1,h=!0,g=void 0,v=!1,m=o(),z=void 0}}function x(n){if(!h||f||v)return;if(E+=1,E<2)return;if(n.f7PreventSwipePanel||a.preventSwipePanelBySwipeBack||a.preventSwipePanel)return void(h=!1);const i="touchmove"===n.type?n.targetTouches[0].pageX:n.pageX,o="touchmove"===n.type?n.targetTouches[0].pageY:n.pageY;if(void 0===g&&(g=!!(g||Math.abs(o-u.y)>Math.abs(i-u.x))),g)return void(h=!1);if(!z){if(z=i>u.x?"to-right":"to-left",t.swipeActiveArea>0&&!e.opened){if("left"===p&&u.x>t.swipeActiveArea)return void(h=!1);if("right"===p&&u.x<a.width-t.swipeActiveArea)return void(h=!1)}if(s.hasClass("panel-in-breakpoint"))return void(h=!1);if("left"===p&&"to-left"===z&&!s.hasClass("panel-in")||"right"===p&&"to-right"===z&&!s.hasClass("panel-in"))return void(h=!1)}let r=e.opened?0:-t.swipeThreshold;"right"===p&&(r=-r),b||(e.opened||(e.insertToRoot(),s.addClass("panel-in-swipe"),l.css("visibility","visible"),s.trigger("panel:swipeopen"),e.emit("local::swipeOpen panelSwipeOpen",e)),$=s[0].offsetWidth,"reveal"===d&&s.hasClass("panel-in-collapsed")&&($-=parseFloat(B.css(`margin-${p}`))),s.transition(0)),b=!0,n.cancelable&&n.preventDefault(),w=i-u.x+r,"right"===p?"cover"===d||"push"===d?(C=w+(e.opened?0:$),C<0&&(C=0),C>$&&(C=$)):(C=w-(e.opened?$:0),C>0&&(C=0),C<-$&&(C=-$)):(C=w+(e.opened?$:0),C<0&&(C=0),C>$&&(C=$));const c=Math.abs(C/$);if("reveal"===d)t.swipeNoFollow||(B.transform(`translate3d(${C}px,0,0)`).transition(0),l.transform(`translate3d(${C}px,0,0)`).transition(0)),s.trigger("panel:swipe",Math.abs(C/$)),e.emit("local::swipe panelSwipe",e,Math.abs(C/$));else{if("left"===p&&(C-=$),!t.swipeNoFollow&&(l.transition(0),k=1-Math.abs(C/$),l.css({opacity:k}),s.transform(`translate3d(${C}px,0,0)`).transition(0),"push"===d)){const e="left"===p?C+$:C-$;B.transform(`translate3d(${e}px,0,0)`).transition(0),l.transform(`translate3d(${e}px,0,0)`).transition(0)}s.trigger("panel:swipe",Math.abs(C/$)),e.emit("local::swipe panelSwipe",e,Math.abs(C/$))}t.swipeNoFollow&&(e.opened&&0===c||!e.opened&&1===c)&&(v=!0,O(n))}function O(a){if(!h||!b)return h=!1,void(b=!1);const n="gesturestart"===a.type||f;h=!1,b=!1;const i=(new Date).getTime()-m;let o;const c=(0===C||Math.abs(C)===$)&&!t.swipeNoFollow,g=t.swipeThreshold||0;o=n?"reset":e.opened?"cover"===d||"push"===d?0===C?"reset":i<300&&Math.abs(C)>0?"swap":i>=300&&Math.abs(C)<$/2?"reset":"swap":C===-$?"reset":i<300&&Math.abs(C)>=0||i>=300&&Math.abs(C)<=$/2?"left"===p&&C===$?"reset":"swap":"reset":Math.abs(w)<g?"reset":"cover"===d||"push"===d?0===C||i<300&&Math.abs(C)>0||i>=300&&Math.abs(C)<$/2?"swap":"reset":0===C?"reset":i<300&&Math.abs(C)>0||i>=300&&Math.abs(C)>=$/2?"swap":"reset","swap"===o&&(e.opened?e.close(!c):e.open(!c));let v=!0;if("reset"===o&&!e.opened)if(c)s.removeClass("panel-in-swipe");else{v=!1;const a="reveal"===d?B:s;e.setStateClasses("before-closing"),a.transitionEnd((()=>{s.hasClass("panel-in")||(s.removeClass("panel-in-swipe"),e.setStateClasses("after-closing"))}))}"reveal"!==d&&"push"!==d||r((()=>{B.transition(""),B.transform("")})),v&&s.removeClass("panel-in-swipe"),s.transition("").transform(""),l.transform("").transition("").css({opacity:"",visibility:""})}function M(e){f=!0,O(e)}function N(){f=!1}a.on("touchstart:passive",y),a.on("touchmove:active",x),a.on("touchend:passive",O),a.on("gesturestart",M),a.on("gestureend",N),e.on("panelDestroy",(()=>{a.off("touchstart:passive",y),a.off("touchmove:active",x),a.off("touchend:passive",O),a.off("gesturestart",M),a.off("gestureend",N)}))}(e),e}disableSwipe(){return this.swipeable=!1,this}onOpen(e){void 0===e&&(e=!0);const a=this,n=a.app;a.opened=!0,n.panel.allowOpen=!1,a.$el.trigger("panel:beforeopen"),a.emit("local::beforeOpen panelBeforeOpen",a),e&&a.setStateClasses("open"),a.$el.trigger("panel:open"),a.emit("local::open panelOpen",a)}onOpened(){const e=this;e.app.panel.allowOpen=!0,e.$el.trigger("panel:opened"),e.emit("local::opened panelOpened",e)}onClose(){const e=this,a=e.app;e.opened=!1,a.panel.allowOpen=!1,e.$el.trigger("panel:beforeclose"),e.emit("local::beforeClose panelBeforeClose",e),e.setStateClasses("closing"),e.$el.trigger("panel:close"),e.emit("local::close panelClose",e)}onClosed(){const e=this,a=e.app;if(a.panel.allowOpen=!0,e.setStateClasses("after-closing"),e.$el.removeClass("panel-out"),e.$backdropEl){const n=a.panel.get(".panel-in");(!n||n&&!n.$backdropEl)&&e.$backdropEl.removeClass("panel-backdrop-in")}e.$el.trigger("panel:closed"),e.emit("local::closed panelClosed",e)}toggle(e){void 0===e&&(e=!0);const a=this,n=a.params.visibleBreakpoint;return a.app.width>=n&&null!=n?a.toggleVisibleBreakpoint():(a.opened?a.close(e):a.open(e),a)}insertToRoot(){const e=this,a=getDocument(),{$el:n,$backdropEl:t,$containerEl:s}=e,l=n.parent(),i=n.parents(a).length>0;if(!l.is(s)||n.prevAll(".views, .view").length){const a=s.children(".panel, .views, .view").eq(0),o=s.children(".panel-backdrop").eq(0);a.length?n.insertBefore(a):o?n.insertBefore(o):s.prepend(n),t&&t.length&&(!t.parent().is(s)&&0===t.nextAll(".panel").length||t.parent().is(s)&&0===t.nextAll(".panel").length)&&t.insertBefore(n),e.once("panelClosed",(()=>{i?l.append(n):n.remove()}))}}open(e){void 0===e&&(e=!0);const a=this,t=a.app;if(!t.panel.allowOpen)return!1;const{effect:s,$el:l,$backdropEl:i,opened:o,$containerEl:r}=a;if(!l||l.hasClass("panel-in"))return a;if(a.insertToRoot(),o||l.hasClass("panel-in-breakpoint")||l.hasClass("panel-in"))return!1;const p=t.panel.get(".panel-in");p&&p!==a&&p.close(e),l[e?"removeClass":"addClass"]("not-animated"),l.addClass("panel-in"),i&&(i.addClass("panel-backdrop-in"),i[e?"removeClass":"addClass"]("not-animated")),"cover"!==a.effect&&"push"!==a.effect||(a._clientLeft=l[0].clientLeft);const d=n(a.getViewEl());r&&r.hasClass("page")&&d.add(r.children(".page-content, .tabs"));const c="reveal"===s?d:l;return e?(i&&i.removeClass("not-animated"),function e(){c.transitionEnd((t=>{n(t.target).is(c)?l.hasClass("panel-out")?a.onClosed():a.onOpened():e()}))}(),l.removeClass("panel-out not-animated").addClass("panel-in"),a.onOpen()):(i&&i.addClass("not-animated"),l.removeClass("panel-out").addClass("panel-in not-animated"),a.onOpen(),a.onOpened()),!0}close(e){void 0===e&&(e=!0);const a=this,{effect:t,$el:s,$backdropEl:l,opened:i,$containerEl:o}=a;if(!i||s.hasClass("panel-in-breakpoint")||!s.hasClass("panel-in"))return a;s[e?"removeClass":"addClass"]("not-animated"),l&&l[e?"removeClass":"addClass"]("not-animated");const r=n(a.getViewEl());o&&o.hasClass("page")&&r.add(o.children(".page-content, .tabs"));return e?(("reveal"===t?r:s).transitionEnd((()=>{s.hasClass("panel-out")?a.onClosed():s.hasClass("panel-in")&&a.onOpened(),a.setStateClasses("after-closing")})),s.removeClass("panel-in").addClass("panel-out"),a.onClose()):(s.addClass("not-animated").removeClass("panel-in").addClass("panel-out"),a.onClose(),a.onClosed()),a}init(){const e=this;void 0!==e.params.visibleBreakpoint&&e.setVisibleBreakpoint(),void 0!==e.params.collapsedBreakpoint&&e.setCollapsedBreakpoint(),e.params.swipe&&e.enableSwipe(),e.resizable&&e.enableResizable()}destroy(){let e=this;const a=e.app,{$containerEl:t}=e;if(e.$el){if(e.emit("local::beforeDestroy panelBeforeDestroy",e),e.$el.trigger("panel:beforedestroy"),e.visibleBreakpointResizeHandler&&a.off("resize",e.visibleBreakpointResizeHandler),e.collapsedBreakpointResizeHandler&&a.off("resize",e.collapsedBreakpointResizeHandler),e.$el.hasClass("panel-in-breakpoint")||e.$el.hasClass("panel-in-collapsed")){const a=n(e.getViewEl());t&&t.hasClass("page")&&a.add(t.children(".page-content, .tabs")),e.$el.removeClass("panel-in-breakpoint panel-in-collapsed panel-in"),a.css({[`margin-${e.side}`]:""}),e.emit("local::breakpoint panelBreakpoint",e),e.$el.trigger("panel:breakpoint")}e.$el.trigger("panel:destroy"),e.emit("local::destroy panelDestroy",e),e.el&&(e.el.f7Panel=null,delete e.el.f7Panel),p(e),e=null}}}var h={name:"panel",params:{panel:{opened:void 0,side:void 0,effect:void 0,resizable:void 0,backdrop:!0,backdropEl:void 0,visibleBreakpoint:void 0,collapsedBreakpoint:void 0,swipe:!1,swipeNoFollow:!1,swipeOnlyClose:!1,swipeActiveArea:0,swipeThreshold:0,closeByBackdropClick:!0,containerEl:void 0}},static:{Panel:c},create(){const e=this;i(e,{panel:{allowOpen:!0,create:a=>new c(e,a),get(e){if(void 0===e&&(e=".panel"),e instanceof c)return e;"left"!==e&&"right"!==e||(e=`.panel-${e}`);const a=n(e);return 0===a.length||a.length>1?void 0:a[0].f7Panel},destroy(a){void 0===a&&(a=".panel");const n=e.panel.get(a);if(n&&n.destroy)return n.destroy()},open(a,n){void 0===a&&(a=".panel"),"left"!==a&&"right"!==a||(a=`.panel-${a}`);let t=e.panel.get(a);return t&&t.open?t.open(n):t?void 0:(t=e.panel.create({el:a}),t.open(n))},close(a,n){void 0===a&&(a=".panel-in"),"left"!==a&&"right"!==a||(a=`.panel-${a}`);let t=e.panel.get(a);return t&&t.open?t.close(n):t?void 0:(t=e.panel.create({el:a}),t.close(n))},toggle(a,n){void 0===a&&(a=".panel"),"left"!==a&&"right"!==a||(a=`.panel-${a}`);let t=e.panel.get(a);return t&&t.toggle?t.toggle(n):t?void 0:(t=e.panel.create({el:a}),t.toggle(n))}}})},on:{init(){const e=this;n(".panel-init").each((a=>{const t=Object.assign({el:a},n(a).dataset()||{});e.panel.create(t)}))},pageInit(e){const a=this;e.$el.find(".panel-init").each((e=>{const t=Object.assign({el:e},n(e).dataset()||{});a.panel.create(t)}))},pageBeforeRemove(e){const a=this;e.$el.find(".panel-init").each((e=>{const n=a.panel.get(e);n&&n.destroy&&n.destroy()}))}},vnode:{"panel-init":{insert(e){const a=e.elm,t=Object.assign({el:a},n(a).dataset()||{});this.panel.create(t)},destroy(e){const a=e.elm,n=this.panel.get(a);n&&n.destroy&&n.destroy()}}},clicks:{".panel-open":function(e,a){void 0===a&&(a={});this.panel.open(a.panel,a.animate)},".panel-close":function(e,a){void 0===a&&(a={});this.panel.close(a.panel,a.animate)},".panel-toggle":function(e,a){void 0===a&&(a={});this.panel.toggle(a.panel,a.animate)},".panel-backdrop":function(){const e=this,a=n(".panel-in:not(.panel-out)");if(!a.length)return;const t=a[0]&&a[0].f7Panel;a.trigger("panel:backdrop-click"),t&&t.emit("backdropClick",t),e.emit("panelBackdropClick",t||a[0]),e.params.panel.closeByBackdropClick&&e.panel.close()}}};if(a){if(e.prototype.modules&&e.prototype.modules[h.name])return;e.use(h),e.instance&&(e.instance.useModuleParams(h,e.instance.params),e.instance.useModule(h))}return h}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -8,7 +8,11 @@ import Framework7Class from '../../shared/class.js';
8
8
  import $jsx from '../../shared/$jsx.js';
9
9
 
10
10
  class PhotoBrowser extends Framework7Class {
11
- constructor(app, params = {}) {
11
+ constructor(app, params) {
12
+ if (params === void 0) {
13
+ params = {};
14
+ }
15
+
12
16
  super(params, [app]);
13
17
  const pb = this;
14
18
  pb.app = app;
@@ -372,35 +376,65 @@ class PhotoBrowser extends Framework7Class {
372
376
  pb.emit('local::doubleClick', e);
373
377
  },
374
378
 
375
- slideChange(...args) {
379
+ slideChange() {
376
380
  const swiper = this;
377
381
  pb.onSlideChange(swiper);
382
+
383
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
384
+ args[_key] = arguments[_key];
385
+ }
386
+
378
387
  pb.emit('local::slideChange', ...args);
379
388
  },
380
389
 
381
- transitionStart(...args) {
390
+ transitionStart() {
391
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
392
+ args[_key2] = arguments[_key2];
393
+ }
394
+
382
395
  pb.emit('local::transitionStart', ...args);
383
396
  },
384
397
 
385
- transitionEnd(...args) {
398
+ transitionEnd() {
399
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
400
+ args[_key3] = arguments[_key3];
401
+ }
402
+
386
403
  pb.emit('local::transitionEnd', ...args);
387
404
  },
388
405
 
389
- slideChangeTransitionStart(...args) {
406
+ slideChangeTransitionStart() {
390
407
  const swiper = this;
391
408
  pb.onSlideChange(swiper);
409
+
410
+ for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
411
+ args[_key4] = arguments[_key4];
412
+ }
413
+
392
414
  pb.emit('local::slideChangeTransitionStart', ...args);
393
415
  },
394
416
 
395
- slideChangeTransitionEnd(...args) {
417
+ slideChangeTransitionEnd() {
418
+ for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
419
+ args[_key5] = arguments[_key5];
420
+ }
421
+
396
422
  pb.emit('local::slideChangeTransitionEnd', ...args);
397
423
  },
398
424
 
399
- lazyImageLoad(...args) {
425
+ lazyImageLoad() {
426
+ for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {
427
+ args[_key6] = arguments[_key6];
428
+ }
429
+
400
430
  pb.emit('local::lazyImageLoad', ...args);
401
431
  },
402
432
 
403
- lazyImageReady(...args) {
433
+ lazyImageReady() {
434
+ for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {
435
+ args[_key7] = arguments[_key7];
436
+ }
437
+
404
438
  const slideEl = args[0];
405
439
  $(slideEl).removeClass('photo-browser-slide-lazy');
406
440
  pb.emit('local::lazyImageReady', ...args);
@@ -1 +1 @@
1
- (function framework7ComponentLoader(e,o){void 0===o&&(o=!0);var r=e.$,a=e.utils,s=(e.getDevice,e.getSupport,e.Class),t=(e.Modal,e.ConstructorMethods),p=(e.ModalMethods,a.extend),n=a.now,i=a.nextTick,l=a.deleteProps;class d extends s{constructor(e,o={}){super(o,[e]);const r=this;r.app=e;const a=p({on:{}},e.params.photoBrowser);r.useModulesParams(a),r.params=p(a,o),p(r,{exposed:!1,opened:!1,activeIndex:r.params.swiper.initialSlide,url:r.params.url,swipeToClose:{allow:!0,isTouched:!1,diff:void 0,start:void 0,current:void 0,started:!1,activeSlide:void 0,timeStart:void 0}}),r.useModules(),r.init()}get view(){const{params:e,app:o}=this;return e.view||o.views.main}onSlideChange(e){const o=this;o.activeIndex=e.activeIndex;let a=e.activeIndex+1,s=o.params.virtualSlides?o.params.photos.length:e.slides.length;e.params.loop&&(s-=2,a-=e.loopedSlides,a<1&&(a=s+a),a>s&&(a-=s));const t=o.params.virtualSlides?e.$wrapperEl.find(`.swiper-slide[data-swiper-slide-index="${e.activeIndex}"]`):e.slides.eq(e.activeIndex),p=o.params.virtualSlides?e.$wrapperEl.find(`.swiper-slide[data-swiper-slide-index="${e.previousIndex}"]`):e.slides.eq(e.previousIndex);let n,i=o.$el.find(".photo-browser-current"),l=o.$el.find(".photo-browser-total");if("page"===o.params.type&&o.params.navbar&&0===i.length&&"ios"===o.app.theme&&(n=o.app.navbar.getElByPage(o.$el),n&&(i=r(n).find(".photo-browser-current"),l=r(n).find(".photo-browser-total"))),i.length&&l.length&&(i.text(a),l.text(s),n||(n=i.parents(".navbar")[0]),n&&o.app.navbar.size(n)),o.captions.length>0){const r=e.params.loop?t.attr("data-swiper-slide-index"):o.activeIndex;o.$captionsContainerEl.find(".photo-browser-caption-active").removeClass("photo-browser-caption-active"),o.$captionsContainerEl.find(`[data-caption-index="${r}"]`).addClass("photo-browser-caption-active")}const d=p.find("video");d.length>0&&"pause"in d[0]&&d[0].pause()}onTouchStart(){const e=this.swipeToClose;e.allow&&(e.isTouched=!0)}onTouchMove(e){const o=this,r=o.swipeToClose;r.isTouched&&(r.started||(r.started=!0,r.start="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,o.params.virtualSlides?r.activeSlide=o.swiper.$wrapperEl.children(".swiper-slide-active"):r.activeSlide=o.swiper.slides.eq(o.swiper.activeIndex),r.timeStart=n()),e.preventDefault(),r.current="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,r.diff=r.start-r.current,o.$el.transition(0).transform(`translate3d(0,${-r.diff}px,0)`))}onTouchEnd(){const e=this,o=e.swipeToClose;if(o.isTouched=!1,!o.started)return void(o.started=!1);o.started=!1,o.allow=!1;const r=Math.abs(o.diff),a=(new Date).getTime()-o.timeStart;a<300&&r>20||a>=300&&r>100?i((()=>{e.$el&&(o.diff<0?e.$el.addClass("swipe-close-to-bottom"):e.$el.addClass("swipe-close-to-top")),e.emit("local::swipeToClose",e),e.$el.transform("").transition(""),e.close(),o.allow=!0})):(0!==r?e.$el.addClass("photo-browser-transitioning").transitionEnd((()=>{o.allow=!0,e.$el.removeClass("photo-browser-transitioning")})):o.allow=!0,i((()=>{e.$el.transform("").transition("")})))}renderNavbar(){const e=this;if(e.params.renderNavbar)return e.params.renderNavbar.call(e);let o=e.params.iconsColor;e.params.iconsColor||"dark"!==e.params.theme||(o="white");const r="ios"!==e.app.theme&&"aurora"!==e.app.theme||!e.params.pageBackLinkText?"":e.params.pageBackLinkText,a=void 0===e.params.navbarShowCount?e.params.photos.length>1:e.params.navbarShowCount,s="page"!==e.params.type;return $jsx("div",{class:"navbar navbar-photo-browser "+("dark"===e.params.theme?"navbar-photo-browser-dark":"")},$jsx("div",{class:"navbar-bg"}),$jsx("div",{class:"navbar-inner navbar-inner-centered-title sliding"},!s&&$jsx("div",{class:"left"},$jsx("a",{class:`link ${r?"":"icon-only"} back`},$jsx("i",{class:"icon icon-back "+(o?`color-${o}`:"")}),r&&$jsx("span",null,r))),a&&$jsx("div",{class:"title"},$jsx("span",{class:"photo-browser-current"}),$jsx("span",{class:"photo-browser-of"},e.params.navbarOfText),$jsx("span",{class:"photo-browser-total"})),s&&$jsx("div",{class:"right"},$jsx("a",{class:"link popup-close","data-popup":".photo-browser-popup"},$jsx("span",null,e.params.popupCloseLinkText)))))}renderToolbar(){const e=this;if(e.params.renderToolbar)return e.params.renderToolbar.call(e);let o=e.params.iconsColor;return e.params.iconsColor||"dark"!==e.params.theme||(o="white"),$jsx("div",{class:"toolbar toolbar-bottom tabbar"},$jsx("div",{class:"toolbar-inner"},$jsx("a",{class:"link photo-browser-prev"},$jsx("i",{class:"icon icon-back "+(o?`color-${o}`:"")})),$jsx("a",{class:"link photo-browser-next"},$jsx("i",{class:"icon icon-forward "+(o?`color-${o}`:"")}))))}renderCaption(e,o){const r=this;return r.params.renderCaption?r.params.renderCaption.call(r,e,o):$jsx("div",{class:"photo-browser-caption","data-caption-index":o},e)}renderObject(e,o){const r=this;return r.params.renderObject?r.params.renderObject.call(r,e,o):$jsx("div",{class:"photo-browser-slide photo-browser-object-slide swiper-slide","data-swiper-slide-index":o},e.html?e.html:e)}renderLazyPhoto(e,o){const r=this;return r.params.renderLazyPhoto?r.params.renderLazyPhoto.call(r,e,o):$jsx("div",{class:"photo-browser-slide photo-browser-slide-lazy swiper-slide","data-swiper-slide-index":o},$jsx("div",{class:"swiper-lazy-preloader"}),$jsx("span",{class:"swiper-zoom-container"},$jsx("img",{"data-src":e.url?e.url:e,class:"swiper-lazy"})))}renderPhoto(e,o){const r=this;return r.params.renderPhoto?r.params.renderPhoto.call(r,e,o):$jsx("div",{class:"photo-browser-slide swiper-slide","data-swiper-slide-index":o},$jsx("span",{class:"swiper-zoom-container"},$jsx("img",{src:e.url?e.url:e})))}render(){const e=this;return e.params.render?e.params.render.call(e,e.params):$jsx("div",{class:`photo-browser photo-browser-${e.params.theme}`},$jsx("div",{class:"view"},$jsx("div",{class:`page photo-browser-page photo-browser-page-${e.params.theme} no-toolbar ${e.params.navbar?"":"no-navbar"}`,"data-name":"photo-browser-page"},e.params.navbar&&e.renderNavbar(),e.params.toolbar&&e.renderToolbar(),$jsx("div",{class:`photo-browser-captions photo-browser-captions-${e.params.captionsTheme||e.params.theme}`},e.params.photos.map(((o,r)=>o.caption?e.renderCaption(o.caption,r):""))),$jsx("div",{class:"photo-browser-swiper-container swiper"},$jsx("div",{class:"photo-browser-swiper-wrapper swiper-wrapper"},!e.params.virtualSlides&&e.params.photos.map(((o,r)=>o.html||("string"==typeof o||o instanceof String)&&o.indexOf("<")>=0&&o.indexOf(">")>=0?e.renderObject(o,r):!0===e.params.swiper.lazy||e.params.swiper.lazy&&e.params.swiper.lazy.enabled?e.renderLazyPhoto(o,r):e.renderPhoto(o,r))))))))}renderStandalone(){const e=this;if(e.params.renderStandalone)return e.params.renderStandalone.call(e);return`<div class="popup photo-browser-popup photo-browser-standalone popup-tablet-fullscreen">${e.render()}</div>`}renderPage(){const e=this;if(e.params.renderPage)return e.params.renderPage.call(e);return e.render()}renderPopup(){const e=this;if(e.params.renderPopup)return e.params.renderPopup.call(e);return`<div class="popup photo-browser-popup">${e.render()}</div>`}onOpen(e,o){const a=this,s=a.app,t=r(o);let n;t[0].f7PhotoBrowser=a,a.$el=t,a.el=t[0],a.openedIn=e,a.opened=!0,a.$swiperContainerEl=a.$el.find(".photo-browser-swiper-container"),a.$swiperWrapperEl=a.$el.find(".photo-browser-swiper-wrapper"),a.slides=a.$el.find(".photo-browser-slide"),a.$captionsContainerEl=a.$el.find(".photo-browser-captions"),a.captions=a.$el.find(".photo-browser-caption");const i=p({},a.params.swiper,{initialSlide:a.activeIndex,cssMode:!(void 0!==a.params.swiper.cssMode||!s.device.ios&&!s.device.android)||a.params.swiper.cssMode,on:{click(e){clearTimeout(n),a.params.exposition&&(n=setTimeout((()=>{a.expositionToggle()}),350)),a.emit("local::tap",e),a.emit("local::click",e)},doubleClick(e){clearTimeout(n),a.emit("local::doubleTap",e),a.emit("local::doubleClick",e)},slideChange(...e){a.onSlideChange(this),a.emit("local::slideChange",...e)},transitionStart(...e){a.emit("local::transitionStart",...e)},transitionEnd(...e){a.emit("local::transitionEnd",...e)},slideChangeTransitionStart(...e){a.onSlideChange(this),a.emit("local::slideChangeTransitionStart",...e)},slideChangeTransitionEnd(...e){a.emit("local::slideChangeTransitionEnd",...e)},lazyImageLoad(...e){a.emit("local::lazyImageLoad",...e)},lazyImageReady(...e){const o=e[0];r(o).removeClass("photo-browser-slide-lazy"),a.emit("local::lazyImageReady",...e)}}});a.params.swipeToClose&&"page"!==a.params.type&&p(i.on,{touchStart(e,o){a.onTouchStart(o),a.emit("local::touchStart",o)},touchMoveOpposite(e,o){a.onTouchMove(o),a.emit("local::touchMoveOpposite",o)},touchEnd(e,o){a.onTouchEnd(o),a.emit("local::touchEnd",o)}}),a.params.virtualSlides&&p(i,{virtual:{slides:a.params.photos,renderSlide:(e,o)=>e.html||("string"==typeof e||e instanceof String)&&e.indexOf("<")>=0&&e.indexOf(">")>=0?a.renderObject(e,o):!0===a.params.swiper.lazy||a.params.swiper.lazy&&a.params.swiper.lazy.enabled?a.renderLazyPhoto(e,o):a.renderPhoto(e,o)}});const l=getWindow();a.swiper=s.swiper?s.swiper.create(a.$swiperContainerEl,i):new l.Swiper(a.$swiperContainerEl,i),0===a.activeIndex&&a.onSlideChange(a.swiper),a.$el&&a.$el.trigger("photobrowser:open"),a.emit("local::open photoBrowserOpen",a)}onOpened(){const e=this;e.$el&&"standalone"===e.params.type&&e.$el.css("animation","none"),e.$el&&e.$el.trigger("photobrowser:opened"),e.emit("local::opened photoBrowserOpened",e)}onClose(){const e=this;e.destroyed||(e.swiper&&e.swiper.destroy&&(e.swiper.destroy(!0,!1),e.swiper=null,delete e.swiper),e.$el&&e.$el.trigger("photobrowser:close"),e.emit("local::close photoBrowserClose",e))}onClosed(){const e=this;e.destroyed||(e.opened=!1,e.$el=null,e.el=null,delete e.$el,delete e.el,e.$el&&e.$el.trigger("photobrowser:closed"),e.emit("local::closed photoBrowserClosed",e))}openPage(){const e=this;if(e.opened)return e;const o=e.renderPage();return e.view.router.navigate({url:e.url,route:{content:o,path:e.url,on:{pageBeforeIn(o,r){e.view.$el.addClass(`with-photo-browser-page with-photo-browser-page-${e.params.theme}`),e.onOpen("page",r.el)},pageAfterIn(o,r){e.onOpened("page",r.el)},pageBeforeOut(o,r){e.view.$el.removeClass(`with-photo-browser-page with-photo-browser-page-exposed with-photo-browser-page-${e.params.theme}`),e.onClose("page",r.el)},pageAfterOut(o,r){e.onClosed("page",r.el)}}}}),e}openStandalone(){const e=this;if(e.opened)return e;const o={backdrop:!1,content:e.renderStandalone(),on:{popupOpen(o){e.onOpen("popup",o.el)},popupOpened(o){e.onOpened("popup",o.el)},popupClose(o){e.onClose("popup",o.el)},popupClosed(o){e.onClosed("popup",o.el)}}};return e.params.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,popup:o}}):e.modal=e.app.popup.create(o).open(),e}openPopup(){const e=this;if(e.opened)return e;const o={content:e.renderPopup(),push:e.params.popupPush,on:{popupOpen(o){e.onOpen("popup",o.el)},popupOpened(o){e.onOpened("popup",o.el)},popupClose(o){e.onClose("popup",o.el)},popupClosed(o){e.onClosed("popup",o.el)}}};return e.params.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,popup:o}}):e.modal=e.app.popup.create(o).open(),e}expositionEnable(){const e=this;return"page"===e.params.type&&e.view.$el.addClass("with-photo-browser-page-exposed"),e.$el&&e.$el.addClass("photo-browser-exposed"),e.params.expositionHideCaptions&&e.$captionsContainerEl.addClass("photo-browser-captions-exposed"),e.exposed=!0,e}expositionDisable(){const e=this;return"page"===e.params.type&&e.view.$el.removeClass("with-photo-browser-page-exposed"),e.$el&&e.$el.removeClass("photo-browser-exposed"),e.params.expositionHideCaptions&&e.$captionsContainerEl.removeClass("photo-browser-captions-exposed"),e.exposed=!1,e}expositionToggle(){const e=this;return"page"===e.params.type&&e.view.$el.toggleClass("with-photo-browser-page-exposed"),e.$el&&e.$el.toggleClass("photo-browser-exposed"),e.params.expositionHideCaptions&&e.$captionsContainerEl.toggleClass("photo-browser-captions-exposed"),e.exposed=!e.exposed,e}open(e){const o=this,r=o.params.type;return o.opened?(o.swiper&&void 0!==e&&o.swiper.slideTo(parseInt(e,10)),o):(void 0!==e&&(o.activeIndex=e),"standalone"===r&&o.openStandalone(),"page"===r&&o.openPage(),"popup"===r&&o.openPopup(),o)}close(){const e=this;return e.opened?(e.params.routableModals&&e.view||"page"===e.openedIn?e.view.router.back():(e.modal.once("modalClosed",(()=>{i((()=>{e.destroyed||(e.modal.destroy(),delete e.modal)}))})),e.modal.close()),e):e}init(){}destroy(){let e=this;e.emit("local::beforeDestroy photoBrowserBeforeDestroy",e),e.$el&&(e.$el.trigger("photobrowser:beforedestroy"),e.$el[0].f7PhotoBrowser=null,delete e.$el[0].f7PhotoBrowser),l(e),e.destroyed=!0,e=null}}var c={name:"photoBrowser",params:{photoBrowser:{photos:[],exposition:!0,expositionHideCaptions:!1,type:"standalone",navbar:!0,toolbar:!0,theme:"light",captionsTheme:void 0,iconsColor:void 0,popupPush:!1,swipeToClose:!0,pageBackLinkText:"Back",popupCloseLinkText:"Close",navbarOfText:"of",navbarShowCount:void 0,view:void 0,url:"photos/",routableModals:!1,virtualSlides:!0,renderNavbar:void 0,renderToolbar:void 0,renderCaption:void 0,renderObject:void 0,renderLazyPhoto:void 0,renderPhoto:void 0,renderPage:void 0,renderPopup:void 0,renderStandalone:void 0,swiper:{initialSlide:0,spaceBetween:20,speed:300,loop:!1,preloadImages:!0,keyboard:{enabled:!0},navigation:{nextEl:".photo-browser-next",prevEl:".photo-browser-prev"},zoom:{enabled:!0,maxRatio:3,minRatio:1},lazy:{enabled:!0}}}},create(){this.photoBrowser=t({defaultSelector:".photo-browser-popup, .photo-browser-page",constructor:d,app:this,domProp:"f7PhotoBrowser"})},static:{PhotoBrowser:d}};if(o){if(e.prototype.modules&&e.prototype.modules[c.name])return;e.use(c),e.instance&&(e.instance.useModuleParams(c,e.instance.params),e.instance.useModule(c))}return c}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(e,o){void 0===o&&(o=!0);var r=e.$,a=e.utils,s=(e.getDevice,e.getSupport,e.Class),t=(e.Modal,e.ConstructorMethods),p=(e.ModalMethods,a.extend),n=a.now,i=a.nextTick,l=a.deleteProps;class d extends s{constructor(e,o){void 0===o&&(o={}),super(o,[e]);const r=this;r.app=e;const a=p({on:{}},e.params.photoBrowser);r.useModulesParams(a),r.params=p(a,o),p(r,{exposed:!1,opened:!1,activeIndex:r.params.swiper.initialSlide,url:r.params.url,swipeToClose:{allow:!0,isTouched:!1,diff:void 0,start:void 0,current:void 0,started:!1,activeSlide:void 0,timeStart:void 0}}),r.useModules(),r.init()}get view(){const{params:e,app:o}=this;return e.view||o.views.main}onSlideChange(e){const o=this;o.activeIndex=e.activeIndex;let a=e.activeIndex+1,s=o.params.virtualSlides?o.params.photos.length:e.slides.length;e.params.loop&&(s-=2,a-=e.loopedSlides,a<1&&(a=s+a),a>s&&(a-=s));const t=o.params.virtualSlides?e.$wrapperEl.find(`.swiper-slide[data-swiper-slide-index="${e.activeIndex}"]`):e.slides.eq(e.activeIndex),p=o.params.virtualSlides?e.$wrapperEl.find(`.swiper-slide[data-swiper-slide-index="${e.previousIndex}"]`):e.slides.eq(e.previousIndex);let n,i=o.$el.find(".photo-browser-current"),l=o.$el.find(".photo-browser-total");if("page"===o.params.type&&o.params.navbar&&0===i.length&&"ios"===o.app.theme&&(n=o.app.navbar.getElByPage(o.$el),n&&(i=r(n).find(".photo-browser-current"),l=r(n).find(".photo-browser-total"))),i.length&&l.length&&(i.text(a),l.text(s),n||(n=i.parents(".navbar")[0]),n&&o.app.navbar.size(n)),o.captions.length>0){const r=e.params.loop?t.attr("data-swiper-slide-index"):o.activeIndex;o.$captionsContainerEl.find(".photo-browser-caption-active").removeClass("photo-browser-caption-active"),o.$captionsContainerEl.find(`[data-caption-index="${r}"]`).addClass("photo-browser-caption-active")}const d=p.find("video");d.length>0&&"pause"in d[0]&&d[0].pause()}onTouchStart(){const e=this.swipeToClose;e.allow&&(e.isTouched=!0)}onTouchMove(e){const o=this,r=o.swipeToClose;r.isTouched&&(r.started||(r.started=!0,r.start="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,o.params.virtualSlides?r.activeSlide=o.swiper.$wrapperEl.children(".swiper-slide-active"):r.activeSlide=o.swiper.slides.eq(o.swiper.activeIndex),r.timeStart=n()),e.preventDefault(),r.current="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,r.diff=r.start-r.current,o.$el.transition(0).transform(`translate3d(0,${-r.diff}px,0)`))}onTouchEnd(){const e=this,o=e.swipeToClose;if(o.isTouched=!1,!o.started)return void(o.started=!1);o.started=!1,o.allow=!1;const r=Math.abs(o.diff),a=(new Date).getTime()-o.timeStart;a<300&&r>20||a>=300&&r>100?i((()=>{e.$el&&(o.diff<0?e.$el.addClass("swipe-close-to-bottom"):e.$el.addClass("swipe-close-to-top")),e.emit("local::swipeToClose",e),e.$el.transform("").transition(""),e.close(),o.allow=!0})):(0!==r?e.$el.addClass("photo-browser-transitioning").transitionEnd((()=>{o.allow=!0,e.$el.removeClass("photo-browser-transitioning")})):o.allow=!0,i((()=>{e.$el.transform("").transition("")})))}renderNavbar(){const e=this;if(e.params.renderNavbar)return e.params.renderNavbar.call(e);let o=e.params.iconsColor;e.params.iconsColor||"dark"!==e.params.theme||(o="white");const r="ios"!==e.app.theme&&"aurora"!==e.app.theme||!e.params.pageBackLinkText?"":e.params.pageBackLinkText,a=void 0===e.params.navbarShowCount?e.params.photos.length>1:e.params.navbarShowCount,s="page"!==e.params.type;return $jsx("div",{class:"navbar navbar-photo-browser "+("dark"===e.params.theme?"navbar-photo-browser-dark":"")},$jsx("div",{class:"navbar-bg"}),$jsx("div",{class:"navbar-inner navbar-inner-centered-title sliding"},!s&&$jsx("div",{class:"left"},$jsx("a",{class:`link ${r?"":"icon-only"} back`},$jsx("i",{class:"icon icon-back "+(o?`color-${o}`:"")}),r&&$jsx("span",null,r))),a&&$jsx("div",{class:"title"},$jsx("span",{class:"photo-browser-current"}),$jsx("span",{class:"photo-browser-of"},e.params.navbarOfText),$jsx("span",{class:"photo-browser-total"})),s&&$jsx("div",{class:"right"},$jsx("a",{class:"link popup-close","data-popup":".photo-browser-popup"},$jsx("span",null,e.params.popupCloseLinkText)))))}renderToolbar(){const e=this;if(e.params.renderToolbar)return e.params.renderToolbar.call(e);let o=e.params.iconsColor;return e.params.iconsColor||"dark"!==e.params.theme||(o="white"),$jsx("div",{class:"toolbar toolbar-bottom tabbar"},$jsx("div",{class:"toolbar-inner"},$jsx("a",{class:"link photo-browser-prev"},$jsx("i",{class:"icon icon-back "+(o?`color-${o}`:"")})),$jsx("a",{class:"link photo-browser-next"},$jsx("i",{class:"icon icon-forward "+(o?`color-${o}`:"")}))))}renderCaption(e,o){const r=this;return r.params.renderCaption?r.params.renderCaption.call(r,e,o):$jsx("div",{class:"photo-browser-caption","data-caption-index":o},e)}renderObject(e,o){const r=this;return r.params.renderObject?r.params.renderObject.call(r,e,o):$jsx("div",{class:"photo-browser-slide photo-browser-object-slide swiper-slide","data-swiper-slide-index":o},e.html?e.html:e)}renderLazyPhoto(e,o){const r=this;return r.params.renderLazyPhoto?r.params.renderLazyPhoto.call(r,e,o):$jsx("div",{class:"photo-browser-slide photo-browser-slide-lazy swiper-slide","data-swiper-slide-index":o},$jsx("div",{class:"swiper-lazy-preloader"}),$jsx("span",{class:"swiper-zoom-container"},$jsx("img",{"data-src":e.url?e.url:e,class:"swiper-lazy"})))}renderPhoto(e,o){const r=this;return r.params.renderPhoto?r.params.renderPhoto.call(r,e,o):$jsx("div",{class:"photo-browser-slide swiper-slide","data-swiper-slide-index":o},$jsx("span",{class:"swiper-zoom-container"},$jsx("img",{src:e.url?e.url:e})))}render(){const e=this;return e.params.render?e.params.render.call(e,e.params):$jsx("div",{class:`photo-browser photo-browser-${e.params.theme}`},$jsx("div",{class:"view"},$jsx("div",{class:`page photo-browser-page photo-browser-page-${e.params.theme} no-toolbar ${e.params.navbar?"":"no-navbar"}`,"data-name":"photo-browser-page"},e.params.navbar&&e.renderNavbar(),e.params.toolbar&&e.renderToolbar(),$jsx("div",{class:`photo-browser-captions photo-browser-captions-${e.params.captionsTheme||e.params.theme}`},e.params.photos.map(((o,r)=>o.caption?e.renderCaption(o.caption,r):""))),$jsx("div",{class:"photo-browser-swiper-container swiper"},$jsx("div",{class:"photo-browser-swiper-wrapper swiper-wrapper"},!e.params.virtualSlides&&e.params.photos.map(((o,r)=>o.html||("string"==typeof o||o instanceof String)&&o.indexOf("<")>=0&&o.indexOf(">")>=0?e.renderObject(o,r):!0===e.params.swiper.lazy||e.params.swiper.lazy&&e.params.swiper.lazy.enabled?e.renderLazyPhoto(o,r):e.renderPhoto(o,r))))))))}renderStandalone(){const e=this;if(e.params.renderStandalone)return e.params.renderStandalone.call(e);return`<div class="popup photo-browser-popup photo-browser-standalone popup-tablet-fullscreen">${e.render()}</div>`}renderPage(){const e=this;if(e.params.renderPage)return e.params.renderPage.call(e);return e.render()}renderPopup(){const e=this;if(e.params.renderPopup)return e.params.renderPopup.call(e);return`<div class="popup photo-browser-popup">${e.render()}</div>`}onOpen(e,o){const a=this,s=a.app,t=r(o);let n;t[0].f7PhotoBrowser=a,a.$el=t,a.el=t[0],a.openedIn=e,a.opened=!0,a.$swiperContainerEl=a.$el.find(".photo-browser-swiper-container"),a.$swiperWrapperEl=a.$el.find(".photo-browser-swiper-wrapper"),a.slides=a.$el.find(".photo-browser-slide"),a.$captionsContainerEl=a.$el.find(".photo-browser-captions"),a.captions=a.$el.find(".photo-browser-caption");const i=p({},a.params.swiper,{initialSlide:a.activeIndex,cssMode:!(void 0!==a.params.swiper.cssMode||!s.device.ios&&!s.device.android)||a.params.swiper.cssMode,on:{click(e){clearTimeout(n),a.params.exposition&&(n=setTimeout((()=>{a.expositionToggle()}),350)),a.emit("local::tap",e),a.emit("local::click",e)},doubleClick(e){clearTimeout(n),a.emit("local::doubleTap",e),a.emit("local::doubleClick",e)},slideChange(){a.onSlideChange(this);for(var e=arguments.length,o=new Array(e),r=0;r<e;r++)o[r]=arguments[r];a.emit("local::slideChange",...o)},transitionStart(){for(var e=arguments.length,o=new Array(e),r=0;r<e;r++)o[r]=arguments[r];a.emit("local::transitionStart",...o)},transitionEnd(){for(var e=arguments.length,o=new Array(e),r=0;r<e;r++)o[r]=arguments[r];a.emit("local::transitionEnd",...o)},slideChangeTransitionStart(){a.onSlideChange(this);for(var e=arguments.length,o=new Array(e),r=0;r<e;r++)o[r]=arguments[r];a.emit("local::slideChangeTransitionStart",...o)},slideChangeTransitionEnd(){for(var e=arguments.length,o=new Array(e),r=0;r<e;r++)o[r]=arguments[r];a.emit("local::slideChangeTransitionEnd",...o)},lazyImageLoad(){for(var e=arguments.length,o=new Array(e),r=0;r<e;r++)o[r]=arguments[r];a.emit("local::lazyImageLoad",...o)},lazyImageReady(){for(var e=arguments.length,o=new Array(e),s=0;s<e;s++)o[s]=arguments[s];const t=o[0];r(t).removeClass("photo-browser-slide-lazy"),a.emit("local::lazyImageReady",...o)}}});a.params.swipeToClose&&"page"!==a.params.type&&p(i.on,{touchStart(e,o){a.onTouchStart(o),a.emit("local::touchStart",o)},touchMoveOpposite(e,o){a.onTouchMove(o),a.emit("local::touchMoveOpposite",o)},touchEnd(e,o){a.onTouchEnd(o),a.emit("local::touchEnd",o)}}),a.params.virtualSlides&&p(i,{virtual:{slides:a.params.photos,renderSlide:(e,o)=>e.html||("string"==typeof e||e instanceof String)&&e.indexOf("<")>=0&&e.indexOf(">")>=0?a.renderObject(e,o):!0===a.params.swiper.lazy||a.params.swiper.lazy&&a.params.swiper.lazy.enabled?a.renderLazyPhoto(e,o):a.renderPhoto(e,o)}});const l=getWindow();a.swiper=s.swiper?s.swiper.create(a.$swiperContainerEl,i):new l.Swiper(a.$swiperContainerEl,i),0===a.activeIndex&&a.onSlideChange(a.swiper),a.$el&&a.$el.trigger("photobrowser:open"),a.emit("local::open photoBrowserOpen",a)}onOpened(){const e=this;e.$el&&"standalone"===e.params.type&&e.$el.css("animation","none"),e.$el&&e.$el.trigger("photobrowser:opened"),e.emit("local::opened photoBrowserOpened",e)}onClose(){const e=this;e.destroyed||(e.swiper&&e.swiper.destroy&&(e.swiper.destroy(!0,!1),e.swiper=null,delete e.swiper),e.$el&&e.$el.trigger("photobrowser:close"),e.emit("local::close photoBrowserClose",e))}onClosed(){const e=this;e.destroyed||(e.opened=!1,e.$el=null,e.el=null,delete e.$el,delete e.el,e.$el&&e.$el.trigger("photobrowser:closed"),e.emit("local::closed photoBrowserClosed",e))}openPage(){const e=this;if(e.opened)return e;const o=e.renderPage();return e.view.router.navigate({url:e.url,route:{content:o,path:e.url,on:{pageBeforeIn(o,r){e.view.$el.addClass(`with-photo-browser-page with-photo-browser-page-${e.params.theme}`),e.onOpen("page",r.el)},pageAfterIn(o,r){e.onOpened("page",r.el)},pageBeforeOut(o,r){e.view.$el.removeClass(`with-photo-browser-page with-photo-browser-page-exposed with-photo-browser-page-${e.params.theme}`),e.onClose("page",r.el)},pageAfterOut(o,r){e.onClosed("page",r.el)}}}}),e}openStandalone(){const e=this;if(e.opened)return e;const o={backdrop:!1,content:e.renderStandalone(),on:{popupOpen(o){e.onOpen("popup",o.el)},popupOpened(o){e.onOpened("popup",o.el)},popupClose(o){e.onClose("popup",o.el)},popupClosed(o){e.onClosed("popup",o.el)}}};return e.params.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,popup:o}}):e.modal=e.app.popup.create(o).open(),e}openPopup(){const e=this;if(e.opened)return e;const o={content:e.renderPopup(),push:e.params.popupPush,on:{popupOpen(o){e.onOpen("popup",o.el)},popupOpened(o){e.onOpened("popup",o.el)},popupClose(o){e.onClose("popup",o.el)},popupClosed(o){e.onClosed("popup",o.el)}}};return e.params.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,popup:o}}):e.modal=e.app.popup.create(o).open(),e}expositionEnable(){const e=this;return"page"===e.params.type&&e.view.$el.addClass("with-photo-browser-page-exposed"),e.$el&&e.$el.addClass("photo-browser-exposed"),e.params.expositionHideCaptions&&e.$captionsContainerEl.addClass("photo-browser-captions-exposed"),e.exposed=!0,e}expositionDisable(){const e=this;return"page"===e.params.type&&e.view.$el.removeClass("with-photo-browser-page-exposed"),e.$el&&e.$el.removeClass("photo-browser-exposed"),e.params.expositionHideCaptions&&e.$captionsContainerEl.removeClass("photo-browser-captions-exposed"),e.exposed=!1,e}expositionToggle(){const e=this;return"page"===e.params.type&&e.view.$el.toggleClass("with-photo-browser-page-exposed"),e.$el&&e.$el.toggleClass("photo-browser-exposed"),e.params.expositionHideCaptions&&e.$captionsContainerEl.toggleClass("photo-browser-captions-exposed"),e.exposed=!e.exposed,e}open(e){const o=this,r=o.params.type;return o.opened?(o.swiper&&void 0!==e&&o.swiper.slideTo(parseInt(e,10)),o):(void 0!==e&&(o.activeIndex=e),"standalone"===r&&o.openStandalone(),"page"===r&&o.openPage(),"popup"===r&&o.openPopup(),o)}close(){const e=this;return e.opened?(e.params.routableModals&&e.view||"page"===e.openedIn?e.view.router.back():(e.modal.once("modalClosed",(()=>{i((()=>{e.destroyed||(e.modal.destroy(),delete e.modal)}))})),e.modal.close()),e):e}init(){}destroy(){let e=this;e.emit("local::beforeDestroy photoBrowserBeforeDestroy",e),e.$el&&(e.$el.trigger("photobrowser:beforedestroy"),e.$el[0].f7PhotoBrowser=null,delete e.$el[0].f7PhotoBrowser),l(e),e.destroyed=!0,e=null}}var c={name:"photoBrowser",params:{photoBrowser:{photos:[],exposition:!0,expositionHideCaptions:!1,type:"standalone",navbar:!0,toolbar:!0,theme:"light",captionsTheme:void 0,iconsColor:void 0,popupPush:!1,swipeToClose:!0,pageBackLinkText:"Back",popupCloseLinkText:"Close",navbarOfText:"of",navbarShowCount:void 0,view:void 0,url:"photos/",routableModals:!1,virtualSlides:!0,renderNavbar:void 0,renderToolbar:void 0,renderCaption:void 0,renderObject:void 0,renderLazyPhoto:void 0,renderPhoto:void 0,renderPage:void 0,renderPopup:void 0,renderStandalone:void 0,swiper:{initialSlide:0,spaceBetween:20,speed:300,loop:!1,preloadImages:!0,keyboard:{enabled:!0},navigation:{nextEl:".photo-browser-next",prevEl:".photo-browser-prev"},zoom:{enabled:!0,maxRatio:3,minRatio:1},lazy:{enabled:!0}}}},create(){this.photoBrowser=t({defaultSelector:".photo-browser-popup, .photo-browser-page",constructor:d,app:this,domProp:"f7PhotoBrowser"})},static:{PhotoBrowser:d}};if(o){if(e.prototype.modules&&e.prototype.modules[c.name])return;e.use(c),e.instance&&(e.instance.useModuleParams(c,e.instance.params),e.instance.useModule(c))}return c}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -9,7 +9,11 @@ import pickerColumn from './picker-column.js';
9
9
  import $jsx from '../../shared/$jsx.js';
10
10
 
11
11
  class Picker extends Framework7Class {
12
- constructor(app, params = {}) {
12
+ constructor(app, params) {
13
+ if (params === void 0) {
14
+ params = {};
15
+ }
16
+
13
17
  super(params, [app]);
14
18
  const picker = this;
15
19
  const device = getDevice();
@@ -16,7 +16,11 @@ export default {
16
16
  domProp: 'f7Picker'
17
17
  });
18
18
 
19
- app.picker.close = function close(el = '.picker') {
19
+ app.picker.close = function close(el) {
20
+ if (el === void 0) {
21
+ el = '.picker';
22
+ }
23
+
20
24
  const $el = $(el);
21
25
  if ($el.length === 0) return;
22
26
  const picker = $el[0].f7Picker;
@@ -1 +1 @@
1
- (function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var l=e.$,s=e.utils,i=e.getDevice,n=(e.getSupport,e.Class),o=(e.Modal,e.ConstructorMethods),r=(e.ModalMethods,s.extend),a=s.nextTick,c=s.deleteProps;function p(e,t){const s=this,i=l(e),n=i.index(),o=s.cols[n];if(o.divider)return;let r,a;function c(){o.updateItems()}function p(){const e=l(this).attr("data-picker-value");o.setValue(e)}o.$el=i,o.el=i[0],o.$itemsEl=o.$el.find(".picker-items"),o.items=o.$itemsEl.find(".picker-item"),o.replaceValues=function(e,t){o.detachEvents(),o.values=e,o.displayValues=t,o.$itemsEl.html(s.renderColumn(o,!0)),o.items=o.$itemsEl.find(".picker-item"),o.calcSize(),o.setValue(o.values[0],!0),o.attachEvents()},o.calcSize=function(){a=o.$el[0].offsetHeight,r=o.items[0].offsetHeight;const e=o.el.style.getPropertyValue("--f7-picker-scroll-padding");o.el.style.setProperty("--f7-picker-scroll-padding",(a-r)/2+"px"),e||(o.$itemsEl[0].scrollTop=0)},o.setValue=function(e,t){const l=o.$itemsEl.find(`.picker-item[data-picker-value="${e}"]`).index();if(void 0===l||-1===l)return;const s=l*r;o.$itemsEl[0].scrollTop=s,o.updateItems(l,s,t)},o.updateItems=function(e,t,i){void 0===t&&(t=o.$itemsEl[0].scrollTop),void 0===e&&(e=Math.round(t/r)),e<0&&(e=0),e>=o.items.length&&(e=o.items.length-1);const n=o.activeIndex;o.activeIndex=e,o.$itemsEl.find(".picker-item-selected").removeClass("picker-item-selected");const c=o.items.eq(e);c.addClass("picker-item-selected").children().transform(""),s.params.rotateEffect&&o.items.each((e=>{const s=l(e),i=(e.offsetTop-(a-r)/2-t)/r,n=Math.ceil(o.height/r/2)+1;let c=-24*i;c>180&&(c=180),c<-180&&(c=-180),Math.abs(i)>n?s.addClass("picker-item-far"):s.removeClass("picker-item-far"),s.children("span").transform(`translate3d(0, ${-i*r}px, -100px) rotateX(${c}deg)`)})),(i||void 0===i)&&(o.value=c.attr("data-picker-value"),o.displayValue=o.displayValues?o.displayValues[e]:o.value,n!==e&&(o.onChange&&o.onChange(s,o.value,o.displayValue),s.updateValue()))},o.attachEvents=function(){o.$itemsEl.on("scroll",c),o.items.on("click",p)},o.detachEvents=function(){o.items.off("click",p)},o.init=function(){o.calcSize(),0===n&&o.$el.addClass("picker-column-first"),n===s.cols.length-1&&o.$el.addClass("picker-column-last"),s.params.freeMode&&o.$el.addClass("picker-column-free-mode"),t&&o.updateItems(0),o.attachEvents()},o.destroy=function(){o.detachEvents()},o.init()}class d extends n{constructor(e,t={}){super(t,[e]);const s=this,n=i(),o=getWindow();let a,c;if(s.params=r({},e.params.picker,t),s.params.containerEl&&(a=l(s.params.containerEl),0===a.length))return s;s.params.inputEl&&(c=l(s.params.inputEl));let p=s.params.scrollToInput?c:void 0;if(s.params.scrollToEl){const e=l(s.params.scrollToEl);e.length>0&&(p=e)}function d(){s.resizeCols()}function u(){s.open()}function m(e){e.preventDefault()}r(s,{app:e,$containerEl:a,containerEl:a&&a[0],inline:a&&a.length>0,needsOriginFix:n.ios||o.navigator.userAgent.toLowerCase().indexOf("safari")>=0&&o.navigator.userAgent.toLowerCase().indexOf("chrome")<0&&!n.android,cols:[],$inputEl:c,inputEl:c&&c[0],$scrollToEl:p,initialized:!1,opened:!1,url:s.params.url});let h=null;function v(e){h=e.target}function f(e){if(s.destroyed||!s.params)return;const t=l(e.target);s.isPopover()||s.opened&&!s.closing&&(t.closest('[class*="backdrop"]').length||(c&&c.length>0?h===e.target&&t[0]!==c[0]&&0===t.closest(".sheet-modal").length&&s.close():0===l(e.target).closest(".sheet-modal").length&&s.close()))}return r(s,{attachResizeEvent(){e.on("resize",d)},detachResizeEvent(){e.off("resize",d)},attachInputEvents(){s.$inputEl.on("click",u),s.params.inputReadOnly&&(s.$inputEl.on("focus mousedown",m),s.$inputEl[0]&&(s.$inputEl[0].f7ValidateReadonly=!0))},detachInputEvents(){s.$inputEl.off("click",u),s.params.inputReadOnly&&(s.$inputEl.off("focus mousedown",m),s.$inputEl[0]&&delete s.$inputEl[0].f7ValidateReadonly)},attachHtmlEvents(){e.on("click",f),e.on("touchstart",v)},detachHtmlEvents(){e.off("click",f),e.off("touchstart",v)}}),s.init(),s}get view(){const{app:e,params:t,$inputEl:l}=this;let s;return t.view?s=t.view:l&&(s=l.parents(".view").length&&l.parents(".view")[0].f7View),s||(s=e.views.main),s}initInput(){const e=this;e.$inputEl&&e.params.inputReadOnly&&e.$inputEl.prop("readOnly",!0)}resizeCols(){const e=this;if(e.opened)for(let t=0;t<e.cols.length;t+=1)e.cols[t].divider||(e.cols[t].calcSize(),e.cols[t].setValue(e.cols[t].value,!1))}isPopover(){const e=this,{app:t,modal:l,params:s}=e,n=i();if("sheet"===s.openIn)return!1;if(l&&"popover"!==l.type)return!1;if(!e.inline&&e.inputEl){if("popover"===s.openIn)return!0;if(n.ios)return!!n.ipad;if(t.width>=768)return!0;if(n.desktop&&"aurora"===t.theme)return!0}return!1}formatValue(){const e=this,{value:t,displayValue:l}=e;return e.params.formatValue?e.params.formatValue.call(e,t,l):t.join(" ")}setValue(e){const t=this;let l=0;if(0===t.cols.length)return t.value=e,void t.updateValue(e);for(let s=0;s<t.cols.length;s+=1)t.cols[s]&&!t.cols[s].divider&&(t.cols[s].setValue(e[l]),l+=1)}getValue(){return this.value}updateValue(e){const t=this,l=e||[],s=[];let i;if(0===t.cols.length){const e=t.params.cols.filter((e=>!e.divider));for(let t=0;t<e.length;t+=1)i=e[t],void 0!==i.displayValues&&void 0!==i.values&&-1!==i.values.indexOf(l[t])?s.push(i.displayValues[i.values.indexOf(l[t])]):s.push(l[t])}else for(let e=0;e<t.cols.length;e+=1)t.cols[e].divider||(l.push(t.cols[e].value),s.push(t.cols[e].displayValue));l.indexOf(void 0)>=0||(t.value=l,t.displayValue=s,t.emit("local::change pickerChange",t,t.value,t.displayValue),t.inputEl&&(t.$inputEl.val(t.formatValue()),t.$inputEl.trigger("change")))}initColumn(e,t){p.call(this,e,t)}destroyColumn(e){const t=this,s=l(e).index();t.cols[s]&&t.cols[s].destroy&&t.cols[s].destroy()}renderToolbar(){const e=this;return e.params.renderToolbar?e.params.renderToolbar.call(e,e):$jsx("div",{class:"toolbar toolbar-top no-shadow"},$jsx("div",{class:"toolbar-inner"},$jsx("div",{class:"left"}),$jsx("div",{class:"right"},$jsx("a",{class:"link sheet-close popover-close"},e.params.toolbarCloseText))))}renderColumn(e,t){const l=`picker-column ${e.textAlign?`picker-column-${e.textAlign}`:""} ${e.cssClass||""}`;let s,i;return e.divider?s=`\n <div class="${l} picker-column-divider">${e.content}</div>\n `:(i=e.values.map(((t,l)=>`\n <div class="picker-item" data-picker-value="${t}">\n <span>${e.displayValues?e.displayValues[l]:t}</span>\n </div>\n `)).join(""),s=`\n <div class="${l}">\n <div class="picker-items">${i}</div>\n </div>\n `),t?i.trim():s.trim()}renderInline(){const e=this,{rotateEffect:t,cssClass:l,toolbar:s}=e.params;return $jsx("div",{class:`picker picker-inline ${t?"picker-3d":""} ${l||""}`},s&&e.renderToolbar(),$jsx("div",{class:"picker-columns"},e.cols.map((t=>e.renderColumn(t))),$jsx("div",{class:"picker-center-highlight"})))}renderSheet(){const e=this,{rotateEffect:t,cssClass:l,toolbar:s}=e.params;return $jsx("div",{class:`sheet-modal picker picker-sheet ${t?"picker-3d":""} ${l||""}`},s&&e.renderToolbar(),$jsx("div",{class:"sheet-modal-inner picker-columns"},e.cols.map((t=>e.renderColumn(t))),$jsx("div",{class:"picker-center-highlight"})))}renderPopover(){const e=this,{rotateEffect:t,cssClass:l,toolbar:s}=e.params;return $jsx("div",{class:"popover picker-popover"},$jsx("div",{class:"popover-inner"},$jsx("div",{class:`picker ${t?"picker-3d":""} ${l||""}`},s&&e.renderToolbar(),$jsx("div",{class:"picker-columns"},e.cols.map((t=>e.renderColumn(t))),$jsx("div",{class:"picker-center-highlight"})))))}render(){const e=this;return e.params.render?e.params.render.call(e):e.inline?e.renderInline():e.isPopover()?e.renderPopover():e.renderSheet()}onOpen(){const e=this,{initialized:t,$el:l,app:s,$inputEl:i,inline:n,value:o,params:r}=e;e.opened=!0,e.closing=!1,e.opening=!0,e.attachResizeEvent(),l.find(".picker-column").each((l=>{let s=!0;(!t&&r.value||t&&o)&&(s=!1),e.initColumn(l,s)})),t?o&&e.setValue(o):o?e.setValue(o):r.value&&e.setValue(r.value),!n&&i&&i.length&&"md"===s.theme&&i.trigger("focus"),e.initialized=!0,l&&l.trigger("picker:open"),i&&i.trigger("picker:open"),e.emit("local::open pickerOpen",e)}onOpened(){const e=this;e.opening=!1,e.$el&&e.$el.trigger("picker:opened"),e.$inputEl&&e.$inputEl.trigger("picker:opened"),e.emit("local::opened pickerOpened",e)}onClose(){const e=this,t=e.app;if(e.opening=!1,e.closing=!0,e.detachResizeEvent(),e.cols.forEach((e=>{e.destroy&&e.destroy()})),e.$inputEl)if("md"===t.theme)e.$inputEl.trigger("blur");else{const l=e.$inputEl.attr("validate"),s=e.$inputEl.attr("required");l&&s&&t.input.validate(e.$inputEl)}e.$el&&e.$el.trigger("picker:close"),e.$inputEl&&e.$inputEl.trigger("picker:close"),e.emit("local::close pickerClose",e)}onClosed(){const e=this;e.opened=!1,e.closing=!1,e.inline||a((()=>{e.modal&&e.modal.el&&e.modal.destroy&&(e.params.routableModals||e.modal.destroy()),delete e.modal})),e.$el&&e.$el.trigger("picker:closed"),e.$inputEl&&e.$inputEl.trigger("picker:closed"),e.emit("local::closed pickerClosed",e)}open(){const e=this,{app:t,opened:s,inline:i,$inputEl:n,$scrollToEl:o,params:r}=e;if(s)return;if(0===e.cols.length&&r.cols.length&&r.cols.forEach((t=>{e.cols.push(t)})),i)return e.$el=l(e.render()),e.$el[0].f7Picker=e,e.$containerEl.append(e.$el),e.onOpen(),void e.onOpened();const a=e.isPopover(),c=a?"popover":"sheet",p={targetEl:n,scrollToEl:o,content:e.render(),backdrop:void 0!==r.backdrop?r.backdrop:a,on:{open(){const t=this;e.modal=t,e.$el=a?t.$el.find(".picker"):t.$el,e.$el[0].f7Picker=e,e.onOpen()},opened(){e.onOpened()},close(){e.onClose()},closed(){e.onClosed()}}};"sheet"===c&&(p.push=r.sheetPush,p.swipeToClose=r.sheetSwipeToClose),r.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,[c]:p}}):(e.modal=t[c].create(p),e.modal.open())}close(){const e=this,{opened:t,inline:l}=e;if(t)return l?(e.onClose(),void e.onClosed()):void(e.params.routableModals&&e.view?e.view.router.back():e.modal.close())}init(){const e=this;if(e.initInput(),e.inline)return e.open(),void e.emit("local::init pickerInit",e);!e.initialized&&e.params.value&&e.setValue(e.params.value),e.$inputEl&&e.attachInputEvents(),e.params.closeByOutsideClick&&e.attachHtmlEvents(),e.emit("local::init pickerInit",e)}destroy(){const e=this;if(e.destroyed)return;const{$el:t}=e;e.emit("local::beforeDestroy pickerBeforeDestroy",e),t&&t.trigger("picker:beforedestroy"),e.close(),e.$inputEl&&e.detachInputEvents(),e.params.closeByOutsideClick&&e.detachHtmlEvents(),t&&t.length&&delete e.$el[0].f7Picker,c(e),e.destroyed=!0}}var u={name:"picker",static:{Picker:d},create(){const e=this;e.picker=o({defaultSelector:".picker",constructor:d,app:e,domProp:"f7Picker"}),e.picker.close=function(e=".picker"){const t=l(e);if(0===t.length)return;const s=t[0].f7Picker;!s||s&&!s.opened||s.close()}},params:{picker:{rotateEffect:!1,freeMode:!1,cols:[],containerEl:null,openIn:"auto",sheetPush:!1,sheetSwipeToClose:void 0,backdrop:void 0,formatValue:null,inputEl:null,inputReadOnly:!0,closeByOutsideClick:!0,scrollToInput:!0,scrollToEl:void 0,toolbar:!0,toolbarCloseText:"Done",cssClass:null,routableModals:!1,view:null,url:"select/",renderToolbar:null,render:null}}};if(t){if(e.prototype.modules&&e.prototype.modules[u.name])return;e.use(u),e.instance&&(e.instance.useModuleParams(u,e.instance.params),e.instance.useModule(u))}return u}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var l=e.$,s=e.utils,i=e.getDevice,n=(e.getSupport,e.Class),o=(e.Modal,e.ConstructorMethods),r=(e.ModalMethods,s.extend),a=s.nextTick,c=s.deleteProps;function p(e,t){const s=this,i=l(e),n=i.index(),o=s.cols[n];if(o.divider)return;let r,a;function c(){o.updateItems()}function p(){const e=l(this).attr("data-picker-value");o.setValue(e)}o.$el=i,o.el=i[0],o.$itemsEl=o.$el.find(".picker-items"),o.items=o.$itemsEl.find(".picker-item"),o.replaceValues=function(e,t){o.detachEvents(),o.values=e,o.displayValues=t,o.$itemsEl.html(s.renderColumn(o,!0)),o.items=o.$itemsEl.find(".picker-item"),o.calcSize(),o.setValue(o.values[0],!0),o.attachEvents()},o.calcSize=function(){a=o.$el[0].offsetHeight,r=o.items[0].offsetHeight;const e=o.el.style.getPropertyValue("--f7-picker-scroll-padding");o.el.style.setProperty("--f7-picker-scroll-padding",(a-r)/2+"px"),e||(o.$itemsEl[0].scrollTop=0)},o.setValue=function(e,t){const l=o.$itemsEl.find(`.picker-item[data-picker-value="${e}"]`).index();if(void 0===l||-1===l)return;const s=l*r;o.$itemsEl[0].scrollTop=s,o.updateItems(l,s,t)},o.updateItems=function(e,t,i){void 0===t&&(t=o.$itemsEl[0].scrollTop),void 0===e&&(e=Math.round(t/r)),e<0&&(e=0),e>=o.items.length&&(e=o.items.length-1);const n=o.activeIndex;o.activeIndex=e,o.$itemsEl.find(".picker-item-selected").removeClass("picker-item-selected");const c=o.items.eq(e);c.addClass("picker-item-selected").children().transform(""),s.params.rotateEffect&&o.items.each((e=>{const s=l(e),i=(e.offsetTop-(a-r)/2-t)/r,n=Math.ceil(o.height/r/2)+1;let c=-24*i;c>180&&(c=180),c<-180&&(c=-180),Math.abs(i)>n?s.addClass("picker-item-far"):s.removeClass("picker-item-far"),s.children("span").transform(`translate3d(0, ${-i*r}px, -100px) rotateX(${c}deg)`)})),(i||void 0===i)&&(o.value=c.attr("data-picker-value"),o.displayValue=o.displayValues?o.displayValues[e]:o.value,n!==e&&(o.onChange&&o.onChange(s,o.value,o.displayValue),s.updateValue()))},o.attachEvents=function(){o.$itemsEl.on("scroll",c),o.items.on("click",p)},o.detachEvents=function(){o.items.off("click",p)},o.init=function(){o.calcSize(),0===n&&o.$el.addClass("picker-column-first"),n===s.cols.length-1&&o.$el.addClass("picker-column-last"),s.params.freeMode&&o.$el.addClass("picker-column-free-mode"),t&&o.updateItems(0),o.attachEvents()},o.destroy=function(){o.detachEvents()},o.init()}class d extends n{constructor(e,t){void 0===t&&(t={}),super(t,[e]);const s=this,n=i(),o=getWindow();let a,c;if(s.params=r({},e.params.picker,t),s.params.containerEl&&(a=l(s.params.containerEl),0===a.length))return s;s.params.inputEl&&(c=l(s.params.inputEl));let p=s.params.scrollToInput?c:void 0;if(s.params.scrollToEl){const e=l(s.params.scrollToEl);e.length>0&&(p=e)}function d(){s.resizeCols()}function u(){s.open()}function m(e){e.preventDefault()}r(s,{app:e,$containerEl:a,containerEl:a&&a[0],inline:a&&a.length>0,needsOriginFix:n.ios||o.navigator.userAgent.toLowerCase().indexOf("safari")>=0&&o.navigator.userAgent.toLowerCase().indexOf("chrome")<0&&!n.android,cols:[],$inputEl:c,inputEl:c&&c[0],$scrollToEl:p,initialized:!1,opened:!1,url:s.params.url});let v=null;function h(e){v=e.target}function f(e){if(s.destroyed||!s.params)return;const t=l(e.target);s.isPopover()||s.opened&&!s.closing&&(t.closest('[class*="backdrop"]').length||(c&&c.length>0?v===e.target&&t[0]!==c[0]&&0===t.closest(".sheet-modal").length&&s.close():0===l(e.target).closest(".sheet-modal").length&&s.close()))}return r(s,{attachResizeEvent(){e.on("resize",d)},detachResizeEvent(){e.off("resize",d)},attachInputEvents(){s.$inputEl.on("click",u),s.params.inputReadOnly&&(s.$inputEl.on("focus mousedown",m),s.$inputEl[0]&&(s.$inputEl[0].f7ValidateReadonly=!0))},detachInputEvents(){s.$inputEl.off("click",u),s.params.inputReadOnly&&(s.$inputEl.off("focus mousedown",m),s.$inputEl[0]&&delete s.$inputEl[0].f7ValidateReadonly)},attachHtmlEvents(){e.on("click",f),e.on("touchstart",h)},detachHtmlEvents(){e.off("click",f),e.off("touchstart",h)}}),s.init(),s}get view(){const{app:e,params:t,$inputEl:l}=this;let s;return t.view?s=t.view:l&&(s=l.parents(".view").length&&l.parents(".view")[0].f7View),s||(s=e.views.main),s}initInput(){const e=this;e.$inputEl&&e.params.inputReadOnly&&e.$inputEl.prop("readOnly",!0)}resizeCols(){const e=this;if(e.opened)for(let t=0;t<e.cols.length;t+=1)e.cols[t].divider||(e.cols[t].calcSize(),e.cols[t].setValue(e.cols[t].value,!1))}isPopover(){const e=this,{app:t,modal:l,params:s}=e,n=i();if("sheet"===s.openIn)return!1;if(l&&"popover"!==l.type)return!1;if(!e.inline&&e.inputEl){if("popover"===s.openIn)return!0;if(n.ios)return!!n.ipad;if(t.width>=768)return!0;if(n.desktop&&"aurora"===t.theme)return!0}return!1}formatValue(){const e=this,{value:t,displayValue:l}=e;return e.params.formatValue?e.params.formatValue.call(e,t,l):t.join(" ")}setValue(e){const t=this;let l=0;if(0===t.cols.length)return t.value=e,void t.updateValue(e);for(let s=0;s<t.cols.length;s+=1)t.cols[s]&&!t.cols[s].divider&&(t.cols[s].setValue(e[l]),l+=1)}getValue(){return this.value}updateValue(e){const t=this,l=e||[],s=[];let i;if(0===t.cols.length){const e=t.params.cols.filter((e=>!e.divider));for(let t=0;t<e.length;t+=1)i=e[t],void 0!==i.displayValues&&void 0!==i.values&&-1!==i.values.indexOf(l[t])?s.push(i.displayValues[i.values.indexOf(l[t])]):s.push(l[t])}else for(let e=0;e<t.cols.length;e+=1)t.cols[e].divider||(l.push(t.cols[e].value),s.push(t.cols[e].displayValue));l.indexOf(void 0)>=0||(t.value=l,t.displayValue=s,t.emit("local::change pickerChange",t,t.value,t.displayValue),t.inputEl&&(t.$inputEl.val(t.formatValue()),t.$inputEl.trigger("change")))}initColumn(e,t){p.call(this,e,t)}destroyColumn(e){const t=this,s=l(e).index();t.cols[s]&&t.cols[s].destroy&&t.cols[s].destroy()}renderToolbar(){const e=this;return e.params.renderToolbar?e.params.renderToolbar.call(e,e):$jsx("div",{class:"toolbar toolbar-top no-shadow"},$jsx("div",{class:"toolbar-inner"},$jsx("div",{class:"left"}),$jsx("div",{class:"right"},$jsx("a",{class:"link sheet-close popover-close"},e.params.toolbarCloseText))))}renderColumn(e,t){const l=`picker-column ${e.textAlign?`picker-column-${e.textAlign}`:""} ${e.cssClass||""}`;let s,i;return e.divider?s=`\n <div class="${l} picker-column-divider">${e.content}</div>\n `:(i=e.values.map(((t,l)=>`\n <div class="picker-item" data-picker-value="${t}">\n <span>${e.displayValues?e.displayValues[l]:t}</span>\n </div>\n `)).join(""),s=`\n <div class="${l}">\n <div class="picker-items">${i}</div>\n </div>\n `),t?i.trim():s.trim()}renderInline(){const e=this,{rotateEffect:t,cssClass:l,toolbar:s}=e.params;return $jsx("div",{class:`picker picker-inline ${t?"picker-3d":""} ${l||""}`},s&&e.renderToolbar(),$jsx("div",{class:"picker-columns"},e.cols.map((t=>e.renderColumn(t))),$jsx("div",{class:"picker-center-highlight"})))}renderSheet(){const e=this,{rotateEffect:t,cssClass:l,toolbar:s}=e.params;return $jsx("div",{class:`sheet-modal picker picker-sheet ${t?"picker-3d":""} ${l||""}`},s&&e.renderToolbar(),$jsx("div",{class:"sheet-modal-inner picker-columns"},e.cols.map((t=>e.renderColumn(t))),$jsx("div",{class:"picker-center-highlight"})))}renderPopover(){const e=this,{rotateEffect:t,cssClass:l,toolbar:s}=e.params;return $jsx("div",{class:"popover picker-popover"},$jsx("div",{class:"popover-inner"},$jsx("div",{class:`picker ${t?"picker-3d":""} ${l||""}`},s&&e.renderToolbar(),$jsx("div",{class:"picker-columns"},e.cols.map((t=>e.renderColumn(t))),$jsx("div",{class:"picker-center-highlight"})))))}render(){const e=this;return e.params.render?e.params.render.call(e):e.inline?e.renderInline():e.isPopover()?e.renderPopover():e.renderSheet()}onOpen(){const e=this,{initialized:t,$el:l,app:s,$inputEl:i,inline:n,value:o,params:r}=e;e.opened=!0,e.closing=!1,e.opening=!0,e.attachResizeEvent(),l.find(".picker-column").each((l=>{let s=!0;(!t&&r.value||t&&o)&&(s=!1),e.initColumn(l,s)})),t?o&&e.setValue(o):o?e.setValue(o):r.value&&e.setValue(r.value),!n&&i&&i.length&&"md"===s.theme&&i.trigger("focus"),e.initialized=!0,l&&l.trigger("picker:open"),i&&i.trigger("picker:open"),e.emit("local::open pickerOpen",e)}onOpened(){const e=this;e.opening=!1,e.$el&&e.$el.trigger("picker:opened"),e.$inputEl&&e.$inputEl.trigger("picker:opened"),e.emit("local::opened pickerOpened",e)}onClose(){const e=this,t=e.app;if(e.opening=!1,e.closing=!0,e.detachResizeEvent(),e.cols.forEach((e=>{e.destroy&&e.destroy()})),e.$inputEl)if("md"===t.theme)e.$inputEl.trigger("blur");else{const l=e.$inputEl.attr("validate"),s=e.$inputEl.attr("required");l&&s&&t.input.validate(e.$inputEl)}e.$el&&e.$el.trigger("picker:close"),e.$inputEl&&e.$inputEl.trigger("picker:close"),e.emit("local::close pickerClose",e)}onClosed(){const e=this;e.opened=!1,e.closing=!1,e.inline||a((()=>{e.modal&&e.modal.el&&e.modal.destroy&&(e.params.routableModals||e.modal.destroy()),delete e.modal})),e.$el&&e.$el.trigger("picker:closed"),e.$inputEl&&e.$inputEl.trigger("picker:closed"),e.emit("local::closed pickerClosed",e)}open(){const e=this,{app:t,opened:s,inline:i,$inputEl:n,$scrollToEl:o,params:r}=e;if(s)return;if(0===e.cols.length&&r.cols.length&&r.cols.forEach((t=>{e.cols.push(t)})),i)return e.$el=l(e.render()),e.$el[0].f7Picker=e,e.$containerEl.append(e.$el),e.onOpen(),void e.onOpened();const a=e.isPopover(),c=a?"popover":"sheet",p={targetEl:n,scrollToEl:o,content:e.render(),backdrop:void 0!==r.backdrop?r.backdrop:a,on:{open(){const t=this;e.modal=t,e.$el=a?t.$el.find(".picker"):t.$el,e.$el[0].f7Picker=e,e.onOpen()},opened(){e.onOpened()},close(){e.onClose()},closed(){e.onClosed()}}};"sheet"===c&&(p.push=r.sheetPush,p.swipeToClose=r.sheetSwipeToClose),r.routableModals&&e.view?e.view.router.navigate({url:e.url,route:{path:e.url,[c]:p}}):(e.modal=t[c].create(p),e.modal.open())}close(){const e=this,{opened:t,inline:l}=e;if(t)return l?(e.onClose(),void e.onClosed()):void(e.params.routableModals&&e.view?e.view.router.back():e.modal.close())}init(){const e=this;if(e.initInput(),e.inline)return e.open(),void e.emit("local::init pickerInit",e);!e.initialized&&e.params.value&&e.setValue(e.params.value),e.$inputEl&&e.attachInputEvents(),e.params.closeByOutsideClick&&e.attachHtmlEvents(),e.emit("local::init pickerInit",e)}destroy(){const e=this;if(e.destroyed)return;const{$el:t}=e;e.emit("local::beforeDestroy pickerBeforeDestroy",e),t&&t.trigger("picker:beforedestroy"),e.close(),e.$inputEl&&e.detachInputEvents(),e.params.closeByOutsideClick&&e.detachHtmlEvents(),t&&t.length&&delete e.$el[0].f7Picker,c(e),e.destroyed=!0}}var u={name:"picker",static:{Picker:d},create(){const e=this;e.picker=o({defaultSelector:".picker",constructor:d,app:e,domProp:"f7Picker"}),e.picker.close=function(e){void 0===e&&(e=".picker");const t=l(e);if(0===t.length)return;const s=t[0].f7Picker;!s||s&&!s.opened||s.close()}},params:{picker:{rotateEffect:!1,freeMode:!1,cols:[],containerEl:null,openIn:"auto",sheetPush:!1,sheetSwipeToClose:void 0,backdrop:void 0,formatValue:null,inputEl:null,inputReadOnly:!0,closeByOutsideClick:!0,scrollToInput:!0,scrollToEl:void 0,toolbar:!0,toolbarCloseText:"Done",cssClass:null,routableModals:!1,view:null,url:"select/",renderToolbar:null,render:null}}};if(t){if(e.prototype.modules&&e.prototype.modules[u.name])return;e.use(u),e.instance&&(e.instance.useModuleParams(u,e.instance.params),e.instance.useModule(u))}return u}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -6,7 +6,11 @@ import Framework7Class from '../../shared/class.js';
6
6
  import $jsx from '../../shared/$jsx.js';
7
7
 
8
8
  class PieChart extends Framework7Class {
9
- constructor(app, params = {}) {
9
+ constructor(app, params) {
10
+ if (params === void 0) {
11
+ params = {};
12
+ }
13
+
10
14
  super(params, [app]);
11
15
  const self = this;
12
16
  const defaults = extend({}, app.params.pieChart); // Extend defaults with modules params
@@ -61,11 +65,12 @@ class PieChart extends Framework7Class {
61
65
  return [x, y];
62
66
  }
63
67
 
64
- datasets.forEach(({
65
- value,
66
- label,
67
- color
68
- }) => {
68
+ datasets.forEach(_ref => {
69
+ let {
70
+ value,
71
+ label,
72
+ color
73
+ } = _ref;
69
74
  const percentage = value / this.getSummValue();
70
75
  const [startX, startY] = getCoordinatesForPercentage(cumulativePercentage);
71
76
  cumulativePercentage += percentage;
@@ -175,7 +180,11 @@ class PieChart extends Framework7Class {
175
180
  })));
176
181
  }
177
182
 
178
- update(newParams = {}) {
183
+ update(newParams) {
184
+ if (newParams === void 0) {
185
+ newParams = {};
186
+ }
187
+
179
188
  const self = this;
180
189
  const {
181
190
  params
@@ -1 +1 @@
1
- (function framework7ComponentLoader(t,e){void 0===e&&(e=!0);var o=t.$,r=t.utils,s=(t.getDevice,t.getSupport,t.Class),a=(t.Modal,t.ConstructorMethods),i=(t.ModalMethods,r.extend),l=r.deleteProps;class n extends s{constructor(t,e={}){super(e,[t]);const r=this,s=i({},t.params.pieChart);r.useModulesParams(s),r.params=i(s,e);const{el:a}=r.params;if(!a)return r;const l=o(a);return 0===l.length?r:l[0].f7PieChart?l[0].f7PieChart:(i(r,{app:t,$el:l,el:l&&l[0],currentIndex:null,f7Tooltip:null}),l[0].f7PieChart=r,r.useModules(),r.showTooltip=r.showTooltip.bind(this),r.hideTooltip=r.hideTooltip.bind(this),r.init(),r)}getSummValue(){const{datasets:t}=this.params;let e=0;return t.map((t=>t.value||0)).forEach((t=>{e+=t})),e}getPaths(){const{datasets:t,size:e}=this.params,o=[];let r=0;function s(t){return[Math.cos(2*Math.PI*t)*(e/3),Math.sin(2*Math.PI*t)*(e/3)]}return t.forEach((({value:t,label:a,color:i})=>{const l=t/this.getSummValue(),[n,p]=s(r);r+=l;const[h,d]=s(r),c=[`M ${n} ${p}`,`A ${e/3} ${e/3} 0 ${l>.5?1:0} 1 ${h} ${d}`,"L 0 0"].join(" ");o.push({points:c,label:a,color:i})})),o}formatTooltipText(){const{datasets:t}=this.params,{currentIndex:e}=this;if(null===e)return"";const{value:o,label:r,color:s}=t[e],a=o/this.getSummValue()*100,i=t=>parseInt(t,10)===t?t:Math.round(100*t)/100;if(this.params.formatTooltip)return this.params.formatTooltip.call(this,{index:e,value:o,label:r,color:s,percentage:a});return`\n <div class="pie-chart-tooltip-label">\n <span class="pie-chart-tooltip-color" style="background-color: ${s};"></span> ${`${r?`${r}: `:""}${i(o)} (${i(a)}%)`}\n </div>\n `}setTooltip(){const t=this,{currentIndex:e,el:o,app:r,params:s}=t,{tooltip:a}=s;if((null!==e||t.f7Tooltip)&&a&&o)return null===e||t.f7Tooltip?void(t.f7Tooltip&&(null!==e?(t.f7Tooltip.setText(t.formatTooltipText()),t.f7Tooltip.setTargetEl(o.querySelector(`path[data-index="${e}"]`)),t.f7Tooltip.show()):t.f7Tooltip.hide())):(t.f7Tooltip=r.tooltip.create({trigger:"manual",containerEl:o,targetEl:o.querySelector(`path[data-index="${e}"]`),text:t.formatTooltipText(),cssClass:"pie-chart-tooltip"}),void t.f7Tooltip.show())}render(){const t=this.params.size,e=this.getPaths();return $jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,viewBox:`-${t/3} -${t/3} ${2*t/3} ${2*t/3}`,style:"transform: rotate(-90deg)"},e.map(((t,e)=>$jsx("path",{d:t.points,fill:t.color,"data-index":e}))))}update(t={}){const e=this,{params:r}=e;if(Object.keys(t).forEach((e=>{void 0!==t[e]&&(r[e]=t[e])})),0===e.$svgEl.length)return e;e.$svgEl.remove(),delete e.$svgEl.f7PieChart;const s=o(e.render()).eq(0);return s.f7PieChart=e,i(e,{$svgEl:s,svgEl:s&&s[0]}),e.$el.append(s),e}setCurrentIndex(t){const e=this;if(t===e.currentIndex)return;const{datasets:o}=e.params;e.currentIndex=t,e.$el.trigger("piechart:select",{index:t,dataset:o[t]}),e.emit("local::select pieChartSelect",e,t,o[t])}showTooltip(t){const e=parseInt(t.target.getAttribute("data-index"),10);this.setCurrentIndex(e),this.$svgEl.find("path").removeClass("pie-chart-hidden").forEach(((t,e)=>{e!==this.currentIndex&&o(t).addClass("pie-chart-hidden")})),this.setTooltip()}hideTooltip(){this.setCurrentIndex(null),this.$svgEl.find("path").removeClass("pie-chart-hidden"),this.setTooltip()}init(){const t=this,e=o(t.render()).eq(0);return e.f7PieChart=t,i(t,{$svgEl:e,svgEl:e&&e[0]}),t.$el.append(e),t.$el.on("click mouseenter","path",t.showTooltip,!0),t.$el.on("mouseleave","path",t.hideTooltip,!0),t}destroy(){const t=this;t.$el&&!t.destroyed&&(t.$el.trigger("piechart:beforedestroy"),t.emit("local::beforeDestroy pieChartBeforeDestroy",t),t.$el.off("click mouseenter","path",t.showTooltip,!0),t.$el.off("mouseleave","path",t.hideTooltip,!0),t.$svgEl.remove(),t.f7Tooltip&&t.f7Tooltip.destroy&&t.f7Tooltip.destroy(),delete t.$el[0].f7PieChart,l(t),t.destroyed=!0)}}var p={name:"pieChart",params:{pieChart:{el:null,datasets:[],size:320,tooltip:!1,formatTooltip:null}},create(){const t=this;t.pieChart=a({defaultSelector:".pie-chart",constructor:n,app:t,domProp:"f7PieChart"}),t.pieChart.update=function(e,r){if(0===o(e).length)return;const s=t.pieChart.get(e);return s?(s.update(r),s):void 0}}};if(e){if(t.prototype.modules&&t.prototype.modules[p.name])return;t.use(p),t.instance&&(t.instance.useModuleParams(p,t.instance.params),t.instance.useModule(p))}return p}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(t,e){void 0===e&&(e=!0);var o=t.$,r=t.utils,s=(t.getDevice,t.getSupport,t.Class),a=(t.Modal,t.ConstructorMethods),i=(t.ModalMethods,r.extend),l=r.deleteProps;class n extends s{constructor(t,e){void 0===e&&(e={}),super(e,[t]);const r=this,s=i({},t.params.pieChart);r.useModulesParams(s),r.params=i(s,e);const{el:a}=r.params;if(!a)return r;const l=o(a);return 0===l.length?r:l[0].f7PieChart?l[0].f7PieChart:(i(r,{app:t,$el:l,el:l&&l[0],currentIndex:null,f7Tooltip:null}),l[0].f7PieChart=r,r.useModules(),r.showTooltip=r.showTooltip.bind(this),r.hideTooltip=r.hideTooltip.bind(this),r.init(),r)}getSummValue(){const{datasets:t}=this.params;let e=0;return t.map((t=>t.value||0)).forEach((t=>{e+=t})),e}getPaths(){const{datasets:t,size:e}=this.params,o=[];let r=0;function s(t){return[Math.cos(2*Math.PI*t)*(e/3),Math.sin(2*Math.PI*t)*(e/3)]}return t.forEach((t=>{let{value:a,label:i,color:l}=t;const n=a/this.getSummValue(),[p,h]=s(r);r+=n;const[d,c]=s(r),u=[`M ${p} ${h}`,`A ${e/3} ${e/3} 0 ${n>.5?1:0} 1 ${d} ${c}`,"L 0 0"].join(" ");o.push({points:u,label:i,color:l})})),o}formatTooltipText(){const{datasets:t}=this.params,{currentIndex:e}=this;if(null===e)return"";const{value:o,label:r,color:s}=t[e],a=o/this.getSummValue()*100,i=t=>parseInt(t,10)===t?t:Math.round(100*t)/100;if(this.params.formatTooltip)return this.params.formatTooltip.call(this,{index:e,value:o,label:r,color:s,percentage:a});return`\n <div class="pie-chart-tooltip-label">\n <span class="pie-chart-tooltip-color" style="background-color: ${s};"></span> ${`${r?`${r}: `:""}${i(o)} (${i(a)}%)`}\n </div>\n `}setTooltip(){const t=this,{currentIndex:e,el:o,app:r,params:s}=t,{tooltip:a}=s;if((null!==e||t.f7Tooltip)&&a&&o)return null===e||t.f7Tooltip?void(t.f7Tooltip&&(null!==e?(t.f7Tooltip.setText(t.formatTooltipText()),t.f7Tooltip.setTargetEl(o.querySelector(`path[data-index="${e}"]`)),t.f7Tooltip.show()):t.f7Tooltip.hide())):(t.f7Tooltip=r.tooltip.create({trigger:"manual",containerEl:o,targetEl:o.querySelector(`path[data-index="${e}"]`),text:t.formatTooltipText(),cssClass:"pie-chart-tooltip"}),void t.f7Tooltip.show())}render(){const t=this.params.size,e=this.getPaths();return $jsx("svg",{xmlns:"http://www.w3.org/2000/svg",width:t,viewBox:`-${t/3} -${t/3} ${2*t/3} ${2*t/3}`,style:"transform: rotate(-90deg)"},e.map(((t,e)=>$jsx("path",{d:t.points,fill:t.color,"data-index":e}))))}update(t){void 0===t&&(t={});const e=this,{params:r}=e;if(Object.keys(t).forEach((e=>{void 0!==t[e]&&(r[e]=t[e])})),0===e.$svgEl.length)return e;e.$svgEl.remove(),delete e.$svgEl.f7PieChart;const s=o(e.render()).eq(0);return s.f7PieChart=e,i(e,{$svgEl:s,svgEl:s&&s[0]}),e.$el.append(s),e}setCurrentIndex(t){const e=this;if(t===e.currentIndex)return;const{datasets:o}=e.params;e.currentIndex=t,e.$el.trigger("piechart:select",{index:t,dataset:o[t]}),e.emit("local::select pieChartSelect",e,t,o[t])}showTooltip(t){const e=parseInt(t.target.getAttribute("data-index"),10);this.setCurrentIndex(e),this.$svgEl.find("path").removeClass("pie-chart-hidden").forEach(((t,e)=>{e!==this.currentIndex&&o(t).addClass("pie-chart-hidden")})),this.setTooltip()}hideTooltip(){this.setCurrentIndex(null),this.$svgEl.find("path").removeClass("pie-chart-hidden"),this.setTooltip()}init(){const t=this,e=o(t.render()).eq(0);return e.f7PieChart=t,i(t,{$svgEl:e,svgEl:e&&e[0]}),t.$el.append(e),t.$el.on("click mouseenter","path",t.showTooltip,!0),t.$el.on("mouseleave","path",t.hideTooltip,!0),t}destroy(){const t=this;t.$el&&!t.destroyed&&(t.$el.trigger("piechart:beforedestroy"),t.emit("local::beforeDestroy pieChartBeforeDestroy",t),t.$el.off("click mouseenter","path",t.showTooltip,!0),t.$el.off("mouseleave","path",t.hideTooltip,!0),t.$svgEl.remove(),t.f7Tooltip&&t.f7Tooltip.destroy&&t.f7Tooltip.destroy(),delete t.$el[0].f7PieChart,l(t),t.destroyed=!0)}}var p={name:"pieChart",params:{pieChart:{el:null,datasets:[],size:320,tooltip:!1,formatTooltip:null}},create(){const t=this;t.pieChart=a({defaultSelector:".pie-chart",constructor:n,app:t,domProp:"f7PieChart"}),t.pieChart.update=function(e,r){if(0===o(e).length)return;const s=t.pieChart.get(e);return s?(s.update(r),s):void 0}}};if(e){if(t.prototype.modules&&t.prototype.modules[p.name])return;t.use(p),t.instance&&(t.instance.useModuleParams(p,t.instance.params),t.instance.useModule(p))}return p}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -82,7 +82,11 @@ class Popover extends Modal {
82
82
  type: 'popover',
83
83
  forceBackdropUnique,
84
84
 
85
- open(...args) {
85
+ open() {
86
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
87
+ args[_key] = arguments[_key];
88
+ }
89
+
86
90
  let [targetEl, animate] = args;
87
91
  if (typeof args[0] === 'boolean') [animate, targetEl] = args;
88
92
 
@@ -65,11 +65,19 @@ export default {
65
65
  },
66
66
 
67
67
  clicks: {
68
- '.popover-open': function openPopover($clickedEl, data = {}) {
68
+ '.popover-open': function openPopover($clickedEl, data) {
69
+ if (data === void 0) {
70
+ data = {};
71
+ }
72
+
69
73
  const app = this;
70
74
  app.popover.open(data.popover, $clickedEl, data.animate);
71
75
  },
72
- '.popover-close': function closePopover($clickedEl, data = {}) {
76
+ '.popover-close': function closePopover($clickedEl, data) {
77
+ if (data === void 0) {
78
+ data = {};
79
+ }
80
+
73
81
  const app = this;
74
82
  app.popover.close(data.popover, data.animate, $clickedEl);
75
83
  }
@@ -1 +1 @@
1
- (function framework7ComponentLoader(e,o){void 0===o&&(o=!0);var t=e.$,a=e.utils,p=e.getDevice,r=(e.getSupport,e.Class,e.Modal),s=(e.ConstructorMethods,e.ModalMethods),l=a.extend;class n extends r{constructor(e,o){const a=l({on:{}},e.params.popover,o);super(e,a);const r=this,s=p(),n=getWindow(),i=getDocument();let d;if(r.params=a,d=r.params.el?t(r.params.el).eq(0):t(r.params.content).filter((e=>1===e.nodeType)).eq(0),d&&d.length>0&&d[0].f7Modal)return d[0].f7Modal;const c=t(r.params.targetEl).eq(0);if(0===d.length)return r.destroy();let m;const h=r.params.backdrop&&e.$el.find(".popover.modal-in").filter((e=>e!==d[0])).length>0;let f;r.params.backdrop&&r.params.backdropEl?m=t(r.params.backdropEl):r.params.backdrop&&(r.params.backdropUnique||h?(m=t('<div class="popover-backdrop popover-backdrop-unique"></div>'),m[0].f7PopoverRef=r,r.$containerEl.append(m)):m=r.$containerEl.children(".popover-backdrop"),0===m.length&&(m=t('<div class="popover-backdrop"></div>'),r.$containerEl.append(m))),0===d.find(".popover-angle").length?(f=t('<div class="popover-angle"></div>'),d.prepend(f)):f=d.find(".popover-angle");const v=r.open;function g(){r.resize()}l(r,{app:e,$el:d,el:d[0],$targetEl:c,targetEl:c[0],$angleEl:f,angleEl:f[0],$backdropEl:m,backdropEl:m&&m[0],type:"popover",forceBackdropUnique:h,open(...e){let[o,a]=e;return"boolean"==typeof e[0]&&([a,o]=e),o&&(r.$targetEl=t(o),r.targetEl=r.$targetEl[0]),v.call(r,a)}}),r.on("popoverOpen",(()=>{r.resize(),e.on("resize",g),t(n).on("keyboardDidShow keyboardDidHide",g),r.on("popoverClose popoverBeforeDestroy",(()=>{e.off("resize",g),t(n).off("keyboardDidShow keyboardDidHide",g)}))}));let u=null;function k(e){u=e.target}function b(e){const o=e.target,a=t(o);if(!(!s.desktop&&s.cordova&&(n.Keyboard&&n.Keyboard.isVisible||n.cordova.plugins&&n.cordova.plugins.Keyboard&&n.cordova.plugins.Keyboard.isVisible))&&0===a.closest(r.el).length)if(r.params.closeByBackdropClick&&r.params.backdrop&&r.backdropEl&&r.backdropEl===o&&u===o)r.close();else if(r.params.closeByOutsideClick&&u===o){const e=a.hasClass("popover-backdrop-unique")&&o.f7PopoverRef!==r||a.hasClass("popover-backdrop")&&o!==r.backdropEl,t=o.closest(".popover")&&o.closest(".popover")!==r.$el[0];e||t||r.close()}}function y(e){27===e.keyCode&&r.params.closeOnEscape&&r.close()}return r.params.closeOnEscape&&(r.on("popoverOpen",(()=>{t(i).on("keydown",y)})),r.on("popoverClose",(()=>{t(i).off("keydown",y)}))),r.on("popoverOpened",(()=>{(r.params.closeByOutsideClick||r.params.closeByBackdropClick)&&(e.on("touchstart",k),e.on("click",b))})),r.on("popoverClose",(()=>{(r.params.closeByOutsideClick||r.params.closeByBackdropClick)&&(e.off("touchstart",k),e.off("click",b))})),d[0].f7Modal=r,r}resize(){const e=this,{app:o,$el:a,$targetEl:p,$angleEl:r}=e,{targetX:s,targetY:l}=e.params;a.css({left:"",top:""});const[n,i]=[a.width(),a.height()];let d,c,m,h,f,v,g=0;"ios"===o.theme||"aurora"===o.theme?(r.removeClass("on-left on-right on-top on-bottom").css({left:"",top:""}),g=r.width()/2):a.removeClass("popover-on-left popover-on-right popover-on-top popover-on-bottom popover-on-middle").css({left:"",top:""});let u=parseInt(t("html").css("--f7-safe-area-top"),10),k=parseInt(t("html").css("--f7-safe-area-left"),10),b=parseInt(t("html").css("--f7-safe-area-right"),10);if(Number.isNaN(u)&&(u=0),Number.isNaN(k)&&(k=0),Number.isNaN(b)&&(b=0),p&&p.length>0){m=p.outerWidth(),h=p.outerHeight();const e=p.offset();f=e.left-o.left,v=e.top-o.top;const t=p.parents(".page");t.length>0&&(v-=t[0].scrollTop)}else void 0!==s&&"undefined"!==l&&(f=s,v=l,m=e.params.targetWidth||0,h=e.params.targetHeight||0);let[y,E,C]=[0,0,0],M="md"===o.theme?"bottom":"top";if("md"===o.theme){let e;i<o.height-v-h?(M="bottom",E=v+h):i<v-u?(E=v-i,M="top"):(M="middle",E=h/2+v-i/2),E=Math.max(8,Math.min(E,o.height-i-8)),f<o.width/2?(e="right",y="middle"===M?f+m:f):(e="left",y="middle"===M?f-n:f+m-n),y=Math.max(8,Math.min(y,o.width-n-8-b),k),a.addClass(`popover-on-${M} popover-on-${e}`)}else i+g<v-u?E=v-i-g:i+g<o.height-v-h?(M="bottom",E=v+h+g):(M="middle",E=h/2+v-i/2,C=E,E=Math.max(5,Math.min(E,o.height-i-5)),C-=E),"top"===M||"bottom"===M?(y=m/2+f-n/2,C=y,y=Math.max(5,Math.min(y,o.width-n-5)),k&&(y=Math.max(y,k)),b&&y+n>o.width-5-b&&(y=o.width-5-b-n),"top"===M&&r.addClass("on-bottom"),"bottom"===M&&r.addClass("on-top"),C-=y,d=n/2-g+C,d=Math.max(Math.min(d,n-2*g-13),13),r.css({left:`${d}px`})):"middle"===M&&(y=f-n-g,r.addClass("on-right"),(y<5||y+n+b>o.width||y<k)&&(y<5&&(y=f+m+g),y+n+b>o.width&&(y=o.width-n-5-b),y<k&&(y=k),r.removeClass("on-right").addClass("on-left")),c=i/2-g+C,c=Math.max(Math.min(c,i-2*g-13),13),r.css({top:`${c}px`}));a.css({top:`${E}px`,left:`${y}px`})}}var i={name:"popover",params:{popover:{backdrop:!0,backdropEl:void 0,backdropUnique:!1,closeByBackdropClick:!0,closeByOutsideClick:!0,closeOnEscape:!1,containerEl:null}},static:{Popover:n},create(){const e=this;e.popover=l(s({app:e,constructor:n,defaultSelector:".popover.modal-in"}),{open(o,a,p){let r=t(o);if(r.length>1){const e=t(a).parents(".page");e.length&&r.each((o=>{const a=t(o);a.parents(e)[0]===e[0]&&(r=a)}))}r.length>1&&(r=r.eq(r.length-1));let s=r[0].f7Modal;const l=r.dataset();return s||(s=new n(e,Object.assign({el:r,targetEl:a},l))),s.open(a,p)}})},clicks:{".popover-open":function(e,o={}){this.popover.open(o.popover,e,o.animate)},".popover-close":function(e,o={}){this.popover.close(o.popover,o.animate,e)}}};if(o){if(e.prototype.modules&&e.prototype.modules[i.name])return;e.use(i),e.instance&&(e.instance.useModuleParams(i,e.instance.params),e.instance.useModule(i))}return i}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(e,o){void 0===o&&(o=!0);var t=e.$,a=e.utils,r=e.getDevice,p=(e.getSupport,e.Class,e.Modal),s=(e.ConstructorMethods,e.ModalMethods),l=a.extend;class n extends p{constructor(e,o){const a=l({on:{}},e.params.popover,o);super(e,a);const p=this,s=r(),n=getWindow(),i=getDocument();let d;if(p.params=a,d=p.params.el?t(p.params.el).eq(0):t(p.params.content).filter((e=>1===e.nodeType)).eq(0),d&&d.length>0&&d[0].f7Modal)return d[0].f7Modal;const c=t(p.params.targetEl).eq(0);if(0===d.length)return p.destroy();let m;const h=p.params.backdrop&&e.$el.find(".popover.modal-in").filter((e=>e!==d[0])).length>0;let f;p.params.backdrop&&p.params.backdropEl?m=t(p.params.backdropEl):p.params.backdrop&&(p.params.backdropUnique||h?(m=t('<div class="popover-backdrop popover-backdrop-unique"></div>'),m[0].f7PopoverRef=p,p.$containerEl.append(m)):m=p.$containerEl.children(".popover-backdrop"),0===m.length&&(m=t('<div class="popover-backdrop"></div>'),p.$containerEl.append(m))),0===d.find(".popover-angle").length?(f=t('<div class="popover-angle"></div>'),d.prepend(f)):f=d.find(".popover-angle");const v=p.open;function g(){p.resize()}l(p,{app:e,$el:d,el:d[0],$targetEl:c,targetEl:c[0],$angleEl:f,angleEl:f[0],$backdropEl:m,backdropEl:m&&m[0],type:"popover",forceBackdropUnique:h,open(){for(var e=arguments.length,o=new Array(e),a=0;a<e;a++)o[a]=arguments[a];let[r,s]=o;return"boolean"==typeof o[0]&&([s,r]=o),r&&(p.$targetEl=t(r),p.targetEl=p.$targetEl[0]),v.call(p,s)}}),p.on("popoverOpen",(()=>{p.resize(),e.on("resize",g),t(n).on("keyboardDidShow keyboardDidHide",g),p.on("popoverClose popoverBeforeDestroy",(()=>{e.off("resize",g),t(n).off("keyboardDidShow keyboardDidHide",g)}))}));let u=null;function k(e){u=e.target}function b(e){const o=e.target,a=t(o);if(!(!s.desktop&&s.cordova&&(n.Keyboard&&n.Keyboard.isVisible||n.cordova.plugins&&n.cordova.plugins.Keyboard&&n.cordova.plugins.Keyboard.isVisible))&&0===a.closest(p.el).length)if(p.params.closeByBackdropClick&&p.params.backdrop&&p.backdropEl&&p.backdropEl===o&&u===o)p.close();else if(p.params.closeByOutsideClick&&u===o){const e=a.hasClass("popover-backdrop-unique")&&o.f7PopoverRef!==p||a.hasClass("popover-backdrop")&&o!==p.backdropEl,t=o.closest(".popover")&&o.closest(".popover")!==p.$el[0];e||t||p.close()}}function y(e){27===e.keyCode&&p.params.closeOnEscape&&p.close()}return p.params.closeOnEscape&&(p.on("popoverOpen",(()=>{t(i).on("keydown",y)})),p.on("popoverClose",(()=>{t(i).off("keydown",y)}))),p.on("popoverOpened",(()=>{(p.params.closeByOutsideClick||p.params.closeByBackdropClick)&&(e.on("touchstart",k),e.on("click",b))})),p.on("popoverClose",(()=>{(p.params.closeByOutsideClick||p.params.closeByBackdropClick)&&(e.off("touchstart",k),e.off("click",b))})),d[0].f7Modal=p,p}resize(){const e=this,{app:o,$el:a,$targetEl:r,$angleEl:p}=e,{targetX:s,targetY:l}=e.params;a.css({left:"",top:""});const[n,i]=[a.width(),a.height()];let d,c,m,h,f,v,g=0;"ios"===o.theme||"aurora"===o.theme?(p.removeClass("on-left on-right on-top on-bottom").css({left:"",top:""}),g=p.width()/2):a.removeClass("popover-on-left popover-on-right popover-on-top popover-on-bottom popover-on-middle").css({left:"",top:""});let u=parseInt(t("html").css("--f7-safe-area-top"),10),k=parseInt(t("html").css("--f7-safe-area-left"),10),b=parseInt(t("html").css("--f7-safe-area-right"),10);if(Number.isNaN(u)&&(u=0),Number.isNaN(k)&&(k=0),Number.isNaN(b)&&(b=0),r&&r.length>0){m=r.outerWidth(),h=r.outerHeight();const e=r.offset();f=e.left-o.left,v=e.top-o.top;const t=r.parents(".page");t.length>0&&(v-=t[0].scrollTop)}else void 0!==s&&"undefined"!==l&&(f=s,v=l,m=e.params.targetWidth||0,h=e.params.targetHeight||0);let[y,E,C]=[0,0,0],M="md"===o.theme?"bottom":"top";if("md"===o.theme){let e;i<o.height-v-h?(M="bottom",E=v+h):i<v-u?(E=v-i,M="top"):(M="middle",E=h/2+v-i/2),E=Math.max(8,Math.min(E,o.height-i-8)),f<o.width/2?(e="right",y="middle"===M?f+m:f):(e="left",y="middle"===M?f-n:f+m-n),y=Math.max(8,Math.min(y,o.width-n-8-b),k),a.addClass(`popover-on-${M} popover-on-${e}`)}else i+g<v-u?E=v-i-g:i+g<o.height-v-h?(M="bottom",E=v+h+g):(M="middle",E=h/2+v-i/2,C=E,E=Math.max(5,Math.min(E,o.height-i-5)),C-=E),"top"===M||"bottom"===M?(y=m/2+f-n/2,C=y,y=Math.max(5,Math.min(y,o.width-n-5)),k&&(y=Math.max(y,k)),b&&y+n>o.width-5-b&&(y=o.width-5-b-n),"top"===M&&p.addClass("on-bottom"),"bottom"===M&&p.addClass("on-top"),C-=y,d=n/2-g+C,d=Math.max(Math.min(d,n-2*g-13),13),p.css({left:`${d}px`})):"middle"===M&&(y=f-n-g,p.addClass("on-right"),(y<5||y+n+b>o.width||y<k)&&(y<5&&(y=f+m+g),y+n+b>o.width&&(y=o.width-n-5-b),y<k&&(y=k),p.removeClass("on-right").addClass("on-left")),c=i/2-g+C,c=Math.max(Math.min(c,i-2*g-13),13),p.css({top:`${c}px`}));a.css({top:`${E}px`,left:`${y}px`})}}var i={name:"popover",params:{popover:{backdrop:!0,backdropEl:void 0,backdropUnique:!1,closeByBackdropClick:!0,closeByOutsideClick:!0,closeOnEscape:!1,containerEl:null}},static:{Popover:n},create(){const e=this;e.popover=l(s({app:e,constructor:n,defaultSelector:".popover.modal-in"}),{open(o,a,r){let p=t(o);if(p.length>1){const e=t(a).parents(".page");e.length&&p.each((o=>{const a=t(o);a.parents(e)[0]===e[0]&&(p=a)}))}p.length>1&&(p=p.eq(p.length-1));let s=p[0].f7Modal;const l=p.dataset();return s||(s=new n(e,Object.assign({el:p,targetEl:a},l))),s.open(a,r)}})},clicks:{".popover-open":function(e,o){void 0===o&&(o={});this.popover.open(o.popover,e,o.animate)},".popover-close":function(e,o){void 0===o&&(o={});this.popover.close(o.popover,o.animate,e)}}};if(o){if(e.prototype.modules&&e.prototype.modules[i.name])return;e.use(i),e.instance&&(e.instance.useModuleParams(i,e.instance.params),e.instance.useModule(i))}return i}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -30,11 +30,19 @@ export default {
30
30
  },
31
31
 
32
32
  clicks: {
33
- '.popup-open': function openPopup($clickedEl, data = {}) {
33
+ '.popup-open': function openPopup($clickedEl, data) {
34
+ if (data === void 0) {
35
+ data = {};
36
+ }
37
+
34
38
  const app = this;
35
39
  app.popup.open(data.popup, data.animate, $clickedEl);
36
40
  },
37
- '.popup-close': function closePopup($clickedEl, data = {}) {
41
+ '.popup-close': function closePopup($clickedEl, data) {
42
+ if (data === void 0) {
43
+ data = {};
44
+ }
45
+
38
46
  const app = this;
39
47
  app.popup.close(data.popup, data.animate, $clickedEl);
40
48
  }
@@ -1 +1 @@
1
- (function framework7ComponentLoader(p,o){void 0===o&&(o=!0);var e=p.$,s=p.utils,t=p.getDevice,a=p.getSupport,r=(p.Class,p.Modal),l=(p.ConstructorMethods,p.ModalMethods),n=s.extend,i=s.now,c=s.nextTick;class u extends r{constructor(p,o){const s=n({on:{}},p.params.popup,o);super(p,s);const r=this,l=getWindow(),u=getDocument(),d=a(),m=t();let h,f,g,v;if(r.params=s,h=r.params.el?e(r.params.el).eq(0):e(r.params.content).filter((p=>1===p.nodeType)).eq(0),h&&h.length>0&&h[0].f7Modal)return h[0].f7Modal;if(0===h.length)return r.destroy();function y(p){const o=p.target,s=e(o);if(!(!m.desktop&&m.cordova&&(l.Keyboard&&l.Keyboard.isVisible||l.cordova.plugins&&l.cordova.plugins.Keyboard&&l.cordova.plugins.Keyboard.isVisible))&&0===s.closest(r.el).length&&r.params&&r.params.closeByBackdropClick&&r.params.backdrop&&r.backdropEl&&r.backdropEl===o){let p=!0;r.$el.nextAll(".popup.modal-in").each((o=>{const e=o.f7Modal;e&&e.params.closeByBackdropClick&&e.params.backdrop&&e.backdropEl===r.backdropEl&&(p=!1)})),p&&r.close()}}function b(p){27===p.keyCode&&r.params.closeOnEscape&&r.close()}function w(o){return(p.height-2*o)/p.height}r.params.backdrop&&r.params.backdropEl?f=e(r.params.backdropEl):r.params.backdrop&&(r.params.backdropUnique?(f=e('<div class="popup-backdrop popup-backdrop-unique"></div>'),r.$containerEl.append(f)):f=r.$containerEl.children(".popup-backdrop"),0===f.length&&(f=e('<div class="popup-backdrop"></div>'),r.$containerEl.append(f))),n(r,{app:p,push:h.hasClass("popup-push")||r.params.push,$el:h,el:h[0],$backdropEl:f,backdropEl:f&&f[0],type:"popup",$htmlEl:e("html")}),r.params.push&&h.addClass("popup-push");let k,C,E,$,M,T,x,B,P,S,q,H=!0,A=!1,D=!1;function K(p){!A&&H&&r.params.swipeToClose&&(r.params.swipeHandler&&0===e(p.target).closest(r.params.swipeHandler).length||(A=!0,D=!1,k={x:"touchstart"===p.type?p.targetTouches[0].pageX:p.pageX,y:"touchstart"===p.type?p.targetTouches[0].pageY:p.pageY},$=i(),E=void 0,r.params.swipeHandler||"touchstart"!==p.type||(T=e(p.target).closest(".page-content")[0])))}function O(o){if(!A)return;if(C={x:"touchmove"===o.type?o.targetTouches[0].pageX:o.pageX,y:"touchmove"===o.type?o.targetTouches[0].pageY:o.pageY},void 0===E&&(E=!!(E||Math.abs(C.x-k.x)>Math.abs(C.y-k.y))),E)return A=!1,void(D=!1);M=k.y-C.y,v&&g&&M>0&&(M=0);const e=M<0?"to-bottom":"to-top";if(h.transition(0),"string"==typeof r.params.swipeToClose&&e!==r.params.swipeToClose)return h.transform(""),void h.transition("");if(D)r.emit("local::swipeMove popupSwipeMove",r),r.$el.trigger("popup:swipemove");else{if(v&&g&&(S=h[0].offsetHeight,q=h.prevAll(".popup.modal-in").eq(0),0===q.length&&(q=p.$el.children(".view, .views"))),T&&(x=T.scrollTop,P=T.scrollHeight,B=T.offsetHeight,!(P===B||"to-bottom"===e&&0===x||"to-top"===e&&x===P-B)))return h.transform(""),h.transition(""),A=!1,void(D=!1);D=!0,r.emit("local::swipeStart popupSwipeStart",r),r.$el.trigger("popup:swipestart")}if(o.preventDefault(),v&&g){const p=1-Math.abs(M/S),o=1-(1-w(g))*p;q.hasClass("popup")?q.hasClass("popup-push")?q.transition(0).forEach((e=>{e.style.setProperty("transform",`translate3d(0, calc(-1 * ${p} * (var(--f7-popup-push-offset) + 10px)) , 0px) scale(${o})`,"important")})):q.transition(0).forEach((p=>{p.style.setProperty("transform",`translate3d(0, 0px , 0px) scale(${o})`,"important")})):q.transition(0).forEach((p=>{p.style.setProperty("transform",`translate3d(0,0,0) scale(${o})`,"important")}))}h.transition(0).transform(`translate3d(0,${-M}px,0)`)}function X(){if(A=!1,!D)return;r.emit("local::swipeEnd popupSwipeEnd",r),r.$el.trigger("popup:swipeend"),D=!1,H=!1,h.transition(""),v&&g&&q.transition("").transform("");const p=M<=0?"to-bottom":"to-top";if("string"==typeof r.params.swipeToClose&&p!==r.params.swipeToClose)return h.transform(""),void(H=!0);const o=Math.abs(M),e=(new Date).getTime()-$;e<300&&o>20||e>=300&&o>100?c((()=>{"to-bottom"===p?h.addClass("swipe-close-to-bottom"):h.addClass("swipe-close-to-top"),h.transform(""),r.emit("local::swipeclose popupSwipeClose",r),r.$el.trigger("popup:swipeclose"),r.close(),H=!0})):(H=!0,h.transform(""))}const Y=!!d.passiveListener&&{passive:!0};let z;r.params.swipeToClose&&(h.on(p.touchEvents.start,K,Y),p.on("touchmove",O),p.on("touchend:passive",X),r.once("popupDestroy",(()=>{h.off(p.touchEvents.start,K,Y),p.off("touchmove",O),p.off("touchend:passive",X)})));const N=()=>{const o=v;r.push&&(v=r.push&&(p.width<630||p.height<630||h.hasClass("popup-tablet-fullscreen"))),v&&!o?L():v&&o?r.$htmlEl[0].style.setProperty("--f7-popup-push-scale",w(g)):!v&&o&&(r.$htmlEl.removeClass("with-modal-popup-push"),r.$htmlEl[0].style.removeProperty("--f7-popup-push-scale"))},L=()=>{p.off("resize",N),r.push&&(v=r.push&&(p.width<630||p.height<630||h.hasClass("popup-tablet-fullscreen"))),v&&(g=parseInt(h.css("--f7-popup-push-offset"),10),Number.isNaN(g)&&(g=0),g&&(h.addClass("popup-push"),r.$htmlEl.addClass("with-modal-popup-push"),r.$htmlEl[0].style.setProperty("--f7-popup-push-scale",w(g)))),p.on("resize",N)};return r.on("open",(()=>{z=!1,r.params.closeOnEscape&&e(u).on("keydown",b),h.prevAll(".popup.modal-in").addClass("popup-behind"),L()})),r.on("opened",(()=>{h.removeClass("swipe-close-to-bottom swipe-close-to-top"),r.params.closeByBackdropClick&&p.on("click",y)})),r.on("close",(()=>{z=r.$el.prevAll(".popup-push.modal-in").length>0,r.params.closeOnEscape&&e(u).off("keydown",b),r.params.closeByBackdropClick&&p.off("click",y),h.prevAll(".popup.modal-in").eq(0).removeClass("popup-behind"),v&&g&&!z&&(r.$htmlEl.removeClass("with-modal-popup-push"),r.$htmlEl.addClass("with-modal-popup-push-closing")),p.off("resize",N)})),r.on("closed",(()=>{h.removeClass("popup-behind"),v&&g&&!z&&(r.$htmlEl.removeClass("with-modal-popup-push-closing"),r.$htmlEl[0].style.removeProperty("--f7-popup-push-scale"))})),h[0].f7Modal=r,r}}var d={name:"popup",params:{popup:{backdrop:!0,backdropEl:void 0,backdropUnique:!1,closeByBackdropClick:!0,closeOnEscape:!1,swipeToClose:!1,swipeHandler:null,push:!1,containerEl:null}},static:{Popup:u},create(){this.popup=l({app:this,constructor:u,defaultSelector:".popup.modal-in",parentSelector:".popup"})},clicks:{".popup-open":function(p,o={}){this.popup.open(o.popup,o.animate,p)},".popup-close":function(p,o={}){this.popup.close(o.popup,o.animate,p)}}};if(o){if(p.prototype.modules&&p.prototype.modules[d.name])return;p.use(d),p.instance&&(p.instance.useModuleParams(d,p.instance.params),p.instance.useModule(d))}return d}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(p,o){void 0===o&&(o=!0);var e=p.$,s=p.utils,t=p.getDevice,a=p.getSupport,r=(p.Class,p.Modal),l=(p.ConstructorMethods,p.ModalMethods),n=s.extend,i=s.now,c=s.nextTick;class u extends r{constructor(p,o){const s=n({on:{}},p.params.popup,o);super(p,s);const r=this,l=getWindow(),u=getDocument(),d=a(),m=t();let h,f,g,v;if(r.params=s,h=r.params.el?e(r.params.el).eq(0):e(r.params.content).filter((p=>1===p.nodeType)).eq(0),h&&h.length>0&&h[0].f7Modal)return h[0].f7Modal;if(0===h.length)return r.destroy();function y(p){const o=p.target,s=e(o);if(!(!m.desktop&&m.cordova&&(l.Keyboard&&l.Keyboard.isVisible||l.cordova.plugins&&l.cordova.plugins.Keyboard&&l.cordova.plugins.Keyboard.isVisible))&&0===s.closest(r.el).length&&r.params&&r.params.closeByBackdropClick&&r.params.backdrop&&r.backdropEl&&r.backdropEl===o){let p=!0;r.$el.nextAll(".popup.modal-in").each((o=>{const e=o.f7Modal;e&&e.params.closeByBackdropClick&&e.params.backdrop&&e.backdropEl===r.backdropEl&&(p=!1)})),p&&r.close()}}function b(p){27===p.keyCode&&r.params.closeOnEscape&&r.close()}function w(o){return(p.height-2*o)/p.height}r.params.backdrop&&r.params.backdropEl?f=e(r.params.backdropEl):r.params.backdrop&&(r.params.backdropUnique?(f=e('<div class="popup-backdrop popup-backdrop-unique"></div>'),r.$containerEl.append(f)):f=r.$containerEl.children(".popup-backdrop"),0===f.length&&(f=e('<div class="popup-backdrop"></div>'),r.$containerEl.append(f))),n(r,{app:p,push:h.hasClass("popup-push")||r.params.push,$el:h,el:h[0],$backdropEl:f,backdropEl:f&&f[0],type:"popup",$htmlEl:e("html")}),r.params.push&&h.addClass("popup-push");let k,C,E,$,M,T,x,B,P,S,q,H=!0,A=!1,D=!1;function K(p){!A&&H&&r.params.swipeToClose&&(r.params.swipeHandler&&0===e(p.target).closest(r.params.swipeHandler).length||(A=!0,D=!1,k={x:"touchstart"===p.type?p.targetTouches[0].pageX:p.pageX,y:"touchstart"===p.type?p.targetTouches[0].pageY:p.pageY},$=i(),E=void 0,r.params.swipeHandler||"touchstart"!==p.type||(T=e(p.target).closest(".page-content")[0])))}function O(o){if(!A)return;if(C={x:"touchmove"===o.type?o.targetTouches[0].pageX:o.pageX,y:"touchmove"===o.type?o.targetTouches[0].pageY:o.pageY},void 0===E&&(E=!!(E||Math.abs(C.x-k.x)>Math.abs(C.y-k.y))),E)return A=!1,void(D=!1);M=k.y-C.y,v&&g&&M>0&&(M=0);const e=M<0?"to-bottom":"to-top";if(h.transition(0),"string"==typeof r.params.swipeToClose&&e!==r.params.swipeToClose)return h.transform(""),void h.transition("");if(D)r.emit("local::swipeMove popupSwipeMove",r),r.$el.trigger("popup:swipemove");else{if(v&&g&&(S=h[0].offsetHeight,q=h.prevAll(".popup.modal-in").eq(0),0===q.length&&(q=p.$el.children(".view, .views"))),T&&(x=T.scrollTop,P=T.scrollHeight,B=T.offsetHeight,!(P===B||"to-bottom"===e&&0===x||"to-top"===e&&x===P-B)))return h.transform(""),h.transition(""),A=!1,void(D=!1);D=!0,r.emit("local::swipeStart popupSwipeStart",r),r.$el.trigger("popup:swipestart")}if(o.preventDefault(),v&&g){const p=1-Math.abs(M/S),o=1-(1-w(g))*p;q.hasClass("popup")?q.hasClass("popup-push")?q.transition(0).forEach((e=>{e.style.setProperty("transform",`translate3d(0, calc(-1 * ${p} * (var(--f7-popup-push-offset) + 10px)) , 0px) scale(${o})`,"important")})):q.transition(0).forEach((p=>{p.style.setProperty("transform",`translate3d(0, 0px , 0px) scale(${o})`,"important")})):q.transition(0).forEach((p=>{p.style.setProperty("transform",`translate3d(0,0,0) scale(${o})`,"important")}))}h.transition(0).transform(`translate3d(0,${-M}px,0)`)}function X(){if(A=!1,!D)return;r.emit("local::swipeEnd popupSwipeEnd",r),r.$el.trigger("popup:swipeend"),D=!1,H=!1,h.transition(""),v&&g&&q.transition("").transform("");const p=M<=0?"to-bottom":"to-top";if("string"==typeof r.params.swipeToClose&&p!==r.params.swipeToClose)return h.transform(""),void(H=!0);const o=Math.abs(M),e=(new Date).getTime()-$;e<300&&o>20||e>=300&&o>100?c((()=>{"to-bottom"===p?h.addClass("swipe-close-to-bottom"):h.addClass("swipe-close-to-top"),h.transform(""),r.emit("local::swipeclose popupSwipeClose",r),r.$el.trigger("popup:swipeclose"),r.close(),H=!0})):(H=!0,h.transform(""))}const Y=!!d.passiveListener&&{passive:!0};let z;r.params.swipeToClose&&(h.on(p.touchEvents.start,K,Y),p.on("touchmove",O),p.on("touchend:passive",X),r.once("popupDestroy",(()=>{h.off(p.touchEvents.start,K,Y),p.off("touchmove",O),p.off("touchend:passive",X)})));const N=()=>{const o=v;r.push&&(v=r.push&&(p.width<630||p.height<630||h.hasClass("popup-tablet-fullscreen"))),v&&!o?L():v&&o?r.$htmlEl[0].style.setProperty("--f7-popup-push-scale",w(g)):!v&&o&&(r.$htmlEl.removeClass("with-modal-popup-push"),r.$htmlEl[0].style.removeProperty("--f7-popup-push-scale"))},L=()=>{p.off("resize",N),r.push&&(v=r.push&&(p.width<630||p.height<630||h.hasClass("popup-tablet-fullscreen"))),v&&(g=parseInt(h.css("--f7-popup-push-offset"),10),Number.isNaN(g)&&(g=0),g&&(h.addClass("popup-push"),r.$htmlEl.addClass("with-modal-popup-push"),r.$htmlEl[0].style.setProperty("--f7-popup-push-scale",w(g)))),p.on("resize",N)};return r.on("open",(()=>{z=!1,r.params.closeOnEscape&&e(u).on("keydown",b),h.prevAll(".popup.modal-in").addClass("popup-behind"),L()})),r.on("opened",(()=>{h.removeClass("swipe-close-to-bottom swipe-close-to-top"),r.params.closeByBackdropClick&&p.on("click",y)})),r.on("close",(()=>{z=r.$el.prevAll(".popup-push.modal-in").length>0,r.params.closeOnEscape&&e(u).off("keydown",b),r.params.closeByBackdropClick&&p.off("click",y),h.prevAll(".popup.modal-in").eq(0).removeClass("popup-behind"),v&&g&&!z&&(r.$htmlEl.removeClass("with-modal-popup-push"),r.$htmlEl.addClass("with-modal-popup-push-closing")),p.off("resize",N)})),r.on("closed",(()=>{h.removeClass("popup-behind"),v&&g&&!z&&(r.$htmlEl.removeClass("with-modal-popup-push-closing"),r.$htmlEl[0].style.removeProperty("--f7-popup-push-scale"))})),h[0].f7Modal=r,r}}var d={name:"popup",params:{popup:{backdrop:!0,backdropEl:void 0,backdropUnique:!1,closeByBackdropClick:!0,closeOnEscape:!1,swipeToClose:!1,swipeHandler:null,push:!1,containerEl:null}},static:{Popup:u},create(){this.popup=l({app:this,constructor:u,defaultSelector:".popup.modal-in",parentSelector:".popup"})},clicks:{".popup-open":function(p,o){void 0===o&&(o={});this.popup.open(o.popup,o.animate,p)},".popup-close":function(p,o){void 0===o&&(o={});this.popup.close(o.popup,o.animate,p)}}};if(o){if(p.prototype.modules&&p.prototype.modules[d.name])return;p.use(d),p.instance&&(p.instance.useModuleParams(d,p.instance.params),p.instance.useModule(d))}return d}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -1 +1 @@
1
- :root{--f7-preloader-modal-padding:8px;--f7-preloader-modal-bg-color:rgba(0, 0, 0, 0.8)}.ios{--f7-preloader-color:#6c6c6c;--f7-preloader-size:20px;--f7-preloader-modal-preloader-size:34px;--f7-preloader-modal-border-radius:5px}.md{--f7-preloader-color:#757575;--f7-preloader-size:32px;--f7-preloader-modal-preloader-size:32px;--f7-preloader-modal-border-radius:4px}.aurora{--f7-preloader-color:#757575;--f7-preloader-size:24px;--f7-preloader-modal-preloader-size:24px;--f7-preloader-modal-border-radius:4px}.preloader{display:inline-block;vertical-align:middle;width:var(--f7-preloader-size);height:var(--f7-preloader-size);font-size:0;position:relative}.preloader .preloader-inner{width:100%;height:100%;display:block;position:relative}.preloader-backdrop{visibility:visible;opacity:0;background:0 0;z-index:14000}.preloader-modal{position:absolute;left:50%;top:50%;padding:var(--f7-preloader-modal-padding);background:var(--f7-preloader-modal-bg-color);z-index:14500;transform:translateX(-50%) translateY(-50%);border-radius:var(--f7-preloader-modal-border-radius)}.preloader-modal .preloader{--f7-preloader-size:var(--f7-preloader-modal-preloader-size);display:block!important}.with-modal-preloader .page-content,.with-modal-preloader.page-content,html.with-modal-preloader .page-content{overflow:hidden;-webkit-overflow-scrolling:auto}.preloader[class*=color-]{--f7-preloader-color:var(--f7-theme-color)}.ios .preloader-inner{animation:ios-preloader-spin 1s steps(8,end) infinite}.ios .preloader-inner-line{display:block;width:11.6%;height:33.33%;border-radius:100px;background:var(--f7-preloader-color);position:absolute;left:50%;top:50%;transform-origin:center 150%}.ios .preloader.color-multi .preloader-inner-line{animation:ios-preloader-multicolor 3s linear infinite}.ios .preloader-inner-line:nth-child(1){transform:translate(-50%,-150%) rotate(0deg);opacity:.27}.ios .preloader-inner-line:nth-child(2){transform:translate(-50%,-150%) rotate(45deg);opacity:.35285714}.ios .preloader-inner-line:nth-child(3){transform:translate(-50%,-150%) rotate(90deg);opacity:.43571429}.ios .preloader-inner-line:nth-child(4){transform:translate(-50%,-150%) rotate(135deg);opacity:.51857143}.ios .preloader-inner-line:nth-child(5){transform:translate(-50%,-150%) rotate(180deg);opacity:.60142857}.ios .preloader-inner-line:nth-child(6){transform:translate(-50%,-150%) rotate(225deg);opacity:.68428571}.ios .preloader-inner-line:nth-child(7){transform:translate(-50%,-150%) rotate(270deg);opacity:.76714286}.ios .preloader-inner-line:nth-child(8){transform:translate(-50%,-150%) rotate(315deg);opacity:.85}@keyframes ios-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes ios-preloader-multicolor{0%,100%{background-color:#2196f3}25%{background-color:#ff3b30}50%{background-color:#4cd964}75%{background-color:#ff9500}}.md .preloader-inner{animation:md-preloader-rotate 1.4s linear infinite}.md .preloader-inner circle{fill:none;stroke:var(--f7-preloader-color);animation:md-preloader-circle-rotate 5.6s ease-in-out infinite;stroke-dasharray:100px;stroke-dashoffset:80px;stroke-width:4;transform:rotate(-90deg);transform-origin:18px 18px}.md .preloader.color-multi circle{animation:md-preloader-circle-rotate 5.6s ease-in-out infinite,md-preloader-multicolor 5.6s ease-in-out infinite}@keyframes md-preloader-multicolor{0%,100%{stroke:#4285f4}75%{stroke:#1b9a59}50%{stroke:#f7c223}25%{stroke:#de3e35}}@keyframes md-preloader-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes md-preloader-circle-rotate{0%{transform:rotate(-90deg);stroke-dashoffset:100px}12.5%{transform:rotate(-90deg);stroke-dashoffset:25px}25%{stroke-dashoffset:100px;transform:rotate(180deg)}25.1%{transform:rotate(-180deg);stroke-dashoffset:100px}37.5%{transform:rotate(-180deg);stroke-dashoffset:25px}50%{stroke-dashoffset:100px;transform:rotate(90deg)}50.1%{transform:rotate(90deg);stroke-dashoffset:100px}62.5%{transform:rotate(90deg);stroke-dashoffset:25px}75%{stroke-dashoffset:100px;transform:rotate(360deg)}75.1%{transform:rotate(0deg);stroke-dashoffset:100px}87.5%{transform:rotate(0deg);stroke-dashoffset:25px}100%{stroke-dashoffset:100px;transform:rotate(270deg)}}.aurora .preloader-inner{position:absolute;left:0;top:0}.aurora .preloader-inner-circle{width:100%;height:100%;position:absolute;left:0;top:0;border-radius:50%;border:calc(var(--f7-preloader-size)/ 8) solid var(--f7-preloader-color);border-top-color:transparent;box-sizing:border-box;animation:aurora-preloader-rotate .75s linear infinite}.aurora .preloader.color-multi .preloader-inner-circle{animation:aurora-preloader-rotate .75s linear infinite,aurora-preloader-multicolor 3s linear infinite}@keyframes aurora-preloader-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes aurora-preloader-multicolor{0%,100%{border-color:#2196f3;border-top-color:transparent}25%{border-color:#ff3b30;border-top-color:transparent}50%{border-color:#4cd964;border-top-color:transparent}75%{border-color:#ff9500;border-top-color:transparent}}
1
+ :root{--f7-preloader-modal-padding:8px;--f7-preloader-modal-bg-color:rgba(0, 0, 0, 0.8)}.ios{--f7-preloader-color:#6c6c6c;--f7-preloader-size:20px;--f7-preloader-modal-preloader-size:34px;--f7-preloader-modal-border-radius:5px}.md{--f7-preloader-color:#757575;--f7-preloader-size:32px;--f7-preloader-modal-preloader-size:32px;--f7-preloader-modal-border-radius:4px}.aurora{--f7-preloader-color:#757575;--f7-preloader-size:24px;--f7-preloader-modal-preloader-size:24px;--f7-preloader-modal-border-radius:4px}.preloader{display:inline-block;vertical-align:middle;width:var(--f7-preloader-size);height:var(--f7-preloader-size);font-size:0;position:relative}.preloader .preloader-inner{width:100%;height:100%;display:block;position:relative}.preloader-backdrop{visibility:visible;opacity:0;background:0 0;z-index:14000}.preloader-modal{position:absolute;left:50%;top:50%;padding:var(--f7-preloader-modal-padding);background:var(--f7-preloader-modal-bg-color);z-index:14500;transform:translateX(-50%) translateY(-50%);border-radius:var(--f7-preloader-modal-border-radius)}.preloader-modal .preloader{--f7-preloader-size:var(--f7-preloader-modal-preloader-size);display:block!important}.with-modal-preloader .page-content,.with-modal-preloader.page-content,html.with-modal-preloader .page-content{overflow:hidden;-webkit-overflow-scrolling:auto}.preloader[class*=color-]{--f7-preloader-color:var(--f7-theme-color)}.ios .preloader-inner{animation:ios-preloader-spin 1s steps(8,end) infinite}.ios .preloader-inner-line{display:block;width:11.6%;height:33.33%;border-radius:100px;background:var(--f7-preloader-color);position:absolute;left:50%;top:50%;transform-origin:center 150%}.ios .preloader.color-multi .preloader-inner-line{animation:ios-preloader-multicolor 3s linear infinite}.ios .preloader-inner-line:first-child{transform:translate(-50%,-150%) rotate(0deg);opacity:.27}.ios .preloader-inner-line:nth-child(2){transform:translate(-50%,-150%) rotate(45deg);opacity:.35285714}.ios .preloader-inner-line:nth-child(3){transform:translate(-50%,-150%) rotate(90deg);opacity:.43571429}.ios .preloader-inner-line:nth-child(4){transform:translate(-50%,-150%) rotate(135deg);opacity:.51857143}.ios .preloader-inner-line:nth-child(5){transform:translate(-50%,-150%) rotate(180deg);opacity:.60142857}.ios .preloader-inner-line:nth-child(6){transform:translate(-50%,-150%) rotate(225deg);opacity:.68428571}.ios .preloader-inner-line:nth-child(7){transform:translate(-50%,-150%) rotate(270deg);opacity:.76714286}.ios .preloader-inner-line:nth-child(8){transform:translate(-50%,-150%) rotate(315deg);opacity:.85}@keyframes ios-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes ios-preloader-multicolor{0%,100%{background-color:#2196f3}25%{background-color:#ff3b30}50%{background-color:#4cd964}75%{background-color:#ff9500}}.md .preloader-inner{animation:md-preloader-rotate 1.4s linear infinite}.md .preloader-inner circle{fill:none;stroke:var(--f7-preloader-color);animation:md-preloader-circle-rotate 5.6s ease-in-out infinite;stroke-dasharray:100px;stroke-dashoffset:80px;stroke-width:4;transform:rotate(-90deg);transform-origin:18px 18px}.md .preloader.color-multi circle{animation:md-preloader-circle-rotate 5.6s ease-in-out infinite,md-preloader-multicolor 5.6s ease-in-out infinite}@keyframes md-preloader-multicolor{0%,100%{stroke:#4285f4}75%{stroke:#1b9a59}50%{stroke:#f7c223}25%{stroke:#de3e35}}@keyframes md-preloader-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes md-preloader-circle-rotate{0%{transform:rotate(-90deg);stroke-dashoffset:100px}12.5%{transform:rotate(-90deg);stroke-dashoffset:25px}25%{stroke-dashoffset:100px;transform:rotate(180deg)}25.1%{transform:rotate(-180deg);stroke-dashoffset:100px}37.5%{transform:rotate(-180deg);stroke-dashoffset:25px}50%{stroke-dashoffset:100px;transform:rotate(90deg)}50.1%{transform:rotate(90deg);stroke-dashoffset:100px}62.5%{transform:rotate(90deg);stroke-dashoffset:25px}75%{stroke-dashoffset:100px;transform:rotate(360deg)}75.1%{transform:rotate(0deg);stroke-dashoffset:100px}87.5%{transform:rotate(0deg);stroke-dashoffset:25px}100%{stroke-dashoffset:100px;transform:rotate(270deg)}}.aurora .preloader-inner{position:absolute;left:0;top:0}.aurora .preloader-inner-circle{width:100%;height:100%;position:absolute;left:0;top:0;border-radius:50%;border:calc(var(--f7-preloader-size)/ 8) solid var(--f7-preloader-color);border-top-color:transparent;box-sizing:border-box;animation:aurora-preloader-rotate .75s linear infinite}.aurora .preloader.color-multi .preloader-inner-circle{animation:aurora-preloader-rotate .75s linear infinite,aurora-preloader-multicolor 3s linear infinite}@keyframes aurora-preloader-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes aurora-preloader-multicolor{0%,100%{border-color:#2196f3;border-top-color:transparent}25%{border-color:#ff3b30;border-top-color:transparent}50%{border-color:#4cd964;border-top-color:transparent}75%{border-color:#ff9500;border-top-color:transparent}}