@object-ui/runner 17.5.0 → 17.6.0
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/CHANGELOG.md +123 -0
- package/dist/assets/AdvancedChartImpl-CTaMIhqa.js +15 -0
- package/dist/assets/{KanbanEnhanced-gZ2DoXaI.js → KanbanEnhanced-D3HOpSiH.js} +1 -1
- package/dist/assets/KanbanImpl-BUSDYa6l.js +1 -0
- package/dist/assets/angle-Bwjqgf_-.js +1 -0
- package/dist/assets/audio-lines-x-KsZzfN0r.js +1 -0
- package/dist/assets/broom-D2Xmogfv.js +1 -0
- package/dist/assets/broom-sparkles-c14sHtvc.js +1 -0
- package/dist/assets/eject-DussYHSl.js +1 -0
- package/dist/assets/face-angry-DxoN90fX.js +1 -0
- package/dist/assets/face-expressionless-D1rveOOI.js +1 -0
- package/dist/assets/face-grinning-D0vZ0cTU.js +1 -0
- package/dist/assets/face-neutral-BRXhBdCZ.js +1 -0
- package/dist/assets/face-slightly-frowning-BhQErpHc.js +1 -0
- package/dist/assets/face-slightly-smiling-b71WsjHk.js +1 -0
- package/dist/assets/face-slightly-smiling-plus-BoWP0URF.js +1 -0
- package/dist/assets/{file-size-guard-Bvd9PSxz.js → file-size-guard-tnkLyQr7.js} +1 -1
- package/dist/assets/index-CwK3MSic.js +24 -0
- package/dist/assets/mail-badge-mDkKdD2m.js +1 -0
- package/dist/assets/shield-lock-RahfGDM9.js +1 -0
- package/dist/assets/src-CfXfM11v.js +333 -0
- package/dist/assets/toDomProps-CTEtNmX_.js +1 -0
- package/dist/assets/toHostGroupProps-DeJx2IHQ.js +1 -0
- package/dist/assets/useCascadingOptions-CAy7jpFx.js +1 -0
- package/dist/assets/useFieldTranslation-CDE2z7Kx.js +1 -0
- package/dist/index.html +1 -1
- package/package.json +9 -9
- package/dist/assets/AdvancedChartImpl-DhfjGdww.js +0 -15
- package/dist/assets/KanbanImpl-DXaKirnP.js +0 -1
- package/dist/assets/angry-CgDbGPqG.js +0 -1
- package/dist/assets/annoyed-BVtDxHTD.js +0 -1
- package/dist/assets/frown-CK3kfDf8.js +0 -1
- package/dist/assets/index-DzcxOHh9.js +0 -24
- package/dist/assets/laugh-BDno6Xup.js +0 -1
- package/dist/assets/meh-BFl8rKCx.js +0 -1
- package/dist/assets/smile-BOrzU3R7.js +0 -1
- package/dist/assets/smile-plus-VgFnFy_l.js +0 -1
- package/dist/assets/src-DJrZTqQ7.js +0 -218
- package/dist/assets/toDomProps-CrC81Mwk.js +0 -1
- package/dist/assets/toHostGroupProps-BTRc5zGJ.js +0 -1
- package/dist/assets/useCascadingOptions-C2sZ0m-r.js +0 -1
- package/dist/assets/useFieldTranslation-CCaoo4rq.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,t}from"./react-SIfiwpqq.js";import{A as n}from"./ResponsiveContainer-DbCKGpCA.js";import{t as r}from"./jsx-runtime-0vZSBttN.js";import{Cn as i,J as a,Pt as o,_t as s,gt as c,hn as l,ht as u,mt as d,vt as f,yt as p}from"./src-DJrZTqQ7.js";import{t as m}from"./chevron-down-BWrtSiKK.js";import{t as h}from"./chevron-right-mnqiTCea.js";import{t as g}from"./plus-CULqGijX.js";import{t as _}from"./triangle-alert-CkaCRQXz.js";import{a as v,d as y,f as b,i as x,l as ee,n as S,o as C,r as w,s as T,t as E,u as D}from"./sortable.esm-1AB5gM5m.js";var O=e(t(),1),te=e(n(),1);function ne(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function k(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function A(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var j=(e,t)=>Math.abs(e-t)<1.01,M=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},N,P=()=>{if(N!==void 0)return N;if(typeof navigator>`u`)return N=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return N=!0;let e=navigator.maxTouchPoints;return N=navigator.platform===`MacIntel`&&e!==void 0&&e>0},F=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},I=e=>e,L=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},R=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(F(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(F(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},z={passive:!0},B=typeof window>`u`||`onscrollend`in window,V=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&B,o=0,s=a?null:M(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,z),a&&r.addEventListener(`scrollend`,u,z),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},H=(e,t)=>V(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),U=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},W=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},G=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:I,rangeExtractor:L,onChange:()=>{},measureElement:U,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=Math.max(0,e.start+t);n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=k(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!P()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,z),e.addEventListener(`touchend`,n,z),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(P()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=k(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.getMeasurements=k(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._flatMeasurements;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e,this._flatMeasurements=a}let o;if(u===0)o=t+n;else{let e=u-1;o=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t),n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=o,a[t*2+1]=i,o+=i+s}let c=ne(e,a,r);return this.measurementsCache=c,c}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=k(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=J(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=k(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=this.itemSizeCache.get(i)??n,s=t-o;if(s!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,c=a?this.getTotalSize():0,l=this.getScrollOffset()+this.scrollAdjustments,u=this.itemSizeCache.has(i)?r+o<=l&&this.scrollDirection!==`backward`:r<l,d=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?u:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},s,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++;let f=!1;a?f=this.applyScrollAdjustment(this.getTotalSize()-c):d&&(f=this.applyScrollAdjustment(s)),this.notify(f)}},this.getVirtualItems=k(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return A(t[K(0,t.length-1,r?e=>n[e*2]:e=>A(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){return e===0?!1:P()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=e,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&j(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},K=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function q(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function J(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=q(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=K(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var Y=typeof document<`u`?O.useLayoutEffect:O.useEffect;function re({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=O.useReducer(e=>e+1,0)[1],a=O.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},s=e=>{let t=a.current;if(!t.enabled||!t.container)return;o(e);let n=!!e.options.horizontal,r=t.mode===`transform`,i=n?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let a of c){let o=a.start-s,c=e.elementsCache.get(a.key);c&&t.lastPositions.get(c)!==o&&(t.lastPositions.set(c,o),r?c.style.transform=n?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:c.style[i]=`${o}px`)}},c={...r,onChange:(t,n)=>{var o;let c=a.current,l=!0;if(c.enabled){s(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,te.flushSync)(i):i()),(o=r.onChange)==null||o.call(r,t,n)}},[l]=O.useState(()=>{let e=new G(c);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return l.setOptions(c),Y(()=>l._didMount(),[]),Y(()=>(o(l),l._willUpdate())),Y(()=>{s(l)}),l}function ie(e){return re({observeElementRect:R,observeElementOffset:H,scrollToFn:W,...e})}var X=r(),Z=(...e)=>e.filter(Boolean).join(` `);function ae(e,t,n){return i(e,t,n)}function Q({card:e,conditionalFormatting:t}){let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:m}=w({id:e.id}),h={transform:b.Transform.toString(a),transition:o,opacity:m?.5:void 0},g=ae(e,t,l());return(0,X.jsx)(`div`,{ref:i,style:h,...n,...r,children:(0,X.jsxs)(d,{className:`mb-2 cursor-grab active:cursor-grabbing border-border bg-card/60 hover:border-primary/40 hover:shadow-lg hover:shadow-primary/10 transition-all duration-300 group`,style:g,children:[e.coverImage&&(0,X.jsx)(`div`,{className:`w-full h-32 overflow-hidden rounded-t-lg`,children:(0,X.jsx)(`img`,{src:e.coverImage,alt:``,className:`w-full h-full object-cover`,loading:`lazy`})}),(0,X.jsxs)(s,{className:`p-4`,children:[(0,X.jsx)(f,{className:`text-sm font-medium tracking-tight text-foreground group-hover:text-primary transition-colors`,children:e.title}),e.description&&(0,X.jsx)(c,{className:`text-xs text-muted-foreground`,children:e.description})]}),e.badges&&e.badges.length>0&&(0,X.jsx)(u,{className:`p-4 pt-0`,children:(0,X.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.badges.map((e,t)=>(0,X.jsx)(p,{variant:e.colorClass?`outline`:e.variant||`default`,className:Z(`text-xs font-normal`,e.colorClass),children:e.label},t))})})]})})}function oe({cards:e,parentRef:t,conditionalFormatting:n}){let r=ie({count:e.length,getScrollElement:()=>t.current,estimateSize:()=>120,overscan:5});return(0,X.jsx)(`div`,{style:{height:`${r.getTotalSize()}px`,width:`100%`,position:`relative`},children:r.getVirtualItems().map(t=>{let r=e[t.index];return(0,X.jsx)(`div`,{style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${t.start}px)`},children:(0,X.jsx)(Q,{card:r,conditionalFormatting:n})},r.id)})})}function se({columnId:e,onAdd:t}){let[n,r]=O.useState(!1),[i,s]=O.useState(``),c=O.useRef(null),l=()=>{let n=i.trim();n&&(t(e,n),s(``)),r(!1)};return n?(0,X.jsx)(`div`,{className:`mt-2 space-y-2`,children:(0,X.jsx)(a,{ref:c,value:i,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),l()):e.key===`Escape`&&(s(``),r(!1))},onBlur:l,placeholder:`Enter card title...`,className:`text-sm`,autoFocus:!0})}):(0,X.jsxs)(o,{variant:`ghost`,size:`sm`,className:`w-full mt-2 text-muted-foreground hover:text-foreground`,onClick:()=>{r(!0),setTimeout(()=>c.current?.focus(),0)},children:[(0,X.jsx)(g,{className:`h-4 w-4 mr-1`}),`Add Card`]})}function ce({column:e,cards:t,onToggle:n,enableVirtual:r,quickAdd:i,onQuickAdd:a,conditionalFormatting:s}){let c=t||[],l=O.useRef(null),{setNodeRef:u}=w({id:e.id,data:{type:`column`}}),d=e.limit&&c.length>=e.limit,f=e.limit&&c.length>=e.limit*.8;return(0,X.jsxs)(`div`,{ref:u,className:Z(`flex flex-col shrink-0 rounded-lg border border-border bg-card/20 backdrop-blur-sm shadow-xl transition-all`,e.collapsed?`w-16`:`w-80`,e.className),children:[(0,X.jsxs)(`div`,{className:`p-4 border-b border-border/50 bg-muted/20 flex items-center justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:[(0,X.jsx)(o,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:()=>n(!e.collapsed),children:e.collapsed?(0,X.jsx)(h,{className:`h-4 w-4`}):(0,X.jsx)(m,{className:`h-4 w-4`})}),!e.collapsed&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`h3`,{className:` text-sm font-semibold tracking-wider text-primary/90 uppercase truncate`,children:e.title}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsxs)(`span`,{className:Z(` text-xs`,d?`text-destructive`:f?`text-yellow-500`:`text-muted-foreground`),children:[c.length,e.limit&&` / ${e.limit}`]}),d&&(0,X.jsx)(p,{variant:`destructive`,className:`text-xs`,children:`Full`}),f&&!d&&(0,X.jsx)(_,{className:`h-3 w-3 text-yellow-500`})]})]})]}),e.collapsed&&(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,X.jsx)(`span`,{className:` text-xs font-bold text-primary/90 [writing-mode:vertical-rl] rotate-180`,children:e.title}),(0,X.jsx)(p,{variant:`secondary`,className:`text-xs`,children:c.length})]})]}),!e.collapsed&&(0,X.jsxs)(`div`,{ref:l,className:`flex-1 p-4 overflow-y-auto`,style:{maxHeight:`600px`},children:[(0,X.jsx)(E,{items:c.map(e=>e.id),strategy:x,children:r?(0,X.jsx)(oe,{cards:c,parentRef:l,conditionalFormatting:s}):(0,X.jsx)(`div`,{className:`space-y-2`,children:c.map(e=>(0,X.jsx)(Q,{card:e,conditionalFormatting:s},e.id))})}),i&&a&&(0,X.jsx)(se,{columnId:e.id,onAdd:a})]})]})}function $({columns:e,onCardMove:t,onColumnToggle:n,enableVirtualScrolling:r=!1,virtualScrollThreshold:i=50,className:a,quickAdd:o,onQuickAdd:s,conditionalFormatting:c}){let[l,u]=O.useState(null),d=O.useMemo(()=>(e||[]).map(e=>({...e,cards:e.cards||[]})),[e]),[f,p]=O.useState(d);O.useEffect(()=>{p(d)},[d]);let m=y(D(T,{activationConstraint:{distance:8}})),h=e=>{let{active:t}=e,n=_(t.id);u(n)},g=e=>{let{active:n,over:r}=e;if(u(null),!r)return;let i=n.id,a=r.id;if(i===a)return;let o=b(i),s=b(a)||x(a);if(!(!o||!s)){if(o.id===s.id){let e=[...o.cards],t=e.findIndex(e=>e.id===i),n=e.findIndex(e=>e.id===a),r=S(e,t,n);p(e=>e.map(e=>e.id===o.id?{...e,cards:r}:e))}else{let e=[...o.cards],n=[...s.cards],r=e.findIndex(e=>e.id===i),c=a===s.id?n.length:n.findIndex(e=>e.id===a),[l]=e.splice(r,1);n.splice(c,0,l),p(t=>t.map(t=>t.id===o.id?{...t,cards:e}:t.id===s.id?{...t,cards:n}:t)),t&&t(i,o.id,s.id,c)}}},_=O.useCallback(e=>{for(let t of f){let n=t.cards.find(t=>t.id===e);if(n)return n}return null},[f]),b=O.useCallback(e=>f.find(t=>t.cards.some(t=>t.id===e))||null,[f]),x=O.useCallback(e=>f.find(t=>t.id===e)||null,[f]),w=O.useCallback((e,t)=>{p(n=>n.map(n=>n.id===e?{...n,collapsed:t}:n)),n?.(e,t)},[n]);return(0,X.jsxs)(v,{sensors:m,collisionDetection:ee,onDragStart:h,onDragEnd:g,children:[(0,X.jsx)(`div`,{className:Z(`flex gap-4 overflow-x-auto p-4`,a),children:f.map(e=>{let t=r&&e.cards.length>i;return(0,X.jsx)(ce,{column:e,cards:e.cards,onToggle:t=>w(e.id,t),enableVirtual:t,quickAdd:o,onQuickAdd:s,conditionalFormatting:c},e.id)})}),(0,X.jsx)(C,{children:l?(0,X.jsx)(Q,{card:l,conditionalFormatting:c}):null})]})}export{$ as KanbanEnhanced,$ as default};
|
|
1
|
+
import{i as e,t}from"./react-SIfiwpqq.js";import{A as n}from"./ResponsiveContainer-DbCKGpCA.js";import{t as r}from"./jsx-runtime-0vZSBttN.js";import{Dn as i,Ft as a,Y as o,_t as s,bt as c,gn as l,gt as u,ht as d,vt as f,yt as p}from"./src-CfXfM11v.js";import{t as m}from"./chevron-down-BWrtSiKK.js";import{t as h}from"./chevron-right-mnqiTCea.js";import{t as g}from"./plus-CULqGijX.js";import{t as _}from"./triangle-alert-CkaCRQXz.js";import{a as v,d as y,f as b,i as x,l as ee,n as S,o as C,r as w,s as T,t as E,u as D}from"./sortable.esm-1AB5gM5m.js";var O=e(t(),1),te=e(n(),1);function ne(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function k(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function A(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var j=(e,t)=>Math.abs(e-t)<1.01,M=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},N,P=()=>{if(N!==void 0)return N;if(typeof navigator>`u`)return N=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return N=!0;let e=navigator.maxTouchPoints;return N=navigator.platform===`MacIntel`&&e!==void 0&&e>0},F=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},I=e=>e,L=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},R=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(F(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(F(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},z={passive:!0},B=typeof window>`u`||`onscrollend`in window,V=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&B,o=0,s=a?null:M(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,z),a&&r.addEventListener(`scrollend`,u,z),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},H=(e,t)=>V(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),U=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},W=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},G=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:I,rangeExtractor:L,onChange:()=>{},measureElement:U,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=Math.max(0,e.start+t);n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=k(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!P()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,z),e.addEventListener(`touchend`,n,z),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(P()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;if(this._iosDeferredAdjustment<0&&e>=t-1){this._iosDeferredAdjustment=0;return}let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=k(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.getMeasurements=k(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._flatMeasurements;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e,this._flatMeasurements=a}let o;if(u===0)o=t+n;else{let e=u-1;o=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t),n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=o,a[t*2+1]=i,o+=i+s}let c=ne(e,a,r);return this.measurementsCache=c,c}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=k(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=J(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=k(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=this.itemSizeCache.get(i)??n,s=t-o;if(s!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,c=a?this.getTotalSize():0,l=this.getScrollOffset()+this.scrollAdjustments,u=this.itemSizeCache.has(i)?r+o<=l&&this.scrollDirection!==`backward`:r<l,d=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?u:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},s,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++;let f=!1;a?f=this.applyScrollAdjustment(this.getTotalSize()-c):d&&(f=this.applyScrollAdjustment(s)),this.notify(f)}},this.getVirtualItems=k(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return A(t[K(0,t.length-1,r?e=>n[e*2]:e=>A(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0;let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{this._iosDeferredAdjustment=0,e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){return e===0?!1:P()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=e,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&j(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},K=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function q(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function J(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=q(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=K(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var Y=typeof document<`u`?O.useLayoutEffect:O.useEffect;function re({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=O.useReducer(e=>e+1,0)[1],a=O.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},s=e=>{let t=a.current;if(!t.enabled||!t.container)return;o(e);let n=!!e.options.horizontal,r=t.mode===`transform`,i=n?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let a of c){let o=a.start-s,c=e.elementsCache.get(a.key);c&&t.lastPositions.get(c)!==o&&(t.lastPositions.set(c,o),r?c.style.transform=n?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:c.style[i]=`${o}px`)}},c={...r,onChange:(t,n)=>{var o;let c=a.current,l=!0;if(c.enabled){s(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,te.flushSync)(i):i()),(o=r.onChange)==null||o.call(r,t,n)}},[l]=O.useState(()=>{let e=new G(c);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return l.setOptions(c),Y(()=>l._didMount(),[]),Y(()=>(o(l),l._willUpdate())),Y(()=>{s(l)}),l}function ie(e){return re({observeElementRect:R,observeElementOffset:H,scrollToFn:W,...e})}var X=r(),Z=(...e)=>e.filter(Boolean).join(` `);function ae(e,t,n){return i(e,t,n)}function Q({card:e,conditionalFormatting:t}){let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:m}=w({id:e.id}),h={transform:b.Transform.toString(a),transition:o,opacity:m?.5:void 0},g=ae(e,t,l());return(0,X.jsx)(`div`,{ref:i,style:h,...n,...r,children:(0,X.jsxs)(d,{className:`mb-2 cursor-grab active:cursor-grabbing border-border bg-card/60 hover:border-primary/40 hover:shadow-lg hover:shadow-primary/10 transition-all duration-300 group`,style:g,children:[e.coverImage&&(0,X.jsx)(`div`,{className:`w-full h-32 overflow-hidden rounded-t-lg`,children:(0,X.jsx)(`img`,{src:e.coverImage,alt:``,className:`w-full h-full object-cover`,loading:`lazy`})}),(0,X.jsxs)(f,{className:`p-4`,children:[(0,X.jsx)(p,{className:`text-sm font-medium tracking-tight text-foreground group-hover:text-primary transition-colors`,children:e.title}),e.description&&(0,X.jsx)(s,{className:`text-xs text-muted-foreground`,children:e.description})]}),e.badges&&e.badges.length>0&&(0,X.jsx)(u,{className:`p-4 pt-0`,children:(0,X.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.badges.map((e,t)=>(0,X.jsx)(c,{variant:e.colorClass?`outline`:e.variant||`default`,className:Z(`text-xs font-normal`,e.colorClass),style:e.colorStyle,children:e.label},t))})})]})})}function oe({cards:e,parentRef:t,conditionalFormatting:n}){let r=ie({count:e.length,getScrollElement:()=>t.current,estimateSize:()=>120,overscan:5});return(0,X.jsx)(`div`,{style:{height:`${r.getTotalSize()}px`,width:`100%`,position:`relative`},children:r.getVirtualItems().map(t=>{let r=e[t.index];return(0,X.jsx)(`div`,{style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${t.start}px)`},children:(0,X.jsx)(Q,{card:r,conditionalFormatting:n})},r.id)})})}function se({columnId:e,onAdd:t}){let[n,r]=O.useState(!1),[i,s]=O.useState(``),c=O.useRef(null),l=()=>{let n=i.trim();n&&(t(e,n),s(``)),r(!1)};return n?(0,X.jsx)(`div`,{className:`mt-2 space-y-2`,children:(0,X.jsx)(o,{ref:c,value:i,onChange:e=>s(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),l()):e.key===`Escape`&&(s(``),r(!1))},onBlur:l,placeholder:`Enter card title...`,className:`text-sm`,autoFocus:!0})}):(0,X.jsxs)(a,{variant:`ghost`,size:`sm`,className:`w-full mt-2 text-muted-foreground hover:text-foreground`,onClick:()=>{r(!0),setTimeout(()=>c.current?.focus(),0)},children:[(0,X.jsx)(g,{className:`h-4 w-4 mr-1`}),`Add Card`]})}function ce({column:e,cards:t,onToggle:n,enableVirtual:r,quickAdd:i,onQuickAdd:o,conditionalFormatting:s}){let l=t||[],u=O.useRef(null),{setNodeRef:d}=w({id:e.id,data:{type:`column`}}),f=e.limit&&l.length>=e.limit,p=e.limit&&l.length>=e.limit*.8;return(0,X.jsxs)(`div`,{ref:d,className:Z(`flex flex-col shrink-0 rounded-lg border border-border bg-card/20 backdrop-blur-sm shadow-xl transition-all`,e.collapsed?`w-16`:`w-80`,e.className),children:[(0,X.jsxs)(`div`,{className:`p-4 border-b border-border/50 bg-muted/20 flex items-center justify-between`,children:[(0,X.jsxs)(`div`,{className:`flex items-center gap-2 flex-1 min-w-0`,children:[(0,X.jsx)(a,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:()=>n(!e.collapsed),children:e.collapsed?(0,X.jsx)(h,{className:`h-4 w-4`}):(0,X.jsx)(m,{className:`h-4 w-4`})}),!e.collapsed&&(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(`h3`,{className:` text-sm font-semibold tracking-wider text-primary/90 uppercase truncate`,children:e.title}),(0,X.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,X.jsxs)(`span`,{className:Z(` text-xs`,f?`text-destructive`:p?`text-yellow-500`:`text-muted-foreground`),children:[l.length,e.limit&&` / ${e.limit}`]}),f&&(0,X.jsx)(c,{variant:`destructive`,className:`text-xs`,children:`Full`}),p&&!f&&(0,X.jsx)(_,{className:`h-3 w-3 text-yellow-500`})]})]})]}),e.collapsed&&(0,X.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,X.jsx)(`span`,{className:` text-xs font-bold text-primary/90 [writing-mode:vertical-rl] rotate-180`,children:e.title}),(0,X.jsx)(c,{variant:`secondary`,className:`text-xs`,children:l.length})]})]}),!e.collapsed&&(0,X.jsxs)(`div`,{ref:u,className:`flex-1 p-4 overflow-y-auto`,style:{maxHeight:`600px`},children:[(0,X.jsx)(E,{items:l.map(e=>e.id),strategy:x,children:r?(0,X.jsx)(oe,{cards:l,parentRef:u,conditionalFormatting:s}):(0,X.jsx)(`div`,{className:`space-y-2`,children:l.map(e=>(0,X.jsx)(Q,{card:e,conditionalFormatting:s},e.id))})}),i&&o&&(0,X.jsx)(se,{columnId:e.id,onAdd:o})]})]})}function $({columns:e,onCardMove:t,onColumnToggle:n,enableVirtualScrolling:r=!1,virtualScrollThreshold:i=50,className:a,quickAdd:o,onQuickAdd:s,conditionalFormatting:c}){let[l,u]=O.useState(null),d=O.useMemo(()=>(e||[]).map(e=>({...e,cards:e.cards||[]})),[e]),[f,p]=O.useState(d);O.useEffect(()=>{p(d)},[d]);let m=y(D(T,{activationConstraint:{distance:8}})),h=e=>{let{active:t}=e,n=_(t.id);u(n)},g=e=>{let{active:n,over:r}=e;if(u(null),!r)return;let i=n.id,a=r.id;if(i===a)return;let o=b(i),s=b(a)||x(a);if(!(!o||!s)){if(o.id===s.id){let e=[...o.cards],t=e.findIndex(e=>e.id===i),n=e.findIndex(e=>e.id===a),r=S(e,t,n);p(e=>e.map(e=>e.id===o.id?{...e,cards:r}:e))}else{let e=[...o.cards],n=[...s.cards],r=e.findIndex(e=>e.id===i),c=a===s.id?n.length:n.findIndex(e=>e.id===a),[l]=e.splice(r,1);n.splice(c,0,l),p(t=>t.map(t=>t.id===o.id?{...t,cards:e}:t.id===s.id?{...t,cards:n}:t)),t&&t(i,o.id,s.id,c)}}},_=O.useCallback(e=>{for(let t of f){let n=t.cards.find(t=>t.id===e);if(n)return n}return null},[f]),b=O.useCallback(e=>f.find(t=>t.cards.some(t=>t.id===e))||null,[f]),x=O.useCallback(e=>f.find(t=>t.id===e)||null,[f]),w=O.useCallback((e,t)=>{p(n=>n.map(n=>n.id===e?{...n,collapsed:t}:n)),n?.(e,t)},[n]);return(0,X.jsxs)(v,{sensors:m,collisionDetection:ee,onDragStart:h,onDragEnd:g,children:[(0,X.jsx)(`div`,{className:Z(`flex gap-4 overflow-x-auto p-4`,a),children:f.map(e=>{let t=r&&e.cards.length>i;return(0,X.jsx)(ce,{column:e,cards:e.cards,onToggle:t=>w(e.id,t),enableVirtual:t,quickAdd:o,onQuickAdd:s,conditionalFormatting:c},e.id)})}),(0,X.jsx)(C,{children:l?(0,X.jsx)(Q,{card:l,conditionalFormatting:c}):null})]})}export{$ as KanbanEnhanced,$ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./jsx-runtime-0vZSBttN.js";import{Dn as r,Ft as i,U as a,Xt as o,Y as s,_t as c,bt as l,gn as u,gt as d,ht as f,n as p,on as m,sn as h,t as g,vt as _,yt as v}from"./src-CfXfM11v.js";import{t as y}from"./plus-CULqGijX.js";import{a as b,c as x,d as S,f as C,i as w,l as T,n as E,o as D,r as O,s as k,t as A,u as j}from"./sortable.esm-1AB5gM5m.js";var M=e(t(),1),N=n(),P=(...e)=>e.filter(Boolean).join(` `),F=o({"kanban.addCard":`Add card`,"kanban.noCards":`No cards`,"kanban.cardTitlePlaceholder":`Enter card title…`},`kanban.noCards`),I=`Uncategorized`;function L(e,t,n,i){return r(e,t,n,i)}function R({card:e,onCardClick:t,conditionalFormatting:n,objectFields:r}){let{attributes:i,listeners:a,setNodeRef:o,transform:s,transition:p,isDragging:m}=O({id:e.id}),h={transform:C.Transform.toString(s),transition:p,opacity:m?.5:void 0},g=L(e,n,u(),r);return(0,N.jsx)(`div`,{ref:o,style:h,...i,...a,role:`listitem`,"aria-label":e.title,onClick:n=>t?.(e,n),children:(0,N.jsxs)(f,{className:`mb-2 cursor-grab active:cursor-grabbing border-border border-l-4 border-l-primary/40 bg-card/60 hover:border-primary/40 hover:shadow-lg hover:shadow-primary/10 transition-all duration-300 group touch-manipulation`,style:g,children:[e.coverImage&&(0,N.jsx)(`div`,{className:`w-full h-32 overflow-hidden rounded-t-lg`,children:(0,N.jsx)(`img`,{src:e.coverImage,alt:``,className:`w-full h-full object-cover`,loading:`lazy`})}),(0,N.jsxs)(_,{className:`p-2 sm:p-4 pb-2`,children:[(0,N.jsx)(v,{className:`text-xs sm:text-sm font-semibold tracking-tight text-foreground group-hover:text-primary transition-colors leading-snug line-clamp-2`,children:e.title}),!(e.cardFieldCells&&e.cardFieldCells.length>0)&&(e.cardSubtitle??e.description)&&(0,N.jsx)(c,{className:`text-xs text-muted-foreground line-clamp-2 sm:line-clamp-none`,children:e.cardSubtitle??e.description})]}),(e.cardFieldCells&&e.cardFieldCells.length>0||e.badges&&e.badges.length>0)&&(0,N.jsxs)(d,{className:`p-2 sm:p-4 pt-0 space-y-1.5`,children:[e.cardFieldCells&&e.cardFieldCells.length>0&&(0,N.jsx)(`dl`,{className:`space-y-1 text-xs`,children:e.cardFieldCells.map(e=>(0,N.jsxs)(`div`,{className:`min-w-0 truncate text-foreground/85`,title:e.label||e.field,children:[(0,N.jsx)(`dt`,{className:`sr-only`,children:e.label||e.field}),(0,N.jsx)(`dd`,{className:`min-w-0 truncate`,children:e.node})]},e.field))}),e.badges&&e.badges.length>0&&(0,N.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.badges.map((e,t)=>(0,N.jsx)(l,{variant:e.colorClass?`outline`:e.variant||`default`,className:P(`text-xs font-normal`,e.colorClass),style:e.colorStyle,children:e.label},t))})]})]})})}function z({columnId:e,onAdd:t}){let{t:n}=F(),[r,a]=M.useState(!1),[o,c]=M.useState(``),l=M.useRef(null),u=()=>{let n=o.trim();n&&(t(e,n),c(``)),a(!1)};return r?(0,N.jsx)(`div`,{className:`mt-2 space-y-2`,children:(0,N.jsx)(s,{ref:l,value:o,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),u()):e.key===`Escape`&&(c(``),a(!1))},onBlur:u,placeholder:n(`kanban.cardTitlePlaceholder`),className:`text-sm`,autoFocus:!0})}):(0,N.jsxs)(i,{variant:`ghost`,size:`sm`,className:`w-full mt-2 text-muted-foreground hover:text-foreground`,onClick:()=>{a(!0),setTimeout(()=>l.current?.focus(),0)},children:[(0,N.jsx)(y,{className:`h-4 w-4 mr-1`}),n(`kanban.addCard`)]})}function B({column:e,cards:t,onCardClick:n,quickAdd:r,onQuickAdd:i,conditionalFormatting:o,objectFields:s,columnStyle:c,suppressEmptyPlaceholder:u}){let{t:d}=F(),f=t||[],{setNodeRef:p,isOver:m}=O({id:e.id,data:{type:`column`}}),h=e.limit&&f.length>=e.limit,g=c&&c.width!=null?`shrink-0`:`w-[85vw] sm:w-80 shrink-0`;return(0,N.jsxs)(`div`,{ref:p,role:`group`,"aria-label":e.title,style:c,className:P(`relative flex flex-col rounded-xl border border-border/60 bg-muted/15 snap-start max-h-full min-h-0 transition-all duration-200 shadow-sm hover:shadow-md overflow-hidden`,g,m&&`ring-2 ring-primary/60 bg-primary/5`,e.className),children:[(0,N.jsx)(`div`,{className:`px-3 sm:px-4 pt-3 pb-2.5 border-b border-border/40`,children:(0,N.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,N.jsx)(`h3`,{id:`kanban-col-${e.id}`,className:`text-xs sm:text-[13px] font-semibold tracking-tight truncate text-foreground/85 uppercase`,children:e.title}),(0,N.jsxs)(`div`,{className:`flex items-center gap-1.5 shrink-0`,children:[(0,N.jsxs)(`span`,{className:P(`inline-flex items-center justify-center min-w-[22px] h-[20px] px-1.5 rounded-md text-[11px] font-medium tabular-nums`,h?`bg-destructive/10 text-destructive ring-1 ring-inset ring-destructive/30`:`bg-muted/70 text-muted-foreground`),children:[f.length,e.limit&&(0,N.jsx)(`span`,{className:`text-muted-foreground/70 font-normal`,children:` / ${e.limit}`})]}),h&&(0,N.jsx)(l,{variant:`destructive`,className:`text-[10px] h-[20px] px-1.5`,children:`Full`})]})]})}),(0,N.jsxs)(a,{className:`flex-1 p-4`,children:[(0,N.jsx)(A,{items:f.map(e=>e.id),strategy:w,children:(0,N.jsxs)(`div`,{className:`space-y-2`,role:`list`,"aria-label":`${e.title} cards`,children:[f.length===0&&!u&&(0,N.jsxs)(`div`,{className:P(`flex flex-col items-center justify-center py-6 rounded-md border-2 border-dashed transition-colors gap-1`,m?`border-primary/60 bg-primary/10 text-primary`:`border-border/40 text-muted-foreground/60`),children:[!m&&r&&i&&(0,N.jsx)(y,{className:`h-3.5 w-3.5 opacity-60`,"aria-hidden":!0}),(0,N.jsxs)(`span`,{className:`text-xs`,children:[m?`↓ `:``,d(`kanban.noCards`)]})]}),f.map(e=>(0,N.jsx)(R,{card:e,onCardClick:n,conditionalFormatting:o,objectFields:s},e.id))]})}),r&&i&&(0,N.jsx)(z,{columnId:e.id,onAdd:i})]})]})}function V({children:e}){let t=m();return(0,N.jsx)(N.Fragment,{children:e(t)})}function H({columns:e,onCardMove:t,onCardClick:n,className:r,quickAdd:i,onQuickAdd:a,coverImageField:o,conditionalFormatting:s,objectFields:c,swimlaneField:l}){return h()?(0,N.jsx)(V,{children:u=>(0,N.jsx)(U,{columns:e,onCardMove:t,onCardClick:n,className:r,dnd:u,quickAdd:i,onQuickAdd:a,coverImageField:o,conditionalFormatting:s,objectFields:c,swimlaneField:l})}):(0,N.jsx)(U,{columns:e,onCardMove:t,onCardClick:n,className:r,dnd:null,quickAdd:i,onQuickAdd:a,coverImageField:o,conditionalFormatting:s,objectFields:c,swimlaneField:l})}function U({columns:e,onCardMove:t,onCardClick:n,className:r,dnd:i,quickAdd:a,onQuickAdd:o,coverImageField:s,conditionalFormatting:c,objectFields:l,swimlaneField:u}){let{t:d}=F(),[f,m]=M.useState(null),h=M.useRef(null),{width:_}=g(h),v=M.useMemo(()=>_?_<480?{width:Math.max(_-32,220)}:_<720?{width:280}:{width:320}:{},[_]),y=u?`objectui:kanban-collapsed:${u}`:null,[C,O]=M.useState(()=>{if(!y)return new Set;try{let e=localStorage.getItem(y);if(e){let t=JSON.parse(e);if(Array.isArray(t))return new Set(t.filter(e=>typeof e==`string`))}}catch{}return new Set}),L=M.useMemo(()=>(e||[]).map(e=>({...e,cards:e.cards||[]})),[e]),[z,V]=M.useState(L);M.useEffect(()=>{V(L)},[L]);let H=M.useMemo(()=>{if(!u)return null;let e=z.flatMap(e=>e.cards),t=new Set;return e.forEach(e=>{let n=e[u];t.add(n==null?I:String(n))}),Array.from(t).sort()},[z,u]),U=M.useCallback(e=>{O(t=>{let n=new Set(t);if(n.has(e)?n.delete(e):n.add(e),y)try{localStorage.setItem(y,JSON.stringify([...n]))}catch{}return n})},[y]),W=S(j(k,{activationConstraint:{distance:5}}),j(x,{activationConstraint:{delay:200,tolerance:5}})),G=e=>{let{active:t}=e,n=q(t.id);if(m(n),i&&n){let e=J(n.id);e&&i.startDrag({id:n.id,type:`kanban-card`,data:n,sourceId:e.id})}},K=e=>{let{active:n,over:r}=e;if(m(null),!r){i&&i.endDrag();return}let a=n.id,o=r.id;if(a===o){i&&i.endDrag();return}let s=J(a),c=J(o)||Y(o);if(!s||!c){i&&i.endDrag();return}if(s.id===c.id){let e=[...s.cards],t=e.findIndex(e=>e.id===a),n=e.findIndex(e=>e.id===o),r=E(e,t,n);V(e=>e.map(e=>e.id===s.id?{...e,cards:r}:e))}else{let e=[...s.cards],n=[...c.cards],r=e.findIndex(e=>e.id===a),i=o===c.id?n.length:n.findIndex(e=>e.id===o),[l]=e.splice(r,1);n.splice(i,0,l),V(t=>t.map(t=>t.id===s.id?{...t,cards:e}:t.id===c.id?{...t,cards:n}:t)),t&&t(a,s.id,c.id,i)}i&&i.endDrag(c.id)},q=M.useCallback(e=>{for(let t of z){let n=t.cards.find(t=>t.id===e);if(n)return n}return null},[z]),J=M.useCallback(e=>z.find(t=>t.cards.some(t=>t.id===e))||null,[z]),Y=M.useCallback(e=>z.find(t=>t.id===e)||null,[z]),X=M.useRef(null),[Z,Q]=M.useState(0);return M.useEffect(()=>{let e=X.current;if(!e)return;let t=()=>{let t=e.clientWidth;if(t<=0)return;let n=Math.round(e.scrollLeft/t);Q(Math.max(0,Math.min(z.length-1,n)))};return t(),e.addEventListener(`scroll`,t,{passive:!0}),()=>e.removeEventListener(`scroll`,t)},[z.length]),(0,N.jsxs)(b,{sensors:W,collisionDetection:T,onDragStart:G,onDragEnd:K,children:[(0,N.jsxs)(`div`,{ref:h,className:`flex flex-col min-w-0 min-h-0 h-full`,children:[z.length>1&&(0,N.jsx)(`div`,{className:`flex sm:hidden items-center justify-center gap-1.5 px-3 pb-2`,"aria-hidden":!0,children:z.map((e,t)=>(0,N.jsx)(`span`,{className:P(`h-1.5 rounded-full transition-all`,t===Z?`w-4 bg-foreground/70`:`w-1.5 bg-muted-foreground/30`)},e.id))}),(()=>{let e=z.reduce((e,t)=>e+(t.cards?.length||0),0)===0&&z.length>1;return(0,N.jsxs)(N.Fragment,{children:[e&&(0,N.jsx)(`div`,{className:`px-4 sm:px-6 pt-3`,children:(0,N.jsx)(p,{role:`status`,"aria-live":`polite`,showIcon:!1,className:`rounded-lg border border-dashed border-border/60 bg-muted/10 py-8 gap-2 [&>h3]:text-sm [&>h3]:font-medium [&>h3]:text-foreground/80`,title:d(`kanban.noCards`),description:`${z.length} ${d(`kanban.columns`,{defaultValue:`columns`})}`})}),H?(0,N.jsxs)(`div`,{className:P(`flex flex-col gap-2 px-4 sm:px-6 py-3 sm:py-4 min-w-0 overflow-hidden`,r),role:`region`,"aria-label":`Kanban board with swimlanes`,children:[(0,N.jsx)(`div`,{className:`flex gap-3 sm:gap-4 pl-36 sm:pl-44 overflow-x-auto`,children:z.map(e=>(0,N.jsxs)(`div`,{className:`w-[85vw] sm:w-80 shrink-0 text-center`,children:[(0,N.jsx)(`span`,{className:` text-xs sm:text-sm font-semibold tracking-wider text-primary/90 uppercase`,children:e.title}),(0,N.jsxs)(`span`,{className:`ml-2 text-xs text-muted-foreground`,children:[`(`,e.cards.length,`)`]})]},e.id))}),H.map(e=>{let t=C.has(e),r=z.reduce((t,n)=>t+n.cards.filter(t=>(t[u]==null?I:String(t[u]))===e).length,0);return(0,N.jsxs)(`div`,{className:`border rounded-lg bg-muted/10`,children:[(0,N.jsxs)(`button`,{type:`button`,className:`w-full flex items-center gap-2 px-3 py-2 text-left hover:bg-muted/30 transition-colors`,onClick:()=>U(e),"aria-expanded":!t,children:[(0,N.jsx)(`span`,{className:P(`transition-transform text-xs`,t?``:`rotate-90`),children:`▶`}),(0,N.jsx)(`span`,{className:` text-xs font-semibold text-muted-foreground uppercase tracking-wider`,children:e}),(0,N.jsxs)(`span`,{className:` text-xs text-muted-foreground`,children:[`(`,r,`)`]})]}),!t&&(0,N.jsx)(`div`,{className:`flex gap-3 sm:gap-4 overflow-x-auto px-2 pb-3 pl-36 sm:pl-44`,children:z.map(t=>{let r=t.cards.filter(t=>(t[u]==null?I:String(t[u]))===e);return(0,N.jsx)(`div`,{className:`w-[85vw] sm:w-80 shrink-0 min-h-[60px] rounded-md bg-card/20 p-2`,children:(0,N.jsx)(A,{items:r.map(e=>e.id),strategy:w,children:(0,N.jsx)(`div`,{className:`space-y-2`,role:`list`,"aria-label":`${t.title} - ${e} cards`,children:r.map(e=>(0,N.jsx)(R,{card:e,onCardClick:n,conditionalFormatting:c,objectFields:l},e.id))})})},t.id)})})]},e)})]}):(0,N.jsx)(`div`,{ref:X,className:P(`flex gap-3 sm:gap-4 overflow-x-auto snap-x snap-mandatory px-4 sm:px-6 py-3 sm:py-4 [-webkit-overflow-scrolling:touch] min-w-0 min-h-0 h-full`,r),role:`region`,"aria-label":`Kanban board`,children:z.map(t=>(0,N.jsx)(B,{column:t,cards:t.cards,onCardClick:n,quickAdd:a,onQuickAdd:o,conditionalFormatting:c,objectFields:l,columnStyle:v,suppressEmptyPlaceholder:e},t.id))})]})})()]}),(0,N.jsx)(D,{dropAnimation:{duration:200,easing:`cubic-bezier(0.18, 0.67, 0.6, 1.22)`},children:(0,N.jsx)(`div`,{"aria-live":`assertive`,"aria-label":f?`Dragging ${f.title}`:void 0,className:P(f&&`motion-safe:rotate-2 motion-safe:scale-[1.03] motion-safe:transition-transform shadow-2xl shadow-primary/25 ring-1 ring-primary/40 rounded-xl cursor-grabbing`),children:f?(0,N.jsx)(R,{card:f,conditionalFormatting:c,objectFields:l}):null})})]})}export{H as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M3 3v16a2 2 0 0 0 2 2h16`,key:`c24i48`}],[`path`,{d:`M3 11a10 10 0 0 1 10 10`,key:`jhvw44`}]],i=t(`angle`,r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M10 3v18`,key:`yhl04a`}],[`path`,{d:`M14 8v6.35`,key:`1ubbml`}],[`path`,{d:`m17 17 5 5`,key:`p7ous7`}],[`path`,{d:`M18 5v8.1`,key:`1icuhc`}],[`path`,{d:`M2 10v3`,key:`1fnikh`}],[`path`,{d:`M22 10v3`,key:`154ddg`}],[`path`,{d:`m22 17-5 5`,key:`gqnmv0`}],[`path`,{d:`M6 6v11`,key:`11sgs0`}]],i=t(`audio-lines-x`,r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M13.5 10.5 22 2`,key:`1yxz6l`}],[`path`,{d:`M14.734 13.841a2 2 0 00-.314-2.42L12.58 9.58a2 2 0 00-2.421-.314l-7.657 4.461A1 1 0 002.3 15.3l6.403 6.403a1 1 0 001.571-.204z`,key:`1q75r6`}],[`path`,{d:`m5 18 2-2`,key:`11qwpn`}],[`path`,{d:`m7.699 10.7 5.602 5.601`,key:`1rehuz`}]],i=t(`broom`,r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M11 2v2`,key:`1539x4`}],[`path`,{d:`M12 3h-2`,key:`1su5n0`}],[`path`,{d:`M13.5 10.5 22 2`,key:`1yxz6l`}],[`path`,{d:`M14.734 13.841a2 2 0 00-.314-2.42L12.58 9.58a2 2 0 00-2.421-.314l-7.657 4.461A1 1 0 002.3 15.3l6.403 6.403a1 1 0 001.571-.204z`,key:`1q75r6`}],[`path`,{d:`M20 15v4`,key:`nmhudv`}],[`path`,{d:`M22 17h-4`,key:`1sj068`}],[`path`,{d:`M4 4v4`,key:`a4sqb9`}],[`path`,{d:`m5 18 2-2`,key:`11qwpn`}],[`path`,{d:`M6 6H2`,key:`1cli1h`}],[`path`,{d:`m7.699 10.7 5.602 5.601`,key:`1rehuz`}]],i=t(`broom-sparkles`,r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M4 13a1 1 0 0 1-.72-1.695l7.257-7.668a2 2 0 0 1 2.926 0l7.256 7.668A1 1 0 0 1 20 13z`,key:`ua5u6w`}],[`rect`,{x:`3`,y:`17`,width:`18`,height:`4`,rx:`1`,key:`kj6cfs`}]],i=t(`eject`,r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M15 11V9.416`,key:`v2ax0h`}],[`path`,{d:`M17 9a5 5 0 00-3 1`,key:`1d2djj`}],[`path`,{d:`M7 9a5 5 0 013 1`,key:`y5n5ez`}],[`path`,{d:`M9 11V9.416`,key:`1t25y0`}],[`path`,{d:`M9 16a5 5 0 016.001 0`,key:`111vmx`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],i=t(`face-angry`,r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M14 10h2`,key:`1lstlu`}],[`path`,{d:`M8 10h2`,key:`66od0`}],[`path`,{d:`M8 16h8`,key:`10ke2u`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],i=t(`face-expressionless`,r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M15 10V9`,key:`4dkmfx`}],[`path`,{d:`M7.084 14.302a5.12 5.12 0 009.833 0 .24.24 0 00-.235-.302H7.32a.24.24 0 00-.235.302`,key:`1ad3z7`}],[`path`,{d:`M9 10V9`,key:`1lazqi`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],i=t(`face-grinning`,r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M15 10V9`,key:`4dkmfx`}],[`path`,{d:`M8 16h8`,key:`10ke2u`}],[`path`,{d:`M9 10V9`,key:`1lazqi`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],i=t(`face-neutral`,r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M15 10V9`,key:`4dkmfx`}],[`path`,{d:`M9 10V9`,key:`1lazqi`}],[`path`,{d:`M9 16a5 5 0 016 0`,key:`34mdxb`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],i=t(`face-slightly-frowning`,r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M15 10V9`,key:`4dkmfx`}],[`path`,{d:`M16.472 15a6 6 0 01-8.943 0`,key:`7qomzy`}],[`path`,{d:`M9 10V9`,key:`1lazqi`}],[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}]],i=t(`face-slightly-smiling`,r);export{n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./react-SIfiwpqq.js";import{t}from"./createLucideIcon-DmweQg_5.js";var n=e({__iconNode:()=>r,default:()=>i}),r=[[`path`,{d:`M13.267 2.08a10 10 0 108.653 8.653`,key:`1wbpyh`}],[`path`,{d:`M15 10V9`,key:`4dkmfx`}],[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M16.472 15a6 6 0 01-8.943 0`,key:`7qomzy`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M9 10V9`,key:`1lazqi`}]],i=t(`face-slightly-smiling-plus`,r);export{n,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./jsx-runtime-0vZSBttN.js";import{
|
|
1
|
+
import{i as e,t}from"./react-SIfiwpqq.js";import{t as n}from"./jsx-runtime-0vZSBttN.js";import{Xn as r}from"./src-CfXfM11v.js";function i(e){if(r(e))return e;if(e&&typeof e==`object`){let t=e,n=t.file_id??t.id;if(typeof n==`string`&&n)return n}}var a=`/api/v1/storage`;function o(e){return`${a}/files/${encodeURIComponent(e)}`}function s(e){let t=(e.split(/[?#]/)[0]??e).split(`/`).filter(Boolean).pop();return t?decodeURIComponent(t):e}function c(e,t=`File`){if(e==null)return{name:t,raw:e};if(typeof e==`string`)return r(e)?{id:e,name:t,url:o(e),raw:e}:{url:e,name:s(e),raw:e};if(typeof e==`object`){let n=e,r=e=>typeof e==`string`&&e?e:void 0,a=i(n),c=r(n.url)??(a?o(a):void 0);return{id:a,name:r(n.name)??r(n.original_name)??(r(n.url)?s(r(n.url)):void 0)??t,url:c,size:typeof n.size==`number`?n.size:void 0,mimeType:r(n.mimeType)??r(n.mime_type),raw:e}}return{name:t,raw:e}}function l(e,t=`File`){return e==null?[]:(Array.isArray(e)?e:[e]).filter(e=>e!=null).map(e=>c(e,t))}function u(e){return(e.mimeType??``).startsWith(`image/`)}function d(e,t){let n=e.meta?.fileId;return r(n)?n:{name:e.name,original_name:t??e.name,size:e.size,mime_type:e.mimeType,url:e.url}}function f(e,t){return{id:r(e.meta?.fileId)?e.meta.fileId:void 0,name:e.name||t||`File`,url:e.url,size:e.size,mimeType:e.mimeType,raw:e}}function p(e,t){return Object.keys(t).length===0?e:e.map(e=>{let n=e.id?t[e.id]:void 0;return n?e.raw&&typeof e.raw==`object`&&typeof e.raw.url==`string`&&e.raw.url?e:{...n,raw:e.raw}:e})}var m=e(t(),1);n(),(0,m.createContext)(null),(0,m.createContext)(null),(0,m.createContext)(null);var h=(0,m.createContext)(null);function g(){return{name:`object-url`,async upload(e){let t=e,n=`name`in t&&t.name||`upload`;return{url:URL.createObjectURL(e),name:n,size:e.size,mimeType:e.type||`application/octet-stream`}}}}function _(){let e=(0,m.useContext)(h),t=(0,m.useMemo)(()=>{let e=g();return{upload:(t,n)=>e.upload(t,n),adapter:e}},[]);return e??t}function v(e,t){let n=(0,m.useRef)(t);n.current=t,(0,m.useEffect)(()=>{n.current?.(e)},[e])}var y=1048576;function b(e,t,n){if(!n||t.size<=n)return null;let r=(n/y).toFixed(1);return e(`fields.file.exceedsMaxSize`,{defaultValue:`"${t.name}" exceeds max size (${r} MB)`,name:t.name,max:r})}export{u as a,p as c,d as i,v as n,l as o,_ as r,f as s,b as t};
|