@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.
@@ -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()}onMessagesChanged(){const t=this.getOrderedMessages(),e=new Set(this.previousMessages),n=t.filter(t=>!e.has(t))
17880
- if(this.previousMessages=t,this.repartition(t),0===n.length)return
17881
- const i=n.some(t=>t.messageInternals.anchorOnInsert)
17882
- this.scheduleScrollUpdate(i)}repartition(t){const e=this.findLatestAnchorIndex(t)
17883
- 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){this.pendingAnchorInsert=this.pendingAnchorInsert||t,this.scrollUpdatePending||(this.scrollUpdatePending=!0,requestAnimationFrame(()=>{this.scrollUpdatePending=!1
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()}))}anchorToLastInsertedMessage(){const t=this.getLastAnchorMessage()
17886
- void 0!==t&&(this.setScrollAnchorMessage(t),this.autoScrollEngaged=!0,this.smoothScrollTo(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
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)}smoothScrollTo(t){const e=this.conversation.messagesContainer
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)