PageSourceSearch

https://www.crafting-playbook.net/app/en-GB/7402.8deea3c59faf460d.js

js crafting-playbook.net collected 2026-10-06 14:21:18 UTC 5,339 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkapp=self.webpackChunkapp||[]).push([[7402],{7402(q,F,L){L.d(F,{startInputShims:()=>Z});var w=L(467),l=L(7338),P=L(7849),y=L(1656),O=L(6008);const T=new WeakMap,M=(t,e,s,o=0,r=!1)=>{T.has(t)!==s&&(s?$(t,e,o,r):j(t,e))},$=(t,e,s,o=!1)=>{const r=e.parentNode,n=e.cloneNode(!1);n.classList.add("cloned-input"),n.tabIndex=-1,o&&(n.disabled=!0);const i="rtl"===t.ownerDocument.dir;n.style.insetInlineStart=i?r.offsetWidth-e.offsetLeft-e.offsetWidth+"px":`${e.offsetLeft}px`,r.appendChild(n),T.set(t,n);const f=i?9999:-9999;t.style.pointerEvents="none",e.style.transform=`translate3d(${f}px,${s}px,0) scale(0)`},j=(t,e)=>{const s=T.get(t);s&&(T.delete(t),s.remove()),t.style.pointerEvents="",e.style.transform=""},p="input, textarea, [no-blur], [contenteditable]",W="$ionPaddingTimer",C=(t,e,s)=>{const o=t[W];o&&clearTimeout(o),e>0?t.style.setProperty("--keyboard-offset",`${e}px`):t[W]=setTimeout(()=>{t.style.setProperty("--keyboard-offset","0px"),s&&s()},120)},k=(t,e,s)=>{t.addEventListener("focusout",()=>{e&&C(e,0,s)},{once:!0})};let g=0;const x="data-ionic-skip-scroll-assist",V=(t,e,s,o,r,n,a,i=!1)=>{const f=n&&(void 0===a||a.mode===O.a.None);let m=!1;const d=void 0!==l.w?l.w.innerHeight:0,v=S=>{!1!==m?N(t,e,s,o,S.detail.keyboardHeight,f,i,d,!1):m=!0},u=()=>{m=!1,null==l.w||l.w.removeEventListener("ionKeyboardDidShow",v),t.removeEventListener("focusout",u)},h=function(){var S=(0,w.A)(function*(){e.hasAttribute(x)?e.removeAttribute(x):(N(t,e,s,o,r,f,i,d),null==l.w||l.w.addEventListener("ionKeyboardDidShow",v),t.addEventListener("focusout",u))});return function(){return S.apply(this,arguments)}}();return t.addEventListener("focusin",h),()=>{t.removeEventListener("focusin",h),null==l.w||l.w.removeEventListener("ionKeyboardDidShow",v),t.removeEventListener("focusout",u)}},B=t=>{var e;if(document.activeElement===t)return;const s=t.getAttribute("id"),o=t.closest(`label[for="${s}"]`),r=null===(e=document.activeElement)||void 0===e?void 0:e.closest(`label[for="${s}"]`);null!==o&&o===r||(t.setAttribute(x,"true"),t.focus())},N=function(){var t=(0,w.A)(function*(e,s,o,r,n,a,i=!1,f=0,m=!0){if(!o&&!r)return;const d=((t,e,s,o)=>{var r;return((t,e,s,o)=>{const r=t.top,n=t.bottom,a=e.top,f=a+15,d=Math.min(e.bottom,o-s)-50-n,v=f-r,u=Math.round(d<0?-d:v>0?-v:0),h=Math.min(u,r-a),b=Math.abs(h)/.3;return{scrollAmount:h,scrollDuration:Math.min(400,Math.max(150,b)),scrollPadding:s,inputSafeY:4-(r-f)}})((null!==(r=t.closest("ion-item,[ion-item]"))&&void 0!==r?r:t).getBoundingClientRect(),e.getBoundingClientRect(),s,o)})(e,o||r,n,f);if(o&&Math.abs(d.scrollAmount)<4)return B(s),void(a&&null!==o&&(C(o,g),k(s,o,()=>g=0)));if(M(e,s,!0,d.inputSafeY,i),B(s),(0,y.r)(()=>e.click()),a&&o&&(g=d.scrollPadding,C(o,g)),typeof window<"u"){let v;const u=function(){var S=(0,w.A)(function*(){void 0!==v&&clearTimeout(v),window.removeEventListener("ionKeyboardDidShow",h),window.removeEventListener("ionKeyboardDidShow",u),o&&(yield(0,P.c)(o,0,d.scrollAmount,d.scrollDuration)),M(e,s,!1,d.inputSafeY),document.activeElement===s&&B(s),a&&k(s,o,()=>g=0)});return function(){return S.apply(this,arguments)}}(),h=()=>{window.removeEventListener("ionKeyboardDidShow",h),window.addEventListener("ionKeyboardDidShow",u)};if(o){const S=yield(0,P.g)(o);if(m&&d.scrollAmount>S.scrollHeight-S.clientHeight-S.scrollTop)return"password"===s.type?(d.scrollAmount+=50,window.addEventListener("ionKeyboardDidShow",h)):window.addEventListener("ionKeyboardDidShow",u),void(v=setTimeout(u,1e3))}u()}});return function(s,o,r,n,a,i){return t.apply(this,arguments)}}(),Z=function(){var t=(0,w.A)(function*(e,s){if(void 0===l.d)return;const o="ios"===s,r="android"===s,n=e.getNumber("keyboardHeight",290),a=e.getBoolean("scrollAssist",!0),i=e.getBoolean("hideCaretOnScroll",o),f=e.getBoolean("inputBlurring",!1),m=e.getBoolean("scrollPadding",!0),d=Array.from(l.d.querySelectorAll("ion-input, ion-textarea")),v=new WeakMap,u=new WeakMap,h=yield O.K.getResizeMode(),S=function(){var _=(0,w.A)(function*(c){yield new Promise(I=>(0,y.c)(c,I));const K=c.shadowRoot||c,A=K.querySelector("input")||K.querySelector("textarea"),D=(0,P.a)(c),U=D?null:c.
1closest("ion-footer");if(A){if(D&&i&&!v.has(c)){const I=((t,e,s)=>{if(!s||!e)return()=>{};const o=i=>{(t=>t===t.getRootNode().activeElement)(e)&&M(t,e,i)},r=()=>M(t,e,!1),n=()=>o(!0),a=()=>o(!1);return(0,y.a)(s,"ionScrollStart",n),(0,y.a)(s,"ionScrollEnd",a),e.addEventListener("blur",r),()=>{(0,y.b)(s,"ionScrollStart",n),(0,y.b)(s,"ionScrollEnd",a),e.removeEventListener("blur",r)}})(c,A,D);v.set(c,I)}if("date"!==A.type&&"datetime-local"!==A.type&&(D||U)&&a&&!u.has(c)){const I=V(c,A,D,U,n,m,h,r);u.set(c,I)}}});return function(K){return _.apply(this,arguments)}}();f&&(()=>{let t=!0,e=!1;const s=document;(0,y.a)(s,"ionScrollStart",()=>{e=!0}),s.addEventListener("focusin",()=>{t=!0},!0),s.addEventListener("touchend",a=>{if(e)return void(e=!1);const i=s.activeElement;if(!i||i.matches(p))return;const f=a.target;f!==i&&(f.matches(p)||f.closest(p)||(t=!1,setTimeout(()=>{t||i.blur()},50)))},!1)})();for(const _ of d)S(_);l.d.addEventListener("ionInputDidLoad",_=>{S(_.detail)}),l.d.addEventListener("ionInputDidUnload",_=>{(_=>{if(i){const c=v.get(_);c&&c(),v.delete(_)}if(a){const c=u.get(_);c&&c(),u.delete(_)}})(_.detail)})});return function(s,o){return t.apply(this,arguments)}}()}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.