framework7 7.0.0-beta.8 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/accordion/accordion.lazy.js +1 -1
- package/components/actions/actions-class.js +6 -1
- package/components/actions/actions-rtl.css +1 -1
- package/components/actions/actions.css +1 -1
- package/components/actions/actions.d.ts +2 -0
- package/components/actions/actions.js +11 -2
- package/components/actions/actions.lazy.js +1 -1
- package/components/actions/actions.less +3 -0
- package/components/app/app-class.js +15 -9
- package/components/area-chart/area-chart-class.js +34 -18
- package/components/area-chart/area-chart.lazy.js +1 -1
- package/components/autocomplete/autocomplete-class.js +5 -1
- package/components/autocomplete/autocomplete.lazy.js +1 -1
- package/components/breadcrumbs/breadcrumbs-aurora.less +2 -0
- package/components/breadcrumbs/breadcrumbs-ios.less +2 -0
- package/components/breadcrumbs/breadcrumbs-md.less +2 -0
- package/components/breadcrumbs/breadcrumbs-rtl.css +1 -0
- package/components/breadcrumbs/breadcrumbs-vars.less +36 -0
- package/components/breadcrumbs/breadcrumbs.css +1 -0
- package/components/breadcrumbs/breadcrumbs.d.ts +15 -0
- package/components/breadcrumbs/breadcrumbs.js +13 -0
- package/components/breadcrumbs/breadcrumbs.lazy.js +1 -0
- package/components/breadcrumbs/breadcrumbs.less +100 -0
- package/components/calendar/calendar-class.js +216 -124
- package/components/calendar/calendar-rtl.css +1 -1
- package/components/calendar/calendar-vars.less +6 -10
- package/components/calendar/calendar.css +1 -1
- package/components/calendar/calendar.d.ts +2 -0
- package/components/calendar/calendar.js +6 -1
- package/components/calendar/calendar.lazy.js +1 -1
- package/components/calendar/calendar.less +20 -16
- package/components/card/card.js +23 -3
- package/components/card/card.lazy.js +1 -1
- package/components/color-picker/color-picker-class.js +19 -3
- package/components/color-picker/color-picker.js +5 -1
- package/components/color-picker/color-picker.lazy.js +1 -1
- package/components/data-table/data-table-class.js +5 -1
- package/components/data-table/data-table.lazy.js +1 -1
- package/components/dialog/dialog.js +30 -6
- package/components/dialog/dialog.lazy.js +1 -1
- package/components/fab/fab-rtl.css +1 -1
- package/components/fab/fab.css +1 -1
- package/components/fab/fab.js +15 -3
- package/components/fab/fab.lazy.js +1 -1
- package/components/form/form.lazy.js +1 -1
- package/components/gauge/gauge-class.js +10 -2
- package/components/gauge/gauge.d.ts +2 -2
- package/components/gauge/gauge.lazy.js +1 -1
- package/components/input/input.js +5 -1
- package/components/input/input.lazy.js +1 -1
- package/components/list-index/list-index-class.js +5 -1
- package/components/list-index/list-index.d.ts +1 -1
- package/components/list-index/list-index.lazy.js +1 -1
- package/components/login-screen/login-screen.js +10 -2
- package/components/login-screen/login-screen.lazy.js +1 -1
- package/components/menu/menu.js +10 -2
- package/components/menu/menu.lazy.js +1 -1
- package/components/messagebar/messagebar-class.js +25 -5
- package/components/messagebar/messagebar.lazy.js +1 -1
- package/components/messages/messages-class.js +60 -24
- package/components/messages/messages-rtl.css +1 -1
- package/components/messages/messages.css +1 -1
- package/components/messages/messages.lazy.js +1 -1
- package/components/modal/modal-class.js +10 -0
- package/components/navbar/navbar.js +26 -2
- package/components/notification/notification.d.ts +4 -4
- package/components/panel/panel-class.js +35 -7
- package/components/panel/panel.js +40 -8
- package/components/panel/panel.lazy.js +1 -1
- package/components/photo-browser/photo-browser-class.js +42 -8
- package/components/photo-browser/photo-browser.lazy.js +1 -1
- package/components/picker/picker-class.js +11 -7
- package/components/picker/picker-column.js +34 -270
- package/components/picker/picker-rtl.css +1 -1
- package/components/picker/picker.css +1 -1
- package/components/picker/picker.d.ts +2 -13
- package/components/picker/picker.js +5 -6
- package/components/picker/picker.lazy.js +1 -1
- package/components/picker/picker.less +28 -10
- package/components/pie-chart/pie-chart-class.js +16 -7
- package/components/pie-chart/pie-chart.lazy.js +1 -1
- package/components/popover/popover-class.js +20 -3
- package/components/popover/popover-rtl.css +1 -1
- package/components/popover/popover.css +1 -1
- package/components/popover/popover.d.ts +2 -0
- package/components/popover/popover.js +11 -2
- package/components/popover/popover.lazy.js +1 -1
- package/components/popover/popover.less +3 -0
- package/components/popup/popup-class.js +6 -1
- package/components/popup/popup-rtl.css +1 -1
- package/components/popup/popup.css +1 -1
- package/components/popup/popup.d.ts +4 -0
- package/components/popup/popup.js +11 -2
- package/components/popup/popup.lazy.js +1 -1
- package/components/popup/popup.less +4 -0
- package/components/preloader/preloader-ios.less +3 -0
- package/components/preloader/preloader-rtl.css +1 -1
- package/components/preloader/preloader.css +1 -1
- package/components/preloader/preloader.d.ts +4 -0
- package/components/preloader/preloader.js +10 -2
- package/components/preloader/preloader.lazy.js +1 -1
- package/components/progressbar/progressbar-aurora.less +32 -13
- package/components/progressbar/progressbar-ios.less +19 -7
- package/components/progressbar/progressbar-md.less +64 -28
- package/components/progressbar/progressbar-rtl.css +1 -1
- package/components/progressbar/progressbar.css +1 -1
- package/components/progressbar/progressbar.js +17 -4
- package/components/progressbar/progressbar.lazy.js +1 -1
- package/components/progressbar/progressbar.less +16 -4
- package/components/pull-to-refresh/pull-to-refresh-class.js +5 -1
- package/components/pull-to-refresh/pull-to-refresh.lazy.js +1 -1
- package/components/range/range.d.ts +23 -5
- package/components/range/range.js +10 -2
- package/components/range/range.lazy.js +1 -1
- package/components/searchbar/searchbar-class.js +6 -2
- package/components/searchbar/searchbar.js +20 -4
- package/components/searchbar/searchbar.lazy.js +1 -1
- package/components/sheet/sheet-class.js +21 -2
- package/components/sheet/sheet-rtl.css +1 -1
- package/components/sheet/sheet.css +1 -1
- package/components/sheet/sheet.d.ts +2 -0
- package/components/sheet/sheet.js +11 -2
- package/components/sheet/sheet.lazy.js +1 -1
- package/components/sheet/sheet.less +3 -0
- package/components/smart-select/smart-select-class.js +15 -3
- package/components/smart-select/smart-select.lazy.js +1 -1
- package/components/sortable/sortable.d.ts +5 -1
- package/components/sortable/sortable.js +45 -8
- package/components/sortable/sortable.lazy.js +1 -1
- package/components/statusbar/statusbar.d.ts +9 -9
- package/components/statusbar/statusbar.js +5 -1
- package/components/stepper/stepper.js +10 -2
- package/components/stepper/stepper.lazy.js +1 -1
- package/components/swipeout/swipeout.js +16 -3
- package/components/swipeout/swipeout.lazy.js +1 -1
- package/components/swiper/swiper-rtl.css +1 -1
- package/components/swiper/swiper.css +1 -1
- package/components/swiper/swiper.lazy.js +1 -1
- package/components/tabs/tabs.js +14 -7
- package/components/tabs/tabs.lazy.js +1 -1
- package/components/toast/toast.d.ts +2 -2
- package/components/toggle/toggle-class.js +5 -1
- package/components/toggle/toggle.lazy.js +1 -1
- package/components/toolbar/toolbar-aurora.less +0 -13
- package/components/toolbar/toolbar-md.less +0 -13
- package/components/toolbar/toolbar.js +11 -3
- package/components/toolbar/toolbar.less +13 -0
- package/components/tooltip/tooltip-class.js +5 -1
- package/components/tooltip/tooltip.lazy.js +1 -1
- package/components/touch-ripple/touch-ripple.js +5 -1
- package/components/treeview/treeview.lazy.js +1 -1
- package/components/view/view-class.js +13 -2
- package/components/view/view.d.ts +5 -1
- package/components/view/view.js +2 -0
- package/components/virtual-list/virtual-list-class.js +54 -9
- package/components/virtual-list/virtual-list.d.ts +2 -2
- package/components/virtual-list/virtual-list.lazy.js +1 -1
- package/framework7-bundle-rtl.css +252 -150
- package/framework7-bundle-rtl.min.css +4 -4
- package/framework7-bundle.css +237 -134
- package/framework7-bundle.esm.js +5 -4
- package/framework7-bundle.js +2661 -1190
- package/framework7-bundle.js.map +1 -1
- package/framework7-bundle.less +4 -3
- package/framework7-bundle.min.css +4 -4
- package/framework7-bundle.min.js +4 -4
- package/framework7-bundle.min.js.map +1 -1
- package/framework7-lite-bundle.esm.js +5 -4
- package/framework7-lite.esm.js +3 -3
- package/framework7-rtl.css +12 -21
- package/framework7-rtl.min.css +4 -4
- package/framework7-types.d.ts +5 -1
- package/framework7.css +11 -19
- package/framework7.d.ts +4 -0
- package/framework7.esm.js +3 -3
- package/framework7.js +609 -189
- package/framework7.js.map +1 -1
- package/framework7.less +3 -3
- package/framework7.min.css +4 -4
- package/framework7.min.js +4 -4
- package/framework7.min.js.map +1 -1
- package/modules/component/$h.js +5 -1
- package/modules/component/$jsx.js +5 -1
- package/modules/component/component-class.js +35 -22
- package/modules/component/component.d.ts +2 -2
- package/modules/component/component.js +7 -6
- package/modules/component/eventslisteners.js +5 -1
- package/modules/component/snabbdom/h.js +1 -1
- package/modules/component/vdom.js +32 -17
- package/modules/device/device.js +1 -1
- package/modules/router/back.js +16 -6
- package/modules/router/component-loader.js +34 -23
- package/modules/router/modal.js +5 -1
- package/modules/router/navigate.js +19 -3
- package/modules/router/redirect.js +5 -1
- package/modules/router/router-class.js +39 -10
- package/modules/router/swipe-back.js +7 -6
- package/modules/router/tab.js +6 -2
- package/modules/store/create-store.js +10 -2
- package/package.json +12 -6
- package/shared/$jsx.js +6 -1
- package/shared/class.js +33 -5
- package/shared/constructor-methods.js +25 -4
- package/shared/events-class.js +15 -3
- package/shared/get-device.d.ts +0 -2
- package/shared/get-device.js +10 -6
- package/shared/modal-methods.js +10 -2
- package/shared/request.js +45 -7
- package/shared/utils.js +47 -10
|
@@ -13,6 +13,8 @@ export namespace Range {
|
|
|
13
13
|
step?: number;
|
|
14
14
|
/** Enables additional label around range slider knob (default false) */
|
|
15
15
|
label?: boolean;
|
|
16
|
+
/** Method must return formatted range knob label text. As an argument it receives label value */
|
|
17
|
+
formatLabel?: (value: number) => string;
|
|
16
18
|
/** Minimum value */
|
|
17
19
|
min?: number;
|
|
18
20
|
/** Maximum value */
|
|
@@ -21,11 +23,19 @@ export namespace Range {
|
|
|
21
23
|
value?: number | number[];
|
|
22
24
|
/** When enabled it is also possible to interact with range slider (change value) on range bar click and swipe (default true) */
|
|
23
25
|
draggableBar?: boolean;
|
|
24
|
-
/** Enables vertical range slider */
|
|
26
|
+
/** Enables vertical range slider (default false) */
|
|
25
27
|
vertical?: boolean;
|
|
26
|
-
/** Makes vertical range slider reversed */
|
|
28
|
+
/** Makes vertical range slider reversed (default false) */
|
|
27
29
|
verticalReversed?: boolean;
|
|
28
|
-
/**
|
|
30
|
+
/** Enables range slider scale (default false) */
|
|
31
|
+
scale?: boolean;
|
|
32
|
+
/** Number of scale steps (default 5) */
|
|
33
|
+
scaleSteps?: number;
|
|
34
|
+
/** Number of scale sub steps (each step will be divided by this value) (default 0) */
|
|
35
|
+
scaleSubSteps?: number;
|
|
36
|
+
/** Method must return formatted scale value. As an argument it receives currect scale step value. This method will be called as for each scale step. */
|
|
37
|
+
formatScaleLabel?: (value: number) => string;
|
|
38
|
+
/** Limit knob position to the size of range bar. By default enabled from iOS theme */
|
|
29
39
|
limitKnobPosition?: boolean;
|
|
30
40
|
/** Object with events handlers.. */
|
|
31
41
|
on?: {
|
|
@@ -55,13 +65,21 @@ export namespace Range {
|
|
|
55
65
|
max: number;
|
|
56
66
|
/** Range value */
|
|
57
67
|
value: number | number[];
|
|
68
|
+
/** Boolean property indicating whether scale is enabled or not */
|
|
69
|
+
scale: boolean;
|
|
70
|
+
/** Number of scale steps */
|
|
71
|
+
scaleSteps: number;
|
|
72
|
+
/** Number of scale sub steps */
|
|
73
|
+
scaleSubSteps: number;
|
|
74
|
+
/** Dom7 instance with generated scale HTML element */
|
|
75
|
+
$scaleEl: Dom7Array;
|
|
58
76
|
/** Array where each element represents HTMLElement of created range knob (2 knobs in case of dual slider) */
|
|
59
77
|
knobs: HTMLElement[];
|
|
60
78
|
/** Array where each element represent HTMLElement of created range knob label (2 labels in case of dual slider) */
|
|
61
79
|
labels: HTMLElement[];
|
|
62
|
-
/** Boolean property indicating whether it is vertical or not
|
|
80
|
+
/** Boolean property indicating whether it is vertical or not */
|
|
63
81
|
vertical: boolean;
|
|
64
|
-
/** Boolean property indicating whether it is vertical and reversed or not
|
|
82
|
+
/** Boolean property indicating whether it is vertical and reversed or not */
|
|
65
83
|
verticalReversed: boolean;
|
|
66
84
|
/** Range parameters */
|
|
67
85
|
params: Parameters;
|
|
@@ -13,13 +13,21 @@ export default {
|
|
|
13
13
|
app,
|
|
14
14
|
domProp: 'f7Range'
|
|
15
15
|
}), {
|
|
16
|
-
getValue(el
|
|
16
|
+
getValue(el) {
|
|
17
|
+
if (el === void 0) {
|
|
18
|
+
el = '.range-slider';
|
|
19
|
+
}
|
|
20
|
+
|
|
17
21
|
const range = app.range.get(el);
|
|
18
22
|
if (range) return range.getValue();
|
|
19
23
|
return undefined;
|
|
20
24
|
},
|
|
21
25
|
|
|
22
|
-
setValue(el
|
|
26
|
+
setValue(el, value) {
|
|
27
|
+
if (el === void 0) {
|
|
28
|
+
el = '.range-slider';
|
|
29
|
+
}
|
|
30
|
+
|
|
23
31
|
const range = app.range.get(el);
|
|
24
32
|
if (range) return range.setValue(value);
|
|
25
33
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function framework7ComponentLoader(e,a){void 0===a&&(a=!0);var t=e.$,l=e.utils,s=(e.getDevice,e.getSupport),n=e.Class,r=(e.Modal,e.ConstructorMethods),i=(e.ModalMethods,l.extend),o=l.nextTick,c=l.deleteProps;class u extends n{constructor(e,a){super(a,[e]);const l=this,n=s(),r={el:null,inputEl:null,dual:!1,step:1,label:!1,min:0,max:100,value:0,draggableBar:!0,vertical:!1,verticalReversed:!1,formatLabel:null,scale:!1,scaleSteps:5,scaleSubSteps:0,formatScaleLabel:null,limitKnobPosition:"ios"===e.theme};l.useModulesParams(r),l.params=i(r,a);const c=l.params.el;if(!c)return l;const u=t(c);if(0===u.length)return l;if(u[0].f7Range)return u[0].f7Range;const d=u.dataset();let p;"step min max value scaleSteps scaleSubSteps".split(" ").forEach((e=>{void 0===a[e]&&void 0!==d[e]&&(l.params[e]=parseFloat(d[e]))})),"dual label vertical verticalReversed scale".split(" ").forEach((e=>{void 0===a[e]&&void 0!==d[e]&&(l.params[e]=d[e])})),l.params.value||(void 0!==d.value&&(l.params.value=d.value),void 0!==d.valueLeft&&void 0!==d.valueRight&&(l.params.value=[parseFloat(d.valueLeft),parseFloat(d.valueRight)])),l.params.dual||(l.params.inputEl?p=t(l.params.inputEl):u.find('input[type="range"]').length&&(p=u.find('input[type="range"]').eq(0)));const{dual:g,step:v,label:h,min:f,max:m,value:b,vertical:$,verticalReversed:S,scale:E,scaleSteps:y,scaleSubSteps:x,limitKnobPosition:R}=l.params;i(l,{app:e,$el:u,el:u[0],$inputEl:p,inputEl:p?p[0]:void 0,dual:g,step:v,label:h,min:f,max:m,value:b,previousValue:b,vertical:$,verticalReversed:S,scale:E,scaleSteps:y,scaleSubSteps:x,limitKnobPosition:R}),p&&("step min max".split(" ").forEach((e=>{!a[e]&&p.attr(e)&&(l.params[e]=parseFloat(p.attr(e)),l[e]=parseFloat(p.attr(e)))})),void 0!==p.val()&&(l.params.value=parseFloat(p.val()),l.value=parseFloat(p.val()))),l.dual&&u.addClass("range-slider-dual"),l.label&&u.addClass("range-slider-label"),l.vertical?(u.addClass("range-slider-vertical"),l.verticalReversed&&u.addClass("range-slider-vertical-reversed")):u.addClass("range-slider-horizontal");const k=t('<div class="range-bar"></div>'),M=t('<div class="range-bar-active"></div>');k.append(M);const C=`\n <div class="range-knob-wrap">\n <div class="range-knob"></div>\n ${l.label?'<div class="range-knob-label"></div>':""}\n </div>\n `,L=[t(C)];l.dual&&L.push(t(C)),u.append(k),L.forEach((e=>{u.append(e)}));const V=[];let W,T;l.label&&(V.push(L[0].find(".range-knob-label")),l.dual&&V.push(L[1].find(".range-knob-label"))),l.scale&&l.scaleSteps>=1&&(W=t(`\n <div class="range-scale">\n ${l.renderScale()}\n </div>\n `),u.append(W)),i(l,{knobs:L,labels:V,$barEl:k,$barActiveEl:M,$scaleEl:W}),u[0].f7Range=l;const w={};let z,H,P,F,A,B,D,K,X,Y,q;function O(){D=!0}function I(e){if(T)return;if(!l.params.draggableBar&&0===t(e.target).closest(".range-knob").length)return;let a;D=!1,w.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,w.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,"touchstart"===e.type&&(K=e.targetTouches[0].identifier),T=!0,z=void 0,H=u.offset(),P=H.left,F=H.top,l.vertical?(a=(w.y-F)/l.rangeHeight,l.verticalReversed||(a=1-a)):a=l.app.rtl?(P+l.rangeWidth-w.x)/l.rangeWidth:(w.x-P)/l.rangeWidth;let s=a*(l.max-l.min)+l.min;l.dual?Math.abs(l.value[0]-s)<Math.abs(l.value[1]-s)?(B=0,A=l.knobs[0],s=[s,l.value[1]]):(B=1,A=l.knobs[1],s=[l.value[0],s]):(A=l.knobs[0],s=a*(l.max-l.min)+l.min),o((()=>{T&&A.addClass("range-knob-active-state")}),70),l.on("change",O),l.setValue(s,!0)}function j(e){if(!T)return;let a,t,s;if("touchmove"===e.type)for(let l=0;l<e.targetTouches.length;l+=1)e.targetTouches[l].identifier===K&&(a=e.targetTouches[l].pageX,t=e.targetTouches[l].pageY);else a=e.pageX,t=e.pageY;if(void 0===a&&void 0===t)return;if(void 0!==z||l.vertical||(z=!!(z||Math.abs(t-w.y)>Math.abs(a-w.x))),z)return void(T=!1);e.preventDefault(),l.vertical?(s=(t-F)/l.rangeHeight,l.verticalReversed||(s=1-s)):s=l.app.rtl?(P+l.rangeWidth-a)/l.rangeWidth:(a-P)/l.rangeWidth;let n=s*(l.max-l.min)+l.min;if(l.dual){let e,a;0===B?(e=n,a=l.value[1],e>a&&(a=e)):(e=l.value[0],a=n,a<e&&(e=a)),n=[e,a]}l.setValue(n,!0)}function G(e){if("touchend"===e.type){let a;for(let t=0;t<e.changedTouches.length;t+=1)e.changedTouches[t].identifier===K&&(a=!0);if(!a)return}if(!T)return z&&A.removeClass("range-knob-active-state"),void(T=!1);l.off("change",O),T=!1,A.removeClass("range-knob-active-state"),D&&l.$inputEl&&!l.dual&&l.$inputEl.trigger("change"),D=!1,void 0!==l.previousValue&&(l.dual&&(l.previousValue[0]!==l.value[0]||l.previousValue[1]!==l.value[1])||!l.dual&&l.previousValue!==l.value)&&(l.$el.trigger("range:changed",l.value),l.emit("local::changed rangeChanged",l,l.value))}function J(){l.calcSize(),l.layout()}return l.attachEvents=function(){const a=!!n.passiveListener&&{passive:!0};l.$el.on(e.touchEvents.start,I,a),e.on("touchmove",j),e.on("touchend:passive",G),e.on("tabShow",J),e.on("resize",J),X=l.$el.parents(".sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast"),X.on("modal:open",J),Y=l.$el.parents(".panel"),Y.on("panel:open panel:resize",J),q=l.$el.parents(".page").eq(0),q.on("page:reinit",J)},l.detachEvents=function(){const a=!!n.passiveListener&&{passive:!0};l.$el.off(e.touchEvents.start,I,a),e.off("touchmove",j),e.off("touchend:passive",G),e.off("tabShow",J),e.off("resize",J),X&&X.off("modal:open",J),Y&&Y.off("panel:open panel:resize",J),q&&q.off("page:reinit",J),X=null,Y=null,q=null},l.useModules(),l.init(),l}calcSize(){const e=this;if(e.vertical){const a=e.$el.outerHeight();if(0===a)return;e.rangeHeight=a,e.knobHeight=e.knobs[0].outerHeight()}else{const a=e.$el.outerWidth();if(0===a)return;e.rangeWidth=a,e.knobWidth=e.knobs[0].outerWidth()}}layout(){const e=this,{app:a,knobWidth:t,knobHeight:l,rangeWidth:s,rangeHeight:n,min:r,max:i,knobs:o,$barActiveEl:c,value:u,label:d,labels:p,vertical:g,verticalReversed:v,limitKnobPosition:h}=e,f=g?l:t,m=g?n:s,b=g?v?"top":"bottom":a.rtl?"right":"left";if(e.dual){const a=[(u[0]-r)/(i-r),(u[1]-r)/(i-r)];c.css({[b]:100*a[0]+"%",[g?"height":"width"]:100*(a[1]-a[0])+"%"}),o.forEach(((t,l)=>{let s=m*a[l];if(h){const e=m*a[l]-f/2;e<0&&(s=f/2),e+f>m&&(s=m-f/2)}t.css(b,`${s}px`),d&&p[l].text(e.formatLabel(u[l],p[l][0]))}))}else{const a=(u-r)/(i-r);c.css(g?"height":"width",100*a+"%");let t=m*a;if(h){const e=m*a-f/2;e<0&&(t=f/2),e+f>m&&(t=m-f/2)}o[0].css(b,`${t}px`),d&&p[0].text(e.formatLabel(u,p[0][0]))}e.dual&&u.indexOf(r)>=0||!e.dual&&u===r?e.$el.addClass("range-slider-min"):e.$el.removeClass("range-slider-min"),e.dual&&u.indexOf(i)>=0||!e.dual&&u===i?e.$el.addClass("range-slider-max"):e.$el.removeClass("range-slider-max")}setValue(e,a){const t=this,{step:l,min:s,max:n}=t;let r,i;if(t.dual){i=[t.value[0],t.value[1]];let a=e;if(Array.isArray(a)||(a=[e,e]),e[0]>e[1]&&(a=[a[0],a[0]]),a=a.map((e=>Math.max(Math.min(Math.round(e/l)*l,n),s))),a[0]===t.value[0]&&a[1]===t.value[1])return t;a.forEach(((e,a)=>{t.value[a]=e})),r=i[0]!==a[0]||i[1]!==a[1],t.layout()}else{i=t.value;const a=Math.max(Math.min(Math.round(e/l)*l,n),s);t.value=a,t.layout(),r=i!==a}return r&&(t.previousValue=i),r?(t.$el.trigger("range:change",t.value),t.$inputEl&&!t.dual&&(t.$inputEl.val(t.value),a?t.$inputEl.trigger("input"):t.$inputEl.trigger("input change")),a||(t.$el.trigger("range:changed",t.value),t.emit("local::changed rangeChanged",t,t.value)),t.emit("local::change rangeChange",t,t.value),t):t}getValue(){return this.value}formatLabel(e,a){const t=this;return t.params.formatLabel?t.params.formatLabel.call(t,e,a):e}formatScaleLabel(e){const a=this;return a.params.formatScaleLabel?a.params.formatScaleLabel.call(a,e):e}renderScale(){const e=this,{app:a,verticalReversed:t,vertical:l}=e,s=l?t?"top":"bottom":a.rtl?"right":"left";let n="";return Array.from({length:e.scaleSteps+1}).forEach(((a,t)=>{const l=(e.max-e.min)/e.scaleSteps,r=e.min+l*t,i=(r-e.min)/(e.max-e.min);n+=`<div class="range-scale-step" style="${s}: ${100*i}%">${e.formatScaleLabel(r)}</div>`,e.scaleSubSteps&&e.scaleSubSteps>1&&t<e.scaleSteps&&Array.from({length:e.scaleSubSteps-1}).forEach(((a,t)=>{const i=l/e.scaleSubSteps,o=(r+i*(t+1)-e.min)/(e.max-e.min);n+=`<div class="range-scale-step range-scale-substep" style="${s}: ${100*o}%"></div>`}))})),n}updateScale(){const e=this;if(!e.scale||e.scaleSteps<1)return e.$scaleEl&&e.$scaleEl.remove(),void delete e.$scaleEl;e.$scaleEl||(e.$scaleEl=t('<div class="range-scale"></div>'),e.$el.append(e.$scaleEl)),e.$scaleEl.html(e.renderScale())}init(){const e=this;return e.calcSize(),e.layout(),e.attachEvents(),e}destroy(){let e=this;e.$el.trigger("range:beforedestroy"),e.emit("local::beforeDestroy rangeBeforeDestroy",e),delete e.$el[0].f7Range,e.detachEvents(),c(e),e=null}}var d={name:"range",create(){const e=this;e.range=i(r({defaultSelector:".range-slider",constructor:u,app:e,domProp:"f7Range"}),{getValue(a=".range-slider")
|
|
1
|
+
(function framework7ComponentLoader(e,a){void 0===a&&(a=!0);var t=e.$,l=e.utils,s=(e.getDevice,e.getSupport),n=e.Class,r=(e.Modal,e.ConstructorMethods),i=(e.ModalMethods,l.extend),o=l.nextTick,c=l.deleteProps;class u extends n{constructor(e,a){super(a,[e]);const l=this,n=s(),r={el:null,inputEl:null,dual:!1,step:1,label:!1,min:0,max:100,value:0,draggableBar:!0,vertical:!1,verticalReversed:!1,formatLabel:null,scale:!1,scaleSteps:5,scaleSubSteps:0,formatScaleLabel:null,limitKnobPosition:"ios"===e.theme};l.useModulesParams(r),l.params=i(r,a);const c=l.params.el;if(!c)return l;const u=t(c);if(0===u.length)return l;if(u[0].f7Range)return u[0].f7Range;const d=u.dataset();let p;"step min max value scaleSteps scaleSubSteps".split(" ").forEach((e=>{void 0===a[e]&&void 0!==d[e]&&(l.params[e]=parseFloat(d[e]))})),"dual label vertical verticalReversed scale".split(" ").forEach((e=>{void 0===a[e]&&void 0!==d[e]&&(l.params[e]=d[e])})),l.params.value||(void 0!==d.value&&(l.params.value=d.value),void 0!==d.valueLeft&&void 0!==d.valueRight&&(l.params.value=[parseFloat(d.valueLeft),parseFloat(d.valueRight)])),l.params.dual||(l.params.inputEl?p=t(l.params.inputEl):u.find('input[type="range"]').length&&(p=u.find('input[type="range"]').eq(0)));const{dual:g,step:v,label:h,min:f,max:m,value:b,vertical:$,verticalReversed:S,scale:E,scaleSteps:y,scaleSubSteps:x,limitKnobPosition:R}=l.params;i(l,{app:e,$el:u,el:u[0],$inputEl:p,inputEl:p?p[0]:void 0,dual:g,step:v,label:h,min:f,max:m,value:b,previousValue:b,vertical:$,verticalReversed:S,scale:E,scaleSteps:y,scaleSubSteps:x,limitKnobPosition:R}),p&&("step min max".split(" ").forEach((e=>{!a[e]&&p.attr(e)&&(l.params[e]=parseFloat(p.attr(e)),l[e]=parseFloat(p.attr(e)))})),void 0!==p.val()&&(l.params.value=parseFloat(p.val()),l.value=parseFloat(p.val()))),l.dual&&u.addClass("range-slider-dual"),l.label&&u.addClass("range-slider-label"),l.vertical?(u.addClass("range-slider-vertical"),l.verticalReversed&&u.addClass("range-slider-vertical-reversed")):u.addClass("range-slider-horizontal");const k=t('<div class="range-bar"></div>'),M=t('<div class="range-bar-active"></div>');k.append(M);const C=`\n <div class="range-knob-wrap">\n <div class="range-knob"></div>\n ${l.label?'<div class="range-knob-label"></div>':""}\n </div>\n `,L=[t(C)];l.dual&&L.push(t(C)),u.append(k),L.forEach((e=>{u.append(e)}));const V=[];let W,T;l.label&&(V.push(L[0].find(".range-knob-label")),l.dual&&V.push(L[1].find(".range-knob-label"))),l.scale&&l.scaleSteps>=1&&(W=t(`\n <div class="range-scale">\n ${l.renderScale()}\n </div>\n `),u.append(W)),i(l,{knobs:L,labels:V,$barEl:k,$barActiveEl:M,$scaleEl:W}),u[0].f7Range=l;const w={};let z,H,P,F,A,B,D,K,X,Y,q;function O(){D=!0}function I(e){if(T)return;if(!l.params.draggableBar&&0===t(e.target).closest(".range-knob").length)return;let a;D=!1,w.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,w.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,"touchstart"===e.type&&(K=e.targetTouches[0].identifier),T=!0,z=void 0,H=u.offset(),P=H.left,F=H.top,l.vertical?(a=(w.y-F)/l.rangeHeight,l.verticalReversed||(a=1-a)):a=l.app.rtl?(P+l.rangeWidth-w.x)/l.rangeWidth:(w.x-P)/l.rangeWidth;let s=a*(l.max-l.min)+l.min;l.dual?Math.abs(l.value[0]-s)<Math.abs(l.value[1]-s)?(B=0,A=l.knobs[0],s=[s,l.value[1]]):(B=1,A=l.knobs[1],s=[l.value[0],s]):(A=l.knobs[0],s=a*(l.max-l.min)+l.min),o((()=>{T&&A.addClass("range-knob-active-state")}),70),l.on("change",O),l.setValue(s,!0)}function j(e){if(!T)return;let a,t,s;if("touchmove"===e.type)for(let l=0;l<e.targetTouches.length;l+=1)e.targetTouches[l].identifier===K&&(a=e.targetTouches[l].pageX,t=e.targetTouches[l].pageY);else a=e.pageX,t=e.pageY;if(void 0===a&&void 0===t)return;if(void 0!==z||l.vertical||(z=!!(z||Math.abs(t-w.y)>Math.abs(a-w.x))),z)return void(T=!1);e.preventDefault(),l.vertical?(s=(t-F)/l.rangeHeight,l.verticalReversed||(s=1-s)):s=l.app.rtl?(P+l.rangeWidth-a)/l.rangeWidth:(a-P)/l.rangeWidth;let n=s*(l.max-l.min)+l.min;if(l.dual){let e,a;0===B?(e=n,a=l.value[1],e>a&&(a=e)):(e=l.value[0],a=n,a<e&&(e=a)),n=[e,a]}l.setValue(n,!0)}function G(e){if("touchend"===e.type){let a;for(let t=0;t<e.changedTouches.length;t+=1)e.changedTouches[t].identifier===K&&(a=!0);if(!a)return}if(!T)return z&&A.removeClass("range-knob-active-state"),void(T=!1);l.off("change",O),T=!1,A.removeClass("range-knob-active-state"),D&&l.$inputEl&&!l.dual&&l.$inputEl.trigger("change"),D=!1,void 0!==l.previousValue&&(l.dual&&(l.previousValue[0]!==l.value[0]||l.previousValue[1]!==l.value[1])||!l.dual&&l.previousValue!==l.value)&&(l.$el.trigger("range:changed",l.value),l.emit("local::changed rangeChanged",l,l.value))}function J(){l.calcSize(),l.layout()}return l.attachEvents=function(){const a=!!n.passiveListener&&{passive:!0};l.$el.on(e.touchEvents.start,I,a),e.on("touchmove",j),e.on("touchend:passive",G),e.on("tabShow",J),e.on("resize",J),X=l.$el.parents(".sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast"),X.on("modal:open",J),Y=l.$el.parents(".panel"),Y.on("panel:open panel:resize",J),q=l.$el.parents(".page").eq(0),q.on("page:reinit",J)},l.detachEvents=function(){const a=!!n.passiveListener&&{passive:!0};l.$el.off(e.touchEvents.start,I,a),e.off("touchmove",j),e.off("touchend:passive",G),e.off("tabShow",J),e.off("resize",J),X&&X.off("modal:open",J),Y&&Y.off("panel:open panel:resize",J),q&&q.off("page:reinit",J),X=null,Y=null,q=null},l.useModules(),l.init(),l}calcSize(){const e=this;if(e.vertical){const a=e.$el.outerHeight();if(0===a)return;e.rangeHeight=a,e.knobHeight=e.knobs[0].outerHeight()}else{const a=e.$el.outerWidth();if(0===a)return;e.rangeWidth=a,e.knobWidth=e.knobs[0].outerWidth()}}layout(){const e=this,{app:a,knobWidth:t,knobHeight:l,rangeWidth:s,rangeHeight:n,min:r,max:i,knobs:o,$barActiveEl:c,value:u,label:d,labels:p,vertical:g,verticalReversed:v,limitKnobPosition:h}=e,f=g?l:t,m=g?n:s,b=g?v?"top":"bottom":a.rtl?"right":"left";if(e.dual){const a=[(u[0]-r)/(i-r),(u[1]-r)/(i-r)];c.css({[b]:100*a[0]+"%",[g?"height":"width"]:100*(a[1]-a[0])+"%"}),o.forEach(((t,l)=>{let s=m*a[l];if(h){const e=m*a[l]-f/2;e<0&&(s=f/2),e+f>m&&(s=m-f/2)}t.css(b,`${s}px`),d&&p[l].text(e.formatLabel(u[l],p[l][0]))}))}else{const a=(u-r)/(i-r);c.css(g?"height":"width",100*a+"%");let t=m*a;if(h){const e=m*a-f/2;e<0&&(t=f/2),e+f>m&&(t=m-f/2)}o[0].css(b,`${t}px`),d&&p[0].text(e.formatLabel(u,p[0][0]))}e.dual&&u.indexOf(r)>=0||!e.dual&&u===r?e.$el.addClass("range-slider-min"):e.$el.removeClass("range-slider-min"),e.dual&&u.indexOf(i)>=0||!e.dual&&u===i?e.$el.addClass("range-slider-max"):e.$el.removeClass("range-slider-max")}setValue(e,a){const t=this,{step:l,min:s,max:n}=t;let r,i;if(t.dual){i=[t.value[0],t.value[1]];let a=e;if(Array.isArray(a)||(a=[e,e]),e[0]>e[1]&&(a=[a[0],a[0]]),a=a.map((e=>Math.max(Math.min(Math.round(e/l)*l,n),s))),a[0]===t.value[0]&&a[1]===t.value[1])return t;a.forEach(((e,a)=>{t.value[a]=e})),r=i[0]!==a[0]||i[1]!==a[1],t.layout()}else{i=t.value;const a=Math.max(Math.min(Math.round(e/l)*l,n),s);t.value=a,t.layout(),r=i!==a}return r&&(t.previousValue=i),r?(t.$el.trigger("range:change",t.value),t.$inputEl&&!t.dual&&(t.$inputEl.val(t.value),a?t.$inputEl.trigger("input"):t.$inputEl.trigger("input change")),a||(t.$el.trigger("range:changed",t.value),t.emit("local::changed rangeChanged",t,t.value)),t.emit("local::change rangeChange",t,t.value),t):t}getValue(){return this.value}formatLabel(e,a){const t=this;return t.params.formatLabel?t.params.formatLabel.call(t,e,a):e}formatScaleLabel(e){const a=this;return a.params.formatScaleLabel?a.params.formatScaleLabel.call(a,e):e}renderScale(){const e=this,{app:a,verticalReversed:t,vertical:l}=e,s=l?t?"top":"bottom":a.rtl?"right":"left";let n="";return Array.from({length:e.scaleSteps+1}).forEach(((a,t)=>{const l=(e.max-e.min)/e.scaleSteps,r=e.min+l*t,i=(r-e.min)/(e.max-e.min);n+=`<div class="range-scale-step" style="${s}: ${100*i}%">${e.formatScaleLabel(r)}</div>`,e.scaleSubSteps&&e.scaleSubSteps>1&&t<e.scaleSteps&&Array.from({length:e.scaleSubSteps-1}).forEach(((a,t)=>{const i=l/e.scaleSubSteps,o=(r+i*(t+1)-e.min)/(e.max-e.min);n+=`<div class="range-scale-step range-scale-substep" style="${s}: ${100*o}%"></div>`}))})),n}updateScale(){const e=this;if(!e.scale||e.scaleSteps<1)return e.$scaleEl&&e.$scaleEl.remove(),void delete e.$scaleEl;e.$scaleEl||(e.$scaleEl=t('<div class="range-scale"></div>'),e.$el.append(e.$scaleEl)),e.$scaleEl.html(e.renderScale())}init(){const e=this;return e.calcSize(),e.layout(),e.attachEvents(),e}destroy(){let e=this;e.$el.trigger("range:beforedestroy"),e.emit("local::beforeDestroy rangeBeforeDestroy",e),delete e.$el[0].f7Range,e.detachEvents(),c(e),e=null}}var d={name:"range",create(){const e=this;e.range=i(r({defaultSelector:".range-slider",constructor:u,app:e,domProp:"f7Range"}),{getValue(a){void 0===a&&(a=".range-slider");const t=e.range.get(a);if(t)return t.getValue()},setValue(a,t){void 0===a&&(a=".range-slider");const l=e.range.get(a);if(l)return l.setValue(t)}})},static:{Range:u},on:{tabMounted(e){const a=this;t(e).find(".range-slider-init").each((e=>new u(a,{el:e})))},tabBeforeRemove(e){t(e).find(".range-slider-init").each((e=>{e.f7Range&&e.f7Range.destroy()}))},pageInit(e){const a=this;e.$el.find(".range-slider-init").each((e=>new u(a,{el:e})))},pageBeforeRemove(e){e.$el.find(".range-slider-init").each((e=>{e.f7Range&&e.f7Range.destroy()}))}},vnode:{"range-slider-init":{insert(e){const a=e.elm;this.range.create({el:a})},destroy(e){const a=e.elm;a.f7Range&&a.f7Range.destroy()}}}};if(a){if(e.prototype.modules&&e.prototype.modules[d.name])return;e.use(d),e.instance&&(e.instance.useModuleParams(d,e.instance.params),e.instance.useModule(d))}return d}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|
|
@@ -6,7 +6,11 @@ import { getDevice } from '../../shared/get-device.js';
|
|
|
6
6
|
import removeDiacritics from './remove-diacritics.js';
|
|
7
7
|
|
|
8
8
|
class Searchbar extends FrameworkClass {
|
|
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 sb = this;
|
|
12
16
|
const defaults = {
|
|
@@ -586,7 +590,7 @@ class Searchbar extends FrameworkClass {
|
|
|
586
590
|
foundItems = sb.virtualList.params.searchAll(vlQuery, sb.virtualList.items) || [];
|
|
587
591
|
} else if (sb.virtualList.params.searchByItem) {
|
|
588
592
|
for (let i = 0; i < sb.virtualList.items.length; i += 1) {
|
|
589
|
-
if (sb.virtualList.params.searchByItem(vlQuery, sb.virtualList.
|
|
593
|
+
if (sb.virtualList.params.searchByItem(vlQuery, sb.virtualList.items[i], i)) {
|
|
590
594
|
foundItems.push(i);
|
|
591
595
|
}
|
|
592
596
|
}
|
|
@@ -76,22 +76,38 @@ export default {
|
|
|
76
76
|
|
|
77
77
|
},
|
|
78
78
|
clicks: {
|
|
79
|
-
'.searchbar-clear': function clear($clickedEl, data
|
|
79
|
+
'.searchbar-clear': function clear($clickedEl, data) {
|
|
80
|
+
if (data === void 0) {
|
|
81
|
+
data = {};
|
|
82
|
+
}
|
|
83
|
+
|
|
80
84
|
const app = this;
|
|
81
85
|
const sb = app.searchbar.get(data.searchbar);
|
|
82
86
|
if (sb) sb.clear();
|
|
83
87
|
},
|
|
84
|
-
'.searchbar-enable': function enable($clickedEl, data
|
|
88
|
+
'.searchbar-enable': function enable($clickedEl, data) {
|
|
89
|
+
if (data === void 0) {
|
|
90
|
+
data = {};
|
|
91
|
+
}
|
|
92
|
+
|
|
85
93
|
const app = this;
|
|
86
94
|
const sb = app.searchbar.get(data.searchbar);
|
|
87
95
|
if (sb) sb.enable(true);
|
|
88
96
|
},
|
|
89
|
-
'.searchbar-disable': function disable($clickedEl, data
|
|
97
|
+
'.searchbar-disable': function disable($clickedEl, data) {
|
|
98
|
+
if (data === void 0) {
|
|
99
|
+
data = {};
|
|
100
|
+
}
|
|
101
|
+
|
|
90
102
|
const app = this;
|
|
91
103
|
const sb = app.searchbar.get(data.searchbar);
|
|
92
104
|
if (sb) sb.disable();
|
|
93
105
|
},
|
|
94
|
-
'.searchbar-toggle': function toggle($clickedEl, data
|
|
106
|
+
'.searchbar-toggle': function toggle($clickedEl, data) {
|
|
107
|
+
if (data === void 0) {
|
|
108
|
+
data = {};
|
|
109
|
+
}
|
|
110
|
+
|
|
95
111
|
const app = this;
|
|
96
112
|
const sb = app.searchbar.get(data.searchbar);
|
|
97
113
|
if (sb) sb.toggle();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function framework7ComponentLoader(e,a){void 0===a&&(a=!0);var r=e.$,s=e.utils,t=e.getDevice,l=(e.getSupport,e.Class),n=(e.Modal,e.ConstructorMethods),i=(e.ModalMethods,s.extend),o=s.nextTick,b=s.deleteProps;const c=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"Œ"},{base:"oe",letters:"œ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],h={};for(let e=0;e<c.length;e+=1){const a=c[e].letters;for(let r=0;r<a.length;r+=1)h[a[r]]=c[e].base}function d(e){return e.replace(/[^\u0000-\u007E]/g,(e=>h[e]||e))}class p extends l{constructor(e,a={}){super(a,[e]);const s=this,t={el:void 0,inputEl:void 0,inputEvents:"change input compositionend",disableButton:!0,disableButtonEl:void 0,backdropEl:void 0,searchContainer:void 0,searchItem:"li",searchIn:void 0,searchGroup:".list-group",searchGroupTitle:".item-divider, .list-group-title",ignore:".searchbar-ignore",foundEl:".searchbar-found",notFoundEl:".searchbar-not-found",hideOnEnableEl:".searchbar-hide-on-enable",hideOnSearchEl:".searchbar-hide-on-search",backdrop:void 0,removeDiacritics:!0,customSearch:!1,hideDividers:!0,hideGroups:!0,disableOnBackdropClick:!0,expandable:!1,inline:!1};s.useModulesParams(t),s.params=i(t,a);const l=r(s.params.el);if(0===l.length)return s;if(l[0].f7Searchbar)return l[0].f7Searchbar;let n;l[0].f7Searchbar=s;const o=l.parents(".navbar");if(l.parents(".page").length>0)n=l.parents(".page");else if(o.length>0&&(n=r(e.navbar.getPageByEl(o[0])),!n.length)){const e=l.parents(".view").find(".page-current");e[0]&&e[0].f7Page&&e[0].f7Page.navbarEl===o[0]&&(n=e)}let b,c,h,d;a.foundEl?b=r(a.foundEl):"string"==typeof s.params.foundEl&&n&&(b=n.find(s.params.foundEl)),a.notFoundEl?c=r(a.notFoundEl):"string"==typeof s.params.notFoundEl&&n&&(c=n.find(s.params.notFoundEl)),a.hideOnEnableEl?h=r(a.hideOnEnableEl):"string"==typeof s.params.hideOnEnableEl&&n&&(h=n.find(s.params.hideOnEnableEl)),a.hideOnSearchEl?d=r(a.hideOnSearchEl):"string"==typeof s.params.hideOnSearchEl&&n&&(d=n.find(s.params.hideOnSearchEl));const p=s.params.expandable||l.hasClass("searchbar-expandable"),u=s.params.inline||l.hasClass("searchbar-inline");let f,m,g,E;function v(e){e.preventDefault()}function $(e){s.enable(e),s.$el.addClass("searchbar-focused")}function C(){s.$el.removeClass("searchbar-focused"),"aurora"!==e.theme||E&&E.length&&s.params.disableButton||s.query||s.disable()}function y(){const e=s.$inputEl.val().trim();(s.$searchContainer&&s.$searchContainer.length>0&&(s.params.searchIn||s.isVirtualList||s.params.searchIn===s.params.searchItem)||s.params.customSearch)&&s.search(e,!0)}function k(e,a){s.$el.trigger("searchbar:clear",a),s.emit("local::clear searchbarClear",s,a)}function B(e){s.disable(e)}function x(){!s||s&&!s.$el||s.enabled&&(s.$el.removeClass("searchbar-enabled"),s.expandable&&s.$el.parents(".navbar").removeClass("with-searchbar-expandable-enabled with-searchbar-expandable-enabled-no-transition"))}function S(){!s||s&&!s.$el||s.enabled&&(s.$el.addClass("searchbar-enabled"),s.expandable&&s.$el.parents(".navbar").addClass("with-searchbar-expandable-enabled-no-transition"))}return void 0===s.params.backdrop&&(s.params.backdrop=!u&&"aurora"!==e.theme),s.params.backdrop&&(f=s.params.backdropEl?r(s.params.backdropEl):n&&n.length>0?n.find(".searchbar-backdrop"):l.siblings(".searchbar-backdrop"),0===f.length&&(f=r('<div class="searchbar-backdrop"></div>'),n&&n.length?l.parents(n).length>0&&o&&0===l.parents(o).length?f.insertBefore(l):f.insertBefore(n.find(".page-content").eq(0)):f.insertBefore(l))),s.params.searchContainer&&(m=r(s.params.searchContainer)),g=s.params.inputEl?r(s.params.inputEl):l.find('input[type="search"]').eq(0),s.params.disableButton&&(E=s.params.disableButtonEl?r(s.params.disableButtonEl):l.find(".searchbar-disable-button")),i(s,{app:e,view:e.views.get(l.parents(".view")),$el:l,el:l[0],$backdropEl:f,backdropEl:f&&f[0],$searchContainer:m,searchContainer:m&&m[0],$inputEl:g,inputEl:g[0],$disableButtonEl:E,disableButtonEl:E&&E[0],disableButtonHasMargin:!1,$pageEl:n,pageEl:n&&n[0],$navbarEl:o,navbarEl:o&&o[0],$foundEl:b,foundEl:b&&b[0],$notFoundEl:c,notFoundEl:c&&c[0],$hideOnEnableEl:h,hideOnEnableEl:h&&h[0],$hideOnSearchEl:d,hideOnSearchEl:d&&d[0],previousQuery:"",query:"",isVirtualList:m&&m.hasClass("virtual-list"),virtualList:void 0,enabled:!1,expandable:p,inline:u}),s.attachEvents=function(){l.on("submit",v),s.params.disableButton&&s.$disableButtonEl.on("click",B),s.params.disableOnBackdropClick&&s.$backdropEl&&s.$backdropEl.on("click",B),s.expandable&&"ios"===e.theme&&s.view&&o.length&&s.$pageEl&&(s.$pageEl.on("page:beforeout",x),s.$pageEl.on("page:beforein",S)),s.$inputEl.on("focus",$),s.$inputEl.on("blur",C),s.$inputEl.on(s.params.inputEvents,y),s.$inputEl.on("input:clear",k)},s.detachEvents=function(){l.off("submit",v),s.params.disableButton&&s.$disableButtonEl.off("click",B),s.params.disableOnBackdropClick&&s.$backdropEl&&s.$backdropEl.off("click",B),s.expandable&&"ios"===e.theme&&s.view&&o.length&&s.$pageEl&&(s.$pageEl.off("page:beforeout",x),s.$pageEl.off("page:beforein",S)),s.$inputEl.off("focus",$),s.$inputEl.off("blur",C),s.$inputEl.off(s.params.inputEvents,y),s.$inputEl.off("input:clear",k)},s.useModules(),s.init(),s}clear(e){const a=this;if(!a.query&&e&&r(e.target).hasClass("searchbar-clear"))return a.disable(),a;const s=a.value;return a.$inputEl.val("").trigger("change").focus(),a.$el.trigger("searchbar:clear",s),a.emit("local::clear searchbarClear",a,s),a}setDisableButtonMargin(){const e=this;if(e.expandable)return;const a=e.app;e.$disableButtonEl.transition(0).show(),e.$disableButtonEl.css("margin-"+(a.rtl?"left":"right"),-e.disableButtonEl.offsetWidth+"px"),e._clientLeft=e.$disableButtonEl[0].clientLeft,e.$disableButtonEl.transition(""),e.disableButtonHasMargin=!0}enable(e){const a=this;if(a.enabled)return a;const r=a.app,s=getDocument(),l=t();function n(){if(a.$backdropEl&&(a.$searchContainer&&a.$searchContainer.length||a.params.customSearch)&&!a.$el.hasClass("searchbar-enabled")&&!a.query&&a.backdropShow(),a.$el.addClass("searchbar-enabled"),(!a.$disableButtonEl||a.$disableButtonEl&&0===a.$disableButtonEl.length)&&a.$el.addClass("searchbar-enabled-no-disable-button"),!a.expandable&&a.$disableButtonEl&&a.$disableButtonEl.length>0&&"md"!==r.theme&&(a.disableButtonHasMargin||a.setDisableButtonMargin(),a.$disableButtonEl.css("margin-"+(r.rtl?"left":"right"),"0px")),a.expandable){const e=a.$el.parents(".navbar");if(e.hasClass("navbar-large")&&a.$pageEl){const r=a.$pageEl.find(".page-content"),s=e.find(".title-large");r.addClass("with-searchbar-expandable-enabled"),e.hasClass("navbar-large")&&e.hasClass("navbar-large-collapsed")&&s.length&&r.length&&(r.transition(0),r[0].scrollTop-=s[0].offsetHeight,setTimeout((()=>{r.transition("")}),200))}"md"===r.theme&&e.length?e.addClass("with-searchbar-expandable-enabled"):(e.addClass("with-searchbar-expandable-enabled"),e.hasClass("navbar-large")&&e.addClass("navbar-large-collapsed"))}a.$hideOnEnableEl&&a.$hideOnEnableEl.addClass("hidden-by-searchbar"),a.$el.trigger("searchbar:enable"),a.emit("local::enable searchbarEnable",a)}a.enabled=!0;let i=!1;!0===e&&s.activeElement!==a.inputEl&&(i=!0);return l.ios&&"ios"===r.theme?a.expandable?(i&&a.$inputEl.focus(),n()):(i&&a.$inputEl.focus(),!e||"focus"!==e.type&&!0!==e?n():o((()=>{n()}),400)):(i&&a.$inputEl.focus(),"md"===r.theme&&a.expandable&&a.$el.parents(".page, .view, .navbar-inner, .navbar").scrollLeft(r.rtl?100:0),n()),a}disable(){const e=this;if(!e.enabled)return e;const a=e.app;if(e.$inputEl.val("").trigger("change"),e.$el.removeClass("searchbar-enabled searchbar-focused searchbar-enabled-no-disable-button"),e.expandable){const r=e.$el.parents(".navbar"),s=e.$pageEl&&e.$pageEl.find(".page-content");if(r.hasClass("navbar-large")&&s.length){const a=r.find(".title-large");if(e.$el.transitionEnd((()=>{s.removeClass("with-searchbar-expandable-closing")})),r.hasClass("navbar-large")&&r.hasClass("navbar-large-collapsed")&&a.length){const e=s[0].scrollTop,r=a[0].offsetHeight;e>r&&(s.transition(0),s[0].scrollTop=e+r,setTimeout((()=>{s.transition("")}),200))}s.removeClass("with-searchbar-expandable-enabled").addClass("with-searchbar-expandable-closing")}"md"===a.theme&&r.length?(r.removeClass("with-searchbar-expandable-enabled with-searchbar-expandable-enabled-no-transition").addClass("with-searchbar-expandable-closing"),e.$el.transitionEnd((()=>{r.removeClass("with-searchbar-expandable-closing")}))):(r.removeClass("with-searchbar-expandable-enabled with-searchbar-expandable-enabled-no-transition").addClass("with-searchbar-expandable-closing"),e.$el.transitionEnd((()=>{r.removeClass("with-searchbar-expandable-closing")})),e.$pageEl&&e.$pageEl.find(".page-content").trigger("scroll"))}return!e.expandable&&e.$disableButtonEl&&e.$disableButtonEl.length>0&&"md"!==a.theme&&e.$disableButtonEl.css("margin-"+(a.rtl?"left":"right"),-e.disableButtonEl.offsetWidth+"px"),e.$backdropEl&&(e.$searchContainer&&e.$searchContainer.length||e.params.customSearch)&&e.backdropHide(),e.enabled=!1,e.$inputEl.blur(),e.$hideOnEnableEl&&e.$hideOnEnableEl.removeClass("hidden-by-searchbar"),e.$el.trigger("searchbar:disable"),e.emit("local::disable searchbarDisable",e),e}toggle(){const e=this;return e.enabled?e.disable():e.enable(!0),e}backdropShow(){const e=this;return e.$backdropEl&&e.$backdropEl.addClass("searchbar-backdrop-in"),e}backdropHide(){const e=this;return e.$backdropEl&&e.$backdropEl.removeClass("searchbar-backdrop-in"),e}search(e,a){const s=this;if(s.previousQuery=s.query||"",e===s.previousQuery)return s;a||(s.enabled||s.enable(),s.$inputEl.val(e),s.$inputEl.trigger("input")),s.query=e,s.value=e;const{$searchContainer:t,$el:l,$foundEl:n,$notFoundEl:i,$hideOnSearchEl:o,isVirtualList:b}=s;if(e.length>0&&o?o.addClass("hidden-by-searchbar"):o&&o.removeClass("hidden-by-searchbar"),(t&&t.length&&l.hasClass("searchbar-enabled")||s.params.customSearch&&l.hasClass("searchbar-enabled"))&&(0===e.length?s.backdropShow():s.backdropHide()),s.params.customSearch)return l.trigger("searchbar:search",{query:e,previousQuery:s.previousQuery}),s.emit("local::search searchbarSearch",s,e,s.previousQuery),s;let c,h=[];if(b){if(s.virtualList=t[0].f7VirtualList,""===e.trim())return s.virtualList.resetFilter(),i&&i.hide(),n&&n.show(),l.trigger("searchbar:search",{query:e,previousQuery:s.previousQuery}),s.emit("local::search searchbarSearch",s,e,s.previousQuery),s;if(c=s.params.removeDiacritics?d(e):e,s.virtualList.params.searchAll)h=s.virtualList.params.searchAll(c,s.virtualList.items)||[];else if(s.virtualList.params.searchByItem)for(let e=0;e<s.virtualList.items.length;e+=1)s.virtualList.params.searchByItem(c,s.virtualList.params.items[e],e)&&h.push(e)}else{let a;a=s.params.removeDiacritics?d(e.trim().toLowerCase()).split(" "):e.trim().toLowerCase().split(" "),t.find(s.params.searchItem).removeClass("hidden-by-searchbar").each((e=>{const t=r(e);let l=[],n=s.params.searchIn?t.find(s.params.searchIn):t;s.params.searchIn===s.params.searchItem&&(n=t),n.each((e=>{let a=r(e).text().trim().toLowerCase();s.params.removeDiacritics&&(a=d(a)),l.push(a)})),l=l.join(" ");let i=0;for(let e=0;e<a.length;e+=1)l.indexOf(a[e])>=0&&(i+=1);i===a.length||s.params.ignore&&t.is(s.params.ignore)?h.push(t[0]):t.addClass("hidden-by-searchbar")})),s.params.hideDividers&&t.find(s.params.searchGroupTitle).each((e=>{const a=r(e),t=a.nextAll(s.params.searchItem);let l=!0;for(let e=0;e<t.length;e+=1){const a=t.eq(e);if(a.is(s.params.searchGroupTitle))break;a.hasClass("hidden-by-searchbar")||(l=!1)}const n=s.params.ignore&&a.is(s.params.ignore);l&&!n?a.addClass("hidden-by-searchbar"):a.removeClass("hidden-by-searchbar")})),s.params.hideGroups&&t.find(s.params.searchGroup).each((e=>{const a=r(e),t=s.params.ignore&&a.is(s.params.ignore);0!==a.find(s.params.searchItem).filter((e=>!r(e).hasClass("hidden-by-searchbar"))).length||t?a.removeClass("hidden-by-searchbar"):a.addClass("hidden-by-searchbar")}))}return 0===h.length?(i&&i.show(),n&&n.hide()):(i&&i.hide(),n&&n.show()),b&&s.virtualList&&s.virtualList.filterItems(h),l.trigger("searchbar:search",{query:e,previousQuery:s.previousQuery,foundItems:h}),s.emit("local::search searchbarSearch",s,e,s.previousQuery,h),s}init(){const e=this;e.expandable&&e.$el&&e.$el.addClass("searchbar-expandable"),e.inline&&e.$el&&e.$el.addClass("searchbar-inline"),e.attachEvents()}destroy(){const e=this;e.emit("local::beforeDestroy searchbarBeforeDestroy",e),e.$el.trigger("searchbar:beforedestroy"),e.detachEvents(),e.$el[0]&&(e.$el[0].f7Searchbar=null,delete e.$el[0].f7Searchbar),b(e)}}var u={name:"searchbar",static:{Searchbar:p},create(){this.searchbar=n({defaultSelector:".searchbar",constructor:p,app:this,domProp:"f7Searchbar",addMethods:"clear enable disable toggle search".split(" ")})},on:{tabMounted(e){const a=this;r(e).find(".searchbar-init").each((e=>{const s=r(e);a.searchbar.create(i(s.dataset(),{el:e}))}))},tabBeforeRemove(e){r(e).find(".searchbar-init").each((e=>{e.f7Searchbar&&e.f7Searchbar.destroy&&e.f7Searchbar.destroy()}))},pageInit(e){const a=this;e.$el.find(".searchbar-init").each((e=>{const s=r(e);a.searchbar.create(i(s.dataset(),{el:e}))})),"ios"===a.theme&&e.view&&e.view.router.dynamicNavbar&&e.$navbarEl&&e.$navbarEl.length>0&&e.$navbarEl.find(".searchbar-init").each((e=>{const s=r(e);a.searchbar.create(i(s.dataset(),{el:e}))}))},pageBeforeRemove(e){e.$el.find(".searchbar-init").each((e=>{e.f7Searchbar&&e.f7Searchbar.destroy&&e.f7Searchbar.destroy()})),"ios"===this.theme&&e.view&&e.view.router.dynamicNavbar&&e.$navbarEl&&e.$navbarEl.length>0&&e.$navbarEl.find(".searchbar-init").each((e=>{e.f7Searchbar&&e.f7Searchbar.destroy&&e.f7Searchbar.destroy()}))}},clicks:{".searchbar-clear":function(e,a={}){const r=this.searchbar.get(a.searchbar);r&&r.clear()},".searchbar-enable":function(e,a={}){const r=this.searchbar.get(a.searchbar);r&&r.enable(!0)},".searchbar-disable":function(e,a={}){const r=this.searchbar.get(a.searchbar);r&&r.disable()},".searchbar-toggle":function(e,a={}){const r=this.searchbar.get(a.searchbar);r&&r.toggle()}},vnode:{"searchbar-init":{insert(e){const a=e.elm,s=r(a);this.searchbar.create(i(s.dataset(),{el:a}))},destroy(e){const a=e.elm;a.f7Searchbar&&a.f7Searchbar.destroy&&a.f7Searchbar.destroy()}}}};if(a){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,a){void 0===a&&(a=!0);var r=e.$,s=e.utils,t=e.getDevice,l=(e.getSupport,e.Class),n=(e.Modal,e.ConstructorMethods),i=(e.ModalMethods,s.extend),o=s.nextTick,b=s.deleteProps;const c=[{base:"A",letters:"AⒶAÀÁÂẦẤẪẨÃĀĂẰẮẴẲȦǠÄǞẢÅǺǍȀȂẠẬẶḀĄȺⱯ"},{base:"AA",letters:"Ꜳ"},{base:"AE",letters:"ÆǼǢ"},{base:"AO",letters:"Ꜵ"},{base:"AU",letters:"Ꜷ"},{base:"AV",letters:"ꜸꜺ"},{base:"AY",letters:"Ꜽ"},{base:"B",letters:"BⒷBḂḄḆɃƂƁ"},{base:"C",letters:"CⒸCĆĈĊČÇḈƇȻꜾ"},{base:"D",letters:"DⒹDḊĎḌḐḒḎĐƋƊƉꝹ"},{base:"DZ",letters:"DZDŽ"},{base:"Dz",letters:"DzDž"},{base:"E",letters:"EⒺEÈÉÊỀẾỄỂẼĒḔḖĔĖËẺĚȄȆẸỆȨḜĘḘḚƐƎ"},{base:"F",letters:"FⒻFḞƑꝻ"},{base:"G",letters:"GⒼGǴĜḠĞĠǦĢǤƓꞠꝽꝾ"},{base:"H",letters:"HⒽHĤḢḦȞḤḨḪĦⱧⱵꞍ"},{base:"I",letters:"IⒾIÌÍÎĨĪĬİÏḮỈǏȈȊỊĮḬƗ"},{base:"J",letters:"JⒿJĴɈ"},{base:"K",letters:"KⓀKḰǨḲĶḴƘⱩꝀꝂꝄꞢ"},{base:"L",letters:"LⓁLĿĹĽḶḸĻḼḺŁȽⱢⱠꝈꝆꞀ"},{base:"LJ",letters:"LJ"},{base:"Lj",letters:"Lj"},{base:"M",letters:"MⓂMḾṀṂⱮƜ"},{base:"N",letters:"NⓃNǸŃÑṄŇṆŅṊṈȠƝꞐꞤ"},{base:"NJ",letters:"NJ"},{base:"Nj",letters:"Nj"},{base:"O",letters:"OⓄOÒÓÔỒỐỖỔÕṌȬṎŌṐṒŎȮȰÖȪỎŐǑȌȎƠỜỚỠỞỢỌỘǪǬØǾƆƟꝊꝌ"},{base:"OI",letters:"Ƣ"},{base:"OO",letters:"Ꝏ"},{base:"OU",letters:"Ȣ"},{base:"OE",letters:"Œ"},{base:"oe",letters:"œ"},{base:"P",letters:"PⓅPṔṖƤⱣꝐꝒꝔ"},{base:"Q",letters:"QⓆQꝖꝘɊ"},{base:"R",letters:"RⓇRŔṘŘȐȒṚṜŖṞɌⱤꝚꞦꞂ"},{base:"S",letters:"SⓈSẞŚṤŜṠŠṦṢṨȘŞⱾꞨꞄ"},{base:"T",letters:"TⓉTṪŤṬȚŢṰṮŦƬƮȾꞆ"},{base:"TZ",letters:"Ꜩ"},{base:"U",letters:"UⓊUÙÚÛŨṸŪṺŬÜǛǗǕǙỦŮŰǓȔȖƯỪỨỮỬỰỤṲŲṶṴɄ"},{base:"V",letters:"VⓋVṼṾƲꝞɅ"},{base:"VY",letters:"Ꝡ"},{base:"W",letters:"WⓌWẀẂŴẆẄẈⱲ"},{base:"X",letters:"XⓍXẊẌ"},{base:"Y",letters:"YⓎYỲÝŶỸȲẎŸỶỴƳɎỾ"},{base:"Z",letters:"ZⓏZŹẐŻŽẒẔƵȤⱿⱫꝢ"},{base:"a",letters:"aⓐaẚàáâầấẫẩãāăằắẵẳȧǡäǟảåǻǎȁȃạậặḁąⱥɐ"},{base:"aa",letters:"ꜳ"},{base:"ae",letters:"æǽǣ"},{base:"ao",letters:"ꜵ"},{base:"au",letters:"ꜷ"},{base:"av",letters:"ꜹꜻ"},{base:"ay",letters:"ꜽ"},{base:"b",letters:"bⓑbḃḅḇƀƃɓ"},{base:"c",letters:"cⓒcćĉċčçḉƈȼꜿↄ"},{base:"d",letters:"dⓓdḋďḍḑḓḏđƌɖɗꝺ"},{base:"dz",letters:"dzdž"},{base:"e",letters:"eⓔeèéêềếễểẽēḕḗĕėëẻěȅȇẹệȩḝęḙḛɇɛǝ"},{base:"f",letters:"fⓕfḟƒꝼ"},{base:"g",letters:"gⓖgǵĝḡğġǧģǥɠꞡᵹꝿ"},{base:"h",letters:"hⓗhĥḣḧȟḥḩḫẖħⱨⱶɥ"},{base:"hv",letters:"ƕ"},{base:"i",letters:"iⓘiìíîĩīĭïḯỉǐȉȋịįḭɨı"},{base:"j",letters:"jⓙjĵǰɉ"},{base:"k",letters:"kⓚkḱǩḳķḵƙⱪꝁꝃꝅꞣ"},{base:"l",letters:"lⓛlŀĺľḷḹļḽḻſłƚɫⱡꝉꞁꝇ"},{base:"lj",letters:"lj"},{base:"m",letters:"mⓜmḿṁṃɱɯ"},{base:"n",letters:"nⓝnǹńñṅňṇņṋṉƞɲʼnꞑꞥ"},{base:"nj",letters:"nj"},{base:"o",letters:"oⓞoòóôồốỗổõṍȭṏōṑṓŏȯȱöȫỏőǒȍȏơờớỡởợọộǫǭøǿɔꝋꝍɵ"},{base:"oi",letters:"ƣ"},{base:"ou",letters:"ȣ"},{base:"oo",letters:"ꝏ"},{base:"p",letters:"pⓟpṕṗƥᵽꝑꝓꝕ"},{base:"q",letters:"qⓠqɋꝗꝙ"},{base:"r",letters:"rⓡrŕṙřȑȓṛṝŗṟɍɽꝛꞧꞃ"},{base:"s",letters:"sⓢsßśṥŝṡšṧṣṩșşȿꞩꞅẛ"},{base:"t",letters:"tⓣtṫẗťṭțţṱṯŧƭʈⱦꞇ"},{base:"tz",letters:"ꜩ"},{base:"u",letters:"uⓤuùúûũṹūṻŭüǜǘǖǚủůűǔȕȗưừứữửựụṳųṷṵʉ"},{base:"v",letters:"vⓥvṽṿʋꝟʌ"},{base:"vy",letters:"ꝡ"},{base:"w",letters:"wⓦwẁẃŵẇẅẘẉⱳ"},{base:"x",letters:"xⓧxẋẍ"},{base:"y",letters:"yⓨyỳýŷỹȳẏÿỷẙỵƴɏỿ"},{base:"z",letters:"zⓩzźẑżžẓẕƶȥɀⱬꝣ"}],d={};for(let e=0;e<c.length;e+=1){const a=c[e].letters;for(let r=0;r<a.length;r+=1)d[a[r]]=c[e].base}function h(e){return e.replace(/[^\u0000-\u007E]/g,(e=>d[e]||e))}class p extends l{constructor(e,a){void 0===a&&(a={}),super(a,[e]);const s=this,t={el:void 0,inputEl:void 0,inputEvents:"change input compositionend",disableButton:!0,disableButtonEl:void 0,backdropEl:void 0,searchContainer:void 0,searchItem:"li",searchIn:void 0,searchGroup:".list-group",searchGroupTitle:".item-divider, .list-group-title",ignore:".searchbar-ignore",foundEl:".searchbar-found",notFoundEl:".searchbar-not-found",hideOnEnableEl:".searchbar-hide-on-enable",hideOnSearchEl:".searchbar-hide-on-search",backdrop:void 0,removeDiacritics:!0,customSearch:!1,hideDividers:!0,hideGroups:!0,disableOnBackdropClick:!0,expandable:!1,inline:!1};s.useModulesParams(t),s.params=i(t,a);const l=r(s.params.el);if(0===l.length)return s;if(l[0].f7Searchbar)return l[0].f7Searchbar;let n;l[0].f7Searchbar=s;const o=l.parents(".navbar");if(l.parents(".page").length>0)n=l.parents(".page");else if(o.length>0&&(n=r(e.navbar.getPageByEl(o[0])),!n.length)){const e=l.parents(".view").find(".page-current");e[0]&&e[0].f7Page&&e[0].f7Page.navbarEl===o[0]&&(n=e)}let b,c,d,h;a.foundEl?b=r(a.foundEl):"string"==typeof s.params.foundEl&&n&&(b=n.find(s.params.foundEl)),a.notFoundEl?c=r(a.notFoundEl):"string"==typeof s.params.notFoundEl&&n&&(c=n.find(s.params.notFoundEl)),a.hideOnEnableEl?d=r(a.hideOnEnableEl):"string"==typeof s.params.hideOnEnableEl&&n&&(d=n.find(s.params.hideOnEnableEl)),a.hideOnSearchEl?h=r(a.hideOnSearchEl):"string"==typeof s.params.hideOnSearchEl&&n&&(h=n.find(s.params.hideOnSearchEl));const p=s.params.expandable||l.hasClass("searchbar-expandable"),u=s.params.inline||l.hasClass("searchbar-inline");let f,m,g,E;function v(e){e.preventDefault()}function $(e){s.enable(e),s.$el.addClass("searchbar-focused")}function C(){s.$el.removeClass("searchbar-focused"),"aurora"!==e.theme||E&&E.length&&s.params.disableButton||s.query||s.disable()}function y(){const e=s.$inputEl.val().trim();(s.$searchContainer&&s.$searchContainer.length>0&&(s.params.searchIn||s.isVirtualList||s.params.searchIn===s.params.searchItem)||s.params.customSearch)&&s.search(e,!0)}function k(e,a){s.$el.trigger("searchbar:clear",a),s.emit("local::clear searchbarClear",s,a)}function B(e){s.disable(e)}function x(){!s||s&&!s.$el||s.enabled&&(s.$el.removeClass("searchbar-enabled"),s.expandable&&s.$el.parents(".navbar").removeClass("with-searchbar-expandable-enabled with-searchbar-expandable-enabled-no-transition"))}function S(){!s||s&&!s.$el||s.enabled&&(s.$el.addClass("searchbar-enabled"),s.expandable&&s.$el.parents(".navbar").addClass("with-searchbar-expandable-enabled-no-transition"))}return void 0===s.params.backdrop&&(s.params.backdrop=!u&&"aurora"!==e.theme),s.params.backdrop&&(f=s.params.backdropEl?r(s.params.backdropEl):n&&n.length>0?n.find(".searchbar-backdrop"):l.siblings(".searchbar-backdrop"),0===f.length&&(f=r('<div class="searchbar-backdrop"></div>'),n&&n.length?l.parents(n).length>0&&o&&0===l.parents(o).length?f.insertBefore(l):f.insertBefore(n.find(".page-content").eq(0)):f.insertBefore(l))),s.params.searchContainer&&(m=r(s.params.searchContainer)),g=s.params.inputEl?r(s.params.inputEl):l.find('input[type="search"]').eq(0),s.params.disableButton&&(E=s.params.disableButtonEl?r(s.params.disableButtonEl):l.find(".searchbar-disable-button")),i(s,{app:e,view:e.views.get(l.parents(".view")),$el:l,el:l[0],$backdropEl:f,backdropEl:f&&f[0],$searchContainer:m,searchContainer:m&&m[0],$inputEl:g,inputEl:g[0],$disableButtonEl:E,disableButtonEl:E&&E[0],disableButtonHasMargin:!1,$pageEl:n,pageEl:n&&n[0],$navbarEl:o,navbarEl:o&&o[0],$foundEl:b,foundEl:b&&b[0],$notFoundEl:c,notFoundEl:c&&c[0],$hideOnEnableEl:d,hideOnEnableEl:d&&d[0],$hideOnSearchEl:h,hideOnSearchEl:h&&h[0],previousQuery:"",query:"",isVirtualList:m&&m.hasClass("virtual-list"),virtualList:void 0,enabled:!1,expandable:p,inline:u}),s.attachEvents=function(){l.on("submit",v),s.params.disableButton&&s.$disableButtonEl.on("click",B),s.params.disableOnBackdropClick&&s.$backdropEl&&s.$backdropEl.on("click",B),s.expandable&&"ios"===e.theme&&s.view&&o.length&&s.$pageEl&&(s.$pageEl.on("page:beforeout",x),s.$pageEl.on("page:beforein",S)),s.$inputEl.on("focus",$),s.$inputEl.on("blur",C),s.$inputEl.on(s.params.inputEvents,y),s.$inputEl.on("input:clear",k)},s.detachEvents=function(){l.off("submit",v),s.params.disableButton&&s.$disableButtonEl.off("click",B),s.params.disableOnBackdropClick&&s.$backdropEl&&s.$backdropEl.off("click",B),s.expandable&&"ios"===e.theme&&s.view&&o.length&&s.$pageEl&&(s.$pageEl.off("page:beforeout",x),s.$pageEl.off("page:beforein",S)),s.$inputEl.off("focus",$),s.$inputEl.off("blur",C),s.$inputEl.off(s.params.inputEvents,y),s.$inputEl.off("input:clear",k)},s.useModules(),s.init(),s}clear(e){const a=this;if(!a.query&&e&&r(e.target).hasClass("searchbar-clear"))return a.disable(),a;const s=a.value;return a.$inputEl.val("").trigger("change").focus(),a.$el.trigger("searchbar:clear",s),a.emit("local::clear searchbarClear",a,s),a}setDisableButtonMargin(){const e=this;if(e.expandable)return;const a=e.app;e.$disableButtonEl.transition(0).show(),e.$disableButtonEl.css("margin-"+(a.rtl?"left":"right"),-e.disableButtonEl.offsetWidth+"px"),e._clientLeft=e.$disableButtonEl[0].clientLeft,e.$disableButtonEl.transition(""),e.disableButtonHasMargin=!0}enable(e){const a=this;if(a.enabled)return a;const r=a.app,s=getDocument(),l=t();function n(){if(a.$backdropEl&&(a.$searchContainer&&a.$searchContainer.length||a.params.customSearch)&&!a.$el.hasClass("searchbar-enabled")&&!a.query&&a.backdropShow(),a.$el.addClass("searchbar-enabled"),(!a.$disableButtonEl||a.$disableButtonEl&&0===a.$disableButtonEl.length)&&a.$el.addClass("searchbar-enabled-no-disable-button"),!a.expandable&&a.$disableButtonEl&&a.$disableButtonEl.length>0&&"md"!==r.theme&&(a.disableButtonHasMargin||a.setDisableButtonMargin(),a.$disableButtonEl.css("margin-"+(r.rtl?"left":"right"),"0px")),a.expandable){const e=a.$el.parents(".navbar");if(e.hasClass("navbar-large")&&a.$pageEl){const r=a.$pageEl.find(".page-content"),s=e.find(".title-large");r.addClass("with-searchbar-expandable-enabled"),e.hasClass("navbar-large")&&e.hasClass("navbar-large-collapsed")&&s.length&&r.length&&(r.transition(0),r[0].scrollTop-=s[0].offsetHeight,setTimeout((()=>{r.transition("")}),200))}"md"===r.theme&&e.length?e.addClass("with-searchbar-expandable-enabled"):(e.addClass("with-searchbar-expandable-enabled"),e.hasClass("navbar-large")&&e.addClass("navbar-large-collapsed"))}a.$hideOnEnableEl&&a.$hideOnEnableEl.addClass("hidden-by-searchbar"),a.$el.trigger("searchbar:enable"),a.emit("local::enable searchbarEnable",a)}a.enabled=!0;let i=!1;!0===e&&s.activeElement!==a.inputEl&&(i=!0);return l.ios&&"ios"===r.theme?a.expandable?(i&&a.$inputEl.focus(),n()):(i&&a.$inputEl.focus(),!e||"focus"!==e.type&&!0!==e?n():o((()=>{n()}),400)):(i&&a.$inputEl.focus(),"md"===r.theme&&a.expandable&&a.$el.parents(".page, .view, .navbar-inner, .navbar").scrollLeft(r.rtl?100:0),n()),a}disable(){const e=this;if(!e.enabled)return e;const a=e.app;if(e.$inputEl.val("").trigger("change"),e.$el.removeClass("searchbar-enabled searchbar-focused searchbar-enabled-no-disable-button"),e.expandable){const r=e.$el.parents(".navbar"),s=e.$pageEl&&e.$pageEl.find(".page-content");if(r.hasClass("navbar-large")&&s.length){const a=r.find(".title-large");if(e.$el.transitionEnd((()=>{s.removeClass("with-searchbar-expandable-closing")})),r.hasClass("navbar-large")&&r.hasClass("navbar-large-collapsed")&&a.length){const e=s[0].scrollTop,r=a[0].offsetHeight;e>r&&(s.transition(0),s[0].scrollTop=e+r,setTimeout((()=>{s.transition("")}),200))}s.removeClass("with-searchbar-expandable-enabled").addClass("with-searchbar-expandable-closing")}"md"===a.theme&&r.length?(r.removeClass("with-searchbar-expandable-enabled with-searchbar-expandable-enabled-no-transition").addClass("with-searchbar-expandable-closing"),e.$el.transitionEnd((()=>{r.removeClass("with-searchbar-expandable-closing")}))):(r.removeClass("with-searchbar-expandable-enabled with-searchbar-expandable-enabled-no-transition").addClass("with-searchbar-expandable-closing"),e.$el.transitionEnd((()=>{r.removeClass("with-searchbar-expandable-closing")})),e.$pageEl&&e.$pageEl.find(".page-content").trigger("scroll"))}return!e.expandable&&e.$disableButtonEl&&e.$disableButtonEl.length>0&&"md"!==a.theme&&e.$disableButtonEl.css("margin-"+(a.rtl?"left":"right"),-e.disableButtonEl.offsetWidth+"px"),e.$backdropEl&&(e.$searchContainer&&e.$searchContainer.length||e.params.customSearch)&&e.backdropHide(),e.enabled=!1,e.$inputEl.blur(),e.$hideOnEnableEl&&e.$hideOnEnableEl.removeClass("hidden-by-searchbar"),e.$el.trigger("searchbar:disable"),e.emit("local::disable searchbarDisable",e),e}toggle(){const e=this;return e.enabled?e.disable():e.enable(!0),e}backdropShow(){const e=this;return e.$backdropEl&&e.$backdropEl.addClass("searchbar-backdrop-in"),e}backdropHide(){const e=this;return e.$backdropEl&&e.$backdropEl.removeClass("searchbar-backdrop-in"),e}search(e,a){const s=this;if(s.previousQuery=s.query||"",e===s.previousQuery)return s;a||(s.enabled||s.enable(),s.$inputEl.val(e),s.$inputEl.trigger("input")),s.query=e,s.value=e;const{$searchContainer:t,$el:l,$foundEl:n,$notFoundEl:i,$hideOnSearchEl:o,isVirtualList:b}=s;if(e.length>0&&o?o.addClass("hidden-by-searchbar"):o&&o.removeClass("hidden-by-searchbar"),(t&&t.length&&l.hasClass("searchbar-enabled")||s.params.customSearch&&l.hasClass("searchbar-enabled"))&&(0===e.length?s.backdropShow():s.backdropHide()),s.params.customSearch)return l.trigger("searchbar:search",{query:e,previousQuery:s.previousQuery}),s.emit("local::search searchbarSearch",s,e,s.previousQuery),s;let c,d=[];if(b){if(s.virtualList=t[0].f7VirtualList,""===e.trim())return s.virtualList.resetFilter(),i&&i.hide(),n&&n.show(),l.trigger("searchbar:search",{query:e,previousQuery:s.previousQuery}),s.emit("local::search searchbarSearch",s,e,s.previousQuery),s;if(c=s.params.removeDiacritics?h(e):e,s.virtualList.params.searchAll)d=s.virtualList.params.searchAll(c,s.virtualList.items)||[];else if(s.virtualList.params.searchByItem)for(let e=0;e<s.virtualList.items.length;e+=1)s.virtualList.params.searchByItem(c,s.virtualList.items[e],e)&&d.push(e)}else{let a;a=s.params.removeDiacritics?h(e.trim().toLowerCase()).split(" "):e.trim().toLowerCase().split(" "),t.find(s.params.searchItem).removeClass("hidden-by-searchbar").each((e=>{const t=r(e);let l=[],n=s.params.searchIn?t.find(s.params.searchIn):t;s.params.searchIn===s.params.searchItem&&(n=t),n.each((e=>{let a=r(e).text().trim().toLowerCase();s.params.removeDiacritics&&(a=h(a)),l.push(a)})),l=l.join(" ");let i=0;for(let e=0;e<a.length;e+=1)l.indexOf(a[e])>=0&&(i+=1);i===a.length||s.params.ignore&&t.is(s.params.ignore)?d.push(t[0]):t.addClass("hidden-by-searchbar")})),s.params.hideDividers&&t.find(s.params.searchGroupTitle).each((e=>{const a=r(e),t=a.nextAll(s.params.searchItem);let l=!0;for(let e=0;e<t.length;e+=1){const a=t.eq(e);if(a.is(s.params.searchGroupTitle))break;a.hasClass("hidden-by-searchbar")||(l=!1)}const n=s.params.ignore&&a.is(s.params.ignore);l&&!n?a.addClass("hidden-by-searchbar"):a.removeClass("hidden-by-searchbar")})),s.params.hideGroups&&t.find(s.params.searchGroup).each((e=>{const a=r(e),t=s.params.ignore&&a.is(s.params.ignore);0!==a.find(s.params.searchItem).filter((e=>!r(e).hasClass("hidden-by-searchbar"))).length||t?a.removeClass("hidden-by-searchbar"):a.addClass("hidden-by-searchbar")}))}return 0===d.length?(i&&i.show(),n&&n.hide()):(i&&i.hide(),n&&n.show()),b&&s.virtualList&&s.virtualList.filterItems(d),l.trigger("searchbar:search",{query:e,previousQuery:s.previousQuery,foundItems:d}),s.emit("local::search searchbarSearch",s,e,s.previousQuery,d),s}init(){const e=this;e.expandable&&e.$el&&e.$el.addClass("searchbar-expandable"),e.inline&&e.$el&&e.$el.addClass("searchbar-inline"),e.attachEvents()}destroy(){const e=this;e.emit("local::beforeDestroy searchbarBeforeDestroy",e),e.$el.trigger("searchbar:beforedestroy"),e.detachEvents(),e.$el[0]&&(e.$el[0].f7Searchbar=null,delete e.$el[0].f7Searchbar),b(e)}}var u={name:"searchbar",static:{Searchbar:p},create(){this.searchbar=n({defaultSelector:".searchbar",constructor:p,app:this,domProp:"f7Searchbar",addMethods:"clear enable disable toggle search".split(" ")})},on:{tabMounted(e){const a=this;r(e).find(".searchbar-init").each((e=>{const s=r(e);a.searchbar.create(i(s.dataset(),{el:e}))}))},tabBeforeRemove(e){r(e).find(".searchbar-init").each((e=>{e.f7Searchbar&&e.f7Searchbar.destroy&&e.f7Searchbar.destroy()}))},pageInit(e){const a=this;e.$el.find(".searchbar-init").each((e=>{const s=r(e);a.searchbar.create(i(s.dataset(),{el:e}))})),"ios"===a.theme&&e.view&&e.view.router.dynamicNavbar&&e.$navbarEl&&e.$navbarEl.length>0&&e.$navbarEl.find(".searchbar-init").each((e=>{const s=r(e);a.searchbar.create(i(s.dataset(),{el:e}))}))},pageBeforeRemove(e){e.$el.find(".searchbar-init").each((e=>{e.f7Searchbar&&e.f7Searchbar.destroy&&e.f7Searchbar.destroy()})),"ios"===this.theme&&e.view&&e.view.router.dynamicNavbar&&e.$navbarEl&&e.$navbarEl.length>0&&e.$navbarEl.find(".searchbar-init").each((e=>{e.f7Searchbar&&e.f7Searchbar.destroy&&e.f7Searchbar.destroy()}))}},clicks:{".searchbar-clear":function(e,a){void 0===a&&(a={});const r=this.searchbar.get(a.searchbar);r&&r.clear()},".searchbar-enable":function(e,a){void 0===a&&(a={});const r=this.searchbar.get(a.searchbar);r&&r.enable(!0)},".searchbar-disable":function(e,a){void 0===a&&(a={});const r=this.searchbar.get(a.searchbar);r&&r.disable()},".searchbar-toggle":function(e,a){void 0===a&&(a={});const r=this.searchbar.get(a.searchbar);r&&r.toggle()}},vnode:{"searchbar-init":{insert(e){const a=e.elm,s=r(a);this.searchbar.create(i(s.dataset(),{el:a}))},destroy(e){const a=e.elm;a.f7Searchbar&&a.f7Searchbar.destroy&&a.f7Searchbar.destroy()}}}};if(a){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))
|
|
@@ -45,7 +45,12 @@ class Sheet extends Modal {
|
|
|
45
45
|
if (sheet.params.backdrop && sheet.params.backdropEl) {
|
|
46
46
|
$backdropEl = $(sheet.params.backdropEl);
|
|
47
47
|
} else if (sheet.params.backdrop) {
|
|
48
|
-
|
|
48
|
+
if (sheet.params.backdropUnique) {
|
|
49
|
+
$backdropEl = $('<div class="sheet-backdrop sheet-backdrop-unique"></div>');
|
|
50
|
+
sheet.$containerEl.append($backdropEl);
|
|
51
|
+
} else {
|
|
52
|
+
$backdropEl = sheet.$containerEl.children('.sheet-backdrop');
|
|
53
|
+
}
|
|
49
54
|
|
|
50
55
|
if ($backdropEl.length === 0) {
|
|
51
56
|
$backdropEl = $('<div class="sheet-backdrop"></div>');
|
|
@@ -322,6 +327,7 @@ class Sheet extends Modal {
|
|
|
322
327
|
$el.removeClass('modal-in-swipe-step');
|
|
323
328
|
$el.trigger('sheet:stepprogress', 1);
|
|
324
329
|
sheet.emit('local::stepProgress sheetStepProgress', sheet, 1);
|
|
330
|
+
sheet.emit('local::_swipeStep', false);
|
|
325
331
|
$el.trigger('sheet:stepopen');
|
|
326
332
|
sheet.emit('local::stepOpen sheetStepOpen', sheet);
|
|
327
333
|
|
|
@@ -340,6 +346,7 @@ class Sheet extends Modal {
|
|
|
340
346
|
$el.addClass('modal-in-swipe-step');
|
|
341
347
|
$el.trigger('sheet:stepprogress', 0);
|
|
342
348
|
sheet.emit('local::stepProgress sheetStepProgress', sheet, 0);
|
|
349
|
+
sheet.emit('local::_swipeStep', true);
|
|
343
350
|
$el.trigger('sheet:stepclose');
|
|
344
351
|
sheet.emit('local::stepClose sheetStepClose', sheet);
|
|
345
352
|
|
|
@@ -355,6 +362,7 @@ class Sheet extends Modal {
|
|
|
355
362
|
$el.addClass('modal-in-swipe-step');
|
|
356
363
|
$el.trigger('sheet:stepprogress', 0);
|
|
357
364
|
sheet.emit('local::stepProgress sheetStepProgress', sheet, 0);
|
|
365
|
+
sheet.emit('local::_swipeStep', true);
|
|
358
366
|
$el.trigger('sheet:stepclose');
|
|
359
367
|
sheet.emit('local::stepClose sheetStepClose', sheet);
|
|
360
368
|
|
|
@@ -376,6 +384,7 @@ class Sheet extends Modal {
|
|
|
376
384
|
$el.removeClass('modal-in-swipe-step');
|
|
377
385
|
$el.trigger('sheet:stepprogress', 1);
|
|
378
386
|
sheet.emit('local::stepProgress sheetStepProgress', sheet, 1);
|
|
387
|
+
sheet.emit('local::_swipeStep', false);
|
|
379
388
|
$el.trigger('sheet:stepopen');
|
|
380
389
|
sheet.emit('local::stepOpen sheetStepOpen', sheet);
|
|
381
390
|
|
|
@@ -396,6 +405,7 @@ class Sheet extends Modal {
|
|
|
396
405
|
$el.addClass('modal-in-swipe-step');
|
|
397
406
|
$el.trigger('sheet:stepprogress', 0);
|
|
398
407
|
sheet.emit('local::stepProgress sheetStepProgress', sheet, 0);
|
|
408
|
+
sheet.emit('local::_swipeStep', true);
|
|
399
409
|
$el.trigger('sheet:stepclose');
|
|
400
410
|
sheet.emit('local::stepClose sheetStepClose', sheet);
|
|
401
411
|
|
|
@@ -408,7 +418,11 @@ class Sheet extends Modal {
|
|
|
408
418
|
}
|
|
409
419
|
}
|
|
410
420
|
|
|
411
|
-
sheet.setSwipeStep = function setSwipeStep(byResize
|
|
421
|
+
sheet.setSwipeStep = function setSwipeStep(byResize) {
|
|
422
|
+
if (byResize === void 0) {
|
|
423
|
+
byResize = true;
|
|
424
|
+
}
|
|
425
|
+
|
|
412
426
|
const $swipeStepEl = $el.find('.sheet-modal-swipe-step').eq(0);
|
|
413
427
|
if (!$swipeStepEl.length) return;
|
|
414
428
|
|
|
@@ -422,6 +436,7 @@ class Sheet extends Modal {
|
|
|
422
436
|
|
|
423
437
|
if (!byResize) {
|
|
424
438
|
$el.addClass('modal-in-swipe-step');
|
|
439
|
+
sheet.emit('local::_swipeStep', true);
|
|
425
440
|
}
|
|
426
441
|
};
|
|
427
442
|
|
|
@@ -486,6 +501,7 @@ class Sheet extends Modal {
|
|
|
486
501
|
sheet.on('close', () => {
|
|
487
502
|
if (sheet.params.swipeToStep) {
|
|
488
503
|
$el.removeClass('modal-in-swipe-step');
|
|
504
|
+
sheet.emit('local::_swipeStep', false);
|
|
489
505
|
app.off('resize', onResize);
|
|
490
506
|
}
|
|
491
507
|
|
|
@@ -517,6 +533,7 @@ class Sheet extends Modal {
|
|
|
517
533
|
|
|
518
534
|
sheet.stepOpen = function stepOpen() {
|
|
519
535
|
$el.removeClass('modal-in-swipe-step');
|
|
536
|
+
sheet.emit('local::_swipeStep', false);
|
|
520
537
|
|
|
521
538
|
if (sheet.push) {
|
|
522
539
|
if (!pushOffset) {
|
|
@@ -532,6 +549,7 @@ class Sheet extends Modal {
|
|
|
532
549
|
|
|
533
550
|
sheet.stepClose = function stepClose() {
|
|
534
551
|
$el.addClass('modal-in-swipe-step');
|
|
552
|
+
sheet.emit('local::_swipeStep', true);
|
|
535
553
|
|
|
536
554
|
if (sheet.push) {
|
|
537
555
|
sheet.$htmlEl[0].style.removeProperty('--f7-sheet-push-scale');
|
|
@@ -540,6 +558,7 @@ class Sheet extends Modal {
|
|
|
540
558
|
|
|
541
559
|
sheet.stepToggle = function stepToggle() {
|
|
542
560
|
$el.toggleClass('modal-in-swipe-step');
|
|
561
|
+
sheet.emit('local::_swipeStep', $el.hasClass('modal-in-swipe-step'));
|
|
543
562
|
};
|
|
544
563
|
|
|
545
564
|
$el[0].f7Modal = sheet;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--f7-sheet-height:260px;--f7-sheet-border-color:transparent;--f7-sheet-transition-duration:300ms;--f7-sheet-push-border-radius:10px;--f7-sheet-push-offset:var(--f7-safe-area-top);--f7-sheet-bg-color:#fff}:root .dark,:root.dark{--f7-sheet-bg-color:#202020}.ios{--f7-sheet-border-color:var(--f7-bars-border-color)}.sheet-backdrop{z-index:11000}.sheet-modal{position:absolute;left:0;bottom:0;width:100%;height:var(--f7-sheet-height);display:none;box-sizing:border-box;transition-property:transform;transform:translate3d(0,100%,0);background:var(--f7-sheet-bg-color);z-index:12500;will-change:transform,opacity}.sheet-modal.modal-in,.sheet-modal.modal-out{transition-duration:var(--f7-sheet-transition-duration)}.sheet-modal.not-animated{transition-duration:0s}.sheet-modal.modal-in{display:block;transform:translate3d(0,0,0)}.sheet-modal.modal-in-swipe-step{display:block;transform:translate3d(0,var(--f7-sheet-swipe-step,0),0)}.sheet-modal.modal-out{transform:translate3d(0,100%,0)}.sheet-modal .sheet-modal-inner{height:100%;position:relative;overflow:hidden}.sheet-modal .toolbar{--f7-safe-area-bottom:0px;position:relative;width:100%}.sheet-modal .toolbar:after,.sheet-modal .toolbar:before{display:none}.sheet-modal .toolbar+.sheet-modal-inner{height:calc(100% - var(--f7-toolbar-height))}.sheet-modal .toolbar+.sheet-modal-inner .page-content{--f7-page-toolbar-top-offset:0px;--f7-page-toolbar-bottom-offset:0px}.sheet-modal-top:after{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-top:after{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-bottom,.sheet-modal:not(.sheet-modal-top){--f7-safe-area-top:0px}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-top{--f7-safe-area-bottom:0px;bottom:auto;top:0;transform:translate3d(0,-100%,0)}.sheet-modal-top.modal-out{transform:translate3d(0,-100%,0)}.sheet-modal-top .toolbar-bottom{position:absolute}.sheet-modal-top .page-content{padding-top:var(--f7-safe-area-top)}html.with-modal-sheet-push .sheet-modal-push,html.with-modal-sheet-push-closing .sheet-modal-push{--f7-sheet-border-color:transparent;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;overflow:hidden}html.with-modal-sheet-push .sheet-modal-push .page,html.with-modal-sheet-push .sheet-modal-push .view,html.with-modal-sheet-push-closing .sheet-modal-push .page,html.with-modal-sheet-push-closing .sheet-modal-push .view{--f7-safe-area-top:0px}html.with-modal-sheet-push .sheet-modal-push.sheet-modal-top,html.with-modal-sheet-push-closing .sheet-modal-push.sheet-modal-top{border-radius:0 0 var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius)}html.with-modal-sheet-push .framework7-root,html.with-modal-sheet-push-closing .framework7-root{background:#000}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views,html.with-modal-sheet-push-closing .framework7-root>.view,html.with-modal-sheet-push-closing .framework7-root>.views{transition-duration:var(--f7-sheet-transition-duration)}html.with-modal-sheet-push .dark .framework7-root>.view:after,html.with-modal-sheet-push .dark .framework7-root>.views:after,html.with-modal-sheet-push .dark.framework7-root>.view:after,html.with-modal-sheet-push .dark.framework7-root>.views:after,html.with-modal-sheet-push .framework7-root>.view.dark:after,html.with-modal-sheet-push .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after,html.with-modal-sheet-push.dark .framework7-root>.view:after,html.with-modal-sheet-push.dark .framework7-root>.views:after{content:'';position:absolute;pointer-events:none;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.1);z-index:13000;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;opacity:1;animation:sheet-dark-push-overlay-fade-in var(--f7-sheet-transition-duration) forwards}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views{border-radius:var(--f7-sheet-push-border-radius);transform:translate3d(0,0,0px) scale(var(--f7-sheet-push-scale,1))!important}html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after{animation:sheet-dark-push-overlay-fade-out var(--f7-sheet-transition-duration) forwards}@keyframes sheet-dark-push-overlay-fade-in{from{opacity:0}to{opacity:1}}@keyframes sheet-dark-push-overlay-fade-out{from{opacity:1}to{opacity:0}}.md .sheet-modal .toolbar a.link:not(.tab-link){flex-shrink:0}
|
|
1
|
+
:root{--f7-sheet-height:260px;--f7-sheet-border-color:transparent;--f7-sheet-transition-duration:300ms;--f7-sheet-push-border-radius:10px;--f7-sheet-push-offset:var(--f7-safe-area-top);--f7-sheet-bg-color:#fff}:root .dark,:root.dark{--f7-sheet-bg-color:#202020}.ios{--f7-sheet-border-color:var(--f7-bars-border-color)}.sheet-backdrop{z-index:11000}.sheet-backdrop-unique{z-index:12500}.sheet-modal{position:absolute;left:0;bottom:0;width:100%;height:var(--f7-sheet-height);display:none;box-sizing:border-box;transition-property:transform;transform:translate3d(0,100%,0);background:var(--f7-sheet-bg-color);z-index:12500;will-change:transform,opacity}.sheet-modal.modal-in,.sheet-modal.modal-out{transition-duration:var(--f7-sheet-transition-duration)}.sheet-modal.not-animated{transition-duration:0s}.sheet-modal.modal-in{display:block;transform:translate3d(0,0,0)}.sheet-modal.modal-in-swipe-step{display:block;transform:translate3d(0,var(--f7-sheet-swipe-step,0),0)}.sheet-modal.modal-out{transform:translate3d(0,100%,0)}.sheet-modal .sheet-modal-inner{height:100%;position:relative;overflow:hidden}.sheet-modal .toolbar{--f7-safe-area-bottom:0px;position:relative;width:100%}.sheet-modal .toolbar:after,.sheet-modal .toolbar:before{display:none}.sheet-modal .toolbar+.sheet-modal-inner{height:calc(100% - var(--f7-toolbar-height))}.sheet-modal .toolbar+.sheet-modal-inner .page-content{--f7-page-toolbar-top-offset:0px;--f7-page-toolbar-bottom-offset:0px}.sheet-modal-top:after{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-top:after{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-bottom,.sheet-modal:not(.sheet-modal-top){--f7-safe-area-top:0px}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-top{--f7-safe-area-bottom:0px;bottom:auto;top:0;transform:translate3d(0,-100%,0)}.sheet-modal-top.modal-out{transform:translate3d(0,-100%,0)}.sheet-modal-top .toolbar-bottom{position:absolute}.sheet-modal-top .page-content{padding-top:var(--f7-safe-area-top)}html.with-modal-sheet-push .sheet-modal-push,html.with-modal-sheet-push-closing .sheet-modal-push{--f7-sheet-border-color:transparent;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;overflow:hidden}html.with-modal-sheet-push .sheet-modal-push .page,html.with-modal-sheet-push .sheet-modal-push .view,html.with-modal-sheet-push-closing .sheet-modal-push .page,html.with-modal-sheet-push-closing .sheet-modal-push .view{--f7-safe-area-top:0px}html.with-modal-sheet-push .sheet-modal-push.sheet-modal-top,html.with-modal-sheet-push-closing .sheet-modal-push.sheet-modal-top{border-radius:0 0 var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius)}html.with-modal-sheet-push .framework7-root,html.with-modal-sheet-push-closing .framework7-root{background:#000}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views,html.with-modal-sheet-push-closing .framework7-root>.view,html.with-modal-sheet-push-closing .framework7-root>.views{transition-duration:var(--f7-sheet-transition-duration)}html.with-modal-sheet-push .dark .framework7-root>.view:after,html.with-modal-sheet-push .dark .framework7-root>.views:after,html.with-modal-sheet-push .dark.framework7-root>.view:after,html.with-modal-sheet-push .dark.framework7-root>.views:after,html.with-modal-sheet-push .framework7-root>.view.dark:after,html.with-modal-sheet-push .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after,html.with-modal-sheet-push.dark .framework7-root>.view:after,html.with-modal-sheet-push.dark .framework7-root>.views:after{content:'';position:absolute;pointer-events:none;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.1);z-index:13000;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;opacity:1;animation:sheet-dark-push-overlay-fade-in var(--f7-sheet-transition-duration) forwards}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views{border-radius:var(--f7-sheet-push-border-radius);transform:translate3d(0,0,0px) scale(var(--f7-sheet-push-scale,1))!important}html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after{animation:sheet-dark-push-overlay-fade-out var(--f7-sheet-transition-duration) forwards}@keyframes sheet-dark-push-overlay-fade-in{from{opacity:0}to{opacity:1}}@keyframes sheet-dark-push-overlay-fade-out{from{opacity:1}to{opacity:0}}.md .sheet-modal .toolbar a.link:not(.tab-link){flex-shrink:0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--f7-sheet-height:260px;--f7-sheet-border-color:transparent;--f7-sheet-transition-duration:300ms;--f7-sheet-push-border-radius:10px;--f7-sheet-push-offset:var(--f7-safe-area-top);--f7-sheet-bg-color:#fff}:root .dark,:root.dark{--f7-sheet-bg-color:#202020}.ios{--f7-sheet-border-color:var(--f7-bars-border-color)}.sheet-backdrop{z-index:11000}.sheet-modal{position:absolute;left:0;bottom:0;width:100%;height:var(--f7-sheet-height);display:none;box-sizing:border-box;transition-property:transform;transform:translate3d(0,100%,0);background:var(--f7-sheet-bg-color);z-index:12500;will-change:transform,opacity}.sheet-modal.modal-in,.sheet-modal.modal-out{transition-duration:var(--f7-sheet-transition-duration)}.sheet-modal.not-animated{transition-duration:0s}.sheet-modal.modal-in{display:block;transform:translate3d(0,0,0)}.sheet-modal.modal-in-swipe-step{display:block;transform:translate3d(0,var(--f7-sheet-swipe-step,0),0)}.sheet-modal.modal-out{transform:translate3d(0,100%,0)}.sheet-modal .sheet-modal-inner{height:100%;position:relative;overflow:hidden}.sheet-modal .toolbar{--f7-safe-area-bottom:0px;position:relative;width:100%}.sheet-modal .toolbar:after,.sheet-modal .toolbar:before{display:none}.sheet-modal .toolbar+.sheet-modal-inner{height:calc(100% - var(--f7-toolbar-height))}.sheet-modal .toolbar+.sheet-modal-inner .page-content{--f7-page-toolbar-top-offset:0px;--f7-page-toolbar-bottom-offset:0px}.sheet-modal-top:after{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-top:after{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-bottom,.sheet-modal:not(.sheet-modal-top){--f7-safe-area-top:0px}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-top{--f7-safe-area-bottom:0px;bottom:auto;top:0;transform:translate3d(0,-100%,0)}.sheet-modal-top.modal-out{transform:translate3d(0,-100%,0)}.sheet-modal-top .toolbar-bottom{position:absolute}.sheet-modal-top .page-content{padding-top:var(--f7-safe-area-top)}html.with-modal-sheet-push .sheet-modal-push,html.with-modal-sheet-push-closing .sheet-modal-push{--f7-sheet-border-color:transparent;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;overflow:hidden}html.with-modal-sheet-push .sheet-modal-push .page,html.with-modal-sheet-push .sheet-modal-push .view,html.with-modal-sheet-push-closing .sheet-modal-push .page,html.with-modal-sheet-push-closing .sheet-modal-push .view{--f7-safe-area-top:0px}html.with-modal-sheet-push .sheet-modal-push.sheet-modal-top,html.with-modal-sheet-push-closing .sheet-modal-push.sheet-modal-top{border-radius:0 0 var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius)}html.with-modal-sheet-push .framework7-root,html.with-modal-sheet-push-closing .framework7-root{background:#000}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views,html.with-modal-sheet-push-closing .framework7-root>.view,html.with-modal-sheet-push-closing .framework7-root>.views{transition-duration:var(--f7-sheet-transition-duration)}html.with-modal-sheet-push .dark .framework7-root>.view:after,html.with-modal-sheet-push .dark .framework7-root>.views:after,html.with-modal-sheet-push .dark.framework7-root>.view:after,html.with-modal-sheet-push .dark.framework7-root>.views:after,html.with-modal-sheet-push .framework7-root>.view.dark:after,html.with-modal-sheet-push .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after,html.with-modal-sheet-push.dark .framework7-root>.view:after,html.with-modal-sheet-push.dark .framework7-root>.views:after{content:'';position:absolute;pointer-events:none;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.1);z-index:13000;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;opacity:1;animation:sheet-dark-push-overlay-fade-in var(--f7-sheet-transition-duration) forwards}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views{border-radius:var(--f7-sheet-push-border-radius);transform:translate3d(0,0,0px) scale(var(--f7-sheet-push-scale,1))!important}html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after{animation:sheet-dark-push-overlay-fade-out var(--f7-sheet-transition-duration) forwards}@keyframes sheet-dark-push-overlay-fade-in{from{opacity:0}to{opacity:1}}@keyframes sheet-dark-push-overlay-fade-out{from{opacity:1}to{opacity:0}}.md .sheet-modal .toolbar a.link:not(.tab-link){flex-shrink:0}
|
|
1
|
+
:root{--f7-sheet-height:260px;--f7-sheet-border-color:transparent;--f7-sheet-transition-duration:300ms;--f7-sheet-push-border-radius:10px;--f7-sheet-push-offset:var(--f7-safe-area-top);--f7-sheet-bg-color:#fff}:root .dark,:root.dark{--f7-sheet-bg-color:#202020}.ios{--f7-sheet-border-color:var(--f7-bars-border-color)}.sheet-backdrop{z-index:11000}.sheet-backdrop-unique{z-index:12500}.sheet-modal{position:absolute;left:0;bottom:0;width:100%;height:var(--f7-sheet-height);display:none;box-sizing:border-box;transition-property:transform;transform:translate3d(0,100%,0);background:var(--f7-sheet-bg-color);z-index:12500;will-change:transform,opacity}.sheet-modal.modal-in,.sheet-modal.modal-out{transition-duration:var(--f7-sheet-transition-duration)}.sheet-modal.not-animated{transition-duration:0s}.sheet-modal.modal-in{display:block;transform:translate3d(0,0,0)}.sheet-modal.modal-in-swipe-step{display:block;transform:translate3d(0,var(--f7-sheet-swipe-step,0),0)}.sheet-modal.modal-out{transform:translate3d(0,100%,0)}.sheet-modal .sheet-modal-inner{height:100%;position:relative;overflow:hidden}.sheet-modal .toolbar{--f7-safe-area-bottom:0px;position:relative;width:100%}.sheet-modal .toolbar:after,.sheet-modal .toolbar:before{display:none}.sheet-modal .toolbar+.sheet-modal-inner{height:calc(100% - var(--f7-toolbar-height))}.sheet-modal .toolbar+.sheet-modal-inner .page-content{--f7-page-toolbar-top-offset:0px;--f7-page-toolbar-bottom-offset:0px}.sheet-modal-top:after{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:auto;right:auto;bottom:0;left:0;height:1px;width:100%;transform-origin:50% 100%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-top:after{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-bottom,.sheet-modal:not(.sheet-modal-top){--f7-safe-area-top:0px}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{content:'';position:absolute;background-color:var(--f7-sheet-border-color);display:block;z-index:15;top:0;right:auto;bottom:auto;left:0;height:1px;width:100%;transform-origin:50% 0%;transform:scaleY(calc(1 / var(--f7-device-pixel-ratio)))}.sheet-modal-bottom:before,.sheet-modal:not(.sheet-modal-top):before{z-index:700;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.sheet-modal-top{--f7-safe-area-bottom:0px;bottom:auto;top:0;transform:translate3d(0,-100%,0)}.sheet-modal-top.modal-out{transform:translate3d(0,-100%,0)}.sheet-modal-top .toolbar-bottom{position:absolute}.sheet-modal-top .page-content{padding-top:var(--f7-safe-area-top)}html.with-modal-sheet-push .sheet-modal-push,html.with-modal-sheet-push-closing .sheet-modal-push{--f7-sheet-border-color:transparent;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;overflow:hidden}html.with-modal-sheet-push .sheet-modal-push .page,html.with-modal-sheet-push .sheet-modal-push .view,html.with-modal-sheet-push-closing .sheet-modal-push .page,html.with-modal-sheet-push-closing .sheet-modal-push .view{--f7-safe-area-top:0px}html.with-modal-sheet-push .sheet-modal-push.sheet-modal-top,html.with-modal-sheet-push-closing .sheet-modal-push.sheet-modal-top{border-radius:0 0 var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius)}html.with-modal-sheet-push .framework7-root,html.with-modal-sheet-push-closing .framework7-root{background:#000}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views,html.with-modal-sheet-push-closing .framework7-root>.view,html.with-modal-sheet-push-closing .framework7-root>.views{transition-duration:var(--f7-sheet-transition-duration)}html.with-modal-sheet-push .dark .framework7-root>.view:after,html.with-modal-sheet-push .dark .framework7-root>.views:after,html.with-modal-sheet-push .dark.framework7-root>.view:after,html.with-modal-sheet-push .dark.framework7-root>.views:after,html.with-modal-sheet-push .framework7-root>.view.dark:after,html.with-modal-sheet-push .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after,html.with-modal-sheet-push.dark .framework7-root>.view:after,html.with-modal-sheet-push.dark .framework7-root>.views:after{content:'';position:absolute;pointer-events:none;left:0;top:0;width:100%;height:100%;background:rgba(255,255,255,.1);z-index:13000;border-radius:var(--f7-sheet-push-border-radius) var(--f7-sheet-push-border-radius) 0 0;opacity:1;animation:sheet-dark-push-overlay-fade-in var(--f7-sheet-transition-duration) forwards}html.with-modal-sheet-push .framework7-root>.view,html.with-modal-sheet-push .framework7-root>.views{border-radius:var(--f7-sheet-push-border-radius);transform:translate3d(0,0,0px) scale(var(--f7-sheet-push-scale,1))!important}html.with-modal-sheet-push-closing .dark .framework7-root>.view:after,html.with-modal-sheet-push-closing .dark .framework7-root>.views:after,html.with-modal-sheet-push-closing .dark.framework7-root>.view:after,html.with-modal-sheet-push-closing .dark.framework7-root>.views:after,html.with-modal-sheet-push-closing .framework7-root>.view.dark:after,html.with-modal-sheet-push-closing .framework7-root>.views.dark:after,html.with-modal-sheet-push-closing.dark .framework7-root>.view:after,html.with-modal-sheet-push-closing.dark .framework7-root>.views:after{animation:sheet-dark-push-overlay-fade-out var(--f7-sheet-transition-duration) forwards}@keyframes sheet-dark-push-overlay-fade-in{from{opacity:0}to{opacity:1}}@keyframes sheet-dark-push-overlay-fade-out{from{opacity:1}to{opacity:0}}.md .sheet-modal .toolbar a.link:not(.tab-link){flex-shrink:0}
|
|
@@ -29,6 +29,8 @@ export namespace Sheet {
|
|
|
29
29
|
backdrop?: boolean;
|
|
30
30
|
/** Backdrop element to share across instances */
|
|
31
31
|
backdropEl?: HTMLElement | CSSSelector;
|
|
32
|
+
/** If enabled it creates unique backdrop element exclusively for this modal (default false) */
|
|
33
|
+
backdropUnique?: boolean;
|
|
32
34
|
/** HTML element or string (with CSS selector) of element. If specified, then sheet will try to scroll page content to this element on open */
|
|
33
35
|
scrollToEl?: HTMLElement | CSSSelector;
|
|
34
36
|
/** When enabled, Sheet Modal will be closed on backdrop click. (default true) */
|
|
@@ -9,6 +9,7 @@ export default {
|
|
|
9
9
|
push: false,
|
|
10
10
|
backdrop: undefined,
|
|
11
11
|
backdropEl: undefined,
|
|
12
|
+
backdropUnique: false,
|
|
12
13
|
closeByBackdropClick: true,
|
|
13
14
|
closeByOutsideClick: false,
|
|
14
15
|
closeOnEscape: false,
|
|
@@ -51,7 +52,11 @@ export default {
|
|
|
51
52
|
},
|
|
52
53
|
|
|
53
54
|
clicks: {
|
|
54
|
-
'.sheet-open': function openSheet($clickedEl, data
|
|
55
|
+
'.sheet-open': function openSheet($clickedEl, data) {
|
|
56
|
+
if (data === void 0) {
|
|
57
|
+
data = {};
|
|
58
|
+
}
|
|
59
|
+
|
|
55
60
|
const app = this;
|
|
56
61
|
|
|
57
62
|
if ($('.sheet-modal.modal-in').length > 0 && data.sheet && $(data.sheet)[0] !== $('.sheet-modal.modal-in')[0]) {
|
|
@@ -60,7 +65,11 @@ export default {
|
|
|
60
65
|
|
|
61
66
|
app.sheet.open(data.sheet, data.animate, $clickedEl);
|
|
62
67
|
},
|
|
63
|
-
'.sheet-close': function closeSheet($clickedEl, data
|
|
68
|
+
'.sheet-close': function closeSheet($clickedEl, data) {
|
|
69
|
+
if (data === void 0) {
|
|
70
|
+
data = {};
|
|
71
|
+
}
|
|
72
|
+
|
|
64
73
|
const app = this;
|
|
65
74
|
app.sheet.close(data.sheet, data.animate, $clickedEl);
|
|
66
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function framework7ComponentLoader(e,s){void 0===s&&(s=!0);var t=e.$,o=e.utils,
|
|
1
|
+
(function framework7ComponentLoader(e,s){void 0===s&&(s=!0);var t=e.$,o=e.utils,p=e.getDevice,a=e.getSupport,r=(e.Class,e.Modal),l=(e.ConstructorMethods,e.ModalMethods),i=o.extend,n=o.now,c=o.getTranslate;class h extends r{constructor(e,s){const o=i({on:{}},e.params.sheet,s);super(e,o);const r=this,l=getWindow(),h=getDocument(),d=a(),m=p();let u,g,f,w;if(r.params=o,void 0===r.params.backdrop&&(r.params.backdrop="ios"!==e.theme),u=r.params.el?t(r.params.el).eq(0):t(r.params.content).filter((e=>1===e.nodeType)).eq(0),u&&u.length>0&&u[0].f7Modal)return u[0].f7Modal;if(0===u.length)return r.destroy();function y(e){const s=e.target,o=t(s);!m.desktop&&m.cordova&&(l.Keyboard&&l.Keyboard.isVisible||l.cordova.plugins&&l.cordova.plugins.Keyboard&&l.cordova.plugins.Keyboard.isVisible)||0===o.closest(r.el).length&&(r.params.closeByBackdropClick&&r.params.backdrop&&r.backdropEl&&r.backdropEl===s||r.params.closeByOutsideClick)&&r.close()}function b(e){27===e.keyCode&&r.params.closeOnEscape&&r.close()}function C(s){return(e.height-2*s)/e.height}r.params.backdrop&&r.params.backdropEl?g=t(r.params.backdropEl):r.params.backdrop&&(r.params.backdropUnique?(g=t('<div class="sheet-backdrop sheet-backdrop-unique"></div>'),r.$containerEl.append(g)):g=r.$containerEl.children(".sheet-backdrop"),0===g.length&&(g=t('<div class="sheet-backdrop"></div>'),r.$containerEl.append(g))),i(r,{app:e,push:u.hasClass("sheet-modal-push")||r.params.push,$el:u,el:u[0],$backdropEl:g,backdropEl:g&&g[0],type:"sheet",$htmlEl:t("html")}),r.params.push&&u.addClass("sheet-modal-push");let v,S,k,E,T,$,P,M,x,O,H,B,_,q,N,D,I,K,X=!1,Y=!1;function z(e){X||!r.params.swipeToClose&&!r.params.swipeToStep||r.params.swipeHandler&&0===t(e.target).closest(r.params.swipeHandler).length||(X=!0,Y=!1,v={x:"touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,y:"touchstart"===e.type?e.targetTouches[0].pageY:e.pageY},E=n(),k=void 0,$=u.hasClass("sheet-modal-top"),r.params.swipeHandler||"touchstart"!==e.type||(N=t(e.target).closest(".page-content")[0]))}function A(s){if(!X)return;if(S={x:"touchmove"===s.type?s.targetTouches[0].pageX:s.pageX,y:"touchmove"===s.type?s.targetTouches[0].pageY:s.pageY},void 0===k&&(k=!!(k||Math.abs(S.x-v.x)>Math.abs(S.y-v.y))),k)return X=!1,void(Y=!1);T=v.y-S.y;const t=T<0?"to-bottom":"to-top";if(!Y){if(N&&!u.hasClass("modal-in-swipe-step")&&(D=N.scrollTop,I=N.scrollHeight,K=N.offsetHeight,!(I===K||"to-bottom"===t&&0===D||"to-top"===t&&D===I-K)))return u.transform(""),X=!1,void(Y=!1);r.push&&w&&(_=e.$el.children(".view, .views")),O=u[0].offsetHeight,M=c(u[0],"y"),$?(H=r.params.swipeToClose?-O:-P,B=0):(H=0,B=r.params.swipeToClose?O:P),Y=!0}if(x=M-T,x=Math.min(Math.max(x,H),B),s.preventDefault(),r.push&&w){let e=(x-M)/O;r.params.swipeToStep&&(e=$?x/P:1-(P-x)/P),e=Math.abs(e),e=Math.min(Math.max(e,0),1);const s=1-e,t=1-(1-C(w))*s;_.transition(0).forEach((e=>{e.style.setProperty("transform",`translate3d(0,0,0) scale(${t})`,"important")})),r.params.swipeToStep&&_.css("border-radius",q*s+"px")}if(u.transition(0).transform(`translate3d(0,${x}px,0)`),r.params.swipeToStep){let e;e=$?1-x/P:(P-x)/P,e=Math.min(Math.max(e,0),1),u.trigger("sheet:stepprogress",e),r.emit("local::stepProgress sheetStepProgress",r,e)}}function L(){if(X=!1,!Y)return;Y=!1,u.transform("").transition(""),r.push&&w&&(_.transition("").transform(""),_.css("border-radius",""));const e=T<0?"to-bottom":"to-top",s=Math.abs(T);if(0===s||x===M)return;const t=(new Date).getTime()-E;if(!r.params.swipeToStep){if(e!==($?"to-top":"to-bottom"))return;return void((t<300&&s>20||t>=300&&s>O/2)&&r.close())}const o=$?"to-bottom":"to-top",p=$?"to-top":"to-bottom",a=Math.abs(x),l=Math.abs(P);if(t<300&&s>10)return e===o&&a<l&&(u.removeClass("modal-in-swipe-step"),u.trigger("sheet:stepprogress",1),r.emit("local::stepProgress sheetStepProgress",r,1),r.emit("local::_swipeStep",!1),u.trigger("sheet:stepopen"),r.emit("local::stepOpen sheetStepOpen",r),r.push&&w&&(r.$htmlEl[0].style.setProperty("--f7-sheet-push-scale",C(w)),_.css("border-radius",""))),e===p&&a>l&&(r.params.swipeToClose?r.close():(u.addClass("modal-in-swipe-step"),u.trigger("sheet:stepprogress",0),r.emit("local::stepProgress sheetStepProgress",r,0),r.emit("local::_swipeStep",!0),u.trigger("sheet:stepclose"),r.emit("local::stepClose sheetStepClose",r),r.push&&w&&(r.$htmlEl[0].style.removeProperty("--f7-sheet-push-scale"),_.css("border-radius","0px")))),void(e===p&&a<=l&&(u.addClass("modal-in-swipe-step"),u.trigger("sheet:stepprogress",0),r.emit("local::stepProgress sheetStepProgress",r,0),r.emit("local::_swipeStep",!0),u.trigger("sheet:stepclose"),r.emit("local::stepClose sheetStepClose",r),r.push&&w&&(r.$htmlEl[0].style.removeProperty("--f7-sheet-push-scale"),_.css("border-radius","0px"))));if(t>=300){const e=!u.hasClass("modal-in-swipe-step");e?e&&(a>l+(O-l)/2?r.params.swipeToClose&&r.close():a>l/2&&(u.addClass("modal-in-swipe-step"),u.trigger("sheet:stepprogress",0),r.emit("local::stepProgress sheetStepProgress",r,0),r.emit("local::_swipeStep",!0),u.trigger("sheet:stepclose"),r.emit("local::stepClose sheetStepClose",r),r.push&&w&&(r.$htmlEl[0].style.removeProperty("--f7-sheet-push-scale"),_.css("border-radius","0px")))):a<l/2?(u.removeClass("modal-in-swipe-step"),u.trigger("sheet:stepprogress",1),r.emit("local::stepProgress sheetStepProgress",r,1),r.emit("local::_swipeStep",!1),u.trigger("sheet:stepopen"),r.emit("local::stepOpen sheetStepOpen",r),r.push&&w&&(r.$htmlEl[0].style.setProperty("--f7-sheet-push-scale",C(w)),_.css("border-radius",""))):a-l>(O-l)/2&&r.params.swipeToClose&&r.close()}}function U(){r.setSwipeStep(!0)}r.setSwipeStep=function(e){void 0===e&&(e=!0);const s=u.find(".sheet-modal-swipe-step").eq(0);s.length&&(P=u.hasClass("sheet-modal-top")?-(s.offset().top-u.offset().top+s[0].offsetHeight):u[0].offsetHeight-(s.offset().top-u.offset().top+s[0].offsetHeight),u[0].style.setProperty("--f7-sheet-swipe-step",`${P}px`),e||(u.addClass("modal-in-swipe-step"),r.emit("local::_swipeStep",!0)))};const V=!!d.passiveListener&&{passive:!0};return(r.params.swipeToClose||r.params.swipeToStep)&&(u.on(e.touchEvents.start,z,V),e.on("touchmove",A),e.on("touchend:passive",L),r.once("sheetDestroy",(()=>{u.off(e.touchEvents.start,z,V),e.off("touchmove",A),e.off("touchend:passive",L)}))),r.on("open",(()=>{r.params.closeOnEscape&&t(h).on("keydown",b),u.prevAll(".popup.modal-in").addClass("popup-behind"),r.params.swipeToStep&&(r.setSwipeStep(!1),e.on("resize",U)),r.params.scrollToEl&&function(){const e=t(r.params.scrollToEl).eq(0);if(0===e.length)return;if(f=e.parents(".page-content"),0===f.length)return;const s=parseInt(f.css("padding-top"),10),o=parseInt(f.css("padding-bottom"),10),p=f[0].offsetHeight-s-u.height(),a=f[0].scrollHeight-s-u.height(),l=f.scrollTop();let i;const n=e.offset().top-s+e[0].offsetHeight;if(n>p){const e=l+n-p;e+p>a&&(i=e+p-a+o,p===a&&(i=u.height()),f.css({"padding-bottom":`${i}px`})),f.scrollTop(e,300)}}(),r.push&&(w=parseInt(u.css("--f7-sheet-push-offset"),10),Number.isNaN(w)&&(w=0),w&&(u.addClass("sheet-modal-push"),r.$htmlEl.addClass("with-modal-sheet-push"),r.params.swipeToStep?(_=e.$el.children(".view, .views"),q=parseFloat(u.css(`border-${$?"bottom":"top"}-left-radius`)),_.css("border-radius","0px")):r.$htmlEl[0].style.setProperty("--f7-sheet-push-scale",C(w))))})),r.on("opened",(()=>{(r.params.closeByOutsideClick||r.params.closeByBackdropClick)&&e.on("click",y)})),r.on("close",(()=>{r.params.swipeToStep&&(u.removeClass("modal-in-swipe-step"),r.emit("local::_swipeStep",!1),e.off("resize",U)),r.params.closeOnEscape&&t(h).off("keydown",b),r.params.scrollToEl&&f&&f.length>0&&f.css({"padding-bottom":""}),(r.params.closeByOutsideClick||r.params.closeByBackdropClick)&&e.off("click",y),u.prevAll(".popup.modal-in").eq(0).removeClass("popup-behind"),r.push&&w&&(r.$htmlEl.removeClass("with-modal-sheet-push"),r.$htmlEl.addClass("with-modal-sheet-push-closing"))})),r.on("closed",(()=>{r.push&&w&&(r.$htmlEl.removeClass("with-modal-sheet-push-closing"),r.$htmlEl[0].style.removeProperty("--f7-sheet-push-scale"))})),r.stepOpen=function(){u.removeClass("modal-in-swipe-step"),r.emit("local::_swipeStep",!1),r.push&&(w||(w=parseInt(u.css("--f7-sheet-push-offset"),10),Number.isNaN(w)&&(w=0)),w&&r.$htmlEl[0].style.setProperty("--f7-sheet-push-scale",C(w)))},r.stepClose=function(){u.addClass("modal-in-swipe-step"),r.emit("local::_swipeStep",!0),r.push&&r.$htmlEl[0].style.removeProperty("--f7-sheet-push-scale")},r.stepToggle=function(){u.toggleClass("modal-in-swipe-step"),r.emit("local::_swipeStep",u.hasClass("modal-in-swipe-step"))},u[0].f7Modal=r,r}}var d={name:"sheet",params:{sheet:{push:!1,backdrop:void 0,backdropEl:void 0,backdropUnique:!1,closeByBackdropClick:!0,closeByOutsideClick:!1,closeOnEscape:!1,swipeToClose:!1,swipeToStep:!1,swipeHandler:null,containerEl:null}},static:{Sheet:h},create(){const e=this;e.sheet=i({},l({app:e,constructor:h,defaultSelector:".sheet-modal.modal-in"}),{stepOpen(s){const t=e.sheet.get(s);if(t&&t.stepOpen)return t.stepOpen()},stepClose(s){const t=e.sheet.get(s);if(t&&t.stepClose)return t.stepClose()},stepToggle(s){const t=e.sheet.get(s);if(t&&t.stepToggle)return t.stepToggle()}})},clicks:{".sheet-open":function(e,s){void 0===s&&(s={});const o=this;t(".sheet-modal.modal-in").length>0&&s.sheet&&t(s.sheet)[0]!==t(".sheet-modal.modal-in")[0]&&o.sheet.close(".sheet-modal.modal-in"),o.sheet.open(s.sheet,s.animate,e)},".sheet-close":function(e,s){void 0===s&&(s={});this.sheet.close(s.sheet,s.animate,e)}}};if(s){if(e.prototype.modules&&e.prototype.modules[d.name])return;e.use(d),e.instance&&(e.instance.useModuleParams(d,e.instance.params),e.instance.useModule(d))}return d}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
|