framework7 7.0.0-beta.7 → 7.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/components/accordion/accordion.lazy.js +1 -1
  2. package/components/actions/actions-class.js +6 -1
  3. package/components/actions/actions-rtl.css +1 -1
  4. package/components/actions/actions.css +1 -1
  5. package/components/actions/actions.d.ts +2 -0
  6. package/components/actions/actions.js +11 -2
  7. package/components/actions/actions.lazy.js +1 -1
  8. package/components/actions/actions.less +3 -0
  9. package/components/app/app-class.js +15 -9
  10. package/components/area-chart/area-chart-class.js +34 -18
  11. package/components/area-chart/area-chart.lazy.js +1 -1
  12. package/components/autocomplete/autocomplete-class.js +5 -1
  13. package/components/autocomplete/autocomplete.lazy.js +1 -1
  14. package/components/breadcrumbs/breadcrumbs-aurora.less +2 -0
  15. package/components/breadcrumbs/breadcrumbs-ios.less +2 -0
  16. package/components/breadcrumbs/breadcrumbs-md.less +2 -0
  17. package/components/breadcrumbs/breadcrumbs-rtl.css +1 -0
  18. package/components/breadcrumbs/breadcrumbs-vars.less +36 -0
  19. package/components/breadcrumbs/breadcrumbs.css +1 -0
  20. package/components/breadcrumbs/breadcrumbs.d.ts +15 -0
  21. package/components/breadcrumbs/breadcrumbs.js +13 -0
  22. package/components/breadcrumbs/breadcrumbs.lazy.js +1 -0
  23. package/components/breadcrumbs/breadcrumbs.less +100 -0
  24. package/components/calendar/calendar-class.js +216 -124
  25. package/components/calendar/calendar-rtl.css +1 -1
  26. package/components/calendar/calendar-vars.less +6 -10
  27. package/components/calendar/calendar.css +1 -1
  28. package/components/calendar/calendar.d.ts +2 -0
  29. package/components/calendar/calendar.js +6 -1
  30. package/components/calendar/calendar.lazy.js +1 -1
  31. package/components/calendar/calendar.less +21 -16
  32. package/components/card/card.js +23 -3
  33. package/components/card/card.lazy.js +1 -1
  34. package/components/color-picker/color-picker-class.js +19 -3
  35. package/components/color-picker/color-picker.js +5 -1
  36. package/components/color-picker/color-picker.lazy.js +1 -1
  37. package/components/data-table/data-table-class.js +5 -1
  38. package/components/data-table/data-table.lazy.js +1 -1
  39. package/components/dialog/dialog.js +30 -6
  40. package/components/dialog/dialog.lazy.js +1 -1
  41. package/components/fab/fab-rtl.css +1 -1
  42. package/components/fab/fab.css +1 -1
  43. package/components/fab/fab.js +15 -3
  44. package/components/fab/fab.lazy.js +1 -1
  45. package/components/form/form.lazy.js +1 -1
  46. package/components/gauge/gauge-class.js +10 -2
  47. package/components/gauge/gauge.d.ts +2 -2
  48. package/components/gauge/gauge.lazy.js +1 -1
  49. package/components/input/input.js +5 -1
  50. package/components/input/input.lazy.js +1 -1
  51. package/components/list-index/list-index-class.js +5 -1
  52. package/components/list-index/list-index.d.ts +1 -1
  53. package/components/list-index/list-index.lazy.js +1 -1
  54. package/components/login-screen/login-screen.js +10 -2
  55. package/components/login-screen/login-screen.lazy.js +1 -1
  56. package/components/menu/menu.js +10 -2
  57. package/components/menu/menu.lazy.js +1 -1
  58. package/components/messagebar/messagebar-class.js +25 -5
  59. package/components/messagebar/messagebar.lazy.js +1 -1
  60. package/components/messages/messages-class.js +60 -24
  61. package/components/messages/messages-rtl.css +1 -1
  62. package/components/messages/messages.css +1 -1
  63. package/components/messages/messages.lazy.js +1 -1
  64. package/components/modal/modal-class.js +10 -0
  65. package/components/navbar/navbar.js +26 -2
  66. package/components/notification/notification.d.ts +4 -4
  67. package/components/panel/panel-class.js +35 -7
  68. package/components/panel/panel.js +40 -8
  69. package/components/panel/panel.lazy.js +1 -1
  70. package/components/photo-browser/photo-browser-class.js +42 -8
  71. package/components/photo-browser/photo-browser.lazy.js +1 -1
  72. package/components/picker/picker-class.js +11 -7
  73. package/components/picker/picker-column.js +34 -270
  74. package/components/picker/picker-rtl.css +1 -1
  75. package/components/picker/picker.css +1 -1
  76. package/components/picker/picker.d.ts +2 -13
  77. package/components/picker/picker.js +5 -6
  78. package/components/picker/picker.lazy.js +1 -1
  79. package/components/picker/picker.less +28 -10
  80. package/components/pie-chart/pie-chart-class.js +16 -7
  81. package/components/pie-chart/pie-chart.lazy.js +1 -1
  82. package/components/popover/popover-class.js +20 -3
  83. package/components/popover/popover-rtl.css +1 -1
  84. package/components/popover/popover.css +1 -1
  85. package/components/popover/popover.d.ts +2 -0
  86. package/components/popover/popover.js +11 -2
  87. package/components/popover/popover.lazy.js +1 -1
  88. package/components/popover/popover.less +3 -0
  89. package/components/popup/popup-class.js +6 -1
  90. package/components/popup/popup-rtl.css +1 -1
  91. package/components/popup/popup.css +1 -1
  92. package/components/popup/popup.d.ts +4 -0
  93. package/components/popup/popup.js +11 -2
  94. package/components/popup/popup.lazy.js +1 -1
  95. package/components/popup/popup.less +4 -0
  96. package/components/preloader/preloader-ios.less +3 -0
  97. package/components/preloader/preloader-rtl.css +1 -1
  98. package/components/preloader/preloader.css +1 -1
  99. package/components/preloader/preloader.d.ts +4 -0
  100. package/components/preloader/preloader.js +10 -2
  101. package/components/preloader/preloader.lazy.js +1 -1
  102. package/components/progressbar/progressbar-aurora.less +32 -13
  103. package/components/progressbar/progressbar-ios.less +19 -7
  104. package/components/progressbar/progressbar-md.less +64 -28
  105. package/components/progressbar/progressbar-rtl.css +1 -1
  106. package/components/progressbar/progressbar.css +1 -1
  107. package/components/progressbar/progressbar.js +17 -4
  108. package/components/progressbar/progressbar.lazy.js +1 -1
  109. package/components/progressbar/progressbar.less +16 -4
  110. package/components/pull-to-refresh/pull-to-refresh-class.js +5 -1
  111. package/components/pull-to-refresh/pull-to-refresh.lazy.js +1 -1
  112. package/components/range/range.d.ts +23 -5
  113. package/components/range/range.js +10 -2
  114. package/components/range/range.lazy.js +1 -1
  115. package/components/searchbar/searchbar-class.js +6 -2
  116. package/components/searchbar/searchbar.js +20 -4
  117. package/components/searchbar/searchbar.lazy.js +1 -1
  118. package/components/sheet/sheet-class.js +21 -2
  119. package/components/sheet/sheet-rtl.css +1 -1
  120. package/components/sheet/sheet.css +1 -1
  121. package/components/sheet/sheet.d.ts +2 -0
  122. package/components/sheet/sheet.js +11 -2
  123. package/components/sheet/sheet.lazy.js +1 -1
  124. package/components/sheet/sheet.less +3 -0
  125. package/components/smart-select/smart-select-class.js +15 -3
  126. package/components/smart-select/smart-select.lazy.js +1 -1
  127. package/components/sortable/sortable.d.ts +5 -1
  128. package/components/sortable/sortable.js +45 -8
  129. package/components/sortable/sortable.lazy.js +1 -1
  130. package/components/statusbar/statusbar.d.ts +9 -9
  131. package/components/statusbar/statusbar.js +5 -1
  132. package/components/stepper/stepper.js +10 -2
  133. package/components/stepper/stepper.lazy.js +1 -1
  134. package/components/swipeout/swipeout.js +16 -3
  135. package/components/swipeout/swipeout.lazy.js +1 -1
  136. package/components/swiper/swiper-rtl.css +1 -1
  137. package/components/swiper/swiper.css +1 -1
  138. package/components/swiper/swiper.lazy.js +1 -1
  139. package/components/tabs/tabs.js +14 -7
  140. package/components/tabs/tabs.lazy.js +1 -1
  141. package/components/toast/toast.d.ts +2 -2
  142. package/components/toggle/toggle-class.js +5 -1
  143. package/components/toggle/toggle.lazy.js +1 -1
  144. package/components/toolbar/toolbar-aurora.less +0 -13
  145. package/components/toolbar/toolbar-md.less +0 -13
  146. package/components/toolbar/toolbar.js +11 -3
  147. package/components/toolbar/toolbar.less +13 -0
  148. package/components/tooltip/tooltip-class.js +5 -1
  149. package/components/tooltip/tooltip.lazy.js +1 -1
  150. package/components/touch-ripple/touch-ripple.js +5 -1
  151. package/components/treeview/treeview.lazy.js +1 -1
  152. package/components/view/view-class.js +13 -2
  153. package/components/view/view.d.ts +5 -1
  154. package/components/view/view.js +2 -0
  155. package/components/virtual-list/virtual-list-class.js +54 -9
  156. package/components/virtual-list/virtual-list.d.ts +2 -2
  157. package/components/virtual-list/virtual-list.lazy.js +1 -1
  158. package/framework7-bundle-rtl.css +253 -150
  159. package/framework7-bundle-rtl.min.css +4 -4
  160. package/framework7-bundle.css +238 -134
  161. package/framework7-bundle.esm.js +5 -4
  162. package/framework7-bundle.js +2663 -1190
  163. package/framework7-bundle.js.map +1 -1
  164. package/framework7-bundle.less +4 -3
  165. package/framework7-bundle.min.css +4 -4
  166. package/framework7-bundle.min.js +4 -4
  167. package/framework7-bundle.min.js.map +1 -1
  168. package/framework7-lite-bundle.esm.js +5 -4
  169. package/framework7-lite.esm.js +3 -3
  170. package/framework7-rtl.css +12 -21
  171. package/framework7-rtl.min.css +4 -4
  172. package/framework7-types.d.ts +5 -1
  173. package/framework7.css +11 -19
  174. package/framework7.d.ts +4 -0
  175. package/framework7.esm.js +3 -3
  176. package/framework7.js +609 -189
  177. package/framework7.js.map +1 -1
  178. package/framework7.less +3 -3
  179. package/framework7.min.css +4 -4
  180. package/framework7.min.js +4 -4
  181. package/framework7.min.js.map +1 -1
  182. package/modules/component/$h.js +5 -1
  183. package/modules/component/$jsx.js +5 -1
  184. package/modules/component/component-class.js +35 -22
  185. package/modules/component/component.d.ts +2 -2
  186. package/modules/component/component.js +7 -6
  187. package/modules/component/eventslisteners.js +5 -1
  188. package/modules/component/snabbdom/h.js +1 -1
  189. package/modules/component/vdom.js +32 -17
  190. package/modules/device/device.js +1 -1
  191. package/modules/router/back.js +16 -6
  192. package/modules/router/component-loader.js +34 -23
  193. package/modules/router/modal.js +5 -1
  194. package/modules/router/navigate.js +19 -3
  195. package/modules/router/redirect.js +5 -1
  196. package/modules/router/router-class.js +39 -10
  197. package/modules/router/swipe-back.js +7 -6
  198. package/modules/router/tab.js +6 -2
  199. package/modules/store/create-store.js +10 -2
  200. package/package.json +12 -6
  201. package/shared/$jsx.js +6 -1
  202. package/shared/class.js +33 -5
  203. package/shared/constructor-methods.js +25 -4
  204. package/shared/events-class.js +15 -3
  205. package/shared/get-device.d.ts +0 -2
  206. package/shared/get-device.js +10 -6
  207. package/shared/modal-methods.js +10 -2
  208. package/shared/request.js +45 -7
  209. package/shared/utils.js +47 -10
