UNPKG

gif-picker-react

Version:
47 lines (41 loc) 22.6 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var d = require('react'); function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var d__namespace = /*#__PURE__*/_interopNamespace(d); var x=class extends d__namespace.Component{constructor(r){super(r),this.state={hasError:!1};}static getDerivedStateFromError(){return {hasError:!0}}componentDidCatch(r,o){console.error("GIF Picker React failed to render:",r,o);}render(){return this.state.hasError?null:this.props.children}};var he=d__namespace.default.createContext(null),s=he;var ye=d__namespace.createContext(null),p=ye;function a(e,{insertAt:r}={}){if(!e||typeof document>"u")return;let o=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css",r==="top"&&o.firstChild?o.insertBefore(t,o.firstChild):o.appendChild(t),t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e));}a(`.GifPickerReact .gpr-body{display:flex;flex:1;min-height:0} `);var xe=d__namespace.createContext(null),l=xe;a(`.GifPickerReact .gpr-category-placeholder{border-radius:var(--gpr-category-border-radius);position:relative} `);a(`.GifPickerReact .gpr-placeholder{background-color:var(--gpr-placeholder-color);transition:opacity .2s ease-in-out} `);function be(e){return d__namespace.default.createElement("div",{...e,className:`gpr-placeholder ${e.className||""}`,style:{width:e.width,height:e.height,...e.style}})}var v=be;function Pe(){let e=d.useContext(l);return d__namespace.default.createElement(v,{className:"gpr-category-placeholder",height:e.categoryHeight,width:"100%"})}var j=Pe;a(`.GifPickerReact .gpr-category-list{display:grid;grid-gap:var(--gpr-category-list-padding);flex:1;grid-auto-rows:min-content;overflow-y:scroll;padding:var(--gpr-body-padding)} `);a(`.GifPickerReact .gpr-category{border-radius:var(--gpr-category-border-radius);cursor:pointer;position:relative;transition:box-shadow .15s ease-in-out}.GifPickerReact .gpr-category img{background-color:#d3d3d3;border-radius:var(--gpr-category-border-radius);height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.GifPickerReact .gpr-category-overlay{align-items:center;background-color:rgba(0,0,0,var(--gpr-category-background-opacity));border-radius:var(--gpr-category-border-radius);display:flex;height:100%;justify-content:center;left:0;overflow:hidden;position:absolute;top:0;transition:background-color .15s ease-in-out;width:100%}.GifPickerReact .gpr-category-overlay .gpr-category-name{color:var(--gpr-category-font-color);font-size:var(--gpr-category-font-size);font-weight:var(--gpr-category-font-weight);text-shadow:0 1px 1px rgba(0,0,0,var(--gpr-category-shadow-opacity))}.GifPickerReact .gpr-category:hover{box-shadow:0 0 0 2px var(--gpr-category-border-color-hover)}.GifPickerReact .gpr-category:hover .gpr-category-overlay{background-color:rgba(0,0,0,var(--gpr-category-shadow-opacity-hover))} `);function we({image:e,text:r,onClick:o}){let t=d.useContext(l);return d__namespace.default.createElement("button",{type:"button",className:"gpr-btn gpr-category",style:{height:t.categoryHeight},"data-testid":"gpr-category",onClick:o},d__namespace.default.createElement("img",{src:e,loading:"lazy"}),d__namespace.default.createElement("div",{className:"gpr-category-overlay"},d__namespace.default.createElement("div",{className:"gpr-category-name"},r)))}var C=we;function Ge({image:e,name:r}){let[o,t]=d.useContext(s);function n(){let i=Object.assign({},o);i.searchTerm=r,t(i);}return d__namespace.default.createElement(C,{image:e,text:r,onClick:n})}var K=Ge;a(`.GifPickerReact .gpr-icn-trending{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath fill='%23fff' d='M6.3 37 4 34.7l15-15 8 8.05L41.9 11l2.1 2.05-17 19.2-8-7.95Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px;height:20px;width:20px}.GifPickerReact .gpr-category .gpr-text-trending-category{align-items:center;display:flex;gap:4px} `);function Ie({image:e}){let[r,o]=d.useContext(s);function t(){let n=Object.assign({},r);n.showTrending=!0,o(n);}return d__namespace.default.createElement(C,{image:e,onClick:t,text:d__namespace.default.createElement("div",{className:"gpr-text-trending-category"},d__namespace.default.createElement("div",{className:"gpr-icn-trending"}),d__namespace.default.createElement("span",null,"Trending GIFs"))})}var _=Ie;function Le({categories:e,trending:r,columnsCount:o}){var n;function t(){if(!e)return;let g=(e.length+1)%o;return g==0?e:e==null?void 0:e.slice(0,-g)}return d__namespace.default.createElement("div",{className:"gpr-category-list",style:{gridTemplateColumns:`repeat(${o}, 1fr)`}},e&&r?d__namespace.default.createElement(d__namespace.default.Fragment,null,d__namespace.default.createElement(_,{image:r.url}),(n=t())==null?void 0:n.map((i,c)=>d__namespace.default.createElement(K,{key:c,image:i.image,name:i.name}))):d__namespace.default.createElement(d__namespace.default.Fragment,null,[...Array(10*o)].map((i,c)=>d__namespace.default.createElement(j,{key:c}))))}var z=Le;a(`.GifPickerReact .gpr-gif-list{display:flex;flex:1;flex-direction:row;gap:var(--gpr-category-list-padding);overflow-y:scroll;padding:var(--gpr-body-padding)}.GifPickerReact .gpr-gif-list-column{display:grid;flex:1;grid-gap:var(--gpr-category-list-padding);grid-auto-rows:min-content;grid-template-columns:1fr;grid-template-rows:auto 1fr}.GifPickerReact .gpr-gif-list-no-result{align-items:center;display:flex;flex:1;justify-content:center;padding-bottom:30%} `);a(`.GifPickerReact .gpr-result-placeholder{border-radius:var(--gpr-category-border-radius)} `);function Fe({height:e,showDelay:r}){let[o,t]=d.useState(!1);return d.useEffect(()=>{if(o)return;function n(){t(!0);}let i=setTimeout(n,r);return ()=>clearTimeout(i)},[]),d__namespace.default.createElement(v,{className:"gpr-result-placeholder",height:e,width:"100%",style:{opacity:o?1:0}})}var O=Fe;var X=[[120,100,130,175,154,110],[150,115,135,154,145,170],[140,125,120,150,100,125],[130,145,175,120,135,100]];function Be({columnsCount:e,showDelay:r=70}){return d__namespace.default.createElement("div",{className:"gpr-gif-list"},[...Array(e)].map((o,t)=>d__namespace.default.createElement("div",{className:"gpr-gif-list-column",key:t},X[t%X.length].map((n,i)=>d__namespace.default.createElement(O,{key:i,height:n,showDelay:(i+1)*r*e+r*t})))))}var J=Be;a(`.GifPickerReact .gpr-result-image{border-radius:var(--gpr-category-border-radius);cursor:pointer;transition:box-shadow .15s ease-in-out}.GifPickerReact .gpr-result-image img{background-color:var(--gpr-placeholder-color);border-radius:var(--gpr-category-border-radius);height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.GifPickerReact .gpr-result-image:hover{box-shadow:0 0 0 2px var(--gpr-category-border-color-hover)} `);function He({image:e,searchTerm:r}){let o=d.useContext(l),t=d.useContext(p);function n(){let i=o.onGifClick;i&&i(e),t.registerShare(e,r);}return d__namespace.default.createElement("button",{type:"button",className:"gpr-btn gpr-result-image",onClick:n},d__namespace.default.createElement("img",{src:e.preview.url,height:e.preview.height,width:e.preview.width,loading:"lazy"}))}var q=He;function je({isLoading:e,result:r,searchTerm:o,columnsCount:t}){let n=d.useMemo(()=>Ke(r,t),[r,t]),i=!r||r.images.length<=0;return e?d__namespace.default.createElement(J,{columnsCount:t}):i?d__namespace.default.createElement("div",{className:"gpr-gif-list-no-result"},d__namespace.default.createElement("span",null,"No GIFs found!")):d__namespace.default.createElement("div",{className:"gpr-gif-list"},n.map((c,g)=>d__namespace.default.createElement("div",{className:"gpr-gif-list-column",key:g},c.map(u=>d__namespace.default.createElement(q,{key:u.id,image:u,searchTerm:o})))))}function Ke(e,r=2){if(!e)return [];let o=new Array(r).fill(null).map(()=>[]),t=new Array(r).fill(0);for(let n of e.images){let i=n.preview.height/n.preview.width,c=t.indexOf(Math.min(...t));o[c].push(n),t[c]+=i;}return o}var P=je;function Xe({searchTerm:e,columnsCount:r}){let[o,t]=d.useState(null),[n,i]=d.useState(!0),c=d.useContext(p);return d.useEffect(()=>{i(!0);async function g(){let m=await c.search(e);t(m),i(!1);}let u=setTimeout(()=>g(),800);return ()=>clearTimeout(u)},[e]),d__namespace.default.createElement(P,{isLoading:n,columnsCount:r,result:o,searchTerm:e})}var Y=Xe;function qe({columnsCount:e}){let[r,o]=d.useState(null),[t,n]=d.useState(!0),i=d.useContext(p);return d.useEffect(()=>{n(!0),(async()=>{let c=await i.trending();o(c),n(!1);})();},[]),d__namespace.default.createElement(P,{columnsCount:e,isLoading:t,result:r})}var Q=qe;var Ye=170;function Ze({width:e}){let[r,o]=d.useState(void 0),[t,n]=d.useState(void 0),[i]=d.useContext(s),[c,g]=d.useState(1),u=d.useContext(p),m=d.useRef(null);return d.useEffect(()=>{(async()=>{let E=await u.categories();o(E);let y=await u.trending(1);n(y.images[0]);})();},[]),d.useEffect(()=>{let E=m.current?m.current.offsetWidth:0,y=Math.floor(E/Ye);y<1&&(y=1),g(y);},[m.current,e]),d__namespace.default.createElement("div",{className:"gpr-body",ref:m},i.showTrending?d__namespace.default.createElement(Q,{columnsCount:c}):i.searchTerm?d__namespace.default.createElement(Y,{columnsCount:c,searchTerm:i.searchTerm}):d__namespace.default.createElement(z,{columnsCount:c,categories:r,trending:t}))}var re=Ze;a(`.GifPickerReact .gpr-header{border-bottom:1px solid var(--gpr-picker-border-color);min-height:0;padding:var(--gpr-header-padding)} `);function Qe(e){return d__namespace.createElement("button",{type:"button",...e,className:"gpr-btn "+e.className},e.children)}var w=Qe;a(`.GifPickerReact button.gpr-btn-clear-search{align-items:center;border-radius:50%;display:flex;height:20px;justify-content:end;padding:0;position:absolute;right:var(--gpr-search-bar-inner-padding);top:50%;transform:translateY(-50%);width:20px}.GifPickerReact .gpr-icn-clear-search{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='20' height='80'%3E%3Cpath fill='%23868686' d='M6.98 13.59a.53.53 0 0 0 .74 0l2.42-2.42 2.43 2.43a.53.53 0 0 0 .74 0c.21-.21.21-.54 0-.75l-2.43-2.43L13.32 8c.21-.21.21-.54 0-.75a.525.525 0 0 0-.75 0l-2.42 2.42-2.41-2.4a.525.525 0 0 0-.75 0c-.21.21-.21.54 0 .75l2.41 2.41-2.42 2.42c-.21.2-.21.54 0 .74'/%3E%3Cpath fill='%23868686' d='M10.15 18.43c4.41 0 8-3.59 8-8s-3.59-8-8-8-8 3.59-8 8 3.59 8 8 8m0-14.94c3.83 0 6.94 3.11 6.94 6.94s-3.11 6.94-6.94 6.94-6.94-3.11-6.94-6.94 3.12-6.94 6.94-6.94'/%3E%3Cpath fill='%233371B7' d='M6.98 33.59a.53.53 0 0 0 .74 0l2.42-2.42 2.43 2.43a.53.53 0 0 0 .74 0c.21-.21.21-.54 0-.75l-2.43-2.43L13.32 28c.21-.21.21-.54 0-.75a.525.525 0 0 0-.75 0l-2.42 2.42-2.41-2.41a.525.525 0 0 0-.75 0c-.21.21-.21.54 0 .75l2.41 2.41-2.42 2.42c-.21.21-.21.55 0 .75'/%3E%3Cpath fill='%233371B7' d='M10.15 38.43c4.41 0 8-3.59 8-8s-3.59-8-8-8-8 3.59-8 8 3.59 8 8 8m0-14.94c3.83 0 6.94 3.11 6.94 6.94s-3.11 6.94-6.94 6.94-6.94-3.11-6.94-6.94 3.12-6.94 6.94-6.94'/%3E%3Cpath fill='%23C0C0BF' d='M6.98 53.59a.53.53 0 0 0 .74 0l2.42-2.42 2.43 2.43a.53.53 0 0 0 .74 0c.21-.21.21-.54 0-.75l-2.43-2.43L13.32 48c.21-.21.21-.54 0-.75a.525.525 0 0 0-.75 0l-2.42 2.42-2.41-2.41a.525.525 0 0 0-.75 0c-.21.21-.21.54 0 .75l2.41 2.41-2.42 2.42c-.21.21-.21.55 0 .75'/%3E%3Cpath fill='%23C0C0BF' d='M10.15 58.43c4.41 0 8-3.59 8-8s-3.59-8-8-8-8 3.59-8 8 3.59 8 8 8m0-14.94c3.83 0 6.94 3.11 6.94 6.94s-3.11 6.94-6.94 6.94-6.94-3.11-6.94-6.94 3.12-6.94 6.94-6.94'/%3E%3Cpath fill='%236AA9DD' d='M6.98 73.59a.53.53 0 0 0 .74 0l2.42-2.42 2.43 2.43a.53.53 0 0 0 .74 0c.21-.21.21-.54 0-.75l-2.43-2.43L13.32 68c.21-.21.21-.54 0-.75a.525.525 0 0 0-.75 0l-2.42 2.42-2.41-2.41a.525.525 0 0 0-.75 0c-.21.21-.21.54 0 .75l2.41 2.41-2.42 2.42c-.21.21-.21.55 0 .75'/%3E%3Cpath fill='%236AA9DD' d='M10.15 78.43c4.41 0 8-3.59 8-8s-3.59-8-8-8-8 3.59-8 8 3.59 8 8 8m0-14.94c3.83 0 6.94 3.11 6.94 6.94s-3.11 6.94-6.94 6.94-6.94-3.11-6.94-6.94 3.12-6.94 6.94-6.94'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:20px;height:20px;width:20px}.GifPickerReact .gpr-search-container button.gpr-btn-clear-search:focus .gpr-icn-clear-search,.GifPickerReact button.gpr-btn-clear-search:hover .gpr-icn-clear-search{background-position-y:-20px}.GifPickerReact button.gpr-btn-clear-search:focus,.GifPickerReact button.gpr-btn-clear-search:hover{background:var(--gpr-hover-bg-color)}.GifPickerReact.gpr-dark-theme button.gpr-btn-clear-search .gpr-icn-clear-search{background-position-y:-40px}.GifPickerReact.gpr-dark-theme button.gpr-btn-clear-search:hover .gpr-icn-clear-search{background-position-y:-60px} `);function Ve({onClick:e}){return d__namespace.default.createElement(w,{className:"gpr-btn-clear-search",onClick:e},d__namespace.default.createElement("div",{className:"gpr-icn-clear-search"}))}var ie=Ve;a(`.GifPickerReact .gpr-search-container{display:block;flex:1;min-width:0;position:relative}.GifPickerReact .gpr-search-container input.gpr-search{background-color:var(--gpr-search-input-bg-color);border:1px solid var(--gpr-search-input-bg-color);border-radius:var(--gpr-search-input-border-radius);color:var(--gpr-search-input-text-color);height:var(--gpr-search-input-height);outline:none;padding:var(--gpr-search-input-padding);transition:all .2s ease-in-out;width:100%}.GifPickerReact .gpr-search-container .gpr-icn-search{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' width='20' height='40'%3E%3Cpath fill='%23868686' fill-rule='evenodd' d='M12 8.81c0 2.08-1.68 3.76-3.76 3.76s-3.76-1.68-3.76-3.76 1.68-3.76 3.76-3.76S12 6.73 12 8.81m-.77 3.91c-.83.64-1.87 1.01-2.99 1.01-2.72 0-4.92-2.2-4.92-4.92s2.2-4.92 4.92-4.92 4.92 2.2 4.92 4.92c0 1.13-.38 2.16-1.01 2.99l3.94 3.93c.25.25.25.66 0 .92-.25.25-.66.25-.92 0z' clip-rule='evenodd'/%3E%3Cpath fill='%23C0C0BF' fill-rule='evenodd' d='M12 28.81c0 2.08-1.68 3.76-3.76 3.76s-3.76-1.68-3.76-3.76 1.68-3.76 3.76-3.76S12 26.73 12 28.81m-.77 3.91c-.83.64-1.87 1.01-2.99 1.01-2.72 0-4.92-2.2-4.92-4.92s2.2-4.92 4.92-4.92 4.92 2.2 4.92 4.92c0 1.13-.38 2.16-1.01 2.99l3.94 3.93c.25.25.25.66 0 .92-.25.25-.66.25-.92 0z' clip-rule='evenodd'/%3E%3C/svg%3E");background-position:0 0;background-repeat:no-repeat;background-size:20px;content:"";height:20px;left:var(--gpr-search-bar-inner-padding);position:absolute;top:50%;transform:translateY(-50%);width:20px}.GifPickerReact.gpr-dark-theme .gpr-search-container .gpr-icn-search{background-position-y:-20px}.GifPickerReact .gpr-search-container input.gpr-search::-moz-placeholder{color:var(--gpr-search-input-placeholder-color)}.GifPickerReact .gpr-search-container input.gpr-search::placeholder{color:var(--gpr-search-input-placeholder-color)}.GifPickerReact .gpr-search-container input.gpr-search:focus{background-color:var(--gpr-search-input-bg-color-active);border:1px solid var(--gpr-search-border-color-active)} `);function er(){let[e,r]=d.useContext(s),o=d.useContext(l);function t(i){let c=Object.assign({},e);c.searchTerm=i.target.value,r(c);}function n(){let i=Object.assign({},e);i.searchTerm="",r(i);}return d__namespace.default.createElement("div",{className:"gpr-search-container"},d__namespace.default.createElement("input",{autoFocus:o.autoFocusSearch,"aria-label":"Search Tenor",placeholder:"Search Tenor",className:"gpr-search","data-testid":"gpr-search-input",type:"text",dir:"auto",maxLength:500,value:e.searchTerm,onChange:t}),d__namespace.default.createElement("div",{className:"gpr-icn-search"}),e.searchTerm.length>0&&d__namespace.default.createElement(ie,{onClick:n}))}var ae=er;a(`.GifPickerReact .gpr-title-container{display:block;flex:1;min-width:0;position:relative}.GifPickerReact .gpr-title-container .gpr-title{align-items:center;background-color:var(--gpr-search-input-bg-color);border-radius:var(--gpr-search-input-border-radius);color:var(--gpr-search-input-text-color);display:flex;height:var(--gpr-search-input-height);padding:var(--gpr-horizontal-padding);width:100%} `);function tr({children:e}){let[r,o]=d.useContext(s);function t(){let n=Object.assign({},r);n.showTrending=!1,o(n);}return d__namespace.default.createElement("div",{className:"gpr-title-container"},d__namespace.default.createElement("div",{className:"gpr-title"},e),d__namespace.default.createElement(w,{className:"gpr-btn-clear-search",onClick:t},d__namespace.default.createElement("div",{className:"gpr-icn-clear-search"})))}var ce=tr;function ir(){let[e]=d.useContext(s);return d__namespace.default.createElement("div",{className:"gpr-header"},e.showTrending?d__namespace.default.createElement(ce,null,"Trending GIFs"):d__namespace.default.createElement(ae,null))}var se=ir;var M=(n=>(n.HIGH="high",n.MEDIUM="medium",n.LOW="low",n.OFF="off",n))(M||{}),G=(t=>(t.LIGHT="light",t.DARK="dark",t.AUTO="auto",t))(G||{});function cr({children:e}){let r=d.useContext(l),o={height:r.height,width:r.width};return d__namespace.default.createElement("aside",{className:`GifPickerReact gpr-main ${r.theme==="dark"?" gpr-dark-theme":""}`,style:o},e)}var le=cr;a(`.GifPickerReact{color-scheme:light;--gpr-highlight-color:#007aeb;--gpr-hover-bg-color:#f1f8ff;--gpr-focus-bg-color:#e0f0ff;--gpr-text-color:#858585;--gpr-search-input-bg-color:#f6f6f6;--gpr-picker-border-color:#e7e7e7;--gpr-bg-color:#fff;--gpr-horizontal-padding:10px;--gpr-picker-border-radius:8px;--gpr-header-padding:15px var(--gpr-horizontal-padding);--gpr-search-input-bg-color-active:var(--gpr-search-input-bg-color);--gpr-search-input-padding:0 32px;--gpr-search-input-border-radius:8px;--gpr-search-input-height:40px;--gpr-search-input-text-color:var(--gpr-text-color);--gpr-search-input-placeholder-color:var(--gpr-text-color);--gpr-search-bar-inner-padding:var(--gpr-horizontal-padding);--gpr-search-border-color-active:var(--gpr-highlight-color);--gpr-body-padding:var(--gpr-header-padding) 0px;--gpr-category-list-padding:var(--gpr-horizontal-padding);--gpr-category-border-radius:4px;--gpr-category-background-opacity:40%;--gpr-category-font-color:var(--gpr-picker-border-color);--gpr-category-font-size:16px;--gpr-category-font-weight:600;--gpr-category-shadow-opacity:60%;--gpr-category-shadow-opacity-hover:65%;--gpr-category-border-color-hover:var(--gpr-highlight-color);--gpr-placeholder-color:#d3d3d3}.GifPickerReact.gpr-dark-theme{color-scheme:dark;--gpr-dark:#000;--gpr-hover-bg-color:#363636f6;--gpr-focus-bg-color:#474747;--gpr-text-color:silver;--gpr-search-input-bg-color:#3b3b3b;--gpr-picker-border-color:#2b2b2b;--gpr-bg-color:#222;--gpr-category-font-color:#e7e7e7;--gpr-search-input-bg-color-active:var(--gpr-dark);--gpr-placeholder-color:var(--gpr-search-input-bg-color)}.GifPickerReact *{box-sizing:border-box}.GifPickerReact.gpr-main{background-color:var(--gpr-bg-color);border-color:var(--gpr-picker-border-color);border-radius:var(--gpr-picker-border-radius);border-style:solid;border-width:1px;color:var(--gpr-text-color);display:flex;flex-direction:column;position:relative}.GifPickerReact button.gpr-btn{background:none;border:0;cursor:pointer;outline:none;padding:0} `);function lr(e){let r={searchTerm:e,showTrending:!1},[o,t]=d.useState(r);return [o,t]}var pe=lr;function pr(e){if(!e.tenorApiKey)throw new Error("tenorApiKey is a required prop that is missing");return {tenorApiKey:e.tenorApiKey,onGifClick:e.onGifClick??void 0,autoFocusSearch:e.autoFocusSearch??!0,clientKey:e.clientKey??"gif-picker-react",country:e.country??"US",locale:e.locale??"en_US",contentFilter:e.contentFilter??"off",height:N(e.height??450),width:N(e.width??350),categoryHeight:N(e.categoryHeight??100),theme:gr(e.theme),initialSearchTerm:e.initialSearchTerm??""}}function N(e){if(typeof e=="number")return `${e}px`;if(typeof e=="string")return e;throw new TypeError("Invalid dimension provided")}function gr(e){return e==="auto"?dr()?"dark":"light":e??"light"}function dr(){return typeof window>"u"?!1:!!window.matchMedia("(prefers-color-scheme: dark)").matches}var ge=pr;var ur="gif,tinygif",mr="https://tenor.googleapis.com/v2/",F=class{apiKey;clientKey;country;locale;contentFilter;constructor(r,o,t,n,i){this.apiKey=r,this.clientKey=o,this.country=t,this.locale=n,this.contentFilter=i;}async callApi(r,o){let t=new URLSearchParams({key:this.apiKey,client_key:this.clientKey,contentfilter:this.contentFilter,media_filter:ur,locale:this.locale,country:this.country,...o}),n=mr+r+"?"+t;return fetch(n).then(i=>(i.ok||(console.error(i),console.error("[gif-picker-react] Failed to fetch data from Tenor API")),i)).then(i=>i.json()).catch(i=>{console.error(i),console.error("[gif-picker-react] Failed to fetch data from Tenor API");})}praseResult(r){let o=r.media_formats.tinygif,t=r.media_formats.gif;return {id:r.id,tenorUrl:r.itemurl,shortTenorUrl:r.url,description:r.content_description,createdAt:new Date(r.created*1e3),tags:r.tags,url:t.url,width:t.dims[0],height:t.dims[1],preview:{url:o.url,width:o.dims[0],height:o.dims[1]}}}async categories(){return this.callApi("categories",{type:"featured"}).then(r=>r.tags.map(t=>({name:t.searchterm,image:t.image})))}async search(r,o=50){return this.callApi("search",{q:r,ar_range:"all",limit:o}).then(t=>{let i=t.results.map(this.praseResult);return {next:t.next,images:i}})}async trending(r=50){return this.callApi("featured",{ar_range:"all",limit:r}).then(o=>{let n=o.results.map(this.praseResult);return {next:o.next,images:n}})}async registerShare(r,o){let t={id:r.id};o&&(t.q=o),await this.callApi("registershare",t);}},de=F;function hr(e){let r=ge(e),o=pe(r.initialSearchTerm),t=d.useMemo(()=>new de(r.tenorApiKey,r.clientKey,r.country,r.locale,r.contentFilter),[]);return d__namespace.default.createElement(l.Provider,{value:r},d__namespace.default.createElement(s.Provider,{value:o},d__namespace.default.createElement(p.Provider,{value:t},d__namespace.default.createElement(le,null,d__namespace.default.createElement(se,null),d__namespace.default.createElement(re,{width:e.width})))))}var ue=hr;function yr(e){return d__namespace.default.createElement(x,null,d__namespace.default.createElement(ue,{...e}))}var Xo=yr; exports.ContentFilter = M; exports.Theme = G; exports.default = Xo; //# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map