import{For as D,Show as O,createMemo as g,createResource as E}from"solid-js";var v="data-by-group.json",T="data-emoji-components.json",C="data-by-emoji.json",j="https://unpkg.com/unicode-emoji-json@0.6.0/",u=`${j}${v}`,c=`${j}${T}`,d=`${j}${C}`;function I(o){u=`${o}${v}`,c=`${o}${T}`,d=`${o}${C}`}function w(o){c=o}function b(o){d=o}function H(o){u=o}var m,s,a;async function S(){return m||(m=await(await fetch(d)).json()),m}async function R(){return a||(a=await(await fetch(u)).json()),a}async function h(){return s||(s=await(await fetch(c)).json()),s}function U(o){m=o}function K(o){s=o}function G(){let[o]=E(S);return o}function N(){let[o]=E(h);return o}function $(){let[o]=E(R);return o}var M={light:"light_skin_tone","medium-light":"medium_light_skin_tone",medium:"medium_skin_tone","medium-dark":"medium_dark_skin_tone",dark:"dark_skin_tone"};function P(o,n){if(n)return o[M[n]]}var J="️",k="‍";function A(o,n,e){return e&&n.skin_tone_support?n.emoji.split(k).map(t=>t in o&&o[t].skin_tone_support?`${t}${e}`:t).join(k).replaceAll(`${J}${e}`,`${e}`):n.emoji}function y(o,n,e,r){return<span class="emoji">{A(o,n,P(e,r))}</span>}function L(o){let n=G(),e=N(),r=$(),p=g(()=>o.renderEmoji||y);return<div class="emoji-picker">{g(()=>{let t=n(),l=e(),f=r();return t&&l&&f?<D each={f}>{_=><div class="emoji-section"><span class="emoji-section-title">{_.name}</span><div class="emoji-items"><D each={_.emojis}>{i=><O when={o.filter?o.filter(i):!0}><button type="button"class="emoji-button"onClick={o.onEmojiClick&&[o.onEmojiClick,i]}onFocus={o.onEmojiFocus&&[o.onEmojiFocus,i]}onMouseOver={o.onEmojiHover&&[o.onEmojiHover,i]}title={i.name}>{p()(t,i,l,o.skinTone)}</button></O>}</D></div></div>}</D>:null})()}</div>}export{L as EmojiPicker,P as convertSkinToneToComponent,A as getEmojiWithSkinTone,h as loadEmojiComponents,S as loadEmojiData,R as loadEmojiGroupData,I as setCDN,w as setComponentsURL,K as setEmojiComponents,U as setEmojiData,H as setEmojiGroupURL,b as setEmojiURL,N as useEmojiComponents,G as useEmojiData,$ as useEmojiGroupData};
