emoji-picker-element/docs/bundle.js
Nolan Lawson d612b591fc 1.2.1
2020-09-23 21:45:37 -07:00

2 lines
40 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var emojiPickerElement=function(e){"use strict";function t(e){if("string"!=typeof e||!e)throw new Error("expected a non-empty string, got: "+e)}function n(e){if("number"!=typeof e)throw new Error("expected a number, got: "+e)}const o="eTag",i="url";function r(e){return function(e,t){const n=new Set,o=[];for(const i of e){const e=t(i);n.has(e)||(n.add(e),o.push(i))}return o}(e,e=>e.unicode)}const a={},s={},c={};function l(e,t,n){n.onerror=()=>t(n.error),n.onblocked=()=>t(new Error("IDB blocked")),n.onsuccess=()=>e(n.result)}async function u(e){const t=await new Promise((t,n)=>{const o=indexedDB.open(e,1);a[e]=o,o.onupgradeneeded=e=>{const t=o.result;e.oldVersion<1&&function(e){function t(t,n,o){const i=n?e.createObjectStore(t,{keyPath:n}):e.createObjectStore(t);if(o)for(const[e,[t,n]]of Object.entries(o))i.createIndex(e,t,{multiEntry:n});return i}t("keyvalue"),t("emoji","unicode",{tokens:["tokens",!0],"group-order":[["group","order"]],skinUnicodes:["skinUnicodes",!0]}),t("favorites",void 0,{count:[""]})}(t)},l(t,n,o)});return t.onclose=()=>f(e),t}function d(e,t,n,o){return new Promise((i,r)=>{const a=e.transaction(t,n),s="string"==typeof t?a.objectStore(t):t.map(e=>a.objectStore(e));let c;o(s,e=>{c=e}),a.oncomplete=()=>i(c),a.onerror=()=>r(a.error)})}function f(e){const t=a[e],n=t&&t.result;if(n){n.close();const t=c[e];if(t)for(const e of t)e()}delete a[e],delete s[e],delete c[e]}const m=new Set([":D","xD",":'D","o:)",":x",":p",";p","xp",":l",":z",":j","8D","xo","8)",":B",":o",":s",":'o","Dx","x(","D:",":c",">0)",":3","</3","<3","\\m/",":E","8#"]);function h(e){return e.split(/[\s_]+/).map(e=>!e.match(/\w/)||m.has(e)?e.toLowerCase():e.replace(/[)(:,]/g,"").replace(//g,"'").toLowerCase()).filter(Boolean)}function p(e,t,n,o){e[t](n).onsuccess=e=>o&&o(e.target.result)}function g(e,t,n){p(e,"get",t,n)}function b(e,t,n){p(e,"getAll",t,n)}function y(e,t){const n=function(e,t){let n=e[0];for(let o=1;o<e.length;o++){const i=e[o];t(n)>t(i)&&(n=i)}return n}(e,e=>e.length),o=[];for(const i of n)e.some(e=>-1===e.findIndex(e=>t(e)===t(i)))||o.push(i);return o}async function k(e,t,n,r){try{const a=function(e){return e.map(({annotation:e,emoticon:t,group:n,order:o,shortcodes:i,skins:r,tags:a,emoji:s,version:c})=>{const l=[...new Set([...i.map(h).flat(),...a.map(h).flat(),...h(e),t].filter(Boolean).map(e=>e.toLowerCase()).filter(e=>e.length>=2))].sort(),u={annotation:e,group:n,order:o,shortcodes:i,tags:a,tokens:l,unicode:s,version:c};if(t&&(u.emoticon=t),r){u.skinTones=[],u.skinUnicodes=[],u.skinVersions=[];for(const{tone:e,emoji:t,version:n}of r)u.skinTones.push(e),u.skinUnicodes.push(t),u.skinVersions.push(n)}return u})}(t);await d(e,["emoji","keyvalue"],"readwrite",([e,t])=>{let s,c,l,u=0;function d(){3==++u&&function(){if(s===r&&c===n)return;for(const t of l)e.delete(t);for(const t of a)e.put(t);t.put(r,o),t.put(n,i)}()}g(t,o,e=>{s=e,d()}),g(t,i,e=>{c=e,d()}),p(e,"getAllKeys",void 0,e=>{l=e,d()})})}finally{}}async function w(e,t){const n=h(t);return d(e,"emoji","readonly",(e,t)=>{const o=[],i=()=>{const e=y(o,e=>e.unicode);t(e.sort((e,t)=>e.order<t.order?-1:1))};for(let t=0;t<n.length;t++){const r=n[t],a=t===n.length-1?IDBKeyRange.bound(r,r+"￿",!1,!0):IDBKeyRange.only(r);b(e.index("tokens"),a,e=>{o.push(e),o.length===n.length&&i()})}})}function v(e,t,n){return d(e,t,"readonly",(e,t)=>g(e,n,t))}const j=["name","shortcodes","url"];function $(e){!function(e){const t=e&&Array.isArray(e),n=t&&e.length&&(!e[0]||j.some(t=>!(t in e[0])));if(!t||n)throw new Error("Expected custom emojis to be in correct format")}(e);const t=(e,t)=>e.name.toLowerCase()<t.name.toLowerCase()?-1:1,n=e.sort(t),o=function(e,t){const n=new Map;for(const o of e){const e=t(o);for(const t of e){let e=n;for(let n=0;n<t.length;n++){const o=t.charAt(n);let i=e.get(o);i||(i=new Map,e.set(o,i)),e=i}let i=e.get("");i||(i=[],e.set("",i)),i.push(o)}}return(e,t)=>{let o=n;for(let t=0;t<e.length;t++){const n=e.charAt(t),i=o.get(n);if(!i)return[];o=i}if(t)return o.get("")||[];const i=[],r=o?[o]:[];for(;r.length;){const e=[...r.shift().entries()].sort((e,t)=>e[0]<t[0]?-1:1);for(const[t,n]of e)""===t?i.push(...n):r.push(n)}return i}}(e,e=>[...new Set(e.shortcodes.map(e=>h(e)).flat())]),i=e=>o(e,!0),r=e=>o(e,!1),a=new Map,s=new Map;for(const t of e){s.set(t.name.toLowerCase(),t);for(const e of t.shortcodes)a.set(e.toLowerCase(),t)}return{all:n,search:e=>{const n=h(e);return y(n.map((e,t)=>(t<n.length-1?i:r)(e)),e=>e.name).sort(t)},byShortcode:e=>a.get(e.toLowerCase()),byName:e=>s.get(e.toLowerCase())}}function x(e){if(!e)return e;if(delete e.tokens,e.skinTones){const t=e.skinTones.length;e.skins=Array(t);for(let n=0;n<t;n++)e.skins[n]={tone:e.skinTones[n],unicode:e.skinUnicodes[n],version:e.skinVersions[n]};delete e.skinTones,delete e.skinUnicodes,delete e.skinVersions}return e}function E(e){e||function(){console.warn(...arguments)}("emoji-picker-element is more efficient if the dataSource server exposes an ETag header.")}const _=["annotation","emoji","emoticon","group","order","shortcodes","tags","version"];function S(e,t){if(2!==Math.floor(e.status/100))throw new Error("Failed to fetch: "+t+": "+e.status)}async function C(e){const t=await fetch(e);S(t,e);const n=t.headers.get("etag");E(n);const o=await t.json();return function(e){if(!e||!Array.isArray(e)||!e[0]||"object"!=typeof e[0]||_.some(t=>!(t in e[0])))throw new Error("Expected emojibase full (not compact) data, but data is in wrong format")}(o),[n,o]}async function T(e){const t=function(e){for(var t=e.length,n=new ArrayBuffer(t),o=new Uint8Array(n),i=-1;++i<t;)o[i]=e.charCodeAt(i);return n}(JSON.stringify(e)),n=function(e){for(var t="",n=new Uint8Array(e),o=n.byteLength,i=-1;++i<o;)t+=String.fromCharCode(n[i]);return t}(await crypto.subtle.digest("SHA-1",t));return btoa(n)}async function L(e,t){let n,r=await async function(e){const t=await fetch(e,{method:"HEAD"});S(t,e);const n=t.headers.get("etag");return E(n),n}(t);if(!r){const e=await C(t);r=e[0],n=e[1],r||(r=await T(n))}if(await async function(e,t,n){const[r,a]=await Promise.all([o,i].map(t=>v(e,"keyvalue",t)));return r===n&&a===t}(e,t,r));else{if(!n){n=(await C(t))[1]}await k(e,n,t,r)}}class z{constructor({dataSource:e="https://cdn.jsdelivr.net/npm/emojibase-data@5/en/data.json",locale:t="en",customEmoji:n=[]}={}){this.dataSource=e,this.locale=t,this._dbName="emoji-picker-element-"+this.locale,this._db=void 0,this._lazyUpdate=void 0,this._custom=$(n),this._clear=this._clear.bind(this),this._ready=this._init()}async _init(){const e=this._db=await(t=this._dbName,s[t]||(s[t]=u(t)),s[t]);var t;!function(e,t){let n=c[e];n||(n=c[e]=[]),n.push(t)}(this._dbName,this._clear);const n=this.dataSource;await async function(e){return!await v(e,"keyvalue",i)}(e)?await async function(e,t){let[n,o]=await C(t);n||(n=await T(o)),await k(e,o,t,n)}(e,n):this._lazyUpdate=L(e,n)}async ready(){return this._ready||(this._ready=this._init()),this._ready}async getEmojiByGroup(e){return n(e),await this.ready(),r(await async function(e,t){return d(e,"emoji","readonly",(e,n)=>{const o=IDBKeyRange.bound([t,0],[t+1,0],!1,!0);b(e.index("group-order"),o,n)})}(this._db,e)).map(x)}async getEmojiBySearchQuery(e){t(e),await this.ready();return[...this._custom.search(e),...r(await w(this._db,e)).map(x)]}async getEmojiByShortcode(e){t(e),await this.ready();const n=this._custom.byShortcode(e);return n||x(await async function(e,t){return(await w(e,t)).filter(e=>e.shortcodes.map(e=>e.toLowerCase()).includes(t.toLowerCase()))[0]||null}(this._db,e))}async getEmojiByUnicodeOrName(e){t(e),await this.ready();const n=this._custom.byName(e);return n||x(await async function(e,t){return d(e,"emoji","readonly",(e,n)=>g(e,t,o=>{if(o)return n(o);g(e.index("skinUnicodes"),t,e=>n(e||null))}))}(this._db,e))}async getPreferredSkinTone(){return await this.ready(),await v(this._db,"keyvalue","skinTone")||0}async setPreferredSkinTone(e){return n(e),await this.ready(),t=this._db,o="skinTone",i=e,d(t,"keyvalue","readwrite",e=>e.put(i,o));var t,o,i}async incrementFavoriteEmojiCount(e){return t(e),await this.ready(),n=this._db,o=e,d(n,"favorites","readwrite",e=>{g(e,o,t=>e.put((t||0)+1,o))});var n,o}async getTopFavoriteEmoji(e){return n(e),await this.ready(),(await function(e,t,n){return 0===n?[]:d(e,["favorites","emoji"],"readonly",([e,o],i)=>{const r=[];e.index("count").openCursor(void 0,"prev").onsuccess=e=>{const a=e.target.result;if(!a)return i(r);function s(e){if(r.push(e),r.length===n)return i(r);a.continue()}const c=a.primaryKey,l=t.byName(c);if(l)return s(l);g(o,c,e=>{if(e)return s(e);a.continue()})}})}(this._db,this._custom,e)).map(x)}set customEmoji(e){this._custom=$(e)}get customEmoji(){return this._custom.all}async _shutdown(){await this.ready();try{await this._lazyUpdate}catch(e){}if(this._db)return!0}_clear(){this._dbName,this._db=this._ready=this._lazyUpdate=void 0}async close(){await this._shutdown()&&await f(this._dbName)}async delete(){var e;await this._shutdown()&&await(e=this._dbName,new Promise((t,n)=>{f(e),l(t,n,indexedDB.deleteDatabase(e))}))}}function A(){}function D(e){return e()}function B(){return Object.create(null)}function M(e){e.forEach(D)}function U(e){return"function"==typeof e}function N(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function P(e){return e&&U(e.destroy)?e.destroy:A}function R(e,t){e.appendChild(t)}function I(e,t,n){e.insertBefore(t,n||null)}function O(e){e.parentNode.removeChild(e)}function F(e){return document.createElement(e)}function H(e){return document.createTextNode(e)}function V(e,t,n,o){return e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)}function K(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function Y(e,t){t=""+t,e.wholeText!==t&&(e.data=t)}function q(e,t){e.value=null==t?"":t}function W(e,t,n,o){e.style.setProperty(t,n,o?"important":"")}let G;function Q(e){G=e}function X(){if(!G)throw new Error("Function called outside component initialization");return G}const J=[],Z=[],ee=[],te=[],ne=Promise.resolve();let oe=!1;function ie(){oe||(oe=!0,ne.then(le))}function re(){return ie(),ne}function ae(e){ee.push(e)}let se=!1;const ce=new Set;function le(){if(!se){se=!0;do{for(let e=0;e<J.length;e+=1){const t=J[e];Q(t),ue(t.$$)}for(J.length=0;Z.length;)Z.pop()();for(let e=0;e<ee.length;e+=1){const t=ee[e];ce.has(t)||(ce.add(t),t())}ee.length=0}while(J.length);for(;te.length;)te.pop()();oe=!1,se=!1,ce.clear()}}function ue(e){if(null!==e.fragment){e.update(),M(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(ae)}}const de=new Set;function fe(e,t){e&&e.i&&(de.delete(e),e.i(t))}const me="undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:global;function he(e,t){e.d(1),t.delete(e.key)}function pe(e,t,n,o,i,r,a,s,c,l,u,d){let f=e.length,m=r.length,h=f;const p={};for(;h--;)p[e[h].key]=h;const g=[],b=new Map,y=new Map;for(h=m;h--;){const e=d(i,r,h),s=n(e);let c=a.get(s);c?o&&c.p(e,t):(c=l(s,e),c.c()),b.set(s,g[h]=c),s in p&&y.set(s,Math.abs(h-p[s]))}const k=new Set,w=new Set;function v(e){fe(e,1),e.m(s,u),a.set(e.key,e),u=e.first,m--}for(;f&&m;){const t=g[m-1],n=e[f-1],o=t.key,i=n.key;t===n?(u=t.first,f--,m--):b.has(i)?!a.has(o)||k.has(o)?v(t):w.has(i)?f--:y.get(o)>y.get(i)?(w.add(o),v(t)):(k.add(i),f--):(c(n,a),f--)}for(;f--;){const t=e[f];b.has(t.key)||c(t,a)}for(;m;)v(g[m-1]);return g}function ge(e,t,n,o,i,r,a=[-1]){const s=G;Q(e);const c=t.props||{},l=e.$$={fragment:null,ctx:null,props:r,update:A,not_equal:i,bound:B(),on_mount:[],on_destroy:[],before_update:[],after_update:[],context:new Map(s?s.$$.context:[]),callbacks:B(),dirty:a,skip_bound:!1};let u=!1;if(l.ctx=n?n(e,c,(t,n,...o)=>{const r=o.length?o[0]:n;return l.ctx&&i(l.ctx[t],l.ctx[t]=r)&&(!l.skip_bound&&l.bound[t]&&l.bound[t](r),u&&function(e,t){-1===e.$$.dirty[0]&&(J.push(e),ie(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}(e,t)),n}):[],l.update(),u=!0,M(l.before_update),l.fragment=!!o&&o(l.ctx),t.target){if(t.hydrate){const e=function(e){return Array.from(e.childNodes)}(t.target);l.fragment&&l.fragment.l(e),e.forEach(O)}else l.fragment&&l.fragment.c();t.intro&&fe(e.$$.fragment),function(e,t,n){const{fragment:o,on_mount:i,on_destroy:r,after_update:a}=e.$$;o&&o.m(t,n),ae(()=>{const t=i.map(D).filter(U);r?r.push(...t):M(t),e.$$.on_mount=[]}),a.forEach(ae)}(e,t.target,t.anchor),le()}Q(s)}let be;"function"==typeof HTMLElement&&(be=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}connectedCallback(){for(const e in this.$$.slotted)this.appendChild(this.$$.slotted[e])}attributeChangedCallback(e,t,n){this[e]=n}$destroy(){!function(e,t){const n=e.$$;null!==n.fragment&&(M(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}(this,1),this.$destroy=A}$on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}});var ye={categoriesLabel:"Categories",emojiUnsupportedMessage:"Your browser does not support color emoji.",favoritesLabel:"Favorites",loadingMessage:"Loading…",networkErrorMessage:"Could not load emoji. Try refreshing.",regionLabel:"Emoji picker",searchDescription:"When search results are available, press up or down to select and enter to choose.",searchLabel:"Search",searchResultsLabel:"Search results",skinToneDescription:"When expanded, press up or down to select and enter to choose.",skinToneLabel:"Choose a skin tone (currently {skinTone})",skinTonesLabel:"Skin tones",skinTones:["Default","Light","Medium-Light","Medium","Medium-Dark","Dark"],categories:{custom:"Custom","smileys-emotion":"Smileys and emoticons","people-body":"People and body","animals-nature":"Animals and nature","food-drink":"Food and drink","travel-places":"Travel and places",activities:"Activities",objects:"Objects",symbols:"Symbols",flags:"Flags"}};const ke=[[-1,"✨","custom"],[0,"😀","smileys-emotion"],[1,"👋","people-body"],[3,"🐱","animals-nature"],[4,"🍎","food-drink"],[5,"🏠️","travel-places"],[6,"⚽","activities"],[7,"📝","objects"],[8,"⛔️","symbols"],[9,"🏁","flags"]].map(([e,t,n])=>({id:e,emoji:t,name:n})),we=ke.slice(1),ve=ke[0],je="function"==typeof requestIdleCallback?requestIdleCallback:setTimeout;function $e(e){return e.unicode.includes("")}const xe={"😃":.6,"😐️":.7,"😀":1,"👁️‍🗨️":2,"🤣":3,"👱‍♀️":4,"🤩":5,"🥰":11,"🥻":12,"🧑‍🦰":12.1,"🥲":13},Ee="🖐️",_e=["😊","😒","♥️","👍️","😍","😂","😭","☺️","😔","😩","😏","💕","🙌","😘"],Se='"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Twemoji Mozilla","Noto Color Emoji","EmojiOne Color","Android Emoji",sans-serif',Ce=(e,t)=>{try{const n=document.createElement("canvas");n.width=n.height=1;const o=n.getContext("2d");return o.textBaseline="top",o.font="100px "+Se,o.fillStyle=t,o.scale(.01,.01),o.fillText(e,0,0),o.getImageData(0,0,1,1).data}catch(e){}};function Te(e){const t=Ce(e,"#000"),n=Ce(e,"#fff");return t&&n&&((e,t)=>{const n=[...e].join(",");return n===[...t].join(",")&&!n.startsWith("0,0,0,")})(t,n)}const Le=new Promise(e=>je(()=>e(function(){let e;for(const[t,n]of Object.entries(xe)){if(!Te(t))break;e=n}return e}()))),ze=new Map;function Ae(e){e.preventDefault(),e.stopPropagation()}function De(e,t,n){return(t+=e?-1:1)<0?t=n.length-1:t>=n.length&&(t=0),t}function Be(e,t){const n=new Set,o=[];for(const i of e){const e=t(i);n.has(e)||(n.add(e),o.push(i))}return o}const Me=requestAnimationFrame,Ue="function"==typeof ResizeObserver;function Ne(e,t){let n;return Ue?(n=new ResizeObserver(e=>t(e[0].contentRect.width)),n.observe(e)):Me(()=>t(e.getBoundingClientRect().width)),{destroy(){n&&n.disconnect()}}}function Pe(e){{const t=document.createRange();return t.selectNode(e.firstChild),t.getBoundingClientRect().width}}let Re;const{Map:Ie}=me;function Oe(e,t,n){const o=e.slice();return o[65]=t[n],o[67]=n,o}function Fe(e,t,n){const o=e.slice();return o[65]=t[n],o[67]=n,o}function He(e,t,n){const o=e.slice();return o[68]=t[n],o[67]=n,o}function Ve(e,t,n){const o=e.slice();return o[71]=t[n],o}function Ke(e,t,n){const o=e.slice();return o[74]=t[n],o[67]=n,o}function Ye(e,t){let n,o,i,r,a,s,c,l=t[74]+"";return{key:e,first:null,c(){n=F("div"),o=H(l),K(n,"id",i="skintone-"+t[67]),K(n,"class",r="emoji skintone-option cursor-pointer hide-focus "+(t[67]===t[15]?"active":"")),K(n,"aria-selected",a=t[67]===t[15]),K(n,"role","option"),K(n,"title",s=t[0].skinTones[t[67]]),K(n,"tabindex","-1"),K(n,"aria-label",c=t[0].skinTones[t[67]]),this.first=n},m(e,t){I(e,n,t),R(n,o)},p(e,t){524288&t[0]&&l!==(l=e[74]+"")&&Y(o,l),524288&t[0]&&i!==(i="skintone-"+e[67])&&K(n,"id",i),557056&t[0]&&r!==(r="emoji skintone-option cursor-pointer hide-focus "+(e[67]===e[15]?"active":""))&&K(n,"class",r),557056&t[0]&&a!==(a=e[67]===e[15])&&K(n,"aria-selected",a),524289&t[0]&&s!==(s=e[0].skinTones[e[67]])&&K(n,"title",s),524289&t[0]&&c!==(c=e[0].skinTones[e[67]])&&K(n,"aria-label",c)},d(e){e&&O(n)}}}function qe(e,t){let n,o,i,r,a,s,c,l,u,d=t[71].emoji+"";function f(...e){return t[46](t[71],...e)}return{key:e,first:null,c(){n=F("button"),o=F("div"),i=H(d),K(o,"class","emoji"),K(n,"role","tab"),K(n,"class","nav-button"),K(n,"aria-controls",r="tab-"+t[71].id),K(n,"aria-label",a=t[0].categories[t[71].name]),K(n,"aria-selected",s=!t[7]&&t[23].id===t[71].id),K(n,"title",c=t[0].categories[t[71].name]),this.first=n},m(e,t){I(e,n,t),R(n,o),R(o,i),l||(u=V(n,"click",f),l=!0)},p(e,o){t=e,4194304&o[0]&&d!==(d=t[71].emoji+"")&&Y(i,d),4194304&o[0]&&r!==(r="tab-"+t[71].id)&&K(n,"aria-controls",r),4194305&o[0]&&a!==(a=t[0].categories[t[71].name])&&K(n,"aria-label",a),12583040&o[0]&&s!==(s=!t[7]&&t[23].id===t[71].id)&&K(n,"aria-selected",s),4194305&o[0]&&c!==(c=t[0].categories[t[71].name])&&K(n,"title",c)},d(e){e&&O(n),l=!1,u()}}}function We(e){let t;return{c(){t=F("div"),K(t,"class","custom-emoji"),W(t,"background-image","url("+e[65].url+")")},m(e,n){I(e,t,n)},p(e,n){4&n[0]&&W(t,"background-image","url("+e[65].url+")")},d(e){e&&O(t)}}}function Ge(e){let t,n=nt(e[65],e[14])+"";return{c(){t=H(n)},m(e,n){I(e,t,n)},p(e,o){16388&o[0]&&n!==(n=nt(e[65],e[14])+"")&&Y(t,n)},d(e){e&&O(t)}}}function Qe(e,t){let n,o,i,r,a,s,c;function l(e,t){return e[65].unicode?Ge:We}let u=l(t),d=u(t);return{key:e,first:null,c(){n=F("button"),d.c(),K(n,"role",o=t[7]?"option":"menuitem"),K(n,"aria-selected",i=t[7]?t[67]==t[8]:""),K(n,"aria-label",r=t[26](t[65],t[14])),K(n,"title",a=t[65].title),K(n,"class",s="emoji "+(t[7]&&t[67]===t[8]?"active":"")),K(n,"id",c="emo-"+t[65].id),this.first=n},m(e,t){I(e,n,t),d.m(n,null)},p(e,t){u===(u=l(e))&&d?d.p(e,t):(d.d(1),d=u(e),d&&(d.c(),d.m(n,null))),128&t[0]&&o!==(o=e[7]?"option":"menuitem")&&K(n,"role",o),388&t[0]&&i!==(i=e[7]?e[67]==e[8]:"")&&K(n,"aria-selected",i),16388&t[0]&&r!==(r=e[26](e[65],e[14]))&&K(n,"aria-label",r),4&t[0]&&a!==(a=e[65].title)&&K(n,"title",a),388&t[0]&&s!==(s="emoji "+(e[7]&&e[67]===e[8]?"active":""))&&K(n,"class",s),4&t[0]&&c!==(c="emo-"+e[65].id)&&K(n,"id",c)},d(e){e&&O(n),d.d()}}}function Xe(e,t){let n,o,i,r,a,s,c,l,u,d,f,m=(t[7]?t[0].searchResultsLabel:t[68].category?t[68].category:t[2].length>1?t[0].categories.custom:t[0].categories[t[23].name])+"",h=[],p=new Ie,g=t[68].emojis;const b=e=>e[65].id;for(let e=0;e<g.length;e+=1){let n=Fe(t,g,e),o=b(n);p.set(o,h[e]=Qe(o,n))}return{key:e,first:null,c(){n=F("div"),o=H(m),a=F("div");for(let e=0;e<h.length;e+=1)h[e].c();K(n,"id",i="menu-label-"+t[67]),K(n,"class",r="category "+(t[2].length>1?"":"gone")),K(n,"aria-hidden","true"),K(a,"class","emoji-menu"),K(a,"role",s=t[7]?"listbox":"menu"),K(a,"aria-labelledby",c="menu-label-"+t[67]),K(a,"id",l=t[7]?"search-results":""),this.first=n},m(e,i){I(e,n,i),R(n,o),I(e,a,i);for(let e=0;e<h.length;e+=1)h[e].m(a,null);d||(f=P(u=t[27].call(null,a)),d=!0)},p(e,t){if(8388741&t[0]&&m!==(m=(e[7]?e[0].searchResultsLabel:e[68].category?e[68].category:e[2].length>1?e[0].categories.custom:e[0].categories[e[23].name])+"")&&Y(o,m),4&t[0]&&i!==(i="menu-label-"+e[67])&&K(n,"id",i),4&t[0]&&r!==(r="category "+(e[2].length>1?"":"gone"))&&K(n,"class",r),67125636&t[0]){const n=e[68].emojis;h=pe(h,t,b,1,e,n,p,a,he,Qe,null,Fe)}128&t[0]&&s!==(s=e[7]?"listbox":"menu")&&K(a,"role",s),4&t[0]&&c!==(c="menu-label-"+e[67])&&K(a,"aria-labelledby",c),128&t[0]&&l!==(l=e[7]?"search-results":"")&&K(a,"id",l)},d(e){e&&O(n),e&&O(a);for(let e=0;e<h.length;e+=1)h[e].d();d=!1,f()}}}function Je(e){let t,n;return{c(){t=F("img"),K(t,"class","custom-emoji"),t.src!==(n=e[65].url)&&K(t,"src",n),K(t,"loading","lazy"),K(t,"alt","")},m(e,n){I(e,t,n)},p(e,o){1048576&o[0]&&t.src!==(n=e[65].url)&&K(t,"src",n)},d(e){e&&O(t)}}}function Ze(e){let t,n=nt(e[65],e[14])+"";return{c(){t=H(n)},m(e,n){I(e,t,n)},p(e,o){1064960&o[0]&&n!==(n=nt(e[65],e[14])+"")&&Y(t,n)},d(e){e&&O(t)}}}function et(e,t){let n,o,i,r;function a(e,t){return e[65].unicode?Ze:Je}let s=a(t),c=s(t);return{key:e,first:null,c(){n=F("button"),c.c(),K(n,"role","menuitem"),K(n,"aria-label",o=t[26](t[65],t[14])),K(n,"title",i=t[65].title),K(n,"class","emoji"),K(n,"id",r="fav-"+t[65].id),this.first=n},m(e,t){I(e,n,t),c.m(n,null)},p(e,t){s===(s=a(e))&&c?c.p(e,t):(c.d(1),c=s(e),c&&(c.c(),c.m(n,null))),1064960&t[0]&&o!==(o=e[26](e[65],e[14]))&&K(n,"aria-label",o),1048576&t[0]&&i!==(i=e[65].title)&&K(n,"title",i),1048576&t[0]&&r!==(r="fav-"+e[65].id)&&K(n,"id",r)},d(e){e&&O(n),c.d()}}}function tt(e){let t,n,o,i,r,a,s,c,l,u,d,f,m,h,p,g,b,y,k,w,v,j,$,x,E,_,S,C,T,L,z,D,B,U,N,G,Q,X,J,Z,ee,te,ne,oe,ie,re,ae=e[0].searchLabel+"",se=e[0].searchDescription+"",ce=e[0].skinToneDescription+"",le=[],ue=new Ie,de=[],fe=new Ie,me=[],ge=new Ie,be=[],ye=new Ie,ke=e[19];const we=e=>e[74];for(let t=0;t<ke.length;t+=1){let n=Ke(e,ke,t),o=we(n);ue.set(o,le[t]=Ye(o,n))}let ve=e[22];const je=e=>e[71].id;for(let t=0;t<ve.length;t+=1){let n=Ve(e,ve,t),o=je(n);fe.set(o,de[t]=qe(o,n))}let $e=e[2];const xe=e=>e[68].category;for(let t=0;t<$e.length;t+=1){let n=He(e,$e,t),o=xe(n);ge.set(o,me[t]=Xe(o,n))}let Ee=e[20];const _e=e=>e[65].id;for(let t=0;t<Ee.length;t+=1){let n=Oe(e,Ee,t),o=_e(n);ye.set(o,be[t]=et(o,n))}return{c(){t=F("section"),n=F("div"),o=F("div"),i=F("div"),r=F("input"),l=F("label"),u=H(ae),d=F("span"),f=H(se),m=F("div"),h=F("button"),p=H(e[16]),y=F("span"),k=H(ce),w=F("div");for(let e=0;e<le.length;e+=1)le[e].c();_=F("div");for(let e=0;e<de.length;e+=1)de[e].c();C=F("div"),T=F("div"),z=F("div"),D=H(e[9]),U=F("div");for(let e=0;e<me.length;e+=1)me[e].c();J=F("div");for(let e=0;e<be.length;e+=1)be[e].c();te=F("div"),ne=F("button"),ne.textContent="😀",this.c=A,K(n,"class","pad-top"),K(r,"id","search"),K(r,"class","search"),K(r,"type","search"),K(r,"role","combobox"),K(r,"enterkeyhint","search"),K(r,"placeholder",a=e[0].searchLabel),K(r,"autocapitalize","none"),K(r,"autocomplete","off"),K(r,"spellcheck","true"),K(r,"aria-expanded",s=!(!e[7]||!e[1].length)),K(r,"aria-controls","search-results"),K(r,"aria-owns","search-results"),K(r,"aria-describedby","search-description"),K(r,"aria-autocomplete","list"),K(r,"aria-activedescendant",c=e[25]?"emo-"+e[25]:""),K(l,"class","sr-only"),K(l,"for","search"),K(d,"id","search-description"),K(d,"class","sr-only"),K(i,"class","search-wrapper"),K(h,"id","skintone-button"),K(h,"class",g="emoji "+(e[11]?"hide-focus":"")),K(h,"aria-label",e[18]),K(h,"title",e[18]),K(h,"aria-describedby","skintone-description"),K(h,"aria-haspopup","listbox"),K(h,"aria-expanded",e[11]),K(h,"aria-controls","skintone-list"),K(m,"class",b="skintone-button-wrapper "+(e[12]?"expanded":"")),K(y,"id","skintone-description"),K(y,"class","sr-only"),K(w,"id","skintone-list"),K(w,"class",v="skintone-list "+(e[11]?"":"hidden no-animate")),K(w,"style",j=e[11]?"transform: translateY(0);":"transform: translateY(calc(-1 * var(--num-skintones) * var(--total-emoji-size)))"),K(w,"role","listbox"),K(w,"aria-label",$=e[0].skinTonesLabel),K(w,"aria-activedescendant",x="skintone-"+e[15]),K(w,"aria-hidden",E=!e[11]),K(o,"class","search-row"),K(_,"class","nav"),K(_,"role","tablist"),W(_,"grid-template-columns","repeat("+e[22].length+", 1fr)"),K(_,"aria-label",S=e[0].categoriesLabel),K(T,"class","indicator"),K(T,"style",e[10]),K(C,"class","indicator-wrapper"),K(C,"aria-hidden","true"),K(z,"class",B="message "+(e[9]?"":"gone")),K(z,"role","alert"),K(z,"aria-live","polite"),K(U,"class",N="tabpanel "+(!e[24]||e[9]?"gone":"")),K(U,"role",G=e[7]?"region":"tabpanel"),K(U,"aria-label",Q=e[7]?e[0].searchResultsLabel:e[0].categories[e[23].name]),K(U,"id",X=e[7]?"":"tab-"+e[23].id),K(U,"tabindex","0"),K(J,"class",Z="favorites emoji-menu "+(e[9]?"gone":"")),K(J,"role","menu"),K(J,"aria-label",ee=e[0].favoritesLabel),W(J,"padding-right",e[21]+"px"),K(ne,"tabindex","-1"),K(ne,"class","emoji baseline-emoji"),K(te,"aria-hidden","true"),K(te,"class","hidden abs-pos"),K(t,"class","picker"),K(t,"aria-label",oe=e[0].regionLabel),K(t,"style",e[17])},m(a,s){I(a,t,s),R(t,n),R(t,o),R(o,i),R(i,r),q(r,e[3]),R(i,l),R(l,u),R(i,d),R(d,f),R(o,m),R(m,h),R(h,p),R(o,y),R(y,k),R(o,w);for(let e=0;e<le.length;e+=1)le[e].m(w,null);e[45](w),R(t,_);for(let e=0;e<de.length;e+=1)de[e].m(_,null);R(t,C),R(C,T),R(t,z),R(z,D),R(t,U);for(let e=0;e<me.length;e+=1)me[e].m(U,null);e[47](U),R(t,J);for(let e=0;e<be.length;e+=1)be[e].m(J,null);R(t,te),R(te,ne),e[48](ne),e[49](t),ie||(re=[V(r,"input",e[44]),V(r,"keydown",e[29]),V(h,"click",e[34]),V(w,"focusout",e[37]),V(w,"click",e[33]),V(w,"keydown",e[35]),V(w,"keyup",e[36]),V(_,"keydown",e[31]),P(L=e[28].call(null,T)),V(U,"click",e[32]),V(J,"click",e[32])],ie=!0)},p(e,n){if(1&n[0]&&a!==(a=e[0].searchLabel)&&K(r,"placeholder",a),130&n[0]&&s!==(s=!(!e[7]||!e[1].length))&&K(r,"aria-expanded",s),33554432&n[0]&&c!==(c=e[25]?"emo-"+e[25]:"")&&K(r,"aria-activedescendant",c),8&n[0]&&q(r,e[3]),1&n[0]&&ae!==(ae=e[0].searchLabel+"")&&Y(u,ae),1&n[0]&&se!==(se=e[0].searchDescription+"")&&Y(f,se),65536&n[0]&&Y(p,e[16]),2048&n[0]&&g!==(g="emoji "+(e[11]?"hide-focus":""))&&K(h,"class",g),262144&n[0]&&K(h,"aria-label",e[18]),262144&n[0]&&K(h,"title",e[18]),2048&n[0]&&K(h,"aria-expanded",e[11]),4096&n[0]&&b!==(b="skintone-button-wrapper "+(e[12]?"expanded":""))&&K(m,"class",b),1&n[0]&&ce!==(ce=e[0].skinToneDescription+"")&&Y(k,ce),557057&n[0]){const t=e[19];le=pe(le,n,we,1,e,t,ue,w,he,Ye,null,Ke)}if(2048&n[0]&&v!==(v="skintone-list "+(e[11]?"":"hidden no-animate"))&&K(w,"class",v),2048&n[0]&&j!==(j=e[11]?"transform: translateY(0);":"transform: translateY(calc(-1 * var(--num-skintones) * var(--total-emoji-size)))")&&K(w,"style",j),1&n[0]&&$!==($=e[0].skinTonesLabel)&&K(w,"aria-label",$),32768&n[0]&&x!==(x="skintone-"+e[15])&&K(w,"aria-activedescendant",x),2048&n[0]&&E!==(E=!e[11])&&K(w,"aria-hidden",E),1086324865&n[0]){const t=e[22];de=pe(de,n,je,1,e,t,fe,_,he,qe,null,Ve)}if(4194304&n[0]&&W(_,"grid-template-columns","repeat("+e[22].length+", 1fr)"),1&n[0]&&S!==(S=e[0].categoriesLabel)&&K(_,"aria-label",S),1024&n[0]&&K(T,"style",e[10]),512&n[0]&&Y(D,e[9]),512&n[0]&&B!==(B="message "+(e[9]?"":"gone"))&&K(z,"class",B),75514245&n[0]){const t=e[2];me=pe(me,n,xe,1,e,t,ge,U,he,Xe,null,He)}if(16777728&n[0]&&N!==(N="tabpanel "+(!e[24]||e[9]?"gone":""))&&K(U,"class",N),128&n[0]&&G!==(G=e[7]?"region":"tabpanel")&&K(U,"role",G),8388737&n[0]&&Q!==(Q=e[7]?e[0].searchResultsLabel:e[0].categories[e[23].name])&&K(U,"aria-label",Q),8388736&n[0]&&X!==(X=e[7]?"":"tab-"+e[23].id)&&K(U,"id",X),68173824&n[0]){const t=e[20];be=pe(be,n,_e,1,e,t,ye,J,he,et,null,Oe)}512&n[0]&&Z!==(Z="favorites emoji-menu "+(e[9]?"gone":""))&&K(J,"class",Z),1&n[0]&&ee!==(ee=e[0].favoritesLabel)&&K(J,"aria-label",ee),2097152&n[0]&&W(J,"padding-right",e[21]+"px"),1&n[0]&&oe!==(oe=e[0].regionLabel)&&K(t,"aria-label",oe),131072&n[0]&&K(t,"style",e[17])},i:A,o:A,d(n){n&&O(t);for(let e=0;e<le.length;e+=1)le[e].d();e[45](null);for(let e=0;e<de.length;e+=1)de[e].d();for(let e=0;e<me.length;e+=1)me[e].d();e[47](null);for(let e=0;e<be.length;e+=1)be[e].d();e[48](null),e[49](null),ie=!1,M(re)}}}function nt(e,t){return t&&e.skins&&e.skins[t]||e.unicode}function ot(e,t,n){let o,i,r,a,s,c,l,u,d,f,{locale:m=null}=t,{dataSource:h=null}=t,{skinToneEmoji:p=Ee}=t,{i18n:g=ye}=t,{database:b=null}=t,{customEmoji:y=null}=t,{customCategorySorting:k=((e,t)=>e<t?-1:e>t?1:0)}=t,w=[],v=[],j="",$="",x=!1,E=-1,_=0,S="",C=!1,T=!1,L=0,A=0,D="",B=[],M=[],U=8,N=0,P=0,R=we,I=!1;function O(e){o.getRootNode().getElementById(e).focus()}function F(e,t){o.dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0,composed:!0}))}var H;function V(e){const t=o.getRootNode();!function(e,t,n){for(const o of e){const e=Pe(n(o));void 0===Re&&(Re=Pe(t));const i=e/1.8<Re;ze.set(o.unicode,i),i?e!==Re&&o.unicode:o.unicode}}(e,i,e=>t.getElementById("emo-"+e.id)),n(1,w=w)}function K(e){return!e.unicode||!$e(e)||ze.get(e.unicode)}async function Y(e){const t=await Le;return e.filter(({version:e})=>!e||e<=t)}async function q(e){return function(e,t){const n=e=>{const n={};for(const o of e)"number"==typeof o.tone&&o.version<=t&&(n[o.tone]=o.unicode);return n};return e.map(({unicode:e,skins:t,shortcodes:o,url:i,name:r,category:a})=>({unicode:e,name:r,shortcodes:o,url:i,category:a,id:e||r,skins:t&&n(t),title:o.join(", ")}))}(e,await Le)}function W(e){n(3,j=""),n(51,$=""),n(8,E=-1),n(55,P=R.findIndex(t=>t.id===e.id))}async function G(e){const t=await b.getEmojiByUnicodeOrName(e),o=[...w,...M].find(t=>t.id===e),i=o.unicode&&nt(o,L);await b.incrementFavoriteEmojiCount(e),n(53,u=u),F("emoji-click",{emoji:t,skinTone:L,...i&&{unicode:i},...o.name&&{name:o.name}})}async function Q(e){const{target:t}=e;if(!t.classList.contains("skintone-option"))return;Ae(e);const o=parseInt(t.id.slice(9),10);n(14,L=o),n(11,C=!1),O("skintone-button"),F("skin-tone-change",{skinTone:o}),b.setPreferredSkinTone(o)}Le.then(e=>{e||n(9,a=g.emojiUnsupportedMessage)}),H=async()=>{await re(),n(38,m=m||"en"),n(39,h=h||"https://cdn.jsdelivr.net/npm/emojibase-data@5/en/data.json")},X().$$.on_mount.push(H),function(e){X().$$.on_destroy.push(e)}(async()=>{b&&await b.close()});return e.$$set=e=>{"locale"in e&&n(38,m=e.locale),"dataSource"in e&&n(39,h=e.dataSource),"skinToneEmoji"in e&&n(41,p=e.skinToneEmoji),"i18n"in e&&n(0,g=e.i18n),"database"in e&&n(40,b=e.database),"customEmoji"in e&&n(42,y=e.customEmoji),"customCategorySorting"in e&&n(43,k=e.customCategorySorting)},e.$$.update=()=>{if(896&e.$$.dirty[1]&&m&&h&&(!b||b.locale!==m&&b.dataSource!==h)&&n(40,b=new z({dataSource:h,locale:m})),2560&e.$$.dirty[1]&&y&&b&&n(40,b.customEmoji=y,b),513&e.$$.dirty[0]|512&e.$$.dirty[1]){b&&async function(){const e=setTimeout(()=>{n(9,a=g.loadingMessage)},1e3);try{await b.ready(),n(24,I=!0)}catch(e){console.error(e),n(9,a=g.networkErrorMessage)}finally{clearTimeout(e),a===g.loadingMessage&&n(9,a="")}}()}if(4194304&e.$$.dirty[0]|2048&e.$$.dirty[1]&&(y&&y.length?n(22,R=[ve,...we]):R!==we&&n(22,R=we)),8&e.$$.dirty[0]&&je(()=>{n(51,$=(j||"").trim()),n(8,E=-1)}),4194304&e.$$.dirty[0]|16777216&e.$$.dirty[1]&&n(23,d=R[P]),8388608&e.$$.dirty[0]|1049088&e.$$.dirty[1]){!async function(){b?$.length>=2?(n(1,w=await async function(e){return q(await Y(await b.getEmojiBySearchQuery(e)))}($)),n(7,x=!0)):d&&(n(1,w=await async function(e){if(void 0===e)return[];const t=-1===e?y:await b.getEmojiByGroup(e);return q(await Y(t))}(d.id)),n(7,x=!1)):(n(1,w=[]),n(7,x=!1))}()}if(4194432&e.$$.dirty[0]&&n(17,l=`\n --font-family: ${Se};\n --num-groups: ${R.length}; \n --indicator-opacity: ${x?0:1}; \n --num-skintones: 6;`),512&e.$$.dirty[1]){!async function(){b&&n(14,L=await b.getPreferredSkinTone())}()}if(1024&e.$$.dirty[1]&&n(19,B=Array(6).fill().map((e,t)=>function(e,t){if(0===t)return e;const n=e.indexOf("");return-1!==n?e.substring(0,n)+String.fromCodePoint(127995+t-1)+e.substring(n):(e.endsWith("")&&(e=e.substring(0,e.length-1)),e+"\ud83c"+String.fromCodePoint(57339+t-1))}(p,t))),540672&e.$$.dirty[0]&&n(16,c=B[L]),16385&e.$$.dirty[0]&&n(18,D=g.skinToneLabel.replace("{skinTone}",g.skinTones[L])),512&e.$$.dirty[1]){b&&async function(){n(53,u=(await Promise.all(_e.map(e=>b.getEmojiByUnicodeOrName(e)))).filter(Boolean))}()}if(12583424&e.$$.dirty[1]){b&&u&&async function(){const e=await b.getTopFavoriteEmoji(U),t=await q(Be([...e,...u],e=>e.unicode||e.name).slice(0,U));n(20,M=t)}()}if(18874368&e.$$.dirty[1]&&n(10,S=Ue?`transform: translateX(${P*_}px);`:`transform: translateX(${100*P}%);`),2&e.$$.dirty[0]){const e=w.filter(e=>e.unicode).filter(e=>$e(e)&&!ze.has(e.unicode));e.length?Me(()=>V(e)):(n(1,w=w.filter(K)),Me(()=>{n(6,r.scrollTop=0,r)}))}if(e.$$.dirty[0],e.$$.dirty[1],130&e.$$.dirty[0]|4096&e.$$.dirty[1]){n(2,v=function(){if(x)return[{category:"",emojis:w}];const e=new Map;for(const t of w){const n=t.category||"";let o=e.get(n);o||(o=[],e.set(n,o)),o.push(t)}return[...e.entries()].map(([e,t])=>({category:e,emojis:t})).sort((e,t)=>k(e.category,t.category))}())}258&e.$$.dirty[0]&&n(25,f=-1!==E&&w[E].id),10240&e.$$.dirty[0]&&(C?s.addEventListener("transitionend",()=>{n(12,T=!0)},{once:!0}):n(12,T=!1))},[g,w,v,j,o,i,r,x,E,a,S,C,T,s,L,A,c,l,D,B,M,N,R,d,I,f,function(e,t){return(n=[e.name||nt(e,t),...e.shortcodes],Be(n,e=>e)).join(", ");var n},function(e){return Ne(e,t=>{const i=parseInt(getComputedStyle(o).getPropertyValue("--num-columns"),10),r=e.parentElement.getBoundingClientRect().width-t;n(54,U=i),n(21,N=r)})},function(e){return Ne(e,e=>{n(52,_=e)})},function(e){if(!x||!w.length)return;const t=t=>{Ae(e),n(8,E=De(t,E,w))};switch(e.key){case"ArrowDown":return t(!1);case"ArrowUp":return t(!0);case"Enter":if(-1!==E)return Ae(e),G(w[E].id);w.length&&n(8,E=0)}},W,function(e){const{target:t,key:n}=e,o=t=>{t&&(Ae(e),t.focus())};switch(n){case"ArrowLeft":return o(t.previousSibling);case"ArrowRight":return o(t.nextSibling);case"Home":return o(t.parentElement.firstChild);case"End":return o(t.parentElement.lastChild)}},async function(e){const{target:t}=e;if(!t.classList.contains("emoji"))return;Ae(e),G(t.id.substring(4))},Q,async function(e){n(11,C=!C),n(15,A=L),C&&(Ae(e),Me(()=>O("skintone-"+A)))},function(e){if(!C)return;const t=async t=>{Ae(e),n(15,A=t),await re(),O("skintone-"+A)};switch(e.key){case"ArrowUp":return t(De(!0,A,B));case"ArrowDown":return t(De(!1,A,B));case"Home":return t(0);case"End":return t(B.length-1);case"Enter":return Q(e);case"Escape":return Ae(e),O("skintone-button")}},function(e){if(C)switch(e.key){case" ":return Q(e)}},async function(e){const{relatedTarget:t}=e;t&&t.classList.contains("skintone-option")||n(11,C=!1)},m,h,b,p,y,k,function(){j=this.value,n(3,j)},function(e){Z[e?"unshift":"push"](()=>{s=e,n(13,s)})},e=>W(e),function(e){Z[e?"unshift":"push"](()=>{r=e,n(6,r),n(1,w),n(40,b),n(51,$),n(23,d),n(38,m),n(39,h),n(42,y),n(3,j),n(22,R),n(55,P)})},function(e){Z[e?"unshift":"push"](()=>{i=e,n(5,i)})},function(e){Z[e?"unshift":"push"](()=>{o=e,n(4,o)})}]}class it extends be{constructor(e){super(),this.shadowRoot.innerHTML="<style>:host{--emoji-padding:0.5rem;--emoji-size:1.375rem;--indicator-height:3px;--input-border-radius:0.5rem;--input-border-size:1px;--input-font-size:1rem;--input-line-height:1.5;--input-padding:0.25rem;--num-columns:8;--outline-size:2px;--border-size:1px;--skintone-border-radius:1rem;--category-font-size:1rem;display:flex;width:min-content;height:400px}:host,:host(.light){--background:#fff;--border-color:#e0e0e0;--indicator-color:#385ac1;--input-border-color:#999;--input-font-color:#111;--input-placeholder-color:#999;--outline-color:#999;--category-font-color:#111;--button-active-background:#e6e6e6;--button-hover-background:#d9d9d9}:host(.dark){--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555;--button-hover-background:#484848}@media(prefers-color-scheme:dark){:host{--background:#222;--border-color:#444;--indicator-color:#5373ec;--input-border-color:#ccc;--input-font-color:#efefef;--input-placeholder-color:#ccc;--outline-color:#fff;--category-font-color:#efefef;--button-active-background:#555;--button-hover-background:#484848}}button{margin:0;padding:0;border:none;background:none;box-shadow:none;cursor:pointer;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0}input{padding:0;margin:0;line-height:1.15;font-family:inherit}input[type=search]{-webkit-appearance:none}:focus{outline:var(--outline-color) solid var(--outline-size);outline-offset:calc(-1*var(--outline-size))}:host([data-js-focus-visible]) :focus:not([data-focus-visible-added]){outline:none}:focus:not(:focus-visible){outline:none}.hide-focus{outline:none}*{box-sizing:border-box}.picker{contain:content;display:flex;flex-direction:column;background:var(--background);border:var(--border-size) solid var(--border-color);width:100%;height:100%;overflow:hidden;--total-emoji-size:calc(var(--emoji-size) + 2*var(--emoji-padding))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.hidden{opacity:0;pointer-events:none}.abs-pos{position:absolute;left:0;top:0}.gone{display:none!important}.cursor-pointer{cursor:pointer}.skintone-button-wrapper{background:var(--background);z-index:3}.skintone-button-wrapper.expanded{z-index:1}.skintone-list{position:absolute;right:0;top:0;z-index:2;overflow:visible;background:var(--background);border-bottom:var(--border-size) solid var(--border-color);border-radius:0 0 var(--skintone-border-radius) var(--skintone-border-radius);will-change:transform;transition:transform .2s ease-in-out;transform-origin:center 0}@media(prefers-reduced-motion:reduce){.skintone-list{transition-duration:1ms}}.skintone-list.no-animate{transition:none}.tabpanel{overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:transform;min-height:0;flex:1;contain:content}.emoji-menu{display:grid;grid-template-columns:repeat(var(--num-columns),var(--total-emoji-size));justify-content:space-around;align-items:flex-start;width:100%}.category{padding:var(--emoji-padding);font-size:var(--category-font-size);color:var(--category-font-color)}.emoji,button.emoji{font-size:var(--emoji-size);display:flex;align-items:center;justify-content:center;border-radius:100%;height:var(--total-emoji-size);width:var(--total-emoji-size);line-height:1;overflow:hidden;font-family:var(--font-family)}@media(hover:hover) and (pointer:fine){.emoji:hover,button.emoji:hover{background:var(--button-hover-background)}}.emoji.active,.emoji:active,button.emoji.active,button.emoji:active{background:var(--button-active-background)}.custom-emoji{height:var(--total-emoji-size);width:var(--total-emoji-size);padding:var(--emoji-padding);object-fit:contain;pointer-events:none;background-repeat:no-repeat;background-position:50%;background-size:var(--emoji-size) var(--emoji-size)}.nav{display:grid;justify-content:space-between;contain:content}.nav,.nav-button{align-items:center}.nav-button{display:flex;justify-content:center}.indicator-wrapper{display:flex;border-bottom:1px solid var(--border-color)}.indicator{width:calc(100%/var(--num-groups));height:var(--indicator-height);opacity:var(--indicator-opacity);background-color:var(--indicator-color);will-change:transform,opacity;transition:opacity .1s linear,transform .25s ease-in-out}@media(prefers-reduced-motion:reduce){.indicator{will-change:opacity;transition:opacity .1s linear}}.pad-top{width:100%;height:var(--emoji-padding);z-index:3;background:var(--background)}.search-row{display:flex;align-items:center;position:relative;padding-left:var(--emoji-padding);padding-bottom:var(--emoji-padding)}.search-wrapper{flex:1;min-width:0}input.search{padding:var(--input-padding);border-radius:var(--input-border-radius);border:var(--input-border-size) solid var(--input-border-color);background:var(--background);color:var(--input-font-color);width:100%;font-size:var(--input-font-size);line-height:var(--input-line-height)}input.search::placeholder{color:var(--input-placeholder-color)}.favorites{display:flex;flex-direction:row;border-top:var(--border-size) solid var(--border-color);contain:content}.message{padding:var(--emoji-padding)}</style>",ge(this,{target:this.shadowRoot},ot,tt,N,{locale:38,dataSource:39,skinToneEmoji:41,i18n:0,database:40,customEmoji:42,customCategorySorting:43},[-1,-1,-1]),e&&(e.target&&I(e.target,this,e.anchor),e.props&&(this.$set(e.props),le()))}static get observedAttributes(){return["locale","dataSource","skinToneEmoji","i18n","database","customEmoji","customCategorySorting"]}get locale(){return this.$$.ctx[38]}set locale(e){this.$set({locale:e}),le()}get dataSource(){return this.$$.ctx[39]}set dataSource(e){this.$set({dataSource:e}),le()}get skinToneEmoji(){return this.$$.ctx[41]}set skinToneEmoji(e){this.$set({skinToneEmoji:e}),le()}get i18n(){return this.$$.ctx[0]}set i18n(e){this.$set({i18n:e}),le()}get database(){return this.$$.ctx[40]}set database(e){this.$set({database:e}),le()}get customEmoji(){return this.$$.ctx[42]}set customEmoji(e){this.$set({customEmoji:e}),le()}get customCategorySorting(){return this.$$.ctx[43]}set customCategorySorting(e){this.$set({customCategorySorting:e}),le()}}class rt extends it{constructor(e){super({props:e})}disconnectedCallback(){this.$destroy()}static get observedAttributes(){return["locale","data-source","skin-tone-emoji"]}attributeChangedCallback(e,t,n){super.attributeChangedCallback(e.replace(/-([a-z])/g,(e,t)=>t.toUpperCase()),t,n)}}return customElements.define("emoji-picker",rt),e.Database=z,e.Picker=rt,e}({});