Latest updates pre first release.
This commit is contained in:
parent
1a3be36e60
commit
feab3917b7
|
@ -1,6 +1,6 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<resources>
|
||||
<string name="app_name">tainacan-mobile</string>
|
||||
<string name="app_name">Tainacan</string>
|
||||
<string name="title_activity_main">tainacan-mobile</string>
|
||||
<string name="package_name">org.tainacan.mobileapp</string>
|
||||
<string name="custom_url_scheme">org.tainacan.mobileapp</string>
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"appId": "org.tainacan.mobileapp",
|
||||
"appName": "Tainacan",
|
||||
"webDir": "dist",
|
||||
"bundledWebRuntime": false
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<widget version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
<access origin="*" />
|
||||
|
||||
<feature name="InAppBrowser">
|
||||
<param name="ios-package" value="CDVWKInAppBrowser"/>
|
||||
<param name="onload" value="true"/>
|
||||
</feature>
|
||||
|
||||
|
||||
</widget>
|
Binary file not shown.
After Width: | Height: | Size: 930 B |
Binary file not shown.
After Width: | Height: | Size: 23 KiB |
|
@ -0,0 +1 @@
|
|||
<svg width="350" height="140" xmlns="http://www.w3.org/2000/svg" style="background:#f6f7f9"><g fill="none" fill-rule="evenodd"><path fill="#F04141" style="mix-blend-mode:multiply" d="M61.905-34.23l96.194 54.51-66.982 54.512L22 34.887z"/><circle fill="#10DC60" style="mix-blend-mode:multiply" cx="155.5" cy="135.5" r="57.5"/><path fill="#3880FF" style="mix-blend-mode:multiply" d="M208.538 9.513l84.417 15.392L223.93 93.93z"/><path fill="#FFCE00" style="mix-blend-mode:multiply" d="M268.625 106.557l46.332-26.75 46.332 26.75v53.5l-46.332 26.75-46.332-26.75z"/><circle fill="#7044FF" style="mix-blend-mode:multiply" cx="299.5" cy="9.5" r="38.5"/><rect fill="#11D3EA" style="mix-blend-mode:multiply" transform="rotate(-60 148.47 37.886)" x="143.372" y="-7.056" width="10.196" height="89.884" rx="5.098"/><path d="M-25.389 74.253l84.86 8.107c5.498.525 9.53 5.407 9.004 10.905a10 10 0 0 1-.057.477l-12.36 85.671a10.002 10.002 0 0 1-11.634 8.42l-86.351-15.226c-5.44-.959-9.07-6.145-8.112-11.584l13.851-78.551a10 10 0 0 1 10.799-8.219z" fill="#7044FF" style="mix-blend-mode:multiply"/><circle fill="#0CD1E8" style="mix-blend-mode:multiply" cx="273.5" cy="106.5" r="20.5"/></g></svg>
|
After Width: | Height: | Size: 1.1 KiB |
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,20 @@
|
|||
|
||||
cordova.define('cordova/plugin_list', function(require, exports, module) {
|
||||
module.exports = [
|
||||
{
|
||||
"id": "cordova-plugin-inappbrowser.inappbrowser",
|
||||
"file": "plugins/cordova-plugin-inappbrowser/www/inappbrowser.js",
|
||||
"pluginId": "cordova-plugin-inappbrowser",
|
||||
"clobbers": [
|
||||
"cordova.InAppBrowser.open"
|
||||
]
|
||||
}
|
||||
];
|
||||
module.exports.metadata =
|
||||
// TOP OF METADATA
|
||||
{
|
||||
"cordova-plugin-inappbrowser": "5.0.0"
|
||||
};
|
||||
// BOTTOM OF METADATA
|
||||
});
|
||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
After Width: | Height: | Size: 42 KiB |
|
@ -0,0 +1 @@
|
|||
<!doctype html><html lang="en"><head><meta charset="utf-8"/><title>Ionic App</title><base href="/"/><meta name="color-scheme" content="light dark"/><meta name="viewport" content="viewport-fit=cover,width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/><meta name="format-detection" content="telephone=no"/><meta name="msapplication-tap-highlight" content="no"/><link rel="shortcut icon" type="image/png" href="/assets/icon/favicon.png"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Ionic App"/><meta name="apple-mobile-web-app-status-bar-style" content="black"/><script defer="defer" src="/js/chunk-vendors.bd229e35.js"></script><script defer="defer" src="/js/app.ba3e8dbe.js"></script><link href="/css/app.908e70a8.css" rel="stylesheet"></head><body><div id="app"></div></body></html>
|
|
@ -0,0 +1,5 @@
|
|||
"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[168],{3168:function(e,t,n){n.r(t),n.d(t,{startTapClick:function(){return i}});var o=n(6587);
|
||||
/*!
|
||||
* (C) Ionic http://ionicframework.com - MIT License
|
||||
*/const i=e=>{let t,n,i,v=10*-u,f=0;const p=e.getBoolean("animated",!0)&&e.getBoolean("rippleEffect",!0),m=new WeakMap,h=e=>{v=(0,o.u)(e),T(e)},L=e=>{v=(0,o.u)(e),g(e)},w=e=>{const t=(0,o.u)(e)-u;v<t&&T(e)},E=e=>{const t=(0,o.u)(e)-u;v<t&&g(e)},b=e=>{g(e)},k=()=>{clearTimeout(i),i=void 0,t&&(y(!1),t=void 0)},T=e=>{t||R(s(e),e)},g=e=>{R(void 0,e)},R=(e,n)=>{if(e&&e===t)return;clearTimeout(i),i=void 0;const{x:s,y:c}=(0,o.q)(n);if(t){if(m.has(t))throw new Error("internal error");t.classList.contains(r)||C(t,s,c),y(!0)}if(e){const t=m.get(e);t&&(clearTimeout(t),m.delete(e));const n=a(e)?0:d;e.classList.remove(r),i=setTimeout((()=>{C(e,s,c),i=void 0}),n)}t=e},C=(e,t,o)=>{f=Date.now(),e.classList.add(r);const i=p&&c(e);i&&i.addRipple&&(q(),n=i.addRipple(t,o))},q=()=>{void 0!==n&&(n.then((e=>e())),n=void 0)},y=e=>{q();const n=t;if(!n)return;const o=l-Date.now()+f;if(e&&o>0&&!a(n)){const e=setTimeout((()=>{n.classList.remove(r),m.delete(n)}),l);m.set(n,e)}else n.classList.remove(r)},S=document;S.addEventListener("ionGestureCaptured",k),S.addEventListener("touchstart",h,!0),S.addEventListener("touchcancel",L,!0),S.addEventListener("touchend",L,!0),S.addEventListener("pointercancel",k,!0),S.addEventListener("mousedown",w,!0),S.addEventListener("mouseup",E,!0),S.addEventListener("contextmenu",b,!0)},s=e=>{if(!e.composedPath)return e.target.closest(".ion-activatable");{const t=e.composedPath();for(let e=0;e<t.length-2;e++){const n=t[e];if(!(n instanceof ShadowRoot)&&n.classList.contains("ion-activatable"))return n}}},a=e=>e.classList.contains("ion-activatable-instant"),c=e=>{if(e.shadowRoot){const t=e.shadowRoot.querySelector("ion-ripple-effect");if(t)return t}return e.querySelector("ion-ripple-effect")},r="ion-activated",d=200,l=200,u=2500}}]);
|
||||
//# sourceMappingURL=168.c83a23ff.js.map
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,6 @@
|
|||
"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[544],{8544:function(e,t,o){o.r(t),o.d(t,{startFocusVisible:function(){return c}});
|
||||
/*!
|
||||
* (C) Ionic http://ionicframework.com - MIT License
|
||||
*/
|
||||
const n="ion-focused",s="ion-focusable",r=["Tab","ArrowDown","Space","Escape"," ","Shift","Enter","ArrowLeft","ArrowRight","ArrowUp","Home","End"],c=e=>{let t=[],o=!0;const c=e?e.shadowRoot:document,i=e||document.body,a=e=>{t.forEach((e=>e.classList.remove(n))),e.forEach((e=>e.classList.add(n))),t=e},d=()=>{o=!1,a([])},u=e=>{o=r.includes(e.key),o||a([])},v=e=>{if(o&&e.composedPath){const t=e.composedPath().filter((e=>!!e.classList&&e.classList.contains(s)));a(t)}},f=()=>{c.activeElement===i&&a([])};c.addEventListener("keydown",u),c.addEventListener("focusin",v),c.addEventListener("focusout",f),c.addEventListener("touchstart",d),c.addEventListener("mousedown",d);const m=()=>{c.removeEventListener("keydown",u),c.removeEventListener("focusin",v),c.removeEventListener("focusout",f),c.removeEventListener("touchstart",d),c.removeEventListener("mousedown",d)};return{destroy:m,setFocus:a}}}}]);
|
||||
//# sourceMappingURL=544.94817512.js.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"js/544.94817512.js","mappings":";;;;AAGA,MAAMA,EAAc,cACdC,EAAgB,gBAChBC,EAAa,CACjB,MACA,YACA,QACA,SACA,IACA,QACA,QACA,YACA,aACA,UACA,OACA,OAEIC,EAAqBC,IACzB,IAAIC,EAAe,GACfC,GAAe,EACnB,MAAMC,EAAMH,EAASA,EAAOI,WAAaC,SACnCC,EAAON,GAAkBK,SAASE,KAClCC,EAAYC,IAChBR,EAAaS,SAASC,GAAOA,EAAGC,UAAUC,OAAOjB,KACjDa,EAASC,SAASC,GAAOA,EAAGC,UAAUE,IAAIlB,KAC1CK,EAAeQ,GAEXM,EAAc,KAClBb,GAAe,EACfM,EAAS,KAELQ,EAAaC,IACjBf,EAAeJ,EAAWoB,SAASD,EAAGE,KACjCjB,GACHM,EAAS,KAGPY,EAAaH,IACjB,GAAIf,GAAgBe,EAAGI,aAAc,CACnC,MAAMC,EAAUL,EAAGI,eAAeE,QAAQZ,KACpCA,EAAGC,WACED,EAAGC,UAAUY,SAAS3B,KAIjCW,EAASc,KAGPG,EAAa,KACbtB,EAAIuB,gBAAkBpB,GACxBE,EAAS,KAGbL,EAAIwB,iBAAiB,UAAWX,GAChCb,EAAIwB,iBAAiB,UAAWP,GAChCjB,EAAIwB,iBAAiB,WAAYF,GACjCtB,EAAIwB,iBAAiB,aAAcZ,GACnCZ,EAAIwB,iBAAiB,YAAaZ,GAClC,MAAMa,EAAU,KACdzB,EAAI0B,oBAAoB,UAAWb,GACnCb,EAAI0B,oBAAoB,UAAWT,GACnCjB,EAAI0B,oBAAoB,WAAYJ,GACpCtB,EAAI0B,oBAAoB,aAAcd,GACtCZ,EAAI0B,oBAAoB,YAAad,IAEvC,MAAO,CACLa,QAAAA,EACApB,SAAAA","sources":["webpack://tainacan-mobile/./node_modules/@ionic/core/components/focus-visible.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nconst ION_FOCUSED = 'ion-focused';\nconst ION_FOCUSABLE = 'ion-focusable';\nconst FOCUS_KEYS = [\n 'Tab',\n 'ArrowDown',\n 'Space',\n 'Escape',\n ' ',\n 'Shift',\n 'Enter',\n 'ArrowLeft',\n 'ArrowRight',\n 'ArrowUp',\n 'Home',\n 'End',\n];\nconst startFocusVisible = (rootEl) => {\n let currentFocus = [];\n let keyboardMode = true;\n const ref = rootEl ? rootEl.shadowRoot : document;\n const root = rootEl ? rootEl : document.body;\n const setFocus = (elements) => {\n currentFocus.forEach((el) => el.classList.remove(ION_FOCUSED));\n elements.forEach((el) => el.classList.add(ION_FOCUSED));\n currentFocus = elements;\n };\n const pointerDown = () => {\n keyboardMode = false;\n setFocus([]);\n };\n const onKeydown = (ev) => {\n keyboardMode = FOCUS_KEYS.includes(ev.key);\n if (!keyboardMode) {\n setFocus([]);\n }\n };\n const onFocusin = (ev) => {\n if (keyboardMode && ev.composedPath) {\n const toFocus = ev.composedPath().filter((el) => {\n if (el.classList) {\n return el.classList.contains(ION_FOCUSABLE);\n }\n return false;\n });\n setFocus(toFocus);\n }\n };\n const onFocusout = () => {\n if (ref.activeElement === root) {\n setFocus([]);\n }\n };\n ref.addEventListener('keydown', onKeydown);\n ref.addEventListener('focusin', onFocusin);\n ref.addEventListener('focusout', onFocusout);\n ref.addEventListener('touchstart', pointerDown);\n ref.addEventListener('mousedown', pointerDown);\n const destroy = () => {\n ref.removeEventListener('keydown', onKeydown);\n ref.removeEventListener('focusin', onFocusin);\n ref.removeEventListener('focusout', onFocusout);\n ref.removeEventListener('touchstart', pointerDown);\n ref.removeEventListener('mousedown', pointerDown);\n };\n return {\n destroy,\n setFocus,\n };\n};\n\nexport { startFocusVisible };\n"],"names":["ION_FOCUSED","ION_FOCUSABLE","FOCUS_KEYS","startFocusVisible","rootEl","currentFocus","keyboardMode","ref","shadowRoot","document","root","body","setFocus","elements","forEach","el","classList","remove","add","pointerDown","onKeydown","ev","includes","key","onFocusin","composedPath","toFocus","filter","contains","onFocusout","activeElement","addEventListener","destroy","removeEventListener"],"sourceRoot":""}
|
|
@ -0,0 +1,14 @@
|
|||
"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[576],{576:function(e,t,s){s.r(t),s.d(t,{scopeCss:function(){return P}});
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google Inc. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*
|
||||
* This file is a port of shadowCSS from webcomponents.js to TypeScript.
|
||||
* https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js
|
||||
* https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts
|
||||
*/
|
||||
const r=e=>{const t=[];let s=0;e=e.replace(/(\[[^\]]*\])/g,((e,r)=>{const c=`__ph-${s}__`;return t.push(r),s++,c}));const r=e.replace(/(:nth-[-\w]+)(\([^)]+\))/g,((e,r,c)=>{const n=`__ph-${s}__`;return t.push(c),s++,r+n})),c={content:r,placeholders:t};return c},c=(e,t)=>t.replace(/__ph-(\d+)__/g,((t,s)=>e[+s])),n="-shadowcsshost",o="-shadowcssslotted",l="-shadowcsscontext",i=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",a=new RegExp("("+n+i,"gim"),p=new RegExp("("+l+i,"gim"),h=new RegExp("("+o+i,"gim"),u=n+"-no-combinator",g=/-shadowcsshost-no-combinator([^\s]*)/,d=[/::shadow/g,/::content/g],m="([>\\s~+[.,{:][\\s\\S]*)?$",f=/-shadowcsshost/gim,$=/:host/gim,x=/::slotted/gim,_=/:host-context/gim,w=/\/\*\s*[\s\S]*?\*\//g,b=e=>e.replace(w,""),S=/\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g,W=e=>e.match(S)||[],k=/(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g,O=/([{}])/g,j=/(^.*?[^\\])??((:+)(.*)|$)/,E="{",R="}",C="%BLOCK%",T=(e,t)=>{const s=L(e);let r=0;return s.escapedString.replace(k,((...e)=>{const c=e[2];let n="",o=e[4],l="";o&&o.startsWith("{"+C)&&(n=s.blocks[r++],o=o.substring(C.length+1),l="{");const i={selector:c,content:n},a=t(i);return`${e[1]}${a.selector}${e[3]}${l}${a.content}${o}`}))},L=e=>{const t=e.split(O),s=[],r=[];let c=0,n=[];for(let l=0;l<t.length;l++){const e=t[l];e===R&&c--,c>0?n.push(e):(n.length>0&&(r.push(n.join("")),s.push(C),n=[]),s.push(e)),e===E&&c++}n.length>0&&(r.push(n.join("")),s.push(C));const o={escapedString:s.join(""),blocks:r};return o},B=e=>(e=e.replace(_,l).replace($,n).replace(x,o),e),I=(e,t,s)=>e.replace(t,((...e)=>{if(e[2]){const t=e[2].split(","),r=[];for(let c=0;c<t.length;c++){const n=t[c].trim();if(!n)break;r.push(s(u,n,e[3]))}return r.join(",")}return u+e[3]})),K=(e,t,s)=>e+t.replace(n,"")+s,M=e=>I(e,a,K),U=(e,t,s)=>t.indexOf(n)>-1?K(e,t,s):e+t+s+", "+t+" "+e+s,q=(e,t)=>{const s="."+t+" > ",r=[];return e=e.replace(h,((...e)=>{if(e[2]){const t=e[2].trim(),c=e[3],n=s+t+c;let o="";for(let s=e[4]-1;s>=0;s--){const t=e[5][s];if("}"===t||","===t)break;o=t+o}const l=o+n,i=`${o.trimRight()}${n.trim()}`;if(l.trim()!==i.trim()){const e=`${i}, ${l}`;r.push({orgSelector:l,updatedSelector:e})}return n}return u+e[3]})),{selectors:r,cssText:e}},v=e=>I(e,p,U),y=e=>d.reduce(((e,t)=>e.replace(t," ")),e),z=e=>{const t=/\[/g,s=/\]/g;return e=e.replace(t,"\\[").replace(s,"\\]"),new RegExp("^("+e+")"+m,"m")},A=(e,t)=>{const s=z(t);return!s.test(e)},D=(e,t)=>e.replace(j,((e,s="",r,c="",n="")=>s+t+c+n)),F=(e,t,s)=>{if(f.lastIndex=0,f.test(e)){const t=`.${s}`;return e.replace(g,((e,s)=>D(s,t))).replace(f,t+" ")}return t+" "+e},G=(e,t,s)=>{const n=/\[is=([^\]]*)\]/g;t=t.replace(n,((e,...t)=>t[0]));const o="."+t,l=e=>{let r=e.trim();if(!r)return"";if(e.indexOf(u)>-1)r=F(e,t,s);else{const t=e.replace(f,"");t.length>0&&(r=D(t,o))}return r},i=r(e);e=i.content;let a,p="",h=0;const g=/( |>|\+|~(?!=))\s*/g,d=e.indexOf(u)>-1;let m=!d;while(null!==(a=g.exec(e))){const t=a[1],s=e.slice(h,a.index).trim();m=m||s.indexOf(u)>-1;const r=m?l(s):s;p+=`${r} ${t} `,h=g.lastIndex}const $=e.substring(h);return m=m||$.indexOf(u)>-1,p+=m?l($):$,c(i.placeholders,p)},H=(e,t,s,r)=>e.split(",").map((e=>r&&e.indexOf("."+r)>-1?e.trim():A(e,t)?G(e,t,s).trim():e.trim())).join(", "),J=(e,t,s,r,c)=>T(e,(e=>{let c=e.selector,n=e.content;"@"!==e.selector[0]?c=H(e.selector,t,s,r):(e.selector.startsWith("@media")||e.selector.startsWith("@supports")||e.selector.startsWith("@page")||e.selector.startsWith("@document"))&&(n=J(e.content,t,s,r));const o={selector:c.replace(/\s{2,}/g," ").trim(),content:n};return o})),N=(e,t,s,r,c)=>{e=B(e),e=M(e),e=v(e);const n=q(e,r);return e=n.cssText,e=y(e),t&&(e=J(e,t,s,r)),e=e.replace(/-shadowcsshost-no-combinator/g,`.${s}`),e=e.replace(/>\s*\*\s+([^{, ]+)/gm," $1 "),{cssText:e.trim(),slottedSelectors:n.selectors}},P=(e,t,s)=>{const r=t+"-h",c=t+"-s",n=W(e);e=b(e);const o=[];if(s){const t=e=>{const t=`/*!@___${o.length}___*/`,s=`/*!@${e.selector}*/`;return o.push({placeholder:t,comment:s}),e.selector=t+e.selector,e};e=T(e,(e=>"@"!==e.selector[0]?t(e):e.selector.startsWith("@media")||e.selector.startsWith("@supports")||e.selector.startsWith("@page")||e.selector.startsWith("@document")?(e.content=T(e.content,t),e):e))}const l=N(e,t,r,c);return e=[l.cssText,...n].join("\n"),s&&o.forEach((({placeholder:t,comment:s})=>{e=e.replace(t,s)})),l.slottedSelectors.forEach((t=>{e=e.replace(t.orgSelector,t.updatedSelector)})),e}}}]);
|
||||
//# sourceMappingURL=576.a82798ee.js.map
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,6 @@
|
|||
"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[753],{4753:function(n,e,t){t.r(e),t.d(e,{mdTransitionAnimation:function(){return o}});var i=t(5980),a=t(5026);
|
||||
/*!
|
||||
* (C) Ionic http://ionicframework.com - MIT License
|
||||
*/
|
||||
const o=(n,e)=>{const t="40px",o="0px",r="back"===e.direction,s=e.enteringEl,c=e.leavingEl,l=(0,a.g)(s),d=l.querySelector("ion-toolbar"),m=(0,i.c)();if(m.addElement(l).fill("both").beforeRemoveClass("ion-page-invisible"),r?m.duration(e.duration||200).easing("cubic-bezier(0.47,0,0.745,0.715)"):m.duration(e.duration||280).easing("cubic-bezier(0.36,0.66,0.04,1)").fromTo("transform",`translateY(${t})`,`translateY(${o})`).fromTo("opacity",.01,1),d){const n=(0,i.c)();n.addElement(d),m.addAnimation(n)}if(c&&r){m.duration(e.duration||200).easing("cubic-bezier(0.47,0,0.745,0.715)");const n=(0,i.c)();n.addElement((0,a.g)(c)).onFinish((e=>{1===e&&n.elements.length>0&&n.elements[0].style.setProperty("display","none")})).fromTo("transform",`translateY(${o})`,`translateY(${t})`).fromTo("opacity",1,0),m.addAnimation(n)}return m}}}]);
|
||||
//# sourceMappingURL=753.17d4d392.js.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"js/753.17d4d392.js","mappings":";;;;AAMA,MAAMA,EAAwB,CAACC,EAAGC,KAChC,MAAMC,EAAa,OACbC,EAAS,MACTC,EAAmC,SAAnBH,EAAKI,UACrBC,EAAaL,EAAKK,WAClBC,EAAYN,EAAKM,UACjBC,GAAiB,IAAAC,GAAkBH,GACnCI,EAAqBF,EAAeG,cAAc,eAClDC,GAAiB,IAAAC,KAcvB,GAbAD,EAAeE,WAAWN,GAAgBO,KAAK,QAAQC,kBAAkB,sBAErEZ,EACFQ,EAAeK,SAAShB,EAAKgB,UAAY,KAAKC,OAAO,oCAGrDN,EACGK,SAAShB,EAAKgB,UAAY,KAC1BC,OAAO,kCACPC,OAAO,YAAa,cAAcjB,KAAe,cAAcC,MAC/DgB,OAAO,UAAW,IAAM,GAGzBT,EAAoB,CACtB,MAAMU,GAAkB,IAAAP,KACxBO,EAAgBN,WAAWJ,GAC3BE,EAAeS,aAAaD,GAG9B,GAAIb,GAAaH,EAAe,CAE9BQ,EAAeK,SAAShB,EAAKgB,UAAY,KAAKC,OAAO,oCACrD,MAAMI,GAAc,IAAAT,KACpBS,EACGR,YAAW,IAAAL,GAAkBF,IAC7BgB,UAAUC,IACS,IAAhBA,GAAqBF,EAAYG,SAASC,OAAS,GACrDJ,EAAYG,SAAS,GAAGE,MAAMC,YAAY,UAAW,WAGtDT,OAAO,YAAa,cAAchB,KAAW,cAAcD,MAC3DiB,OAAO,UAAW,EAAG,GACxBP,EAAeS,aAAaC,GAE9B,OAAOV","sources":["webpack://tainacan-mobile/./node_modules/@ionic/core/components/md.transition.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { c as createAnimation } from './animation.js';\nimport { g as getIonPageElement } from './index4.js';\n\nconst mdTransitionAnimation = (_, opts) => {\n const OFF_BOTTOM = '40px';\n const CENTER = '0px';\n const backDirection = opts.direction === 'back';\n const enteringEl = opts.enteringEl;\n const leavingEl = opts.leavingEl;\n const ionPageElement = getIonPageElement(enteringEl);\n const enteringToolbarEle = ionPageElement.querySelector('ion-toolbar');\n const rootTransition = createAnimation();\n rootTransition.addElement(ionPageElement).fill('both').beforeRemoveClass('ion-page-invisible');\n // animate the component itself\n if (backDirection) {\n rootTransition.duration(opts.duration || 200).easing('cubic-bezier(0.47,0,0.745,0.715)');\n }\n else {\n rootTransition\n .duration(opts.duration || 280)\n .easing('cubic-bezier(0.36,0.66,0.04,1)')\n .fromTo('transform', `translateY(${OFF_BOTTOM})`, `translateY(${CENTER})`)\n .fromTo('opacity', 0.01, 1);\n }\n // Animate toolbar if it's there\n if (enteringToolbarEle) {\n const enteringToolBar = createAnimation();\n enteringToolBar.addElement(enteringToolbarEle);\n rootTransition.addAnimation(enteringToolBar);\n }\n // setup leaving view\n if (leavingEl && backDirection) {\n // leaving content\n rootTransition.duration(opts.duration || 200).easing('cubic-bezier(0.47,0,0.745,0.715)');\n const leavingPage = createAnimation();\n leavingPage\n .addElement(getIonPageElement(leavingEl))\n .onFinish((currentStep) => {\n if (currentStep === 1 && leavingPage.elements.length > 0) {\n leavingPage.elements[0].style.setProperty('display', 'none');\n }\n })\n .fromTo('transform', `translateY(${CENTER})`, `translateY(${OFF_BOTTOM})`)\n .fromTo('opacity', 1, 0);\n rootTransition.addAnimation(leavingPage);\n }\n return rootTransition;\n};\n\nexport { mdTransitionAnimation };\n"],"names":["mdTransitionAnimation","_","opts","OFF_BOTTOM","CENTER","backDirection","direction","enteringEl","leavingEl","ionPageElement","g","enteringToolbarEle","querySelector","rootTransition","c","addElement","fill","beforeRemoveClass","duration","easing","fromTo","enteringToolBar","addAnimation","leavingPage","onFinish","currentStep","elements","length","style","setProperty"],"sourceRoot":""}
|
|
@ -0,0 +1,6 @@
|
|||
"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[775],{8775:function(e,t,n){n.r(t),n.d(t,{startInputShims:function(){return D}});var o=n(8487),r=n(6587);
|
||||
/*!
|
||||
* (C) Ionic http://ionicframework.com - MIT License
|
||||
*/
|
||||
const i=new WeakMap,a=(e,t,n,o=0)=>{i.has(e)!==n&&(n?l(e,t,o):d(e,t))},s=e=>e===e.getRootNode().activeElement,l=(e,t,n)=>{const o=t.parentNode,r=t.cloneNode(!1);r.classList.add("cloned-input"),r.tabIndex=-1,o.appendChild(r),i.set(e,r);const a=e.ownerDocument,s="rtl"===a.dir?9999:-9999;e.style.pointerEvents="none",t.style.transform=`translate3d(${s}px,${n}px,0) scale(0)`},d=(e,t)=>{const n=i.get(e);n&&(i.delete(e),n.remove()),e.style.pointerEvents="",t.style.transform=""},c=(e,t,n)=>{if(!n||!t)return()=>{};const o=n=>{s(t)&&a(e,t,n)},i=()=>a(e,t,!1),l=()=>o(!0),d=()=>o(!1);return(0,r.a)(n,"ionScrollStart",l),(0,r.a)(n,"ionScrollEnd",d),t.addEventListener("blur",i),()=>{(0,r.b)(n,"ionScrollStart",l),(0,r.b)(n,"ionScrollEnd",d),t.addEventListener("ionBlur",i)}},u="input, textarea, [no-blur], [contenteditable]",m=()=>{let e=!0,t=!1;const n=document,o=()=>{t=!0},i=()=>{e=!0},a=o=>{if(t)return void(t=!1);const r=n.activeElement;if(!r)return;if(r.matches(u))return;const i=o.target;i!==r&&(i.matches(u)||i.closest(u)||(e=!1,setTimeout((()=>{e||r.blur()}),50)))};return(0,r.a)(n,"ionScrollStart",o),n.addEventListener("focusin",i,!0),n.addEventListener("touchend",a,!1),()=>{(0,r.b)(n,"ionScrollStart",o,!0),n.removeEventListener("focusin",i,!0),n.removeEventListener("touchend",a,!1)}},f=.3,v=(e,t,n)=>{const o=e.closest("ion-item,[ion-item]")||e;return p(o.getBoundingClientRect(),t.getBoundingClientRect(),n,e.ownerDocument.defaultView.innerHeight)},p=(e,t,n,o)=>{const r=e.top,i=e.bottom,a=t.top,s=Math.min(t.bottom,o-n),l=a+15,d=.75*s,c=d-i,u=l-r,m=Math.round(c<0?-c:u>0?-u:0),v=Math.min(m,r-a),p=Math.abs(v),h=p/f,w=Math.min(400,Math.max(150,h));return{scrollAmount:v,scrollDuration:w,scrollPadding:n,inputSafeY:4-(r-l)}},h=(e,t,n,o,i)=>{let a;const l=e=>{a=(0,r.q)(e)},d=l=>{if(!a)return;const d=(0,r.q)(l);E(6,a,d)||s(t)||w(e,t,n,o,i)};return e.addEventListener("touchstart",l,!0),e.addEventListener("touchend",d,!0),()=>{e.removeEventListener("touchstart",l,!0),e.removeEventListener("touchend",d,!0)}},w=async(e,t,n,i,s)=>{if(!n&&!i)return;const l=v(e,n||i,s);if(n&&Math.abs(l.scrollAmount)<4)t.focus();else if(a(e,t,!0,l.inputSafeY),t.focus(),(0,r.r)((()=>e.click())),"undefined"!==typeof window){let r;const i=async()=>{void 0!==r&&clearTimeout(r),window.removeEventListener("ionKeyboardDidShow",s),window.removeEventListener("ionKeyboardDidShow",i),n&&await(0,o.c)(n,0,l.scrollAmount,l.scrollDuration),a(e,t,!1,l.inputSafeY),t.focus()},s=()=>{window.removeEventListener("ionKeyboardDidShow",s),window.addEventListener("ionKeyboardDidShow",i)};if(n){const e=await(0,o.g)(n),a=e.scrollHeight-e.clientHeight;if(l.scrollAmount>a-e.scrollTop)return"password"===t.type?(l.scrollAmount+=50,window.addEventListener("ionKeyboardDidShow",s)):window.addEventListener("ionKeyboardDidShow",i),void(r=setTimeout(i,1e3))}i()}},E=(e,t,n)=>{if(t&&n){const o=t.x-n.x,r=t.y-n.y,i=o*o+r*r;return i>e*e}return!1},g="$ionPaddingTimer",y=e=>{const t=document,n=t=>{b(t.target,e)},o=e=>{b(e.target,0)};return t.addEventListener("focusin",n),t.addEventListener("focusout",o),()=>{t.removeEventListener("focusin",n),t.removeEventListener("focusout",o)}},b=(e,t)=>{var n,r;if("INPUT"!==e.tagName)return;if(e.parentElement&&"ION-INPUT"===e.parentElement.tagName)return;if("ION-SEARCHBAR"===(null===(r=null===(n=e.parentElement)||void 0===n?void 0:n.parentElement)||void 0===r?void 0:r.tagName))return;const i=(0,o.a)(e);if(null===i)return;const a=i[g];a&&clearTimeout(a),t>0?i.style.setProperty("--keyboard-offset",`${t}px`):i[g]=setTimeout((()=>{i.style.setProperty("--keyboard-offset","0px")}),120)},S=!0,L=!0,D=e=>{const t=document,n=e.getNumber("keyboardHeight",290),i=e.getBoolean("scrollAssist",!0),a=e.getBoolean("hideCaretOnScroll",!0),s=e.getBoolean("inputBlurring",!0),l=e.getBoolean("scrollPadding",!0),d=Array.from(t.querySelectorAll("ion-input, ion-textarea")),u=new WeakMap,f=new WeakMap,v=async e=>{await new Promise((t=>(0,r.c)(e,t)));const t=e.shadowRoot||e,s=t.querySelector("input")||t.querySelector("textarea"),l=(0,o.a)(e),d=l?null:e.closest("ion-footer");if(s){if(l&&a&&!u.has(e)){const t=c(e,s,l);u.set(e,t)}if((l||d)&&i&&!f.has(e)){const t=h(e,s,l,d,n);f.set(e,t)}}},p=e=>{if(a){const t=u.get(e);t&&t(),u.delete(e)}if(i){const t=f.get(e);t&&t(),f.delete(e)}};s&&S&&m(),l&&L&&y(n);for(const o of d)v(o);t.addEventListener("ionInputDidLoad",(e=>{v(e.detail)})),t.addEventListener("ionInputDidUnload",(e=>{p(e.detail)}))}}}]);
|
||||
//# sourceMappingURL=775.c55644c6.js.map
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,6 @@
|
|||
"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[78],{6078:function(e,t,n){n.r(t),n.d(t,{startStatusTap:function(){return a}});var o=n(65),r=n(8487),s=n(6587);
|
||||
/*!
|
||||
* (C) Ionic http://ionicframework.com - MIT License
|
||||
*/
|
||||
const a=()=>{const e=window;e.addEventListener("statusTap",(()=>{(0,o.wj)((()=>{const t=e.innerWidth,n=e.innerHeight,a=document.elementFromPoint(t/2,n/2);if(!a)return;const i=(0,r.a)(a);i&&new Promise((e=>(0,s.c)(i,e))).then((()=>{(0,o.Iu)((async()=>{i.style.setProperty("--overflow","hidden"),await(0,r.s)(i,300),i.style.removeProperty("--overflow")}))}))}))}))}}}]);
|
||||
//# sourceMappingURL=78.51f18a44.js.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"js/78.51f18a44.js","mappings":";;;;AAOA,MAAMA,EAAiB,KACrB,MAAMC,EAAMC,OACZD,EAAIE,iBAAiB,aAAa,MAChC,SAAS,KACP,MAAMC,EAAQH,EAAII,WACZC,EAASL,EAAIM,YACbC,EAAKC,SAASC,iBAAiBN,EAAQ,EAAGE,EAAS,GACzD,IAAKE,EACH,OAEF,MAAMG,GAAY,OAAsBH,GACpCG,GACF,IAAIC,SAASC,IAAY,IAAAC,GAAiBH,EAAWE,KAAUE,MAAK,MAClE,SAAUC,UAQRL,EAAUM,MAAMC,YAAY,aAAc,gBACpC,IAAAC,GAAYR,EAAW,KAC7BA,EAAUM,MAAMG,eAAe","sources":["webpack://tainacan-mobile/./node_modules/@ionic/core/components/status-tap.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { readTask, writeTask } from '@stencil/core/internal/client';\nimport { a as findClosestIonContent, s as scrollToTop } from './index8.js';\nimport { c as componentOnReady } from './helpers.js';\n\nconst startStatusTap = () => {\n const win = window;\n win.addEventListener('statusTap', () => {\n readTask(() => {\n const width = win.innerWidth;\n const height = win.innerHeight;\n const el = document.elementFromPoint(width / 2, height / 2);\n if (!el) {\n return;\n }\n const contentEl = findClosestIonContent(el);\n if (contentEl) {\n new Promise((resolve) => componentOnReady(contentEl, resolve)).then(() => {\n writeTask(async () => {\n /**\n * If scrolling and user taps status bar,\n * only calling scrollToTop is not enough\n * as engines like WebKit will jump the\n * scroll position back down and complete\n * any in-progress momentum scrolling.\n */\n contentEl.style.setProperty('--overflow', 'hidden');\n await scrollToTop(contentEl, 300);\n contentEl.style.removeProperty('--overflow');\n });\n });\n }\n });\n });\n};\n\nexport { startStatusTap };\n"],"names":["startStatusTap","win","window","addEventListener","width","innerWidth","height","innerHeight","el","document","elementFromPoint","contentEl","Promise","resolve","c","then","async","style","setProperty","s","removeProperty"],"sourceRoot":""}
|
|
@ -0,0 +1,14 @@
|
|||
"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[880],{5880:function(e,t,s){s.r(t),s.d(t,{scopeCss:function(){return P}});
|
||||
/**
|
||||
* @license
|
||||
* Copyright Google Inc. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*
|
||||
* This file is a port of shadowCSS from webcomponents.js to TypeScript.
|
||||
* https://github.com/webcomponents/webcomponentsjs/blob/4efecd7e0e/src/ShadowCSS/ShadowCSS.js
|
||||
* https://github.com/angular/angular/blob/master/packages/compiler/src/shadow_css.ts
|
||||
*/
|
||||
const r=e=>{const t=[];let s=0;e=e.replace(/(\[[^\]]*\])/g,((e,r)=>{const c=`__ph-${s}__`;return t.push(r),s++,c}));const r=e.replace(/(:nth-[-\w]+)(\([^)]+\))/g,((e,r,c)=>{const n=`__ph-${s}__`;return t.push(c),s++,r+n})),c={content:r,placeholders:t};return c},c=(e,t)=>t.replace(/__ph-(\d+)__/g,((t,s)=>e[+s])),n="-shadowcsshost",o="-shadowcssslotted",l="-shadowcsscontext",i=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",a=new RegExp("("+n+i,"gim"),p=new RegExp("("+l+i,"gim"),h=new RegExp("("+o+i,"gim"),u=n+"-no-combinator",g=/-shadowcsshost-no-combinator([^\s]*)/,d=[/::shadow/g,/::content/g],m="([>\\s~+[.,{:][\\s\\S]*)?$",f=/-shadowcsshost/gim,$=/:host/gim,x=/::slotted/gim,_=/:host-context/gim,w=/\/\*\s*[\s\S]*?\*\//g,b=e=>e.replace(w,""),S=/\/\*\s*#\s*source(Mapping)?URL=[\s\S]+?\*\//g,W=e=>e.match(S)||[],k=/(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g,O=/([{}])/g,j=/(^.*?[^\\])??((:+)(.*)|$)/,E="{",R="}",C="%BLOCK%",T=(e,t)=>{const s=L(e);let r=0;return s.escapedString.replace(k,((...e)=>{const c=e[2];let n="",o=e[4],l="";o&&o.startsWith("{"+C)&&(n=s.blocks[r++],o=o.substring(C.length+1),l="{");const i={selector:c,content:n},a=t(i);return`${e[1]}${a.selector}${e[3]}${l}${a.content}${o}`}))},L=e=>{const t=e.split(O),s=[],r=[];let c=0,n=[];for(let l=0;l<t.length;l++){const e=t[l];e===R&&c--,c>0?n.push(e):(n.length>0&&(r.push(n.join("")),s.push(C),n=[]),s.push(e)),e===E&&c++}n.length>0&&(r.push(n.join("")),s.push(C));const o={escapedString:s.join(""),blocks:r};return o},B=e=>(e=e.replace(_,l).replace($,n).replace(x,o),e),I=(e,t,s)=>e.replace(t,((...e)=>{if(e[2]){const t=e[2].split(","),r=[];for(let c=0;c<t.length;c++){const n=t[c].trim();if(!n)break;r.push(s(u,n,e[3]))}return r.join(",")}return u+e[3]})),K=(e,t,s)=>e+t.replace(n,"")+s,M=e=>I(e,a,K),U=(e,t,s)=>t.indexOf(n)>-1?K(e,t,s):e+t+s+", "+t+" "+e+s,q=(e,t)=>{const s="."+t+" > ",r=[];return e=e.replace(h,((...e)=>{if(e[2]){const t=e[2].trim(),c=e[3],n=s+t+c;let o="";for(let s=e[4]-1;s>=0;s--){const t=e[5][s];if("}"===t||","===t)break;o=t+o}const l=o+n,i=`${o.trimRight()}${n.trim()}`;if(l.trim()!==i.trim()){const e=`${i}, ${l}`;r.push({orgSelector:l,updatedSelector:e})}return n}return u+e[3]})),{selectors:r,cssText:e}},v=e=>I(e,p,U),y=e=>d.reduce(((e,t)=>e.replace(t," ")),e),z=e=>{const t=/\[/g,s=/\]/g;return e=e.replace(t,"\\[").replace(s,"\\]"),new RegExp("^("+e+")"+m,"m")},A=(e,t)=>{const s=z(t);return!s.test(e)},D=(e,t)=>e.replace(j,((e,s="",r,c="",n="")=>s+t+c+n)),F=(e,t,s)=>{if(f.lastIndex=0,f.test(e)){const t=`.${s}`;return e.replace(g,((e,s)=>D(s,t))).replace(f,t+" ")}return t+" "+e},G=(e,t,s)=>{const n=/\[is=([^\]]*)\]/g;t=t.replace(n,((e,...t)=>t[0]));const o="."+t,l=e=>{let r=e.trim();if(!r)return"";if(e.indexOf(u)>-1)r=F(e,t,s);else{const t=e.replace(f,"");t.length>0&&(r=D(t,o))}return r},i=r(e);e=i.content;let a,p="",h=0;const g=/( |>|\+|~(?!=))\s*/g,d=e.indexOf(u)>-1;let m=!d;while(null!==(a=g.exec(e))){const t=a[1],s=e.slice(h,a.index).trim();m=m||s.indexOf(u)>-1;const r=m?l(s):s;p+=`${r} ${t} `,h=g.lastIndex}const $=e.substring(h);return m=m||$.indexOf(u)>-1,p+=m?l($):$,c(i.placeholders,p)},H=(e,t,s,r)=>e.split(",").map((e=>r&&e.indexOf("."+r)>-1?e.trim():A(e,t)?G(e,t,s).trim():e.trim())).join(", "),J=(e,t,s,r,c)=>T(e,(e=>{let c=e.selector,n=e.content;"@"!==e.selector[0]?c=H(e.selector,t,s,r):(e.selector.startsWith("@media")||e.selector.startsWith("@supports")||e.selector.startsWith("@page")||e.selector.startsWith("@document"))&&(n=J(e.content,t,s,r));const o={selector:c.replace(/\s{2,}/g," ").trim(),content:n};return o})),N=(e,t,s,r,c)=>{e=B(e),e=M(e),e=v(e);const n=q(e,r);return e=n.cssText,e=y(e),t&&(e=J(e,t,s,r)),e=e.replace(/-shadowcsshost-no-combinator/g,`.${s}`),e=e.replace(/>\s*\*\s+([^{, ]+)/gm," $1 "),{cssText:e.trim(),slottedSelectors:n.selectors}},P=(e,t,s)=>{const r=t+"-h",c=t+"-s",n=W(e);e=b(e);const o=[];if(s){const t=e=>{const t=`/*!@___${o.length}___*/`,s=`/*!@${e.selector}*/`;return o.push({placeholder:t,comment:s}),e.selector=t+e.selector,e};e=T(e,(e=>"@"!==e.selector[0]?t(e):e.selector.startsWith("@media")||e.selector.startsWith("@supports")||e.selector.startsWith("@page")||e.selector.startsWith("@document")?(e.content=T(e.content,t),e):e))}const l=N(e,t,r,c);return e=[l.cssText,...n].join("\n"),s&&o.forEach((({placeholder:t,comment:s})=>{e=e.replace(t,s)})),l.slottedSelectors.forEach((t=>{e=e.replace(t.orgSelector,t.updatedSelector)})),e}}}]);
|
||||
//# sourceMappingURL=880.e288775e.js.map
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,2 @@
|
|||
"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[961],{7961:function(e,t,i){i.r(t),i.d(t,{DeviceWeb:function(){return o}});var n=i(9895);class o extends n.Uw{async getId(){return{uuid:this.getUid()}}async getInfo(){if("undefined"===typeof navigator||!navigator.userAgent)throw this.unavailable("Device API not available in this browser");const e=navigator.userAgent,t=this.parseUa(e);return{model:t.model,platform:"web",operatingSystem:t.operatingSystem,osVersion:t.osVersion,manufacturer:navigator.vendor,isVirtual:!1,webViewVersion:t.browserVersion}}async getBatteryInfo(){if("undefined"===typeof navigator||!navigator.getBattery)throw this.unavailable("Device API not available in this browser");let e={};try{e=await navigator.getBattery()}catch(t){}return{batteryLevel:e.level,isCharging:e.charging}}async getLanguageCode(){return{value:navigator.language}}parseUa(e){const t={},i=e.indexOf("(")+1;let n=e.indexOf(") AppleWebKit");-1!==e.indexOf(") Gecko")&&(n=e.indexOf(") Gecko"));const o=e.substring(i,n);if(-1!==e.indexOf("Android")){const e=o.replace("; wv","").split("; ").pop();e&&(t.model=e.split(" Build")[0]),t.osVersion=o.split("; ")[1]}else if(t.model=o.split("; ")[0],"undefined"!==typeof navigator&&navigator.oscpu)t.osVersion=navigator.oscpu;else if(-1!==e.indexOf("Windows"))t.osVersion=o;else{const e=o.split("; ").pop();if(e){const i=e.replace(" like Mac OS X","").split(" ");t.osVersion=i[i.length-1].replace(/_/g,".")}}/android/i.test(e)?t.operatingSystem="android":/iPad|iPhone|iPod/.test(e)&&!window.MSStream?t.operatingSystem="ios":/Win/.test(e)?t.operatingSystem="windows":/Mac/i.test(e)?t.operatingSystem="mac":t.operatingSystem="unknown";const r=!!window.InstallTrigger,s=!!window.ApplePaySession,a=!!window.chrome,l=/Edg/.test(e),d=/FxiOS/.test(e),c=/CriOS/.test(e),g=/EdgiOS/.test(e);if(s||a&&!l||d||c||g){let i;i=d?"FxiOS":c?"CriOS":g?"EdgiOS":s?"Version":"Chrome";const n=e.split(" ");for(const e of n)if(e.includes(i)){const i=e.split("/")[1];t.browserVersion=i}}else if(r||l){const i=e.split("").reverse().join(""),n=i.split("/")[0],o=n.split("").reverse().join("");t.browserVersion=o}return t}getUid(){if("undefined"!==typeof window){let e=window.localStorage.getItem("_capuid");return e||(e=this.uuid4(),window.localStorage.setItem("_capuid",e),e)}return this.uuid4()}uuid4(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){const t=16*Math.random()|0,i="x"===e?t:3&t|8;return i.toString(16)}))}}}}]);
|
||||
//# sourceMappingURL=961.2fab5ec9.js.map
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,6 @@
|
|||
"use strict";(self["webpackChunktainacan_mobile"]=self["webpackChunktainacan_mobile"]||[]).push([[990],{8990:function(t,e,n){n.r(e),n.d(e,{createSwipeBackGesture:function(){return c}});var r=n(6587),a=n(545),i=n(6515);
|
||||
/*!
|
||||
* (C) Ionic http://ionicframework.com - MIT License
|
||||
*/
|
||||
const c=(t,e,n,c,o)=>{const s=t.ownerDocument.defaultView,u=(0,a.i)(t),l=t=>{const e=50,{startX:n}=t;return u?n>=s.innerWidth-e:n<=e},h=t=>u?-t.deltaX:t.deltaX,d=t=>u?-t.velocityX:t.velocityX,b=t=>l(t)&&e(),f=t=>{const e=h(t),n=e/s.innerWidth;c(n)},k=t=>{const e=h(t),n=s.innerWidth,a=e/n,i=d(t),c=n/2,u=i>=0&&(i>.2||e>c),l=u?1-a:a,b=l*n;let f=0;if(b>5){const t=b/Math.abs(i);f=Math.min(t,540)}o(u,a<=0?.01:(0,r.j)(0,a,.9999),f)};return(0,i.createGesture)({el:t,gestureName:"goback-swipe",gesturePriority:40,threshold:10,canStart:b,onStart:n,onMove:f,onEnd:k})}}}]);
|
||||
//# sourceMappingURL=990.cdf4956e.js.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"js/990.cdf4956e.js","mappings":";;;;AAOA,MAAMA,EAAyB,CAACC,EAAIC,EAAiBC,EAAgBC,EAAeC,KAClF,MAAMC,EAAML,EAAGM,cAAcC,YACvBC,GAAM,IAAAC,GAAMT,GAMZU,EAAYC,IAChB,MAAMC,EAAY,IACZ,OAAEC,GAAWF,EACnB,OAAIH,EACKK,GAAUR,EAAIS,WAAaF,EAE7BC,GAAUD,GAEbG,EAAaJ,GACVH,GAAOG,EAAOK,OAASL,EAAOK,OAEjCC,EAAgBN,GACbH,GAAOG,EAAOO,UAAYP,EAAOO,UAEpCC,EAAYR,GACTD,EAASC,IAAWV,IAEvBmB,EAAUT,IAEd,MAAMU,EAAQN,EAAUJ,GAClBW,EAAYD,EAAQhB,EAAIS,WAC9BX,EAAcmB,IAEVC,EAASZ,IAEb,MAAMU,EAAQN,EAAUJ,GAClBa,EAAQnB,EAAIS,WACZQ,EAAYD,EAAQG,EACpBC,EAAWR,EAAaN,GACxBe,EAAIF,EAAQ,EACZG,EAAiBF,GAAY,IAAMA,EAAW,IAAOJ,EAAQK,GAC7DE,EAAUD,EAAiB,EAAIL,EAAYA,EAC3CO,EAAkBD,EAAUJ,EAClC,IAAIM,EAAU,EACd,GAAID,EAAkB,EAAG,CACvB,MAAME,EAAMF,EAAkBG,KAAKC,IAAIR,GACvCK,EAAUE,KAAKE,IAAIH,EAAK,KAO1B3B,EAAauB,EAAgBL,GAAa,EAAI,KAAO,OAAM,EAAGA,EAAW,OAASQ,IAEpF,OAAO,IAAAK,eAAc,CACnBnC,GAAAA,EACAoC,YAAa,eACbC,gBAAiB,GACjBzB,UAAW,GACXO,SAAAA,EACAmB,QAASpC,EACTkB,OAAAA,EACAG,MAAAA","sources":["webpack://tainacan-mobile/./node_modules/@ionic/core/components/swipe-back.js"],"sourcesContent":["/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { j as clamp } from './helpers.js';\nimport { i as isRTL } from './dir.js';\nimport { createGesture } from './index2.js';\n\nconst createSwipeBackGesture = (el, canStartHandler, onStartHandler, onMoveHandler, onEndHandler) => {\n const win = el.ownerDocument.defaultView;\n const rtl = isRTL(el);\n /**\n * Determine if a gesture is near the edge\n * of the screen. If true, then the swipe\n * to go back gesture should proceed.\n */\n const isAtEdge = (detail) => {\n const threshold = 50;\n const { startX } = detail;\n if (rtl) {\n return startX >= win.innerWidth - threshold;\n }\n return startX <= threshold;\n };\n const getDeltaX = (detail) => {\n return rtl ? -detail.deltaX : detail.deltaX;\n };\n const getVelocityX = (detail) => {\n return rtl ? -detail.velocityX : detail.velocityX;\n };\n const canStart = (detail) => {\n return isAtEdge(detail) && canStartHandler();\n };\n const onMove = (detail) => {\n // set the transition animation's progress\n const delta = getDeltaX(detail);\n const stepValue = delta / win.innerWidth;\n onMoveHandler(stepValue);\n };\n const onEnd = (detail) => {\n // the swipe back gesture has ended\n const delta = getDeltaX(detail);\n const width = win.innerWidth;\n const stepValue = delta / width;\n const velocity = getVelocityX(detail);\n const z = width / 2.0;\n const shouldComplete = velocity >= 0 && (velocity > 0.2 || delta > z);\n const missing = shouldComplete ? 1 - stepValue : stepValue;\n const missingDistance = missing * width;\n let realDur = 0;\n if (missingDistance > 5) {\n const dur = missingDistance / Math.abs(velocity);\n realDur = Math.min(dur, 540);\n }\n /**\n * TODO: stepValue can sometimes return negative values\n * or values greater than 1 which should not be possible.\n * Need to investigate more to find where the issue is.\n */\n onEndHandler(shouldComplete, stepValue <= 0 ? 0.01 : clamp(0, stepValue, 0.9999), realDur);\n };\n return createGesture({\n el,\n gestureName: 'goback-swipe',\n gesturePriority: 40,\n threshold: 10,\n canStart,\n onStart: onStartHandler,\n onMove,\n onEnd,\n });\n};\n\nexport { createSwipeBackGesture };\n"],"names":["createSwipeBackGesture","el","canStartHandler","onStartHandler","onMoveHandler","onEndHandler","win","ownerDocument","defaultView","rtl","i","isAtEdge","detail","threshold","startX","innerWidth","getDeltaX","deltaX","getVelocityX","velocityX","canStart","onMove","delta","stepValue","onEnd","width","velocity","z","shouldComplete","missing","missingDistance","realDur","dur","Math","abs","min","createGesture","gestureName","gesturePriority","onStart"],"sourceRoot":""}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,121 @@
|
|||
cordova.define("cordova-plugin-inappbrowser.inappbrowser", function(require, exports, module) {
|
||||
/*
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one
|
||||
* or more contributor license agreements. See the NOTICE file
|
||||
* distributed with this work for additional information
|
||||
* regarding copyright ownership. The ASF licenses this file
|
||||
* to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance
|
||||
* with the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing,
|
||||
* software distributed under the License is distributed on an
|
||||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
* KIND, either express or implied. See the License for the
|
||||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
(function () {
|
||||
var exec = require('cordova/exec');
|
||||
var channel = require('cordova/channel');
|
||||
var modulemapper = require('cordova/modulemapper');
|
||||
var urlutil = require('cordova/urlutil');
|
||||
|
||||
function InAppBrowser () {
|
||||
this.channels = {
|
||||
beforeload: channel.create('beforeload'),
|
||||
loadstart: channel.create('loadstart'),
|
||||
loadstop: channel.create('loadstop'),
|
||||
loaderror: channel.create('loaderror'),
|
||||
exit: channel.create('exit'),
|
||||
customscheme: channel.create('customscheme'),
|
||||
message: channel.create('message')
|
||||
};
|
||||
}
|
||||
|
||||
InAppBrowser.prototype = {
|
||||
_eventHandler: function (event) {
|
||||
if (event && event.type in this.channels) {
|
||||
if (event.type === 'beforeload') {
|
||||
this.channels[event.type].fire(event, this._loadAfterBeforeload);
|
||||
} else {
|
||||
this.channels[event.type].fire(event);
|
||||
}
|
||||
}
|
||||
},
|
||||
_loadAfterBeforeload: function (strUrl) {
|
||||
strUrl = urlutil.makeAbsolute(strUrl);
|
||||
exec(null, null, 'InAppBrowser', 'loadAfterBeforeload', [strUrl]);
|
||||
},
|
||||
close: function (eventname) {
|
||||
exec(null, null, 'InAppBrowser', 'close', []);
|
||||
},
|
||||
show: function (eventname) {
|
||||
exec(null, null, 'InAppBrowser', 'show', []);
|
||||
},
|
||||
hide: function (eventname) {
|
||||
exec(null, null, 'InAppBrowser', 'hide', []);
|
||||
},
|
||||
addEventListener: function (eventname, f) {
|
||||
if (eventname in this.channels) {
|
||||
this.channels[eventname].subscribe(f);
|
||||
}
|
||||
},
|
||||
removeEventListener: function (eventname, f) {
|
||||
if (eventname in this.channels) {
|
||||
this.channels[eventname].unsubscribe(f);
|
||||
}
|
||||
},
|
||||
|
||||
executeScript: function (injectDetails, cb) {
|
||||
if (injectDetails.code) {
|
||||
exec(cb, null, 'InAppBrowser', 'injectScriptCode', [injectDetails.code, !!cb]);
|
||||
} else if (injectDetails.file) {
|
||||
exec(cb, null, 'InAppBrowser', 'injectScriptFile', [injectDetails.file, !!cb]);
|
||||
} else {
|
||||
throw new Error('executeScript requires exactly one of code or file to be specified');
|
||||
}
|
||||
},
|
||||
|
||||
insertCSS: function (injectDetails, cb) {
|
||||
if (injectDetails.code) {
|
||||
exec(cb, null, 'InAppBrowser', 'injectStyleCode', [injectDetails.code, !!cb]);
|
||||
} else if (injectDetails.file) {
|
||||
exec(cb, null, 'InAppBrowser', 'injectStyleFile', [injectDetails.file, !!cb]);
|
||||
} else {
|
||||
throw new Error('insertCSS requires exactly one of code or file to be specified');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
module.exports = function (strUrl, strWindowName, strWindowFeatures, callbacks) {
|
||||
// Don't catch calls that write to existing frames (e.g. named iframes).
|
||||
if (window.frames && window.frames[strWindowName]) {
|
||||
var origOpenFunc = modulemapper.getOriginalSymbol(window, 'open');
|
||||
return origOpenFunc.apply(window, arguments);
|
||||
}
|
||||
|
||||
strUrl = urlutil.makeAbsolute(strUrl);
|
||||
var iab = new InAppBrowser();
|
||||
|
||||
callbacks = callbacks || {};
|
||||
for (var callbackName in callbacks) {
|
||||
iab.addEventListener(callbackName, callbacks[callbackName]);
|
||||
}
|
||||
|
||||
var cb = function (eventname) {
|
||||
iab._eventHandler(eventname);
|
||||
};
|
||||
|
||||
strWindowFeatures = strWindowFeatures || '';
|
||||
|
||||
exec(cb, cb, 'InAppBrowser', 'open', [strUrl, strWindowName, strWindowFeatures]);
|
||||
return iab;
|
||||
};
|
||||
})();
|
||||
});
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'CordovaPlugins'
|
||||
s.version = '3.4.3'
|
||||
s.summary = 'Autogenerated spec'
|
||||
s.license = 'Unknown'
|
||||
s.homepage = 'https://example.com'
|
||||
s.authors = { 'Capacitor Generator' => 'hi@example.com' }
|
||||
s.source = { :git => 'https://github.com/ionic-team/does-not-exist.git', :tag => '3.4.3' }
|
||||
s.source_files = 'sources/**/*.{swift,h,m,c,cc,mm,cpp}'
|
||||
s.ios.deployment_target = '12.0'
|
||||
s.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) COCOAPODS=1 WK_WEB_VIEW_ONLY=1' }
|
||||
s.dependency 'CapacitorCordova'
|
||||
s.swift_version = '5.1'
|
||||
s.frameworks = 'CoreGraphics'
|
||||
end
|
|
@ -0,0 +1,11 @@
|
|||
Pod::Spec.new do |s|
|
||||
s.name = 'CordovaPluginsResources'
|
||||
s.version = '0.0.105'
|
||||
s.summary = 'Resources for Cordova plugins'
|
||||
s.social_media_url = 'https://twitter.com/capacitorjs'
|
||||
s.license = 'MIT'
|
||||
s.homepage = 'https://capacitorjs.com/'
|
||||
s.authors = { 'Ionic Team' => 'hi@ionicframework.com' }
|
||||
s.source = { :git => 'https://github.com/ionic-team/capacitor.git', :tag => s.version.to_s }
|
||||
s.resources = ['resources/*']
|
||||
end
|
|
@ -0,0 +1,16 @@
|
|||
|
||||
Pod::Spec.new do |s|
|
||||
s.name = 'CordovaPluginsStatic'
|
||||
s.version = '3.4.3'
|
||||
s.summary = 'Autogenerated spec'
|
||||
s.license = 'Unknown'
|
||||
s.homepage = 'https://example.com'
|
||||
s.authors = { 'Capacitor Generator' => 'hi@example.com' }
|
||||
s.source = { :git => 'https://github.com/ionic-team/does-not-exist.git', :tag => '3.4.3' }
|
||||
s.source_files = 'sourcesstatic/**/*.{swift,h,m,c,cc,mm,cpp}'
|
||||
s.ios.deployment_target = '12.0'
|
||||
s.xcconfig = {'GCC_PREPROCESSOR_DEFINITIONS' => '$(inherited) COCOAPODS=1 WK_WEB_VIEW_ONLY=1' }
|
||||
s.dependency 'CapacitorCordova'
|
||||
s.swift_version = '5.1'
|
||||
s.static_framework = true
|
||||
end
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*/
|
||||
|
||||
#import <Cordova/CDVScreenOrientationDelegate.h>
|
||||
|
||||
|
||||
@interface CDVInAppBrowserNavigationController : UINavigationController
|
||||
|
||||
@property (nonatomic, weak) id <CDVScreenOrientationDelegate> orientationDelegate;
|
||||
|
||||
@end
|
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*/
|
||||
|
||||
#import "CDVInAppBrowserNavigationController.h"
|
||||
|
||||
@implementation CDVInAppBrowserNavigationController : UINavigationController
|
||||
|
||||
- (void) dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion {
|
||||
if ( self.presentedViewController) {
|
||||
[super dismissViewControllerAnimated:flag completion:completion];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
}
|
||||
|
||||
- (CGRect) invertFrameIfNeeded:(CGRect)rect {
|
||||
if (UIInterfaceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation])) {
|
||||
CGFloat temp = rect.size.width;
|
||||
rect.size.width = rect.size.height;
|
||||
rect.size.height = temp;
|
||||
}
|
||||
rect.origin = CGPointZero;
|
||||
return rect;
|
||||
}
|
||||
|
||||
#pragma mark CDVScreenOrientationDelegate
|
||||
|
||||
- (BOOL)shouldAutorotate
|
||||
{
|
||||
if ((self.orientationDelegate != nil) && [self.orientationDelegate respondsToSelector:@selector(shouldAutorotate)]) {
|
||||
return [self.orientationDelegate shouldAutorotate];
|
||||
}
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
|
||||
{
|
||||
if ((self.orientationDelegate != nil) && [self.orientationDelegate respondsToSelector:@selector(supportedInterfaceOrientations)]) {
|
||||
return [self.orientationDelegate supportedInterfaceOrientations];
|
||||
}
|
||||
|
||||
return 1 << UIInterfaceOrientationPortrait;
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,50 @@
|
|||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*/
|
||||
|
||||
|
||||
@interface CDVInAppBrowserOptions : NSObject {}
|
||||
|
||||
@property (nonatomic, assign) BOOL location;
|
||||
@property (nonatomic, assign) BOOL toolbar;
|
||||
@property (nonatomic, copy) NSString* closebuttoncaption;
|
||||
@property (nonatomic, copy) NSString* closebuttoncolor;
|
||||
@property (nonatomic, assign) BOOL lefttoright;
|
||||
@property (nonatomic, copy) NSString* toolbarposition;
|
||||
@property (nonatomic, copy) NSString* toolbarcolor;
|
||||
@property (nonatomic, assign) BOOL toolbartranslucent;
|
||||
@property (nonatomic, assign) BOOL hidenavigationbuttons;
|
||||
@property (nonatomic, copy) NSString* navigationbuttoncolor;
|
||||
@property (nonatomic, assign) BOOL cleardata;
|
||||
@property (nonatomic, assign) BOOL clearcache;
|
||||
@property (nonatomic, assign) BOOL clearsessioncache;
|
||||
@property (nonatomic, assign) BOOL hidespinner;
|
||||
|
||||
@property (nonatomic, copy) NSString* presentationstyle;
|
||||
@property (nonatomic, copy) NSString* transitionstyle;
|
||||
|
||||
@property (nonatomic, assign) BOOL enableviewportscale;
|
||||
@property (nonatomic, assign) BOOL mediaplaybackrequiresuseraction;
|
||||
@property (nonatomic, assign) BOOL allowinlinemediaplayback;
|
||||
@property (nonatomic, assign) BOOL hidden;
|
||||
@property (nonatomic, assign) BOOL disallowoverscroll;
|
||||
@property (nonatomic, copy) NSString* beforeload;
|
||||
|
||||
+ (CDVInAppBrowserOptions*)parseOptions:(NSString*)options;
|
||||
|
||||
@end
|
|
@ -0,0 +1,90 @@
|
|||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*/
|
||||
|
||||
#import "CDVInAppBrowserOptions.h"
|
||||
|
||||
@implementation CDVInAppBrowserOptions
|
||||
|
||||
- (id)init
|
||||
{
|
||||
if (self = [super init]) {
|
||||
// default values
|
||||
self.location = YES;
|
||||
self.toolbar = YES;
|
||||
self.closebuttoncaption = nil;
|
||||
self.toolbarposition = @"bottom";
|
||||
self.cleardata = NO;
|
||||
self.clearcache = NO;
|
||||
self.clearsessioncache = NO;
|
||||
self.hidespinner = NO;
|
||||
|
||||
self.enableviewportscale = NO;
|
||||
self.mediaplaybackrequiresuseraction = NO;
|
||||
self.allowinlinemediaplayback = NO;
|
||||
self.hidden = NO;
|
||||
self.disallowoverscroll = NO;
|
||||
self.hidenavigationbuttons = NO;
|
||||
self.closebuttoncolor = nil;
|
||||
self.lefttoright = false;
|
||||
self.toolbarcolor = nil;
|
||||
self.toolbartranslucent = YES;
|
||||
self.beforeload = @"";
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
+ (CDVInAppBrowserOptions*)parseOptions:(NSString*)options
|
||||
{
|
||||
CDVInAppBrowserOptions* obj = [[CDVInAppBrowserOptions alloc] init];
|
||||
|
||||
// NOTE: this parsing does not handle quotes within values
|
||||
NSArray* pairs = [options componentsSeparatedByString:@","];
|
||||
|
||||
// parse keys and values, set the properties
|
||||
for (NSString* pair in pairs) {
|
||||
NSArray* keyvalue = [pair componentsSeparatedByString:@"="];
|
||||
|
||||
if ([keyvalue count] == 2) {
|
||||
NSString* key = [[keyvalue objectAtIndex:0] lowercaseString];
|
||||
NSString* value = [keyvalue objectAtIndex:1];
|
||||
NSString* value_lc = [value lowercaseString];
|
||||
|
||||
BOOL isBoolean = [value_lc isEqualToString:@"yes"] || [value_lc isEqualToString:@"no"];
|
||||
NSNumberFormatter* numberFormatter = [[NSNumberFormatter alloc] init];
|
||||
[numberFormatter setAllowsFloats:YES];
|
||||
BOOL isNumber = [numberFormatter numberFromString:value_lc] != nil;
|
||||
|
||||
// set the property according to the key name
|
||||
if ([obj respondsToSelector:NSSelectorFromString(key)]) {
|
||||
if (isNumber) {
|
||||
[obj setValue:[numberFormatter numberFromString:value_lc] forKey:key];
|
||||
} else if (isBoolean) {
|
||||
[obj setValue:[NSNumber numberWithBool:[value_lc isEqualToString:@"yes"]] forKey:key];
|
||||
} else {
|
||||
[obj setValue:value forKey:key];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
@end
|
|
@ -0,0 +1,80 @@
|
|||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*/
|
||||
|
||||
#import <Cordova/CDVPlugin.h>
|
||||
#import <Cordova/CDVInvokedUrlCommand.h>
|
||||
#import <Cordova/CDVScreenOrientationDelegate.h>
|
||||
#import "CDVWKInAppBrowserUIDelegate.h"
|
||||
#import "CDVInAppBrowserOptions.h"
|
||||
#import "CDVInAppBrowserNavigationController.h"
|
||||
|
||||
@class CDVWKInAppBrowserViewController;
|
||||
|
||||
@interface CDVWKInAppBrowser : CDVPlugin {
|
||||
UIWindow * tmpWindow;
|
||||
|
||||
@private
|
||||
NSString* _beforeload;
|
||||
BOOL _waitForBeforeload;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) CDVWKInAppBrowser* instance;
|
||||
@property (nonatomic, retain) CDVWKInAppBrowserViewController* inAppBrowserViewController;
|
||||
@property (nonatomic, copy) NSString* callbackId;
|
||||
@property (nonatomic, copy) NSRegularExpression *callbackIdPattern;
|
||||
|
||||
+ (id) getInstance;
|
||||
- (void)open:(CDVInvokedUrlCommand*)command;
|
||||
- (void)close:(CDVInvokedUrlCommand*)command;
|
||||
- (void)injectScriptCode:(CDVInvokedUrlCommand*)command;
|
||||
- (void)show:(CDVInvokedUrlCommand*)command;
|
||||
- (void)hide:(CDVInvokedUrlCommand*)command;
|
||||
- (void)loadAfterBeforeload:(CDVInvokedUrlCommand*)command;
|
||||
|
||||
@end
|
||||
|
||||
@interface CDVWKInAppBrowserViewController : UIViewController <CDVScreenOrientationDelegate,WKNavigationDelegate,WKUIDelegate,WKScriptMessageHandler,UIAdaptivePresentationControllerDelegate>{
|
||||
@private
|
||||
CDVInAppBrowserOptions *_browserOptions;
|
||||
NSDictionary *_settings;
|
||||
}
|
||||
|
||||
@property (nonatomic, strong) IBOutlet WKWebView* webView;
|
||||
@property (nonatomic, strong) IBOutlet WKWebViewConfiguration* configuration;
|
||||
@property (nonatomic, strong) IBOutlet UIBarButtonItem* closeButton;
|
||||
@property (nonatomic, strong) IBOutlet UILabel* addressLabel;
|
||||
@property (nonatomic, strong) IBOutlet UIBarButtonItem* backButton;
|
||||
@property (nonatomic, strong) IBOutlet UIBarButtonItem* forwardButton;
|
||||
@property (nonatomic, strong) IBOutlet UIActivityIndicatorView* spinner;
|
||||
@property (nonatomic, strong) IBOutlet UIToolbar* toolbar;
|
||||
@property (nonatomic, strong) IBOutlet CDVWKInAppBrowserUIDelegate* webViewUIDelegate;
|
||||
|
||||
@property (nonatomic, weak) id <CDVScreenOrientationDelegate> orientationDelegate;
|
||||
@property (nonatomic, weak) CDVWKInAppBrowser* navigationDelegate;
|
||||
@property (nonatomic) NSURL* currentURL;
|
||||
|
||||
- (void)close;
|
||||
- (void)navigateTo:(NSURL*)url;
|
||||
- (void)showLocationBar:(BOOL)show;
|
||||
- (void)showToolBar:(BOOL)show : (NSString *) toolbarPosition;
|
||||
- (void)setCloseButtonTitle:(NSString*)title : (NSString*) colorString : (int) buttonIndex;
|
||||
|
||||
- (id)initWithBrowserOptions: (CDVInAppBrowserOptions*) browserOptions andSettings:(NSDictionary*) settings;
|
||||
|
||||
@end
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,32 @@
|
|||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*/
|
||||
|
||||
#import <WebKit/WebKit.h>
|
||||
|
||||
@interface CDVWKInAppBrowserUIDelegate : NSObject <WKUIDelegate>{
|
||||
@private
|
||||
UIViewController* _viewController;
|
||||
}
|
||||
|
||||
@property (nonatomic, copy) NSString* title;
|
||||
|
||||
- (instancetype)initWithTitle:(NSString*)title;
|
||||
-(void) setViewController:(UIViewController*) viewController;
|
||||
|
||||
@end
|
|
@ -0,0 +1,127 @@
|
|||
/*
|
||||
Licensed to the Apache Software Foundation (ASF) under one
|
||||
or more contributor license agreements. See the NOTICE file
|
||||
distributed with this work for additional information
|
||||
regarding copyright ownership. The ASF licenses this file
|
||||
to you under the Apache License, Version 2.0 (the
|
||||
"License"); you may not use this file except in compliance
|
||||
with the License. You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing,
|
||||
software distributed under the License is distributed on an
|
||||
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
KIND, either express or implied. See the License for the
|
||||
specific language governing permissions and limitations
|
||||
under the License.
|
||||
*/
|
||||
|
||||
#import "CDVWKInAppBrowserUIDelegate.h"
|
||||
|
||||
@implementation CDVWKInAppBrowserUIDelegate
|
||||
|
||||
- (instancetype)initWithTitle:(NSString*)title
|
||||
{
|
||||
self = [super init];
|
||||
if (self) {
|
||||
self.title = title;
|
||||
}
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) webView:(WKWebView*)webView runJavaScriptAlertPanelWithMessage:(NSString*)message
|
||||
initiatedByFrame:(WKFrameInfo*)frame completionHandler:(void (^)(void))completionHandler
|
||||
{
|
||||
UIAlertController* alert = [UIAlertController alertControllerWithTitle:self.title
|
||||
message:message
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
UIAlertAction* ok = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", @"OK")
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction* action)
|
||||
{
|
||||
completionHandler();
|
||||
[alert dismissViewControllerAnimated:YES completion:nil];
|
||||
}];
|
||||
|
||||
[alert addAction:ok];
|
||||
|
||||
[[self getViewController] presentViewController:alert animated:YES completion:nil];
|
||||
}
|
||||
|
||||
- (void) webView:(WKWebView*)webView runJavaScriptConfirmPanelWithMessage:(NSString*)message
|
||||
initiatedByFrame:(WKFrameInfo*)frame completionHandler:(void (^)(BOOL result))completionHandler
|
||||
{
|
||||
UIAlertController* alert = [UIAlertController alertControllerWithTitle:self.title
|
||||
message:message
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
UIAlertAction* ok = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", @"OK")
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction* action)
|
||||
{
|
||||
completionHandler(YES);
|
||||
[alert dismissViewControllerAnimated:YES completion:nil];
|
||||
}];
|
||||
|
||||
[alert addAction:ok];
|
||||
|
||||
UIAlertAction* cancel = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", @"Cancel")
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction* action)
|
||||
{
|
||||
completionHandler(NO);
|
||||
[alert dismissViewControllerAnimated:YES completion:nil];
|
||||
}];
|
||||
[alert addAction:cancel];
|
||||
|
||||
[[self getViewController] presentViewController:alert animated:YES completion:nil];
|
||||
}
|
||||
|
||||
- (void) webView:(WKWebView*)webView runJavaScriptTextInputPanelWithPrompt:(NSString*)prompt
|
||||
defaultText:(NSString*)defaultText initiatedByFrame:(WKFrameInfo*)frame
|
||||
completionHandler:(void (^)(NSString* result))completionHandler
|
||||
{
|
||||
UIAlertController* alert = [UIAlertController alertControllerWithTitle:self.title
|
||||
message:prompt
|
||||
preferredStyle:UIAlertControllerStyleAlert];
|
||||
|
||||
UIAlertAction* ok = [UIAlertAction actionWithTitle:NSLocalizedString(@"OK", @"OK")
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction* action)
|
||||
{
|
||||
completionHandler(((UITextField*)alert.textFields[0]).text);
|
||||
[alert dismissViewControllerAnimated:YES completion:nil];
|
||||
}];
|
||||
|
||||
[alert addAction:ok];
|
||||
|
||||
UIAlertAction* cancel = [UIAlertAction actionWithTitle:NSLocalizedString(@"Cancel", @"Cancel")
|
||||
style:UIAlertActionStyleDefault
|
||||
handler:^(UIAlertAction* action)
|
||||
{
|
||||
completionHandler(nil);
|
||||
[alert dismissViewControllerAnimated:YES completion:nil];
|
||||
}];
|
||||
[alert addAction:cancel];
|
||||
|
||||
[alert addTextFieldWithConfigurationHandler:^(UITextField* textField) {
|
||||
textField.text = defaultText;
|
||||
}];
|
||||
|
||||
[[self getViewController] presentViewController:alert animated:YES completion:nil];
|
||||
}
|
||||
|
||||
-(UIViewController*) getViewController
|
||||
{
|
||||
return _viewController;
|
||||
}
|
||||
|
||||
-(void) setViewController:(UIViewController*) viewController
|
||||
{
|
||||
_viewController = viewController;
|
||||
}
|
||||
|
||||
@end
|
|
@ -36,13 +36,13 @@
|
|||
:icon="arrowForwardOutline"
|
||||
></ion-icon>
|
||||
</ion-button>
|
||||
<ion-button @click="fakeLogin" color="danger" fill="clear">
|
||||
<!--<ion-button @click="fakeLogin" color="danger" fill="clear">
|
||||
Testes sem login
|
||||
<ion-icon
|
||||
slot="end"
|
||||
:icon="arrowForwardOutline"
|
||||
></ion-icon>
|
||||
</ion-button>
|
||||
</ion-button>-->
|
||||
</form>
|
||||
</ion-col>
|
||||
</ion-row>
|
||||
|
|
|
@ -218,17 +218,18 @@ const useTainacanStore = defineStore("tainacan", {
|
|||
} : {});
|
||||
|
||||
if (response.data && response.data.id) {
|
||||
const existingItemIndex = this.items.indexOf((anItem: any) => anItem.id == response.data.id);
|
||||
|
||||
const existingItemIndex = this.items.findIndex((anItem: any) => anItem.id == response.data.id);
|
||||
if (existingItemIndex >= 0)
|
||||
this.items.splice(existingItemIndex, 1);
|
||||
|
||||
const existingHomeItemIndex = this.homeItems.indexOf((anItem: any) => anItem.id == response.data.id);
|
||||
const existingHomeItemIndex = this.homeItems.findIndex((anItem: any) => anItem.id == response.data.id);
|
||||
if (existingHomeItemIndex >= 0)
|
||||
this.items.splice(existingHomeItemIndex, 1);
|
||||
this.homeItems.splice(existingHomeItemIndex, 1);
|
||||
|
||||
const existingCollectionItemIndex = this.collectionItems.indexOf((anItem: any) => anItem.id == response.data.id);
|
||||
const existingCollectionItemIndex = this.collectionItems.findIndex((anItem: any) => anItem.id == response.data.id);
|
||||
if (existingCollectionItemIndex >= 0)
|
||||
this.items.splice(existingCollectionItemIndex, 1);
|
||||
this.collectionItems.splice(existingCollectionItemIndex, 1);
|
||||
}
|
||||
|
||||
} catch (err) {
|
||||
|
|
Loading…
Reference in New Issue