@ni/spright-components 6.22.5 → 6.22.7
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/all-components-bundle.js +33 -24
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +12 -10
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/chat/conversation/models/auto-scroll-manager.d.ts +4 -2
- package/dist/esm/chat/conversation/models/auto-scroll-manager.js +33 -24
- package/dist/esm/chat/conversation/models/auto-scroll-manager.js.map +1 -1
- package/dist/esm/chat/conversation/testing/chat-conversation.pageobject.d.ts +2 -0
- package/dist/esm/chat/conversation/testing/chat-conversation.pageobject.js +6 -0
- package/dist/esm/chat/conversation/testing/chat-conversation.pageobject.js.map +1 -1
- package/package.json +3 -3
|
@@ -17876,18 +17876,20 @@ const C6=t=>`${Vo(t)}:host{box-sizing:border-box;}*{box-sizing:border-box;}:host
|
|
|
17876
17876
|
class _6{constructor(t,e){this.isScrollAnchor=!1,this.host=t,this.anchorOnInsert=e?.anchorOnInsert??!1}get slot(){return this.slotName}set slot(t){t!==this.slotName&&(this.slotName=t,void 0===t?this.host.removeAttribute("slot"):this.host.setAttribute("slot",t))}static elementHasMessageInternals(t){return t.messageInternals instanceof _6}}t([k],_6.prototype,"isScrollAnchor",void 0)
|
|
17877
17877
|
class I6{get isActive(){return void 0!==this.resizeObserver}constructor(t){this.conversation=t,this.autoScrollEngaged=!0,this.anchorActive=!1,this.scrollUpdatePending=!1,this.pendingAnchorInsert=!1,this.previousMessages=[],this.onScroll=()=>{const t=this.conversation.messagesContainer
|
|
17878
17878
|
if(void 0!==this.programmaticScrollTarget){const e=Math.abs(t.scrollTop-this.programmaticScrollTarget)<=1,n=this.getDistanceFromBottom()<=10
|
|
17879
|
-
return void((e||n)&&(this.programmaticScrollTarget=void 0))}this.autoScrollEngaged=this.getDistanceFromBottom()<=10},this.conversationNotifier=C.getNotifier(this.conversation)}connect(){this.autoScrollEngaged=!0,this.previousMessages=this.getOrderedMessages(),this.conversationNotifier.subscribe(this,"slottedMessages"),this.conversationNotifier.subscribe(this,"slottedHistoryMessages"),this.conversation.messagesContainer.addEventListener("scroll",this.onScroll,{passive:!0}),this.resizeObserver=new ResizeObserver(()=>{this.onContentSizeChanged()}),this.resizeObserver.observe(this.conversation.anchoredContainer),this.resizeObserver.observe(this.conversation.messagesContainer),this.repartition(this.previousMessages)}disconnect(){this.conversationNotifier.unsubscribe(this,"slottedMessages"),this.conversationNotifier.unsubscribe(this,"slottedHistoryMessages"),this.conversation.messagesContainer.removeEventListener("scroll",this.onScroll),this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.setScrollAnchorMessage(void 0),this.clearSlotAssignments(),this.anchorActive=!1,this.previousMessages=[]}handleChange(t,e){t!==this.conversation||"slottedMessages"!==e&&"slottedHistoryMessages"!==e||this.onMessagesChanged()}
|
|
17880
|
-
if(this.
|
|
17881
|
-
const i=n.
|
|
17882
|
-
this.
|
|
17883
|
-
|
|
17879
|
+
return void((e||n)&&(this.programmaticScrollTarget=void 0))}this.autoScrollEngaged=this.getDistanceFromBottom()<=10},this.conversationNotifier=C.getNotifier(this.conversation)}connect(){this.autoScrollEngaged=!0,this.previousMessages=this.getOrderedMessages(),this.conversationNotifier.subscribe(this,"slottedMessages"),this.conversationNotifier.subscribe(this,"slottedHistoryMessages"),this.conversation.messagesContainer.addEventListener("scroll",this.onScroll,{passive:!0}),this.resizeObserver=new ResizeObserver(()=>{this.onContentSizeChanged()}),this.resizeObserver.observe(this.conversation.anchoredContainer),this.resizeObserver.observe(this.conversation.messagesContainer),this.repartition(this.previousMessages)}disconnect(){this.conversationNotifier.unsubscribe(this,"slottedMessages"),this.conversationNotifier.unsubscribe(this,"slottedHistoryMessages"),this.conversation.messagesContainer.removeEventListener("scroll",this.onScroll),this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.setScrollAnchorMessage(void 0),this.clearSlotAssignments(),this.anchorActive=!1,this.previousMessages=[]}handleChange(t,e){t!==this.conversation||"slottedMessages"!==e&&"slottedHistoryMessages"!==e||this.onMessagesChanged()}smoothScrollTo(t){const e=this.conversation.messagesContainer
|
|
17880
|
+
if(Math.abs(e.scrollTop-t)<=1)return this.programmaticScrollTarget=void 0,void(e.scrollTop=t)
|
|
17881
|
+
this.programmaticScrollTarget=t,e.scrollTo({top:t,behavior:"smooth"})}instantScrollTo(t){this.conversation.messagesContainer.scrollTop=t}onMessagesChanged(){const t=this.getOrderedMessages(),e=0===this.previousMessages.length,n=new Set(this.previousMessages),i=t.filter(t=>!n.has(t))
|
|
17882
|
+
if(this.previousMessages=t,this.repartition(t),0===i.length)return
|
|
17883
|
+
const o=i.some(t=>t.messageInternals.anchorOnInsert)
|
|
17884
|
+
this.scheduleScrollUpdate(o,e)}repartition(t){const e=this.findLatestAnchorIndex(t)
|
|
17885
|
+
t.forEach((t,n)=>{t.messageInternals.slot=e>=0&&n<e?"history":void 0}),this.anchorActive=e>=0}clearSlotAssignments(){for(const t of this.getOrderedMessages())t.messageInternals.slot=void 0}scheduleScrollUpdate(t,e){if(this.pendingAnchorInsert=this.pendingAnchorInsert||t,this.scrollUpdatePending)return
|
|
17886
|
+
const n=!e
|
|
17887
|
+
this.scrollUpdatePending=!0,requestAnimationFrame(()=>{this.scrollUpdatePending=!1
|
|
17884
17888
|
const t=this.pendingAnchorInsert
|
|
17885
|
-
this.pendingAnchorInsert=!1,t?this.anchorToLastInsertedMessage():this.autoScrollEngaged&&this.followContent()})
|
|
17886
|
-
void 0!==
|
|
17889
|
+
this.pendingAnchorInsert=!1,t?this.anchorToLastInsertedMessage(n):this.autoScrollEngaged&&this.followContent()})}anchorToLastInsertedMessage(t){const e=this.getLastAnchorMessage()
|
|
17890
|
+
void 0!==e&&(this.setScrollAnchorMessage(e),this.autoScrollEngaged=!0,t?this.smoothScrollTo(this.getMaxScrollTop()):this.instantScrollTo(this.getMaxScrollTop()))}followContent(){this.instantScrollTo(this.getMaxScrollTop())}onContentSizeChanged(){this.pendingAnchorInsert||void 0!==this.programmaticScrollTarget||this.autoScrollEngaged&&this.followContent()}getDistanceFromBottom(){const{scrollTop:t,scrollHeight:e,clientHeight:n}=this.conversation.messagesContainer
|
|
17887
17891
|
return e-t-n}getMaxScrollTop(){const{scrollHeight:t,clientHeight:e}=this.conversation.messagesContainer
|
|
17888
|
-
return Math.max(0,t-e)}
|
|
17889
|
-
if(Math.abs(e.scrollTop-t)<=1)return this.programmaticScrollTarget=void 0,void(e.scrollTop=t)
|
|
17890
|
-
this.programmaticScrollTarget=t,e.scrollTo({top:t,behavior:"smooth"})}instantScrollTo(t){this.conversation.messagesContainer.scrollTop=t}setScrollAnchorMessage(t){this.scrollAnchorMessage!==t&&(void 0!==this.scrollAnchorMessage&&(this.scrollAnchorMessage.messageInternals.isScrollAnchor=!1),this.scrollAnchorMessage=t,void 0!==t&&(t.messageInternals.isScrollAnchor=!0))}getLastAnchorMessage(){const t=this.getOrderedMessages(),e=this.findLatestAnchorIndex(t)
|
|
17892
|
+
return Math.max(0,t-e)}setScrollAnchorMessage(t){this.scrollAnchorMessage!==t&&(void 0!==this.scrollAnchorMessage&&(this.scrollAnchorMessage.messageInternals.isScrollAnchor=!1),this.scrollAnchorMessage=t,void 0!==t&&(t.messageInternals.isScrollAnchor=!0))}getLastAnchorMessage(){const t=this.getOrderedMessages(),e=this.findLatestAnchorIndex(t)
|
|
17891
17893
|
return e>=0?t[e]:void 0}findLatestAnchorIndex(t){for(let e=t.length-1;e>=0;e--){const n=t[e]
|
|
17892
17894
|
if(n?.messageInternals.anchorOnInsert)return e}return-1}getOrderedMessages(){const t=[]
|
|
17893
17895
|
for(const e of Array.from(this.conversation.children))_6.elementHasMessageInternals(e)&&t.push(e)
|