@gamention/pulse-elements 0.1.9 â 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/pulse-elements.cjs
CHANGED
|
@@ -1363,7 +1363,7 @@
|
|
|
1363
1363
|
</div>
|
|
1364
1364
|
`;const o=t.querySelector("input"),r=t.querySelector(".reply-send"),l=t.querySelector(".reply-attachments-preview");this.upload||(this.upload=new Q(this.client));const a=[],c=d=>{const u=document.createElement("span");Object.assign(u.style,{display:"inline-block",padding:"2px 8px",borderRadius:"4px",background:"#f1f5f9",fontSize:"10px",color:"#64748b"}),u.textContent=d,l.appendChild(u)};t.querySelector(".reply-attach-img").addEventListener("click",async()=>{const d=await this.upload.pickFile("image/*");d&&(a.push(d.id),c("đ Image"))}),t.querySelector(".reply-attach-mic").addEventListener("click",async()=>{this.audioRecorder||(this.audioRecorder=new _e);const d=await this.audioRecorder.startRecording(t);if(d){const u=await this.upload.uploadBlob(d,"audio.webm");u&&(a.push(u.id),c("đ¤ Audio"))}}),t.querySelector(".reply-attach-video").addEventListener("click",async()=>{this.videoRecorder||(this.videoRecorder=new Te);const d=await this.videoRecorder.startRecording(t);if(d){const u=await this.upload.uploadBlob(d.blob,"video.webm");u&&(a.push(u.id),c("đĨ Video"))}});const p=()=>{const d=o.value.trim();if(!d&&a.length===0)return;const u=[...(d||"").matchAll(/@(\w+)/g)].map(f=>f[1]);this.client.reply(e.id,d||"(attachment)",u,a.length>0?[...a]:void 0),o.value="",a.length=0,l.innerHTML=""};r.addEventListener("click",p),o.addEventListener("input",()=>{const d=Date.now(),u=this.lastTypingSendPins.get(e.id)??0;d-u>=2e3&&(this.client.sendTyping(e.id),this.lastTypingSendPins.set(e.id,d))}),o.addEventListener("keydown",d=>{d.key==="Enter"&&(d.preventDefault(),p()),d.key==="Escape"&&this.closePopover(),d.stopPropagation()}),this.popover.appendChild(t)}removePickerEl(){var e;(e=this.pickerEl)==null||e.remove(),this.pickerEl=null}showPickerForButton(e,t){this.removePickerEl();const i=e.getBoundingClientRect();this.pickerEl=document.createElement("div"),Object.assign(this.pickerEl.style,{position:"fixed",left:`${i.left}px`,top:`${i.top-4}px`,transform:"translateY(-100%)",display:"flex",gap:"2px",padding:"4px 6px",background:"#fff",border:"1px solid #e2e8f0",borderRadius:"8px",boxShadow:"0 4px 24px rgba(0,0,0,0.12)",zIndex:"10002",fontFamily:de});for(const s of Bi){const o=document.createElement("button");Object.assign(o.style,{border:"none",background:"none",cursor:"pointer",fontSize:"16px",padding:"4px",borderRadius:"4px",lineHeight:"1"}),o.textContent=s,o.addEventListener("click",r=>{r.stopPropagation();const a=this.client.state.getReactions(t).find(c=>{var p;return c.emoji===s&&c.userId===((p=this.client.state.user)==null?void 0:p.id)});a?this.client.removeReaction(a.id):this.client.addReaction(t,"comment",s),this.popoverPickerOpen=null,this.removePickerEl()}),this.pickerEl.appendChild(o)}document.body.appendChild(this.pickerEl)}buildReactionPillsHtml(e){var a;const t=this.client.state.getReactions(e),i=(a=this.client.state.user)==null?void 0:a.id,s=new Map;for(const c of t){const p=s.get(c.emoji)??{count:0,ownId:null};p.count++,c.userId===i&&(p.ownId=c.id),s.set(c.emoji,p)}const o="display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;font-size:12px;cursor:pointer;transition:all 0.15s;line-height:1.4;",r=o+"background:#eef2ff;border-color:#6366f1;";let l='<div style="margin-left:29px;display:flex;gap:4px;flex-wrap:wrap;margin-top:4px;">';for(const[c,{count:p,ownId:d}]of s){const u=d?r:o;l+=`<button data-reaction-emoji="${c}" data-reaction-target="${e}" ${d?`data-reaction-id="${d}"`:""} style="${u}">
|
|
1365
1365
|
<span>${c}</span><span style="font-size:11px;font-weight:600;color:#64748b;">${p}</span>
|
|
1366
|
-
</button>`}return l+=`<button class="popover-reaction-add" data-comment-id="${e}" style="display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px dashed #e2e8f0;background:none;cursor:pointer;color:#94a3b8;font-size:14px;">+</button>`,l+="</div>",l}updatePopoverTyping(e){if(!this.popover)return;let t=this.popover.querySelector(".popover-typing");if(!t){t=document.createElement("div"),t.className="popover-typing",Object.assign(t.style,{padding:"0 14px 4px",fontSize:"11px",color:"#94a3b8",fontStyle:"italic",minHeight:"16px"});const s=this.popover.lastElementChild;s&&this.popover.insertBefore(t,s)}const i=this.client.state.getTypingUsers(e).filter(s=>{var o;return s!==((o=this.client.state.user)==null?void 0:o.id)}).map(s=>{const o=this.client.state.presence.find(r=>r.user.id===s);return(o==null?void 0:o.user.name)??"Someone"});i.length===0?t.textContent="":i.length===1?t.textContent=`${i[0]} is typing...`:t.textContent=`${i.join(", ")} are typing...`}formatTime(e){const t=new Date(e),s=new Date().getTime()-t.getTime(),o=Math.floor(s/6e4);if(o<1)return"now";if(o<60)return`${o}m`;const r=Math.floor(o/60);return r<24?`${r}h`:t.toLocaleDateString()}resolvePosition(e){if(e.selector&&e.elementOffsetX!=null&&e.elementOffsetY!=null)try{const t=document.querySelector(e.selector);if(t){const i=t.getBoundingClientRect();return{x:i.left+e.elementOffsetX*i.width,y:i.top+e.elementOffsetY*i.height}}}catch{}return{x:e.x*window.innerWidth,y:e.y*window.innerHeight}}renderPins(){if(!this.container)return;const e=this.threads.filter(i=>i.position&&!i.resolved),t=new Set(e.map(i=>i.id));for(const[i,s]of this.pinEls)t.has(i)||(s.remove(),this.pinEls.delete(i));e.forEach((i,s)=>{const o=i.position;let r=this.pinEls.get(i.id);r||(r=document.createElement("div"),Object.assign(r.style,{position:"fixed",width:"24px",height:"24px",borderRadius:"50%",background:"#6366f1",color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"11px",fontWeight:"700",fontFamily:de,cursor:"pointer",pointerEvents:"auto",boxShadow:"0 2px 8px rgba(99,102,241,0.4)",border:"2px solid #fff",transition:"left 0.15s ease, top 0.15s ease, transform 0.15s ease",zIndex:"9997",transform:"translate(-50%, -50%)"}),r.addEventListener("mouseenter",()=>{r.style.transform="translate(-50%, -50%) scale(1.15)"}),r.addEventListener("mouseleave",()=>{r.style.transform="translate(-50%, -50%)"}),r.addEventListener("click",()=>{if(this.popover&&this.popover.dataset.threadId===i.id){this.closePopover();return}const a=this.threads.find(c=>c.id===i.id);a&&this.showThreadPopover(a,r)}),this.container.appendChild(r),this.pinEls.set(i.id,r)),r.textContent=`${s+1}`;const l=this.resolvePosition(o);r.style.left=`${l.x}px`,r.style.top=`${l.y}px`})}}var Vi=Object.defineProperty,Xi=Object.getOwnPropertyDescriptor,L=(n,e,t,i)=>{for(var s=i>1?void 0:i?Xi(e,t):e,o=n.length-1,r;o>=0;o--)(r=n[o])&&(s=(i?r(e,t,s):r(s))||s);return i&&s&&Vi(e,t,s),s};const Yi=["đ","đ","â¤ī¸","đ","đ","đ"];let M=class extends _{constructor(){super(...arguments),this.highlightThreadId=null,this.
|
|
1366
|
+
</button>`}return l+=`<button class="popover-reaction-add" data-comment-id="${e}" style="display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px dashed #e2e8f0;background:none;cursor:pointer;color:#94a3b8;font-size:14px;">+</button>`,l+="</div>",l}updatePopoverTyping(e){if(!this.popover)return;let t=this.popover.querySelector(".popover-typing");if(!t){t=document.createElement("div"),t.className="popover-typing",Object.assign(t.style,{padding:"0 14px 4px",fontSize:"11px",color:"#94a3b8",fontStyle:"italic",minHeight:"16px"});const s=this.popover.lastElementChild;s&&this.popover.insertBefore(t,s)}const i=this.client.state.getTypingUsers(e).filter(s=>{var o;return s!==((o=this.client.state.user)==null?void 0:o.id)}).map(s=>{const o=this.client.state.presence.find(r=>r.user.id===s);return(o==null?void 0:o.user.name)??"Someone"});i.length===0?t.textContent="":i.length===1?t.textContent=`${i[0]} is typing...`:t.textContent=`${i.join(", ")} are typing...`}formatTime(e){const t=new Date(e),s=new Date().getTime()-t.getTime(),o=Math.floor(s/6e4);if(o<1)return"now";if(o<60)return`${o}m`;const r=Math.floor(o/60);return r<24?`${r}h`:t.toLocaleDateString()}resolvePosition(e){if(e.selector&&e.elementOffsetX!=null&&e.elementOffsetY!=null)try{const t=document.querySelector(e.selector);if(t){const i=t.getBoundingClientRect();return{x:i.left+e.elementOffsetX*i.width,y:i.top+e.elementOffsetY*i.height}}}catch{}return{x:e.x*window.innerWidth,y:e.y*window.innerHeight}}renderPins(){if(!this.container)return;const e=this.threads.filter(i=>i.position&&!i.resolved),t=new Set(e.map(i=>i.id));for(const[i,s]of this.pinEls)t.has(i)||(s.remove(),this.pinEls.delete(i));e.forEach((i,s)=>{const o=i.position;let r=this.pinEls.get(i.id);r||(r=document.createElement("div"),Object.assign(r.style,{position:"fixed",width:"24px",height:"24px",borderRadius:"50%",background:"#6366f1",color:"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"11px",fontWeight:"700",fontFamily:de,cursor:"pointer",pointerEvents:"auto",boxShadow:"0 2px 8px rgba(99,102,241,0.4)",border:"2px solid #fff",transition:"left 0.15s ease, top 0.15s ease, transform 0.15s ease",zIndex:"9997",transform:"translate(-50%, -50%)"}),r.addEventListener("mouseenter",()=>{r.style.transform="translate(-50%, -50%) scale(1.15)"}),r.addEventListener("mouseleave",()=>{r.style.transform="translate(-50%, -50%)"}),r.addEventListener("click",()=>{if(this.popover&&this.popover.dataset.threadId===i.id){this.closePopover();return}const a=this.threads.find(c=>c.id===i.id);a&&this.showThreadPopover(a,r)}),this.container.appendChild(r),this.pinEls.set(i.id,r)),r.textContent=`${s+1}`;const l=this.resolvePosition(o);r.style.left=`${l.x}px`,r.style.top=`${l.y}px`})}}var Vi=Object.defineProperty,Xi=Object.getOwnPropertyDescriptor,L=(n,e,t,i)=>{for(var s=i>1?void 0:i?Xi(e,t):e,o=n.length-1,r;o>=0;o--)(r=n[o])&&(s=(i?r(e,t,s):r(s))||s);return i&&s&&Vi(e,t,s),s};const Yi=["đ","đ","â¤ī¸","đ","đ","đ"];let M=class extends _{constructor(){super(...arguments),this.highlightThreadId=null,this.threadsVersion=0,this.replyingTo=null,this.editingCommentId=null,this.editBody="",this.pickerOpenForComment=null,this.typingByThread=new Map,this.reactionsVersion=0,this.typingTimers=new Map,this.lastTypingSend=new Map,this.replyAttachmentIds=[]}get threads(){return this.threadsVersion,this.client?[...this.client.state.threads]:[]}connectedCallback(){super.connectedCallback(),this.ensureListener()}disconnectedCallback(){super.disconnectedCallback(),this.teardownListeners()}willUpdate(n){this.client&&!this.unsub&&this.ensureListener()}updated(n){var e,t;(e=this.shadowRoot)==null||e.querySelectorAll(".audio-player-host").forEach(i=>{if(i.children.length>0)return;const s=i.dataset.url;if(s){const o=i.dataset.duration?parseInt(i.dataset.duration):void 0;i.appendChild(Pe.render(s,o))}}),(t=this.shadowRoot)==null||t.querySelectorAll(".video-player-host").forEach(i=>{if(i.children.length>0)return;const s=i.dataset.url;s&&i.appendChild(yt.render(s,i.dataset.poster||void 0))})}teardownListeners(){var n,e,t;(n=this.unsub)==null||n.call(this),this.unsub=void 0,(e=this.reactionUnsub)==null||e.call(this),this.reactionUnsub=void 0,(t=this.typingUnsub)==null||t.call(this),this.typingUnsub=void 0;for(const i of this.typingTimers.values())clearTimeout(i);this.typingTimers.clear()}ensureListener(){this.client&&(this.teardownListeners(),this.threadsVersion++,this.setupListener())}setupListener(){this.client&&(this.unsub=this.client.state.on("threads",()=>{this.threadsVersion++}),this.reactionUnsub=this.client.state.on("reactions",()=>{this.reactionsVersion++}),this.typingUnsub=this.client.state.on("typing",({threadId:n})=>{this.refreshTyping(n)}))}refreshTyping(n){const t=this.client.state.getTypingUsers(n).filter(s=>{var o;return s!==((o=this.client.state.user)==null?void 0:o.id)}).map(s=>{const o=this.client.state.presence.find(r=>r.user.id===s);return(o==null?void 0:o.user.name)??"Someone"}),i=new Map(this.typingByThread);i.set(n,t),this.typingByThread=i,this.typingTimers.has(n)&&clearTimeout(this.typingTimers.get(n)),this.typingTimers.set(n,setTimeout(()=>{this.refreshTyping(n)},3500))}handleTypingInput(n){const e=Date.now(),t=this.lastTypingSend.get(n)??0;e-t>=2e3&&(this.client.sendTyping(n),this.lastTypingSend.set(n,e))}toggleReaction(n,e){var o;const t=this.client.state.getReactions(n),i=(o=this.client.state.user)==null?void 0:o.id,s=t.find(r=>r.emoji===e&&r.userId===i);s?this.client.removeReaction(s.id):this.client.addReaction(n,"comment",e),this.pickerOpenForComment=null}fireClose(){this.dispatchEvent(new CustomEvent("panel-close",{bubbles:!0,composed:!0}))}scrollToThread(n){this.updateComplete.then(()=>{var t;const e=(t=this.shadowRoot)==null?void 0:t.querySelector(`[data-thread-id="${n}"]`);e==null||e.scrollIntoView({behavior:"smooth",block:"center"})})}parseMentions(n){return n.split(/(@\w+)/g).map(t=>t.startsWith("@")?h`<span class="mention">${t}</span>`:t)}getInitials(n){return n.split(" ").map(e=>e[0]).join("").toUpperCase().slice(0,2)}getUserForComment(n){return this.client.state.getUser(n)}formatTime(n){const e=new Date(n),i=new Date().getTime()-e.getTime(),s=Math.floor(i/6e4);if(s<1)return"now";if(s<60)return`${s}m`;const o=Math.floor(s/60);return o<24?`${o}h`:e.toLocaleDateString()}async handleAttachImage(){this.upload||(this.upload=new Q(this.client));const n=await this.upload.pickFile("image/*");n&&(this.replyAttachmentIds.push(n.id),this.requestUpdate())}async handleRecordAudio(n){var i;this.upload||(this.upload=new Q(this.client)),this.audioRecorder||(this.audioRecorder=new _e);const e=(i=this.shadowRoot)==null?void 0:i.querySelector(`[data-thread-id="${n}"]`),t=await this.audioRecorder.startRecording(e??document.body);if(t){const s=await this.upload.uploadBlob(t,"audio.webm");s&&(this.replyAttachmentIds.push(s.id),this.requestUpdate())}}async handleRecordVideo(n){var i;this.upload||(this.upload=new Q(this.client)),this.videoRecorder||(this.videoRecorder=new Te);const e=(i=this.shadowRoot)==null?void 0:i.querySelector(`[data-thread-id="${n}"]`),t=await this.videoRecorder.startRecording(e??document.body);if(t){const s=await this.upload.uploadBlob(t.blob,"video.webm");s&&(this.replyAttachmentIds.push(s.id),this.requestUpdate())}}handleReply(n,e){e.preventDefault();const i=e.target.querySelector("input"),s=i.value.trim();if(!s&&this.replyAttachmentIds.length===0)return;const o=[...(s||"").matchAll(/@(\w+)/g)].map(r=>r[1]);this.client.reply(n,s||"(attachment)",o,this.replyAttachmentIds.length>0?[...this.replyAttachmentIds]:void 0),i.value="",this.replyAttachmentIds=[],this.replyingTo=null}isOwnComment(n){var e,t;return((t=(e=this.client)==null?void 0:e.state.user)==null?void 0:t.id)===n.userId}startEdit(n){this.editingCommentId=n.id,this.editBody=n.body}cancelEdit(){this.editingCommentId=null,this.editBody=""}saveEdit(n){const e=this.editBody.trim();if(!e)return;const t=[...e.matchAll(/@(\w+)/g)].map(i=>i[1]);this.client.editComment(n,e,t),this.editingCommentId=null,this.editBody=""}deleteComment(n){this.client.deleteComment(n)}renderEditForm(n){return h`
|
|
1367
1367
|
<div class="edit-form">
|
|
1368
1368
|
<textarea
|
|
1369
1369
|
.value=${this.editBody}
|
|
@@ -2048,7 +2048,7 @@
|
|
|
2048
2048
|
background: var(--pw-surface-hover);
|
|
2049
2049
|
color: var(--pw-text);
|
|
2050
2050
|
}
|
|
2051
|
-
`];L([g({attribute:!1})],M.prototype,"client",2);L([g()],M.prototype,"highlightThreadId",2);L([v()],M.prototype,"
|
|
2051
|
+
`];L([g({attribute:!1})],M.prototype,"client",2);L([g()],M.prototype,"highlightThreadId",2);L([v()],M.prototype,"threadsVersion",2);L([v()],M.prototype,"replyingTo",2);L([v()],M.prototype,"editingCommentId",2);L([v()],M.prototype,"editBody",2);L([v()],M.prototype,"pickerOpenForComment",2);L([v()],M.prototype,"typingByThread",2);L([v()],M.prototype,"reactionsVersion",2);M=L([O("pulse-widget-comments-panel")],M);var Ki=Object.defineProperty,Gi=Object.getOwnPropertyDescriptor,ze=(n,e,t,i)=>{for(var s=i>1?void 0:i?Gi(e,t):e,o=n.length-1,r;o>=0;o--)(r=n[o])&&(s=(i?r(e,t,s):r(s))||s);return i&&s&&Ki(e,t,s),s};const Zi={"comment:created":"left a comment","comment:mention":"mentioned you","comment:reply":"replied to your comment","thread:resolved":"resolved a thread","reaction:added":"reacted to your comment"},Ji={"comment:created":"đŦ","comment:mention":"đŖ","comment:reply":"âŠī¸","thread:resolved":"â
","reaction:added":"đ"};let se=class extends _{constructor(){super(...arguments),this.notifications=[]}connectedCallback(){super.connectedCallback(),this.setupListener()}disconnectedCallback(){var n;super.disconnectedCallback(),(n=this.unsub)==null||n.call(this)}updated(n){var e;n.has("client")&&this.client&&((e=this.unsub)==null||e.call(this),this.setupListener())}setupListener(){this.client&&(this.notifications=this.client.state.notifications,this.unsub=this.client.state.on("notifications",n=>{this.notifications=[...n]}))}fireClose(){this.dispatchEvent(new CustomEvent("panel-close",{bubbles:!0,composed:!0}))}handleClick(n){n.read||this.client.markRead(n.id)}getActorName(n){var e;return((e=this.client.state.getUser(n))==null?void 0:e.name)??"Someone"}formatTime(n){const e=new Date(n),i=new Date().getTime()-e.getTime(),s=Math.floor(i/6e4);if(s<1)return"now";if(s<60)return`${s}m`;const o=Math.floor(s/60);return o<24?`${o}h`:e.toLocaleDateString()}render(){const n=this.notifications.filter(e=>!e.read).length;return h`
|
|
2052
2052
|
<div class="panel">
|
|
2053
2053
|
<div class="panel-header">
|
|
2054
2054
|
<span class="panel-title">
|
package/dist/pulse-elements.js
CHANGED
|
@@ -4239,7 +4239,11 @@ var Qi = Object.defineProperty, es = Object.getOwnPropertyDescriptor, j = (s, e,
|
|
|
4239
4239
|
const ts = ["đ", "đ", "â¤ī¸", "đ", "đ", "đ"];
|
|
4240
4240
|
let O = class extends S {
|
|
4241
4241
|
constructor() {
|
|
4242
|
-
super(...arguments), this.highlightThreadId = null, this.
|
|
4242
|
+
super(...arguments), this.highlightThreadId = null, this.threadsVersion = 0, this.replyingTo = null, this.editingCommentId = null, this.editBody = "", this.pickerOpenForComment = null, this.typingByThread = /* @__PURE__ */ new Map(), this.reactionsVersion = 0, this.typingTimers = /* @__PURE__ */ new Map(), this.lastTypingSend = /* @__PURE__ */ new Map(), this.replyAttachmentIds = [];
|
|
4243
|
+
}
|
|
4244
|
+
/** Read threads directly from state â threadsVersion triggers re-renders. */
|
|
4245
|
+
get threads() {
|
|
4246
|
+
return this.threadsVersion, this.client ? [...this.client.state.threads] : [];
|
|
4243
4247
|
}
|
|
4244
4248
|
connectedCallback() {
|
|
4245
4249
|
super.connectedCallback(), this.ensureListener();
|
|
@@ -4272,11 +4276,11 @@ let O = class extends S {
|
|
|
4272
4276
|
this.typingTimers.clear();
|
|
4273
4277
|
}
|
|
4274
4278
|
ensureListener() {
|
|
4275
|
-
this.client && (this.teardownListeners(), this.
|
|
4279
|
+
this.client && (this.teardownListeners(), this.threadsVersion++, this.setupListener());
|
|
4276
4280
|
}
|
|
4277
4281
|
setupListener() {
|
|
4278
|
-
this.client && (this.
|
|
4279
|
-
this.
|
|
4282
|
+
this.client && (this.unsub = this.client.state.on("threads", () => {
|
|
4283
|
+
this.threadsVersion++;
|
|
4280
4284
|
}), this.reactionUnsub = this.client.state.on("reactions", () => {
|
|
4281
4285
|
this.reactionsVersion++;
|
|
4282
4286
|
}), this.typingUnsub = this.client.state.on(
|
|
@@ -5159,7 +5163,7 @@ j([
|
|
|
5159
5163
|
], O.prototype, "highlightThreadId", 2);
|
|
5160
5164
|
j([
|
|
5161
5165
|
v()
|
|
5162
|
-
], O.prototype, "
|
|
5166
|
+
], O.prototype, "threadsVersion", 2);
|
|
5163
5167
|
j([
|
|
5164
5168
|
v()
|
|
5165
5169
|
], O.prototype, "replyingTo", 2);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamention/pulse-elements",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "Drop-in web components for real-time collaboration â comments, cursors, presence, drawing, and more",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/pulse-elements.cjs",
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"@lit/context": "^1.1.0",
|
|
42
42
|
"lit": "^3.2.0",
|
|
43
43
|
"lucide": "^0.577.0",
|
|
44
|
-
"@gamention/pulse-core": "0.1.
|
|
45
|
-
"@gamention/pulse-shared": "0.1.
|
|
44
|
+
"@gamention/pulse-core": "0.1.10",
|
|
45
|
+
"@gamention/pulse-shared": "0.1.10"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"typescript": "^5.7.0",
|