{"version":3,"file":"index.cjs","names":["poweredByKlipyGray","poweredByKlipyWhite"],"sources":["../../../src/providers/klipy/klipy.types.ts","../../../src/providers/klipy/assets/powered-by-klipy-gray.svg","../../../src/providers/klipy/assets/powered-by-klipy-white.svg","../../../src/providers/klipy/KlipyProvider.ts"],"sourcesContent":["export enum ContentFilter {\n\tHIGH = 'high',\n\tMEDIUM = 'medium',\n\tLOW = 'low',\n\tOFF = 'off',\n}\n\nexport enum KlipyItemType {\n\tGIF = 'gif',\n\tAD = 'ad',\n}\n\nexport enum KlipyQuality {\n\tHD = 'hd',\n\tMD = 'md',\n\tSM = 'sm',\n\tXS = 'xs',\n}\n\nexport interface KlipyMediaFormat {\n\turl: string;\n\twidth: number;\n\theight: number;\n\tsize: number;\n}\n\nexport interface KlipyFileVariant {\n\tgif?: KlipyMediaFormat;\n\twebp?: KlipyMediaFormat;\n\tjpg?: KlipyMediaFormat;\n\tmp4?: KlipyMediaFormat;\n\twebm?: KlipyMediaFormat;\n}\n\nexport interface KlipyItem {\n\tid: number;\n\tslug: string;\n\ttitle: string;\n\tfile: Record<KlipyQuality, KlipyFileVariant>;\n\ttags: string[];\n\ttype: KlipyItemType;\n\tblur_preview?: string;\n}\n\nexport interface KlipyEnvelope<T> {\n\tresult: boolean;\n\tdata: T;\n}\n\nexport interface KlipyListData {\n\tdata: KlipyItem[];\n\tcurrent_page: number;\n\tper_page: number;\n\thas_next: boolean;\n}\n\nexport interface KlipyCategory {\n\tcategory: string;\n\tquery: string;\n\tpreview_url: string;\n}\n\nexport interface KlipyCategoriesData {\n\tlocale: string;\n\tcategories: KlipyCategory[];\n}\n","\"data:image/svg+xml,<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>%0A<svg id=\\\"Layer_2\\\" data-name=\\\"Layer 2\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 2335.63 396.67\\\">%0A  <defs>%0A    <style>%0A      .cls-1 {%0A        fill: %236d6d6d;%0A      }%0A    </style>%0A  </defs>%0A  <g id=\\\"Layer_1-2\\\" data-name=\\\"Layer 1\\\">%0A    <g>%0A      <g>%0A        <path class=\\\"cls-1\\\" d=\\\"M82.4,203.22c7.32,7.05,10.99,16.84,10.99,29.38,0,8.32-1.69,15.48-5.08,21.47-3.39,5.99-8.1,10.54-14.15,13.65-6.05,3.11-13.01,4.66-20.89,4.66h-28.63v44.78H0v-124.51h53.27c12.09,0,21.81,3.52,29.13,10.57ZM50.27,250.58c5.21,0,9.51-1.58,12.9-4.74,3.38-3.16,5.08-7.57,5.08-13.23s-1.69-10.24-5.08-13.4c-3.39-3.16-7.69-4.74-12.9-4.74h-25.63v36.12h25.63Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M207.16,198.81c9.71,5.22,17.34,12.65,22.89,22.31,5.55,9.65,8.32,20.92,8.32,33.79s-2.78,24.14-8.32,33.79c-5.55,9.65-13.18,17.09-22.89,22.31-9.71,5.22-20.72,7.82-33.04,7.82s-23.55-2.61-33.38-7.82c-9.82-5.21-17.51-12.65-23.05-22.31-5.55-9.65-8.32-20.92-8.32-33.79s2.77-24.14,8.32-33.79c5.55-9.65,13.23-17.09,23.05-22.31,9.82-5.21,20.95-7.82,33.38-7.82s23.33,2.61,33.04,7.82ZM139.66,277.38c3.33,6.33,7.96,11.18,13.9,14.56,5.94,3.39,12.79,5.08,20.56,5.08s14.45-1.69,20.39-5.08c5.94-3.38,10.54-8.24,13.82-14.56,3.27-6.33,4.91-13.82,4.91-22.47s-1.64-16.15-4.91-22.47c-3.27-6.33-7.88-11.18-13.82-14.56-5.94-3.38-12.73-5.08-20.39-5.08s-14.62,1.69-20.56,5.08c-5.94,3.39-10.57,8.24-13.9,14.56-3.33,6.33-4.99,13.82-4.99,22.47s1.66,16.15,4.99,22.47Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M339.91,235.93l-27.13,81.23h-20.81l-43.45-124.51h27.13l26.97,83.56,27.13-83.56h20.31l27.13,83.56,27.13-83.56h26.97l-43.45,124.51h-20.81l-27.13-81.23Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M474.24,242.59h47.61v21.47h-47.61v31.13h54.93v21.97h-79.57v-124.51h79.4v21.81h-54.77v28.13Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M552.98,192.65h52.6c11.99,0,21.64,3.5,28.96,10.49s10.99,16.7,10.99,29.13c0,8.55-1.78,15.84-5.33,21.89-3.55,6.05-8.55,10.57-14.98,13.57l26.97,49.44h-27.97l-24.64-45.28h-21.97v45.28h-24.64v-124.51ZM602.58,250.08c5.33,0,9.65-1.55,12.98-4.66,3.33-3.11,4.99-7.49,4.99-13.15s-1.66-10.04-4.99-13.15c-3.33-3.11-7.66-4.66-12.98-4.66h-24.97v35.62h24.97Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M698.3,242.59h47.61v21.47h-47.61v31.13h54.93v21.97h-79.57v-124.51h79.4v21.81h-54.77v28.13Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M859.6,200.14c9.32,4.99,16.65,12.18,21.97,21.56,5.33,9.38,7.99,20.45,7.99,33.21s-2.66,23.83-7.99,33.21c-5.33,9.38-12.68,16.56-22.06,21.56-9.38,4.99-19.95,7.49-31.71,7.49h-50.77v-124.51h50.94c11.76,0,22.31,2.5,31.63,7.49ZM827.97,295.85c11.43,0,20.47-3.5,27.13-10.49,6.66-6.99,9.99-17.15,9.99-30.46s-3.3-23.47-9.9-30.46c-6.6-6.99-15.62-10.49-27.05-10.49h-26.47v81.9h26.3Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M1031.3,201.39c7.05,5.83,10.57,14.4,10.57,25.72,0,5.66-1.06,10.52-3.16,14.57-2.11,4.05-4.88,7.41-8.32,10.07,4.66,2.11,8.57,5.69,11.74,10.74,3.16,5.05,4.74,11.24,4.74,18.56,0,11.65-3.64,20.59-10.9,26.8-7.27,6.22-16.95,9.32-29.05,9.32h-55.26v-124.51h51.44c11.76,0,21.17,2.91,28.21,8.74ZM1001.92,242.92c4.55,0,8.13-1.14,10.74-3.41,2.61-2.27,3.91-5.8,3.91-10.57s-1.44-8.38-4.33-10.82c-2.89-2.44-6.88-3.66-11.99-3.66h-23.97v28.46h25.63ZM1003.92,295.19c5.44,0,9.76-1.27,12.98-3.83,3.22-2.55,4.83-6.43,4.83-11.65s-1.58-9.26-4.74-11.82c-3.16-2.55-7.35-3.83-12.57-3.83h-28.13v31.13h27.63Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M1104.29,317.16v-48.27l-47.27-76.24h28.63l30.96,51.77,30.8-51.77h28.63l-47.11,76.24v48.27h-24.64Z\\\"/>%0A      </g>%0A      <g>%0A        <rect class=\\\"cls-1\\\" x=\\\"1742.19\\\" y=\\\"111.85\\\" width=\\\"85.35\\\" height=\\\"284.82\\\" rx=\\\"4.27\\\" ry=\\\"4.27\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M1603.91,309.45V124.2c0-6.82-5.53-12.36-12.36-12.36h-60.64c-6.82,0-12.36,5.53-12.36,12.36v260.11c0,6.82,5.53,12.36,12.36,12.36h180.82c6.82,0,12.36-5.53,12.36-12.36v-50.15c0-6.82-5.53-12.36-12.36-12.36h-95.46c-6.82,0-12.36-5.53-12.36-12.36Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M1964.12,111.82c-3.2,0-9.84.03-10.02.03h-29.97s-66.71,0-66.71,0c-6.82,0-12.36,5.53-12.36,12.36v260.11c0,6.82,5.53,12.36,12.36,12.36h60.64c6.82,0,12.36-5.53,12.36-12.36v-71.89c0-2.18,2.09-3.79,4.18-3.17,30.52,8.94,70.45,9.83,104.71-24.43,72.96-72.96,3.73-173.01-75.18-173.01ZM1985.45,236.59c-32.47,22.93-68.34-12.95-45.41-45.41.75-1.06,1.69-2,2.75-2.75,32.47-22.93,68.34,12.94,45.41,45.41-.75,1.06-1.69,2-2.75,2.75Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M2332.11,156.92l-41.66-41.66c-4.69-4.69-12.29-4.69-16.97,0l-66.55,66.55c-1.84,1.84-4.83,1.84-6.67,0l-66.55-66.55c-4.69-4.69-12.29-4.69-16.97,0l-41.66,41.66c-4.69,4.69-4.69,12.29,0,16.97l85.61,85.61c.93.93,1.45,2.19,1.45,3.5v121.66c0,6.63,5.37,12,12,12h58.91c6.63,0,12-5.37,12-12v-121.66c0-1.31.52-2.57,1.45-3.5l85.61-85.61c4.69-4.69,4.69-12.29,0-16.97Z\\\"/>%0A        <g>%0A          <g>%0A            <path class=\\\"cls-1\\\" d=\\\"M1496.99,385.59l-83.53-128.94c-1.49-2.3-1.53-5.25-.08-7.63l78.43-129.01c2.91-4.83-.54-11-6.17-11l-49.54,11.23c-39.39,8.89-51.04,31.84-74.64,64.6-4.64,6.44-7.63,10.81-7.63,10.81-3.6,6.59-13.56,4.02-13.56-3.41v-106.37c-30.04,0-45.75,10.96-57.97,21.04-37.59,31.04-45.83,69.51-45.83,118.4v164.15c0,3.98,3.22,7.2,7.2,7.2h89.43c3.95,0,7.17-3.22,7.17-7.2v-81.84c0-7.32,9.62-9.96,13.37-3.72l30.5,89.28c1.3,2.18,3.68,3.49,6.17,3.49h100.62c5.75.04,9.2-6.28,6.05-11.07ZM1319.78,123.51c-5.4,0-9.81-4.41-9.81-9.81s4.41-9.77,9.81-9.77,9.77,4.37,9.77,9.77-4.37,9.81-9.77,9.81Z\\\"/>%0A            <path class=\\\"cls-1\\\" d=\\\"M1223.83,180.64c.8,2.11,7.78-109.85,117.36-110.93,0,0-88.93-104.18-121.85-57.82,0,0-16.32,25.6,15.17,33.45,0,0-50.73,13.26-49.7,48.59.34,11.04,11.53,18.16,21.65,13.76,5.86-2.57,13.33-7.59,22.72-16.48.04-.04-22.19,44.6-5.36,89.43Z\\\"/>%0A          </g>%0A          <path class=\\\"cls-1\\\" d=\\\"M1352.46,90.36v27.17c0,1.95,2.15,3.1,3.76,2.03l25.94-17.24-26.13-14.06c-1.61-.88-3.56.27-3.56,2.11Z\\\"/>%0A        </g>%0A      </g>%0A    </g>%0A  </g>%0A</svg>\"","\"data:image/svg+xml,<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>%0A<svg id=\\\"Layer_2\\\" data-name=\\\"Layer 2\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 2335.63 396.67\\\">%0A  <defs>%0A    <style>%0A      .cls-1 {%0A        fill: %23fff;%0A      }%0A    </style>%0A  </defs>%0A  <g id=\\\"Layer_1-2\\\" data-name=\\\"Layer 1\\\">%0A    <g>%0A      <g>%0A        <path class=\\\"cls-1\\\" d=\\\"M82.4,203.22c7.32,7.05,10.99,16.84,10.99,29.38,0,8.32-1.69,15.48-5.08,21.47-3.39,5.99-8.1,10.54-14.15,13.65-6.05,3.11-13.01,4.66-20.89,4.66h-28.63v44.78H0v-124.51h53.27c12.09,0,21.81,3.52,29.13,10.57ZM50.27,250.58c5.21,0,9.51-1.58,12.9-4.74,3.38-3.16,5.08-7.57,5.08-13.23s-1.69-10.24-5.08-13.4c-3.39-3.16-7.69-4.74-12.9-4.74h-25.63v36.12h25.63Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M207.16,198.81c9.71,5.22,17.34,12.65,22.89,22.31,5.55,9.65,8.32,20.92,8.32,33.79s-2.78,24.14-8.32,33.79c-5.55,9.65-13.18,17.09-22.89,22.31-9.71,5.22-20.72,7.82-33.04,7.82s-23.55-2.61-33.38-7.82c-9.82-5.21-17.51-12.65-23.05-22.31-5.55-9.65-8.32-20.92-8.32-33.79s2.77-24.14,8.32-33.79c5.55-9.65,13.23-17.09,23.05-22.31,9.82-5.21,20.95-7.82,33.38-7.82s23.33,2.61,33.04,7.82ZM139.66,277.38c3.33,6.33,7.96,11.18,13.9,14.56,5.94,3.39,12.79,5.08,20.56,5.08s14.45-1.69,20.39-5.08c5.94-3.38,10.54-8.24,13.82-14.56,3.27-6.33,4.91-13.82,4.91-22.47s-1.64-16.15-4.91-22.47c-3.27-6.33-7.88-11.18-13.82-14.56-5.94-3.38-12.73-5.08-20.39-5.08s-14.62,1.69-20.56,5.08c-5.94,3.39-10.57,8.24-13.9,14.56-3.33,6.33-4.99,13.82-4.99,22.47s1.66,16.15,4.99,22.47Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M339.91,235.93l-27.13,81.23h-20.81l-43.45-124.51h27.13l26.97,83.56,27.13-83.56h20.31l27.13,83.56,27.13-83.56h26.97l-43.45,124.51h-20.81l-27.13-81.23Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M474.24,242.59h47.61v21.47h-47.61v31.13h54.93v21.97h-79.57v-124.51h79.4v21.81h-54.77v28.13Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M552.98,192.65h52.6c11.99,0,21.64,3.5,28.96,10.49s10.99,16.7,10.99,29.13c0,8.55-1.78,15.84-5.33,21.89-3.55,6.05-8.55,10.57-14.98,13.57l26.97,49.44h-27.97l-24.64-45.28h-21.97v45.28h-24.64v-124.51ZM602.58,250.08c5.33,0,9.65-1.55,12.98-4.66,3.33-3.11,4.99-7.49,4.99-13.15s-1.66-10.04-4.99-13.15c-3.33-3.11-7.66-4.66-12.98-4.66h-24.97v35.62h24.97Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M698.3,242.59h47.61v21.47h-47.61v31.13h54.93v21.97h-79.57v-124.51h79.4v21.81h-54.77v28.13Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M859.6,200.14c9.32,4.99,16.65,12.18,21.97,21.56,5.33,9.38,7.99,20.45,7.99,33.21s-2.66,23.83-7.99,33.21c-5.33,9.38-12.68,16.56-22.06,21.56-9.38,4.99-19.95,7.49-31.71,7.49h-50.77v-124.51h50.94c11.76,0,22.31,2.5,31.63,7.49ZM827.97,295.85c11.43,0,20.47-3.5,27.13-10.49,6.66-6.99,9.99-17.15,9.99-30.46s-3.3-23.47-9.9-30.46c-6.6-6.99-15.62-10.49-27.05-10.49h-26.47v81.9h26.3Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M1031.3,201.39c7.05,5.83,10.57,14.4,10.57,25.72,0,5.66-1.06,10.52-3.16,14.57-2.11,4.05-4.88,7.41-8.32,10.07,4.66,2.11,8.57,5.69,11.74,10.74,3.16,5.05,4.74,11.24,4.74,18.56,0,11.65-3.64,20.59-10.9,26.8-7.27,6.22-16.95,9.32-29.05,9.32h-55.26v-124.51h51.44c11.76,0,21.17,2.91,28.21,8.74ZM1001.92,242.92c4.55,0,8.13-1.14,10.74-3.41,2.61-2.27,3.91-5.8,3.91-10.57s-1.44-8.38-4.33-10.82c-2.89-2.44-6.88-3.66-11.99-3.66h-23.97v28.46h25.63ZM1003.92,295.19c5.44,0,9.76-1.27,12.98-3.83,3.22-2.55,4.83-6.43,4.83-11.65s-1.58-9.26-4.74-11.82c-3.16-2.55-7.35-3.83-12.57-3.83h-28.13v31.13h27.63Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M1104.29,317.16v-48.27l-47.27-76.24h28.63l30.96,51.77,30.8-51.77h28.63l-47.11,76.24v48.27h-24.64Z\\\"/>%0A      </g>%0A      <g>%0A        <rect class=\\\"cls-1\\\" x=\\\"1742.19\\\" y=\\\"111.85\\\" width=\\\"85.35\\\" height=\\\"284.82\\\" rx=\\\"4.27\\\" ry=\\\"4.27\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M1603.91,309.45V124.2c0-6.82-5.53-12.36-12.36-12.36h-60.64c-6.82,0-12.36,5.53-12.36,12.36v260.11c0,6.82,5.53,12.36,12.36,12.36h180.82c6.82,0,12.36-5.53,12.36-12.36v-50.15c0-6.82-5.53-12.36-12.36-12.36h-95.46c-6.82,0-12.36-5.53-12.36-12.36Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M1964.12,111.82c-3.2,0-9.84.03-10.02.03h-29.97s-66.71,0-66.71,0c-6.82,0-12.36,5.53-12.36,12.36v260.11c0,6.82,5.53,12.36,12.36,12.36h60.64c6.82,0,12.36-5.53,12.36-12.36v-71.89c0-2.18,2.09-3.79,4.18-3.17,30.52,8.94,70.45,9.83,104.71-24.43,72.96-72.96,3.73-173.01-75.18-173.01ZM1985.45,236.59c-32.47,22.93-68.34-12.95-45.41-45.41.75-1.06,1.69-2,2.75-2.75,32.47-22.93,68.34,12.94,45.41,45.41-.75,1.06-1.69,2-2.75,2.75Z\\\"/>%0A        <path class=\\\"cls-1\\\" d=\\\"M2332.11,156.92l-41.66-41.66c-4.69-4.69-12.29-4.69-16.97,0l-66.55,66.55c-1.84,1.84-4.83,1.84-6.67,0l-66.55-66.55c-4.69-4.69-12.29-4.69-16.97,0l-41.66,41.66c-4.69,4.69-4.69,12.29,0,16.97l85.61,85.61c.93.93,1.45,2.19,1.45,3.5v121.66c0,6.63,5.37,12,12,12h58.91c6.63,0,12-5.37,12-12v-121.66c0-1.31.52-2.57,1.45-3.5l85.61-85.61c4.69-4.69,4.69-12.29,0-16.97Z\\\"/>%0A        <g>%0A          <g>%0A            <path class=\\\"cls-1\\\" d=\\\"M1496.99,385.59l-83.53-128.94c-1.49-2.3-1.53-5.25-.08-7.63l78.43-129.01c2.91-4.83-.54-11-6.17-11l-49.54,11.23c-39.39,8.89-51.04,31.84-74.64,64.6-4.64,6.44-7.63,10.81-7.63,10.81-3.6,6.59-13.56,4.02-13.56-3.41v-106.37c-30.04,0-45.75,10.96-57.97,21.04-37.59,31.04-45.83,69.51-45.83,118.4v164.15c0,3.98,3.22,7.2,7.2,7.2h89.43c3.95,0,7.17-3.22,7.17-7.2v-81.84c0-7.32,9.62-9.96,13.37-3.72l30.5,89.28c1.3,2.18,3.68,3.49,6.17,3.49h100.62c5.75.04,9.2-6.28,6.05-11.07ZM1319.78,123.51c-5.4,0-9.81-4.41-9.81-9.81s4.41-9.77,9.81-9.77,9.77,4.37,9.77,9.77-4.37,9.81-9.77,9.81Z\\\"/>%0A            <path class=\\\"cls-1\\\" d=\\\"M1223.83,180.64c.8,2.11,7.78-109.85,117.36-110.93,0,0-88.93-104.18-121.85-57.82,0,0-16.32,25.6,15.17,33.45,0,0-50.73,13.26-49.7,48.59.34,11.04,11.53,18.16,21.65,13.76,5.86-2.57,13.33-7.59,22.72-16.48.04-.04-22.19,44.6-5.36,89.43Z\\\"/>%0A          </g>%0A          <path class=\\\"cls-1\\\" d=\\\"M1352.46,90.36v27.17c0,1.95,2.15,3.1,3.76,2.03l25.94-17.24-26.13-14.06c-1.61-.88-3.56.27-3.56,2.11Z\\\"/>%0A        </g>%0A      </g>%0A    </g>%0A  </g>%0A</svg>\"","import { GifProvider, GifProviderAttribution, GifEventContext } from '../../types/GifProvider';\nimport { Gif, GifCategory, GifProviderName } from '../../types/types';\nimport {\n\tContentFilter,\n\tKlipyCategoriesData,\n\tKlipyEnvelope,\n\tKlipyItem,\n\tKlipyItemType,\n\tKlipyListData,\n\tKlipyQuality,\n} from './klipy.types';\nimport poweredByKlipyGray from './assets/powered-by-klipy-gray.svg';\nimport poweredByKlipyWhite from './assets/powered-by-klipy-white.svg';\n\nconst BASE_URL = 'https://api.klipy.com/api/v1/';\nconst FORMAT_FILTER = 'gif';\nconst KLIPY_MAX_PER_PAGE = 50;\nconst DEFAULT_QUALITY = KlipyQuality.MD;\nconst DEFAULT_PREVIEW_QUALITY = KlipyQuality.SM;\n\nexport type KlipyProviderConfig = {\n\tbaseUrl?: string;\n\tcustomerId?: string;\n\tlocale?: string;\n\tcontentFilter?: ContentFilter;\n\tquality?: KlipyQuality;\n\tpreviewQuality?: KlipyQuality;\n\tshowBranding?: boolean;\n};\n\nexport function Klipy(appKey: string, config?: KlipyProviderConfig): GifProvider {\n\treturn new KlipyProvider(appKey, config);\n}\n\nclass KlipyProvider implements GifProvider {\n\tprivate readonly baseUrl: string;\n\n\tconstructor(\n\t\tprivate appKey: string,\n\t\tprivate config: KlipyProviderConfig = {},\n\t) {\n\t\tthis.baseUrl = (config.baseUrl ?? BASE_URL).replace(/\\/+$/, '') + '/';\n\t}\n\n\tpublic async getCategories(): Promise<GifCategory[]> {\n\t\tconst params: Record<string, string> = {};\n\t\tif (this.config.locale) {\n\t\t\tparams.locale = this.config.locale;\n\t\t}\n\n\t\tconst data = await this.fetchApi<KlipyCategoriesData>('categories', params);\n\n\t\treturn data.categories.map((category) => ({\n\t\t\tname: category.category,\n\t\t\tsearchTerm: category.query,\n\t\t\timageUrl: category.preview_url,\n\t\t}));\n\t}\n\n\tpublic async search(term: string): Promise<Gif[]> {\n\t\tconst data = await this.fetchApi<KlipyListData>('search', {\n\t\t\tq: term,\n\t\t\tpage: 1,\n\t\t\tper_page: KLIPY_MAX_PER_PAGE,\n\t\t\tformat_filter: FORMAT_FILTER,\n\t\t\t...this.buildParams(),\n\t\t});\n\n\t\treturn this.parseGifs(data.data);\n\t}\n\n\tpublic async getTrending(): Promise<Gif[]> {\n\t\tconst data = await this.fetchApi<KlipyListData>('trending', {\n\t\t\tpage: 1,\n\t\t\tper_page: KLIPY_MAX_PER_PAGE,\n\t\t\tformat_filter: FORMAT_FILTER,\n\t\t\t...this.buildParams(),\n\t\t});\n\n\t\treturn this.parseGifs(data.data);\n\t}\n\n\tpublic async onClick(gif: Gif, context: GifEventContext): Promise<void> {\n\t\tconst body: Record<string, string> = { q: context.searchTerm ?? '' };\n\t\tif (this.config.customerId) {\n\t\t\tbody.customer_id = this.config.customerId;\n\t\t}\n\n\t\tawait this.fetchApi(`share/${gif.id}`, undefined, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: { 'Content-Type': 'application/json' },\n\t\t\tbody: JSON.stringify(body),\n\t\t});\n\t}\n\n\tpublic getAttribution(): GifProviderAttribution {\n\t\tconst attribution: GifProviderAttribution = {\n\t\t\tsearchPlaceholder: 'Search KLIPY',\n\t\t};\n\n\t\tif (this.config.showBranding) {\n\t\t\tattribution.branding = {\n\t\t\t\tlogo: poweredByKlipyGray,\n\t\t\t\tlogoDark: poweredByKlipyWhite,\n\t\t\t\talt: 'Powered by KLIPY',\n\t\t\t\thref: 'https://klipy.com',\n\t\t\t};\n\t\t}\n\n\t\treturn attribution;\n\t}\n\n\tprivate buildParams(): Record<string, string> {\n\t\tconst params: Record<string, string> = {};\n\n\t\tif (this.config.locale) {\n\t\t\tparams.locale = this.config.locale;\n\t\t}\n\n\t\tif (this.config.contentFilter) {\n\t\t\tparams.content_filter = this.config.contentFilter;\n\t\t}\n\n\t\tif (this.config.customerId) {\n\t\t\tparams.customer_id = this.config.customerId;\n\t\t}\n\n\t\treturn params;\n\t}\n\n\tprivate async fetchApi<T = any>(\n\t\tendpoint: string,\n\t\tparams?: Record<string, any>,\n\t\tinit?: RequestInit,\n\t): Promise<T> {\n\t\tconst url = new URL(`${this.appKey}/gifs/${endpoint}`, this.baseUrl);\n\n\t\tif (params) {\n\t\t\tObject.entries(params).forEach(([k, v]) => url.searchParams.set(k, String(v)));\n\t\t}\n\n\t\tconst res = await fetch(url.toString(), init);\n\t\tif (!res.ok) {\n\t\t\tthrow new Error(`Klipy API request failed (${res.status} ${res.statusText})`);\n\t\t}\n\n\t\tconst body: KlipyEnvelope<T> = await res.json();\n\t\tif (!body.result) {\n\t\t\tthrow new Error('Klipy API request failed (result: false)');\n\t\t}\n\n\t\treturn body.data;\n\t}\n\n\tprivate parseGifs(items: KlipyItem[]): Gif<KlipyItem>[] {\n\t\treturn items\n\t\t\t.map((item) => this.parseGif(item))\n\t\t\t.filter((gif): gif is Gif<KlipyItem> => gif !== null);\n\t}\n\n\tprivate parseGif(item: KlipyItem): Gif<KlipyItem> | null {\n\t\tif (item.type !== KlipyItemType.GIF) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst fullQuality = this.config.quality ?? DEFAULT_QUALITY;\n\t\tconst previewQuality = this.config.previewQuality ?? DEFAULT_PREVIEW_QUALITY;\n\n\t\tconst full = item.file[fullQuality].gif;\n\t\tconst preview = item.file[previewQuality].gif;\n\t\tif (!full || !preview) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tid: item.slug,\n\t\t\timageUrl: full.url,\n\t\t\twidth: full.width,\n\t\t\theight: full.height,\n\t\t\tdescription: item.title,\n\t\t\tpreview: {\n\t\t\t\timageUrl: preview.url,\n\t\t\t\twidth: preview.width,\n\t\t\t\theight: preview.height,\n\t\t\t},\n\t\t\tprovider: GifProviderName.KLIPY,\n\t\t\traw: item,\n\t\t};\n\t}\n}\n"],"mappings":"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"}