From ee60d9ddccfb21d3918b60f75a89dd5da88a270c Mon Sep 17 00:00:00 2001 From: Murderlon Date: Mon, 20 Jan 2025 08:01:22 +0000 Subject: [PATCH] deploy: 3e6f6a2e1c40829ccc1fd73cb1be4fc3def5f3d1 --- 404.html | 2 +- assets/js/{2057.2c9244ad.js => 2057.b72324d8.js} | 2 +- assets/js/{250.5598eda3.js => 250.5220c303.js} | 4 ++-- ...50.5598eda3.js.LICENSE.txt => 250.5220c303.js.LICENSE.txt} | 0 .../js/{runtime~main.234ebd5e.js => runtime~main.84c92077.js} | 2 +- blog/2016/07/uppy-begins/index.html | 2 +- blog/2016/08/0.8.0/index.html | 2 +- blog/2016/08/0.9.0/index.html | 2 +- blog/2016/09/0.10/index.html | 2 +- blog/2016/11/0.11/index.html | 2 +- blog/2016/12/0.12/index.html | 2 +- blog/2017/02/0.14/index.html | 2 +- blog/2017/03/0.15/index.html | 2 +- blog/2017/05/0.16/index.html | 2 +- blog/2017/05/0.17/index.html | 2 +- blog/2017/07/golden-retriever/index.html | 2 +- blog/2017/08/0.18/index.html | 2 +- blog/2017/09/0.19/index.html | 2 +- blog/2017/10/0.20/index.html | 2 +- blog/2017/10/0.21/index.html | 2 +- blog/2017/12/0.22/index.html | 2 +- blog/2018/02/0.23/index.html | 2 +- blog/2018/04/0.24/index.html | 2 +- blog/2018/06/0.25/index.html | 2 +- blog/2018/07/0.26/index.html | 2 +- blog/2018/08/0.27/index.html | 2 +- blog/2018/10/0.28/index.html | 2 +- blog/2018/12/0.29/index.html | 2 +- blog/2019/03/0.30/index.html | 2 +- blog/2019/03/liftoff-01/index.html | 2 +- blog/2019/03/liftoff-02/index.html | 2 +- blog/2019/03/liftoff-03/index.html | 2 +- blog/2019/03/liftoff-04/index.html | 2 +- blog/2019/03/liftoff-05/index.html | 2 +- blog/2019/03/liftoff-06/index.html | 2 +- blog/2019/04/1.0/index.html | 2 +- blog/2019/04/liftoff-07/index.html | 2 +- blog/2019/04/liftoff-08/index.html | 2 +- blog/2019/04/liftoff-09/index.html | 2 +- blog/2019/04/liftoff-10/index.html | 2 +- blog/2019/04/liftoff-11/index.html | 2 +- blog/2019/04/liftoff-12/index.html | 2 +- blog/2019/04/liftoff-13/index.html | 2 +- blog/2019/04/liftoff-14/index.html | 2 +- blog/2019/04/liftoff-15/index.html | 2 +- blog/2019/04/liftoff-16/index.html | 2 +- blog/2019/04/liftoff-17/index.html | 2 +- blog/2019/04/liftoff-18/index.html | 2 +- blog/2019/04/liftoff-19/index.html | 2 +- blog/2019/04/liftoff-20/index.html | 2 +- blog/2019/04/liftoff-21/index.html | 2 +- blog/2019/04/liftoff-22/index.html | 2 +- blog/2019/04/liftoff-23/index.html | 2 +- blog/2019/04/liftoff-24/index.html | 2 +- blog/2019/04/liftoff-25/index.html | 2 +- blog/2019/04/liftoff-26/index.html | 2 +- blog/2019/04/liftoff-27/index.html | 2 +- blog/2019/04/liftoff-28/index.html | 2 +- blog/2019/04/liftoff-29/index.html | 2 +- blog/2019/04/liftoff-30/index.html | 2 +- blog/2019/08/1.3/index.html | 2 +- blog/2019/10/1.5/index.html | 2 +- blog/2019/11/1.6/index.html | 2 +- blog/2019/12/1.7/index.html | 2 +- blog/2020/03/1.9/index.html | 2 +- blog/2020/03/custom-providers/index.html | 2 +- blog/2020/04/1.10/index.html | 2 +- blog/2020/04/1.13/index.html | 2 +- blog/2020/07/1.18-image-editor/index.html | 2 +- blog/2020/09/companion-2.0/index.html | 2 +- blog/2020/10/1.22/index.html | 2 +- blog/2020/11/1.23/index.html | 2 +- blog/2020/12/1.24/index.html | 2 +- blog/2021/01/1.25/index.html | 2 +- blog/2021/02/1.26/index.html | 2 +- blog/2021/04/1.27/index.html | 2 +- blog/2021/05/1.29/index.html | 2 +- blog/2021/07/1.30/index.html | 2 +- blog/2021/08/2.0/index.html | 2 +- blog/2021/12/2.1-2.3/index.html | 2 +- blog/2022/03/2.4-2.7/index.html | 2 +- blog/2022/09/3.0/index.html | 2 +- blog/2022/12/3.3/index.html | 2 +- blog/2023-05-new-website/index.html | 2 +- blog/2023-10-25-image-editor/index.html | 2 +- blog/2023/07/3.13-3.21/index.html | 2 +- blog/2023/07/3.3-3.13/index.html | 2 +- blog/archive/index.html | 2 +- blog/index.html | 2 +- blog/page/2/index.html | 2 +- blog/page/3/index.html | 2 +- blog/page/4/index.html | 2 +- blog/page/5/index.html | 2 +- blog/page/6/index.html | 2 +- blog/page/7/index.html | 2 +- blog/page/8/index.html | 2 +- blog/page/9/index.html | 2 +- blog/uppy-4.0/index.html | 2 +- docs/angular/index.html | 2 +- docs/audio/index.html | 4 ++-- docs/aws-s3/index.html | 4 ++-- docs/box/index.html | 4 ++-- docs/companion/index.html | 2 +- docs/compressor/index.html | 4 ++-- docs/dashboard/index.html | 4 ++-- docs/drag-drop/index.html | 4 ++-- docs/drop-target/index.html | 4 ++-- docs/dropbox/index.html | 4 ++-- docs/facebook/index.html | 4 ++-- docs/file-input/index.html | 4 ++-- docs/form/index.html | 4 ++-- docs/golden-retriever/index.html | 4 ++-- docs/google-drive-picker/index.html | 4 ++-- docs/google-drive/index.html | 4 ++-- docs/google-photos-picker/index.html | 4 ++-- docs/google-photos/index.html | 4 ++-- docs/guides/browser-support/index.html | 2 +- docs/guides/building-plugins/index.html | 2 +- docs/guides/building-your-own-ui-with-uppy/index.html | 2 +- docs/guides/choosing-uploader/index.html | 2 +- docs/guides/custom-stores/index.html | 2 +- docs/guides/migration-guides/index.html | 2 +- docs/image-editor/index.html | 4 ++-- docs/index.html | 2 +- docs/informer/index.html | 4 ++-- docs/instagram/index.html | 4 ++-- docs/locales/index.html | 2 +- docs/nextjs/index.html | 2 +- docs/onedrive/index.html | 4 ++-- docs/progress-bar/index.html | 4 ++-- docs/quick-start/index.html | 2 +- docs/react/index.html | 2 +- docs/reactrouter/index.html | 2 +- docs/remote-sources/index.html | 4 ++-- docs/screen-capture/index.html | 4 ++-- docs/status-bar/index.html | 4 ++-- docs/svelte/index.html | 2 +- docs/sveltekit/index.html | 2 +- docs/thumbnail-generator/index.html | 4 ++-- docs/transloadit/index.html | 4 ++-- docs/tus/index.html | 4 ++-- docs/unsplash/index.html | 4 ++-- docs/uppy/index.html | 4 ++-- docs/url/index.html | 4 ++-- docs/vue/index.html | 2 +- docs/webcam/index.html | 4 ++-- docs/webdav/index.html | 4 ++-- docs/xhr-upload/index.html | 4 ++-- docs/zoom/index.html | 4 ++-- examples/index.html | 2 +- index.html | 2 +- privacy-policy/index.html | 2 +- search/index.html | 2 +- 153 files changed, 187 insertions(+), 187 deletions(-) rename assets/js/{2057.2c9244ad.js => 2057.b72324d8.js} (99%) rename assets/js/{250.5598eda3.js => 250.5220c303.js} (99%) rename assets/js/{250.5598eda3.js.LICENSE.txt => 250.5220c303.js.LICENSE.txt} (100%) rename assets/js/{runtime~main.234ebd5e.js => runtime~main.84c92077.js} (99%) diff --git a/404.html b/404.html index 27302b9ba..20088923c 100644 --- a/404.html +++ b/404.html @@ -13,7 +13,7 @@ - + diff --git a/assets/js/2057.2c9244ad.js b/assets/js/2057.b72324d8.js similarity index 99% rename from assets/js/2057.2c9244ad.js rename to assets/js/2057.b72324d8.js index f9ab1037d..929a562bc 100644 --- a/assets/js/2057.2c9244ad.js +++ b/assets/js/2057.b72324d8.js @@ -1 +1 @@ -"use strict";(self.webpackChunkuppy_io=self.webpackChunkuppy_io||[]).push([[2057],{27293:(e,n,t)=>{t.d(n,{A:()=>k});var r=t(96540),a=t(74848);function i(e){const{mdxAdmonitionTitle:n,rest:t}=function(e){const n=r.Children.toArray(e),t=n.find((e=>r.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),i=n.filter((e=>e!==t)),o=t?.props.children;return{mdxAdmonitionTitle:o,rest:i.length>0?(0,a.jsx)(a.Fragment,{children:i}):null}}(e.children),i=e.title??n;return{...e,...i&&{title:i},children:t}}var o=t(18215),l=t(21312),s=t(17559);const c={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};function u(e){let{type:n,className:t,children:r}=e;return(0,a.jsx)("div",{className:(0,o.A)(s.G.common.admonition,s.G.common.admonitionType(n),c.admonition,t),children:r})}function d(e){let{icon:n,title:t}=e;return(0,a.jsxs)("div",{className:c.admonitionHeading,children:[(0,a.jsx)("span",{className:c.admonitionIcon,children:n}),t]})}function m(e){let{children:n}=e;return n?(0,a.jsx)("div",{className:c.admonitionContent,children:n}):null}function h(e){const{type:n,icon:t,title:r,children:i,className:o}=e;return(0,a.jsxs)(u,{type:n,className:o,children:[r||t?(0,a.jsx)(d,{title:r,icon:t}):null,(0,a.jsx)(m,{children:i})]})}function f(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const p={icon:(0,a.jsx)(f,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function v(e){return(0,a.jsx)(h,{...p,...e,className:(0,o.A)("alert alert--secondary",e.className),children:e.children})}function b(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const x={icon:(0,a.jsx)(b,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function g(e){return(0,a.jsx)(h,{...x,...e,className:(0,o.A)("alert alert--success",e.className),children:e.children})}function j(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const y={icon:(0,a.jsx)(j,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function w(e){return(0,a.jsx)(h,{...y,...e,className:(0,o.A)("alert alert--info",e.className),children:e.children})}function A(e){return(0,a.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const N={icon:(0,a.jsx)(A,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function T(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const I={icon:(0,a.jsx)(T,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const V={icon:(0,a.jsx)(A,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const C={...{note:v,tip:g,info:w,warning:function(e){return(0,a.jsx)(h,{...N,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,a.jsx)(h,{...I,...e,className:(0,o.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,a.jsx)(v,{title:"secondary",...e}),important:e=>(0,a.jsx)(w,{title:"important",...e}),success:e=>(0,a.jsx)(g,{title:"success",...e}),caution:function(e){return(0,a.jsx)(h,{...V,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})}}};function k(e){const n=i(e),t=(r=n.type,C[r]||(console.warn(`No admonition component found for admonition type "${r}". Using Info as fallback.`),C.info));var r;return(0,a.jsx)(t,{...n})}},19365:(e,n,t)=>{t.d(n,{A:()=>o});t(96540);var r=t(18215);const a={tabItem:"tabItem_Ymn6"};var i=t(74848);function o(e){let{children:n,hidden:t,className:o}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,r.A)(a.tabItem,o),hidden:t,children:n})}},11470:(e,n,t)=>{t.d(n,{A:()=>w});var r=t(96540),a=t(18215),i=t(23104),o=t(56347),l=t(205),s=t(57485),c=t(31682),u=t(70679);function d(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function m(e){const{values:n,children:t}=e;return(0,r.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:t,attributes:r,default:a}}=e;return{value:n,label:t,attributes:r,default:a}}))}(t);return function(e){const n=(0,c.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function h(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function f(e){let{queryString:n=!1,groupId:t}=e;const a=(0,o.W6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,s.aZ)(i),(0,r.useCallback)((e=>{if(!i)return;const n=new URLSearchParams(a.location.search);n.set(i,e),a.replace({...a.location,search:n.toString()})}),[i,a])]}function p(e){const{defaultValue:n,queryString:t=!1,groupId:a}=e,i=m(e),[o,s]=(0,r.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!h({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const r=t.find((e=>e.default))??t[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:i}))),[c,d]=f({queryString:t,groupId:a}),[p,v]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[a,i]=(0,u.Dv)(t);return[a,(0,r.useCallback)((e=>{t&&i.set(e)}),[t,i])]}({groupId:a}),b=(()=>{const e=c??p;return h({value:e,tabValues:i})?e:null})();(0,l.A)((()=>{b&&s(b)}),[b]);return{selectedValue:o,selectValue:(0,r.useCallback)((e=>{if(!h({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);s(e),d(e),v(e)}),[d,v,i]),tabValues:i}}var v=t(92303);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=t(74848);function g(e){let{className:n,block:t,selectedValue:r,selectValue:o,tabValues:l}=e;const s=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),u=e=>{const n=e.currentTarget,t=s.indexOf(n),a=l[t].value;a!==r&&(c(n),o(a))},d=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const t=s.indexOf(e.currentTarget)+1;n=s[t]??s[0];break}case"ArrowLeft":{const t=s.indexOf(e.currentTarget)-1;n=s[t]??s[s.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.A)("tabs",{"tabs--block":t},n),children:l.map((e=>{let{value:n,label:t,attributes:i}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:r===n?0:-1,"aria-selected":r===n,ref:e=>s.push(e),onKeyDown:d,onClick:u,...i,className:(0,a.A)("tabs__item",b.tabItem,i?.className,{"tabs__item--active":r===n}),children:t??n},n)}))})}function j(e){let{lazy:n,children:t,selectedValue:a}=e;const i=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=i.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:i.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==a})))})}function y(e){const n=p(e);return(0,x.jsxs)("div",{className:(0,a.A)("tabs-container",b.tabList),children:[(0,x.jsx)(g,{...n,...e}),(0,x.jsx)(j,{...n,...e})]})}function w(e){const n=(0,v.A)();return(0,x.jsx)(y,{...e,children:d(e.children)},String(n))}},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var r=t(96540);const a={},i=r.createContext(a);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),r.createElement(i.Provider,{value:n},e.children)}},4476:e=>{e.exports={rE:"4.12.2"}}}]); \ No newline at end of file +"use strict";(self.webpackChunkuppy_io=self.webpackChunkuppy_io||[]).push([[2057],{27293:(e,n,t)=>{t.d(n,{A:()=>k});var r=t(96540),a=t(74848);function i(e){const{mdxAdmonitionTitle:n,rest:t}=function(e){const n=r.Children.toArray(e),t=n.find((e=>r.isValidElement(e)&&"mdxAdmonitionTitle"===e.type)),i=n.filter((e=>e!==t)),o=t?.props.children;return{mdxAdmonitionTitle:o,rest:i.length>0?(0,a.jsx)(a.Fragment,{children:i}):null}}(e.children),i=e.title??n;return{...e,...i&&{title:i},children:t}}var o=t(18215),l=t(21312),s=t(17559);const c={admonition:"admonition_xJq3",admonitionHeading:"admonitionHeading_Gvgb",admonitionIcon:"admonitionIcon_Rf37",admonitionContent:"admonitionContent_BuS1"};function u(e){let{type:n,className:t,children:r}=e;return(0,a.jsx)("div",{className:(0,o.A)(s.G.common.admonition,s.G.common.admonitionType(n),c.admonition,t),children:r})}function d(e){let{icon:n,title:t}=e;return(0,a.jsxs)("div",{className:c.admonitionHeading,children:[(0,a.jsx)("span",{className:c.admonitionIcon,children:n}),t]})}function m(e){let{children:n}=e;return n?(0,a.jsx)("div",{className:c.admonitionContent,children:n}):null}function h(e){const{type:n,icon:t,title:r,children:i,className:o}=e;return(0,a.jsxs)(u,{type:n,className:o,children:[r||t?(0,a.jsx)(d,{title:r,icon:t}):null,(0,a.jsx)(m,{children:i})]})}function f(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"})})}const p={icon:(0,a.jsx)(f,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)",children:"note"})};function v(e){return(0,a.jsx)(h,{...p,...e,className:(0,o.A)("alert alert--secondary",e.className),children:e.children})}function b(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"})})}const x={icon:(0,a.jsx)(b,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)",children:"tip"})};function g(e){return(0,a.jsx)(h,{...x,...e,className:(0,o.A)("alert alert--success",e.className),children:e.children})}function j(e){return(0,a.jsx)("svg",{viewBox:"0 0 14 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"})})}const y={icon:(0,a.jsx)(j,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)",children:"info"})};function w(e){return(0,a.jsx)(h,{...y,...e,className:(0,o.A)("alert alert--info",e.className),children:e.children})}function A(e){return(0,a.jsx)("svg",{viewBox:"0 0 16 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"})})}const N={icon:(0,a.jsx)(A,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.warning",description:"The default label used for the Warning admonition (:::warning)",children:"warning"})};function T(e){return(0,a.jsx)("svg",{viewBox:"0 0 12 16",...e,children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"})})}const I={icon:(0,a.jsx)(T,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)",children:"danger"})};const V={icon:(0,a.jsx)(A,{}),title:(0,a.jsx)(l.A,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)",children:"caution"})};const C={...{note:v,tip:g,info:w,warning:function(e){return(0,a.jsx)(h,{...N,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})},danger:function(e){return(0,a.jsx)(h,{...I,...e,className:(0,o.A)("alert alert--danger",e.className),children:e.children})}},...{secondary:e=>(0,a.jsx)(v,{title:"secondary",...e}),important:e=>(0,a.jsx)(w,{title:"important",...e}),success:e=>(0,a.jsx)(g,{title:"success",...e}),caution:function(e){return(0,a.jsx)(h,{...V,...e,className:(0,o.A)("alert alert--warning",e.className),children:e.children})}}};function k(e){const n=i(e),t=(r=n.type,C[r]||(console.warn(`No admonition component found for admonition type "${r}". Using Info as fallback.`),C.info));var r;return(0,a.jsx)(t,{...n})}},19365:(e,n,t)=>{t.d(n,{A:()=>o});t(96540);var r=t(18215);const a={tabItem:"tabItem_Ymn6"};var i=t(74848);function o(e){let{children:n,hidden:t,className:o}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,r.A)(a.tabItem,o),hidden:t,children:n})}},11470:(e,n,t)=>{t.d(n,{A:()=>w});var r=t(96540),a=t(18215),i=t(23104),o=t(56347),l=t(205),s=t(57485),c=t(31682),u=t(70679);function d(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function m(e){const{values:n,children:t}=e;return(0,r.useMemo)((()=>{const e=n??function(e){return d(e).map((e=>{let{props:{value:n,label:t,attributes:r,default:a}}=e;return{value:n,label:t,attributes:r,default:a}}))}(t);return function(e){const n=(0,c.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function h(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function f(e){let{queryString:n=!1,groupId:t}=e;const a=(0,o.W6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,s.aZ)(i),(0,r.useCallback)((e=>{if(!i)return;const n=new URLSearchParams(a.location.search);n.set(i,e),a.replace({...a.location,search:n.toString()})}),[i,a])]}function p(e){const{defaultValue:n,queryString:t=!1,groupId:a}=e,i=m(e),[o,s]=(0,r.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!h({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const r=t.find((e=>e.default))??t[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:n,tabValues:i}))),[c,d]=f({queryString:t,groupId:a}),[p,v]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[a,i]=(0,u.Dv)(t);return[a,(0,r.useCallback)((e=>{t&&i.set(e)}),[t,i])]}({groupId:a}),b=(()=>{const e=c??p;return h({value:e,tabValues:i})?e:null})();(0,l.A)((()=>{b&&s(b)}),[b]);return{selectedValue:o,selectValue:(0,r.useCallback)((e=>{if(!h({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);s(e),d(e),v(e)}),[d,v,i]),tabValues:i}}var v=t(92303);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=t(74848);function g(e){let{className:n,block:t,selectedValue:r,selectValue:o,tabValues:l}=e;const s=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.a_)(),u=e=>{const n=e.currentTarget,t=s.indexOf(n),a=l[t].value;a!==r&&(c(n),o(a))},d=e=>{let n=null;switch(e.key){case"Enter":u(e);break;case"ArrowRight":{const t=s.indexOf(e.currentTarget)+1;n=s[t]??s[0];break}case"ArrowLeft":{const t=s.indexOf(e.currentTarget)-1;n=s[t]??s[s.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.A)("tabs",{"tabs--block":t},n),children:l.map((e=>{let{value:n,label:t,attributes:i}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:r===n?0:-1,"aria-selected":r===n,ref:e=>s.push(e),onKeyDown:d,onClick:u,...i,className:(0,a.A)("tabs__item",b.tabItem,i?.className,{"tabs__item--active":r===n}),children:t??n},n)}))})}function j(e){let{lazy:n,children:t,selectedValue:a}=e;const i=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=i.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:i.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==a})))})}function y(e){const n=p(e);return(0,x.jsxs)("div",{className:(0,a.A)("tabs-container",b.tabList),children:[(0,x.jsx)(g,{...n,...e}),(0,x.jsx)(j,{...n,...e})]})}function w(e){const n=(0,v.A)();return(0,x.jsx)(y,{...e,children:d(e.children)},String(n))}},28453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>l});var r=t(96540);const a={},i=r.createContext(a);function o(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),r.createElement(i.Provider,{value:n},e.children)}},4476:e=>{e.exports={rE:"4.13.0"}}}]); \ No newline at end of file diff --git a/assets/js/250.5598eda3.js b/assets/js/250.5220c303.js similarity index 99% rename from assets/js/250.5598eda3.js rename to assets/js/250.5220c303.js index a359ebed3..8ba6da3e3 100644 --- a/assets/js/250.5598eda3.js +++ b/assets/js/250.5220c303.js @@ -1,2 +1,2 @@ -/*! For license information please see 250.5598eda3.js.LICENSE.txt */ -(self.webpackChunkuppy_io=self.webpackChunkuppy_io||[]).push([[250],{78505:e=>{"use strict";e.exports=function(e){if("number"!=typeof e||Number.isNaN(e))throw new TypeError("Expected a number, got "+typeof e);const t=e<0,i=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];if(t&&(e=-e),e<1)return(t?"-":"")+e+" B";const r=Math.min(Math.floor(Math.log(e)/Math.log(1024)),i.length-1);e=Number(e/1024**r);const n=i[r];return e>=10||e%1==0?`${(t?"-":"")+e.toFixed(0)} ${n}`:`${(t?"-":"")+e.toFixed(1)} ${n}`}},78478:(e,t,i)=>{"use strict";i.d(t,{A:()=>o});i(96540);var r=i(92303),n=i(74848);function o(e){let{children:t,fallback:i}=e;return(0,r.A)()?(0,n.jsx)(n.Fragment,{children:t?.()}):i??null}},65643:function(e){e.exports=function(){"use strict";function e(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function t(t){for(var i=1;ie.length)&&(t=e.length);for(var i=0,r=new Array(t);i
',fe=Number.isNaN||g.isNaN;function me(e){return"number"==typeof e&&!fe(e)}var ge=function(e){return e>0&&e<1/0};function ye(e){return void 0===e}function ve(e){return"object"===n(e)&&null!==e}var be=Object.prototype.hasOwnProperty;function we(e){if(!ve(e))return!1;try{var t=e.constructor,i=t.prototype;return t&&i&&be.call(i,"isPrototypeOf")}catch(r){return!1}}function Se(e){return"function"==typeof e}var Pe=Array.prototype.slice;function _e(e){return Array.from?Array.from(e):Pe.call(e)}function Ce(e,t){return e&&Se(t)&&(Array.isArray(e)||me(e.length)?_e(e).forEach((function(i,r){t.call(e,i,r,e)})):ve(e)&&Object.keys(e).forEach((function(i){t.call(e,e[i],i,e)}))),e}var ke=Object.assign||function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r0&&i.forEach((function(t){ve(t)&&Object.keys(t).forEach((function(i){e[i]=t[i]}))})),e},Fe=/\.\d*(?:0|9){12}\d*$/;function xe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return Fe.test(e)?Math.round(e*t)/t:e}var Te=/^width|height|left|top|marginLeft|marginTop$/;function Ae(e,t){var i=e.style;Ce(t,(function(e,t){Te.test(t)&&me(e)&&(e="".concat(e,"px")),i[t]=e}))}function Ee(e,t){return e.classList?e.classList.contains(t):e.className.indexOf(t)>-1}function Oe(e,t){if(t)if(me(e.length))Ce(e,(function(e){Oe(e,t)}));else if(e.classList)e.classList.add(t);else{var i=e.className.trim();i?i.indexOf(t)<0&&(e.className="".concat(i," ").concat(t)):e.className=t}}function Ie(e,t){t&&(me(e.length)?Ce(e,(function(e){Ie(e,t)})):e.classList?e.classList.remove(t):e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,"")))}function Re(e,t,i){t&&(me(e.length)?Ce(e,(function(e){Re(e,t,i)})):i?Oe(e,t):Ie(e,t))}var De=/([a-z\d])([A-Z])/g;function Ue(e){return e.replace(De,"$1-$2").toLowerCase()}function Ne(e,t){return ve(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute("data-".concat(Ue(t)))}function Me(e,t,i){ve(i)?e[t]=i:e.dataset?e.dataset[t]=i:e.setAttribute("data-".concat(Ue(t)),i)}function Le(e,t){if(ve(e[t]))try{delete e[t]}catch(i){e[t]=void 0}else if(e.dataset)try{delete e.dataset[t]}catch(i){e.dataset[t]=void 0}else e.removeAttribute("data-".concat(Ue(t)))}var Be=/\s\s*/,ze=function(){var e=!1;if(m){var t=!1,i=function(){},r=Object.defineProperty({},"once",{get:function(){return e=!0,t},set:function(e){t=e}});g.addEventListener("test",i,r),g.removeEventListener("test",i,r)}return e}();function je(e,t,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=i;t.trim().split(Be).forEach((function(t){if(!ze){var o=e.listeners;o&&o[t]&&o[t][i]&&(n=o[t][i],delete o[t][i],0===Object.keys(o[t]).length&&delete o[t],0===Object.keys(o).length&&delete e.listeners)}e.removeEventListener(t,n,r)}))}function He(e,t,i){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},n=i;t.trim().split(Be).forEach((function(t){if(r.once&&!ze){var o=e.listeners,s=void 0===o?{}:o;n=function(){delete s[t][i],e.removeEventListener(t,n,r);for(var o=arguments.length,a=new Array(o),l=0;lMath.abs(r)&&(r=l)}))})),r}function Je(e,i){var r=e.pageX,n=e.pageY,o={endX:r,endY:n};return i?o:t({startX:r,startY:n},o)}function Qe(e){var t=0,i=0,r=0;return Ce(e,(function(e){var n=e.startX,o=e.startY;t+=n,i+=o,r+=1})),{pageX:t/=r,pageY:i/=r}}function Ze(e){var t=e.aspectRatio,i=e.height,r=e.width,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"contain",o=ge(r),s=ge(i);if(o&&s){var a=i*t;"contain"===n&&a>r||"cover"===n&&a90?{width:l,height:a}:{width:a,height:l}}function tt(e,t,i,r){var n=t.aspectRatio,o=t.naturalWidth,s=t.naturalHeight,a=t.rotate,l=void 0===a?0:a,h=t.scaleX,c=void 0===h?1:h,p=t.scaleY,d=void 0===p?1:p,f=i.aspectRatio,m=i.naturalWidth,g=i.naturalHeight,y=r.fillColor,v=void 0===y?"transparent":y,b=r.imageSmoothingEnabled,w=void 0===b||b,S=r.imageSmoothingQuality,P=void 0===S?"low":S,_=r.maxWidth,C=void 0===_?1/0:_,k=r.maxHeight,F=void 0===k?1/0:k,x=r.minWidth,T=void 0===x?0:x,A=r.minHeight,E=void 0===A?0:A,O=document.createElement("canvas"),I=O.getContext("2d"),R=Ze({aspectRatio:f,width:C,height:F}),D=Ze({aspectRatio:f,width:T,height:E},"cover"),U=Math.min(R.width,Math.max(D.width,m)),N=Math.min(R.height,Math.max(D.height,g)),M=Ze({aspectRatio:n,width:C,height:F}),L=Ze({aspectRatio:n,width:T,height:E},"cover"),B=Math.min(M.width,Math.max(L.width,o)),z=Math.min(M.height,Math.max(L.height,s)),j=[-B/2,-z/2,B,z];return O.width=xe(U),O.height=xe(N),I.fillStyle=v,I.fillRect(0,0,U,N),I.save(),I.translate(U/2,N/2),I.rotate(l*Math.PI/180),I.scale(c,d),I.imageSmoothingEnabled=w,I.imageSmoothingQuality=P,I.drawImage.apply(I,[e].concat(u(j.map((function(e){return Math.floor(xe(e))}))))),I.restore(),O}var it=String.fromCharCode;function rt(e,t,i){var r="";i+=t;for(var n=t;n0;)i.push(it.apply(null,_e(n.subarray(0,r)))),n=n.subarray(r);return"data:".concat(t,";base64,").concat(btoa(i.join("")))}function at(e){var t,i=new DataView(e);try{var r,n,o;if(255===i.getUint8(0)&&216===i.getUint8(1))for(var s=i.byteLength,a=2;a+1=8&&(o=l+h)}}}if(o){var c,p,d=i.getUint16(o,r);for(p=0;p=0?n:he),height:Math.max(i.offsetHeight,o>=0?o:ce)};this.containerData=s,Ae(r,{width:s.width,height:s.height}),Oe(e,D),Ie(r,D)},initCanvas:function(){var e=this.containerData,t=this.imageData,i=this.options.viewMode,r=Math.abs(t.rotate)%180==90,n=r?t.naturalHeight:t.naturalWidth,o=r?t.naturalWidth:t.naturalHeight,s=n/o,a=e.width,l=e.height;e.height*s>e.width?3===i?a=e.height*s:l=e.width/s:3===i?l=e.width/s:a=e.height*s;var u={aspectRatio:s,naturalWidth:n,naturalHeight:o,width:a,height:l};this.canvasData=u,this.limited=1===i||2===i,this.limitCanvas(!0,!0),u.width=Math.min(Math.max(u.width,u.minWidth),u.maxWidth),u.height=Math.min(Math.max(u.height,u.minHeight),u.maxHeight),u.left=(e.width-u.width)/2,u.top=(e.height-u.height)/2,u.oldLeft=u.left,u.oldTop=u.top,this.initialCanvasData=ke({},u)},limitCanvas:function(e,t){var i=this.options,r=this.containerData,n=this.canvasData,o=this.cropBoxData,s=i.viewMode,a=n.aspectRatio,l=this.cropped&&o;if(e){var u=Number(i.minCanvasWidth)||0,h=Number(i.minCanvasHeight)||0;s>1?(u=Math.max(u,r.width),h=Math.max(h,r.height),3===s&&(h*a>u?u=h*a:h=u/a)):s>0&&(u?u=Math.max(u,l?o.width:0):h?h=Math.max(h,l?o.height:0):l&&(u=o.width,(h=o.height)*a>u?u=h*a:h=u/a));var c=Ze({aspectRatio:a,width:u,height:h});u=c.width,h=c.height,n.minWidth=u,n.minHeight=h,n.maxWidth=1/0,n.maxHeight=1/0}if(t)if(s>(l?0:1)){var p=r.width-n.width,d=r.height-n.height;n.minLeft=Math.min(0,p),n.minTop=Math.min(0,d),n.maxLeft=Math.max(0,p),n.maxTop=Math.max(0,d),l&&this.limited&&(n.minLeft=Math.min(o.left,o.left+(o.width-n.width)),n.minTop=Math.min(o.top,o.top+(o.height-n.height)),n.maxLeft=o.left,n.maxTop=o.top,2===s&&(n.width>=r.width&&(n.minLeft=Math.min(0,p),n.maxLeft=Math.max(0,p)),n.height>=r.height&&(n.minTop=Math.min(0,d),n.maxTop=Math.max(0,d))))}else n.minLeft=-n.width,n.minTop=-n.height,n.maxLeft=r.width,n.maxTop=r.height},renderCanvas:function(e,t){var i=this.canvasData,r=this.imageData;if(t){var n=et({width:r.naturalWidth*Math.abs(r.scaleX||1),height:r.naturalHeight*Math.abs(r.scaleY||1),degree:r.rotate||0}),o=n.width,s=n.height,a=i.width*(o/i.naturalWidth),l=i.height*(s/i.naturalHeight);i.left-=(a-i.width)/2,i.top-=(l-i.height)/2,i.width=a,i.height=l,i.aspectRatio=o/s,i.naturalWidth=o,i.naturalHeight=s,this.limitCanvas(!0,!1)}(i.width>i.maxWidth||i.widthi.maxHeight||i.heightt.width?n.height=n.width/i:n.width=n.height*i),this.cropBoxData=n,this.limitCropBox(!0,!0),n.width=Math.min(Math.max(n.width,n.minWidth),n.maxWidth),n.height=Math.min(Math.max(n.height,n.minHeight),n.maxHeight),n.width=Math.max(n.minWidth,n.width*r),n.height=Math.max(n.minHeight,n.height*r),n.left=t.left+(t.width-n.width)/2,n.top=t.top+(t.height-n.height)/2,n.oldLeft=n.left,n.oldTop=n.top,this.initialCropBoxData=ke({},n)},limitCropBox:function(e,t){var i=this.options,r=this.containerData,n=this.canvasData,o=this.cropBoxData,s=this.limited,a=i.aspectRatio;if(e){var l=Number(i.minCropBoxWidth)||0,u=Number(i.minCropBoxHeight)||0,h=s?Math.min(r.width,n.width,n.width+n.left,r.width-n.left):r.width,c=s?Math.min(r.height,n.height,n.height+n.top,r.height-n.top):r.height;l=Math.min(l,r.width),u=Math.min(u,r.height),a&&(l&&u?u*a>l?u=l/a:l=u*a:l?u=l/a:u&&(l=u*a),c*a>h?c=h/a:h=c*a),o.minWidth=Math.min(l,h),o.minHeight=Math.min(u,c),o.maxWidth=h,o.maxHeight=c}t&&(s?(o.minLeft=Math.max(0,n.left),o.minTop=Math.max(0,n.top),o.maxLeft=Math.min(r.width,n.left+n.width)-o.width,o.maxTop=Math.min(r.height,n.top+n.height)-o.height):(o.minLeft=0,o.minTop=0,o.maxLeft=r.width-o.width,o.maxTop=r.height-o.height))},renderCropBox:function(){var e=this.options,t=this.containerData,i=this.cropBoxData;(i.width>i.maxWidth||i.widthi.maxHeight||i.height=t.width&&i.height>=t.height?P:w),Ae(this.cropBox,ke({width:i.width,height:i.height},Xe({translateX:i.left,translateY:i.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),qe(this.element,$,this.getData())}},ht={initPreview:function(){var e=this.element,t=this.crossOrigin,i=this.options.preview,r=t?this.crossOriginUrl:this.url,n=e.alt||"The image to preview",o=document.createElement("img");if(t&&(o.crossOrigin=t),o.src=r,o.alt=n,this.viewBox.appendChild(o),this.viewBoxImage=o,i){var s=i;"string"==typeof i?s=e.ownerDocument.querySelectorAll(i):i.querySelector&&(s=[i]),this.previews=s,Ce(s,(function(e){var i=document.createElement("img");Me(e,z,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(i.crossOrigin=t),i.src=r,i.alt=n,i.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',e.innerHTML="",e.appendChild(i)}))}},resetPreview:function(){Ce(this.previews,(function(e){var t=Ne(e,z);Ae(e,{width:t.width,height:t.height}),e.innerHTML=t.html,Le(e,z)}))},preview:function(){var e=this.imageData,t=this.canvasData,i=this.cropBoxData,r=i.width,n=i.height,o=e.width,s=e.height,a=i.left-t.left-e.left,l=i.top-t.top-e.top;this.cropped&&!this.disabled&&(Ae(this.viewBoxImage,ke({width:o,height:s},Xe(ke({translateX:-a,translateY:-l},e)))),Ce(this.previews,(function(t){var i=Ne(t,z),u=i.width,h=i.height,c=u,p=h,d=1;r&&(p=n*(d=u/r)),n&&p>h&&(c=r*(d=h/n),p=h),Ae(t,{width:c,height:p}),Ae(t.getElementsByTagName("img")[0],ke({width:o*d,height:s*d},Xe(ke({translateX:-a*d,translateY:-l*d},e))))})))}},ct={bind:function(){var e=this.element,t=this.options,i=this.cropper;Se(t.cropstart)&&He(e,G,t.cropstart),Se(t.cropmove)&&He(e,W,t.cropmove),Se(t.cropend)&&He(e,V,t.cropend),Se(t.crop)&&He(e,$,t.crop),Se(t.zoom)&&He(e,ne,t.zoom),He(i,Q,this.onCropStart=this.cropStart.bind(this)),t.zoomable&&t.zoomOnWheel&&He(i,re,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&He(i,K,this.onDblclick=this.dblclick.bind(this)),He(e.ownerDocument,Z,this.onCropMove=this.cropMove.bind(this)),He(e.ownerDocument,ee,this.onCropEnd=this.cropEnd.bind(this)),t.responsive&&He(window,ie,this.onResize=this.resize.bind(this))},unbind:function(){var e=this.element,t=this.options,i=this.cropper;Se(t.cropstart)&&je(e,G,t.cropstart),Se(t.cropmove)&&je(e,W,t.cropmove),Se(t.cropend)&&je(e,V,t.cropend),Se(t.crop)&&je(e,$,t.crop),Se(t.zoom)&&je(e,ne,t.zoom),je(i,Q,this.onCropStart),t.zoomable&&t.zoomOnWheel&&je(i,re,this.onWheel,{passive:!1,capture:!0}),t.toggleDragModeOnDblclick&&je(i,K,this.onDblclick),je(e.ownerDocument,Z,this.onCropMove),je(e.ownerDocument,ee,this.onCropEnd),t.responsive&&je(window,ie,this.onResize)}},pt={resize:function(){if(!this.disabled){var e,t,i=this.options,r=this.container,n=this.containerData,o=r.offsetWidth/n.width,s=r.offsetHeight/n.height,a=Math.abs(o-1)>Math.abs(s-1)?o:s;1!==a&&(i.restore&&(e=this.getCanvasData(),t=this.getCropBoxData()),this.render(),i.restore&&(this.setCanvasData(Ce(e,(function(t,i){e[i]=t*a}))),this.setCropBoxData(Ce(t,(function(e,i){t[i]=e*a})))))}},dblclick:function(){this.disabled||this.options.dragMode===q||this.setDragMode(Ee(this.dragBox,I)?H:j)},wheel:function(e){var t=this,i=Number(this.options.wheelZoomRatio)||.1,r=1;this.disabled||(e.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){t.wheeling=!1}),50),e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*i,e)))},cropStart:function(e){var t=e.buttons,i=e.button;if(!(this.disabled||("mousedown"===e.type||"pointerdown"===e.type&&"mouse"===e.pointerType)&&(me(t)&&1!==t||me(i)&&0!==i||e.ctrlKey))){var r,n=this.options,o=this.pointers;e.changedTouches?Ce(e.changedTouches,(function(e){o[e.identifier]=Je(e)})):o[e.pointerId||0]=Je(e),r=Object.keys(o).length>1&&n.zoomable&&n.zoomOnTouch?_:Ne(e.target,B),se.test(r)&&!1!==qe(this.element,G,{originalEvent:e,action:r})&&(e.preventDefault(),this.action=r,this.cropping=!1,r===S&&(this.cropping=!0,Oe(this.dragBox,M)))}},cropMove:function(e){var t=this.action;if(!this.disabled&&t){var i=this.pointers;e.preventDefault(),!1!==qe(this.element,W,{originalEvent:e,action:t})&&(e.changedTouches?Ce(e.changedTouches,(function(e){ke(i[e.identifier]||{},Je(e,!0))})):ke(i[e.pointerId||0]||{},Je(e,!0)),this.change(e))}},cropEnd:function(e){if(!this.disabled){var t=this.action,i=this.pointers;e.changedTouches?Ce(e.changedTouches,(function(e){delete i[e.identifier]})):delete i[e.pointerId||0],t&&(e.preventDefault(),Object.keys(i).length||(this.action=""),this.cropping&&(this.cropping=!1,Re(this.dragBox,M,this.cropped&&this.options.modal)),qe(this.element,V,{originalEvent:e,action:t}))}}},dt={change:function(e){var t,i=this.options,r=this.canvasData,n=this.containerData,o=this.cropBoxData,s=this.pointers,a=this.action,l=i.aspectRatio,u=o.left,h=o.top,c=o.width,p=o.height,d=u+c,f=h+p,m=0,g=0,y=n.width,v=n.height,b=!0;!l&&e.shiftKey&&(l=c&&p?c/p:1),this.limited&&(m=o.minLeft,g=o.minTop,y=m+Math.min(n.width,r.width,r.left+r.width),v=g+Math.min(n.height,r.height,r.top+r.height));var I=s[Object.keys(s)[0]],R={x:I.endX-I.startX,y:I.endY-I.startY},U=function(e){switch(e){case C:d+R.x>y&&(R.x=y-d);break;case k:u+R.xv&&(R.y=v-f)}};switch(a){case w:u+=R.x,h+=R.y;break;case C:if(R.x>=0&&(d>=y||l&&(h<=g||f>=v))){b=!1;break}U(C),(c+=R.x)<0&&(a=k,u-=c=-c),l&&(p=c/l,h+=(o.height-p)/2);break;case x:if(R.y<=0&&(h<=g||l&&(u<=m||d>=y))){b=!1;break}U(x),p-=R.y,h+=R.y,p<0&&(a=F,h-=p=-p),l&&(c=p*l,u+=(o.width-c)/2);break;case k:if(R.x<=0&&(u<=m||l&&(h<=g||f>=v))){b=!1;break}U(k),c-=R.x,u+=R.x,c<0&&(a=C,u-=c=-c),l&&(p=c/l,h+=(o.height-p)/2);break;case F:if(R.y>=0&&(f>=v||l&&(u<=m||d>=y))){b=!1;break}U(F),(p+=R.y)<0&&(a=x,h-=p=-p),l&&(c=p*l,u+=(o.width-c)/2);break;case T:if(l){if(R.y<=0&&(h<=g||d>=y)){b=!1;break}U(x),p-=R.y,h+=R.y,c=p*l}else U(x),U(C),R.x>=0?dg&&(p-=R.y,h+=R.y):(p-=R.y,h+=R.y);c<0&&p<0?(a=O,h-=p=-p,u-=c=-c):c<0?(a=A,u-=c=-c):p<0&&(a=E,h-=p=-p);break;case A:if(l){if(R.y<=0&&(h<=g||u<=m)){b=!1;break}U(x),p-=R.y,h+=R.y,c=p*l,u+=o.width-c}else U(x),U(k),R.x<=0?u>m?(c-=R.x,u+=R.x):R.y<=0&&h<=g&&(b=!1):(c-=R.x,u+=R.x),R.y<=0?h>g&&(p-=R.y,h+=R.y):(p-=R.y,h+=R.y);c<0&&p<0?(a=E,h-=p=-p,u-=c=-c):c<0?(a=T,u-=c=-c):p<0&&(a=O,h-=p=-p);break;case O:if(l){if(R.x<=0&&(u<=m||f>=v)){b=!1;break}U(k),c-=R.x,u+=R.x,p=c/l}else U(F),U(k),R.x<=0?u>m?(c-=R.x,u+=R.x):R.y>=0&&f>=v&&(b=!1):(c-=R.x,u+=R.x),R.y>=0?f=0&&(d>=y||f>=v)){b=!1;break}U(C),p=(c+=R.x)/l}else U(F),U(C),R.x>=0?d=0&&f>=v&&(b=!1):c+=R.x,R.y>=0?f0?a=R.y>0?E:T:R.x<0&&(u-=c,a=R.y>0?O:A),R.y<0&&(h-=p),this.cropped||(Ie(this.cropBox,D),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}b&&(o.width=c,o.height=p,o.left=u,o.top=h,this.action=a,this.renderCropBox()),Ce(s,(function(e){e.startX=e.endX,e.startY=e.endY}))}},ft={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&Oe(this.dragBox,M),Ie(this.cropBox,D),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=ke({},this.initialImageData),this.canvasData=ke({},this.initialCanvasData),this.cropBoxData=ke({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(ke(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),Ie(this.dragBox,M),Oe(this.cropBox,D)),this},replace:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&e&&(this.isImg&&(this.element.src=e),t?(this.url=e,this.image.src=e,this.ready&&(this.viewBoxImage.src=e,Ce(this.previews,(function(t){t.getElementsByTagName("img")[0].src=e})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(e))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,Ie(this.cropper,R)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,Oe(this.cropper,R)),this},destroy:function(){var e=this.element;return e[b]?(e[b]=void 0,this.isImg&&this.replaced&&(e.src=this.originalUrl),this.uncreate(),this):this},move:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,i=this.canvasData,r=i.left,n=i.top;return this.moveTo(ye(e)?e:r+Number(e),ye(t)?t:n+Number(t))},moveTo:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,i=this.canvasData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.movable&&(me(e)&&(i.left=e,r=!0),me(t)&&(i.top=t,r=!0),r&&this.renderCanvas(!0)),this},zoom:function(e,t){var i=this.canvasData;return e=(e=Number(e))<0?1/(1-e):1+e,this.zoomTo(i.width*e/i.naturalWidth,null,t)},zoomTo:function(e,t,i){var r=this.options,n=this.canvasData,o=n.width,s=n.height,a=n.naturalWidth,l=n.naturalHeight;if((e=Number(e))>=0&&this.ready&&!this.disabled&&r.zoomable){var u=a*e,h=l*e;if(!1===qe(this.element,ne,{ratio:e,oldRatio:o/a,originalEvent:i}))return this;if(i){var c=this.pointers,p=$e(this.cropper),d=c&&Object.keys(c).length?Qe(c):{pageX:i.pageX,pageY:i.pageY};n.left-=(u-o)*((d.pageX-p.left-n.left)/o),n.top-=(h-s)*((d.pageY-p.top-n.top)/s)}else we(t)&&me(t.x)&&me(t.y)?(n.left-=(u-o)*((t.x-n.left)/o),n.top-=(h-s)*((t.y-n.top)/s)):(n.left-=(u-o)/2,n.top-=(h-s)/2);n.width=u,n.height=h,this.renderCanvas(!0)}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e))},rotateTo:function(e){return me(e=Number(e))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=e%360,this.renderCanvas(!0,!0)),this},scaleX:function(e){var t=this.imageData.scaleY;return this.scale(e,me(t)?t:1)},scaleY:function(e){var t=this.imageData.scaleX;return this.scale(me(t)?t:1,e)},scale:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,i=this.imageData,r=!1;return e=Number(e),t=Number(t),this.ready&&!this.disabled&&this.options.scalable&&(me(e)&&(i.scaleX=e,r=!0),me(t)&&(i.scaleY=t,r=!0),r&&this.renderCanvas(!0,!0)),this},getData:function(){var e,t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=this.options,r=this.imageData,n=this.canvasData,o=this.cropBoxData;if(this.ready&&this.cropped){e={x:o.left-n.left,y:o.top-n.top,width:o.width,height:o.height};var s=r.width/r.naturalWidth;if(Ce(e,(function(t,i){e[i]=t/s})),t){var a=Math.round(e.y+e.height),l=Math.round(e.x+e.width);e.x=Math.round(e.x),e.y=Math.round(e.y),e.width=l-e.x,e.height=a-e.y}}else e={x:0,y:0,width:0,height:0};return i.rotatable&&(e.rotate=r.rotate||0),i.scalable&&(e.scaleX=r.scaleX||1,e.scaleY=r.scaleY||1),e},setData:function(e){var t=this.options,i=this.imageData,r=this.canvasData,n={};if(this.ready&&!this.disabled&&we(e)){var o=!1;t.rotatable&&me(e.rotate)&&e.rotate!==i.rotate&&(i.rotate=e.rotate,o=!0),t.scalable&&(me(e.scaleX)&&e.scaleX!==i.scaleX&&(i.scaleX=e.scaleX,o=!0),me(e.scaleY)&&e.scaleY!==i.scaleY&&(i.scaleY=e.scaleY,o=!0)),o&&this.renderCanvas(!0,!0);var s=i.width/i.naturalWidth;me(e.x)&&(n.left=e.x*s+r.left),me(e.y)&&(n.top=e.y*s+r.top),me(e.width)&&(n.width=e.width*s),me(e.height)&&(n.height=e.height*s),this.setCropBoxData(n)}return this},getContainerData:function(){return this.ready?ke({},this.containerData):{}},getImageData:function(){return this.sized?ke({},this.imageData):{}},getCanvasData:function(){var e=this.canvasData,t={};return this.ready&&Ce(["left","top","width","height","naturalWidth","naturalHeight"],(function(i){t[i]=e[i]})),t},setCanvasData:function(e){var t=this.canvasData,i=t.aspectRatio;return this.ready&&!this.disabled&&we(e)&&(me(e.left)&&(t.left=e.left),me(e.top)&&(t.top=e.top),me(e.width)?(t.width=e.width,t.height=e.width/i):me(e.height)&&(t.height=e.height,t.width=e.height*i),this.renderCanvas(!0)),this},getCropBoxData:function(){var e,t=this.cropBoxData;return this.ready&&this.cropped&&(e={left:t.left,top:t.top,width:t.width,height:t.height}),e||{}},setCropBoxData:function(e){var t,i,r=this.cropBoxData,n=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&we(e)&&(me(e.left)&&(r.left=e.left),me(e.top)&&(r.top=e.top),me(e.width)&&e.width!==r.width&&(t=!0,r.width=e.width),me(e.height)&&e.height!==r.height&&(i=!0,r.height=e.height),n&&(t?r.height=r.width/n:i&&(r.width=r.height*n)),this.renderCropBox()),this},getCroppedCanvas:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var t=this.canvasData,i=tt(this.image,this.imageData,t,e);if(!this.cropped)return i;var r=this.getData(e.rounded),n=r.x,o=r.y,s=r.width,a=r.height,l=i.width/Math.floor(t.naturalWidth);1!==l&&(n*=l,o*=l,s*=l,a*=l);var h=s/a,c=Ze({aspectRatio:h,width:e.maxWidth||1/0,height:e.maxHeight||1/0}),p=Ze({aspectRatio:h,width:e.minWidth||0,height:e.minHeight||0},"cover"),d=Ze({aspectRatio:h,width:e.width||(1!==l?i.width:s),height:e.height||(1!==l?i.height:a)}),f=d.width,m=d.height;f=Math.min(c.width,Math.max(p.width,f)),m=Math.min(c.height,Math.max(p.height,m));var g=document.createElement("canvas"),y=g.getContext("2d");g.width=xe(f),g.height=xe(m),y.fillStyle=e.fillColor||"transparent",y.fillRect(0,0,f,m);var v=e.imageSmoothingEnabled,b=void 0===v||v,w=e.imageSmoothingQuality;y.imageSmoothingEnabled=b,w&&(y.imageSmoothingQuality=w);var S,P,_,C,k,F,x=i.width,T=i.height,A=n,E=o;A<=-s||A>x?(A=0,S=0,_=0,k=0):A<=0?(_=-A,A=0,k=S=Math.min(x,s+A)):A<=x&&(_=0,k=S=Math.min(s,x-A)),S<=0||E<=-a||E>T?(E=0,P=0,C=0,F=0):E<=0?(C=-E,E=0,F=P=Math.min(T,a+E)):E<=T&&(C=0,F=P=Math.min(a,T-E));var O=[A,E,S,P];if(k>0&&F>0){var I=f/s;O.push(_*I,C*I,k*I,F*I)}return y.drawImage.apply(y,[i].concat(u(O.map((function(e){return Math.floor(xe(e))}))))),g},setAspectRatio:function(e){var t=this.options;return this.disabled||ye(e)||(t.aspectRatio=Math.max(0,e)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(e){var t=this.options,i=this.dragBox,r=this.face;if(this.ready&&!this.disabled){var n=e===j,o=t.movable&&e===H;e=n||o?e:q,t.dragMode=e,Me(i,B,e),Re(i,I,n),Re(i,L,o),t.cropBoxMovable||(Me(r,B,e),Re(r,I,n),Re(r,L,o))}return this}},mt=g.Cropper,gt=function(){function e(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(o(this,e),!t||!ue.test(t.tagName))throw new Error("The first argument is required and must be an or element.");this.element=t,this.options=ke({},pe,we(i)&&i),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}return a(e,[{key:"init",value:function(){var e,t=this.element,i=t.tagName.toLowerCase();if(!t[b]){if(t[b]=this,"img"===i){if(this.isImg=!0,e=t.getAttribute("src")||"",this.originalUrl=e,!e)return;e=t.src}else"canvas"===i&&window.HTMLCanvasElement&&(e=t.toDataURL());this.load(e)}}},{key:"load",value:function(e){var t=this;if(e){this.url=e,this.imageData={};var i=this.element,r=this.options;if(r.rotatable||r.scalable||(r.checkOrientation=!1),r.checkOrientation&&window.ArrayBuffer)if(ae.test(e))le.test(e)?this.read(ot(e)):this.clone();else{var n=new XMLHttpRequest,o=this.clone.bind(this);this.reloading=!0,this.xhr=n,n.onabort=o,n.onerror=o,n.ontimeout=o,n.onprogress=function(){n.getResponseHeader("content-type")!==oe&&n.abort()},n.onload=function(){t.read(n.response)},n.onloadend=function(){t.reloading=!1,t.xhr=null},r.checkCrossOrigin&&Ge(e)&&i.crossOrigin&&(e=Ke(e)),n.open("GET",e,!0),n.responseType="arraybuffer",n.withCredentials="use-credentials"===i.crossOrigin,n.send()}else this.clone()}}},{key:"read",value:function(e){var t=this.options,i=this.imageData,r=at(e),n=0,o=1,s=1;if(r>1){this.url=st(e,oe);var a=lt(r);n=a.rotate,o=a.scaleX,s=a.scaleY}t.rotatable&&(i.rotate=n),t.scalable&&(i.scaleX=o,i.scaleY=s),this.clone()}},{key:"clone",value:function(){var e=this.element,t=this.url,i=e.crossOrigin,r=t;this.options.checkCrossOrigin&&Ge(t)&&(i||(i="anonymous"),r=Ke(t)),this.crossOrigin=i,this.crossOriginUrl=r;var n=document.createElement("img");i&&(n.crossOrigin=i),n.src=r||t,n.alt=e.alt||"The image to crop",this.image=n,n.onload=this.start.bind(this),n.onerror=this.stop.bind(this),Oe(n,U),e.parentNode.insertBefore(n,e.nextSibling)}},{key:"start",value:function(){var e=this,t=this.image;t.onload=null,t.onerror=null,this.sizing=!0;var i=g.navigator&&/(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(g.navigator.userAgent),r=function(t,i){ke(e.imageData,{naturalWidth:t,naturalHeight:i,aspectRatio:t/i}),e.initialImageData=ke({},e.imageData),e.sizing=!1,e.sized=!0,e.build()};if(!t.naturalWidth||i){var n=document.createElement("img"),o=document.body||document.documentElement;this.sizingImage=n,n.onload=function(){r(n.width,n.height),i||o.removeChild(n)},n.src=t.src,i||(n.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",o.appendChild(n))}else r(t.naturalWidth,t.naturalHeight)}},{key:"stop",value:function(){var e=this.image;e.onload=null,e.onerror=null,e.parentNode.removeChild(e),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var e=this.element,t=this.options,i=this.image,r=e.parentNode,n=document.createElement("div");n.innerHTML=de;var o=n.querySelector(".".concat(b,"-container")),s=o.querySelector(".".concat(b,"-canvas")),a=o.querySelector(".".concat(b,"-drag-box")),l=o.querySelector(".".concat(b,"-crop-box")),u=l.querySelector(".".concat(b,"-face"));this.container=r,this.cropper=o,this.canvas=s,this.dragBox=a,this.cropBox=l,this.viewBox=o.querySelector(".".concat(b,"-view-box")),this.face=u,s.appendChild(i),Oe(e,D),r.insertBefore(o,e.nextSibling),Ie(i,U),this.initPreview(),this.bind(),t.initialAspectRatio=Math.max(0,t.initialAspectRatio)||NaN,t.aspectRatio=Math.max(0,t.aspectRatio)||NaN,t.viewMode=Math.max(0,Math.min(3,Math.round(t.viewMode)))||0,Oe(l,D),t.guides||Oe(l.getElementsByClassName("".concat(b,"-dashed")),D),t.center||Oe(l.getElementsByClassName("".concat(b,"-center")),D),t.background&&Oe(o,"".concat(b,"-bg")),t.highlight||Oe(u,N),t.cropBoxMovable&&(Oe(u,L),Me(u,B,w)),t.cropBoxResizable||(Oe(l.getElementsByClassName("".concat(b,"-line")),D),Oe(l.getElementsByClassName("".concat(b,"-point")),D)),this.render(),this.ready=!0,this.setDragMode(t.dragMode),t.autoCrop&&this.crop(),this.setData(t.data),Se(t.ready)&&He(e,te,t.ready,{once:!0}),qe(e,te)}}},{key:"unbuild",value:function(){if(this.ready){this.ready=!1,this.unbind(),this.resetPreview();var e=this.cropper.parentNode;e&&e.removeChild(this.cropper),Ie(this.element,D)}}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}],[{key:"noConflict",value:function(){return window.Cropper=mt,e}},{key:"setDefaults",value:function(e){ke(pe,we(e)&&e)}}])}();return ke(gt.prototype,ut,ht,ct,pt,dt,ft),gt}()},30228:e=>{"use strict";var t=Object.prototype.hasOwnProperty,i="~";function r(){}function n(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function o(e,t,r,o,s){if("function"!=typeof r)throw new TypeError("The listener must be a function");var a=new n(r,o||e,s),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],a]:e._events[l].push(a):(e._events[l]=a,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(i=!1)),a.prototype.eventNames=function(){var e,r,n=[];if(0===this._eventsCount)return n;for(r in e=this._events)t.call(e,r)&&n.push(i?r.slice(1):r);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(e)):n},a.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var n=0,o=r.length,s=new Array(o);n{"use strict";e.exports=n,e.exports.isMobile=n,e.exports.default=n;const t=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,i=/CrOS/,r=/android|ipad|playbook|silk/i;function n(e){e||(e={});let n=e.ua;if(n||"undefined"==typeof navigator||(n=navigator.userAgent),n&&n.headers&&"string"==typeof n.headers["user-agent"]&&(n=n.headers["user-agent"]),"string"!=typeof n)return!1;let o=t.test(n)&&!i.test(n)||!!e.tablet&&r.test(n);return!o&&e.tablet&&e.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==n.indexOf("Macintosh")&&-1!==n.indexOf("Safari")&&(o=!0),o}},51873:(e,t,i)=>{var r=i(9325).Symbol;e.exports=r},72552:(e,t,i)=>{var r=i(51873),n=i(659),o=i(59350),s=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":s&&s in Object(e)?n(e):o(e)}},54128:(e,t,i)=>{var r=i(31800),n=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(n,""):e}},34840:(e,t,i)=>{var r="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g;e.exports=r},659:(e,t,i)=>{var r=i(51873),n=Object.prototype,o=n.hasOwnProperty,s=n.toString,a=r?r.toStringTag:void 0;e.exports=function(e){var t=o.call(e,a),i=e[a];try{e[a]=void 0;var r=!0}catch(l){}var n=s.call(e);return r&&(t?e[a]=i:delete e[a]),n}},59350:e=>{var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},9325:(e,t,i)=>{var r=i(34840),n="object"==typeof self&&self&&self.Object===Object&&self,o=r||n||Function("return this")();e.exports=o},31800:e=>{var t=/\s/;e.exports=function(e){for(var i=e.length;i--&&t.test(e.charAt(i)););return i}},38221:(e,t,i)=>{var r=i(23805),n=i(10124),o=i(99374),s=Math.max,a=Math.min;e.exports=function(e,t,i){var l,u,h,c,p,d,f=0,m=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function v(t){var i=l,r=u;return l=u=void 0,f=t,c=e.apply(r,i)}function b(e){var i=e-d;return void 0===d||i>=t||i<0||g&&e-f>=h}function w(){var e=n();if(b(e))return S(e);p=setTimeout(w,function(e){var i=t-(e-d);return g?a(i,h-(e-f)):i}(e))}function S(e){return p=void 0,y&&l?v(e):(l=u=void 0,c)}function P(){var e=n(),i=b(e);if(l=arguments,u=this,d=e,i){if(void 0===p)return function(e){return f=e,p=setTimeout(w,t),m?v(e):c}(d);if(g)return clearTimeout(p),p=setTimeout(w,t),v(d)}return void 0===p&&(p=setTimeout(w,t)),c}return t=o(t)||0,r(i)&&(m=!!i.leading,h=(g="maxWait"in i)?s(o(i.maxWait)||0,t):h,y="trailing"in i?!!i.trailing:y),P.cancel=function(){void 0!==p&&clearTimeout(p),f=0,l=d=u=p=void 0},P.flush=function(){return void 0===p?c:S(n())},P}},23805:e=>{e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},40346:e=>{e.exports=function(e){return null!=e&&"object"==typeof e}},44394:(e,t,i)=>{var r=i(72552),n=i(40346);e.exports=function(e){return"symbol"==typeof e||n(e)&&"[object Symbol]"==r(e)}},10124:(e,t,i)=>{var r=i(9325);e.exports=function(){return r.Date.now()}},7350:(e,t,i)=>{var r=i(38221),n=i(23805);e.exports=function(e,t,i){var o=!0,s=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return n(i)&&(o="leading"in i?!!i.leading:o,s="trailing"in i?!!i.trailing:s),r(e,t,{leading:o,maxWait:t,trailing:s})}},99374:(e,t,i)=>{var r=i(54128),n=i(23805),o=i(44394),s=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,l=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(o(e))return NaN;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var i=a.test(e);return i||l.test(e)?u(e.slice(2),i?2:8):s.test(e)?NaN:+e}},37057:(e,t,i)=>{var r=i(27163),n=/[\/\+\.]/;e.exports=function(e,t){function i(t){var i=r(t,e,n);return i&&i.length>=2}return t?i(t.split(";")[0]):i}},10727:()=>{},33835:e=>{e.exports=function(){var e={},t=e._fns={};return e.emit=function(e,i,r,n,o,s,a){var l=function(e){var i=t[e]?t[e]:[],r=e.indexOf(":"),n=-1===r?[e]:[e.substring(0,r),e.substring(r+1)],o=Object.keys(t),s=0,a=o.length;for(;s{"use strict";i.d(t,{FK:()=>P,Ob:()=>q,XX:()=>H,_3:()=>S,fF:()=>n,h:()=>b,uA:()=>_,v2:()=>O});var r,n,o,s,a,l,u,h,c,p,d={},f=[],m=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,g=Array.isArray;function y(e,t){for(var i in t)e[i]=t[i];return e}function v(e){var t=e.parentNode;t&&t.removeChild(e)}function b(e,t,i){var n,o,s,a={};for(s in t)"key"==s?n=t[s]:"ref"==s?o=t[s]:a[s]=t[s];if(arguments.length>2&&(a.children=arguments.length>3?r.call(arguments,2):i),"function"==typeof e&&null!=e.defaultProps)for(s in e.defaultProps)void 0===a[s]&&(a[s]=e.defaultProps[s]);return w(e,a,n,o,null)}function w(e,t,i,r,s){var a={type:e,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==s?++o:s,__i:-1,__u:0};return null==s&&null!=n.vnode&&n.vnode(a),a}function S(){return{current:null}}function P(e){return e.children}function _(e,t){this.props=e,this.context=t}function C(e,t){if(null==t)return e.__?C(e.__,e.__i+1):null;for(var i;tt&&s.sort(u));x.__r=0}function T(e,t,i,r,n,o,s,a,l,u,h){var c,p,m,g,y,v=r&&r.__k||f,b=t.length;for(i.__d=l,A(i,t,v),l=i.__d,c=0;c0?w(n.type,n.props,n.key,n.ref?n.ref:null,n.__v):n)?(n.__=e,n.__b=e.__b+1,a=I(n,i,s,h),n.__i=a,o=null,-1!==a&&(h--,(o=i[a])&&(o.__u|=131072)),null==o||null===o.__v?(-1==a&&c--,"function"!=typeof n.type&&(n.__u|=65536)):a!==s&&(a===s+1?c++:a>s?h>l-s?c+=a-s:c--:a(null==l||131072&l.__u?0:1))for(;s>=0||a=0){if((l=t[s])&&!(131072&l.__u)&&n==l.key&&o===l.type)return s;s--}if(a2&&(l.children=arguments.length>3?r.call(arguments,2):i),w(e.type,l,n||e.key,o||e.ref,null)}r=f.slice,n={__e:function(e,t,i,r){for(var n,o,s;t=t.__;)if((n=t.__c)&&!n.__)try{if((o=n.constructor)&&null!=o.getDerivedStateFromError&&(n.setState(o.getDerivedStateFromError(e)),s=n.__d),null!=n.componentDidCatch&&(n.componentDidCatch(e,r||{}),s=n.__d),s)return n.__E=n}catch(t){e=t}throw e}},o=0,_.prototype.setState=function(e,t){var i;i=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=y({},this.state),"function"==typeof e&&(e=e(y({},i),this.props)),e&&y(i,e),null!=e&&this.__v&&(t&&this._sb.push(t),F(this))},_.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),F(this))},_.prototype.render=P,s=[],l="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,u=function(e,t){return e.__v.__b-t.__v.__b},x.__r=0,h=0,c=U(!1),p=U(!0)},45994:(e,t,i)=>{"use strict";i.d(t,{J0:()=>b,Kr:()=>P,hb:()=>_,li:()=>S,vJ:()=>w});var r,n,o,s,a=i(50172),l=0,u=[],h=[],c=a.fF,p=c.__b,d=c.__r,f=c.diffed,m=c.__c,g=c.unmount,y=c.__;function v(e,t){c.__h&&c.__h(n,e,l||t),l=0;var i=n.__H||(n.__H={__:[],__h:[]});return e>=i.__.length&&i.__.push({__V:h}),i.__[e]}function b(e){return l=1,function(e,t,i){var o=v(r++,2);if(o.t=e,!o.__c&&(o.__=[i?i(t):E(void 0,t),function(e){var t=o.__N?o.__N[0]:o.__[0],i=o.t(t,e);t!==i&&(o.__N=[i,o.__[1]],o.__c.setState({}))}],o.__c=n,!n.u)){var s=function(e,t,i){if(!o.__c.__H)return!0;var r=o.__c.__H.__.filter((function(e){return!!e.__c}));if(r.every((function(e){return!e.__N})))return!a||a.call(this,e,t,i);var n=!1;return r.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(n=!0)}})),!(!n&&o.__c.props===e)&&(!a||a.call(this,e,t,i))};n.u=!0;var a=n.shouldComponentUpdate,l=n.componentWillUpdate;n.componentWillUpdate=function(e,t,i){if(this.__e){var r=a;a=void 0,s(e,t,i),a=r}l&&l.call(this,e,t,i)},n.shouldComponentUpdate=s}return o.__N||o.__}(E,e)}function w(e,t){var i=v(r++,3);!c.__s&&A(i.__H,t)&&(i.__=e,i.i=t,n.__H.__h.push(i))}function S(e){return l=5,P((function(){return{current:e}}),[])}function P(e,t){var i=v(r++,7);return A(i.__H,t)?(i.__V=e(),i.i=t,i.__h=e,i.__V):i.__}function _(e,t){return l=8,P((function(){return e}),t)}function C(){for(var e;e=u.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(x),e.__H.__h.forEach(T),e.__H.__h=[]}catch(r){e.__H.__h=[],c.__e(r,e.__v)}}c.__b=function(e){n=null,p&&p(e)},c.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),y&&y(e,t)},c.__r=function(e){d&&d(e),r=0;var t=(n=e.__c).__H;t&&(o===n?(t.__h=[],n.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=h,e.__N=e.i=void 0}))):(t.__h.forEach(x),t.__h.forEach(T),t.__h=[],r=0)),o=n},c.diffed=function(e){f&&f(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==u.push(t)&&s===c.requestAnimationFrame||((s=c.requestAnimationFrame)||F)(C)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==h&&(e.__=e.__V),e.i=void 0,e.__V=h}))),o=n=null},c.__c=function(e,t){t.some((function(e){try{e.__h.forEach(x),e.__h=e.__h.filter((function(e){return!e.__||T(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],c.__e(n,e.__v)}})),m&&m(e,t)},c.unmount=function(e){g&&g(e);var t,i=e.__c;i&&i.__H&&(i.__H.__.forEach((function(e){try{x(e)}catch(e){t=e}})),i.__H=void 0,t&&c.__e(t,i.__v))};var k="function"==typeof requestAnimationFrame;function F(e){var t,i=function(){clearTimeout(r),k&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(i,100);k&&(t=requestAnimationFrame(i))}function x(e){var t=n,i=e.__c;"function"==typeof i&&(e.__c=void 0,i()),n=t}function T(e){var t=n;e.__c=e.__(),n=t}function A(e,t){return!e||e.length!==t.length||t.some((function(t,i){return t!==e[i]}))}function E(e,t){return"function"==typeof t?t(e):t}},73992:(e,t)=>{"use strict";var i=Object.prototype.hasOwnProperty;function r(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(t){return null}}function n(e){try{return encodeURIComponent(e)}catch(t){return null}}t.stringify=function(e,t){t=t||"";var r,o,s=[];for(o in"string"!=typeof t&&(t="?"),e)if(i.call(e,o)){if((r=e[o])||null!=r&&!isNaN(r)||(r=""),o=n(o),r=n(r),null===o||null===r)continue;s.push(o+"="+r)}return s.length?t+s.join("&"):""},t.parse=function(e){for(var t,i=/([^=?#&]+)=?([^&]*)/g,n={};t=i.exec(e);){var o=r(t[1]),s=r(t[2]);null===o||null===s||o in n||(n[o]=s)}return n}},92063:e=>{"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},75617:(e,t,i)=>{e.exports=i(58303)},58303:(e,t,i)=>{var r=i(93961);t.operation=function(e){var i=t.timeouts(e);return new r(i,{forever:e&&(e.forever||e.retries===1/0),unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})},t.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1e3,maxTimeout:1/0,randomize:!1};for(var i in e)t[i]=e[i];if(t.minTimeout>t.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var r=[],n=0;n{function t(e,t){"boolean"==typeof t&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}e.exports=t,t.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)},t.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null},t.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=(new Date).getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.push(e),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var i=this._timeouts.shift();if(void 0===i){if(!this._cachedTimeouts)return!1;this._errors.splice(0,this._errors.length-1),i=this._cachedTimeouts.slice(-1)}var r=this;return this._timer=setTimeout((function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout((function(){r._operationTimeoutCb(r._attempts)}),r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)}),i),this._options.unref&&this._timer.unref(),!0},t.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var i=this;this._operationTimeoutCb&&(this._timeout=setTimeout((function(){i._operationTimeoutCb()}),i._operationTimeout)),this._operationStart=(new Date).getTime(),this._fn(this._attempts)},t.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)},t.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)},t.prototype.start=t.prototype.try,t.prototype.errors=function(){return this._errors},t.prototype.attempts=function(){return this._attempts},t.prototype.mainError=function(){if(0===this._errors.length)return null;for(var e={},t=null,i=0,r=0;r=i&&(t=n,i=s)}return t}},61160:(e,t,i)=>{"use strict";var r=i(92063),n=i(73992),o=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,s=/[\n\r\t]/g,a=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,l=/:\d+$/,u=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,h=/^[a-zA-Z]:/;function c(e){return(e||"").toString().replace(o,"")}var p=[["#","hash"],["?","query"],function(e,t){return m(t.protocol)?e.replace(/\\/g,"/"):e},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],d={hash:1,query:1};function f(e){var t,r=("undefined"!=typeof window?window:void 0!==i.g?i.g:"undefined"!=typeof self?self:{}).location||{},n={},o=typeof(e=e||r);if("blob:"===e.protocol)n=new y(unescape(e.pathname),{});else if("string"===o)for(t in n=new y(e,{}),d)delete n[t];else if("object"===o){for(t in e)t in d||(n[t]=e[t]);void 0===n.slashes&&(n.slashes=a.test(e.href))}return n}function m(e){return"file:"===e||"ftp:"===e||"http:"===e||"https:"===e||"ws:"===e||"wss:"===e}function g(e,t){e=(e=c(e)).replace(s,""),t=t||{};var i,r=u.exec(e),n=r[1]?r[1].toLowerCase():"",o=!!r[2],a=!!r[3],l=0;return o?a?(i=r[2]+r[3]+r[4],l=r[2].length+r[3].length):(i=r[2]+r[4],l=r[2].length):a?(i=r[3]+r[4],l=r[3].length):i=r[4],"file:"===n?l>=2&&(i=i.slice(2)):m(n)?i=r[4]:n?o&&(i=i.slice(2)):l>=2&&m(t.protocol)&&(i=r[4]),{protocol:n,slashes:o||m(n),slashesCount:l,rest:i}}function y(e,t,i){if(e=(e=c(e)).replace(s,""),!(this instanceof y))return new y(e,t,i);var o,a,l,u,d,v,b=p.slice(),w=typeof t,S=this,P=0;for("object"!==w&&"string"!==w&&(i=t,t=null),i&&"function"!=typeof i&&(i=n.parse),o=!(a=g(e||"",t=f(t))).protocol&&!a.slashes,S.slashes=a.slashes||o&&t.slashes,S.protocol=a.protocol||t.protocol||"",e=a.rest,("file:"===a.protocol&&(2!==a.slashesCount||h.test(e))||!a.slashes&&(a.protocol||a.slashesCount<2||!m(S.protocol)))&&(b[3]=[/(.*)/,"pathname"]);P{"use strict";function t(e,t){this.text=e=e||"",this.hasWild=~e.indexOf("*"),this.separator=t,this.parts=e.split(t)}t.prototype.match=function(e){var t,i,r=!0,n=this.parts,o=n.length;if("string"==typeof e||e instanceof String)if(this.hasWild||this.text==e){for(i=(e||"").split(this.separator),t=0;r&&t{var i;!function(){"use strict";var r={}.hasOwnProperty;function n(){for(var e="",t=0;t{"use strict";i.d(t,{A:()=>H});var r=i(50172),n=i(31837),o=i(79885);var s=i(45994);function a(e){let{recording:t,onStartRecording:i,onStopRecording:n,i18n:o}=e;return t?(0,r.h)("button",{className:"uppy-u-reset uppy-c-btn uppy-Audio-button",type:"button",title:o("stopAudioRecording"),"aria-label":o("stopAudioRecording"),onClick:n,"data-uppy-super-focusable":!0},(0,r.h)("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"100",height:"100",viewBox:"0 0 100 100"},(0,r.h)("rect",{x:"15",y:"15",width:"70",height:"70"}))):(0,r.h)("button",{className:"uppy-u-reset uppy-c-btn uppy-Audio-button",type:"button",title:o("startAudioRecording"),"aria-label":o("startAudioRecording"),onClick:i,"data-uppy-super-focusable":!0},(0,r.h)("svg",{"aria-hidden":"true",focusable:"false",className:"uppy-c-icon",width:"14px",height:"20px",viewBox:"0 0 14 20"},(0,r.h)("path",{d:"M7 14c2.21 0 4-1.71 4-3.818V3.818C11 1.71 9.21 0 7 0S3 1.71 3 3.818v6.364C3 12.29 4.79 14 7 14zm6.364-7h-.637a.643.643 0 0 0-.636.65V9.6c0 3.039-2.565 5.477-5.6 5.175-2.645-.264-4.582-2.692-4.582-5.407V7.65c0-.36-.285-.65-.636-.65H.636A.643.643 0 0 0 0 7.65v1.631c0 3.642 2.544 6.888 6.045 7.382v1.387H3.818a.643.643 0 0 0-.636.65v.65c0 .36.285.65.636.65h6.364c.351 0 .636-.29.636-.65v-.65c0-.36-.285-.65-.636-.65H7.955v-1.372C11.363 16.2 14 13.212 14 9.6V7.65c0-.36-.285-.65-.636-.65z",fill:"#FFF","fill-rule":"nonzero"})))}function l(e){let{recordingLengthSeconds:t,i18n:i}=e;const n=(o=t,`${Math.floor(o/60)}:${String(o%60).padStart(2,"0")}`);var o;return(0,r.h)("span",{"aria-label":i("recordingLength",{recording_length:n})},n)}var u=0;function h(e){return"__private_"+u+++"_"+e}function c(e){return"function"==typeof e}function p(e){return c(e)?e():e}var d=h("draw");class f{constructor(e,t){void 0===t&&(t={}),Object.defineProperty(this,d,{writable:!0,value:()=>this.draw()});const i=t.canvas||{},r=t.canvasContext||{};this.analyser=null,this.bufferLength=0,this.canvas=e,this.width=p(i.width)||this.canvas.width,this.height=p(i.height)||this.canvas.height,this.canvas.width=this.width,this.canvas.height=this.height,this.canvasContext=this.canvas.getContext("2d"),this.canvasContext.fillStyle=p(r.fillStyle)||"rgb(255, 255, 255)",this.canvasContext.strokeStyle=p(r.strokeStyle)||"rgb(0, 0, 0)",this.canvasContext.lineWidth=p(r.lineWidth)||1,this.onDrawFrame=c(t.onDrawFrame)?t.onDrawFrame:()=>{}}addSource(e){this.streamSource=e,this.audioContext=this.streamSource.context,this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=2048,this.bufferLength=this.analyser.frequencyBinCount,this.source=this.audioContext.createBufferSource(),this.dataArray=new Uint8Array(this.bufferLength),this.analyser.getByteTimeDomainData(this.dataArray),this.streamSource.connect(this.analyser)}draw(){const{analyser:e,dataArray:t,bufferLength:i}=this,r=this.canvasContext,n=this.width,o=this.height;e&&e.getByteTimeDomainData(t),r.fillRect(0,0,n,o),r.beginPath();const s=1*n/i;let a=0;i||r.moveTo(0,this.height/2);for(let l=0;l()=>{P.current=null,n()}),[n]),(0,s.vJ)((()=>{if(!i&&(P.current=new f(S.current,{canvas:{width:600,height:600},canvasContext:{lineWidth:2,fillStyle:"rgb(0,0,0)",strokeStyle:"green"}}),P.current.draw(),t)){const e=(new AudioContext).createMediaStreamSource(t);P.current.addSource(e)}}),[i,t]);const _=null!=i,C=!_&&u,k=c&&!_&&h&&h.length>1;return(0,r.h)("div",{className:"uppy-Audio-container"},(0,r.h)("div",{className:"uppy-Audio-audioContainer"},_?(0,r.h)("audio",{className:"uppy-Audio-player",controls:!0,src:i}):(0,r.h)("canvas",{ref:S,className:"uppy-Audio-canvas"})),(0,r.h)("div",{className:"uppy-Audio-footer"},(0,r.h)("div",{className:"uppy-Audio-audioSourceContainer"},k?(e=>{let{currentDeviceId:t,audioSources:i,onChangeSource:n}=e;return(0,r.h)("div",{className:"uppy-Audio-videoSource"},(0,r.h)("select",{className:"uppy-u-reset uppy-Audio-audioSource-select",onChange:e=>{n(e.target.value)}},i.map((e=>(0,r.h)("option",{key:e.deviceId,value:e.deviceId,selected:e.deviceId===t},e.label)))))})(e):null),(0,r.h)("div",{className:"uppy-Audio-buttonContainer"},C&&(0,r.h)(a,{recording:o,onStartRecording:y,onStopRecording:v,i18n:d}),_&&(0,r.h)(m,{onSubmit:p,i18n:d}),_&&(0,r.h)(g,{onDiscard:b,i18n:d})),(0,r.h)("div",{className:"uppy-Audio-recordingLength"},!_&&(0,r.h)(l,{recordingLengthSeconds:w,i18n:d}))))}const v=e=>{const{icon:t,hasAudio:i,i18n:n}=e;return(0,r.h)("div",{className:"uppy-Audio-permissons"},(0,r.h)("div",{className:"uppy-Audio-permissonsIcon"},t()),(0,r.h)("div",{className:"uppy-Audio-title"},n(i?"allowAudioAccessTitle":"noAudioTitle")),(0,r.h)("p",null,n(i?"allowAudioAccessDescription":"noAudioDescription")))},b={strings:{pluginNameAudio:"Audio",startAudioRecording:"Begin audio recording",stopAudioRecording:"Stop audio recording",allowAudioAccessTitle:"Please allow access to your microphone",allowAudioAccessDescription:"In order to record audio, please allow microphone access for this site.",noAudioTitle:"Microphone Not Available",noAudioDescription:"In order to record audio, please connect a microphone or another audio input device",recordingStoppedMaxSize:"Recording stopped because the file size is about to exceed the limit",recordingLength:"Recording length %{recording_length}",submitRecordedFile:"Submit recorded file",discardRecordedFile:"Discard recorded file"}};function w(){return w=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(!S(this,O)[O])return Promise.reject(new Error("Microphone access not supported"));S(this,F)[F]=!0,S(this,I)[I]().then((t=>(this.setPluginState({hasAudio:t}),S(this,E)[E].getUserMedia({audio:!0}).then((t=>{S(this,k)[k]=t;let i=null;const r=t.getAudioTracks();i=null!=e&&e.deviceId?r.findLast((t=>t.getSettings().deviceId===e.deviceId)):r[0].getSettings().deviceId,S(this,j)[j](),this.setPluginState({currentDeviceId:i,audioReady:!0})})).catch((e=>{this.setPluginState({audioReady:!1,cameraError:e}),this.uppy.info(e.message,"error")})))))}}),Object.defineProperty(this,D,{writable:!0,value:()=>{S(this,T)[T]=new MediaRecorder(S(this,k)[k]),S(this,x)[x]=[];let e=!1;S(this,T)[T].addEventListener("dataavailable",(t=>{S(this,x)[x].push(t.data);const{restrictions:i}=this.uppy.opts;if(S(this,x)[x].length>1&&null!=i.maxFileSize&&!e){const t=S(this,x)[x].reduce(((e,t)=>e+t.size),0),r=3*((t-S(this,x)[x][0].size)/(S(this,x)[x].length-1));t>Math.max(0,i.maxFileSize-r)&&(e=!0,this.uppy.info(this.i18n("recordingStoppedMaxSize"),"warning",4e3),S(this,U)[U]())}})),S(this,T)[T].start(500),S(this,C)[C]=setInterval((()=>{const e=this.getPluginState().recordingLengthSeconds;this.setPluginState({recordingLengthSeconds:e+1})}),1e3),this.setPluginState({isRecording:!0})}}),Object.defineProperty(this,U,{writable:!0,value:()=>new Promise((e=>{S(this,T)[T].addEventListener("stop",(()=>{e()})),S(this,T)[T].stop(),clearInterval(S(this,C)[C]),this.setPluginState({recordingLengthSeconds:0})})).then((()=>(this.setPluginState({isRecording:!1}),S(this,B)[B]()))).then((e=>{try{S(this,A)[A]=e,this.setPluginState({recordedAudio:URL.createObjectURL(e.data)})}catch(t){t.isRestriction||this.uppy.log(t)}})).then((()=>{S(this,x)[x]=null,S(this,T)[T]=null}),(e=>{throw S(this,x)[x]=null,S(this,T)[T]=null,e}))}),Object.defineProperty(this,N,{writable:!0,value:()=>{this.setPluginState({recordedAudio:null}),S(this,A)[A]=null}}),Object.defineProperty(this,M,{writable:!0,value:()=>{try{S(this,A)[A]&&this.uppy.addFile(S(this,A)[A])}catch(e){e.isRestriction||this.uppy.log(e,"warning")}}}),Object.defineProperty(this,L,{writable:!0,value:async()=>{if(S(this,k)[k]){S(this,k)[k].getAudioTracks().forEach((e=>e.stop()))}S(this,T)[T]&&await new Promise((e=>{S(this,T)[T].addEventListener("stop",e,{once:!0}),S(this,T)[T].stop(),clearInterval(S(this,C)[C])})),S(this,x)[x]=null,S(this,T)[T]=null,S(this,F)[F]=!1,S(this,k)[k]=null,this.setPluginState({recordedAudio:null,isRecording:!1,recordingLengthSeconds:0})}}),Object.defineProperty(this,z,{writable:!0,value:e=>{S(this,L)[L](),S(this,R)[R]({deviceId:e})}}),Object.defineProperty(this,j,{writable:!0,value:()=>{S(this,E)[E].enumerateDevices().then((e=>{this.setPluginState({audioSources:e.filter((e=>"audioinput"===e.kind))})}))}}),S(this,E)[E]=navigator.mediaDevices,S(this,O)[O]=null!=S(this,E)[E],this.id=this.opts.id||"Audio",this.type="acquirer",this.icon=()=>(0,r.h)("svg",{className:"uppy-DashboardTab-iconAudio","aria-hidden":"true",focusable:"false",width:"32px",height:"32px",viewBox:"0 0 32 32"},(0,r.h)("path",{d:"M21.143 12.297c.473 0 .857.383.857.857v2.572c0 3.016-2.24 5.513-5.143 5.931v2.64h2.572a.857.857 0 110 1.714H12.57a.857.857 0 110-1.714h2.572v-2.64C12.24 21.24 10 18.742 10 15.726v-2.572a.857.857 0 111.714 0v2.572A4.29 4.29 0 0016 20.01a4.29 4.29 0 004.286-4.285v-2.572c0-.474.384-.857.857-.857zM16 6.5a3 3 0 013 3v6a3 3 0 01-6 0v-6a3 3 0 013-3z",fill:"currentcolor","fill-rule":"nonzero"})),this.defaultLocale=b,this.opts={...t},this.i18nInit(),this.title=this.i18n("pluginNameAudio"),this.setPluginState({hasAudio:!1,audioReady:!1,cameraError:null,recordingLengthSeconds:0,audioSources:[],currentDeviceId:null})}render(){S(this,F)[F]||S(this,R)[R]();const e=this.getPluginState();return e.audioReady&&e.hasAudio?(0,r.h)(y,w({},e,{onChangeSource:S(this,z)[z],onStartRecording:S(this,D)[D],onStopRecording:S(this,U)[U],onDiscardRecordedAudio:S(this,N)[N],onSubmit:S(this,M)[M],onStop:S(this,L)[L],i18n:this.i18n,showAudioSourceDropdown:this.opts.showAudioSourceDropdown,supportsRecording:"function"==typeof MediaRecorder&&"function"==typeof(null==(t=MediaRecorder.prototype)?void 0:t.start),recording:e.isRecording,stream:S(this,k)[k]})):(0,r.h)(v,{icon:this.icon,i18n:this.i18n,hasAudio:e.hasAudio});var t}install(){this.setPluginState({audioReady:!1,recordingLengthSeconds:0});const{target:e}=this.opts;e&&this.mount(e,this),S(this,E)[E]&&(S(this,j)[j](),S(this,E)[E].ondevicechange=()=>{if(S(this,j)[j](),S(this,k)[k]){let e=!0;const{audioSources:t,currentDeviceId:i}=this.getPluginState();t.forEach((t=>{i===t.deviceId&&(e=!1)})),e&&(S(this,L)[L](),S(this,R)[R]())}})}uninstall(){S(this,k)[k]&&S(this,L)[L](),this.unmount()}}function q(){return S(this,E)[E]?S(this,E)[E].enumerateDevices().then((e=>e.some((e=>"audioinput"===e.kind)))):Promise.resolve(!1)}function $(){const e=S(this,x)[x].find((e=>{var t;return(null==(t=e.type)?void 0:t.length)>0})).type,t=(0,o.A)(e);if(!t)return Promise.reject(new Error(`Could not retrieve recording: Unsupported media type "${e}"`));const i=`audio-${Date.now()}.${t}`,r=new Blob(S(this,x)[x],{type:e}),n={source:this.id,name:i,data:new Blob([r],{type:e}),type:e};return Promise.resolve(n)}H.VERSION="2.1.1"},89463:(e,t,i)=>{"use strict";i.d(t,{A:()=>l});var r=i(6267),n=i(31837),o=i(62108),s=i(50172);const a={strings:{pluginNameBox:"Box"}};class l extends n.A{constructor(e,t){super(e,t),this.rootFolderId=null,this.id=this.opts.id||"Box",this.type="acquirer",this.storage=this.opts.storage||r.HM,this.files=[],this.icon=()=>(0,s.h)("svg",{className:"uppy-DashboardTab-iconBox","aria-hidden":"true",focusable:"false",width:"32",height:"32",viewBox:"0 0 32 32"},(0,s.h)("g",{fill:"currentcolor",fillRule:"nonzero"},(0,s.h)("path",{d:"m16.4 13.5c-1.6 0-3 0.9-3.7 2.2-0.7-1.3-2.1-2.2-3.7-2.2-1 0-1.8 0.3-2.5 0.8v-3.6c-0.1-0.3-0.5-0.7-1-0.7s-0.8 0.4-0.8 0.8v7c0 2.3 1.9 4.2 4.2 4.2 1.6 0 3-0.9 3.7-2.2 0.7 1.3 2.1 2.2 3.7 2.2 2.3 0 4.2-1.9 4.2-4.2 0.1-2.4-1.8-4.3-4.1-4.3m-7.5 6.8c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5m7.5 0c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5"}),(0,s.h)("path",{d:"m27.2 20.6l-2.3-2.8 2.3-2.8c0.3-0.4 0.2-0.9-0.2-1.2s-1-0.2-1.3 0.2l-2 2.4-2-2.4c-0.3-0.4-0.9-0.4-1.3-0.2-0.4 0.3-0.5 0.8-0.2 1.2l2.3 2.8-2.3 2.8c-0.3 0.4-0.2 0.9 0.2 1.2s1 0.2 1.3-0.2l2-2.4 2 2.4c0.3 0.4 0.9 0.4 1.3 0.2 0.4-0.3 0.4-0.8 0.2-1.2"}))),this.opts.companionAllowedHosts=(0,r.cP)(this.opts.companionAllowedHosts,this.opts.companionUrl),this.provider=new r.Kq(e,{companionUrl:this.opts.companionUrl,companionHeaders:this.opts.companionHeaders,companionKeysParams:this.opts.companionKeysParams,companionCookiesRule:this.opts.companionCookiesRule,provider:"box",pluginId:this.id,supportsRefreshToken:!1}),this.defaultLocale=a,this.i18nInit(),this.title=this.i18n("pluginNameBox"),this.render=this.render.bind(this)}install(){this.view=new o.gi(this,{provider:this.provider,loadAllFiles:!0,virtualList:!0});const{target:e}=this.opts;e&&this.mount(e,this)}uninstall(){this.view.tearDown(),this.unmount()}render(e){return this.view.render(e)}}l.VERSION="3.2.1"},6267:(e,t,i)=>{"use strict";i.d(t,{Kq:()=>L,R0:()=>x,YL:()=>j,cP:()=>O,HM:()=>r});var r={};i.r(r),i.d(r,{getItem:()=>q,removeItem:()=>$,setItem:()=>H});class n extends Error{constructor(){super(...arguments),this.name="UserFacingApiError"}}const o=n;var s=i(75617);const a=Object.prototype.toString,l=e=>"[object Error]"===a.call(e),u=new Set(["network error","Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Load failed","Network request failed","fetch failed","terminated"]);class h extends Error{constructor(e){super(),e instanceof Error?(this.originalError=e,({message:e}=e)):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}}const c=(e,t,i)=>{const r=i.retries-(t-1);return e.attemptNumber=t,e.retriesLeft=r,e};async function p(e,t){return new Promise(((i,r)=>{t={onFailedAttempt(){},retries:10,shouldRetry:()=>!0,...t};const n=s.operation(t),o=()=>{n.stop(),r(t.signal?.reason)};t.signal&&!t.signal.aborted&&t.signal.addEventListener("abort",o,{once:!0});const a=()=>{t.signal?.removeEventListener("abort",o),n.stop()};n.attempt((async o=>{try{const t=await e(o);a(),i(t)}catch(s){try{if(!(s instanceof Error))throw new TypeError(`Non-error was thrown: "${s}". You should only throw errors.`);if(s instanceof h)throw s.originalError;if(s instanceof TypeError&&!function(e){return!(!e||!l(e)||"TypeError"!==e.name||"string"!=typeof e.message)&&("Load failed"===e.message?void 0===e.stack:u.has(e.message))}(s))throw s;if(c(s,o,t),await t.shouldRetry(s)||(n.stop(),r(s)),await t.onFailedAttempt(s),!n.retry(s))throw n.mainError()}catch(p){c(p,o,t),a(),r(p)}}}))}))}var d=i(52094);var f=i(61825);class m extends Error{constructor(e,t){super(e),this.cause=null==t?void 0:t.cause,this.cause&&(0,f.A)(this.cause,"isNetworkError")?this.isNetworkError=this.cause.isNetworkError:this.isNetworkError=!1}}const g=m;class y extends Error{constructor(){super("Authorization required"),this.name="AuthError",this.isAuthError=!0}}const v=y;function b(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var w=0;function S(e){return"__private_"+w+++"_"+e}class P extends Error{constructor(e){let{statusCode:t,message:i}=e;super(i),this.name="HttpError",this.statusCode=t}}var _=S("companionHeaders"),C=S("getUrl"),k=S("requestSocketToken"),F=S("awaitRemoteFileUpload");class x{constructor(e,t){Object.defineProperty(this,F,{value:A}),Object.defineProperty(this,C,{value:T}),Object.defineProperty(this,_,{writable:!0,value:void 0}),Object.defineProperty(this,k,{writable:!0,value:async e=>{var t;let{file:i,postBody:r,signal:n}=e;if(null==(null==(t=i.remote)?void 0:t.url))throw new Error("Cannot connect to an undefined URL");return(await this.post(i.remote.url,{...i.remote.body,...r},{signal:n})).token}}),this.uppy=e,this.opts=t,this.onReceiveResponse=this.onReceiveResponse.bind(this),b(this,_)[_]=t.companionHeaders}setCompanionHeaders(e){b(this,_)[_]=e}[Symbol.for("uppy test: getCompanionHeaders")](){return b(this,_)[_]}get hostname(){const{companion:e}=this.uppy.getState(),t=this.opts.companionUrl;return(e&&e[t]?e[t]:t).replace(/\/$/,"")}async headers(e){void 0===e&&(e=!1);return{...{Accept:"application/json",...e?void 0:{"Content-Type":"application/json"}},...b(this,_)[_]}}onReceiveResponse(e){const{headers:t}=e,i=this.uppy.getState().companion||{},r=this.opts.companionUrl;t.has("i-am")&&t.get("i-am")!==i[r]&&this.uppy.setState({companion:{...i,[r]:t.get("i-am")}})}async request(e){let{path:t,method:i="GET",data:r,skipPostResponse:n,signal:s}=e;try{const e=await this.headers(!r),a=await function(){return fetch(...arguments).catch((e=>{throw"AbortError"===e.name?e:new d.A(e)}))}(b(this,C)[C](t),{method:i,signal:s,headers:e,credentials:this.opts.companionCookiesRule||"same-origin",body:r?JSON.stringify(r):null});return n||this.onReceiveResponse(a),await async function(e){if(401===e.status)throw new v;if(e.ok)return e.json();let t,i=`Failed request with status: ${e.status}. ${e.statusText}`;try{t=await e.json(),t.message&&(i=`${i} message: ${t.message}`),t.requestId&&(i=`${i} request-Id: ${t.requestId}`)}catch(r){throw new Error(i,{cause:r})}if(e.status>=400&&e.status<=499&&t.message)throw new o(t.message);throw new P({statusCode:e.status,message:i})}(a)}catch(a){if(a.isAuthError||"UserFacingApiError"===a.name||"AbortError"===a.name)throw a;throw new g(`Could not ${i} ${b(this,C)[C](t)}`,{cause:a})}}async get(e,t){return this.request({...t,path:e})}async post(e,t,i){return this.request({...i,path:e,method:"POST",data:t})}async delete(e,t,i){return this.request({...i,path:e,method:"DELETE",data:t})}async uploadRemoteFile(e,t,i){var r=this;try{const{signal:n,getQueue:o}=i||{};return await p((async()=>{var i;const s=null==(i=this.uppy.getFile(e.id))?void 0:i.serverToken;if(null!=s)return this.uppy.log(`Connecting to exiting websocket ${s}`),b(this,F)[F]({file:e,queue:o(),signal:n});const a=o().wrapPromiseFunction((async function(){try{return await b(r,k)[k](...arguments)}catch(e){if(e.isAuthError)throw new h(e);if(null==e.cause)throw e;const t=e.cause,i=()=>[408,409,429,418,423].includes(t.statusCode)||t.statusCode>=500&&t.statusCode<=599&&![501,505].includes(t.statusCode);if("HttpError"===t.name&&!i())throw new h(t);throw t}}),{priority:-1}),l=await a({file:e,postBody:t,signal:n}).abortOn(n);return this.uppy.getFile(e.id)?(this.uppy.setFileState(e.id,{serverToken:l}),b(this,F)[F]({file:this.uppy.getFile(e.id),queue:o(),signal:n})):void 0}),{retries:10,signal:n,onFailedAttempt:e=>this.uppy.log(`Retrying upload due to: ${e.message}`,"warning")})}catch(n){if("AbortError"===n.name)return;throw this.uppy.emit("upload-error",e,n),n}}}function T(e){return/^(https?:|)\/\//.test(e)?e:`${this.hostname}/${e}`}async function A(e){let t,{file:i,queue:r,signal:n}=e;const{capabilities:o}=this.uppy.getState();try{return await new Promise(((e,s)=>{const a=i.serverToken,l=function(e){var t;const i=null==(t=/^(?:https?:\/\/|\/\/)?(?:[^@\n]+@)?(?:www\.)?([^\n]+)/i.exec(e))?void 0:t[1];return`${/^http:\/\//i.test(e)?"ws":"wss"}://${i}`}(i.remote.companionUrl);let u,h,c,{isPaused:d}=i;const f=(e,t)=>{var r;null!=u&&u.readyState===u.OPEN?u.send(JSON.stringify({action:e,payload:null!=t?t:{}})):this.uppy.log(`Cannot send "${e}" to socket ${i.id} because the socket state was ${String(null==(r=u)?void 0:r.readyState)}`,"warning")};function m(){o.resumableUploads&&f(d?"pause":"resume")}const g=e=>{o.resumableUploads&&(d=e,u&&m())},y=t=>{var r;o.individualCancellation&&t.id===i.id&&(f("cancel"),null==(r=h)||null==r.abort||r.abort(),this.uppy.log(`upload ${i.id} was removed`),e())},v=()=>{var t;f("cancel"),null==(t=h)||null==t.abort||t.abort(),this.uppy.log(`upload ${i.id} was canceled`),e()},b=(e,t)=>{(null==e?void 0:e.id)===i.id&&g(t)},w=()=>g(!0),S=()=>g(!1);this.uppy.on("file-removed",y),this.uppy.on("cancel-all",v),this.uppy.on("upload-pause",b),this.uppy.on("pause-all",w),this.uppy.on("resume-all",S),t=()=>{this.uppy.off("file-removed",y),this.uppy.off("cancel-all",v),this.uppy.off("upload-pause",b),this.uppy.off("pause-all",w),this.uppy.off("resume-all",S)},n.addEventListener("abort",(()=>{var e;null==(e=h)||e.abort()})),(async()=>{h&&h.abort(),h=new AbortController;const t=e=>{var t;this.uppy.setFileState(i.id,{serverToken:null}),null==(t=h)||null==t.abort||t.abort(),s(e)};function n(){clearTimeout(c),d||(c=setTimeout((()=>t(new Error("Timeout waiting for message from Companion socket"))),3e5))}try{await r.wrapPromiseFunction((async()=>{await p((async()=>new Promise(((r,o)=>{u=new WebSocket(`${l}/api/${a}`),n(),u.addEventListener("close",(()=>{u=void 0,o(new Error("Socket closed unexpectedly"))})),u.addEventListener("error",(e=>{var t;this.uppy.log(`Companion socket error ${JSON.stringify(e)}, closing socket`,"warning"),null==(t=u)||t.close()})),u.addEventListener("open",(()=>{m()})),u.addEventListener("message",(r=>{n();try{const{action:t,payload:n}=JSON.parse(r.data);switch(t){case"progress":!function(e,t,i){const{progress:r,bytesUploaded:n,bytesTotal:o}=t;var s;r&&(e.uppy.log(`Upload progress: ${r}`),e.uppy.emit("upload-progress",i,{uploadStarted:null!=(s=i.progress.uploadStarted)?s:0,bytesUploaded:n,bytesTotal:o}))}(this,n,this.uppy.getFile(i.id));break;case"success":{var o,s,a,l;const t=null==(o=n.response)?void 0:o.responseText;this.uppy.emit("upload-success",this.uppy.getFile(i.id),{uploadURL:n.url,status:null!=(s=null==(a=n.response)?void 0:a.status)?s:200,body:t?JSON.parse(t):void 0}),null==(l=h)||null==l.abort||l.abort(),e();break}case"error":{const{message:e}=n.error;throw Object.assign(new Error(e),{cause:n.error})}default:this.uppy.log(`Companion socket unknown action ${t}`,"warning")}}catch(u){t(u)}}));const s=()=>{this.uppy.log(`Closing socket ${i.id}`),clearTimeout(c),u&&u.close(),u=void 0};h.signal.addEventListener("abort",(()=>{s()}))}))),{retries:10,signal:h.signal,onFailedAttempt:()=>{h.signal.aborted||this.uppy.log(`Retrying websocket ${i.id}`)}})}))().abortOn(h.signal)}catch(o){if(h.signal.aborted)return;t(o)}})()}))}finally{null==t||t()}}function E(e){return"string"==typeof e?new RegExp(`^${e}$`):e instanceof RegExp?e:void 0}function O(e,t){if(e){const t=e=>{if(!("string"==typeof e&&E(e)||e instanceof RegExp))throw new TypeError('The option "companionAllowedHosts" must be one of string, Array, RegExp')};return Array.isArray(e)?e.every(t):t(e),e}let i=t;return/^(?!https?:\/\/).*$/i.test(i)&&(i=`https://${t.replace(/^\/\//,"")}`),i=new URL(i).origin,i=i.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&"),i}function I(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}x.VERSION="4.4.1";var R=0;function D(e){return"__private_"+R+++"_"+e}var U=D("refreshingTokenPromise"),N=D("getAuthToken"),M=D("getPlugin");class L extends x{constructor(e,t){super(e,t),Object.defineProperty(this,M,{value:z}),Object.defineProperty(this,N,{value:B}),Object.defineProperty(this,U,{writable:!0,value:void 0}),this.provider=t.provider,this.id=this.provider,this.name=this.opts.name||(e=>e.split("-").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" "))(this.id),this.pluginId=this.opts.pluginId,this.tokenKey=`companion-${this.pluginId}-auth-token`,this.companionKeysParams=this.opts.companionKeysParams,this.preAuthToken=null,this.supportsRefreshToken=!!t.supportsRefreshToken}async headers(){const[e,t]=await Promise.all([super.headers(),I(this,N)[N]()]),i={};return t&&(i["uppy-auth-token"]=t),this.companionKeysParams&&(i["uppy-credentials-params"]=btoa(JSON.stringify({params:this.companionKeysParams}))),{...e,...i}}onReceiveResponse(e){super.onReceiveResponse(e);const t=I(this,M)[M](),i=t.getPluginState().authenticated?401!==e.status:e.status<400;return t.setPluginState({authenticated:i}),e}async setAuthToken(e){return I(this,M)[M]().storage.setItem(this.tokenKey,e)}async removeAuthToken(){return I(this,M)[M]().storage.removeItem(this.tokenKey)}async ensurePreAuth(){if(this.companionKeysParams&&!this.preAuthToken&&(await this.fetchPreAuthToken(),!this.preAuthToken))throw new Error("Could not load authentication data required for third-party login. Please try again later.")}authQuery(e){return{}}authUrl(e){let{authFormData:t,query:i}=e;const r=new URLSearchParams({...i,state:btoa(JSON.stringify({origin:location.origin})),...this.authQuery({authFormData:t})});return this.preAuthToken&&r.set("uppyPreAuthToken",this.preAuthToken),`${this.hostname}/${this.id}/connect?${r}`}async loginSimpleAuth(e){let{uppyVersions:t,authFormData:i,signal:r}=e;const n=await this.post(`${this.id}/simple-auth`,{form:i},{qs:{uppyVersions:t},signal:r});this.setAuthToken(n.uppyAuthToken)}async loginOAuth(e){let{uppyVersions:t,authFormData:i,signal:r}=e;return await this.ensurePreAuth(),r.throwIfAborted(),new Promise(((e,n)=>{const o=this.authUrl({query:{uppyVersions:t},authFormData:i}),s=window.open(o,"_blank");let a;const l=t=>{if(t.source!==s){let e="";try{e=JSON.stringify(t.data)}catch(u){}return void this.uppy.log(`ignoring event from unknown source ${e}`,"warning")}const{companionAllowedHosts:i}=I(this,M)[M]().opts;if(r=t.origin,o=i,!(Array.isArray(o)?o.map(E):[E(o)]).some((e=>(null==e?void 0:e.test(r))||(null==e?void 0:e.test(`${r}/`)))))return void n(new Error(`rejecting event from ${t.origin} vs allowed pattern ${i}`));var r,o;const l="string"==typeof t.data?JSON.parse(t.data):t.data;if(l.error){const{uppy:e}=this,t=e.i18n("authAborted");return e.info({message:t},"warning",5e3),void n(new Error("auth aborted"))}l.token?(a(),e(this.setAuthToken(l.token))):n(new Error("did not receive token from auth window"))};a=()=>{null==s||s.close(),window.removeEventListener("message",l),r.removeEventListener("abort",a)},r.addEventListener("abort",a),window.addEventListener("message",l)}))}async login(e){let{uppyVersions:t,authFormData:i,signal:r}=e;return this.loginOAuth({uppyVersions:t,authFormData:i,signal:r})}refreshTokenUrl(){return`${this.hostname}/${this.id}/refresh-token`}fileUrl(e){return`${this.hostname}/${this.id}/get/${e}`}async request(){await I(this,U)[U];try{return await super.request(...arguments)}catch(e){if(!this.supportsRefreshToken)throw e;const t=await I(this,N)[N]();if(!e.isAuthError||!t)throw e;return null==I(this,U)[U]&&(I(this,U)[U]=(async()=>{try{this.uppy.log("[CompanionClient] Refreshing expired auth token");const e=await super.request({path:this.refreshTokenUrl(),method:"POST"});await this.setAuthToken(e.uppyAuthToken)}catch(t){throw t.isAuthError&&await this.removeAuthToken(),e}finally{I(this,U)[U]=void 0}})()),await I(this,U)[U],super.request(...arguments)}}async fetchPreAuthToken(){if(this.companionKeysParams)try{const e=await this.post(`${this.id}/preauth/`,{params:this.companionKeysParams});this.preAuthToken=e.token}catch(e){this.uppy.log(`[CompanionClient] unable to fetch preAuthToken ${e}`,"warning")}}list(e,t){return this.get(`${this.id}/list/${e||""}`,t)}async logout(e){const t=await this.get(`${this.id}/logout`,e);return await this.removeAuthToken(),t}}async function B(){return I(this,M)[M]().storage.getItem(this.tokenKey)}function z(){const e=this.uppy.getPlugin(this.pluginId);if(null==e)throw new Error("Plugin was nullish");return e}class j extends x{constructor(e,t){super(e,t),this.provider=t.provider,this.id=this.provider,this.name=this.opts.name||(e=>e.split("-").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" "))(this.id),this.pluginId=this.opts.pluginId}fileUrl(e){return`${this.hostname}/search/${this.id}/get/${e}`}search(e,t){return this.get(`search/${this.id}/list?q=${encodeURIComponent(e)}${t?`&${t}`:""}`)}}async function H(e,t){localStorage.setItem(e,t)}async function q(e){return localStorage.getItem(e)}async function $(e){localStorage.removeItem(e)}},42656:(e,t,i)=>{"use strict";i.d(t,{A:()=>n});var r=i(60720);class n{constructor(e,t){this.uppy=e,this.opts=null!=t?t:{}}getPluginState(){const{plugins:e}=this.uppy.getState();return(null==e?void 0:e[this.id])||{}}setPluginState(e){const{plugins:t}=this.uppy.getState();this.uppy.setState({plugins:{...t,[this.id]:{...t[this.id],...e}}})}setOptions(e){this.opts={...this.opts,...e},this.setPluginState(void 0),this.i18nInit()}i18nInit(){const e=new r.A([this.defaultLocale,this.uppy.locale,this.opts.locale]);this.i18n=e.translate.bind(e),this.i18nArray=e.translateArray.bind(e),this.setPluginState(void 0)}addTarget(e){throw new Error("Extend the addTarget method to add your plugin to another plugin's target")}install(){}uninstall(){}update(e){}afterUpdate(){}}},31837:(e,t,i)=>{"use strict";i.d(t,{A:()=>d});var r=i(50172),n=i(45298);const o=function(e,t){return void 0===t&&(t=document),"string"==typeof e?t.querySelector(e):(0,n.A)(e)?e:null};var s=i(44622),a=i(42656);function l(e,t){if(!{}.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var u=0;function h(e){return"__private_"+u+++"_"+e}var c=h("updateUI");class p extends a.A{constructor(){super(...arguments),Object.defineProperty(this,c,{writable:!0,value:void 0})}getTargetPlugin(e){let t;if("function"==typeof(null==e?void 0:e.addTarget))t=e,t instanceof p||console.warn(new Error("The provided plugin is not an instance of UIPlugin. This is an indication of a bug with the way Uppy is bundled.",{cause:{targetPlugin:t,UIPlugin:p}}));else if("function"==typeof e){const i=e;this.uppy.iteratePlugins((e=>{e instanceof i&&(t=e)}))}return t}mount(e,t){const i=t.id,n=o(e);if(n){this.isTargetDOMEl=!0;const t=document.createElement("div");return t.classList.add("uppy-Root"),l(this,c)[c]=function(e){let t,i=null;return function(){for(var r=arguments.length,n=new Array(r),o=0;o(i=null,e(...t))))),i}}((e=>{this.uppy.getPlugin(this.id)&&((0,r.XX)(this.render(e,t),t),this.afterUpdate())})),this.uppy.log(`Installing ${i} to a DOM element '${e}'`),this.opts.replaceTargetContent&&(n.innerHTML=""),(0,r.XX)(this.render(this.uppy.getState(),t),t),this.el=t,n.appendChild(t),t.dir=this.opts.direction||(0,s.A)(t)||"ltr",this.onMount(),this.el}const a=this.getTargetPlugin(e);if(a)return this.uppy.log(`Installing ${i} to ${a.id}`),this.parent=a,this.el=a.addTarget(t),this.onMount(),this.el;this.uppy.log(`Not installing ${i}`);let u=`Invalid target option given to ${i}.`;throw u+="function"==typeof e?" The given target is not a Plugin class. Please check that you're not specifying a React Component instead of a plugin. If you are using @uppy/* packages directly, make sure you have only 1 version of @uppy/core installed: run `npm ls @uppy/core` on the command line and verify that all the versions match and are deduped correctly.":"If you meant to target an HTML element, please make sure that the element exists. Check that the - + diff --git a/blog/2016/08/0.8.0/index.html b/blog/2016/08/0.8.0/index.html index deb64f6e2..3cc633b7a 100644 --- a/blog/2016/08/0.8.0/index.html +++ b/blog/2016/08/0.8.0/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2016/08/0.9.0/index.html b/blog/2016/08/0.9.0/index.html index c9e4d5e85..a1ceffd99 100644 --- a/blog/2016/08/0.9.0/index.html +++ b/blog/2016/08/0.9.0/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2016/09/0.10/index.html b/blog/2016/09/0.10/index.html index e4133c481..af63afdfd 100644 --- a/blog/2016/09/0.10/index.html +++ b/blog/2016/09/0.10/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2016/11/0.11/index.html b/blog/2016/11/0.11/index.html index e43f8ed14..64f12997d 100644 --- a/blog/2016/11/0.11/index.html +++ b/blog/2016/11/0.11/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2016/12/0.12/index.html b/blog/2016/12/0.12/index.html index 5d71095e6..84f44cc65 100644 --- a/blog/2016/12/0.12/index.html +++ b/blog/2016/12/0.12/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2017/02/0.14/index.html b/blog/2017/02/0.14/index.html index 4901ebf02..291549b09 100644 --- a/blog/2017/02/0.14/index.html +++ b/blog/2017/02/0.14/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2017/03/0.15/index.html b/blog/2017/03/0.15/index.html index 6a3379489..f8c24a1c5 100644 --- a/blog/2017/03/0.15/index.html +++ b/blog/2017/03/0.15/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2017/05/0.16/index.html b/blog/2017/05/0.16/index.html index 5e6268053..78329d7fc 100644 --- a/blog/2017/05/0.16/index.html +++ b/blog/2017/05/0.16/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2017/05/0.17/index.html b/blog/2017/05/0.17/index.html index 9dc673c61..441a8006e 100644 --- a/blog/2017/05/0.17/index.html +++ b/blog/2017/05/0.17/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2017/07/golden-retriever/index.html b/blog/2017/07/golden-retriever/index.html index e5f6f5128..067720d18 100644 --- a/blog/2017/07/golden-retriever/index.html +++ b/blog/2017/07/golden-retriever/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2017/08/0.18/index.html b/blog/2017/08/0.18/index.html index fbc1f189c..28bb0cfa9 100644 --- a/blog/2017/08/0.18/index.html +++ b/blog/2017/08/0.18/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2017/09/0.19/index.html b/blog/2017/09/0.19/index.html index cd212d820..bf53c3520 100644 --- a/blog/2017/09/0.19/index.html +++ b/blog/2017/09/0.19/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2017/10/0.20/index.html b/blog/2017/10/0.20/index.html index 53b247f9d..e2b70293f 100644 --- a/blog/2017/10/0.20/index.html +++ b/blog/2017/10/0.20/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2017/10/0.21/index.html b/blog/2017/10/0.21/index.html index 6cc599c35..d6ab5d9c8 100644 --- a/blog/2017/10/0.21/index.html +++ b/blog/2017/10/0.21/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2017/12/0.22/index.html b/blog/2017/12/0.22/index.html index 2298dca7d..b8703889e 100644 --- a/blog/2017/12/0.22/index.html +++ b/blog/2017/12/0.22/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2018/02/0.23/index.html b/blog/2018/02/0.23/index.html index e4f37851a..3f27a65ea 100644 --- a/blog/2018/02/0.23/index.html +++ b/blog/2018/02/0.23/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2018/04/0.24/index.html b/blog/2018/04/0.24/index.html index c5f01b857..6e59f3151 100644 --- a/blog/2018/04/0.24/index.html +++ b/blog/2018/04/0.24/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2018/06/0.25/index.html b/blog/2018/06/0.25/index.html index d4ff674dd..421059723 100644 --- a/blog/2018/06/0.25/index.html +++ b/blog/2018/06/0.25/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2018/07/0.26/index.html b/blog/2018/07/0.26/index.html index 425c97371..ddcdc595c 100644 --- a/blog/2018/07/0.26/index.html +++ b/blog/2018/07/0.26/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2018/08/0.27/index.html b/blog/2018/08/0.27/index.html index 1996f1e9e..34795bc0d 100644 --- a/blog/2018/08/0.27/index.html +++ b/blog/2018/08/0.27/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2018/10/0.28/index.html b/blog/2018/10/0.28/index.html index 1ba1a7580..c2d8220ca 100644 --- a/blog/2018/10/0.28/index.html +++ b/blog/2018/10/0.28/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2018/12/0.29/index.html b/blog/2018/12/0.29/index.html index c0bd8e3cc..39f034826 100644 --- a/blog/2018/12/0.29/index.html +++ b/blog/2018/12/0.29/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/03/0.30/index.html b/blog/2019/03/0.30/index.html index 1a4d61e1d..c51b5e49f 100644 --- a/blog/2019/03/0.30/index.html +++ b/blog/2019/03/0.30/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/03/liftoff-01/index.html b/blog/2019/03/liftoff-01/index.html index a2b6d3875..8ad5e22eb 100644 --- a/blog/2019/03/liftoff-01/index.html +++ b/blog/2019/03/liftoff-01/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/03/liftoff-02/index.html b/blog/2019/03/liftoff-02/index.html index cbe5dcbbc..f50ebb01a 100644 --- a/blog/2019/03/liftoff-02/index.html +++ b/blog/2019/03/liftoff-02/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/03/liftoff-03/index.html b/blog/2019/03/liftoff-03/index.html index 856e24d7c..b5a9b0b08 100644 --- a/blog/2019/03/liftoff-03/index.html +++ b/blog/2019/03/liftoff-03/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/03/liftoff-04/index.html b/blog/2019/03/liftoff-04/index.html index 6c8a9f8fc..b8991c471 100644 --- a/blog/2019/03/liftoff-04/index.html +++ b/blog/2019/03/liftoff-04/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/03/liftoff-05/index.html b/blog/2019/03/liftoff-05/index.html index a11136184..80a2cfb09 100644 --- a/blog/2019/03/liftoff-05/index.html +++ b/blog/2019/03/liftoff-05/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/03/liftoff-06/index.html b/blog/2019/03/liftoff-06/index.html index aa06851ef..9723f2bd8 100644 --- a/blog/2019/03/liftoff-06/index.html +++ b/blog/2019/03/liftoff-06/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/1.0/index.html b/blog/2019/04/1.0/index.html index 80e28eb28..d36abd8f0 100644 --- a/blog/2019/04/1.0/index.html +++ b/blog/2019/04/1.0/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-07/index.html b/blog/2019/04/liftoff-07/index.html index 829bb4b00..42bb4fac0 100644 --- a/blog/2019/04/liftoff-07/index.html +++ b/blog/2019/04/liftoff-07/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-08/index.html b/blog/2019/04/liftoff-08/index.html index c5ad992ef..3ce200138 100644 --- a/blog/2019/04/liftoff-08/index.html +++ b/blog/2019/04/liftoff-08/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-09/index.html b/blog/2019/04/liftoff-09/index.html index 12e4c9220..99f8e27af 100644 --- a/blog/2019/04/liftoff-09/index.html +++ b/blog/2019/04/liftoff-09/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-10/index.html b/blog/2019/04/liftoff-10/index.html index d2dc2259f..a9931e858 100644 --- a/blog/2019/04/liftoff-10/index.html +++ b/blog/2019/04/liftoff-10/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-11/index.html b/blog/2019/04/liftoff-11/index.html index 6cc4a2a85..af57c7a44 100644 --- a/blog/2019/04/liftoff-11/index.html +++ b/blog/2019/04/liftoff-11/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-12/index.html b/blog/2019/04/liftoff-12/index.html index 77bd4d8e7..3dca065cd 100644 --- a/blog/2019/04/liftoff-12/index.html +++ b/blog/2019/04/liftoff-12/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-13/index.html b/blog/2019/04/liftoff-13/index.html index c6c63ae7b..9671a8833 100644 --- a/blog/2019/04/liftoff-13/index.html +++ b/blog/2019/04/liftoff-13/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-14/index.html b/blog/2019/04/liftoff-14/index.html index be28de630..ccb83bdac 100644 --- a/blog/2019/04/liftoff-14/index.html +++ b/blog/2019/04/liftoff-14/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-15/index.html b/blog/2019/04/liftoff-15/index.html index a04216c9f..99cb6f361 100644 --- a/blog/2019/04/liftoff-15/index.html +++ b/blog/2019/04/liftoff-15/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-16/index.html b/blog/2019/04/liftoff-16/index.html index b4218d3c0..339d2334a 100644 --- a/blog/2019/04/liftoff-16/index.html +++ b/blog/2019/04/liftoff-16/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-17/index.html b/blog/2019/04/liftoff-17/index.html index 9a04ed59e..bd9055ccb 100644 --- a/blog/2019/04/liftoff-17/index.html +++ b/blog/2019/04/liftoff-17/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-18/index.html b/blog/2019/04/liftoff-18/index.html index 223437f35..0caf1757a 100644 --- a/blog/2019/04/liftoff-18/index.html +++ b/blog/2019/04/liftoff-18/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-19/index.html b/blog/2019/04/liftoff-19/index.html index 9b73a3321..8d56a8c7e 100644 --- a/blog/2019/04/liftoff-19/index.html +++ b/blog/2019/04/liftoff-19/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-20/index.html b/blog/2019/04/liftoff-20/index.html index be90abd00..f6bb64127 100644 --- a/blog/2019/04/liftoff-20/index.html +++ b/blog/2019/04/liftoff-20/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-21/index.html b/blog/2019/04/liftoff-21/index.html index eddb97270..a3275cd4f 100644 --- a/blog/2019/04/liftoff-21/index.html +++ b/blog/2019/04/liftoff-21/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-22/index.html b/blog/2019/04/liftoff-22/index.html index 4e1a195fb..db9a0da41 100644 --- a/blog/2019/04/liftoff-22/index.html +++ b/blog/2019/04/liftoff-22/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-23/index.html b/blog/2019/04/liftoff-23/index.html index b3c01c8ef..20acc3d7a 100644 --- a/blog/2019/04/liftoff-23/index.html +++ b/blog/2019/04/liftoff-23/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-24/index.html b/blog/2019/04/liftoff-24/index.html index 7207b36fa..a602b1464 100644 --- a/blog/2019/04/liftoff-24/index.html +++ b/blog/2019/04/liftoff-24/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-25/index.html b/blog/2019/04/liftoff-25/index.html index a2f8a4670..862cce518 100644 --- a/blog/2019/04/liftoff-25/index.html +++ b/blog/2019/04/liftoff-25/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-26/index.html b/blog/2019/04/liftoff-26/index.html index cda87da99..b47f35f51 100644 --- a/blog/2019/04/liftoff-26/index.html +++ b/blog/2019/04/liftoff-26/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-27/index.html b/blog/2019/04/liftoff-27/index.html index a291d9788..e8777e3c4 100644 --- a/blog/2019/04/liftoff-27/index.html +++ b/blog/2019/04/liftoff-27/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-28/index.html b/blog/2019/04/liftoff-28/index.html index 426603731..2c2d3884a 100644 --- a/blog/2019/04/liftoff-28/index.html +++ b/blog/2019/04/liftoff-28/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-29/index.html b/blog/2019/04/liftoff-29/index.html index 144d95c96..b7abb6c8f 100644 --- a/blog/2019/04/liftoff-29/index.html +++ b/blog/2019/04/liftoff-29/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/04/liftoff-30/index.html b/blog/2019/04/liftoff-30/index.html index 903d41981..19140be43 100644 --- a/blog/2019/04/liftoff-30/index.html +++ b/blog/2019/04/liftoff-30/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/08/1.3/index.html b/blog/2019/08/1.3/index.html index e0d1fe182..4c5216786 100644 --- a/blog/2019/08/1.3/index.html +++ b/blog/2019/08/1.3/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/10/1.5/index.html b/blog/2019/10/1.5/index.html index 3cd6297ee..078374aaa 100644 --- a/blog/2019/10/1.5/index.html +++ b/blog/2019/10/1.5/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/11/1.6/index.html b/blog/2019/11/1.6/index.html index 1c0404480..ffcb0693e 100644 --- a/blog/2019/11/1.6/index.html +++ b/blog/2019/11/1.6/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2019/12/1.7/index.html b/blog/2019/12/1.7/index.html index 347eb305a..ddbdbc384 100644 --- a/blog/2019/12/1.7/index.html +++ b/blog/2019/12/1.7/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2020/03/1.9/index.html b/blog/2020/03/1.9/index.html index f23390c5f..223e35fba 100644 --- a/blog/2020/03/1.9/index.html +++ b/blog/2020/03/1.9/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2020/03/custom-providers/index.html b/blog/2020/03/custom-providers/index.html index 8eda6d196..1df112c0f 100644 --- a/blog/2020/03/custom-providers/index.html +++ b/blog/2020/03/custom-providers/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2020/04/1.10/index.html b/blog/2020/04/1.10/index.html index b41f9a0e6..67029fbdf 100644 --- a/blog/2020/04/1.10/index.html +++ b/blog/2020/04/1.10/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2020/04/1.13/index.html b/blog/2020/04/1.13/index.html index c215a76e2..642823b5a 100644 --- a/blog/2020/04/1.13/index.html +++ b/blog/2020/04/1.13/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2020/07/1.18-image-editor/index.html b/blog/2020/07/1.18-image-editor/index.html index 533584c21..7151acbea 100644 --- a/blog/2020/07/1.18-image-editor/index.html +++ b/blog/2020/07/1.18-image-editor/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2020/09/companion-2.0/index.html b/blog/2020/09/companion-2.0/index.html index bcb1b7604..3ce4ffe9e 100644 --- a/blog/2020/09/companion-2.0/index.html +++ b/blog/2020/09/companion-2.0/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2020/10/1.22/index.html b/blog/2020/10/1.22/index.html index a4c5c0ea7..ed5b570fc 100644 --- a/blog/2020/10/1.22/index.html +++ b/blog/2020/10/1.22/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2020/11/1.23/index.html b/blog/2020/11/1.23/index.html index f838b5b75..3e210654f 100644 --- a/blog/2020/11/1.23/index.html +++ b/blog/2020/11/1.23/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2020/12/1.24/index.html b/blog/2020/12/1.24/index.html index a1d258583..de2bedee1 100644 --- a/blog/2020/12/1.24/index.html +++ b/blog/2020/12/1.24/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2021/01/1.25/index.html b/blog/2021/01/1.25/index.html index d4bcca831..7c9f8c3eb 100644 --- a/blog/2021/01/1.25/index.html +++ b/blog/2021/01/1.25/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2021/02/1.26/index.html b/blog/2021/02/1.26/index.html index 4b2a64013..6bcd2f41b 100644 --- a/blog/2021/02/1.26/index.html +++ b/blog/2021/02/1.26/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2021/04/1.27/index.html b/blog/2021/04/1.27/index.html index a47e8a2c2..e9332edf9 100644 --- a/blog/2021/04/1.27/index.html +++ b/blog/2021/04/1.27/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2021/05/1.29/index.html b/blog/2021/05/1.29/index.html index a049dc5e7..a39974c35 100644 --- a/blog/2021/05/1.29/index.html +++ b/blog/2021/05/1.29/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2021/07/1.30/index.html b/blog/2021/07/1.30/index.html index 586acc647..e985c7f4d 100644 --- a/blog/2021/07/1.30/index.html +++ b/blog/2021/07/1.30/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2021/08/2.0/index.html b/blog/2021/08/2.0/index.html index 89150930d..2080d3b08 100644 --- a/blog/2021/08/2.0/index.html +++ b/blog/2021/08/2.0/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2021/12/2.1-2.3/index.html b/blog/2021/12/2.1-2.3/index.html index 88e5f9f4c..cc3c682e7 100644 --- a/blog/2021/12/2.1-2.3/index.html +++ b/blog/2021/12/2.1-2.3/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2022/03/2.4-2.7/index.html b/blog/2022/03/2.4-2.7/index.html index 20a7df61b..c066a2e87 100644 --- a/blog/2022/03/2.4-2.7/index.html +++ b/blog/2022/03/2.4-2.7/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2022/09/3.0/index.html b/blog/2022/09/3.0/index.html index cb5f797c0..7781a3081 100644 --- a/blog/2022/09/3.0/index.html +++ b/blog/2022/09/3.0/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2022/12/3.3/index.html b/blog/2022/12/3.3/index.html index 40e3a433c..a0d019a65 100644 --- a/blog/2022/12/3.3/index.html +++ b/blog/2022/12/3.3/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2023-05-new-website/index.html b/blog/2023-05-new-website/index.html index 68548bd9d..67723bb5d 100644 --- a/blog/2023-05-new-website/index.html +++ b/blog/2023-05-new-website/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2023-10-25-image-editor/index.html b/blog/2023-10-25-image-editor/index.html index ca85cde4a..a8c95e1a0 100644 --- a/blog/2023-10-25-image-editor/index.html +++ b/blog/2023-10-25-image-editor/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2023/07/3.13-3.21/index.html b/blog/2023/07/3.13-3.21/index.html index 49c365536..daeb6c8f2 100644 --- a/blog/2023/07/3.13-3.21/index.html +++ b/blog/2023/07/3.13-3.21/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/2023/07/3.3-3.13/index.html b/blog/2023/07/3.3-3.13/index.html index 92e90333d..f08a6c29a 100644 --- a/blog/2023/07/3.3-3.13/index.html +++ b/blog/2023/07/3.3-3.13/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/archive/index.html b/blog/archive/index.html index 8faeff470..58e754ba1 100644 --- a/blog/archive/index.html +++ b/blog/archive/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/index.html b/blog/index.html index 5b51cde07..a1d719982 100644 --- a/blog/index.html +++ b/blog/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/page/2/index.html b/blog/page/2/index.html index 4bf0ba6ba..7abfc4e46 100644 --- a/blog/page/2/index.html +++ b/blog/page/2/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/page/3/index.html b/blog/page/3/index.html index 708ddf4c3..5f87ab0dd 100644 --- a/blog/page/3/index.html +++ b/blog/page/3/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/page/4/index.html b/blog/page/4/index.html index 4bacc8a77..8ff3fcabc 100644 --- a/blog/page/4/index.html +++ b/blog/page/4/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/page/5/index.html b/blog/page/5/index.html index 6ed4f7d2d..a498aba72 100644 --- a/blog/page/5/index.html +++ b/blog/page/5/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/page/6/index.html b/blog/page/6/index.html index ffa00c6de..177909cc0 100644 --- a/blog/page/6/index.html +++ b/blog/page/6/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/page/7/index.html b/blog/page/7/index.html index fe8876f90..d2df7a72e 100644 --- a/blog/page/7/index.html +++ b/blog/page/7/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/page/8/index.html b/blog/page/8/index.html index 8c8389c00..d4eebac96 100644 --- a/blog/page/8/index.html +++ b/blog/page/8/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/page/9/index.html b/blog/page/9/index.html index f56614f02..5eb454c3d 100644 --- a/blog/page/9/index.html +++ b/blog/page/9/index.html @@ -13,7 +13,7 @@ - + diff --git a/blog/uppy-4.0/index.html b/blog/uppy-4.0/index.html index a5d05fbec..255244fd9 100644 --- a/blog/uppy-4.0/index.html +++ b/blog/uppy-4.0/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/angular/index.html b/docs/angular/index.html index 9e92895ed..3187930cf 100644 --- a/docs/angular/index.html +++ b/docs/angular/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/audio/index.html b/docs/audio/index.html index 1e0a71061..102e6d190 100644 --- a/docs/audio/index.html +++ b/docs/audio/index.html @@ -13,7 +13,7 @@ - + @@ -26,7 +26,7 @@

When should I use this?

When you want users to record audio on their computer.

Install

-
npm install @uppy/audio
+
npm install @uppy/audio

Use

import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';
import Audio from '@uppy/audio';

import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';
import '@uppy/audio/dist/style.min.css';

new Uppy().use(Dashboard, { inline: true, target: 'body' }).use(Audio);

API

diff --git a/docs/aws-s3/index.html b/docs/aws-s3/index.html index 5abbcb47b..eca3d2b6f 100644 --- a/docs/aws-s3/index.html +++ b/docs/aws-s3/index.html @@ -13,7 +13,7 @@ - + @@ -48,7 +48,7 @@

When sh instead of short lived signed URL per resource. This is a security trade-off.

Install

-
npm install @uppy/aws-s3
+
npm install @uppy/aws-s3

Use

Setting up your S3 bucket

To use this plugin with S3 we need to setup a bucket with the right permissions diff --git a/docs/box/index.html b/docs/box/index.html index 62264df7d..2a2c52801 100644 --- a/docs/box/index.html +++ b/docs/box/index.html @@ -13,7 +13,7 @@ - + @@ -31,7 +31,7 @@

When are on a mobile connection.

You can self-host Companion or get a hosted version with any Transloadit plan.

-
npm install @uppy/box
+
npm install @uppy/box

Use

Using Box requires setup in both Uppy and Companion.

Use in Uppy

diff --git a/docs/companion/index.html b/docs/companion/index.html index f39c6c7e4..20a507ffc 100644 --- a/docs/companion/index.html +++ b/docs/companion/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/compressor/index.html b/docs/compressor/index.html index 2d82324b4..ba520f8ff 100644 --- a/docs/compressor/index.html +++ b/docs/compressor/index.html @@ -13,7 +13,7 @@ - + @@ -25,7 +25,7 @@

When sh

When your users are likely to upload images, potentially on mobile devices, and saving data and faster uploads are important.

Install

-
npm install @uppy/compressor
+
npm install @uppy/compressor

Use

import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';
import Compressor from '@uppy/compressor';

new Uppy()
.use(Dashboard, {inline:true, target: '#dashboard')
.use(Compressor);

No action is needed from the user — Uppy will automatically optimize images, diff --git a/docs/dashboard/index.html b/docs/dashboard/index.html index 3f3501b4c..c97276363 100644 --- a/docs/dashboard/index.html +++ b/docs/dashboard/index.html @@ -13,7 +13,7 @@ - + @@ -38,7 +38,7 @@

When capture their screen.

Install

-
npm install @uppy/core @uppy/dashboard
+
npm install @uppy/core @uppy/dashboard

Use

import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';

import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';

new Uppy().use(Dashboard, { inline: true, target: '#uppy-dashboard' });
note

The @uppy/dashboard plugin includes CSS for the Dashboard itself, and the diff --git a/docs/drag-drop/index.html b/docs/drag-drop/index.html index 97a4bb484..a70bee72d 100644 --- a/docs/drag-drop/index.html +++ b/docs/drag-drop/index.html @@ -13,7 +13,7 @@ - + @@ -27,7 +27,7 @@

When Dashboard is too much. But it can be too minimal too. By default it doesn’t show that a file has been added nor is there a progress bar.

Install

-
npm install @uppy/core @uppy/drag-drop
+
npm install @uppy/core @uppy/drag-drop

Use

import Uppy from '@uppy/core';
import DragDrop from '@uppy/drag-drop';

import '@uppy/core/dist/style.min.css';
import '@uppy/drag-drop/dist/style.min.css';

new Uppy().use(DragDrop, { target: '#drag-drop' });
info

Certain restrictions set in Uppy’s options, namely diff --git a/docs/drop-target/index.html b/docs/drop-target/index.html index 3808bd18d..6323da51e 100644 --- a/docs/drop-target/index.html +++ b/docs/drop-target/index.html @@ -13,7 +13,7 @@ - + @@ -29,7 +29,7 @@

When in the Dashboard UI, or catch dropped files from anywhere on the page.

Install

-
npm install @uppy/drop-target
+
npm install @uppy/drop-target

Use

This module has one default export: the DropTarget plugin class.

import Uppy from '@uppy/core';
import DropTarget from '@uppy/drop-target';

import '@uppy/core/dist/style.css';
import '@uppy/drop-target/dist/style.css';

const uppy = new Uppy();
uppy.use(DropTarget, {
target: document.body,
});
diff --git a/docs/dropbox/index.html b/docs/dropbox/index.html index 86a743074..e21e2e74b 100644 --- a/docs/dropbox/index.html +++ b/docs/dropbox/index.html @@ -13,7 +13,7 @@ - + @@ -31,7 +31,7 @@

When helpful if they are on a mobile connection.

You can self-host Companion or get a hosted version with any Transloadit plan.

-
npm install @uppy/dropbox
+
npm install @uppy/dropbox

Use

Using Dropbox requires setup in both Uppy and Companion.

Use in Uppy

diff --git a/docs/facebook/index.html b/docs/facebook/index.html index 59423a5d3..200dac685 100644 --- a/docs/facebook/index.html +++ b/docs/facebook/index.html @@ -13,7 +13,7 @@ - + @@ -31,7 +31,7 @@

When helpful if they are on a mobile connection.

You can self-host Companion or get a hosted version with any Transloadit plan.

-
npm install @uppy/facebook
+
npm install @uppy/facebook

Use

Using Facebook requires setup in both Uppy and Companion.

Use in Uppy

diff --git a/docs/file-input/index.html b/docs/file-input/index.html index c9598f075..7f057cb2c 100644 --- a/docs/file-input/index.html +++ b/docs/file-input/index.html @@ -13,7 +13,7 @@ - + @@ -23,7 +23,7 @@

When should I use it?

When you want users to select files from their local machine with a minimal UI.

Install

-
npm install @uppy/file-input
+
npm install @uppy/file-input

Use

import Uppy from '@uppy/core';
import FileInput from '@uppy/file-input';

import '@uppy/core/dist/style.min.css';
import '@uppy/file-input/dist/style.css';

new Uppy().use(FileInput, { target: '#uppy-file-input' });
note

The @uppy/file-input plugin includes some basic styles for use with the diff --git a/docs/form/index.html b/docs/form/index.html index 88d4db664..43fbbd74f 100644 --- a/docs/form/index.html +++ b/docs/form/index.html @@ -13,7 +13,7 @@ - + @@ -46,7 +46,7 @@

When and listen to uppy.on('complete') to get the upload results back.

Install

-
npm install @uppy/form
+
npm install @uppy/form

Use

app.js
import Uppy from '@uppy/core';
import Form from '@uppy/form';
import DragDrop from '@uppy/drag-drop';

import '@uppy/core/dist/style.min.css';
import '@uppy/drag-drop/dist/style.min.css';

new Uppy().use(Form, {
target: '#my-form',
});
index.html
<form id="my-form" action="/submit" method="get">
<label for="name">Enter your name: </label>
<input type="text" name="name" required />

<label for="dob">Date of birth: </label>
<input type="date" name="dob" />

<input type="submit" value="Save" />
</form>
diff --git a/docs/golden-retriever/index.html b/docs/golden-retriever/index.html index a1b59d1b3..e5e7496be 100644 --- a/docs/golden-retriever/index.html +++ b/docs/golden-retriever/index.html @@ -13,7 +13,7 @@ - + @@ -49,7 +49,7 @@

When something else in your app or otherwise, and then come back to the same selection.

Install

-
npm install @uppy/golden-retriever
+
npm install @uppy/golden-retriever

Use

import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';
import GoldenRetriever from '@uppy/golden-retriever';

new Uppy()
.use(Dashboard, {inline:true, target: '#dashboard')
.use(GoldenRetriever);

By default, Golden Retriever will only use the IndexedDB storage, which is diff --git a/docs/google-drive-picker/index.html b/docs/google-drive-picker/index.html index e44c23a05..a0a0a36b1 100644 --- a/docs/google-drive-picker/index.html +++ b/docs/google-drive-picker/index.html @@ -13,7 +13,7 @@ - + @@ -37,7 +37,7 @@

When

The downside of using the Picker UI made by Google is less controls, inability to select folders, downloading an additional bundle, and a less consistent user experience.

-
npm install @uppy/google-drive-picker
+
npm install @uppy/google-drive-picker

Use

Using Google Drive Picker requires setup in both Uppy and Companion.

Initial setup

diff --git a/docs/google-drive/index.html b/docs/google-drive/index.html index ee1260d8d..b2d985010 100644 --- a/docs/google-drive/index.html +++ b/docs/google-drive/index.html @@ -13,7 +13,7 @@ - + @@ -38,7 +38,7 @@

When

The downside is it needs a restricted API scope, which requires CASA Tier 2 compliance. This could take months to obtain and potentially a third-party security audit.

-
npm install @uppy/google-drive
+
npm install @uppy/google-drive

Use

Using Google Drive requires setup in both Uppy and Companion.

Use in Uppy

diff --git a/docs/google-photos-picker/index.html b/docs/google-photos-picker/index.html index 11ebf1fff..f16ee7962 100644 --- a/docs/google-photos-picker/index.html +++ b/docs/google-photos-picker/index.html @@ -13,7 +13,7 @@ - + @@ -37,7 +37,7 @@

When

The downside of using the Picker UI made by Google is less controls, inability to select folders, downloading an additional bundle, and a less consistent user experience.

-
npm install @uppy/google-photos-picker
+
npm install @uppy/google-photos-picker

Use

Using Google Photos Picker requires setup in both Uppy and Companion.

Initial setup

diff --git a/docs/google-photos/index.html b/docs/google-photos/index.html index 67333883b..d860ce917 100644 --- a/docs/google-photos/index.html +++ b/docs/google-photos/index.html @@ -13,7 +13,7 @@ - + @@ -38,7 +38,7 @@

When

The downside is it needs a restricted API scope, which requires CASA Tier 2 compliance. This could take months to obtain and potentially a third-party security audit.

-
npm install @uppy/google-photos
+
npm install @uppy/google-photos

Use

Using Google Photos requires setup in both Uppy and Companion.

Use in Uppy

diff --git a/docs/guides/browser-support/index.html b/docs/guides/browser-support/index.html index bcb4de7d9..06f8c270a 100644 --- a/docs/guides/browser-support/index.html +++ b/docs/guides/browser-support/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/guides/building-plugins/index.html b/docs/guides/building-plugins/index.html index a4c85c7b5..51bf4dd97 100644 --- a/docs/guides/building-plugins/index.html +++ b/docs/guides/building-plugins/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/guides/building-your-own-ui-with-uppy/index.html b/docs/guides/building-your-own-ui-with-uppy/index.html index f03a30f00..68631015b 100644 --- a/docs/guides/building-your-own-ui-with-uppy/index.html +++ b/docs/guides/building-your-own-ui-with-uppy/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/guides/choosing-uploader/index.html b/docs/guides/choosing-uploader/index.html index 5bf69cc45..ed45cfba1 100644 --- a/docs/guides/choosing-uploader/index.html +++ b/docs/guides/choosing-uploader/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/guides/custom-stores/index.html b/docs/guides/custom-stores/index.html index 7834584c1..2fad84b1c 100644 --- a/docs/guides/custom-stores/index.html +++ b/docs/guides/custom-stores/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/guides/migration-guides/index.html b/docs/guides/migration-guides/index.html index a36cfab6c..5be1ed570 100644 --- a/docs/guides/migration-guides/index.html +++ b/docs/guides/migration-guides/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/image-editor/index.html b/docs/image-editor/index.html index 58e42cb43..2d697b936 100644 --- a/docs/image-editor/index.html +++ b/docs/image-editor/index.html @@ -13,7 +13,7 @@ - + @@ -24,7 +24,7 @@

When

When you want to allow users to crop, rotate, zoom and flip images that are added to Uppy.

Install

-
npm install @uppy/core @uppy/dashboard @uppy/image-editor
+
npm install @uppy/core @uppy/dashboard @uppy/image-editor

Use

import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';
import ImageEditor from '@uppy/image-editor';

import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';
import '@uppy/image-editor/dist/style.min.css';

new Uppy()
.use(Dashboard, { inline: true, target: '#dashboard' })
.use(ImageEditor);

API

diff --git a/docs/index.html b/docs/index.html index 6654de92a..7c96992bd 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/informer/index.html b/docs/informer/index.html index b21d0af33..1a5ca0650 100644 --- a/docs/informer/index.html +++ b/docs/informer/index.html @@ -13,7 +13,7 @@ - + @@ -26,7 +26,7 @@

When sh This plugin is published separately but made specifically for the Dashboard. You can technically use it without it, but it’s not officially supported.

Install

-
npm install @uppy/informer
+
npm install @uppy/informer

Use

import Uppy from '@uppy/core';
import Informer from '@uppy/informer';

// The `@uppy/informer` plugin includes some basic styles.
// You can also choose not to use it and provide your own styles instead.
import '@uppy/core/dist/style.min.css';
import '@uppy/informer/dist/style.min.css';

new Uppy().use(Informer, { target: '#informer' });

Informer gets its data from uppy.state.info, which is updated by various diff --git a/docs/instagram/index.html b/docs/instagram/index.html index fb68bed39..86574501d 100644 --- a/docs/instagram/index.html +++ b/docs/instagram/index.html @@ -13,7 +13,7 @@ - + @@ -31,7 +31,7 @@

When helpful if they are on a mobile connection.

You can self-host Companion or get a hosted version with any Transloadit plan.

-
npm install @uppy/instagram
+
npm install @uppy/instagram

Use

Using Instagram requires setup in both Uppy and Companion.

Use in Uppy

diff --git a/docs/locales/index.html b/docs/locales/index.html index fd8323855..6b83c85de 100644 --- a/docs/locales/index.html +++ b/docs/locales/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/nextjs/index.html b/docs/nextjs/index.html index fb043fdb8..f731883a4 100644 --- a/docs/nextjs/index.html +++ b/docs/nextjs/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/onedrive/index.html b/docs/onedrive/index.html index 71f613e53..f6b7ec431 100644 --- a/docs/onedrive/index.html +++ b/docs/onedrive/index.html @@ -13,7 +13,7 @@ - + @@ -31,7 +31,7 @@

When helpful if they are on a mobile connection.

You can self-host Companion or get a hosted version with any Transloadit plan.

-
npm install @uppy/onedrive
+
npm install @uppy/onedrive

Use

Using OneDrive requires setup in both Uppy and Companion.

Use in Uppy

diff --git a/docs/progress-bar/index.html b/docs/progress-bar/index.html index ab5906897..238ce580e 100644 --- a/docs/progress-bar/index.html +++ b/docs/progress-bar/index.html @@ -13,7 +13,7 @@ - + @@ -27,7 +27,7 @@

When sh cases, Dashboard or Drag & Drop (with Status Bar) is more likely what you need.

Install

-
npm install @uppy/progress-bar
+
npm install @uppy/progress-bar

Use

import Uppy from '@uppy/core';
import ProgressBar from '@uppy/progress-bar';

import '@uppy/core/dist/style.min.css';
import '@uppy/progress-bar/dist/style.min.css';

new Uppy().use(ProgressBar, { target: '#progress-bar' });

API

diff --git a/docs/quick-start/index.html b/docs/quick-start/index.html index cb8f8fb55..7a71b025f 100644 --- a/docs/quick-start/index.html +++ b/docs/quick-start/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/react/index.html b/docs/react/index.html index 021ec66c2..80779a65e 100644 --- a/docs/react/index.html +++ b/docs/react/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/reactrouter/index.html b/docs/reactrouter/index.html index 10aa90ef1..08f87587e 100644 --- a/docs/reactrouter/index.html +++ b/docs/reactrouter/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/remote-sources/index.html b/docs/remote-sources/index.html index 13270739c..e589ceb18 100644 --- a/docs/remote-sources/index.html +++ b/docs/remote-sources/index.html @@ -13,7 +13,7 @@ - + @@ -36,7 +36,7 @@

When sh

You can self-host Companion or get a hosted version with any Transloadit plan.

Install

-
npm install @uppy/remote-sources
+
npm install @uppy/remote-sources

Use

import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';
import RemoteSources from '@uppy/remote-sources';

import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';

new Uppy();
.use(Dashboard);
.use(RemoteSources, { companionUrl: 'https://your-companion-url' });

Use with Transloadit

diff --git a/docs/screen-capture/index.html b/docs/screen-capture/index.html index 6b8f889a7..6397c2d18 100644 --- a/docs/screen-capture/index.html +++ b/docs/screen-capture/index.html @@ -13,7 +13,7 @@ - + @@ -33,7 +33,7 @@

When This restriction does not apply on localhost, so you don’t have to jump through many hoops during development.

Install

-
npm install @uppy/screen-capture
+
npm install @uppy/screen-capture

Use

import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';
import ScreenCapture from '@uppy/screen-capture';

import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';
import '@uppy/screen-capture/dist/style.min.css';

new Uppy().use(Dashboard, { inline: true, target: 'body' }).use(ScreenCapture);

API

diff --git a/docs/status-bar/index.html b/docs/status-bar/index.html index 7f2c83daa..15d98be09 100644 --- a/docs/status-bar/index.html +++ b/docs/status-bar/index.html @@ -13,7 +13,7 @@ - + @@ -29,7 +29,7 @@

When sh can still use it without it but it may need some (CSS) tweaking for your use case.

Install

-
npm install @uppy/status-bar
+
npm install @uppy/status-bar

Use

import Uppy from '@uppy/core';
import StatusBar from '@uppy/status-bar';

import '@uppy/core/dist/style.min.css';
import '@uppy/status-bar/dist/style.min.css';

new Uppy().use(StatusBar, { target: '#status-bar' });

API

diff --git a/docs/svelte/index.html b/docs/svelte/index.html index 2d705fd37..7a7c6b268 100644 --- a/docs/svelte/index.html +++ b/docs/svelte/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/sveltekit/index.html b/docs/sveltekit/index.html index b6a072e3c..e28798b69 100644 --- a/docs/sveltekit/index.html +++ b/docs/sveltekit/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/thumbnail-generator/index.html b/docs/thumbnail-generator/index.html index cfa7641c6..f886688a5 100644 --- a/docs/thumbnail-generator/index.html +++ b/docs/thumbnail-generator/index.html @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@

When downloaded on the server. Some providers, such as Google Drive, have baked in thumbnails into their API responses.

Install

-
npm install @uppy/thumbnail-generator
+
npm install @uppy/thumbnail-generator

Use

If you use the Dashboard then it’s already installed. If you want to use it programmatically for your own UI:

diff --git a/docs/transloadit/index.html b/docs/transloadit/index.html index bae57ab7a..1d8031456 100644 --- a/docs/transloadit/index.html +++ b/docs/transloadit/index.html @@ -13,7 +13,7 @@ - + @@ -39,7 +39,7 @@

When sh Companion servers, (optionally) need file processing, and store it in the service (such as S3 or GCS) of your liking. All with minimal effort.

Install

-
npm install @uppy/transloadit
+
npm install @uppy/transloadit

Use

A quick overview of the complete API.

import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';
import Transloadit from '@uppy/transloadit';

import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';

const uppy = new Uppy()
.use(Dashboard, { inline: true, target: 'body' })
.use(Transloadit, {
assemblyOptions: {
params: {
auth: { key: 'your-transloadit-key' },
template_id: 'your-template-id',
},
},
});
// Optionally listen to events
uppy.on('transloadit:assembly-created', (assembly, fileIDs) => {});
uppy.on('transloadit:upload', (file, assembly) => {});
uppy.on('transloadit:assembly-executing', (assembly) => {});
uppy.on('transloadit:result', (stepName, result, assembly) => {});
uppy.on('transloadit:complete', (assembly) => {});
diff --git a/docs/tus/index.html b/docs/tus/index.html index e2817e906..68ddbb9ac 100644 --- a/docs/tus/index.html +++ b/docs/tus/index.html @@ -13,7 +13,7 @@ - + @@ -35,7 +35,7 @@

When sh

If you want reliable, resumable uploads: use @uppy/tus to connect to your Tus server in a few lines of code.

Install

-
npm install @uppy/tus
+
npm install @uppy/tus

Use

A quick overview of the complete API.

import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';
import Tus from '@uppy/tus';

import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';

new Uppy()
.use(Dashboard, { inline: true, target: 'body' })
.use(Tus, { endpoint: 'https://tusd.tusdemo.net/files/' });
diff --git a/docs/unsplash/index.html b/docs/unsplash/index.html index 4c03df160..69dcbf24c 100644 --- a/docs/unsplash/index.html +++ b/docs/unsplash/index.html @@ -13,7 +13,7 @@ - + @@ -31,7 +31,7 @@

When helpful if they are on a mobile connection.

You can self-host Companion or get a hosted version with any Transloadit plan.

-
npm install @uppy/unsplash
+
npm install @uppy/unsplash

Use

Using Unsplash requires setup in both Uppy and Companion.

Use in Uppy

diff --git a/docs/uppy/index.html b/docs/uppy/index.html index 1a0a17a21..57123e092 100644 --- a/docs/uppy/index.html +++ b/docs/uppy/index.html @@ -13,7 +13,7 @@ - + @@ -33,7 +33,7 @@

When sh

If you want to see how it all comes together, checkout the examples.

Install

-
npm install @uppy/core
+
npm install @uppy/core

Use

@uppy/core has four exports: Uppy, UIPlugin, BasePlugin, and debugLogger. The default export is the Uppy class.

diff --git a/docs/url/index.html b/docs/url/index.html index 470dec2d0..3abcdf1a5 100644 --- a/docs/url/index.html +++ b/docs/url/index.html @@ -13,7 +13,7 @@ - + @@ -33,7 +33,7 @@

When Server Side Request Forgery (SSRF) protections built-in so you don’t have to worry about the security implications of arbitrary URLs.

-
npm install @uppy/url
+
npm install @uppy/url

Use

Using @uppy/url only requires setup in Uppy.

Use in Uppy

diff --git a/docs/vue/index.html b/docs/vue/index.html index 3bf343aa7..d42744ebd 100644 --- a/docs/vue/index.html +++ b/docs/vue/index.html @@ -13,7 +13,7 @@ - + diff --git a/docs/webcam/index.html b/docs/webcam/index.html index 67f85290a..0fa3fa84b 100644 --- a/docs/webcam/index.html +++ b/docs/webcam/index.html @@ -13,7 +13,7 @@ - + @@ -27,7 +27,7 @@

When sh separately but made specifically for the Dashboard. You can technically use it without it, but it’s not officially supported.

Install

-
npm install @uppy/webcam
+
npm install @uppy/webcam

Use

note

To use the Webcam plugin in Chrome, your site must be served over https. diff --git a/docs/webdav/index.html b/docs/webdav/index.html index 042a5b967..3b3ae6b63 100644 --- a/docs/webdav/index.html +++ b/docs/webdav/index.html @@ -13,7 +13,7 @@ - + @@ -35,7 +35,7 @@

When Server Side Request Forgery (SSRF) protections built-in so you don’t have to worry about the security implications of arbitrary URLs.

-
npm install @uppy/webdav
+
npm install @uppy/webdav

Use

import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';
import WebDav from '@uppy/webdav';

import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';

new Uppy()
.use(Dashboard, { inline: true, target: '#dashboard' })
.use(WebDav, { companionUrl: 'https://your-companion.com' });

API

diff --git a/docs/xhr-upload/index.html b/docs/xhr-upload/index.html index c7b47be1d..ef18924ad 100644 --- a/docs/xhr-upload/index.html +++ b/docs/xhr-upload/index.html @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@

When sh instance, if you have a Node.js server (or server-side framework like Next.js) you could integrate tus-node-server.

Install

-
npm install @uppy/xhr-upload
+
npm install @uppy/xhr-upload

Use

A quick overview of the complete API.

import Uppy from '@uppy/core';
import Dashboard from '@uppy/dashboard';
import XHR from '@uppy/xhr-upload';

import '@uppy/core/dist/style.min.css';
import '@uppy/dashboard/dist/style.min.css';

new Uppy()
.use(Dashboard, { inline: true, target: 'body' })
.use(XHR, { endpoint: 'https://your-domain.com/upload' });
diff --git a/docs/zoom/index.html b/docs/zoom/index.html index ee6834749..86b69494a 100644 --- a/docs/zoom/index.html +++ b/docs/zoom/index.html @@ -13,7 +13,7 @@ - + @@ -34,7 +34,7 @@

When they are on a mobile connection.

You can self-host Companion or get a hosted version with any Transloadit plan.

-
npm install @uppy/zoom
+
npm install @uppy/zoom

Use

Using Zoom requires setup in both Uppy and Companion.

Use in Uppy

diff --git a/examples/index.html b/examples/index.html index a7c862e52..89178792a 100644 --- a/examples/index.html +++ b/examples/index.html @@ -13,7 +13,7 @@ - + diff --git a/index.html b/index.html index b6e6ca85d..b40e775e0 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ - + diff --git a/privacy-policy/index.html b/privacy-policy/index.html index 9d3d69aa3..43df52a22 100644 --- a/privacy-policy/index.html +++ b/privacy-policy/index.html @@ -13,7 +13,7 @@ - + diff --git a/search/index.html b/search/index.html index d6bce8c55..904a6ce15 100644 --- a/search/index.html +++ b/search/index.html @@ -13,7 +13,7 @@ - +