@dialpad/dialtone 9.22.1 → 9.23.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.
Files changed (37) hide show
  1. package/dist/css/dialtone.css +2 -2
  2. package/dist/stylelint-plugin/index.js +2 -3
  3. package/dist/stylelint-plugin/rules/no-mixins.js +12 -17
  4. package/dist/tokens/android/java/tokens-dark.kt +1 -1
  5. package/dist/tokens/android/java/tokens-light.kt +1 -1
  6. package/dist/tokens/android/res/values/colors-dark.xml +1 -1
  7. package/dist/tokens/android/res/values/colors-light.xml +1 -1
  8. package/dist/tokens/android/res/values/dimens.xml +1 -1
  9. package/dist/tokens/css/variables-dark.css +1 -1
  10. package/dist/tokens/css/variables-light.css +1 -1
  11. package/dist/tokens/ios/tokens-dark.swift +1 -1
  12. package/dist/tokens/ios/tokens-light.swift +1 -1
  13. package/dist/tokens/less/variables-dark.less +1 -1
  14. package/dist/tokens/less/variables-light.less +1 -1
  15. package/dist/vue2/dialtone-vue.cjs +1 -1
  16. package/dist/vue2/dialtone-vue.js +2 -0
  17. package/dist/vue2/emoji.cjs +1 -1
  18. package/dist/vue2/emoji.js +1 -1
  19. package/dist/vue2/{emoji_picker-eZhVMcsq.js → emoji_picker-RVVypenL.js} +1 -1
  20. package/dist/vue2/emoji_picker-vs3kVT4C.cjs +1 -0
  21. package/dist/vue2/message_input.cjs +1 -1
  22. package/dist/vue2/message_input.js +1 -1
  23. package/dist/vue2/types/recipes/leftbar/general_row/general_row_constants.d.ts +1 -0
  24. package/dist/vue2/types/recipes/leftbar/general_row/general_row_constants.d.ts.map +1 -1
  25. package/dist/vue3/dialtone-vue.cjs +1 -1
  26. package/dist/vue3/dialtone-vue.js +210 -208
  27. package/dist/vue3/emoji.cjs +1 -1
  28. package/dist/vue3/emoji.js +1 -1
  29. package/dist/vue3/emoji_picker-ZG38HbIV.cjs +1 -0
  30. package/dist/vue3/{emoji_picker-1UT0z6jY.js → emoji_picker-tCsjkMcD.js} +4 -1
  31. package/dist/vue3/message_input.cjs +1 -1
  32. package/dist/vue3/message_input.js +1 -1
  33. package/dist/vue3/types/recipes/leftbar/general_row/general_row_constants.d.ts +1 -0
  34. package/dist/vue3/types/recipes/leftbar/general_row/general_row_constants.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/dist/vue2/emoji_picker-F8BRxcT4.cjs +0 -1
  37. package/dist/vue3/emoji_picker--qWnpkri.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./emoji-1NjKe1Yv.cjs"),t=require("./emoji_text_wrapper-bOsTtVBL.cjs"),o=require("./emoji_picker--qWnpkri.cjs");require("./tooltip-P8ouLQqi.cjs");require("vue");exports.DtEmoji=e.DtEmoji;exports.codeToEmojiData=e.codeToEmojiData;Object.defineProperty(exports,"customEmojiAssetUrl",{enumerable:!0,get:()=>e.customEmojiAssetUrl});exports.defaultEmojiAssetUrl=e.defaultEmojiAssetUrl;Object.defineProperty(exports,"emojiFileExtensionLarge",{enumerable:!0,get:()=>e.emojiFileExtensionLarge});Object.defineProperty(exports,"emojiFileExtensionSmall",{enumerable:!0,get:()=>e.emojiFileExtensionSmall});Object.defineProperty(exports,"emojiImageUrlLarge",{enumerable:!0,get:()=>e.emojiImageUrlLarge});Object.defineProperty(exports,"emojiImageUrlSmall",{enumerable:!0,get:()=>e.emojiImageUrlSmall});exports.emojiJson=e.emojiJson;exports.emojiVersion=e.emojiVersion;exports.filterValidShortCodes=e.filterValidShortCodes;exports.findEmojis=e.findEmojis;exports.findShortCodes=e.findShortCodes;exports.getEmojiData=e.getEmojiData;exports.setCustomEmojiJson=e.setCustomEmojiJson;exports.setCustomEmojiUrl=e.setCustomEmojiUrl;exports.setEmojiAssetUrlLarge=e.setEmojiAssetUrlLarge;exports.setEmojiAssetUrlSmall=e.setEmojiAssetUrlSmall;exports.shortcodeToEmojiData=e.shortcodeToEmojiData;exports.stringToUnicode=e.stringToUnicode;exports.unicodeToString=e.unicodeToString;exports.validateCustomEmojiJson=e.validateCustomEmojiJson;exports.DtEmojiTextWrapper=t._sfc_main;exports.ARROW_KEYS=o.ARROW_KEYS;exports.CDN_URL=o.CDN_URL;exports.DtEmojiPicker=o._sfc_main;exports.EMOJIS_PER_ROW=o.EMOJIS_PER_ROW;exports.EMOJI_PICKER_CATEGORIES=o.EMOJI_PICKER_CATEGORIES;exports.EMOJI_PICKER_SKIN_TONE_MODIFIERS=o.EMOJI_PICKER_SKIN_TONE_MODIFIERS;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./emoji-1NjKe1Yv.cjs"),t=require("./emoji_text_wrapper-bOsTtVBL.cjs"),o=require("./emoji_picker-ZG38HbIV.cjs");require("./tooltip-P8ouLQqi.cjs");require("vue");exports.DtEmoji=e.DtEmoji;exports.codeToEmojiData=e.codeToEmojiData;Object.defineProperty(exports,"customEmojiAssetUrl",{enumerable:!0,get:()=>e.customEmojiAssetUrl});exports.defaultEmojiAssetUrl=e.defaultEmojiAssetUrl;Object.defineProperty(exports,"emojiFileExtensionLarge",{enumerable:!0,get:()=>e.emojiFileExtensionLarge});Object.defineProperty(exports,"emojiFileExtensionSmall",{enumerable:!0,get:()=>e.emojiFileExtensionSmall});Object.defineProperty(exports,"emojiImageUrlLarge",{enumerable:!0,get:()=>e.emojiImageUrlLarge});Object.defineProperty(exports,"emojiImageUrlSmall",{enumerable:!0,get:()=>e.emojiImageUrlSmall});exports.emojiJson=e.emojiJson;exports.emojiVersion=e.emojiVersion;exports.filterValidShortCodes=e.filterValidShortCodes;exports.findEmojis=e.findEmojis;exports.findShortCodes=e.findShortCodes;exports.getEmojiData=e.getEmojiData;exports.setCustomEmojiJson=e.setCustomEmojiJson;exports.setCustomEmojiUrl=e.setCustomEmojiUrl;exports.setEmojiAssetUrlLarge=e.setEmojiAssetUrlLarge;exports.setEmojiAssetUrlSmall=e.setEmojiAssetUrlSmall;exports.shortcodeToEmojiData=e.shortcodeToEmojiData;exports.stringToUnicode=e.stringToUnicode;exports.unicodeToString=e.unicodeToString;exports.validateCustomEmojiJson=e.validateCustomEmojiJson;exports.DtEmojiTextWrapper=t._sfc_main;exports.ARROW_KEYS=o.ARROW_KEYS;exports.CDN_URL=o.CDN_URL;exports.DtEmojiPicker=o._sfc_main;exports.EMOJIS_PER_ROW=o.EMOJIS_PER_ROW;exports.EMOJI_PICKER_CATEGORIES=o.EMOJI_PICKER_CATEGORIES;exports.EMOJI_PICKER_SKIN_TONE_MODIFIERS=o.EMOJI_PICKER_SKIN_TONE_MODIFIERS;
@@ -1,6 +1,6 @@
1
1
  import { D as i, o as m, c as t, d as r, g as E, b as j, f as l, a as n, h as d, e as _, q as I, r as S, p as C, i as g, l as D, k as R, j as U, s as f, m as p, n as O, u as c, v as u } from "./emoji-VxFu3PHn.js";
2
2
  import { _ as T } from "./emoji_text_wrapper-NMuqIG_X.js";
3
- import { A as J, C as h, _ as K, E as L, b as M, a as P } from "./emoji_picker-1UT0z6jY.js";
3
+ import { A as J, C as h, _ as K, E as L, b as M, a as P } from "./emoji_picker-tCsjkMcD.js";
4
4
  import "./tooltip-S6S4up2q.js";
5
5
  import "vue";
