@gemboss/ui 0.41.0 → 0.42.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/CHANGELOG.md +59 -0
- package/README.md +7 -3
- package/catalog/editor.html +9 -7
- package/catalog/index.html +11 -4
- package/gemboss-ui.css +1 -1
- package/package.json +1 -1
- package/parts/components.css +1 -1
- package/parts/core.css +1 -1
- package/parts/shell.css +1 -1
- package/src/editor/controls.tsx +52 -8
- package/src/editor/index.ts +2 -2
- package/src/editor/swatch.ts +133 -9
- package/src/editor-plain.js +1 -1
- package/src/index.ts +2 -2
- package/src/portal.tsx +12 -6
- package/src/reactions-data.ts +13 -0
- package/src/reactions.tsx +5 -5
- package/src/team-chat-data.ts +46 -13
- package/src/team-chat-plain.js +1 -1
package/src/team-chat-plain.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(v){"use strict";var j=v.gembossUI||(v.gembossUI={});if(j.teamChat)return;var H={reaction:'<path d="M16.5 10a6.5 6.5 0 1 1-6.5-6.5"/><path d="M7.5 11.8s.9 1.2 2.5 1.2 2.5-1.2 2.5-1.2"/><path d="M7.8 8.2h.01M12.2 8.2h.01"/><path d="M15 2.5v4M13 4.5h4"/>',reply:'<path d="M8 13.5 3.5 9 8 4.5M3.5 9h8a5 5 0 0 1 5 5v2"/>',thread:'<path d="M3 4.5h14v9H8.5L5 16.5v-3H3z"/><path d="M6.5 8h7M6.5 10.5h4.5"/>',chevronsDown:'<path d="M6 5.5l4 4 4-4M6 10.5l4 4 4-4"/>',hash:'<path d="M8 3.5 6.5 16.5M13.5 3.5 12 16.5M4 7.5h12.5M3.5 12.5H16"/>',lock:'<rect x="4.5" y="9" width="11" height="8" rx="1.5"/><path d="M7 9V6.5a3 3 0 0 1 6 0V9"/>',user:'<circle cx="10" cy="7" r="3.2"/><path d="M3.8 16.5c.8-2.8 3.3-4.5 6.2-4.5s5.4 1.7 6.2 4.5"/>',more:'<circle cx="4.5" cy="10" r="1"/><circle cx="10" cy="10" r="1"/><circle cx="15.5" cy="10" r="1"/>'},L=["\u{1F44D}","\u2705"],D=[["Smileys",[["\u{1F600}","grin smile happy"],["\u{1F603}","smile happy"],["\u{1F604}","smile laugh happy"],["\u{1F601}","grin beam"],["\u{1F606}","laugh squint"],["\u{1F605}","sweat smile relief"],["\u{1F602}","joy tears laugh lol"],["\u{1F923}","rofl rolling laugh"],["\u{1F60A}","blush smile"],["\u{1F607}","innocent halo"],["\u{1F642}","slight smile ok"],["\u{1F609}","wink"],["\u{1F60D}","heart eyes love"],["\u{1F970}","love hearts"],["\u{1F618}","kiss"],["\u{1F60B}","yum tasty"],["\u{1F61C}","wink tongue"],["\u{1F92A}","zany crazy"],["\u{1F917}","hug"],["\u{1F92D}","oops giggle"],["\u{1F914}","think hmm"],["\u{1F928}","raised eyebrow doubt"],["\u{1F610}","neutral"],["\u{1F636}","no words"],["\u{1F644}","eye roll"],["\u{1F60F}","smirk"],["\u{1F62C}","grimace awkward"],["\u{1F60C}","relieved"],["\u{1F634}","sleep tired"],["\u{1F637}","mask sick"],["\u{1F92F}","mind blown"],["\u{1F973}","party celebrate"],["\u{1F60E}","cool sunglasses"],["\u{1F913}","nerd"],["\u{1F615}","confused"],["\u{1F61F}","worried"],["\u{1F62E}","wow surprised"],["\u{1F632}","astonished"],["\u{1F633}","flushed embarrassed"],["\u{1F97A}","pleading please"],["\u{1F622}","cry sad"],["\u{1F62D}","sob crying"],["\u{1F631}","scream shock"],["\u{1F624}","huff frustrated"],["\u{1F621}","angry mad"],["\u{1F92C}","swear"],["\u{1F480}","dead skull"],["\u{1FAE0}","melting"],["\u{1FAE1}","salute"]]],["Hands",[["\u{1F44D}","like thumbs up yes ok"],["\u{1F44E}","dislike thumbs down no"],["\u{1F44C}","ok perfect"],["\u270C\uFE0F","peace victory"],["\u{1F91E}","fingers crossed luck"],["\u{1F91F}","love you"],["\u{1F918}","rock"],["\u{1F44F}","clap applause"],["\u{1F64C}","raise hands hooray"],["\u{1F450}","open hands"],["\u{1F91D}","handshake deal"],["\u{1F64F}","thanks please pray"],["\u{1F4AA}","strong muscle"],["\u{1F440}","eyes looking"],["\u{1FAF6}","heart hands"],["\u270D\uFE0F","writing"],["\u{1F44B}","wave hi bye"],["\u261D\uFE0F","point up"],["\u{1F447}","point down"],["\u{1F449}","point right"],["\u{1F448}","point left"],["\u{1F919}","call me"],["\u{1F590}\uFE0F","stop hand"],["\u{1F90C}","pinched"]]],["Marks",[["\u2764\uFE0F","heart love red"],["\u{1F9E1}","orange heart"],["\u{1F49B}","yellow heart"],["\u{1F49A}","green heart"],["\u{1F499}","blue heart"],["\u{1F49C}","purple heart"],["\u{1F5A4}","black heart"],["\u{1F4AF}","hundred perfect"],["\u2705","done check yes"],["\u2611\uFE0F","checked box"],["\u2714\uFE0F","check mark"],["\u274C","no cross wrong"],["\u2757","important exclamation"],["\u2753","question"],["\u26A0\uFE0F","warning"],["\u{1F525}","fire hot lit"],["\u2B50","star"],["\u2728","sparkles new"],["\u{1F4A1}","idea"],["\u{1F4CC}","pin"],["\u{1F680}","rocket ship launch"],["\u{1F3AF}","target goal"],["\u{1F197}","ok button"],["\u{1F195}","new"],["\u{1F534}","red circle urgent"],["\u{1F7E2}","green circle"],["\u{1F7E1}","yellow circle"],["\u2795","plus one add"]]],["Work",[["\u{1F389}","party tada celebrate"],["\u{1F38A}","confetti"],["\u{1F3C6}","trophy win"],["\u{1F947}","gold medal first"],["\u{1F381}","gift"],["\u2615","coffee"],["\u{1F37B}","cheers beer"],["\u{1F355}","pizza"],["\u{1F4C8}","chart up growth"],["\u{1F4C9}","chart down"],["\u{1F4B0}","money"],["\u{1F6D2}","cart shop"],["\u{1F4E6}","package order shipping"],["\u{1F9FE}","receipt invoice"],["\u{1F4DD}","note memo"],["\u{1F4C5}","calendar date"],["\u23F0","alarm time"],["\u23F3","waiting hourglass"],["\u{1F527}","fix wrench"],["\u{1F41B}","bug"],["\u{1F9EA}","test"],["\u{1F50D}","search look"],["\u{1F4AC}","comment chat"],["\u{1F4DE}","call phone"],["\u{1F4E7}","email"],["\u{1F512}","lock private"],["\u{1F517}","link"],["\u{1F5BC}\uFE0F","image picture"],["\u{1F4BB}","laptop computer"],["\u{1F4F1}","phone mobile"],["\u{1F648}","see no evil oops"],["\u{1F649}","hear no evil"],["\u{1F916}","robot bot ai"],["\u{1F9E0}","brain"],["\u{1F451}","crown vip"],["\u{1F48E}","gem diamond"]]]],A={channels:"Channels",conversation:"Conversation",back:"Back to channels",members:"Members",hideMembers:"Hide members",showMembers:"Show members",thread:"Thread",closeThread:"Close thread",replies:function(e){return e===1?"1 reply":e+" replies"},newMessages:"New messages",edited:"(edited)",someone:"Someone who has left",actionsFor:function(e){return"Actions for the message from "+e},react:function(e,t,n){return(n?"Remove":"Add")+" "+e+" on the message from "+t},moreReactions:function(e){return"More reactions for the message from "+e},reply:"Reply",replyTo:function(e){return"Reply to the message from "+e},replyInThread:"Reply in thread",replyInThreadTo:function(e){return"Reply in thread to the message from "+e},openThread:function(e,t){return"Open the thread, "+(e===1?"1 reply":e+" replies")+(t?", "+t:"")},jump:"Jump to the latest message",jumpNew:function(e){return"Jump to the latest message, "+e+" new"},message:"Message",send:"Send",attach:"Attach a file",stopReplying:"Stop replying",privateChannel:"private channel",directMessage:"direct message",mentioningYou:function(e){return e+" mentioning you"},unread:function(e){return e+" unread"},online:"Online",away:"Away",offline:"Offline"},T=Object.prototype.hasOwnProperty;function M(e){if(!e)return A;var t={},n;for(n in A)t[n]=A[n];for(n in e)T.call(e,n)&&(t[n]=e[n]);return t}var P=function(e){return typeof Node<"u"&&e instanceof Node},S=function(){return[].filter.call(arguments,Boolean).join(" ")};function a(e,t,n){var r=document.createElement(e),i;for(i in t)t[i]!==void 0&&t[i]!==null&&t[i]!==!1&&r.setAttribute(i,String(t[i]));return E(r,n)}function E(e,t){if(t==null||typeof t=="boolean"||t==="")return e;if(Array.isArray(t)){for(var n=0;n<t.length;n++)E(e,t[n]);return e}return e.appendChild(P(t)?t:document.createTextNode(String(t))),e}var ie=function(e){return e==null?void 0:String(e)},m=function(e,t){return t&&e.addEventListener("click",t),e},W=0;function _(e,t){var n=Number(t)||20,r=document.createElement("template");return r.innerHTML='<svg viewBox="0 0 20 20" width="'+n+'" height="'+n+'" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">'+(T.call(H,e)?H[e]:"")+"</g></svg>",r.content.firstChild}function x(e,t){var n=document.createElementNS("http://www.w3.org/2000/svg",e);for(var r in t)n.setAttribute(r,t[r]);return n}var le=function(){try{return new RegExp("^\\p{L}","u")}catch{return/^[A-Za-zÀ-ɏͰ-ϿЀ-ӿ]/}}();function F(e){var t=String(e).trim().split(/\s+/).filter(Boolean),n=t.filter(function(i){return le.test(i)}),r=n.length?n:t;return r.length?(r.length===1?r[0].slice(0,2):r[0][0]+r[r.length-1][0]).toUpperCase():"?"}function Y(e){var t=0,n=String(e),r,i,l;for(r=0;r<n.length;r++)i=n.charCodeAt(r),i>=55296&&i<=56319&&r+1<n.length&&(l=n.charCodeAt(r+1),l>=56320&&l<=57343&&(i=(i-55296)*1024+(l-56320)+65536,r++)),t=t*31+i>>>0;return t%8}var se={24:"gb-avatar--24",32:"gb-avatar--32",40:"gb-avatar--40",56:"gb-avatar--56"};function I(e,t,n,r){return n=n===void 0?24:n,a("span",{class:S("gb-avatar",se[n],r),"data-tone":Y(e),"aria-hidden":"true"},t?a("img",{class:"gb-avatar-img",src:t,alt:"",loading:"lazy",width:n,height:n}):F(e))}var R={},B=[];D.forEach(function(e){e[1].forEach(function(t){R[t[0]]=t[1],B.push(t[0])})});var ce=function(e){return typeof e=="string"&&T.call(R,e)},O=function(e){return T.call(R,e)?R[e]:""};function z(e){var t=String(e).trim().toLowerCase();return t?B.filter(function(n){return R[n].indexOf(t)>-1}):B.slice()}function V(e){return e.length>2?e.slice(0,2).join(", ")+" +"+(e.length-2):e.join(", ")}var Z="gemboss-ui:reactions-recent",G=9;function Q(){try{var e=JSON.parse(v.localStorage&&v.localStorage.getItem(Z)||"[]");return Array.isArray(e)?e.filter(function(t){return typeof t=="string"&&O(t)!==""}).slice(0,G):[]}catch{return[]}}function oe(e){try{var t=[e].concat(Q().filter(function(n){return n!==e})).slice(0,G);v.localStorage&&v.localStorage.setItem(Z,JSON.stringify(t))}catch{}}var q=function(e,t){return e.some(function(n){return n.emoji===t&&n.mine})};function U(e){var t=e.items||[],n=Q();n.length||(n=L.slice());var r=function(c){var u=q(t,c);return m(a("button",{type:"button",class:"ui-reaction-picker__btn",title:O(c).split(" ")[0]||c,"aria-label":((u?"Remove":"Add")+" "+c+" "+O(c)).trim(),"aria-pressed":String(u)},c),function(){e.onPick(c)})},i=function(c){return a("div",{class:"ui-reaction-picker__grid"},c.map(r))},l=function(c){return a("p",{class:"ui-reaction-picker__head"},c)},d=a("input",{type:"search",class:"gemboss-field ui-reaction-picker__search",placeholder:"Search emoji","aria-label":"Search emoji",autocomplete:"off",value:""}),o=a("div",{class:"ui-reaction-picker__body"}),h=function(){var c=d.value,u=c.trim()?z(c):null,s=[];u?s.push(u.length?i(u):a("p",{class:"ui-reaction-picker__empty"},"No emoji matches.")):(s.push(l("Frequently used"),i(n)),D.forEach(function(b){s.push(l(b[0]),i(b[1].map(function(y){return y[0]})))})),o.replaceChildren.apply(o,s)},g=a("div",{id:e.id,class:"ui-reaction-picker",role:"group","aria-label":"Pick a reaction"},[d,o]);return d.addEventListener("input",h),g.addEventListener("keydown",function(c){if(c.key==="Escape"){c.preventDefault(),c.stopPropagation(),e.onClose();return}var u=[].slice.call(o.querySelectorAll(".ui-reaction-picker__btn"));if(c.target===d){c.key==="Enter"&&(c.preventDefault(),u[0]&&u[0].click()),c.key==="ArrowDown"&&(c.preventDefault(),u[0]&&u[0].focus());return}var s=u.indexOf(document.activeElement);if(!(s<0)){var b=o.querySelector(".ui-reaction-picker__grid"),y=Math.max(1,Math.round((b?b.getBoundingClientRect().width:44)/44)),p={ArrowRight:1,ArrowLeft:-1,ArrowDown:y,ArrowUp:-y}[c.key];if(p){if(c.preventDefault(),s+p<0){d.focus();return}u[Math.min(u.length-1,s+p)]&&u[Math.min(u.length-1,s+p)].focus()}}}),h(),g}function X(e){var t=e.items||[],n=e.target===void 0?"this":e.target,r=e.canReact===void 0?!0:e.canReact;if(!t.length&&!r)return null;var i=!1,l=null,d="gb-tc-rp"+ ++W,o=null,h=function(s){if(!r){e.onSignIn&&e.onSignIn();return}q(t,s)||oe(s),e.onToggle&&e.onToggle(s)},g=a("div",{class:"ui-reactions__row"},t.map(function(s){return m(a("button",{type:"button",class:"ui-reaction"+(s.mine?" is-mine":""),"aria-pressed":ie(s.mine),title:s.names.join(", "),"aria-label":s.emoji+", "+s.names.join(", ")+". "+(s.mine?"Remove yours":"Add yours")},[a("span",{class:"ui-reaction__emoji"},s.emoji),a("span",{class:"ui-reaction__names"},V(s.names))]),function(){h(s.emoji)})})),c=a("div",{class:S("ui-reactions",e.className)},g),u=function(s,b){i=s,o.setAttribute("aria-expanded",String(i)),i?(o.setAttribute("aria-controls",d),l=U({id:d,items:t,onPick:function(y){u(!1,!0),h(y),o.focus()},onClose:function(){u(!1,!0),o.focus()}}),c.appendChild(l),b&&l.firstChild.focus()):(o.removeAttribute("aria-controls"),l&&l.remove(),l=null),b&&e.onOpenChange&&e.onOpenChange(i)};return r&&(o=a("button",{type:"button",class:"ui-reaction-add",title:"Add reaction","aria-label":"Add a reaction to "+n,"aria-expanded":"false"},_("reaction",18)),g.appendChild(m(o,function(){u(!i,!0)})),e.open&&u(!0,!1)),c}function ue(e){var t=e.read,n=e.of;if(n<=0)return null;var r=t>=n,i=Math.min(t,n)/n*Math.PI*2,l=x("svg",{viewBox:"0 0 14 14",width:"14",height:"14","aria-hidden":"true",focusable:"false"});return l.appendChild(x("circle",{cx:"7",cy:"7",r:"6",fill:r?"currentColor":"none",stroke:"currentColor","stroke-width":"1.4"})),r?l.appendChild(x("path",{class:"gb-tc-receipt__tick",d:"M4.2 7.2l1.9 1.9 3.7-4",fill:"none","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})):t>0&&l.appendChild(x("path",{d:"M7 7 L7 1 A6 6 0 "+(i>Math.PI?1:0)+" 1 "+(7+6*Math.sin(i)).toFixed(2)+" "+(7-6*Math.cos(i)).toFixed(2)+" Z",fill:"currentColor"})),a("span",{class:S("gb-tc-receipt",r&&"gb-tc-receipt--all"),role:"img","aria-label":e.label,title:e.label},l)}function de(e){var t={ArrowRight:1,ArrowLeft:-1}[e.key],n=[].slice.call(e.currentTarget.querySelectorAll("button:not([disabled]), summary, a[href]")).filter(function(l){return l.offsetParent!==null}),r=n.indexOf(document.activeElement);if(!(r<0)){var i=t?n[(r+t+n.length)%n.length]:e.key==="Home"?n[0]:e.key==="End"?n[n.length-1]:null;i&&(e.preventDefault(),i.focus())}}function pe(e){var t=M(e.labels),n=e.author||t.someone,r=e.reactions||[],i=e.editor!=null,l=!!(e.picking&&e.onReact),d=null,o=null,h=!1,g=function(){var f=e.time;return P(f)&&h?f.cloneNode(!0):(h=!0,f)},c=function(){return S("gb-tc-msg",e.grouped&&"gb-tc-msg--grouped",e.mentionsMe&&"gb-tc-msg--mention",e.highlight&&"gb-tc-msg--highlight",e.sending&&"gb-tc-msg--sending",e.failed&&"gb-tc-msg--failed",l&&"gb-tc-msg--active",i&&"gb-tc-msg--editing",e.className)},u=a("li",{id:e.id,class:c(),"data-msg-id":e.messageId,tabindex:"-1"},e.grouped?a("time",{class:"gb-tc-msg__hover-time",datetime:e.dateTime},g()):e.avatar!=null?e.avatar:I(n,e.avatarSrc,32,"gb-tc-msg__av")),s=a("div",{class:"gb-tc-msg__main"});e.replyTo&&s.appendChild(m(a("button",{type:"button",class:"gb-tc-quote","aria-busy":e.replyTo.busy||void 0},[a("span",{class:"gb-tc-quote__who"},e.replyTo.author||t.someone),a("span",{class:"gb-tc-quote__text"},e.replyTo.excerpt)]),e.replyTo.onOpen)),s.appendChild(e.grouped?a("span",{class:"gb-tc-sr"},[n,", ",g(),": "]):a("div",{class:"gb-tc-msg__who"},[a("span",{class:"gb-tc-msg__name"},n),e.badges,a("time",{class:"gb-tc-msg__time",datetime:e.dateTime},g())])),i?s.appendChild(a("div",{class:"gb-tc-msg__editor"},e.editor)):(e.body!=null||e.edited||e.receipt)&&s.appendChild(a("div",{class:"gb-tc-msg__body"},[e.body,e.edited?a("span",{class:"gb-tc-msg__edited"},t.edited):null,e.receipt])),e.status&&s.appendChild(a("p",{class:"gb-tc-msg__status",role:e.failed?"alert":void 0},e.status)),e.attachments&&s.appendChild(a("div",{class:"gb-tc-msg__files"},e.attachments)),e.extra&&s.appendChild(a("div",{class:"gb-tc-msg__extra"},e.extra));var b=function(f,C){e.onPickingChange&&e.onPickingChange(f,C)},y=r.length?X({items:r,onToggle:e.onReact,canReact:!!e.onReact,target:"the message from "+n,open:e.reactionsPicking,onOpenChange:function(f){b("reactions",f)}}):null,p=e.thread,K=null;p&&p.count>0&&(K=m(a("button",{type:"button",class:"gb-tc-threadprev","aria-label":t.openThread(p.count,p.last==null?"":p.last)},[p.repliers&&p.repliers.length?a("span",{class:"gb-tc-threadprev__faces","aria-hidden":"true"},p.repliers.slice(0,3).map(function(f){return I(f.name,f.src,24)})):null,a("span",{class:"gb-tc-threadprev__count"},t.replies(p.count)),p.last?a("span",{class:"gb-tc-threadprev__last"},p.last):null]),p.onOpen)),E(s,[y,K]),u.appendChild(s);var N=function(f,C){l=f,u.className=c(),o&&o.setAttribute("aria-expanded",String(l)),l?(d=U({items:r,onPick:function(ke){N(!1,!0),e.onReact(ke),o.focus()},onClose:function(){N(!1,!0),o.focus()}}),s.insertBefore(d,y||K),C&&d.firstChild.focus()):d&&(d.remove(),d=null),C&&b("bar",l)};if(!i&&!e.sending&&(e.onReact||e.onReply||e.onOpenThread||e.moreActions)){var w=a("div",{class:"gb-tc-acts",role:"toolbar","aria-label":t.actionsFor(n)});e.onReact&&(L.forEach(function(f){var C=q(r,f);w.appendChild(m(a("button",{type:"button",class:"gb-tc-act gb-tc-act--quick","aria-pressed":String(C),"aria-label":t.react(f,n,C)},f),function(){e.onReact(f)}))}),o=a("button",{type:"button",class:"gb-tc-act","aria-expanded":String(l),"aria-label":t.moreReactions(n),title:"Add reaction"},_("reaction",18)),w.appendChild(m(o,function(){N(!l,!0)}))),e.onReply&&w.appendChild(m(a("button",{type:"button",class:"gb-tc-act","aria-label":t.replyTo(n),title:t.reply},_("reply",18)),e.onReply)),e.onOpenThread&&w.appendChild(m(a("button",{type:"button",class:"gb-tc-act","aria-label":t.replyInThreadTo(n),title:t.replyInThread},_("thread",18)),e.onOpenThread)),E(w,e.moreActions),w.addEventListener("keydown",de),u.appendChild(w)}return l&&N(!0,!1),u}function fe(e,t){return a("li",{class:"gb-tc-day"},t?a("time",{class:"gb-tc-day__label",datetime:t},e):a("span",{class:"gb-tc-day__label"},e))}function he(e){var t=M(e);return a("li",{class:"gb-tc-new"},a("span",{class:"gb-tc-new__label",role:"separator","aria-label":t.newMessages},t.newMessages))}function ge(e){return e=e||{},$(m(a("button",{type:"button",class:"gb-tc-jump"},_("chevronsDown",20)),e.onJump),e)}function $(e,t){t=t||{};var n=M(t.labels),r=t.count===void 0?0:t.count,i=e.querySelector(".gb-tc-jump__n");return t.visible===void 0||t.visible?e.removeAttribute("hidden"):e.setAttribute("hidden",""),e.setAttribute("aria-label",r?n.jumpNew(r):n.jump),r?(i||(i=e.appendChild(a("span",{class:"gb-tc-jump__n","aria-hidden":"true"}))),i.textContent=r>99?"99+":String(r),e):(i&&i.remove(),e)}var me={channel:"hash",private:"lock",dm:"user"},ee={online:"gb-tc-presence gb-tc-presence--online",away:"gb-tc-presence gb-tc-presence--away",offline:"gb-tc-presence gb-tc-presence--offline"};function te(e){var t=M(e.labels),n=e.kind===void 0?"channel":e.kind,r=e.unread===void 0?0:e.unread,i=e.mentions===void 0?0:e.mentions,l=[e.name,n==="private"?t.privateChannel:n==="dm"?t.directMessage:null,i?t.mentioningYou(i):null,r?t.unread(r):null].filter(Boolean).join(", "),d=[a("span",{class:"gb-tc-channel__glyph","aria-hidden":"true"},[_(me[n],16),n==="dm"&&e.online!==void 0?a("span",{class:ee[e.online?"online":"offline"]}):null]),a("span",{class:"gb-tc-channel__name"},e.name),i?a("span",{class:"gb-tc-badge gb-tc-badge--mention","aria-hidden":"true"},"@"+i):null,r?a("span",{class:"gb-tc-badge","aria-hidden":"true"},r):null],o=S("gb-tc-channel",r>0&&"gb-tc-channel--unread");return a("li",null,m(e.href!==void 0?a("a",{class:o,href:e.href,"aria-current":e.active?"page":void 0,"aria-label":l},d):a("button",{type:"button",class:o,"aria-current":e.active?"true":void 0,"aria-label":l},d),e.onOpen))}function ne(e,t,n,r){var i=(e.id==null?"gb-tc-s"+ ++W:e.id)+"-h";return a("div",{class:t[0],role:"group","aria-labelledby":i},[a("h3",{class:t[1],id:i},n),a("ul",{class:t[2]},(e.items||[]).map(function(l){return l&&!P(l)?r(l):l}))])}function be(e){return ne(e,["gb-tc-rail__section","gb-tc-rail__heading","gb-tc-rail__list"],e.label,te)}function ve(e){return ne(e,["gb-tc-people__section","gb-tc-people__heading","gb-tc-people__list"],[e.label,e.count!==void 0?" \u2014 "+e.count:null],ae)}function ae(e){var t=M(e.labels),n=[a("span",{class:"gb-tc-person__av"},[e.avatar!=null?e.avatar:I(e.name,e.src,32),e.presence?a("span",{class:ee[e.presence]},a("span",{class:"gb-tc-sr"},t[e.presence])):null]),a("span",{class:"gb-tc-person__text"},[a("span",{class:"gb-tc-person__name"},e.name),e.subtitle?a("span",{class:"gb-tc-person__sub"},e.subtitle):null]),e.role?a("span",{class:"gb-tc-person__role"},e.role):null],r=S("gb-tc-person",e.presence==="offline"&&"gb-tc-person--offline");return a("li",null,m(e.href!==void 0?a("a",{class:r,href:e.href,title:e.name},n):e.onSelect?a("button",{type:"button",class:r,title:e.name},n):a("div",{class:r,title:e.name},n),e.onSelect))}var J=function(e){return e instanceof Date?e:new Date(e)};function k(e){var t=J(e);return t.getFullYear()+"-"+(t.getMonth()+1)+"-"+t.getDate()}function ye(e,t){t=t===void 0?new Date:t;var n=k(e),r=new Date(t);return n===k(t)?"Today":(r.setDate(r.getDate()-1),n===k(r)?"Yesterday":null)}function _e(e,t){t=t||{};var n=t.groupWithinMs==null?5*60*1e3:t.groupWithinMs,r=-1,i=[],l;if(t.isUnread){for(l=0;l<e.length;l++)if(t.isUnread(e[l])&&(t.meId==null||e[l].authorId!==t.meId)){r=l;break}}return e.forEach(function(d,o){var h=o>0?e[o-1]:void 0,g=J(d.at),c=!h||k(h.at)!==k(g);c&&i.push({kind:"day",key:k(g),date:g}),o===r&&i.push({kind:"new"}),i.push({kind:"message",message:d,grouped:!!(h&&!c&&o!==r&&d.authorId!=null&&h.authorId===d.authorId&&d.replyToId==null&&g.getTime()-J(h.at).getTime()<n)})}),i}j.teamChat={message:pe,readReceipt:ue,daySeparator:fe,newMessagesLine:he,jumpToLatest:ge,updateJump:$,channelSection:be,channelItem:te,peopleSection:ve,personRow:ae,reactions:X,reactionPicker:U,avatar:function(e){return I(e.name,e.src,e.size,e.className)},icon:_,rows:_e,dayKey:k,dayWord:ye,LABELS:A,initialsOf:F,avatarTone:Y,isReactionEmoji:ce,reactionWords:O,searchReactions:z,reactionLabel:V,QUICK_REACTIONS:L,REACTION_GROUPS:D};function re(){!j.openModal&&v.console&&document.querySelector('script[src*="kit-plain"]')&&v.console.error("@gemboss/ui team-chat-plain.js: load it after kit-plain.js (kit-plain.js defines nothing when gembossUI exists)")}v.document&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",re,{once:!0}):re())})(typeof globalThis<"u"?globalThis:this);
|
|
1
|
+
(function(v){"use strict";var j=v.gembossUI||(v.gembossUI={});if(j.teamChat)return;var H={reaction:'<path d="M16.5 10a6.5 6.5 0 1 1-6.5-6.5"/><path d="M7.5 11.8s.9 1.2 2.5 1.2 2.5-1.2 2.5-1.2"/><path d="M7.8 8.2h.01M12.2 8.2h.01"/><path d="M15 2.5v4M13 4.5h4"/>',reply:'<path d="M8 13.5 3.5 9 8 4.5M3.5 9h8a5 5 0 0 1 5 5v2"/>',thread:'<path d="M3 4.5h14v9H8.5L5 16.5v-3H3z"/><path d="M6.5 8h7M6.5 10.5h4.5"/>',chevronsDown:'<path d="M6 5.5l4 4 4-4M6 10.5l4 4 4-4"/>',hash:'<path d="M8 3.5 6.5 16.5M13.5 3.5 12 16.5M4 7.5h12.5M3.5 12.5H16"/>',lock:'<rect x="4.5" y="9" width="11" height="8" rx="1.5"/><path d="M7 9V6.5a3 3 0 0 1 6 0V9"/>',user:'<circle cx="10" cy="7" r="3.2"/><path d="M3.8 16.5c.8-2.8 3.3-4.5 6.2-4.5s5.4 1.7 6.2 4.5"/>',more:'<circle cx="4.5" cy="10" r="1"/><circle cx="10" cy="10" r="1"/><circle cx="15.5" cy="10" r="1"/>'},W=["\u{1F44D}","\u2705"],Y=["\u{1F44D}","\u2705","\u{1F64F}","\u{1F389}","\u{1F602}","\u2764\uFE0F","\u{1F440}","\u{1F64C}","\u{1F525}"],D=[["Smileys",[["\u{1F600}","grin smile happy"],["\u{1F603}","smile happy"],["\u{1F604}","smile laugh happy"],["\u{1F601}","grin beam"],["\u{1F606}","laugh squint"],["\u{1F605}","sweat smile relief"],["\u{1F602}","joy tears laugh lol"],["\u{1F923}","rofl rolling laugh"],["\u{1F60A}","blush smile"],["\u{1F607}","innocent halo"],["\u{1F642}","slight smile ok"],["\u{1F609}","wink"],["\u{1F60D}","heart eyes love"],["\u{1F970}","love hearts"],["\u{1F618}","kiss"],["\u{1F60B}","yum tasty"],["\u{1F61C}","wink tongue"],["\u{1F92A}","zany crazy"],["\u{1F917}","hug"],["\u{1F92D}","oops giggle"],["\u{1F914}","think hmm"],["\u{1F928}","raised eyebrow doubt"],["\u{1F610}","neutral"],["\u{1F636}","no words"],["\u{1F644}","eye roll"],["\u{1F60F}","smirk"],["\u{1F62C}","grimace awkward"],["\u{1F60C}","relieved"],["\u{1F634}","sleep tired"],["\u{1F637}","mask sick"],["\u{1F92F}","mind blown"],["\u{1F973}","party celebrate"],["\u{1F60E}","cool sunglasses"],["\u{1F913}","nerd"],["\u{1F615}","confused"],["\u{1F61F}","worried"],["\u{1F62E}","wow surprised"],["\u{1F632}","astonished"],["\u{1F633}","flushed embarrassed"],["\u{1F97A}","pleading please"],["\u{1F622}","cry sad"],["\u{1F62D}","sob crying"],["\u{1F631}","scream shock"],["\u{1F624}","huff frustrated"],["\u{1F621}","angry mad"],["\u{1F92C}","swear"],["\u{1F480}","dead skull"],["\u{1FAE0}","melting"],["\u{1FAE1}","salute"]]],["Hands",[["\u{1F44D}","like thumbs up yes ok"],["\u{1F44E}","dislike thumbs down no"],["\u{1F44C}","ok perfect"],["\u270C\uFE0F","peace victory"],["\u{1F91E}","fingers crossed luck"],["\u{1F91F}","love you"],["\u{1F918}","rock"],["\u{1F44F}","clap applause"],["\u{1F64C}","raise hands hooray"],["\u{1F450}","open hands"],["\u{1F91D}","handshake deal"],["\u{1F64F}","thanks please pray"],["\u{1F4AA}","strong muscle"],["\u{1F440}","eyes looking"],["\u{1FAF6}","heart hands"],["\u270D\uFE0F","writing"],["\u{1F44B}","wave hi bye"],["\u261D\uFE0F","point up"],["\u{1F447}","point down"],["\u{1F449}","point right"],["\u{1F448}","point left"],["\u{1F919}","call me"],["\u{1F590}\uFE0F","stop hand"],["\u{1F90C}","pinched"]]],["Marks",[["\u2764\uFE0F","heart love red"],["\u{1F9E1}","orange heart"],["\u{1F49B}","yellow heart"],["\u{1F49A}","green heart"],["\u{1F499}","blue heart"],["\u{1F49C}","purple heart"],["\u{1F5A4}","black heart"],["\u{1F4AF}","hundred perfect"],["\u2705","done check yes"],["\u2611\uFE0F","checked box"],["\u2714\uFE0F","check mark"],["\u274C","no cross wrong"],["\u2757","important exclamation"],["\u2753","question"],["\u26A0\uFE0F","warning"],["\u{1F525}","fire hot lit"],["\u2B50","star"],["\u2728","sparkles new"],["\u{1F4A1}","idea"],["\u{1F4CC}","pin"],["\u{1F680}","rocket ship launch"],["\u{1F3AF}","target goal"],["\u{1F197}","ok button"],["\u{1F195}","new"],["\u{1F534}","red circle urgent"],["\u{1F7E2}","green circle"],["\u{1F7E1}","yellow circle"],["\u2795","plus one add"]]],["Work",[["\u{1F389}","party tada celebrate"],["\u{1F38A}","confetti"],["\u{1F3C6}","trophy win"],["\u{1F947}","gold medal first"],["\u{1F381}","gift"],["\u2615","coffee"],["\u{1F37B}","cheers beer"],["\u{1F355}","pizza"],["\u{1F4C8}","chart up growth"],["\u{1F4C9}","chart down"],["\u{1F4B0}","money"],["\u{1F6D2}","cart shop"],["\u{1F4E6}","package order shipping"],["\u{1F9FE}","receipt invoice"],["\u{1F4DD}","note memo"],["\u{1F4C5}","calendar date"],["\u23F0","alarm time"],["\u23F3","waiting hourglass"],["\u{1F527}","fix wrench"],["\u{1F41B}","bug"],["\u{1F9EA}","test"],["\u{1F50D}","search look"],["\u{1F4AC}","comment chat"],["\u{1F4DE}","call phone"],["\u{1F4E7}","email"],["\u{1F512}","lock private"],["\u{1F517}","link"],["\u{1F5BC}\uFE0F","image picture"],["\u{1F4BB}","laptop computer"],["\u{1F4F1}","phone mobile"],["\u{1F648}","see no evil oops"],["\u{1F649}","hear no evil"],["\u{1F916}","robot bot ai"],["\u{1F9E0}","brain"],["\u{1F451}","crown vip"],["\u{1F48E}","gem diamond"]]]],R={channels:"Channels",conversation:"Conversation",back:"Back to channels",members:"Members",hideMembers:"Hide members",showMembers:"Show members",thread:"Thread",closeThread:"Close thread",replies:function(e){return e===1?"1 reply":e+" replies"},newMessages:"New messages",edited:"(edited)",someone:"Someone who has left",actionsFor:function(e){return"Actions for the message from "+e},react:function(e,t,n){return(n?"Remove":"Add")+" "+e+" on the message from "+t},moreReactions:function(e){return"More reactions for the message from "+e},reply:"Reply",replyTo:function(e){return"Reply to the message from "+e},replyInThread:"Reply in thread",replyInThreadTo:function(e){return"Reply in thread to the message from "+e},openThread:function(e,t){return"Open the thread, "+(e===1?"1 reply":e+" replies")+(t?", "+t:"")},jump:"Jump to the latest message",jumpNew:function(e){return"Jump to the latest message, "+e+" new"},message:"Message",send:"Send",attach:"Attach a file",stopReplying:"Stop replying",privateChannel:"private channel",directMessage:"direct message",mentioningYou:function(e){return e+" mentioning you"},unread:function(e){return e+" unread"},online:"Online",away:"Away",offline:"Offline"},E=Object.prototype.hasOwnProperty;function S(e){if(!e)return R;var t={},n;for(n in R)t[n]=R[n];for(n in e)E.call(e,n)&&(t[n]=e[n]);return t}var L=function(e){return typeof Node<"u"&&e instanceof Node},C=function(){return[].filter.call(arguments,Boolean).join(" ")};function i(e,t,n){var a=document.createElement(e),r;for(r in t)t[r]!==void 0&&t[r]!==null&&t[r]!==!1&&a.setAttribute(r,String(t[r]));return A(a,n)}function A(e,t){if(t==null||typeof t=="boolean"||t==="")return e;if(Array.isArray(t)){for(var n=0;n<t.length;n++)A(e,t[n]);return e}return e.appendChild(L(t)?t:document.createTextNode(String(t))),e}var ue=function(e){return e==null?void 0:String(e)},m=function(e,t){return t&&e.addEventListener("click",t),e},G=0;function _(e,t){var n=Number(t)||20,a=document.createElement("template");return a.innerHTML='<svg viewBox="0 0 20 20" width="'+n+'" height="'+n+'" aria-hidden="true" focusable="false"><g fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">'+(E.call(H,e)?H[e]:"")+"</g></svg>",a.content.firstChild}function x(e,t){var n=document.createElementNS("http://www.w3.org/2000/svg",e);for(var a in t)n.setAttribute(a,t[a]);return n}var de=function(){try{return new RegExp("^\\p{L}","u")}catch{return/^[A-Za-zÀ-ɏͰ-ϿЀ-ӿ]/}}();function z(e){var t=String(e).trim().split(/\s+/).filter(Boolean),n=t.filter(function(r){return de.test(r)}),a=n.length?n:t;return a.length?(a.length===1?a[0].slice(0,2):a[0][0]+a[a.length-1][0]).toUpperCase():"?"}function V(e){var t=0,n=String(e),a,r,l;for(a=0;a<n.length;a++)r=n.charCodeAt(a),r>=55296&&r<=56319&&a+1<n.length&&(l=n.charCodeAt(a+1),l>=56320&&l<=57343&&(r=(r-55296)*1024+(l-56320)+65536,a++)),t=t*31+r>>>0;return t%8}var pe={24:"gb-avatar--24",32:"gb-avatar--32",40:"gb-avatar--40",56:"gb-avatar--56"};function I(e,t,n,a){return n=n===void 0?24:n,i("span",{class:C("gb-avatar",pe[n],a),"data-tone":V(e),"aria-hidden":"true"},t?i("img",{class:"gb-avatar-img",src:t,alt:"",loading:"lazy",width:n,height:n}):z(e))}var T={},P=[];D.forEach(function(e){e[1].forEach(function(t){T[t[0]]=t[1],P.push(t[0])})});var Q=function(e){return typeof e=="string"&&E.call(T,e)},O=function(e){return E.call(T,e)?T[e]:""};function X(e){var t=String(e).trim().toLowerCase();return t?P.filter(function(n){return T[n].indexOf(t)>-1}):P.slice()}function Z(e){return e.length>2?e.slice(0,2).join(", ")+" +"+(e.length-2):e.join(", ")}var $="gemboss-ui:reactions-recent",U=9;function ee(e){var t=[];return e.concat(Y).forEach(function(n){Q(n)&&t.indexOf(n)<0&&t.length<U&&t.push(n)}),t}function te(){try{var e=JSON.parse(v.localStorage&&v.localStorage.getItem($)||"[]");return Array.isArray(e)?e.filter(function(t){return typeof t=="string"&&O(t)!==""}).slice(0,U):[]}catch{return[]}}function fe(e){try{var t=[e].concat(te().filter(function(n){return n!==e})).slice(0,U);v.localStorage&&v.localStorage.setItem($,JSON.stringify(t))}catch{}}var q=function(e,t){return e.some(function(n){return n.emoji===t&&n.mine})};function B(e){var t=e.items||[],n=ee(te()),a=function(c){var d=q(t,c);return m(i("button",{type:"button",class:"ui-reaction-picker__btn",title:O(c).split(" ")[0]||c,"aria-label":((d?"Remove":"Add")+" "+c+" "+O(c)).trim(),"aria-pressed":String(d)},c),function(){e.onPick(c)})},r=function(c){return i("div",{class:"ui-reaction-picker__grid"},c.map(a))},l=function(c){return i("p",{class:"ui-reaction-picker__head"},c)},u=i("input",{type:"search",class:"gemboss-field ui-reaction-picker__search",placeholder:"Search emoji","aria-label":"Search emoji",autocomplete:"off",value:""}),o=i("div",{class:"ui-reaction-picker__body"}),g=function(){var c=u.value,d=c.trim()?X(c):null,s=[];d?s.push(d.length?r(d):i("p",{class:"ui-reaction-picker__empty"},"No emoji matches.")):(s.push(l("Frequently used"),r(n)),D.forEach(function(b){s.push(l(b[0]),r(b[1].map(function(y){return y[0]})))})),o.replaceChildren.apply(o,s)},h=i("div",{id:e.id,class:"ui-reaction-picker",role:"group","aria-label":"Pick a reaction"},[u,o]);return u.addEventListener("input",g),h.addEventListener("keydown",function(c){if(c.key==="Escape"){c.preventDefault(),c.stopPropagation(),e.onClose();return}var d=[].slice.call(o.querySelectorAll(".ui-reaction-picker__btn"));if(c.target===u){c.key==="Enter"&&(c.preventDefault(),d[0]&&d[0].click()),c.key==="ArrowDown"&&(c.preventDefault(),d[0]&&d[0].focus());return}var s=d.indexOf(document.activeElement);if(!(s<0)){var b=o.querySelector(".ui-reaction-picker__grid"),y=Math.max(1,Math.round((b?b.getBoundingClientRect().width:44)/44)),p={ArrowRight:1,ArrowLeft:-1,ArrowDown:y,ArrowUp:-y}[c.key];if(p){if(c.preventDefault(),s+p<0){u.focus();return}d[Math.min(d.length-1,s+p)]&&d[Math.min(d.length-1,s+p)].focus()}}}),g(),h}function ne(e){var t=e.items||[],n=e.target===void 0?"this":e.target,a=e.canReact===void 0?!0:e.canReact;if(!t.length&&!a)return null;var r=!1,l=null,u="gb-tc-rp"+ ++G,o=null,g=function(s){if(!a){e.onSignIn&&e.onSignIn();return}q(t,s)||fe(s),e.onToggle&&e.onToggle(s)},h=i("div",{class:"ui-reactions__row"},t.map(function(s){return m(i("button",{type:"button",class:"ui-reaction"+(s.mine?" is-mine":""),"aria-pressed":ue(s.mine),title:s.names.join(", "),"aria-label":s.emoji+", "+s.names.join(", ")+". "+(s.mine?"Remove yours":"Add yours")},[i("span",{class:"ui-reaction__emoji"},s.emoji),i("span",{class:"ui-reaction__names"},Z(s.names))]),function(){g(s.emoji)})})),c=i("div",{class:C("ui-reactions",e.className)},h),d=function(s,b){r=s,o.setAttribute("aria-expanded",String(r)),r?(o.setAttribute("aria-controls",u),l=B({id:u,items:t,onPick:function(y){d(!1,!0),g(y),o.focus()},onClose:function(){d(!1,!0),o.focus()}}),c.appendChild(l),b&&l.firstChild.focus()):(o.removeAttribute("aria-controls"),l&&l.remove(),l=null),b&&e.onOpenChange&&e.onOpenChange(r)};return a&&(o=i("button",{type:"button",class:"ui-reaction-add",title:"Add reaction","aria-label":"Add a reaction to "+n,"aria-expanded":"false"},_("reaction",18)),h.appendChild(m(o,function(){d(!r,!0)})),e.open&&d(!0,!1)),c}function he(e){var t=e.read,n=e.of;if(n<=0)return null;var a=t>=n,r=Math.min(t,n)/n*Math.PI*2,l=x("svg",{viewBox:"0 0 14 14",width:"14",height:"14","aria-hidden":"true",focusable:"false"});return l.appendChild(x("circle",{cx:"7",cy:"7",r:"6",fill:a?"currentColor":"none",stroke:"currentColor","stroke-width":"1.4"})),a?l.appendChild(x("path",{class:"gb-tc-receipt__tick",d:"M4.2 7.2l1.9 1.9 3.7-4",fill:"none","stroke-width":"1.6","stroke-linecap":"round","stroke-linejoin":"round"})):t>0&&l.appendChild(x("path",{d:"M7 7 L7 1 A6 6 0 "+(r>Math.PI?1:0)+" 1 "+(7+6*Math.sin(r)).toFixed(2)+" "+(7-6*Math.cos(r)).toFixed(2)+" Z",fill:"currentColor"})),i("span",{class:C("gb-tc-receipt",a&&"gb-tc-receipt--all"),role:"img","aria-label":e.label,title:e.label},l)}function ge(e){var t={ArrowRight:1,ArrowLeft:-1}[e.key],n=[].slice.call(e.currentTarget.querySelectorAll("button:not([disabled]), summary, a[href]")).filter(function(l){return l.offsetParent!==null}),a=n.indexOf(document.activeElement);if(!(a<0)){var r=t?n[(a+t+n.length)%n.length]:e.key==="Home"?n[0]:e.key==="End"?n[n.length-1]:null;r&&(e.preventDefault(),r.focus())}}function me(e){var t=S(e.labels),n=e.author||t.someone,a=e.reactions||[],r=e.editor!=null,l=!!(e.picking&&e.onReact),u=null,o=null,g=!1,h=function(){var f=e.time;return L(f)&&g?f.cloneNode(!0):(g=!0,f)},c=function(){return C("gb-tc-msg",e.grouped&&"gb-tc-msg--grouped",e.mentionsMe&&"gb-tc-msg--mention",e.highlight&&"gb-tc-msg--highlight",e.sending&&"gb-tc-msg--sending",e.failed&&"gb-tc-msg--failed",l&&"gb-tc-msg--active",r&&"gb-tc-msg--editing",e.className)},d=i("li",{id:e.id,class:c(),"data-msg-id":e.messageId,tabindex:"-1"},e.grouped?i("time",{class:"gb-tc-msg__hover-time",datetime:e.dateTime},h()):e.avatar!=null?e.avatar:I(n,e.avatarSrc,32,"gb-tc-msg__av")),s=i("div",{class:"gb-tc-msg__main"});e.replyTo&&s.appendChild(m(i("button",{type:"button",class:"gb-tc-quote","aria-busy":e.replyTo.busy||void 0},[i("span",{class:"gb-tc-quote__who"},e.replyTo.author||t.someone),i("span",{class:"gb-tc-quote__text"},e.replyTo.excerpt)]),e.replyTo.onOpen)),s.appendChild(e.grouped?i("span",{class:"gb-tc-sr"},[n,", ",h(),": "]):i("div",{class:"gb-tc-msg__who"},[i("span",{class:"gb-tc-msg__name"},n),e.badges,i("time",{class:"gb-tc-msg__time",datetime:e.dateTime},h())])),r?s.appendChild(i("div",{class:"gb-tc-msg__editor"},e.editor)):(e.body!=null||e.edited||e.receipt)&&s.appendChild(i("div",{class:"gb-tc-msg__body"},[e.body,e.edited?i("span",{class:"gb-tc-msg__edited"},t.edited):null,e.receipt])),e.status&&s.appendChild(i("p",{class:"gb-tc-msg__status",role:e.failed?"alert":void 0},e.status)),e.attachments&&s.appendChild(i("div",{class:"gb-tc-msg__files"},e.attachments)),e.extra&&s.appendChild(i("div",{class:"gb-tc-msg__extra"},e.extra));var b=function(f,w){e.onPickingChange&&e.onPickingChange(f,w)},y=a.length?ne({items:a,onToggle:e.onReact,canReact:!!e.onReact,target:"the message from "+n,open:e.reactionsPicking,onOpenChange:function(f){b("reactions",f)}}):null,p=e.thread,K=null;p&&p.count>0&&(K=m(i("button",{type:"button",class:"gb-tc-threadprev","aria-label":t.openThread(p.count,p.last==null?"":p.last)},[p.repliers&&p.repliers.length?i("span",{class:"gb-tc-threadprev__faces","aria-hidden":"true"},p.repliers.slice(0,3).map(function(f){return I(f.name,f.src,24)})):null,i("span",{class:"gb-tc-threadprev__count"},t.replies(p.count)),p.last?i("span",{class:"gb-tc-threadprev__last"},p.last):null]),p.onOpen)),A(s,[y,K]),d.appendChild(s);var N=function(f,w){l=f,d.className=c(),o&&o.setAttribute("aria-expanded",String(l)),l?(u=B({items:a,onPick:function(Me){N(!1,!0),e.onReact(Me),o.focus()},onClose:function(){N(!1,!0),o.focus()}}),s.insertBefore(u,y||K),w&&u.firstChild.focus()):u&&(u.remove(),u=null),w&&b("bar",l)};if(!r&&!e.sending&&(e.onReact||e.onReply||e.onOpenThread||e.moreActions)){var k=i("div",{class:"gb-tc-acts",role:"toolbar","aria-label":t.actionsFor(n)});e.onReact&&(W.forEach(function(f){var w=q(a,f);k.appendChild(m(i("button",{type:"button",class:"gb-tc-act gb-tc-act--quick","aria-pressed":String(w),"aria-label":t.react(f,n,w)},f),function(){e.onReact(f)}))}),o=i("button",{type:"button",class:"gb-tc-act","aria-expanded":String(l),"aria-label":t.moreReactions(n),title:"Add reaction"},_("reaction",18)),k.appendChild(m(o,function(){N(!l,!0)}))),e.onReply&&k.appendChild(m(i("button",{type:"button",class:"gb-tc-act","aria-label":t.replyTo(n),title:t.reply},_("reply",18)),e.onReply)),e.onOpenThread&&k.appendChild(m(i("button",{type:"button",class:"gb-tc-act","aria-label":t.replyInThreadTo(n),title:t.replyInThread},_("thread",18)),e.onOpenThread)),A(k,e.moreActions),k.addEventListener("keydown",ge),d.appendChild(k)}return l&&N(!0,!1),d}function be(e,t){return i("li",{class:"gb-tc-day"},t?i("time",{class:"gb-tc-day__label",datetime:t},e):i("span",{class:"gb-tc-day__label"},e))}function ve(e){var t=S(e);return i("li",{class:"gb-tc-new"},i("span",{class:"gb-tc-new__label",role:"separator","aria-label":t.newMessages},t.newMessages))}function ye(e){return e=e||{},ae(m(i("button",{type:"button",class:"gb-tc-jump"},_("chevronsDown",20)),e.onJump),e)}function ae(e,t){t=t||{};var n=S(t.labels),a=t.count===void 0?0:t.count,r=e.querySelector(".gb-tc-jump__n");return t.visible===void 0||t.visible?e.removeAttribute("hidden"):e.setAttribute("hidden",""),e.setAttribute("aria-label",a?n.jumpNew(a):n.jump),a?(r||(r=e.appendChild(i("span",{class:"gb-tc-jump__n","aria-hidden":"true"}))),r.textContent=a>99?"99+":String(a),e):(r&&r.remove(),e)}var _e={channel:"hash",private:"lock",dm:"user"},re={online:"gb-tc-presence gb-tc-presence--online",away:"gb-tc-presence gb-tc-presence--away",offline:"gb-tc-presence gb-tc-presence--offline"};function ie(e){var t=S(e.labels),n=e.kind===void 0?"channel":e.kind,a=e.unread===void 0?0:e.unread,r=e.mentions===void 0?0:e.mentions,l=[e.name,n==="private"?t.privateChannel:n==="dm"?t.directMessage:null,r?t.mentioningYou(r):null,a?t.unread(a):null].filter(Boolean).join(", "),u=[i("span",{class:"gb-tc-channel__glyph","aria-hidden":"true"},[_(_e[n],16),n==="dm"&&e.online!==void 0?i("span",{class:re[e.online?"online":"offline"]}):null]),i("span",{class:"gb-tc-channel__name"},e.name),r?i("span",{class:"gb-tc-badge gb-tc-badge--mention","aria-hidden":"true"},"@"+r):null,a?i("span",{class:"gb-tc-badge","aria-hidden":"true"},a):null],o=C("gb-tc-channel",a>0&&"gb-tc-channel--unread");return i("li",null,m(e.href!==void 0?i("a",{class:o,href:e.href,"aria-current":e.active?"page":void 0,"aria-label":l},u):i("button",{type:"button",class:o,"aria-current":e.active?"true":void 0,"aria-label":l},u),e.onOpen))}function le(e,t,n,a){var r=(e.id==null?"gb-tc-s"+ ++G:e.id)+"-h";return i("div",{class:t[0],role:"group","aria-labelledby":r},[i("h3",{class:t[1],id:r},n),i("ul",{class:t[2]},(e.items||[]).map(function(l){return l&&!L(l)?a(l):l}))])}function ke(e){return le(e,["gb-tc-rail__section","gb-tc-rail__heading","gb-tc-rail__list"],e.label,ie)}function we(e){return le(e,["gb-tc-people__section","gb-tc-people__heading","gb-tc-people__list"],[e.label,e.count!==void 0?" \u2014 "+e.count:null],ce)}function ce(e){var t=S(e.labels),n=[i("span",{class:"gb-tc-person__av"},[e.avatar!=null?e.avatar:I(e.name,e.src,32),e.presence?i("span",{class:re[e.presence]},i("span",{class:"gb-tc-sr"},t[e.presence])):null]),i("span",{class:"gb-tc-person__text"},[i("span",{class:"gb-tc-person__name"},e.name),e.subtitle?i("span",{class:"gb-tc-person__sub"},e.subtitle):null]),e.role?i("span",{class:"gb-tc-person__role"},e.role):null],a=C("gb-tc-person",e.presence==="offline"&&"gb-tc-person--offline");return i("li",null,m(e.href!==void 0?i("a",{class:a,href:e.href,title:e.name},n):e.onSelect?i("button",{type:"button",class:a,title:e.name},n):i("div",{class:a,title:e.name},n),e.onSelect))}var F=function(e){return e instanceof Date?e:new Date(e)},se={};function J(e,t){var n=F(e),a,r,l,u;if(t){if(a=se[t],a===void 0){try{a=new Intl.DateTimeFormat("en-US",{timeZone:t,year:"numeric",month:"numeric",day:"numeric"})}catch{a=null}se[t]=a}if(a&&!isNaN(n.getTime())){for(r={},l=a.formatToParts(n),u=0;u<l.length;u++)l[u].type!=="literal"&&(r[l[u].type]=Number(l[u].value));return[r.year,r.month,r.day]}}return[n.getFullYear(),n.getMonth()+1,n.getDate()]}function M(e,t){var n=J(e,t);return n[0]+"-"+n[1]+"-"+n[2]}function Ce(e,t){var n=J(e,t),a=function(r){return(r<10?"0":"")+r};return n[0]+"-"+a(n[1])+"-"+a(n[2])}function Se(e,t,n){t=t===void 0?new Date:t;var a=M(e,n),r=J(t,n),l;return a===r[0]+"-"+r[1]+"-"+r[2]?"Today":(l=new Date(Date.UTC(r[0],r[1]-1,r[2]-1)),a===l.getUTCFullYear()+"-"+(l.getUTCMonth()+1)+"-"+l.getUTCDate()?"Yesterday":null)}function Te(e,t){t=t||{};var n=t.groupWithinMs==null?5*60*1e3:t.groupWithinMs,a=-1,r=[],l,u=t.timeZone;if(t.isUnread){for(l=0;l<e.length;l++)if(t.isUnread(e[l])&&(t.meId==null||e[l].authorId!==t.meId)){a=l;break}}return e.forEach(function(o,g){var h=g>0?e[g-1]:void 0,c=F(o.at),d=!h||M(h.at,u)!==M(c,u);d&&r.push({kind:"day",key:M(c,u),date:c}),g===a&&r.push({kind:"new"}),r.push({kind:"message",message:o,grouped:!!(h&&!d&&g!==a&&o.authorId!=null&&h.authorId===o.authorId&&o.replyToId==null&&c.getTime()-F(h.at).getTime()<n)})}),r}j.teamChat={message:me,readReceipt:he,daySeparator:be,newMessagesLine:ve,jumpToLatest:ye,updateJump:ae,channelSection:ke,channelItem:ie,peopleSection:we,personRow:ce,reactions:ne,reactionPicker:B,avatar:function(e){return I(e.name,e.src,e.size,e.className)},icon:_,rows:Te,dayKey:M,dayISO:Ce,dayWord:Se,LABELS:R,initialsOf:z,avatarTone:V,isReactionEmoji:Q,reactionWords:O,searchReactions:X,reactionLabel:Z,frequentReactions:ee,QUICK_REACTIONS:W,SUGGESTED_REACTIONS:Y,REACTION_GROUPS:D};function oe(){!j.openModal&&v.console&&document.querySelector('script[src*="kit-plain"]')&&v.console.error("@gemboss/ui team-chat-plain.js: load it after kit-plain.js (kit-plain.js defines nothing when gembossUI exists)")}v.document&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",oe,{once:!0}):oe())})(typeof globalThis<"u"?globalThis:this);
|