@ishibashi0112/spreadsheet-grid 0.2.0 → 0.3.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/README.md +26 -0
- package/dist/SpreadsheetGrid.d.ts +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.js +823 -819
- package/dist/model/gridTypes.d.ts +2 -0
- package/package.json +90 -89
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("@tanstack/react-virtual"),n=require("react/jsx-runtime"),r=require("react-dom");function i(...e){return e.filter(Boolean).join(` `)}var a={activateCell:e=>({type:`cell/activate`,cell:e}),startSelection:e=>({type:`selection/start`,cell:e}),updateSelection:e=>({type:`selection/update`,cell:e}),startRowSelection:e=>({type:`rowSelection/start`,row:e}),updateRowSelection:e=>({type:`rowSelection/update`,row:e}),startColumnSelection:e=>({type:`columnSelection/start`,col:e}),updateColumnSelection:e=>({type:`columnSelection/update`,col:e}),endSelection:()=>({type:`selection/end`}),clearSelection:()=>({type:`selection/clear`}),startEdit:e=>({type:`edit/start`,cell:e}),stopEdit:()=>({type:`edit/stop`}),startColumnResize:(e,t,n,r,i)=>({type:`column/resizeStart`,columnKey:e,startX:t,startWidth:n,minWidth:r,maxWidth:i}),updateColumnResize:e=>({type:`column/resizeUpdate`,clientX:e}),endColumnResize:()=>({type:`column/resizeEnd`}),syncColumnWidths:e=>({type:`columnWidths/sync`,widths:e}),setGlobalFilter:e=>({type:`filter/setGlobal`,value:e}),setColumnFilter:(e,t)=>({type:`filter/setColumn`,columnKey:e,value:t}),clearColumnFilter:e=>({type:`filter/clearColumn`,columnKey:e}),resetAllFilters:()=>({type:`filter/resetAll`}),setSort:e=>({type:`sort/set`,entries:e}),clearSort:()=>({type:`sort/clear`})},o=60,s=1e3,c=(e,t,n)=>Math.min(Math.max(e,t),n),l=e=>e.reduce((e,t)=>(e[t.key]=t.width,e),{}),u=e=>({activeCell:null,selection:null,editingCell:null,dragState:null,columnWidths:l(e),filters:{globalText:``,columnFilters:{}},sort:[]}),d=(e,t)=>{switch(t.type){case`cell/activate`:return{...e,activeCell:t.cell};case`selection/start`:return{...e,activeCell:t.cell,selection:{type:`cell`,range:{start:t.cell,end:t.cell}},dragState:{type:`selection`,selectionKind:`cell`,anchor:t.cell}};case`rowSelection/start`:return{...e,activeCell:{row:t.row,col:e.activeCell?.col??0},selection:{type:`row`,startRow:t.row,endRow:t.row},dragState:{type:`selection`,selectionKind:`row`,anchorRow:t.row}};case`rowSelection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`row`||e.selection?.type===`row`&&e.selection.endRow===t.row?e:{...e,selection:{type:`row`,startRow:e.dragState.anchorRow,endRow:t.row}};case`selection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`cell`||e.selection?.type===`cell`&&e.selection.range.end.row===t.cell.row&&e.selection.range.end.col===t.cell.col?e:{...e,selection:{type:`cell`,range:{start:e.dragState.anchor,end:t.cell}}};case`columnSelection/start`:return{...e,activeCell:{row:e.activeCell?.row??0,col:t.col},selection:{type:`col`,startCol:t.col,endCol:t.col},dragState:{type:`selection`,selectionKind:`col`,anchorCol:t.col}};case`columnSelection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`col`||e.selection?.type===`col`&&e.selection.endCol===t.col?e:{...e,selection:{type:`col`,startCol:e.dragState.anchorCol,endCol:t.col}};case`selection/end`:return e.dragState?.type===`selection`?{...e,dragState:null}:e;case`selection/clear`:return{...e,selection:null,dragState:null};case`edit/start`:return{...e,editingCell:t.cell,activeCell:t.cell};case`edit/stop`:return{...e,editingCell:null};case`column/resizeStart`:return{...e,dragState:{type:`columnResize`,columnKey:t.columnKey,startX:t.startX,startWidth:t.startWidth,minWidth:t.minWidth||o,maxWidth:t.maxWidth||s}};case`column/resizeUpdate`:{if(e.dragState?.type!==`columnResize`)return e;let n=c(e.dragState.startWidth+(t.clientX-e.dragState.startX),e.dragState.minWidth,e.dragState.maxWidth);return e.columnWidths[e.dragState.columnKey]===n?e:{...e,columnWidths:{...e.columnWidths,[e.dragState.columnKey]:n}}}case`column/resizeEnd`:return e.dragState?.type===`columnResize`?{...e,dragState:null}:e;case`columnWidths/sync`:return{...e,columnWidths:{...e.columnWidths,...t.widths}};case`filter/setGlobal`:return{...e,filters:{...e.filters,globalText:t.value}};case`filter/setColumn`:return{...e,filters:{...e.filters,columnFilters:{...e.filters.columnFilters,[t.columnKey]:t.value}}};case`filter/clearColumn`:{let n={...e.filters.columnFilters};return delete n[t.columnKey],{...e,filters:{...e.filters,columnFilters:n}}}case`filter/resetAll`:return{...e,filters:{globalText:``,columnFilters:{}}};case`sort/set`:return{...e,sort:t.entries};case`sort/clear`:return{...e,sort:[]};default:return e}},f=e=>({start:{row:Math.min(e.start.row,e.end.row),col:Math.min(e.start.col,e.end.col)},end:{row:Math.max(e.start.row,e.end.row),col:Math.max(e.start.col,e.end.col)}}),p=(e,t)=>({startRow:Math.min(e,t),endRow:Math.max(e,t)}),m=(e,t)=>({startCol:Math.min(e,t),endCol:Math.max(e,t)}),h=e=>e.filters.globalText,g=e=>{if(!e)return{kind:`none`};if(e.type===`cell`){let t=f(e.range);return{kind:`cell`,startRow:t.start.row,endRow:t.end.row,startCol:t.start.col,endCol:t.end.col}}if(e.type===`row`){let t=p(e.startRow,e.endRow);return{kind:`row`,startRow:t.startRow,endRow:t.endRow}}let t=m(e.startCol,e.endCol);return{kind:`col`,startCol:t.startCol,endCol:t.endCol}};function _({rect:e,headerHeight:t,leadingWidth:r,baseOffset:i=0}){return e?(0,n.jsx)(`div`,{className:`ssg-selection-overlay`,style:{position:`absolute`,left:r+e.left,top:t+e.top-i,width:e.width,height:e.height}}):null}function v({rect:e,headerHeight:t,leadingWidth:r,baseOffset:i=0}){return e?(0,n.jsx)(`div`,{className:`ssg-active-cell-overlay`,style:{position:`absolute`,left:r+e.left,top:t+e.top-i,width:e.width,height:e.height}}):null}function y({rect:t,headerHeight:r,leadingWidth:i,baseOffset:a=0,initialValue:o,onCommit:s,onCancel:c}){let l=(0,e.useRef)(null),[u,d]=(0,e.useState)(``),f=t!==null,[p,m]=(0,e.useState)(!1);if(f!==p&&(m(f),f&&d(o)),(0,e.useEffect)(()=>{if(!t||!l.current)return;l.current.focus();let e=l.current.value.length;l.current.setSelectionRange(e,e)},[t]),!t)return null;let h={position:`absolute`,left:i+t.left,top:r+t.top-a,width:t.width,height:t.height};return(0,n.jsx)(`div`,{className:`ssg-cell-editor`,style:h,children:(0,n.jsx)(`input`,{ref:l,type:`text`,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{if(e.key===`Enter`){e.preventDefault(),s(u,`down`);return}if(e.key===`Escape`){e.preventDefault(),c();return}e.key===`Tab`&&(e.preventDefault(),s(u,e.shiftKey?`left`:`right`))},onBlur:()=>s(u),className:`ssg-cell-editor-input`})})}var b=(e,t,n,r,i)=>e.readOnly||i.readOnly||i.editable===!1?!1:e.canEditCell?e.canEditCell(t,n,r,i):!0,x=(e,t)=>t.getValue?t.getValue(e):e[t.key],S=(e,t,n)=>t.setValue?t.setValue(e,n):{...e,[t.key]:n},C=e=>{let t=new Int32Array(e);for(let n=0;n<e;n+=1)t[n]=n;return t},w=e=>e?.kind===`set`,T=e=>{if(!e)return!1;switch(e.kind){case`set`:case`number`:case`custom`:return!0;case`select`:return e.value.length>0;case`text`:case`date`:return e.value.trim().length>0}},E=e=>{let t=e.trim();if(!t)return null;let n=t.match(/^(-?\d+(?:\.\d+)?)\s*\.\.\s*(-?\d+(?:\.\d+)?)$/);if(n){let e=Number(n[1]),t=Number(n[2]);return!Number.isFinite(e)||!Number.isFinite(t)?null:{mode:`range`,min:Math.min(e,t),max:Math.max(e,t)}}let r=t.match(/^(<=|>=|=|<|>)?\s*(-?\d+(?:\.\d+)?)$/);return r?{mode:`comparison`,operator:r[1]??`=`,value:Number(r[2])}:null},D=e=>e?.kind===`number`,O=e=>{let t=e.trim();return t?{kind:`number`,raw:t,parsed:E(t)}:null},k=e=>{if(!e)return``;switch(e.kind){case`number`:return e.raw;case`text`:case`date`:case`select`:return e.value;case`set`:case`custom`:return``}},A=(e,t,n)=>{if(!T(t))return null;let r=t;if(e.filterFn){let t=e.filterFn;return e=>t(e,r)}switch(r.kind){case`set`:{let t=new Set(r.values);return r.mode===`exclude`?n=>!t.has(String(x(n,e)??``)):n=>t.has(String(x(n,e)??``))}case`number`:{let t=r.parsed;if(t===null){let t=r.raw.toLowerCase();return n=>String(x(n,e)??``).toLowerCase().includes(t)}if(t.mode===`range`){let{min:r,max:i}=t;return(t,a)=>{let o=n?n[a]:Number(x(t,e));return Number.isFinite(o)&&o>=r&&o<=i}}let{operator:i,value:a}=t;return(t,r)=>{let o=n?n[r]:Number(x(t,e));if(!Number.isFinite(o))return!1;switch(i){case`>`:return o>a;case`>=`:return o>=a;case`<`:return o<a;case`<=`:return o<=a;default:return o===a}}}case`select`:{let t=r.value;return n=>String(x(n,e)??``)===t}case`text`:case`date`:{let t=r.value.trim().toLowerCase();return n=>String(x(n,e)??``).toLowerCase().includes(t)}case`custom`:{let t=String(r.value??``).trim().toLowerCase();return n=>String(x(n,e)??``).toLowerCase().includes(t)}}},j=(e,t,n,r)=>{let i=r.trim().toLowerCase();if(!i)return t;let a=t.length,o=n.length,s=new Int32Array(a),c=0;for(let r=0;r<a;r+=1){let a=t[r],l=e[a],u=!1;for(let e=0;e<o;e+=1){let t=x(l,n[e]);if(String(t??``).toLowerCase().includes(i)){u=!0;break}}u&&(s[c]=a,c+=1)}return c===a?t:s.slice(0,c)},M=(e,t,n,r,i)=>{let a=[];for(let e of n){let t=A(e,r[e.key],i?.get(e.key));t&&a.push(t)}if(a.length===0)return t;let o=t.length,s=a.length,c=new Int32Array(o),l=0;for(let n=0;n<o;n+=1){let r=t[n],i=e[r],o=!0;for(let e=0;e<s;e+=1)if(!a[e](i,r)){o=!1;break}o&&(c[l]=r,l+=1)}return l===o?t:c.slice(0,l)},N=240,P=8,F=8,I=260,ee=400,te=({visibleColumns:t,columnFilterValues:n,enableColumnFilter:r,gridRootRef:i})=>{let[a,o]=(0,e.useState)(null),[s,c]=(0,e.useState)(null),l=(0,e.useRef)(null),u=(0,e.useRef)(null),d=(0,e.useRef)(null),f=(0,e.useRef)(null),p=a!==null,m=a?.columnKey??null,h=(0,e.useMemo)(()=>m?t.find(e=>e.key===m)??null:null,[m,t]),g=(0,e.useCallback)(()=>{if(!m||!u.current){c(null);return}let e=u.current.getBoundingClientRect(),t=h?.filterType===`set`?ee:I,n=e.right-N;n=Math.max(P,n),n=Math.min(n,window.innerWidth-N-P);let r=e.bottom+F;r+t>window.innerHeight-P&&(r=e.top-t-F),r=Math.max(P,r),c(e=>e&&e.top===r&&e.left===n&&e.width===N?e:{top:r,left:n,width:N})},[m,h]),_=(0,e.useCallback)(e=>{if(!r)return;document.activeElement instanceof HTMLElement&&document.activeElement.blur(),i.current?.blur();let t=i.current?.querySelectorAll(`[data-ssg-col-key]`);u.current=t?Array.from(t).find(t=>t.dataset.ssgColKey===e.key)??null:null,o({columnKey:e.key,draftValue:k(n[e.key])})},[n,r,i]),v=(0,e.useCallback)(()=>{o(null),c(null),u.current=null,d.current=null,f.current=null,requestAnimationFrame(()=>{i.current?.focus()})},[i]),y=(0,e.useCallback)(e=>{o(t=>t&&{...t,draftValue:e})},[]);return(0,e.useEffect)(()=>{if(!m)return;g();let e=()=>{g()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[m,g]),(0,e.useEffect)(()=>{if(!h||!s)return;let e=h.filterType??`text`,t=0,n=0;return t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{if(e===`select`){f.current?.focus();return}let t=d.current;if(!t)return;t.focus();let n=t.value.length;t.setSelectionRange(n,n)})}),()=>{cancelAnimationFrame(t),cancelAnimationFrame(n)}},[h,s?.top,s?.left,s?.width]),(0,e.useEffect)(()=>{if(!p)return;let e=e=>{let t=e.target;t&&(l.current?.contains(t)||v())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[v,p]),{filterPopoverState:a,filterPopoverLayout:s,filterPopoverRef:l,filterTextInputRef:d,filterSelectRef:f,isFilterPopoverOpen:p,openedFilterColumn:h,openColumnFilterPopover:_,closeColumnFilterPopover:v,updateFilterPopoverDraft:y}},L=(e,t,n)=>Math.min(Math.max(e,t),n),ne=(e,t)=>{let n=0;return e.map((e,r)=>{let i=t[e.key]??e.width,a={index:r,column:e,start:n,size:i,end:n+i};return n+=i,a})},re=e=>e.pinned===`left`?`left`:e.pinned===`right`?`right`:`center`,ie=e=>{let t=[],n=[],r=[];for(let i of e){let e=re(i);e===`left`?t.push(i):e===`right`?r.push(i):n.push(i)}return[...t,...n,...r]},ae=e=>{let t={left:[],center:[],right:[]};return e.forEach((e,n)=>{t[re(e)].push({column:e,logicalIndex:n})}),t},R=(e,t)=>e.map(({column:e})=>t[e.key]??e.width),oe=(e,t)=>R(e,t).join(`,`),se=e=>e===``?[]:e.split(`,`).map(Number),ce=(e,t,n)=>{let r=0;return{pane:e,entries:t.map(({column:e,logicalIndex:t},i)=>{let a=n[i]??e.width,o={column:e,logicalIndex:t,paneLocalStart:r,paneLocalSize:a,paneLocalEnd:r+a};return r+=a,o}),totalWidth:r}},le=(e,t,n)=>ce(e,t,se(n)),ue=(e,t)=>{let n=[[`left`,e.left],[`center`,e.center],[`right`,e.right]];for(let[e,r]of n){let n=r.entries.find(e=>e.logicalIndex===t);if(n)return{pane:e,entry:n}}return null},z=(e,t)=>{let{entries:n}=e;if(n.length===0)return-1;if(t<=0)return n[0].logicalIndex;let r=0,i=n.length-1;for(;r<=i;){let e=Math.floor((r+i)/2),a=n[e];if(t<a.paneLocalStart){i=e-1;continue}if(t>=a.paneLocalEnd){r=e+1;continue}return a.logicalIndex}return n[Math.max(0,Math.min(r,n.length-1))].logicalIndex},de=(e,t)=>{let{entries:n}=e;for(let e=0;e<n.length;e+=1){let r=n[e];if(t<r.paneLocalStart+r.paneLocalSize/2)return e}return n.length},fe=(e,t)=>{let{entries:n,totalWidth:r}=e;return n.length===0?0:t<=0?n[0].paneLocalStart:t>=n.length?r:n[t].paneLocalStart},pe=(e,t,n)=>{let r=Math.min(t,n),i=Math.max(t,n),a=1/0,o=-1/0,s=!1;for(let t of e.entries)t.logicalIndex<r||t.logicalIndex>i||(s=!0,t.paneLocalStart<a&&(a=t.paneLocalStart),t.paneLocalEnd>o&&(o=t.paneLocalEnd));return s?{start:a,end:o,width:o-a}:null},me=(e,t,n)=>({left:pe(e.left,t,n),center:pe(e.center,t,n),right:pe(e.right,t,n)}),he=e=>{let t=e=>e.entries.length===0?null:{start:0,end:e.totalWidth,width:e.totalWidth};return{left:t(e.left),center:t(e.center),right:t(e.right)}},ge=(e,t)=>{let n=ue(e,t);if(!n)return null;let{pane:r,entry:i}=n;return{pane:r,extent:{start:i.paneLocalStart,end:i.paneLocalEnd,width:i.paneLocalSize}}},_e=e=>{let t=e.replace(/\r\n/g,`
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("@tanstack/react-virtual"),n=require("react/jsx-runtime"),r=require("react-dom");function i(...e){return e.filter(Boolean).join(` `)}var a={activateCell:e=>({type:`cell/activate`,cell:e}),startSelection:e=>({type:`selection/start`,cell:e}),updateSelection:e=>({type:`selection/update`,cell:e}),startRowSelection:e=>({type:`rowSelection/start`,row:e}),updateRowSelection:e=>({type:`rowSelection/update`,row:e}),startColumnSelection:e=>({type:`columnSelection/start`,col:e}),updateColumnSelection:e=>({type:`columnSelection/update`,col:e}),endSelection:()=>({type:`selection/end`}),clearSelection:()=>({type:`selection/clear`}),startEdit:e=>({type:`edit/start`,cell:e}),stopEdit:()=>({type:`edit/stop`}),startColumnResize:(e,t,n,r,i)=>({type:`column/resizeStart`,columnKey:e,startX:t,startWidth:n,minWidth:r,maxWidth:i}),updateColumnResize:e=>({type:`column/resizeUpdate`,clientX:e}),endColumnResize:()=>({type:`column/resizeEnd`}),syncColumnWidths:e=>({type:`columnWidths/sync`,widths:e}),setGlobalFilter:e=>({type:`filter/setGlobal`,value:e}),setColumnFilter:(e,t)=>({type:`filter/setColumn`,columnKey:e,value:t}),clearColumnFilter:e=>({type:`filter/clearColumn`,columnKey:e}),resetAllFilters:()=>({type:`filter/resetAll`}),setSort:e=>({type:`sort/set`,entries:e}),clearSort:()=>({type:`sort/clear`})},o=60,s=1e3,c=(e,t,n)=>Math.min(Math.max(e,t),n),l=e=>e.reduce((e,t)=>(e[t.key]=t.width,e),{}),u=e=>({activeCell:null,selection:null,editingCell:null,dragState:null,columnWidths:l(e),filters:{globalText:``,columnFilters:{}},sort:[]}),d=(e,t)=>{switch(t.type){case`cell/activate`:return{...e,activeCell:t.cell};case`selection/start`:return{...e,activeCell:t.cell,selection:{type:`cell`,range:{start:t.cell,end:t.cell}},dragState:{type:`selection`,selectionKind:`cell`,anchor:t.cell}};case`rowSelection/start`:return{...e,activeCell:{row:t.row,col:e.activeCell?.col??0},selection:{type:`row`,startRow:t.row,endRow:t.row},dragState:{type:`selection`,selectionKind:`row`,anchorRow:t.row}};case`rowSelection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`row`||e.selection?.type===`row`&&e.selection.endRow===t.row?e:{...e,selection:{type:`row`,startRow:e.dragState.anchorRow,endRow:t.row}};case`selection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`cell`||e.selection?.type===`cell`&&e.selection.range.end.row===t.cell.row&&e.selection.range.end.col===t.cell.col?e:{...e,selection:{type:`cell`,range:{start:e.dragState.anchor,end:t.cell}}};case`columnSelection/start`:return{...e,activeCell:{row:e.activeCell?.row??0,col:t.col},selection:{type:`col`,startCol:t.col,endCol:t.col},dragState:{type:`selection`,selectionKind:`col`,anchorCol:t.col}};case`columnSelection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`col`||e.selection?.type===`col`&&e.selection.endCol===t.col?e:{...e,selection:{type:`col`,startCol:e.dragState.anchorCol,endCol:t.col}};case`selection/end`:return e.dragState?.type===`selection`?{...e,dragState:null}:e;case`selection/clear`:return{...e,selection:null,dragState:null};case`edit/start`:return{...e,editingCell:t.cell,activeCell:t.cell};case`edit/stop`:return{...e,editingCell:null};case`column/resizeStart`:return{...e,dragState:{type:`columnResize`,columnKey:t.columnKey,startX:t.startX,startWidth:t.startWidth,minWidth:t.minWidth||o,maxWidth:t.maxWidth||s}};case`column/resizeUpdate`:{if(e.dragState?.type!==`columnResize`)return e;let n=c(e.dragState.startWidth+(t.clientX-e.dragState.startX),e.dragState.minWidth,e.dragState.maxWidth);return e.columnWidths[e.dragState.columnKey]===n?e:{...e,columnWidths:{...e.columnWidths,[e.dragState.columnKey]:n}}}case`column/resizeEnd`:return e.dragState?.type===`columnResize`?{...e,dragState:null}:e;case`columnWidths/sync`:return{...e,columnWidths:{...e.columnWidths,...t.widths}};case`filter/setGlobal`:return{...e,filters:{...e.filters,globalText:t.value}};case`filter/setColumn`:return{...e,filters:{...e.filters,columnFilters:{...e.filters.columnFilters,[t.columnKey]:t.value}}};case`filter/clearColumn`:{let n={...e.filters.columnFilters};return delete n[t.columnKey],{...e,filters:{...e.filters,columnFilters:n}}}case`filter/resetAll`:return{...e,filters:{globalText:``,columnFilters:{}}};case`sort/set`:return{...e,sort:t.entries};case`sort/clear`:return{...e,sort:[]};default:return e}},f=e=>({start:{row:Math.min(e.start.row,e.end.row),col:Math.min(e.start.col,e.end.col)},end:{row:Math.max(e.start.row,e.end.row),col:Math.max(e.start.col,e.end.col)}}),p=(e,t)=>({startRow:Math.min(e,t),endRow:Math.max(e,t)}),m=(e,t)=>({startCol:Math.min(e,t),endCol:Math.max(e,t)}),h=e=>e.filters.globalText,g=e=>{if(!e)return{kind:`none`};if(e.type===`cell`){let t=f(e.range);return{kind:`cell`,startRow:t.start.row,endRow:t.end.row,startCol:t.start.col,endCol:t.end.col}}if(e.type===`row`){let t=p(e.startRow,e.endRow);return{kind:`row`,startRow:t.startRow,endRow:t.endRow}}let t=m(e.startCol,e.endCol);return{kind:`col`,startCol:t.startCol,endCol:t.endCol}};function _({rect:e,headerHeight:t,leadingWidth:r,baseOffset:i=0}){return e?(0,n.jsx)(`div`,{className:`ssg-selection-overlay`,style:{position:`absolute`,left:r+e.left,top:t+e.top-i,width:e.width,height:e.height}}):null}function v({rect:e,headerHeight:t,leadingWidth:r,baseOffset:i=0}){return e?(0,n.jsx)(`div`,{className:`ssg-active-cell-overlay`,style:{position:`absolute`,left:r+e.left,top:t+e.top-i,width:e.width,height:e.height}}):null}function y({rect:t,headerHeight:r,leadingWidth:i,baseOffset:a=0,initialValue:o,onCommit:s,onCancel:c}){let l=(0,e.useRef)(null),[u,d]=(0,e.useState)(``),f=t!==null,[p,m]=(0,e.useState)(!1);if(f!==p&&(m(f),f&&d(o)),(0,e.useEffect)(()=>{if(!t||!l.current)return;l.current.focus();let e=l.current.value.length;l.current.setSelectionRange(e,e)},[t]),!t)return null;let h={position:`absolute`,left:i+t.left,top:r+t.top-a,width:t.width,height:t.height};return(0,n.jsx)(`div`,{className:`ssg-cell-editor`,style:h,children:(0,n.jsx)(`input`,{ref:l,type:`text`,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{if(e.key===`Enter`){e.preventDefault(),s(u,`down`);return}if(e.key===`Escape`){e.preventDefault(),c();return}e.key===`Tab`&&(e.preventDefault(),s(u,e.shiftKey?`left`:`right`))},onBlur:()=>s(u),className:`ssg-cell-editor-input`})})}var b=(e,t,n,r,i)=>e.readOnly||i.readOnly||i.editable===!1?!1:e.canEditCell?e.canEditCell(t,n,r,i):!0,x=(e,t)=>t.getValue?t.getValue(e):e[t.key],S=(e,t,n)=>t.setValue?t.setValue(e,n):{...e,[t.key]:n},C=e=>{let t=new Int32Array(e);for(let n=0;n<e;n+=1)t[n]=n;return t},w=e=>e?.kind===`set`,T=e=>{if(!e)return!1;switch(e.kind){case`set`:case`number`:case`custom`:return!0;case`select`:return e.value.length>0;case`text`:case`date`:return e.value.trim().length>0}},E=e=>{let t=e.trim();if(!t)return null;let n=t.match(/^(-?\d+(?:\.\d+)?)\s*\.\.\s*(-?\d+(?:\.\d+)?)$/);if(n){let e=Number(n[1]),t=Number(n[2]);return!Number.isFinite(e)||!Number.isFinite(t)?null:{mode:`range`,min:Math.min(e,t),max:Math.max(e,t)}}let r=t.match(/^(<=|>=|=|<|>)?\s*(-?\d+(?:\.\d+)?)$/);return r?{mode:`comparison`,operator:r[1]??`=`,value:Number(r[2])}:null},D=e=>e?.kind===`number`,O=e=>{let t=e.trim();return t?{kind:`number`,raw:t,parsed:E(t)}:null},k=e=>{if(!e)return``;switch(e.kind){case`number`:return e.raw;case`text`:case`date`:case`select`:return e.value;case`set`:case`custom`:return``}},A=(e,t,n)=>{if(!T(t))return null;let r=t;if(e.filterFn){let t=e.filterFn;return e=>t(e,r)}switch(r.kind){case`set`:{let t=new Set(r.values);return r.mode===`exclude`?n=>!t.has(String(x(n,e)??``)):n=>t.has(String(x(n,e)??``))}case`number`:{let t=r.parsed;if(t===null){let t=r.raw.toLowerCase();return n=>String(x(n,e)??``).toLowerCase().includes(t)}if(t.mode===`range`){let{min:r,max:i}=t;return(t,a)=>{let o=n?n[a]:Number(x(t,e));return Number.isFinite(o)&&o>=r&&o<=i}}let{operator:i,value:a}=t;return(t,r)=>{let o=n?n[r]:Number(x(t,e));if(!Number.isFinite(o))return!1;switch(i){case`>`:return o>a;case`>=`:return o>=a;case`<`:return o<a;case`<=`:return o<=a;default:return o===a}}}case`select`:{let t=r.value;return n=>String(x(n,e)??``)===t}case`text`:case`date`:{let t=r.value.trim().toLowerCase();return n=>String(x(n,e)??``).toLowerCase().includes(t)}case`custom`:{let t=String(r.value??``).trim().toLowerCase();return n=>String(x(n,e)??``).toLowerCase().includes(t)}}},j=(e,t,n,r)=>{let i=r.trim().toLowerCase();if(!i)return t;let a=t.length,o=n.length,s=new Int32Array(a),c=0;for(let r=0;r<a;r+=1){let a=t[r],l=e[a],u=!1;for(let e=0;e<o;e+=1){let t=x(l,n[e]);if(String(t??``).toLowerCase().includes(i)){u=!0;break}}u&&(s[c]=a,c+=1)}return c===a?t:s.slice(0,c)},M=(e,t,n,r,i)=>{let a=[];for(let e of n){let t=A(e,r[e.key],i?.get(e.key));t&&a.push(t)}if(a.length===0)return t;let o=t.length,s=a.length,c=new Int32Array(o),l=0;for(let n=0;n<o;n+=1){let r=t[n],i=e[r],o=!0;for(let e=0;e<s;e+=1)if(!a[e](i,r)){o=!1;break}o&&(c[l]=r,l+=1)}return l===o?t:c.slice(0,l)},N=240,P=8,F=8,I=260,L=400,ee=({visibleColumns:t,columnFilterValues:n,enableColumnFilter:r,gridRootRef:i})=>{let[a,o]=(0,e.useState)(null),[s,c]=(0,e.useState)(null),l=(0,e.useRef)(null),u=(0,e.useRef)(null),d=(0,e.useRef)(null),f=(0,e.useRef)(null),p=a!==null,m=a?.columnKey??null,h=(0,e.useMemo)(()=>m?t.find(e=>e.key===m)??null:null,[m,t]),g=(0,e.useCallback)(()=>{if(!m||!u.current){c(null);return}let e=u.current.getBoundingClientRect(),t=h?.filterType===`set`?L:I,n=e.right-N;n=Math.max(P,n),n=Math.min(n,window.innerWidth-N-P);let r=e.bottom+F;r+t>window.innerHeight-P&&(r=e.top-t-F),r=Math.max(P,r),c(e=>e&&e.top===r&&e.left===n&&e.width===N?e:{top:r,left:n,width:N})},[m,h]),_=(0,e.useCallback)(e=>{if(!r)return;document.activeElement instanceof HTMLElement&&document.activeElement.blur(),i.current?.blur();let t=i.current?.querySelectorAll(`[data-ssg-col-key]`);u.current=t?Array.from(t).find(t=>t.dataset.ssgColKey===e.key)??null:null,o({columnKey:e.key,draftValue:k(n[e.key])})},[n,r,i]),v=(0,e.useCallback)(()=>{o(null),c(null),u.current=null,d.current=null,f.current=null,requestAnimationFrame(()=>{i.current?.focus()})},[i]),y=(0,e.useCallback)(e=>{o(t=>t&&{...t,draftValue:e})},[]);return(0,e.useEffect)(()=>{if(!m)return;g();let e=()=>{g()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[m,g]),(0,e.useEffect)(()=>{if(!h||!s)return;let e=h.filterType??`text`,t=0,n=0;return t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{if(e===`select`){f.current?.focus();return}let t=d.current;if(!t)return;t.focus();let n=t.value.length;t.setSelectionRange(n,n)})}),()=>{cancelAnimationFrame(t),cancelAnimationFrame(n)}},[h,s?.top,s?.left,s?.width]),(0,e.useEffect)(()=>{if(!p)return;let e=e=>{let t=e.target;t&&(l.current?.contains(t)||v())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[v,p]),{filterPopoverState:a,filterPopoverLayout:s,filterPopoverRef:l,filterTextInputRef:d,filterSelectRef:f,isFilterPopoverOpen:p,openedFilterColumn:h,openColumnFilterPopover:_,closeColumnFilterPopover:v,updateFilterPopoverDraft:y}},R=(e,t,n)=>Math.min(Math.max(e,t),n),te=(e,t)=>{let n=0;return e.map((e,r)=>{let i=t[e.key]??e.width,a={index:r,column:e,start:n,size:i,end:n+i};return n+=i,a})},ne=e=>e.pinned===`left`?`left`:e.pinned===`right`?`right`:`center`,re=e=>{let t=[],n=[],r=[];for(let i of e){let e=ne(i);e===`left`?t.push(i):e===`right`?r.push(i):n.push(i)}return[...t,...n,...r]},ie=e=>{let t={left:[],center:[],right:[]};return e.forEach((e,n)=>{t[ne(e)].push({column:e,logicalIndex:n})}),t},ae=(e,t)=>e.map(({column:e})=>t[e.key]??e.width),oe=(e,t)=>ae(e,t).join(`,`),se=e=>e===``?[]:e.split(`,`).map(Number),ce=(e,t,n)=>{let r=0;return{pane:e,entries:t.map(({column:e,logicalIndex:t},i)=>{let a=n[i]??e.width,o={column:e,logicalIndex:t,paneLocalStart:r,paneLocalSize:a,paneLocalEnd:r+a};return r+=a,o}),totalWidth:r}},le=(e,t,n)=>ce(e,t,se(n)),ue=(e,t)=>{let n=[[`left`,e.left],[`center`,e.center],[`right`,e.right]];for(let[e,r]of n){let n=r.entries.find(e=>e.logicalIndex===t);if(n)return{pane:e,entry:n}}return null},de=(e,t)=>{let{entries:n}=e;if(n.length===0)return-1;if(t<=0)return n[0].logicalIndex;let r=0,i=n.length-1;for(;r<=i;){let e=Math.floor((r+i)/2),a=n[e];if(t<a.paneLocalStart){i=e-1;continue}if(t>=a.paneLocalEnd){r=e+1;continue}return a.logicalIndex}return n[Math.max(0,Math.min(r,n.length-1))].logicalIndex},fe=(e,t)=>{let{entries:n}=e;for(let e=0;e<n.length;e+=1){let r=n[e];if(t<r.paneLocalStart+r.paneLocalSize/2)return e}return n.length},z=(e,t)=>{let{entries:n,totalWidth:r}=e;return n.length===0?0:t<=0?n[0].paneLocalStart:t>=n.length?r:n[t].paneLocalStart},pe=(e,t,n)=>{let r=Math.min(t,n),i=Math.max(t,n),a=1/0,o=-1/0,s=!1;for(let t of e.entries)t.logicalIndex<r||t.logicalIndex>i||(s=!0,t.paneLocalStart<a&&(a=t.paneLocalStart),t.paneLocalEnd>o&&(o=t.paneLocalEnd));return s?{start:a,end:o,width:o-a}:null},me=(e,t,n)=>({left:pe(e.left,t,n),center:pe(e.center,t,n),right:pe(e.right,t,n)}),he=e=>{let t=e=>e.entries.length===0?null:{start:0,end:e.totalWidth,width:e.totalWidth};return{left:t(e.left),center:t(e.center),right:t(e.right)}},ge=(e,t)=>{let n=ue(e,t);if(!n)return null;let{pane:r,entry:i}=n;return{pane:r,extent:{start:i.paneLocalStart,end:i.paneLocalEnd,width:i.paneLocalSize}}},_e=e=>{let t=e.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
3
|
`);return t?t.split(`
|
|
4
4
|
`).filter(e=>e.length>0).map(e=>e.split(` `)):[]},ve=(e,t,n,r)=>{if(!r)return``;let i=[];if(r.type===`cell`){let t=f(r.range);for(let r=t.start.row;r<=t.end.row;r+=1){let a=e(r);if(!a)continue;let o=[];for(let e=t.start.col;e<=t.end.col;e+=1){let t=n[e];if(!t)continue;let r=x(a,t),i=t.formatClipboardValue?t.formatClipboardValue(r,a):String(r??``);o.push(i)}i.push(o.join(` `))}return i.join(`
|
|
5
5
|
`)}if(r.type===`row`){let t=p(r.startRow,r.endRow);for(let r=t.startRow;r<=t.endRow;r+=1){let t=e(r);if(!t)continue;let a=n.map(e=>{let n=x(t,e);return e.formatClipboardValue?e.formatClipboardValue(n,t):String(n??``)});i.push(a.join(` `))}return i.join(`
|
|
6
6
|
`)}let a=m(r.startCol,r.endCol);for(let r=0;r<t;r+=1){let t=e(r);if(!t)continue;let o=[];for(let e=a.startCol;e<=a.endCol;e+=1){let r=n[e];if(!r)continue;let i=x(t,r),a=r.formatClipboardValue?r.formatClipboardValue(i,t):String(i??``);o.push(a)}i.push(o.join(` `))}return i.join(`
|
|
7
7
|
`)},ye=(e,t,n,r,i,a,o)=>{if(r.length===0)return e;let s=[...e];for(let e=0;e<r.length;e+=1){let c=t(i+e);if(c===void 0)continue;let l=s[c];if(!l)continue;let u=l,d=!1;for(let t=0;t<r[e].length;t+=1){let i=a+t,s=n[i];if(!s||!o(c,i,l,s))continue;let f=r[e][t],p=s.parseClipboardValue?s.parseClipboardValue(f,l):f;u=S(u,s,p),d=!0}d&&(s[c]=u)}return s},be=({rows:t,rowModel:n,visibleColumns:r,uiState:i,readOnly:o,canEditCell:s,createRow:c,createOverflowColumn:l,onRowsChange:u,onColumnsChange:d,dispatch:f})=>{let p=n.getRowCount(),m=p>0&&r.length>0&&i.selection?.type===`cell`&&(()=>{let e=i.selection.range.start,t=i.selection.range.end,n=Math.min(e.row,t.row),a=Math.min(e.col,t.col),o=Math.max(e.row,t.row),s=Math.max(e.col,t.col);return n===0&&a===0&&o===p-1&&s===r.length-1})(),h=(0,e.useCallback)(()=>{let e=n.getRowCount();if(e===0||r.length===0)return``;let t=[];for(let i=0;i<e;i+=1){let e=n.getRow(i);if(!e)continue;let a=r.map(t=>{let n=x(e,t);return t.formatClipboardValue?t.formatClipboardValue(n,e):String(n??``)});t.push(a.join(` `))}return t.join(`
|
|
8
|
-
`)},[n,r]);return{isWholeGridSelected:m,handleCopy:(0,e.useCallback)(async()=>{let e=m?h():ve(n.getRow,n.getRowCount(),r,i.selection);e&&navigator.clipboard?.writeText&&await navigator.clipboard.writeText(e)},[m,n,h,i.selection,r]),handlePaste:(0,e.useCallback)(e=>{if(!u||!i.activeCell)return;let p=e.clipboardData.getData(`text/plain`);if(!p)return;e.preventDefault();let m=_e(p);if(m.length===0)return;let h=i.activeCell.row,g=n.getSourceIndex(h);if(g===void 0)return;let _=i.activeCell.col,v=[...t],y=[...r],x=n.getRowCount(),S=v.length,C=e=>e<x?n.getSourceIndex(e):S+(e-x),w=g+m.length;if(w>v.length&&c)for(;v.length<w;)v.push(c());let T=m.reduce((e,t)=>Math.max(e,t.length),0);if(T===0)return;let E=_+T;if(E>y.length&&d&&l){for(;y.length<E;)y.push(l(y.length));d(y)}let D=ye(v,C,y,m,h,_,(e,t,n,r)=>b({readOnly:o,canEditCell:s},e,t,n,r)),O=L(i.activeCell.row+Math.max(m.length-1,0),0,Math.max(Math.max(n.getRowCount()-1,0),h+m.length-1)),k=L(i.activeCell.col+Math.max((m[0]?.length??1)-1,0),0,Math.max(Math.max(y.length-1,0),_+T-1));u(D),f(a.startSelection(i.activeCell)),f(a.updateSelection({row:O,col:k})),f(a.endSelection()),f(a.activateCell(i.activeCell))},[s,l,c,f,d,u,o,n,t,i.activeCell,r])}},xe=e=>{if(e<0)return``;let t=e,n=``;for(;t>=0;)n=String.fromCharCode(t%26+65)+n,t=Math.floor(t/26)-1;return n},Se=(e,t,n)=>e?e(t):n,Ce=(e,t=16)=>e.length<=t?e:`${e.slice(0,t)}…`,we=e=>e?`${xe(e.col)}${e.row+1}`:`なし`,Te=e=>{if(!e)return`なし`;if(e.type===`cell`){let t=Math.min(e.range.start.row,e.range.end.row),n=Math.max(e.range.start.row,e.range.end.row),r=Math.min(e.range.start.col,e.range.end.col),i=Math.max(e.range.start.col,e.range.end.col);return`${xe(r)}${t+1} - ${xe(i)}${n+1}`}if(e.type===`row`){let t=Math.min(e.startRow,e.endRow),n=Math.max(e.startRow,e.endRow);return`Row ${t+1} - ${n+1}`}let t=Math.min(e.startCol,e.endCol),n=Math.max(e.startCol,e.endCol);return`Col ${xe(t)} - ${xe(n)}`},Ee=(e,t)=>`Rows: ${t} / ${e.rows.length}`,De=e=>`Columns: ${e.visibleColumns.length} / ${e.columns.length}`,Oe=(e,t)=>{let n=e.selection;if(!n)return{selectedCellCount:0,selectedRowCount:0,selectedColumnCount:0};if(n.type===`cell`){let e=Math.min(n.range.start.row,n.range.end.row),t=Math.max(n.range.start.row,n.range.end.row),r=Math.min(n.range.start.col,n.range.end.col),i=Math.max(n.range.start.col,n.range.end.col),a=t-e+1,o=i-r+1;return{selectedCellCount:a*o,selectedRowCount:a,selectedColumnCount:o}}if(n.type===`row`){let t=Math.min(n.startRow,n.endRow),r=Math.max(n.startRow,n.endRow)-t+1,i=e.visibleColumns.length;return{selectedCellCount:r*i,selectedRowCount:r,selectedColumnCount:i}}let r=Math.min(n.startCol,n.endCol),i=Math.max(n.startCol,n.endCol)-r+1,a=t;return{selectedCellCount:a*i,selectedRowCount:a,selectedColumnCount:i}},ke=(e,t)=>{let n=Oe(e,t);return`Cells: ${n.selectedCellCount} / Rows: ${n.selectedRowCount}`},B=e=>Object.values(e).filter(e=>T(e)).length,Ae=e=>{let t=e.globalFilterText.trim().length>0,n=t?Ce(e.globalFilterText.trim()):null,r=B(e.columnFilterValues);return!t&&r===0?`Filter: なし`:t&&r===0?`Filter: Global("${n}")`:!t&&r>0?`Filter: ${r}列`:`Filter: Global("${n}") + ${r}列`},V=(e,t)=>{let n=e.find(e=>e.key===t);return n?.title||n?.key||t},je=e=>e.sortState.length===0?`Sort: なし`:`Sort: ${e.sortState.map(t=>`${V(e.columns,t.columnKey)} (${t.direction===`asc`?`昇順`:`降順`})`).join(`, `)}`,Me=(e,t)=>{let n=Oe(e,t),r=e.globalFilterText.trim().length>0,i=r?Ce(e.globalFilterText.trim()):null,a=B(e.columnFilterValues),o=r||a>0,s=e.sortState.length>0,c=s?V(e.columns,e.sortState[0].columnKey):null;return{rowSummaryText:Ee(e,t),columnSummaryText:De(e),filterSummaryText:Ae(e),sortSummaryText:je(e),activeCellLabel:we(e.activeCell),selectionLabel:Te(e.selection),selectionStatsText:ke(e,t),selectionStats:n,hasGlobalFilter:r,globalFilterPreview:i,activeColumnFilterCount:a,hasAnyFilter:o,hasSorting:s,sortedColumnLabel:c}},Ne=({rows:t,viewRowCount:n,getFilteredRows:r,columns:i,visibleColumns:a,uiState:o,setGlobalFilterText:s})=>{let c=h(o),l=o.filters.columnFilters,u=o.sort,d=o.activeCell,f=o.selection,p=(0,e.useMemo)(()=>({rows:t,columns:i,visibleColumns:a,globalFilterText:c,columnFilterValues:l,sortState:u,activeCell:d,selection:f}),[t,i,a,c,l,u,d,f]),m=(0,e.useMemo)(()=>Me(p,n),[p,n]);return{slotContextBase:p,derivedSummary:m,slotContext:(0,e.useMemo)(()=>({...p,get filteredRows(){return r()},setGlobalFilterText:s,derivedSummary:m}),[m,r,s,p])}},Pe=({uiState:t,rows:n,visibleColumns:r,rowModel:i,setEditorInitialValue:o,onRowsChange:s,dispatch:c,getMovedCell:l,gridRootRef:u,editorActionGuardRef:d})=>{let f=(0,e.useCallback)(e=>{c(a.startSelection(e)),c(a.endSelection()),c(a.activateCell(e))},[c]);return{activateSingleCell:f,startEditWithValue:(0,e.useCallback)((e,t)=>{o(t),c(a.startEdit(e))},[c,o]),commitEdit:(0,e.useCallback)((e,o)=>{if(d.current||!t.editingCell)return;let p=t.editingCell,m=o===`down`?l(p,1,0):o===`right`?l(p,0,1):o===`left`?l(p,0,-1):p,h=r[p.col],g=i.getSourceIndex(p.row),_=n[g];if(!h||!_){c(a.stopEdit());return}if(s){let t=h.parseClipboardValue?h.parseClipboardValue(e,_):e;s(n.map((e,n)=>n===g?S(e,h,t):e))}d.current=!0,requestAnimationFrame(()=>{u.current?.focus(),f(m),d.current=!1}),c(a.stopEdit())},[f,c,d,i,l,u,s,n,t.editingCell,r]),cancelEdit:(0,e.useCallback)(()=>{d.current||(d.current=!0,c(a.stopEdit()),requestAnimationFrame(()=>{u.current?.focus(),d.current=!1}))},[c,d,u])}},Fe=e=>e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey,Ie=e=>e instanceof HTMLElement?e.closest(`input, textarea, select, button, [contenteditable="true"]`)!==null:!1,Le=({uiState:t,rowModel:n,visibleColumns:r,readOnly:i,canEditCell:o,setEditorInitialValue:s,dispatch:c,handleCopy:l,handleCellDoubleClick:u,isWholeGridSelected:d,selectEntireGrid:f})=>{let p=n.getRowCount(),m=(0,e.useCallback)((e,t,n)=>({row:L(e.row+t,0,Math.max(p-1,0)),col:L(e.col+n,0,Math.max(r.length-1,0))}),[p,r.length]),h=(0,e.useCallback)((e,n,i)=>{if(p===0||r.length===0)return;let o=t.activeCell??{row:0,col:0},s={row:L(o.row+e,0,p-1),col:L(o.col+n,0,r.length-1)};if(i){let e=t.selection?.type===`cell`?t.selection.range.start:o;c(a.startSelection(e)),c(a.updateSelection(s)),c(a.endSelection()),c(a.activateCell(s));return}c(a.startSelection(s)),c(a.endSelection()),c(a.activateCell(s))},[c,p,t.activeCell,t.selection,r.length]);return{getMovedCell:m,handleKeyDown:(0,e.useCallback)(async e=>{if(!Ie(e.target)&&!t.editingCell){if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`c`){e.preventDefault(),await l();return}if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`a`){if(e.preventDefault(),d){c(a.clearSelection()),c(a.activateCell(null));return}f();return}if(e.key===`ArrowUp`){e.preventDefault(),h(-1,0,e.shiftKey);return}if(e.key===`ArrowDown`){e.preventDefault(),h(1,0,e.shiftKey);return}if(e.key===`ArrowLeft`){e.preventDefault(),h(0,-1,e.shiftKey);return}if(e.key===`ArrowRight`){e.preventDefault(),h(0,1,e.shiftKey);return}if(e.key===`Tab`){e.preventDefault(),h(0,e.shiftKey?-1:1,!1);return}if(e.key===`Escape`){e.preventDefault(),c(a.clearSelection());return}if(e.key===`Enter`||e.key===`F2`){e.preventDefault(),t.activeCell&&u(t.activeCell);return}if(Fe(e)&&t.activeCell){let l=n.getRow(t.activeCell.row),u=r[t.activeCell.col];if(!l||!u||!b({readOnly:i,canEditCell:o},t.activeCell.row,t.activeCell.col,l,u))return;e.preventDefault(),s(e.key),c(a.startEdit(t.activeCell))}}},[o,c,n,u,l,d,h,i,f,s,t.activeCell,t.editingCell,r])}},Re=new Intl.Collator(`ja`,{numeric:!0,sensitivity:`base`}),ze=(e,t)=>{let n=Number(e),r=Number(t);return Number.isFinite(n)&&Number.isFinite(r)?n-r:Re.compare(String(e??``),String(t??``))},Be=(e,t,n,r)=>{if(!r)return e.length===1&&e[0].columnKey===t&&e[0].direction===n?[]:[{columnKey:t,direction:n}];let i=e.findIndex(e=>e.columnKey===t);return i===-1?[...e,{columnKey:t,direction:n}]:e[i].direction===n?e.filter((e,t)=>t!==i):e.map((e,r)=>r===i?{columnKey:t,direction:n}:e)},Ve=(e,t,n)=>e.some(e=>e.columnKey===t)?e:[...e,{columnKey:t,direction:n}],He=(e,t,n)=>t<0||t>=e.length||e[t].direction===n?e:e.map((e,r)=>r===t?{...e,direction:n}:e),Ue=(e,t,n)=>t<0||t>=e.length||e[t].columnKey===n?e:e.map((e,r)=>r===t?{...e,columnKey:n}:e).filter((e,r)=>r===t||e.columnKey!==n),We=(e,t)=>t<0||t>=e.length?e:e.filter((e,n)=>n!==t),Ge=(e,t,n)=>{if(t<0||t>=e.length||n<0||n>=e.length||t===n)return e;let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r},Ke=(e,t,n,r)=>{if(r.length===0)return t;let i=r.map(e=>{let t=n.find(t=>t.key===e.columnKey);return t?{column:t,multiplier:e.direction===`asc`?1:-1}:null}).filter(e=>e!==null);if(i.length===0)return t;let a=t.length,o=i.length,s=i.map(e=>e.multiplier),c=Array(o),l=!0;for(let n=0;n<o;n+=1){let r=i[n].column,o=new Float64Array(a),s=!0;for(let n=0;n<a;n+=1){let i=Number(x(e[t[n]],r));if(!Number.isFinite(i)){s=!1;break}o[n]=i}if(!s){l=!1;break}c[n]=o}let u=Array(a);for(let e=0;e<a;e+=1)u[e]=e;if(l)if(o===1){let e=c[0],n=s[0];u.sort((r,i)=>{let a=e[r]-e[i];return a===0?t[r]-t[i]:a*n})}else u.sort((e,n)=>{for(let t=0;t<o;t+=1){let r=c[t][e]-c[t][n];if(r!==0)return r*s[t]}return t[e]-t[n]});else{let n=i.map(({column:n})=>{let r=Array(a);for(let i=0;i<a;i+=1)r[i]=x(e[t[i]],n);return r});u.sort((e,r)=>{for(let t=0;t<o;t+=1){let i=ze(n[t][e],n[t][r]);if(i!==0)return i*s[t]}return t[e]-t[r]})}let d=new Int32Array(a);for(let e=0;e<a;e+=1)d[e]=t[u[e]];return d},qe=15e6,Je=(e,t,n,r)=>e&&t&&n>0&&n<=r,Ye=1<<20,Xe=(e,t)=>({rowCount:e,rowTop:e=>e*t,rowsHeight:(e,n)=>(n-e+1)*t,totalBodyHeight:e*t,rowAtContentY:n=>Math.min(Math.max(Math.floor(n/t),0),Math.max(e-1,0))}),Ze=(e,t,n,r)=>{if(r<n)return null;let i=Math.max(e,n),a=Math.min(t,r);return i>a?null:{start:i,end:a}},Qe=(e,t)=>e*t,$e=(e,t)=>t===1?e:e/t,et=(e,t,n,r)=>{let i=t*(1-n);return r.rowAtContentY(e-i)},tt=({rowCount:e,rowHeight:t,headerHeight:n,viewportHeight:r,scrollTop:i,overscan:a,maxBodyPx:o})=>{let s=e*t,c=Math.min(s,o),l=Math.max(n+s-r,0),u=Math.max(n+c-r,0),d=u>0&&s>c?l/u:1,f=Math.min(Math.max(i,0),u),p=f*d,m=Math.ceil(r/t)+1,h=Math.floor(p/t),g=Math.max(h-a,0),_=Math.min(h+m+a,e),v=d===1?0:Math.floor(g*t/Ye)*Ye,y=f-p+v,b=[],x=new Set;for(let e=g;e<_;e+=1)b.push({index:e,start:n+e*t-v}),x.add(e);return{physicalBodyHeight:c,logicalBodyHeight:s,scaleFactor:d,translateY:y,windowBaseOffsetPx:v,rows:b,rowIndexSet:x}},nt=({headerHeight:e,viewportHeight:t,scrollTop:n,overscan:r},i)=>{let a=i.rowCount,o=i.totalBodyHeight,s=o,c=Math.max(e+o-t,0),l=Math.min(Math.max(n,0),c),u=i.rowAtContentY(l),d=i.rowAtContentY(l+t),f=Math.max(u-r,0),p=Math.min(d+r+1,a),m=[],h=new Set;for(let t=f;t<p;t+=1)m.push({index:t,start:e+i.rowTop(t),size:i.rowsHeight(t,t)}),h.add(t);return{physicalBodyHeight:s,logicalBodyHeight:o,scaleFactor:1,translateY:0,windowBaseOffsetPx:0,rows:m,rowIndexSet:h}},rt=({gridRootRef:t,bodyScrollRef:n,scrollContainerRef:r,leftPaneScrollRef:i,rightPaneScrollRef:o,pointerClientRef:s,autoScrollFrameRef:c,uiState:l,dispatch:u,enableRangeSelection:d,enableSorting:f,orderedColumns:p,filteredRowsLength:m,visibleColumnsLength:h,paneLayout:g,leftLeadingWidth:_,centerLeadingWidth:v,rightLeadingWidth:y,headerHeight:b,rowMetrics:x,verticalScaleFactor:S,setHoveredRowIndex:C,setHoveredColumnIndex:w,enableRowHover:T,enableColumnHeaderHover:E})=>{let D=(0,e.useRef)(l.dragState);D.current=l.dragState;let O=(0,e.useRef)(l.sort);O.current=l.sort;let k=(0,e.useRef)(p);k.current=p;let A=(0,e.useRef)(f);A.current=f;let j=l.dragState?.type??null,M=(0,e.useCallback)((e,t)=>{let a=n.current;if(!a||m===0||h===0)return null;let s=a.getBoundingClientRect(),c=et(a.scrollTop+t-s.top-b,r.current?.scrollTop??0,S,x),l=null,u=i.current;if(l===null&&u&&g.left.entries.length>0){let t=u.getBoundingClientRect();if(e<t.right){let n=e-t.left-_;l=z(g.left,n)}}let d=o.current;if(l===null&&d&&g.right.entries.length>0){let t=d.getBoundingClientRect();if(e>=t.left){let n=e-t.left-y;l=z(g.right,n)}}if(l===null&&g.center.entries.length>0){let t=a.scrollLeft+e-s.left-v;l=z(g.center,Math.max(t,0))}return l===null?null:{row:c,col:L(l,0,h-1)}},[n,i,o,r,m,h,g,_,v,y,b,x,S]),N=(0,e.useCallback)((e,t)=>{let n=D.current;if(!n||n.type!==`selection`)return;let r=M(e,t);if(r){if(n.selectionKind===`cell`){u(a.updateSelection(r));return}if(n.selectionKind===`row`){u(a.updateRowSelection(r.row));return}n.selectionKind===`col`&&u(a.updateColumnSelection(r.col))}},[u,M]);return(0,e.useEffect)(()=>{let e=e=>{s.current={x:e.clientX,y:e.clientY},j===`columnResize`&&u(a.updateColumnResize(e.clientX))},t=()=>{u(a.endSelection()),u(a.endColumnResize())};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},[u,s,j]),(0,e.useEffect)(()=>{if(j!==`selection`){c.current!==null&&(cancelAnimationFrame(c.current),c.current=null);return}let e=()=>{let t=r.current,n=s.current;if(!t||!n){c.current=requestAnimationFrame(e);return}let i=t.getBoundingClientRect(),a=t.scrollTop,o=t.scrollLeft,l=D.current?.type===`selection`&&D.current.selectionKind===`col`,u=D.current?.type===`selection`&&D.current.selectionKind===`row`;l||(n.y<i.top+24?a=Math.max(t.scrollTop-18,0):n.y>i.bottom-24&&(a=t.scrollTop+18)),u||(n.x<i.left+24?o=Math.max(t.scrollLeft-18,0):n.x>i.right-24&&(o=t.scrollLeft+18)),(a!==t.scrollTop||o!==t.scrollLeft)&&(t.scrollTo({top:a,left:o,behavior:`auto`}),N(n.x,n.y)),c.current=requestAnimationFrame(e)};return c.current=requestAnimationFrame(e),()=>{c.current!==null&&(cancelAnimationFrame(c.current),c.current=null)}},[c,r,s,j,N]),{updateSelectionFromPointer:N,handleCellPointerDown:(0,e.useCallback)((e,n)=>{n.preventDefault(),n.button===0&&(t.current?.focus(),u(a.activateCell(e)),d&&u(a.startSelection(e)))},[u,d,t]),handleCellPointerEnter:(0,e.useCallback)((e,t)=>{if(T&&C(e.row),!d)return;let n=D.current;n?.type!==`selection`||n.selectionKind!==`cell`||(s.current={x:t.clientX,y:t.clientY},u(a.updateSelection(e)))},[u,d,s,C,T]),handleNativeDragStart:(0,e.useCallback)(e=>{e.preventDefault()},[]),handleRowHeaderPointerDown:(0,e.useCallback)((e,n)=>{n.preventDefault(),n.button===0&&(t.current?.focus(),u(a.startRowSelection(e)))},[u,t]),handleRowHeaderPointerEnter:(0,e.useCallback)((e,t)=>{T&&C(e);let n=D.current;n?.type!==`selection`||n.selectionKind!==`row`||(s.current={x:t.clientX,y:t.clientY},u(a.updateRowSelection(e)))},[u,s,C,T]),handleColumnHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus(),n.shiftKey&&A.current){let t=k.current[e];if(t){let e=O.current,n=e.find(e=>e.columnKey===t.key)?.direction?`desc`:`asc`,r=Be(e,t.key,n,!0);u(r.length===0?a.clearSort():a.setSort(r))}return}u(a.startColumnSelection(e))}},[u,t]),handleColumnHeaderPointerEnter:(0,e.useCallback)((e,t)=>{C(null),E&&w(e);let n=D.current;n?.type!==`selection`||n.selectionKind!==`col`||(s.current={x:t.clientX,y:t.clientY},u(a.updateColumnSelection(e)))},[u,s,C,w,E])}},it=({scrollRef:t,columnVirtualizer:n,columnMeasurements:r,totalScrollWidth:i,physicalBodyHeight:a,headerHeight:o,leftPaneWidth:s,rightPaneWidth:c,centerLeadingWidth:l,activeCellRect:u,verticalScaleFactor:d})=>{(0,e.useEffect)(()=>{n.measure()},[n,r]),(0,e.useEffect)(()=>{if(!t.current)return;let e=t.current,n=Math.max(i-e.clientWidth,0),r=Math.max(o+a-e.clientHeight,0);e.scrollLeft>n&&(e.scrollLeft=n),e.scrollTop>r&&(e.scrollTop=r)},[t,i,a,o]),(0,e.useEffect)(()=>{if(!t.current||!u)return;let e=t.current,n=o+u.top,r=n+u.height,i=s+l+u.left,a=i+u.width,f=Qe(e.scrollTop,d),p=e.scrollLeft,m=e.clientHeight,h=e.clientWidth,g=f,_=p,v=f+o,y=f+m;n<v?g=Math.max(n-o,0):r>y&&(g=Math.max(r-m,0));let b=p+s,x=p+h-c;i<b?_=Math.max(i-s,0):a>x&&(_=Math.max(a-h+c,0)),(g!==f||_!==p)&&e.scrollTo({top:$e(g,d),left:_,behavior:`auto`})},[t,u,o,s,c,l,d])};function at(e,t,n,r){let i=e.find(e=>e.key===t);if(!i)return null;let a=re(i),o={left:[],center:[],right:[]},s=new Map;for(let t of e)o[re(t)].push(t.key),s.set(t.key,t.visible!==!1);let c=o[n].filter(e=>s.get(e)).indexOf(t),l=o[a].indexOf(t);if(l<0)return null;o[a].splice(l,1);let u=r;a===n&&c>=0&&u>c&&--u;let d=o[n].filter(e=>s.get(e));if(u=Math.max(0,Math.min(u,d.length)),a===n&&c>=0&&u===c)return null;let f;return f=u>=d.length?o[n].length:o[n].indexOf(d[u]),o[n].splice(f,0,t),[...o.left,...o.center,...o.right]}var ot=24,st=18,ct=32,lt=2,H=14,ut=12,dt=`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 9 2 12 5 15"/><polyline points="9 5 12 2 15 5"/><polyline points="15 19 12 22 9 19"/><polyline points="19 9 22 12 19 15"/><line x1="2" y1="12" x2="22" y2="12"/><line x1="12" y1="2" x2="12" y2="22"/></svg>`,U=`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="17" x2="12" y2="22"/><path d="M5 17h14v-1.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1v4.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24Z"/></svg>`,ft=`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="4.9" y1="4.9" x2="19.1" y2="19.1"/></svg>`,W={normal:{border:`#2563eb`,background:`#eff6ff`,color:`#1d4ed8`},out:{border:`#ef4444`,background:`#fef2f2`,color:`#dc2626`}},pt=t=>{let n=(0,e.useRef)(t);n.current=t;let r=(0,e.useRef)(null),i=(0,e.useRef)(null),a=(0,e.useRef)(null),o=(0,e.useRef)(null),s=(0,e.useRef)(null),c=(0,e.useRef)({x:0,y:0}),l=(0,e.useRef)(null),u=(0,e.useRef)(null),d=(0,e.useRef)(null),f=(0,e.useRef)(null),p=(0,e.useCallback)(()=>{for(let e of[r,i,a])e.current&&(e.current.style.display=`none`)},[]),m=(0,e.useCallback)(e=>{if(u.current)return;let t=document.createElement(`div`);t.setAttribute(`data-grid-drag-ghost`,``),t.style.cssText=[`position:fixed`,`top:0`,`left:0`,`display:inline-flex`,`align-items:center`,`gap:6px`,`padding:4px 10px 4px 8px`,`border-radius:9999px`,`border:1px solid `+W.normal.border,`background:`+W.normal.background,`color:`+W.normal.color,`font-size:12px`,`font-weight:600`,`line-height:1`,`white-space:nowrap`,`box-shadow:0 4px 12px rgba(15,23,42,0.18)`,`pointer-events:none`,`user-select:none`,`z-index:9999`,`will-change:transform`,`transform:translate(-9999px,-9999px)`].join(`;`);let n=document.createElement(`span`);n.style.cssText=`display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:none`;let r=document.createElement(`span`);r.textContent=e,t.appendChild(n),t.appendChild(r),document.body.appendChild(t),u.current=t,d.current=n,f.current=null},[]),h=(0,e.useCallback)(e=>{let t=u.current;if(!t)return;let{x:n,y:r}=c.current;t.style.transform=`translate(`+(n+H)+`px,`+(r+ut)+`px)`;let i=e??`out`;if(f.current===i)return;f.current=i;let a=d.current;i===`out`?(t.style.borderColor=W.out.border,t.style.background=W.out.background,t.style.color=W.out.color,a&&(a.innerHTML=ft)):(t.style.borderColor=W.normal.border,t.style.background=W.normal.background,t.style.color=W.normal.color,a&&(a.innerHTML=i===`center`?dt:U))},[]),g=(0,e.useCallback)(()=>{let e=u.current;e&&e.parentNode&&e.parentNode.removeChild(e),u.current=null,d.current=null,f.current=null},[]),_=(0,e.useCallback)((e,t)=>{let{paneLayout:r,leftPaneScrollRef:i,rightPaneScrollRef:a,bodyScrollRef:o,scrollContainerRef:s,leftLeadingWidth:c,centerLeadingWidth:l,rightLeadingWidth:u}=n.current,d=s.current;if(d){let n=d.getBoundingClientRect();if(e<n.left||e>n.right||t<n.top||t>n.bottom)return null}let f=i.current,p=a.current;if(f&&r.left.entries.length===0&&e<=f.getBoundingClientRect().left+ct)return{pane:`left`,slot:0,leftPx:lt};if(f&&r.left.entries.length>0){let t=f.getBoundingClientRect();if(e<t.right){let n=e-t.left-c,i=de(r.left,n);return{pane:`left`,slot:i,leftPx:c+fe(r.left,i)}}}if(p&&r.right.entries.length===0&&e>=p.getBoundingClientRect().left-ct)return{pane:`right`,slot:0,leftPx:-2};if(p&&r.right.entries.length>0){let t=p.getBoundingClientRect();if(e>=t.left){let n=e-t.left-u,i=de(r.right,n);return{pane:`right`,slot:i,leftPx:u+fe(r.right,i)}}}let m=o.current;if(m&&r.center.entries.length>0){let t=m.getBoundingClientRect(),n=m.scrollLeft+e-t.left-l,i=de(r.center,Math.max(n,0));return{pane:`center`,slot:i,leftPx:l+fe(r.center,i)}}return null},[]),v=(0,e.useCallback)(()=>{let e=_(c.current.x,c.current.y);if(h(e?e.pane:null),!e){s.current=null,p();return}s.current={pane:e.pane,slot:e.slot};let t={left:r.current,center:i.current,right:a.current};for(let n of[`left`,`center`,`right`]){let r=t[n];r&&(n===e.pane?(r.style.left=`${e.leftPx}px`,r.style.display=`block`):r.style.display=`none`)}},[_,p,h]),y=(0,e.useRef)(()=>{});y.current=(0,e.useCallback)(()=>{let e=n.current.scrollContainerRef.current;if(e){let t=e.getBoundingClientRect(),n=c.current,r=e.scrollLeft;n.x<t.left+ot?r=Math.max(e.scrollLeft-st,0):n.x>t.right-ot&&(r=e.scrollLeft+st),r!==e.scrollLeft&&e.scrollTo({left:r,behavior:`auto`})}v(),l.current=requestAnimationFrame(y.current)},[v]);let b=(0,e.useCallback)(e=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null),document.body.style.cursor=``,p(),g();let t=o.current,r=s.current;if(o.current=null,s.current=null,!e||!t||!r)return;let{columns:i,applyColumnOrderAndPin:a}=n.current,c=at(i,t,r.pane,r.slot);c&&a(c,new Map([[t,r.pane===`center`?void 0:r.pane]]))},[p,g]),x=(0,e.useCallback)((e,t)=>{if(!n.current.enabled||t.button!==0)return;t.stopPropagation(),t.preventDefault(),o.current=e.key,c.current={x:t.clientX,y:t.clientY},document.body.style.cursor=`grabbing`,m(e.title||e.key);let r=t.currentTarget,i=t.pointerId;try{r.setPointerCapture(i)}catch{}let a=e=>{c.current={x:e.clientX,y:e.clientY},v()};function s(){d(),b(!0)}function u(){d(),b(!1)}let d=()=>{r.removeEventListener(`pointermove`,a),r.removeEventListener(`pointerup`,s),r.removeEventListener(`pointercancel`,u),r.removeEventListener(`lostpointercapture`,u);try{r.releasePointerCapture(i)}catch{}};r.addEventListener(`pointermove`,a),r.addEventListener(`pointerup`,s),r.addEventListener(`pointercancel`,u),r.addEventListener(`lostpointercapture`,u),v(),l.current=requestAnimationFrame(y.current)},[v,b,m]);return(0,e.useEffect)(()=>()=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null),document.body.style.cursor=``;let e=u.current;e&&e.parentNode&&e.parentNode.removeChild(e),u.current=null,d.current=null,f.current=null},[]),{onColumnDragHandlePointerDown:x,leftIndicatorRef:r,centerIndicatorRef:i,rightIndicatorRef:a}},mt=(e,t)=>{let{heights:n,prefix:r,rowCount:i}=e,a=Math.max(t,0);for(let e=a;e<i;e+=1)r[e+1]=r[e]+n[e]},ht=(e,t,n,r)=>{let i=r??new Map,a=Math.max(e,0),o=new Float64Array(a);for(let e=0;e<a;e+=1){let r=i.get(n(e));o[e]=r===void 0?t:r}let s={rowCount:a,estimate:t,heights:o,prefix:new Float64Array(a+1),measured:i};return mt(s,0),s},gt=(e,t,n,r)=>t<0||t>=e.rowCount||(e.measured.set(n,r),e.heights[t]===r)?!1:(e.heights[t]=r,!0),_t=(e,t,n)=>{if(t<=0||n<=0)return 0;if(n>=e[t])return t-1;let r=0,i=t;for(;r<i;){let t=r+i+1>>1;e[t]<=n?r=t:i=t-1}return Math.min(Math.max(r,0),t-1)},vt=e=>{let{prefix:t,rowCount:n}=e;return{rowCount:n,rowTop:e=>t[Math.min(Math.max(e,0),n)],rowsHeight:(e,r)=>t[Math.min(Math.max(r+1,0),n)]-t[Math.min(Math.max(e,0),n)],totalBodyHeight:t[n],rowAtContentY:e=>_t(t,n,e)}},G=21,K=4,yt=141,bt=13,xt=600,St=60,Ct=1e3,wt=16,Tt=null,Et=()=>Tt||(typeof document>`u`?null:(Tt=document.createElement(`canvas`).getContext(`2d`),Tt)),Dt=`system-ui, sans-serif`,Ot=e=>{let t=Dt,n=13,r=`400`;if(e&&typeof window<`u`){let i=window.getComputedStyle(e);i.fontFamily&&(t=i.fontFamily);let a=Number.parseFloat(i.fontSize);Number.isFinite(a)&&a>0&&(n=a),i.fontWeight&&(r=i.fontWeight)}return{cellFont:`${r} ${n}px ${t}`,headerFont:`${xt} ${bt}px ${t}`}},q=(e,t,n)=>Math.min(Math.max(e,t),n),kt=e=>e>=4352&&e<=4447||e>=11904&&e<=12350||e>=12353&&e<=13311||e>=13312&&e<=19903||e>=19968&&e<=40959||e>=40960&&e<=42191||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65072&&e<=65103||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=127744&&e<=129791||e>=131072&&e<=262141,At=e=>{let t=0;for(let n of e){let e=n.codePointAt(0)??0;t+=kt(e)?2:1}return t};function jt(e){let t=e.map(()=>[]),n=e.map(()=>[]),r=e.map(()=>1/0);return{collect:i=>{for(let a=0;a<e.length;a+=1){let o=String(x(i,e[a])??``);if(o===``)continue;let s=t[a],c=n[a];if(s.length===wt&&2*o.length<=r[a])continue;let l=At(o);if(s.length<wt){if(s.push(o),c.push(l),s.length===wt){let e=c[0];for(let t=1;t<wt;t+=1)c[t]<e&&(e=c[t]);r[a]=e}continue}if(l<=r[a])continue;let u=0;for(let e=1;e<wt;e+=1)c[e]<c[u]&&(u=e);s[u]=o,c[u]=l;let d=c[0];for(let e=1;e<wt;e+=1)c[e]<d&&(d=c[e]);r[a]=d}},finalize:({gridRoot:n,currentWidths:r})=>{let i=Et();if(!i||e.length===0)return{};let{cellFont:a,headerFont:o}=Ot(n),s={};for(let n=0;n<e.length;n+=1){let c=e[n];i.font=o;let l=c.title||c.key,u=i.measureText(l).width+K+yt;i.font=a;let d=0,f=t[n];for(let e=0;e<f.length;e+=1){let t=i.measureText(f[e]).width;t>d&&(d=t)}let p=d>0?d+K+G:0,m=Math.ceil(q(Math.max(u,p),c.minWidth??St,c.maxWidth??Ct));r[c.key]!==m&&(s[c.key]=m)}return s}}}function Mt(){return Et()!==null}var Nt=()=>new Promise(e=>{if(typeof MessageChannel>`u`){setTimeout(e,0);return}let t=new MessageChannel;t.port1.onmessage=()=>{t.port1.close(),e()},t.port2.postMessage(null)}),Pt=10,Ft=180,It=()=>typeof performance<`u`?performance.now():Date.now(),Lt=({rowModelRef:t,gridRootRef:n,columnWidthsRef:r,dispatch:i})=>{let[o,s]=(0,e.useState)(!1),c=(0,e.useRef)(0),l=(0,e.useRef)(null),u=()=>{l.current!==null&&(clearTimeout(l.current),l.current=null)};return(0,e.useEffect)(()=>()=>{c.current+=1,u()},[]),{isAutosizing:o,runAutosize:(0,e.useCallback)(async e=>{if(e.length===0||!Mt())return;let o=c.current+=1;u();let d=t.current,f=d.getRowCount(),p=n.current,m=r.current,h=jt(e);l.current=setTimeout(()=>{c.current===o&&s(!0)},Ft);try{let e=0;for(;e<f;){let n=It();for(;e<f&&It()-n<Pt;){let t=d.getRow(e);t&&h.collect(t),e+=1}if(e<f&&(await Nt(),c.current!==o||t.current!==d))return}let n=h.finalize({gridRoot:p,currentWidths:m});Object.keys(n).length>0&&i(a.syncColumnWidths(n))}finally{c.current===o&&(u(),s(!1))}},[r,i,n,t])}},Rt=()=>{let e=new Set,t=[];return{collect(n){let r=String(n??``);e.has(r)||(e.add(r),t.push({value:r,label:r||`(空白)`}))},finalize(){return t.sort((e,t)=>Re.compare(e.label,t.label))}}},J=(e,t)=>{let n=Rt();for(let r=0;r<e;r+=1)n.collect(t(r));return n.finalize()},zt=10,Bt=()=>typeof performance<`u`?performance.now():Date.now(),Vt=[],Ht=new Set,Ut={status:`idle`,options:Vt,allValues:Ht,progress:0},Y={status:`collecting`,options:Vt,allValues:Ht,progress:0},Wt=e=>new Set(e.map(e=>e.value)),Gt={source:null,rowCount:0,result:Ut},Kt=({column:t,rowCount:n,getRawValueAt:r})=>{let i=t?.filterType??null,a=i===`select`||i===`set`,o=t?.filterOptions&&t.filterOptions.length>0?t.filterOptions:null,s=a&&o===null&&n>5e4,c=(0,e.useMemo)(()=>{if(!t||!a)return Ut;if(o){let e=o;return{status:`ready`,options:e,allValues:Wt(e),progress:1}}if(!s){let e=J(n,r);return{status:`ready`,options:e,allValues:Wt(e),progress:1}}return null},[t,a,o,s,n,r]),[l,u]=(0,e.useState)(Gt);(0,e.useEffect)(()=>{if(c!==null)return;let e=r,t=n,i=Rt(),a=!1;return(async()=>{let n=0;for(;n<t;){let r=Bt();for(;n<t&&Bt()-r<zt;)i.collect(e(n)),n+=1;if(n<t){if(await Nt(),a)return;u({source:e,rowCount:t,result:{status:`collecting`,options:Vt,allValues:Ht,progress:n/t}})}}if(a)return;let r=i.finalize();u({source:e,rowCount:t,result:{status:`ready`,options:r,allValues:Wt(r),progress:1}})})(),()=>{a=!0}},[c,n,r]);let d=l.source===r&&l.rowCount===n?l.result:Y;return c??d};function qt(e){let t=e.blockSize,n=e.maxBlocks,r=new Map,i=e=>{let t=r.get(e);t!==void 0&&(r.delete(e),r.set(e,t))},a=()=>{for(;r.size>n;){let e=r.keys().next().value;if(e===void 0)break;r.delete(e)}};return{getRow:e=>{if(t<=0||e<0)return;let n=Math.floor(e/t),i=r.get(n);if(i!==void 0)return i[e-n*t]},hasBlock:e=>r.has(e),setBlock:(e,t)=>{r.has(e)&&r.delete(e),r.set(e,t),a()},touchBlocks:e=>{for(let t of e)i(t)},clear:()=>{r.clear()},loadedBlockIndexes:()=>Array.from(r.keys())}}function Jt(e,t){return Math.floor(e/t)}function Yt(e,t,n,r){if(n<=0||r<=0)return[];let i=Math.max(0,Math.floor(e)),a=Math.min(r,Math.floor(t));if(a<=i)return[];let o=Jt(i,n),s=Jt(a-1,n),c=[];for(let e=o;e<=s;e+=1)c.push(e);return c}var Xt=100,Zt=64,Qt=120;function $t(t){let{dataSource:n,rowKeyGetter:r,query:i,queryKey:a,refreshToken:o}=t,s=n?.blockSize??Xt,c=n?.maxCachedBlocks??Zt,l=t.debounceMs??Qt,[u]=(0,e.useState)(()=>qt({blockSize:s,maxBlocks:c})),[d,f]=(0,e.useState)(n?.initialRowCount??0),[p,m]=(0,e.useState)(0),h=(0,e.useRef)(d),g=(0,e.useRef)(!1),_=(0,e.useRef)(new Map),v=(0,e.useRef)(null),y=(0,e.useRef)({start:0,end:0}),b=(0,e.useCallback)(e=>{if(n==null||u.hasBlock(e)||_.current.has(e))return;let t=new AbortController;_.current.set(e,t);let r=e*s,a=r+s;n.getRows({startIndex:r,endIndex:a,query:i,signal:t.signal}).then(n=>{t.signal.aborted||_.current.get(e)===t&&(_.current.delete(e),u.setBlock(e,n.rows),n.totalRowCount!==h.current&&(h.current=n.totalRowCount,f(n.totalRowCount)),m(e=>e+1))}).catch(()=>{_.current.get(e)===t&&_.current.delete(e)})},[u,s,n,i]),x=(0,e.useCallback)(()=>{let{start:e,end:t}=y.current,n=Yt(e,t,s,h.current),r=new Set(n);for(let[e,t]of _.current)r.has(e)||(t.abort(),_.current.delete(e));for(let e of n)b(e)},[s,b]),S=(0,e.useCallback)(()=>{v.current!==null&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=null,x()},l)},[l,x]),C=(0,e.useCallback)((e,t)=>{n!=null&&(y.current={start:e,end:t},u.touchBlocks(Yt(e,t,s,h.current)),S())},[u,s,n,S]);(0,e.useEffect)(()=>{if(n==null)return;for(let[,e]of _.current)e.abort();_.current.clear(),v.current!==null&&(clearTimeout(v.current),v.current=null),u.clear();let e=!g.current;g.current=!0,m(e=>e+1),e?(n.initialRowCount??0)<=0&&b(0):b(0)},[a]);let w=(0,e.useRef)(o);(0,e.useEffect)(()=>{if(n==null||o===void 0){w.current=o;return}if(w.current===void 0){w.current=o;return}if(w.current!==o){w.current=o;for(let[,e]of _.current)e.abort();_.current.clear(),v.current!==null&&(clearTimeout(v.current),v.current=null),u.clear(),m(e=>e+1),x()}},[o]),(0,e.useEffect)(()=>{let e=_.current,t=v;return()=>{for(let[,t]of e)t.abort();e.clear(),t.current!==null&&(clearTimeout(t.current),t.current=null)}},[]);let T=(0,e.useCallback)(e=>u.getRow(e)!==void 0,[u]);return{rowModel:(0,e.useMemo)(()=>({getRowCount:()=>h.current,getRow:e=>u.getRow(e),getSourceIndex:e=>e,getRowKey:e=>{let t=u.getRow(e);return t===void 0?e:r(t,e)}}),[u,r,p]),rowCount:d,isRowLoaded:T,requestRange:C}}var en=e=>{let t={},n=e.globalText.trim();n.length>0&&(t.globalText=n);let r={},i=!1;for(let t of Object.keys(e.columnFilters)){let n=e.columnFilters[t];T(n)&&(r[t]=n,i=!0)}return i&&(t.columnFilters=r),e.sort.length>0&&(t.sort=e.sort),t},tn=e=>{let t=e.columnFilters??{},n=Object.keys(t).sort().map(e=>[e,t[e]]),r=e.sort??[];return JSON.stringify({g:e.globalText??``,s:r.map(e=>[e.columnKey,e.direction]),c:n})},nn=(e,t)=>e===null?!0:e.mode===`include`?e.values.has(t):!e.values.has(t),rn=28;function an({options:r,setSelection:i,searchInputRef:a,onValueToggle:o,onSelectAllChange:s,onRequestClose:c,isServerSide:l}){let[u,d]=(0,e.useState)(``),f=(0,e.useDeferredValue)(u),p=(0,e.useMemo)(()=>{let e=f.trim().toLowerCase();return e?r.filter(t=>t.label.toLowerCase().includes(e)):r},[r,f]),m=f.trim().length>0,h=(0,e.useRef)(null),g=(0,t.useVirtualizer)({count:p.length,getScrollElement:()=>h.current,estimateSize:()=>rn,overscan:10}),_=(0,e.useMemo)(()=>{if(i===null)return p.length;let e=0;for(let t of p)nn(i,t.value)&&(e+=1);return e},[i,p]),v=p.length>0&&_===p.length,y=_>0&&!v,b=i===null?r.length:i.mode===`include`?i.values.size:r.length-i.values.size;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:a,type:`text`,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&(e.preventDefault(),c())},placeholder:`検索...`,className:`ssg-filter-input`}),(0,n.jsxs)(`label`,{className:`ssg-filter-selectall`,children:[(0,n.jsx)(`input`,{type:`checkbox`,checked:v,ref:e=>{e&&(e.indeterminate=y)},onChange:()=>{s(m?p.map(e=>e.value):`all`,!v)}}),(0,n.jsx)(`span`,{className:`ssg-filter-selectall-label`,children:m?`(検索結果をすべて選択)`:`(すべて選択)`})]}),(0,n.jsx)(`div`,{ref:h,className:`ssg-filter-list`,children:p.length===0?(0,n.jsx)(`div`,{className:`ssg-filter-empty`,children:r.length===0?l?`候補が未指定です(serverSide では列に filterOptions などの候補供給が必要)`:`候補がありません`:`一致する候補がありません`}):(0,n.jsx)(`div`,{className:`ssg-filter-virt`,style:{height:g.getTotalSize()},children:g.getVirtualItems().map(e=>{let t=p[e.index];if(!t)return null;let r=nn(i,t.value);return(0,n.jsxs)(`label`,{className:`ssg-filter-option`,style:{transform:`translateY(${e.start}px)`,height:e.size},children:[(0,n.jsx)(`input`,{type:`checkbox`,checked:r,onChange:()=>o(t.value)}),(0,n.jsx)(`span`,{className:`ssg-filter-option-label`,children:t.label})]},t.value)})})}),(0,n.jsxs)(`div`,{className:`ssg-filter-meta`,children:[`選択中: `,b,` / `,r.length,` 件`,m?`(表示中 ${p.length} 件)`:``]})]})}function on({isOpen:e,title:t,filterType:i,draftValue:a,currentValueText:o,layout:s,selectOptions:c,optionsStatus:l,optionsProgress:u,setSelection:d,popoverRef:f,textInputRef:p,selectRef:m,onRequestClose:h,onDraftChange:g,onApply:_,onClear:v,onSetValueToggle:y,onSetSelectAllChange:b,onSetClear:x,isServerSide:S=!1}){if(typeof document>`u`||!e||!s)return null;let C={top:s.top,left:s.left,width:s.width},w=e=>{e.stopPropagation()},T=e=>{e.stopPropagation()},E=i===`set`;return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:f,onPointerDown:T,onKeyDownCapture:w,onPasteCapture:e=>{e.stopPropagation()},className:`ssg-filter-popover`,style:C,children:[(0,n.jsxs)(`div`,{className:`ssg-filter-title`,children:[`列フィルター: `,t]}),(E||i===`select`)&&l===`collecting`?(0,n.jsxs)(`div`,{className:`ssg-filter-collecting`,children:[`候補を収集中… `,Math.round(u*100),`%`]}):E?(0,n.jsx)(an,{options:c,setSelection:d,searchInputRef:p,onValueToggle:y,onSelectAllChange:b,onRequestClose:h,isServerSide:S}):i===`select`?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`div`,{className:`ssg-filter-hint`,children:`フィルター種別: select`}),(0,n.jsxs)(`select`,{ref:m,value:a,onChange:e=>g(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),_();return}e.key===`Escape`&&(e.preventDefault(),h())},className:`ssg-filter-select`,children:[(0,n.jsx)(`option`,{value:``,children:`(すべて)`}),c.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},`${t}-${e.value}`))]}),(0,n.jsxs)(`div`,{className:`ssg-filter-meta`,children:[`候補数: `,c.length]})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-filter-hint`,children:[`フィルター種別: `,i===`number`?`number`:`text`]}),(0,n.jsx)(`input`,{ref:p,type:`text`,value:a,onChange:e=>g(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),_();return}e.key===`Escape`&&(e.preventDefault(),h())},placeholder:i===`number`?`例: >=10 / <20 / 10..20 / =5`:`部分一致で絞り込み`,className:`ssg-filter-input`}),(0,n.jsx)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:i===`number`?`数量系は =, >, >=, <, <=, .. が使えます`:`text は部分一致検索です`})]}),!E&&(0,n.jsxs)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:[`現在値: `,o]}),(0,n.jsx)(`div`,{className:`ssg-filter-footer`,children:E?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),x()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-secondary`,children:`クリア`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),h()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-primary`,children:`閉じる`})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),v()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-secondary`,children:`クリア`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),_()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-primary`,children:`適用`})]})})]}),document.body)}function sn({context:e,showCounts:t=!0}){let{derivedSummary:r}=e;return(0,n.jsx)(`div`,{className:`ssg-bar--bottom`,children:(0,n.jsxs)(`div`,{className:`ssg-bar-container`,children:[t?(0,n.jsxs)(`div`,{className:`ssg-bar-group`,children:[(0,n.jsx)(`span`,{className:`ssg-bar-chip`,children:r.rowSummaryText}),(0,n.jsx)(`span`,{className:`ssg-bar-chip`,children:r.columnSummaryText})]}):null,(0,n.jsxs)(`div`,{className:`ssg-bar-group`,children:[(0,n.jsxs)(`span`,{className:`ssg-bar-chip`,children:[`Active: `,r.activeCellLabel]}),(0,n.jsxs)(`span`,{className:`ssg-bar-chip`,children:[`Selection: `,r.selectionLabel]}),(0,n.jsx)(`span`,{className:`ssg-bar-chip`,children:r.selectionStatsText}),(0,n.jsxs)(`span`,{className:`ssg-bar-chip`,children:[`Cols: `,r.selectionStats.selectedColumnCount]})]})]})})}function cn({context:e,showSummary:t=!0,showFilter:r=!0,showCounts:i=!0}){let{derivedSummary:a}=e;return(0,n.jsx)(`div`,{className:`ssg-bar--top`,children:(0,n.jsxs)(`div`,{className:`ssg-bar-container`,children:[t?(0,n.jsxs)(`div`,{className:`ssg-bar-group ssg-bar-leading`,children:[(0,n.jsx)(`span`,{className:`ssg-bar-title`,children:`Toolbar`}),i?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:a.rowSummaryText}),(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:a.columnSummaryText})]}):null,(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:a.filterSummaryText}),(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:a.sortSummaryText})]}):null,r?(0,n.jsxs)(`div`,{className:`ssg-bar-input-group`,children:[(0,n.jsx)(`input`,{type:`text`,value:e.globalFilterText,onChange:t=>e.setGlobalFilterText(t.target.value),placeholder:`グローバルフィルター`,className:`ssg-bar-input`}),e.globalFilterText.trim().length>0?(0,n.jsx)(`button`,{type:`button`,onClick:()=>e.setGlobalFilterText(``),className:`ssg-bar-clear-btn`,children:`クリア`}):null]}):null]})})}function X({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,rowKey:o,row:s,top:c,renderEntries:l,rowHeight:u,autoHeight:d,autoHeightMinHeight:f,rowHeaderCellStyle:p,isRowHovered:m,isWholeGridSelected:h,isRowSelected:g,activeColInRow:_,editingColInRow:v,selectedColStart:y,selectedColEnd:S,readOnly:C,canEditCell:w,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:O,onCellPointerEnter:k,onCellDoubleClick:A,renderCellContent:j,rowClassName:M,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,className:i(`ssg-body-row`,M,P),style:{height:u,transform:`translateY(${c}px)`},children:[t&&(0,n.jsx)(`div`,{onPointerDown:e=>T(a,e),onPointerEnter:e=>E(a,e),onPointerLeave:()=>D(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,(h||g)&&`ssg-header-cell--selected`,m&&`ssg-header-cell--hovered`,M,F),style:{...p,height:u},children:a+1}),l.map(e=>{if(!e)return null;let t=e.logicalIndex,c=e.column,l=r+e.paneLocalStart,p=e.paneLocalSize,h=t===_,T=t===v,E=g||y>=0&&t>=y&&t<=S,D=!b({readOnly:C,canEditCell:w},a,t,s,c),P=d&&c.autoHeight===!0,F,I=c.cellClassName;I&&(F=typeof I==`function`?I({row:s,rowIndex:a,colIndex:t,value:x(s,c),column:c,isActive:h,isSelected:E,isEditing:T,readOnly:D}):I);let ee=i(`ssg-body-cell`,P&&`ssg-body-cell--autoheight`,D&&!E&&`ssg-body-cell--readonly`,m&&`ssg-body-cell--row-hovered`,M,F,N);return(0,n.jsx)(`div`,{"data-autoheight-cell":P?``:void 0,className:ee,onPointerDown:e=>O({row:a,col:t},e),onPointerEnter:e=>k({row:a,col:t},e),onDoubleClick:()=>A({row:a,col:t}),style:{left:l,width:p,minWidth:p,...P?{minHeight:f}:{height:u},zIndex:h?3:1},children:j(s,a,c,t,{isActive:h,isSelected:E,isEditing:T,readOnly:D})},`${String(o)}-${c.key}`)})]})}var ln=(0,e.memo)(X),un=[`62%`,`46%`,`78%`,`54%`];function dn({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,top:o,rowHeight:s,renderEntries:c,rowHeaderCellStyle:l,isRowHovered:u,onRowHeaderPointerDown:d,onRowHeaderPointerEnter:f,onRowHeaderPointerLeave:p,onCellPointerDown:m,onCellPointerEnter:h,bodyCellClassName:g,bodyRowClassName:_,rowHeaderCellClassName:v}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,"data-skeleton-row":``,className:i(`ssg-body-row`,_),style:{height:s,transform:`translateY(${o}px)`},children:[t&&(0,n.jsx)(`div`,{onPointerDown:e=>d(a,e),onPointerEnter:e=>f(a,e),onPointerLeave:()=>p(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,`ssg-skeleton-rowheader`,u&&`ssg-header-cell--hovered`,v),style:{...l,height:s},children:a+1}),c.map(t=>{if(!t)return null;let o=t.logicalIndex,c=r+t.paneLocalStart,l=t.paneLocalSize,d=un[o%un.length];return(0,n.jsx)(`div`,{className:i(`ssg-body-cell`,u&&`ssg-body-cell--row-hovered`,g),onPointerDown:e=>m({row:a,col:o},e),onPointerEnter:e=>h({row:a,col:o},e),style:{left:c,width:l,minWidth:l,height:s,zIndex:1},children:(0,n.jsx)(`div`,{"aria-hidden":`true`,className:`ssg-skeleton-bar`,style:{width:d}})},`skeleton-${e}-${o}`)})]})}var fn=(0,e.memo)(dn);function pn({pane:e,ownsRowHeader:t,leadingWidth:r,rowModel:i,virtualRows:a,virtualRowIndexes:o,renderEntries:s,rowHeight:c,autoHeight:l=!1,isServerSide:u=!1,rowHeaderCellStyle:d,hoveredRowIndex:f,isWholeGridSelected:p,activeCell:m,editingCell:h,selectionSnapshot:g,readOnly:_,canEditCell:v,onRowHeaderPointerDown:y,onRowHeaderPointerEnter:b,onRowHeaderPointerLeave:x,onCellPointerDown:S,onCellPointerEnter:C,onCellDoubleClick:w,renderCellContent:T,getRowClassName:E,bodyCellClassName:D,bodyRowClassName:O,rowHeaderCellClassName:k}){return(0,n.jsx)(n.Fragment,{children:a.map(a=>{let A=a.index;if(!o.has(A))return null;let j=a.size??c,M=i.getRow(A);if(!M){if(!u)return null;let o=i.getRowKey(A)??A;return(0,n.jsx)(fn,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:A,top:a.start,rowHeight:j,renderEntries:s,rowHeaderCellStyle:d,isRowHovered:f===A,onRowHeaderPointerDown:y,onRowHeaderPointerEnter:b,onRowHeaderPointerLeave:x,onCellPointerDown:S,onCellPointerEnter:C,bodyCellClassName:D,bodyRowClassName:O,rowHeaderCellClassName:k},String(o))}let N=i.getRowKey(A)??A,P=g.kind===`row`&&A>=g.startRow&&A<=g.endRow,F=g.kind===`cell`&&A>=g.startRow&&A<=g.endRow,I=g.kind===`col`||F?g.startCol:-1,ee=g.kind===`col`||F?g.endCol:-1,te=m&&m.row===A?m.col:-1,L=h&&h.row===A?h.col:-1,ne=E?.(M,A);return(0,n.jsx)(ln,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:A,rowKey:N,row:M,top:a.start,renderEntries:s,rowHeight:j,autoHeight:l,autoHeightMinHeight:c,rowHeaderCellStyle:d,isRowHovered:f===A,isWholeGridSelected:p,isRowSelected:P,activeColInRow:te,editingColInRow:L,selectedColStart:I,selectedColEnd:ee,readOnly:_,canEditCell:v,onRowHeaderPointerDown:y,onRowHeaderPointerEnter:b,onRowHeaderPointerLeave:x,onCellPointerDown:S,onCellPointerEnter:C,onCellDoubleClick:w,renderCellContent:T,rowClassName:ne,bodyCellClassName:D,bodyRowClassName:O,rowHeaderCellClassName:k},String(N))})})}function mn({isActive:e,title:t,className:r,onPointerDown:a,children:o}){return(0,n.jsx)(`button`,{type:`button`,title:t,onPointerDown:a,className:i(`ssg-icon-btn`,e&&`ssg-icon-btn--active`,r),children:o})}function hn({pane:e,ownsRowHeader:t,leadingWidth:r,headerHeight:a,rowHeaderCellStyle:o,headerRowClassName:s,headerCellClassName:c,rowHeaderCellClassName:l,isCornerHovered:u,isWholeGridSelected:d,filteredRowsLength:f,visibleColumnsLength:p,renderEntries:m,hoveredColumnIndex:h,selectionSnapshot:g,columnFilterValues:_,sortState:v,iconButtonClassName:y,onCornerPointerDown:b,onCornerPointerEnter:x,onCornerPointerLeave:S,onColumnHeaderPointerDown:C,onColumnHeaderPointerEnter:w,onColumnHeaderPointerLeave:E,onColumnResizePointerDown:D,enableColumnMenu:O,openedMenuColumnKey:k,onColumnMenuButtonPointerDown:A,onColumnHeaderContextMenu:j,onColumnDragHandlePointerDown:M}){return(0,n.jsxs)(`div`,{"data-pane":e,className:i(`ssg-header-row`,s),style:{height:a},children:[t&&(0,n.jsx)(`div`,{onPointerDown:b,onPointerEnter:x,onPointerLeave:S,className:i(`ssg-header-cell`,`ssg-corner-cell`,d&&`ssg-header-cell--selected`,u&&`ssg-header-cell--hovered`,l),style:{...o,height:a,cursor:f>0&&p>0?`pointer`:`default`},children:`#`}),m.map(e=>{if(!e)return null;let t=e.logicalIndex,o=e.column,s=r+e.paneLocalStart,l=e.paneLocalSize,u=T(_[o.key]),f=g.kind===`col`&&t>=g.startCol&&t<=g.endCol,p=v.findIndex(e=>e.columnKey===o.key),m=p===-1?null:v[p],b=k===o.key,x=O;return(0,n.jsxs)(`div`,{"data-ssg-col-key":o.key,onPointerDown:e=>C(t,e),onPointerEnter:e=>w(t,e),onPointerLeave:()=>E(t),onContextMenu:e=>j(o,e),className:i(`ssg-header-cell`,(d||f)&&`ssg-header-cell--selected`,h===t&&`ssg-header-cell--hovered`,c),style:{left:s,width:l,minWidth:l,height:a},children:[(0,n.jsx)(`div`,{className:i(`ssg-header-label`,u&&`ssg-header-label--filtered`),title:o.renderHeader?void 0:o.title||o.key,children:o.renderHeader?o.renderHeader({colIndex:t,width:l,column:o,filterValue:_[o.key],isFiltered:u}):o.title||o.key}),(0,n.jsxs)(`div`,{className:`ssg-header-status`,children:[m&&(0,n.jsxs)(`span`,{"aria-hidden":`true`,title:(m.direction===`asc`?`昇順で並び替え中`:`降順で並び替え中`)+(v.length>1?` (優先度 ${p+1})`:``),className:`ssg-header-sort`,children:[m.direction===`asc`?`↑`:`↓`,v.length>1&&(0,n.jsx)(`span`,{className:`ssg-header-sort-priority`,children:p+1})]}),u&&(0,n.jsx)(`span`,{"aria-hidden":`true`,title:`フィルター適用中`,className:`ssg-header-filtered-mark`,children:(0,n.jsx)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`,focusable:`false`,children:(0,n.jsx)(`path`,{d:`M2 4 L14 4 L9.2 9.2 L9.2 13 L6.8 13 L6.8 9.2 Z`})})})]}),(0,n.jsxs)(`div`,{className:`ssg-header-actions`,children:[M&&(0,n.jsx)(`span`,{onPointerDown:e=>M(o,e),title:`ドラッグで列を移動`,"aria-hidden":`true`,className:`ssg-header-grip`,children:(0,n.jsxs)(`svg`,{width:`8`,height:`14`,viewBox:`0 0 8 14`,fill:`currentColor`,"aria-hidden":`true`,focusable:`false`,children:[(0,n.jsx)(`circle`,{cx:`2`,cy:`3`,r:`1`}),(0,n.jsx)(`circle`,{cx:`6`,cy:`3`,r:`1`}),(0,n.jsx)(`circle`,{cx:`2`,cy:`7`,r:`1`}),(0,n.jsx)(`circle`,{cx:`6`,cy:`7`,r:`1`}),(0,n.jsx)(`circle`,{cx:`2`,cy:`11`,r:`1`}),(0,n.jsx)(`circle`,{cx:`6`,cy:`11`,r:`1`})]})}),x&&(0,n.jsx)(mn,{title:`列メニュー`,isActive:b,className:y,onPointerDown:e=>A(o,e),children:`⋮`})]}),(0,n.jsx)(`div`,{onPointerDown:e=>D(o,e),className:`ssg-header-resize`})]},o.key)})]})}var gn=(0,e.memo)(hn),_n=200,vn=8,yn=6,bn=289,xn=({visibleColumns:t,enableColumnMenu:n,gridRootRef:r})=>{let[i,a]=(0,e.useState)(null),[o,s]=(0,e.useState)(null),c=(0,e.useRef)(null),l=(0,e.useRef)(null),u=(0,e.useRef)(null),d=(0,e.useRef)(i);d.current=i;let f=i!==null,p=i?.columnKey??null,m=(0,e.useMemo)(()=>p?t.find(e=>e.key===p)??null:null,[p,t]),h=(0,e.useCallback)(()=>{if(!p){s(null);return}let e,t,n,r=l.current,i=u.current;if(r){if(!r.isConnected){s(null),a(null),l.current=null;return}let i=r.getBoundingClientRect();t=i.right-_n,e=i.bottom+yn,n=i.top-bn-yn}else if(i)t=i.x,e=i.y,n=i.y-bn;else{s(null);return}t=Math.max(vn,t),t=Math.min(t,window.innerWidth-_n-vn),e+bn>window.innerHeight-vn&&(e=n),e=Math.max(vn,e),s(n=>n&&n.top===e&&n.left===t&&n.width===_n?n:{top:e,left:t,width:_n})},[p]),g=(0,e.useCallback)(()=>{a(null),s(null),l.current=null,u.current=null,requestAnimationFrame(()=>{r.current?.focus()})},[r]),_=(0,e.useCallback)((e,t)=>{if(t.preventDefault(),t.stopPropagation(),!n||t.button!==0)return;let i=t.currentTarget;if(d.current?.columnKey===e.key&&l.current===i){g();return}document.activeElement instanceof HTMLElement&&document.activeElement.blur(),r.current?.blur(),l.current=i,u.current=null,a({columnKey:e.key})},[g,n,r]),v=(0,e.useCallback)((e,t)=>{n&&(t.preventDefault(),t.stopPropagation(),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),r.current?.blur(),l.current=null,u.current={x:t.clientX,y:t.clientY},a({columnKey:e.key}),h())},[n,r,h]);return(0,e.useEffect)(()=>{if(!p)return;h();let e=()=>{h()},t=()=>{if(u.current){g();return}h()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,t,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,t,!0)}},[p,h,g]),(0,e.useEffect)(()=>{if(!f)return;let e=e=>{let t=e.target;t&&(c.current?.contains(t)||l.current?.contains(t)||g())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[g,f]),(0,e.useEffect)(()=>{if(!f)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),g())};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[g,f]),{columnMenuLayout:o,columnMenuRef:c,isColumnMenuOpen:f,openedMenuColumnKey:p,openedMenuColumn:m,openColumnMenuFromButton:_,openColumnMenuFromContextMenu:v,closeColumnMenu:g}},Sn=[{value:void 0,label:`固定しない`},{value:`left`,label:`左に固定`},{value:`right`,label:`右に固定`}],Cn=180,wn=4,Tn=8,En=`pin`;function Dn({isOpen:t,title:a,columnKey:o,canFilter:s,onOpenFilter:c,canSort:l,sortDirection:u,onSortChange:d,onOpenSortManager:f,pinned:p,canChangePinned:m,layout:h,popoverRef:g,onPinnedChange:_,onAutosizeColumn:v,onAutosizeAllColumns:y,onOpenColumnChooser:b,canResetColumns:x,onResetColumns:S,onRequestClose:C}){let[w,T]=(0,e.useState)(null);if((0,e.useEffect)(()=>{T(null)},[o,t]),!t||!h)return null;let E=w===En,D=h.left+h.width+wn+Cn>window.innerWidth-Tn,O={position:`fixed`,top:h.top,left:h.left,width:h.width,zIndex:1e3},k={position:`absolute`,top:-9,...D?{right:`calc(100% + ${wn}px)`}:{left:`calc(100% + ${wn}px)`},width:Cn,zIndex:1};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:g,onPointerDown:e=>{e.stopPropagation()},onKeyDownCapture:e=>{e.stopPropagation()},onContextMenu:e=>{e.preventDefault()},className:`ssg-menu-panel`,style:O,children:[(0,n.jsx)(`div`,{className:`ssg-menu-title`,children:a}),s&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{c()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`フィルター…`})]}),(0,n.jsx)(`div`,{className:`ssg-menu-separator`})]}),l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{d(`asc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,u===`asc`&&`ssg-menu-sort-icon--active`),children:u===`asc`?`✓`:`↑`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,u===`asc`&&`ssg-menu-label--sorted`),children:`昇順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{d(`desc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,u===`desc`&&`ssg-menu-sort-icon--active`),children:u===`desc`?`✓`:`↓`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,u===`desc`&&`ssg-menu-label--sorted`),children:`降順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{f()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`並び替えを管理…`})]}),(0,n.jsx)(`div`,{className:`ssg-menu-separator`})]}),(0,n.jsxs)(`div`,{className:`ssg-menu-submenu-anchor`,children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(En)},onClick:()=>{T(e=>e===En?null:En)},className:i(`ssg-menu-item`,E&&`ssg-menu-item--active`),children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`列の固定`}),(0,n.jsx)(`span`,{className:`ssg-menu-caret`,children:`›`})]}),E&&(0,n.jsxs)(`div`,{className:`ssg-menu-panel`,style:k,children:[Sn.map(e=>{let t=p===e.value;return(0,n.jsxs)(`button`,{type:`button`,disabled:!m,onClick:()=>{m&&_(o,e.value)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-check`,!t&&`ssg-menu-check--hidden`),children:`✓`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:e.label})]},e.label)}),!m&&(0,n.jsx)(`div`,{className:`ssg-menu-note`,children:`onColumnsChange 未指定のため固定状態を変更できません`})]})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{v(o)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`この列の幅を自動調整`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{y()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`すべての列の幅を自動調整`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{b()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`列の表示`})]}),(0,n.jsxs)(`button`,{type:`button`,"aria-disabled":!x,tabIndex:x?0:-1,title:x?`すべての列の幅・固定・表示を初期状態に戻します`:`onColumnsChange 未指定のため列をリセットできません`,onPointerEnter:()=>{T(null)},onClick:()=>{x&&S()},className:i(`ssg-menu-item`,!x&&`ssg-menu-item--disabled`),children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`列のリセット`})]}),(0,n.jsx)(`div`,{className:`ssg-menu-footer`,children:(0,n.jsx)(`button`,{type:`button`,onClick:C,className:`ssg-menu-close-btn`,children:`閉じる`})})]}),document.body)}var On=280,kn=8,An=12,jn=({enableColumnMenu:t,gridRootRef:n})=>{let[r,i]=(0,e.useState)(!1),[a,o]=(0,e.useState)(null),s=(0,e.useRef)(null),c=(0,e.useCallback)(()=>{let e=n.current;if(!e){o(null);return}let t=e.getBoundingClientRect(),r=t.right-On-An,i=t.top+An;r=Math.max(kn,r),r=Math.min(r,window.innerWidth-On-kn),i=Math.max(kn,i),o(e=>e&&e.top===i&&e.left===r&&e.width===On?e:{top:i,left:r,width:On})},[n]),l=(0,e.useCallback)(()=>{t&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),n.current?.blur(),i(!0))},[t,n]),u=(0,e.useCallback)(()=>{i(!1),o(null),requestAnimationFrame(()=>{n.current?.focus()})},[n]);return(0,e.useEffect)(()=>{if(!r)return;c();let e=()=>{c()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[r,c]),(0,e.useEffect)(()=>{if(!r)return;let e=e=>{let t=e.target;t&&(s.current?.contains(t)||u())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[u,r]),(0,e.useEffect)(()=>{if(!r)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),u())};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[u,r]),{isColumnChooserOpen:r,columnChooserLayout:a,columnChooserRef:s,openColumnChooser:l,closeColumnChooser:u}},Mn=28,Nn=12,Pn=[`left`,`center`,`right`],Fn={left:`左固定`,center:`固定なし`,right:`右固定`};function In(e,t,n){let r=e.find(e=>e.key===t);if(!r)return null;let i=r.pane,a={left:[],center:[],right:[]};for(let t of e)a[t.pane].push(t.key);let o=a[i],s=o.indexOf(t);if(s<0)return null;let c=n;if(c>s&&--c,c=Math.max(0,Math.min(c,o.length-1)),c===s)return null;let[l]=o.splice(s,1);return o.splice(c,0,l),[...a.left,...a.center,...a.right]}function Ln({state:e,disabled:t}){return(0,n.jsxs)(`span`,{className:i(`ssg-checkbox`,(e===`checked`||e===`indeterminate`)&&`ssg-checkbox--filled`,t&&`ssg-checkbox--disabled`),"aria-hidden":!0,children:[e===`checked`&&(0,n.jsx)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 12 12`,fill:`none`,children:(0,n.jsx)(`path`,{d:`M2.5 6.2 4.7 8.4 9.5 3.6`,stroke:`#ffffff`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`})}),e===`indeterminate`&&(0,n.jsx)(`span`,{className:`ssg-checkbox-dash`})]})}function Rn({disabled:e}){return(0,n.jsx)(`svg`,{width:`10`,height:`16`,viewBox:`0 0 10 16`,fill:e?`#cbd5e1`:`#94a3b8`,"aria-hidden":!0,children:[3,8,13].map(e=>[3,7].map(t=>(0,n.jsx)(`circle`,{cx:t,cy:e,r:`1.2`},`${t}-${e}`)))})}function zn({isOpen:t,items:a,canToggle:o,layout:s,panelRef:c,onToggleColumnVisibility:l,onShowAllColumns:u,onResetColumns:d,onReorderColumns:f,onRequestClose:p}){let[m,h]=(0,e.useState)(``),g=(0,e.useRef)(null);(0,e.useEffect)(()=>{if(t){h(``);let e=requestAnimationFrame(()=>{g.current?.focus()});return()=>cancelAnimationFrame(e)}},[t]);let _=(0,e.useMemo)(()=>a.filter(e=>e.visible).length,[a]),v=_===a.length&&a.length>0,y=v?`checked`:`indeterminate`,b=(0,e.useMemo)(()=>{let e=m.trim().toLowerCase();return e?a.filter(t=>t.title.toLowerCase().includes(e)):a},[a,m]),x=(0,e.useMemo)(()=>{let e={left:[],center:[],right:[]};for(let t of b)e[t.pane].push(t);return Pn.map(t=>({pane:t,items:e[t]})).filter(e=>e.items.length>0)},[b]),S=x.length>=2,C=o&&m.trim()===``,w=(0,e.useRef)(null),[T,E]=(0,e.useState)(null),D=(0,e.useRef)(!1),O=(0,e.useRef)(null),[k,A]=(0,e.useState)(null),j=(0,e.useRef)(0),M=(0,e.useRef)(null),N=(0,e.useCallback)(()=>{let e=w.current,t=O.current;if(!e||!t)return;let n=e.querySelectorAll(`[data-chooser-row][data-chooser-pane="${t}"]`),r=j.current,i=n.length;for(let e=0;e<n.length;e+=1){let t=n[e].getBoundingClientRect();if(r<t.top+t.height/2){i=e;break}}A(i)},[]),P=(0,e.useCallback)(()=>{let e=w.current;if(!e||!D.current){M.current=null;return}let t=e.getBoundingClientRect(),n=j.current,r=0;if(n<t.top+Mn?r=-12:n>t.bottom-Mn&&(r=Nn),r!==0){let t=e.scrollTop;e.scrollTop+=r,e.scrollTop!==t&&N()}M.current=requestAnimationFrame(P)},[N]),F=(0,e.useCallback)(e=>{M.current!==null&&(cancelAnimationFrame(M.current),M.current=null);let t=T,n=k;if(D.current=!1,O.current=null,E(null),A(null),e&&t!==null&&n!==null){let e=In(a,t,n);e&&f(e)}},[T,k,a,f]),I=(0,e.useCallback)((e,t,n)=>{C&&(n.preventDefault(),n.stopPropagation(),n.currentTarget.setPointerCapture(n.pointerId),D.current=!0,O.current=t,j.current=n.clientY,E(e),N(),M.current===null&&(M.current=requestAnimationFrame(P)))},[C,N,P]),ee=(0,e.useCallback)(e=>{D.current&&(j.current=e.clientY,N())},[N]),te=(0,e.useCallback)(()=>{D.current&&F(!0)},[F]),L=(0,e.useCallback)(()=>{D.current&&F(!1)},[F]);if((0,e.useEffect)(()=>{t||(D.current=!1,O.current=null,E(null),A(null),M.current!==null&&(cancelAnimationFrame(M.current),M.current=null))},[t]),(0,e.useEffect)(()=>()=>{M.current!==null&&(cancelAnimationFrame(M.current),M.current=null)},[]),!t||!s)return null;let ne={top:s.top,left:s.left,width:s.width},re=e=>{e.stopPropagation()},ie=e=>{e.stopPropagation()},ae=()=>{o&&(v||u())},R=T===null?null:a.find(e=>e.key===T)?.pane??null,oe=(e,t,r)=>{let a=e.visible&&_===1,s=!o||a,c=T===e.key;return(0,n.jsxs)(`div`,{"data-chooser-row":``,"data-chooser-pane":r,className:i(`ssg-chooser-row`,T!==null&&R===r&&k===t&&`ssg-chooser-row--drop-before`,c&&`ssg-chooser-row--dragging`),children:[(0,n.jsx)(`span`,{role:`button`,"aria-label":`ドラッグして並べ替え`,title:o?m.trim()===``?`ドラッグして並べ替え(同じセクション内のみ)`:`検索中は並べ替えできません`:`onColumnsChange 未指定のため並べ替えできません`,onPointerDown:t=>I(e.key,r,t),onPointerMove:ee,onPointerUp:te,onPointerCancel:L,className:i(`ssg-chooser-handle`,!C&&`ssg-chooser-handle--disabled`,c&&`ssg-chooser-handle--dragging`),children:(0,n.jsx)(Rn,{disabled:!C})}),(0,n.jsxs)(`button`,{type:`button`,disabled:s,onClick:()=>{s||l(e.key,!e.visible)},className:`ssg-chooser-toggle`,children:[(0,n.jsx)(Ln,{state:e.visible?`checked`:`unchecked`,disabled:s}),(0,n.jsx)(`span`,{className:i(`ssg-chooser-label`,s&&!e.visible&&`ssg-chooser-label--muted`),children:e.title})]})]},e.key)};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:c,onPointerDown:re,onKeyDownCapture:ie,onContextMenu:e=>{e.preventDefault()},className:`ssg-popover ssg-chooser-panel`,style:ne,children:[(0,n.jsxs)(`div`,{className:`ssg-popover-header`,children:[(0,n.jsx)(`span`,{className:`ssg-popover-title`,children:`列の表示`}),(0,n.jsx)(`button`,{type:`button`,onClick:p,"aria-label":`閉じる`,className:`ssg-popover-close`,children:`×`})]}),(0,n.jsxs)(`div`,{className:`ssg-chooser-search-row`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!o,onClick:ae,"aria-label":`すべての列を表示`,title:`すべての列を表示`,className:`ssg-chooser-master-btn`,children:(0,n.jsx)(Ln,{state:y,disabled:!o})}),(0,n.jsxs)(`div`,{className:`ssg-chooser-search-field`,children:[(0,n.jsx)(`span`,{"aria-hidden":!0,className:`ssg-chooser-search-icon`,children:`⌕`}),(0,n.jsx)(`input`,{ref:g,type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:`検索...`,className:`ssg-chooser-search-input`})]})]}),(0,n.jsx)(`div`,{ref:w,className:`ssg-chooser-list`,children:b.length===0?(0,n.jsx)(`div`,{className:`ssg-chooser-empty`,children:`該当する列がありません`}):x.map(e=>(0,n.jsxs)(`div`,{"data-chooser-section":e.pane,children:[S&&(0,n.jsx)(`div`,{className:`ssg-chooser-section-heading`,children:Fn[e.pane]}),e.items.map((t,n)=>oe(t,n,e.pane)),T!==null&&R===e.pane&&k===e.items.length&&(0,n.jsx)(`div`,{className:`ssg-chooser-drop-end`})]},e.pane))}),(0,n.jsxs)(`div`,{className:`ssg-chooser-footer`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!o,onClick:()=>{o&&d()},title:`すべての列の幅・固定・表示を初期状態に戻します`,className:`ssg-chooser-reset-btn`,children:`すべての列を初期状態に戻す`}),!o&&(0,n.jsx)(`div`,{className:`ssg-chooser-note`,children:`onColumnsChange 未指定のため表示/非表示・リセットを変更できません`})]})]}),document.body)}var Bn=320,Vn=8,Hn=12,Un=({enableSorting:t,gridRootRef:n})=>{let[r,i]=(0,e.useState)(!1),[a,o]=(0,e.useState)(null),s=(0,e.useRef)(null),c=(0,e.useCallback)(()=>{let e=n.current;if(!e){o(null);return}let t=e.getBoundingClientRect(),r=t.right-Bn-Hn,i=t.top+Hn;r=Math.max(Vn,r),r=Math.min(r,window.innerWidth-Bn-Vn),i=Math.max(Vn,i),o(e=>e&&e.top===i&&e.left===r&&e.width===Bn?e:{top:i,left:r,width:Bn})},[n]),l=(0,e.useCallback)(()=>{t&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),n.current?.blur(),i(!0))},[t,n]),u=(0,e.useCallback)(()=>{i(!1),o(null),requestAnimationFrame(()=>{n.current?.focus()})},[n]);return(0,e.useEffect)(()=>{if(!r)return;c();let e=()=>{c()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[r,c]),(0,e.useEffect)(()=>{if(!r)return;let e=e=>{let t=e.target;t&&(s.current?.contains(t)||u())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[u,r]),(0,e.useEffect)(()=>{if(!r)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),u())};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[u,r]),{isSortManagerOpen:r,sortManagerLayout:a,sortManagerRef:s,openSortManager:l,closeSortManager:u}};function Wn({disabled:e}){return(0,n.jsx)(`svg`,{width:`10`,height:`16`,viewBox:`0 0 10 16`,fill:e?`#cbd5e1`:`#94a3b8`,"aria-hidden":!0,children:[3,8,13].map(e=>[3,7].map(t=>(0,n.jsx)(`circle`,{cx:t,cy:e,r:`1.2`},`${t}-${e}`)))})}function Gn({isOpen:t,entries:a,columns:o,canSort:s,layout:c,panelRef:l,onAddLevel:u,onChangeDirection:d,onChangeColumn:f,onRemoveLevel:p,onClearAll:m,onMove:h,onRequestClose:g}){let _=(0,e.useMemo)(()=>new Set(a.map(e=>e.columnKey)),[a]),v=(0,e.useMemo)(()=>o.find(e=>!_.has(e.key))??null,[o,_]),y=e=>o.find(t=>t.key===e)?.title??e,b=s&&a.length>=2,x=(0,e.useRef)(null),[S,C]=(0,e.useState)(null),w=(0,e.useRef)(!1),[T,E]=(0,e.useState)(null),D=(0,e.useRef)(0),O=(0,e.useCallback)(()=>{let e=x.current;if(!e)return;let t=e.querySelectorAll(`[data-sort-level]`),n=D.current,r=t.length;for(let e=0;e<t.length;e+=1){let i=t[e].getBoundingClientRect();if(n<i.top+i.height/2){r=e;break}}E(r)},[]),k=(0,e.useCallback)(e=>{let t=S,n=T;if(w.current=!1,C(null),E(null),e&&t!==null&&n!==null){let e=n;e>t&&--e,h(t,e)}},[S,T,h]),A=(0,e.useCallback)((e,t)=>{b&&(t.preventDefault(),t.stopPropagation(),t.currentTarget.setPointerCapture(t.pointerId),w.current=!0,D.current=t.clientY,C(e),O())},[b,O]),j=(0,e.useCallback)(e=>{w.current&&(D.current=e.clientY,O())},[O]),M=(0,e.useCallback)(()=>{w.current&&k(!0)},[k]),N=(0,e.useCallback)(()=>{w.current&&k(!1)},[k]);if((0,e.useEffect)(()=>{t||(w.current=!1,C(null),E(null))},[t]),!t||!c)return null;let P={top:c.top,left:c.left,width:c.width},F=e=>{e.stopPropagation()},I=e=>{e.stopPropagation()},ee=s&&v!==null;return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:l,onPointerDown:F,onKeyDownCapture:I,onContextMenu:e=>{e.preventDefault()},className:`ssg-popover ssg-sort-panel`,style:P,children:[(0,n.jsxs)(`div`,{className:`ssg-popover-header`,children:[(0,n.jsx)(`span`,{className:`ssg-popover-title`,children:`並び替え`}),(0,n.jsx)(`button`,{type:`button`,onClick:g,"aria-label":`閉じる`,className:`ssg-popover-close`,children:`×`})]}),(0,n.jsxs)(`div`,{ref:x,className:`ssg-sort-list`,children:[a.length===0?(0,n.jsx)(`div`,{className:`ssg-sort-empty`,children:`並び替えは設定されていません`}):a.map((e,t)=>{let r=o.filter(t=>t.key===e.columnKey||!_.has(t.key)),c=r.some(t=>t.key===e.columnKey)?r:[{key:e.columnKey,title:y(e.columnKey)},...r],l=S===t;return(0,n.jsxs)(`div`,{"data-sort-level":``,className:i(`ssg-sort-level`,S!==null&&T===t&&`ssg-sort-level--drop-before`,l&&`ssg-sort-level--dragging`),children:[(0,n.jsx)(`span`,{role:`button`,"aria-label":`ドラッグして優先順位を変更`,title:s?a.length<2?`レベルが 2 件以上のとき並べ替えできます`:`ドラッグして優先順位を変更`:`並び替えが無効です`,onPointerDown:e=>A(t,e),onPointerMove:j,onPointerUp:M,onPointerCancel:N,className:i(`ssg-sort-handle`,!b&&`ssg-sort-handle--disabled`,l&&`ssg-sort-handle--dragging`),children:(0,n.jsx)(Wn,{disabled:!b})}),(0,n.jsx)(`span`,{"aria-hidden":!0,className:`ssg-sort-badge`,children:t+1}),(0,n.jsx)(`select`,{value:e.columnKey,disabled:!s,onChange:e=>f(t,e.target.value),className:`ssg-sort-select`,children:c.map(e=>(0,n.jsx)(`option`,{value:e.key,children:e.title},e.key))}),(0,n.jsxs)(`div`,{className:`ssg-sort-dir-group`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!s,onClick:()=>d(t,`asc`),title:`昇順`,className:i(`ssg-sort-dir-btn`,e.direction===`asc`&&`ssg-sort-dir-btn--active`),children:`↑ 昇順`}),(0,n.jsx)(`button`,{type:`button`,disabled:!s,onClick:()=>d(t,`desc`),title:`降順`,className:i(`ssg-sort-dir-btn`,e.direction===`desc`&&`ssg-sort-dir-btn--active`),children:`↓ 降順`})]}),(0,n.jsx)(`button`,{type:`button`,disabled:!s,onClick:()=>p(t),"aria-label":`このレベルを削除`,title:`このレベルを削除`,className:`ssg-sort-delete`,children:`×`})]},e.columnKey)}),S!==null&&T===a.length&&(0,n.jsx)(`div`,{className:`ssg-sort-drop-end`})]}),(0,n.jsxs)(`div`,{className:`ssg-popover-footer`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!ee,onClick:()=>{!ee||!v||u(v.key,`asc`)},title:s?v===null?`すべての列が並び替えに使われています`:`並び替えの基準を追加します`:`並び替えが無効です`,className:`ssg-sort-footer-btn ssg-sort-footer-btn--add`,children:`+ 基準を追加`}),(0,n.jsx)(`button`,{type:`button`,disabled:!s||a.length===0,onClick:()=>{!s||a.length===0||m()},title:`すべての並び替えを解除します`,className:`ssg-sort-footer-btn ssg-sort-footer-btn--clear`,children:`すべてクリア`})]}),!s&&(0,n.jsx)(`div`,{className:`ssg-sort-note`,children:`並び替えが無効のため編集できません`})]}),document.body)}var Kn=(e,t)=>{let n=new Set(e);return n.add(t),n},qn=(e,t)=>{let n=new Set(e);return n.delete(t),n},Jn=(e,t)=>{let n=new Set(e);for(let e of t)n.add(e);return n},Yn=(e,t)=>{let n=new Set(e);for(let e of t)n.delete(e);return n},Xn=[],Zn={},Qn={},$n=[],er=300;function Z({rows:r=Xn,dataSource:o,serverSideRefreshToken:s,columns:c,onRowsChange:l,onColumnsChange:h,rowKeyGetter:T,createRow:E,createOverflowColumn:A,rowHeight:N=36,autoHeight:P=!1,estimateRowHeight:F,headerHeight:I=40,rowHeaderWidth:ee=56,readOnly:L=!1,canEditCell:R,enableRangeSelection:se=!0,enableGlobalFilter:ce=!0,enableColumnFilter:ue=!0,enableSorting:z=!0,enableRowHover:de=!0,enableColumnHeaderHover:fe=!0,enableColumnMenu:pe=!0,noMatchingRowsText:_e=`一致する行がありません`,noRowsText:ve=`表示する行がありません`,showTopBar:ye=!0,showBottomBar:xe=!0,showTopBarSummary:Ce=!0,showTopBarFilter:we=!0,showTopBarCounts:Te=!0,showBottomBarCounts:Ee=!0,renderTopBar:De,renderBottomBar:Oe,className:ke,classNames:B,getRowClassName:Ae}){let V=(0,e.useRef)(null),je=(0,e.useRef)(null),Me=(0,e.useRef)(null),Fe=(0,e.useRef)(null),Ie=(0,e.useRef)(!1),Re=(0,e.useRef)(null),ze=(0,e.useRef)(null),Ye=(0,e.useRef)(null),[Qe,$e]=(0,e.useState)(``),[et,at]=(0,e.useState)(!1),[ot,st]=(0,e.useState)(null),[ct,lt]=(0,e.useState)(null),H=(0,e.useMemo)(()=>c.filter(e=>e.visible!==!1),[c]),ut=(0,e.useMemo)(()=>ie(H),[H]),dt=(0,e.useMemo)(()=>T??((e,t)=>t),[T]),U=o!=null,ft=z,W=ue,_t=ce,[G,K]=(0,e.useReducer)(d,H,u),yt=(0,e.useRef)(G.columnWidths);yt.current=G.columnWidths;let bt=(0,e.useRef)(null);bt.current===null&&(bt.current=new Map(c.map(e=>[e.key,{width:e.width,pinned:e.pinned,visible:e.visible}])));let xt=(0,e.useMemo)(()=>g(G.selection),[G.selection]),St=(0,e.useMemo)(()=>ae(ut),[ut]),Ct=oe(St.left,G.columnWidths),wt=oe(St.center,G.columnWidths),Tt=oe(St.right,G.columnWidths),Et=(0,e.useMemo)(()=>le(`left`,St.left,Ct),[St.left,Ct]),Dt=(0,e.useMemo)(()=>le(`center`,St.center,wt),[St.center,wt]),Ot=(0,e.useMemo)(()=>le(`right`,St.right,Tt),[St.right,Tt]),q=(0,e.useMemo)(()=>({left:Et,center:Dt,right:Ot}),[Et,Dt,Ot]),kt=q.left.entries.length>0,At=q.right.entries.length>0,jt=!kt,Mt=ee,Nt=jt?ee:0,Pt=kt?Mt+q.left.totalWidth:0,Ft=q.right.totalWidth,It=Nt+q.center.totalWidth,Rt=Pt+It+Ft,{filterPopoverState:J,filterPopoverLayout:zt,filterPopoverRef:Bt,filterTextInputRef:Vt,filterSelectRef:Ht,isFilterPopoverOpen:Ut,openedFilterColumn:Y,openColumnFilterPopover:Wt,closeColumnFilterPopover:Gt,updateFilterPopoverDraft:qt}=te({visibleColumns:H,columnFilterValues:G.filters.columnFilters,enableColumnFilter:W,gridRootRef:V}),{columnMenuLayout:Jt,columnMenuRef:Yt,isColumnMenuOpen:Xt,openedMenuColumnKey:Zt,openedMenuColumn:Qt,openColumnMenuFromButton:rn,openColumnMenuFromContextMenu:an,closeColumnMenu:X}=xn({visibleColumns:H,enableColumnMenu:pe,gridRootRef:V}),{isColumnChooserOpen:ln,columnChooserLayout:un,columnChooserRef:dn,openColumnChooser:fn,closeColumnChooser:mn}=jn({enableColumnMenu:pe,gridRootRef:V}),{isSortManagerOpen:hn,sortManagerLayout:_n,sortManagerRef:vn,openSortManager:yn,closeSortManager:bn}=Un({enableSorting:ft,gridRootRef:V});(0,e.useEffect)(()=>{let e=H.reduce((e,t)=>(e[t.key]=t.width,e),{});K(a.syncColumnWidths(e))},[H]);let Sn=G.filters.globalText,Cn=(0,e.useDeferredValue)(Sn),wn=G.filters.columnFilters,Tn=(0,e.useDeferredValue)(wn),En=(0,e.useMemo)(()=>C(r.length),[r.length]),On=(0,e.useMemo)(()=>j(r,En,H,Cn),[r,En,H,Cn]),kn=(0,e.useMemo)(()=>{let e=[];for(let t of H)D(Tn[t.key])&&e.push(t.key);return e.join(`\0`)},[H,Tn]),An=(0,e.useMemo)(()=>{let e=new Map;if(kn.length===0)return e;let t=new Set(kn.split(`\0`)),n=r.length;for(let i of H){if(!t.has(i.key))continue;let a=new Float64Array(n);for(let e=0;e<n;e+=1)a[e]=Number(x(r[e],i));e.set(i.key,a)}return e},[r,H,kn]),Mn=(0,e.useMemo)(()=>M(r,On,H,Tn,An),[r,On,H,Tn,An]),Nn=(0,e.useMemo)(()=>Ke(r,Mn,H,G.sort),[r,Mn,H,G.sort]),Pn=(0,e.useMemo)(()=>({getRowCount:()=>Nn.length,getRow:e=>r[Nn[e]],getSourceIndex:e=>Nn[e],getRowKey:e=>dt(r[Nn[e]],Nn[e])}),[Nn,r,dt]),Fn=(0,e.useMemo)(()=>U?en({globalText:_t?Sn:``,columnFilters:W?wn:Qn,sort:ft?G.sort:$n}):Zn,[U,_t,Sn,W,wn,ft,G.sort]),In=(0,e.useMemo)(()=>U?tn(Fn):``,[U,Fn]),[Ln,Rn]=(0,e.useState)(Fn),[Bn,Vn]=(0,e.useState)(In);(0,e.useEffect)(()=>{if(!U)return;let e=setTimeout(()=>{Rn(Fn),Vn(In)},er);return()=>clearTimeout(e)},[U,In,Fn]);let Hn=$t({dataSource:o,rowKeyGetter:dt,query:Ln,queryKey:Bn,refreshToken:s}),Wn=Hn.requestRange,Z=U?Hn.rowModel:Pn,tr=(0,e.useRef)(Z);tr.current=Z;let{isAutosizing:nr,runAutosize:rr}=Lt({rowModelRef:tr,gridRootRef:V,columnWidthsRef:yt,dispatch:K}),Q=Z.getRowCount(),ir=(0,e.useMemo)(()=>{let e=null;return()=>e??=Array.from(Nn,e=>r[e])},[Nn,r]),ar=(0,e.useMemo)(()=>ne(H,G.columnWidths),[H,G.columnWidths]),[or,sr]=(0,e.useState)(0),[cr,lr]=(0,e.useState)(0);(0,e.useEffect)(()=>{let e=Re.current;if(!e)return;sr(e.scrollTop),lr(e.clientHeight);let t=()=>sr(e.scrollTop);e.addEventListener(`scroll`,t,{passive:!0});let n=new ResizeObserver(()=>lr(e.clientHeight));return n.observe(e),()=>{e.removeEventListener(`scroll`,t),n.disconnect()}},[]);let ur=q.center.entries,dr=(0,t.useVirtualizer)({horizontal:!0,count:ur.length,getScrollElement:()=>Re.current,estimateSize:e=>ur[e]?.paneLocalSize??ur[e]?.column.width??120,overscan:8,useFlushSync:!1,scrollMargin:Pt}),fr=dr.getVirtualItems(),pr=F??N,mr=(0,e.useMemo)(()=>H.some(e=>e.autoHeight===!0),[H]),hr=!U&&Je(P,mr,Q,5e4);(0,e.useEffect)(()=>{},[P,mr,Q,U]);let gr=(0,e.useRef)(new Map),[_r,vr]=(0,e.useState)(0),[yr,br]=(0,e.useState)(0),xr=(0,e.useRef)(null),Sr=(0,e.useRef)(new Set),Cr=(0,e.useMemo)(()=>hr?ht(Q,pr,Z.getRowKey,gr.current):null,[hr,Q,pr,Z]),$=(0,e.useMemo)(()=>hr&&Cr?vt(Cr):Xe(Q,N),[hr,Cr,_r,Q,N]),wr=(0,e.useMemo)(()=>hr?nt({headerHeight:I,viewportHeight:cr,scrollTop:or,overscan:20},$):tt({rowCount:Q,rowHeight:N,headerHeight:I,viewportHeight:cr,scrollTop:or,overscan:20,maxBodyPx:qe}),[hr,$,Q,N,I,cr,or]),Tr=wr.rows,Er=wr.rowIndexSet,Dr=Tr.length>0?Tr[0].index:0,Or=Tr.length>0?Tr[Tr.length-1].index:-1;(0,e.useEffect)(()=>{if(!U)return;let e=Re.current;e&&(e.scrollTop=0),sr(0)},[U,Bn]),(0,e.useEffect)(()=>{U&&(Or<Dr||Wn(Dr,Or+1))},[U,Dr,Or,Wn,Bn]);let kr=wr.physicalBodyHeight,Ar=wr.translateY===0?void 0:`translateY(${wr.translateY}px)`,jr=wr.scaleFactor,Mr=wr.windowBaseOffsetPx;(0,e.useLayoutEffect)(()=>{if(!hr||!Cr){xr.current?.disconnect(),xr.current=null,Sr.current.clear();return}let e=Re.current;if(!e)return;let t=e.querySelectorAll(`[data-autoheight-cell]`);if(t.length>0){let n=new Map;t.forEach(e=>{let t=e.closest(`[data-row-index]`);if(!t)return;let r=Number(t.dataset.rowIndex);if(!Number.isFinite(r))return;let i=Math.ceil(e.getBoundingClientRect().height),a=n.get(r);(a===void 0||i>a)&&n.set(r,i)});let r=!1,i=1/0;if(n.forEach((e,t)=>{gt(Cr,t,Z.getRowKey(t)??t,e)&&(r=!0,t<i&&(i=t))}),r){let t=e.scrollTop,n=$.rowAtContentY(t),r=t-$.rowTop(n);mt(Cr,i),e.scrollTop=Cr.prefix[n]+r,vr(e=>e+1)}}let n=xr.current??new ResizeObserver(()=>br(e=>e+1));xr.current=n;let r=Sr.current,i=new Set;t.forEach(e=>{i.add(e),r.has(e)||(n.observe(e),r.add(e))});let a=[];r.forEach(e=>{i.has(e)||a.push(e)}),a.forEach(e=>{n.unobserve(e),r.delete(e)})},[hr,Cr,$,Z,Tr,cr,_r,yr]),(0,e.useEffect)(()=>{let e=Sr.current;return()=>{xr.current?.disconnect(),xr.current=null,e.clear()}},[]);let Nr=(0,e.useMemo)(()=>fr.map(e=>ur[e.index]).filter(e=>!!e),[fr,ur]),Pr=q.left.entries,Fr=q.right.entries,Ir=(0,e.useMemo)(()=>{if(!G.activeCell)return null;let{row:e,col:t}=G.activeCell;if(e<0||e>=Q)return null;let n=ge(q,t);return n?{pane:n.pane,rect:{left:n.extent.start,top:$.rowTop(e),width:n.extent.width,height:$.rowsHeight(e,e)}}:null},[G.activeCell,Q,q,$]),Lr=(0,e.useMemo)(()=>Ir&&Ir.pane===`center`?Ir.rect:null,[Ir]),Rr=(0,e.useCallback)(e=>Ir&&Ir.pane===e?Ir.rect:null,[Ir]),zr=(0,e.useCallback)(e=>G.editingCell?Rr(e):null,[G.editingCell,Rr]);it({scrollRef:Re,columnVirtualizer:dr,columnMeasurements:ar,totalScrollWidth:Rt,physicalBodyHeight:kr,headerHeight:I,leftPaneWidth:Pt,rightPaneWidth:Ft,centerLeadingWidth:Nt,activeCellRect:Lr,verticalScaleFactor:jr});let{updateSelectionFromPointer:Br,handleCellPointerDown:Vr,handleCellPointerEnter:Hr,handleNativeDragStart:Ur,handleRowHeaderPointerDown:Wr,handleRowHeaderPointerEnter:Gr,handleColumnHeaderPointerDown:Kr,handleColumnHeaderPointerEnter:qr}=rt({gridRootRef:V,bodyScrollRef:Fe,scrollContainerRef:Re,leftPaneScrollRef:ze,rightPaneScrollRef:Ye,pointerClientRef:je,autoScrollFrameRef:Me,uiState:G,dispatch:K,enableRangeSelection:se,enableSorting:ft,orderedColumns:ut,filteredRowsLength:Q,visibleColumnsLength:H.length,paneLayout:q,leftLeadingWidth:Mt,centerLeadingWidth:Nt,rightLeadingWidth:0,headerHeight:I,rowMetrics:$,verticalScaleFactor:jr,setHoveredRowIndex:st,setHoveredColumnIndex:lt,enableRowHover:de,enableColumnHeaderHover:fe}),{isWholeGridSelected:Jr,handleCopy:Yr,handlePaste:Xr}=be({rows:r,rowModel:Z,visibleColumns:ut,uiState:G,readOnly:L,canEditCell:R,createRow:E,createOverflowColumn:A,onRowsChange:l,onColumnsChange:h,dispatch:K}),Zr=(0,e.useCallback)(()=>{if(Q===0||H.length===0)return;let e={row:0,col:0},t={row:Q-1,col:H.length-1};K(a.startSelection(e)),K(a.updateSelection(t)),K(a.endSelection()),K(a.activateCell(e))},[K,Q,H.length]),{getMovedCell:Qr,handleKeyDown:$r}=Le({uiState:G,rowModel:Z,visibleColumns:ut,readOnly:L,canEditCell:R,setEditorInitialValue:$e,dispatch:K,handleCopy:Yr,handleCellDoubleClick:(0,e.useCallback)(e=>{let t=Z.getRow(e.row),n=ut[e.col];if(!t||!n||!b({readOnly:L,canEditCell:R},e.row,e.col,t,n))return;let r=x(t,n);$e(String(r??``)),K(a.startEdit(e))},[R,K,Z,L,ut]),isWholeGridSelected:Jr,selectEntireGrid:Zr}),{startEditWithValue:ei,commitEdit:ti,cancelEdit:ni}=Pe({uiState:G,rows:r,visibleColumns:ut,rowModel:Z,setEditorInitialValue:$e,onRowsChange:l,dispatch:K,getMovedCell:Qr,gridRootRef:V,editorActionGuardRef:Ie}),ri=(0,e.useCallback)(e=>{let t=Z.getRow(e.row),n=ut[e.col];if(!t||!n||!b({readOnly:L,canEditCell:R},e.row,e.col,t,n))return;let r=x(t,n);ei(e,String(r??``))},[R,Z,L,ei,ut]),ii=(0,e.useMemo)(()=>{if(!G.selection)return null;if(G.selection.type===`cell`){let e=f(G.selection.range);return{extents:me(q,e.start.col,e.end.col),startRow:e.start.row,endRow:e.end.row}}if(G.selection.type===`row`){let e=p(G.selection.startRow,G.selection.endRow);return{extents:he(q),startRow:e.startRow,endRow:e.endRow}}let e=m(G.selection.startCol,G.selection.endCol);return{extents:me(q,e.startCol,e.endCol),startRow:0,endRow:Math.max(Q-1,0)}},[G.selection,q,Q]),ai=(0,e.useMemo)(()=>{if(!ii)return null;let e=Ze(ii.startRow,ii.endRow,Dr,Or);return e?{top:$.rowTop(e.start),height:$.rowsHeight(e.start,e.end)}:null},[ii,$,Dr,Or]),oi=(0,e.useCallback)(e=>{if(!ii||!ai)return null;let t=ii.extents[e];return t?{left:t.start,top:ai.top,width:t.width,height:ai.height}:null},[ii,ai]),si=(0,e.useCallback)(e=>{if(e.preventDefault(),e.button===0&&!(Q===0||H.length===0)){if(V.current?.focus(),Jr){K(a.clearSelection()),K(a.activateCell(null));return}Zr()}},[K,Q,Jr,Zr,H.length]),ci=(0,e.useCallback)(e=>{st(t=>t===e?null:t)},[]),li=(0,e.useCallback)(e=>{lt(t=>t===e?null:t)},[]),ui=(0,e.useCallback)(()=>{at(!0)},[]),di=(0,e.useCallback)(()=>{at(!1)},[]),fi=(0,e.useCallback)((e,t)=>{t.preventDefault(),t.stopPropagation(),K(a.startColumnResize(e.key,t.clientX,yt.current[e.key]??e.width,e.minWidth??60,e.maxWidth??1e3))},[K]),pi=(0,e.useCallback)((e,t)=>{if(X(),!h)return;let n=c.find(t=>t.key===e);n&&(n.pinned??void 0)!==t&&(h(c.map(n=>{let r=yt.current[n.key]??n.width;return n.key===e?{...n,width:r,pinned:t}:r===n.width?n:{...n,width:r}})),K(a.stopEdit()),K(a.clearSelection()),K(a.activateCell(null)))},[X,c,K,h]),mi=(0,e.useCallback)(e=>{X();let t=H.find(t=>t.key===e);t&&rr([t])},[X,rr,H]),hi=(0,e.useCallback)(()=>{X(),rr(H)},[X,rr,H]),gi=(0,e.useMemo)(()=>c.map(e=>({key:e.key,title:e.title??e.key,visible:e.visible!==!1,pane:re(e)})),[c]),_i=(0,e.useCallback)(()=>{X(),fn()},[X,fn]),vi=(0,e.useMemo)(()=>H.map(e=>({key:e.key,title:e.title??e.key})),[H]),yi=(0,e.useCallback)(()=>{X(),yn()},[X,yn]),bi=(0,e.useCallback)(e=>{X(),Wt(e)},[X,Wt]),xi=(0,e.useCallback)((e,t)=>{if(!h)return;let n=c.find(t=>t.key===e);n&&n.visible!==!1!==t&&(!t&&c.filter(e=>e.visible!==!1).length<=1||(h(c.map(n=>{let r=yt.current[n.key]??n.width;return n.key===e?{...n,width:r,visible:t}:r===n.width?n:{...n,width:r}})),K(a.stopEdit()),K(a.clearSelection()),K(a.activateCell(null))))},[c,K,h]),Si=(0,e.useCallback)(()=>{h&&c.some(e=>e.visible===!1)&&(h(c.map(e=>{let t=yt.current[e.key]??e.width,n=t!==e.width,r=e.visible===!1;return!n&&!r?e:r?{...e,width:t,visible:!0}:{...e,width:t}})),K(a.stopEdit()),K(a.clearSelection()),K(a.activateCell(null)))},[c,K,h]),Ci=(0,e.useCallback)((e,t)=>{if(!h||e.length!==c.length)return;let n=new Map(c.map(e=>[e.key,e]));if(!e.every(e=>n.has(e)))return;let r=ie(e.map(e=>{let r=n.get(e),i=yt.current[r.key]??r.width,a=t?.has(e)?t.get(e):r.pinned,o=i!==r.width,s=(r.pinned??void 0)!==(a??void 0);return o||s?{...r,width:i,pinned:a}:r}));r.length===c.length&&r.every((e,t)=>{let n=c[t];return!!n&&n.key===e.key&&n.width===e.width&&(n.pinned??void 0)===(e.pinned??void 0)})||(h(r),K(a.stopEdit()),K(a.clearSelection()),K(a.activateCell(null)))},[c,K,h]),wi=(0,e.useCallback)(e=>{Ci(e)},[Ci]),{onColumnDragHandlePointerDown:Ti,leftIndicatorRef:Ei,centerIndicatorRef:Di,rightIndicatorRef:Oi}=pt({enabled:!!h,columns:c,paneLayout:q,leftPaneScrollRef:ze,rightPaneScrollRef:Ye,bodyScrollRef:Fe,scrollContainerRef:Re,leftLeadingWidth:Mt,centerLeadingWidth:Nt,rightLeadingWidth:0,applyColumnOrderAndPin:Ci}),ki=h?Ti:void 0,Ai={position:`absolute`,top:0,height:I+kr,width:2,backgroundColor:`#2563eb`,transform:`translateX(-1px)`,pointerEvents:`none`,zIndex:8,display:`none`},ji=(0,e.useCallback)(()=>{if(!h)return;let e=bt.current;if(!e)return;let t=!1,n=c.map(n=>{let r=yt.current[n.key]??n.width,i=e.get(n.key);if(!i)return r===n.width?n:{...n,width:r};let a=i.pinned??void 0,o=r!==i.width,s=(n.pinned??void 0)!==a,c=n.visible!==!1!=(i.visible!==!1);return(o||s||c)&&(t=!0),{...n,width:i.width,pinned:i.pinned,visible:i.visible}});t&&(h(n),K(a.stopEdit()),K(a.clearSelection()),K(a.activateCell(null)))},[c,K,h]),Mi=(0,e.useCallback)(()=>{X(),ji()},[X,ji]),Ni=(0,e.useCallback)(e=>Y?x(r[e],Y):void 0,[r,Y]),{options:Pi,allValues:Fi,status:Ii,progress:Li}=Kt({column:Y,rowCount:r.length,getRawValueAt:Ni}),Ri=Y?G.filters.columnFilters[Y.key]:void 0,zi=(0,e.useMemo)(()=>w(Ri)?{mode:Ri.mode===`exclude`?`exclude`:`include`,values:new Set(Ri.values)}:null,[Ri]),Bi=!(Y?.filterOptions&&Y.filterOptions.length>0),Vi=(0,e.useCallback)((e,t,n)=>{let r=t.mode===`include`?t.values.size:n-t.values.size;if(r>=n){K(a.clearColumnFilter(e));return}if(r<=0){K(a.setColumnFilter(e,{kind:`set`,mode:`include`,values:[]}));return}let i={kind:`set`,mode:t.mode,values:Array.from(t.values)};K(a.setColumnFilter(e,i))},[K]),Hi=(0,e.useCallback)(e=>{if(!J)return;let t=Pi.length,n=zi,r;r=nn(n,e)?n===null?Bi?{mode:`exclude`,values:new Set([e])}:{mode:`include`,values:qn(Fi,e)}:n.mode===`include`?{mode:`include`,values:qn(n.values,e)}:{mode:`exclude`,values:Kn(n.values,e)}:n.mode===`include`?{mode:`include`,values:Kn(n.values,e)}:{mode:`exclude`,values:qn(n.values,e)},Vi(J.columnKey,r,t)},[J,zi,Bi,Fi,Pi,Vi]),Ui=(0,e.useCallback)((e,t)=>{if(!J)return;let n=J.columnKey,r=Pi.length;if(e===`all`){t?K(a.clearColumnFilter(n)):Vi(n,{mode:`include`,values:new Set},r);return}let i=zi,o;if(t){if(i===null){K(a.clearColumnFilter(n));return}o=i.mode===`include`?{mode:`include`,values:Jn(i.values,e)}:{mode:`exclude`,values:Yn(i.values,e)}}else o=i===null?Bi?{mode:`exclude`,values:new Set(e)}:{mode:`include`,values:Yn(Fi,e)}:i.mode===`include`?{mode:`include`,values:Yn(i.values,e)}:{mode:`exclude`,values:Jn(i.values,e)};Vi(n,o,r)},[J,zi,Bi,Fi,Pi,Vi,K]),Wi=(0,e.useCallback)(()=>{J&&K(a.clearColumnFilter(J.columnKey))},[K,J]),Gi=(0,e.useCallback)(()=>{if(!J)return;let e=H.find(e=>e.key===J.columnKey)?.filterType??`text`;if(e===`set`){Gt();return}if(e===`number`){let e=O(J.draftValue);if(!e){K(a.clearColumnFilter(J.columnKey)),Gt();return}K(a.setColumnFilter(J.columnKey,e)),Gt();return}let t=e===`select`?J.draftValue:J.draftValue.trim();if(!t){K(a.clearColumnFilter(J.columnKey)),Gt();return}let n=e===`select`?{kind:`select`,value:t}:e===`date`?{kind:`date`,value:t}:e===`custom`?{kind:`custom`,value:t}:{kind:`text`,value:t};K(a.setColumnFilter(J.columnKey,n)),Gt()},[Gt,K,J,H]),Ki=(0,e.useCallback)(()=>{J&&(K(a.clearColumnFilter(J.columnKey)),Gt())},[Gt,K,J]),qi=(0,e.useCallback)((e,t)=>{if(X(),!z)return;let n=Be(G.sort,e,t,!1);K(n.length===0?a.clearSort():a.setSort(n))},[X,K,z,G.sort]),Ji=(0,e.useCallback)((e,t)=>{if(!z)return;let n=Ve(G.sort,e,t);K(a.setSort(n))},[K,z,G.sort]),Yi=(0,e.useCallback)((e,t)=>{if(!z)return;let n=He(G.sort,e,t);K(a.setSort(n))},[K,z,G.sort]),Xi=(0,e.useCallback)((e,t)=>{if(!z)return;let n=Ue(G.sort,e,t);K(a.setSort(n))},[K,z,G.sort]),Zi=(0,e.useCallback)(e=>{if(!z)return;let t=We(G.sort,e);K(t.length===0?a.clearSort():a.setSort(t))},[K,z,G.sort]),Qi=(0,e.useCallback)(()=>{z&&K(a.clearSort())},[K,z]),$i=(0,e.useCallback)((e,t)=>{if(!z)return;let n=Ge(G.sort,e,t);K(a.setSort(n))},[K,z,G.sort]),ea=(0,e.useCallback)((e,t,i,a,o)=>{let s=x(e,i);return i.renderCell?i.renderCell({row:e,rowIndex:t,colIndex:a,value:s,column:i,isActive:o.isActive,isSelected:o.isSelected,isEditing:o.isEditing,readOnly:o.readOnly,setValue:e=>{if(!l)return;let n=Z.getSourceIndex(t);n!==void 0&&l(r.map((t,r)=>r===n?S(t,i,e):t))}}):(0,n.jsx)(`span`,{children:String(s??``)})},[Z,l,r]),{slotContext:ta}=Ne({rows:r,viewRowCount:Q,getFilteredRows:ir,columns:c,visibleColumns:H,uiState:G,setGlobalFilterText:(0,e.useCallback)(e=>{K(a.setGlobalFilter(e))},[K])}),na=(0,e.useMemo)(()=>({width:ee,minWidth:ee}),[ee]),ra=Q===0,ia=(e,t,n)=>({position:`sticky`,...e===`left`?{left:0}:{right:0},width:t,minWidth:t,flexShrink:0,alignSelf:`stretch`,zIndex:2,...n?e===`left`?{borderRight:`1px solid #cbd5e1`,boxShadow:`6px 0 8px -6px rgba(15, 23, 42, 0.35)`}:{borderLeft:`1px solid #cbd5e1`,boxShadow:`-6px 0 8px -6px rgba(15, 23, 42, 0.35)`}:{}}),aa=(()=>{if(!Y)return`(なし)`;let e=G.filters.columnFilters[Y.key];if(w(e))return e.mode===`exclude`?`${e.values.length}件を除外中`:`${e.values.length}件を選択中`;if(D(e))return e.raw;let t=k(e);return t.trim()?t:`(なし)`})(),oa=Y?(0,n.jsx)(on,{isOpen:!!J,title:Y.title||Y.key,filterType:Y.filterType??`text`,isServerSide:U,draftValue:J?.draftValue??``,currentValueText:aa,layout:zt,selectOptions:Pi,setSelection:zi,optionsStatus:Ii,optionsProgress:Li,popoverRef:Bt,textInputRef:Vt,selectRef:Ht,onRequestClose:Gt,onDraftChange:qt,onApply:Gi,onClear:Ki,onSetValueToggle:Hi,onSetSelectAllChange:Ui,onSetClear:Wi}):null,sa=Qt?(0,n.jsx)(Dn,{isOpen:Xt,title:Qt.title||Qt.key,columnKey:Qt.key,canFilter:W&&!!Qt.filterType,onOpenFilter:()=>bi(Qt),canSort:ft,sortDirection:G.sort.find(e=>e.columnKey===Qt.key)?.direction??null,onSortChange:e=>qi(Qt.key,e),onOpenSortManager:yi,pinned:Qt.pinned,canChangePinned:!!h,layout:Jt,popoverRef:Yt,onPinnedChange:pi,onAutosizeColumn:mi,onAutosizeAllColumns:hi,onOpenColumnChooser:_i,canResetColumns:!!h,onResetColumns:Mi,onRequestClose:X}):null,ca=(0,n.jsx)(zn,{isOpen:ln,items:gi,canToggle:!!h,layout:un,panelRef:dn,onToggleColumnVisibility:xi,onShowAllColumns:Si,onResetColumns:ji,onReorderColumns:wi,onRequestClose:mn}),la=(0,n.jsx)(Gn,{isOpen:hn,entries:G.sort,columns:vi,canSort:ft,layout:_n,panelRef:vn,onAddLevel:Ji,onChangeDirection:Yi,onChangeColumn:Xi,onRemoveLevel:Zi,onClearAll:Qi,onMove:$i,onRequestClose:bn}),ua=Ut||Xt||ln||hn,da=Ce,fa=we&&_t,pa=ye?Se(De,ta,da||fa?(0,n.jsx)(cn,{context:ta,showSummary:da,showFilter:fa,showCounts:Te}):null):null,ma=xe?Se(Oe,ta,(0,n.jsx)(sn,{context:ta,showCounts:Ee})):null;return(0,n.jsxs)(`div`,{className:i(`ssg-root`,ke,B?.root),children:[pa,(0,n.jsxs)(`div`,{ref:V,className:`ssg-shell`,style:{cursor:nr?`progress`:void 0},onDragStart:Ur,onPointerLeave:()=>st(null),onPointerMoveCapture:e=>{je.current={x:e.clientX,y:e.clientY},Br(e.clientX,e.clientY)},tabIndex:ua?-1:0,onKeyDown:ua?void 0:$r,onPaste:ua?void 0:Xr,children:[(0,n.jsxs)(`div`,{ref:Re,className:`ssg-scroll-container`,children:[(0,n.jsxs)(`div`,{className:`ssg-inner-row`,style:{width:Rt,minWidth:Rt,height:I+kr},children:[(0,n.jsxs)(`div`,{ref:ze,style:ia(`left`,Pt,kt),children:[kt&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:Pt,minWidth:Pt,height:I+kr},children:[(0,n.jsx)(gn,{pane:`left`,ownsRowHeader:!0,leadingWidth:Mt,headerHeight:I,rowHeaderCellStyle:na,headerRowClassName:B?.headerRow,headerCellClassName:B?.headerCell,rowHeaderCellClassName:B?.rowHeaderCell,isCornerHovered:et,isWholeGridSelected:Jr,filteredRowsLength:Q,visibleColumnsLength:H.length,renderEntries:Pr,hoveredColumnIndex:ct,selectionSnapshot:xt,columnFilterValues:G.filters.columnFilters,sortState:G.sort,iconButtonClassName:B?.iconButton,onCornerPointerDown:si,onCornerPointerEnter:ui,onCornerPointerLeave:di,onColumnHeaderPointerDown:Kr,onColumnHeaderPointerEnter:qr,onColumnHeaderPointerLeave:li,onColumnResizePointerDown:fi,enableColumnMenu:pe,openedMenuColumnKey:Zt,onColumnMenuButtonPointerDown:rn,onColumnHeaderContextMenu:an,onColumnDragHandlePointerDown:ki}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:Pt,height:I+kr,transform:Ar},children:[(0,n.jsx)(_,{rect:oi(`left`),headerHeight:I,baseOffset:Mr,leadingWidth:Mt}),(0,n.jsx)(v,{rect:Rr(`left`),headerHeight:I,baseOffset:Mr,leadingWidth:Mt}),(0,n.jsx)(y,{rect:zr(`left`),headerHeight:I,baseOffset:Mr,leadingWidth:Mt,initialValue:Qe,onCommit:ti,onCancel:ni}),(0,n.jsx)(pn,{pane:`left`,ownsRowHeader:!0,leadingWidth:Mt,rowModel:Z,virtualRows:Tr,virtualRowIndexes:Er,renderEntries:Pr,rowHeight:N,autoHeight:hr,isServerSide:U,rowHeaderCellStyle:na,hoveredRowIndex:ot,isWholeGridSelected:Jr,activeCell:G.activeCell,editingCell:G.editingCell,selectionSnapshot:xt,readOnly:L,canEditCell:R,onRowHeaderPointerDown:Wr,onRowHeaderPointerEnter:Gr,onRowHeaderPointerLeave:ci,onCellPointerDown:Vr,onCellPointerEnter:Hr,onCellDoubleClick:ri,renderCellContent:ea,getRowClassName:Ae,bodyCellClassName:B?.bodyCell,bodyRowClassName:B?.bodyRow,rowHeaderCellClassName:B?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:Ei,style:Ai})]}),(0,n.jsx)(`div`,{ref:Fe,className:`ssg-center-pane`,style:{width:It,minWidth:It},children:(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:It,minWidth:It,height:I+kr},children:[(0,n.jsx)(gn,{pane:`center`,ownsRowHeader:jt,leadingWidth:Nt,headerHeight:I,rowHeaderCellStyle:na,headerRowClassName:B?.headerRow,headerCellClassName:B?.headerCell,rowHeaderCellClassName:B?.rowHeaderCell,isCornerHovered:et,isWholeGridSelected:Jr,filteredRowsLength:Q,visibleColumnsLength:H.length,renderEntries:Nr,hoveredColumnIndex:ct,selectionSnapshot:xt,columnFilterValues:G.filters.columnFilters,sortState:G.sort,iconButtonClassName:B?.iconButton,onCornerPointerDown:si,onCornerPointerEnter:ui,onCornerPointerLeave:di,onColumnHeaderPointerDown:Kr,onColumnHeaderPointerEnter:qr,onColumnHeaderPointerLeave:li,onColumnResizePointerDown:fi,enableColumnMenu:pe,openedMenuColumnKey:Zt,onColumnMenuButtonPointerDown:rn,onColumnHeaderContextMenu:an,onColumnDragHandlePointerDown:ki}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:It,height:I+kr,transform:Ar},children:[(0,n.jsx)(_,{rect:oi(`center`),headerHeight:I,baseOffset:Mr,leadingWidth:Nt}),(0,n.jsx)(v,{rect:Rr(`center`),headerHeight:I,baseOffset:Mr,leadingWidth:Nt}),(0,n.jsx)(y,{rect:zr(`center`),headerHeight:I,baseOffset:Mr,leadingWidth:Nt,initialValue:Qe,onCommit:ti,onCancel:ni}),(0,n.jsx)(pn,{pane:`center`,ownsRowHeader:jt,leadingWidth:Nt,rowModel:Z,virtualRows:Tr,virtualRowIndexes:Er,renderEntries:Nr,rowHeight:N,autoHeight:hr,isServerSide:U,rowHeaderCellStyle:na,hoveredRowIndex:ot,isWholeGridSelected:Jr,activeCell:G.activeCell,editingCell:G.editingCell,selectionSnapshot:xt,readOnly:L,canEditCell:R,onRowHeaderPointerDown:Wr,onRowHeaderPointerEnter:Gr,onRowHeaderPointerLeave:ci,onCellPointerDown:Vr,onCellPointerEnter:Hr,onCellDoubleClick:ri,renderCellContent:ea,getRowClassName:Ae,bodyCellClassName:B?.bodyCell,bodyRowClassName:B?.bodyRow,rowHeaderCellClassName:B?.rowHeaderCell})]}),(0,n.jsx)(`div`,{ref:Di,style:Ai})]})}),(0,n.jsxs)(`div`,{ref:Ye,style:ia(`right`,Ft,At),children:[At&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:Ft,minWidth:Ft,height:I+kr},children:[(0,n.jsx)(gn,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,headerHeight:I,rowHeaderCellStyle:na,headerRowClassName:B?.headerRow,headerCellClassName:B?.headerCell,rowHeaderCellClassName:B?.rowHeaderCell,isCornerHovered:et,isWholeGridSelected:Jr,filteredRowsLength:Q,visibleColumnsLength:H.length,renderEntries:Fr,hoveredColumnIndex:ct,selectionSnapshot:xt,columnFilterValues:G.filters.columnFilters,sortState:G.sort,iconButtonClassName:B?.iconButton,onCornerPointerDown:si,onCornerPointerEnter:ui,onCornerPointerLeave:di,onColumnHeaderPointerDown:Kr,onColumnHeaderPointerEnter:qr,onColumnHeaderPointerLeave:li,onColumnResizePointerDown:fi,enableColumnMenu:pe,openedMenuColumnKey:Zt,onColumnMenuButtonPointerDown:rn,onColumnHeaderContextMenu:an,onColumnDragHandlePointerDown:ki}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:Ft,height:I+kr,transform:Ar},children:[(0,n.jsx)(_,{rect:oi(`right`),headerHeight:I,baseOffset:Mr,leadingWidth:0}),(0,n.jsx)(v,{rect:Rr(`right`),headerHeight:I,baseOffset:Mr,leadingWidth:0}),(0,n.jsx)(y,{rect:zr(`right`),headerHeight:I,baseOffset:Mr,leadingWidth:0,initialValue:Qe,onCommit:ti,onCancel:ni}),(0,n.jsx)(pn,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,rowModel:Z,virtualRows:Tr,virtualRowIndexes:Er,renderEntries:Fr,rowHeight:N,autoHeight:hr,isServerSide:U,rowHeaderCellStyle:na,hoveredRowIndex:ot,isWholeGridSelected:Jr,activeCell:G.activeCell,editingCell:G.editingCell,selectionSnapshot:xt,readOnly:L,canEditCell:R,onRowHeaderPointerDown:Wr,onRowHeaderPointerEnter:Gr,onRowHeaderPointerLeave:ci,onCellPointerDown:Vr,onCellPointerEnter:Hr,onCellDoubleClick:ri,renderCellContent:ea,getRowClassName:Ae,bodyCellClassName:B?.bodyCell,bodyRowClassName:B?.bodyRow,rowHeaderCellClassName:B?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:Oi,style:Ai})]})]}),ra&&(0,n.jsx)(`div`,{className:`ssg-empty-state`,children:r.length===0?ve:_e})]}),nr&&(0,n.jsx)(`div`,{className:`ssg-autosize-overlay`,children:(0,n.jsx)(`span`,{className:`ssg-autosize-pill`,children:`列幅を計算中…`})})]}),ma,oa,sa,ca,la]})}exports.SpreadsheetGrid=Z;
|
|
8
|
+
`)},[n,r]);return{isWholeGridSelected:m,handleCopy:(0,e.useCallback)(async()=>{let e=m?h():ve(n.getRow,n.getRowCount(),r,i.selection);e&&navigator.clipboard?.writeText&&await navigator.clipboard.writeText(e)},[m,n,h,i.selection,r]),handlePaste:(0,e.useCallback)(e=>{if(!u||!i.activeCell)return;let p=e.clipboardData.getData(`text/plain`);if(!p)return;e.preventDefault();let m=_e(p);if(m.length===0)return;let h=i.activeCell.row,g=n.getSourceIndex(h);if(g===void 0)return;let _=i.activeCell.col,v=[...t],y=[...r],x=n.getRowCount(),S=v.length,C=e=>e<x?n.getSourceIndex(e):S+(e-x),w=g+m.length;if(w>v.length&&c)for(;v.length<w;)v.push(c());let T=m.reduce((e,t)=>Math.max(e,t.length),0);if(T===0)return;let E=_+T;if(E>y.length&&d&&l){for(;y.length<E;)y.push(l(y.length));d(y)}let D=ye(v,C,y,m,h,_,(e,t,n,r)=>b({readOnly:o,canEditCell:s},e,t,n,r)),O=R(i.activeCell.row+Math.max(m.length-1,0),0,Math.max(Math.max(n.getRowCount()-1,0),h+m.length-1)),k=R(i.activeCell.col+Math.max((m[0]?.length??1)-1,0),0,Math.max(Math.max(y.length-1,0),_+T-1));u(D),f(a.startSelection(i.activeCell)),f(a.updateSelection({row:O,col:k})),f(a.endSelection()),f(a.activateCell(i.activeCell))},[s,l,c,f,d,u,o,n,t,i.activeCell,r])}},xe=e=>{if(e<0)return``;let t=e,n=``;for(;t>=0;)n=String.fromCharCode(t%26+65)+n,t=Math.floor(t/26)-1;return n},Se=(e,t,n)=>e?e(t):n,Ce=(e,t=16)=>e.length<=t?e:`${e.slice(0,t)}…`,we=e=>e?`${xe(e.col)}${e.row+1}`:`なし`,Te=e=>{if(!e)return`なし`;if(e.type===`cell`){let t=Math.min(e.range.start.row,e.range.end.row),n=Math.max(e.range.start.row,e.range.end.row),r=Math.min(e.range.start.col,e.range.end.col),i=Math.max(e.range.start.col,e.range.end.col);return`${xe(r)}${t+1} - ${xe(i)}${n+1}`}if(e.type===`row`){let t=Math.min(e.startRow,e.endRow),n=Math.max(e.startRow,e.endRow);return`Row ${t+1} - ${n+1}`}let t=Math.min(e.startCol,e.endCol),n=Math.max(e.startCol,e.endCol);return`Col ${xe(t)} - ${xe(n)}`},Ee=(e,t)=>`Rows: ${t} / ${e.rows.length}`,De=e=>`Columns: ${e.visibleColumns.length} / ${e.columns.length}`,Oe=(e,t)=>{let n=e.selection;if(!n)return{selectedCellCount:0,selectedRowCount:0,selectedColumnCount:0};if(n.type===`cell`){let e=Math.min(n.range.start.row,n.range.end.row),t=Math.max(n.range.start.row,n.range.end.row),r=Math.min(n.range.start.col,n.range.end.col),i=Math.max(n.range.start.col,n.range.end.col),a=t-e+1,o=i-r+1;return{selectedCellCount:a*o,selectedRowCount:a,selectedColumnCount:o}}if(n.type===`row`){let t=Math.min(n.startRow,n.endRow),r=Math.max(n.startRow,n.endRow)-t+1,i=e.visibleColumns.length;return{selectedCellCount:r*i,selectedRowCount:r,selectedColumnCount:i}}let r=Math.min(n.startCol,n.endCol),i=Math.max(n.startCol,n.endCol)-r+1,a=t;return{selectedCellCount:a*i,selectedRowCount:a,selectedColumnCount:i}},ke=(e,t)=>{let n=Oe(e,t);return`Cells: ${n.selectedCellCount} / Rows: ${n.selectedRowCount}`},Ae=e=>Object.values(e).filter(e=>T(e)).length,je=e=>{let t=e.globalFilterText.trim().length>0,n=t?Ce(e.globalFilterText.trim()):null,r=Ae(e.columnFilterValues);return!t&&r===0?`Filter: なし`:t&&r===0?`Filter: Global("${n}")`:!t&&r>0?`Filter: ${r}列`:`Filter: Global("${n}") + ${r}列`},B=(e,t)=>{let n=e.find(e=>e.key===t);return n?.title||n?.key||t},Me=e=>e.sortState.length===0?`Sort: なし`:`Sort: ${e.sortState.map(t=>`${B(e.columns,t.columnKey)} (${t.direction===`asc`?`昇順`:`降順`})`).join(`, `)}`,Ne=(e,t)=>{let n=Oe(e,t),r=e.globalFilterText.trim().length>0,i=r?Ce(e.globalFilterText.trim()):null,a=Ae(e.columnFilterValues),o=r||a>0,s=e.sortState.length>0,c=s?B(e.columns,e.sortState[0].columnKey):null;return{rowSummaryText:Ee(e,t),columnSummaryText:De(e),filterSummaryText:je(e),sortSummaryText:Me(e),activeCellLabel:we(e.activeCell),selectionLabel:Te(e.selection),selectionStatsText:ke(e,t),selectionStats:n,hasGlobalFilter:r,globalFilterPreview:i,activeColumnFilterCount:a,hasAnyFilter:o,hasSorting:s,sortedColumnLabel:c}},Pe=({rows:t,viewRowCount:n,getFilteredRows:r,columns:i,visibleColumns:a,uiState:o,setGlobalFilterText:s})=>{let c=h(o),l=o.filters.columnFilters,u=o.sort,d=o.activeCell,f=o.selection,p=(0,e.useMemo)(()=>({rows:t,columns:i,visibleColumns:a,globalFilterText:c,columnFilterValues:l,sortState:u,activeCell:d,selection:f}),[t,i,a,c,l,u,d,f]),m=(0,e.useMemo)(()=>Ne(p,n),[p,n]);return{slotContextBase:p,derivedSummary:m,slotContext:(0,e.useMemo)(()=>({...p,get filteredRows(){return r()},setGlobalFilterText:s,derivedSummary:m}),[m,r,s,p])}},Fe=({uiState:t,rows:n,visibleColumns:r,rowModel:i,setEditorInitialValue:o,onRowsChange:s,dispatch:c,getMovedCell:l,gridRootRef:u,editorActionGuardRef:d})=>{let f=(0,e.useCallback)(e=>{c(a.startSelection(e)),c(a.endSelection()),c(a.activateCell(e))},[c]);return{activateSingleCell:f,startEditWithValue:(0,e.useCallback)((e,t)=>{o(t),c(a.startEdit(e))},[c,o]),commitEdit:(0,e.useCallback)((e,o)=>{if(d.current||!t.editingCell)return;let p=t.editingCell,m=o===`down`?l(p,1,0):o===`right`?l(p,0,1):o===`left`?l(p,0,-1):p,h=r[p.col],g=i.getSourceIndex(p.row),_=n[g];if(!h||!_){c(a.stopEdit());return}if(s){let t=h.parseClipboardValue?h.parseClipboardValue(e,_):e;s(n.map((e,n)=>n===g?S(e,h,t):e))}d.current=!0,requestAnimationFrame(()=>{u.current?.focus(),f(m),d.current=!1}),c(a.stopEdit())},[f,c,d,i,l,u,s,n,t.editingCell,r]),cancelEdit:(0,e.useCallback)(()=>{d.current||(d.current=!0,c(a.stopEdit()),requestAnimationFrame(()=>{u.current?.focus(),d.current=!1}))},[c,d,u])}},Ie=e=>e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey,Le=e=>e instanceof HTMLElement?e.closest(`input, textarea, select, button, [contenteditable="true"]`)!==null:!1,Re=({uiState:t,rowModel:n,visibleColumns:r,readOnly:i,canEditCell:o,setEditorInitialValue:s,dispatch:c,handleCopy:l,handleCellDoubleClick:u,isWholeGridSelected:d,selectEntireGrid:f})=>{let p=n.getRowCount(),m=(0,e.useCallback)((e,t,n)=>({row:R(e.row+t,0,Math.max(p-1,0)),col:R(e.col+n,0,Math.max(r.length-1,0))}),[p,r.length]),h=(0,e.useCallback)((e,n,i)=>{if(p===0||r.length===0)return;let o=t.activeCell??{row:0,col:0},s={row:R(o.row+e,0,p-1),col:R(o.col+n,0,r.length-1)};if(i){let e=t.selection?.type===`cell`?t.selection.range.start:o;c(a.startSelection(e)),c(a.updateSelection(s)),c(a.endSelection()),c(a.activateCell(s));return}c(a.startSelection(s)),c(a.endSelection()),c(a.activateCell(s))},[c,p,t.activeCell,t.selection,r.length]);return{getMovedCell:m,handleKeyDown:(0,e.useCallback)(async e=>{if(!Le(e.target)&&!t.editingCell){if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`c`){e.preventDefault(),await l();return}if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`a`){if(e.preventDefault(),d){c(a.clearSelection()),c(a.activateCell(null));return}f();return}if(e.key===`ArrowUp`){e.preventDefault(),h(-1,0,e.shiftKey);return}if(e.key===`ArrowDown`){e.preventDefault(),h(1,0,e.shiftKey);return}if(e.key===`ArrowLeft`){e.preventDefault(),h(0,-1,e.shiftKey);return}if(e.key===`ArrowRight`){e.preventDefault(),h(0,1,e.shiftKey);return}if(e.key===`Tab`){e.preventDefault(),h(0,e.shiftKey?-1:1,!1);return}if(e.key===`Escape`){e.preventDefault(),c(a.clearSelection());return}if(e.key===`Enter`||e.key===`F2`){e.preventDefault(),t.activeCell&&u(t.activeCell);return}if(Ie(e)&&t.activeCell){let l=n.getRow(t.activeCell.row),u=r[t.activeCell.col];if(!l||!u||!b({readOnly:i,canEditCell:o},t.activeCell.row,t.activeCell.col,l,u))return;e.preventDefault(),s(e.key),c(a.startEdit(t.activeCell))}}},[o,c,n,u,l,d,h,i,f,s,t.activeCell,t.editingCell,r])}},ze=new Intl.Collator(`ja`,{numeric:!0,sensitivity:`base`}),Be=(e,t)=>{let n=Number(e),r=Number(t);return Number.isFinite(n)&&Number.isFinite(r)?n-r:ze.compare(String(e??``),String(t??``))},Ve=(e,t,n,r)=>{if(!r)return e.length===1&&e[0].columnKey===t&&e[0].direction===n?[]:[{columnKey:t,direction:n}];let i=e.findIndex(e=>e.columnKey===t);return i===-1?[...e,{columnKey:t,direction:n}]:e[i].direction===n?e.filter((e,t)=>t!==i):e.map((e,r)=>r===i?{columnKey:t,direction:n}:e)},He=(e,t,n)=>e.some(e=>e.columnKey===t)?e:[...e,{columnKey:t,direction:n}],Ue=(e,t,n)=>t<0||t>=e.length||e[t].direction===n?e:e.map((e,r)=>r===t?{...e,direction:n}:e),We=(e,t,n)=>t<0||t>=e.length||e[t].columnKey===n?e:e.map((e,r)=>r===t?{...e,columnKey:n}:e).filter((e,r)=>r===t||e.columnKey!==n),Ge=(e,t)=>t<0||t>=e.length?e:e.filter((e,n)=>n!==t),Ke=(e,t,n)=>{if(t<0||t>=e.length||n<0||n>=e.length||t===n)return e;let r=[...e],[i]=r.splice(t,1);return r.splice(n,0,i),r},qe=(e,t,n,r)=>{if(r.length===0)return t;let i=r.map(e=>{let t=n.find(t=>t.key===e.columnKey);return t?{column:t,multiplier:e.direction===`asc`?1:-1}:null}).filter(e=>e!==null);if(i.length===0)return t;let a=t.length,o=i.length,s=i.map(e=>e.multiplier),c=Array(o),l=!0;for(let n=0;n<o;n+=1){let r=i[n].column,o=new Float64Array(a),s=!0;for(let n=0;n<a;n+=1){let i=Number(x(e[t[n]],r));if(!Number.isFinite(i)){s=!1;break}o[n]=i}if(!s){l=!1;break}c[n]=o}let u=Array(a);for(let e=0;e<a;e+=1)u[e]=e;if(l)if(o===1){let e=c[0],n=s[0];u.sort((r,i)=>{let a=e[r]-e[i];return a===0?t[r]-t[i]:a*n})}else u.sort((e,n)=>{for(let t=0;t<o;t+=1){let r=c[t][e]-c[t][n];if(r!==0)return r*s[t]}return t[e]-t[n]});else{let n=i.map(({column:n})=>{let r=Array(a);for(let i=0;i<a;i+=1)r[i]=x(e[t[i]],n);return r});u.sort((e,r)=>{for(let t=0;t<o;t+=1){let i=Be(n[t][e],n[t][r]);if(i!==0)return i*s[t]}return t[e]-t[r]})}let d=new Int32Array(a);for(let e=0;e<a;e+=1)d[e]=t[u[e]];return d},Je=15e6,Ye=(e,t,n,r)=>e&&t&&n>0&&n<=r,Xe=1<<20,Ze=(e,t)=>({rowCount:e,rowTop:e=>e*t,rowsHeight:(e,n)=>(n-e+1)*t,totalBodyHeight:e*t,rowAtContentY:n=>Math.min(Math.max(Math.floor(n/t),0),Math.max(e-1,0))}),Qe=(e,t,n,r)=>{if(r<n)return null;let i=Math.max(e,n),a=Math.min(t,r);return i>a?null:{start:i,end:a}},$e=(e,t)=>e*t,et=(e,t)=>t===1?e:e/t,tt=(e,t,n,r)=>{let i=t*(1-n);return r.rowAtContentY(e-i)},nt=({rowCount:e,rowHeight:t,headerHeight:n,viewportHeight:r,scrollTop:i,overscan:a,maxBodyPx:o})=>{let s=e*t,c=Math.min(s,o),l=Math.max(n+s-r,0),u=Math.max(n+c-r,0),d=u>0&&s>c?l/u:1,f=Math.min(Math.max(i,0),u),p=f*d,m=Math.ceil(r/t)+1,h=Math.floor(p/t),g=Math.max(h-a,0),_=Math.min(h+m+a,e),v=d===1?0:Math.floor(g*t/Xe)*Xe,y=f-p+v,b=[],x=new Set;for(let e=g;e<_;e+=1)b.push({index:e,start:n+e*t-v}),x.add(e);return{physicalBodyHeight:c,logicalBodyHeight:s,scaleFactor:d,translateY:y,windowBaseOffsetPx:v,rows:b,rowIndexSet:x}},rt=({headerHeight:e,viewportHeight:t,scrollTop:n,overscan:r},i)=>{let a=i.rowCount,o=i.totalBodyHeight,s=o,c=Math.max(e+o-t,0),l=Math.min(Math.max(n,0),c),u=i.rowAtContentY(l),d=i.rowAtContentY(l+t),f=Math.max(u-r,0),p=Math.min(d+r+1,a),m=[],h=new Set;for(let t=f;t<p;t+=1)m.push({index:t,start:e+i.rowTop(t),size:i.rowsHeight(t,t)}),h.add(t);return{physicalBodyHeight:s,logicalBodyHeight:o,scaleFactor:1,translateY:0,windowBaseOffsetPx:0,rows:m,rowIndexSet:h}},it=({gridRootRef:t,bodyScrollRef:n,scrollContainerRef:r,leftPaneScrollRef:i,rightPaneScrollRef:o,pointerClientRef:s,autoScrollFrameRef:c,uiState:l,dispatch:u,enableRangeSelection:d,enableSorting:f,orderedColumns:p,filteredRowsLength:m,visibleColumnsLength:h,paneLayout:g,leftLeadingWidth:_,centerLeadingWidth:v,rightLeadingWidth:y,headerHeight:b,rowMetrics:x,verticalScaleFactor:S,setHoveredRowIndex:C,setHoveredColumnIndex:w,enableRowHover:T,enableColumnHeaderHover:E})=>{let D=(0,e.useRef)(l.dragState);D.current=l.dragState;let O=(0,e.useRef)(l.sort);O.current=l.sort;let k=(0,e.useRef)(p);k.current=p;let A=(0,e.useRef)(f);A.current=f;let j=l.dragState?.type??null,M=(0,e.useCallback)((e,t)=>{let a=n.current;if(!a||m===0||h===0)return null;let s=a.getBoundingClientRect(),c=tt(a.scrollTop+t-s.top-b,r.current?.scrollTop??0,S,x),l=null,u=i.current;if(l===null&&u&&g.left.entries.length>0){let t=u.getBoundingClientRect();if(e<t.right){let n=e-t.left-_;l=de(g.left,n)}}let d=o.current;if(l===null&&d&&g.right.entries.length>0){let t=d.getBoundingClientRect();if(e>=t.left){let n=e-t.left-y;l=de(g.right,n)}}if(l===null&&g.center.entries.length>0){let t=a.scrollLeft+e-s.left-v;l=de(g.center,Math.max(t,0))}return l===null?null:{row:c,col:R(l,0,h-1)}},[n,i,o,r,m,h,g,_,v,y,b,x,S]),N=(0,e.useCallback)((e,t)=>{let n=D.current;if(!n||n.type!==`selection`)return;let r=M(e,t);if(r){if(n.selectionKind===`cell`){u(a.updateSelection(r));return}if(n.selectionKind===`row`){u(a.updateRowSelection(r.row));return}n.selectionKind===`col`&&u(a.updateColumnSelection(r.col))}},[u,M]);return(0,e.useEffect)(()=>{let e=e=>{s.current={x:e.clientX,y:e.clientY},j===`columnResize`&&u(a.updateColumnResize(e.clientX))},t=()=>{u(a.endSelection()),u(a.endColumnResize())};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},[u,s,j]),(0,e.useEffect)(()=>{if(j!==`selection`){c.current!==null&&(cancelAnimationFrame(c.current),c.current=null);return}let e=()=>{let t=r.current,n=s.current;if(!t||!n){c.current=requestAnimationFrame(e);return}let i=t.getBoundingClientRect(),a=t.scrollTop,o=t.scrollLeft,l=D.current?.type===`selection`&&D.current.selectionKind===`col`,u=D.current?.type===`selection`&&D.current.selectionKind===`row`;l||(n.y<i.top+24?a=Math.max(t.scrollTop-18,0):n.y>i.bottom-24&&(a=t.scrollTop+18)),u||(n.x<i.left+24?o=Math.max(t.scrollLeft-18,0):n.x>i.right-24&&(o=t.scrollLeft+18)),(a!==t.scrollTop||o!==t.scrollLeft)&&(t.scrollTo({top:a,left:o,behavior:`auto`}),N(n.x,n.y)),c.current=requestAnimationFrame(e)};return c.current=requestAnimationFrame(e),()=>{c.current!==null&&(cancelAnimationFrame(c.current),c.current=null)}},[c,r,s,j,N]),{updateSelectionFromPointer:N,handleCellPointerDown:(0,e.useCallback)((e,n)=>{n.preventDefault(),n.button===0&&(t.current?.focus(),u(a.activateCell(e)),d&&u(a.startSelection(e)))},[u,d,t]),handleCellPointerEnter:(0,e.useCallback)((e,t)=>{if(T&&C(e.row),!d)return;let n=D.current;n?.type!==`selection`||n.selectionKind!==`cell`||(s.current={x:t.clientX,y:t.clientY},u(a.updateSelection(e)))},[u,d,s,C,T]),handleNativeDragStart:(0,e.useCallback)(e=>{e.preventDefault()},[]),handleRowHeaderPointerDown:(0,e.useCallback)((e,n)=>{n.preventDefault(),n.button===0&&(t.current?.focus(),u(a.startRowSelection(e)))},[u,t]),handleRowHeaderPointerEnter:(0,e.useCallback)((e,t)=>{T&&C(e);let n=D.current;n?.type!==`selection`||n.selectionKind!==`row`||(s.current={x:t.clientX,y:t.clientY},u(a.updateRowSelection(e)))},[u,s,C,T]),handleColumnHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus(),n.shiftKey&&A.current){let t=k.current[e];if(t){let e=O.current,n=e.find(e=>e.columnKey===t.key)?.direction?`desc`:`asc`,r=Ve(e,t.key,n,!0);u(r.length===0?a.clearSort():a.setSort(r))}return}u(a.startColumnSelection(e))}},[u,t]),handleColumnHeaderPointerEnter:(0,e.useCallback)((e,t)=>{C(null),E&&w(e);let n=D.current;n?.type!==`selection`||n.selectionKind!==`col`||(s.current={x:t.clientX,y:t.clientY},u(a.updateColumnSelection(e)))},[u,s,C,w,E])}},at=({scrollRef:t,columnVirtualizer:n,columnMeasurements:r,totalScrollWidth:i,physicalBodyHeight:a,headerHeight:o,leftPaneWidth:s,rightPaneWidth:c,centerLeadingWidth:l,activeCellRect:u,verticalScaleFactor:d})=>{(0,e.useEffect)(()=>{n.measure()},[n,r]),(0,e.useEffect)(()=>{if(!t.current)return;let e=t.current,n=Math.max(i-e.clientWidth,0),r=Math.max(o+a-e.clientHeight,0);e.scrollLeft>n&&(e.scrollLeft=n),e.scrollTop>r&&(e.scrollTop=r)},[t,i,a,o]),(0,e.useEffect)(()=>{if(!t.current||!u)return;let e=t.current,n=o+u.top,r=n+u.height,i=s+l+u.left,a=i+u.width,f=$e(e.scrollTop,d),p=e.scrollLeft,m=e.clientHeight,h=e.clientWidth,g=f,_=p,v=f+o,y=f+m;n<v?g=Math.max(n-o,0):r>y&&(g=Math.max(r-m,0));let b=p+s,x=p+h-c;i<b?_=Math.max(i-s,0):a>x&&(_=Math.max(a-h+c,0)),(g!==f||_!==p)&&e.scrollTo({top:et(g,d),left:_,behavior:`auto`})},[t,u,o,s,c,l,d])};function ot(e,t,n,r){let i=e.find(e=>e.key===t);if(!i)return null;let a=ne(i),o={left:[],center:[],right:[]},s=new Map;for(let t of e)o[ne(t)].push(t.key),s.set(t.key,t.visible!==!1);let c=o[n].filter(e=>s.get(e)).indexOf(t),l=o[a].indexOf(t);if(l<0)return null;o[a].splice(l,1);let u=r;a===n&&c>=0&&u>c&&--u;let d=o[n].filter(e=>s.get(e));if(u=Math.max(0,Math.min(u,d.length)),a===n&&c>=0&&u===c)return null;let f;return f=u>=d.length?o[n].length:o[n].indexOf(d[u]),o[n].splice(f,0,t),[...o.left,...o.center,...o.right]}var st=24,ct=18,lt=32,ut=2,dt=14,ft=12,V=`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 9 2 12 5 15"/><polyline points="9 5 12 2 15 5"/><polyline points="15 19 12 22 9 19"/><polyline points="19 9 22 12 19 15"/><line x1="2" y1="12" x2="22" y2="12"/><line x1="12" y1="2" x2="12" y2="22"/></svg>`,H=`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="17" x2="12" y2="22"/><path d="M5 17h14v-1.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1v4.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24Z"/></svg>`,pt=`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><line x1="4.9" y1="4.9" x2="19.1" y2="19.1"/></svg>`,U={normal:{border:`#2563eb`,background:`#eff6ff`,color:`#1d4ed8`},out:{border:`#ef4444`,background:`#fef2f2`,color:`#dc2626`}},mt=t=>{let n=(0,e.useRef)(t);n.current=t;let r=(0,e.useRef)(null),i=(0,e.useRef)(null),a=(0,e.useRef)(null),o=(0,e.useRef)(null),s=(0,e.useRef)(null),c=(0,e.useRef)({x:0,y:0}),l=(0,e.useRef)(null),u=(0,e.useRef)(null),d=(0,e.useRef)(null),f=(0,e.useRef)(null),p=(0,e.useCallback)(()=>{for(let e of[r,i,a])e.current&&(e.current.style.display=`none`)},[]),m=(0,e.useCallback)(e=>{if(u.current)return;let t=document.createElement(`div`);t.setAttribute(`data-grid-drag-ghost`,``),t.style.cssText=[`position:fixed`,`top:0`,`left:0`,`display:inline-flex`,`align-items:center`,`gap:6px`,`padding:4px 10px 4px 8px`,`border-radius:9999px`,`border:1px solid `+U.normal.border,`background:`+U.normal.background,`color:`+U.normal.color,`font-size:12px`,`font-weight:600`,`line-height:1`,`white-space:nowrap`,`box-shadow:0 4px 12px rgba(15,23,42,0.18)`,`pointer-events:none`,`user-select:none`,`z-index:9999`,`will-change:transform`,`transform:translate(-9999px,-9999px)`].join(`;`);let n=document.createElement(`span`);n.style.cssText=`display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:none`;let r=document.createElement(`span`);r.textContent=e,t.appendChild(n),t.appendChild(r),document.body.appendChild(t),u.current=t,d.current=n,f.current=null},[]),h=(0,e.useCallback)(e=>{let t=u.current;if(!t)return;let{x:n,y:r}=c.current;t.style.transform=`translate(`+(n+dt)+`px,`+(r+ft)+`px)`;let i=e??`out`;if(f.current===i)return;f.current=i;let a=d.current;i===`out`?(t.style.borderColor=U.out.border,t.style.background=U.out.background,t.style.color=U.out.color,a&&(a.innerHTML=pt)):(t.style.borderColor=U.normal.border,t.style.background=U.normal.background,t.style.color=U.normal.color,a&&(a.innerHTML=i===`center`?V:H))},[]),g=(0,e.useCallback)(()=>{let e=u.current;e&&e.parentNode&&e.parentNode.removeChild(e),u.current=null,d.current=null,f.current=null},[]),_=(0,e.useCallback)((e,t)=>{let{paneLayout:r,leftPaneScrollRef:i,rightPaneScrollRef:a,bodyScrollRef:o,scrollContainerRef:s,leftLeadingWidth:c,centerLeadingWidth:l,rightLeadingWidth:u}=n.current,d=s.current;if(d){let n=d.getBoundingClientRect();if(e<n.left||e>n.right||t<n.top||t>n.bottom)return null}let f=i.current,p=a.current;if(f&&r.left.entries.length===0&&e<=f.getBoundingClientRect().left+lt)return{pane:`left`,slot:0,leftPx:ut};if(f&&r.left.entries.length>0){let t=f.getBoundingClientRect();if(e<t.right){let n=e-t.left-c,i=fe(r.left,n);return{pane:`left`,slot:i,leftPx:c+z(r.left,i)}}}if(p&&r.right.entries.length===0&&e>=p.getBoundingClientRect().left-lt)return{pane:`right`,slot:0,leftPx:-2};if(p&&r.right.entries.length>0){let t=p.getBoundingClientRect();if(e>=t.left){let n=e-t.left-u,i=fe(r.right,n);return{pane:`right`,slot:i,leftPx:u+z(r.right,i)}}}let m=o.current;if(m&&r.center.entries.length>0){let t=m.getBoundingClientRect(),n=m.scrollLeft+e-t.left-l,i=fe(r.center,Math.max(n,0));return{pane:`center`,slot:i,leftPx:l+z(r.center,i)}}return null},[]),v=(0,e.useCallback)(()=>{let e=_(c.current.x,c.current.y);if(h(e?e.pane:null),!e){s.current=null,p();return}s.current={pane:e.pane,slot:e.slot};let t={left:r.current,center:i.current,right:a.current};for(let n of[`left`,`center`,`right`]){let r=t[n];r&&(n===e.pane?(r.style.left=`${e.leftPx}px`,r.style.display=`block`):r.style.display=`none`)}},[_,p,h]),y=(0,e.useRef)(()=>{});y.current=(0,e.useCallback)(()=>{let e=n.current.scrollContainerRef.current;if(e){let t=e.getBoundingClientRect(),n=c.current,r=e.scrollLeft;n.x<t.left+st?r=Math.max(e.scrollLeft-ct,0):n.x>t.right-st&&(r=e.scrollLeft+ct),r!==e.scrollLeft&&e.scrollTo({left:r,behavior:`auto`})}v(),l.current=requestAnimationFrame(y.current)},[v]);let b=(0,e.useCallback)(e=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null),document.body.style.cursor=``,p(),g();let t=o.current,r=s.current;if(o.current=null,s.current=null,!e||!t||!r)return;let{columns:i,applyColumnOrderAndPin:a}=n.current,c=ot(i,t,r.pane,r.slot);c&&a(c,new Map([[t,r.pane===`center`?void 0:r.pane]]))},[p,g]),x=(0,e.useCallback)((e,t)=>{if(!n.current.enabled||t.button!==0)return;t.stopPropagation(),t.preventDefault(),o.current=e.key,c.current={x:t.clientX,y:t.clientY},document.body.style.cursor=`grabbing`,m(e.title||e.key);let r=t.currentTarget,i=t.pointerId;try{r.setPointerCapture(i)}catch{}let a=e=>{c.current={x:e.clientX,y:e.clientY},v()};function s(){d(),b(!0)}function u(){d(),b(!1)}let d=()=>{r.removeEventListener(`pointermove`,a),r.removeEventListener(`pointerup`,s),r.removeEventListener(`pointercancel`,u),r.removeEventListener(`lostpointercapture`,u);try{r.releasePointerCapture(i)}catch{}};r.addEventListener(`pointermove`,a),r.addEventListener(`pointerup`,s),r.addEventListener(`pointercancel`,u),r.addEventListener(`lostpointercapture`,u),v(),l.current=requestAnimationFrame(y.current)},[v,b,m]);return(0,e.useEffect)(()=>()=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null),document.body.style.cursor=``;let e=u.current;e&&e.parentNode&&e.parentNode.removeChild(e),u.current=null,d.current=null,f.current=null},[]),{onColumnDragHandlePointerDown:x,leftIndicatorRef:r,centerIndicatorRef:i,rightIndicatorRef:a}},ht=(e,t)=>{let{heights:n,prefix:r,rowCount:i}=e,a=Math.max(t,0);for(let e=a;e<i;e+=1)r[e+1]=r[e]+n[e]},gt=(e,t,n,r)=>{let i=r??new Map,a=Math.max(e,0),o=new Float64Array(a);for(let e=0;e<a;e+=1){let r=i.get(n(e));o[e]=r===void 0?t:r}let s={rowCount:a,estimate:t,heights:o,prefix:new Float64Array(a+1),measured:i};return ht(s,0),s},_t=(e,t,n,r)=>t<0||t>=e.rowCount||(e.measured.set(n,r),e.heights[t]===r)?!1:(e.heights[t]=r,!0),vt=(e,t,n)=>{if(t<=0||n<=0)return 0;if(n>=e[t])return t-1;let r=0,i=t;for(;r<i;){let t=r+i+1>>1;e[t]<=n?r=t:i=t-1}return Math.min(Math.max(r,0),t-1)},yt=e=>{let{prefix:t,rowCount:n}=e;return{rowCount:n,rowTop:e=>t[Math.min(Math.max(e,0),n)],rowsHeight:(e,r)=>t[Math.min(Math.max(r+1,0),n)]-t[Math.min(Math.max(e,0),n)],totalBodyHeight:t[n],rowAtContentY:e=>vt(t,n,e)}},bt=21,xt=4,W=141,G=13,St=600,Ct=60,wt=1e3,K=16,Tt=null,Et=()=>Tt||(typeof document>`u`?null:(Tt=document.createElement(`canvas`).getContext(`2d`),Tt)),Dt=`system-ui, sans-serif`,Ot=e=>{let t=Dt,n=13,r=`400`;if(e&&typeof window<`u`){let i=window.getComputedStyle(e);i.fontFamily&&(t=i.fontFamily);let a=Number.parseFloat(i.fontSize);Number.isFinite(a)&&a>0&&(n=a),i.fontWeight&&(r=i.fontWeight)}return{cellFont:`${r} ${n}px ${t}`,headerFont:`${St} ${G}px ${t}`}},kt=(e,t,n)=>Math.min(Math.max(e,t),n),At=e=>e>=4352&&e<=4447||e>=11904&&e<=12350||e>=12353&&e<=13311||e>=13312&&e<=19903||e>=19968&&e<=40959||e>=40960&&e<=42191||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65072&&e<=65103||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=127744&&e<=129791||e>=131072&&e<=262141,q=e=>{let t=0;for(let n of e){let e=n.codePointAt(0)??0;t+=At(e)?2:1}return t};function jt(e){let t=e.map(()=>[]),n=e.map(()=>[]),r=e.map(()=>1/0);return{collect:i=>{for(let a=0;a<e.length;a+=1){let o=String(x(i,e[a])??``);if(o===``)continue;let s=t[a],c=n[a];if(s.length===K&&2*o.length<=r[a])continue;let l=q(o);if(s.length<K){if(s.push(o),c.push(l),s.length===K){let e=c[0];for(let t=1;t<K;t+=1)c[t]<e&&(e=c[t]);r[a]=e}continue}if(l<=r[a])continue;let u=0;for(let e=1;e<K;e+=1)c[e]<c[u]&&(u=e);s[u]=o,c[u]=l;let d=c[0];for(let e=1;e<K;e+=1)c[e]<d&&(d=c[e]);r[a]=d}},finalize:({gridRoot:n,currentWidths:r})=>{let i=Et();if(!i||e.length===0)return{};let{cellFont:a,headerFont:o}=Ot(n),s={};for(let n=0;n<e.length;n+=1){let c=e[n];i.font=o;let l=c.title||c.key,u=i.measureText(l).width+xt+W;i.font=a;let d=0,f=t[n];for(let e=0;e<f.length;e+=1){let t=i.measureText(f[e]).width;t>d&&(d=t)}let p=d>0?d+xt+bt:0,m=Math.ceil(kt(Math.max(u,p),c.minWidth??Ct,c.maxWidth??wt));r[c.key]!==m&&(s[c.key]=m)}return s}}}function Mt(){return Et()!==null}var Nt=()=>new Promise(e=>{if(typeof MessageChannel>`u`){setTimeout(e,0);return}let t=new MessageChannel;t.port1.onmessage=()=>{t.port1.close(),e()},t.port2.postMessage(null)}),Pt=10,Ft=180,It=()=>typeof performance<`u`?performance.now():Date.now(),Lt=({rowModelRef:t,gridRootRef:n,columnWidthsRef:r,dispatch:i})=>{let[o,s]=(0,e.useState)(!1),c=(0,e.useRef)(0),l=(0,e.useRef)(null),u=()=>{l.current!==null&&(clearTimeout(l.current),l.current=null)};return(0,e.useEffect)(()=>()=>{c.current+=1,u()},[]),{isAutosizing:o,runAutosize:(0,e.useCallback)(async e=>{if(e.length===0||!Mt())return;let o=c.current+=1;u();let d=t.current,f=d.getRowCount(),p=n.current,m=r.current,h=jt(e);l.current=setTimeout(()=>{c.current===o&&s(!0)},Ft);try{let e=0;for(;e<f;){let n=It();for(;e<f&&It()-n<Pt;){let t=d.getRow(e);t&&h.collect(t),e+=1}if(e<f&&(await Nt(),c.current!==o||t.current!==d))return}let n=h.finalize({gridRoot:p,currentWidths:m});Object.keys(n).length>0&&i(a.syncColumnWidths(n))}finally{c.current===o&&(u(),s(!1))}},[r,i,n,t])}},Rt=()=>{let e=new Set,t=[];return{collect(n){let r=String(n??``);e.has(r)||(e.add(r),t.push({value:r,label:r||`(空白)`}))},finalize(){return t.sort((e,t)=>ze.compare(e.label,t.label))}}},zt=(e,t)=>{let n=Rt();for(let r=0;r<e;r+=1)n.collect(t(r));return n.finalize()},Bt=10,J=()=>typeof performance<`u`?performance.now():Date.now(),Vt=[],Ht=new Set,Ut={status:`idle`,options:Vt,allValues:Ht,progress:0},Wt={status:`collecting`,options:Vt,allValues:Ht,progress:0},Gt=e=>new Set(e.map(e=>e.value)),Y={source:null,rowCount:0,result:Ut},Kt=({column:t,rowCount:n,getRawValueAt:r})=>{let i=t?.filterType??null,a=i===`select`||i===`set`,o=t?.filterOptions&&t.filterOptions.length>0?t.filterOptions:null,s=a&&o===null&&n>5e4,c=(0,e.useMemo)(()=>{if(!t||!a)return Ut;if(o){let e=o;return{status:`ready`,options:e,allValues:Gt(e),progress:1}}if(!s){let e=zt(n,r);return{status:`ready`,options:e,allValues:Gt(e),progress:1}}return null},[t,a,o,s,n,r]),[l,u]=(0,e.useState)(Y);(0,e.useEffect)(()=>{if(c!==null)return;let e=r,t=n,i=Rt(),a=!1;return(async()=>{let n=0;for(;n<t;){let r=J();for(;n<t&&J()-r<Bt;)i.collect(e(n)),n+=1;if(n<t){if(await Nt(),a)return;u({source:e,rowCount:t,result:{status:`collecting`,options:Vt,allValues:Ht,progress:n/t}})}}if(a)return;let r=i.finalize();u({source:e,rowCount:t,result:{status:`ready`,options:r,allValues:Gt(r),progress:1}})})(),()=>{a=!0}},[c,n,r]);let d=l.source===r&&l.rowCount===n?l.result:Wt;return c??d};function qt(e){let t=e.blockSize,n=e.maxBlocks,r=new Map,i=e=>{let t=r.get(e);t!==void 0&&(r.delete(e),r.set(e,t))},a=()=>{for(;r.size>n;){let e=r.keys().next().value;if(e===void 0)break;r.delete(e)}};return{getRow:e=>{if(t<=0||e<0)return;let n=Math.floor(e/t),i=r.get(n);if(i!==void 0)return i[e-n*t]},hasBlock:e=>r.has(e),setBlock:(e,t)=>{r.has(e)&&r.delete(e),r.set(e,t),a()},touchBlocks:e=>{for(let t of e)i(t)},clear:()=>{r.clear()},loadedBlockIndexes:()=>Array.from(r.keys())}}function Jt(e,t){return Math.floor(e/t)}function Yt(e,t,n,r){if(n<=0||r<=0)return[];let i=Math.max(0,Math.floor(e)),a=Math.min(r,Math.floor(t));if(a<=i)return[];let o=Jt(i,n),s=Jt(a-1,n),c=[];for(let e=o;e<=s;e+=1)c.push(e);return c}var Xt=100,Zt=64,Qt=120;function $t(t){let{dataSource:n,rowKeyGetter:r,query:i,queryKey:a,refreshToken:o}=t,s=n?.blockSize??Xt,c=n?.maxCachedBlocks??Zt,l=t.debounceMs??Qt,[u]=(0,e.useState)(()=>qt({blockSize:s,maxBlocks:c})),[d,f]=(0,e.useState)(n?.initialRowCount??0),[p,m]=(0,e.useState)(0),h=(0,e.useRef)(d),g=(0,e.useRef)(!1),_=(0,e.useRef)(new Map),v=(0,e.useRef)(null),y=(0,e.useRef)({start:0,end:0}),b=(0,e.useCallback)(e=>{if(n==null||u.hasBlock(e)||_.current.has(e))return;let t=new AbortController;_.current.set(e,t);let r=e*s,a=r+s;n.getRows({startIndex:r,endIndex:a,query:i,signal:t.signal}).then(n=>{t.signal.aborted||_.current.get(e)===t&&(_.current.delete(e),u.setBlock(e,n.rows),n.totalRowCount!==h.current&&(h.current=n.totalRowCount,f(n.totalRowCount)),m(e=>e+1))}).catch(()=>{_.current.get(e)===t&&_.current.delete(e)})},[u,s,n,i]),x=(0,e.useCallback)(()=>{let{start:e,end:t}=y.current,n=Yt(e,t,s,h.current),r=new Set(n);for(let[e,t]of _.current)r.has(e)||(t.abort(),_.current.delete(e));for(let e of n)b(e)},[s,b]),S=(0,e.useCallback)(()=>{v.current!==null&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=null,x()},l)},[l,x]),C=(0,e.useCallback)((e,t)=>{n!=null&&(y.current={start:e,end:t},u.touchBlocks(Yt(e,t,s,h.current)),S())},[u,s,n,S]);(0,e.useEffect)(()=>{if(n==null)return;for(let[,e]of _.current)e.abort();_.current.clear(),v.current!==null&&(clearTimeout(v.current),v.current=null),u.clear();let e=!g.current;g.current=!0,m(e=>e+1),e?(n.initialRowCount??0)<=0&&b(0):b(0)},[a]);let w=(0,e.useRef)(o);(0,e.useEffect)(()=>{if(n==null||o===void 0){w.current=o;return}if(w.current===void 0){w.current=o;return}if(w.current!==o){w.current=o;for(let[,e]of _.current)e.abort();_.current.clear(),v.current!==null&&(clearTimeout(v.current),v.current=null),u.clear(),m(e=>e+1),x()}},[o]),(0,e.useEffect)(()=>{let e=_.current,t=v;return()=>{for(let[,t]of e)t.abort();e.clear(),t.current!==null&&(clearTimeout(t.current),t.current=null)}},[]);let T=(0,e.useCallback)(e=>u.getRow(e)!==void 0,[u]);return{rowModel:(0,e.useMemo)(()=>({getRowCount:()=>h.current,getRow:e=>u.getRow(e),getSourceIndex:e=>e,getRowKey:e=>{let t=u.getRow(e);return t===void 0?e:r(t,e)}}),[u,r,p]),rowCount:d,isRowLoaded:T,requestRange:C}}var en=e=>{let t={},n=e.globalText.trim();n.length>0&&(t.globalText=n);let r={},i=!1;for(let t of Object.keys(e.columnFilters)){let n=e.columnFilters[t];T(n)&&(r[t]=n,i=!0)}return i&&(t.columnFilters=r),e.sort.length>0&&(t.sort=e.sort),t},tn=e=>{let t=e.columnFilters??{},n=Object.keys(t).sort().map(e=>[e,t[e]]),r=e.sort??[];return JSON.stringify({g:e.globalText??``,s:r.map(e=>[e.columnKey,e.direction]),c:n})},nn=(e,t)=>e===null?!0:e.mode===`include`?e.values.has(t):!e.values.has(t),rn=28;function an({options:r,setSelection:i,searchInputRef:a,onValueToggle:o,onSelectAllChange:s,onRequestClose:c,isServerSide:l}){let[u,d]=(0,e.useState)(``),f=(0,e.useDeferredValue)(u),p=(0,e.useMemo)(()=>{let e=f.trim().toLowerCase();return e?r.filter(t=>t.label.toLowerCase().includes(e)):r},[r,f]),m=f.trim().length>0,h=(0,e.useRef)(null),g=(0,t.useVirtualizer)({count:p.length,getScrollElement:()=>h.current,estimateSize:()=>rn,overscan:10}),_=(0,e.useMemo)(()=>{if(i===null)return p.length;let e=0;for(let t of p)nn(i,t.value)&&(e+=1);return e},[i,p]),v=p.length>0&&_===p.length,y=_>0&&!v,b=i===null?r.length:i.mode===`include`?i.values.size:r.length-i.values.size;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:a,type:`text`,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.stopPropagation(),e.key===`Escape`&&(e.preventDefault(),c())},placeholder:`検索...`,className:`ssg-filter-input`}),(0,n.jsxs)(`label`,{className:`ssg-filter-selectall`,children:[(0,n.jsx)(`input`,{type:`checkbox`,checked:v,ref:e=>{e&&(e.indeterminate=y)},onChange:()=>{s(m?p.map(e=>e.value):`all`,!v)}}),(0,n.jsx)(`span`,{className:`ssg-filter-selectall-label`,children:m?`(検索結果をすべて選択)`:`(すべて選択)`})]}),(0,n.jsx)(`div`,{ref:h,className:`ssg-filter-list`,children:p.length===0?(0,n.jsx)(`div`,{className:`ssg-filter-empty`,children:r.length===0?l?`候補が未指定です(serverSide では列に filterOptions などの候補供給が必要)`:`候補がありません`:`一致する候補がありません`}):(0,n.jsx)(`div`,{className:`ssg-filter-virt`,style:{height:g.getTotalSize()},children:g.getVirtualItems().map(e=>{let t=p[e.index];if(!t)return null;let r=nn(i,t.value);return(0,n.jsxs)(`label`,{className:`ssg-filter-option`,style:{transform:`translateY(${e.start}px)`,height:e.size},children:[(0,n.jsx)(`input`,{type:`checkbox`,checked:r,onChange:()=>o(t.value)}),(0,n.jsx)(`span`,{className:`ssg-filter-option-label`,children:t.label})]},t.value)})})}),(0,n.jsxs)(`div`,{className:`ssg-filter-meta`,children:[`選択中: `,b,` / `,r.length,` 件`,m?`(表示中 ${p.length} 件)`:``]})]})}function on({isOpen:e,title:t,filterType:i,draftValue:a,currentValueText:o,layout:s,selectOptions:c,optionsStatus:l,optionsProgress:u,setSelection:d,popoverRef:f,textInputRef:p,selectRef:m,onRequestClose:h,onDraftChange:g,onApply:_,onClear:v,onSetValueToggle:y,onSetSelectAllChange:b,onSetClear:x,isServerSide:S=!1}){if(typeof document>`u`||!e||!s)return null;let C={top:s.top,left:s.left,width:s.width},w=e=>{e.stopPropagation()},T=e=>{e.stopPropagation()},E=i===`set`;return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:f,onPointerDown:T,onKeyDownCapture:w,onPasteCapture:e=>{e.stopPropagation()},className:`ssg-filter-popover`,style:C,children:[(0,n.jsxs)(`div`,{className:`ssg-filter-title`,children:[`列フィルター: `,t]}),(E||i===`select`)&&l===`collecting`?(0,n.jsxs)(`div`,{className:`ssg-filter-collecting`,children:[`候補を収集中… `,Math.round(u*100),`%`]}):E?(0,n.jsx)(an,{options:c,setSelection:d,searchInputRef:p,onValueToggle:y,onSelectAllChange:b,onRequestClose:h,isServerSide:S}):i===`select`?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`div`,{className:`ssg-filter-hint`,children:`フィルター種別: select`}),(0,n.jsxs)(`select`,{ref:m,value:a,onChange:e=>g(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),_();return}e.key===`Escape`&&(e.preventDefault(),h())},className:`ssg-filter-select`,children:[(0,n.jsx)(`option`,{value:``,children:`(すべて)`}),c.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},`${t}-${e.value}`))]}),(0,n.jsxs)(`div`,{className:`ssg-filter-meta`,children:[`候補数: `,c.length]})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-filter-hint`,children:[`フィルター種別: `,i===`number`?`number`:`text`]}),(0,n.jsx)(`input`,{ref:p,type:`text`,value:a,onChange:e=>g(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),_();return}e.key===`Escape`&&(e.preventDefault(),h())},placeholder:i===`number`?`例: >=10 / <20 / 10..20 / =5`:`部分一致で絞り込み`,className:`ssg-filter-input`}),(0,n.jsx)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:i===`number`?`数量系は =, >, >=, <, <=, .. が使えます`:`text は部分一致検索です`})]}),!E&&(0,n.jsxs)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:[`現在値: `,o]}),(0,n.jsx)(`div`,{className:`ssg-filter-footer`,children:E?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),x()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-secondary`,children:`クリア`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),h()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-primary`,children:`閉じる`})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),v()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-secondary`,children:`クリア`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),_()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-primary`,children:`適用`})]})})]}),document.body)}function sn({context:e,showCounts:t=!0}){let{derivedSummary:r}=e;return(0,n.jsx)(`div`,{className:`ssg-bar--bottom`,children:(0,n.jsxs)(`div`,{className:`ssg-bar-container`,children:[t?(0,n.jsxs)(`div`,{className:`ssg-bar-group`,children:[(0,n.jsx)(`span`,{className:`ssg-bar-chip`,children:r.rowSummaryText}),(0,n.jsx)(`span`,{className:`ssg-bar-chip`,children:r.columnSummaryText})]}):null,(0,n.jsxs)(`div`,{className:`ssg-bar-group`,children:[(0,n.jsxs)(`span`,{className:`ssg-bar-chip`,children:[`Active: `,r.activeCellLabel]}),(0,n.jsxs)(`span`,{className:`ssg-bar-chip`,children:[`Selection: `,r.selectionLabel]}),(0,n.jsx)(`span`,{className:`ssg-bar-chip`,children:r.selectionStatsText}),(0,n.jsxs)(`span`,{className:`ssg-bar-chip`,children:[`Cols: `,r.selectionStats.selectedColumnCount]})]})]})})}function cn({context:e,showSummary:t=!0,showFilter:r=!0,showCounts:i=!0}){let{derivedSummary:a}=e;return(0,n.jsx)(`div`,{className:`ssg-bar--top`,children:(0,n.jsxs)(`div`,{className:`ssg-bar-container`,children:[t?(0,n.jsxs)(`div`,{className:`ssg-bar-group ssg-bar-leading`,children:[(0,n.jsx)(`span`,{className:`ssg-bar-title`,children:`Toolbar`}),i?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:a.rowSummaryText}),(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:a.columnSummaryText})]}):null,(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:a.filterSummaryText}),(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:a.sortSummaryText})]}):null,r?(0,n.jsxs)(`div`,{className:`ssg-bar-input-group`,children:[(0,n.jsx)(`input`,{type:`text`,value:e.globalFilterText,onChange:t=>e.setGlobalFilterText(t.target.value),placeholder:`グローバルフィルター`,className:`ssg-bar-input`}),e.globalFilterText.trim().length>0?(0,n.jsx)(`button`,{type:`button`,onClick:()=>e.setGlobalFilterText(``),className:`ssg-bar-clear-btn`,children:`クリア`}):null]}):null]})})}function ln({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,rowKey:o,row:s,top:c,renderEntries:l,rowHeight:u,autoHeight:d,autoHeightMinHeight:f,rowHeaderCellStyle:p,isRowHovered:m,isWholeGridSelected:h,isRowSelected:g,activeColInRow:_,editingColInRow:v,selectedColStart:y,selectedColEnd:S,readOnly:C,canEditCell:w,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:O,onCellPointerEnter:k,onCellDoubleClick:A,renderCellContent:j,rowClassName:M,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,className:i(`ssg-body-row`,M,P),style:{height:u,transform:`translateY(${c}px)`},children:[t&&(0,n.jsx)(`div`,{onPointerDown:e=>T(a,e),onPointerEnter:e=>E(a,e),onPointerLeave:()=>D(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,(h||g)&&`ssg-header-cell--selected`,m&&`ssg-header-cell--hovered`,M,F),style:{...p,height:u},children:a+1}),l.map(e=>{if(!e)return null;let t=e.logicalIndex,c=e.column,l=r+e.paneLocalStart,p=e.paneLocalSize,h=t===_,T=t===v,E=g||y>=0&&t>=y&&t<=S,D=!b({readOnly:C,canEditCell:w},a,t,s,c),P=d&&c.autoHeight===!0,F,I=c.cellClassName;I&&(F=typeof I==`function`?I({row:s,rowIndex:a,colIndex:t,value:x(s,c),column:c,isActive:h,isSelected:E,isEditing:T,readOnly:D}):I);let L=i(`ssg-body-cell`,P&&`ssg-body-cell--autoheight`,D&&!E&&`ssg-body-cell--readonly`,m&&`ssg-body-cell--row-hovered`,M,F,N);return(0,n.jsx)(`div`,{"data-autoheight-cell":P?``:void 0,className:L,onPointerDown:e=>O({row:a,col:t},e),onPointerEnter:e=>k({row:a,col:t},e),onDoubleClick:()=>A({row:a,col:t}),style:{left:l,width:p,minWidth:p,...P?{minHeight:f}:{height:u},zIndex:h?3:1},children:j(s,a,c,t,{isActive:h,isSelected:E,isEditing:T,readOnly:D})},`${String(o)}-${c.key}`)})]})}var un=(0,e.memo)(ln),X=[`62%`,`46%`,`78%`,`54%`];function dn({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,top:o,rowHeight:s,renderEntries:c,rowHeaderCellStyle:l,isRowHovered:u,onRowHeaderPointerDown:d,onRowHeaderPointerEnter:f,onRowHeaderPointerLeave:p,onCellPointerDown:m,onCellPointerEnter:h,bodyCellClassName:g,bodyRowClassName:_,rowHeaderCellClassName:v}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,"data-skeleton-row":``,className:i(`ssg-body-row`,_),style:{height:s,transform:`translateY(${o}px)`},children:[t&&(0,n.jsx)(`div`,{onPointerDown:e=>d(a,e),onPointerEnter:e=>f(a,e),onPointerLeave:()=>p(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,`ssg-skeleton-rowheader`,u&&`ssg-header-cell--hovered`,v),style:{...l,height:s},children:a+1}),c.map(t=>{if(!t)return null;let o=t.logicalIndex,c=r+t.paneLocalStart,l=t.paneLocalSize,d=X[o%X.length];return(0,n.jsx)(`div`,{className:i(`ssg-body-cell`,u&&`ssg-body-cell--row-hovered`,g),onPointerDown:e=>m({row:a,col:o},e),onPointerEnter:e=>h({row:a,col:o},e),style:{left:c,width:l,minWidth:l,height:s,zIndex:1},children:(0,n.jsx)(`div`,{"aria-hidden":`true`,className:`ssg-skeleton-bar`,style:{width:d}})},`skeleton-${e}-${o}`)})]})}var fn=(0,e.memo)(dn);function pn({pane:e,ownsRowHeader:t,leadingWidth:r,rowModel:i,virtualRows:a,virtualRowIndexes:o,renderEntries:s,rowHeight:c,autoHeight:l=!1,isServerSide:u=!1,rowHeaderCellStyle:d,hoveredRowIndex:f,isWholeGridSelected:p,activeCell:m,editingCell:h,selectionSnapshot:g,readOnly:_,canEditCell:v,onRowHeaderPointerDown:y,onRowHeaderPointerEnter:b,onRowHeaderPointerLeave:x,onCellPointerDown:S,onCellPointerEnter:C,onCellDoubleClick:w,renderCellContent:T,getRowClassName:E,bodyCellClassName:D,bodyRowClassName:O,rowHeaderCellClassName:k}){return(0,n.jsx)(n.Fragment,{children:a.map(a=>{let A=a.index;if(!o.has(A))return null;let j=a.size??c,M=i.getRow(A);if(!M){if(!u)return null;let o=i.getRowKey(A)??A;return(0,n.jsx)(fn,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:A,top:a.start,rowHeight:j,renderEntries:s,rowHeaderCellStyle:d,isRowHovered:f===A,onRowHeaderPointerDown:y,onRowHeaderPointerEnter:b,onRowHeaderPointerLeave:x,onCellPointerDown:S,onCellPointerEnter:C,bodyCellClassName:D,bodyRowClassName:O,rowHeaderCellClassName:k},String(o))}let N=i.getRowKey(A)??A,P=g.kind===`row`&&A>=g.startRow&&A<=g.endRow,F=g.kind===`cell`&&A>=g.startRow&&A<=g.endRow,I=g.kind===`col`||F?g.startCol:-1,L=g.kind===`col`||F?g.endCol:-1,ee=m&&m.row===A?m.col:-1,R=h&&h.row===A?h.col:-1,te=E?.(M,A);return(0,n.jsx)(un,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:A,rowKey:N,row:M,top:a.start,renderEntries:s,rowHeight:j,autoHeight:l,autoHeightMinHeight:c,rowHeaderCellStyle:d,isRowHovered:f===A,isWholeGridSelected:p,isRowSelected:P,activeColInRow:ee,editingColInRow:R,selectedColStart:I,selectedColEnd:L,readOnly:_,canEditCell:v,onRowHeaderPointerDown:y,onRowHeaderPointerEnter:b,onRowHeaderPointerLeave:x,onCellPointerDown:S,onCellPointerEnter:C,onCellDoubleClick:w,renderCellContent:T,rowClassName:te,bodyCellClassName:D,bodyRowClassName:O,rowHeaderCellClassName:k},String(N))})})}function mn({isActive:e,title:t,className:r,onPointerDown:a,children:o}){return(0,n.jsx)(`button`,{type:`button`,title:t,onPointerDown:a,className:i(`ssg-icon-btn`,e&&`ssg-icon-btn--active`,r),children:o})}function hn({pane:e,ownsRowHeader:t,leadingWidth:r,headerHeight:a,rowHeaderCellStyle:o,headerRowClassName:s,headerCellClassName:c,rowHeaderCellClassName:l,isCornerHovered:u,isWholeGridSelected:d,filteredRowsLength:f,visibleColumnsLength:p,renderEntries:m,hoveredColumnIndex:h,selectionSnapshot:g,columnFilterValues:_,sortState:v,iconButtonClassName:y,onCornerPointerDown:b,onCornerPointerEnter:x,onCornerPointerLeave:S,onColumnHeaderPointerDown:C,onColumnHeaderPointerEnter:w,onColumnHeaderPointerLeave:E,onColumnResizePointerDown:D,enableColumnMenu:O,openedMenuColumnKey:k,onColumnMenuButtonPointerDown:A,onColumnHeaderContextMenu:j,onColumnDragHandlePointerDown:M}){return(0,n.jsxs)(`div`,{"data-pane":e,className:i(`ssg-header-row`,s),style:{height:a},children:[t&&(0,n.jsx)(`div`,{onPointerDown:b,onPointerEnter:x,onPointerLeave:S,className:i(`ssg-header-cell`,`ssg-corner-cell`,d&&`ssg-header-cell--selected`,u&&`ssg-header-cell--hovered`,l),style:{...o,height:a,cursor:f>0&&p>0?`pointer`:`default`},children:`#`}),m.map(e=>{if(!e)return null;let t=e.logicalIndex,o=e.column,s=r+e.paneLocalStart,l=e.paneLocalSize,u=T(_[o.key]),f=g.kind===`col`&&t>=g.startCol&&t<=g.endCol,p=v.findIndex(e=>e.columnKey===o.key),m=p===-1?null:v[p],b=k===o.key,x=O;return(0,n.jsxs)(`div`,{"data-ssg-col-key":o.key,onPointerDown:e=>C(t,e),onPointerEnter:e=>w(t,e),onPointerLeave:()=>E(t),onContextMenu:e=>j(o,e),className:i(`ssg-header-cell`,(d||f)&&`ssg-header-cell--selected`,h===t&&`ssg-header-cell--hovered`,c),style:{left:s,width:l,minWidth:l,height:a},children:[(0,n.jsx)(`div`,{className:i(`ssg-header-label`,u&&`ssg-header-label--filtered`),title:o.renderHeader?void 0:o.title||o.key,children:o.renderHeader?o.renderHeader({colIndex:t,width:l,column:o,filterValue:_[o.key],isFiltered:u}):o.title||o.key}),(0,n.jsxs)(`div`,{className:`ssg-header-status`,children:[m&&(0,n.jsxs)(`span`,{"aria-hidden":`true`,title:(m.direction===`asc`?`昇順で並び替え中`:`降順で並び替え中`)+(v.length>1?` (優先度 ${p+1})`:``),className:`ssg-header-sort`,children:[m.direction===`asc`?`↑`:`↓`,v.length>1&&(0,n.jsx)(`span`,{className:`ssg-header-sort-priority`,children:p+1})]}),u&&(0,n.jsx)(`span`,{"aria-hidden":`true`,title:`フィルター適用中`,className:`ssg-header-filtered-mark`,children:(0,n.jsx)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`,focusable:`false`,children:(0,n.jsx)(`path`,{d:`M2 4 L14 4 L9.2 9.2 L9.2 13 L6.8 13 L6.8 9.2 Z`})})})]}),(0,n.jsxs)(`div`,{className:`ssg-header-actions`,children:[M&&(0,n.jsx)(`span`,{onPointerDown:e=>M(o,e),title:`ドラッグで列を移動`,"aria-hidden":`true`,className:`ssg-header-grip`,children:(0,n.jsxs)(`svg`,{width:`8`,height:`14`,viewBox:`0 0 8 14`,fill:`currentColor`,"aria-hidden":`true`,focusable:`false`,children:[(0,n.jsx)(`circle`,{cx:`2`,cy:`3`,r:`1`}),(0,n.jsx)(`circle`,{cx:`6`,cy:`3`,r:`1`}),(0,n.jsx)(`circle`,{cx:`2`,cy:`7`,r:`1`}),(0,n.jsx)(`circle`,{cx:`6`,cy:`7`,r:`1`}),(0,n.jsx)(`circle`,{cx:`2`,cy:`11`,r:`1`}),(0,n.jsx)(`circle`,{cx:`6`,cy:`11`,r:`1`})]})}),x&&(0,n.jsx)(mn,{title:`列メニュー`,isActive:b,className:y,onPointerDown:e=>A(o,e),children:`⋮`})]}),(0,n.jsx)(`div`,{onPointerDown:e=>D(o,e),className:`ssg-header-resize`})]},o.key)})]})}var gn=(0,e.memo)(hn),_n=200,vn=8,yn=6,bn=289,xn=({visibleColumns:t,enableColumnMenu:n,gridRootRef:r})=>{let[i,a]=(0,e.useState)(null),[o,s]=(0,e.useState)(null),c=(0,e.useRef)(null),l=(0,e.useRef)(null),u=(0,e.useRef)(null),d=(0,e.useRef)(i);d.current=i;let f=i!==null,p=i?.columnKey??null,m=(0,e.useMemo)(()=>p?t.find(e=>e.key===p)??null:null,[p,t]),h=(0,e.useCallback)(()=>{if(!p){s(null);return}let e,t,n,r=l.current,i=u.current;if(r){if(!r.isConnected){s(null),a(null),l.current=null;return}let i=r.getBoundingClientRect();t=i.right-_n,e=i.bottom+yn,n=i.top-bn-yn}else if(i)t=i.x,e=i.y,n=i.y-bn;else{s(null);return}t=Math.max(vn,t),t=Math.min(t,window.innerWidth-_n-vn),e+bn>window.innerHeight-vn&&(e=n),e=Math.max(vn,e),s(n=>n&&n.top===e&&n.left===t&&n.width===_n?n:{top:e,left:t,width:_n})},[p]),g=(0,e.useCallback)(()=>{a(null),s(null),l.current=null,u.current=null,requestAnimationFrame(()=>{r.current?.focus()})},[r]),_=(0,e.useCallback)((e,t)=>{if(t.preventDefault(),t.stopPropagation(),!n||t.button!==0)return;let i=t.currentTarget;if(d.current?.columnKey===e.key&&l.current===i){g();return}document.activeElement instanceof HTMLElement&&document.activeElement.blur(),r.current?.blur(),l.current=i,u.current=null,a({columnKey:e.key})},[g,n,r]),v=(0,e.useCallback)((e,t)=>{n&&(t.preventDefault(),t.stopPropagation(),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),r.current?.blur(),l.current=null,u.current={x:t.clientX,y:t.clientY},a({columnKey:e.key}),h())},[n,r,h]);return(0,e.useEffect)(()=>{if(!p)return;h();let e=()=>{h()},t=()=>{if(u.current){g();return}h()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,t,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,t,!0)}},[p,h,g]),(0,e.useEffect)(()=>{if(!f)return;let e=e=>{let t=e.target;t&&(c.current?.contains(t)||l.current?.contains(t)||g())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[g,f]),(0,e.useEffect)(()=>{if(!f)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),g())};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[g,f]),{columnMenuLayout:o,columnMenuRef:c,isColumnMenuOpen:f,openedMenuColumnKey:p,openedMenuColumn:m,openColumnMenuFromButton:_,openColumnMenuFromContextMenu:v,closeColumnMenu:g}},Sn=[{value:void 0,label:`固定しない`},{value:`left`,label:`左に固定`},{value:`right`,label:`右に固定`}],Cn=180,wn=4,Tn=8,En=`pin`;function Dn({isOpen:t,title:a,columnKey:o,canFilter:s,onOpenFilter:c,canSort:l,sortDirection:u,onSortChange:d,onOpenSortManager:f,pinned:p,canChangePinned:m,layout:h,popoverRef:g,onPinnedChange:_,onAutosizeColumn:v,onAutosizeAllColumns:y,onOpenColumnChooser:b,canResetColumns:x,onResetColumns:S,onRequestClose:C}){let[w,T]=(0,e.useState)(null);if((0,e.useEffect)(()=>{T(null)},[o,t]),!t||!h)return null;let E=w===En,D=h.left+h.width+wn+Cn>window.innerWidth-Tn,O={position:`fixed`,top:h.top,left:h.left,width:h.width,zIndex:1e3},k={position:`absolute`,top:-9,...D?{right:`calc(100% + ${wn}px)`}:{left:`calc(100% + ${wn}px)`},width:Cn,zIndex:1};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:g,onPointerDown:e=>{e.stopPropagation()},onKeyDownCapture:e=>{e.stopPropagation()},onContextMenu:e=>{e.preventDefault()},className:`ssg-menu-panel`,style:O,children:[(0,n.jsx)(`div`,{className:`ssg-menu-title`,children:a}),s&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{c()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`フィルター…`})]}),(0,n.jsx)(`div`,{className:`ssg-menu-separator`})]}),l&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{d(`asc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,u===`asc`&&`ssg-menu-sort-icon--active`),children:u===`asc`?`✓`:`↑`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,u===`asc`&&`ssg-menu-label--sorted`),children:`昇順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{d(`desc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,u===`desc`&&`ssg-menu-sort-icon--active`),children:u===`desc`?`✓`:`↓`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,u===`desc`&&`ssg-menu-label--sorted`),children:`降順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{f()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`並び替えを管理…`})]}),(0,n.jsx)(`div`,{className:`ssg-menu-separator`})]}),(0,n.jsxs)(`div`,{className:`ssg-menu-submenu-anchor`,children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(En)},onClick:()=>{T(e=>e===En?null:En)},className:i(`ssg-menu-item`,E&&`ssg-menu-item--active`),children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`列の固定`}),(0,n.jsx)(`span`,{className:`ssg-menu-caret`,children:`›`})]}),E&&(0,n.jsxs)(`div`,{className:`ssg-menu-panel`,style:k,children:[Sn.map(e=>{let t=p===e.value;return(0,n.jsxs)(`button`,{type:`button`,disabled:!m,onClick:()=>{m&&_(o,e.value)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-check`,!t&&`ssg-menu-check--hidden`),children:`✓`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:e.label})]},e.label)}),!m&&(0,n.jsx)(`div`,{className:`ssg-menu-note`,children:`onColumnsChange 未指定のため固定状態を変更できません`})]})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{v(o)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`この列の幅を自動調整`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{y()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`すべての列の幅を自動調整`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{T(null)},onClick:()=>{b()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`列の表示`})]}),(0,n.jsxs)(`button`,{type:`button`,"aria-disabled":!x,tabIndex:x?0:-1,title:x?`すべての列の幅・固定・表示を初期状態に戻します`:`onColumnsChange 未指定のため列をリセットできません`,onPointerEnter:()=>{T(null)},onClick:()=>{x&&S()},className:i(`ssg-menu-item`,!x&&`ssg-menu-item--disabled`),children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`列のリセット`})]}),(0,n.jsx)(`div`,{className:`ssg-menu-footer`,children:(0,n.jsx)(`button`,{type:`button`,onClick:C,className:`ssg-menu-close-btn`,children:`閉じる`})})]}),document.body)}var On=280,kn=8,An=12,jn=({enableColumnMenu:t,gridRootRef:n})=>{let[r,i]=(0,e.useState)(!1),[a,o]=(0,e.useState)(null),s=(0,e.useRef)(null),c=(0,e.useCallback)(()=>{let e=n.current;if(!e){o(null);return}let t=e.getBoundingClientRect(),r=t.right-On-An,i=t.top+An;r=Math.max(kn,r),r=Math.min(r,window.innerWidth-On-kn),i=Math.max(kn,i),o(e=>e&&e.top===i&&e.left===r&&e.width===On?e:{top:i,left:r,width:On})},[n]),l=(0,e.useCallback)(()=>{t&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),n.current?.blur(),i(!0))},[t,n]),u=(0,e.useCallback)(()=>{i(!1),o(null),requestAnimationFrame(()=>{n.current?.focus()})},[n]);return(0,e.useEffect)(()=>{if(!r)return;c();let e=()=>{c()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[r,c]),(0,e.useEffect)(()=>{if(!r)return;let e=e=>{let t=e.target;t&&(s.current?.contains(t)||u())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[u,r]),(0,e.useEffect)(()=>{if(!r)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),u())};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[u,r]),{isColumnChooserOpen:r,columnChooserLayout:a,columnChooserRef:s,openColumnChooser:l,closeColumnChooser:u}},Mn=28,Nn=12,Pn=[`left`,`center`,`right`],Fn={left:`左固定`,center:`固定なし`,right:`右固定`};function In(e,t,n){let r=e.find(e=>e.key===t);if(!r)return null;let i=r.pane,a={left:[],center:[],right:[]};for(let t of e)a[t.pane].push(t.key);let o=a[i],s=o.indexOf(t);if(s<0)return null;let c=n;if(c>s&&--c,c=Math.max(0,Math.min(c,o.length-1)),c===s)return null;let[l]=o.splice(s,1);return o.splice(c,0,l),[...a.left,...a.center,...a.right]}function Ln({state:e,disabled:t}){return(0,n.jsxs)(`span`,{className:i(`ssg-checkbox`,(e===`checked`||e===`indeterminate`)&&`ssg-checkbox--filled`,t&&`ssg-checkbox--disabled`),"aria-hidden":!0,children:[e===`checked`&&(0,n.jsx)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 12 12`,fill:`none`,children:(0,n.jsx)(`path`,{d:`M2.5 6.2 4.7 8.4 9.5 3.6`,stroke:`#ffffff`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`})}),e===`indeterminate`&&(0,n.jsx)(`span`,{className:`ssg-checkbox-dash`})]})}function Rn({disabled:e}){return(0,n.jsx)(`svg`,{width:`10`,height:`16`,viewBox:`0 0 10 16`,fill:e?`#cbd5e1`:`#94a3b8`,"aria-hidden":!0,children:[3,8,13].map(e=>[3,7].map(t=>(0,n.jsx)(`circle`,{cx:t,cy:e,r:`1.2`},`${t}-${e}`)))})}function zn({isOpen:t,items:a,canToggle:o,layout:s,panelRef:c,onToggleColumnVisibility:l,onShowAllColumns:u,onResetColumns:d,onReorderColumns:f,onRequestClose:p}){let[m,h]=(0,e.useState)(``),g=(0,e.useRef)(null);(0,e.useEffect)(()=>{if(t){h(``);let e=requestAnimationFrame(()=>{g.current?.focus()});return()=>cancelAnimationFrame(e)}},[t]);let _=(0,e.useMemo)(()=>a.filter(e=>e.visible).length,[a]),v=_===a.length&&a.length>0,y=v?`checked`:`indeterminate`,b=(0,e.useMemo)(()=>{let e=m.trim().toLowerCase();return e?a.filter(t=>t.title.toLowerCase().includes(e)):a},[a,m]),x=(0,e.useMemo)(()=>{let e={left:[],center:[],right:[]};for(let t of b)e[t.pane].push(t);return Pn.map(t=>({pane:t,items:e[t]})).filter(e=>e.items.length>0)},[b]),S=x.length>=2,C=o&&m.trim()===``,w=(0,e.useRef)(null),[T,E]=(0,e.useState)(null),D=(0,e.useRef)(!1),O=(0,e.useRef)(null),[k,A]=(0,e.useState)(null),j=(0,e.useRef)(0),M=(0,e.useRef)(null),N=(0,e.useCallback)(()=>{let e=w.current,t=O.current;if(!e||!t)return;let n=e.querySelectorAll(`[data-chooser-row][data-chooser-pane="${t}"]`),r=j.current,i=n.length;for(let e=0;e<n.length;e+=1){let t=n[e].getBoundingClientRect();if(r<t.top+t.height/2){i=e;break}}A(i)},[]),P=(0,e.useCallback)(()=>{let e=w.current;if(!e||!D.current){M.current=null;return}let t=e.getBoundingClientRect(),n=j.current,r=0;if(n<t.top+Mn?r=-12:n>t.bottom-Mn&&(r=Nn),r!==0){let t=e.scrollTop;e.scrollTop+=r,e.scrollTop!==t&&N()}M.current=requestAnimationFrame(P)},[N]),F=(0,e.useCallback)(e=>{M.current!==null&&(cancelAnimationFrame(M.current),M.current=null);let t=T,n=k;if(D.current=!1,O.current=null,E(null),A(null),e&&t!==null&&n!==null){let e=In(a,t,n);e&&f(e)}},[T,k,a,f]),I=(0,e.useCallback)((e,t,n)=>{C&&(n.preventDefault(),n.stopPropagation(),n.currentTarget.setPointerCapture(n.pointerId),D.current=!0,O.current=t,j.current=n.clientY,E(e),N(),M.current===null&&(M.current=requestAnimationFrame(P)))},[C,N,P]),L=(0,e.useCallback)(e=>{D.current&&(j.current=e.clientY,N())},[N]),ee=(0,e.useCallback)(()=>{D.current&&F(!0)},[F]),R=(0,e.useCallback)(()=>{D.current&&F(!1)},[F]);if((0,e.useEffect)(()=>{t||(D.current=!1,O.current=null,E(null),A(null),M.current!==null&&(cancelAnimationFrame(M.current),M.current=null))},[t]),(0,e.useEffect)(()=>()=>{M.current!==null&&(cancelAnimationFrame(M.current),M.current=null)},[]),!t||!s)return null;let te={top:s.top,left:s.left,width:s.width},ne=e=>{e.stopPropagation()},re=e=>{e.stopPropagation()},ie=()=>{o&&(v||u())},ae=T===null?null:a.find(e=>e.key===T)?.pane??null,oe=(e,t,r)=>{let a=e.visible&&_===1,s=!o||a,c=T===e.key;return(0,n.jsxs)(`div`,{"data-chooser-row":``,"data-chooser-pane":r,className:i(`ssg-chooser-row`,T!==null&&ae===r&&k===t&&`ssg-chooser-row--drop-before`,c&&`ssg-chooser-row--dragging`),children:[(0,n.jsx)(`span`,{role:`button`,"aria-label":`ドラッグして並べ替え`,title:o?m.trim()===``?`ドラッグして並べ替え(同じセクション内のみ)`:`検索中は並べ替えできません`:`onColumnsChange 未指定のため並べ替えできません`,onPointerDown:t=>I(e.key,r,t),onPointerMove:L,onPointerUp:ee,onPointerCancel:R,className:i(`ssg-chooser-handle`,!C&&`ssg-chooser-handle--disabled`,c&&`ssg-chooser-handle--dragging`),children:(0,n.jsx)(Rn,{disabled:!C})}),(0,n.jsxs)(`button`,{type:`button`,disabled:s,onClick:()=>{s||l(e.key,!e.visible)},className:`ssg-chooser-toggle`,children:[(0,n.jsx)(Ln,{state:e.visible?`checked`:`unchecked`,disabled:s}),(0,n.jsx)(`span`,{className:i(`ssg-chooser-label`,s&&!e.visible&&`ssg-chooser-label--muted`),children:e.title})]})]},e.key)};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:c,onPointerDown:ne,onKeyDownCapture:re,onContextMenu:e=>{e.preventDefault()},className:`ssg-popover ssg-chooser-panel`,style:te,children:[(0,n.jsxs)(`div`,{className:`ssg-popover-header`,children:[(0,n.jsx)(`span`,{className:`ssg-popover-title`,children:`列の表示`}),(0,n.jsx)(`button`,{type:`button`,onClick:p,"aria-label":`閉じる`,className:`ssg-popover-close`,children:`×`})]}),(0,n.jsxs)(`div`,{className:`ssg-chooser-search-row`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!o,onClick:ie,"aria-label":`すべての列を表示`,title:`すべての列を表示`,className:`ssg-chooser-master-btn`,children:(0,n.jsx)(Ln,{state:y,disabled:!o})}),(0,n.jsxs)(`div`,{className:`ssg-chooser-search-field`,children:[(0,n.jsx)(`span`,{"aria-hidden":!0,className:`ssg-chooser-search-icon`,children:`⌕`}),(0,n.jsx)(`input`,{ref:g,type:`text`,value:m,onChange:e=>h(e.target.value),placeholder:`検索...`,className:`ssg-chooser-search-input`})]})]}),(0,n.jsx)(`div`,{ref:w,className:`ssg-chooser-list`,children:b.length===0?(0,n.jsx)(`div`,{className:`ssg-chooser-empty`,children:`該当する列がありません`}):x.map(e=>(0,n.jsxs)(`div`,{"data-chooser-section":e.pane,children:[S&&(0,n.jsx)(`div`,{className:`ssg-chooser-section-heading`,children:Fn[e.pane]}),e.items.map((t,n)=>oe(t,n,e.pane)),T!==null&&ae===e.pane&&k===e.items.length&&(0,n.jsx)(`div`,{className:`ssg-chooser-drop-end`})]},e.pane))}),(0,n.jsxs)(`div`,{className:`ssg-chooser-footer`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!o,onClick:()=>{o&&d()},title:`すべての列の幅・固定・表示を初期状態に戻します`,className:`ssg-chooser-reset-btn`,children:`すべての列を初期状態に戻す`}),!o&&(0,n.jsx)(`div`,{className:`ssg-chooser-note`,children:`onColumnsChange 未指定のため表示/非表示・リセットを変更できません`})]})]}),document.body)}var Bn=320,Vn=8,Hn=12,Un=({enableSorting:t,gridRootRef:n})=>{let[r,i]=(0,e.useState)(!1),[a,o]=(0,e.useState)(null),s=(0,e.useRef)(null),c=(0,e.useCallback)(()=>{let e=n.current;if(!e){o(null);return}let t=e.getBoundingClientRect(),r=t.right-Bn-Hn,i=t.top+Hn;r=Math.max(Vn,r),r=Math.min(r,window.innerWidth-Bn-Vn),i=Math.max(Vn,i),o(e=>e&&e.top===i&&e.left===r&&e.width===Bn?e:{top:i,left:r,width:Bn})},[n]),l=(0,e.useCallback)(()=>{t&&(document.activeElement instanceof HTMLElement&&document.activeElement.blur(),n.current?.blur(),i(!0))},[t,n]),u=(0,e.useCallback)(()=>{i(!1),o(null),requestAnimationFrame(()=>{n.current?.focus()})},[n]);return(0,e.useEffect)(()=>{if(!r)return;c();let e=()=>{c()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[r,c]),(0,e.useEffect)(()=>{if(!r)return;let e=e=>{let t=e.target;t&&(s.current?.contains(t)||u())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[u,r]),(0,e.useEffect)(()=>{if(!r)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),u())};return window.addEventListener(`keydown`,e),()=>{window.removeEventListener(`keydown`,e)}},[u,r]),{isSortManagerOpen:r,sortManagerLayout:a,sortManagerRef:s,openSortManager:l,closeSortManager:u}};function Wn({disabled:e}){return(0,n.jsx)(`svg`,{width:`10`,height:`16`,viewBox:`0 0 10 16`,fill:e?`#cbd5e1`:`#94a3b8`,"aria-hidden":!0,children:[3,8,13].map(e=>[3,7].map(t=>(0,n.jsx)(`circle`,{cx:t,cy:e,r:`1.2`},`${t}-${e}`)))})}function Gn({isOpen:t,entries:a,columns:o,canSort:s,layout:c,panelRef:l,onAddLevel:u,onChangeDirection:d,onChangeColumn:f,onRemoveLevel:p,onClearAll:m,onMove:h,onRequestClose:g}){let _=(0,e.useMemo)(()=>new Set(a.map(e=>e.columnKey)),[a]),v=(0,e.useMemo)(()=>o.find(e=>!_.has(e.key))??null,[o,_]),y=e=>o.find(t=>t.key===e)?.title??e,b=s&&a.length>=2,x=(0,e.useRef)(null),[S,C]=(0,e.useState)(null),w=(0,e.useRef)(!1),[T,E]=(0,e.useState)(null),D=(0,e.useRef)(0),O=(0,e.useCallback)(()=>{let e=x.current;if(!e)return;let t=e.querySelectorAll(`[data-sort-level]`),n=D.current,r=t.length;for(let e=0;e<t.length;e+=1){let i=t[e].getBoundingClientRect();if(n<i.top+i.height/2){r=e;break}}E(r)},[]),k=(0,e.useCallback)(e=>{let t=S,n=T;if(w.current=!1,C(null),E(null),e&&t!==null&&n!==null){let e=n;e>t&&--e,h(t,e)}},[S,T,h]),A=(0,e.useCallback)((e,t)=>{b&&(t.preventDefault(),t.stopPropagation(),t.currentTarget.setPointerCapture(t.pointerId),w.current=!0,D.current=t.clientY,C(e),O())},[b,O]),j=(0,e.useCallback)(e=>{w.current&&(D.current=e.clientY,O())},[O]),M=(0,e.useCallback)(()=>{w.current&&k(!0)},[k]),N=(0,e.useCallback)(()=>{w.current&&k(!1)},[k]);if((0,e.useEffect)(()=>{t||(w.current=!1,C(null),E(null))},[t]),!t||!c)return null;let P={top:c.top,left:c.left,width:c.width},F=e=>{e.stopPropagation()},I=e=>{e.stopPropagation()},L=s&&v!==null;return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:l,onPointerDown:F,onKeyDownCapture:I,onContextMenu:e=>{e.preventDefault()},className:`ssg-popover ssg-sort-panel`,style:P,children:[(0,n.jsxs)(`div`,{className:`ssg-popover-header`,children:[(0,n.jsx)(`span`,{className:`ssg-popover-title`,children:`並び替え`}),(0,n.jsx)(`button`,{type:`button`,onClick:g,"aria-label":`閉じる`,className:`ssg-popover-close`,children:`×`})]}),(0,n.jsxs)(`div`,{ref:x,className:`ssg-sort-list`,children:[a.length===0?(0,n.jsx)(`div`,{className:`ssg-sort-empty`,children:`並び替えは設定されていません`}):a.map((e,t)=>{let r=o.filter(t=>t.key===e.columnKey||!_.has(t.key)),c=r.some(t=>t.key===e.columnKey)?r:[{key:e.columnKey,title:y(e.columnKey)},...r],l=S===t;return(0,n.jsxs)(`div`,{"data-sort-level":``,className:i(`ssg-sort-level`,S!==null&&T===t&&`ssg-sort-level--drop-before`,l&&`ssg-sort-level--dragging`),children:[(0,n.jsx)(`span`,{role:`button`,"aria-label":`ドラッグして優先順位を変更`,title:s?a.length<2?`レベルが 2 件以上のとき並べ替えできます`:`ドラッグして優先順位を変更`:`並び替えが無効です`,onPointerDown:e=>A(t,e),onPointerMove:j,onPointerUp:M,onPointerCancel:N,className:i(`ssg-sort-handle`,!b&&`ssg-sort-handle--disabled`,l&&`ssg-sort-handle--dragging`),children:(0,n.jsx)(Wn,{disabled:!b})}),(0,n.jsx)(`span`,{"aria-hidden":!0,className:`ssg-sort-badge`,children:t+1}),(0,n.jsx)(`select`,{value:e.columnKey,disabled:!s,onChange:e=>f(t,e.target.value),className:`ssg-sort-select`,children:c.map(e=>(0,n.jsx)(`option`,{value:e.key,children:e.title},e.key))}),(0,n.jsxs)(`div`,{className:`ssg-sort-dir-group`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!s,onClick:()=>d(t,`asc`),title:`昇順`,className:i(`ssg-sort-dir-btn`,e.direction===`asc`&&`ssg-sort-dir-btn--active`),children:`↑ 昇順`}),(0,n.jsx)(`button`,{type:`button`,disabled:!s,onClick:()=>d(t,`desc`),title:`降順`,className:i(`ssg-sort-dir-btn`,e.direction===`desc`&&`ssg-sort-dir-btn--active`),children:`↓ 降順`})]}),(0,n.jsx)(`button`,{type:`button`,disabled:!s,onClick:()=>p(t),"aria-label":`このレベルを削除`,title:`このレベルを削除`,className:`ssg-sort-delete`,children:`×`})]},e.columnKey)}),S!==null&&T===a.length&&(0,n.jsx)(`div`,{className:`ssg-sort-drop-end`})]}),(0,n.jsxs)(`div`,{className:`ssg-popover-footer`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!L,onClick:()=>{!L||!v||u(v.key,`asc`)},title:s?v===null?`すべての列が並び替えに使われています`:`並び替えの基準を追加します`:`並び替えが無効です`,className:`ssg-sort-footer-btn ssg-sort-footer-btn--add`,children:`+ 基準を追加`}),(0,n.jsx)(`button`,{type:`button`,disabled:!s||a.length===0,onClick:()=>{!s||a.length===0||m()},title:`すべての並び替えを解除します`,className:`ssg-sort-footer-btn ssg-sort-footer-btn--clear`,children:`すべてクリア`})]}),!s&&(0,n.jsx)(`div`,{className:`ssg-sort-note`,children:`並び替えが無効のため編集できません`})]}),document.body)}var Kn=(e,t)=>{let n=new Set(e);return n.add(t),n},qn=(e,t)=>{let n=new Set(e);return n.delete(t),n},Jn=(e,t)=>{let n=new Set(e);for(let e of t)n.add(e);return n},Yn=(e,t)=>{let n=new Set(e);for(let e of t)n.delete(e);return n},Xn=[],Zn={},Qn={},$n=[],er=300;function tr({rows:r=Xn,dataSource:o,serverSideRefreshToken:s,columns:c,onRowsChange:l,onColumnsChange:h,rowKeyGetter:T,createRow:E,createOverflowColumn:A,rowHeight:N=36,autoHeight:P=!1,estimateRowHeight:F,headerHeight:I=40,rowHeaderWidth:L=56,height:R,maxHeight:ae,readOnly:se=!1,canEditCell:ce,enableRangeSelection:ue=!0,enableGlobalFilter:de=!0,enableColumnFilter:fe=!0,enableSorting:z=!0,enableRowHover:pe=!0,enableColumnHeaderHover:_e=!0,enableColumnMenu:ve=!0,noMatchingRowsText:ye=`一致する行がありません`,noRowsText:xe=`表示する行がありません`,showTopBar:Ce=!0,showBottomBar:we=!0,showTopBarSummary:Te=!0,showTopBarFilter:Ee=!0,showTopBarCounts:De=!0,showBottomBarCounts:Oe=!0,renderTopBar:ke,renderBottomBar:Ae,className:je,classNames:B,getRowClassName:Me}){let Ne=(0,e.useRef)(null),Ie=(0,e.useRef)(null),Le=(0,e.useRef)(null),ze=(0,e.useRef)(null),Be=(0,e.useRef)(!1),Xe=(0,e.useRef)(null),$e=(0,e.useRef)(null),et=(0,e.useRef)(null),[tt,ot]=(0,e.useState)(``),[st,ct]=(0,e.useState)(!1),[lt,ut]=(0,e.useState)(null),[dt,ft]=(0,e.useState)(null),V=(0,e.useMemo)(()=>c.filter(e=>e.visible!==!1),[c]),H=(0,e.useMemo)(()=>re(V),[V]),pt=(0,e.useMemo)(()=>T??((e,t)=>t),[T]),U=o!=null,vt=z,bt=fe,xt=de,[W,G]=(0,e.useReducer)(d,V,u),St=(0,e.useRef)(W.columnWidths);St.current=W.columnWidths;let Ct=(0,e.useRef)(null);Ct.current===null&&(Ct.current=new Map(c.map(e=>[e.key,{width:e.width,pinned:e.pinned,visible:e.visible}])));let wt=(0,e.useMemo)(()=>g(W.selection),[W.selection]),K=(0,e.useMemo)(()=>ie(H),[H]),Tt=oe(K.left,W.columnWidths),Et=oe(K.center,W.columnWidths),Dt=oe(K.right,W.columnWidths),Ot=(0,e.useMemo)(()=>le(`left`,K.left,Tt),[K.left,Tt]),kt=(0,e.useMemo)(()=>le(`center`,K.center,Et),[K.center,Et]),At=(0,e.useMemo)(()=>le(`right`,K.right,Dt),[K.right,Dt]),q=(0,e.useMemo)(()=>({left:Ot,center:kt,right:At}),[Ot,kt,At]),jt=q.left.entries.length>0,Mt=q.right.entries.length>0,Nt=!jt,Pt=L,Ft=Nt?L:0,It=jt?Pt+q.left.totalWidth:0,Rt=q.right.totalWidth,zt=Ft+q.center.totalWidth,Bt=It+zt+Rt,{filterPopoverState:J,filterPopoverLayout:Vt,filterPopoverRef:Ht,filterTextInputRef:Ut,filterSelectRef:Wt,isFilterPopoverOpen:Gt,openedFilterColumn:Y,openColumnFilterPopover:qt,closeColumnFilterPopover:Jt,updateFilterPopoverDraft:Yt}=ee({visibleColumns:V,columnFilterValues:W.filters.columnFilters,enableColumnFilter:bt,gridRootRef:Ne}),{columnMenuLayout:Xt,columnMenuRef:Zt,isColumnMenuOpen:Qt,openedMenuColumnKey:rn,openedMenuColumn:an,openColumnMenuFromButton:ln,openColumnMenuFromContextMenu:un,closeColumnMenu:X}=xn({visibleColumns:V,enableColumnMenu:ve,gridRootRef:Ne}),{isColumnChooserOpen:dn,columnChooserLayout:fn,columnChooserRef:mn,openColumnChooser:hn,closeColumnChooser:_n}=jn({enableColumnMenu:ve,gridRootRef:Ne}),{isSortManagerOpen:vn,sortManagerLayout:yn,sortManagerRef:bn,openSortManager:Sn,closeSortManager:Cn}=Un({enableSorting:vt,gridRootRef:Ne});(0,e.useEffect)(()=>{let e=V.reduce((e,t)=>(e[t.key]=t.width,e),{});G(a.syncColumnWidths(e))},[V]);let wn=W.filters.globalText,Tn=(0,e.useDeferredValue)(wn),En=W.filters.columnFilters,On=(0,e.useDeferredValue)(En),kn=(0,e.useMemo)(()=>C(r.length),[r.length]),An=(0,e.useMemo)(()=>j(r,kn,V,Tn),[r,kn,V,Tn]),Mn=(0,e.useMemo)(()=>{let e=[];for(let t of V)D(On[t.key])&&e.push(t.key);return e.join(`\0`)},[V,On]),Nn=(0,e.useMemo)(()=>{let e=new Map;if(Mn.length===0)return e;let t=new Set(Mn.split(`\0`)),n=r.length;for(let i of V){if(!t.has(i.key))continue;let a=new Float64Array(n);for(let e=0;e<n;e+=1)a[e]=Number(x(r[e],i));e.set(i.key,a)}return e},[r,V,Mn]),Pn=(0,e.useMemo)(()=>M(r,An,V,On,Nn),[r,An,V,On,Nn]),Fn=(0,e.useMemo)(()=>qe(r,Pn,V,W.sort),[r,Pn,V,W.sort]),In=(0,e.useMemo)(()=>({getRowCount:()=>Fn.length,getRow:e=>r[Fn[e]],getSourceIndex:e=>Fn[e],getRowKey:e=>pt(r[Fn[e]],Fn[e])}),[Fn,r,pt]),Ln=(0,e.useMemo)(()=>U?en({globalText:xt?wn:``,columnFilters:bt?En:Qn,sort:vt?W.sort:$n}):Zn,[U,xt,wn,bt,En,vt,W.sort]),Rn=(0,e.useMemo)(()=>U?tn(Ln):``,[U,Ln]),[Bn,Vn]=(0,e.useState)(Ln),[Hn,Wn]=(0,e.useState)(Rn);(0,e.useEffect)(()=>{if(!U)return;let e=setTimeout(()=>{Vn(Ln),Wn(Rn)},er);return()=>clearTimeout(e)},[U,Rn,Ln]);let tr=$t({dataSource:o,rowKeyGetter:pt,query:Bn,queryKey:Hn,refreshToken:s}),nr=tr.requestRange,Z=U?tr.rowModel:In,rr=(0,e.useRef)(Z);rr.current=Z;let{isAutosizing:ir,runAutosize:ar}=Lt({rowModelRef:rr,gridRootRef:Ne,columnWidthsRef:St,dispatch:G}),Q=Z.getRowCount(),or=(0,e.useMemo)(()=>{let e=null;return()=>e??=Array.from(Fn,e=>r[e])},[Fn,r]),sr=(0,e.useMemo)(()=>te(V,W.columnWidths),[V,W.columnWidths]),[cr,lr]=(0,e.useState)(0),[ur,dr]=(0,e.useState)(0);(0,e.useEffect)(()=>{let e=Xe.current;if(!e)return;lr(e.scrollTop),dr(e.clientHeight);let t=()=>lr(e.scrollTop);e.addEventListener(`scroll`,t,{passive:!0});let n=new ResizeObserver(()=>dr(e.clientHeight));return n.observe(e),()=>{e.removeEventListener(`scroll`,t),n.disconnect()}},[]);let fr=q.center.entries,pr=(0,t.useVirtualizer)({horizontal:!0,count:fr.length,getScrollElement:()=>Xe.current,estimateSize:e=>fr[e]?.paneLocalSize??fr[e]?.column.width??120,overscan:8,useFlushSync:!1,scrollMargin:It}),mr=pr.getVirtualItems(),hr=F??N,gr=(0,e.useMemo)(()=>V.some(e=>e.autoHeight===!0),[V]),_r=!U&&Ye(P,gr,Q,5e4);(0,e.useEffect)(()=>{},[P,gr,Q,U]);let vr=(0,e.useRef)(new Map),[yr,br]=(0,e.useState)(0),[xr,Sr]=(0,e.useState)(0),Cr=(0,e.useRef)(null),wr=(0,e.useRef)(new Set),Tr=(0,e.useMemo)(()=>_r?gt(Q,hr,Z.getRowKey,vr.current):null,[_r,Q,hr,Z]),$=(0,e.useMemo)(()=>_r&&Tr?yt(Tr):Ze(Q,N),[_r,Tr,yr,Q,N]),Er=(0,e.useMemo)(()=>_r?rt({headerHeight:I,viewportHeight:ur,scrollTop:cr,overscan:20},$):nt({rowCount:Q,rowHeight:N,headerHeight:I,viewportHeight:ur,scrollTop:cr,overscan:20,maxBodyPx:Je}),[_r,$,Q,N,I,ur,cr]),Dr=Er.rows,Or=Er.rowIndexSet,kr=Dr.length>0?Dr[0].index:0,Ar=Dr.length>0?Dr[Dr.length-1].index:-1;(0,e.useEffect)(()=>{if(!U)return;let e=Xe.current;e&&(e.scrollTop=0),lr(0)},[U,Hn]),(0,e.useEffect)(()=>{U&&(Ar<kr||nr(kr,Ar+1))},[U,kr,Ar,nr,Hn]);let jr=Er.physicalBodyHeight,Mr=Er.translateY===0?void 0:`translateY(${Er.translateY}px)`,Nr=Er.scaleFactor,Pr=Er.windowBaseOffsetPx;(0,e.useLayoutEffect)(()=>{if(!_r||!Tr){Cr.current?.disconnect(),Cr.current=null,wr.current.clear();return}let e=Xe.current;if(!e)return;let t=e.querySelectorAll(`[data-autoheight-cell]`);if(t.length>0){let n=new Map;t.forEach(e=>{let t=e.closest(`[data-row-index]`);if(!t)return;let r=Number(t.dataset.rowIndex);if(!Number.isFinite(r))return;let i=Math.ceil(e.getBoundingClientRect().height),a=n.get(r);(a===void 0||i>a)&&n.set(r,i)});let r=!1,i=1/0;if(n.forEach((e,t)=>{_t(Tr,t,Z.getRowKey(t)??t,e)&&(r=!0,t<i&&(i=t))}),r){let t=e.scrollTop,n=$.rowAtContentY(t),r=t-$.rowTop(n);ht(Tr,i),e.scrollTop=Tr.prefix[n]+r,br(e=>e+1)}}let n=Cr.current??new ResizeObserver(()=>Sr(e=>e+1));Cr.current=n;let r=wr.current,i=new Set;t.forEach(e=>{i.add(e),r.has(e)||(n.observe(e),r.add(e))});let a=[];r.forEach(e=>{i.has(e)||a.push(e)}),a.forEach(e=>{n.unobserve(e),r.delete(e)})},[_r,Tr,$,Z,Dr,ur,yr,xr]),(0,e.useEffect)(()=>{let e=wr.current;return()=>{Cr.current?.disconnect(),Cr.current=null,e.clear()}},[]);let Fr=(0,e.useMemo)(()=>mr.map(e=>fr[e.index]).filter(e=>!!e),[mr,fr]),Ir=q.left.entries,Lr=q.right.entries,Rr=(0,e.useMemo)(()=>{if(!W.activeCell)return null;let{row:e,col:t}=W.activeCell;if(e<0||e>=Q)return null;let n=ge(q,t);return n?{pane:n.pane,rect:{left:n.extent.start,top:$.rowTop(e),width:n.extent.width,height:$.rowsHeight(e,e)}}:null},[W.activeCell,Q,q,$]),zr=(0,e.useMemo)(()=>Rr&&Rr.pane===`center`?Rr.rect:null,[Rr]),Br=(0,e.useCallback)(e=>Rr&&Rr.pane===e?Rr.rect:null,[Rr]),Vr=(0,e.useCallback)(e=>W.editingCell?Br(e):null,[W.editingCell,Br]);at({scrollRef:Xe,columnVirtualizer:pr,columnMeasurements:sr,totalScrollWidth:Bt,physicalBodyHeight:jr,headerHeight:I,leftPaneWidth:It,rightPaneWidth:Rt,centerLeadingWidth:Ft,activeCellRect:zr,verticalScaleFactor:Nr});let{updateSelectionFromPointer:Hr,handleCellPointerDown:Ur,handleCellPointerEnter:Wr,handleNativeDragStart:Gr,handleRowHeaderPointerDown:Kr,handleRowHeaderPointerEnter:qr,handleColumnHeaderPointerDown:Jr,handleColumnHeaderPointerEnter:Yr}=it({gridRootRef:Ne,bodyScrollRef:ze,scrollContainerRef:Xe,leftPaneScrollRef:$e,rightPaneScrollRef:et,pointerClientRef:Ie,autoScrollFrameRef:Le,uiState:W,dispatch:G,enableRangeSelection:ue,enableSorting:vt,orderedColumns:H,filteredRowsLength:Q,visibleColumnsLength:V.length,paneLayout:q,leftLeadingWidth:Pt,centerLeadingWidth:Ft,rightLeadingWidth:0,headerHeight:I,rowMetrics:$,verticalScaleFactor:Nr,setHoveredRowIndex:ut,setHoveredColumnIndex:ft,enableRowHover:pe,enableColumnHeaderHover:_e}),{isWholeGridSelected:Xr,handleCopy:Zr,handlePaste:Qr}=be({rows:r,rowModel:Z,visibleColumns:H,uiState:W,readOnly:se,canEditCell:ce,createRow:E,createOverflowColumn:A,onRowsChange:l,onColumnsChange:h,dispatch:G}),$r=(0,e.useCallback)(()=>{if(Q===0||V.length===0)return;let e={row:0,col:0},t={row:Q-1,col:V.length-1};G(a.startSelection(e)),G(a.updateSelection(t)),G(a.endSelection()),G(a.activateCell(e))},[G,Q,V.length]),{getMovedCell:ei,handleKeyDown:ti}=Re({uiState:W,rowModel:Z,visibleColumns:H,readOnly:se,canEditCell:ce,setEditorInitialValue:ot,dispatch:G,handleCopy:Zr,handleCellDoubleClick:(0,e.useCallback)(e=>{let t=Z.getRow(e.row),n=H[e.col];if(!t||!n||!b({readOnly:se,canEditCell:ce},e.row,e.col,t,n))return;let r=x(t,n);ot(String(r??``)),G(a.startEdit(e))},[ce,G,Z,se,H]),isWholeGridSelected:Xr,selectEntireGrid:$r}),{startEditWithValue:ni,commitEdit:ri,cancelEdit:ii}=Fe({uiState:W,rows:r,visibleColumns:H,rowModel:Z,setEditorInitialValue:ot,onRowsChange:l,dispatch:G,getMovedCell:ei,gridRootRef:Ne,editorActionGuardRef:Be}),ai=(0,e.useCallback)(e=>{let t=Z.getRow(e.row),n=H[e.col];if(!t||!n||!b({readOnly:se,canEditCell:ce},e.row,e.col,t,n))return;let r=x(t,n);ni(e,String(r??``))},[ce,Z,se,ni,H]),oi=(0,e.useMemo)(()=>{if(!W.selection)return null;if(W.selection.type===`cell`){let e=f(W.selection.range);return{extents:me(q,e.start.col,e.end.col),startRow:e.start.row,endRow:e.end.row}}if(W.selection.type===`row`){let e=p(W.selection.startRow,W.selection.endRow);return{extents:he(q),startRow:e.startRow,endRow:e.endRow}}let e=m(W.selection.startCol,W.selection.endCol);return{extents:me(q,e.startCol,e.endCol),startRow:0,endRow:Math.max(Q-1,0)}},[W.selection,q,Q]),si=(0,e.useMemo)(()=>{if(!oi)return null;let e=Qe(oi.startRow,oi.endRow,kr,Ar);return e?{top:$.rowTop(e.start),height:$.rowsHeight(e.start,e.end)}:null},[oi,$,kr,Ar]),ci=(0,e.useCallback)(e=>{if(!oi||!si)return null;let t=oi.extents[e];return t?{left:t.start,top:si.top,width:t.width,height:si.height}:null},[oi,si]),li=(0,e.useCallback)(e=>{if(e.preventDefault(),e.button===0&&!(Q===0||V.length===0)){if(Ne.current?.focus(),Xr){G(a.clearSelection()),G(a.activateCell(null));return}$r()}},[G,Q,Xr,$r,V.length]),ui=(0,e.useCallback)(e=>{ut(t=>t===e?null:t)},[]),di=(0,e.useCallback)(e=>{ft(t=>t===e?null:t)},[]),fi=(0,e.useCallback)(()=>{ct(!0)},[]),pi=(0,e.useCallback)(()=>{ct(!1)},[]),mi=(0,e.useCallback)((e,t)=>{t.preventDefault(),t.stopPropagation(),G(a.startColumnResize(e.key,t.clientX,St.current[e.key]??e.width,e.minWidth??60,e.maxWidth??1e3))},[G]),hi=(0,e.useCallback)((e,t)=>{if(X(),!h)return;let n=c.find(t=>t.key===e);n&&(n.pinned??void 0)!==t&&(h(c.map(n=>{let r=St.current[n.key]??n.width;return n.key===e?{...n,width:r,pinned:t}:r===n.width?n:{...n,width:r}})),G(a.stopEdit()),G(a.clearSelection()),G(a.activateCell(null)))},[X,c,G,h]),gi=(0,e.useCallback)(e=>{X();let t=V.find(t=>t.key===e);t&&ar([t])},[X,ar,V]),_i=(0,e.useCallback)(()=>{X(),ar(V)},[X,ar,V]),vi=(0,e.useMemo)(()=>c.map(e=>({key:e.key,title:e.title??e.key,visible:e.visible!==!1,pane:ne(e)})),[c]),yi=(0,e.useCallback)(()=>{X(),hn()},[X,hn]),bi=(0,e.useMemo)(()=>V.map(e=>({key:e.key,title:e.title??e.key})),[V]),xi=(0,e.useCallback)(()=>{X(),Sn()},[X,Sn]),Si=(0,e.useCallback)(e=>{X(),qt(e)},[X,qt]),Ci=(0,e.useCallback)((e,t)=>{if(!h)return;let n=c.find(t=>t.key===e);n&&n.visible!==!1!==t&&(!t&&c.filter(e=>e.visible!==!1).length<=1||(h(c.map(n=>{let r=St.current[n.key]??n.width;return n.key===e?{...n,width:r,visible:t}:r===n.width?n:{...n,width:r}})),G(a.stopEdit()),G(a.clearSelection()),G(a.activateCell(null))))},[c,G,h]),wi=(0,e.useCallback)(()=>{h&&c.some(e=>e.visible===!1)&&(h(c.map(e=>{let t=St.current[e.key]??e.width,n=t!==e.width,r=e.visible===!1;return!n&&!r?e:r?{...e,width:t,visible:!0}:{...e,width:t}})),G(a.stopEdit()),G(a.clearSelection()),G(a.activateCell(null)))},[c,G,h]),Ti=(0,e.useCallback)((e,t)=>{if(!h||e.length!==c.length)return;let n=new Map(c.map(e=>[e.key,e]));if(!e.every(e=>n.has(e)))return;let r=re(e.map(e=>{let r=n.get(e),i=St.current[r.key]??r.width,a=t?.has(e)?t.get(e):r.pinned,o=i!==r.width,s=(r.pinned??void 0)!==(a??void 0);return o||s?{...r,width:i,pinned:a}:r}));r.length===c.length&&r.every((e,t)=>{let n=c[t];return!!n&&n.key===e.key&&n.width===e.width&&(n.pinned??void 0)===(e.pinned??void 0)})||(h(r),G(a.stopEdit()),G(a.clearSelection()),G(a.activateCell(null)))},[c,G,h]),Ei=(0,e.useCallback)(e=>{Ti(e)},[Ti]),{onColumnDragHandlePointerDown:Di,leftIndicatorRef:Oi,centerIndicatorRef:ki,rightIndicatorRef:Ai}=mt({enabled:!!h,columns:c,paneLayout:q,leftPaneScrollRef:$e,rightPaneScrollRef:et,bodyScrollRef:ze,scrollContainerRef:Xe,leftLeadingWidth:Pt,centerLeadingWidth:Ft,rightLeadingWidth:0,applyColumnOrderAndPin:Ti}),ji=h?Di:void 0,Mi={position:`absolute`,top:0,height:I+jr,width:2,backgroundColor:`#2563eb`,transform:`translateX(-1px)`,pointerEvents:`none`,zIndex:8,display:`none`},Ni=(0,e.useCallback)(()=>{if(!h)return;let e=Ct.current;if(!e)return;let t=!1,n=c.map(n=>{let r=St.current[n.key]??n.width,i=e.get(n.key);if(!i)return r===n.width?n:{...n,width:r};let a=i.pinned??void 0,o=r!==i.width,s=(n.pinned??void 0)!==a,c=n.visible!==!1!=(i.visible!==!1);return(o||s||c)&&(t=!0),{...n,width:i.width,pinned:i.pinned,visible:i.visible}});t&&(h(n),G(a.stopEdit()),G(a.clearSelection()),G(a.activateCell(null)))},[c,G,h]),Pi=(0,e.useCallback)(()=>{X(),Ni()},[X,Ni]),Fi=(0,e.useCallback)(e=>Y?x(r[e],Y):void 0,[r,Y]),{options:Ii,allValues:Li,status:Ri,progress:zi}=Kt({column:Y,rowCount:r.length,getRawValueAt:Fi}),Bi=Y?W.filters.columnFilters[Y.key]:void 0,Vi=(0,e.useMemo)(()=>w(Bi)?{mode:Bi.mode===`exclude`?`exclude`:`include`,values:new Set(Bi.values)}:null,[Bi]),Hi=!(Y?.filterOptions&&Y.filterOptions.length>0),Ui=(0,e.useCallback)((e,t,n)=>{let r=t.mode===`include`?t.values.size:n-t.values.size;if(r>=n){G(a.clearColumnFilter(e));return}if(r<=0){G(a.setColumnFilter(e,{kind:`set`,mode:`include`,values:[]}));return}let i={kind:`set`,mode:t.mode,values:Array.from(t.values)};G(a.setColumnFilter(e,i))},[G]),Wi=(0,e.useCallback)(e=>{if(!J)return;let t=Ii.length,n=Vi,r;r=nn(n,e)?n===null?Hi?{mode:`exclude`,values:new Set([e])}:{mode:`include`,values:qn(Li,e)}:n.mode===`include`?{mode:`include`,values:qn(n.values,e)}:{mode:`exclude`,values:Kn(n.values,e)}:n.mode===`include`?{mode:`include`,values:Kn(n.values,e)}:{mode:`exclude`,values:qn(n.values,e)},Ui(J.columnKey,r,t)},[J,Vi,Hi,Li,Ii,Ui]),Gi=(0,e.useCallback)((e,t)=>{if(!J)return;let n=J.columnKey,r=Ii.length;if(e===`all`){t?G(a.clearColumnFilter(n)):Ui(n,{mode:`include`,values:new Set},r);return}let i=Vi,o;if(t){if(i===null){G(a.clearColumnFilter(n));return}o=i.mode===`include`?{mode:`include`,values:Jn(i.values,e)}:{mode:`exclude`,values:Yn(i.values,e)}}else o=i===null?Hi?{mode:`exclude`,values:new Set(e)}:{mode:`include`,values:Yn(Li,e)}:i.mode===`include`?{mode:`include`,values:Yn(i.values,e)}:{mode:`exclude`,values:Jn(i.values,e)};Ui(n,o,r)},[J,Vi,Hi,Li,Ii,Ui,G]),Ki=(0,e.useCallback)(()=>{J&&G(a.clearColumnFilter(J.columnKey))},[G,J]),qi=(0,e.useCallback)(()=>{if(!J)return;let e=V.find(e=>e.key===J.columnKey)?.filterType??`text`;if(e===`set`){Jt();return}if(e===`number`){let e=O(J.draftValue);if(!e){G(a.clearColumnFilter(J.columnKey)),Jt();return}G(a.setColumnFilter(J.columnKey,e)),Jt();return}let t=e===`select`?J.draftValue:J.draftValue.trim();if(!t){G(a.clearColumnFilter(J.columnKey)),Jt();return}let n=e===`select`?{kind:`select`,value:t}:e===`date`?{kind:`date`,value:t}:e===`custom`?{kind:`custom`,value:t}:{kind:`text`,value:t};G(a.setColumnFilter(J.columnKey,n)),Jt()},[Jt,G,J,V]),Ji=(0,e.useCallback)(()=>{J&&(G(a.clearColumnFilter(J.columnKey)),Jt())},[Jt,G,J]),Yi=(0,e.useCallback)((e,t)=>{if(X(),!z)return;let n=Ve(W.sort,e,t,!1);G(n.length===0?a.clearSort():a.setSort(n))},[X,G,z,W.sort]),Xi=(0,e.useCallback)((e,t)=>{if(!z)return;let n=He(W.sort,e,t);G(a.setSort(n))},[G,z,W.sort]),Zi=(0,e.useCallback)((e,t)=>{if(!z)return;let n=Ue(W.sort,e,t);G(a.setSort(n))},[G,z,W.sort]),Qi=(0,e.useCallback)((e,t)=>{if(!z)return;let n=We(W.sort,e,t);G(a.setSort(n))},[G,z,W.sort]),$i=(0,e.useCallback)(e=>{if(!z)return;let t=Ge(W.sort,e);G(t.length===0?a.clearSort():a.setSort(t))},[G,z,W.sort]),ea=(0,e.useCallback)(()=>{z&&G(a.clearSort())},[G,z]),ta=(0,e.useCallback)((e,t)=>{if(!z)return;let n=Ke(W.sort,e,t);G(a.setSort(n))},[G,z,W.sort]),na=(0,e.useCallback)((e,t,i,a,o)=>{let s=x(e,i);return i.renderCell?i.renderCell({row:e,rowIndex:t,colIndex:a,value:s,column:i,isActive:o.isActive,isSelected:o.isSelected,isEditing:o.isEditing,readOnly:o.readOnly,setValue:e=>{if(!l)return;let n=Z.getSourceIndex(t);n!==void 0&&l(r.map((t,r)=>r===n?S(t,i,e):t))}}):(0,n.jsx)(`span`,{children:String(s??``)})},[Z,l,r]),{slotContext:ra}=Pe({rows:r,viewRowCount:Q,getFilteredRows:or,columns:c,visibleColumns:V,uiState:W,setGlobalFilterText:(0,e.useCallback)(e=>{G(a.setGlobalFilter(e))},[G])}),ia=(0,e.useMemo)(()=>({width:L,minWidth:L}),[L]),aa=Q===0,oa=(e,t,n)=>({position:`sticky`,...e===`left`?{left:0}:{right:0},width:t,minWidth:t,flexShrink:0,alignSelf:`stretch`,zIndex:2,...n?e===`left`?{borderRight:`1px solid #cbd5e1`,boxShadow:`6px 0 8px -6px rgba(15, 23, 42, 0.35)`}:{borderLeft:`1px solid #cbd5e1`,boxShadow:`-6px 0 8px -6px rgba(15, 23, 42, 0.35)`}:{}}),sa=(()=>{if(!Y)return`(なし)`;let e=W.filters.columnFilters[Y.key];if(w(e))return e.mode===`exclude`?`${e.values.length}件を除外中`:`${e.values.length}件を選択中`;if(D(e))return e.raw;let t=k(e);return t.trim()?t:`(なし)`})(),ca=Y?(0,n.jsx)(on,{isOpen:!!J,title:Y.title||Y.key,filterType:Y.filterType??`text`,isServerSide:U,draftValue:J?.draftValue??``,currentValueText:sa,layout:Vt,selectOptions:Ii,setSelection:Vi,optionsStatus:Ri,optionsProgress:zi,popoverRef:Ht,textInputRef:Ut,selectRef:Wt,onRequestClose:Jt,onDraftChange:Yt,onApply:qi,onClear:Ji,onSetValueToggle:Wi,onSetSelectAllChange:Gi,onSetClear:Ki}):null,la=an?(0,n.jsx)(Dn,{isOpen:Qt,title:an.title||an.key,columnKey:an.key,canFilter:bt&&!!an.filterType,onOpenFilter:()=>Si(an),canSort:vt,sortDirection:W.sort.find(e=>e.columnKey===an.key)?.direction??null,onSortChange:e=>Yi(an.key,e),onOpenSortManager:xi,pinned:an.pinned,canChangePinned:!!h,layout:Xt,popoverRef:Zt,onPinnedChange:hi,onAutosizeColumn:gi,onAutosizeAllColumns:_i,onOpenColumnChooser:yi,canResetColumns:!!h,onResetColumns:Pi,onRequestClose:X}):null,ua=(0,n.jsx)(zn,{isOpen:dn,items:vi,canToggle:!!h,layout:fn,panelRef:mn,onToggleColumnVisibility:Ci,onShowAllColumns:wi,onResetColumns:Ni,onReorderColumns:Ei,onRequestClose:_n}),da=(0,n.jsx)(Gn,{isOpen:vn,entries:W.sort,columns:bi,canSort:vt,layout:yn,panelRef:bn,onAddLevel:Xi,onChangeDirection:Zi,onChangeColumn:Qi,onRemoveLevel:$i,onClearAll:ea,onMove:ta,onRequestClose:Cn}),fa=Gt||Qt||dn||vn,pa=Te,ma=Ee&&xt,ha=Ce?Se(ke,ra,pa||ma?(0,n.jsx)(cn,{context:ra,showSummary:pa,showFilter:ma,showCounts:De}):null):null,ga=we?Se(Ae,ra,(0,n.jsx)(sn,{context:ra,showCounts:Oe})):null,_a=R===void 0&&ae===void 0?void 0:{...R===void 0?{}:{height:R},maxHeight:ae??(R===void 0?void 0:`none`)};return(0,n.jsxs)(`div`,{className:i(`ssg-root`,je,B?.root),children:[ha,(0,n.jsxs)(`div`,{ref:Ne,className:`ssg-shell`,style:{cursor:ir?`progress`:void 0},onDragStart:Gr,onPointerLeave:()=>ut(null),onPointerMoveCapture:e=>{Ie.current={x:e.clientX,y:e.clientY},Hr(e.clientX,e.clientY)},tabIndex:fa?-1:0,onKeyDown:fa?void 0:ti,onPaste:fa?void 0:Qr,children:[(0,n.jsxs)(`div`,{ref:Xe,className:`ssg-scroll-container`,style:_a,children:[(0,n.jsxs)(`div`,{className:`ssg-inner-row`,style:{width:Bt,minWidth:Bt,height:I+jr},children:[(0,n.jsxs)(`div`,{ref:$e,style:oa(`left`,It,jt),children:[jt&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:It,minWidth:It,height:I+jr},children:[(0,n.jsx)(gn,{pane:`left`,ownsRowHeader:!0,leadingWidth:Pt,headerHeight:I,rowHeaderCellStyle:ia,headerRowClassName:B?.headerRow,headerCellClassName:B?.headerCell,rowHeaderCellClassName:B?.rowHeaderCell,isCornerHovered:st,isWholeGridSelected:Xr,filteredRowsLength:Q,visibleColumnsLength:V.length,renderEntries:Ir,hoveredColumnIndex:dt,selectionSnapshot:wt,columnFilterValues:W.filters.columnFilters,sortState:W.sort,iconButtonClassName:B?.iconButton,onCornerPointerDown:li,onCornerPointerEnter:fi,onCornerPointerLeave:pi,onColumnHeaderPointerDown:Jr,onColumnHeaderPointerEnter:Yr,onColumnHeaderPointerLeave:di,onColumnResizePointerDown:mi,enableColumnMenu:ve,openedMenuColumnKey:rn,onColumnMenuButtonPointerDown:ln,onColumnHeaderContextMenu:un,onColumnDragHandlePointerDown:ji}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:It,height:I+jr,transform:Mr},children:[(0,n.jsx)(_,{rect:ci(`left`),headerHeight:I,baseOffset:Pr,leadingWidth:Pt}),(0,n.jsx)(v,{rect:Br(`left`),headerHeight:I,baseOffset:Pr,leadingWidth:Pt}),(0,n.jsx)(y,{rect:Vr(`left`),headerHeight:I,baseOffset:Pr,leadingWidth:Pt,initialValue:tt,onCommit:ri,onCancel:ii}),(0,n.jsx)(pn,{pane:`left`,ownsRowHeader:!0,leadingWidth:Pt,rowModel:Z,virtualRows:Dr,virtualRowIndexes:Or,renderEntries:Ir,rowHeight:N,autoHeight:_r,isServerSide:U,rowHeaderCellStyle:ia,hoveredRowIndex:lt,isWholeGridSelected:Xr,activeCell:W.activeCell,editingCell:W.editingCell,selectionSnapshot:wt,readOnly:se,canEditCell:ce,onRowHeaderPointerDown:Kr,onRowHeaderPointerEnter:qr,onRowHeaderPointerLeave:ui,onCellPointerDown:Ur,onCellPointerEnter:Wr,onCellDoubleClick:ai,renderCellContent:na,getRowClassName:Me,bodyCellClassName:B?.bodyCell,bodyRowClassName:B?.bodyRow,rowHeaderCellClassName:B?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:Oi,style:Mi})]}),(0,n.jsx)(`div`,{ref:ze,className:`ssg-center-pane`,style:{width:zt,minWidth:zt},children:(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:zt,minWidth:zt,height:I+jr},children:[(0,n.jsx)(gn,{pane:`center`,ownsRowHeader:Nt,leadingWidth:Ft,headerHeight:I,rowHeaderCellStyle:ia,headerRowClassName:B?.headerRow,headerCellClassName:B?.headerCell,rowHeaderCellClassName:B?.rowHeaderCell,isCornerHovered:st,isWholeGridSelected:Xr,filteredRowsLength:Q,visibleColumnsLength:V.length,renderEntries:Fr,hoveredColumnIndex:dt,selectionSnapshot:wt,columnFilterValues:W.filters.columnFilters,sortState:W.sort,iconButtonClassName:B?.iconButton,onCornerPointerDown:li,onCornerPointerEnter:fi,onCornerPointerLeave:pi,onColumnHeaderPointerDown:Jr,onColumnHeaderPointerEnter:Yr,onColumnHeaderPointerLeave:di,onColumnResizePointerDown:mi,enableColumnMenu:ve,openedMenuColumnKey:rn,onColumnMenuButtonPointerDown:ln,onColumnHeaderContextMenu:un,onColumnDragHandlePointerDown:ji}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:zt,height:I+jr,transform:Mr},children:[(0,n.jsx)(_,{rect:ci(`center`),headerHeight:I,baseOffset:Pr,leadingWidth:Ft}),(0,n.jsx)(v,{rect:Br(`center`),headerHeight:I,baseOffset:Pr,leadingWidth:Ft}),(0,n.jsx)(y,{rect:Vr(`center`),headerHeight:I,baseOffset:Pr,leadingWidth:Ft,initialValue:tt,onCommit:ri,onCancel:ii}),(0,n.jsx)(pn,{pane:`center`,ownsRowHeader:Nt,leadingWidth:Ft,rowModel:Z,virtualRows:Dr,virtualRowIndexes:Or,renderEntries:Fr,rowHeight:N,autoHeight:_r,isServerSide:U,rowHeaderCellStyle:ia,hoveredRowIndex:lt,isWholeGridSelected:Xr,activeCell:W.activeCell,editingCell:W.editingCell,selectionSnapshot:wt,readOnly:se,canEditCell:ce,onRowHeaderPointerDown:Kr,onRowHeaderPointerEnter:qr,onRowHeaderPointerLeave:ui,onCellPointerDown:Ur,onCellPointerEnter:Wr,onCellDoubleClick:ai,renderCellContent:na,getRowClassName:Me,bodyCellClassName:B?.bodyCell,bodyRowClassName:B?.bodyRow,rowHeaderCellClassName:B?.rowHeaderCell})]}),(0,n.jsx)(`div`,{ref:ki,style:Mi})]})}),(0,n.jsxs)(`div`,{ref:et,style:oa(`right`,Rt,Mt),children:[Mt&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:Rt,minWidth:Rt,height:I+jr},children:[(0,n.jsx)(gn,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,headerHeight:I,rowHeaderCellStyle:ia,headerRowClassName:B?.headerRow,headerCellClassName:B?.headerCell,rowHeaderCellClassName:B?.rowHeaderCell,isCornerHovered:st,isWholeGridSelected:Xr,filteredRowsLength:Q,visibleColumnsLength:V.length,renderEntries:Lr,hoveredColumnIndex:dt,selectionSnapshot:wt,columnFilterValues:W.filters.columnFilters,sortState:W.sort,iconButtonClassName:B?.iconButton,onCornerPointerDown:li,onCornerPointerEnter:fi,onCornerPointerLeave:pi,onColumnHeaderPointerDown:Jr,onColumnHeaderPointerEnter:Yr,onColumnHeaderPointerLeave:di,onColumnResizePointerDown:mi,enableColumnMenu:ve,openedMenuColumnKey:rn,onColumnMenuButtonPointerDown:ln,onColumnHeaderContextMenu:un,onColumnDragHandlePointerDown:ji}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:Rt,height:I+jr,transform:Mr},children:[(0,n.jsx)(_,{rect:ci(`right`),headerHeight:I,baseOffset:Pr,leadingWidth:0}),(0,n.jsx)(v,{rect:Br(`right`),headerHeight:I,baseOffset:Pr,leadingWidth:0}),(0,n.jsx)(y,{rect:Vr(`right`),headerHeight:I,baseOffset:Pr,leadingWidth:0,initialValue:tt,onCommit:ri,onCancel:ii}),(0,n.jsx)(pn,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,rowModel:Z,virtualRows:Dr,virtualRowIndexes:Or,renderEntries:Lr,rowHeight:N,autoHeight:_r,isServerSide:U,rowHeaderCellStyle:ia,hoveredRowIndex:lt,isWholeGridSelected:Xr,activeCell:W.activeCell,editingCell:W.editingCell,selectionSnapshot:wt,readOnly:se,canEditCell:ce,onRowHeaderPointerDown:Kr,onRowHeaderPointerEnter:qr,onRowHeaderPointerLeave:ui,onCellPointerDown:Ur,onCellPointerEnter:Wr,onCellDoubleClick:ai,renderCellContent:na,getRowClassName:Me,bodyCellClassName:B?.bodyCell,bodyRowClassName:B?.bodyRow,rowHeaderCellClassName:B?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:Ai,style:Mi})]})]}),aa&&(0,n.jsx)(`div`,{className:`ssg-empty-state`,children:r.length===0?xe:ye})]}),ir&&(0,n.jsx)(`div`,{className:`ssg-autosize-overlay`,children:(0,n.jsx)(`span`,{className:`ssg-autosize-pill`,children:`列幅を計算中…`})})]}),ga,ca,la,ua,da]})}exports.SpreadsheetGrid=tr;
|