6
6
  export {
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue"),E=require("./emoji-1NjKe1Yv.cjs"),x=require("./tooltip-P8ouLQqi.cjs"),ee={class:"d-emoji-picker__search d-emoji-picker__alignment"},te=["onKeydown"],oe={__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(l,{expose:g,emit:w}){const i=w,u=e.ref(null);function _(){i("update:modelValue",""),b()}function b(){u.value.focus()}return e.onMounted(()=>{b()}),g({focusSearchInput:b}),(y,f)=>(e.openBlock(),e.createElementBlock("div",ee,[e.createVNode(e.unref(E.DtInput),{id:"searchInput",ref_key:"searchInput",ref:u,placeholder:l.searchPlaceholderLabel,"model-value":l.modelValue,"onUpdate:modelValue":f[0]||(f[0]=s=>y.$emit("update:modelValue",s)),onKeydown:[f[1]||(f[1]=e.withKeys(s=>y.$emit("focus-tabset"),["up"])),f[2]||(f[2]=e.withKeys(e.withModifiers(s=>y.$emit("focus-emoji-selector"),["prevent"]),["down"])),f[3]||(f[3]=e.withKeys(s=>y.$emit("select-first-emoji"),["enter"]))]},e.createSlots({leftIcon:e.withCtx(()=>[e.createVNode(e.unref(E.DtIcon),{name:"search",size:"200"})]),_:2},[l.modelValue.length>0?{name:"rightIcon",fn:e.withCtx(()=>[e.createElementVNode("button",{class:"d-emoji-picker__search-button",onClick:_,onKeydown:e.withKeys(_,["enter"])},[e.createVNode(e.unref(E.DtIcon),{name:"close"})],40,te)]),key:"0"}:void 0]),1032,["placeholder","model-value"])]))}},le={class:"d-emoji-picker__tabset"},ne={__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","focus-skin-selector"],setup(l,{expose:g,emit:w}){const i=l,u=w,_=[{label:A.MOST_RECENTLY_USED,icon:"clock"},{label:A.SMILEYS_AND_PEOPLE,icon:"satisfied"},{label:A.NATURE,icon:"living-thing"},{label:A.FOOD,icon:"food"},{label:A.ACTIVITY,icon:"object"},{label:A.TRAVEL,icon:"transportation"},{label:A.OBJECTS,icon:"lightbulb"},{label:A.SYMBOLS,icon:"heart"},{label:A.FLAGS,icon:"flag"}],b=e.computed(()=>(i.showRecentlyUsedTab?_:_.slice(1)).map((o,a)=>({...o,label:i.tabsetLabels[a],id:(a+1).toString(),panelId:(a+1).toString()}))),y=e.computed(()=>i.emojiFilter.length>0),f=e.ref("1"),{isScrolling:s}=e.toRefs(i),k=e.ref([]);e.watch(()=>i.scrollIntoTab,()=>{!s.value&&!y.value&&(f.value=(i.scrollIntoTab+1).toString())}),e.watch(y,()=>{y.value&&(f.value=null)});function L(t){s.value||(f.value=t),u("selected-tabset",t)}function $(t){k.value.push(t.$el)}function T(){k.value[0].focus()}function n(t,o){t.key==="Enter"&&(L(o),k.value[o-1].blur()),t.key==="Tab"&&(t.preventDefault(),t.shiftKey?u("focus-skin-selector"):u("focus-search-input")),t.key==="ArrowDown"&&u("focus-search-input")}return g({focusTabset:T}),(t,o)=>(e.openBlock(),e.createElementBlock("div",le,[e.createVNode(e.unref(E.DtTabGroup),{"tab-list-class":"d-emoji-picker__tabset-list",selected:f.value},{tabs:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(a,d)=>(e.openBlock(),e.createBlock(e.unref(E.DtTab),{id:a.id,ref_for:!0,ref:h=>{h&&$(h)},key:a.id,"panel-id":a.panelId,label:a.label,"aria-controls":"d-emoji-picker-list",tabindex:d+1,onClickCapture:e.withModifiers(h=>L(a.id),["stop"]),onKeydown:h=>n(h,a.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(E.DtIcon),{size:"400",name:a.icon},null,8,["name"])]),_:2},1032,["id","panel-id","label","tabindex","onClickCapture","onKeydown"]))),128))]),_:1},8,["selected"])]))}},C={ARROW_UP:"ArrowUp",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight"},V="https://static.dialpadcdn.com/joypixels/png/unicode/32/",j=9,B={DEFAULT:"Default",LIGHT:"Light",MEDIUM_LIGHT:"MediumLight",MEDIUM:"Medium",MEDIUM_DARK:"MediumDark",DARK:"Dark"},A={MOST_RECENTLY_USED:"Most recently used",SMILEYS_AND_PEOPLE:"Smileys and people",NATURE:"Nature",FOOD:"Food",ACTIVITY:"Activity",TRAVEL:"Travel",OBJECTS:"Objects",SYMBOLS:"Symbols",FLAGS:"Flags"};function se(){const l=e.ref([]),g=e.ref([]),w=e.ref(!1),i=e.ref(!0);function u(n,t){s(n,t-1)||(l.value[n-1]?s(n-1,l.value[n-1].length-1):s(l.value.length-1,l.value[l.value.length-1].length-1))}function _(n,t){s(n,t+1)||s(n+1,0)||s(0,0)}function b(n,t){s(0,t-1)||s(0,g.value.length-1)}function y(n,t){s(0,t+1)||s(0,0)}function f(n,t,o){w.value?n==="left"?b(t,o):n==="right"&&y(t,o):n==="left"?u(t,o):n==="right"&&_(t,o)}function s(n,t){var a,d,h;const o=w.value?(a=g.value)==null?void 0:a[t]:(h=(d=l.value)==null?void 0:d[n])==null?void 0:h[t];return o?(o.focus(),!0):!1}function k(n,t,o){l.value[t]||(l.value[t]=[]),l.value[t][o]=n}function L(n,t){g.value[t]=n}function $(n,t){var o;if(i.value=!1,n===C.ARROW_UP){const a=t%j;if(!s(0,t-j)){const d=g.value.length-g.value.length%j+a;s(0,d),s(0,d)||s(0,g.value.length-1)}}if(n===C.ARROW_DOWN&&!s(0,t+j)){const a=t%j;(o=g.value)!=null&&o[t+(j-a)]?s(0,g.value.length-1):s(0,a)}n===C.ARROW_LEFT&&f("left",0,t),n===C.ARROW_RIGHT&&f("right",0,t)}function T(n,t,o){var a,d;if(n==="ArrowUp"){const h=o%j;if(t===0){const S=j-l.value[l.value.length-1].length%j,I=l.value[l.value.length-1].length+S-(j-h);s(l.value.length-1,I)||s(l.value.length-1,l.value[l.value.length-1].length-1);return}if(!s(t,o-j)){const S=t-1<0?0:t-1,I=l.value[S].length,U=I-I%j+h;s(S,U)||s(t-1,l.value[t-1].length-1)}}if(n==="ArrowDown"&&!s(t,o+j)){const h=o%j;(d=(a=l.value)==null?void 0:a[t])!=null&&d[o+(j-h)]?s(t,l.value[t].length-1):s(t+1,h)||s(0,h)||s(0,l.value[0].length-1)}n==="ArrowLeft"&&f("left",t,o),n==="ArrowRight"&&f("right",t,o)}return{emojiFilteredRefs:g,isFiltering:w,hoverFirstEmoji:i,setEmojiRef:k,setFilteredRef:L,focusEmoji:s,handleArrowNavigationFiltered:$,handleArrowNavigation:T}}const re={class:"d-emoji-picker__selector"},ie={key:0,class:"d-emoji-picker__search-label d-emoji-picker__alignment"},ae={key:0},ce={class:"d-emoji-picker__tab"},ue=["aria-label","onClick","onFocusin","onMouseover","onKeydown"],fe=["alt","aria-label","title","src"],de={key:2,class:"d-emoji-picker__alignment"},me={class:"d-emoji-picker__tab","data-qa":"filtered-emojis"},ve=["aria-label","onClick","onFocusin","onMouseover","onKeydown"],pe=["alt","aria-label","title","src"],he={__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(l,{expose:g,emit:w}){const i=l,u=w,{emojiFilteredRefs:_,isFiltering:b,hoverFirstEmoji:y,setEmojiRef:f,setFilteredRef:s,focusEmoji:k,handleArrowNavigationFiltered:L,handleArrowNavigation:$}=se(),T=e.ref(null),n=e.ref(null),t=e.ref(null),o=["Recently used","People","Nature","Food","Activity","Travel","Objects","Symbols","Flags"],a=e.computed(()=>i.recentlyUsedEmojis.length?i.tabsetLabels.map(r=>({label:r,ref:e.ref(null)})):i.tabsetLabels.slice(1).map(r=>({label:r,ref:e.ref(null)}))),d=e.ref(a.value[0].label),h=e.computed(()=>i.recentlyUsedEmojis.length?o:o.slice(1)),S=e.ref([]),I=e.computed(()=>[...E.emojisGrouped[`People${i.skinTone}`],...E.emojisGrouped.Nature,...E.emojisGrouped.Food,...E.emojisGrouped[`Activity${i.skinTone}`],...E.emojisGrouped.Travel,...E.emojisGrouped[`Objects${i.skinTone}`],...E.emojisGrouped.Symbols,...E.emojisGrouped.Flags]),U=q(()=>{_.value=[],P()});e.watch(I,()=>{P()},{immediate:!0}),e.watch(()=>i.recentlyUsedEmojis,()=>{E.emojisGrouped["Recently used"]=i.recentlyUsedEmojis},{immediate:!0}),e.watch(()=>i.emojiFilter,()=>{z(),i.emojiFilter?b.value=!0:(b.value=!1,F(null)),U()}),e.watch(()=>i.selectedTabset,r=>{K(r.tabId)},{deep:!0});function G(r,c=!1){y.value=c,u("highlighted-emoji",r)}function P(){const r=i.emojiFilter.toLowerCase();S.value=I.value.filter(c=>{const v=c.name.toLowerCase().includes(r),p=c.keywords.some(m=>m.toLowerCase().includes(r));return v||p}),e.nextTick(()=>{r&&G(S.value[0],!0)})}function q(r,c=300){let v;return(...p)=>{clearTimeout(v),v=setTimeout(()=>r(...p),c)}}function W(r){return`${V+r}.png`}function H(r){r.target.parentNode.style.display="none"}function K(r,c=!0){const p=a.value[r-1].ref.value[0];e.nextTick(()=>{const m=n.value,N=r==="1"?0:p.offsetTop-20;let R=!0,O=m.scrollTop;u("is-scrolling",!0),m.addEventListener("scroll",()=>{if(R){const D=m.scrollTop;(O<D&&D>=N||O>D&&D<=N)&&(R=!1,u("is-scrolling",!1)),O=D}}),m.scrollTop=N,c&&k(r-1,0)})}function z(){const r=n.value;r.scrollTop=0}function Y(){t.value=new IntersectionObserver(r=>{r.forEach(c=>{var m,N,R,O,D;const{target:v}=c,p=parseInt(v.dataset.index);c.isIntersecting&&v.offsetTop<=T.value.offsetTop+50?(d.value=((m=a.value[p-1])==null?void 0:m.label)??((N=a.value[0])==null?void 0:N.label),u("scroll-into-tab",p-1)):c.boundingClientRect.bottom<=((R=T.value)==null?void 0:R.getBoundingClientRect().bottom)?(u("scroll-into-tab",p),d.value=(O=a.value[p])==null?void 0:O.label):p===1&&(u("scroll-into-tab",p),d.value=(D=a.value[0])==null?void 0:D.label)})}),t.value.observe(T.value),Array.from(n.value.children).forEach((r,c)=>{t.value.observe(r),r.dataset.index=c})}const J=(r,c,v)=>{if(r.preventDefault(),Object.values(C).includes(r.key)){L(r.key,c);return}switch(r.key){case"Tab":u("focus-skin-selector");break;case"Enter":M(v);break}},Q=(r,c,v,p)=>{if(r.preventDefault(),Object.values(C).includes(r.key)){$(r.key,c,v);return}switch(r.key){case"Tab":r.shiftKey?k(c,0)&&c>0?K(c,!0):(K(1,!1),u("focus-search-input")):k(c+1,0)?K(c+1+1,!1):u("focus-skin-selector");break;case"Enter":M(p);break}};function M(r){u("selected-emoji",r)}function F(r){u("highlighted-emoji",r)}function X(){k(0,0)}function Z(){k(h.value.length-1,0)}return e.onMounted(()=>{Y()}),e.onUnmounted(()=>{t.value.disconnect()}),g({focusEmojiSelector:X,focusLastEmoji:Z}),(r,c)=>(e.openBlock(),e.createElementBlock("div",re,[e.createElementVNode("div",{id:"d-emoji-picker-list",ref_key:"listRef",ref:n,class:"d-emoji-picker__list"},[l.emojiFilter?(e.openBlock(),e.createElementBlock("p",ie,e.toDisplayString(S.value.length>0?l.searchResultsLabel:l.searchNoResultsLabel),1)):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"tabCategoryRef",ref:T,class:"d-emoji-picker__category d-emoji-picker__alignment"},[e.createElementVNode("p",null,e.toDisplayString(d.value),1)],512)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(v,p)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:p,ref_for:!0,ref:v.ref,class:"d-emoji-picker__alignment"},[p?(e.openBlock(),e.createElementBlock("p",ae,e.toDisplayString(v.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",ce,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(E.emojisGrouped)[h.value[p]+l.skinTone]?e.unref(E.emojisGrouped)[h.value[p]+l.skinTone]:e.unref(E.emojisGrouped)[h.value[p]],(m,N)=>(e.openBlock(),e.createElementBlock("button",{key:m.shortname,ref_for:!0,ref:R=>{R&&e.unref(f)(R,p,N)},type:"button","aria-label":m.name,onClick:R=>M(m),onFocusin:R=>F(m),onFocusout:c[0]||(c[0]=R=>F(null)),onMouseover:R=>F(m),onMouseleave:c[1]||(c[1]=R=>F(null)),onKeydown:R=>Q(R,p,N,m)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:m.name,"aria-label":m.name,title:m.name,src:W(m.unicode_character),onError:H},null,40,fe)],40,ue))),128))])])),[[e.vShow,!l.emojiFilter]])),128)),l.emojiFilter?(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(v,p)=>(e.openBlock(),e.createElementBlock("button",{key:v.shortname,ref_for:!0,ref:m=>{m&&e.unref(s)(m,p)},type:"button","aria-label":v.name,class:e.normalizeClass({"hover-emoji":p===0&&e.unref(y)}),onClick:m=>M(v),onFocusin:m=>F(v),onFocusout:c[2]||(c[2]=m=>F(null)),onMouseover:m=>G(v),onMouseleave:c[3]||(c[3]=m=>G(null)),onKeydown:m=>J(m,p,v)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:v.name,"aria-label":v.name,title:v.name,src:`${e.unref(V)+v.unicode_character}.png`},null,8,pe)],42,ve))),128))])])):e.createCommentVNode("",!0)],512)]))}},be={"data-qa":"skin-selector"},ke={class:"d-emoji-picker__skin-list"},ge=["onKeydown","onClick"],ye=["alt","aria-label","title","src"],Se={class:"d-emoji-picker__skin-selected"},Ee=["aria-label"],_e=["alt","aria-label","title","src"],je={__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","focus-last-emoji"],setup(l,{expose:g,emit:w}){const i=l,u=w,_=[{name:":wave_tone1:",unicode_output:"1f44b-1f3fb",skinTone:B.LIGHT,skinCode:"_tone1"},{name:":wave_tone2:",unicode_output:"1f44b-1f3fc",skinTone:B.MEDIUM_LIGHT,skinCode:"_tone2"},{name:":wave_tone3:",unicode_output:"1f44b-1f3fd",skinTone:B.MEDIUM,skinCode:"_tone3"},{name:":wave_tone4:",unicode_output:"1f44b-1f3fe",skinTone:B.MEDIUM_DARK,skinCode:"_tone4"},{name:":wave_tone5:",unicode_output:"1f44b-1f3ff",skinTone:B.DARK,skinCode:"_tone5"},{name:":wave:",unicode_output:"1f44b",skinTone:B.DEFAULT,skinCode:""}],b=e.ref(!1),y=e.ref(null),f=e.ref([]);e.watchEffect(()=>i.isHovering&&(b.value=!1));const s=e.computed(()=>_.find(o=>o.skinTone===i.skinTone)),k=e.ref(s.value);e.watchEffect(()=>s.value&&(k.value=s.value));function L(o){f.value.push(o)}function $(){y.value.focus()}function T(o){k.value=o,b.value=!1,u("skin-tone",o.skinTone),e.nextTick(()=>$())}const n=(o,a,d)=>{var h,S,I;o.preventDefault(),o.key==="ArrowLeft"&&(d===0&&((h=f.value[f.value.length-1])==null||h.focus()),(S=f.value[d-1])==null||S.focus()),o.key==="ArrowRight"&&((I=f.value[d+1])==null||I.focus()),o.key==="Enter"&&(a?T(a):t()),o.key==="Tab"&&(o.shiftKey?u("focus-last-emoji"):u("focus-tabset"))};function t(){b.value=!b.value,e.nextTick(()=>f.value[0].focus())}return g({focusSkinSelector:$}),(o,a)=>(e.openBlock(),e.createElementBlock("div",be,[e.withDirectives(e.createElementVNode("div",ke,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(_,(d,h)=>e.createElementVNode("button",{ref_for:!0,ref:S=>{S&&L(S)},key:d.name,class:e.normalizeClass({selected:k.value.skinCode===d.skinCode}),onKeydown:S=>n(S,d,h),onClick:S=>T(d)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:d.name,"aria-label":d.name,title:d.name,src:`${e.unref(V)+d.unicode_output}.png`},null,8,ye)],42,ge)),64))],512),[[e.vShow,b.value]]),e.withDirectives(e.createElementVNode("div",Se,[e.createVNode(e.unref(x.DtTooltip),{placement:"top-end"},{anchor:e.withCtx(()=>[e.createElementVNode("button",{ref_key:"skinSelectorRef",ref:y,"aria-label":l.skinSelectorButtonTooltipLabel,tabindex:"-1",onClick:t,onKeydown:a[0]||(a[0]=d=>n(d))},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:k.value.name,"aria-label":k.value.name,title:k.value.name,src:`${e.unref(V)+k.value.unicode_output}.png`},null,8,_e)],40,Ee)]),default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.skinSelectorButtonTooltipLabel)+" ",1)]),_:1})],512),[[e.vShow,!b.value]])]))}},Re={class:"d-emoji-picker__data"},we=["alt","aria-label","title","src"],Te={__name:"emoji_description",props:{emoji:{type:Object,default:null}},setup(l){return(g,w)=>{var i;return e.openBlock(),e.createElementBlock("div",Re,[l.emoji?(e.openBlock(),e.createElementBlock("img",{key:0,class:"d-icon d-icon--size-500",alt:l.emoji.name,"aria-label":l.emoji.name,title:l.emoji.name,src:`${e.unref(V)+l.emoji.unicode_character}.png`},null,8,we)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString((i=l.emoji)==null?void 0:i.name),1)])}}},Le={class:"d-emoji-picker"},$e={class:"d-emoji-picker--header"},Ie={class:"d-emoji-picker--body"},Ae={class:"d-emoji-picker--footer"},Ne={__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(l,{emit:g}){const w=l,i=g,u=e.ref(""),_=e.ref(null),b=e.ref({}),y=e.ref(0),f=e.ref(!1),s=e.computed(()=>w.recentlyUsedEmojis.length>0);function k(n){u.value="",b.value=n,b.value={...b.value,tabId:n}}function L(n){y.value=n}function $(n){f.value=n}function T(n){_.value=n}return(n,t)=>(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",$e,[e.createVNode(ne,{ref:"tabsetRef","emoji-filter":u.value,"show-recently-used-tab":s.value,"scroll-into-tab":y.value,"tabset-labels":l.tabSetLabels,"is-scrolling":f.value,onFocusSearchInput:t[0]||(t[0]=o=>n.$refs.searchInputRef.focusSearchInput()),onFocusSkinSelector:t[1]||(t[1]=o=>n.$refs.skinSelectorRef.focusSkinSelector()),onSelectedTabset:k,onKeydown:t[2]||(t[2]=e.withKeys(o=>i("close"),["esc"]))},null,8,["emoji-filter","show-recently-used-tab","scroll-into-tab","tabset-labels","is-scrolling"])]),e.createElementVNode("div",Ie,[e.createVNode(oe,{ref:"searchInputRef",modelValue:u.value,"onUpdate:modelValue":t[3]||(t[3]=o=>u.value=o),"search-placeholder-label":l.searchPlaceholderLabel,onSelectFirstEmoji:t[4]||(t[4]=o=>i("selected-emoji",_.value)),onFocusTabset:t[5]||(t[5]=o=>n.$refs.tabsetRef.focusTabset()),onFocusEmojiSelector:t[6]||(t[6]=o=>n.$refs.emojiSelectorRef.focusEmojiSelector()),onKeydown:t[7]||(t[7]=e.withKeys(o=>i("close"),["esc"]))},null,8,["modelValue","search-placeholder-label"]),e.createVNode(he,{ref:"emojiSelectorRef","emoji-filter":u.value,"skin-tone":l.skinTone,"tabset-labels":l.tabSetLabels,"search-results-label":l.searchResultsLabel,"search-no-results-label":l.searchNoResultsLabel,"recently-used-emojis":l.recentlyUsedEmojis,"selected-tabset":b.value,onScrollIntoTab:L,onIsScrolling:$,onHighlightedEmoji:T,onSelectedEmoji:t[8]||(t[8]=o=>i("selected-emoji",o)),onFocusSkinSelector:t[9]||(t[9]=o=>n.$refs.skinSelectorRef.focusSkinSelector()),onFocusSearchInput:t[10]||(t[10]=o=>n.$refs.searchInputRef.focusSearchInput()),onKeydown:t[11]||(t[11]=e.withKeys(o=>i("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",Ae,[e.createVNode(Te,{emoji:_.value},null,8,["emoji"]),e.createVNode(je,{ref:"skinSelectorRef","is-hovering":!!_.value,"skin-selector-button-tooltip-label":l.skinSelectorButtonTooltipLabel,"skin-tone":l.skinTone,onSkinTone:t[12]||(t[12]=o=>i("skin-tone",o)),onFocusTabset:t[13]||(t[13]=o=>n.$refs.tabsetRef.focusTabset()),onFocusLastEmoji:t[14]||(t[14]=o=>n.$refs.emojiSelectorRef.focusLastEmoji()),onKeydown:t[15]||(t[15]=e.withKeys(o=>i("close"),["esc"]))},null,8,["is-hovering","skin-selector-button-tooltip-label","skin-tone"])])]))}};exports.ARROW_KEYS=C;exports.CDN_URL=V;exports.EMOJIS_PER_ROW=j;exports.EMOJI_PICKER_CATEGORIES=A;exports.EMOJI_PICKER_SKIN_TONE_MODIFIERS=B;exports._sfc_main=Ne;
@@ -41,7 +41,10 @@ const Le = { class: "d-emoji-picker__search d-emoji-picker__alignment" }, Ae = [
41
41
  ]
42
42
  }, Se({
43
43
  leftIcon: H(() => [
44
- F(T(ne), { name: "search" })
44
+ F(T(ne), {
45
+ name: "search",
46
+ size: "200"
47
+ })
45
48
  ]),
46
49
  _: 2
47
50
  }, [
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./rich_text_editor-pnYcPOnF.cjs"),c=require("./emoji-1NjKe1Yv.cjs"),b=require("./emoji_picker--qWnpkri.cjs"),h=require("./tooltip-P8ouLQqi.cjs"),e=require("vue"),C={name:"DtRecipeMessageInput",components:{DtButton:c.DtButton,DtEmojiPicker:b._sfc_main,DtIcon:c.DtIcon,DtInput:c.DtInput,DtPopover:l.DtPopover,DtRichTextEditor:l.DtRichTextEditor,DtTooltip:h.DtTooltip},mixins:[],inheritAttrs:!1,props:{modelValue:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},inputAriaLabel:{type:String,required:!0,default:""},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(o){return typeof o=="string"?l.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(o):!0}},outputFormat:{type:String,default:"text",validator(o){return l.RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(o)}},link:{type:[Boolean,Object],default:!1},placeholder:{type:String,default:""},disableSend:{type:Boolean,default:!1},maxHeight:{type:String,default:"unset"},showEmojiPicker:{type:Boolean,default:!0},emojiPickerProps:{type:Object,default:()=>({}),validate(o){return["searchNoResultsLabel","searchResultsLabel","searchPlaceholderLabel","skinSelectorButtonTooltipLabel","tabSetLabels"].every(t=>o[t]!=null)}},emojiTooltipMessage:{type:String,default:"Emoji"},emojiButtonAriaLabel:{type:String,default:"emoji button"},showCharacterLimit:{type:[Boolean,Object],default:()=>({count:1500,warning:500,message:""})},showImagePicker:{type:[Boolean,Object],default:()=>({tooltipLabel:"Attach Image",ariaLabel:"image button"})},showSend:{type:[Boolean,Object],default:()=>({icon:"send"})},showCancel:{type:[Boolean,Object],default:()=>({text:"Cancel"})},mentionSuggestion:{type:Object,default:null}},emits:["submit","select-media","add-media","cancel","skin-tone","selected-emoji","focus","blur","input"],data(){return{internalInputValue:this.modelValue,hasFocus:!1,imagePickerFocus:!1,emojiPickerFocus:!1,sendButtonFocus:!1,emojiPickerOpened:!1}},computed:{inputLength(){return this.internalInputValue.length},displayCharacterLimitWarning(){return!!this.showCharacterLimit&&this.showCharacterLimit.count-this.inputLength<=this.showCharacterLimit.warning},characterLimitTooltipEnabled(){return this.showCharacterLimit.message&&this.showCharacterLimit.count-this.inputLength<0},isSendDisabled(){return this.disableSend||this.showCharacterLimit&&this.inputLength>this.showCharacterLimit.count},computedCloseButtonProps(){return{ariaLabel:"Close"}},emojiPickerHovered(){return this.emojiPickerFocus||this.emojiPickerOpened},sendButtonKind(){return this.isSendDisabled?"muted":"default"}},watch:{modelValue(o){this.internalInputValue=o}},methods:{onDrag(o){o.stopPropagation(),o.preventDefault()},onDrop(o){o.stopPropagation(),o.preventDefault();const t=o.dataTransfer,m=Array.from(t.files).map(s=>s.name);this.$emit("add-media",m)},onSkinTone(o){this.$emit("skin-tone",o)},onSelectEmoji(o){if(!o){this.emojiPickerOpened=!1;return}this.$refs.richTextEditor.editor.commands.insertContent({type:"emoji",attrs:{code:o.shortname}}),this.emojiPickerOpened=!1,this.$emit("selected-emoji",o)},onSelectImage(){this.$refs.messageInputImageUpload.$refs.input.click()},onImageUpload(){this.$emit("select-media",this.$refs.messageInputImageUpload.$refs.input.files)},toggleEmojiPicker(){this.emojiPickerOpened=!this.emojiPickerOpened},onSend(){this.isSendDisabled||this.$emit("submit",this.internalInputValue)},onCancel(){this.$emit("cancel")},onFocus(o){this.hasFocus=!0,this.$refs.richTextEditor.focusEditor(),this.$emit("focus",o)},onBlur(o){this.hasFocus=!1,this.$emit("blur",o)},onInput(o){this.$emit("input",o)}}},S={class:"d-d-flex d-jc-space-between d-mx8 d-my4"},w={class:"d-d-flex"},T={class:"d-d-flex"},j={key:0};function P(o,t,n,m,s,i){const p=e.resolveComponent("dt-rich-text-editor"),u=e.resolveComponent("dt-icon"),r=e.resolveComponent("dt-button"),g=e.resolveComponent("dt-input"),d=e.resolveComponent("dt-tooltip"),f=e.resolveComponent("dt-emoji-picker"),k=e.resolveComponent("dt-popover");return e.openBlock(),e.createElementBlock("div",{"data-qa":"dt-message-input",role:"presentation",class:e.normalizeClass(["d-d-flex","d-fd-column","d-bar8","d-baw1","d-ba","d-c-text",{"d-bc-bold d-bs-sm":s.hasFocus,"d-bc-default":!s.hasFocus}]),onClick:t[15]||(t[15]=a=>o.$refs.richTextEditor.focusEditor()),onDragEnter:t[16]||(t[16]=(...a)=>i.onDrag&&i.onDrag(...a)),onDragOver:t[17]||(t[17]=(...a)=>i.onDrag&&i.onDrag(...a)),onDrop:t[18]||(t[18]=(...a)=>i.onDrop&&i.onDrop(...a)),onKeydown:t[19]||(t[19]=e.withKeys(e.withModifiers((...a)=>i.onSend&&i.onSend(...a),["exact"]),["enter"]))},[e.createElementVNode("div",{class:"d-of-auto d-mx16 d-mt8 d-mb4",style:e.normalizeStyle({"max-height":n.maxHeight})},[e.createVNode(p,e.mergeProps({ref:"richTextEditor",modelValue:s.internalInputValue,"onUpdate:modelValue":t[0]||(t[0]=a=>s.internalInputValue=a),editable:n.editable,"input-aria-label":n.inputAriaLabel,"input-class":n.inputClass,"output-format":n.outputFormat,"auto-focus":n.autoFocus,link:n.link,placeholder:n.placeholder,"mention-suggestion":n.mentionSuggestion},o.$attrs,{onFocus:i.onFocus,onBlur:i.onBlur,onInput:t[1]||(t[1]=a=>i.onInput(a))}),null,16,["modelValue","editable","input-aria-label","input-class","output-format","auto-focus","link","placeholder","mention-suggestion","onFocus","onBlur"])],4),e.renderSlot(o.$slots,"middle"),e.createElementVNode("section",S,[e.createElementVNode("div",w,[n.showImagePicker?(e.openBlock(),e.createBlock(d,{key:0,placement:"top-start",message:n.showImagePicker.tooltipLabel,offset:[-4,-4]},{anchor:e.withCtx(()=>[e.createVNode(r,{"data-qa":"dt-message-input-image-btn",size:"sm",circle:"",kind:s.imagePickerFocus?"default":"muted",importance:"clear","aria-label":n.showImagePicker.ariaLabel,onClick:i.onSelectImage,onMouseenter:t[2]||(t[2]=a=>s.imagePickerFocus=!0),onMouseleave:t[3]||(t[3]=a=>s.imagePickerFocus=!1),onFocus:t[4]||(t[4]=a=>s.imagePickerFocus=!0),onBlur:t[5]||(t[5]=a=>s.imagePickerFocus=!1)},{icon:e.withCtx(()=>[e.createVNode(u,{name:"image",size:"300"})]),_:1},8,["kind","aria-label","onClick"]),e.createVNode(g,{ref:"messageInputImageUpload","data-qa":"dt-message-input-image-input",type:"file",class:"d-ps-absolute",multiple:"",hidden:"",onInput:i.onImageUpload},null,8,["onInput"])]),_:1},8,["message"])):e.createCommentVNode("",!0),n.showEmojiPicker?(e.openBlock(),e.createBlock(k,{key:1,"data-qa":"dt-message-input-emoji-picker-popover",open:s.emojiPickerOpened,"initial-focus-element":"#searchInput",padding:"none",onOpened:t[10]||(t[10]=a=>{s.emojiPickerOpened=a})},{anchor:e.withCtx(()=>[e.createVNode(d,{message:n.emojiTooltipMessage,offset:[0,-4]},{anchor:e.withCtx(()=>[e.createVNode(r,{"data-qa":"dt-message-input-emoji-picker-btn",size:"sm",circle:"",kind:i.emojiPickerHovered?"default":"muted",importance:"clear","aria-label":n.emojiButtonAriaLabel,offset:[0,0],onClick:i.toggleEmojiPicker,onMouseenter:t[6]||(t[6]=a=>s.emojiPickerFocus=!0),onMouseleave:t[7]||(t[7]=a=>s.emojiPickerFocus=!1),onFocus:t[8]||(t[8]=a=>s.emojiPickerFocus=!0),onBlur:t[9]||(t[9]=a=>s.emojiPickerFocus=!1)},{icon:e.withCtx(()=>[e.createVNode(u,{name:i.emojiPickerHovered?"very-satisfied":"satisfied",size:"300"},null,8,["name"])]),_:1},8,["kind","aria-label","onClick"])]),_:1},8,["message"])]),content:e.withCtx(()=>[e.createVNode(f,e.mergeProps(n.emojiPickerProps,{onSkinTone:i.onSkinTone,onSelectedEmoji:i.onSelectEmoji}),null,16,["onSkinTone","onSelectedEmoji"])]),_:1},8,["open"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",T,[n.showCharacterLimit?(e.openBlock(),e.createBlock(d,{key:0,class:"dt-message-input--remaining-char-tooltip",placement:"top-end",enabled:i.characterLimitTooltipEnabled,message:n.showCharacterLimit.message,offset:[10,-8]},{anchor:e.withCtx(()=>[e.withDirectives(e.createElementVNode("p",{class:"d-fc-error d-mr16 dt-message-input--remaining-char","data-qa":"dt-message-input-character-limit"},e.toDisplayString(n.showCharacterLimit.count-i.inputLength),513),[[e.vShow,i.displayCharacterLimitWarning]])]),_:1},8,["enabled","message"])):e.createCommentVNode("",!0),n.showCancel?(e.openBlock(),e.createBlock(r,{key:1,"data-qa":"dt-message-input-cancel-button",class:"dt-message-input--cancel-button",size:"sm",kind:"muted",importance:"clear","aria-label":n.showCancel.ariaLabel,onClick:i.onCancel},{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(n.showCancel.text),1)]),_:1},8,["aria-label","onClick"])):e.createCommentVNode("",!0),n.showSend?(e.openBlock(),e.createBlock(d,{key:2,placement:"top-end",enabled:!n.showSend,message:n.showSend.tooltipLabel,show:!i.isSendDisabled&&s.sendButtonFocus,offset:[6,-8]},{anchor:e.withCtx(()=>[e.createVNode(r,{"data-qa":"dt-message-input-send-btn",size:"sm",kind:i.sendButtonKind,circle:!!n.showSend.icon,importance:"primary",class:e.normalizeClass({"message-input-button__disabled d-fc-muted":i.isSendDisabled}),"aria-label":n.showSend.ariaLabel,"aria-disabled":i.isSendDisabled,onClick:i.onSend,onMouseenter:t[11]||(t[11]=a=>s.sendButtonFocus=!0),onMouseleave:t[12]||(t[12]=a=>s.sendButtonFocus=!1),onFocus:t[13]||(t[13]=a=>s.sendButtonFocus=!0),onBlur:t[14]||(t[14]=a=>s.sendButtonFocus=!1)},e.createSlots({default:e.withCtx(()=>[n.showSend.text?(e.openBlock(),e.createElementBlock("p",j,e.toDisplayString(n.showSend.text),1)):e.createCommentVNode("",!0)]),_:2},[n.showSend.icon?{name:"icon",fn:e.withCtx(()=>[e.createVNode(u,{name:n.showSend.icon,size:"300"},null,8,["name"])]),key:"0"}:void 0]),1032,["kind","circle","class","aria-label","aria-disabled","onClick"])]),_:1},8,["enabled","message","show"])):e.createCommentVNode("",!0)])])],34)}const v=h._export_sfc(C,[["render",P]]);exports.DtRichTextEditor=l.DtRichTextEditor;exports.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES=l.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES;exports.RICH_TEXT_EDITOR_OUTPUT_FORMATS=l.RICH_TEXT_EDITOR_OUTPUT_FORMATS;exports.DtRecipeMessageInput=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./rich_text_editor-pnYcPOnF.cjs"),c=require("./emoji-1NjKe1Yv.cjs"),b=require("./emoji_picker-ZG38HbIV.cjs"),h=require("./tooltip-P8ouLQqi.cjs"),e=require("vue"),C={name:"DtRecipeMessageInput",components:{DtButton:c.DtButton,DtEmojiPicker:b._sfc_main,DtIcon:c.DtIcon,DtInput:c.DtInput,DtPopover:l.DtPopover,DtRichTextEditor:l.DtRichTextEditor,DtTooltip:h.DtTooltip},mixins:[],inheritAttrs:!1,props:{modelValue:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},inputAriaLabel:{type:String,required:!0,default:""},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(o){return typeof o=="string"?l.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(o):!0}},outputFormat:{type:String,default:"text",validator(o){return l.RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(o)}},link:{type:[Boolean,Object],default:!1},placeholder:{type:String,default:""},disableSend:{type:Boolean,default:!1},maxHeight:{type:String,default:"unset"},showEmojiPicker:{type:Boolean,default:!0},emojiPickerProps:{type:Object,default:()=>({}),validate(o){return["searchNoResultsLabel","searchResultsLabel","searchPlaceholderLabel","skinSelectorButtonTooltipLabel","tabSetLabels"].every(t=>o[t]!=null)}},emojiTooltipMessage:{type:String,default:"Emoji"},emojiButtonAriaLabel:{type:String,default:"emoji button"},showCharacterLimit:{type:[Boolean,Object],default:()=>({count:1500,warning:500,message:""})},showImagePicker:{type:[Boolean,Object],default:()=>({tooltipLabel:"Attach Image",ariaLabel:"image button"})},showSend:{type:[Boolean,Object],default:()=>({icon:"send"})},showCancel:{type:[Boolean,Object],default:()=>({text:"Cancel"})},mentionSuggestion:{type:Object,default:null}},emits:["submit","select-media","add-media","cancel","skin-tone","selected-emoji","focus","blur","input"],data(){return{internalInputValue:this.modelValue,hasFocus:!1,imagePickerFocus:!1,emojiPickerFocus:!1,sendButtonFocus:!1,emojiPickerOpened:!1}},computed:{inputLength(){return this.internalInputValue.length},displayCharacterLimitWarning(){return!!this.showCharacterLimit&&this.showCharacterLimit.count-this.inputLength<=this.showCharacterLimit.warning},characterLimitTooltipEnabled(){return this.showCharacterLimit.message&&this.showCharacterLimit.count-this.inputLength<0},isSendDisabled(){return this.disableSend||this.showCharacterLimit&&this.inputLength>this.showCharacterLimit.count},computedCloseButtonProps(){return{ariaLabel:"Close"}},emojiPickerHovered(){return this.emojiPickerFocus||this.emojiPickerOpened},sendButtonKind(){return this.isSendDisabled?"muted":"default"}},watch:{modelValue(o){this.internalInputValue=o}},methods:{onDrag(o){o.stopPropagation(),o.preventDefault()},onDrop(o){o.stopPropagation(),o.preventDefault();const t=o.dataTransfer,m=Array.from(t.files).map(s=>s.name);this.$emit("add-media",m)},onSkinTone(o){this.$emit("skin-tone",o)},onSelectEmoji(o){if(!o){this.emojiPickerOpened=!1;return}this.$refs.richTextEditor.editor.commands.insertContent({type:"emoji",attrs:{code:o.shortname}}),this.emojiPickerOpened=!1,this.$emit("selected-emoji",o)},onSelectImage(){this.$refs.messageInputImageUpload.$refs.input.click()},onImageUpload(){this.$emit("select-media",this.$refs.messageInputImageUpload.$refs.input.files)},toggleEmojiPicker(){this.emojiPickerOpened=!this.emojiPickerOpened},onSend(){this.isSendDisabled||this.$emit("submit",this.internalInputValue)},onCancel(){this.$emit("cancel")},onFocus(o){this.hasFocus=!0,this.$refs.richTextEditor.focusEditor(),this.$emit("focus",o)},onBlur(o){this.hasFocus=!1,this.$emit("blur",o)},onInput(o){this.$emit("input",o)}}},S={class:"d-d-flex d-jc-space-between d-mx8 d-my4"},w={class:"d-d-flex"},T={class:"d-d-flex"},j={key:0};function P(o,t,n,m,s,i){const p=e.resolveComponent("dt-rich-text-editor"),u=e.resolveComponent("dt-icon"),r=e.resolveComponent("dt-button"),g=e.resolveComponent("dt-input"),d=e.resolveComponent("dt-tooltip"),f=e.resolveComponent("dt-emoji-picker"),k=e.resolveComponent("dt-popover");return e.openBlock(),e.createElementBlock("div",{"data-qa":"dt-message-input",role:"presentation",class:e.normalizeClass(["d-d-flex","d-fd-column","d-bar8","d-baw1","d-ba","d-c-text",{"d-bc-bold d-bs-sm":s.hasFocus,"d-bc-default":!s.hasFocus}]),onClick:t[15]||(t[15]=a=>o.$refs.richTextEditor.focusEditor()),onDragEnter:t[16]||(t[16]=(...a)=>i.onDrag&&i.onDrag(...a)),onDragOver:t[17]||(t[17]=(...a)=>i.onDrag&&i.onDrag(...a)),onDrop:t[18]||(t[18]=(...a)=>i.onDrop&&i.onDrop(...a)),onKeydown:t[19]||(t[19]=e.withKeys(e.withModifiers((...a)=>i.onSend&&i.onSend(...a),["exact"]),["enter"]))},[e.createElementVNode("div",{class:"d-of-auto d-mx16 d-mt8 d-mb4",style:e.normalizeStyle({"max-height":n.maxHeight})},[e.createVNode(p,e.mergeProps({ref:"richTextEditor",modelValue:s.internalInputValue,"onUpdate:modelValue":t[0]||(t[0]=a=>s.internalInputValue=a),editable:n.editable,"input-aria-label":n.inputAriaLabel,"input-class":n.inputClass,"output-format":n.outputFormat,"auto-focus":n.autoFocus,link:n.link,placeholder:n.placeholder,"mention-suggestion":n.mentionSuggestion},o.$attrs,{onFocus:i.onFocus,onBlur:i.onBlur,onInput:t[1]||(t[1]=a=>i.onInput(a))}),null,16,["modelValue","editable","input-aria-label","input-class","output-format","auto-focus","link","placeholder","mention-suggestion","onFocus","onBlur"])],4),e.renderSlot(o.$slots,"middle"),e.createElementVNode("section",S,[e.createElementVNode("div",w,[n.showImagePicker?(e.openBlock(),e.createBlock(d,{key:0,placement:"top-start",message:n.showImagePicker.tooltipLabel,offset:[-4,-4]},{anchor:e.withCtx(()=>[e.createVNode(r,{"data-qa":"dt-message-input-image-btn",size:"sm",circle:"",kind:s.imagePickerFocus?"default":"muted",importance:"clear","aria-label":n.showImagePicker.ariaLabel,onClick:i.onSelectImage,onMouseenter:t[2]||(t[2]=a=>s.imagePickerFocus=!0),onMouseleave:t[3]||(t[3]=a=>s.imagePickerFocus=!1),onFocus:t[4]||(t[4]=a=>s.imagePickerFocus=!0),onBlur:t[5]||(t[5]=a=>s.imagePickerFocus=!1)},{icon:e.withCtx(()=>[e.createVNode(u,{name:"image",size:"300"})]),_:1},8,["kind","aria-label","onClick"]),e.createVNode(g,{ref:"messageInputImageUpload","data-qa":"dt-message-input-image-input",type:"file",class:"d-ps-absolute",multiple:"",hidden:"",onInput:i.onImageUpload},null,8,["onInput"])]),_:1},8,["message"])):e.createCommentVNode("",!0),n.showEmojiPicker?(e.openBlock(),e.createBlock(k,{key:1,"data-qa":"dt-message-input-emoji-picker-popover",open:s.emojiPickerOpened,"initial-focus-element":"#searchInput",padding:"none",onOpened:t[10]||(t[10]=a=>{s.emojiPickerOpened=a})},{anchor:e.withCtx(()=>[e.createVNode(d,{message:n.emojiTooltipMessage,offset:[0,-4]},{anchor:e.withCtx(()=>[e.createVNode(r,{"data-qa":"dt-message-input-emoji-picker-btn",size:"sm",circle:"",kind:i.emojiPickerHovered?"default":"muted",importance:"clear","aria-label":n.emojiButtonAriaLabel,offset:[0,0],onClick:i.toggleEmojiPicker,onMouseenter:t[6]||(t[6]=a=>s.emojiPickerFocus=!0),onMouseleave:t[7]||(t[7]=a=>s.emojiPickerFocus=!1),onFocus:t[8]||(t[8]=a=>s.emojiPickerFocus=!0),onBlur:t[9]||(t[9]=a=>s.emojiPickerFocus=!1)},{icon:e.withCtx(()=>[e.createVNode(u,{name:i.emojiPickerHovered?"very-satisfied":"satisfied",size:"300"},null,8,["name"])]),_:1},8,["kind","aria-label","onClick"])]),_:1},8,["message"])]),content:e.withCtx(()=>[e.createVNode(f,e.mergeProps(n.emojiPickerProps,{onSkinTone:i.onSkinTone,onSelectedEmoji:i.onSelectEmoji}),null,16,["onSkinTone","onSelectedEmoji"])]),_:1},8,["open"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",T,[n.showCharacterLimit?(e.openBlock(),e.createBlock(d,{key:0,class:"dt-message-input--remaining-char-tooltip",placement:"top-end",enabled:i.characterLimitTooltipEnabled,message:n.showCharacterLimit.message,offset:[10,-8]},{anchor:e.withCtx(()=>[e.withDirectives(e.createElementVNode("p",{class:"d-fc-error d-mr16 dt-message-input--remaining-char","data-qa":"dt-message-input-character-limit"},e.toDisplayString(n.showCharacterLimit.count-i.inputLength),513),[[e.vShow,i.displayCharacterLimitWarning]])]),_:1},8,["enabled","message"])):e.createCommentVNode("",!0),n.showCancel?(e.openBlock(),e.createBlock(r,{key:1,"data-qa":"dt-message-input-cancel-button",class:"dt-message-input--cancel-button",size:"sm",kind:"muted",importance:"clear","aria-label":n.showCancel.ariaLabel,onClick:i.onCancel},{default:e.withCtx(()=>[e.createElementVNode("p",null,e.toDisplayString(n.showCancel.text),1)]),_:1},8,["aria-label","onClick"])):e.createCommentVNode("",!0),n.showSend?(e.openBlock(),e.createBlock(d,{key:2,placement:"top-end",enabled:!n.showSend,message:n.showSend.tooltipLabel,show:!i.isSendDisabled&&s.sendButtonFocus,offset:[6,-8]},{anchor:e.withCtx(()=>[e.createVNode(r,{"data-qa":"dt-message-input-send-btn",size:"sm",kind:i.sendButtonKind,circle:!!n.showSend.icon,importance:"primary",class:e.normalizeClass({"message-input-button__disabled d-fc-muted":i.isSendDisabled}),"aria-label":n.showSend.ariaLabel,"aria-disabled":i.isSendDisabled,onClick:i.onSend,onMouseenter:t[11]||(t[11]=a=>s.sendButtonFocus=!0),onMouseleave:t[12]||(t[12]=a=>s.sendButtonFocus=!1),onFocus:t[13]||(t[13]=a=>s.sendButtonFocus=!0),onBlur:t[14]||(t[14]=a=>s.sendButtonFocus=!1)},e.createSlots({default:e.withCtx(()=>[n.showSend.text?(e.openBlock(),e.createElementBlock("p",j,e.toDisplayString(n.showSend.text),1)):e.createCommentVNode("",!0)]),_:2},[n.showSend.icon?{name:"icon",fn:e.withCtx(()=>[e.createVNode(u,{name:n.showSend.icon,size:"300"},null,8,["name"])]),key:"0"}:void 0]),1032,["kind","circle","class","aria-label","aria-disabled","onClick"])]),_:1},8,["enabled","message","show"])):e.createCommentVNode("",!0)])])],34)}const v=h._export_sfc(C,[["render",P]]);exports.DtRichTextEditor=l.DtRichTextEditor;exports.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES=l.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES;exports.RICH_TEXT_EDITOR_OUTPUT_FORMATS=l.RICH_TEXT_EDITOR_OUTPUT_FORMATS;exports.DtRecipeMessageInput=v;
@@ -1,6 +1,6 @@
1
1
  import { D as v, a as L, R as B, b as F } from "./rich_text_editor-_wxi33hv.js";
2
2
  import { t as I, w as D, x as E } from "./emoji-VxFu3PHn.js";
3
- import { _ as T } from "./emoji_picker-1UT0z6jY.js";
3
+ import { _ as T } from "./emoji_picker-tCsjkMcD.js";
4
4
  import { _ as x, D as O } from "./tooltip-S6S4up2q.js";
5
5
  import { resolveComponent as r, openBlock as u, createElementBlock as k, normalizeClass as S, withKeys as _, withModifiers as V, createElementVNode as d, normalizeStyle as M, createVNode as l, mergeProps as j, renderSlot as R, createBlock as c, withCtx as s, createCommentVNode as m, withDirectives as U, toDisplayString as p, vShow as q, createSlots as z } from "vue";
6
6
  const A = {
@@ -2,6 +2,7 @@ export namespace LEFTBAR_GENERAL_ROW_TYPES {
2
2
  let INBOX: string;
3
3
  let CONTACTS: string;
4
4
  let CHANNELS: string;
5
+ let HOME: string;
5
6
  let THREADS: string;
6
7
  let LOCKED_CHANNEL: string;
7
8
  let CONTACT_CENTER: string;
@@ -1 +1 @@
1
- {"version":3,"file":"general_row_constants.d.ts","sourceRoot":"","sources":["../../../../../recipes/leftbar/general_row/general_row_constants.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAeA;;;;EAaE;AAEF;;;;;;;;;;;;EAYE;AAEF,yEAC4F;AAE5F,sDAGE"}
1
+ {"version":3,"file":"general_row_constants.d.ts","sourceRoot":"","sources":["../../../../../recipes/leftbar/general_row/general_row_constants.js"],"names":[],"mappings":";;;;;;;;;;;;;;;AAgBA;;;;EAcE;AAEF;;;;;;;;;;;;EAYE;AAEF,yEAC4F;AAE5F,sDAGE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dialpad/dialtone",
3
- "version": "9.22.1",
3
+ "version": "9.23.0",
4
4
  "description": "Dialpad's Dialtone design system monorepo",
5
5
  "devDependencies": {
6
6
  "@commitlint/cli": "^18.4.3",
@@ -1 +0,0 @@
1
- "use strict";const d=require("./index-FZJBS_ti.cjs"),m=require("./tooltip-i2wxFIIi.cjs");require("vue");const b={name:"EmojiTabset",components:{DtTabGroup:d.DtTabGroup,DtTab:d.DtTab,DtIcon:d.DtIcon},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}},data(){return{selectedTab:"1",tabsetRef:[],TABS_DATA:[{label:u.MOST_RECENTLY_USED,icon:"clock"},{label:u.SMILEYS_AND_PEOPLE,icon:"satisfied"},{label:u.NATURE,icon:"living-thing"},{label:u.FOOD,icon:"food"},{label:u.ACTIVITY,icon:"object"},{label:u.TRAVEL,icon:"transportation"},{label:u.OBJECTS,icon:"lightbulb"},{label:u.SYMBOLS,icon:"heart"},{label:u.FLAGS,icon:"flag"}]}},computed:{tabs(){return(this.showRecentlyUsedTab?this.TABS_DATA:this.TABS_DATA.slice(1)).map((e,i)=>({...e,label:this.tabSetLabels[i],id:(i+1).toString(),panelId:(i+1).toString()}))},isSearching(){return this.emojiFilter.length>0}},watch:{scrollIntoTab:function(t){!this.isScrolling&&!this.isSearching&&(this.selectedTab=(t+1).toString())},isSearching:function(t){t&&(this.selectedTab=null)}},mounted(){this.$nextTick(()=>{this.setTabsetRef()})},methods:{selectTabset(t){this.isScrolling||(this.selectedTab=t),this.$emit("selected-tabset",t)},setTabsetRef(){this.tabs.forEach((t,e)=>{const i=`tabsetRef-${e}`;this.$refs[i]&&this.$set(this.tabsetRef,e,this.$refs[i][0].$el)})},focusTabset(){this.tabsetRef[0]&&this.tabsetRef[0].focus()},handleKeyDown(t,e){t.key==="Enter"&&(this.selectTabset(e),this.tabsetRef[e-1]&&this.tabsetRef[e-1].blur()),t.key==="Tab"&&(t.preventDefault(),t.shiftKey?this.$emit("focus-skin-selector"):this.$emit("focus-search-input")),t.key==="ArrowDown"&&this.$emit("focus-search-input")}}};var _=function(){var e=this,i=e._self._c;return i("div",{staticClass:"d-emoji-picker__tabset"},[i("dt-tab-group",{attrs:{"tab-list-class":"d-emoji-picker__tabset-list",selected:e.selectedTab},scopedSlots:e._u([{key:"tabs",fn:function(){return e._l(e.tabs,function(s,n){return i("dt-tab",{key:s.id,ref:`tabsetRef-${n}`,refInFor:!0,attrs:{id:s.id,"panel-id":s.panelId,label:s.label,"aria-controls":"d-emoji-picker-list",tabindex:n+1},on:{"!click":function(o){return o.stopPropagation(),e.selectTabset(s.id)},keydown:function(o){return e.handleKeyDown(o,s.id)}}},[i("dt-icon",{attrs:{size:"400",name:s.icon}})],1)})},proxy:!0}])})],1)},k=[],j=m.normalizeComponent(b,_,k,!1,null,null,null,null);const g=j.exports,y={name:"EmojiSearch",components:{DtInput:d.DtInput,DtIcon:d.DtIcon},props:{searchPlaceholderLabel:{type:String,required:!0},modelValue:{type:String,default:""}},mounted(){this.focusSearchInput()},methods:{updateModelValue(t){this.$emit("update:model-value",t)},focusEmojiSelector(){this.$emit("focus-emoji-selector")},focusTabset(){this.$emit("focus-tabset")},selectFirstEmoji(){this.$emit("select-first-emoji")},clearSearch(){this.$emit("update:model-value",""),this.focusSearchInput()},focusSearchInput(){this.$refs.searchInputRef.focus()}}};var R=function(){var e=this,i=e._self._c;return i("div",{staticClass:"d-emoji-picker__search d-emoji-picker__alignment"},[i("dt-input",{ref:"searchInputRef",attrs:{id:"searchInput",placeholder:e.searchPlaceholderLabel,value:e.modelValue},on:{input:e.updateModelValue,keydown:[function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"up",38,s.key,["Up","ArrowUp"])?null:e.focusTabset.apply(null,arguments)},function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"down",40,s.key,["Down","ArrowDown"])?null:(s.preventDefault(),e.focusEmojiSelector.apply(null,arguments))},function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"enter",13,s.key,"Enter")?null:e.selectFirstEmoji.apply(null,arguments)}]},scopedSlots:e._u([{key:"leftIcon",fn:function(){return[i("dt-icon",{attrs:{name:"search"}})]},proxy:!0},e.modelValue.length>0?{key:"rightIcon",fn:function(){return[i("button",{staticClass:"d-emoji-picker__search-button",on:{click:e.clearSearch,keydown:function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"enter",13,s.key,"Enter")?null:e.clearSearch.apply(null,arguments)}}},[i("dt-icon",{attrs:{name:"close"}})],1)]},proxy:!0}:null],null,!0)})],1)},S=[],E=m.normalizeComponent(y,R,S,!1,null,null,null,null);const $=E.exports,T={name:"EmojiSelector",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:()=>[]}},data(){return{emojiRefs:[],emojiFilteredRefs:[],isFiltering:!1,hoverFirstEmoji:!0,fixedLabel:"",filteredEmojis:[],TABS_DATA:["Recently used","People","Nature","Food","Activity","Travel","Objects","Symbols","Flags"],tabLabelObserver:null}},computed:{currentEmojis(){return[...this.emojis[`People${this.skinTone}`]||[],...this.emojis.Nature||[],...this.emojis.Food||[],...this.emojis[`Activity${this.skinTone}`]||[],...this.emojis.Travel||[],...this.emojis[`Objects${this.skinTone}`]||[],...this.emojis.Symbols||[],...this.emojis.Flags||[]]},emojis(){return d.emojisGrouped},CDN_URL(){return p},tabLabels(){return this.recentlyUsedEmojis.length?this.tabSetLabels.map((t,e)=>({label:t,ref:this.$refs[`tabLabelRef-${e}`]})):this.tabSetLabels.slice(1).map((t,e)=>({label:t,ref:this.$refs[`tabLabelRef-${e}`]}))},tabs(){return this.recentlyUsedEmojis.length?this.TABS_DATA:this.TABS_DATA.slice(1)}},watch:{currentEmojis:{handler(){this.searchByNameAndKeywords()},immediate:!0},recentlyUsedEmojis:{handler(t){this.emojis["Recently used"]=t},immediate:!0},emojiFilter:{handler(t){this.resetScroll(),t?this.isFiltering=!0:(this.isFiltering=!1,this.$emit("highlighted-emoji",null)),this.debouncedSearch()}},selectedTabset:{handler(t){this.scrollToTab(t.tabId)},deep:!0}},created(){this.debouncedSearch=this.debounce(this.searchByNameAndKeywords,300)},mounted(){this.$nextTick(()=>{this.setupEmojiRefs(),this.setupFilteredRefs(),this.setupTabLabelRefs(),this.setTabLabelObserver()})},beforeDestroy(){this.tabLabelObserver&&this.tabLabelObserver.disconnect()},methods:{setupTabLabelRefs(){var t;(t=this.tabSetLabels)==null||t.forEach((e,i)=>{const s=`tabLabelRef-${i}`;this.$refs[s]&&this.$set(this.tabLabels,i,{label:e,ref:this.$refs[s]})})},setupFilteredRefs(){this.emojiFilteredRefs=[],this.filteredEmojis.forEach((t,e)=>{const i=`filteredEmoji-${e}`;this.$refs[i]&&this.setFilteredRef(this.$refs[i],e)})},setupEmojiRefs(){for(let t=0;t<this.tabs.length;t++){const e=`emojiRef-${t}`;this.$refs[e]&&this.$refs[e].forEach((i,s)=>{i&&this.setEmojiRef(i,t,s)})}},searchByNameAndKeywords(){const t=this.emojiFilter.toLowerCase();this.filteredEmojis=this.currentEmojis.filter(function(e){const i=e.name.toLowerCase().includes(t),s=e.keywords.some(function(n){return n.toLowerCase().includes(t)});return i||s}),this.$nextTick(function(){t&&(this.hoverEmoji(this.filteredEmojis[0],!0),this.setupFilteredRefs())})},debounce:function(t,e){e===void 0&&(e=300);let i;return function(){const s=[];let n=arguments.length;for(;n--;)s[n]=arguments[n];clearTimeout(i),i=setTimeout(function(){t.apply(void 0,s)},e)}},getImgSrc:function(t){return this.CDN_URL+t+".png"},handleImageError:function(t){t.target.parentNode.style.display="none"},scrollToTab:function(t,e){const i=this;e===void 0&&(e=!0);const n=i.tabLabels[t-1].ref[0];i.$nextTick(function(){const o=i.$refs.listRef,r=t==="1"?0:n.offsetTop-20;let l=!0,c=o.scrollTop;i.$emit("is-scrolling",!0),o.addEventListener("scroll",function(){if(l){const f=o.scrollTop;(c<f&&f>=r||c>f&&f<=r)&&(l=!1,i.$emit("is-scrolling",!1)),c=f}}),o.scrollTop=r,e&&i.focusEmoji(t-1,0)})},resetScroll:function(){const t=this.$refs.listRef;t.scrollTop=0},focusEmojiSelector:function(){this.focusEmoji(0,0)},hoverEmoji(t,e){e===void 0&&(e=!1),this.hoverFirstEmoji=e,this.$emit("highlighted-emoji",t)},setEmojiRef:function(t,e,i){this.emojiRefs[e]||this.$set(this.emojiRefs,e,[]),this.$set(this.emojiRefs[e],i,t)},setFilteredRef:function(t,e){this.$set(this.emojiFilteredRefs,e,t)},focusEmoji:function(t,e){var s;const i=this.isFiltering?(s=this.emojiFilteredRefs[e])==null?void 0:s[0]:this.emojiRefs[t]&&this.emojiRefs[t][e];return i?(i.focus(),!0):!1},handleKeyDown:function(t,e,i,s){var n,o;if(t.preventDefault(),t.key==="ArrowUp"){const r=i%a;if(e===0){const l=a-this.emojiRefs[this.emojiRefs.length-1].length%a,c=this.emojiRefs[this.emojiRefs.length-1].length+l-(a-r);this.focusEmoji(this.emojiRefs.length-1,c)||this.focusEmoji(this.emojiRefs.length-1,this.emojiRefs[this.emojiRefs.length-1].length-1);return}if(!this.focusEmoji(e,i-a)){const l=e-1<0?0:e-1,c=this.emojiRefs[l].length,f=c-c%a+r;this.focusEmoji(l,f)||this.focusEmoji(e-1,this.emojiRefs[e-1].length-1)}}if(t.key==="ArrowDown"&&!this.focusEmoji(e,i+a)){const r=i%a;(o=(n=this.emojiRefs)==null?void 0:n[e])!=null&&o[i+(a-r)]?this.focusEmoji(e,this.emojiRefs[e].length-1):this.focusEmoji(e+1,r)||this.focusEmoji(0,r)||this.focusEmoji(0,this.emojiRefs[0].length-1)}t.key==="ArrowLeft"&&this.handleHorizontalNavigation("left",e,i),t.key==="ArrowRight"&&this.handleHorizontalNavigation("right",e,i),t.key==="Tab"&&(this.focusEmoji(e+1,0)?this.scrollToTab(e+1+1,!1):this.$emit("focus-skin-selector")),t.key==="Tab"&&t.shiftKey&&(this.focusEmoji(e,0)&&e>0?this.scrollToTab(e,!0):(this.scrollToTab(1,!1),this.$emit("focus-search-input"))),t.key==="Enter"&&this.$emit("selected-emoji",s)},handleHorizontalNavigation:function(t,e,i){this.isFiltering?t==="left"?this.handleArrowLeftFiltered(e,i):t==="right"&&this.handleArrowRightFiltered(e,i):t==="left"?this.handleArrowLeft(e,i):t==="right"&&this.handleArrowRight(e,i)},handleArrowLeftFiltered:function(t,e){this.focusEmoji(0,e-1)||this.focusEmoji(0,this.emojiFilteredRefs.length-1)},handleArrowRightFiltered:function(t,e){this.focusEmoji(0,e+1)||this.focusEmoji(0,0)},handleArrowLeft:function(t,e){this.focusEmoji(t,e-1)||(this.emojiRefs[t-1]?this.focusEmoji(t-1,this.emojiRefs[t-1].length-1):this.focusEmoji(this.emojiRefs.length-1,this.emojiRefs[this.emojiRefs.length-1].length-1))},handleArrowRight:function(t,e){this.focusEmoji(t,e+1)||this.focusEmoji(t+1,0)||this.focusEmoji(0,0)},handleKeyDownFilteredEmojis(t,e,i){var s;if(t.preventDefault(),this.hoverFirstEmoji=!1,t.key==="ArrowUp"){const n=e%a;if(!this.focusEmoji(0,e-a)){const o=this.emojiFilteredRefs.length-this.emojiFilteredRefs.length%a+n;this.focusEmoji(0,o),this.focusEmoji(0,o)||this.focusEmoji(0,this.emojiFilteredRefs.length-1)}}if(t.key==="ArrowDown"&&!this.focusEmoji(0,e+a)){const n=e%a;(s=this.emojiFilteredRefs)!=null&&s[e+(a-n)]?this.focusEmoji(0,this.emojiFilteredRefs.length-1):this.focusEmoji(0,n)}t.key==="ArrowLeft"&&this.handleHorizontalNavigation("left",0,e),t.key==="ArrowRight"&&this.handleHorizontalNavigation("right",0,e),t.key==="Tab"&&this.$emit("focus-skin-selector"),t.key==="Enter"&&this.$emit("selected-emoji",i)},setTabLabelObserver(){this.tabLabelObserver=new IntersectionObserver(t=>{t.forEach(e=>{var n,o,r,l,c,f;const{target:i}=e,s=parseInt(i.dataset.index);e.isIntersecting&&i.offsetTop<=((n=this.$refs.tabCategoryRef)==null?void 0:n.offsetTop)+50?(this.fixedLabel=((o=this.tabLabels[s-1])==null?void 0:o.label)??((r=this.tabLabels[0])==null?void 0:r.label),this.$emit("scroll-into-tab",s-1)):e.boundingClientRect.bottom<=((l=this.$refs.tabCategoryRef)==null?void 0:l.getBoundingClientRect().bottom)?(this.$emit("scroll-into-tab",s),this.fixedLabel=(c=this.tabLabels[s])==null?void 0:c.label):s===1&&(this.$emit("scroll-into-tab",s),this.fixedLabel=(f=this.tabLabels[0])==null?void 0:f.label)})}),this.tabLabelObserver.observe(this.$refs.tabCategoryRef),Array.from(this.$refs.listRef.children).forEach((t,e)=>{this.tabLabelObserver.observe(t),t.dataset.index=e})},focusLastEmoji(){this.focusEmoji(this.tabs.length-1,0)}}};var v=function(){var e=this,i=e._self._c;return i("div",{staticClass:"d-emoji-picker__selector"},[i("div",{ref:"listRef",staticClass:"d-emoji-picker__list",attrs:{id:"d-emoji-picker-list"}},[e.emojiFilter?i("p",{staticClass:"d-emoji-picker__search-label d-emoji-picker__alignment"},[e._v(" "+e._s(e.filteredEmojis.length>0?e.searchResultsLabel:e.searchNoResultsLabel)+" ")]):i("div",{ref:"tabCategoryRef",staticClass:"d-emoji-picker__category d-emoji-picker__alignment"},[i("p",[e._v(" "+e._s(e.fixedLabel)+" ")])]),e._l(e.tabLabels,function(s,n){return i("div",{directives:[{name:"show",rawName:"v-show",value:!e.emojiFilter,expression:"!emojiFilter"}],key:n,ref:`tabLabelRef-${n}`,refInFor:!0,staticClass:"d-emoji-picker__alignment"},[n?i("p",[e._v(" "+e._s(s.label)+" ")]):e._e(),i("div",{staticClass:"d-emoji-picker__tab"},e._l(e.emojis[e.tabs[n]+e.skinTone]?e.emojis[e.tabs[n]+e.skinTone]:e.emojis[e.tabs[n]],function(o,r){return i("button",{key:o.shortname,ref:`emojiRef-${n}`,refInFor:!0,attrs:{type:"button","aria-label":o.name},on:{click:function(l){return e.$emit("selected-emoji",o)},focusin:function(l){return e.$emit("highlighted-emoji",o)},focusout:function(l){return e.$emit("highlighted-emoji",null)},mouseover:function(l){return e.$emit("highlighted-emoji",o)},mouseleave:function(l){return e.$emit("highlighted-emoji",null)},keydown:l=>e.handleKeyDown(l,n,r,o)}},[i("img",{staticClass:"d-icon d-icon--size-500",attrs:{alt:o.name,"aria-label":o.name,title:o.name,src:e.getImgSrc(o.unicode_character)},on:{error:e.handleImageError}})])}),0)])}),e.emojiFilter?i("div",{staticClass:"d-emoji-picker__alignment"},[i("div",{staticClass:"d-emoji-picker__tab",attrs:{"data-qa":"filtered-emojis"}},e._l(e.filteredEmojis,function(s,n){return i("button",{key:s.shortname,ref:`filteredEmoji-${n}`,refInFor:!0,class:{"hover-emoji":n===0&&e.hoverFirstEmoji},attrs:{type:"button","aria-label":s.name},on:{click:function(o){return e.$emit("selected-emoji",s)},focusin:function(o){return e.$emit("highlighted-emoji",s)},focusout:function(o){return e.$emit("highlighted-emoji",null)},mouseover:function(o){return e.hoverEmoji(s)},mouseleave:function(o){return e.hoverEmoji(null)},keydown:o=>e.handleKeyDownFilteredEmojis(o,n,s)}},[i("img",{staticClass:"d-icon d-icon--size-500",attrs:{alt:s.name,"aria-label":s.name,title:s.name,src:`${e.CDN_URL+s.unicode_character}.png`}})])}),0)]):e._e()],2)])},L=[],w=m.normalizeComponent(T,v,L,!1,null,null,null,null);const I=w.exports,p="https://static.dialpadcdn.com/joypixels/png/unicode/32/",a=9,h={DEFAULT:"Default",LIGHT:"Light",MEDIUM_LIGHT:"MediumLight",MEDIUM:"Medium",MEDIUM_DARK:"MediumDark",DARK:"Dark"},u={MOST_RECENTLY_USED:"Most recently used",SMILEYS_AND_PEOPLE:"Smileys and people",NATURE:"Nature",FOOD:"Food",ACTIVITY:"Activity",TRAVEL:"Travel",OBJECTS:"Objects",SYMBOLS:"Symbols",FLAGS:"Flags"},D={name:"EmojiDescription",props:{emoji:{type:Object,default:()=>null}},data(){return{CDN_URL:p}}};var C=function(){var s;var e=this,i=e._self._c;return i("div",{staticClass:"d-emoji-picker__data"},[e.emoji?i("img",{staticClass:"d-icon d-icon--size-500",attrs:{alt:e.emoji.name,"aria-label":e.emoji.name,title:e.emoji.name,src:`${e.CDN_URL+e.emoji.unicode_character}.png`}}):e._e(),e._v(" "+e._s((s=e.emoji)==null?void 0:s.name)+" ")])},A=[],F=m.normalizeComponent(D,C,A,!1,null,null,null,null);const O=F.exports,N={name:"EmojiSkinSelector",components:{DtTooltip:m.DtTooltip},props:{skinTone:{type:String,required:!0},isHovering:{type:Boolean,default:!1},skinSelectorButtonTooltipLabel:{type:String,required:!0}},data(){return{isOpen:!1,skinSelected:null,skinsRef:[],cdnUrl:p}},computed:{skinPassedIn(){return this.skinList.find(t=>t.skinTone===this.skinTone)},skinList(){return[{name:":wave_tone1:",unicode_output:"1f44b-1f3fb",skinTone:h.LIGHT,skinCode:"_tone1"},{name:":wave_tone2:",unicode_output:"1f44b-1f3fc",skinTone:h.MEDIUM_LIGHT,skinCode:"_tone2"},{name:":wave_tone3:",unicode_output:"1f44b-1f3fd",skinTone:h.MEDIUM,skinCode:"_tone3"},{name:":wave_tone4:",unicode_output:"1f44b-1f3fe",skinTone:h.MEDIUM_DARK,skinCode:"_tone4"},{name:":wave_tone5:",unicode_output:"1f44b-1f3ff",skinTone:h.DARK,skinCode:"_tone5"},{name:":wave:",unicode_output:"1f44b",skinTone:h.DEFAULT,skinCode:""}]}},watch:{isHovering(t){t&&(this.isOpen=!1)},skinTone(t,e){t!==e&&(this.skinSelected=this.skinPassedIn)}},mounted(){this.skinSelected=this.skinPassedIn,this.$nextTick(()=>{this.setupSkinRefs()})},methods:{setupSkinRefs(){this.skinList.forEach((t,e)=>{const i=`skinRef-${e}`;this.$refs[i]&&this.$set(this.skinsRef,e,this.$refs[i][0])})},focusSkinSelector(){this.$refs.skinSelectorRef&&this.$refs.skinSelectorRef.focus()},selectSkin(t){this.skinSelected=t,this.isOpen=!1,this.$emit("skin-tone",t.skinTone),this.$nextTick(()=>{this.focusSkinSelector()})},handleKeyDown(t,e,i){var s,n,o,r;t.preventDefault(),t.key==="ArrowLeft"&&(i===0&&((s=this.skinsRef[this.skinsRef.length-1])==null||s.focus()),(n=this.skinsRef[i-1])==null||n.focus()),t.key==="ArrowRight"&&(this.skinsRef.length&&((o=this.skinsRef[0])==null||o.focus()),(r=this.skinsRef[i+1])==null||r.focus()),t.key==="Enter"&&(e?this.selectSkin(e):this.toggleSkinList()),t.key==="Tab"&&(t.shiftKey?this.$emit("focus-last-emoji"):this.$emit("focus-tabset"))},toggleSkinList(){this.isOpen=!this.isOpen,this.$nextTick(()=>{this.skinsRef[0]&&this.skinsRef[0].focus()})}}};var U=function(){var e=this,i=e._self._c;return i("div",{attrs:{"data-qa":"skin-selector"}},[i("div",{directives:[{name:"show",rawName:"v-show",value:e.isOpen,expression:"isOpen"}],staticClass:"d-emoji-picker__skin-list"},e._l(e.skinList,function(s,n){var o;return i("button",{key:s.name,ref:`skinRef-${n}`,refInFor:!0,class:{selected:((o=e.skinSelected)==null?void 0:o.skinCode)===s.skinCode},on:{click:function(r){return e.selectSkin(s)},keydown:r=>e.handleKeyDown(r,s,n)}},[i("img",{staticClass:"d-icon d-icon--size-500",attrs:{alt:s.name,"aria-label":s.name,title:s.name,src:`${e.cdnUrl+s.unicode_output}.png`}})])}),0),i("div",{directives:[{name:"show",rawName:"v-show",value:!e.isOpen,expression:"!isOpen"}],staticClass:"d-emoji-picker__skin-selected"},[i("dt-tooltip",{attrs:{placement:"top-end"},scopedSlots:e._u([{key:"anchor",fn:function(){var s,n,o,r;return[i("button",{ref:"skinSelectorRef",attrs:{"aria-label":e.skinSelectorButtonTooltipLabel,tabindex:"-1"},on:{click:e.toggleSkinList,keydown:l=>e.handleKeyDown(l)}},[i("img",{staticClass:"d-icon d-icon--size-500",attrs:{alt:(s=e.skinSelected)==null?void 0:s.name,"aria-label":(n=e.skinSelected)==null?void 0:n.name,title:(o=e.skinSelected)==null?void 0:o.name,src:`${e.cdnUrl+((r=e.skinSelected)==null?void 0:r.unicode_output)}.png`}})])]},proxy:!0}])},[e._v(" "+e._s(e.skinSelectorButtonTooltipLabel)+" ")])],1)])},M=[],K=m.normalizeComponent(N,U,M,!1,null,null,null,null);const P=K.exports,B={name:"DtEmojiPicker",components:{EmojiTabset:g,EmojiSearch:$,EmojiSelector:I,EmojiDescription:O,EmojiSkinSelector:P},props:{recentlyUsedEmojis:{type:Array},searchPlaceholderLabel:{type:String,required:!0},searchResultsLabel:{type:String,required:!0},searchNoResultsLabel:{type:String,required:!0},tabSetLabels:{type:Array,required:!0},skinTone:{type:String},skinSelectorButtonTooltipLabel:{type:String,required:!0}},data(){return{searchQuery:"",highlightedEmoji:null,selectedTabset:{},scrollIntoTab:0,isScrolling:!1}},computed:{showRecentlyUsedTab(){var t;return((t=this.recentlyUsedEmojis)==null?void 0:t.length)>0}},methods:{scrollToSelectedTabset(t){this.searchQuery="",this.selectedTabset={...this.selectedTabset,tabId:t}},updateScrollIntoTab(t){this.scrollIntoTab=t},updateIsScrolling(t){this.isScrolling=t},updateHighlightedEmoji(t){this.highlightedEmoji=t}}};var q=function(){var e=this,i=e._self._c;return i("div",{staticClass:"d-emoji-picker"},[i("div",{staticClass:"d-emoji-picker--header"},[i("emoji-tabset",{ref:"tabsetRef",attrs:{"emoji-filter":e.searchQuery,"show-recently-used-tab":e.showRecentlyUsedTab,"scroll-into-tab":e.scrollIntoTab,"tab-set-labels":e.tabSetLabels,"is-scrolling":e.isScrolling},on:{"focus-search-input":function(s){return e.$refs.searchInputRef.focusSearchInput()},"focus-skin-selector":function(s){return e.$refs.skinSelectorRef.focusSkinSelector()},"selected-tabset":e.scrollToSelectedTabset},nativeOn:{keydown:function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"esc",27,s.key,["Esc","Escape"])?null:e.$emit("close")}}})],1),i("div",{staticClass:"d-emoji-picker--body"},[i("emoji-search",{ref:"searchInputRef",attrs:{"model-value":e.searchQuery,"search-placeholder-label":e.searchPlaceholderLabel},on:{"update:model-value":s=>e.searchQuery=s,"select-first-emoji":function(s){return e.$emit("selected-emoji",e.highlightedEmoji)},"focus-tabset":function(s){return e.$refs.tabsetRef.focusTabset()},"focus-emoji-selector":function(s){return e.$refs.emojiSelectorRef.focusEmojiSelector()}},nativeOn:{keydown:function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"esc",27,s.key,["Esc","Escape"])?null:e.$emit("close")}}}),i("emoji-selector",{ref:"emojiSelectorRef",attrs:{"emoji-filter":e.searchQuery,"skin-tone":e.skinTone,"tab-set-labels":e.tabSetLabels,"search-results-label":e.searchResultsLabel,"search-no-results-label":e.searchNoResultsLabel,"recently-used-emojis":e.recentlyUsedEmojis,"selected-tabset":e.selectedTabset},on:{"scroll-into-tab":e.updateScrollIntoTab,"is-scrolling":e.updateIsScrolling,"highlighted-emoji":e.updateHighlightedEmoji,"selected-emoji":function(s){return e.$emit("selected-emoji",s)},"focus-skin-selector":function(s){return e.$refs.skinSelectorRef.focusSkinSelector()},"focus-search-input":function(s){return e.$refs.searchInputRef.focusSearchInput()}},nativeOn:{keydown:function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"esc",27,s.key,["Esc","Escape"])?null:e.$emit("close")}}})],1),i("div",{staticClass:"d-emoji-picker--footer"},[i("emoji-description",{attrs:{emoji:e.highlightedEmoji}}),i("emoji-skin-selector",{ref:"skinSelectorRef",attrs:{"is-hovering":!!e.highlightedEmoji,"skin-selector-button-tooltip-label":e.skinSelectorButtonTooltipLabel,"skin-tone":e.skinTone},on:{"skin-tone":function(s){return e.$emit("skin-tone",s)},"focus-tabset":function(s){return e.$refs.tabsetRef.focusTabset()},"focus-last-emoji":function(s){return e.$refs.emojiSelectorRef.focusLastEmoji()}},nativeOn:{keydown:function(s){return!s.type.indexOf("key")&&e._k(s.keyCode,"esc",27,s.key,["Esc","Escape"])?null:e.$emit("close")}}})],1)])},z=[],H=m.normalizeComponent(B,q,z,!1,null,null,null,null);const G=H.exports;exports.CDN_URL=p;exports.DtEmojiPicker=G;exports.EMOJIS_PER_ROW=a;exports.EMOJI_PICKER_CATEGORIES=u;exports.EMOJI_PICKER_SKIN_TONE_MODIFIERS=h;
@@ -1 +0,0 @@
1
- "use strict";const e=require("vue"),E=require("./emoji-1NjKe1Yv.cjs"),x=require("./tooltip-P8ouLQqi.cjs"),ee={class:"d-emoji-picker__search d-emoji-picker__alignment"},te=["onKeydown"],oe={__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(l,{expose:g,emit:w}){const i=w,u=e.ref(null);function _(){i("update:modelValue",""),b()}function b(){u.value.focus()}return e.onMounted(()=>{b()}),g({focusSearchInput:b}),(y,f)=>(e.openBlock(),e.createElementBlock("div",ee,[e.createVNode(e.unref(E.DtInput),{id:"searchInput",ref_key:"searchInput",ref:u,placeholder:l.searchPlaceholderLabel,"model-value":l.modelValue,"onUpdate:modelValue":f[0]||(f[0]=s=>y.$emit("update:modelValue",s)),onKeydown:[f[1]||(f[1]=e.withKeys(s=>y.$emit("focus-tabset"),["up"])),f[2]||(f[2]=e.withKeys(e.withModifiers(s=>y.$emit("focus-emoji-selector"),["prevent"]),["down"])),f[3]||(f[3]=e.withKeys(s=>y.$emit("select-first-emoji"),["enter"]))]},e.createSlots({leftIcon:e.withCtx(()=>[e.createVNode(e.unref(E.DtIcon),{name:"search"})]),_:2},[l.modelValue.length>0?{name:"rightIcon",fn:e.withCtx(()=>[e.createElementVNode("button",{class:"d-emoji-picker__search-button",onClick:_,onKeydown:e.withKeys(_,["enter"])},[e.createVNode(e.unref(E.DtIcon),{name:"close"})],40,te)]),key:"0"}:void 0]),1032,["placeholder","model-value"])]))}},le={class:"d-emoji-picker__tabset"},ne={__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","focus-skin-selector"],setup(l,{expose:g,emit:w}){const i=l,u=w,_=[{label:A.MOST_RECENTLY_USED,icon:"clock"},{label:A.SMILEYS_AND_PEOPLE,icon:"satisfied"},{label:A.NATURE,icon:"living-thing"},{label:A.FOOD,icon:"food"},{label:A.ACTIVITY,icon:"object"},{label:A.TRAVEL,icon:"transportation"},{label:A.OBJECTS,icon:"lightbulb"},{label:A.SYMBOLS,icon:"heart"},{label:A.FLAGS,icon:"flag"}],b=e.computed(()=>(i.showRecentlyUsedTab?_:_.slice(1)).map((o,a)=>({...o,label:i.tabsetLabels[a],id:(a+1).toString(),panelId:(a+1).toString()}))),y=e.computed(()=>i.emojiFilter.length>0),f=e.ref("1"),{isScrolling:s}=e.toRefs(i),k=e.ref([]);e.watch(()=>i.scrollIntoTab,()=>{!s.value&&!y.value&&(f.value=(i.scrollIntoTab+1).toString())}),e.watch(y,()=>{y.value&&(f.value=null)});function L(t){s.value||(f.value=t),u("selected-tabset",t)}function $(t){k.value.push(t.$el)}function T(){k.value[0].focus()}function n(t,o){t.key==="Enter"&&(L(o),k.value[o-1].blur()),t.key==="Tab"&&(t.preventDefault(),t.shiftKey?u("focus-skin-selector"):u("focus-search-input")),t.key==="ArrowDown"&&u("focus-search-input")}return g({focusTabset:T}),(t,o)=>(e.openBlock(),e.createElementBlock("div",le,[e.createVNode(e.unref(E.DtTabGroup),{"tab-list-class":"d-emoji-picker__tabset-list",selected:f.value},{tabs:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,(a,d)=>(e.openBlock(),e.createBlock(e.unref(E.DtTab),{id:a.id,ref_for:!0,ref:h=>{h&&$(h)},key:a.id,"panel-id":a.panelId,label:a.label,"aria-controls":"d-emoji-picker-list",tabindex:d+1,onClickCapture:e.withModifiers(h=>L(a.id),["stop"]),onKeydown:h=>n(h,a.id)},{default:e.withCtx(()=>[e.createVNode(e.unref(E.DtIcon),{size:"400",name:a.icon},null,8,["name"])]),_:2},1032,["id","panel-id","label","tabindex","onClickCapture","onKeydown"]))),128))]),_:1},8,["selected"])]))}},C={ARROW_UP:"ArrowUp",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight"},V="https://static.dialpadcdn.com/joypixels/png/unicode/32/",j=9,B={DEFAULT:"Default",LIGHT:"Light",MEDIUM_LIGHT:"MediumLight",MEDIUM:"Medium",MEDIUM_DARK:"MediumDark",DARK:"Dark"},A={MOST_RECENTLY_USED:"Most recently used",SMILEYS_AND_PEOPLE:"Smileys and people",NATURE:"Nature",FOOD:"Food",ACTIVITY:"Activity",TRAVEL:"Travel",OBJECTS:"Objects",SYMBOLS:"Symbols",FLAGS:"Flags"};function se(){const l=e.ref([]),g=e.ref([]),w=e.ref(!1),i=e.ref(!0);function u(n,t){s(n,t-1)||(l.value[n-1]?s(n-1,l.value[n-1].length-1):s(l.value.length-1,l.value[l.value.length-1].length-1))}function _(n,t){s(n,t+1)||s(n+1,0)||s(0,0)}function b(n,t){s(0,t-1)||s(0,g.value.length-1)}function y(n,t){s(0,t+1)||s(0,0)}function f(n,t,o){w.value?n==="left"?b(t,o):n==="right"&&y(t,o):n==="left"?u(t,o):n==="right"&&_(t,o)}function s(n,t){var a,d,h;const o=w.value?(a=g.value)==null?void 0:a[t]:(h=(d=l.value)==null?void 0:d[n])==null?void 0:h[t];return o?(o.focus(),!0):!1}function k(n,t,o){l.value[t]||(l.value[t]=[]),l.value[t][o]=n}function L(n,t){g.value[t]=n}function $(n,t){var o;if(i.value=!1,n===C.ARROW_UP){const a=t%j;if(!s(0,t-j)){const d=g.value.length-g.value.length%j+a;s(0,d),s(0,d)||s(0,g.value.length-1)}}if(n===C.ARROW_DOWN&&!s(0,t+j)){const a=t%j;(o=g.value)!=null&&o[t+(j-a)]?s(0,g.value.length-1):s(0,a)}n===C.ARROW_LEFT&&f("left",0,t),n===C.ARROW_RIGHT&&f("right",0,t)}function T(n,t,o){var a,d;if(n==="ArrowUp"){const h=o%j;if(t===0){const S=j-l.value[l.value.length-1].length%j,I=l.value[l.value.length-1].length+S-(j-h);s(l.value.length-1,I)||s(l.value.length-1,l.value[l.value.length-1].length-1);return}if(!s(t,o-j)){const S=t-1<0?0:t-1,I=l.value[S].length,U=I-I%j+h;s(S,U)||s(t-1,l.value[t-1].length-1)}}if(n==="ArrowDown"&&!s(t,o+j)){const h=o%j;(d=(a=l.value)==null?void 0:a[t])!=null&&d[o+(j-h)]?s(t,l.value[t].length-1):s(t+1,h)||s(0,h)||s(0,l.value[0].length-1)}n==="ArrowLeft"&&f("left",t,o),n==="ArrowRight"&&f("right",t,o)}return{emojiFilteredRefs:g,isFiltering:w,hoverFirstEmoji:i,setEmojiRef:k,setFilteredRef:L,focusEmoji:s,handleArrowNavigationFiltered:$,handleArrowNavigation:T}}const re={class:"d-emoji-picker__selector"},ie={key:0,class:"d-emoji-picker__search-label d-emoji-picker__alignment"},ae={key:0},ce={class:"d-emoji-picker__tab"},ue=["aria-label","onClick","onFocusin","onMouseover","onKeydown"],fe=["alt","aria-label","title","src"],de={key:2,class:"d-emoji-picker__alignment"},me={class:"d-emoji-picker__tab","data-qa":"filtered-emojis"},ve=["aria-label","onClick","onFocusin","onMouseover","onKeydown"],pe=["alt","aria-label","title","src"],he={__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(l,{expose:g,emit:w}){const i=l,u=w,{emojiFilteredRefs:_,isFiltering:b,hoverFirstEmoji:y,setEmojiRef:f,setFilteredRef:s,focusEmoji:k,handleArrowNavigationFiltered:L,handleArrowNavigation:$}=se(),T=e.ref(null),n=e.ref(null),t=e.ref(null),o=["Recently used","People","Nature","Food","Activity","Travel","Objects","Symbols","Flags"],a=e.computed(()=>i.recentlyUsedEmojis.length?i.tabsetLabels.map(r=>({label:r,ref:e.ref(null)})):i.tabsetLabels.slice(1).map(r=>({label:r,ref:e.ref(null)}))),d=e.ref(a.value[0].label),h=e.computed(()=>i.recentlyUsedEmojis.length?o:o.slice(1)),S=e.ref([]),I=e.computed(()=>[...E.emojisGrouped[`People${i.skinTone}`],...E.emojisGrouped.Nature,...E.emojisGrouped.Food,...E.emojisGrouped[`Activity${i.skinTone}`],...E.emojisGrouped.Travel,...E.emojisGrouped[`Objects${i.skinTone}`],...E.emojisGrouped.Symbols,...E.emojisGrouped.Flags]),U=q(()=>{_.value=[],P()});e.watch(I,()=>{P()},{immediate:!0}),e.watch(()=>i.recentlyUsedEmojis,()=>{E.emojisGrouped["Recently used"]=i.recentlyUsedEmojis},{immediate:!0}),e.watch(()=>i.emojiFilter,()=>{Y(),i.emojiFilter?b.value=!0:(b.value=!1,F(null)),U()}),e.watch(()=>i.selectedTabset,r=>{K(r.tabId)},{deep:!0});function G(r,c=!1){y.value=c,u("highlighted-emoji",r)}function P(){const r=i.emojiFilter.toLowerCase();S.value=I.value.filter(c=>{const v=c.name.toLowerCase().includes(r),p=c.keywords.some(m=>m.toLowerCase().includes(r));return v||p}),e.nextTick(()=>{r&&G(S.value[0],!0)})}function q(r,c=300){let v;return(...p)=>{clearTimeout(v),v=setTimeout(()=>r(...p),c)}}function W(r){return`${V+r}.png`}function H(r){r.target.parentNode.style.display="none"}function K(r,c=!0){const p=a.value[r-1].ref.value[0];e.nextTick(()=>{const m=n.value,N=r==="1"?0:p.offsetTop-20;let R=!0,O=m.scrollTop;u("is-scrolling",!0),m.addEventListener("scroll",()=>{if(R){const D=m.scrollTop;(O<D&&D>=N||O>D&&D<=N)&&(R=!1,u("is-scrolling",!1)),O=D}}),m.scrollTop=N,c&&k(r-1,0)})}function Y(){const r=n.value;r.scrollTop=0}function z(){t.value=new IntersectionObserver(r=>{r.forEach(c=>{var m,N,R,O,D;const{target:v}=c,p=parseInt(v.dataset.index);c.isIntersecting&&v.offsetTop<=T.value.offsetTop+50?(d.value=((m=a.value[p-1])==null?void 0:m.label)??((N=a.value[0])==null?void 0:N.label),u("scroll-into-tab",p-1)):c.boundingClientRect.bottom<=((R=T.value)==null?void 0:R.getBoundingClientRect().bottom)?(u("scroll-into-tab",p),d.value=(O=a.value[p])==null?void 0:O.label):p===1&&(u("scroll-into-tab",p),d.value=(D=a.value[0])==null?void 0:D.label)})}),t.value.observe(T.value),Array.from(n.value.children).forEach((r,c)=>{t.value.observe(r),r.dataset.index=c})}const J=(r,c,v)=>{if(r.preventDefault(),Object.values(C).includes(r.key)){L(r.key,c);return}switch(r.key){case"Tab":u("focus-skin-selector");break;case"Enter":M(v);break}},Q=(r,c,v,p)=>{if(r.preventDefault(),Object.values(C).includes(r.key)){$(r.key,c,v);return}switch(r.key){case"Tab":r.shiftKey?k(c,0)&&c>0?K(c,!0):(K(1,!1),u("focus-search-input")):k(c+1,0)?K(c+1+1,!1):u("focus-skin-selector");break;case"Enter":M(p);break}};function M(r){u("selected-emoji",r)}function F(r){u("highlighted-emoji",r)}function X(){k(0,0)}function Z(){k(h.value.length-1,0)}return e.onMounted(()=>{z()}),e.onUnmounted(()=>{t.value.disconnect()}),g({focusEmojiSelector:X,focusLastEmoji:Z}),(r,c)=>(e.openBlock(),e.createElementBlock("div",re,[e.createElementVNode("div",{id:"d-emoji-picker-list",ref_key:"listRef",ref:n,class:"d-emoji-picker__list"},[l.emojiFilter?(e.openBlock(),e.createElementBlock("p",ie,e.toDisplayString(S.value.length>0?l.searchResultsLabel:l.searchNoResultsLabel),1)):(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"tabCategoryRef",ref:T,class:"d-emoji-picker__category d-emoji-picker__alignment"},[e.createElementVNode("p",null,e.toDisplayString(d.value),1)],512)),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,(v,p)=>e.withDirectives((e.openBlock(),e.createElementBlock("div",{key:p,ref_for:!0,ref:v.ref,class:"d-emoji-picker__alignment"},[p?(e.openBlock(),e.createElementBlock("p",ae,e.toDisplayString(v.label),1)):e.createCommentVNode("",!0),e.createElementVNode("div",ce,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(E.emojisGrouped)[h.value[p]+l.skinTone]?e.unref(E.emojisGrouped)[h.value[p]+l.skinTone]:e.unref(E.emojisGrouped)[h.value[p]],(m,N)=>(e.openBlock(),e.createElementBlock("button",{key:m.shortname,ref_for:!0,ref:R=>{R&&e.unref(f)(R,p,N)},type:"button","aria-label":m.name,onClick:R=>M(m),onFocusin:R=>F(m),onFocusout:c[0]||(c[0]=R=>F(null)),onMouseover:R=>F(m),onMouseleave:c[1]||(c[1]=R=>F(null)),onKeydown:R=>Q(R,p,N,m)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:m.name,"aria-label":m.name,title:m.name,src:W(m.unicode_character),onError:H},null,40,fe)],40,ue))),128))])])),[[e.vShow,!l.emojiFilter]])),128)),l.emojiFilter?(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(v,p)=>(e.openBlock(),e.createElementBlock("button",{key:v.shortname,ref_for:!0,ref:m=>{m&&e.unref(s)(m,p)},type:"button","aria-label":v.name,class:e.normalizeClass({"hover-emoji":p===0&&e.unref(y)}),onClick:m=>M(v),onFocusin:m=>F(v),onFocusout:c[2]||(c[2]=m=>F(null)),onMouseover:m=>G(v),onMouseleave:c[3]||(c[3]=m=>G(null)),onKeydown:m=>J(m,p,v)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:v.name,"aria-label":v.name,title:v.name,src:`${e.unref(V)+v.unicode_character}.png`},null,8,pe)],42,ve))),128))])])):e.createCommentVNode("",!0)],512)]))}},be={"data-qa":"skin-selector"},ke={class:"d-emoji-picker__skin-list"},ge=["onKeydown","onClick"],ye=["alt","aria-label","title","src"],Se={class:"d-emoji-picker__skin-selected"},Ee=["aria-label"],_e=["alt","aria-label","title","src"],je={__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","focus-last-emoji"],setup(l,{expose:g,emit:w}){const i=l,u=w,_=[{name:":wave_tone1:",unicode_output:"1f44b-1f3fb",skinTone:B.LIGHT,skinCode:"_tone1"},{name:":wave_tone2:",unicode_output:"1f44b-1f3fc",skinTone:B.MEDIUM_LIGHT,skinCode:"_tone2"},{name:":wave_tone3:",unicode_output:"1f44b-1f3fd",skinTone:B.MEDIUM,skinCode:"_tone3"},{name:":wave_tone4:",unicode_output:"1f44b-1f3fe",skinTone:B.MEDIUM_DARK,skinCode:"_tone4"},{name:":wave_tone5:",unicode_output:"1f44b-1f3ff",skinTone:B.DARK,skinCode:"_tone5"},{name:":wave:",unicode_output:"1f44b",skinTone:B.DEFAULT,skinCode:""}],b=e.ref(!1),y=e.ref(null),f=e.ref([]);e.watchEffect(()=>i.isHovering&&(b.value=!1));const s=e.computed(()=>_.find(o=>o.skinTone===i.skinTone)),k=e.ref(s.value);e.watchEffect(()=>s.value&&(k.value=s.value));function L(o){f.value.push(o)}function $(){y.value.focus()}function T(o){k.value=o,b.value=!1,u("skin-tone",o.skinTone),e.nextTick(()=>$())}const n=(o,a,d)=>{var h,S,I;o.preventDefault(),o.key==="ArrowLeft"&&(d===0&&((h=f.value[f.value.length-1])==null||h.focus()),(S=f.value[d-1])==null||S.focus()),o.key==="ArrowRight"&&((I=f.value[d+1])==null||I.focus()),o.key==="Enter"&&(a?T(a):t()),o.key==="Tab"&&(o.shiftKey?u("focus-last-emoji"):u("focus-tabset"))};function t(){b.value=!b.value,e.nextTick(()=>f.value[0].focus())}return g({focusSkinSelector:$}),(o,a)=>(e.openBlock(),e.createElementBlock("div",be,[e.withDirectives(e.createElementVNode("div",ke,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(_,(d,h)=>e.createElementVNode("button",{ref_for:!0,ref:S=>{S&&L(S)},key:d.name,class:e.normalizeClass({selected:k.value.skinCode===d.skinCode}),onKeydown:S=>n(S,d,h),onClick:S=>T(d)},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:d.name,"aria-label":d.name,title:d.name,src:`${e.unref(V)+d.unicode_output}.png`},null,8,ye)],42,ge)),64))],512),[[e.vShow,b.value]]),e.withDirectives(e.createElementVNode("div",Se,[e.createVNode(e.unref(x.DtTooltip),{placement:"top-end"},{anchor:e.withCtx(()=>[e.createElementVNode("button",{ref_key:"skinSelectorRef",ref:y,"aria-label":l.skinSelectorButtonTooltipLabel,tabindex:"-1",onClick:t,onKeydown:a[0]||(a[0]=d=>n(d))},[e.createElementVNode("img",{class:"d-icon d-icon--size-500",alt:k.value.name,"aria-label":k.value.name,title:k.value.name,src:`${e.unref(V)+k.value.unicode_output}.png`},null,8,_e)],40,Ee)]),default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.skinSelectorButtonTooltipLabel)+" ",1)]),_:1})],512),[[e.vShow,!b.value]])]))}},Re={class:"d-emoji-picker__data"},we=["alt","aria-label","title","src"],Te={__name:"emoji_description",props:{emoji:{type:Object,default:null}},setup(l){return(g,w)=>{var i;return e.openBlock(),e.createElementBlock("div",Re,[l.emoji?(e.openBlock(),e.createElementBlock("img",{key:0,class:"d-icon d-icon--size-500",alt:l.emoji.name,"aria-label":l.emoji.name,title:l.emoji.name,src:`${e.unref(V)+l.emoji.unicode_character}.png`},null,8,we)):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString((i=l.emoji)==null?void 0:i.name),1)])}}},Le={class:"d-emoji-picker"},$e={class:"d-emoji-picker--header"},Ie={class:"d-emoji-picker--body"},Ae={class:"d-emoji-picker--footer"},Ne={__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(l,{emit:g}){const w=l,i=g,u=e.ref(""),_=e.ref(null),b=e.ref({}),y=e.ref(0),f=e.ref(!1),s=e.computed(()=>w.recentlyUsedEmojis.length>0);function k(n){u.value="",b.value=n,b.value={...b.value,tabId:n}}function L(n){y.value=n}function $(n){f.value=n}function T(n){_.value=n}return(n,t)=>(e.openBlock(),e.createElementBlock("div",Le,[e.createElementVNode("div",$e,[e.createVNode(ne,{ref:"tabsetRef","emoji-filter":u.value,"show-recently-used-tab":s.value,"scroll-into-tab":y.value,"tabset-labels":l.tabSetLabels,"is-scrolling":f.value,onFocusSearchInput:t[0]||(t[0]=o=>n.$refs.searchInputRef.focusSearchInput()),onFocusSkinSelector:t[1]||(t[1]=o=>n.$refs.skinSelectorRef.focusSkinSelector()),onSelectedTabset:k,onKeydown:t[2]||(t[2]=e.withKeys(o=>i("close"),["esc"]))},null,8,["emoji-filter","show-recently-used-tab","scroll-into-tab","tabset-labels","is-scrolling"])]),e.createElementVNode("div",Ie,[e.createVNode(oe,{ref:"searchInputRef",modelValue:u.value,"onUpdate:modelValue":t[3]||(t[3]=o=>u.value=o),"search-placeholder-label":l.searchPlaceholderLabel,onSelectFirstEmoji:t[4]||(t[4]=o=>i("selected-emoji",_.value)),onFocusTabset:t[5]||(t[5]=o=>n.$refs.tabsetRef.focusTabset()),onFocusEmojiSelector:t[6]||(t[6]=o=>n.$refs.emojiSelectorRef.focusEmojiSelector()),onKeydown:t[7]||(t[7]=e.withKeys(o=>i("close"),["esc"]))},null,8,["modelValue","search-placeholder-label"]),e.createVNode(he,{ref:"emojiSelectorRef","emoji-filter":u.value,"skin-tone":l.skinTone,"tabset-labels":l.tabSetLabels,"search-results-label":l.searchResultsLabel,"search-no-results-label":l.searchNoResultsLabel,"recently-used-emojis":l.recentlyUsedEmojis,"selected-tabset":b.value,onScrollIntoTab:L,onIsScrolling:$,onHighlightedEmoji:T,onSelectedEmoji:t[8]||(t[8]=o=>i("selected-emoji",o)),onFocusSkinSelector:t[9]||(t[9]=o=>n.$refs.skinSelectorRef.focusSkinSelector()),onFocusSearchInput:t[10]||(t[10]=o=>n.$refs.searchInputRef.focusSearchInput()),onKeydown:t[11]||(t[11]=e.withKeys(o=>i("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",Ae,[e.createVNode(Te,{emoji:_.value},null,8,["emoji"]),e.createVNode(je,{ref:"skinSelectorRef","is-hovering":!!_.value,"skin-selector-button-tooltip-label":l.skinSelectorButtonTooltipLabel,"skin-tone":l.skinTone,onSkinTone:t[12]||(t[12]=o=>i("skin-tone",o)),onFocusTabset:t[13]||(t[13]=o=>n.$refs.tabsetRef.focusTabset()),onFocusLastEmoji:t[14]||(t[14]=o=>n.$refs.emojiSelectorRef.focusLastEmoji()),onKeydown:t[15]||(t[15]=e.withKeys(o=>i("close"),["esc"]))},null,8,["is-hovering","skin-selector-button-tooltip-label","skin-tone"])])]))}};exports.ARROW_KEYS=C;exports.CDN_URL=V;exports.EMOJIS_PER_ROW=j;exports.EMOJI_PICKER_CATEGORIES=A;exports.EMOJI_PICKER_SKIN_TONE_MODIFIERS=B;exports._sfc_main=Ne;