@arbocollab/arbo-web-scene 0.26.5-alpha.38 → 0.26.5-alpha.39

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
@@ -11928,7 +11928,7 @@ const PVt = (e, t) => {
11928
11928
  (s = (a = e == null ? void 0 : e.config) == null ? void 0 : a.globalProperties) == null || s.setStoreValue("scene", "setCurrentSceneTabId", o);
11929
11929
  }
11930
11930
  return e.config.globalProperties.setStoreValue = r, e.config.globalProperties.handleSetTab = i, { handleSetTab: i };
11931
- }, $Vt = "0.26.5-alpha.38", MVt = {
11931
+ }, $Vt = "0.26.5-alpha.39", MVt = {
11932
11932
  "@arbocollab/arbo-chart-component": "1.0.1",
11933
11933
  "@arbocollab/arbo-comment-utils": "1.0.1",
11934
11934
  "@arbocollab/arbo-common-utils": "npm:@arbocollab/arbo-common-utils@0.0.12-alpha.0",
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.38",
4
+ "version": "0.26.5-alpha.39",
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",uP=!1,r.set(o,a,r.state.value),uP=!0
37
37
  Found in store "${T.$id}".`),m&&o&&n.hydrate&&n.hydrate(T.$state,m),u=!0,c=!0,T}/*! #__NO_SIDE_EFFECTS__ */function W_(e,t,n){let r;const i=typeof t=="function";r=i?n:t;function o(a,s){const l=hD();if(a=(Xe.env.NODE_ENV==="test"&&Z4&&Z4._testing?null:a)||(l?pf(R3e,null):null),a&&X4(a),Xe.env.NODE_ENV!=="production"&&!Z4)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=Z4,a._s.has(e)||(i?Cue(e,t,r,a):K3e(e,r,a),Xe.env.NODE_ENV!=="production"&&(o._pinia=a));const u=a._s.get(e);if(Xe.env.NODE_ENV!=="production"&&s){const c="__hot:"+e,d=i?Cue(c,t,r,a,!0):K3e(c,Oy({},r),a,!0);s._hotUpdate(d),delete a.state.value[c],a._s.delete(c)}if(Xe.env.NODE_ENV!=="production"&&jE){const c=mo();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 Nr(e){const t=xi(e),n={};for(const r in t){const i=t[r];i.effect?n[r]=J({get:()=>e[r],set(o){e[r]=o}}):(Er(i)||td(i))&&(n[r]=bc(e,r))}return n}function eVt(){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 iG;function Sue(){Sue.init||(Sue.init=!0,iG=eVt()!==-1)}var oG={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){Sue(),zt(()=>{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",iG&&this.$el.appendChild(e),e.data="about:blank",iG||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&&(!iG&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const tVt=$Nt();RNt("data-v-b329ee4c");const nVt={class:"resize-observer",tabindex:"-1"};PNt();const rVt=tVt((e,t,n,r,i,o)=>(H(),mt("div",nVt)));oG.render=rVt,oG.__scopeId="data-v-b329ee4c",oG.__file="src/components/ResizeObserver.vue";function aG(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?aG=function(t){return typeof t}:aG=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},aG(e)}function iVt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oVt(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 aVt(e,t,n){return t&&oVt(e.prototype,t),e}function Y3e(e){return sVt(e)||lVt(e)||uVt(e)||cVt()}function sVt(e){if(Array.isArray(e))return xue(e)}function lVt(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function uVt(e,t){if(e){if(typeof e=="string")return xue(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 xue(e,t)}}function xue(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 cVt(){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 dVt(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function fVt(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(Y3e(o))),i=l,clearTimeout(r),r=setTimeout(function(){e.apply(void 0,[l].concat(Y3e(o))),r=0},t)}};return a._clear=function(){clearTimeout(r),r=null},a}function Z3e(e,t){if(e===t)return!0;if(aG(e)==="object"){for(var n in e)if(!Z3e(e[n],t[n]))return!1;return!0}return!1}var hVt=function(){function e(t,n,r){iVt(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(n,r)}return aVt(e,[{key:"createObserver",value:function(n,r){var i=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=dVt(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=fVt(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),zt(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 X3e(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 hVt(e,r,n);e._vue_visibilityState=i}}function pVt(e,t,n){var r=t.value,i=t.oldValue;if(!Z3e(r,i)){var o=e._vue_visibilityState;if(!r){Q3e(e);return}o?o.createObserver(r,n):X3e(e,{value:r},n)}}function Q3e(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var mVt={beforeMount:X3e,updated:pVt,unmounted:Q3e};function gVt(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 J3e={itemsLimit:1e3},vVt=/(auto|scroll)/;function eBe(e,t){return e.parentNode===null?t:eBe(e.parentNode,t.concat([e]))}var Eue=function(t,n){return getComputedStyle(t,null).getPropertyValue(n)},yVt=function(t){return Eue(t,"overflow")+Eue(t,"overflow-y")+Eue(t,"overflow-x")},bVt=function(t){return vVt.test(yVt(t))};function tBe(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=eBe(e.parentNode,[]),n=0;n<t.length;n+=1)if(bVt(t[n]))return t[n];return document.scrollingElement||document.documentElement}}function Tue(e){"@babel/helpers - typeof";return Tue=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},Tue(e)}var nBe={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 rBe(){return this.items.length&&Tue(this.items[0])!=="object"}var Aue=!1;if(typeof window<"u"){Aue=!1;try{var wVt=Object.defineProperty({},"passive",{get:function(){Aue=!0}});window.addEventListener("test",null,wVt)}catch{}}let _Vt=0;var Q4={name:"RecycleScroller",components:{ResizeObserver:oG},directives:{ObserveVisibility:mVt},props:{...nBe,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:rBe,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=nd({id:_Vt++,index:t,used:!0,key:r,type:i}),a=zMe({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 g,y,_,C,S;if(!u)g=y=C=S=_=0;else if(this.$_prerender)g=C=0,y=S=Math.min(this.prerender,l.length),_=null;else{const D=this.getScroll();if(t){let F=D.start-this.$_lastUpdateScrollPosition;if(F<0&&(F=-F),n===null&&F<o||F<n)return{continuous:!0}}this.$_lastUpdateScrollPosition=D.start;const P=this.buffer;D.start-=P,D.end+=P;let N=0;if(this.$refs.before&&(N=this.$refs.before.scrollHeight,D.start-=N),this.$refs.after){const F=this.$refs.after.scrollHeight;D.end+=F}if(n===null){let F,V=0,B=u-1,M=~~(u/2),z;do z=M,F=c[M].accumulator,F<D.start?V=M:M<u-1&&c[M+1].accumulator>D.start&&(B=M),M=~~((V+B)/2);while(M!==z);for(M<0&&(M=0),g=M,_=c[u-1].accumulator,y=M;y<u&&c[y].accumulator<D.end;y++);for(y===-1?y=l.length-1:(y++,y>u&&(y=u)),C=g;C<u&&N+c[C].accumulator<D.start;C++);for(S=C;S<u&&N+c[S].accumulator<D.end;S++);}else{g=~~(D.start/n*r);const F=g%r;g-=F,y=Math.ceil(D.end/n*r),C=Math.max(0,Math.floor((D.start-N)/n*r)),S=Math.floor((D.end-N)/n*r),g<0&&(g=0),y>u&&(y=u),C<0&&(C=0),S>u&&(S=u),_=Math.ceil(u/r)*n}}y-g>J3e.itemsLimit&&this.itemsLimitError(),this.totalSize=_;let v;const E=g<=this.$_endIndex&&y>=this.$_startIndex;if(E)for(let D=0,P=h.length;D<P;D++)v=h[D],v.nr.used&&(e&&(v.nr.index=m[v.item[s]]),(v.nr.index==null||v.nr.index<g||v.nr.index>=y)&&this.unuseView(v));const x=E?null:new Map;let T,I,O;for(let D=g;D<y;D++){T=l[D];const P=s?T[s]:T;if(P==null)throw new Error(`Key is ${P} on item (keyField is '${s}')`);if(v=d.get(P),!n&&!c[D].size){v&&this.unuseView(v);continue}I=T[a];let N=f.get(I),F=!1;if(!v)E?N&&N.length?v=N.pop():v=this.addView(h,D,T,P,I):(O=x.get(I)||0,(!N||O>=N.length)&&(v=this.addView(h,D,T,P,I),this.unuseView(v,!0),N=f.get(I)),v=N[O],x.set(I,O+1)),d.delete(v.nr.key),v.nr.used=!0,v.nr.index=D,v.nr.key=P,v.nr.type=I,d.set(P,v),F=!0;else if(!v.nr.used&&(v.nr.used=!0,F=!0,N)){const V=N.indexOf(v);V!==-1&&N.splice(V,1)}v.item=T,F&&(D===l.length-1&&this.$emit("scroll-end"),D===0&&this.$emit("scroll-start")),n===null?(v.position=c[D-1].accumulator,v.offset=0):(v.position=Math.floor(D/r)*n,v.offset=D%r*i)}return this.$_startIndex=g,this.$_endIndex=y,this.emitUpdate&&this.$emit("update",g,y,C,S),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:E}},getListenerTarget(){let e=tBe(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,Aue?{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=tBe(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 CVt={key:0,ref:"before",class:"vue-recycle-scroller__slot"},SVt={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function xVt(e,t,n,r,i,o){const a=tr("ResizeObserver"),s=Iu("observe-visibility");return Zt((H(),le("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?(H(),le("div",CVt,[ut(e.$slots,"before")],512)):We("v-if",!0),(H(),mt(jf(n.listTag),{ref:"wrapper",style:cn({[e.direction==="vertical"?"minHeight":"minWidth"]:i.totalSize+"px"}),class:Qe(["vue-recycle-scroller__item-wrapper",n.listClass])},{default:st(()=>[(H(!0),le(qt,null,wn(i.pool,l=>(H(),mt(jf(n.itemTag),on({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}]]},zNt(n.skipHover?{}:{mouseenter:()=>{i.hoverKey=l.nr.key},mouseleave:()=>{i.hoverKey=null}})),{default:st(()=>[ut(e.$slots,"default",{item:l.item,index:l.nr.index,active:l.nr.used})]),_:2},1040,["style","class"]))),128)),ut(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?(H(),le("div",SVt,[ut(e.$slots,"after")],512)):We("v-if",!0),je(a,{onNotify:o.handleResize},null,8,["onNotify"])],34)),[[s,o.handleVisibilityChange]])}Q4.render=xVt,Q4.__file="src/components/RecycleScroller.vue";var sG={name:"DynamicScroller",components:{RecycleScroller:Q4},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:{...nBe,minItemSize:{type:[Number,String],required:!0}},emits:["resize","visible"],data(){return{vscrollData:{active:!0,sizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:rBe,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=gVt()},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 EVt(e,t,n,r,i,o){const a=tr("RecycleScroller");return H(),mt(a,on({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:st(({item:s,index:l,active:u})=>[ut(e.$slots,"default",_o(ha({item:s.item,index:l,active:u,itemWithSize:s})))]),before:st(()=>[ut(e.$slots,"before")]),after:st(()=>[ut(e.$slots,"after")]),empty:st(()=>[ut(e.$slots,"empty")]),_:3},16,["items","min-item-size","direction","list-tag","item-tag","onResize","onVisible"])}sG.render=EVt,sG.__file="src/components/DynamicScroller.vue";var kue={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 Rs(this.tag,this.$slots.default())}};kue.__file="src/components/DynamicScrollerItem.vue";function TVt(e,t){e.component("".concat(t,"recycle-scroller"),Q4),e.component("".concat(t,"RecycleScroller"),Q4),e.component("".concat(t,"dynamic-scroller"),sG),e.component("".concat(t,"DynamicScroller"),sG),e.component("".concat(t,"dynamic-scroller-item"),kue),e.component("".concat(t,"DynamicScrollerItem"),kue)}var AVt={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"&&(J3e[i]=r[i]);r.installComponents&&TVt(t,r.componentsPrefix)}};const kVt=(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}},DVt="0.26.5-alpha.38",OVt={"@arbocollab/arbo-chart-component":"1.0.1","@arbocollab/arbo-comment-utils":"1.0.1","@arbocollab/arbo-common-utils":"npm:@arbocollab/arbo-common-utils@0.0.12-alpha.0","@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.106","@arbocollab/arbo-calendar-component":"0.0.38","@arbocollab/arbo-metric-table":"npm:@arbocollab/arbo-metric-table@0.0.24","@arbocollab/ag-grid-ui-components":"0.0.43","@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 _i=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function J4(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function IVt(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 iBe={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(_i,function(){/*! *****************************************************************************
40
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dVt(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function fVt(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(Y3e(o))),i=l,clearTimeout(r),r=setTimeout(function(){e.apply(void 0,[l].concat(Y3e(o))),r=0},t)}};return a._clear=function(){clearTimeout(r),r=null},a}function Z3e(e,t){if(e===t)return!0;if(aG(e)==="object"){for(var n in e)if(!Z3e(e[n],t[n]))return!1;return!0}return!1}var hVt=function(){function e(t,n,r){iVt(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(n,r)}return aVt(e,[{key:"createObserver",value:function(n,r){var i=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=dVt(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=fVt(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),zt(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 X3e(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 hVt(e,r,n);e._vue_visibilityState=i}}function pVt(e,t,n){var r=t.value,i=t.oldValue;if(!Z3e(r,i)){var o=e._vue_visibilityState;if(!r){Q3e(e);return}o?o.createObserver(r,n):X3e(e,{value:r},n)}}function Q3e(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var mVt={beforeMount:X3e,updated:pVt,unmounted:Q3e};function gVt(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 J3e={itemsLimit:1e3},vVt=/(auto|scroll)/;function eBe(e,t){return e.parentNode===null?t:eBe(e.parentNode,t.concat([e]))}var Eue=function(t,n){return getComputedStyle(t,null).getPropertyValue(n)},yVt=function(t){return Eue(t,"overflow")+Eue(t,"overflow-y")+Eue(t,"overflow-x")},bVt=function(t){return vVt.test(yVt(t))};function tBe(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=eBe(e.parentNode,[]),n=0;n<t.length;n+=1)if(bVt(t[n]))return t[n];return document.scrollingElement||document.documentElement}}function Tue(e){"@babel/helpers - typeof";return Tue=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},Tue(e)}var nBe={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 rBe(){return this.items.length&&Tue(this.items[0])!=="object"}var Aue=!1;if(typeof window<"u"){Aue=!1;try{var wVt=Object.defineProperty({},"passive",{get:function(){Aue=!0}});window.addEventListener("test",null,wVt)}catch{}}let _Vt=0;var Q4={name:"RecycleScroller",components:{ResizeObserver:oG},directives:{ObserveVisibility:mVt},props:{...nBe,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:rBe,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=nd({id:_Vt++,index:t,used:!0,key:r,type:i}),a=zMe({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 g,y,_,C,S;if(!u)g=y=C=S=_=0;else if(this.$_prerender)g=C=0,y=S=Math.min(this.prerender,l.length),_=null;else{const D=this.getScroll();if(t){let F=D.start-this.$_lastUpdateScrollPosition;if(F<0&&(F=-F),n===null&&F<o||F<n)return{continuous:!0}}this.$_lastUpdateScrollPosition=D.start;const P=this.buffer;D.start-=P,D.end+=P;let N=0;if(this.$refs.before&&(N=this.$refs.before.scrollHeight,D.start-=N),this.$refs.after){const F=this.$refs.after.scrollHeight;D.end+=F}if(n===null){let F,V=0,B=u-1,M=~~(u/2),z;do z=M,F=c[M].accumulator,F<D.start?V=M:M<u-1&&c[M+1].accumulator>D.start&&(B=M),M=~~((V+B)/2);while(M!==z);for(M<0&&(M=0),g=M,_=c[u-1].accumulator,y=M;y<u&&c[y].accumulator<D.end;y++);for(y===-1?y=l.length-1:(y++,y>u&&(y=u)),C=g;C<u&&N+c[C].accumulator<D.start;C++);for(S=C;S<u&&N+c[S].accumulator<D.end;S++);}else{g=~~(D.start/n*r);const F=g%r;g-=F,y=Math.ceil(D.end/n*r),C=Math.max(0,Math.floor((D.start-N)/n*r)),S=Math.floor((D.end-N)/n*r),g<0&&(g=0),y>u&&(y=u),C<0&&(C=0),S>u&&(S=u),_=Math.ceil(u/r)*n}}y-g>J3e.itemsLimit&&this.itemsLimitError(),this.totalSize=_;let v;const E=g<=this.$_endIndex&&y>=this.$_startIndex;if(E)for(let D=0,P=h.length;D<P;D++)v=h[D],v.nr.used&&(e&&(v.nr.index=m[v.item[s]]),(v.nr.index==null||v.nr.index<g||v.nr.index>=y)&&this.unuseView(v));const x=E?null:new Map;let T,I,O;for(let D=g;D<y;D++){T=l[D];const P=s?T[s]:T;if(P==null)throw new Error(`Key is ${P} on item (keyField is '${s}')`);if(v=d.get(P),!n&&!c[D].size){v&&this.unuseView(v);continue}I=T[a];let N=f.get(I),F=!1;if(!v)E?N&&N.length?v=N.pop():v=this.addView(h,D,T,P,I):(O=x.get(I)||0,(!N||O>=N.length)&&(v=this.addView(h,D,T,P,I),this.unuseView(v,!0),N=f.get(I)),v=N[O],x.set(I,O+1)),d.delete(v.nr.key),v.nr.used=!0,v.nr.index=D,v.nr.key=P,v.nr.type=I,d.set(P,v),F=!0;else if(!v.nr.used&&(v.nr.used=!0,F=!0,N)){const V=N.indexOf(v);V!==-1&&N.splice(V,1)}v.item=T,F&&(D===l.length-1&&this.$emit("scroll-end"),D===0&&this.$emit("scroll-start")),n===null?(v.position=c[D-1].accumulator,v.offset=0):(v.position=Math.floor(D/r)*n,v.offset=D%r*i)}return this.$_startIndex=g,this.$_endIndex=y,this.emitUpdate&&this.$emit("update",g,y,C,S),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:E}},getListenerTarget(){let e=tBe(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,Aue?{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=tBe(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 CVt={key:0,ref:"before",class:"vue-recycle-scroller__slot"},SVt={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function xVt(e,t,n,r,i,o){const a=tr("ResizeObserver"),s=Iu("observe-visibility");return Zt((H(),le("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?(H(),le("div",CVt,[ut(e.$slots,"before")],512)):We("v-if",!0),(H(),mt(jf(n.listTag),{ref:"wrapper",style:cn({[e.direction==="vertical"?"minHeight":"minWidth"]:i.totalSize+"px"}),class:Qe(["vue-recycle-scroller__item-wrapper",n.listClass])},{default:st(()=>[(H(!0),le(qt,null,wn(i.pool,l=>(H(),mt(jf(n.itemTag),on({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}]]},zNt(n.skipHover?{}:{mouseenter:()=>{i.hoverKey=l.nr.key},mouseleave:()=>{i.hoverKey=null}})),{default:st(()=>[ut(e.$slots,"default",{item:l.item,index:l.nr.index,active:l.nr.used})]),_:2},1040,["style","class"]))),128)),ut(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?(H(),le("div",SVt,[ut(e.$slots,"after")],512)):We("v-if",!0),je(a,{onNotify:o.handleResize},null,8,["onNotify"])],34)),[[s,o.handleVisibilityChange]])}Q4.render=xVt,Q4.__file="src/components/RecycleScroller.vue";var sG={name:"DynamicScroller",components:{RecycleScroller:Q4},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:{...nBe,minItemSize:{type:[Number,String],required:!0}},emits:["resize","visible"],data(){return{vscrollData:{active:!0,sizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:rBe,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=gVt()},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 EVt(e,t,n,r,i,o){const a=tr("RecycleScroller");return H(),mt(a,on({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:st(({item:s,index:l,active:u})=>[ut(e.$slots,"default",_o(ha({item:s.item,index:l,active:u,itemWithSize:s})))]),before:st(()=>[ut(e.$slots,"before")]),after:st(()=>[ut(e.$slots,"after")]),empty:st(()=>[ut(e.$slots,"empty")]),_:3},16,["items","min-item-size","direction","list-tag","item-tag","onResize","onVisible"])}sG.render=EVt,sG.__file="src/components/DynamicScroller.vue";var kue={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 Rs(this.tag,this.$slots.default())}};kue.__file="src/components/DynamicScrollerItem.vue";function TVt(e,t){e.component("".concat(t,"recycle-scroller"),Q4),e.component("".concat(t,"RecycleScroller"),Q4),e.component("".concat(t,"dynamic-scroller"),sG),e.component("".concat(t,"DynamicScroller"),sG),e.component("".concat(t,"dynamic-scroller-item"),kue),e.component("".concat(t,"DynamicScrollerItem"),kue)}var AVt={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"&&(J3e[i]=r[i]);r.installComponents&&TVt(t,r.componentsPrefix)}};const kVt=(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}},DVt="0.26.5-alpha.39",OVt={"@arbocollab/arbo-chart-component":"1.0.1","@arbocollab/arbo-comment-utils":"1.0.1","@arbocollab/arbo-common-utils":"npm:@arbocollab/arbo-common-utils@0.0.12-alpha.0","@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.106","@arbocollab/arbo-calendar-component":"0.0.38","@arbocollab/arbo-metric-table":"npm:@arbocollab/arbo-metric-table@0.0.24","@arbocollab/ag-grid-ui-components":"0.0.43","@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 _i=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function J4(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function IVt(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 iBe={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(_i,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.