@@ -1 +1 @@
1
- (function framework7ComponentLoader(t,e){void 0===e&&(e=!0);var o=t.$,a=t.utils,r=(t.getDevice,t.getSupport,t.Class,t.Modal,t.ConstructorMethods,t.ModalMethods,a.extend),n=a.serializeObject;const s={store(t,e){const a=getWindow();let r=t;const n=o(t);n.length&&n.is("form")&&n.attr("id")&&(r=n.attr("id")),this.form.data[`form-${r}`]=e,a.localStorage[`f7form-${r}`]=JSON.stringify(e)},get(t){const e=this,a=getWindow();let r=t;const n=o(t);return n.length&&n.is("form")&&n.attr("id")&&(r=n.attr("id")),a.localStorage[`f7form-${r}`]?JSON.parse(a.localStorage[`f7form-${r}`]):e.form.data[`form-${r}`]?e.form.data[`form-${r}`]:void 0},remove(t){const e=this,a=getWindow();let r=t;const n=o(t);n.length&&n.is("form")&&n.attr("id")&&(r=n.attr("id")),e.form.data[`form-${r}`]&&(e.form.data[`form-${r}`]="",delete e.form.data[`form-${r}`]),a.localStorage[`f7form-${r}`]&&(a.localStorage[`f7form-${r}`]="",a.localStorage.removeItem(`f7form-${r}`))}},i={init(t){const e=this,a=o(t),r=a.attr("id");if(!r)return;const n=e.form.getFormData(r);n&&e.form.fillFromData(a,n),a.on("change submit",(function(){const t=e.form.convertToData(a);t&&(e.form.storeFormData(r,t),a.trigger("form:storedata",t),e.emit("formStoreData",a[0],t))}))},destroy(t){o(t).off("change submit")}};function c(t){const e=o(t).eq(0);if(0===e.length)return;const a={},r=["submit","image","button","file"],n=[];return e.find("input, select, textarea").each((t=>{const s=o(t);if(s.hasClass("ignore-store-data")||s.hasClass("no-store-data"))return;const i=s.attr("name"),c=s.attr("type"),f=t.nodeName.toLowerCase();if(!(r.indexOf(c)>=0)&&!(n.indexOf(i)>=0)&&i)if("select"===f&&s.prop("multiple"))n.push(i),a[i]=[],e.find(`select[name="${i}"] option`).each((t=>{t.selected&&a[i].push(t.value)}));else switch(c){case"checkbox":n.push(i),a[i]=[],e.find(`input[name="${i}"]`).each((t=>{t.checked&&a[i].push(t.value)}));break;case"radio":n.push(i),e.find(`input[name="${i}"]`).each((t=>{t.checked&&(a[i]=t.value)}));break;default:a[i]=s.val()}})),e.trigger("form:todata",a),this.emit("formToData",e[0],a),a}function f(t,e){const a=this,r=o(t).eq(0);if(!r.length)return;let n=e;const s=r.attr("id");if(!n&&s&&(n=a.form.getFormData(s)),!n)return;const i=["submit","image","button","file"],c=[];r.find("input, select, textarea").each((t=>{const e=o(t);if(e.hasClass("ignore-store-data")||e.hasClass("no-store-data"))return;const a=e.attr("name"),s=e.attr("type"),f=t.nodeName.toLowerCase();if(void 0!==n[a]&&null!==n[a]&&!(i.indexOf(s)>=0)&&!(c.indexOf(a)>=0)&&a){if("select"===f&&e.prop("multiple"))c.push(a),r.find(`select[name="${a}"] option`).each((t=>{const e=t;n[a].indexOf(t.value)>=0?e.selected=!0:e.selected=!1}));else switch(s){case"checkbox":c.push(a),r.find(`input[name="${a}"]`).each((t=>{const e=t;n[a].indexOf(t.value)>=0?e.checked=!0:e.checked=!1}));break;case"radio":c.push(a),r.find(`input[name="${a}"]`).each((t=>{const e=t;n[a]===t.value?e.checked=!0:e.checked=!1}));break;default:e.val(n[a])}"select"!==f&&"input"!==f&&"textarea"!==f||e.trigger("change","fromdata")}})),r.trigger("form:fromdata",n),a.emit("formFromData",r[0],n)}function m(){const t=this,e=getWindow(),a=getDocument();o(a).on("submit change","form.form-ajax-submit, form.form-ajax-submit-onchange",(function(a,r){const s=o(this);if("change"===a.type&&!s.hasClass("form-ajax-submit-onchange"))return;if("submit"===a.type&&a.preventDefault(),"change"===a.type&&"fromdata"===r)return;const i=(s.attr("method")||"GET").toUpperCase(),c=s.prop("enctype")||s.attr("enctype"),f=s.attr("action");if(!f)return;let m;m="POST"===i?"application/x-www-form-urlencoded"===c?t.form.convertToData(s[0]):new e.FormData(s[0]):n(t.form.convertToData(s[0])),t.request({method:i,url:f,contentType:c,data:m,beforeSend(e){s.trigger("formajax:beforesend",{data:m,xhr:e}),t.emit("formAjaxBeforeSend",s[0],m,e)},error(e){s.trigger("formajax:error",{data:m,xhr:e}),t.emit("formAjaxError",s[0],m,e)},complete(e){s.trigger("formajax:complete",{data:m,xhr:e}),t.emit("formAjaxComplete",s[0],m,e)},success(e,o,a){s.trigger("formajax:success",{data:m,xhr:a}),t.emit("formAjaxSuccess",s[0],m,a)}})}))}var d={name:"form",create(){const t=this;r(t,{form:{data:{},storeFormData:s.store.bind(t),getFormData:s.get.bind(t),removeFormData:s.remove.bind(t),convertToData:c.bind(t),fillFromData:f.bind(t),storage:{init:i.init.bind(t),destroy:i.destroy.bind(t)}}})},on:{init(){m.call(this)},tabBeforeRemove(t){const e=this;o(t).find(".form-store-data").each((t=>{e.form.storage.destroy(t)}))},tabMounted(t){const e=this;o(t).find(".form-store-data").each((t=>{e.form.storage.init(t)}))},pageBeforeRemove(t){const e=this;t.$el.find(".form-store-data").each((t=>{e.form.storage.destroy(t)}))},pageInit(t){const e=this;t.$el.find(".form-store-data").each((t=>{e.form.storage.init(t)}))}}};if(e){if(t.prototype.modules&&t.prototype.modules[d.name])return;t.use(d),t.instance&&(t.instance.useModuleParams(d,t.instance.params),t.instance.useModule(d))}return d}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(t,e){void 0===e&&(e=!0);var o=t.$,a=t.utils,r=(t.getDevice,t.getSupport,t.Class,t.Modal,t.ConstructorMethods,t.ModalMethods,a.serializeObject),n=a.extend;const s={store(t,e){const a=getWindow();let r=t;const n=o(t);n.length&&n.is("form")&&n.attr("id")&&(r=n.attr("id")),this.form.data[`form-${r}`]=e,a.localStorage[`f7form-${r}`]=JSON.stringify(e)},get(t){const e=this,a=getWindow();let r=t;const n=o(t);return n.length&&n.is("form")&&n.attr("id")&&(r=n.attr("id")),a.localStorage[`f7form-${r}`]?JSON.parse(a.localStorage[`f7form-${r}`]):e.form.data[`form-${r}`]?e.form.data[`form-${r}`]:void 0},remove(t){const e=this,a=getWindow();let r=t;const n=o(t);n.length&&n.is("form")&&n.attr("id")&&(r=n.attr("id")),e.form.data[`form-${r}`]&&(e.form.data[`form-${r}`]="",delete e.form.data[`form-${r}`]),a.localStorage[`f7form-${r}`]&&(a.localStorage[`f7form-${r}`]="",a.localStorage.removeItem(`f7form-${r}`))}},i={init(t){const e=this,a=o(t),r=a.attr("id");if(!r)return;const n=e.form.getFormData(r);n&&e.form.fillFromData(a,n),a.on("change submit",(function(){const t=e.form.convertToData(a);t&&(e.form.storeFormData(r,t),a.trigger("form:storedata",t),e.emit("formStoreData",a[0],t))}))},destroy(t){o(t).off("change submit")}};function c(t){const e=o(t).eq(0);if(0===e.length)return;const a={},r=["submit","image","button","file"],n=[];return e.find("input, select, textarea").each((t=>{const s=o(t);if(s.hasClass("ignore-store-data")||s.hasClass("no-store-data"))return;const i=s.attr("name"),c=s.attr("type"),f=t.nodeName.toLowerCase();if(!(r.indexOf(c)>=0)&&!(n.indexOf(i)>=0)&&i)if("select"===f&&s.prop("multiple"))n.push(i),a[i]=[],e.find(`select[name="${i}"] option`).each((t=>{t.selected&&a[i].push(t.value)}));else switch(c){case"checkbox":n.push(i),a[i]=[],e.find(`input[name="${i}"]`).each((t=>{t.checked&&a[i].push(t.value)}));break;case"radio":n.push(i),e.find(`input[name="${i}"]`).each((t=>{t.checked&&(a[i]=t.value)}));break;default:a[i]=s.val()}})),e.trigger("form:todata",a),this.emit("formToData",e[0],a),a}function f(t,e){const a=this,r=o(t).eq(0);if(!r.length)return;let n=e;const s=r.attr("id");if(!n&&s&&(n=a.form.getFormData(s)),!n)return;const i=["submit","image","button","file"],c=[];r.find("input, select, textarea").each((t=>{const e=o(t);if(e.hasClass("ignore-store-data")||e.hasClass("no-store-data"))return;const a=e.attr("name"),s=e.attr("type"),f=t.nodeName.toLowerCase();if(void 0!==n[a]&&null!==n[a]&&!(i.indexOf(s)>=0)&&!(c.indexOf(a)>=0)&&a){if("select"===f&&e.prop("multiple"))c.push(a),r.find(`select[name="${a}"] option`).each((t=>{const e=t;n[a].indexOf(t.value)>=0?e.selected=!0:e.selected=!1}));else switch(s){case"checkbox":c.push(a),r.find(`input[name="${a}"]`).each((t=>{const e=t;n[a].indexOf(t.value)>=0?e.checked=!0:e.checked=!1}));break;case"radio":c.push(a),r.find(`input[name="${a}"]`).each((t=>{const e=t;n[a]===t.value?e.checked=!0:e.checked=!1}));break;default:e.val(n[a])}"select"!==f&&"input"!==f&&"textarea"!==f||e.trigger("change","fromdata")}})),r.trigger("form:fromdata",n),a.emit("formFromData",r[0],n)}function m(){const t=this,e=getWindow(),a=getDocument();o(a).on("submit change","form.form-ajax-submit, form.form-ajax-submit-onchange",(function(a,n){const s=o(this);if("change"===a.type&&!s.hasClass("form-ajax-submit-onchange"))return;if("submit"===a.type&&a.preventDefault(),"change"===a.type&&"fromdata"===n)return;const i=(s.attr("method")||"GET").toUpperCase(),c=s.prop("enctype")||s.attr("enctype"),f=s.attr("action");if(!f)return;let m;m="POST"===i?"application/x-www-form-urlencoded"===c?t.form.convertToData(s[0]):new e.FormData(s[0]):r(t.form.convertToData(s[0])),t.request({method:i,url:f,contentType:c,data:m,beforeSend(e){s.trigger("formajax:beforesend",{data:m,xhr:e}),t.emit("formAjaxBeforeSend",s[0],m,e)},error(e){s.trigger("formajax:error",{data:m,xhr:e}),t.emit("formAjaxError",s[0],m,e)},complete(e){s.trigger("formajax:complete",{data:m,xhr:e}),t.emit("formAjaxComplete",s[0],m,e)},success(e,o,a){s.trigger("formajax:success",{data:m,xhr:a}),t.emit("formAjaxSuccess",s[0],m,a)}})}))}var d={name:"form",create(){const t=this;n(t,{form:{data:{},storeFormData:s.store.bind(t),getFormData:s.get.bind(t),removeFormData:s.remove.bind(t),convertToData:c.bind(t),fillFromData:f.bind(t),storage:{init:i.init.bind(t),destroy:i.destroy.bind(t)}}})},on:{init(){m.call(this)},tabBeforeRemove(t){const e=this;o(t).find(".form-store-data").each((t=>{e.form.storage.destroy(t)}))},tabMounted(t){const e=this;o(t).find(".form-store-data").each((t=>{e.form.storage.init(t)}))},pageBeforeRemove(t){const e=this;t.$el.find(".form-store-data").each((t=>{e.form.storage.destroy(t)}))},pageInit(t){const e=this;t.$el.find(".form-store-data").each((t=>{e.form.storage.init(t)}))}}};if(e){if(t.prototype.modules&&t.prototype.modules[d.name])return;t.use(d),t.instance&&(t.instance.useModuleParams(d,t.instance.params),t.instance.useModule(d))}return d}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -8,7 +8,11 @@ import Framework7Class from '../../shared/class.js';
8
8
  import $jsx from '../../shared/$jsx.js';
9
9
 
10
10
  class Gauge extends Framework7Class {
11
- constructor(app, params = {}) {
11
+ constructor(app, params) {
12
+ if (params === void 0) {
13
+ params = {};
14
+ }
15
+
12
16
  super(params, [app]);
13
17
  const self = this;
14
18
  const defaults = extend({}, app.params.gauge); // Extend defaults with modules params
@@ -134,7 +138,11 @@ class Gauge extends Framework7Class {
134
138
  }, labelText));
135
139
  }
136
140
 
137
- update(newParams = {}) {
141
+ update(newParams) {
142
+ if (newParams === void 0) {
143
+ newParams = {};
144
+ }
145
+
138
146
  const self = this;
139
147
  const document = getDocument();
140
148
  const {
@@ -17,7 +17,7 @@ export namespace Gauge {
17
17
  params: Parameters;
18
18
 
19
19
  /** Update/rerender gauge SVG element according to passed parameters. It accepts object with same parameters required for gauge initialization. You can pass only parameters that needs to be updated */
20
- update(parameters: Parameters): Gauge;
20
+ update(parameters: Omit<Parameters, 'el'>): Gauge;
21
21
  /** Destroys gauge instance */
22
22
  destroy(): void;
23
23
  }
@@ -79,7 +79,7 @@ export namespace Gauge {
79
79
  /** get Gauge instance by HTML element */
80
80
  get(el: HTMLElement | CSSSelector): Gauge;
81
81
  /** update/rerender Gauge SVG according to passed parameters */
82
- update(parameters: Parameters): Gauge;
82
+ update(parameters: Omit<Parameters, 'el'>): Gauge;
83
83
  };
84
84
  }
85
85
  interface AppParams {
@@ -1 +1 @@
1
- (function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var a=e.$,o=e.utils,r=(e.getDevice,e.getSupport,e.Class),s=(e.Modal,e.ConstructorMethods),l=(e.ModalMethods,o.extend),n=o.deleteProps;class i extends r{constructor(e,t={}){super(t,[e]);const o=this,r=l({},e.params.gauge);o.useModulesParams(r),o.params=l(r,t);const{el:s}=o.params;if(!s)return o;const n=a(s);return 0===n.length?o:n[0].f7Gauge?n[0].f7Gauge:(l(o,{app:e,$el:n,el:n&&n[0]}),n[0].f7Gauge=o,o.useModules(),o.init(),o)}calcRadius(){const{size:e,borderWidth:t}=this.params;return e/2-t/2}calcBorderLength(){const e=this.calcRadius();return 2*Math.PI*e}render(){const e=this;if(e.params.render)return e.params.render.call(e,e);const{type:t,value:a,size:o,bgColor:r,borderBgColor:s,borderColor:l,borderWidth:n,valueText:i,valueTextColor:g,valueFontSize:d,valueFontWeight:c,labelText:u,labelTextColor:f,labelFontSize:h,labelFontWeight:x}=e.params,m="semicircle"===t,b=e.calcRadius(),p=e.calcBorderLength(),v=Math.max(Math.min(a,1),0);return $jsx("svg",{class:"gauge-svg",width:`${o}px`,height:`${m?o/2:o}px`,viewBox:`0 0 ${o} ${m?o/2:o}`},m&&$jsx("path",{class:"gauge-back-semi",d:`M${o-n/2},${o/2} a1,1 0 0,0 -${o-n},0`,stroke:s,"stroke-width":n,fill:r||"none"}),m&&$jsx("path",{class:"gauge-front-semi",d:`M${o-n/2},${o/2} a1,1 0 0,0 -${o-n},0`,stroke:l,"stroke-width":n,"stroke-dasharray":p/2,"stroke-dashoffset":p/2*(1+v),fill:s?"none":r||"none"}),!m&&s&&$jsx("circle",{class:"gauge-back-circle",stroke:s,"stroke-width":n,fill:r||"none",cx:o/2,cy:o/2,r:b}),!m&&$jsx("circle",{class:"gauge-front-circle",transform:`rotate(-90 ${o/2} ${o/2})`,stroke:l,"stroke-width":n,"stroke-dasharray":p,"stroke-dashoffset":p*(1-v),fill:s?"none":r||"none",cx:o/2,cy:o/2,r:b}),i&&$jsx("text",{class:"gauge-value-text",x:"50%",y:m?"100%":"50%","font-weight":c,"font-size":d,fill:g,dy:m?u?-h-15:-5:0,"text-anchor":"middle","dominant-baseline":!m&&"middle"},i),u&&$jsx("text",{class:"gauge-label-text",x:"50%",y:m?"100%":"50%","font-weight":x,"font-size":h,fill:f,dy:m?-5:i?d/2+10:0,"text-anchor":"middle","dominant-baseline":!m&&"middle"},u))}update(e={}){const t=this,a=getDocument(),{params:o,$svgEl:r}=t;if(Object.keys(e).forEach((t=>{void 0!==e[t]&&(o[t]=e[t])})),0===r.length)return t;const{value:s,size:l,bgColor:n,borderBgColor:i,borderColor:g,borderWidth:d,valueText:c,valueTextColor:u,valueFontSize:f,valueFontWeight:h,labelText:x,labelTextColor:m,labelFontSize:b,labelFontWeight:p}=o,v=t.calcBorderLength(),$=Math.max(Math.min(s,1),0),y=t.calcRadius(),k="semicircle"===o.type,w={width:`${l}px`,height:`${k?l/2:l}px`,viewBox:`0 0 ${l} ${k?l/2:l}`};if(Object.keys(w).forEach((e=>{r.attr(e,w[e])})),k){const e={d:`M${l-d/2},${l/2} a1,1 0 0,0 -${l-d},0`,stroke:i,"stroke-width":d,fill:n||"none"},t={d:`M${l-d/2},${l/2} a1,1 0 0,0 -${l-d},0`,stroke:g,"stroke-width":d,"stroke-dasharray":v/2,"stroke-dashoffset":v/2*(1+$),fill:i?"none":n||"none"};Object.keys(e).forEach((t=>{r.find(".gauge-back-semi").attr(t,e[t])})),Object.keys(t).forEach((e=>{r.find(".gauge-front-semi").attr(e,t[e])}))}else{const e={stroke:i,"stroke-width":d,fill:n||"none",cx:l/2,cy:l/2,r:y},t={transform:`rotate(-90 ${l/2} ${l/2})`,stroke:g,"stroke-width":d,"stroke-dasharray":v,"stroke-dashoffset":v*(1-$),fill:i?"none":n||"none",cx:l/2,cy:l/2,r:y};Object.keys(e).forEach((t=>{r.find(".gauge-back-circle").attr(t,e[t])})),Object.keys(t).forEach((e=>{r.find(".gauge-front-circle").attr(e,t[e])}))}if(c){if(!r.find(".gauge-value-text").length){const e=a.createElementNS("http://www.w3.org/2000/svg","text");e.classList.add("gauge-value-text"),r.append(e)}const e={x:"50%",y:k?"100%":"50%","font-weight":h,"font-size":f,fill:u,dy:k?x?-b-15:-5:0,"text-anchor":"middle","dominant-baseline":!k&&"middle"};Object.keys(e).forEach((t=>{r.find(".gauge-value-text").attr(t,e[t])})),r.find(".gauge-value-text").text(c)}else r.find(".gauge-value-text").remove();if(x){if(!r.find(".gauge-label-text").length){const e=a.createElementNS("http://www.w3.org/2000/svg","text");e.classList.add("gauge-label-text"),r.append(e)}const e={x:"50%",y:k?"100%":"50%","font-weight":p,"font-size":b,fill:m,dy:k?-5:c?f/2+10:0,"text-anchor":"middle","dominant-baseline":!k&&"middle"};Object.keys(e).forEach((t=>{r.find(".gauge-label-text").attr(t,e[t])})),r.find(".gauge-label-text").text(x)}else r.find(".gauge-label-text").remove();return t}init(){const e=this,t=a(e.render()).eq(0);return t.f7Gauge=e,l(e,{$svgEl:t,svgEl:t&&t[0]}),e.$el.append(t),e}destroy(){const e=this;e.$el&&!e.destroyed&&(e.$el.trigger("gauge:beforedestroy"),e.emit("local::beforeDestroy gaugeBeforeDestroy",e),e.$svgEl.remove(),delete e.$el[0].f7Gauge,n(e),e.destroyed=!0)}}var g={name:"gauge",static:{Gauge:i},create(){const e=this;e.gauge=s({defaultSelector:".gauge",constructor:i,app:e,domProp:"f7Gauge"}),e.gauge.update=function(t,o){if(0===a(t).length)return;const r=e.gauge.get(t);return r?(r.update(o),r):void 0}},params:{gauge:{el:null,type:"circle",value:0,size:200,bgColor:"transparent",borderBgColor:"#eeeeee",borderColor:"#000000",borderWidth:10,valueText:null,valueTextColor:"#000000",valueFontSize:31,valueFontWeight:500,labelText:null,labelTextColor:"#888888",labelFontSize:14,labelFontWeight:400}},on:{tabMounted(e){const t=this;a(e).find(".gauge-init").each((e=>{t.gauge.create(l({el:e},a(e).dataset()||{}))}))},tabBeforeRemove(e){a(e).find(".gauge-init").each((e=>{e.f7Gauge&&e.f7Gauge.destroy()}))},pageInit(e){const t=this;e.$el.find(".gauge-init").each((e=>{t.gauge.create(l({el:e},a(e).dataset()||{}))}))},pageBeforeRemove(e){e.$el.find(".gauge-init").each((e=>{e.f7Gauge&&e.f7Gauge.destroy()}))}},vnode:{"gauge-init":{insert(e){const t=e.elm;this.gauge.create(l({el:t},a(t).dataset()||{}))},destroy(e){const t=e.elm;t.f7Gauge&&t.f7Gauge.destroy()}}}};if(t){if(e.prototype.modules&&e.prototype.modules[g.name])return;e.use(g),e.instance&&(e.instance.useModuleParams(g,e.instance.params),e.instance.useModule(g))}return g}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var a=e.$,o=e.utils,r=(e.getDevice,e.getSupport,e.Class),s=(e.Modal,e.ConstructorMethods),l=(e.ModalMethods,o.extend),n=o.deleteProps;class i extends r{constructor(e,t){void 0===t&&(t={}),super(t,[e]);const o=this,r=l({},e.params.gauge);o.useModulesParams(r),o.params=l(r,t);const{el:s}=o.params;if(!s)return o;const n=a(s);return 0===n.length?o:n[0].f7Gauge?n[0].f7Gauge:(l(o,{app:e,$el:n,el:n&&n[0]}),n[0].f7Gauge=o,o.useModules(),o.init(),o)}calcRadius(){const{size:e,borderWidth:t}=this.params;return e/2-t/2}calcBorderLength(){const e=this.calcRadius();return 2*Math.PI*e}render(){const e=this;if(e.params.render)return e.params.render.call(e,e);const{type:t,value:a,size:o,bgColor:r,borderBgColor:s,borderColor:l,borderWidth:n,valueText:i,valueTextColor:d,valueFontSize:g,valueFontWeight:c,labelText:u,labelTextColor:f,labelFontSize:h,labelFontWeight:x}=e.params,m="semicircle"===t,b=e.calcRadius(),p=e.calcBorderLength(),v=Math.max(Math.min(a,1),0);return $jsx("svg",{class:"gauge-svg",width:`${o}px`,height:`${m?o/2:o}px`,viewBox:`0 0 ${o} ${m?o/2:o}`},m&&$jsx("path",{class:"gauge-back-semi",d:`M${o-n/2},${o/2} a1,1 0 0,0 -${o-n},0`,stroke:s,"stroke-width":n,fill:r||"none"}),m&&$jsx("path",{class:"gauge-front-semi",d:`M${o-n/2},${o/2} a1,1 0 0,0 -${o-n},0`,stroke:l,"stroke-width":n,"stroke-dasharray":p/2,"stroke-dashoffset":p/2*(1+v),fill:s?"none":r||"none"}),!m&&s&&$jsx("circle",{class:"gauge-back-circle",stroke:s,"stroke-width":n,fill:r||"none",cx:o/2,cy:o/2,r:b}),!m&&$jsx("circle",{class:"gauge-front-circle",transform:`rotate(-90 ${o/2} ${o/2})`,stroke:l,"stroke-width":n,"stroke-dasharray":p,"stroke-dashoffset":p*(1-v),fill:s?"none":r||"none",cx:o/2,cy:o/2,r:b}),i&&$jsx("text",{class:"gauge-value-text",x:"50%",y:m?"100%":"50%","font-weight":c,"font-size":g,fill:d,dy:m?u?-h-15:-5:0,"text-anchor":"middle","dominant-baseline":!m&&"middle"},i),u&&$jsx("text",{class:"gauge-label-text",x:"50%",y:m?"100%":"50%","font-weight":x,"font-size":h,fill:f,dy:m?-5:i?g/2+10:0,"text-anchor":"middle","dominant-baseline":!m&&"middle"},u))}update(e){void 0===e&&(e={});const t=this,a=getDocument(),{params:o,$svgEl:r}=t;if(Object.keys(e).forEach((t=>{void 0!==e[t]&&(o[t]=e[t])})),0===r.length)return t;const{value:s,size:l,bgColor:n,borderBgColor:i,borderColor:d,borderWidth:g,valueText:c,valueTextColor:u,valueFontSize:f,valueFontWeight:h,labelText:x,labelTextColor:m,labelFontSize:b,labelFontWeight:p}=o,v=t.calcBorderLength(),$=Math.max(Math.min(s,1),0),y=t.calcRadius(),k="semicircle"===o.type,w={width:`${l}px`,height:`${k?l/2:l}px`,viewBox:`0 0 ${l} ${k?l/2:l}`};if(Object.keys(w).forEach((e=>{r.attr(e,w[e])})),k){const e={d:`M${l-g/2},${l/2} a1,1 0 0,0 -${l-g},0`,stroke:i,"stroke-width":g,fill:n||"none"},t={d:`M${l-g/2},${l/2} a1,1 0 0,0 -${l-g},0`,stroke:d,"stroke-width":g,"stroke-dasharray":v/2,"stroke-dashoffset":v/2*(1+$),fill:i?"none":n||"none"};Object.keys(e).forEach((t=>{r.find(".gauge-back-semi").attr(t,e[t])})),Object.keys(t).forEach((e=>{r.find(".gauge-front-semi").attr(e,t[e])}))}else{const e={stroke:i,"stroke-width":g,fill:n||"none",cx:l/2,cy:l/2,r:y},t={transform:`rotate(-90 ${l/2} ${l/2})`,stroke:d,"stroke-width":g,"stroke-dasharray":v,"stroke-dashoffset":v*(1-$),fill:i?"none":n||"none",cx:l/2,cy:l/2,r:y};Object.keys(e).forEach((t=>{r.find(".gauge-back-circle").attr(t,e[t])})),Object.keys(t).forEach((e=>{r.find(".gauge-front-circle").attr(e,t[e])}))}if(c){if(!r.find(".gauge-value-text").length){const e=a.createElementNS("http://www.w3.org/2000/svg","text");e.classList.add("gauge-value-text"),r.append(e)}const e={x:"50%",y:k?"100%":"50%","font-weight":h,"font-size":f,fill:u,dy:k?x?-b-15:-5:0,"text-anchor":"middle","dominant-baseline":!k&&"middle"};Object.keys(e).forEach((t=>{r.find(".gauge-value-text").attr(t,e[t])})),r.find(".gauge-value-text").text(c)}else r.find(".gauge-value-text").remove();if(x){if(!r.find(".gauge-label-text").length){const e=a.createElementNS("http://www.w3.org/2000/svg","text");e.classList.add("gauge-label-text"),r.append(e)}const e={x:"50%",y:k?"100%":"50%","font-weight":p,"font-size":b,fill:m,dy:k?-5:c?f/2+10:0,"text-anchor":"middle","dominant-baseline":!k&&"middle"};Object.keys(e).forEach((t=>{r.find(".gauge-label-text").attr(t,e[t])})),r.find(".gauge-label-text").text(x)}else r.find(".gauge-label-text").remove();return t}init(){const e=this,t=a(e.render()).eq(0);return t.f7Gauge=e,l(e,{$svgEl:t,svgEl:t&&t[0]}),e.$el.append(t),e}destroy(){const e=this;e.$el&&!e.destroyed&&(e.$el.trigger("gauge:beforedestroy"),e.emit("local::beforeDestroy gaugeBeforeDestroy",e),e.$svgEl.remove(),delete e.$el[0].f7Gauge,n(e),e.destroyed=!0)}}var d={name:"gauge",static:{Gauge:i},create(){const e=this;e.gauge=s({defaultSelector:".gauge",constructor:i,app:e,domProp:"f7Gauge"}),e.gauge.update=function(t,o){if(0===a(t).length)return;const r=e.gauge.get(t);return r?(r.update(o),r):void 0}},params:{gauge:{el:null,type:"circle",value:0,size:200,bgColor:"transparent",borderBgColor:"#eeeeee",borderColor:"#000000",borderWidth:10,valueText:null,valueTextColor:"#000000",valueFontSize:31,valueFontWeight:500,labelText:null,labelTextColor:"#888888",labelFontSize:14,labelFontWeight:400}},on:{tabMounted(e){const t=this;a(e).find(".gauge-init").each((e=>{t.gauge.create(l({el:e},a(e).dataset()||{}))}))},tabBeforeRemove(e){a(e).find(".gauge-init").each((e=>{e.f7Gauge&&e.f7Gauge.destroy()}))},pageInit(e){const t=this;e.$el.find(".gauge-init").each((e=>{t.gauge.create(l({el:e},a(e).dataset()||{}))}))},pageBeforeRemove(e){e.$el.find(".gauge-init").each((e=>{e.f7Gauge&&e.f7Gauge.destroy()}))}},vnode:{"gauge-init":{insert(e){const t=e.elm;this.gauge.create(l({el:t},a(t).dataset()||{}))},destroy(e){const t=e.elm;t.f7Gauge&&t.f7Gauge.destroy()}}}};if(t){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))
@@ -190,7 +190,11 @@ const Input = {
190
190
  }
191
191
  },
192
192
 
193
- scrollIntoView(inputEl, duration = 0, centered, force) {
193
+ scrollIntoView(inputEl, duration, centered, force) {
194
+ if (duration === void 0) {
195
+ duration = 0;
196
+ }
197
+
194
198
  const $inputEl = $(inputEl);
195
199
  const $scrollableEl = $inputEl.parents('.page-content, .panel, .card-expandable .card-content').eq(0);
196
200
 
@@ -1 +1 @@
1
- (function framework7ComponentLoader(t,e){void 0===e&&(e=!0);var a=t.$,i=t.utils,n=t.getDevice,s=(t.getSupport,t.Class,t.Modal,t.ConstructorMethods,t.ModalMethods,i.bindMethods);const r={ignoreTypes:["checkbox","button","submit","range","radio","image"],createTextareaResizableShadow(){const t=getDocument(),e=a(t.createElement("textarea"));e.addClass("textarea-resizable-shadow"),e.prop({disabled:!0,readonly:!0}),r.textareaResizableShadow=e},textareaResizableShadow:void 0,resizeTextarea(t){const e=this,i=getWindow(),n=a(t);r.textareaResizableShadow||r.createTextareaResizableShadow();const s=r.textareaResizableShadow;if(!n.length)return;if(!n.hasClass("resizable"))return;0===r.textareaResizableShadow.parents().length&&e.$el.append(s);const l=i.getComputedStyle(n[0]);"padding-top padding-bottom padding-left padding-right margin-left margin-right margin-top margin-bottom width font-size font-family font-style font-weight line-height font-variant text-transform letter-spacing border box-sizing display".split(" ").forEach((t=>{let e=l[t];"font-size line-height letter-spacing width".split(" ").indexOf(t)>=0&&(e=e.replace(",",".")),s.css(t,e)}));const o=n[0].clientHeight;s.val("");const p=s[0].scrollHeight;s.val(n.val()),s.css("height",0);const u=s[0].scrollHeight;o!==u&&(u>p?n.css("height",`${u}px`):u<o&&n.css("height",""),(u>p||u<o)&&(n.trigger("textarea:resize",{initialHeight:p,currentHeight:o,scrollHeight:u}),e.emit("textareaResize",{initialHeight:p,currentHeight:o,scrollHeight:u})))},validate(t){const e=a(t);if(!e.length)return!0;const i=e.parents(".item-input"),n=e.parents(".input");function s(){e[0].f7ValidateReadonly&&(e[0].readOnly=!0)}e[0].f7ValidateReadonly&&(e[0].readOnly=!1);const r=e[0].validity,l=e.dataset().errorMessage||e[0].validationMessage||"";if(!r)return s(),!0;if(!r.valid){let t=e.nextAll(".item-input-error-message, .input-error-message");return l&&(0===t.length&&(t=a(`<div class="${n.length?"input-error-message":"item-input-error-message"}"></div>`),t.insertAfter(e)),t.text(l)),t.length>0&&(i.addClass("item-input-with-error-message"),n.addClass("input-with-error-message")),i.addClass("item-input-invalid"),n.addClass("input-invalid"),e.addClass("input-invalid"),s(),!1}return i.removeClass("item-input-invalid item-input-with-error-message"),n.removeClass("input-invalid input-with-error-message"),e.removeClass("input-invalid"),s(),!0},validateInputs(t){const e=this;return a(t).find("input, textarea, select").map((t=>e.input.validate(t))).indexOf(!1)<0},focus(t){const e=a(t),i=e.attr("type");r.ignoreTypes.indexOf(i)>=0||(e.parents(".item-input").addClass("item-input-focused"),e.parents(".input").addClass("input-focused"),e.addClass("input-focused"))},blur(t){const e=a(t);e.parents(".item-input").removeClass("item-input-focused"),e.parents(".input").removeClass("input-focused"),e.removeClass("input-focused")},checkEmptyState(t){const e=this;let i=a(t);if(i.is("input, select, textarea, .item-input [contenteditable]")||(i=i.find("input, select, textarea, .item-input [contenteditable]").eq(0)),!i.length)return;let n;n=i[0].hasAttribute("contenteditable")?i.find(".text-editor-placeholder").length?"":i.html():i.val();const s=i.parents(".item-input"),r=i.parents(".input");n&&"string"==typeof n&&""!==n.trim()||Array.isArray(n)&&n.length>0?(s.addClass("item-input-with-value"),r.addClass("input-with-value"),i.addClass("input-with-value"),i.trigger("input:notempty"),e.emit("inputNotEmpty",i[0])):(s.removeClass("item-input-with-value"),r.removeClass("input-with-value"),i.removeClass("input-with-value"),i.trigger("input:empty"),e.emit("inputEmpty",i[0]))},scrollIntoView(t,e=0,i,n){const s=a(t),r=s.parents(".page-content, .panel, .card-expandable .card-content").eq(0);if(!r.length)return!1;const l=r[0].offsetHeight,o=r[0].scrollTop,p=parseInt(r.css("padding-top"),10),u=parseInt(r.css("padding-bottom"),10),d=r.offset().top-o,c=s.offset().top-d,h=c+o-p,m=c+o-l+u+s[0].offsetHeight,g=h+(m-h)/2;return o>h?(r.scrollTop(i?g:h,e),!0):o<m?(r.scrollTop(i?g:m,e),!0):(n&&r.scrollTop(i?g:m,e),!1)},init(){const t=this,e=n(),i=getWindow(),s=getDocument();r.createTextareaResizableShadow(),a(s).on("click",".input-clear-button",(function(){const e=a(this).siblings("input, textarea").eq(0),i=e.val();e.val("").trigger("input change").focus().trigger("input:clear",i),t.emit("inputClear",i)})),a(s).on("mousedown",".input-clear-button",(function(t){t.preventDefault()})),a(s).on("change input","input, textarea, select, .item-input [contenteditable]",(function(){const e=a(this),i=e.attr("type"),n=e[0].nodeName.toLowerCase(),s=e[0].hasAttribute("contenteditable");r.ignoreTypes.indexOf(i)>=0||(t.input.checkEmptyState(e),s||(null!==e.attr("data-validate-on-blur")||!e.dataset().validate&&null===e.attr("validate")||t.input.validate(e),"textarea"===n&&e.hasClass("resizable")&&t.input.resizeTextarea(e)))}),!0),a(s).on("focus","input, textarea, select, .item-input [contenteditable]",(function(){const n=this;t.params.input.scrollIntoViewOnFocus&&(e.android?a(i).once("resize",(()=>{s&&s.activeElement===n&&t.input.scrollIntoView(n,t.params.input.scrollIntoViewDuration,t.params.input.scrollIntoViewCentered,t.params.input.scrollIntoViewAlways)})):t.input.scrollIntoView(n,t.params.input.scrollIntoViewDuration,t.params.input.scrollIntoViewCentered,t.params.input.scrollIntoViewAlways)),t.input.focus(n)}),!0),a(s).on("blur","input, textarea, select, .item-input [contenteditable]",(function(){const e=a(this),i=e[0].nodeName.toLowerCase();t.input.blur(e),(e.dataset().validate||null!==e.attr("validate")||null!==e.attr("data-validate-on-blur"))&&t.input.validate(e),"textarea"===i&&e.hasClass("resizable")&&r.textareaResizableShadow&&r.textareaResizableShadow.remove()}),!0),a(s).on("invalid","input, textarea, select",(function(e){const i=a(this);null!==i.attr("data-validate-on-blur")||!i.dataset().validate&&null===i.attr("validate")||(e.preventDefault(),t.input.validate(i))}),!0)}};var l={name:"input",params:{input:{scrollIntoViewOnFocus:void 0,scrollIntoViewCentered:!1,scrollIntoViewDuration:0,scrollIntoViewAlways:!1}},create(){const t=this;void 0===t.params.input.scrollIntoViewOnFocus&&(t.params.input.scrollIntoViewOnFocus=n().android),s(t,{input:r})},on:{init(){this.input.init()},tabMounted(t){const e=this,i=a(t);i.find(".item-input, .input").each((t=>{a(t).find("input, select, textarea, [contenteditable]").each((t=>{const i=a(t);r.ignoreTypes.indexOf(i.attr("type"))>=0||e.input.checkEmptyState(i)}))})),i.find("textarea.resizable").each((t=>{e.input.resizeTextarea(t)}))},pageInit(t){const e=this,i=t.$el;i.find(".item-input, .input").each((t=>{a(t).find("input, select, textarea, [contenteditable]").each((t=>{const i=a(t);r.ignoreTypes.indexOf(i.attr("type"))>=0||e.input.checkEmptyState(i)}))})),i.find("textarea.resizable").each((t=>{e.input.resizeTextarea(t)}))},"panelBreakpoint panelCollapsedBreakpoint panelResize panelOpen panelSwipeOpen resize viewMasterDetailBreakpoint":function(t){const e=this;t&&t.$el?t.$el.find("textarea.resizable").each((t=>{e.input.resizeTextarea(t)})):a("textarea.resizable").each((t=>{e.input.resizeTextarea(t)}))}}};if(e){if(t.prototype.modules&&t.prototype.modules[l.name])return;t.use(l),t.instance&&(t.instance.useModuleParams(l,t.instance.params),t.instance.useModule(l))}return l}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(t,e){void 0===e&&(e=!0);var a=t.$,i=t.utils,n=t.getDevice,s=(t.getSupport,t.Class,t.Modal,t.ConstructorMethods,t.ModalMethods,i.bindMethods);const r={ignoreTypes:["checkbox","button","submit","range","radio","image"],createTextareaResizableShadow(){const t=getDocument(),e=a(t.createElement("textarea"));e.addClass("textarea-resizable-shadow"),e.prop({disabled:!0,readonly:!0}),r.textareaResizableShadow=e},textareaResizableShadow:void 0,resizeTextarea(t){const e=this,i=getWindow(),n=a(t);r.textareaResizableShadow||r.createTextareaResizableShadow();const s=r.textareaResizableShadow;if(!n.length)return;if(!n.hasClass("resizable"))return;0===r.textareaResizableShadow.parents().length&&e.$el.append(s);const l=i.getComputedStyle(n[0]);"padding-top padding-bottom padding-left padding-right margin-left margin-right margin-top margin-bottom width font-size font-family font-style font-weight line-height font-variant text-transform letter-spacing border box-sizing display".split(" ").forEach((t=>{let e=l[t];"font-size line-height letter-spacing width".split(" ").indexOf(t)>=0&&(e=e.replace(",",".")),s.css(t,e)}));const o=n[0].clientHeight;s.val("");const p=s[0].scrollHeight;s.val(n.val()),s.css("height",0);const u=s[0].scrollHeight;o!==u&&(u>p?n.css("height",`${u}px`):u<o&&n.css("height",""),(u>p||u<o)&&(n.trigger("textarea:resize",{initialHeight:p,currentHeight:o,scrollHeight:u}),e.emit("textareaResize",{initialHeight:p,currentHeight:o,scrollHeight:u})))},validate(t){const e=a(t);if(!e.length)return!0;const i=e.parents(".item-input"),n=e.parents(".input");function s(){e[0].f7ValidateReadonly&&(e[0].readOnly=!0)}e[0].f7ValidateReadonly&&(e[0].readOnly=!1);const r=e[0].validity,l=e.dataset().errorMessage||e[0].validationMessage||"";if(!r)return s(),!0;if(!r.valid){let t=e.nextAll(".item-input-error-message, .input-error-message");return l&&(0===t.length&&(t=a(`<div class="${n.length?"input-error-message":"item-input-error-message"}"></div>`),t.insertAfter(e)),t.text(l)),t.length>0&&(i.addClass("item-input-with-error-message"),n.addClass("input-with-error-message")),i.addClass("item-input-invalid"),n.addClass("input-invalid"),e.addClass("input-invalid"),s(),!1}return i.removeClass("item-input-invalid item-input-with-error-message"),n.removeClass("input-invalid input-with-error-message"),e.removeClass("input-invalid"),s(),!0},validateInputs(t){const e=this;return a(t).find("input, textarea, select").map((t=>e.input.validate(t))).indexOf(!1)<0},focus(t){const e=a(t),i=e.attr("type");r.ignoreTypes.indexOf(i)>=0||(e.parents(".item-input").addClass("item-input-focused"),e.parents(".input").addClass("input-focused"),e.addClass("input-focused"))},blur(t){const e=a(t);e.parents(".item-input").removeClass("item-input-focused"),e.parents(".input").removeClass("input-focused"),e.removeClass("input-focused")},checkEmptyState(t){const e=this;let i=a(t);if(i.is("input, select, textarea, .item-input [contenteditable]")||(i=i.find("input, select, textarea, .item-input [contenteditable]").eq(0)),!i.length)return;let n;n=i[0].hasAttribute("contenteditable")?i.find(".text-editor-placeholder").length?"":i.html():i.val();const s=i.parents(".item-input"),r=i.parents(".input");n&&"string"==typeof n&&""!==n.trim()||Array.isArray(n)&&n.length>0?(s.addClass("item-input-with-value"),r.addClass("input-with-value"),i.addClass("input-with-value"),i.trigger("input:notempty"),e.emit("inputNotEmpty",i[0])):(s.removeClass("item-input-with-value"),r.removeClass("input-with-value"),i.removeClass("input-with-value"),i.trigger("input:empty"),e.emit("inputEmpty",i[0]))},scrollIntoView(t,e,i,n){void 0===e&&(e=0);const s=a(t),r=s.parents(".page-content, .panel, .card-expandable .card-content").eq(0);if(!r.length)return!1;const l=r[0].offsetHeight,o=r[0].scrollTop,p=parseInt(r.css("padding-top"),10),u=parseInt(r.css("padding-bottom"),10),d=r.offset().top-o,c=s.offset().top-d,h=c+o-p,m=c+o-l+u+s[0].offsetHeight,g=h+(m-h)/2;return o>h?(r.scrollTop(i?g:h,e),!0):o<m?(r.scrollTop(i?g:m,e),!0):(n&&r.scrollTop(i?g:m,e),!1)},init(){const t=this,e=n(),i=getWindow(),s=getDocument();r.createTextareaResizableShadow(),a(s).on("click",".input-clear-button",(function(){const e=a(this).siblings("input, textarea").eq(0),i=e.val();e.val("").trigger("input change").focus().trigger("input:clear",i),t.emit("inputClear",i)})),a(s).on("mousedown",".input-clear-button",(function(t){t.preventDefault()})),a(s).on("change input","input, textarea, select, .item-input [contenteditable]",(function(){const e=a(this),i=e.attr("type"),n=e[0].nodeName.toLowerCase(),s=e[0].hasAttribute("contenteditable");r.ignoreTypes.indexOf(i)>=0||(t.input.checkEmptyState(e),s||(null!==e.attr("data-validate-on-blur")||!e.dataset().validate&&null===e.attr("validate")||t.input.validate(e),"textarea"===n&&e.hasClass("resizable")&&t.input.resizeTextarea(e)))}),!0),a(s).on("focus","input, textarea, select, .item-input [contenteditable]",(function(){const n=this;t.params.input.scrollIntoViewOnFocus&&(e.android?a(i).once("resize",(()=>{s&&s.activeElement===n&&t.input.scrollIntoView(n,t.params.input.scrollIntoViewDuration,t.params.input.scrollIntoViewCentered,t.params.input.scrollIntoViewAlways)})):t.input.scrollIntoView(n,t.params.input.scrollIntoViewDuration,t.params.input.scrollIntoViewCentered,t.params.input.scrollIntoViewAlways)),t.input.focus(n)}),!0),a(s).on("blur","input, textarea, select, .item-input [contenteditable]",(function(){const e=a(this),i=e[0].nodeName.toLowerCase();t.input.blur(e),(e.dataset().validate||null!==e.attr("validate")||null!==e.attr("data-validate-on-blur"))&&t.input.validate(e),"textarea"===i&&e.hasClass("resizable")&&r.textareaResizableShadow&&r.textareaResizableShadow.remove()}),!0),a(s).on("invalid","input, textarea, select",(function(e){const i=a(this);null!==i.attr("data-validate-on-blur")||!i.dataset().validate&&null===i.attr("validate")||(e.preventDefault(),t.input.validate(i))}),!0)}};var l={name:"input",params:{input:{scrollIntoViewOnFocus:void 0,scrollIntoViewCentered:!1,scrollIntoViewDuration:0,scrollIntoViewAlways:!1}},create(){const t=this;void 0===t.params.input.scrollIntoViewOnFocus&&(t.params.input.scrollIntoViewOnFocus=n().android),s(t,{input:r})},on:{init(){this.input.init()},tabMounted(t){const e=this,i=a(t);i.find(".item-input, .input").each((t=>{a(t).find("input, select, textarea, [contenteditable]").each((t=>{const i=a(t);r.ignoreTypes.indexOf(i.attr("type"))>=0||e.input.checkEmptyState(i)}))})),i.find("textarea.resizable").each((t=>{e.input.resizeTextarea(t)}))},pageInit(t){const e=this,i=t.$el;i.find(".item-input, .input").each((t=>{a(t).find("input, select, textarea, [contenteditable]").each((t=>{const i=a(t);r.ignoreTypes.indexOf(i.attr("type"))>=0||e.input.checkEmptyState(i)}))})),i.find("textarea.resizable").each((t=>{e.input.resizeTextarea(t)}))},"panelBreakpoint panelCollapsedBreakpoint panelResize panelOpen panelSwipeOpen resize viewMasterDetailBreakpoint":function(t){const e=this;t&&t.$el?t.$el.find("textarea.resizable").each((t=>{e.input.resizeTextarea(t)})):a("textarea.resizable").each((t=>{e.input.resizeTextarea(t)}))}}};if(e){if(t.prototype.modules&&t.prototype.modules[l.name])return;t.use(l),t.instance&&(t.instance.useModuleParams(l,t.instance.params),t.instance.useModule(l))}return l}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -4,7 +4,11 @@ import Framework7Class from '../../shared/class.js';
4
4
  import { getSupport } from '../../shared/get-support.js';
5
5
 
6
6
  class ListIndex extends Framework7Class {
7
- constructor(app, params = {}) {
7
+ constructor(app, params) {
8
+ if (params === void 0) {
9
+ params = {};
10
+ }
11
+
8
12
  super(params, [app]);
9
13
  const index = this;
10
14
  const defaults = {
@@ -36,7 +36,7 @@ export namespace ListIndex {
36
36
  /** Related List View element. HTMLElement or string with CSS selector of List View element. */
37
37
  listEl?: HTMLElement | CSSSelector;
38
38
  /** Array with indexes. If not passed then it will automatically generate it based on item-divider and list-group-title elements inside of passed List View element in listEl parameter. (default auto) */
39
- indexes?: number[] | string; // ??
39
+ indexes?: string[] | string; // ??
40
40
  /** Will automatically scroll related List View to the selected index. (default true) */
41
41
  scrollList?: boolean;
42
42
  /** Enables label bubble with selected index when you swipe over list index. (default false) */
@@ -1 +1 @@
1
- (function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var n=e.$,s=e.utils,i=(e.getDevice,e.getSupport),l=e.Class,a=(e.Modal,e.ConstructorMethods),o=(e.ModalMethods,s.extend),r=s.deleteProps;class d extends l{constructor(e,t={}){super(t,[e]);const s=this,l={el:null,listEl:null,indexes:"auto",iosItemHeight:14,mdItemHeight:14,auroraItemHeight:14,scrollList:!0,label:!1,renderItem:(e,t)=>`\n <li>${e}</li>\n `.trim(),renderSkipPlaceholder:()=>'<li class="list-index-skip-placeholder"></li>',on:{}};let a,r,d,c;if(s.useModulesParams(l),s.params=o(l,t),!s.params.el)return s;if(a=n(s.params.el),a[0].f7ListIndex)return a[0].f7ListIndex;if(c=a.find("ul"),0===c.length&&(c=n("<ul></ul>"),a.append(c)),s.params.listEl&&(r=n(s.params.listEl)),"auto"===s.params.indexes&&!r)return s;function p(){const e={index:s};s.calcSize(),e!==s.height&&s.render()}function h(e){const t=n(e.target).closest("li");if(!t.length)return;let i=t.index();if(s.skipRate>0){const e=i/(t.siblings("li").length-1);i=Math.round((s.indexes.length-1)*e)}const l=s.indexes[i];s.$el.trigger("listindex:click",{content:l,index:i}),s.emit("local::click listIndexClick",s,l,i),s.$el.trigger("listindex:select",{content:l,index:i}),s.emit("local::select listIndexSelect",s,l,i),s.$listEl&&s.params.scrollList&&s.scrollListToIndex(l,i)}r?d=r.parents(".page-content").eq(0):(d=a.siblings(".page-content").eq(0),0===d.length&&(d=a.parents(".page").eq(0).find(".page-content").eq(0))),a[0].f7ListIndex=s,o(s,{app:e,$el:a,el:a&&a[0],$ul:c,ul:c&&c[0],$listEl:r,listEl:r&&r[0],$pageContentEl:d,pageContentEl:d&&d[0],indexes:t.indexes,height:0,skipRate:0}),s.useModules();const u={};let f,g,x,m,I,v=null;function $(e){const t=c.children();t.length&&(x=t[0].getBoundingClientRect().top,m=t[t.length-1].getBoundingClientRect().top+t[0].offsetHeight,u.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,u.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,f=!0,g=!1,v=null)}function L(e){if(!f)return;!g&&s.params.label&&(I=n('<span class="list-index-label"></span>'),a.append(I)),g=!0;const t="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY;e.preventDefault();let i=(t-x)/(m-x);i=Math.min(Math.max(i,0),1);const l=Math.round((s.indexes.length-1)*i),o=s.indexes[l],r=m-x,d=(s.height-r)/2+(1-i)*r;l!==v&&(s.params.label&&I.html(o).transform(`translateY(-${d}px)`),s.$listEl&&s.params.scrollList&&s.scrollListToIndex(o,l)),v=l,s.$el.trigger("listindex:select"),s.emit("local::select listIndexSelect",s,o,l)}function E(){f&&(f=!1,g=!1,s.params.label&&(I&&I.remove(),I=void 0))}const b=!!i().passiveListener&&{passive:!0};return s.attachEvents=function(){a.parents(".tab").on("tab:show",p),a.parents(".page").on("page:reinit",p),a.parents(".panel").on("panel:open",p),a.parents(".sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast").on("modal:open",p),e.on("resize",p),a.on("click",h),a.on(e.touchEvents.start,$,b),e.on("touchmove:active",L),e.on("touchend:passive",E)},s.detachEvents=function(){a.parents(".tab").off("tab:show",p),a.parents(".page").off("page:reinit",p),a.parents(".panel").off("panel:open",p),a.parents(".sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast").off("modal:open",p),e.off("resize",p),a.off("click",h),a.off(e.touchEvents.start,$,b),e.off("touchmove:active",L),e.off("touchend:passive",E)},s.init(),s}scrollListToIndex(e,t){const s=this,{$listEl:i,$pageContentEl:l,app:a}=s;if(!i||!l||0===l.length)return s;let o;if(i.find(".list-group-title, .item-divider").each((t=>{if(o)return;const s=n(t);s.text()===e&&(o=s)})),!o||0===o.length)return s;const r=o.parent().offset().top;let d=parseInt(l.css("padding-top"),10);const c=l[0].scrollTop,p=o.offset().top;if(l.parents(".page-with-navbar-large").length){const e=a.navbar.getElByPage(l.parents(".page-with-navbar-large").eq(0)),t=n(e).find(".title-large");t.length&&(d-=t[0].offsetHeight||0)}return r<=d?l.scrollTop(r+c-d):l.scrollTop(p+c-d),s}renderSkipPlaceholder(){return this.params.renderSkipPlaceholder.call(this)}renderItem(e,t){return this.params.renderItem.call(this,e,t)}render(){const e=this,{$ul:t,indexes:n,skipRate:s}=e;let i;const l=n.map(((t,n)=>{if(n%s!=0&&s>0)return i=!0,"";let l=e.renderItem(t,n);return i&&(l=e.renderSkipPlaceholder()+l),i=!1,l})).join("");return t.html(l),e}calcSize(){const e=this,{app:t,params:n,el:s,indexes:i}=e,l=s.offsetHeight,a=n[`${t.theme}ItemHeight`],o=Math.floor(l/a),r=i.length;let d=0;return r>o&&(d=Math.ceil((2*r-1)/o)),e.height=l,e.skipRate=d,e}calcIndexes(){const e=this;return"auto"===e.params.indexes?(e.indexes=[],e.$listEl.find(".list-group-title, .item-divider").each((t=>{const s=n(t).text();e.indexes.indexOf(s)<0&&e.indexes.push(s)}))):e.indexes=e.params.indexes,e}update(){const e=this;return e.calcIndexes(),e.calcSize(),e.render(),e}init(){const e=this;e.calcIndexes(),e.calcSize(),e.render(),e.attachEvents()}destroy(){let e=this;e.$el.trigger("listindex:beforedestroy",e),e.emit("local::beforeDestroy listIndexBeforeDestroy"),e.detachEvents(),e.$el[0]&&(e.$el[0].f7ListIndex=null,delete e.$el[0].f7ListIndex),r(e),e=null}}var c={name:"listIndex",static:{ListIndex:d},create(){this.listIndex=a({defaultSelector:".list-index",constructor:d,app:this,domProp:"f7ListIndex"})},on:{tabMounted(e){const t=this;n(e).find(".list-index-init").each((e=>{const s=o(n(e).dataset(),{el:e});t.listIndex.create(s)}))},tabBeforeRemove(e){n(e).find(".list-index-init").each((e=>{e.f7ListIndex&&e.f7ListIndex.destroy()}))},pageInit(e){const t=this;e.$el.find(".list-index-init").each((e=>{const s=o(n(e).dataset(),{el:e});t.listIndex.create(s)}))},pageBeforeRemove(e){e.$el.find(".list-index-init").each((e=>{e.f7ListIndex&&e.f7ListIndex.destroy()}))}},vnode:{"list-index-init":{insert(e){const t=e.elm,s=o(n(t).dataset(),{el:t});this.listIndex.create(s)},destroy(e){const t=e.elm;t.f7ListIndex&&t.f7ListIndex.destroy()}}}};if(t){if(e.prototype.modules&&e.prototype.modules[c.name])return;e.use(c),e.instance&&(e.instance.useModuleParams(c,e.instance.params),e.instance.useModule(c))}return c}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var n=e.$,s=e.utils,i=(e.getDevice,e.getSupport),l=e.Class,a=(e.Modal,e.ConstructorMethods),o=(e.ModalMethods,s.extend),r=s.deleteProps;class d extends l{constructor(e,t){void 0===t&&(t={}),super(t,[e]);const s=this,l={el:null,listEl:null,indexes:"auto",iosItemHeight:14,mdItemHeight:14,auroraItemHeight:14,scrollList:!0,label:!1,renderItem:(e,t)=>`\n <li>${e}</li>\n `.trim(),renderSkipPlaceholder:()=>'<li class="list-index-skip-placeholder"></li>',on:{}};let a,r,d,c;if(s.useModulesParams(l),s.params=o(l,t),!s.params.el)return s;if(a=n(s.params.el),a[0].f7ListIndex)return a[0].f7ListIndex;if(c=a.find("ul"),0===c.length&&(c=n("<ul></ul>"),a.append(c)),s.params.listEl&&(r=n(s.params.listEl)),"auto"===s.params.indexes&&!r)return s;function p(){const e={index:s};s.calcSize(),e!==s.height&&s.render()}function h(e){const t=n(e.target).closest("li");if(!t.length)return;let i=t.index();if(s.skipRate>0){const e=i/(t.siblings("li").length-1);i=Math.round((s.indexes.length-1)*e)}const l=s.indexes[i];s.$el.trigger("listindex:click",{content:l,index:i}),s.emit("local::click listIndexClick",s,l,i),s.$el.trigger("listindex:select",{content:l,index:i}),s.emit("local::select listIndexSelect",s,l,i),s.$listEl&&s.params.scrollList&&s.scrollListToIndex(l,i)}r?d=r.parents(".page-content").eq(0):(d=a.siblings(".page-content").eq(0),0===d.length&&(d=a.parents(".page").eq(0).find(".page-content").eq(0))),a[0].f7ListIndex=s,o(s,{app:e,$el:a,el:a&&a[0],$ul:c,ul:c&&c[0],$listEl:r,listEl:r&&r[0],$pageContentEl:d,pageContentEl:d&&d[0],indexes:t.indexes,height:0,skipRate:0}),s.useModules();const u={};let f,g,x,m,I,v=null;function $(e){const t=c.children();t.length&&(x=t[0].getBoundingClientRect().top,m=t[t.length-1].getBoundingClientRect().top+t[0].offsetHeight,u.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,u.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY,f=!0,g=!1,v=null)}function L(e){if(!f)return;!g&&s.params.label&&(I=n('<span class="list-index-label"></span>'),a.append(I)),g=!0;const t="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY;e.preventDefault();let i=(t-x)/(m-x);i=Math.min(Math.max(i,0),1);const l=Math.round((s.indexes.length-1)*i),o=s.indexes[l],r=m-x,d=(s.height-r)/2+(1-i)*r;l!==v&&(s.params.label&&I.html(o).transform(`translateY(-${d}px)`),s.$listEl&&s.params.scrollList&&s.scrollListToIndex(o,l)),v=l,s.$el.trigger("listindex:select"),s.emit("local::select listIndexSelect",s,o,l)}function E(){f&&(f=!1,g=!1,s.params.label&&(I&&I.remove(),I=void 0))}const b=!!i().passiveListener&&{passive:!0};return s.attachEvents=function(){a.parents(".tab").on("tab:show",p),a.parents(".page").on("page:reinit",p),a.parents(".panel").on("panel:open",p),a.parents(".sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast").on("modal:open",p),e.on("resize",p),a.on("click",h),a.on(e.touchEvents.start,$,b),e.on("touchmove:active",L),e.on("touchend:passive",E)},s.detachEvents=function(){a.parents(".tab").off("tab:show",p),a.parents(".page").off("page:reinit",p),a.parents(".panel").off("panel:open",p),a.parents(".sheet-modal, .actions-modal, .popup, .popover, .login-screen, .dialog, .toast").off("modal:open",p),e.off("resize",p),a.off("click",h),a.off(e.touchEvents.start,$,b),e.off("touchmove:active",L),e.off("touchend:passive",E)},s.init(),s}scrollListToIndex(e,t){const s=this,{$listEl:i,$pageContentEl:l,app:a}=s;if(!i||!l||0===l.length)return s;let o;if(i.find(".list-group-title, .item-divider").each((t=>{if(o)return;const s=n(t);s.text()===e&&(o=s)})),!o||0===o.length)return s;const r=o.parent().offset().top;let d=parseInt(l.css("padding-top"),10);const c=l[0].scrollTop,p=o.offset().top;if(l.parents(".page-with-navbar-large").length){const e=a.navbar.getElByPage(l.parents(".page-with-navbar-large").eq(0)),t=n(e).find(".title-large");t.length&&(d-=t[0].offsetHeight||0)}return r<=d?l.scrollTop(r+c-d):l.scrollTop(p+c-d),s}renderSkipPlaceholder(){return this.params.renderSkipPlaceholder.call(this)}renderItem(e,t){return this.params.renderItem.call(this,e,t)}render(){const e=this,{$ul:t,indexes:n,skipRate:s}=e;let i;const l=n.map(((t,n)=>{if(n%s!=0&&s>0)return i=!0,"";let l=e.renderItem(t,n);return i&&(l=e.renderSkipPlaceholder()+l),i=!1,l})).join("");return t.html(l),e}calcSize(){const e=this,{app:t,params:n,el:s,indexes:i}=e,l=s.offsetHeight,a=n[`${t.theme}ItemHeight`],o=Math.floor(l/a),r=i.length;let d=0;return r>o&&(d=Math.ceil((2*r-1)/o)),e.height=l,e.skipRate=d,e}calcIndexes(){const e=this;return"auto"===e.params.indexes?(e.indexes=[],e.$listEl.find(".list-group-title, .item-divider").each((t=>{const s=n(t).text();e.indexes.indexOf(s)<0&&e.indexes.push(s)}))):e.indexes=e.params.indexes,e}update(){const e=this;return e.calcIndexes(),e.calcSize(),e.render(),e}init(){const e=this;e.calcIndexes(),e.calcSize(),e.render(),e.attachEvents()}destroy(){let e=this;e.$el.trigger("listindex:beforedestroy",e),e.emit("local::beforeDestroy listIndexBeforeDestroy"),e.detachEvents(),e.$el[0]&&(e.$el[0].f7ListIndex=null,delete e.$el[0].f7ListIndex),r(e),e=null}}var c={name:"listIndex",static:{ListIndex:d},create(){this.listIndex=a({defaultSelector:".list-index",constructor:d,app:this,domProp:"f7ListIndex"})},on:{tabMounted(e){const t=this;n(e).find(".list-index-init").each((e=>{const s=o(n(e).dataset(),{el:e});t.listIndex.create(s)}))},tabBeforeRemove(e){n(e).find(".list-index-init").each((e=>{e.f7ListIndex&&e.f7ListIndex.destroy()}))},pageInit(e){const t=this;e.$el.find(".list-index-init").each((e=>{const s=o(n(e).dataset(),{el:e});t.listIndex.create(s)}))},pageBeforeRemove(e){e.$el.find(".list-index-init").each((e=>{e.f7ListIndex&&e.f7ListIndex.destroy()}))}},vnode:{"list-index-init":{insert(e){const t=e.elm,s=o(n(t).dataset(),{el:t});this.listIndex.create(s)},destroy(e){const t=e.elm;t.f7ListIndex&&t.f7ListIndex.destroy()}}}};if(t){if(e.prototype.modules&&e.prototype.modules[c.name])return;e.use(c),e.instance&&(e.instance.useModuleParams(c,e.instance.params),e.instance.useModule(c))}return c}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -16,11 +16,19 @@ export default {
16
16
  },
17
17
 
18
18
  clicks: {
19
- '.login-screen-open': function openLoginScreen($clickedEl, data = {}) {
19
+ '.login-screen-open': function openLoginScreen($clickedEl, data) {
20
+ if (data === void 0) {
21
+ data = {};
22
+ }
23
+
20
24
  const app = this;
21
25
  app.loginScreen.open(data.loginScreen, data.animate, $clickedEl);
22
26
  },
23
- '.login-screen-close': function closeLoginScreen($clickedEl, data = {}) {
27
+ '.login-screen-close': function closeLoginScreen($clickedEl, data) {
28
+ if (data === void 0) {
29
+ data = {};
30
+ }
31
+
24
32
  const app = this;
25
33
  app.loginScreen.close(data.loginScreen, data.animate, $clickedEl);
26
34
  }
@@ -1 +1 @@
1
- (function framework7ComponentLoader(e,n){void 0===n&&(n=!0);var o=e.$,t=e.utils,r=(e.getDevice,e.getSupport,e.Class,e.Modal),s=(e.ConstructorMethods,e.ModalMethods),a=t.extend;class l extends r{constructor(e,n){const t=a({on:{}},n);super(e,t);const r=this;let s;return r.params=t,s=r.params.el?o(r.params.el).eq(0):o(r.params.content).filter((e=>1===e.nodeType)).eq(0),s&&s.length>0&&s[0].f7Modal?s[0].f7Modal:0===s.length?r.destroy():(a(r,{app:e,$el:s,el:s[0],type:"loginScreen"}),s[0].f7Modal=r,r)}}var c={name:"loginScreen",static:{LoginScreen:l},create(){this.loginScreen=s({app:this,constructor:l,defaultSelector:".login-screen.modal-in"})},clicks:{".login-screen-open":function(e,n={}){this.loginScreen.open(n.loginScreen,n.animate,e)},".login-screen-close":function(e,n={}){this.loginScreen.close(n.loginScreen,n.animate,e)}}};if(n){if(e.prototype.modules&&e.prototype.modules[c.name])return;e.use(c),e.instance&&(e.instance.useModuleParams(c,e.instance.params),e.instance.useModule(c))}return c}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(e,n){void 0===n&&(n=!0);var o=e.$,t=e.utils,r=(e.getDevice,e.getSupport,e.Class,e.Modal),s=(e.ConstructorMethods,e.ModalMethods),a=t.extend;class i extends r{constructor(e,n){const t=a({on:{}},n);super(e,t);const r=this;let s;return r.params=t,s=r.params.el?o(r.params.el).eq(0):o(r.params.content).filter((e=>1===e.nodeType)).eq(0),s&&s.length>0&&s[0].f7Modal?s[0].f7Modal:0===s.length?r.destroy():(a(r,{app:e,$el:s,el:s[0],type:"loginScreen"}),s[0].f7Modal=r,r)}}var l={name:"loginScreen",static:{LoginScreen:i},create(){this.loginScreen=s({app:this,constructor:i,defaultSelector:".login-screen.modal-in"})},clicks:{".login-screen-open":function(e,n){void 0===n&&(n={});this.loginScreen.open(n.loginScreen,n.animate,e)},".login-screen-close":function(e,n){void 0===n&&(n={});this.loginScreen.close(n.loginScreen,n.animate,e)}}};if(n){if(e.prototype.modules&&e.prototype.modules[l.name])return;e.use(l),e.instance&&(e.instance.useModuleParams(l,e.instance.params),e.instance.useModule(l))}return l}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -1,7 +1,11 @@
1
1
  import $ from '../../shared/dom7.js';
2
2
  import { bindMethods } from '../../shared/utils.js';
3
3
  const Menu = {
4
- open(el = '.menu-item-dropdown') {
4
+ open(el) {
5
+ if (el === void 0) {
6
+ el = '.menu-item-dropdown';
7
+ }
8
+
5
9
  const app = this;
6
10
  if (!el) return;
7
11
  const $el = $(el).closest('.menu-item-dropdown');
@@ -19,7 +23,11 @@ const Menu = {
19
23
  app.emit('menuOpened', $el.eq(0)[0]);
20
24
  },
21
25
 
22
- close(el = '.menu-item-dropdown-opened') {
26
+ close(el) {
27
+ if (el === void 0) {
28
+ el = '.menu-item-dropdown-opened';
29
+ }
30
+
23
31
  const app = this;
24
32
  if (!el) return;
25
33
  const $el = $(el).closest('.menu-item-dropdown-opened');
@@ -1 +1 @@
1
- (function framework7ComponentLoader(e,n){void 0===n&&(n=!0);var o=e.$,t=e.utils,s=(e.getDevice,e.getSupport,e.Class,e.Modal,e.ConstructorMethods,e.ModalMethods,t.bindMethods);const d={open(e=".menu-item-dropdown"){if(!e)return;const n=o(e).closest(".menu-item-dropdown");if(!n.length)return;const t=n.closest(".menu").eq(0);if(t.length){const e=t.css("z-index"),n=t[0].style.zIndex;t.css("z-index",parseInt(e||0,10)+1),t[0].f7MenuZIndex=n}n.eq(0).addClass("menu-item-dropdown-opened").trigger("menu:opened"),this.emit("menuOpened",n.eq(0)[0])},close(e=".menu-item-dropdown-opened"){if(!e)return;const n=o(e).closest(".menu-item-dropdown-opened");if(!n.length)return;const t=n.closest(".menu").eq(0);if(t.length){const e=t[0].f7MenuZIndex;t.css("z-index",e),delete t[0].f7MenuZIndex}n.eq(0).removeClass("menu-item-dropdown-opened").trigger("menu:closed"),this.emit("menuClosed",n.eq(0)[0])}};var u={name:"menu",create(){s(this,{menu:d})},on:{click(e){const n=this,t=o(".menu-item-dropdown-opened");t.length&&t.each((t=>{o(e.target).closest(".menu-item-dropdown-opened").length||n.menu.close(t)}))}},clicks:{".menu-item-dropdown":function(e,n,t){const s=this;if(e.hasClass("menu-item-dropdown-opened")){if(o(t.target).closest(".menu-dropdown").length)return;s.menu.close(e)}else s.menu.open(e)},".menu-close":function(){this.menu.close()}}};if(n){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,n){void 0===n&&(n=!0);var o=e.$,t=e.utils,s=(e.getDevice,e.getSupport,e.Class,e.Modal,e.ConstructorMethods,e.ModalMethods,t.bindMethods);const d={open(e){void 0===e&&(e=".menu-item-dropdown");if(!e)return;const n=o(e).closest(".menu-item-dropdown");if(!n.length)return;const t=n.closest(".menu").eq(0);if(t.length){const e=t.css("z-index"),n=t[0].style.zIndex;t.css("z-index",parseInt(e||0,10)+1),t[0].f7MenuZIndex=n}n.eq(0).addClass("menu-item-dropdown-opened").trigger("menu:opened"),this.emit("menuOpened",n.eq(0)[0])},close(e){void 0===e&&(e=".menu-item-dropdown-opened");if(!e)return;const n=o(e).closest(".menu-item-dropdown-opened");if(!n.length)return;const t=n.closest(".menu").eq(0);if(t.length){const e=t[0].f7MenuZIndex;t.css("z-index",e),delete t[0].f7MenuZIndex}n.eq(0).removeClass("menu-item-dropdown-opened").trigger("menu:closed"),this.emit("menuClosed",n.eq(0)[0])}};var i={name:"menu",create(){s(this,{menu:d})},on:{click(e){const n=this,t=o(".menu-item-dropdown-opened");t.length&&t.each((t=>{o(e.target).closest(".menu-item-dropdown-opened").length||n.menu.close(t)}))}},clicks:{".menu-item-dropdown":function(e,n,t){const s=this;if(e.hasClass("menu-item-dropdown-opened")){if(o(t.target).closest(".menu-dropdown").length)return;s.menu.close(e)}else s.menu.open(e)},".menu-close":function(){this.menu.close()}}};if(n){if(e.prototype.modules&&e.prototype.modules[i.name])return;e.use(i),e.instance&&(e.instance.useModuleParams(i,e.instance.params),e.instance.useModule(i))}return i}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -3,7 +3,11 @@ import { extend, deleteProps } from '../../shared/utils.js';
3
3
  import Framework7Class from '../../shared/class.js';
4
4
 
5
5
  class Messagebar extends Framework7Class {
6
- constructor(app, params = {}) {
6
+ constructor(app, params) {
7
+ if (params === void 0) {
8
+ params = {};
9
+ }
10
+
7
11
  super(params, [app]);
8
12
  const messagebar = this;
9
13
  const defaults = {
@@ -244,7 +248,11 @@ class Messagebar extends Framework7Class {
244
248
  }
245
249
  }
246
250
 
247
- attachmentsCreate(innerHTML = '') {
251
+ attachmentsCreate(innerHTML) {
252
+ if (innerHTML === void 0) {
253
+ innerHTML = '';
254
+ }
255
+
248
256
  const messagebar = this;
249
257
  const $attachmentsEl = $(`<div class="messagebar-attachments">${innerHTML}</div>`);
250
258
  $attachmentsEl.insertBefore(messagebar.$textareaEl);
@@ -255,7 +263,11 @@ class Messagebar extends Framework7Class {
255
263
  return messagebar;
256
264
  }
257
265
 
258
- attachmentsShow(innerHTML = '') {
266
+ attachmentsShow(innerHTML) {
267
+ if (innerHTML === void 0) {
268
+ innerHTML = '';
269
+ }
270
+
259
271
  const messagebar = this;
260
272
  messagebar.$attachmentsEl = messagebar.$el.find('.messagebar-attachments');
261
273
 
@@ -329,7 +341,11 @@ class Messagebar extends Framework7Class {
329
341
  }
330
342
  }
331
343
 
332
- sheetCreate(innerHTML = '') {
344
+ sheetCreate(innerHTML) {
345
+ if (innerHTML === void 0) {
346
+ innerHTML = '';
347
+ }
348
+
333
349
  const messagebar = this;
334
350
  const $sheetEl = $(`<div class="messagebar-sheet">${innerHTML}</div>`);
335
351
  messagebar.$el.append($sheetEl);
@@ -340,7 +356,11 @@ class Messagebar extends Framework7Class {
340
356
  return messagebar;
341
357
  }
342
358
 
343
- sheetShow(innerHTML = '') {
359
+ sheetShow(innerHTML) {
360
+ if (innerHTML === void 0) {
361
+ innerHTML = '';
362
+ }
363
+
344
364
  const messagebar = this;
345
365
  messagebar.$sheetEl = messagebar.$el.find('.messagebar-sheet');
346
366
 
@@ -1 +1 @@
1
- (function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var a=e.$,s=e.utils,r=(e.getDevice,e.getSupport,e.Class),n=(e.Modal,e.ConstructorMethods),i=(e.ModalMethods,s.extend),l=s.deleteProps;class c extends r{constructor(e,t={}){super(t,[e]);const s=this,r={top:!1,topOffset:0,bottomOffset:0,attachments:[],renderAttachments:void 0,renderAttachment:void 0,maxHeight:null,resizePage:!0};s.useModulesParams(r),s.params=i(r,t);const n=a(s.params.el);if(0===n.length)return s;if(n[0].f7Messagebar)return n[0].f7Messagebar;n[0].f7Messagebar=s;const l=n.parents(".page").eq(0),c=l.find(".page-content").eq(0),h=n.find(".messagebar-area");let o;o=s.params.textareaEl?a(s.params.textareaEl):n.find("textarea");const m=n.find(".messagebar-attachments"),g=n.find(".messagebar-sheet");function d(){s.params.resizePage&&s.resizePage()}function b(e){e.preventDefault()}function u(e){const t=a(this).index();a(e.target).closest(".messagebar-attachment-delete").length?(a(this).trigger("messagebar:attachmentdelete",t),s.emit("local::attachmentDelete messagebarAttachmentDelete",s,this,t)):(a(this).trigger("messagebar:attachmentclick",t),s.emit("local::attachmentClick messagebarAttachmentClick",s,this,t))}function f(){s.checkEmptyState(),s.$el.trigger("messagebar:change"),s.emit("local::change messagebarChange",s)}function p(){s.sheetHide(),s.$el.addClass("messagebar-focused"),s.$el.trigger("messagebar:focus"),s.emit("local::focus messagebarFocus",s)}function $(){s.$el.removeClass("messagebar-focused"),s.$el.trigger("messagebar:blur"),s.emit("local::blur messagebarBlur",s)}return s.params.top&&n.addClass("messagebar-top"),i(s,{$el:n,el:n[0],$areaEl:h,areaEl:h[0],$textareaEl:o,textareaEl:o[0],$attachmentsEl:m,attachmentsEl:m[0],attachmentsVisible:m.hasClass("messagebar-attachments-visible"),$sheetEl:g,sheetEl:g[0],sheetVisible:g.hasClass("messagebar-sheet-visible"),$pageEl:l,pageEl:l[0],$pageContentEl:c,pageContentEl:c,top:n.hasClass("messagebar-top")||s.params.top,attachments:[]}),s.attachEvents=function(){n.on("textarea:resize",d),n.on("submit",b),n.on("click",".messagebar-attachment",u),o.on("change input",f),o.on("focus",p),o.on("blur",$),e.on("resize",d)},s.detachEvents=function(){n.off("textarea:resize",d),n.off("submit",b),n.off("click",".messagebar-attachment",u),o.off("change input",f),o.off("focus",p),o.off("blur",$),e.off("resize",d)},s.useModules(),s.init(),s}focus(){return this.$textareaEl.focus(),this}blur(){return this.$textareaEl.blur(),this}clear(){return this.$textareaEl.val("").trigger("change"),this}getValue(){return this.$textareaEl.val().trim()}setValue(e){return this.$textareaEl.val(e).trigger("change"),this}setPlaceholder(e){return this.$textareaEl.attr("placeholder",e),this}resizePage(){const e=this,{params:t,$el:a,top:s,$pageEl:r,$pageContentEl:n,$areaEl:i,$textareaEl:l,$sheetEl:c,$attachmentsEl:h}=e,o=a[0].offsetHeight;let m=t.maxHeight;if(s);else{const s=parseInt(n.css("padding-bottom"),10),g=o+t.bottomOffset;if(g!==s&&n.length){const t=parseInt(n.css("padding-top"),10),s=n[0].scrollHeight,o=n[0].offsetHeight,d=n[0].scrollTop===s-o;m||(m=r[0].offsetHeight-t-c.outerHeight()-h.outerHeight()-parseInt(i.css("margin-top"),10)-parseInt(i.css("margin-bottom"),10)),l.css("max-height",`${m}px`),n.css("padding-bottom",`${g}px`),d&&n.scrollTop(n[0].scrollHeight-o),a.trigger("messagebar:resizepage"),e.emit("local::resizePage messagebarResizePage",e)}}}checkEmptyState(){const{$el:e,$textareaEl:t}=this,a=t.val().trim();a&&a.length?e.addClass("messagebar-with-value"):e.removeClass("messagebar-with-value")}attachmentsCreate(e=""){const t=this,s=a(`<div class="messagebar-attachments">${e}</div>`);return s.insertBefore(t.$textareaEl),i(t,{$attachmentsEl:s,attachmentsEl:s[0]}),t}attachmentsShow(e=""){const t=this;return t.$attachmentsEl=t.$el.find(".messagebar-attachments"),0===t.$attachmentsEl.length&&t.attachmentsCreate(e),t.$el.addClass("messagebar-attachments-visible"),t.attachmentsVisible=!0,t.params.resizePage&&t.resizePage(),t}attachmentsHide(){const e=this;return e.$el.removeClass("messagebar-attachments-visible"),e.attachmentsVisible=!1,e.params.resizePage&&e.resizePage(),e}attachmentsToggle(){const e=this;return e.attachmentsVisible?e.attachmentsHide():e.attachmentsShow(),e}renderAttachment(e){const t=this;return t.params.renderAttachment?t.params.renderAttachment.call(t,e):`\n <div class="messagebar-attachment">\n <img src="${e}">\n <span class="messagebar-attachment-delete"></span>\n </div>\n `}renderAttachments(){const e=this;let t;t=e.params.renderAttachments?e.params.renderAttachments.call(e,e.attachments):`${e.attachments.map((t=>e.renderAttachment(t))).join("")}`,0===e.$attachmentsEl.length?e.attachmentsCreate(t):e.$attachmentsEl.html(t)}sheetCreate(e=""){const t=this,s=a(`<div class="messagebar-sheet">${e}</div>`);return t.$el.append(s),i(t,{$sheetEl:s,sheetEl:s[0]}),t}sheetShow(e=""){const t=this;return t.$sheetEl=t.$el.find(".messagebar-sheet"),0===t.$sheetEl.length&&t.sheetCreate(e),t.$el.addClass("messagebar-sheet-visible"),t.sheetVisible=!0,t.params.resizePage&&t.resizePage(),t}sheetHide(){const e=this;return e.$el.removeClass("messagebar-sheet-visible"),e.sheetVisible=!1,e.params.resizePage&&e.resizePage(),e}sheetToggle(){const e=this;return e.sheetVisible?e.sheetHide():e.sheetShow(),e}init(){const e=this;return e.attachEvents(),e.checkEmptyState(),e}destroy(){const e=this;e.emit("local::beforeDestroy messagebarBeforeDestroy",e),e.$el.trigger("messagebar:beforedestroy"),e.detachEvents(),e.$el[0]&&(e.$el[0].f7Messagebar=null,delete e.$el[0].f7Messagebar),l(e)}}var h={name:"messagebar",static:{Messagebar:c},create(){this.messagebar=n({defaultSelector:".messagebar",constructor:c,app:this,domProp:"f7Messagebar",addMethods:"clear getValue setValue setPlaceholder resizePage focus blur attachmentsCreate attachmentsShow attachmentsHide attachmentsToggle renderAttachments sheetCreate sheetShow sheetHide sheetToggle".split(" ")})},on:{tabBeforeRemove(e){const t=this;a(e).find(".messagebar-init").each((e=>{t.messagebar.destroy(e)}))},tabMounted(e){const t=this;a(e).find(".messagebar-init").each((e=>{t.messagebar.create(i({el:e},a(e).dataset()))}))},pageBeforeRemove(e){const t=this;e.$el.find(".messagebar-init").each((e=>{t.messagebar.destroy(e)}))},pageInit(e){const t=this;e.$el.find(".messagebar-init").each((e=>{t.messagebar.create(i({el:e},a(e).dataset()))}))}},vnode:{"messagebar-init":{insert(e){const t=e.elm;this.messagebar.create(i({el:t},a(t).dataset()))},destroy(e){const t=e.elm;this.messagebar.destroy(t)}}}};if(t){if(e.prototype.modules&&e.prototype.modules[h.name])return;e.use(h),e.instance&&(e.instance.useModuleParams(h,e.instance.params),e.instance.useModule(h))}return h}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
1
+ (function framework7ComponentLoader(e,t){void 0===t&&(t=!0);var a=e.$,s=e.utils,r=(e.getDevice,e.getSupport,e.Class),n=(e.Modal,e.ConstructorMethods),i=(e.ModalMethods,s.extend),l=s.deleteProps;class c extends r{constructor(e,t){void 0===t&&(t={}),super(t,[e]);const s=this,r={top:!1,topOffset:0,bottomOffset:0,attachments:[],renderAttachments:void 0,renderAttachment:void 0,maxHeight:null,resizePage:!0};s.useModulesParams(r),s.params=i(r,t);const n=a(s.params.el);if(0===n.length)return s;if(n[0].f7Messagebar)return n[0].f7Messagebar;n[0].f7Messagebar=s;const l=n.parents(".page").eq(0),c=l.find(".page-content").eq(0),h=n.find(".messagebar-area");let o;o=s.params.textareaEl?a(s.params.textareaEl):n.find("textarea");const m=n.find(".messagebar-attachments"),g=n.find(".messagebar-sheet");function d(){s.params.resizePage&&s.resizePage()}function b(e){e.preventDefault()}function u(e){const t=a(this).index();a(e.target).closest(".messagebar-attachment-delete").length?(a(this).trigger("messagebar:attachmentdelete",t),s.emit("local::attachmentDelete messagebarAttachmentDelete",s,this,t)):(a(this).trigger("messagebar:attachmentclick",t),s.emit("local::attachmentClick messagebarAttachmentClick",s,this,t))}function f(){s.checkEmptyState(),s.$el.trigger("messagebar:change"),s.emit("local::change messagebarChange",s)}function p(){s.sheetHide(),s.$el.addClass("messagebar-focused"),s.$el.trigger("messagebar:focus"),s.emit("local::focus messagebarFocus",s)}function $(){s.$el.removeClass("messagebar-focused"),s.$el.trigger("messagebar:blur"),s.emit("local::blur messagebarBlur",s)}return s.params.top&&n.addClass("messagebar-top"),i(s,{$el:n,el:n[0],$areaEl:h,areaEl:h[0],$textareaEl:o,textareaEl:o[0],$attachmentsEl:m,attachmentsEl:m[0],attachmentsVisible:m.hasClass("messagebar-attachments-visible"),$sheetEl:g,sheetEl:g[0],sheetVisible:g.hasClass("messagebar-sheet-visible"),$pageEl:l,pageEl:l[0],$pageContentEl:c,pageContentEl:c,top:n.hasClass("messagebar-top")||s.params.top,attachments:[]}),s.attachEvents=function(){n.on("textarea:resize",d),n.on("submit",b),n.on("click",".messagebar-attachment",u),o.on("change input",f),o.on("focus",p),o.on("blur",$),e.on("resize",d)},s.detachEvents=function(){n.off("textarea:resize",d),n.off("submit",b),n.off("click",".messagebar-attachment",u),o.off("change input",f),o.off("focus",p),o.off("blur",$),e.off("resize",d)},s.useModules(),s.init(),s}focus(){return this.$textareaEl.focus(),this}blur(){return this.$textareaEl.blur(),this}clear(){return this.$textareaEl.val("").trigger("change"),this}getValue(){return this.$textareaEl.val().trim()}setValue(e){return this.$textareaEl.val(e).trigger("change"),this}setPlaceholder(e){return this.$textareaEl.attr("placeholder",e),this}resizePage(){const e=this,{params:t,$el:a,top:s,$pageEl:r,$pageContentEl:n,$areaEl:i,$textareaEl:l,$sheetEl:c,$attachmentsEl:h}=e,o=a[0].offsetHeight;let m=t.maxHeight;if(s);else{const s=parseInt(n.css("padding-bottom"),10),g=o+t.bottomOffset;if(g!==s&&n.length){const t=parseInt(n.css("padding-top"),10),s=n[0].scrollHeight,o=n[0].offsetHeight,d=n[0].scrollTop===s-o;m||(m=r[0].offsetHeight-t-c.outerHeight()-h.outerHeight()-parseInt(i.css("margin-top"),10)-parseInt(i.css("margin-bottom"),10)),l.css("max-height",`${m}px`),n.css("padding-bottom",`${g}px`),d&&n.scrollTop(n[0].scrollHeight-o),a.trigger("messagebar:resizepage"),e.emit("local::resizePage messagebarResizePage",e)}}}checkEmptyState(){const{$el:e,$textareaEl:t}=this,a=t.val().trim();a&&a.length?e.addClass("messagebar-with-value"):e.removeClass("messagebar-with-value")}attachmentsCreate(e){void 0===e&&(e="");const t=this,s=a(`<div class="messagebar-attachments">${e}</div>`);return s.insertBefore(t.$textareaEl),i(t,{$attachmentsEl:s,attachmentsEl:s[0]}),t}attachmentsShow(e){void 0===e&&(e="");const t=this;return t.$attachmentsEl=t.$el.find(".messagebar-attachments"),0===t.$attachmentsEl.length&&t.attachmentsCreate(e),t.$el.addClass("messagebar-attachments-visible"),t.attachmentsVisible=!0,t.params.resizePage&&t.resizePage(),t}attachmentsHide(){const e=this;return e.$el.removeClass("messagebar-attachments-visible"),e.attachmentsVisible=!1,e.params.resizePage&&e.resizePage(),e}attachmentsToggle(){const e=this;return e.attachmentsVisible?e.attachmentsHide():e.attachmentsShow(),e}renderAttachment(e){const t=this;return t.params.renderAttachment?t.params.renderAttachment.call(t,e):`\n <div class="messagebar-attachment">\n <img src="${e}">\n <span class="messagebar-attachment-delete"></span>\n </div>\n `}renderAttachments(){const e=this;let t;t=e.params.renderAttachments?e.params.renderAttachments.call(e,e.attachments):`${e.attachments.map((t=>e.renderAttachment(t))).join("")}`,0===e.$attachmentsEl.length?e.attachmentsCreate(t):e.$attachmentsEl.html(t)}sheetCreate(e){void 0===e&&(e="");const t=this,s=a(`<div class="messagebar-sheet">${e}</div>`);return t.$el.append(s),i(t,{$sheetEl:s,sheetEl:s[0]}),t}sheetShow(e){void 0===e&&(e="");const t=this;return t.$sheetEl=t.$el.find(".messagebar-sheet"),0===t.$sheetEl.length&&t.sheetCreate(e),t.$el.addClass("messagebar-sheet-visible"),t.sheetVisible=!0,t.params.resizePage&&t.resizePage(),t}sheetHide(){const e=this;return e.$el.removeClass("messagebar-sheet-visible"),e.sheetVisible=!1,e.params.resizePage&&e.resizePage(),e}sheetToggle(){const e=this;return e.sheetVisible?e.sheetHide():e.sheetShow(),e}init(){const e=this;return e.attachEvents(),e.checkEmptyState(),e}destroy(){const e=this;e.emit("local::beforeDestroy messagebarBeforeDestroy",e),e.$el.trigger("messagebar:beforedestroy"),e.detachEvents(),e.$el[0]&&(e.$el[0].f7Messagebar=null,delete e.$el[0].f7Messagebar),l(e)}}var h={name:"messagebar",static:{Messagebar:c},create(){this.messagebar=n({defaultSelector:".messagebar",constructor:c,app:this,domProp:"f7Messagebar",addMethods:"clear getValue setValue setPlaceholder resizePage focus blur attachmentsCreate attachmentsShow attachmentsHide attachmentsToggle renderAttachments sheetCreate sheetShow sheetHide sheetToggle".split(" ")})},on:{tabBeforeRemove(e){const t=this;a(e).find(".messagebar-init").each((e=>{t.messagebar.destroy(e)}))},tabMounted(e){const t=this;a(e).find(".messagebar-init").each((e=>{t.messagebar.create(i({el:e},a(e).dataset()))}))},pageBeforeRemove(e){const t=this;e.$el.find(".messagebar-init").each((e=>{t.messagebar.destroy(e)}))},pageInit(e){const t=this;e.$el.find(".messagebar-init").each((e=>{t.messagebar.create(i({el:e},a(e).dataset()))}))}},vnode:{"messagebar-init":{insert(e){const t=e.elm;this.messagebar.create(i({el:t},a(t).dataset()))},destroy(e){const t=e.elm;this.messagebar.destroy(t)}}}};if(t){if(e.prototype.modules&&e.prototype.modules[h.name])return;e.use(h),e.instance&&(e.instance.useModuleParams(h,e.instance.params),e.instance.useModule(h))}return h}(Framework7, typeof Framework7AutoInstallComponent === 'undefined' ? undefined : Framework7AutoInstallComponent))
@@ -8,7 +8,11 @@ import Framework7Class from '../../shared/class.js';
8
8
  import $jsx from '../../shared/$jsx.js';
9
9
 
10
10
  class Messages extends Framework7Class {
11
- constructor(app, params = {}) {
11
+ constructor(app, params) {
12
+ if (params === void 0) {
13
+ params = {};
14
+ }
15
+
12
16
  super(params, [app]);
13
17
  const m = this;
14
18
  const defaults = {
@@ -147,57 +151,65 @@ class Messages extends Framework7Class {
147
151
  }, message.footer)));
148
152
  }
149
153
 
150
- renderMessages(messagesToRender = this.messages, method = this.params.newMessagesFirst ? 'prepend' : 'append') {
154
+ renderMessages(messagesToRender, method) {
155
+ if (messagesToRender === void 0) {
156
+ messagesToRender = this.messages;
157
+ }
158
+
159
+ if (method === void 0) {
160
+ method = this.params.newMessagesFirst ? 'prepend' : 'append';
161
+ }
162
+
151
163
  const m = this;
152
164
  const html = messagesToRender.map(message => m.renderMessage(message)).join('');
153
165
  m.$el[method](html);
154
166
  }
155
167
 
156
- isFirstMessage(...args) {
168
+ isFirstMessage() {
157
169
  const m = this;
158
- if (m.params.firstMessageRule) return m.params.firstMessageRule(...args);
170
+ if (m.params.firstMessageRule) return m.params.firstMessageRule(...arguments);
159
171
  return false;
160
172
  }
161
173
 
162
- isLastMessage(...args) {
174
+ isLastMessage() {
163
175
  const m = this;
164
- if (m.params.lastMessageRule) return m.params.lastMessageRule(...args);
176
+ if (m.params.lastMessageRule) return m.params.lastMessageRule(...arguments);
165
177
  return false;
166
178
  }
167
179
 
168
- isTailMessage(...args) {
180
+ isTailMessage() {
169
181
  const m = this;
170
- if (m.params.tailMessageRule) return m.params.tailMessageRule(...args);
182
+ if (m.params.tailMessageRule) return m.params.tailMessageRule(...arguments);
171
183
  return false;
172
184
  }
173
185
 
174
- isSameNameMessage(...args) {
186
+ isSameNameMessage() {
175
187
  const m = this;
176
- if (m.params.sameNameMessageRule) return m.params.sameNameMessageRule(...args);
188
+ if (m.params.sameNameMessageRule) return m.params.sameNameMessageRule(...arguments);
177
189
  return false;
178
190
  }
179
191
 
180
- isSameHeaderMessage(...args) {
192
+ isSameHeaderMessage() {
181
193
  const m = this;
182
- if (m.params.sameHeaderMessageRule) return m.params.sameHeaderMessageRule(...args);
194
+ if (m.params.sameHeaderMessageRule) return m.params.sameHeaderMessageRule(...arguments);
183
195
  return false;
184
196
  }
185
197
 
186
- isSameFooterMessage(...args) {
198
+ isSameFooterMessage() {
187
199
  const m = this;
188
- if (m.params.sameFooterMessageRule) return m.params.sameFooterMessageRule(...args);
200
+ if (m.params.sameFooterMessageRule) return m.params.sameFooterMessageRule(...arguments);
189
201
  return false;
190
202
  }
191
203
 
192
- isSameAvatarMessage(...args) {
204
+ isSameAvatarMessage() {
193
205
  const m = this;
194
- if (m.params.sameAvatarMessageRule) return m.params.sameAvatarMessageRule(...args);
206
+ if (m.params.sameAvatarMessageRule) return m.params.sameAvatarMessageRule(...arguments);
195
207
  return false;
196
208
  }
197
209
 
198
- isCustomClassMessage(...args) {
210
+ isCustomClassMessage() {
199
211
  const m = this;
200
- if (m.params.customClassMessageRule) return m.params.customClassMessageRule(...args);
212
+ if (m.params.customClassMessageRule) return m.params.customClassMessageRule(...arguments);
201
213
  return undefined;
202
214
  }
203
215
 
@@ -268,7 +280,11 @@ class Messages extends Framework7Class {
268
280
  m.$el.html('');
269
281
  }
270
282
 
271
- removeMessage(messageToRemove, layout = true) {
283
+ removeMessage(messageToRemove, layout) {
284
+ if (layout === void 0) {
285
+ layout = true;
286
+ }
287
+
272
288
  const m = this; // Index or El
273
289
 
274
290
  let index;
@@ -295,7 +311,11 @@ class Messages extends Framework7Class {
295
311
  return m;
296
312
  }
297
313
 
298
- removeMessages(messagesToRemove, layout = true) {
314
+ removeMessages(messagesToRemove, layout) {
315
+ if (layout === void 0) {
316
+ layout = true;
317
+ }
318
+
299
319
  const m = this;
300
320
 
301
321
  if (Array.isArray(messagesToRemove)) {
@@ -316,12 +336,16 @@ class Messages extends Framework7Class {
316
336
  return m;
317
337
  }
318
338
 
319
- addMessage(...args) {
339
+ addMessage() {
320
340
  const m = this;
321
341
  let messageToAdd;
322
342
  let animate;
323
343
  let method;
324
344
 
345
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
346
+ args[_key] = arguments[_key];
347
+ }
348
+
325
349
  if (typeof args[1] === 'boolean') {
326
350
  [messageToAdd, animate, method] = args;
327
351
  } else {
@@ -357,12 +381,16 @@ class Messages extends Framework7Class {
357
381
  };
358
382
  }
359
383
 
360
- addMessages(...args) {
384
+ addMessages() {
361
385
  const m = this;
362
386
  let messagesToAdd;
363
387
  let animate;
364
388
  let method;
365
389
 
390
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
391
+ args[_key2] = arguments[_key2];
392
+ }
393
+
366
394
  if (typeof args[1] === 'boolean') {
367
395
  [messagesToAdd, animate, method] = args;
368
396
  } else {
@@ -433,7 +461,11 @@ class Messages extends Framework7Class {
433
461
  return m;
434
462
  }
435
463
 
436
- showTyping(message = {}) {
464
+ showTyping(message) {
465
+ if (message === void 0) {
466
+ message = {};
467
+ }
468
+
437
469
  const m = this;
438
470
  const typingMessage = m.messages.filter(el => el.isTyping)[0];
439
471
 
@@ -499,7 +531,11 @@ class Messages extends Framework7Class {
499
531
  }
500
532
  }
501
533
 
502
- scroll(duration = 300, scrollTop) {
534
+ scroll(duration, scrollTop) {
535
+ if (duration === void 0) {
536
+ duration = 300;
537
+ }
538
+
503
539
  const m = this;
504
540
  const currentScroll = m.pageContentEl.scrollTop;
505
541
  let newScrollTop;