@arbocollab/arbo-web-scene 0.26.6-alpha.8 → 0.26.6-alpha.9

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 olr = (e, t) => {
11928
11928
  (s = (i = e == null ? void 0 : e.config) == null ? void 0 : i.globalProperties) == null || s.setStoreValue("scene", "setCurrentSceneTabId", a);
11929
11929
  }
11930
11930
  return e.config.globalProperties.setStoreValue = r, e.config.globalProperties.handleSetTab = o, { handleSetTab: o };
11931
- }, alr = "0.26.6-alpha.8", ilr = {
11931
+ }, alr = "0.26.6-alpha.9", ilr = {
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.6-alpha.8",
4
+ "version": "0.26.6-alpha.9",
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.`);i[0]="$state",W8=!1,r.set(a,i,r.state.value),W8=!0
37
37
  Found in store "${O.$id}".`),v&&a&&n.hydrate&&n.hydrate(O.$state,v),u=!0,d=!0,O}/*! #__NO_SIDE_EFFECTS__ */function xO(e,t,n){let r;const o=typeof t=="function";r=o?n:t;function a(i,s){const l=a_();if(i=(Je.env.NODE_ENV==="test"&&KQ&&KQ._testing?null:i)||(l?_a(TTt,null):null),i&&GQ(i),Je.env.NODE_ENV!=="production"&&!KQ)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.`);i=KQ,i._s.has(e)||(o?t4e(e,t,r,i):zTt(e,r,i),Je.env.NODE_ENV!=="production"&&(a._pinia=i));const u=i._s.get(e);if(Je.env.NODE_ENV!=="production"&&s){const d="__hot:"+e,f=o?t4e(d,t,r,i,!0):zTt(d,RS({},r),i,!0);s._hotUpdate(f),delete i.state.value[d],i._s.delete(d)}if(Je.env.NODE_ENV!=="production"&&bN){const d=Ha();if(d&&d.proxy&&!s){const f=d.proxy,m="_pStores"in f?f._pStores:f._pStores={};m[e]=u}}return u}return a.$id=e,a}function ia(e){const t=Fa(e),n={};for(const r in t){const o=t[r];o.effect?n[r]=te({get:()=>e[r],set(a){e[r]=a}}):(Wr(o)||Bc(o))&&(n[r]=Zs(e,r))}return n}function xsr(){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 o=e.indexOf("Edge/");return o>0?parseInt(e.substring(o+5,e.indexOf(".",o)),10):-1}let rbe;function n4e(){n4e.init||(n4e.init=!0,rbe=xsr()!==-1)}var obe={name:"ResizeObserver",props:{emitOnMount:{type:Boolean,default:!1},ignoreWidth:{type:Boolean,default:!1},ignoreHeight:{type:Boolean,default:!1}},emits:["notify"],mounted(){n4e(),It(()=>{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",rbe&&this.$el.appendChild(e),e.data="about:blank",rbe||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&&(!rbe&&this._resizeObject.contentDocument&&this._resizeObject.contentDocument.defaultView.removeEventListener("resize",this.compareAndNotify),this.$el.removeChild(this._resizeObject),this._resizeObject.onload=null,this._resizeObject=null)}}};const ksr=arr();rrr("data-v-b329ee4c");const Tsr={class:"resize-observer",tabindex:"-1"};orr();const Osr=ksr((e,t,n,r,o,a)=>(W(),st("div",Tsr)));obe.render=Osr,obe.__scopeId="data-v-b329ee4c",obe.__file="src/components/ResizeObserver.vue";function abe(e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?abe=function(t){return typeof t}:abe=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},abe(e)}function Dsr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Asr(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 $sr(e,t,n){return t&&Asr(e.prototype,t),e}function WTt(e){return Isr(e)||Rsr(e)||Psr(e)||Nsr()}function Isr(e){if(Array.isArray(e))return r4e(e)}function Rsr(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function Psr(e,t){if(e){if(typeof e=="string")return r4e(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 r4e(e,t)}}function r4e(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 Nsr(){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 Msr(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function Lsr(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,o,a,i=function(l){for(var u=arguments.length,d=new Array(u>1?u-1:0),f=1;f<u;f++)d[f-1]=arguments[f];if(a=d,!(r&&l===o)){var m=n.leading;typeof m=="function"&&(m=m(l,o)),(!r||l!==o)&&m&&e.apply(void 0,[l].concat(WTt(a))),o=l,clearTimeout(r),r=setTimeout(function(){e.apply(void 0,[l].concat(WTt(a))),r=0},t)}};return i._clear=function(){clearTimeout(r),r=null},i}function qTt(e,t){if(e===t)return!0;if(abe(e)==="object"){for(var n in e)if(!qTt(e[n],t[n]))return!1;return!0}return!1}var Fsr=function(){function e(t,n,r){Dsr(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(n,r)}return $sr(e,[{key:"createObserver",value:function(n,r){var o=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=Msr(n),this.callback=function(s,l){o.options.callback(s,l),s&&o.options.once&&(o.frozen=!0,o.destroyObserver())},this.callback&&this.options.throttle){var a=this.options.throttleOptions||{},i=a.leading;this.callback=Lsr(this.callback,this.options.throttle,{leading:function(l){return i==="both"||i==="visible"&&l||i==="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(f){return f.isIntersecting});u&&(l=u)}if(o.callback){var d=l.isIntersecting&&l.intersectionRatio>=o.threshold;if(d===o.oldResult)return;o.oldResult=d,o.callback(d,l)}},this.options.intersection),It(function(){o.observer&&o.observer.observe(o.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 KTt(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 o=new Fsr(e,r,n);e._vue_visibilityState=o}}function Bsr(e,t,n){var r=t.value,o=t.oldValue;if(!qTt(r,o)){var a=e._vue_visibilityState;if(!r){GTt(e);return}a?a.createObserver(r,n):KTt(e,{value:r},n)}}function GTt(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var Vsr={beforeMount:KTt,updated:Bsr,unmounted:GTt};function Usr(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 YTt={itemsLimit:1e3},jsr=/(auto|scroll)/;function ZTt(e,t){return e.parentNode===null?t:ZTt(e.parentNode,t.concat([e]))}var o4e=function(t,n){return getComputedStyle(t,null).getPropertyValue(n)},Hsr=function(t){return o4e(t,"overflow")+o4e(t,"overflow-y")+o4e(t,"overflow-x")},zsr=function(t){return jsr.test(Hsr(t))};function XTt(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=ZTt(e.parentNode,[]),n=0;n<t.length;n+=1)if(zsr(t[n]))return t[n];return document.scrollingElement||document.documentElement}}function a4e(e){"@babel/helpers - typeof";return a4e=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},a4e(e)}var JTt={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 QTt(){return this.items.length&&a4e(this.items[0])!=="object"}var i4e=!1;if(typeof window<"u"){i4e=!1;try{var Wsr=Object.defineProperty({},"passive",{get:function(){i4e=!0}});window.addEventListener("test",null,Wsr)}catch{}}let qsr=0;var YQ={name:"RecycleScroller",components:{ResizeObserver:obe},directives:{ObserveVisibility:Vsr},props:{...JTt,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 o=1e4,a=0,i;for(let s=0,l=t.length;s<l;s++)i=t[s][n]||r,i<o&&(o=i),a+=i,e[s]={accumulator:a,size:i};return this.$_computedMinItemSize=o,e}return[]},simpleArray:QTt,itemIndexByKey(){const{keyField:e,items:t}=this,n={};for(let r=0,o=t.length;r<o;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,o){const a=Su({id:qsr++,index:t,used:!0,key:r,type:o}),i=VEt({item:n,position:0,nr:a});return e.push(i),i},unuseView(e,t=!1){const n=this.$_unusedViews,r=e.nr.type;let o=n.get(r);o||(o=[],n.set(r,o)),o.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,o=this.itemSecondarySize||n,a=this.$_computedMinItemSize,i=this.typeField,s=this.simpleArray?null:this.keyField,l=this.items,u=l.length,d=this.sizes,f=this.$_views,m=this.$_unusedViews,p=this.pool,v=this.itemIndexByKey;let g,w,S,E,x;if(!u)g=w=E=x=S=0;else if(this.$_prerender)g=E=0,w=x=Math.min(this.prerender,l.length),S=null;else{const $=this.getScroll();if(t){let F=$.start-this.$_lastUpdateScrollPosition;if(F<0&&(F=-F),n===null&&F<a||F<n)return{continuous:!0}}this.$_lastUpdateScrollPosition=$.start;const P=this.buffer;$.start-=P,$.end+=P;let U=0;if(this.$refs.before&&(U=this.$refs.before.scrollHeight,$.start-=U),this.$refs.after){const F=this.$refs.after.scrollHeight;$.end+=F}if(n===null){let F,L=0,j=u-1,B=~~(u/2),G;do G=B,F=d[B].accumulator,F<$.start?L=B:B<u-1&&d[B+1].accumulator>$.start&&(j=B),B=~~((L+j)/2);while(B!==G);for(B<0&&(B=0),g=B,S=d[u-1].accumulator,w=B;w<u&&d[w].accumulator<$.end;w++);for(w===-1?w=l.length-1:(w++,w>u&&(w=u)),E=g;E<u&&U+d[E].accumulator<$.start;E++);for(x=E;x<u&&U+d[x].accumulator<$.end;x++);}else{g=~~($.start/n*r);const F=g%r;g-=F,w=Math.ceil($.end/n*r),E=Math.max(0,Math.floor(($.start-U)/n*r)),x=Math.floor(($.end-U)/n*r),g<0&&(g=0),w>u&&(w=u),E<0&&(E=0),x>u&&(x=u),S=Math.ceil(u/r)*n}}w-g>YTt.itemsLimit&&this.itemsLimitError(),this.totalSize=S;let y;const D=g<=this.$_endIndex&&w>=this.$_startIndex;if(D)for(let $=0,P=p.length;$<P;$++)y=p[$],y.nr.used&&(e&&(y.nr.index=v[y.item[s]]),(y.nr.index==null||y.nr.index<g||y.nr.index>=w)&&this.unuseView(y));const k=D?null:new Map;let O,R,I;for(let $=g;$<w;$++){O=l[$];const P=s?O[s]:O;if(P==null)throw new Error(`Key is ${P} on item (keyField is '${s}')`);if(y=f.get(P),!n&&!d[$].size){y&&this.unuseView(y);continue}R=O[i];let U=m.get(R),F=!1;if(!y)D?U&&U.length?y=U.pop():y=this.addView(p,$,O,P,R):(I=k.get(R)||0,(!U||I>=U.length)&&(y=this.addView(p,$,O,P,R),this.unuseView(y,!0),U=m.get(R)),y=U[I],k.set(R,I+1)),f.delete(y.nr.key),y.nr.used=!0,y.nr.index=$,y.nr.key=P,y.nr.type=R,f.set(P,y),F=!0;else if(!y.nr.used&&(y.nr.used=!0,F=!0,U)){const L=U.indexOf(y);L!==-1&&U.splice(L,1)}y.item=O,F&&($===l.length-1&&this.$emit("scroll-end"),$===0&&this.$emit("scroll-start")),n===null?(y.position=d[$-1].accumulator,y.offset=0):(y.position=Math.floor($/r)*n,y.offset=$%r*o)}return this.$_startIndex=g,this.$_endIndex=w,this.emitUpdate&&this.$emit("update",g,w,E,x),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:D}},getListenerTarget(){let e=XTt(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 o=e.getBoundingClientRect(),a=n?o.height:o.width;let i=-(n?o.top:o.left),s=n?window.innerHeight:window.innerWidth;i<0&&(s+=i,i=0),i+s>a&&(s=a-i),r={start:i,end:i+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,i4e?{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,o;if(this.pageMode){const a=XTt(this.$el),i=a.tagName==="HTML"?0:a[t.scroll],s=a.getBoundingClientRect(),u=this.$el.getBoundingClientRect()[t.start]-s[t.start];n=a,r=t.scroll,o=e+i+u}else n=this.$el,r=t.scroll,o=e;n[r]=o},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 Ksr={key:0,ref:"before",class:"vue-recycle-scroller__slot"},Gsr={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function Ysr(e,t,n,r,o,a){const i=Tr("ResizeObserver"),s=Ri("observe-visibility");return Tt((W(),me("div",{class:De(["vue-recycle-scroller",{ready:o.ready,"page-mode":n.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...l)=>a.handleScroll&&a.handleScroll(...l))},[e.$slots.before?(W(),me("div",Ksr,[ft(e.$slots,"before")],512)):Ye("v-if",!0),(W(),st(Bd(n.listTag),{ref:"wrapper",style:dn({[e.direction==="vertical"?"minHeight":"minWidth"]:o.totalSize+"px"}),class:De(["vue-recycle-scroller__item-wrapper",n.listClass])},{default:je(()=>[(W(!0),me(qt,null,bn(o.pool,l=>(W(),st(Bd(n.itemTag),on({key:l.nr.id,style:o.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&&o.hoverKey===l.nr.key}]]},mrr(n.skipHover?{}:{mouseenter:()=>{o.hoverKey=l.nr.key},mouseleave:()=>{o.hoverKey=null}})),{default:je(()=>[ft(e.$slots,"default",{item:l.item,index:l.nr.index,active:l.nr.used})]),_:2},1040,["style","class"]))),128)),ft(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?(W(),me("div",Gsr,[ft(e.$slots,"after")],512)):Ye("v-if",!0),Me(i,{onNotify:a.handleResize},null,8,["onNotify"])],34)),[[s,a.handleVisibilityChange]])}YQ.render=Ysr,YQ.__file="src/components/RecycleScroller.vue";var ibe={name:"DynamicScroller",components:{RecycleScroller:YQ},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 o=t.borderBoxSize[0];n=o.inlineSize,r=o.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:{...JTt,minItemSize:{type:[Number,String],required:!0}},emits:["resize","visible"],data(){return{vscrollData:{active:!0,sizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:QTt,itemsWithSize(){const e=[],{items:t,keyField:n,simpleArray:r}=this,o=this.vscrollData.sizes,a=t.length;for(let i=0;i<a;i++){const s=t[i],l=r?i:s[n];let u=o[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,o=0;const a=Math.min(e.length,t.length);for(let s=0;s<a&&!(r>=n);s++)r+=t[s].size||this.minItemSize,o+=e[s].size||this.minItemSize;const i=o-r;i!==0&&(this.$el.scrollTop+=i)}},beforeCreate(){this.$_updates=[],this.$_undefinedSizes=0,this.$_undefinedMap={},this.$_events=Usr()},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 Zsr(e,t,n,r,o,a){const i=Tr("RecycleScroller");return W(),st(i,on({ref:"scroller",items:a.itemsWithSize,"min-item-size":n.minItemSize,direction:e.direction,"key-field":"id","list-tag":e.listTag,"item-tag":e.itemTag},e.$attrs,{onResize:a.onScrollerResize,onVisible:a.onScrollerVisible}),{default:je(({item:s,index:l,active:u})=>[ft(e.$slots,"default",Ti(Ks({item:s.item,index:l,active:u,itemWithSize:s})))]),before:je(()=>[ft(e.$slots,"before")]),after:je(()=>[ft(e.$slots,"after")]),empty:je(()=>[ft(e.$slots,"empty")]),_:3},16,["items","min-item-size","direction","list-tag","item-tag","onResize","onVisible"])}ibe.render=Zsr,ibe.__file="src/components/DynamicScroller.vue";var s4e={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 Pi(this.tag,this.$slots.default())}};s4e.__file="src/components/DynamicScrollerItem.vue";function Xsr(e,t){e.component("".concat(t,"recycle-scroller"),YQ),e.component("".concat(t,"RecycleScroller"),YQ),e.component("".concat(t,"dynamic-scroller"),ibe),e.component("".concat(t,"DynamicScroller"),ibe),e.component("".concat(t,"dynamic-scroller-item"),s4e),e.component("".concat(t,"DynamicScrollerItem"),s4e)}var Jsr={version:"2.0.0-beta.8",install:function(t,n){var r=Object.assign({},{installComponents:!0,componentsPrefix:""},n);for(var o in r)typeof r[o]<"u"&&(YTt[o]=r[o]);r.installComponents&&Xsr(t,r.componentsPrefix)}};const Qsr=(e,t)=>{const n=a=>t._s.get(a),r=(a,i,s)=>{const l=n(a);return l&&i in l?(l[i](s),!0):(console.warn(`[initWebScene] Store "${a}" or dispactcher "${i}" not found`),!1)};function o(a){var i,s;(s=(i=e==null?void 0:e.config)==null?void 0:i.globalProperties)==null||s.setStoreValue("scene","setCurrentSceneTabId",a)}return e.config.globalProperties.setStoreValue=r,e.config.globalProperties.handleSetTab=o,{handleSetTab:o}},elr="0.26.6-alpha.8",tlr={"@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":"0.0.18","@arbocollab/arbo-table-component":"1.0.1","@arbocollab/arbo-ui-components":"npm:@arbocollab/arbo-ui-components-beta@0.0.376-alpha.119","@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 Si=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ZQ(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function nlr(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 o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),n}var eOt={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(Si,function(){/*! *****************************************************************************
40
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Msr(e){var t;return typeof e=="function"?t={callback:e}:t=e,t}function Lsr(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r,o,a,i=function(l){for(var u=arguments.length,d=new Array(u>1?u-1:0),f=1;f<u;f++)d[f-1]=arguments[f];if(a=d,!(r&&l===o)){var m=n.leading;typeof m=="function"&&(m=m(l,o)),(!r||l!==o)&&m&&e.apply(void 0,[l].concat(WTt(a))),o=l,clearTimeout(r),r=setTimeout(function(){e.apply(void 0,[l].concat(WTt(a))),r=0},t)}};return i._clear=function(){clearTimeout(r),r=null},i}function qTt(e,t){if(e===t)return!0;if(abe(e)==="object"){for(var n in e)if(!qTt(e[n],t[n]))return!1;return!0}return!1}var Fsr=function(){function e(t,n,r){Dsr(this,e),this.el=t,this.observer=null,this.frozen=!1,this.createObserver(n,r)}return $sr(e,[{key:"createObserver",value:function(n,r){var o=this;if(this.observer&&this.destroyObserver(),!this.frozen){if(this.options=Msr(n),this.callback=function(s,l){o.options.callback(s,l),s&&o.options.once&&(o.frozen=!0,o.destroyObserver())},this.callback&&this.options.throttle){var a=this.options.throttleOptions||{},i=a.leading;this.callback=Lsr(this.callback,this.options.throttle,{leading:function(l){return i==="both"||i==="visible"&&l||i==="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(f){return f.isIntersecting});u&&(l=u)}if(o.callback){var d=l.isIntersecting&&l.intersectionRatio>=o.threshold;if(d===o.oldResult)return;o.oldResult=d,o.callback(d,l)}},this.options.intersection),It(function(){o.observer&&o.observer.observe(o.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 KTt(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 o=new Fsr(e,r,n);e._vue_visibilityState=o}}function Bsr(e,t,n){var r=t.value,o=t.oldValue;if(!qTt(r,o)){var a=e._vue_visibilityState;if(!r){GTt(e);return}a?a.createObserver(r,n):KTt(e,{value:r},n)}}function GTt(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var Vsr={beforeMount:KTt,updated:Bsr,unmounted:GTt};function Usr(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 YTt={itemsLimit:1e3},jsr=/(auto|scroll)/;function ZTt(e,t){return e.parentNode===null?t:ZTt(e.parentNode,t.concat([e]))}var o4e=function(t,n){return getComputedStyle(t,null).getPropertyValue(n)},Hsr=function(t){return o4e(t,"overflow")+o4e(t,"overflow-y")+o4e(t,"overflow-x")},zsr=function(t){return jsr.test(Hsr(t))};function XTt(e){if(e instanceof HTMLElement||e instanceof SVGElement){for(var t=ZTt(e.parentNode,[]),n=0;n<t.length;n+=1)if(zsr(t[n]))return t[n];return document.scrollingElement||document.documentElement}}function a4e(e){"@babel/helpers - typeof";return a4e=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},a4e(e)}var JTt={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 QTt(){return this.items.length&&a4e(this.items[0])!=="object"}var i4e=!1;if(typeof window<"u"){i4e=!1;try{var Wsr=Object.defineProperty({},"passive",{get:function(){i4e=!0}});window.addEventListener("test",null,Wsr)}catch{}}let qsr=0;var YQ={name:"RecycleScroller",components:{ResizeObserver:obe},directives:{ObserveVisibility:Vsr},props:{...JTt,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 o=1e4,a=0,i;for(let s=0,l=t.length;s<l;s++)i=t[s][n]||r,i<o&&(o=i),a+=i,e[s]={accumulator:a,size:i};return this.$_computedMinItemSize=o,e}return[]},simpleArray:QTt,itemIndexByKey(){const{keyField:e,items:t}=this,n={};for(let r=0,o=t.length;r<o;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,o){const a=Su({id:qsr++,index:t,used:!0,key:r,type:o}),i=VEt({item:n,position:0,nr:a});return e.push(i),i},unuseView(e,t=!1){const n=this.$_unusedViews,r=e.nr.type;let o=n.get(r);o||(o=[],n.set(r,o)),o.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,o=this.itemSecondarySize||n,a=this.$_computedMinItemSize,i=this.typeField,s=this.simpleArray?null:this.keyField,l=this.items,u=l.length,d=this.sizes,f=this.$_views,m=this.$_unusedViews,p=this.pool,v=this.itemIndexByKey;let g,w,S,E,x;if(!u)g=w=E=x=S=0;else if(this.$_prerender)g=E=0,w=x=Math.min(this.prerender,l.length),S=null;else{const $=this.getScroll();if(t){let F=$.start-this.$_lastUpdateScrollPosition;if(F<0&&(F=-F),n===null&&F<a||F<n)return{continuous:!0}}this.$_lastUpdateScrollPosition=$.start;const P=this.buffer;$.start-=P,$.end+=P;let U=0;if(this.$refs.before&&(U=this.$refs.before.scrollHeight,$.start-=U),this.$refs.after){const F=this.$refs.after.scrollHeight;$.end+=F}if(n===null){let F,L=0,j=u-1,B=~~(u/2),G;do G=B,F=d[B].accumulator,F<$.start?L=B:B<u-1&&d[B+1].accumulator>$.start&&(j=B),B=~~((L+j)/2);while(B!==G);for(B<0&&(B=0),g=B,S=d[u-1].accumulator,w=B;w<u&&d[w].accumulator<$.end;w++);for(w===-1?w=l.length-1:(w++,w>u&&(w=u)),E=g;E<u&&U+d[E].accumulator<$.start;E++);for(x=E;x<u&&U+d[x].accumulator<$.end;x++);}else{g=~~($.start/n*r);const F=g%r;g-=F,w=Math.ceil($.end/n*r),E=Math.max(0,Math.floor(($.start-U)/n*r)),x=Math.floor(($.end-U)/n*r),g<0&&(g=0),w>u&&(w=u),E<0&&(E=0),x>u&&(x=u),S=Math.ceil(u/r)*n}}w-g>YTt.itemsLimit&&this.itemsLimitError(),this.totalSize=S;let y;const D=g<=this.$_endIndex&&w>=this.$_startIndex;if(D)for(let $=0,P=p.length;$<P;$++)y=p[$],y.nr.used&&(e&&(y.nr.index=v[y.item[s]]),(y.nr.index==null||y.nr.index<g||y.nr.index>=w)&&this.unuseView(y));const k=D?null:new Map;let O,R,I;for(let $=g;$<w;$++){O=l[$];const P=s?O[s]:O;if(P==null)throw new Error(`Key is ${P} on item (keyField is '${s}')`);if(y=f.get(P),!n&&!d[$].size){y&&this.unuseView(y);continue}R=O[i];let U=m.get(R),F=!1;if(!y)D?U&&U.length?y=U.pop():y=this.addView(p,$,O,P,R):(I=k.get(R)||0,(!U||I>=U.length)&&(y=this.addView(p,$,O,P,R),this.unuseView(y,!0),U=m.get(R)),y=U[I],k.set(R,I+1)),f.delete(y.nr.key),y.nr.used=!0,y.nr.index=$,y.nr.key=P,y.nr.type=R,f.set(P,y),F=!0;else if(!y.nr.used&&(y.nr.used=!0,F=!0,U)){const L=U.indexOf(y);L!==-1&&U.splice(L,1)}y.item=O,F&&($===l.length-1&&this.$emit("scroll-end"),$===0&&this.$emit("scroll-start")),n===null?(y.position=d[$-1].accumulator,y.offset=0):(y.position=Math.floor($/r)*n,y.offset=$%r*o)}return this.$_startIndex=g,this.$_endIndex=w,this.emitUpdate&&this.$emit("update",g,w,E,x),clearTimeout(this.$_sortTimer),this.$_sortTimer=setTimeout(this.sortViews,this.updateInterval+300),{continuous:D}},getListenerTarget(){let e=XTt(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 o=e.getBoundingClientRect(),a=n?o.height:o.width;let i=-(n?o.top:o.left),s=n?window.innerHeight:window.innerWidth;i<0&&(s+=i,i=0),i+s>a&&(s=a-i),r={start:i,end:i+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,i4e?{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,o;if(this.pageMode){const a=XTt(this.$el),i=a.tagName==="HTML"?0:a[t.scroll],s=a.getBoundingClientRect(),u=this.$el.getBoundingClientRect()[t.start]-s[t.start];n=a,r=t.scroll,o=e+i+u}else n=this.$el,r=t.scroll,o=e;n[r]=o},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 Ksr={key:0,ref:"before",class:"vue-recycle-scroller__slot"},Gsr={key:1,ref:"after",class:"vue-recycle-scroller__slot"};function Ysr(e,t,n,r,o,a){const i=Tr("ResizeObserver"),s=Ri("observe-visibility");return Tt((W(),me("div",{class:De(["vue-recycle-scroller",{ready:o.ready,"page-mode":n.pageMode,[`direction-${e.direction}`]:!0}]),onScrollPassive:t[0]||(t[0]=(...l)=>a.handleScroll&&a.handleScroll(...l))},[e.$slots.before?(W(),me("div",Ksr,[ft(e.$slots,"before")],512)):Ye("v-if",!0),(W(),st(Bd(n.listTag),{ref:"wrapper",style:dn({[e.direction==="vertical"?"minHeight":"minWidth"]:o.totalSize+"px"}),class:De(["vue-recycle-scroller__item-wrapper",n.listClass])},{default:je(()=>[(W(!0),me(qt,null,bn(o.pool,l=>(W(),st(Bd(n.itemTag),on({key:l.nr.id,style:o.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&&o.hoverKey===l.nr.key}]]},mrr(n.skipHover?{}:{mouseenter:()=>{o.hoverKey=l.nr.key},mouseleave:()=>{o.hoverKey=null}})),{default:je(()=>[ft(e.$slots,"default",{item:l.item,index:l.nr.index,active:l.nr.used})]),_:2},1040,["style","class"]))),128)),ft(e.$slots,"empty")]),_:3},8,["style","class"])),e.$slots.after?(W(),me("div",Gsr,[ft(e.$slots,"after")],512)):Ye("v-if",!0),Me(i,{onNotify:a.handleResize},null,8,["onNotify"])],34)),[[s,a.handleVisibilityChange]])}YQ.render=Ysr,YQ.__file="src/components/RecycleScroller.vue";var ibe={name:"DynamicScroller",components:{RecycleScroller:YQ},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 o=t.borderBoxSize[0];n=o.inlineSize,r=o.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:{...JTt,minItemSize:{type:[Number,String],required:!0}},emits:["resize","visible"],data(){return{vscrollData:{active:!0,sizes:{},keyField:this.keyField,simpleArray:!1}}},computed:{simpleArray:QTt,itemsWithSize(){const e=[],{items:t,keyField:n,simpleArray:r}=this,o=this.vscrollData.sizes,a=t.length;for(let i=0;i<a;i++){const s=t[i],l=r?i:s[n];let u=o[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,o=0;const a=Math.min(e.length,t.length);for(let s=0;s<a&&!(r>=n);s++)r+=t[s].size||this.minItemSize,o+=e[s].size||this.minItemSize;const i=o-r;i!==0&&(this.$el.scrollTop+=i)}},beforeCreate(){this.$_updates=[],this.$_undefinedSizes=0,this.$_undefinedMap={},this.$_events=Usr()},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 Zsr(e,t,n,r,o,a){const i=Tr("RecycleScroller");return W(),st(i,on({ref:"scroller",items:a.itemsWithSize,"min-item-size":n.minItemSize,direction:e.direction,"key-field":"id","list-tag":e.listTag,"item-tag":e.itemTag},e.$attrs,{onResize:a.onScrollerResize,onVisible:a.onScrollerVisible}),{default:je(({item:s,index:l,active:u})=>[ft(e.$slots,"default",Ti(Ks({item:s.item,index:l,active:u,itemWithSize:s})))]),before:je(()=>[ft(e.$slots,"before")]),after:je(()=>[ft(e.$slots,"after")]),empty:je(()=>[ft(e.$slots,"empty")]),_:3},16,["items","min-item-size","direction","list-tag","item-tag","onResize","onVisible"])}ibe.render=Zsr,ibe.__file="src/components/DynamicScroller.vue";var s4e={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 Pi(this.tag,this.$slots.default())}};s4e.__file="src/components/DynamicScrollerItem.vue";function Xsr(e,t){e.component("".concat(t,"recycle-scroller"),YQ),e.component("".concat(t,"RecycleScroller"),YQ),e.component("".concat(t,"dynamic-scroller"),ibe),e.component("".concat(t,"DynamicScroller"),ibe),e.component("".concat(t,"dynamic-scroller-item"),s4e),e.component("".concat(t,"DynamicScrollerItem"),s4e)}var Jsr={version:"2.0.0-beta.8",install:function(t,n){var r=Object.assign({},{installComponents:!0,componentsPrefix:""},n);for(var o in r)typeof r[o]<"u"&&(YTt[o]=r[o]);r.installComponents&&Xsr(t,r.componentsPrefix)}};const Qsr=(e,t)=>{const n=a=>t._s.get(a),r=(a,i,s)=>{const l=n(a);return l&&i in l?(l[i](s),!0):(console.warn(`[initWebScene] Store "${a}" or dispactcher "${i}" not found`),!1)};function o(a){var i,s;(s=(i=e==null?void 0:e.config)==null?void 0:i.globalProperties)==null||s.setStoreValue("scene","setCurrentSceneTabId",a)}return e.config.globalProperties.setStoreValue=r,e.config.globalProperties.handleSetTab=o,{handleSetTab:o}},elr="0.26.6-alpha.9",tlr={"@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":"0.0.18","@arbocollab/arbo-table-component":"1.0.1","@arbocollab/arbo-ui-components":"npm:@arbocollab/arbo-ui-components-beta@0.0.376-alpha.119","@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 Si=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ZQ(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function nlr(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 o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),n}var eOt={exports:{}};(function(e,t){(function(n,r){e.exports=r()})(Si,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.