@arbocollab/arbo-web-scene 0.26.5-alpha.23 → 0.26.5-alpha.24

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/es/index.es.js CHANGED
@@ -11911,7 +11911,7 @@ const x1t = (e, t) => {
11911
11911
  (s = (a = e == null ? void 0 : e.config) == null ? void 0 : a.globalProperties) == null || s.setStoreValue("scene", "setCurrentSceneTabId", o);
11912
11912
  }
11913
11913
  return e.config.globalProperties.setStoreValue = r, e.config.globalProperties.handleSetTab = i, { handleSetTab: i };
11914
- }, E1t = "0.26.5-alpha.23", T1t = {
11914
+ }, E1t = "0.26.5-alpha.24", T1t = {
11915
11915
  "@arbocollab/arbo-chart-component": "1.0.1",
11916
11916
  "@arbocollab/arbo-comment-utils": "1.0.1",
11917
11917
  "@arbocollab/arbo-common-utils": "npm:@arbocollab/arbo-common-utils@1.0.11",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@arbocollab/arbo-web-scene",
3
3
  "description": "Arbo Web Scene",
4
- "version": "0.26.5-alpha.23",
4
+ "version": "0.26.5-alpha.24",
5
5
  "private": false,
6
6
  "type": "module",
7
7
  "scripts": {
package/umd/index.umd.js CHANGED
@@ -37,7 +37,7 @@ Only state can be modified.`);a[0]="$state",N2=!1,r.set(o,a,r.state.value),N2=!0
37
37
  Found in store "${A.$id}".`),m&&o&&n.hydrate&&n.hydrate(A.$state,m),u=!0,c=!0,A}/*! #__NO_SIDE_EFFECTS__ */function q0(e,t,n){let r;const i=typeof t=="function";r=i?n:t;function o(a,s){const l=XF();if(a=(Ke.env.NODE_ENV==="test"&&mL&&mL._testing?null:a)||(l?_f(Ske,null):null),a&&gL(a),Ke.env.NODE_ENV!=="production"&&!mL)throw new Error(`[🍍]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"?
38
38
  See https://pinia.vuejs.org/core-concepts/outside-component-usage.html for help.
39
39
  This will fail in production.`);a=mL,a._s.has(e)||(i?ste(e,t,r,a):Bke(e,r,a),Ke.env.NODE_ENV!=="production"&&(o._pinia=a));const u=a._s.get(e);if(Ke.env.NODE_ENV!=="production"&&s){const c="__hot:"+e,d=i?ste(c,t,r,a,!0):Bke(c,iv({},r),a,!0);s._hotUpdate(d),delete a.state.value[c],a._s.delete(c)}if(Ke.env.NODE_ENV!=="production"&&pS){const c=ao();if(c&&c.proxy&&!s){const d=c.proxy,f="_pStores"in d?d._pStores:d._pStores={};f[e]=u}}return u}return o.$id=e,o}function _r(e){const t=ii(e),n={};for(const r in t){const i=t[r];i.effect?n[r]=ne({get:()=>e[r],set(o){e[r]=o}}):(kr(i)||ac(i))&&(n[r]=yu(e,r))}return n}function W_t(){var e=window.navigator.userAgent,t=e.indexOf("MSIE ");if(t>0)return parseInt(e.substring(t+5,e.indexOf(".",t)),10);var n=e.indexOf("Trident/");if(n>0){var r=e.indexOf("rv:");return parseInt(e.substring(r+3,e.indexOf(".",r)),10)}var i=e.indexOf("Edge/");return i>0?parseInt(e.substring(i+5,e.indexOf(".",i)),10):-1}let zH;function lte(){lte.init||(lte.init=!0,zH=W_t()!==-1)}var WH={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){lte(),Yt(()=>{this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitOnMount&&this.emitSize()});const e=document.createElement("object");this._resizeObject=e,e.setAttribute("aria-hidden","true"),e.setAttribute("tabindex",-1),e.onload=this.addResizeHandlers,e.type="text/html",zH&&this.$el.appendChild(e),e.data="about:blank",zH||this.$el.appendChild(e)},beforeUnmount(){this.removeResizeHandlers()},methods:{compareAndNotify(){(!this.ignoreWidth&&this._w!==this.$el.offsetWidth||!this.ignoreHeight&&this._h!==this.$el.offsetHeight)&&(this._w=this.$el.offsetWidth,this._h=this.$el.offsetHeight,this.emitSize())},emitSize(){this.$emit("notify",{width:this._w,height:this._h})},addResizeHandlers(){this._resizeObject.contentDocument.defaultView.addEventListener("resize",this.compareAndNotify),this.compareAndNotify()},removeResizeHandlers(){this._resizeObject&&this._resizeObject.onload&&(!zH&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const G_t=Eyt();Syt("data-v-b329ee4c");const q_t={class:"resize-observer",tabindex:"-1"};xyt();const K_t=G_t((e,t,n,r,i,o)=>(j(),vt("div",q_t)));WH.render=K_t,WH.__scopeId="data-v-b329ee4c",WH.__file="src/components/ResizeObserver.vue";function GH(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?GH=function(t){return typeof t}:GH=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},GH(e)}function Y_t(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Z_t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function X_t(e,t,n){return t&&Z_t(e.prototype,t),e}function Vke(e){return Q_t(e)||J_t(e)||e1t(e)||t1t()}function Q_t(e){if(Array.isArray(e))return ute(e)}function J_t(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function e1t(e,t){if(e){if(typeof e=="string")return ute(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ute(e,t)}}function ute(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function t1t(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
40
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function n1t(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function r1t(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,i,o,a=function(l){for(var u=arguments.length,c=new Array(u>1?u-1:0),d=1;d<u;d++)c[d-1]=arguments[d];if(o=c,!(r&&l===i)){var f=n.leading;typeof f=="function"&&(f=f(l,i)),(!r||l!==i)&&f&&e.apply(void 0,[l].concat(Vke(o))),i=l,clearTimeout(r),r=setTimeout(function(){e.apply(void 0,[l].concat(Vke(o))),r=0},t)}};return a._clear=function(){clearTimeout(r),r=null},a}function Uke(e,t){if(e===t)return!0;if(GH(e)==="object"){for(var n in e)if(!Uke(e[n],t[n]))return!1;return!0}return!1}var i1t=function(){function e(t,n,r){Y_t(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(n,r)}return X_t(e,[{key:"createObserver",value:function(n,r){var i=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=n1t(n),this.callback=function(s,l){i.options.callback(s,l),s&&i.options.once&&(i.frozen=!0,i.destroyObserver())},this.callback&&this.options.throttle){var o=this.options.throttleOptions||{},a=o.leading;this.callback=r1t(this.callback,this.options.throttle,{leading:function(l){return a==="both"||a==="visible"&&l||a==="hidden"&&!l}})}this.oldResult=void 0,this.observer=new IntersectionObserver(function(s){var l=s[0];if(s.length>1){var u=s.find(function(d){return d.isIntersecting});u&&(l=u)}if(i.callback){var c=l.isIntersecting&&l.intersectionRatio>=i.threshold;if(c===i.oldResult)return;i.oldResult=c,i.callback(c,l)}},this.options.intersection),Yt(function(){i.observer&&i.observer.observe(i.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function Hke(e,t,n){var r=t.value;if(r)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var i=new i1t(e,r,n);e._vue_visibilityState=i}}function o1t(e,t,n){var r=t.value,i=t.oldValue;if(!Uke(r,i)){var o=e._vue_visibilityState;if(!r){jke(e);return}o?o.createObserver(r,n):Hke(e,{value:r},n)}}function jke(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var a1t={beforeMount:Hke,updated:o1t,unmounted:jke};function s1t(e){return{all:e=e||new Map,on:function(t,n){var r=e.get(t);r&&r.push(n)||e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&r.splice(r.indexOf(n)>>>0,1)},emit:function(t,n){(e.get(t)||[]).slice().map(function(r){r(n)}),(e.get("*")||[]).slice().map(function(r){r(t,n)})}}}var zke={itemsLimit:1e3},l1t=/(auto|scroll)/;function Wke(e,t){return e.parentNode===null?t:Wke(e.parentNode,t.concat([e]))}var cte=function(t,n){return getComputedStyle(t,null).getPropertyValue(n)},u1t=function(t){return cte(t,"overflow")+cte(t,"overflow-y")+cte(t,"overflow-x")},c1t=function(t){return l1t.test(u1t(t))};function Gke(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=Wke(e.parentNode,[]),n=0;n<t.length;n+=1)if(c1t(t[n]))return t[n];return document.scrollingElement||document.documentElement}}function dte(e){"@babel/helpers - typeof";return dte=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dte(e)}var qke={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:function(t){return["vertical","horizontal"].includes(t)}},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function Kke(){return this.items.length&&dte(this.items[0])!=="object"}var fte=!1;if(typeof window<"u"){fte=!1;try{var d1t=Object.defineProperty({},"passive",{get:function(){fte=!0}});window.addEventListener("test",null,d1t)}catch{}}let f1t=0;var vL={name:"RecycleScroller",components:{ResizeObserver:WH},directives:{ObserveVisibility:a1t},props:{...qke,itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},updateInterval:{type:Number,default:0},skipHover:{type:Boolean,default:!1},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""}},emits:["resize","visible","hidden","update","scroll-start","scroll-end"],data(){return{pool:[],totalSize:0,ready:!1,hoverKey:null}},computed:{sizes(){if(this.itemSize===null){const e={"-1":{accumulator:0}},t=this.items,n=this.sizeField,r=this.minItemSize;let i=1e4,o=0,a;for(let s=0,l=t.length;s<l;s++)a=t[s][n]||r,a<i&&(i=a),o+=a,e[s]={accumulator:o,size:a};return this.$_computedMinItemSize=i,e}return[]},simpleArray:Kke,itemIndexByKey(){const{keyField:e,items:t}=this,n={};for(let r=0,i=t.length;r<i;r++)n[t[r][e]]=r;return n}},watch:{items(){this.updateVisibleItems(!0)},pageMode(){this.applyPageMode(),this.updateVisibleItems(!1)},sizes:{handler(){this.updateVisibleItems(!1)},deep:!0},gridItems(){this.updateVisibleItems(!0)},itemSecondarySize(){this.updateVisibleItems(!0)}},created(){this.$_startIndex=0,this.$_endIndex=0,this.$_views=new Map,this.$_unusedViews=new Map,this.$_scrollDirty=!1,this.$_lastUpdateScrollPosition=0,this.prerender&&(this.$_prerender=!0,this.updateVisibleItems(!1)),this.gridItems&&!this.itemSize&&console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems")},mounted(){this.applyPageMode(),this.$nextTick(()=>{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;typeof e=="number"&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeUnmount(){this.removeListeners()},methods:{addView(e,t,n,r,i){const o=sc({id:f1t++,index:t,used:!0,key:r,type:i}),a=$xe({item:n,position:0,nr:o});return e.push(a),a},unuseView(e,t=!1){const n=this.$_unusedViews,r=e.nr.type;let i=n.get(r);i||(i=[],n.set(r,i)),i.push(e),t||(e.nr.used=!1,e.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const t=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:n}=this.updateVisibleItems(!1,!0);n||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});t(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&t()},this.updateInterval))}},handleVisibilityChange(e,t){this.ready&&(e||t.boundingClientRect.width!==0||t.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const n=this.itemSize,r=this.gridItems||1,i=this.itemSecondarySize||n,o=this.$_computedMinItemSize,a=this.typeField,s=this.simpleArray?null:this.keyField,l=this.items,u=l.length,c=this.sizes,d=this.$_views,f=this.$_unusedViews,h=this.pool,m=this.itemIndexByKey;let p,y,w,_,C;if(!u)p=y=_=C=w=0;else if(this.$_prerender)p=_=0,y=C=Math.min(this.prerender,l.length),w=null;else{const k=this.getScroll();if(t){let $=k.start-this.$_lastUpdateScrollPosition;if($<0&&($=-$),n===null&&$<o||$<n)return{continuous:!0}}this.$_lastUpdateScrollPosition=k.start;const P=this.buffer;k.start-=P,k.end+=P;let N=0;if(this.$refs.before&&(N=this.$refs.before.scrollHeight,k.start-=N),this.$refs.after){const $=this.$refs.after.scrollHeight;k.end+=$}if(n===null){let $,F=0,B=u-1,M=~~(u/2),H;do H=M,$=c[M].accumulator,$<k.start?F=M:M<u-1&&c[M+1].accumulator>k.start&&(B=M),M=~~((F+B)/2);while(M!==H);for(M<0&&(M=0),p=M,w=c[u-1].accumulator,y=M;y<u&&c[y].accumulator<k.end;y++);for(y===-1?y=l.length-1:(y++,y>u&&(y=u)),_=p;_<u&&N+c[_].accumulator<k.start;_++);for(C=_;C<u&&N+c[C].accumulator<k.end;C++);}else{p=~~(k.start/n*r);const $=p%r;p-=$,y=Math.ceil(k.end/n*r),_=Math.max(0,Math.floor((k.start-N)/n*r)),C=Math.floor((k.end-N)/n*r),p<0&&(p=0),y>u&&(y=u),_<0&&(_=0),C>u&&(C=u),w=Math.ceil(u/r)*n}}y-p>zke.itemsLimit&&this.itemsLimitError(),this.totalSize=w;let g;const T=p<=this.$_endIndex&&y>=this.$_startIndex;if(T)for(let k=0,P=h.length;k<P;k++)g=h[k],g.nr.used&&(e&&(g.nr.index=m[g.item[s]]),(g.nr.index==null||g.nr.index<p||g.nr.index>=y)&&this.unuseView(g));const E=T?null:new Map;let A,R,D;for(let k=p;k<y;k++){A=l[k];const P=s?A[s]:A;if(P==null)throw new Error(`Key is ${P} on item (keyField is '${s}')`);if(g=d.get(P),!n&&!c[k].size){g&&this.unuseView(g);continue}R=A[a];let N=f.get(R),$=!1;if(!g)T?N&&N.length?g=N.pop():g=this.addView(h,k,A,P,R):(D=E.get(R)||0,(!N||D>=N.length)&&(g=this.addView(h,k,A,P,R),this.unuseView(g,!0),N=f.get(R)),g=N[D],E.set(R,D+1)),d.delete(g.nr.key),g.nr.used=!0,g.nr.index=k,g.nr.key=P,g.nr.type=R,d.set(P,g),$=!0;else if(!g.nr.used&&(g.nr.used=!0,$=!0,N)){const F=N.indexOf(g);F!==-1&&N.splice(F,1)}g.item=A,$&&(k===l.length-1&&this.$emit("scroll-end"),k===0&&this.$emit("scroll-start")),n===null?(g.position=c[k-1].accumulator,g.offset=0):(g.position=Math.floor(k/r)*n,g.offset=k%r*i)}return this.$_startIndex=p,this.$_endIndex=y,this.emitUpdate&&this.$emit("update",p,y,_,C),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:T}},getListenerTarget(){let e=Gke(this.$el);return window.document&&(e===window.document.documentElement||e===window.document.body)&&(e=window),e},getScroll(){const{$el:e,direction:t}=this,n=t==="vertical";let r;if(this.pageMode){const i=e.getBoundingClientRect(),o=n?i.height:i.width;let a=-(n?i.top:i.left),s=n?window.innerHeight:window.innerWidth;a<0&&(s+=a,a=0),a+s>o&&(s=o-a),r={start:a,end:a+s}}else n?r={start:e.scrollTop,end:e.scrollTop+e.clientHeight}:r={start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return r},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,fte?{passive:!0}:!1),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(e){let t;const n=this.gridItems||1;this.itemSize===null?t=e>0?this.sizes[e-1].accumulator:0:t=Math.floor(e/n)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let n,r,i;if(this.pageMode){const o=Gke(this.$el),a=o.tagName==="HTML"?0:o[t.scroll],s=o.getBoundingClientRect(),u=this.$el.getBoundingClientRect()[t.start]-s[t.start];n=o,r=t.scroll,i=e+a+u}else n=this.$el,r=t.scroll,i=e;n[r]=i},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((e,t)=>e.nr.index-t.nr.index)}}};const h1t={key:0,ref:"before",class:"vue-recycle-scroller__slot"},p1t={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function m1t(e,t,n,r,i,o){const a=Xn("ResizeObserver"),s=bu("observe-visibility");return Qt((j(),se("div",{class:Qe(["vue-recycle-scroller",{ready:i.ready,"page-mode":n.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...l)=>o.handleScroll&&o.handleScroll(...l))},[e.$slots.before?(j(),se("div",h1t,[rt(e.$slots,"before")],512)):ze("v-if",!0),(j(),vt(nh(n.listTag),{ref:"wrapper",style:on({[e.direction==="vertical"?"minHeight":"minWidth"]:i.totalSize+"px"}),class:Qe(["vue-recycle-scroller__item-wrapper",n.listClass])},{default:ct(()=>[(j(!0),se(Gt,null,_n(i.pool,l=>(j(),vt(nh(n.itemTag),tn({key:l.nr.id,style:i.ready?{transform:`translate${e.direction==="vertical"?"Y":"X"}(${l.position}px) translate${e.direction==="vertical"?"X":"Y"}(${l.offset}px)`,width:n.gridItems?`${e.direction==="vertical"&&n.itemSecondarySize||n.itemSize}px`:void 0,height:n.gridItems?`${e.direction==="horizontal"&&n.itemSecondarySize||n.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[n.itemClass,{hover:!n.skipHover&&i.hoverKey===l.nr.key}]]},$yt(n.skipHover?{}:{mouseenter:()=>{i.hoverKey=l.nr.key},mouseleave:()=>{i.hoverKey=null}})),{default:ct(()=>[rt(e.$slots,"default",{item:l.item,index:l.nr.index,active:l.nr.used})]),_:2},1040,["style","class"]))),128)),rt(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?(j(),se("div",p1t,[rt(e.$slots,"after")],512)):ze("v-if",!0),He(a,{onNotify:o.handleResize},null,8,["onNotify"])],34)),[[s,o.handleVisibilityChange]])}vL.render=m1t,vL.__file="src/components/RecycleScroller.vue";var qH={name:"DynamicScroller",components:{RecycleScroller:vL},provide(){return typeof ResizeObserver<"u"&&(this.$_resizeObserver=new ResizeObserver(e=>{requestAnimationFrame(()=>{if(Array.isArray(e)){for(const t of e)if(t.target&&t.target.$_vs_onResize){let n,r;if(t.borderBoxSize){const i=t.borderBoxSize[0];n=i.inlineSize,r=i.blockSize}else n=t.contentRect.width,r=t.contentRect.height;t.target.$_vs_onResize(t.target.$_vs_id,n,r)}}})})),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},inheritAttrs:!1,props:{...qke,minItemSize:{type:[Number,String],required:!0}},emits:["resize","visible"],data(){return{vscrollData:{active:!0,sizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:Kke,itemsWithSize(){const e=[],{items:t,keyField:n,simpleArray:r}=this,i=this.vscrollData.sizes,o=t.length;for(let a=0;a<o;a++){const s=t[a],l=r?a:s[n];let u=i[l];typeof u>"u"&&!this.$_undefinedMap[l]&&(u=0),e.push({item:s,id:l,size:u})}return e}},watch:{items(){this.forceUpdate()},simpleArray:{handler(e){this.vscrollData.simpleArray=e},immediate:!0},direction(e){this.forceUpdate(!0)},itemsWithSize(e,t){const n=this.$el.scrollTop;let r=0,i=0;const o=Math.min(e.length,t.length);for(let s=0;s<o&&!(r>=n);s++)r+=t[s].size||this.minItemSize,i+=e[s].size||this.minItemSize;const a=i-r;a!==0&&(this.$el.scrollTop+=a)}},beforeCreate(){this.$_updates=[],this.$_undefinedSizes=0,this.$_undefinedMap={},this.$_events=s1t()},activated(){this.vscrollData.active=!0},deactivated(){this.vscrollData.active=!1},unmounted(){this.$_events.all.clear()},methods:{onScrollerResize(){this.$refs.scroller&&this.forceUpdate(),this.$emit("resize")},onScrollerVisible(){this.$_events.emit("vscroll:update",{force:!1}),this.$emit("visible")},forceUpdate(e=!1){(e||this.simpleArray)&&(this.vscrollData.sizes={}),this.$_events.emit("vscroll:update",{force:!0})},scrollToItem(e){const t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize(e,t=void 0){const n=this.simpleArray?t??this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[n]||0},scrollToBottom(){if(this.$_scrollingToBottom)return;this.$_scrollingToBottom=!0;const e=this.$el;this.$nextTick(()=>{e.scrollTop=e.scrollHeight+5e3;const t=()=>{e.scrollTop=e.scrollHeight+5e3,requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight+5e3,this.$_undefinedSizes===0?this.$_scrollingToBottom=!1:requestAnimationFrame(t)})};requestAnimationFrame(t)})}}};function g1t(e,t,n,r,i,o){const a=Xn("RecycleScroller");return j(),vt(a,tn({ref:"scroller",items:o.itemsWithSize,"min-item-size":n.minItemSize,direction:e.direction,"key-field":"id","list-tag":e.listTag,"item-tag":e.itemTag},e.$attrs,{onResize:o.onScrollerResize,onVisible:o.onScrollerVisible}),{default:ct(({item:s,index:l,active:u})=>[rt(e.$slots,"default",Wi($o({item:s.item,index:l,active:u,itemWithSize:s})))]),before:ct(()=>[rt(e.$slots,"before")]),after:ct(()=>[rt(e.$slots,"after")]),empty:ct(()=>[rt(e.$slots,"empty")]),_:3},16,["items","min-item-size","direction","list-tag","item-tag","onResize","onVisible"])}qH.render=g1t,qH.__file="src/components/DynamicScroller.vue";var hte={name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},emits:["resize"],computed:{id(){if(this.vscrollData.simpleArray)return this.index;if(this.vscrollData.keyField in this.item)return this.item[this.vscrollData.keyField];throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`)},size(){return this.vscrollData.sizes[this.id]||0},finalActive(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id(e,t){if(this.$el.$_vs_id=this.id,this.size||this.onDataUpdate(),this.$_sizeObserved){const n=this.vscrollData.sizes[t],r=this.vscrollData.sizes[e];n!=null&&n!==r&&this.applySize(n)}},finalActive(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created(){if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){for(const e in this.sizeDependencies)this.$watch(()=>this.sizeDependencies[e],this.onDataUpdate);this.vscrollParent.$_events.on("vscroll:update",this.onVscrollUpdate)}},mounted(){this.finalActive&&(this.updateSize(),this.observeSize())},beforeUnmount(){this.vscrollParent.$_events.off("vscroll:update",this.onVscrollUpdate),this.unobserveSize()},methods:{updateSize(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData(){this.watchData&&!this.vscrollResizeObserver?this.$_watchData=this.$watch("item",()=>{this.onDataUpdate()},{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate({force:e}){!this.finalActive&&e&&(this.$_pendingVScrollUpdate=this.id),(this.$_forceNextVScrollUpdate===this.id||e||!this.size)&&this.updateSize()},onDataUpdate(){this.updateSize()},computeSize(e){this.$nextTick(()=>{if(this.id===e){const t=this.$el.offsetWidth,n=this.$el.offsetHeight;this.applyWidthHeight(t,n)}this.$_pendingSizeUpdate=null})},applyWidthHeight(e,t){const n=~~(this.vscrollParent.direction==="vertical"?t:e);n&&this.size!==n&&this.applySize(n)},applySize(e){this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.vscrollData.sizes[this.id]=e,this.emitResize&&this.$emit("resize",this.id)},observeSize(){this.vscrollResizeObserver&&(this.$_sizeObserved||(this.vscrollResizeObserver.observe(this.$el),this.$el.$_vs_id=this.id,this.$el.$_vs_onResize=this.onResize,this.$_sizeObserved=!0))},unobserveSize(){this.vscrollResizeObserver&&this.$_sizeObserved&&(this.vscrollResizeObserver.unobserve(this.$el),this.$el.$_vs_onResize=void 0,this.$_sizeObserved=!1)},onResize(e,t,n){this.id===e&&this.applyWidthHeight(t,n)}},render(){return Ms(this.tag,this.$slots.default())}};hte.__file="src/components/DynamicScrollerItem.vue";function v1t(e,t){e.component("".concat(t,"recycle-scroller"),vL),e.component("".concat(t,"RecycleScroller"),vL),e.component("".concat(t,"dynamic-scroller"),qH),e.component("".concat(t,"DynamicScroller"),qH),e.component("".concat(t,"dynamic-scroller-item"),hte),e.component("".concat(t,"DynamicScrollerItem"),hte)}var y1t={version:"2.0.0-beta.8",install:function(t,n){var r=Object.assign({},{installComponents:!0,componentsPrefix:""},n);for(var i in r)typeof r[i]<"u"&&(zke[i]=r[i]);r.installComponents&&v1t(t,r.componentsPrefix)}};const b1t=(e,t)=>{const n=o=>t._s.get(o),r=(o,a,s)=>{const l=n(o);return l&&a in l?(l[a](s),!0):(console.warn(`[initWebScene] Store "${o}" or dispactcher "${a}" not found`),!1)};function i(o){var a,s;(s=(a=e==null?void 0:e.config)==null?void 0:a.globalProperties)==null||s.setStoreValue("scene","setCurrentSceneTabId",o)}return e.config.globalProperties.setStoreValue=r,e.config.globalProperties.handleSetTab=i,{handleSetTab:i}},w1t="0.26.5-alpha.23",_1t={"@arbocollab/arbo-chart-component":"1.0.1","@arbocollab/arbo-comment-utils":"1.0.1","@arbocollab/arbo-common-utils":"npm:@arbocollab/arbo-common-utils@1.0.11","@arbocollab/arbo-media-player-component":"1.0.6","@arbocollab/arbo-table-component":"1.0.1","@arbocollab/arbo-ui-components":"npm:@arbocollab/arbo-ui-components-beta@0.0.376-alpha.31","@arbocollab/arbo-calendar-component":"0.0.12","@arbocollab/arbo-metric-table":"npm:@arbocollab/arbo-metric-table@0.0.24","@arbocollab/ag-grid-ui-components":"0.0.31","@vueuse/core":"^10.11.1","@ctrl/tinycolor":"^4.2.0",axios:"^1.7.2","date-fns":"^4.1.0","date-fns-tz":"^3.2.0",dayjs:"^1.11.11",dexie:"4.0.10","js-cookie":"^3.0.5",pinia:"^3.0.3","prettier-plugin-stylus":"^0.1.0","sanitize-html":"^2.15.0","vite-bundle-visualizer":"^1.2.1","vite-plugin-html":"^3.2.2",vue:"^3.5.18","vue-draggable-next":"^2.2.1","vue-i18n":"^9.13.1","vue-router":"^4.5.1","vue-virtual-scroller":"^2.0.0-beta.8"};var ni=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function yL(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function C1t(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var Yke={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(ni,function(){/*! *****************************************************************************
40
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function n1t(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function r1t(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,i,o,a=function(l){for(var u=arguments.length,c=new Array(u>1?u-1:0),d=1;d<u;d++)c[d-1]=arguments[d];if(o=c,!(r&&l===i)){var f=n.leading;typeof f=="function"&&(f=f(l,i)),(!r||l!==i)&&f&&e.apply(void 0,[l].concat(Vke(o))),i=l,clearTimeout(r),r=setTimeout(function(){e.apply(void 0,[l].concat(Vke(o))),r=0},t)}};return a._clear=function(){clearTimeout(r),r=null},a}function Uke(e,t){if(e===t)return!0;if(GH(e)==="object"){for(var n in e)if(!Uke(e[n],t[n]))return!1;return!0}return!1}var i1t=function(){function e(t,n,r){Y_t(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(n,r)}return X_t(e,[{key:"createObserver",value:function(n,r){var i=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=n1t(n),this.callback=function(s,l){i.options.callback(s,l),s&&i.options.once&&(i.frozen=!0,i.destroyObserver())},this.callback&&this.options.throttle){var o=this.options.throttleOptions||{},a=o.leading;this.callback=r1t(this.callback,this.options.throttle,{leading:function(l){return a==="both"||a==="visible"&&l||a==="hidden"&&!l}})}this.oldResult=void 0,this.observer=new IntersectionObserver(function(s){var l=s[0];if(s.length>1){var u=s.find(function(d){return d.isIntersecting});u&&(l=u)}if(i.callback){var c=l.isIntersecting&&l.intersectionRatio>=i.threshold;if(c===i.oldResult)return;i.oldResult=c,i.callback(c,l)}},this.options.intersection),Yt(function(){i.observer&&i.observer.observe(i.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function Hke(e,t,n){var r=t.value;if(r)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var i=new i1t(e,r,n);e._vue_visibilityState=i}}function o1t(e,t,n){var r=t.value,i=t.oldValue;if(!Uke(r,i)){var o=e._vue_visibilityState;if(!r){jke(e);return}o?o.createObserver(r,n):Hke(e,{value:r},n)}}function jke(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var a1t={beforeMount:Hke,updated:o1t,unmounted:jke};function s1t(e){return{all:e=e||new Map,on:function(t,n){var r=e.get(t);r&&r.push(n)||e.set(t,[n])},off:function(t,n){var r=e.get(t);r&&r.splice(r.indexOf(n)>>>0,1)},emit:function(t,n){(e.get(t)||[]).slice().map(function(r){r(n)}),(e.get("*")||[]).slice().map(function(r){r(t,n)})}}}var zke={itemsLimit:1e3},l1t=/(auto|scroll)/;function Wke(e,t){return e.parentNode===null?t:Wke(e.parentNode,t.concat([e]))}var cte=function(t,n){return getComputedStyle(t,null).getPropertyValue(n)},u1t=function(t){return cte(t,"overflow")+cte(t,"overflow-y")+cte(t,"overflow-x")},c1t=function(t){return l1t.test(u1t(t))};function Gke(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=Wke(e.parentNode,[]),n=0;n<t.length;n+=1)if(c1t(t[n]))return t[n];return document.scrollingElement||document.documentElement}}function dte(e){"@babel/helpers - typeof";return dte=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dte(e)}var qke={items:{type:Array,required:!0},keyField:{type:String,default:"id"},direction:{type:String,default:"vertical",validator:function(t){return["vertical","horizontal"].includes(t)}},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"}};function Kke(){return this.items.length&&dte(this.items[0])!=="object"}var fte=!1;if(typeof window<"u"){fte=!1;try{var d1t=Object.defineProperty({},"passive",{get:function(){fte=!0}});window.addEventListener("test",null,d1t)}catch{}}let f1t=0;var vL={name:"RecycleScroller",components:{ResizeObserver:WH},directives:{ObserveVisibility:a1t},props:{...qke,itemSize:{type:Number,default:null},gridItems:{type:Number,default:void 0},itemSecondarySize:{type:Number,default:void 0},minItemSize:{type:[Number,String],default:null},sizeField:{type:String,default:"size"},typeField:{type:String,default:"type"},buffer:{type:Number,default:200},pageMode:{type:Boolean,default:!1},prerender:{type:Number,default:0},emitUpdate:{type:Boolean,default:!1},updateInterval:{type:Number,default:0},skipHover:{type:Boolean,default:!1},listTag:{type:String,default:"div"},itemTag:{type:String,default:"div"},listClass:{type:[String,Object,Array],default:""},itemClass:{type:[String,Object,Array],default:""}},emits:["resize","visible","hidden","update","scroll-start","scroll-end"],data(){return{pool:[],totalSize:0,ready:!1,hoverKey:null}},computed:{sizes(){if(this.itemSize===null){const e={"-1":{accumulator:0}},t=this.items,n=this.sizeField,r=this.minItemSize;let i=1e4,o=0,a;for(let s=0,l=t.length;s<l;s++)a=t[s][n]||r,a<i&&(i=a),o+=a,e[s]={accumulator:o,size:a};return this.$_computedMinItemSize=i,e}return[]},simpleArray:Kke,itemIndexByKey(){const{keyField:e,items:t}=this,n={};for(let r=0,i=t.length;r<i;r++)n[t[r][e]]=r;return n}},watch:{items(){this.updateVisibleItems(!0)},pageMode(){this.applyPageMode(),this.updateVisibleItems(!1)},sizes:{handler(){this.updateVisibleItems(!1)},deep:!0},gridItems(){this.updateVisibleItems(!0)},itemSecondarySize(){this.updateVisibleItems(!0)}},created(){this.$_startIndex=0,this.$_endIndex=0,this.$_views=new Map,this.$_unusedViews=new Map,this.$_scrollDirty=!1,this.$_lastUpdateScrollPosition=0,this.prerender&&(this.$_prerender=!0,this.updateVisibleItems(!1)),this.gridItems&&!this.itemSize&&console.error("[vue-recycle-scroller] You must provide an itemSize when using gridItems")},mounted(){this.applyPageMode(),this.$nextTick(()=>{this.$_prerender=!1,this.updateVisibleItems(!0),this.ready=!0})},activated(){const e=this.$_lastUpdateScrollPosition;typeof e=="number"&&this.$nextTick(()=>{this.scrollToPosition(e)})},beforeUnmount(){this.removeListeners()},methods:{addView(e,t,n,r,i){const o=sc({id:f1t++,index:t,used:!0,key:r,type:i}),a=$xe({item:n,position:0,nr:o});return e.push(a),a},unuseView(e,t=!1){const n=this.$_unusedViews,r=e.nr.type;let i=n.get(r);i||(i=[],n.set(r,i)),i.push(e),t||(e.nr.used=!1,e.position=-9999)},handleResize(){this.$emit("resize"),this.ready&&this.updateVisibleItems(!1)},handleScroll(e){if(!this.$_scrollDirty){if(this.$_scrollDirty=!0,this.$_updateTimeout)return;const t=()=>requestAnimationFrame(()=>{this.$_scrollDirty=!1;const{continuous:n}=this.updateVisibleItems(!1,!0);n||(clearTimeout(this.$_refreshTimout),this.$_refreshTimout=setTimeout(this.handleScroll,this.updateInterval+100))});t(),this.updateInterval&&(this.$_updateTimeout=setTimeout(()=>{this.$_updateTimeout=0,this.$_scrollDirty&&t()},this.updateInterval))}},handleVisibilityChange(e,t){this.ready&&(e||t.boundingClientRect.width!==0||t.boundingClientRect.height!==0?(this.$emit("visible"),requestAnimationFrame(()=>{this.updateVisibleItems(!1)})):this.$emit("hidden"))},updateVisibleItems(e,t=!1){const n=this.itemSize,r=this.gridItems||1,i=this.itemSecondarySize||n,o=this.$_computedMinItemSize,a=this.typeField,s=this.simpleArray?null:this.keyField,l=this.items,u=l.length,c=this.sizes,d=this.$_views,f=this.$_unusedViews,h=this.pool,m=this.itemIndexByKey;let p,y,w,_,C;if(!u)p=y=_=C=w=0;else if(this.$_prerender)p=_=0,y=C=Math.min(this.prerender,l.length),w=null;else{const k=this.getScroll();if(t){let $=k.start-this.$_lastUpdateScrollPosition;if($<0&&($=-$),n===null&&$<o||$<n)return{continuous:!0}}this.$_lastUpdateScrollPosition=k.start;const P=this.buffer;k.start-=P,k.end+=P;let N=0;if(this.$refs.before&&(N=this.$refs.before.scrollHeight,k.start-=N),this.$refs.after){const $=this.$refs.after.scrollHeight;k.end+=$}if(n===null){let $,F=0,B=u-1,M=~~(u/2),H;do H=M,$=c[M].accumulator,$<k.start?F=M:M<u-1&&c[M+1].accumulator>k.start&&(B=M),M=~~((F+B)/2);while(M!==H);for(M<0&&(M=0),p=M,w=c[u-1].accumulator,y=M;y<u&&c[y].accumulator<k.end;y++);for(y===-1?y=l.length-1:(y++,y>u&&(y=u)),_=p;_<u&&N+c[_].accumulator<k.start;_++);for(C=_;C<u&&N+c[C].accumulator<k.end;C++);}else{p=~~(k.start/n*r);const $=p%r;p-=$,y=Math.ceil(k.end/n*r),_=Math.max(0,Math.floor((k.start-N)/n*r)),C=Math.floor((k.end-N)/n*r),p<0&&(p=0),y>u&&(y=u),_<0&&(_=0),C>u&&(C=u),w=Math.ceil(u/r)*n}}y-p>zke.itemsLimit&&this.itemsLimitError(),this.totalSize=w;let g;const T=p<=this.$_endIndex&&y>=this.$_startIndex;if(T)for(let k=0,P=h.length;k<P;k++)g=h[k],g.nr.used&&(e&&(g.nr.index=m[g.item[s]]),(g.nr.index==null||g.nr.index<p||g.nr.index>=y)&&this.unuseView(g));const E=T?null:new Map;let A,R,D;for(let k=p;k<y;k++){A=l[k];const P=s?A[s]:A;if(P==null)throw new Error(`Key is ${P} on item (keyField is '${s}')`);if(g=d.get(P),!n&&!c[k].size){g&&this.unuseView(g);continue}R=A[a];let N=f.get(R),$=!1;if(!g)T?N&&N.length?g=N.pop():g=this.addView(h,k,A,P,R):(D=E.get(R)||0,(!N||D>=N.length)&&(g=this.addView(h,k,A,P,R),this.unuseView(g,!0),N=f.get(R)),g=N[D],E.set(R,D+1)),d.delete(g.nr.key),g.nr.used=!0,g.nr.index=k,g.nr.key=P,g.nr.type=R,d.set(P,g),$=!0;else if(!g.nr.used&&(g.nr.used=!0,$=!0,N)){const F=N.indexOf(g);F!==-1&&N.splice(F,1)}g.item=A,$&&(k===l.length-1&&this.$emit("scroll-end"),k===0&&this.$emit("scroll-start")),n===null?(g.position=c[k-1].accumulator,g.offset=0):(g.position=Math.floor(k/r)*n,g.offset=k%r*i)}return this.$_startIndex=p,this.$_endIndex=y,this.emitUpdate&&this.$emit("update",p,y,_,C),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:T}},getListenerTarget(){let e=Gke(this.$el);return window.document&&(e===window.document.documentElement||e===window.document.body)&&(e=window),e},getScroll(){const{$el:e,direction:t}=this,n=t==="vertical";let r;if(this.pageMode){const i=e.getBoundingClientRect(),o=n?i.height:i.width;let a=-(n?i.top:i.left),s=n?window.innerHeight:window.innerWidth;a<0&&(s+=a,a=0),a+s>o&&(s=o-a),r={start:a,end:a+s}}else n?r={start:e.scrollTop,end:e.scrollTop+e.clientHeight}:r={start:e.scrollLeft,end:e.scrollLeft+e.clientWidth};return r},applyPageMode(){this.pageMode?this.addListeners():this.removeListeners()},addListeners(){this.listenerTarget=this.getListenerTarget(),this.listenerTarget.addEventListener("scroll",this.handleScroll,fte?{passive:!0}:!1),this.listenerTarget.addEventListener("resize",this.handleResize)},removeListeners(){this.listenerTarget&&(this.listenerTarget.removeEventListener("scroll",this.handleScroll),this.listenerTarget.removeEventListener("resize",this.handleResize),this.listenerTarget=null)},scrollToItem(e){let t;const n=this.gridItems||1;this.itemSize===null?t=e>0?this.sizes[e-1].accumulator:0:t=Math.floor(e/n)*this.itemSize,this.scrollToPosition(t)},scrollToPosition(e){const t=this.direction==="vertical"?{scroll:"scrollTop",start:"top"}:{scroll:"scrollLeft",start:"left"};let n,r,i;if(this.pageMode){const o=Gke(this.$el),a=o.tagName==="HTML"?0:o[t.scroll],s=o.getBoundingClientRect(),u=this.$el.getBoundingClientRect()[t.start]-s[t.start];n=o,r=t.scroll,i=e+a+u}else n=this.$el,r=t.scroll,i=e;n[r]=i},itemsLimitError(){throw setTimeout(()=>{console.log("It seems the scroller element isn't scrolling, so it tries to render all the items at once.","Scroller:",this.$el),console.log("Make sure the scroller has a fixed height (or width) and 'overflow-y' (or 'overflow-x') set to 'auto' so it can scroll correctly and only render the items visible in the scroll viewport.")}),new Error("Rendered items limit reached")},sortViews(){this.pool.sort((e,t)=>e.nr.index-t.nr.index)}}};const h1t={key:0,ref:"before",class:"vue-recycle-scroller__slot"},p1t={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function m1t(e,t,n,r,i,o){const a=Xn("ResizeObserver"),s=bu("observe-visibility");return Qt((j(),se("div",{class:Qe(["vue-recycle-scroller",{ready:i.ready,"page-mode":n.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...l)=>o.handleScroll&&o.handleScroll(...l))},[e.$slots.before?(j(),se("div",h1t,[rt(e.$slots,"before")],512)):ze("v-if",!0),(j(),vt(nh(n.listTag),{ref:"wrapper",style:on({[e.direction==="vertical"?"minHeight":"minWidth"]:i.totalSize+"px"}),class:Qe(["vue-recycle-scroller__item-wrapper",n.listClass])},{default:ct(()=>[(j(!0),se(Gt,null,_n(i.pool,l=>(j(),vt(nh(n.itemTag),tn({key:l.nr.id,style:i.ready?{transform:`translate${e.direction==="vertical"?"Y":"X"}(${l.position}px) translate${e.direction==="vertical"?"X":"Y"}(${l.offset}px)`,width:n.gridItems?`${e.direction==="vertical"&&n.itemSecondarySize||n.itemSize}px`:void 0,height:n.gridItems?`${e.direction==="horizontal"&&n.itemSecondarySize||n.itemSize}px`:void 0}:null,class:["vue-recycle-scroller__item-view",[n.itemClass,{hover:!n.skipHover&&i.hoverKey===l.nr.key}]]},$yt(n.skipHover?{}:{mouseenter:()=>{i.hoverKey=l.nr.key},mouseleave:()=>{i.hoverKey=null}})),{default:ct(()=>[rt(e.$slots,"default",{item:l.item,index:l.nr.index,active:l.nr.used})]),_:2},1040,["style","class"]))),128)),rt(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?(j(),se("div",p1t,[rt(e.$slots,"after")],512)):ze("v-if",!0),He(a,{onNotify:o.handleResize},null,8,["onNotify"])],34)),[[s,o.handleVisibilityChange]])}vL.render=m1t,vL.__file="src/components/RecycleScroller.vue";var qH={name:"DynamicScroller",components:{RecycleScroller:vL},provide(){return typeof ResizeObserver<"u"&&(this.$_resizeObserver=new ResizeObserver(e=>{requestAnimationFrame(()=>{if(Array.isArray(e)){for(const t of e)if(t.target&&t.target.$_vs_onResize){let n,r;if(t.borderBoxSize){const i=t.borderBoxSize[0];n=i.inlineSize,r=i.blockSize}else n=t.contentRect.width,r=t.contentRect.height;t.target.$_vs_onResize(t.target.$_vs_id,n,r)}}})})),{vscrollData:this.vscrollData,vscrollParent:this,vscrollResizeObserver:this.$_resizeObserver}},inheritAttrs:!1,props:{...qke,minItemSize:{type:[Number,String],required:!0}},emits:["resize","visible"],data(){return{vscrollData:{active:!0,sizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:Kke,itemsWithSize(){const e=[],{items:t,keyField:n,simpleArray:r}=this,i=this.vscrollData.sizes,o=t.length;for(let a=0;a<o;a++){const s=t[a],l=r?a:s[n];let u=i[l];typeof u>"u"&&!this.$_undefinedMap[l]&&(u=0),e.push({item:s,id:l,size:u})}return e}},watch:{items(){this.forceUpdate()},simpleArray:{handler(e){this.vscrollData.simpleArray=e},immediate:!0},direction(e){this.forceUpdate(!0)},itemsWithSize(e,t){const n=this.$el.scrollTop;let r=0,i=0;const o=Math.min(e.length,t.length);for(let s=0;s<o&&!(r>=n);s++)r+=t[s].size||this.minItemSize,i+=e[s].size||this.minItemSize;const a=i-r;a!==0&&(this.$el.scrollTop+=a)}},beforeCreate(){this.$_updates=[],this.$_undefinedSizes=0,this.$_undefinedMap={},this.$_events=s1t()},activated(){this.vscrollData.active=!0},deactivated(){this.vscrollData.active=!1},unmounted(){this.$_events.all.clear()},methods:{onScrollerResize(){this.$refs.scroller&&this.forceUpdate(),this.$emit("resize")},onScrollerVisible(){this.$_events.emit("vscroll:update",{force:!1}),this.$emit("visible")},forceUpdate(e=!1){(e||this.simpleArray)&&(this.vscrollData.sizes={}),this.$_events.emit("vscroll:update",{force:!0})},scrollToItem(e){const t=this.$refs.scroller;t&&t.scrollToItem(e)},getItemSize(e,t=void 0){const n=this.simpleArray?t??this.items.indexOf(e):e[this.keyField];return this.vscrollData.sizes[n]||0},scrollToBottom(){if(this.$_scrollingToBottom)return;this.$_scrollingToBottom=!0;const e=this.$el;this.$nextTick(()=>{e.scrollTop=e.scrollHeight+5e3;const t=()=>{e.scrollTop=e.scrollHeight+5e3,requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight+5e3,this.$_undefinedSizes===0?this.$_scrollingToBottom=!1:requestAnimationFrame(t)})};requestAnimationFrame(t)})}}};function g1t(e,t,n,r,i,o){const a=Xn("RecycleScroller");return j(),vt(a,tn({ref:"scroller",items:o.itemsWithSize,"min-item-size":n.minItemSize,direction:e.direction,"key-field":"id","list-tag":e.listTag,"item-tag":e.itemTag},e.$attrs,{onResize:o.onScrollerResize,onVisible:o.onScrollerVisible}),{default:ct(({item:s,index:l,active:u})=>[rt(e.$slots,"default",Wi($o({item:s.item,index:l,active:u,itemWithSize:s})))]),before:ct(()=>[rt(e.$slots,"before")]),after:ct(()=>[rt(e.$slots,"after")]),empty:ct(()=>[rt(e.$slots,"empty")]),_:3},16,["items","min-item-size","direction","list-tag","item-tag","onResize","onVisible"])}qH.render=g1t,qH.__file="src/components/DynamicScroller.vue";var hte={name:"DynamicScrollerItem",inject:["vscrollData","vscrollParent","vscrollResizeObserver"],props:{item:{required:!0},watchData:{type:Boolean,default:!1},active:{type:Boolean,required:!0},index:{type:Number,default:void 0},sizeDependencies:{type:[Array,Object],default:null},emitResize:{type:Boolean,default:!1},tag:{type:String,default:"div"}},emits:["resize"],computed:{id(){if(this.vscrollData.simpleArray)return this.index;if(this.vscrollData.keyField in this.item)return this.item[this.vscrollData.keyField];throw new Error(`keyField '${this.vscrollData.keyField}' not found in your item. You should set a valid keyField prop on your Scroller`)},size(){return this.vscrollData.sizes[this.id]||0},finalActive(){return this.active&&this.vscrollData.active}},watch:{watchData:"updateWatchData",id(e,t){if(this.$el.$_vs_id=this.id,this.size||this.onDataUpdate(),this.$_sizeObserved){const n=this.vscrollData.sizes[t],r=this.vscrollData.sizes[e];n!=null&&n!==r&&this.applySize(n)}},finalActive(e){this.size||(e?this.vscrollParent.$_undefinedMap[this.id]||(this.vscrollParent.$_undefinedSizes++,this.vscrollParent.$_undefinedMap[this.id]=!0):this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=!1)),this.vscrollResizeObserver?e?this.observeSize():this.unobserveSize():e&&this.$_pendingVScrollUpdate===this.id&&this.updateSize()}},created(){if(!this.$isServer&&(this.$_forceNextVScrollUpdate=null,this.updateWatchData(),!this.vscrollResizeObserver)){for(const e in this.sizeDependencies)this.$watch(()=>this.sizeDependencies[e],this.onDataUpdate);this.vscrollParent.$_events.on("vscroll:update",this.onVscrollUpdate)}},mounted(){this.finalActive&&(this.updateSize(),this.observeSize())},beforeUnmount(){this.vscrollParent.$_events.off("vscroll:update",this.onVscrollUpdate),this.unobserveSize()},methods:{updateSize(){this.finalActive?this.$_pendingSizeUpdate!==this.id&&(this.$_pendingSizeUpdate=this.id,this.$_forceNextVScrollUpdate=null,this.$_pendingVScrollUpdate=null,this.computeSize(this.id)):this.$_forceNextVScrollUpdate=this.id},updateWatchData(){this.watchData&&!this.vscrollResizeObserver?this.$_watchData=this.$watch("item",()=>{this.onDataUpdate()},{deep:!0}):this.$_watchData&&(this.$_watchData(),this.$_watchData=null)},onVscrollUpdate({force:e}){!this.finalActive&&e&&(this.$_pendingVScrollUpdate=this.id),(this.$_forceNextVScrollUpdate===this.id||e||!this.size)&&this.updateSize()},onDataUpdate(){this.updateSize()},computeSize(e){this.$nextTick(()=>{if(this.id===e){const t=this.$el.offsetWidth,n=this.$el.offsetHeight;this.applyWidthHeight(t,n)}this.$_pendingSizeUpdate=null})},applyWidthHeight(e,t){const n=~~(this.vscrollParent.direction==="vertical"?t:e);n&&this.size!==n&&this.applySize(n)},applySize(e){this.vscrollParent.$_undefinedMap[this.id]&&(this.vscrollParent.$_undefinedSizes--,this.vscrollParent.$_undefinedMap[this.id]=void 0),this.vscrollData.sizes[this.id]=e,this.emitResize&&this.$emit("resize",this.id)},observeSize(){this.vscrollResizeObserver&&(this.$_sizeObserved||(this.vscrollResizeObserver.observe(this.$el),this.$el.$_vs_id=this.id,this.$el.$_vs_onResize=this.onResize,this.$_sizeObserved=!0))},unobserveSize(){this.vscrollResizeObserver&&this.$_sizeObserved&&(this.vscrollResizeObserver.unobserve(this.$el),this.$el.$_vs_onResize=void 0,this.$_sizeObserved=!1)},onResize(e,t,n){this.id===e&&this.applyWidthHeight(t,n)}},render(){return Ms(this.tag,this.$slots.default())}};hte.__file="src/components/DynamicScrollerItem.vue";function v1t(e,t){e.component("".concat(t,"recycle-scroller"),vL),e.component("".concat(t,"RecycleScroller"),vL),e.component("".concat(t,"dynamic-scroller"),qH),e.component("".concat(t,"DynamicScroller"),qH),e.component("".concat(t,"dynamic-scroller-item"),hte),e.component("".concat(t,"DynamicScrollerItem"),hte)}var y1t={version:"2.0.0-beta.8",install:function(t,n){var r=Object.assign({},{installComponents:!0,componentsPrefix:""},n);for(var i in r)typeof r[i]<"u"&&(zke[i]=r[i]);r.installComponents&&v1t(t,r.componentsPrefix)}};const b1t=(e,t)=>{const n=o=>t._s.get(o),r=(o,a,s)=>{const l=n(o);return l&&a in l?(l[a](s),!0):(console.warn(`[initWebScene] Store "${o}" or dispactcher "${a}" not found`),!1)};function i(o){var a,s;(s=(a=e==null?void 0:e.config)==null?void 0:a.globalProperties)==null||s.setStoreValue("scene","setCurrentSceneTabId",o)}return e.config.globalProperties.setStoreValue=r,e.config.globalProperties.handleSetTab=i,{handleSetTab:i}},w1t="0.26.5-alpha.24",_1t={"@arbocollab/arbo-chart-component":"1.0.1","@arbocollab/arbo-comment-utils":"1.0.1","@arbocollab/arbo-common-utils":"npm:@arbocollab/arbo-common-utils@1.0.11","@arbocollab/arbo-media-player-component":"1.0.6","@arbocollab/arbo-table-component":"1.0.1","@arbocollab/arbo-ui-components":"npm:@arbocollab/arbo-ui-components-beta@0.0.376-alpha.31","@arbocollab/arbo-calendar-component":"0.0.12","@arbocollab/arbo-metric-table":"npm:@arbocollab/arbo-metric-table@0.0.24","@arbocollab/ag-grid-ui-components":"0.0.31","@vueuse/core":"^10.11.1","@ctrl/tinycolor":"^4.2.0",axios:"^1.7.2","date-fns":"^4.1.0","date-fns-tz":"^3.2.0",dayjs:"^1.11.11",dexie:"4.0.10","js-cookie":"^3.0.5",pinia:"^3.0.3","prettier-plugin-stylus":"^0.1.0","sanitize-html":"^2.15.0","vite-bundle-visualizer":"^1.2.1","vite-plugin-html":"^3.2.2",vue:"^3.5.18","vue-draggable-next":"^2.2.1","vue-i18n":"^9.13.1","vue-router":"^4.5.1","vue-virtual-scroller":"^2.0.0-beta.8"};var ni=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function yL(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function C1t(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var i=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,i.get?i:{enumerable:!0,get:function(){return e[r]}})}),n}var Yke={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(ni,function(){/*! *****************************************************************************
41
41
  Copyright (c) Microsoft Corporation.
42
42
  Permission to use, copy, modify, and/or distribute this software for any
43
43
  purpose with or without fee is hereby granted.