homebridge-smartsystem
Version:
SmartServer (Proxy TCP sockets to the cloud, Smappee MQTT, Duotecno IP Nodes, Homekit interface)
1 lines • 6 kB
JavaScript
function asyncGeneratorStep(e,t,n,r,o,i,a){try{var c=e[i](a),u=c.value}catch(s){return void n(s)}c.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){asyncGeneratorStep(i,r,o,a,c,"next",e)}function c(e){asyncGeneratorStep(i,r,o,a,c,"throw",e)}a(void 0)}))}}(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{"3Iwd":function(e,t,n){"use strict";n.r(t),n.d(t,"startInputShims",(function(){return d}));var r=n("1vRN"),o=new WeakMap,i=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;o.has(e)!==n&&(n?c(e,t,r):u(e,t))},a=function(e){return e===e.getRootNode().activeElement},c=function(e,t,n){var r=t.parentNode,i=t.cloneNode(!1);i.classList.add("cloned-input"),i.tabIndex=-1,r.appendChild(i),o.set(e,i);var a="rtl"===e.ownerDocument.dir?9999:-9999;e.style.pointerEvents="none",t.style.transform="translate3d(".concat(a,"px,").concat(n,"px,0) scale(0)")},u=function(e,t){var n=o.get(e);n&&(o.delete(e),n.remove()),e.style.pointerEvents="",t.style.transform=""},s="input, textarea, [no-blur], [contenteditable]",l=function(e,t){if("INPUT"===e.tagName&&!(e.parentElement&&"ION-INPUT"===e.parentElement.tagName||e.parentElement&&e.parentElement.parentElement&&"ION-SEARCHBAR"===e.parentElement.parentElement.tagName)){var n=e.closest("ion-content");if(null!==n){var r=n.$ionPaddingTimer;r&&clearTimeout(r),t>0?n.style.setProperty("--keyboard-offset",t+"px"):n.$ionPaddingTimer=setTimeout((function(){n.style.setProperty("--keyboard-offset","0px")}),120)}}},d=function(e){var t=document,n=e.getNumber("keyboardHeight",290),o=e.getBoolean("scrollAssist",!0),c=e.getBoolean("hideCaretOnScroll",!0),u=e.getBoolean("inputBlurring",!0),d=e.getBoolean("scrollPadding",!0),f=Array.from(t.querySelectorAll("ion-input, ion-textarea")),p=new WeakMap,v=new WeakMap,m=function(){var e=_asyncToGenerator(regeneratorRuntime.mark((function e(t){var u,s,l,d,f,m;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,new Promise((function(e){return Object(r.c)(t,e)}));case 2:u=t.shadowRoot||t,s=u.querySelector("input")||u.querySelector("textarea"),l=t.closest("ion-content"),d=l?null:t.closest("ion-footer"),s&&(l&&c&&!p.has(t)&&(f=function(e,t,n){if(!n||!t)return function(){};var o=function(n){a(t)&&i(e,t,n)},c=function(){return i(e,t,!1)},u=function(){return o(!0)},s=function(){return o(!1)};return Object(r.a)(n,"ionScrollStart",u),Object(r.a)(n,"ionScrollEnd",s),t.addEventListener("blur",c),function(){Object(r.b)(n,"ionScrollStart",u),Object(r.b)(n,"ionScrollEnd",s),t.addEventListener("ionBlur",c)}}(t,s,l),p.set(t,f)),(l||d)&&o&&!v.has(t)&&(m=function(e,t,n,o,c){var u,s=function(e){u=Object(r.p)(e)},l=function(s){if(u){var l,d=Object(r.p)(s);(function(e,t,n){if(t&&n){var r=t.x-n.x,o=t.y-n.y;return r*r+o*o>36}return!1})(0,u,d)||a(t)||(s.stopPropagation(),(l=_asyncToGenerator(regeneratorRuntime.mark((function e(t,n,o,a,c){var u,s,l,d,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o||a){e.next=2;break}return e.abrupt("return");case 2:if(u=function(e,t,n){return function(e,t,n,r){var o=e.top,i=e.bottom,a=t.top,c=a+15,u=.75*Math.min(t.bottom,r-n)-i,s=c-o,l=Math.round(u<0?-u:s>0?-s:0),d=Math.min(l,o-a),f=Math.abs(d);return{scrollAmount:d,scrollDuration:Math.min(400,Math.max(150,f/.3)),scrollPadding:n,inputSafeY:4-(o-c)}}((e.closest("ion-item,[ion-item]")||e).getBoundingClientRect(),t.getBoundingClientRect(),n,e.ownerDocument.defaultView.innerHeight)}(t,o||a,c),!(o&&Math.abs(u.scrollAmount)<4)){e.next=7;break}n.focus(),e.next=16;break;case 7:if(i(t,n,!0,u.inputSafeY),n.focus(),Object(r.q)((function(){return t.click()})),"undefined"==typeof window){e.next=16;break}if(l=function(){var e=_asyncToGenerator(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(void 0!==s&&clearTimeout(s),window.removeEventListener("ionKeyboardDidShow",d),window.removeEventListener("ionKeyboardDidShow",l),e.t0=o,!e.t0){e.next=7;break}return e.next=7,o.scrollByPoint(0,u.scrollAmount,u.scrollDuration);case 7:i(t,n,!1,u.inputSafeY),n.focus();case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),d=function e(){window.removeEventListener("ionKeyboardDidShow",e),window.addEventListener("ionKeyboardDidShow",l)},!o){e.next=15;break}return e.next=12,o.getScrollElement();case 12:if(f=e.sent,!(u.scrollAmount>f.scrollHeight-f.clientHeight-f.scrollTop)){e.next=15;break}return e.abrupt("return",("password"===n.type?(u.scrollAmount+=50,window.addEventListener("ionKeyboardDidShow",d)):window.addEventListener("ionKeyboardDidShow",l),void(s=setTimeout(l,1e3))));case 15:l();case 16:case"end":return e.stop()}}),e)}))),function(e,t,n,r,o){return l.apply(this,arguments)})(e,t,n,o,c))}};return e.addEventListener("touchstart",s,!0),e.addEventListener("touchend",l,!0),function(){e.removeEventListener("touchstart",s,!0),e.removeEventListener("touchend",l,!0)}}(t,s,l,d,n),v.set(t,m)));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();u&&function(){var e=!0,t=!1,n=document;Object(r.a)(n,"ionScrollStart",(function(){t=!0})),n.addEventListener("focusin",(function(){e=!0}),!0),n.addEventListener("touchend",(function(r){if(t)t=!1;else{var o=n.activeElement;if(o&&!o.matches(s)){var i=r.target;i!==o&&(i.matches(s)||i.closest(s)||(e=!1,setTimeout((function(){e||o.blur()}),50)))}}}),!1)}(),d&&function(e){var t=document;t.addEventListener("focusin",(function(t){l(t.target,e)})),t.addEventListener("focusout",(function(e){l(e.target,0)}))}(n);for(var h=0,w=f;h<w.length;h++){var b=w[h];m(b)}t.addEventListener("ionInputDidLoad",(function(e){m(e.detail)})),t.addEventListener("ionInputDidUnload",(function(e){!function(e){if(c){var t=p.get(e);t&&t(),p.delete(e)}if(o){var n=v.get(e);n&&n(),v.delete(e)}}(e.detail)}))}}}]);