@dialpad/dialtone-vue 3.69.3 → 3.71.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/emoji.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./emoji_text_wrapper-0b655103.cjs"),e=require("vue");const w={class:"d-emoji-picker__search d-emoji-picker__alignment"},D={class:"d-emoji-picker__search-button"},U={__name:"emoji_search",props:{searchPlaceholderLabel:{type:String,required:!0},modelValue:{type:String,default:""}},emits:["update:modelValue"],setup(o){return(p,n)=>(e.openBlock(),e.createElementBlock("div",w,[e.createVNode(t.DtInput,{placeholder:o.searchPlaceholderLabel,"model-value":o.modelValue,"onUpdate:modelValue":n[1]||(n[1]=s=>p.$emit("update:modelValue",s))},e.createSlots({leftIcon:e.withCtx(()=>[e.createVNode(t.DtIcon,{name:"search"})]),_:2},[o.modelValue.length>0?{name:"rightIcon",fn:e.withCtx(()=>[e.createElementVNode("button",D,[e.createVNode(t.DtIcon,{name:"close",onClick:n[0]||(n[0]=s=>p.$emit("update:modelValue",""))})])]),key:"0"}:void 0]),1032,["placeholder","model-value"])]))}},I=t._export_sfc(U,[["__scopeId","data-v-20dd73b1"]]);const F={class:"d-emoji-picker__tabset"},A={__name:"emoji_tabset",props:{showRecentlyUsedTab:{type:Boolean,default:!1},scrollIntoTab:{type:Number,required:!0},isScrolling:{type:Boolean,default:!1},emojiFilter:{type:String,default:""},tabsetLabels:{type:Array,required:!0}},emits:["selected-tabset"],setup(o,{emit:p}){const n=o,s=[{label:"Recently used",icon:"clock"},{label:"Smiley’s and people",icon:"satisfied"},{label:"Nature",icon:"living-thing"},{label:"Food",icon:"food"},{label:"Activity",icon:"object"},{label:"Travel",icon:"transportation"},{label:"Objects",icon:"lightbulb"},{label:"Symbols",icon:"heart"},{label:"Flags",icon:"flag"}],b=e.computed(()=>(n.showRecentlyUsedTab?s:s.slice(1)).map((k,f)=>({...k,label:n.tabsetLabels[f],id:(f+1).toString(),panelId:(f+1).toString()}))),c=e.computed(()=>n.emojiFilter.length>0),_=e.ref("1"),{isScrolling:u}=e.toRefs(n);e.watch(()=>n.scrollIntoTab,()=>{!u.value&&!c.value&&(_.value=(n.scrollIntoTab+1).toString())}),e.watch(c,()=>{c.value&&(_.value=null)});function g(d){u.value||(_.value=d),p("selected-tabset",d)}return(d,k)=>(e.openBlock(),e.createElementBlock("div",F,[e.createVNode(t.DtTabGroup,{"tab-list-class":"d-emoji-picker__tabset-list",selected:_.value},{tabs:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(b),f=>(e.openBlock(),e.createBlock(t.DtTab,{id:f.id,key:f.id,"panel-id":f.panelId,label:f.label,"aria-controls":"d-emoji-picker-list",onClickCapture:e.withModifiers($=>g(f.id),["stop"])},{default:e.withCtx(()=>[e.createVNode(t.DtIcon,{size:"400",name:f.icon},null,8,["name"])]),_:2},1032,["id","panel-id","label","onClickCapture"]))),128))]),_:1},8,["selected"])]))}},T="https://static.dialpadcdn.com/joypixels/png/unicode/32/";const R={class:"d-emoji-picker__selector"},q={key:0,class:"d-emoji-picker__search-label d-emoji-picker__alignment"},x={key:0},O={class:"d-emoji-picker__tab"},G=["aria-label","onClick","onFocusin","onMouseover"],P=["alt","aria-label","title","src"],M={key:2,class:"d-emoji-picker__alignment"},z={class:"d-emoji-picker__tab"},J=["aria-label","onClick","onFocusin","onMouseover"],H=["alt","aria-label","title","src"],K={__name:"emoji_selector",props:{emojiFilter:{type:String,default:""},skinTone:{type:String,required:!0},tabsetLabels:{type:Array,required:!0},selectedTabset:{type:Object,required:!0},searchResultsLabel:{type:String,required:!0},searchNoResultsLabel:{type:String,required:!0},recentlyUsedEmojis:{type:Array,default:()=>[]}},emits:["highlighted-emoji","selected-emoji","scroll-into-tab","is-scrolling"],setup(o,{emit:p}){const n=o,s=e.ref(null),b=e.ref(null),c=e.ref(null),_=["Recently used","People","Nature","Food","Activity","Travel","Objects","Symbols","Flags"],u=e.computed(()=>n.recentlyUsedEmojis.length?n.tabsetLabels.map(l=>({label:l,ref:e.ref(null)})):n.tabsetLabels.slice(1).map(l=>({label:l,ref:e.ref(null)}))),g=e.ref(u.value[0].label),d=e.computed(()=>n.recentlyUsedEmojis.length?_:_.slice(1)),k=e.ref([]),f=e.computed(()=>[...t.emojisGrouped[`People${n.skinTone}`],...t.emojisGrouped.Nature,...t.emojisGrouped.Food,...t.emojisGrouped[`Activity${n.skinTone}`],...t.emojisGrouped.Travel,...t.emojisGrouped[`Objects${n.skinTone}`],...t.emojisGrouped.Symbols,...t.emojisGrouped.Flags]),$=j(()=>{v()});e.watch(f,()=>{v()},{immediate:!0}),e.watch(()=>n.recentlyUsedEmojis,()=>{t.emojisGrouped["Recently used"]=n.recentlyUsedEmojis},{immediate:!0}),e.watch(()=>n.emojiFilter,()=>{V(),$()}),e.watch(()=>n.selectedTabset,l=>{L(l.tabId)},{deep:!0});function v(){const l=n.emojiFilter.toLowerCase();k.value=f.value.filter(r=>{const a=r.name.toLowerCase().includes(l),i=r.keywords.some(m=>m.toLowerCase().includes(l));return a||i})}function j(l,r=300){let a;return(...i)=>{clearTimeout(a),a=setTimeout(()=>l(...i),r)}}function E(l){return`${T+l}.png`}function C(l){l.target.parentNode.style.display="none"}function L(l){const a=u.value[l-1].ref.value[0];e.nextTick(()=>{const i=b.value,m=l==="1"?0:a.offsetTop-20;let h=!0,S=i.scrollTop;p("is-scrolling",!0),i.addEventListener("scroll",()=>{if(h){const y=i.scrollTop;(S<y&&y>=m||S>y&&y<=m)&&(h=!1,p("is-scrolling",!1)),S=y}}),i.scrollTop=m})}function V(){const l=b.value;l.scrollTop=0}function N(){c.value=new IntersectionObserver(l=>{l.forEach(r=>{var m,h,S,y,B;const{target:a}=r,i=parseInt(a.dataset.index);r.isIntersecting&&a.offsetTop<=s.value.offsetTop+50?(g.value=((m=u.value[i-1])==null?void 0:m.label)??((h=u.value[0])==null?void 0:h.label),p("scroll-into-tab",i-1)):r.boundingClientRect.bottom<=((S=s.value)==null?void 0:S.getBoundingClientRect().bottom)?(p("scroll-into-tab",i),g.value=(y=u.value[i])==null?void 0:y.label):i===1&&(p("scroll-into-tab",i),g.value=(B=u.value[0])==null?void 0:B.label)})}),c.value.observe(s.value),Array.from(b.value.children).forEach((l,r)=>{c.value.observe(l),l.dataset.index=r})}return e.onMounted(()=>{N()}),e.onUnmounted(()=>{c.value.disconnect()}),(l,r)=>(e.openBlock(),e.createElementBlock("div",R,[e.createElementVNode("div",{id:"d-emoji-picker-list",ref_key:"listRef",ref:b,class:"d-emoji-picker__list"},[o.emojiFilter?(e.openBlock(),e.createElementBlock("p",q,e.toDisplayString(k.value.length>0?o.searchResultsLabel:o.searchNoResultsLabel),1)):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"tabCategoryRef",ref:s,class:"d-emoji-picker__category d-emoji-picker__alignment"},[e.createElementVNode("p",null,e.toDisplayString(g.value),1)],512)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(u),(a,i)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:i,ref_for:!0,ref:a.ref,class:"d-emoji-picker__alignment"},[i?(e.openBlock(),e.createElementBlock("p",x,e.toDisplayString(a.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",O,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t.emojisGrouped)[e.unref(d)[i]+o.skinTone]?e.unref(t.emojisGrouped)[e.unref(d)[i]+o.skinTone]:e.unref(t.emojisGrouped)[e.unref(d)[i]],m=>(e.openBlock(),e.createElementBlock("button",{key:m.shortname,type:"button","aria-label":m.name,onClick:h=>l.$emit("selected-emoji",m),onFocusin:h=>l.$emit("highlighted-emoji",m),onFocusout:r[0]||(r[0]=h=>l.$emit("highlighted-emoji",null)),onMouseover:h=>l.$emit("highlighted-emoji",m),onMouseleave:r[1]||(r[1]=h=>l.$emit("highlighted-emoji",null))},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:m.name,"aria-label":m.name,title:m.name,src:E(m.unicode_character),onError:C},null,40,P)],40,G))),128))])])),[[e.vShow,!o.emojiFilter]])),128)),o.emojiFilter?(e.openBlock(),e.createElementBlock("div",M,[e.createElementVNode("div",z,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.value,a=>(e.openBlock(),e.createElementBlock("button",{key:a.shortname,type:"button","aria-label":a.name,onClick:i=>l.$emit("selected-emoji",a),onFocusin:i=>l.$emit("highlighted-emoji",a),onFocusout:r[2]||(r[2]=i=>l.$emit("highlighted-emoji",null)),onMouseover:i=>l.$emit("highlighted-emoji",a),onMouseleave:r[3]||(r[3]=i=>l.$emit("highlighted-emoji",null))},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:a.name,"aria-label":a.name,title:a.name,src:`${e.unref(T)+a.unicode_character}.png`},null,8,H)],40,J))),128))])])):e.createCommentVNode("",!0)],512)]))}},Q=t._export_sfc(K,[["__scopeId","data-v-183240d8"]]);const W={class:"d-emoji-picker__skin-list"},X=["onClick"],Y=["alt","aria-label","title","src"],Z={class:"d-emoji-picker__skin-selected"},ee=["alt","aria-label","title","src"],te={__name:"emoji_skin_selector",props:{skinTone:{type:String,required:!0},isHovering:{type:Boolean,default:!1},skinSelectorButtonTooltipLabel:{type:String,required:!0}},emits:["skin-tone"],setup(o,{emit:p}){const n=o,s=[{name:":wave_tone1:",unicode_output:"1f44b-1f3fb",skinTone:"Light",skinCode:"_tone1"},{name:":wave_tone2:",unicode_output:"1f44b-1f3fc",skinTone:"MediumLight",skinCode:"_tone2"},{name:":wave_tone3:",unicode_output:"1f44b-1f3fd",skinTone:"Medium",skinCode:"_tone3"},{name:":wave_tone4:",unicode_output:"1f44b-1f3fe",skinTone:"MediumDark",skinCode:"_tone4"},{name:":wave_tone5:",unicode_output:"1f44b-1f3ff",skinTone:"Dark",skinCode:"_tone5"},{name:":wave:",unicode_output:"1f44b",skinTone:"Default",skinCode:""}],b=e.ref(s.find(u=>u.skinTone===n.skinTone)),c=e.ref(!1);e.watchEffect(()=>n.isHovering&&(c.value=!1));function _(u){b.value=u,c.value=!1,p("skin-tone",u.skinTone)}return(u,g)=>(e.openBlock(),e.createElementBlock("div",null,[e.withDirectives(e.createElementVNode("div",W,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(s,d=>e.createElementVNode("button",{key:d.name,class:e.normalizeClass({selected:b.value.skinCode===d.skinCode}),onClick:k=>_(d)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:d.name,"aria-label":d.name,title:d.name,src:`${e.unref(T)+d.unicode_output}.png`},null,8,Y)],10,X)),64))],512),[[e.vShow,c.value]]),e.withDirectives(e.createElementVNode("div",Z,[e.createVNode(t.DtTooltip,{placement:"top-end"},{anchor:e.withCtx(()=>[e.createElementVNode("button",{onClick:g[0]||(g[0]=d=>c.value=!0)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:b.value.name,"aria-label":b.value.name,title:b.value.name,src:`${e.unref(T)+b.value.unicode_output}.png`},null,8,ee)])]),default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.skinSelectorButtonTooltipLabel)+" ",1)]),_:1})],512),[[e.vShow,!c.value]])]))}},oe=t._export_sfc(te,[["__scopeId","data-v-5c3fd4f6"]]);const le={class:"d-emoji-picker__data"},ne=["alt","aria-label","title","src"],ie={__name:"emoji_description",props:{emoji:{type:Object,default:null}},setup(o){return(p,n)=>{var s;return e.openBlock(),e.createElementBlock("div",le,[o.emoji?(e.openBlock(),e.createElementBlock("img",{key:0,class:"d-icon d-icon--size-500",alt:o.emoji.name,"aria-label":o.emoji.name,title:o.emoji.name,src:`${e.unref(T)+o.emoji.unicode_character}.png`},null,8,ne)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString((s=o.emoji)==null?void 0:s.name),1)])}}},se=t._export_sfc(ie,[["__scopeId","data-v-48c61881"]]);const ae={class:"d-emoji-picker"},re={class:"d-emoji-picker--header"},ce={class:"d-emoji-picker--body"},ue={class:"d-emoji-picker--footer"},de={__name:"emoji_picker",props:{recentlyUsedEmojis:{type:Array,default:()=>[]},searchPlaceholderLabel:{type:String,required:!0},searchResultsLabel:{type:String,required:!0},searchNoResultsLabel:{type:String,required:!0},tabSetLabels:{type:Array,required:!0},skinTone:{type:String,default:"Default"},skinSelectorButtonTooltipLabel:{type:String,required:!0}},emits:["selected-emoji","skin-tone"],setup(o,{emit:p}){const n=o,s=e.ref(""),b=e.ref(null),c=e.ref({}),_=e.ref(0),u=e.ref(!1),g=e.computed(()=>n.recentlyUsedEmojis.length>0);function d(v){s.value="",c.value=v,c.value={...c.value,tabId:v}}function k(v){_.value=v}function f(v){u.value=v}function $(v){b.value=v}return(v,j)=>(e.openBlock(),e.createElementBlock("div",ae,[e.createElementVNode("div",re,[e.createVNode(A,{"emoji-filter":s.value,"show-recently-used-tab":e.unref(g),"scroll-into-tab":_.value,"tabset-labels":o.tabSetLabels,"is-scrolling":u.value,onSelectedTabset:d},null,8,["emoji-filter","show-recently-used-tab","scroll-into-tab","tabset-labels","is-scrolling"])]),e.createElementVNode("div",ce,[e.createVNode(I,{modelValue:s.value,"onUpdate:modelValue":j[0]||(j[0]=E=>s.value=E),"search-placeholder-label":o.searchPlaceholderLabel},null,8,["modelValue","search-placeholder-label"]),e.createVNode(Q,{"emoji-filter":s.value,"skin-tone":o.skinTone,"tabset-labels":o.tabSetLabels,"search-results-label":o.searchResultsLabel,"search-no-results-label":o.searchNoResultsLabel,"recently-used-emojis":o.recentlyUsedEmojis,"selected-tabset":c.value,onScrollIntoTab:k,onIsScrolling:f,onHighlightedEmoji:$,onSelectedEmoji:j[1]||(j[1]=E=>p("selected-emoji",E))},null,8,["emoji-filter","skin-tone","tabset-labels","search-results-label","search-no-results-label","recently-used-emojis","selected-tabset"])]),e.createElementVNode("div",ue,[e.createVNode(se,{emoji:b.value},null,8,["emoji"]),e.createVNode(oe,{"is-hovering":!!b.value,"skin-selector-button-tooltip-label":o.skinSelectorButtonTooltipLabel,"skin-tone":o.skinTone,onSkinTone:j[2]||(j[2]=E=>p("skin-tone",E))},null,8,["is-hovering","skin-selector-button-tooltip-label","skin-tone"])])]))}};exports.DtEmoji=t.DtEmoji;exports.DtEmojiTextWrapper=t._sfc_main;exports.codeToEmojiData=t.codeToEmojiData;Object.defineProperty(exports,"customEmojiAssetUrl",{enumerable:!0,get:()=>t.customEmojiAssetUrl});exports.defaultEmojiAssetUrl=t.defaultEmojiAssetUrl;Object.defineProperty(exports,"emojiFileExtensionLarge",{enumerable:!0,get:()=>t.emojiFileExtensionLarge});Object.defineProperty(exports,"emojiFileExtensionSmall",{enumerable:!0,get:()=>t.emojiFileExtensionSmall});Object.defineProperty(exports,"emojiImageUrlLarge",{enumerable:!0,get:()=>t.emojiImageUrlLarge});Object.defineProperty(exports,"emojiImageUrlSmall",{enumerable:!0,get:()=>t.emojiImageUrlSmall});exports.emojiJson=t.emojiJson;exports.emojiVersion=t.emojiVersion;exports.filterValidShortCodes=t.filterValidShortCodes;exports.findEmojis=t.findEmojis;exports.findShortCodes=t.findShortCodes;exports.getEmojiData=t.getEmojiData;exports.setCustomEmojiJson=t.setCustomEmojiJson;exports.setCustomEmojiUrl=t.setCustomEmojiUrl;exports.setEmojiAssetUrlLarge=t.setEmojiAssetUrlLarge;exports.setEmojiAssetUrlSmall=t.setEmojiAssetUrlSmall;exports.shortcodeToEmojiData=t.shortcodeToEmojiData;exports.stringToUnicode=t.stringToUnicode;exports.unicodeToString=t.unicodeToString;exports.validateCustomEmojiJson=t.validateCustomEmojiJson;exports.DtEmojiPicker=de;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./emoji_text_wrapper-0681c5eb.cjs"),e=require("vue");const H={class:"d-emoji-picker__search d-emoji-picker__alignment"},W=["onKeydown"],Q={__name:"emoji_search",props:{searchPlaceholderLabel:{type:String,required:!0},modelValue:{type:String,default:""}},emits:["update:modelValue","focus-emoji-selector","focus-tabset","select-first-emoji"],setup(a,{expose:h,emit:p}){const i=e.ref(null);function f(){p("update:modelValue",""),g()}function g(){i.value.focus()}return e.onMounted(()=>{g()}),h({focusSearchInput:g}),(y,k)=>(e.openBlock(),e.createElementBlock("div",H,[e.createVNode(s.DtInput,{ref_key:"searchInput",ref:i,placeholder:a.searchPlaceholderLabel,"model-value":a.modelValue,"onUpdate:modelValue":k[0]||(k[0]=d=>y.$emit("update:modelValue",d)),onKeydown:[k[1]||(k[1]=e.withKeys(d=>y.$emit("focus-tabset"),["up"])),k[2]||(k[2]=e.withKeys(e.withModifiers(d=>y.$emit("focus-emoji-selector"),["prevent"]),["down"])),k[3]||(k[3]=e.withKeys(d=>y.$emit("select-first-emoji"),["enter"]))]},e.createSlots({leftIcon:e.withCtx(()=>[e.createVNode(s.DtIcon,{name:"search"})]),_:2},[a.modelValue.length>0?{name:"rightIcon",fn:e.withCtx(()=>[e.createElementVNode("button",{class:"d-emoji-picker__search-button",onClick:f,onKeydown:e.withKeys(f,["enter"])},[e.createVNode(s.DtIcon,{name:"close"})],40,W)]),key:"0"}:void 0]),1032,["placeholder","model-value"])]))}},X=s._export_sfc(Q,[["__scopeId","data-v-2576719b"]]);const Y={class:"d-emoji-picker__tabset"},Z={__name:"emoji_tabset",props:{showRecentlyUsedTab:{type:Boolean,default:!1},scrollIntoTab:{type:Number,required:!0},isScrolling:{type:Boolean,default:!1},emojiFilter:{type:String,default:""},tabsetLabels:{type:Array,required:!0}},emits:["selected-tabset","focus-search-input"],setup(a,{expose:h,emit:p}){const i=a,f=[{label:"Recently used",icon:"clock"},{label:"Smiley’s and people",icon:"satisfied"},{label:"Nature",icon:"living-thing"},{label:"Food",icon:"food"},{label:"Activity",icon:"object"},{label:"Travel",icon:"transportation"},{label:"Objects",icon:"lightbulb"},{label:"Symbols",icon:"heart"},{label:"Flags",icon:"flag"}],g=e.computed(()=>(i.showRecentlyUsedTab?f:f.slice(1)).map((o,r)=>({...o,label:i.tabsetLabels[r],id:(r+1).toString(),panelId:(r+1).toString()}))),y=e.computed(()=>i.emojiFilter.length>0),k=e.ref("1"),{isScrolling:d}=e.toRefs(i),R=e.ref([]);e.watch(()=>i.scrollIntoTab,()=>{!d.value&&!y.value&&(k.value=(i.scrollIntoTab+1).toString())}),e.watch(y,()=>{y.value&&(k.value=null)});function $(t){d.value||(k.value=t),p("selected-tabset",t)}function m(t){R.value.push(t.$el)}function T(){R.value[0].focus()}function b(t,o){t.key==="Enter"&&($(o),R.value[o-1].blur()),t.key==="Tab"&&(t.preventDefault(),p("focus-search-input")),t.key==="ArrowDown"&&p("focus-search-input")}return h({focusTabset:T}),(t,o)=>(e.openBlock(),e.createElementBlock("div",Y,[e.createVNode(s.DtTabGroup,{"tab-list-class":"d-emoji-picker__tabset-list",selected:k.value},{tabs:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),(r,S)=>(e.openBlock(),e.createBlock(s.DtTab,{id:r.id,ref_for:!0,ref:j=>{j&&m(j)},key:r.id,"panel-id":r.panelId,label:r.label,"aria-controls":"d-emoji-picker-list",tabindex:S+1,onClickCapture:e.withModifiers(j=>$(r.id),["stop"]),onKeydown:j=>b(j,r.id)},{default:e.withCtx(()=>[e.createVNode(s.DtIcon,{size:"400",name:r.icon},null,8,["name"])]),_:2},1032,["id","panel-id","label","tabindex","onClickCapture","onKeydown"]))),128))]),_:1},8,["selected"])]))}},F="https://static.dialpadcdn.com/joypixels/png/unicode/32/",w=9;function x(a){const h=e.ref([]),p=e.ref([]),i=e.ref(!1),f=e.ref(!0);function g(t,o=!1){f.value=o,a("highlighted-emoji",t)}function y(t,o,r){h.value[o]||(h.value[o]=[]),h.value[o][r]=t}function k(t,o){p.value[o]=t}function d(t,o){var S,j,C;const r=i.value?(S=p.value)==null?void 0:S[o]:(C=(j=h.value)==null?void 0:j[t])==null?void 0:C[o];return r?(r.focus(),!0):!1}function R(t,o){d(t,o-1)||(h.value[t-1]?d(t-1,h.value[t-1].length-1):d(h.value.length-1,h.value[h.value.length-1].length-1))}function $(t,o){d(t,o+1)||d(t+1,0)||d(0,0)}function m(t,o){d(0,o-1)||d(0,p.value.length-1)}function T(t,o){d(0,o+1)||d(0,0)}function b(t,o,r){i.value?t==="left"?m(o,r):t==="right"&&T(o,r):t==="left"?R(o,r):t==="right"&&$(o,r)}return{emojiRefs:h,emojiFilteredRefs:p,isFiltering:i,hoverFirstEmoji:f,setEmojiRef:y,setFilteredRef:k,hoverEmoji:g,focusEmoji:d,handleHorizontalNavigation:b}}const ee={class:"d-emoji-picker__selector"},te={key:0,class:"d-emoji-picker__search-label d-emoji-picker__alignment"},oe={key:0},le={class:"d-emoji-picker__tab"},ne=["aria-label","onClick","onFocusin","onMouseover","onKeydown"],se=["alt","aria-label","title","src"],ie={key:2,class:"d-emoji-picker__alignment"},re={class:"d-emoji-picker__tab","data-qa":"filtered-emojis"},ae=["aria-label","onClick","onFocusin","onMouseover","onKeydown"],ce=["alt","aria-label","title","src"],ue={__name:"emoji_selector",props:{emojiFilter:{type:String,default:""},skinTone:{type:String,required:!0},tabsetLabels:{type:Array,required:!0},selectedTabset:{type:Object,required:!0},searchResultsLabel:{type:String,required:!0},searchNoResultsLabel:{type:String,required:!0},recentlyUsedEmojis:{type:Array,default:()=>[]}},emits:["highlighted-emoji","selected-emoji","scroll-into-tab","is-scrolling","focus-skin-selector","focus-search-input"],setup(a,{expose:h,emit:p}){const i=a,{emojiRefs:f,emojiFilteredRefs:g,isFiltering:y,hoverFirstEmoji:k,setEmojiRef:d,setFilteredRef:R,hoverEmoji:$,focusEmoji:m,handleHorizontalNavigation:T}=x(p),b=e.ref(null),t=e.ref(null),o=e.ref(null),r=["Recently used","People","Nature","Food","Activity","Travel","Objects","Symbols","Flags"],S=e.computed(()=>i.recentlyUsedEmojis.length?i.tabsetLabels.map(l=>({label:l,ref:e.ref(null)})):i.tabsetLabels.slice(1).map(l=>({label:l,ref:e.ref(null)}))),j=e.ref(S.value[0].label),C=e.computed(()=>i.recentlyUsedEmojis.length?r:r.slice(1)),D=e.ref([]),V=e.computed(()=>[...s.emojisGrouped[`People${i.skinTone}`],...s.emojisGrouped.Nature,...s.emojisGrouped.Food,...s.emojisGrouped[`Activity${i.skinTone}`],...s.emojisGrouped.Travel,...s.emojisGrouped[`Objects${i.skinTone}`],...s.emojisGrouped.Symbols,...s.emojisGrouped.Flags]),A=U(()=>{g.value=[],I()});e.watch(V,()=>{I()},{immediate:!0}),e.watch(()=>i.recentlyUsedEmojis,()=>{s.emojisGrouped["Recently used"]=i.recentlyUsedEmojis},{immediate:!0}),e.watch(()=>i.emojiFilter,()=>{O(),i.emojiFilter?y.value=!0:(y.value=!1,p("highlighted-emoji",null)),A()}),e.watch(()=>i.selectedTabset,l=>{N(l.tabId)},{deep:!0});function I(){const l=i.emojiFilter.toLowerCase();D.value=V.value.filter(n=>{const u=n.name.toLowerCase().includes(l),v=n.keywords.some(c=>c.toLowerCase().includes(l));return u||v}),e.nextTick(()=>{l&&$(D.value[0],!0)})}function U(l,n=300){let u;return(...v)=>{clearTimeout(u),u=setTimeout(()=>l(...v),n)}}function K(l){return`${F+l}.png`}function q(l){l.target.parentNode.style.display="none"}function N(l,n=!0){const v=S.value[l-1].ref.value[0];e.nextTick(()=>{const c=t.value,E=l==="1"?0:v.offsetTop-20;let _=!0,B=c.scrollTop;p("is-scrolling",!0),c.addEventListener("scroll",()=>{if(_){const L=c.scrollTop;(B<L&&L>=E||B>L&&L<=E)&&(_=!1,p("is-scrolling",!1)),B=L}}),c.scrollTop=E,n&&m(l-1,0)})}function O(){const l=t.value;l.scrollTop=0}function P(){o.value=new IntersectionObserver(l=>{l.forEach(n=>{var c,E,_,B,L;const{target:u}=n,v=parseInt(u.dataset.index);n.isIntersecting&&u.offsetTop<=b.value.offsetTop+50?(j.value=((c=S.value[v-1])==null?void 0:c.label)??((E=S.value[0])==null?void 0:E.label),p("scroll-into-tab",v-1)):n.boundingClientRect.bottom<=((_=b.value)==null?void 0:_.getBoundingClientRect().bottom)?(p("scroll-into-tab",v),j.value=(B=S.value[v])==null?void 0:B.label):v===1&&(p("scroll-into-tab",v),j.value=(L=S.value[0])==null?void 0:L.label)})}),o.value.observe(b.value),Array.from(t.value.children).forEach((l,n)=>{o.value.observe(l),l.dataset.index=n})}const M=(l,n,u)=>{var v;if(l.preventDefault(),k.value=!1,l.key==="ArrowUp"){const c=n%w;if(!m(0,n-w)){const E=g.value.length-g.value.length%w+c;m(0,E),m(0,E)||m(0,g.value.length-1)}}if(l.key==="ArrowDown"&&!m(0,n+w)){const c=n%w;(v=g.value)!=null&&v[n+(w-c)]?m(0,g.value.length-1):m(0,c)}l.key==="ArrowLeft"&&T("left",0,n),l.key==="ArrowRight"&&T("right",0,n),l.key==="Tab"&&p("focus-skin-selector"),l.key==="Enter"&&p("selected-emoji",u)},G=(l,n,u,v)=>{var c,E;if(l.preventDefault(),l.key==="ArrowUp"){const _=u%w;if(n===0){const B=w-f.value[f.value.length-1].length%w,L=f.value[f.value.length-1].length+B-(w-_);m(f.value.length-1,L)||m(f.value.length-1,f.value[f.value.length-1].length-1);return}if(!m(n,u-w)){const B=n-1<0?0:n-1,L=f.value[B].length,J=L-L%w+_;m(B,J)||m(n-1,f.value[n-1].length-1)}}if(l.key==="ArrowDown"&&!m(n,u+w)){const _=u%w;(E=(c=f.value)==null?void 0:c[n])!=null&&E[u+(w-_)]?m(n,f.value[n].length-1):m(n+1,_)||m(0,_)||m(0,f.value[0].length-1)}l.key==="ArrowLeft"&&T("left",n,u),l.key==="ArrowRight"&&T("right",n,u),l.key==="Tab"&&(m(n+1,0)?N(n+1+1,!1):p("focus-skin-selector")),l.key==="Tab"&&l.shiftKey&&(m(n,0)&&n>0?N(n,!0):(N(1,!1),p("focus-search-input"))),l.key==="Enter"&&p("selected-emoji",v)};function z(){m(0,0)}return e.onMounted(()=>{P()}),e.onUnmounted(()=>{o.value.disconnect()}),h({focusEmojiSelector:z}),(l,n)=>(e.openBlock(),e.createElementBlock("div",ee,[e.createElementVNode("div",{id:"d-emoji-picker-list",ref_key:"listRef",ref:t,class:"d-emoji-picker__list"},[a.emojiFilter?(e.openBlock(),e.createElementBlock("p",te,e.toDisplayString(D.value.length>0?a.searchResultsLabel:a.searchNoResultsLabel),1)):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"tabCategoryRef",ref:b,class:"d-emoji-picker__category d-emoji-picker__alignment"},[e.createElementVNode("p",null,e.toDisplayString(j.value),1)],512)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(S),(u,v)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:v,ref_for:!0,ref:u.ref,class:"d-emoji-picker__alignment"},[v?(e.openBlock(),e.createElementBlock("p",oe,e.toDisplayString(u.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(s.emojisGrouped)[e.unref(C)[v]+a.skinTone]?e.unref(s.emojisGrouped)[e.unref(C)[v]+a.skinTone]:e.unref(s.emojisGrouped)[e.unref(C)[v]],(c,E)=>(e.openBlock(),e.createElementBlock("button",{key:c.shortname,ref_for:!0,ref:_=>{_&&e.unref(d)(_,v,E)},type:"button","aria-label":c.name,onClick:_=>l.$emit("selected-emoji",c),onFocusin:_=>l.$emit("highlighted-emoji",c),onFocusout:n[0]||(n[0]=_=>l.$emit("highlighted-emoji",null)),onMouseover:_=>l.$emit("highlighted-emoji",c),onMouseleave:n[1]||(n[1]=_=>l.$emit("highlighted-emoji",null)),onKeydown:_=>G(_,v,E,c)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:c.name,"aria-label":c.name,title:c.name,src:K(c.unicode_character),onError:q},null,40,se)],40,ne))),128))])])),[[e.vShow,!a.emojiFilter]])),128)),a.emojiFilter?(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,(u,v)=>(e.openBlock(),e.createElementBlock("button",{key:u.shortname,ref_for:!0,ref:c=>{c&&e.unref(R)(c,v)},type:"button","aria-label":u.name,class:e.normalizeClass({"hover-emoji":v===0&&e.unref(k)}),onClick:c=>l.$emit("selected-emoji",u),onFocusin:c=>l.$emit("highlighted-emoji",u),onFocusout:n[2]||(n[2]=c=>l.$emit("highlighted-emoji",null)),onMouseover:c=>e.unref($)(u),onMouseleave:n[3]||(n[3]=c=>e.unref($)(null)),onKeydown:c=>M(c,v,u)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:u.name,"aria-label":u.name,title:u.name,src:`${e.unref(F)+u.unicode_character}.png`},null,8,ce)],42,ae))),128))])])):e.createCommentVNode("",!0)],512)]))}},fe=s._export_sfc(ue,[["__scopeId","data-v-b604e646"]]);const de={"data-qa":"skin-selector"},me={class:"d-emoji-picker__skin-list"},pe=["onKeydown","onClick"],ve=["alt","aria-label","title","src"],he={class:"d-emoji-picker__skin-selected"},be=["aria-label"],ge=["alt","aria-label","title","src"],ke={__name:"emoji_skin_selector",props:{skinTone:{type:String,required:!0},isHovering:{type:Boolean,default:!1},skinSelectorButtonTooltipLabel:{type:String,required:!0}},emits:["skin-tone","focus-tabset"],setup(a,{expose:h,emit:p}){const i=a,f=[{name:":wave_tone1:",unicode_output:"1f44b-1f3fb",skinTone:"Light",skinCode:"_tone1"},{name:":wave_tone2:",unicode_output:"1f44b-1f3fc",skinTone:"MediumLight",skinCode:"_tone2"},{name:":wave_tone3:",unicode_output:"1f44b-1f3fd",skinTone:"Medium",skinCode:"_tone3"},{name:":wave_tone4:",unicode_output:"1f44b-1f3fe",skinTone:"MediumDark",skinCode:"_tone4"},{name:":wave_tone5:",unicode_output:"1f44b-1f3ff",skinTone:"Dark",skinCode:"_tone5"},{name:":wave:",unicode_output:"1f44b",skinTone:"Default",skinCode:""}],g=e.ref(f.find(t=>t.skinTone===i.skinTone)),y=e.ref(!1),k=e.ref(null),d=e.ref([]);e.watchEffect(()=>i.isHovering&&(y.value=!1));function R(t){d.value.push(t)}function $(){k.value.focus()}function m(t){g.value=t,y.value=!1,p("skin-tone",t.skinTone),e.nextTick(()=>$())}const T=(t,o,r)=>{var S,j,C;t.preventDefault(),t.key==="ArrowLeft"&&(r===0&&((S=d.value[d.value.length-1])==null||S.focus()),(j=d.value[r-1])==null||j.focus()),t.key==="ArrowRight"&&((C=d.value[r+1])==null||C.focus()),t.key==="Enter"&&(o?m(o):b()),t.key==="Tab"&&p("focus-tabset")};function b(){y.value=!y.value,e.nextTick(()=>d.value[0].focus())}return h({focusSkinSelector:$}),(t,o)=>(e.openBlock(),e.createElementBlock("div",de,[e.withDirectives(e.createElementVNode("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(f,(r,S)=>e.createElementVNode("button",{ref_for:!0,ref:j=>{j&&R(j)},key:r.name,class:e.normalizeClass({selected:g.value.skinCode===r.skinCode}),onKeydown:j=>T(j,r,S),onClick:j=>m(r)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:r.name,"aria-label":r.name,title:r.name,src:`${e.unref(F)+r.unicode_output}.png`},null,8,ve)],42,pe)),64))],512),[[e.vShow,y.value]]),e.withDirectives(e.createElementVNode("div",he,[e.createVNode(s.DtTooltip,{placement:"top-end"},{anchor:e.withCtx(()=>[e.createElementVNode("button",{ref_key:"skinSelectorRef",ref:k,"aria-label":a.skinSelectorButtonTooltipLabel,onClick:b,onKeydown:o[0]||(o[0]=r=>T(r))},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:g.value.name,"aria-label":g.value.name,title:g.value.name,src:`${e.unref(F)+g.value.unicode_output}.png`},null,8,ge)],40,be)]),default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.skinSelectorButtonTooltipLabel)+" ",1)]),_:1})],512),[[e.vShow,!y.value]])]))}},ye=s._export_sfc(ke,[["__scopeId","data-v-58a153f4"]]);const je={class:"d-emoji-picker__data"},_e=["alt","aria-label","title","src"],Se={__name:"emoji_description",props:{emoji:{type:Object,default:null}},setup(a){return(h,p)=>{var i;return e.openBlock(),e.createElementBlock("div",je,[a.emoji?(e.openBlock(),e.createElementBlock("img",{key:0,class:"d-icon d-icon--size-500",alt:a.emoji.name,"aria-label":a.emoji.name,title:a.emoji.name,src:`${e.unref(F)+a.emoji.unicode_character}.png`},null,8,_e)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString((i=a.emoji)==null?void 0:i.name),1)])}}},Ee=s._export_sfc(Se,[["__scopeId","data-v-48c61881"]]);const we={class:"d-emoji-picker"},$e={class:"d-emoji-picker--header"},Te={class:"d-emoji-picker--body"},Le={class:"d-emoji-picker--footer"},Re={__name:"emoji_picker",props:{recentlyUsedEmojis:{type:Array,default:()=>[]},searchPlaceholderLabel:{type:String,required:!0},searchResultsLabel:{type:String,required:!0},searchNoResultsLabel:{type:String,required:!0},tabSetLabels:{type:Array,required:!0},skinTone:{type:String,default:"Default"},skinSelectorButtonTooltipLabel:{type:String,required:!0}},emits:["selected-emoji","skin-tone","close"],setup(a,{emit:h}){const p=a,i=e.ref(""),f=e.ref(null),g=e.ref({}),y=e.ref(0),k=e.ref(!1),d=e.computed(()=>p.recentlyUsedEmojis.length>0);function R(b){i.value="",g.value=b,g.value={...g.value,tabId:b}}function $(b){y.value=b}function m(b){k.value=b}function T(b){f.value=b}return(b,t)=>(e.openBlock(),e.createElementBlock("div",we,[e.createElementVNode("div",$e,[e.createVNode(Z,{ref:"tabsetRef","emoji-filter":i.value,"show-recently-used-tab":e.unref(d),"scroll-into-tab":y.value,"tabset-labels":a.tabSetLabels,"is-scrolling":k.value,onFocusSearchInput:t[0]||(t[0]=o=>b.$refs.searchInputRef.focusSearchInput()),onSelectedTabset:R,onKeydown:t[1]||(t[1]=e.withKeys(o=>h("close"),["esc"]))},null,8,["emoji-filter","show-recently-used-tab","scroll-into-tab","tabset-labels","is-scrolling"])]),e.createElementVNode("div",Te,[e.createVNode(X,{ref:"searchInputRef",modelValue:i.value,"onUpdate:modelValue":t[2]||(t[2]=o=>i.value=o),"search-placeholder-label":a.searchPlaceholderLabel,onSelectFirstEmoji:t[3]||(t[3]=o=>h("selected-emoji",f.value)),onFocusTabset:t[4]||(t[4]=o=>b.$refs.tabsetRef.focusTabset()),onFocusEmojiSelector:t[5]||(t[5]=o=>b.$refs.emojiSelectorRef.focusEmojiSelector()),onKeydown:t[6]||(t[6]=e.withKeys(o=>h("close"),["esc"]))},null,8,["modelValue","search-placeholder-label"]),e.createVNode(fe,{ref:"emojiSelectorRef","emoji-filter":i.value,"skin-tone":a.skinTone,"tabset-labels":a.tabSetLabels,"search-results-label":a.searchResultsLabel,"search-no-results-label":a.searchNoResultsLabel,"recently-used-emojis":a.recentlyUsedEmojis,"selected-tabset":g.value,onScrollIntoTab:$,onIsScrolling:m,onHighlightedEmoji:T,onSelectedEmoji:t[7]||(t[7]=o=>h("selected-emoji",o)),onFocusSkinSelector:t[8]||(t[8]=o=>b.$refs.skinSelectorRef.focusSkinSelector()),onFocusSearchInput:t[9]||(t[9]=o=>b.$refs.searchInputRef.focusSearchInput()),onKeydown:t[10]||(t[10]=e.withKeys(o=>h("close"),["esc"]))},null,8,["emoji-filter","skin-tone","tabset-labels","search-results-label","search-no-results-label","recently-used-emojis","selected-tabset"])]),e.createElementVNode("div",Le,[e.createVNode(Ee,{emoji:f.value},null,8,["emoji"]),e.createVNode(ye,{ref:"skinSelectorRef","is-hovering":!!f.value,"skin-selector-button-tooltip-label":a.skinSelectorButtonTooltipLabel,"skin-tone":a.skinTone,onSkinTone:t[11]||(t[11]=o=>h("skin-tone",o)),onFocusTabset:t[12]||(t[12]=o=>b.$refs.tabsetRef.focusTabset()),onKeydown:t[13]||(t[13]=e.withKeys(o=>h("close"),["esc"]))},null,8,["is-hovering","skin-selector-button-tooltip-label","skin-tone"])])]))}};exports.DtEmoji=s.DtEmoji;exports.DtEmojiTextWrapper=s._sfc_main;exports.codeToEmojiData=s.codeToEmojiData;Object.defineProperty(exports,"customEmojiAssetUrl",{enumerable:!0,get:()=>s.customEmojiAssetUrl});exports.defaultEmojiAssetUrl=s.defaultEmojiAssetUrl;Object.defineProperty(exports,"emojiFileExtensionLarge",{enumerable:!0,get:()=>s.emojiFileExtensionLarge});Object.defineProperty(exports,"emojiFileExtensionSmall",{enumerable:!0,get:()=>s.emojiFileExtensionSmall});Object.defineProperty(exports,"emojiImageUrlLarge",{enumerable:!0,get:()=>s.emojiImageUrlLarge});Object.defineProperty(exports,"emojiImageUrlSmall",{enumerable:!0,get:()=>s.emojiImageUrlSmall});exports.emojiJson=s.emojiJson;exports.emojiVersion=s.emojiVersion;exports.filterValidShortCodes=s.filterValidShortCodes;exports.findEmojis=s.findEmojis;exports.findShortCodes=s.findShortCodes;exports.getEmojiData=s.getEmojiData;exports.setCustomEmojiJson=s.setCustomEmojiJson;exports.setCustomEmojiUrl=s.setCustomEmojiUrl;exports.setEmojiAssetUrlLarge=s.setEmojiAssetUrlLarge;exports.setEmojiAssetUrlSmall=s.setEmojiAssetUrlSmall;exports.shortcodeToEmojiData=s.shortcodeToEmojiData;exports.stringToUnicode=s.stringToUnicode;exports.unicodeToString=s.unicodeToString;exports.validateCustomEmojiJson=s.validateCustomEmojiJson;exports.DtEmojiPicker=Re;