@ishibashi0112/spreadsheet-grid 0.22.0 → 0.23.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.
@@ -1,6 +1,7 @@
1
1
  import { type RefObject } from 'react';
2
2
  import type { ActiveCellOverlayRect } from '../ActiveCellOverlay';
3
3
  import type { ColumnMeasurement } from '../logic/geometry';
4
+ import type { CellCoord } from '../model/gridTypes';
4
5
  type VirtualizerLike = {
5
6
  measure: () => void;
6
7
  };
@@ -15,7 +16,8 @@ type UseGridViewportSyncArgs<T> = {
15
16
  rightPaneWidth: number;
16
17
  centerLeadingWidth: number;
17
18
  activeCellRect: ActiveCellOverlayRect | null;
19
+ activeCell: CellCoord | null;
18
20
  verticalScaleFactor: number;
19
21
  };
20
- export declare const useGridViewportSync: <T>({ scrollRef, columnVirtualizer, columnMeasurements, totalScrollWidth, physicalBodyHeight, headerHeight, leftPaneWidth, rightPaneWidth, centerLeadingWidth, activeCellRect, verticalScaleFactor, }: UseGridViewportSyncArgs<T>) => void;
22
+ export declare const useGridViewportSync: <T>({ scrollRef, columnVirtualizer, columnMeasurements, totalScrollWidth, physicalBodyHeight, headerHeight, leftPaneWidth, rightPaneWidth, centerLeadingWidth, activeCellRect, activeCell, verticalScaleFactor, }: UseGridViewportSyncArgs<T>) => void;
21
23
  export default useGridViewportSync;
package/dist/index.cjs CHANGED
@@ -5,6 +5,6 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require
5
5
  `)}if(r.type===`row`){let t=ce(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=L(t,e);return e.formatClipboardValue?e.formatClipboardValue(n,t):String(n??``)});i.push(a.join(` `))}return i.join(`
6
6
  `)}let a=le(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=L(t,r),a=r.formatClipboardValue?r.formatClipboardValue(i,t):String(i??``);o.push(a)}i.push(o.join(` `))}return i.join(`
7
7
  `)},pt=(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=ze(s)(f,l);lt(s,l,p).action!==`reject`&&(u=Ae(u,s,p),d=!0)}d&&(s[c]=u)}return s},mt=(e,t,n,r,i,a)=>{let o=[];for(let s=0;s<n.length;s+=1){let c=r+s,l=e(c);if(l)for(let e=0;e<n[s].length;e+=1){let r=i+e,u=t[r];if(!u||!a(c,r,l,u))continue;let d=ze(u)(n[s][e],l);lt(u,l,d).action!==`reject`&&o.push({viewIndex:c,column:u,value:d})}}return o},ht=e=>{let{body:t,activeElement:n}=document;if(!t)return!1;let r=document.createElement(`textarea`);r.value=e,r.setAttribute(`readonly`,``),r.style.position=`fixed`,r.style.top=`0`,r.style.left=`-9999px`,r.style.opacity=`0`,t.appendChild(r);let i;try{r.select(),i=document.execCommand(`copy`)}catch{i=!1}finally{t.removeChild(r),n instanceof HTMLElement&&n.focus()}return i},gt=async e=>{if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}return ht(e)?!0:(console.warn(`[SpreadsheetGrid] クリップボードへのコピーに失敗しました(navigator.clipboard が利用できず、execCommand フォールバックも失敗)。`),!1)},_t=({rows:t,rowModel:n,visibleColumns:r,uiState:i,readOnly:s,canEditCell:c,createRow:l,createOverflowColumn:u,onRowsChange:d,onColumnsChange:f,applyServerSideCellEdits:p,dispatch:m})=>{let h=n.getRowCount(),g=h>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===h-1&&s===r.length-1})(),_=(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=L(e,t);return t.formatClipboardValue?t.formatClipboardValue(n,e):String(n??``)});t.push(a.join(` `))}return t.join(`
8
- `)},[n,r]);return{isWholeGridSelected:g,handleCopy:(0,e.useCallback)(async()=>{let e=g?_():ft(n.getRow,n.getRowCount(),r,i.selection);e&&await gt(e)},[g,n,_,i.selection,r]),handlePaste:(0,e.useCallback)(e=>{if(s||!d&&!p||!i.activeCell)return;let h=e.clipboardData.getData(`text/plain`);if(!h)return;e.preventDefault();let g=dt(h);if(g.length===0)return;let _=g.reduce((e,t)=>Math.max(e,t.length),0);if(_===0)return;let v=i.activeCell.row,y=i.activeCell.col;if(p){let e=mt(e=>n.getRow(e),r,g,v,y,(e,t,n,r)=>ke({readOnly:s,canEditCell:c},e,t,n,r));e.length>0&&p(e);let t=o(i.activeCell.row+Math.max(g.length-1,0),0,Math.max(n.getRowCount()-1,0)),l=o(i.activeCell.col+Math.max(_-1,0),0,Math.max(r.length-1,0));m(a.startSelection(i.activeCell)),m(a.updateSelection({row:t,col:l})),m(a.endSelection()),m(a.activateCell(i.activeCell));return}if(!d)return;let b=n.getSourceIndex(v);if(b===void 0)return;let x=i.activeCell.col,S=[...t],C=[...r],w=n.getRowCount(),T=S.length,E=e=>e<w?n.getSourceIndex(e):T+(e-w),D=b+g.length;if(D>S.length&&l)for(;S.length<D;)S.push(l());let O=x+_;if(O>C.length&&f&&u){for(;C.length<O;)C.push(u(C.length));f(C)}let k=pt(S,E,C,g,v,x,(e,t,n,r)=>ke({readOnly:s,canEditCell:c},e,t,n,r)),A=o(i.activeCell.row+Math.max(g.length-1,0),0,Math.max(Math.max(n.getRowCount()-1,0),v+g.length-1)),j=o(i.activeCell.col+Math.max((g[0]?.length??1)-1,0),0,Math.max(Math.max(C.length-1,0),x+_-1));d(k),m(a.startSelection(i.activeCell)),m(a.updateSelection({row:A,col:j})),m(a.endSelection()),m(a.activateCell(i.activeCell))},[p,c,u,l,m,f,d,s,n,t,i.activeCell,r])}},R=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},vt=(e,t,n)=>e?e(t):n,yt=(e,t=16)=>e.length<=t?e:`${e.slice(0,t)}…`,bt=e=>e?`${R(e.col)}${e.row+1}`:`なし`,xt=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`${R(r)}${t+1} - ${R(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 ${R(t)} - ${R(n)}`},St=(e,t)=>`Rows: ${t} / ${e.rows.length}`,Ct=e=>`Columns: ${e.visibleColumns.length} / ${e.columns.length}`,wt=(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}},Tt=(e,t)=>{let n=wt(e,t);return`Cells: ${n.selectedCellCount} / Rows: ${n.selectedRowCount}`},Et=e=>Object.values(e).filter(e=>Ge(e)).length,z=e=>{let t=e.globalFilterText.trim().length>0,n=t?yt(e.globalFilterText.trim()):null,r=Et(e.columnFilterValues);return!t&&r===0?`Filter: なし`:t&&r===0?`Filter: Global("${n}")`:!t&&r>0?`Filter: ${r}列`:`Filter: Global("${n}") + ${r}列`},Dt=(e,t)=>{let n=e.find(e=>e.key===t);return n?.title||n?.key||t},Ot=e=>e.sortState.length===0?`Sort: なし`:`Sort: ${e.sortState.map(t=>`${Dt(e.columns,t.columnKey)} (${t.direction===`asc`?`昇順`:`降順`})`).join(`, `)}`,kt=(e,t)=>{let n=wt(e,t),r=e.globalFilterText.trim().length>0,i=r?yt(e.globalFilterText.trim()):null,a=Et(e.columnFilterValues),o=r||a>0,s=e.sortState.length>0,c=s?Dt(e.columns,e.sortState[0].columnKey):null;return{rowSummaryText:St(e,t),columnSummaryText:Ct(e),filterSummaryText:z(e),sortSummaryText:Ot(e),activeCellLabel:bt(e.activeCell),selectionLabel:xt(e.selection),selectionStatsText:Tt(e,t),selectionStats:n,hasGlobalFilter:r,globalFilterPreview:i,activeColumnFilterCount:a,hasAnyFilter:o,hasSorting:s,sortedColumnLabel:c}},At=({rows:t,viewRowCount:n,getFilteredRows:r,columns:i,visibleColumns:a,uiState:o,setGlobalFilterText:s,globalFilterStatus:c,globalFilterProgress:l})=>{let u=ue(o),d=o.filters.columnFilters,f=o.sort,p=o.activeCell,m=o.selection,h=(0,e.useMemo)(()=>({rows:t,columns:i,visibleColumns:a,globalFilterText:u,columnFilterValues:d,sortState:f,activeCell:p,selection:m}),[t,i,a,u,d,f,p,m]),g=(0,e.useMemo)(()=>kt(h,n),[h,n]);return{slotContextBase:h,derivedSummary:g,slotContext:(0,e.useMemo)(()=>({...h,get filteredRows(){return r()},setGlobalFilterText:s,derivedSummary:g,globalFilterStatus:c,globalFilterProgress:l}),[g,r,s,h,c,l])}},jt=({uiState:t,rows:n,visibleColumns:r,rowModel:i,setEditorInitialValue:o,onRowsChange:s,applyServerSideCellEdits:c,dispatch:l,getMovedCell:u,gridRootRef:d,editorActionGuardRef:f})=>{let p=(0,e.useCallback)(e=>{l(a.startSelection(e)),l(a.endSelection()),l(a.activateCell(e))},[l]);return{activateSingleCell:p,startEditWithValue:(0,e.useCallback)((e,t)=>{o(t),l(a.startEdit(e))},[l,o]),commitEdit:(0,e.useCallback)((e,o)=>{if(f.current||!t.editingCell)return{status:`noop`};let m=t.editingCell,h=o===`down`?u(m,1,0):o===`right`?u(m,0,1):o===`left`?u(m,0,-1):m,g=r[m.col],_=i.getSourceIndex(m.row),v=c?i.getRow(m.row):n[_];if(!g||!v)return l(a.stopEdit()),{status:`noop`};if(c){let t=Be(g,e,v),n=lt(g,v,t);if(n.action===`reject`)return{status:`rejected`,message:n.message};c([{viewIndex:m.row,column:g,value:t}])}else if(s){let t=Be(g,e,v),r=lt(g,v,t);if(r.action===`reject`)return{status:`rejected`,message:r.message};s(Ve(n,_,g,t))}return f.current=!0,requestAnimationFrame(()=>{d.current?.focus(),p(h),f.current=!1}),l(a.stopEdit()),{status:`committed`}},[p,c,l,f,i,u,d,s,n,t.editingCell,r]),cancelEdit:(0,e.useCallback)(()=>{f.current||(f.current=!0,l(a.stopEdit()),requestAnimationFrame(()=>{d.current?.focus(),f.current=!1}))},[l,f,d])}},Mt=()=>({past:[],future:[]}),Nt=e=>e.past.length>0,Pt=e=>e.future.length>0,Ft=(e,t,n)=>{if(n<=0)return e;let r=[...e.past,t];return{past:r.length>n?r.slice(r.length-n):r,future:[]}},It=(e,t)=>{if(e.past.length===0)return null;let n=e.past[e.past.length-1];return{stack:{past:e.past.slice(0,-1),future:[...e.future,t]},snapshot:n}},Lt=(e,t)=>{if(e.future.length===0)return null;let n=e.future[e.future.length-1];return{stack:{past:[...e.past,t],future:e.future.slice(0,-1)},snapshot:n}},Rt=({rows:t,selection:n,activeCell:r,onRowsChange:i,dispatch:o,enabled:s,limit:c,onUndoRedoStateChange:l,onAfterRestore:u})=>{let d=(0,e.useRef)(Mt()),f=(0,e.useRef)(null),p=(0,e.useRef)(t),m=(0,e.useRef)({canUndo:!1,canRedo:!1}),h=(0,e.useCallback)(()=>{let e={canUndo:s&&i!=null&&Nt(d.current),canRedo:s&&i!=null&&Pt(d.current)};e.canUndo===m.current.canUndo&&e.canRedo===m.current.canRedo||(m.current=e,l?.(e))},[s,i,l]);(0,e.useEffect)(()=>{h()},[h]),(0,e.useEffect)(()=>{if(t!==p.current){if(p.current=t,f.current===t){f.current=null;return}f.current=null,d.current=Mt(),h()}},[t,h]);let g=(0,e.useCallback)(e=>{let t=e.selection;t?.type===`cell`?(o(a.startSelection(t.range.start)),o(a.updateSelection(t.range.end)),o(a.endSelection())):t?.type===`row`?(o(a.startRowSelection(t.startRow)),o(a.updateRowSelection(t.endRow)),o(a.endSelection())):t?.type===`col`?(o(a.startColumnSelection(t.startCol)),o(a.updateColumnSelection(t.endCol)),o(a.endSelection())):o(a.clearSelection()),o(a.activateCell(e.activeCell))},[o]);return{handleRowsChange:(0,e.useMemo)(()=>{if(i)return e=>{s&&(d.current=Ft(d.current,{rows:t,selection:n,activeCell:r},c),f.current=e,h()),i(e)}},[r,s,c,h,i,t,n]),undo:(0,e.useCallback)(()=>{if(!s||!i)return;let e=It(d.current,{rows:t,selection:n,activeCell:r});e&&(d.current=e.stack,f.current=e.snapshot.rows,i(e.snapshot.rows),g(e.snapshot),u?.(e.snapshot.activeCell),h())},[r,s,h,u,i,g,t,n]),redo:(0,e.useCallback)(()=>{if(!s||!i)return;let e=Lt(d.current,{rows:t,selection:n,activeCell:r});e&&(d.current=e.stack,f.current=e.snapshot.rows,i(e.snapshot.rows),g(e.snapshot),u?.(e.snapshot.activeCell),h())},[r,s,h,u,i,g,t,n]),canUndo:(0,e.useCallback)(()=>s&&i!=null&&Nt(d.current),[s,i]),canRedo:(0,e.useCallback)(()=>s&&i!=null&&Pt(d.current),[s,i]),clearHistory:(0,e.useCallback)(()=>{d.current=Mt(),h()},[h])}},zt=e=>e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey,Bt=e=>e instanceof HTMLElement?e.closest(`input, textarea, select, button, [contenteditable="true"]`)!==null:!1,Vt=({uiState:t,rowModel:n,visibleColumns:r,readOnly:i,canEditCell:s,setEditorInitialValue:c,dispatch:l,handleCopy:u,handleCellDoubleClick:d,isWholeGridSelected:f,selectEntireGrid:p,onUndo:m,onRedo:h,onClearSelection:g,enableClearOnDelete:_,onToggleCheckboxCell:v,onToggleGroup:y})=>{let b=n.getRowCount(),x=(0,e.useCallback)((e,t,n)=>({row:o(e.row+t,0,Math.max(b-1,0)),col:o(e.col+n,0,Math.max(r.length-1,0))}),[b,r.length]),S=(0,e.useCallback)((e,n,i)=>{if(b===0||r.length===0)return;let s=t.activeCell??{row:0,col:0},c={row:o(s.row+e,0,b-1),col:o(s.col+n,0,r.length-1)};if(i){let e=t.selection?.type===`cell`?t.selection.range.start:s;l(a.startSelection(e)),l(a.updateSelection(c)),l(a.endSelection()),l(a.activateCell(c));return}l(a.startSelection(c)),l(a.endSelection()),l(a.activateCell(c))},[l,b,t.activeCell,t.selection,r.length]);return{getMovedCell:x,handleKeyDown:(0,e.useCallback)(async e=>{if(!Bt(e.target)&&!t.editingCell){if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`c`){e.preventDefault(),await u();return}if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`a`){if(e.preventDefault(),f){l(a.clearSelection()),l(a.activateCell(null));return}p();return}if((e.ctrlKey||e.metaKey)&&!e.nativeEvent.isComposing){if(e.key.toLowerCase()===`z`){e.preventDefault(),e.shiftKey?h():m();return}if(e.key.toLowerCase()===`y`&&!e.shiftKey){e.preventDefault(),h();return}}if(e.key===`ArrowUp`){e.preventDefault(),S(-1,0,e.shiftKey);return}if(e.key===`ArrowDown`){e.preventDefault(),S(1,0,e.shiftKey);return}if(e.key===`ArrowLeft`){e.preventDefault(),S(0,-1,e.shiftKey);return}if(e.key===`ArrowRight`){e.preventDefault(),S(0,1,e.shiftKey);return}if(e.key===`Tab`){e.preventDefault(),S(0,e.shiftKey?-1:1,!1);return}if(e.key===`Escape`){e.preventDefault(),l(a.clearSelection());return}if((e.key===`Delete`||e.key===`Backspace`)&&_){e.preventDefault(),g();return}if((e.key===`Enter`||e.key===` `)&&t.activeCell){let r=n.getGroupRow?.(t.activeCell.row);if(r){e.preventDefault(),y(r.groupKey);return}}if(e.key===`Enter`||e.key===`F2`){e.preventDefault(),t.activeCell&&d(t.activeCell);return}if(zt(e)&&t.activeCell){let o=n.getRow(t.activeCell.row),u=r[t.activeCell.col];if(!o||!u||!ke({readOnly:i,canEditCell:s},t.activeCell.row,t.activeCell.col,o,u))return;if(u.editor?.type===`checkbox`){e.preventDefault(),e.key===` `&&v(t.activeCell);return}e.preventDefault(),c(e.key),l(a.startEdit(t.activeCell))}}},[s,l,n,d,u,f,S,g,_,h,v,y,m,i,p,c,t.activeCell,t.editingCell,r])}},Ht=new Intl.Collator(`ja`,{numeric:!0,sensitivity:`base`}),Ut=(e,t)=>{let n=Number(e),r=Number(t);return Number.isFinite(n)&&Number.isFinite(r)?n-r:Ht.compare(String(e??``),String(t??``))},Wt=(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)},Gt=(e,t,n)=>e.some(e=>e.columnKey===t)?e:[...e,{columnKey:t,direction:n}],Kt=(e,t,n)=>t<0||t>=e.length||e[t].direction===n?e:e.map((e,r)=>r===t?{...e,direction:n}:e),qt=(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),Jt=(e,t)=>t<0||t>=e.length?e:e.filter((e,n)=>n!==t),Yt=(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},Xt=(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(L(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]=L(e[t[i]],n);return r});u.sort((e,r)=>{for(let t=0;t<o;t+=1){let i=Ut(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},Zt=[`sum`,`min`,`max`,`avg`,`count`],Qt=e=>typeof e==`string`&&Zt.includes(e),$t=()=>({count:0,numericCount:0,sum:0,min:1/0,max:-1/0}),en=(e,t)=>{if(e.count+=1,t==null||t===``)return;let n=Number(t);Number.isFinite(n)&&(e.numericCount+=1,e.sum+=n,n<e.min&&(e.min=n),n>e.max&&(e.max=n))},tn=(e,t)=>{switch(e){case`count`:return t.count;case`sum`:return t.numericCount>0?t.sum:void 0;case`avg`:return t.numericCount>0?t.sum/t.numericCount:void 0;case`min`:return t.numericCount>0?t.min:void 0;case`max`:return t.numericCount>0?t.max:void 0}},nn=`(空白)`,rn=`__ssg-group__:`,an=`__ssg_group__`,on=e=>rn+e.groupKey,sn=e=>e<0,cn=e=>-e-1,ln=e=>{if(e==null||e===``)return`e`;let t=typeof e;return`${t===`number`?`n`:t===`boolean`?`b`:t===`string`?`s`:`o`}:${String(e)}`},un=e=>({groupColumns:e.filter(e=>e.rowGroup===!0),aggColumns:e.filter(e=>e.aggFunc!=null)}),dn=(e,t,n,r)=>{let i=n.length,a=r.length,o=r.map(e=>typeof e.aggFunc==`function`),s=o.includes(!0),c=[],l=new Map,u=0,d=(e,t,n,i,a)=>{let s=`${t.key}\u0001${n}`,c=n===`e`;return u+=1,{groupRow:{kind:`group`,groupKey:e===null?s:`${e}\u0000${s}`,columnKey:t.key,value:c?null:i,label:c?nn:String(i),level:a,leafCount:0,aggregates:{}},children:[],childIndex:new Map,leafSourceIndexes:[],accumulators:r.map(()=>$t()),customValues:o.map(e=>e?[]:null),customRows:[]}},f=t.length;for(let o=0;o<f;o+=1){let u=t[o],f=e[u],p=null;if(a>0){p=Array(a);for(let e=0;e<a;e+=1)p[e]=L(f,r[e])}let m=c,h=l,g=null;for(let e=0;e<i;e+=1){let t=n[e],r=L(f,t),o=ln(r),c=h.get(o);if(c||(c=d(g,t,o,r,e),m.push(c),h.set(o,c)),c.groupRow.leafCount+=1,p!==null){for(let e=0;e<a;e+=1){en(c.accumulators[e],p[e]);let t=c.customValues[e];t!==null&&t.push(p[e])}s&&c.customRows.push(f)}e===i-1&&c.leafSourceIndexes.push(u),m=c.children,h=c.childIndex,g=c.groupRow.groupKey}}let p=e=>{for(let t=0;t<a;t+=1){let n=r[t];o[t]?e.groupRow.aggregates[n.key]=n.aggFunc({values:e.customValues[t]??[],rows:e.customRows,column:n}):Qt(n.aggFunc)&&(e.groupRow.aggregates[n.key]=tn(n.aggFunc,e.accumulators[t]))}for(let t of e.children)p(t)};for(let e of c)p(e);return{roots:c,groupCount:u}},fn=(e,t)=>{let n=[],r=[],i=e=>{if(r.push(e.groupRow),n.push(-r.length),!t.has(e.groupRow.groupKey)){if(e.children.length>0){for(let t of e.children)i(t);return}for(let t of e.leafSourceIndexes)n.push(t)}};for(let t of e.roots)i(t);return{displayOrder:Int32Array.from(n),groups:r}},pn=e=>{let t=[],n=e=>{t.push(e.groupRow);for(let t of e.children)n(t)};for(let t of e.roots)n(t);return t},mn=e=>pn(e).map(e=>e.groupKey),hn=15e6,gn=(e,t,n,r)=>e&&t&&n>0&&n<=r,B=1<<20,_n=(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))}),vn=(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}},yn=(e,t)=>e*t,bn=(e,t)=>t===1?e:e/t,V=(e,t,n,r)=>{let i=t*(1-n);return r.rowAtContentY(e-i)},xn=({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/B)*B,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}},Sn=({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}},Cn=({rectLeft:e,rectTop:t,clientLeft:n,clientTop:r,clientWidth:i,clientHeight:a})=>{let o=e+n,s=t+r;return{left:o,top:s,right:o+i,bottom:s+a}},H=(e,t,n,r)=>e<t+r?-1:+(e>n-r),wn=(e,t,n,r)=>{if(t===0)return e;let i=Math.max(r,0),a=e+t*n;return a<0?0:a>i?i:a},Tn=(e,t,n)=>{let r=t.x-e.x,i=t.y-e.y;return r*r+i*i>=n*n},En=({gridRootRef:t,bodyScrollRef:n,scrollContainerRef:r,leftPaneScrollRef:i,rightPaneScrollRef:s,pointerClientRef:c,autoScrollFrameRef:l,uiState:u,dispatch:d,enableRangeSelection:f,enableSorting:p,orderedColumns:m,filteredRowsLength:h,visibleColumnsLength:g,paneLayout:v,leftLeadingWidth:y,centerLeadingWidth:b,rightLeadingWidth:x,headerHeight:S,rowMetrics:C,verticalScaleFactor:w,setHoveredRowIndex:T,setHoveredColumnIndex:E,enableRowHover:D,enableColumnHeaderHover:O,enableRowSelection:k,onGutterRowSelect:A,onGutterRowSelectDrag:j})=>{let M=(0,e.useRef)(u.dragState);M.current=u.dragState;let ee=(0,e.useRef)(!1),N=(0,e.useRef)(null),P=(0,e.useRef)(null),F=(0,e.useRef)(!1),I=(0,e.useRef)(u.sort);I.current=u.sort;let te=(0,e.useRef)(m);te.current=m;let ne=(0,e.useRef)(p);ne.current=p;let re=u.dragState?.type??null,ie=(0,e.useCallback)((e,t)=>{let a=n.current;if(!a||h===0||g===0)return null;let c=a.getBoundingClientRect(),l=V(a.scrollTop+t-c.top-S,r.current?.scrollTop??0,w,C),u=null,d=i.current;if(u===null&&d&&v.left.entries.length>0){let t=d.getBoundingClientRect();if(e<t.right){let n=e-t.left-y;u=_(v.left,n)}}let f=s.current;if(u===null&&f&&v.right.entries.length>0){let t=f.getBoundingClientRect();if(e>=t.left){let n=e-t.left-x;u=_(v.right,n)}}if(u===null&&v.center.entries.length>0){let t=a.scrollLeft+e-c.left-b;u=_(v.center,Math.max(t,0))}return u===null?null:{row:l,col:o(u,0,g-1)}},[n,i,s,r,h,g,v,y,b,x,S,C,w]),ae=(0,e.useRef)(ie);(0,e.useEffect)(()=>{ae.current=ie},[ie]);let oe=(0,e.useCallback)((e,t)=>{let n=M.current;if(!n||n.type!==`selection`)return;let r=ie(e,t);if(r){if(n.selectionKind===`cell`){d(a.updateSelection(r));return}if(n.selectionKind===`row`){d(a.updateRowSelection(r.row));return}n.selectionKind===`col`&&d(a.updateColumnSelection(r.col))}},[d,ie]);(0,e.useEffect)(()=>{let e=e=>{c.current={x:e.clientX,y:e.clientY},re===`columnResize`&&d(a.updateColumnResize(e.clientX))},t=()=>{ee.current=!1,d(a.endSelection()),d(a.endColumnResize())};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},[d,c,re]),(0,e.useEffect)(()=>{if(re!==`selection`){l.current!==null&&(cancelAnimationFrame(l.current),l.current=null);return}let e=()=>{let t=r.current,n=c.current;if(!t||!n){l.current=requestAnimationFrame(e);return}if(!F.current){let t=P.current;if(t&&!Tn(t,n,6)){l.current=requestAnimationFrame(e);return}F.current=!0}let i=t.getBoundingClientRect(),a=Cn({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=M.current?.type===`selection`&&M.current.selectionKind===`col`,s=M.current?.type===`selection`&&M.current.selectionKind===`row`,u=o?0:H(n.y,a.top,a.bottom,24),d=s?0:H(n.x,a.left,a.right,24),f=wn(t.scrollTop,u,18,t.scrollHeight-t.clientHeight),p=wn(t.scrollLeft,d,18,t.scrollWidth-t.clientWidth);(f!==t.scrollTop||p!==t.scrollLeft)&&(t.scrollTo({top:f,left:p,behavior:`auto`}),oe(n.x,n.y)),l.current=requestAnimationFrame(e)};return l.current=requestAnimationFrame(e),()=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null)}},[l,r,c,re,oe]);let se=(0,e.useCallback)((e,n)=>{n.preventDefault(),n.button===0&&(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},P.current={x:n.clientX,y:n.clientY},F.current=!1,d(a.activateCell(e)),f&&d(a.startSelection(e)))},[d,f,t,c]),ce=(0,e.useCallback)((e,t)=>{if(D&&T(e.row),!f)return;let n=M.current;n?.type!==`selection`||n.selectionKind!==`cell`||(c.current={x:t.clientX,y:t.clientY},d(a.updateSelection(e)))},[d,f,c,T,D]),le=(0,e.useCallback)(e=>{e.preventDefault()},[]),ue=(0,e.useCallback)(()=>{if(N.current!==null)return;let e=()=>{if(!ee.current){N.current=null;return}let t=r.current,n=c.current;if(!t||!n){N.current=requestAnimationFrame(e);return}if(!F.current){let t=P.current;if(t&&!Tn(t,n,6)){N.current=requestAnimationFrame(e);return}F.current=!0}let i=t.getBoundingClientRect(),a=Cn({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=H(n.y,a.top,a.bottom,24),s=wn(t.scrollTop,o,18,t.scrollHeight-t.clientHeight);if(s!==t.scrollTop){t.scrollTo({top:s,left:t.scrollLeft,behavior:`auto`});let e=ae.current(n.x,n.y);e&&j(e.row)}N.current=requestAnimationFrame(e)};N.current=requestAnimationFrame(e)},[r,c,j]);return(0,e.useEffect)(()=>()=>{N.current!==null&&(cancelAnimationFrame(N.current),N.current=null)},[]),{updateSelectionFromPointer:oe,handleCellPointerDown:se,handleCellPointerEnter:ce,handleNativeDragStart:le,handleRowHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},P.current={x:n.clientX,y:n.clientY},F.current=!1,k){ee.current=!0,A(e,{shiftKey:n.shiftKey}),ue();return}d(a.startRowSelection(e))}},[d,t,k,A,ue,c]),handleRowHeaderPointerEnter:(0,e.useCallback)((e,t)=>{if(D&&T(e),ee.current){c.current={x:t.clientX,y:t.clientY},j(e);return}let n=M.current;n?.type!==`selection`||n.selectionKind!==`row`||(c.current={x:t.clientX,y:t.clientY},d(a.updateRowSelection(e)))},[d,c,T,D,j]),handleColumnHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},P.current={x:n.clientX,y:n.clientY},F.current=!1,n.shiftKey&&ne.current){let t=te.current[e];if(t&&t.key!==`__ssg_group__`){let e=I.current,n=e.find(e=>e.columnKey===t.key)?.direction?`desc`:`asc`,r=Wt(e,t.key,n,!0);d(r.length===0?a.clearSort():a.setSort(r))}return}d(a.startColumnSelection(e))}},[d,t,c]),handleColumnHeaderPointerEnter:(0,e.useCallback)((e,t)=>{T(null),O&&E(e);let n=M.current;n?.type!==`selection`||n.selectionKind!==`col`||(c.current={x:t.clientX,y:t.clientY},d(a.updateColumnSelection(e)))},[d,c,T,E,O])}},Dn=({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=yn(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:bn(g,d),left:_,behavior:`auto`})},[t,u,o,s,c,l,d])};function On(e){let{targetRect:t,tipWidth:n,tipHeight:r,viewportWidth:i}=e,a=t.left+t.width/2,o=Math.max(8,Math.min(Math.round(a-n/2),i-n-8)),s=Math.round(t.top-r-7);return s<8?{top:Math.round(t.bottom+7),left:o,below:!0}:{top:s,left:o,below:!1}}var U=`data-ssg-tooltip`,W=`[${U}], [data-ssg-tooltip-overflow]`,kn=350,An=800,jn=0,Mn=null,G=null,Nn=0,Pn=null;function Fn(){if(Mn!==null)return Mn;let e=document.createElement(`div`);return e.className=`ssg-tooltip`,e.setAttribute(`aria-hidden`,`true`),document.body.appendChild(e),Mn=e,e}function In(){G!==null&&(window.clearTimeout(G),G=null)}function Ln(){In(),Pn!==null&&(Nn=Date.now()+An),Pn=null,Mn!==null&&Mn.classList.remove(`ssg-tooltip--visible`)}function Rn(e){let t=e.getAttribute(U),n=t!==null&&t!==``?t:(e.textContent??``).trim();if(n===``)return;let r=Fn();r.classList.toggle(`ssg-theme-dark`,e.closest(`.ssg-theme-dark`)!==null),r.textContent=n,r.style.left=`0px`,r.style.top=`0px`;let i=On({targetRect:e.getBoundingClientRect(),tipWidth:r.offsetWidth,tipHeight:r.offsetHeight,viewportWidth:window.innerWidth});r.style.left=`${i.left}px`,r.style.top=`${i.top}px`,r.classList.add(`ssg-tooltip--visible`),Pn=e}function zn(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(W);if(n===null||n===Pn||!n.hasAttribute(U)&&n.scrollWidth<=n.clientWidth+1)return;let r=Pn!==null;Ln(),r||Date.now()<Nn?Rn(n):G=window.setTimeout(()=>{G=null,Rn(n)},kn)}function Bn(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(W);if(n===null)return;let r=e.relatedTarget;r instanceof Node&&n.contains(r)||Ln()}function Vn(){Ln()}function Hn(e){e.key===`Escape`&&Ln()}function Un(){window.addEventListener(`pointerover`,zn,!0),window.addEventListener(`pointerout`,Bn,!0),window.addEventListener(`focusin`,zn,!0),window.addEventListener(`focusout`,Bn,!0),window.addEventListener(`pointerdown`,Vn,!0),window.addEventListener(`scroll`,Vn,!0),window.addEventListener(`keydown`,Hn,!0)}function Wn(){window.removeEventListener(`pointerover`,zn,!0),window.removeEventListener(`pointerout`,Bn,!0),window.removeEventListener(`focusin`,zn,!0),window.removeEventListener(`focusout`,Bn,!0),window.removeEventListener(`pointerdown`,Vn,!0),window.removeEventListener(`scroll`,Vn,!0),window.removeEventListener(`keydown`,Hn,!0)}function Gn(){(0,e.useEffect)(()=>(jn+=1,jn===1&&Un(),()=>{--jn,jn===0&&(Wn(),In(),Pn=null,Mn!==null&&(Mn.remove(),Mn=null))}),[])}var Kn=`(prefers-color-scheme: dark)`;function qn(e){if(typeof window.matchMedia!=`function`)return()=>{};let t=window.matchMedia(Kn);return t.addEventListener(`change`,e),()=>{t.removeEventListener(`change`,e)}}function Jn(){return typeof window.matchMedia==`function`?window.matchMedia(Kn).matches:!1}function Yn(){return!1}function Xn(t){let n=(0,e.useSyncExternalStore)(qn,Jn,Yn);return t===`dark`||t===`auto`&&n?`dark`:`light`}function Zn(e,t,n,r){let i=e.find(e=>e.key===t);if(!i)return null;let a=c(i),o={left:[],center:[],right:[]},s=new Map;for(let t of e)o[c(t)].push(t.key),s.set(t.key,t.visible!==!1);let l=o[n].filter(e=>s.get(e)).indexOf(t),u=o[a].indexOf(t);if(u<0)return null;o[a].splice(u,1);let d=r;a===n&&l>=0&&d>l&&--d;let f=o[n].filter(e=>s.get(e));if(d=Math.max(0,Math.min(d,f.length)),a===n&&l>=0&&d===l)return null;let p;return p=d>=f.length?o[n].length:o[n].indexOf(f[d]),o[n].splice(p,0,t),[...o.left,...o.center,...o.right]}var Qn=32,K=2,$n=14,er=12,tr=`<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>`,nr=`<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>`,rr=`<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>`,ir=`0.5`,ar=200,or=`cubic-bezier(0.2, 0.7, 0.3, 1)`,sr=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,q=e=>{if(!e)return null;let t=new Map;return e.querySelectorAll(`[data-ssg-col-key]`).forEach(e=>{let n=e.dataset.ssgColKey;n&&!t.has(n)&&t.set(n,e.getBoundingClientRect().left)}),t},cr=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),l=(0,e.useRef)(null),u=(0,e.useRef)({x:0,y:0}),d=(0,e.useRef)(null),f=(0,e.useRef)(!1),p=(0,e.useRef)(null),m=(0,e.useRef)(null),h=(0,e.useRef)(null),g=(0,e.useRef)(null),_=(0,e.useRef)(null),b=(0,e.useCallback)(()=>{for(let e of[r,i,a])e.current&&(e.current.style.display=`none`)},[]),x=(0,e.useCallback)(e=>{if(h.current)return;let t=document.createElement(`div`);t.setAttribute(`data-grid-drag-ghost`,``),n.current.scrollContainerRef.current?.closest(`.ssg-theme-dark`)!=null&&t.classList.add(`ssg-theme-dark`),t.style.cssText=[`position:fixed`,`top:0`,`left:0`,`display:inline-flex`,`align-items:center`,`gap:7px`,`padding:7px 12px 7px 10px`,`border-radius:9px`,`border:1px solid var(--ssg-ghost-border)`,`background:var(--ssg-ghost-bg)`,`color:var(--ssg-ghost-text)`,`font-size:12px`,`font-weight:600`,`line-height:1`,`white-space:nowrap`,`box-shadow:var(--ssg-ghost-shadow)`,`pointer-events:none`,`user-select:none`,`z-index:9999`,`will-change:transform`,`transform:translate(-9999px,-9999px)`].join(`;`);let r=document.createElement(`span`);r.style.cssText=`display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:none`;let i=document.createElement(`span`);i.textContent=e,t.appendChild(r),t.appendChild(i),document.body.appendChild(t),h.current=t,g.current=r,_.current=null},[]),S=(0,e.useCallback)(e=>{let t=h.current;if(!t)return;let{x:n,y:r}=u.current;t.style.transform=`translate(`+(n+$n)+`px,`+(r+er)+`px)`;let i=e??`out`;if(_.current===i)return;_.current=i;let a=g.current;i===`out`?(t.style.opacity=ir,a&&(a.innerHTML=rr)):(t.style.opacity=`1`,a&&(a.innerHTML=i===`center`?tr:nr))},[]),C=(0,e.useCallback)(()=>{let e=h.current;e&&e.parentNode&&e.parentNode.removeChild(e),h.current=null,g.current=null,_.current=null},[]),w=(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+Qn)return{pane:`left`,slot:0,leftPx:K};if(f&&r.left.entries.length>0){let t=f.getBoundingClientRect();if(e<t.right){let n=e-t.left-c,i=v(r.left,n);return{pane:`left`,slot:i,leftPx:c+y(r.left,i)}}}if(p&&r.right.entries.length===0&&e>=p.getBoundingClientRect().left-Qn)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=v(r.right,n);return{pane:`right`,slot:i,leftPx:u+y(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=v(r.center,Math.max(n,0));return{pane:`center`,slot:i,leftPx:l+y(r.center,i)}}return null},[]),T=(0,e.useCallback)(()=>{let e=w(u.current.x,u.current.y);if(S(e?e.pane:null),!e){s.current=null,b();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`)}},[w,b,S]),E=(0,e.useRef)(()=>{});E.current=(0,e.useCallback)(()=>{if(o.current===null){m.current=null;return}let e=n.current.scrollContainerRef.current;if(e){let t=u.current;if(!f.current){let e=d.current;(!e||Tn(e,t,6))&&(f.current=!0)}if(f.current){let n=e.getBoundingClientRect(),r=Cn({rectLeft:n.left,rectTop:n.top,clientLeft:e.clientLeft,clientTop:e.clientTop,clientWidth:e.clientWidth,clientHeight:e.clientHeight}),i=H(t.x,r.left,r.right,24),a=wn(e.scrollLeft,i,18,e.scrollWidth-e.clientWidth);a!==e.scrollLeft&&e.scrollTo({left:a,behavior:`auto`})}}T(),m.current=requestAnimationFrame(E.current)},[T]);let D=(0,e.useCallback)(e=>{m.current!==null&&(cancelAnimationFrame(m.current),m.current=null),document.body.style.cursor=``,b(),C();let t=o.current,r=s.current;if(o.current=null,s.current=null,!e||!t||!r)return;let{columns:i,applyColumnOrderAndPin:a,scrollContainerRef:u}=n.current,d=Zn(i,t,r.pane,r.slot);if(!d)return;let f=i.find(e=>e.key===t),p=f?c(f):null,h=p!==null&&p===r.pane;l.current=h&&!sr()?q(u.current):null,a(d,new Map([[t,r.pane===`center`?void 0:r.pane]]))},[b,C]),O=(0,e.useCallback)(()=>{let e=l.current;if(l.current=null,!e)return;let t=n.current.scrollContainerRef.current;if(!t)return;let r=new Map,i=new Map;t.querySelectorAll(`[data-ssg-col-key]`).forEach(t=>{let n=t.dataset.ssgColKey;if(!n||!e.has(n))return;let a=r.get(n);a?a.push(t):(r.set(n,[t]),i.set(n,t.getBoundingClientRect().left))});let a=[];if(r.forEach((t,n)=>{let r=e.get(n),o=i.get(n);if(r===void 0||o===void 0)return;let s=r-o;if(!(Math.abs(s)<.5))for(let e of t)e.style.transition=`none`,e.style.transform=`translateX(${s}px)`,e.style.willChange=`transform`,a.push(e)}),a.length!==0){t.getBoundingClientRect();for(let e of a)e.style.transition=`transform ${ar}ms ${or}`,e.style.transform=`translateX(0)`;window.setTimeout(()=>{for(let e of a)e.style.transition=``,e.style.transform=``,e.style.willChange=``},280)}},[]),k=(0,e.useCallback)((e,t)=>{if(!n.current.enabled||t.button!==0)return;t.stopPropagation(),t.preventDefault(),o.current=e.key,u.current={x:t.clientX,y:t.clientY},d.current={x:t.clientX,y:t.clientY},f.current=!1,document.body.style.cursor=`grabbing`,x(e.title||e.key);let r=t.currentTarget,i=t.pointerId;try{r.setPointerCapture(i)}catch{}let a=e=>{e.pointerId===i&&(u.current={x:e.clientX,y:e.clientY},T())};function s(e){e.pointerId===i&&(l(),D(!0))}function c(e){e.pointerId===i&&(l(),D(!1))}let l=()=>{window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),p.current=null;try{r.releasePointerCapture(i)}catch{}};window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,s),window.addEventListener(`pointercancel`,c),p.current=l,T(),m.current=requestAnimationFrame(E.current)},[T,D,x]);return(0,e.useEffect)(()=>()=>{p.current?.(),p.current=null,m.current!==null&&(cancelAnimationFrame(m.current),m.current=null),document.body.style.cursor=``;let e=h.current;e&&e.parentNode&&e.parentNode.removeChild(e),h.current=null,g.current=null,_.current=null},[]),{onColumnDragHandlePointerDown:k,leftIndicatorRef:r,centerIndicatorRef:i,rightIndicatorRef:a,applyReorderSettle:O}},lr=e=>e===``?`(空白)`:`"${e}"`,ur=e=>{switch(e.kind){case`text`:case`date`:return`"${e.value.trim()}" を含む`;case`select`:return`"${e.value}" に一致`;case`number`:return e.raw;case`set`:return(e.mode??`include`)===`exclude`?`${e.values.length} 件を除外`:e.values.length>0&&e.values.length<=2?e.values.map(lr).join(`, `):`${e.values.length} 件を選択`;case`custom`:return typeof e.value==`string`&&e.value.trim().length>0?`"${e.value.trim()}"`:`カスタム条件`}},dr=(e,t,n,r)=>{if(n===0||r===0)return null;let i=n-1,a=r-1;if(e?.type===`cell`){let t=se(e.range);return{startRow:o(t.start.row,0,i),endRow:o(t.end.row,0,i),startCol:o(t.start.col,0,a),endCol:o(t.end.col,0,a)}}if(e?.type===`row`){let t=ce(e.startRow,e.endRow);return{startRow:o(t.startRow,0,i),endRow:o(t.endRow,0,i),startCol:0,endCol:a}}if(e?.type===`col`){let t=le(e.startCol,e.endCol);return{startRow:0,endRow:i,startCol:o(t.startCol,0,a),endCol:o(t.endCol,0,a)}}return t?t.row>i||t.col>a?null:{startRow:t.row,endRow:t.row,startCol:t.col,endCol:t.col}:null},fr=({rows:e,resolveSourceIndex:t,columns:n,selection:r,activeCell:i,viewRowCount:a,canWriteCell:o})=>{let s=dr(r,i,a,n.length);if(!s)return{nextRows:e,changed:!1};let c=[...e],l=!1;for(let e=s.startRow;e<=s.endRow;e+=1){let r=t(e);if(r===void 0)continue;let i=c[r];if(!i)continue;let a=i,u=!1;for(let e=s.startCol;e<=s.endCol;e+=1){let t=n[e];if(!t||!o(r,e,i,t))continue;let s=ze(t)(``,i);Object.is(L(a,t),s)||lt(t,i,s).action!==`reject`&&(a=Ae(a,t,s),u=!0)}u&&(c[r]=a,l=!0)}return l?{nextRows:c,changed:l}:{nextRows:e,changed:!1}},pr=({getRow:e,columns:t,selection:n,activeCell:r,viewRowCount:i,canWriteCell:a})=>{let o=dr(n,r,i,t.length);if(!o)return[];let s=[];for(let n=o.startRow;n<=o.endRow;n+=1){let r=e(n);if(r)for(let e=o.startCol;e<=o.endCol;e+=1){let i=t[e];if(!i||!a(n,e,r,i))continue;let o=ze(i)(``,r);Object.is(L(r,i),o)||lt(i,r,o).action!==`reject`&&s.push({viewIndex:n,column:i,value:o})}}return s},mr=e=>{let{mode:t,isServerSide:n,rowCount:r,hasAutoSizedOnMount:i}=e;return t===!1||n||r===0?{shouldRun:!1,nextHasAutoSizedOnMount:i}:t===`onMount`?i?{shouldRun:!1,nextHasAutoSizedOnMount:!0}:{shouldRun:!0,nextHasAutoSizedOnMount:!0}:{shouldRun:!0,nextHasAutoSizedOnMount:i}},hr=(e,t,n)=>{let r=!1,i=e.map(e=>{let i=n[e.key]??e.width,a=t.get(e.key);if(!a)return i===e.width?e:{...e,width:i};let o=a.pinned??void 0,s=i!==a.width,c=(e.pinned??void 0)!==o,l=e.visible!==!1!=(a.visible!==!1);return(s||c||l)&&(r=!0),{...e,width:a.width,pinned:a.pinned,visible:a.visible}}),a=new Map(i.map(e=>[e.key,e])),o=[];for(let e of t.keys()){let t=a.get(e);t&&o.push(t)}let s=i.filter(e=>!t.has(e.key)),c=[...o,...s],l=c.some((t,n)=>e[n].key!==t.key);return!r&&!l?null:c},gr=(e,t)=>e.includes(t)||e.includes(`"`)||e.includes(`
8
+ `)},[n,r]);return{isWholeGridSelected:g,handleCopy:(0,e.useCallback)(async()=>{let e=g?_():ft(n.getRow,n.getRowCount(),r,i.selection);e&&await gt(e)},[g,n,_,i.selection,r]),handlePaste:(0,e.useCallback)(e=>{if(s||!d&&!p||!i.activeCell)return;let h=e.clipboardData.getData(`text/plain`);if(!h)return;e.preventDefault();let g=dt(h);if(g.length===0)return;let _=g.reduce((e,t)=>Math.max(e,t.length),0);if(_===0)return;let v=i.activeCell.row,y=i.activeCell.col;if(p){let e=mt(e=>n.getRow(e),r,g,v,y,(e,t,n,r)=>ke({readOnly:s,canEditCell:c},e,t,n,r));e.length>0&&p(e);let t=o(i.activeCell.row+Math.max(g.length-1,0),0,Math.max(n.getRowCount()-1,0)),l=o(i.activeCell.col+Math.max(_-1,0),0,Math.max(r.length-1,0));m(a.startSelection(i.activeCell)),m(a.updateSelection({row:t,col:l})),m(a.endSelection()),m(a.activateCell(i.activeCell));return}if(!d)return;let b=n.getSourceIndex(v);if(b===void 0)return;let x=i.activeCell.col,S=[...t],C=[...r],w=n.getRowCount(),T=S.length,E=e=>e<w?n.getSourceIndex(e):T+(e-w),D=b+g.length;if(D>S.length&&l)for(;S.length<D;)S.push(l());let O=x+_;if(O>C.length&&f&&u){for(;C.length<O;)C.push(u(C.length));f(C)}let k=pt(S,E,C,g,v,x,(e,t,n,r)=>ke({readOnly:s,canEditCell:c},e,t,n,r)),A=o(i.activeCell.row+Math.max(g.length-1,0),0,Math.max(Math.max(n.getRowCount()-1,0),v+g.length-1)),j=o(i.activeCell.col+Math.max((g[0]?.length??1)-1,0),0,Math.max(Math.max(C.length-1,0),x+_-1));d(k),m(a.startSelection(i.activeCell)),m(a.updateSelection({row:A,col:j})),m(a.endSelection()),m(a.activateCell(i.activeCell))},[p,c,u,l,m,f,d,s,n,t,i.activeCell,r])}},R=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},vt=(e,t,n)=>e?e(t):n,yt=(e,t=16)=>e.length<=t?e:`${e.slice(0,t)}…`,bt=e=>e?`${R(e.col)}${e.row+1}`:`なし`,xt=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`${R(r)}${t+1} - ${R(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 ${R(t)} - ${R(n)}`},St=(e,t)=>`Rows: ${t} / ${e.rows.length}`,Ct=e=>`Columns: ${e.visibleColumns.length} / ${e.columns.length}`,wt=(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}},Tt=(e,t)=>{let n=wt(e,t);return`Cells: ${n.selectedCellCount} / Rows: ${n.selectedRowCount}`},Et=e=>Object.values(e).filter(e=>Ge(e)).length,z=e=>{let t=e.globalFilterText.trim().length>0,n=t?yt(e.globalFilterText.trim()):null,r=Et(e.columnFilterValues);return!t&&r===0?`Filter: なし`:t&&r===0?`Filter: Global("${n}")`:!t&&r>0?`Filter: ${r}列`:`Filter: Global("${n}") + ${r}列`},Dt=(e,t)=>{let n=e.find(e=>e.key===t);return n?.title||n?.key||t},Ot=e=>e.sortState.length===0?`Sort: なし`:`Sort: ${e.sortState.map(t=>`${Dt(e.columns,t.columnKey)} (${t.direction===`asc`?`昇順`:`降順`})`).join(`, `)}`,kt=(e,t)=>{let n=wt(e,t),r=e.globalFilterText.trim().length>0,i=r?yt(e.globalFilterText.trim()):null,a=Et(e.columnFilterValues),o=r||a>0,s=e.sortState.length>0,c=s?Dt(e.columns,e.sortState[0].columnKey):null;return{rowSummaryText:St(e,t),columnSummaryText:Ct(e),filterSummaryText:z(e),sortSummaryText:Ot(e),activeCellLabel:bt(e.activeCell),selectionLabel:xt(e.selection),selectionStatsText:Tt(e,t),selectionStats:n,hasGlobalFilter:r,globalFilterPreview:i,activeColumnFilterCount:a,hasAnyFilter:o,hasSorting:s,sortedColumnLabel:c}},At=({rows:t,viewRowCount:n,getFilteredRows:r,columns:i,visibleColumns:a,uiState:o,setGlobalFilterText:s,globalFilterStatus:c,globalFilterProgress:l})=>{let u=ue(o),d=o.filters.columnFilters,f=o.sort,p=o.activeCell,m=o.selection,h=(0,e.useMemo)(()=>({rows:t,columns:i,visibleColumns:a,globalFilterText:u,columnFilterValues:d,sortState:f,activeCell:p,selection:m}),[t,i,a,u,d,f,p,m]),g=(0,e.useMemo)(()=>kt(h,n),[h,n]);return{slotContextBase:h,derivedSummary:g,slotContext:(0,e.useMemo)(()=>({...h,get filteredRows(){return r()},setGlobalFilterText:s,derivedSummary:g,globalFilterStatus:c,globalFilterProgress:l}),[g,r,s,h,c,l])}},jt=({uiState:t,rows:n,visibleColumns:r,rowModel:i,setEditorInitialValue:o,onRowsChange:s,applyServerSideCellEdits:c,dispatch:l,getMovedCell:u,gridRootRef:d,editorActionGuardRef:f})=>{let p=(0,e.useCallback)(e=>{l(a.startSelection(e)),l(a.endSelection()),l(a.activateCell(e))},[l]);return{activateSingleCell:p,startEditWithValue:(0,e.useCallback)((e,t)=>{o(t),l(a.startEdit(e))},[l,o]),commitEdit:(0,e.useCallback)((e,o)=>{if(f.current||!t.editingCell)return{status:`noop`};let m=t.editingCell,h=o===`down`?u(m,1,0):o===`right`?u(m,0,1):o===`left`?u(m,0,-1):m,g=r[m.col],_=i.getSourceIndex(m.row),v=c?i.getRow(m.row):n[_];if(!g||!v)return l(a.stopEdit()),{status:`noop`};if(c){let t=Be(g,e,v),n=lt(g,v,t);if(n.action===`reject`)return{status:`rejected`,message:n.message};c([{viewIndex:m.row,column:g,value:t}])}else if(s){let t=Be(g,e,v),r=lt(g,v,t);if(r.action===`reject`)return{status:`rejected`,message:r.message};s(Ve(n,_,g,t))}return f.current=!0,requestAnimationFrame(()=>{d.current?.focus(),p(h),f.current=!1}),l(a.stopEdit()),{status:`committed`}},[p,c,l,f,i,u,d,s,n,t.editingCell,r]),cancelEdit:(0,e.useCallback)(()=>{f.current||(f.current=!0,l(a.stopEdit()),requestAnimationFrame(()=>{d.current?.focus(),f.current=!1}))},[l,f,d])}},Mt=()=>({past:[],future:[]}),Nt=e=>e.past.length>0,Pt=e=>e.future.length>0,Ft=(e,t,n)=>{if(n<=0)return e;let r=[...e.past,t];return{past:r.length>n?r.slice(r.length-n):r,future:[]}},It=(e,t)=>{if(e.past.length===0)return null;let n=e.past[e.past.length-1];return{stack:{past:e.past.slice(0,-1),future:[...e.future,t]},snapshot:n}},Lt=(e,t)=>{if(e.future.length===0)return null;let n=e.future[e.future.length-1];return{stack:{past:[...e.past,t],future:e.future.slice(0,-1)},snapshot:n}},Rt=({rows:t,selection:n,activeCell:r,onRowsChange:i,dispatch:o,enabled:s,limit:c,onUndoRedoStateChange:l,onAfterRestore:u})=>{let d=(0,e.useRef)(Mt()),f=(0,e.useRef)(null),p=(0,e.useRef)(t),m=(0,e.useRef)({canUndo:!1,canRedo:!1}),h=(0,e.useCallback)(()=>{let e={canUndo:s&&i!=null&&Nt(d.current),canRedo:s&&i!=null&&Pt(d.current)};e.canUndo===m.current.canUndo&&e.canRedo===m.current.canRedo||(m.current=e,l?.(e))},[s,i,l]);(0,e.useEffect)(()=>{h()},[h]),(0,e.useEffect)(()=>{if(t!==p.current){if(p.current=t,f.current===t){f.current=null;return}f.current=null,d.current=Mt(),h()}},[t,h]);let g=(0,e.useCallback)(e=>{let t=e.selection;t?.type===`cell`?(o(a.startSelection(t.range.start)),o(a.updateSelection(t.range.end)),o(a.endSelection())):t?.type===`row`?(o(a.startRowSelection(t.startRow)),o(a.updateRowSelection(t.endRow)),o(a.endSelection())):t?.type===`col`?(o(a.startColumnSelection(t.startCol)),o(a.updateColumnSelection(t.endCol)),o(a.endSelection())):o(a.clearSelection()),o(a.activateCell(e.activeCell))},[o]);return{handleRowsChange:(0,e.useMemo)(()=>{if(i)return e=>{s&&(d.current=Ft(d.current,{rows:t,selection:n,activeCell:r},c),f.current=e,h()),i(e)}},[r,s,c,h,i,t,n]),undo:(0,e.useCallback)(()=>{if(!s||!i)return;let e=It(d.current,{rows:t,selection:n,activeCell:r});e&&(d.current=e.stack,f.current=e.snapshot.rows,i(e.snapshot.rows),g(e.snapshot),u?.(e.snapshot.activeCell),h())},[r,s,h,u,i,g,t,n]),redo:(0,e.useCallback)(()=>{if(!s||!i)return;let e=Lt(d.current,{rows:t,selection:n,activeCell:r});e&&(d.current=e.stack,f.current=e.snapshot.rows,i(e.snapshot.rows),g(e.snapshot),u?.(e.snapshot.activeCell),h())},[r,s,h,u,i,g,t,n]),canUndo:(0,e.useCallback)(()=>s&&i!=null&&Nt(d.current),[s,i]),canRedo:(0,e.useCallback)(()=>s&&i!=null&&Pt(d.current),[s,i]),clearHistory:(0,e.useCallback)(()=>{d.current=Mt(),h()},[h])}},zt=e=>e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey,Bt=e=>e instanceof HTMLElement?e.closest(`input, textarea, select, button, [contenteditable="true"]`)!==null:!1,Vt=({uiState:t,rowModel:n,visibleColumns:r,readOnly:i,canEditCell:s,setEditorInitialValue:c,dispatch:l,handleCopy:u,handleCellDoubleClick:d,isWholeGridSelected:f,selectEntireGrid:p,onUndo:m,onRedo:h,onClearSelection:g,enableClearOnDelete:_,onToggleCheckboxCell:v,onToggleGroup:y})=>{let b=n.getRowCount(),x=(0,e.useCallback)((e,t,n)=>({row:o(e.row+t,0,Math.max(b-1,0)),col:o(e.col+n,0,Math.max(r.length-1,0))}),[b,r.length]),S=(0,e.useCallback)((e,n,i)=>{if(b===0||r.length===0)return;let s=t.activeCell??{row:0,col:0},c={row:o(s.row+e,0,b-1),col:o(s.col+n,0,r.length-1)};if(i){let e=t.selection?.type===`cell`?t.selection.range.start:s;l(a.startSelection(e)),l(a.updateSelection(c)),l(a.endSelection()),l(a.activateCell(c));return}l(a.startSelection(c)),l(a.endSelection()),l(a.activateCell(c))},[l,b,t.activeCell,t.selection,r.length]);return{getMovedCell:x,handleKeyDown:(0,e.useCallback)(async e=>{if(!Bt(e.target)&&!t.editingCell){if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`c`){e.preventDefault(),await u();return}if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`a`){if(e.preventDefault(),f){l(a.clearSelection()),l(a.activateCell(null));return}p();return}if((e.ctrlKey||e.metaKey)&&!e.nativeEvent.isComposing){if(e.key.toLowerCase()===`z`){e.preventDefault(),e.shiftKey?h():m();return}if(e.key.toLowerCase()===`y`&&!e.shiftKey){e.preventDefault(),h();return}}if(e.key===`ArrowUp`){e.preventDefault(),S(-1,0,e.shiftKey);return}if(e.key===`ArrowDown`){e.preventDefault(),S(1,0,e.shiftKey);return}if(e.key===`ArrowLeft`){e.preventDefault(),S(0,-1,e.shiftKey);return}if(e.key===`ArrowRight`){e.preventDefault(),S(0,1,e.shiftKey);return}if(e.key===`Tab`){e.preventDefault(),S(0,e.shiftKey?-1:1,!1);return}if(e.key===`Escape`){e.preventDefault(),l(a.clearSelection());return}if((e.key===`Delete`||e.key===`Backspace`)&&_){e.preventDefault(),g();return}if((e.key===`Enter`||e.key===` `)&&t.activeCell){let r=n.getGroupRow?.(t.activeCell.row);if(r){e.preventDefault(),y(r.groupKey);return}}if(e.key===`Enter`||e.key===`F2`){e.preventDefault(),t.activeCell&&d(t.activeCell);return}if(zt(e)&&t.activeCell){let o=n.getRow(t.activeCell.row),u=r[t.activeCell.col];if(!o||!u||!ke({readOnly:i,canEditCell:s},t.activeCell.row,t.activeCell.col,o,u))return;if(u.editor?.type===`checkbox`){e.preventDefault(),e.key===` `&&v(t.activeCell);return}e.preventDefault(),c(e.key),l(a.startEdit(t.activeCell))}}},[s,l,n,d,u,f,S,g,_,h,v,y,m,i,p,c,t.activeCell,t.editingCell,r])}},Ht=new Intl.Collator(`ja`,{numeric:!0,sensitivity:`base`}),Ut=(e,t)=>{let n=Number(e),r=Number(t);return Number.isFinite(n)&&Number.isFinite(r)?n-r:Ht.compare(String(e??``),String(t??``))},Wt=(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)},Gt=(e,t,n)=>e.some(e=>e.columnKey===t)?e:[...e,{columnKey:t,direction:n}],Kt=(e,t,n)=>t<0||t>=e.length||e[t].direction===n?e:e.map((e,r)=>r===t?{...e,direction:n}:e),qt=(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),Jt=(e,t)=>t<0||t>=e.length?e:e.filter((e,n)=>n!==t),Yt=(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},Xt=(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(L(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]=L(e[t[i]],n);return r});u.sort((e,r)=>{for(let t=0;t<o;t+=1){let i=Ut(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},Zt=[`sum`,`min`,`max`,`avg`,`count`],Qt=e=>typeof e==`string`&&Zt.includes(e),$t=()=>({count:0,numericCount:0,sum:0,min:1/0,max:-1/0}),en=(e,t)=>{if(e.count+=1,t==null||t===``)return;let n=Number(t);Number.isFinite(n)&&(e.numericCount+=1,e.sum+=n,n<e.min&&(e.min=n),n>e.max&&(e.max=n))},tn=(e,t)=>{switch(e){case`count`:return t.count;case`sum`:return t.numericCount>0?t.sum:void 0;case`avg`:return t.numericCount>0?t.sum/t.numericCount:void 0;case`min`:return t.numericCount>0?t.min:void 0;case`max`:return t.numericCount>0?t.max:void 0}},nn=`(空白)`,rn=`__ssg-group__:`,an=`__ssg_group__`,on=e=>rn+e.groupKey,sn=e=>e<0,cn=e=>-e-1,ln=e=>{if(e==null||e===``)return`e`;let t=typeof e;return`${t===`number`?`n`:t===`boolean`?`b`:t===`string`?`s`:`o`}:${String(e)}`},un=e=>({groupColumns:e.filter(e=>e.rowGroup===!0),aggColumns:e.filter(e=>e.aggFunc!=null)}),dn=(e,t,n,r)=>{let i=n.length,a=r.length,o=r.map(e=>typeof e.aggFunc==`function`),s=o.includes(!0),c=[],l=new Map,u=0,d=(e,t,n,i,a)=>{let s=`${t.key}\u0001${n}`,c=n===`e`;return u+=1,{groupRow:{kind:`group`,groupKey:e===null?s:`${e}\u0000${s}`,columnKey:t.key,value:c?null:i,label:c?nn:String(i),level:a,leafCount:0,aggregates:{}},children:[],childIndex:new Map,leafSourceIndexes:[],accumulators:r.map(()=>$t()),customValues:o.map(e=>e?[]:null),customRows:[]}},f=t.length;for(let o=0;o<f;o+=1){let u=t[o],f=e[u],p=null;if(a>0){p=Array(a);for(let e=0;e<a;e+=1)p[e]=L(f,r[e])}let m=c,h=l,g=null;for(let e=0;e<i;e+=1){let t=n[e],r=L(f,t),o=ln(r),c=h.get(o);if(c||(c=d(g,t,o,r,e),m.push(c),h.set(o,c)),c.groupRow.leafCount+=1,p!==null){for(let e=0;e<a;e+=1){en(c.accumulators[e],p[e]);let t=c.customValues[e];t!==null&&t.push(p[e])}s&&c.customRows.push(f)}e===i-1&&c.leafSourceIndexes.push(u),m=c.children,h=c.childIndex,g=c.groupRow.groupKey}}let p=e=>{for(let t=0;t<a;t+=1){let n=r[t];o[t]?e.groupRow.aggregates[n.key]=n.aggFunc({values:e.customValues[t]??[],rows:e.customRows,column:n}):Qt(n.aggFunc)&&(e.groupRow.aggregates[n.key]=tn(n.aggFunc,e.accumulators[t]))}for(let t of e.children)p(t)};for(let e of c)p(e);return{roots:c,groupCount:u}},fn=(e,t)=>{let n=[],r=[],i=e=>{if(r.push(e.groupRow),n.push(-r.length),!t.has(e.groupRow.groupKey)){if(e.children.length>0){for(let t of e.children)i(t);return}for(let t of e.leafSourceIndexes)n.push(t)}};for(let t of e.roots)i(t);return{displayOrder:Int32Array.from(n),groups:r}},pn=e=>{let t=[],n=e=>{t.push(e.groupRow);for(let t of e.children)n(t)};for(let t of e.roots)n(t);return t},mn=e=>pn(e).map(e=>e.groupKey),hn=15e6,gn=(e,t,n,r)=>e&&t&&n>0&&n<=r,B=1<<20,_n=(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))}),vn=(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}},yn=(e,t)=>e*t,bn=(e,t)=>t===1?e:e/t,V=(e,t,n,r)=>{let i=t*(1-n);return r.rowAtContentY(e-i)},xn=({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/B)*B,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}},Sn=({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}},Cn=({rectLeft:e,rectTop:t,clientLeft:n,clientTop:r,clientWidth:i,clientHeight:a})=>{let o=e+n,s=t+r;return{left:o,top:s,right:o+i,bottom:s+a}},H=(e,t,n,r)=>e<t+r?-1:+(e>n-r),wn=(e,t,n,r)=>{if(t===0)return e;let i=Math.max(r,0),a=e+t*n;return a<0?0:a>i?i:a},Tn=(e,t,n)=>{let r=t.x-e.x,i=t.y-e.y;return r*r+i*i>=n*n},En=({gridRootRef:t,bodyScrollRef:n,scrollContainerRef:r,leftPaneScrollRef:i,rightPaneScrollRef:s,pointerClientRef:c,autoScrollFrameRef:l,uiState:u,dispatch:d,enableRangeSelection:f,enableSorting:p,orderedColumns:m,filteredRowsLength:h,visibleColumnsLength:g,paneLayout:v,leftLeadingWidth:y,centerLeadingWidth:b,rightLeadingWidth:x,headerHeight:S,rowMetrics:C,verticalScaleFactor:w,setHoveredRowIndex:T,setHoveredColumnIndex:E,enableRowHover:D,enableColumnHeaderHover:O,enableRowSelection:k,onGutterRowSelect:A,onGutterRowSelectDrag:j})=>{let M=(0,e.useRef)(u.dragState);M.current=u.dragState;let ee=(0,e.useRef)(!1),N=(0,e.useRef)(null),P=(0,e.useRef)(null),F=(0,e.useRef)(!1),I=(0,e.useRef)(u.sort);I.current=u.sort;let te=(0,e.useRef)(m);te.current=m;let ne=(0,e.useRef)(p);ne.current=p;let re=u.dragState?.type??null,ie=(0,e.useCallback)((e,t)=>{let a=n.current;if(!a||h===0||g===0)return null;let c=a.getBoundingClientRect(),l=V(a.scrollTop+t-c.top-S,r.current?.scrollTop??0,w,C),u=null,d=i.current;if(u===null&&d&&v.left.entries.length>0){let t=d.getBoundingClientRect();if(e<t.right){let n=e-t.left-y;u=_(v.left,n)}}let f=s.current;if(u===null&&f&&v.right.entries.length>0){let t=f.getBoundingClientRect();if(e>=t.left){let n=e-t.left-x;u=_(v.right,n)}}if(u===null&&v.center.entries.length>0){let t=a.scrollLeft+e-c.left-b;u=_(v.center,Math.max(t,0))}return u===null?null:{row:l,col:o(u,0,g-1)}},[n,i,s,r,h,g,v,y,b,x,S,C,w]),ae=(0,e.useRef)(ie);(0,e.useEffect)(()=>{ae.current=ie},[ie]);let oe=(0,e.useCallback)((e,t)=>{let n=M.current;if(!n||n.type!==`selection`)return;let r=ie(e,t);if(r){if(n.selectionKind===`cell`){d(a.updateSelection(r));return}if(n.selectionKind===`row`){d(a.updateRowSelection(r.row));return}n.selectionKind===`col`&&d(a.updateColumnSelection(r.col))}},[d,ie]);(0,e.useEffect)(()=>{let e=e=>{c.current={x:e.clientX,y:e.clientY},re===`columnResize`&&d(a.updateColumnResize(e.clientX))},t=()=>{ee.current=!1,d(a.endSelection()),d(a.endColumnResize())};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},[d,c,re]),(0,e.useEffect)(()=>{if(re!==`selection`){l.current!==null&&(cancelAnimationFrame(l.current),l.current=null);return}let e=()=>{let t=r.current,n=c.current;if(!t||!n){l.current=requestAnimationFrame(e);return}if(!F.current){let t=P.current;if(t&&!Tn(t,n,6)){l.current=requestAnimationFrame(e);return}F.current=!0}let i=t.getBoundingClientRect(),a=Cn({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=M.current?.type===`selection`&&M.current.selectionKind===`col`,s=M.current?.type===`selection`&&M.current.selectionKind===`row`,u=o?0:H(n.y,a.top,a.bottom,24),d=s?0:H(n.x,a.left,a.right,24),f=wn(t.scrollTop,u,18,t.scrollHeight-t.clientHeight),p=wn(t.scrollLeft,d,18,t.scrollWidth-t.clientWidth);(f!==t.scrollTop||p!==t.scrollLeft)&&(t.scrollTo({top:f,left:p,behavior:`auto`}),oe(n.x,n.y)),l.current=requestAnimationFrame(e)};return l.current=requestAnimationFrame(e),()=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null)}},[l,r,c,re,oe]);let se=(0,e.useCallback)((e,n)=>{n.preventDefault(),n.button===0&&(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},P.current={x:n.clientX,y:n.clientY},F.current=!1,d(a.activateCell(e)),f&&d(a.startSelection(e)))},[d,f,t,c]),ce=(0,e.useCallback)((e,t)=>{if(D&&T(e.row),!f)return;let n=M.current;n?.type!==`selection`||n.selectionKind!==`cell`||(c.current={x:t.clientX,y:t.clientY},d(a.updateSelection(e)))},[d,f,c,T,D]),le=(0,e.useCallback)(e=>{e.preventDefault()},[]),ue=(0,e.useCallback)(()=>{if(N.current!==null)return;let e=()=>{if(!ee.current){N.current=null;return}let t=r.current,n=c.current;if(!t||!n){N.current=requestAnimationFrame(e);return}if(!F.current){let t=P.current;if(t&&!Tn(t,n,6)){N.current=requestAnimationFrame(e);return}F.current=!0}let i=t.getBoundingClientRect(),a=Cn({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=H(n.y,a.top,a.bottom,24),s=wn(t.scrollTop,o,18,t.scrollHeight-t.clientHeight);if(s!==t.scrollTop){t.scrollTo({top:s,left:t.scrollLeft,behavior:`auto`});let e=ae.current(n.x,n.y);e&&j(e.row)}N.current=requestAnimationFrame(e)};N.current=requestAnimationFrame(e)},[r,c,j]);return(0,e.useEffect)(()=>()=>{N.current!==null&&(cancelAnimationFrame(N.current),N.current=null)},[]),{updateSelectionFromPointer:oe,handleCellPointerDown:se,handleCellPointerEnter:ce,handleNativeDragStart:le,handleRowHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},P.current={x:n.clientX,y:n.clientY},F.current=!1,k){ee.current=!0,A(e,{shiftKey:n.shiftKey}),ue();return}d(a.startRowSelection(e))}},[d,t,k,A,ue,c]),handleRowHeaderPointerEnter:(0,e.useCallback)((e,t)=>{if(D&&T(e),ee.current){c.current={x:t.clientX,y:t.clientY},j(e);return}let n=M.current;n?.type!==`selection`||n.selectionKind!==`row`||(c.current={x:t.clientX,y:t.clientY},d(a.updateRowSelection(e)))},[d,c,T,D,j]),handleColumnHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},P.current={x:n.clientX,y:n.clientY},F.current=!1,n.shiftKey&&ne.current){let t=te.current[e];if(t&&t.key!==`__ssg_group__`){let e=I.current,n=e.find(e=>e.columnKey===t.key)?.direction?`desc`:`asc`,r=Wt(e,t.key,n,!0);d(r.length===0?a.clearSort():a.setSort(r))}return}d(a.startColumnSelection(e))}},[d,t,c]),handleColumnHeaderPointerEnter:(0,e.useCallback)((e,t)=>{T(null),O&&E(e);let n=M.current;n?.type!==`selection`||n.selectionKind!==`col`||(c.current={x:t.clientX,y:t.clientY},d(a.updateColumnSelection(e)))},[d,c,T,E,O])}},Dn=({scrollRef:t,columnVirtualizer:n,columnMeasurements:r,totalScrollWidth:i,physicalBodyHeight:a,headerHeight:o,leftPaneWidth:s,rightPaneWidth:c,centerLeadingWidth:l,activeCellRect:u,activeCell:d,verticalScaleFactor:f})=>{(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]);let p=(0,e.useRef)(null);(0,e.useEffect)(()=>{let e=p.current,n=e!==null&&d!==null&&e.row===d.row&&e.col===d.col;if(p.current=d,n||!t.current||!u)return;let r=t.current,i=o+u.top,a=i+u.height,m=s+l+u.left,h=m+u.width,g=yn(r.scrollTop,f),_=r.scrollLeft,v=r.clientHeight,y=r.clientWidth,b=g,x=_,S=g+o,C=g+v;i<S?b=Math.max(i-o,0):a>C&&(b=Math.max(a-v,0));let w=_+s,T=_+y-c;m<w?x=Math.max(m-s,0):h>T&&(x=Math.max(h-y+c,0)),(b!==g||x!==_)&&r.scrollTo({top:bn(b,f),left:x,behavior:`auto`})},[t,u,d,o,s,c,l,f])};function On(e){let{targetRect:t,tipWidth:n,tipHeight:r,viewportWidth:i}=e,a=t.left+t.width/2,o=Math.max(8,Math.min(Math.round(a-n/2),i-n-8)),s=Math.round(t.top-r-7);return s<8?{top:Math.round(t.bottom+7),left:o,below:!0}:{top:s,left:o,below:!1}}var U=`data-ssg-tooltip`,W=`[${U}], [data-ssg-tooltip-overflow]`,kn=350,An=800,jn=0,Mn=null,G=null,Nn=0,Pn=null;function Fn(){if(Mn!==null)return Mn;let e=document.createElement(`div`);return e.className=`ssg-tooltip`,e.setAttribute(`aria-hidden`,`true`),document.body.appendChild(e),Mn=e,e}function In(){G!==null&&(window.clearTimeout(G),G=null)}function Ln(){In(),Pn!==null&&(Nn=Date.now()+An),Pn=null,Mn!==null&&Mn.classList.remove(`ssg-tooltip--visible`)}function Rn(e){let t=e.getAttribute(U),n=t!==null&&t!==``?t:(e.textContent??``).trim();if(n===``)return;let r=Fn();r.classList.toggle(`ssg-theme-dark`,e.closest(`.ssg-theme-dark`)!==null),r.textContent=n,r.style.left=`0px`,r.style.top=`0px`;let i=On({targetRect:e.getBoundingClientRect(),tipWidth:r.offsetWidth,tipHeight:r.offsetHeight,viewportWidth:window.innerWidth});r.style.left=`${i.left}px`,r.style.top=`${i.top}px`,r.classList.add(`ssg-tooltip--visible`),Pn=e}function zn(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(W);if(n===null||n===Pn||!n.hasAttribute(U)&&n.scrollWidth<=n.clientWidth+1)return;let r=Pn!==null;Ln(),r||Date.now()<Nn?Rn(n):G=window.setTimeout(()=>{G=null,Rn(n)},kn)}function Bn(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(W);if(n===null)return;let r=e.relatedTarget;r instanceof Node&&n.contains(r)||Ln()}function Vn(){Ln()}function Hn(e){e.key===`Escape`&&Ln()}function Un(){window.addEventListener(`pointerover`,zn,!0),window.addEventListener(`pointerout`,Bn,!0),window.addEventListener(`focusin`,zn,!0),window.addEventListener(`focusout`,Bn,!0),window.addEventListener(`pointerdown`,Vn,!0),window.addEventListener(`scroll`,Vn,!0),window.addEventListener(`keydown`,Hn,!0)}function Wn(){window.removeEventListener(`pointerover`,zn,!0),window.removeEventListener(`pointerout`,Bn,!0),window.removeEventListener(`focusin`,zn,!0),window.removeEventListener(`focusout`,Bn,!0),window.removeEventListener(`pointerdown`,Vn,!0),window.removeEventListener(`scroll`,Vn,!0),window.removeEventListener(`keydown`,Hn,!0)}function Gn(){(0,e.useEffect)(()=>(jn+=1,jn===1&&Un(),()=>{--jn,jn===0&&(Wn(),In(),Pn=null,Mn!==null&&(Mn.remove(),Mn=null))}),[])}var Kn=`(prefers-color-scheme: dark)`;function qn(e){if(typeof window.matchMedia!=`function`)return()=>{};let t=window.matchMedia(Kn);return t.addEventListener(`change`,e),()=>{t.removeEventListener(`change`,e)}}function Jn(){return typeof window.matchMedia==`function`?window.matchMedia(Kn).matches:!1}function Yn(){return!1}function Xn(t){let n=(0,e.useSyncExternalStore)(qn,Jn,Yn);return t===`dark`||t===`auto`&&n?`dark`:`light`}function Zn(e,t,n,r){let i=e.find(e=>e.key===t);if(!i)return null;let a=c(i),o={left:[],center:[],right:[]},s=new Map;for(let t of e)o[c(t)].push(t.key),s.set(t.key,t.visible!==!1);let l=o[n].filter(e=>s.get(e)).indexOf(t),u=o[a].indexOf(t);if(u<0)return null;o[a].splice(u,1);let d=r;a===n&&l>=0&&d>l&&--d;let f=o[n].filter(e=>s.get(e));if(d=Math.max(0,Math.min(d,f.length)),a===n&&l>=0&&d===l)return null;let p;return p=d>=f.length?o[n].length:o[n].indexOf(f[d]),o[n].splice(p,0,t),[...o.left,...o.center,...o.right]}var Qn=32,K=2,$n=14,er=12,tr=`<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>`,nr=`<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>`,rr=`<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>`,ir=`0.5`,ar=200,or=`cubic-bezier(0.2, 0.7, 0.3, 1)`,sr=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,q=e=>{if(!e)return null;let t=new Map;return e.querySelectorAll(`[data-ssg-col-key]`).forEach(e=>{let n=e.dataset.ssgColKey;n&&!t.has(n)&&t.set(n,e.getBoundingClientRect().left)}),t},cr=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),l=(0,e.useRef)(null),u=(0,e.useRef)({x:0,y:0}),d=(0,e.useRef)(null),f=(0,e.useRef)(!1),p=(0,e.useRef)(null),m=(0,e.useRef)(null),h=(0,e.useRef)(null),g=(0,e.useRef)(null),_=(0,e.useRef)(null),b=(0,e.useCallback)(()=>{for(let e of[r,i,a])e.current&&(e.current.style.display=`none`)},[]),x=(0,e.useCallback)(e=>{if(h.current)return;let t=document.createElement(`div`);t.setAttribute(`data-grid-drag-ghost`,``),n.current.scrollContainerRef.current?.closest(`.ssg-theme-dark`)!=null&&t.classList.add(`ssg-theme-dark`),t.style.cssText=[`position:fixed`,`top:0`,`left:0`,`display:inline-flex`,`align-items:center`,`gap:7px`,`padding:7px 12px 7px 10px`,`border-radius:9px`,`border:1px solid var(--ssg-ghost-border)`,`background:var(--ssg-ghost-bg)`,`color:var(--ssg-ghost-text)`,`font-size:12px`,`font-weight:600`,`line-height:1`,`white-space:nowrap`,`box-shadow:var(--ssg-ghost-shadow)`,`pointer-events:none`,`user-select:none`,`z-index:9999`,`will-change:transform`,`transform:translate(-9999px,-9999px)`].join(`;`);let r=document.createElement(`span`);r.style.cssText=`display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex:none`;let i=document.createElement(`span`);i.textContent=e,t.appendChild(r),t.appendChild(i),document.body.appendChild(t),h.current=t,g.current=r,_.current=null},[]),S=(0,e.useCallback)(e=>{let t=h.current;if(!t)return;let{x:n,y:r}=u.current;t.style.transform=`translate(`+(n+$n)+`px,`+(r+er)+`px)`;let i=e??`out`;if(_.current===i)return;_.current=i;let a=g.current;i===`out`?(t.style.opacity=ir,a&&(a.innerHTML=rr)):(t.style.opacity=`1`,a&&(a.innerHTML=i===`center`?tr:nr))},[]),C=(0,e.useCallback)(()=>{let e=h.current;e&&e.parentNode&&e.parentNode.removeChild(e),h.current=null,g.current=null,_.current=null},[]),w=(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+Qn)return{pane:`left`,slot:0,leftPx:K};if(f&&r.left.entries.length>0){let t=f.getBoundingClientRect();if(e<t.right){let n=e-t.left-c,i=v(r.left,n);return{pane:`left`,slot:i,leftPx:c+y(r.left,i)}}}if(p&&r.right.entries.length===0&&e>=p.getBoundingClientRect().left-Qn)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=v(r.right,n);return{pane:`right`,slot:i,leftPx:u+y(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=v(r.center,Math.max(n,0));return{pane:`center`,slot:i,leftPx:l+y(r.center,i)}}return null},[]),T=(0,e.useCallback)(()=>{let e=w(u.current.x,u.current.y);if(S(e?e.pane:null),!e){s.current=null,b();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`)}},[w,b,S]),E=(0,e.useRef)(()=>{});E.current=(0,e.useCallback)(()=>{if(o.current===null){m.current=null;return}let e=n.current.scrollContainerRef.current;if(e){let t=u.current;if(!f.current){let e=d.current;(!e||Tn(e,t,6))&&(f.current=!0)}if(f.current){let n=e.getBoundingClientRect(),r=Cn({rectLeft:n.left,rectTop:n.top,clientLeft:e.clientLeft,clientTop:e.clientTop,clientWidth:e.clientWidth,clientHeight:e.clientHeight}),i=H(t.x,r.left,r.right,24),a=wn(e.scrollLeft,i,18,e.scrollWidth-e.clientWidth);a!==e.scrollLeft&&e.scrollTo({left:a,behavior:`auto`})}}T(),m.current=requestAnimationFrame(E.current)},[T]);let D=(0,e.useCallback)(e=>{m.current!==null&&(cancelAnimationFrame(m.current),m.current=null),document.body.style.cursor=``,b(),C();let t=o.current,r=s.current;if(o.current=null,s.current=null,!e||!t||!r)return;let{columns:i,applyColumnOrderAndPin:a,scrollContainerRef:u}=n.current,d=Zn(i,t,r.pane,r.slot);if(!d)return;let f=i.find(e=>e.key===t),p=f?c(f):null,h=p!==null&&p===r.pane;l.current=h&&!sr()?q(u.current):null,a(d,new Map([[t,r.pane===`center`?void 0:r.pane]]))},[b,C]),O=(0,e.useCallback)(()=>{let e=l.current;if(l.current=null,!e)return;let t=n.current.scrollContainerRef.current;if(!t)return;let r=new Map,i=new Map;t.querySelectorAll(`[data-ssg-col-key]`).forEach(t=>{let n=t.dataset.ssgColKey;if(!n||!e.has(n))return;let a=r.get(n);a?a.push(t):(r.set(n,[t]),i.set(n,t.getBoundingClientRect().left))});let a=[];if(r.forEach((t,n)=>{let r=e.get(n),o=i.get(n);if(r===void 0||o===void 0)return;let s=r-o;if(!(Math.abs(s)<.5))for(let e of t)e.style.transition=`none`,e.style.transform=`translateX(${s}px)`,e.style.willChange=`transform`,a.push(e)}),a.length!==0){t.getBoundingClientRect();for(let e of a)e.style.transition=`transform ${ar}ms ${or}`,e.style.transform=`translateX(0)`;window.setTimeout(()=>{for(let e of a)e.style.transition=``,e.style.transform=``,e.style.willChange=``},280)}},[]),k=(0,e.useCallback)((e,t)=>{if(!n.current.enabled||t.button!==0)return;t.stopPropagation(),t.preventDefault(),o.current=e.key,u.current={x:t.clientX,y:t.clientY},d.current={x:t.clientX,y:t.clientY},f.current=!1,document.body.style.cursor=`grabbing`,x(e.title||e.key);let r=t.currentTarget,i=t.pointerId;try{r.setPointerCapture(i)}catch{}let a=e=>{e.pointerId===i&&(u.current={x:e.clientX,y:e.clientY},T())};function s(e){e.pointerId===i&&(l(),D(!0))}function c(e){e.pointerId===i&&(l(),D(!1))}let l=()=>{window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,s),window.removeEventListener(`pointercancel`,c),p.current=null;try{r.releasePointerCapture(i)}catch{}};window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,s),window.addEventListener(`pointercancel`,c),p.current=l,T(),m.current=requestAnimationFrame(E.current)},[T,D,x]);return(0,e.useEffect)(()=>()=>{p.current?.(),p.current=null,m.current!==null&&(cancelAnimationFrame(m.current),m.current=null),document.body.style.cursor=``;let e=h.current;e&&e.parentNode&&e.parentNode.removeChild(e),h.current=null,g.current=null,_.current=null},[]),{onColumnDragHandlePointerDown:k,leftIndicatorRef:r,centerIndicatorRef:i,rightIndicatorRef:a,applyReorderSettle:O}},lr=e=>e===``?`(空白)`:`"${e}"`,ur=e=>{switch(e.kind){case`text`:case`date`:return`"${e.value.trim()}" を含む`;case`select`:return`"${e.value}" に一致`;case`number`:return e.raw;case`set`:return(e.mode??`include`)===`exclude`?`${e.values.length} 件を除外`:e.values.length>0&&e.values.length<=2?e.values.map(lr).join(`, `):`${e.values.length} 件を選択`;case`custom`:return typeof e.value==`string`&&e.value.trim().length>0?`"${e.value.trim()}"`:`カスタム条件`}},dr=(e,t,n,r)=>{if(n===0||r===0)return null;let i=n-1,a=r-1;if(e?.type===`cell`){let t=se(e.range);return{startRow:o(t.start.row,0,i),endRow:o(t.end.row,0,i),startCol:o(t.start.col,0,a),endCol:o(t.end.col,0,a)}}if(e?.type===`row`){let t=ce(e.startRow,e.endRow);return{startRow:o(t.startRow,0,i),endRow:o(t.endRow,0,i),startCol:0,endCol:a}}if(e?.type===`col`){let t=le(e.startCol,e.endCol);return{startRow:0,endRow:i,startCol:o(t.startCol,0,a),endCol:o(t.endCol,0,a)}}return t?t.row>i||t.col>a?null:{startRow:t.row,endRow:t.row,startCol:t.col,endCol:t.col}:null},fr=({rows:e,resolveSourceIndex:t,columns:n,selection:r,activeCell:i,viewRowCount:a,canWriteCell:o})=>{let s=dr(r,i,a,n.length);if(!s)return{nextRows:e,changed:!1};let c=[...e],l=!1;for(let e=s.startRow;e<=s.endRow;e+=1){let r=t(e);if(r===void 0)continue;let i=c[r];if(!i)continue;let a=i,u=!1;for(let e=s.startCol;e<=s.endCol;e+=1){let t=n[e];if(!t||!o(r,e,i,t))continue;let s=ze(t)(``,i);Object.is(L(a,t),s)||lt(t,i,s).action!==`reject`&&(a=Ae(a,t,s),u=!0)}u&&(c[r]=a,l=!0)}return l?{nextRows:c,changed:l}:{nextRows:e,changed:!1}},pr=({getRow:e,columns:t,selection:n,activeCell:r,viewRowCount:i,canWriteCell:a})=>{let o=dr(n,r,i,t.length);if(!o)return[];let s=[];for(let n=o.startRow;n<=o.endRow;n+=1){let r=e(n);if(r)for(let e=o.startCol;e<=o.endCol;e+=1){let i=t[e];if(!i||!a(n,e,r,i))continue;let o=ze(i)(``,r);Object.is(L(r,i),o)||lt(i,r,o).action!==`reject`&&s.push({viewIndex:n,column:i,value:o})}}return s},mr=e=>{let{mode:t,isServerSide:n,rowCount:r,hasAutoSizedOnMount:i}=e;return t===!1||n||r===0?{shouldRun:!1,nextHasAutoSizedOnMount:i}:t===`onMount`?i?{shouldRun:!1,nextHasAutoSizedOnMount:!0}:{shouldRun:!0,nextHasAutoSizedOnMount:!0}:{shouldRun:!0,nextHasAutoSizedOnMount:i}},hr=(e,t,n)=>{let r=!1,i=e.map(e=>{let i=n[e.key]??e.width,a=t.get(e.key);if(!a)return i===e.width?e:{...e,width:i};let o=a.pinned??void 0,s=i!==a.width,c=(e.pinned??void 0)!==o,l=e.visible!==!1!=(a.visible!==!1);return(s||c||l)&&(r=!0),{...e,width:a.width,pinned:a.pinned,visible:a.visible}}),a=new Map(i.map(e=>[e.key,e])),o=[];for(let e of t.keys()){let t=a.get(e);t&&o.push(t)}let s=i.filter(e=>!t.has(e.key)),c=[...o,...s],l=c.some((t,n)=>e[n].key!==t.key);return!r&&!l?null:c},gr=(e,t)=>e.includes(t)||e.includes(`"`)||e.includes(`
9
9
  `)||e.includes(`\r`)?`"${e.replace(/"/g,`""`)}"`:e,_r=(e,t)=>{let n=L(e,t);return t.formatClipboardValue?t.formatClipboardValue(n,e):String(n??``)},vr=({getRow:e,startRow:t,endRow:n,columns:r,delimiter:i=`,`,includeHeaders:a=!0,bom:o=!1})=>{let s=[];a&&s.push(r.map(e=>gr(e.title??e.key,i)).join(i));for(let a=t;a<n;a+=1){let t=e(a);if(!t)continue;let n=r.map(e=>gr(_r(t,e),i));s.push(n.join(i))}let c=s.join(`\r
10
- `);return o?`\uFEFF${c}`:c},yr=({getRow:e,startRow:t,endRow:n,columns:r})=>{let i=r.map(e=>({key:e.key,title:e.title??e.key})),a=[];for(let i=t;i<n;i+=1){let t=e(i);t&&a.push(r.map(e=>{let n=L(t,e);return{value:n,text:e.formatClipboardValue?e.formatClipboardValue(n,t):String(n??``)}}))}return{columns:i,rows:a}},br=e=>e===`all`?`view`:e===`visible`?`rendered`:e,xr=e=>{switch(e.kind){case`set`:return{...e,values:[...e.values]};case`number`:return{...e,parsed:e.parsed?{...e.parsed}:null};case`text`:case`date`:case`select`:return{...e};case`custom`:return{...e}}},Sr=e=>{let t={};for(let n of Object.keys(e))t[n]=xr(e[n]);return t},Cr=e=>{let t={key:e.key};return e.visible!==void 0&&(t.visible=e.visible),e.pinned!==void 0&&(t.pinned=e.pinned),t},wr=e=>e.map(e=>{let t={key:e.key};return e.visible!==void 0&&(t.visible=e.visible),e.pinned!==void 0&&(t.pinned=e.pinned),t}),Tr=(e,t,n,r=[],i=2)=>({version:i,columnWidths:{...e},filters:{globalText:t.globalText,columnFilters:Sr(t.columnFilters)},sort:n.map(e=>({...e})),columns:r.map(Cr)}),Er=e=>{let t=e&&typeof e==`object`?e:{},n={},r=t.columnWidths;if(r&&typeof r==`object`){let e=r;for(let t of Object.keys(e)){let r=e[t];typeof r==`number`&&Number.isFinite(r)&&(n[t]=r)}}let i=t.filters&&typeof t.filters==`object`?t.filters:{},a=typeof i.globalText==`string`?i.globalText:``,o={},s=i.columnFilters;if(s&&typeof s==`object`){let e=s;for(let t of Object.keys(e)){let n=e[t];n&&typeof n==`object`&&`kind`in n&&(o[t]=xr(n))}}let c=[],l=t.sort;if(Array.isArray(l)){for(let e of l)if(e&&typeof e==`object`){let t=e;typeof t.columnKey==`string`&&(t.direction===`asc`||t.direction===`desc`)&&c.push({columnKey:t.columnKey,direction:t.direction})}}let u,d=t.columns;if(Array.isArray(d)){let e=[];for(let t of d){if(!t||typeof t!=`object`)continue;let n=t;if(typeof n.key!=`string`)continue;let r={key:n.key};typeof n.visible==`boolean`&&(r.visible=n.visible),(n.pinned===`left`||n.pinned===`right`)&&(r.pinned=n.pinned),e.push(r)}u=e}return{version:2,columnWidths:n,filters:{globalText:a,columnFilters:o},sort:c,columns:u}},Dr=(e,t,n)=>{let r=new Map(e.map(e=>[e.key,e])),i=new Set,a=(e,t)=>{let r=n[e.key],i=typeof r==`number`;if(!t&&!i)return e;let a={...e};return t&&(a.visible=t.visible,a.pinned=t.pinned),i&&(a.width=r),a},o=[];for(let e of t){let t=r.get(e.key);t&&(i.add(e.key),o.push(a(t,e)))}for(let t of e)i.has(t.key)||o.push(a(t,void 0));return l(o)},Or=(e,t)=>e===null||t===null?e===t:e.mode===`comparison`&&t.mode===`comparison`?e.operator===t.operator&&e.value===t.value:e.mode===`range`&&t.mode===`range`?e.min===t.min&&e.max===t.max:!1,kr=(e,t)=>{switch(e.kind){case`set`:return t.kind===`set`&&(e.mode??`include`)===(t.mode??`include`)&&e.values.length===t.values.length&&e.values.every((e,n)=>e===t.values[n]);case`number`:return t.kind===`number`&&e.raw===t.raw&&Or(e.parsed,t.parsed);case`text`:return t.kind===`text`&&e.value===t.value;case`date`:return t.kind===`date`&&e.value===t.value;case`select`:return t.kind===`select`&&e.value===t.value;case`custom`:return t.kind===`custom`&&Object.is(e.value,t.value)}},Ar=(e,t)=>{let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!(r in t)||e[r]!==t[r])return!1;return!0},jr=(e,t)=>{let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!(r in t)||!kr(e[r],t[r]))return!1;return!0},Mr=(e,t)=>{if(e===void 0||t===void 0)return e===t;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n].key!==t[n].key||e[n].visible!==t[n].visible||e[n].pinned!==t[n].pinned)return!1;return!0},Nr=(e,t)=>{if(e.version!==t.version||!Ar(e.columnWidths,t.columnWidths)||e.filters.globalText!==t.filters.globalText||!jr(e.filters.columnFilters,t.filters.columnFilters)||e.sort.length!==t.sort.length)return!1;for(let n=0;n<e.sort.length;n+=1)if(e.sort[n].columnKey!==t.sort[n].columnKey||e.sort[n].direction!==t.sort[n].direction)return!1;return!!Mr(e.columns,t.columns)},Pr=(e,t,n)=>n?{emit:!1,nextLast:e}:e===null||Nr(e,t)?{emit:!1,nextLast:t}:{emit:!0,nextLast:t},Fr=({rowTop:e,rowHeight:t,headerHeight:n,viewportHeight:r,currentScrollTop:i,align:a,maxScrollTop:o})=>{let s=n+e,c=s+t,l;if(a===`start`)l=s-n;else if(a===`end`)l=c-r;else if(a===`center`)l=(s+c)/2-(n+r)/2;else{let e=i+n,t=i+r;l=s>=e&&c<=t?i:s<e?s-n:c-r}return Math.min(Math.max(l,0),Math.max(o??1/0,0))},Ir=({cellLeft:e,cellWidth:t,leftPaneWidth:n,rightPaneWidth:r,viewportWidth:i,currentScrollLeft:a,align:o,maxScrollLeft:s})=>{let c=e+t,l=i-n-r,u;if(o===`start`)u=e-n;else if(o===`end`)u=c-i+r;else if(o===`center`)u=(e+c)/2-n-l/2;else{let t=a+n,o=a+i-r;u=e>=t&&c<=o?a:e<t?e-n:c-i+r}return Math.min(Math.max(u,0),Math.max(s??1/0,0))},Lr=(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]},Rr=(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 Lr(s,0),s},zr=(e,t,n,r)=>t<0||t>=e.rowCount||(e.measured.set(n,r),e.heights[t]===r)?!1:(e.heights[t]=r,!0),Br=(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)},Vr=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=>Br(t,n,e)}},Hr=21,Ur=4,J=41,Wr=13,Gr=600,Kr=60,qr=16,Jr=null,Yr=()=>Jr||(typeof document>`u`?null:(Jr=document.createElement(`canvas`).getContext(`2d`),Jr)),Xr=`system-ui, sans-serif`,Zr=e=>{let t=Xr,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:`${Gr} ${Wr}px ${t}`}},Qr=(e,t,n)=>Math.min(Math.max(e,t),n),$r=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,ei=e=>{let t=0;for(let n of e){let e=n.codePointAt(0)??0;t+=$r(e)?2:1}return t},ti=(e,t)=>{let n=L(e,t);return t.valueFormatter?t.valueFormatter({value:n,row:e,column:t}):String(n??``)},ni=e=>{if(!e||typeof document>`u`)return null;let t=document.createElement(`div`);return t.setAttribute(`aria-hidden`,`true`),t.style.cssText=`position:absolute;top:-99999px;left:-99999px;visibility:hidden;pointer-events:none;width:auto;height:auto;contain:layout style;`,e.appendChild(t),t},ri=e=>{let t=document.createElement(`div`);return t.className=`ssg-body-cell`,t.style.cssText=`display:inline-block;position:static;top:auto;left:auto;width:auto;height:auto;white-space:nowrap;overflow:visible;`,t.textContent=e,t},ii=e=>e.suppressAutoSize===!0||e.autoHeight===!0;function ai(e){let t=e.map(()=>[]),n=e.map(()=>[]),r=e.map(()=>1/0),i=e.map(()=>0);return{collect:a=>{for(let o=0;o<e.length;o+=1){if(ii(e[o]))continue;let s=e[o].estimateCellWidth;if(s){let t=s(a,e[o]);t>i[o]&&(i[o]=t);continue}let c=String(L(a,e[o])??``);if(c===``)continue;let l=t[o],u=n[o];if(l.length===qr&&2*c.length<=r[o])continue;let d=ei(c);if(l.length<qr){if(l.push(a),u.push(d),l.length===qr){let e=u[0];for(let t=1;t<qr;t+=1)u[t]<e&&(e=u[t]);r[o]=e}continue}if(d<=r[o])continue;let f=0;for(let e=1;e<qr;e+=1)u[e]<u[f]&&(f=e);l[f]=a,u[f]=d;let p=u[0];for(let e=1;e<qr;e+=1)u[e]<p&&(p=u[e]);r[o]=p}},finalize:({gridRoot:n,currentWidths:r})=>{let a=Yr();if(!a||e.length===0)return{};let{cellFont:o,headerFont:s}=Zr(n),c={},l=ni(n);try{let n=null;if(l){let r=[];for(let n=0;n<e.length;n+=1){if(ii(e[n])){r.push([]);continue}if(e[n].estimateCellWidth){r.push([]);continue}let i=t[n],a=[];for(let t=0;t<i.length;t+=1){let r=ti(i[t],e[n]);if(r===``)continue;let o=ri(r);l.appendChild(o),a.push(o)}r.push(a)}n=r.map(e=>{let t=0;for(let n=0;n<e.length;n+=1){let r=e[n].offsetWidth;r>t&&(t=r)}return t})}for(let l=0;l<e.length;l+=1){let u=e[l];if(ii(u))continue;a.font=s;let d=u.title||u.key,f=a.measureText(d).width+Ur+J,p;if(u.estimateCellWidth)p=i[l]>0?i[l]+Hr:0;else if(n)p=n[l];else{a.font=o;let e=0,n=t[l];for(let t=0;t<n.length;t+=1){let r=ti(n[t],u);if(r===``)continue;let i=a.measureText(r).width;i>e&&(e=i)}p=e>0?e+Ur+Hr:0}let m=Math.ceil(Qr(Math.max(f,p),u.minWidth??Kr,u.maxWidth??1/0));r[u.key]!==m&&(c[u.key]=m)}}finally{l&&l.parentNode&&l.parentNode.removeChild(l)}return c}}}function oi(){return Yr()!==null}var si=()=>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)}),ci=10,li=180,ui=()=>typeof performance<`u`?performance.now():Date.now(),di=({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||!oi())return;let o=c.current+=1;u();let d=t.current,f=d.getRowCount(),p=n.current,m=r.current,h=ai(e);l.current=setTimeout(()=>{c.current===o&&s(!0)},li);try{let e=0;for(;e<f;){let n=ui();for(;e<f&&ui()-n<ci;){let t=d.getRow(e);t&&h.collect(t),e+=1}if(e<f&&(await si(),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])}},fi=()=>{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)=>Ht.compare(e.label,t.label))}}},pi=(e,t)=>{let n=fi();for(let r=0;r<e;r+=1)n.collect(t(r));return n.finalize()},mi=10,hi=()=>typeof performance<`u`?performance.now():Date.now(),gi=[],_i=new Set,vi={status:`idle`,options:gi,allValues:_i,progress:0},yi={status:`collecting`,options:gi,allValues:_i,progress:0},bi=e=>new Set(e.map(e=>e.value)),xi={source:null,rowCount:0,result:vi},Si=({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 vi;if(o){let e=o;return{status:`ready`,options:e,allValues:bi(e),progress:1}}if(!s){let e=pi(n,r);return{status:`ready`,options:e,allValues:bi(e),progress:1}}return null},[t,a,o,s,n,r]),[l,u]=(0,e.useState)(xi);(0,e.useEffect)(()=>{if(c!==null)return;let e=r,t=n,i=fi(),a=!1;return(async()=>{let n=0;for(;n<t;){let r=hi();for(;n<t&&hi()-r<mi;)i.collect(e(n)),n+=1;if(n<t){if(await si(),a)return;u({source:e,rowCount:t,result:{status:`collecting`,options:gi,allValues:_i,progress:n/t}})}}if(a)return;let r=i.finalize();u({source:e,rowCount:t,result:{status:`ready`,options:r,allValues:bi(r),progress:1}})})(),()=>{a=!0}},[c,n,r]);let d=l.source===r&&l.rowCount===n?l.result:yi;return c??d},Ci=10,wi=()=>typeof performance<`u`?performance.now():Date.now(),Ti=({rows:t,baseOrder:n,columns:r,globalText:i,enabled:a})=>{let o=(0,e.useDeferredValue)(i),s=o.trim().toLowerCase(),c=a&&s.length>0,l=c&&t.length>5e4,u=(0,e.useMemo)(()=>c?l?null:{order:Qe(t,n,r,o),status:`ready`,progress:1}:{order:n,status:`idle`,progress:1},[c,l,t,n,r,o]),[d,f]=(0,e.useState)(null),[p,m]=(0,e.useState)(null);(0,e.useEffect)(()=>{if(!l)return;let e=t,i=n,a=r,o=s,c=i.length,u=new Int32Array(c),d=!1;return(async()=>{let t=0,n=0;for(;n<c;){let r=wi();for(;n<c&&wi()-r<Ci;){let r=i[n];Ze(e[r],a,o)&&(u[t]=r,t+=1),n+=1}if(n<c){if(await si(),d)return;m({rows:e,baseOrder:i,columns:a,needle:o,progress:n/c})}}if(d)return;let r=t===c?i:u.slice(0,t);f({rows:e,baseOrder:i,columns:a,needle:o,order:r,rowsLength:e.length})})(),()=>{d=!0}},[l,t,n,r,s]);let h;return h=u||(d!==null&&d.rows===t&&d.baseOrder===n&&d.columns===r&&d.needle===s?{order:d.order,status:`ready`,progress:1}:{order:d!==null&&d.rowsLength===t.length?d.order:n,status:`filtering`,progress:p!==null&&p.rows===t&&p.baseOrder===n&&p.columns===r&&p.needle===s?p.progress:0}),h};function Ei(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()},updateRow:(e,n)=>{if(t<=0||e<0)return!1;let i=Math.floor(e/t),a=r.get(i);if(a===void 0)return!1;let o=e-i*t;if(o>=a.length)return!1;let s=a.slice();return s[o]=n,r.set(i,s),!0},touchBlocks:e=>{for(let t of e)i(t)},clear:()=>{r.clear()},loadedBlockIndexes:()=>Array.from(r.keys())}}function Y(e,t){return Math.floor(e/t)}function Di(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=Y(i,n),s=Y(a-1,n),c=[];for(let e=o;e<=s;e+=1)c.push(e);return c}var Oi=()=>{let e=new Map,t=1,n=t=>e.get(t)?.row,r=(n,r)=>{let i=t;return t+=1,e.set(n,{row:r,writeId:i}),i},i=(t,n)=>e.get(t)?.writeId===n;return{getRow:n,beginWrite:r,isLatestWrite:i,settleWrite:(t,n)=>{i(t,n)&&e.delete(t)},clear:()=>{e.clear()},pendingCount:()=>e.size}},ki=(e,t,n)=>{let r=new Map;for(let i of e){let e=r.get(i.viewIndex);if(e===void 0){let a=t(i.viewIndex);if(a===void 0)continue;e={rowKey:n(a,i.viewIndex),rowIndex:i.viewIndex,row:a,previousRow:a,changes:[]},r.set(i.viewIndex,e)}e.changes.push({columnKey:i.column.key,previousValue:L(e.row,i.column),newValue:i.value}),e.row=Ae(e.row,i.column,i.value)}return Array.from(r.values())},Ai=100,ji=64,X=120;function Mi(t){let{dataSource:n,rowKeyGetter:r,query:i,queryKey:a,refreshToken:o,onLoadError:s,onWriteError:c}=t,l=n?.blockSize??Ai,u=n?.maxCachedBlocks??ji,d=t.debounceMs??X,[f]=(0,e.useState)(()=>Ei({blockSize:l,maxBlocks:u})),[p,m]=(0,e.useState)(n?.initialRowCount??0),[h,g]=(0,e.useState)(0),_=(0,e.useRef)(p),v=(0,e.useRef)(!1),y=(0,e.useRef)(new Map),b=(0,e.useRef)(new Set),[x,S]=(0,e.useState)(null),C=(0,e.useRef)(s);(0,e.useEffect)(()=>{C.current=s},[s]);let[w]=(0,e.useState)(()=>Oi()),T=(0,e.useRef)(0),[E,D]=(0,e.useState)(null),O=(0,e.useRef)(c);(0,e.useEffect)(()=>{O.current=c},[c]);let k=(0,e.useCallback)(e=>w.getRow(e)??f.getRow(e),[f,w]),A=(0,e.useCallback)(()=>{T.current+=1,w.clear(),D(null)},[w]),j=(0,e.useCallback)(()=>{let e=b.current.size;S(t=>e===0?t===null?t:null:{failedBlockCount:e})},[]),M=(0,e.useRef)(null),ee=(0,e.useRef)({start:0,end:0}),N=(0,e.useCallback)(e=>{if(n==null||f.hasBlock(e)||y.current.has(e))return;let t=new AbortController;y.current.set(e,t);let r=e*l,a=r+l;n.getRows({startIndex:r,endIndex:a,query:i,signal:t.signal}).then(n=>{t.signal.aborted||y.current.get(e)===t&&(y.current.delete(e),f.setBlock(e,n.rows),b.current.delete(e)&&j(),n.totalRowCount!==_.current&&(_.current=n.totalRowCount,m(n.totalRowCount)),g(e=>e+1))}).catch(n=>{t.signal.aborted||y.current.get(e)===t&&(y.current.delete(e),b.current.add(e),j(),C.current?.(n,{startIndex:r,endIndex:a}))})},[f,l,n,i,j]),P=(0,e.useCallback)(()=>{let{start:e,end:t}=ee.current,n=Di(e,t,l,_.current),r=new Set(n);for(let[e,t]of y.current)r.has(e)||(t.abort(),y.current.delete(e));for(let e of n)N(e)},[l,N]),F=(0,e.useCallback)(()=>{M.current!==null&&clearTimeout(M.current),M.current=setTimeout(()=>{M.current=null,P()},d)},[d,P]),I=(0,e.useCallback)((e,t)=>{n!=null&&(ee.current={start:e,end:t},f.touchBlocks(Di(e,t,l,_.current)),F())},[f,l,n,F]);(0,e.useEffect)(()=>{if(n==null)return;for(let[,e]of y.current)e.abort();y.current.clear(),M.current!==null&&(clearTimeout(M.current),M.current=null),f.clear(),b.current.clear(),j(),A();let e=!v.current;v.current=!0,g(e=>e+1),e?(n.initialRowCount??0)<=0&&N(0):N(0)},[a]);let te=(0,e.useCallback)(()=>{if(n==null)return;for(let[,e]of y.current)e.abort();y.current.clear(),M.current!==null&&(clearTimeout(M.current),M.current=null),f.clear(),b.current.clear(),j(),A(),g(e=>e+1);let{start:e,end:t}=ee.current;if(Di(e,t,l,_.current).length===0){N(0);return}P()},[f,n,l,N,P,j,A]),ne=(0,e.useCallback)(()=>{if(n==null||b.current.size===0)return;let e=Array.from(b.current);b.current.clear(),j();for(let t of e)N(t)},[n,N,j]),re=(0,e.useCallback)(e=>{let t=n?.updateRows;if(t===void 0||e.length===0)return 0;let i=ki(e,k,r);if(i.length===0)return 0;let a=T.current,o=i.map(e=>({viewIndex:e.rowIndex,row:e.row,writeId:w.beginWrite(e.rowIndex,e.row)}));return g(e=>e+1),t({updates:i}).then(e=>{if(T.current!==a)return;let t=e===void 0?void 0:e.rows;o.forEach((e,n)=>{f.updateRow(e.viewIndex,t?.[n]??e.row),w.settleWrite(e.viewIndex,e.writeId)}),g(e=>e+1)}).catch(e=>{if(T.current===a){for(let e of o)w.settleWrite(e.viewIndex,e.writeId);D({failedRowCount:i.length}),O.current?.(e,{updates:i}),g(e=>e+1)}}),i.length},[f,n,k,w,r]),ie=(0,e.useRef)(o);(0,e.useEffect)(()=>{if(n==null||o===void 0){ie.current=o;return}if(ie.current===void 0){ie.current=o;return}ie.current!==o&&(ie.current=o,te())},[o]),(0,e.useEffect)(()=>{let e=y.current,t=M,n=T;return()=>{for(let[,t]of e)t.abort();e.clear(),t.current!==null&&(clearTimeout(t.current),t.current=null),n.current+=1,w.clear()}},[w]);let ae=(0,e.useCallback)(e=>k(e)!==void 0,[k]);return{rowModel:(0,e.useMemo)(()=>({getRowCount:()=>_.current,getRow:e=>k(e),getSourceIndex:e=>e,getRowKey:e=>{let t=k(e);return t===void 0?e:r(t,e)}}),[k,r,h]),rowCount:p,isRowLoaded:ae,requestRange:I,refresh:te,loadError:x,retryFailedBlocks:ne,canUpdateRows:n?.updateRows!==void 0,applyCellEdits:re,writeError:E}}var Ni=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];Ge(n)&&(r[t]=n,i=!0)}return i&&(t.columnFilters=r),e.sort.length>0&&(t.sort=e.sort),t},Pi=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})};function Fi({state:e,disabled:t=!1}){return(0,n.jsx)(`span`,{"aria-hidden":`true`,className:`ssg-row-checkbox`,"data-state":e,"data-disabled":t?`true`:void 0})}var Ii=(0,e.memo)(Fi);function Li({checked:e,readOnly:t,onToggle:r}){return(0,n.jsx)(`span`,{role:`checkbox`,"aria-checked":e,"aria-disabled":t||void 0,className:`ssg-cell-checkbox`,onClick:()=>{t||r()},children:(0,n.jsx)(Ii,{state:e?`checked`:`unchecked`,disabled:t})})}var Ri=(e,t)=>{let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)):e},zi=(e,t)=>{if(!t.trim())return{kind:`close`};let n=Ri(e,t);return n.length===0?{kind:`none`}:{kind:`replace`,values:n.map(e=>e.value)}},Bi=(e,t)=>e===null?!0:e.mode===`include`?e.values.has(t):!e.values.has(t),Vi=28;function Hi({options:r,setSelection:i,searchInputRef:a,onValueToggle:o,onSelectAllChange:s,onReplaceSelection:c,onRequestClose:l,isServerSide:u}){let[d,f]=(0,e.useState)(``),p=(0,e.useDeferredValue)(d),m=(0,e.useMemo)(()=>Ri(r,p),[r,p]),h=p.trim().length>0,g=(0,e.useRef)(null),_=(0,t.useVirtualizer)({count:m.length,getScrollElement:()=>g.current,estimateSize:()=>Vi,overscan:10}),v=(0,e.useMemo)(()=>{if(i===null)return m.length;let e=0;for(let t of m)Bi(i,t.value)&&(e+=1);return e},[i,m]),y=m.length>0&&v===m.length,b=v>0&&!y,x=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:d,onChange:e=>f(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Escape`&&(e.preventDefault(),l()),e.key===`Enter`){if(e.nativeEvent.isComposing)return;e.preventDefault();let t=zi(r,d);if(t.kind===`none`)return;t.kind===`replace`&&c(t.values),l()}},placeholder:`検索(Enter で確定)`,className:`ssg-filter-input`}),(0,n.jsxs)(`label`,{className:`ssg-filter-selectall`,children:[(0,n.jsx)(`input`,{type:`checkbox`,checked:y,ref:e=>{e&&(e.indeterminate=b)},onChange:()=>{s(h?m.map(e=>e.value):`all`,!y)}}),(0,n.jsx)(`span`,{className:`ssg-filter-selectall-label`,children:h?`(検索結果をすべて選択)`:`(すべて選択)`})]}),(0,n.jsx)(`div`,{ref:g,className:`ssg-filter-list`,children:m.length===0?(0,n.jsx)(`div`,{className:`ssg-filter-empty`,children:r.length===0?u?`候補が未指定です(serverSide では列に filterOptions などの候補供給が必要)`:`候補がありません`:`一致する候補がありません`}):(0,n.jsx)(`div`,{className:`ssg-filter-virt`,style:{height:_.getTotalSize()},children:_.getVirtualItems().map(e=>{let t=m[e.index];if(!t)return null;let r=Bi(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:[`選択中: `,x,` / `,r.length,` 件`,h?`(表示中 ${m.length} 件)`:``]})]})}function Ui({isOpen:e,themeClassName:t,title:a,filterType:o,draftValue:s,currentValueText:c,layout:l,selectOptions:u,optionsStatus:d,optionsProgress:f,setSelection:p,popoverRef:m,textInputRef:h,selectRef:g,onRequestClose:_,onDraftChange:v,onApply:y,onClear:b,onSetValueToggle:x,onSetSelectAllChange:S,onSetClear:C,onSetReplaceSelection:w,isServerSide:T=!1}){if(typeof document>`u`||!e||!l)return null;let E={top:l.top,left:l.left,width:l.width},D=e=>{e.stopPropagation()},O=e=>{e.stopPropagation()},k=o===`set`;return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:m,onPointerDown:O,onKeyDown:D,onPasteCapture:e=>{e.stopPropagation()},className:i(`ssg-filter-popover`,t),style:E,children:[(0,n.jsxs)(`div`,{className:`ssg-filter-title`,children:[`列フィルター: `,a]}),(k||o===`select`)&&d===`collecting`?(0,n.jsxs)(`div`,{className:`ssg-filter-collecting`,children:[`候補を収集中… `,Math.round(f*100),`%`]}):k?(0,n.jsx)(Hi,{options:u,setSelection:p,searchInputRef:h,onValueToggle:x,onSelectAllChange:S,onReplaceSelection:w,onRequestClose:_,isServerSide:T}):o===`select`?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`div`,{className:`ssg-filter-hint`,children:`フィルター種別: select`}),(0,n.jsxs)(`select`,{ref:g,value:s,onChange:e=>v(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),y();return}e.key===`Escape`&&(e.preventDefault(),_())},className:`ssg-filter-select`,children:[(0,n.jsx)(`option`,{value:``,children:`(すべて)`}),u.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},`${a}-${e.value}`))]}),(0,n.jsxs)(`div`,{className:`ssg-filter-meta`,children:[`候補数: `,u.length]})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-filter-hint`,children:[`フィルター種別: `,o===`number`?`number`:`text`]}),(0,n.jsx)(`input`,{ref:h,type:`text`,value:s,onChange:e=>v(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),y();return}e.key===`Escape`&&(e.preventDefault(),_())},placeholder:o===`number`?`例: >=10 / <20 / 10..20 / =5`:`部分一致で絞り込み`,className:`ssg-filter-input`}),(0,n.jsx)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:o===`number`?`数量系は =, >, >=, <, <=, .. が使えます`:`text は部分一致検索です`})]}),!k&&(0,n.jsxs)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:[`現在値: `,c]}),(0,n.jsx)(`div`,{className:`ssg-filter-footer`,children:k?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),C()},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:`閉じる`})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),b()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-secondary`,children:`クリア`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),y()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-primary`,children:`適用`})]})})]}),document.body)}function Wi({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]})]})]})})}var Gi=(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,n.jsx)(`circle`,{cx:`7`,cy:`7`,r:`4.5`}),(0,n.jsx)(`line`,{x1:`10.6`,y1:`10.6`,x2:`14.5`,y2:`14.5`})]}),Ki=(0,n.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,"aria-hidden":`true`,children:[(0,n.jsx)(`line`,{x1:`4`,y1:`4`,x2:`12`,y2:`12`}),(0,n.jsx)(`line`,{x1:`12`,y1:`4`,x2:`4`,y2:`12`})]});function qi({context:e,showSummary:t=!0,showFilter:r=!0,showCounts:i=!0,globalFilterPlaceholder:a=`グローバルフィルター`,globalFilterIcon:o,onFilterSummaryClick:s}){let{derivedSummary:c}=e,l=o===void 0?Gi:o,u=e.globalFilterText.trim().length>0;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:c.rowSummaryText}),(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:c.columnSummaryText})]}):null,s?(0,n.jsx)(`button`,{type:`button`,className:`ssg-bar-chip ssg-bar-chip--emphasis ssg-bar-chip--action`,onPointerDown:e=>{e.stopPropagation()},onClick:s,"data-ssg-tooltip":`フィルター管理パネルを開閉`,"aria-label":`フィルター管理パネルを開閉`,children:c.filterSummaryText}):(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:c.filterSummaryText}),(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:c.sortSummaryText})]}):null,r?(0,n.jsxs)(`div`,{className:`ssg-bar-input-group`,children:[l?(0,n.jsx)(`span`,{className:`ssg-bar-input-icon`,"aria-hidden":`true`,children:l}):null,(0,n.jsx)(`input`,{type:`text`,value:e.globalFilterText,onChange:t=>e.setGlobalFilterText(t.target.value),placeholder:a,className:`ssg-bar-input`}),u?(0,n.jsx)(`button`,{type:`button`,onClick:()=>e.setGlobalFilterText(``),className:`ssg-bar-input-clear`,"aria-label":`フィルターをクリア`,"data-ssg-tooltip":`クリア`,children:Ki}):null]}):null]})})}var Z=e=>e.enabled&&!e.isAutoHeightCell&&!e.hasRenderCell;function Ji({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,rowKey:o,sourceRowIndex:s,row:c,top:l,renderEntries:u,rowHeight:d,autoHeight:f,showCellOverflowTooltip:p,showValidationMarks:m,autoHeightMinHeight:h,rowHeaderCellStyle:g,isRowHovered:_,isWholeGridSelected:v,isRowSelected:y,showRowCheckbox:b,isRowChecked:x,activeColInRow:S,editingColInRow:C,selectedColStart:w,selectedColEnd:T,readOnly:E,canEditCell:D,onRowHeaderPointerDown:O,onRowHeaderPointerEnter:k,onRowHeaderPointerLeave:A,onCellPointerDown:j,onCellPointerEnter:M,onCellDoubleClick:ee,renderCellContent:N,rowClassName:P,bodyCellClassName:F,bodyRowClassName:I,rowHeaderCellClassName:te}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,className:i(`ssg-body-row`,x&&`ssg-body-row--checked`,P,I),style:{height:d,transform:`translateY(${l}px)`},children:[t&&(0,n.jsx)(`div`,{role:b?`checkbox`:void 0,"aria-checked":b?x:void 0,onPointerDown:e=>O(a,e),onPointerEnter:e=>k(a,e),onPointerLeave:()=>A(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,b&&`ssg-row-header-cell--checkbox`,(v||y)&&`ssg-header-cell--selected`,_&&`ssg-header-cell--hovered`,P,te),style:{...g,height:d},children:b?(0,n.jsx)(Ii,{state:x?`checked`:`unchecked`}):a+1}),u.map(e=>{if(!e)return null;let t=e.logicalIndex,l=e.column,u=r+e.paneLocalStart,g=e.paneLocalSize,v=t===S,b=t===C,x=y||w>=0&&t>=w&&t<=T,O=!ke({readOnly:E,canEditCell:D},a,t,c,l),k=f&&l.autoHeight===!0,A,I=l.cellClassName;I&&(A=typeof I==`function`?I({row:c,rowIndex:a,sourceRowIndex:s,rowKey:o,colIndex:t,value:L(c,l),column:l,isActive:v,isSelected:x,isEditing:b,readOnly:O}):I);let te=m&&l.validate?ct(l,c,L(c,l)):null,ne=i(`ssg-body-cell`,l.align===`center`&&`ssg-body-cell--align-center`,l.align===`right`&&`ssg-body-cell--align-right`,k&&`ssg-body-cell--autoheight`,O&&!x&&`ssg-body-cell--readonly`,te!==null&&`ssg-body-cell--invalid`,_&&`ssg-body-cell--row-hovered`,P,A,F),re={};l.wordBreak!==void 0&&(re.wordBreak=l.wordBreak),l.lineBreak!==void 0&&(re.lineBreak=l.lineBreak);let ie=Z({enabled:p,isAutoHeightCell:k,hasRenderCell:l.renderCell!==void 0});return(0,n.jsx)(`div`,{"data-ssg-col-key":l.key,"data-autoheight-cell":k?``:void 0,"data-ssg-tooltip":te??void 0,"data-ssg-tooltip-overflow":ie?``:void 0,className:ne,onPointerDown:e=>j({row:a,col:t},e),onPointerEnter:e=>M({row:a,col:t},e),onDoubleClick:()=>ee({row:a,col:t}),style:{left:u,width:g,minWidth:g,...k?{minHeight:h}:{height:d},...re,zIndex:v?3:1},children:N(c,a,l,t,{isActive:v,isSelected:x,isEditing:b,readOnly:O})},`${String(o)}-${l.key}`)})]})}var Yi=(0,e.memo)(Ji),Xi=[`62%`,`46%`,`78%`,`54%`];function Zi({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,top:o,rowHeight:s,renderEntries:c,rowHeaderCellStyle:l,isRowHovered:u,showRowCheckbox:d,onRowHeaderPointerDown:f,onRowHeaderPointerEnter:p,onRowHeaderPointerLeave:m,onCellPointerDown:h,onCellPointerEnter:g,bodyCellClassName:_,bodyRowClassName:v,rowHeaderCellClassName:y}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,"data-skeleton-row":``,className:i(`ssg-body-row`,v),style:{height:s,transform:`translateY(${o}px)`},children:[t&&(0,n.jsx)(`div`,{onPointerDown:e=>f(a,e),onPointerEnter:e=>p(a,e),onPointerLeave:()=>m(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,`ssg-skeleton-rowheader`,d&&`ssg-row-header-cell--checkbox`,u&&`ssg-header-cell--hovered`,y),style:{...l,height:s},children:d?(0,n.jsx)(Ii,{state:`unchecked`,disabled:!0}):a+1}),c.map(t=>{if(!t)return null;let o=t.logicalIndex,c=r+t.paneLocalStart,l=t.paneLocalSize,d=Xi[o%Xi.length];return(0,n.jsx)(`div`,{className:i(`ssg-body-cell`,u&&`ssg-body-cell--row-hovered`,_),onPointerDown:e=>h({row:a,col:o},e),onPointerEnter:e=>g({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 Qi=(0,e.memo)(Zi),$i=(e,t)=>t==null?``:e.valueFormatter?e.valueFormatter({value:t,row:void 0,column:e}):String(t),ea=16;function ta({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,top:o,rowHeight:s,renderEntries:c,rowHeaderCellStyle:l,isRowHovered:u,showRowCheckbox:d,groupRow:f,isCollapsed:p,onGroupToggle:m,onRowHeaderPointerEnter:h,onRowHeaderPointerLeave:g,bodyCellClassName:_,bodyRowClassName:v,rowHeaderCellClassName:y}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,"data-ssg-group-row":``,className:i(`ssg-body-row`,v),style:{height:s,transform:`translateY(${o}px)`},onDoubleClick:()=>m(f.groupKey),children:[t&&(0,n.jsx)(`div`,{onPointerEnter:e=>h(a,e),onPointerLeave:()=>g(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,d&&`ssg-row-header-cell--checkbox`,u&&`ssg-header-cell--hovered`,y),style:{...l,height:s},children:d?null:a+1}),c.map(t=>{if(!t)return null;let a=t.column,o=r+t.paneLocalStart,c=t.paneLocalSize,l=a.key===an,d=!l&&Object.prototype.hasOwnProperty.call(f.aggregates,a.key)?$i(a,f.aggregates[a.key]):null;return(0,n.jsx)(`div`,{"data-ssg-col-key":a.key,className:i(`ssg-body-cell`,`ssg-group-cell`,a.align===`center`&&`ssg-body-cell--align-center`,a.align===`right`&&`ssg-body-cell--align-right`,u&&`ssg-body-cell--row-hovered`,_),style:{left:o,width:c,minWidth:c,height:s,zIndex:1},children:l?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{"aria-hidden":`true`,className:`ssg-group-indent`,style:{width:f.level*ea}}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-group-toggle`,"aria-expanded":!p,"aria-label":`${f.label} を${p?`展開`:`折りたたみ`}`,onClick:()=>m(f.groupKey),onDoubleClick:e=>e.stopPropagation(),children:p?`▸`:`▾`}),(0,n.jsx)(`span`,{className:`ssg-group-label`,children:f.label}),(0,n.jsxs)(`span`,{className:`ssg-group-count`,children:[`(`,f.leafCount,`件)`]})]}):d},`group-${e}-${a.key}`)})]})}var na=(0,e.memo)(ta);function ra({pane:e,ownsRowHeader:t,leadingWidth:r,rowModel:i,virtualRows:a,virtualRowIndexes:o,renderEntries:s,rowHeight:c,autoHeight:l=!1,showCellOverflowTooltip:u=!1,showValidationMarks:d=!0,isServerSide:f=!1,collapsedGroupKeys:p,onGroupToggle:m,rowHeaderCellStyle:h,hoveredRowIndex:g,isWholeGridSelected:_,enableRowSelection:v,rowSelectionState:y,activeCell:b,editingCell:x,selectionSnapshot:S,readOnly:C,canEditCell:w,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,onCellDoubleClick:j,renderCellContent:M,getRowClassName:ee,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F}){return(0,n.jsx)(n.Fragment,{children:a.map(a=>{let I=a.index;if(!o.has(I))return null;let te=a.size??c,ne=i.getGroupRow?.(I);if(ne&&m)return(0,n.jsx)(na,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,top:a.start,rowHeight:te,renderEntries:s,rowHeaderCellStyle:h,isRowHovered:g===I,showRowCheckbox:v,groupRow:ne,isCollapsed:p?.has(ne.groupKey)===!0,onGroupToggle:m,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F},String(on(ne)));let re=i.getRow(I);if(!re){if(!f)return null;let o=i.getRowKey(I)??I;return(0,n.jsx)(Qi,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,top:a.start,rowHeight:te,renderEntries:s,rowHeaderCellStyle:h,isRowHovered:g===I,showRowCheckbox:v,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F},String(o))}let ie=i.getRowKey(I)??I,ae=i.getSourceIndex(I)??I,oe=v?O(y,ie):!1,se=S.kind===`row`&&I>=S.startRow&&I<=S.endRow,ce=S.kind===`cell`&&I>=S.startRow&&I<=S.endRow,le=S.kind===`col`||ce?S.startCol:-1,ue=S.kind===`col`||ce?S.endCol:-1,de=b&&b.row===I?b.col:-1,fe=x&&x.row===I?x.col:-1,pe=ee?.(re,I);return(0,n.jsx)(Yi,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,rowKey:ie,sourceRowIndex:ae,row:re,top:a.start,renderEntries:s,rowHeight:te,autoHeight:l,showCellOverflowTooltip:u,showValidationMarks:d,autoHeightMinHeight:c,rowHeaderCellStyle:h,isRowHovered:g===I,isWholeGridSelected:_,isRowSelected:se,showRowCheckbox:v,isRowChecked:oe,activeColInRow:de,editingColInRow:fe,selectedColStart:le,selectedColEnd:ue,readOnly:C,canEditCell:w,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,onCellDoubleClick:j,renderCellContent:M,rowClassName:pe,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F},String(ie))})})}function ia({isActive:e,title:t,className:r,onPointerDown:a,children:o}){return(0,n.jsx)(`button`,{type:`button`,"data-ssg-tooltip":t,"aria-label":t,onPointerDown:a,className:i(`ssg-icon-btn`,e&&`ssg-icon-btn--active`,r),children:o})}function aa({pane:e,ownsRowHeader:t,leadingWidth:r,headerHeight:a,rowHeaderCellStyle:o,headerRowClassName:s,headerCellClassName:c,rowHeaderCellClassName:l,isCornerHovered:u,isWholeGridSelected:d,showSelectAllCheckbox:f,selectAllState:p,filteredRowsLength:m,visibleColumnsLength:h,renderEntries:g,hoveredColumnIndex:_,selectionSnapshot:v,columnFilterValues:y,sortState:b,iconButtonClassName:x,onCornerPointerDown:S,onCornerPointerEnter:C,onCornerPointerLeave:w,onColumnHeaderPointerDown:T,onColumnHeaderPointerEnter:E,onColumnHeaderPointerLeave:D,onColumnResizePointerDown:O,enableColumnResize:k,enableColumnMenu:A,openedMenuColumnKey:j,onColumnMenuButtonPointerDown:M,onColumnHeaderContextMenu:ee,onColumnDragHandlePointerDown:N}){return(0,n.jsxs)(`div`,{"data-pane":e,className:i(`ssg-header-row`,s),style:{height:a},children:[t&&(0,n.jsx)(`div`,{role:f?`checkbox`:void 0,"aria-checked":f?p===`all`?!0:p===`some`?`mixed`:!1:void 0,onPointerDown:S,onPointerEnter:C,onPointerLeave:w,className:i(`ssg-header-cell`,`ssg-corner-cell`,f&&`ssg-corner-cell--checkbox`,d&&`ssg-header-cell--selected`,u&&`ssg-header-cell--hovered`,l),style:{...o,height:a,cursor:m>0&&h>0?`pointer`:`default`},children:f?(0,n.jsx)(Ii,{state:p===`all`?`checked`:p===`some`?`indeterminate`:`unchecked`}):`#`}),g.map(e=>{if(!e)return null;let t=e.logicalIndex,o=e.column,s=r+e.paneLocalStart,l=e.paneLocalSize,u=Ge(y[o.key]),f=v.kind===`col`&&t>=v.startCol&&t<=v.endCol,p=b.findIndex(e=>e.columnKey===o.key),m=p===-1?null:b[p],h=j===o.key,g=o.key===an,S=A&&!g;return(0,n.jsxs)(`div`,{"data-ssg-col-key":o.key,onPointerDown:e=>T(t,e),onPointerEnter:e=>E(t,e),onPointerLeave:()=>D(t),onContextMenu:e=>{if(g){e.preventDefault();return}ee(o,e)},className:i(`ssg-header-cell`,(d||f)&&`ssg-header-cell--selected`,_===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`),"data-ssg-tooltip":o.renderHeader?void 0:o.title||o.key,children:o.renderHeader?o.renderHeader({colIndex:t,width:l,column:o,filterValue:y[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`,"data-ssg-tooltip":(m.direction===`asc`?`昇順で並び替え中`:`降順で並び替え中`)+(b.length>1?` (優先度 ${p+1})`:``),className:`ssg-header-sort`,children:[m.direction===`asc`?`↑`:`↓`,b.length>1&&(0,n.jsx)(`span`,{className:`ssg-header-sort-priority`,children:p+1})]}),u&&(0,n.jsx)(`span`,{"aria-hidden":`true`,"data-ssg-tooltip":`フィルター適用中`,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:[N&&!g&&(0,n.jsx)(`span`,{onPointerDown:e=>N(o,e),"data-ssg-tooltip":`ドラッグで列を移動`,"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`})]})}),S&&(0,n.jsx)(ia,{title:`列メニュー`,isActive:h,className:x,onPointerDown:e=>M(o,e),children:`⋮`})]}),(o.resizable??k)&&(0,n.jsx)(`div`,{onPointerDown:e=>O(o,e),className:`ssg-header-resize`})]},o.key)})]})}var oa=(0,e.memo)(aa),sa=200,ca=8,la=6,ua=289,da=({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-sa,e=i.bottom+la,n=i.top-ua-la}else if(i)t=i.x,e=i.y,n=i.y-ua;else{s(null);return}t=Math.max(ca,t),t=Math.min(t,window.innerWidth-sa-ca),e+ua>window.innerHeight-ca&&(e=n),e=Math.max(ca,e),s(n=>n&&n.top===e&&n.left===t&&n.width===sa?n:{top:e,left:t,width:sa})},[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,!0),()=>{window.removeEventListener(`keydown`,e,!0)}},[g,f]),{columnMenuLayout:o,columnMenuRef:c,isColumnMenuOpen:f,openedMenuColumnKey:p,openedMenuColumn:m,openColumnMenuFromButton:_,openColumnMenuFromContextMenu:v,closeColumnMenu:g}},fa=[{value:void 0,label:`固定しない`},{value:`left`,label:`左に固定`},{value:`right`,label:`右に固定`}],pa=180,ma=4,ha=8,ga=`pin`;function _a({isOpen:t,themeClassName:a,title:o,columnKey:s,canFilter:c,onOpenFilter:l,canSort:u,sortDirection:d,onSortChange:f,onOpenSortManager:p,canManageFilters:m,onOpenFilterManager:h,pinned:g,canChangePinned:_,layout:v,popoverRef:y,onPinnedChange:b,onAutosizeColumn:x,onAutosizeAllColumns:S,onOpenColumnChooser:C,canResetColumns:w,onResetColumns:T,onRequestClose:E}){let[D,O]=(0,e.useState)(null);if((0,e.useEffect)(()=>{O(null)},[s,t]),!t||!v)return null;let k=D===ga,A=v.left+v.width+ma+pa>window.innerWidth-ha,j={position:`fixed`,top:v.top,left:v.left,width:v.width,zIndex:1e3},M={position:`absolute`,top:-9,...A?{right:`calc(100% + ${ma}px)`}:{left:`calc(100% + ${ma}px)`},width:pa,zIndex:1};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:y,onPointerDown:e=>{e.stopPropagation()},onKeyDown:e=>{e.stopPropagation()},onContextMenu:e=>{e.preventDefault()},className:i(`ssg-menu-panel`,a),style:j,children:[(0,n.jsx)(`div`,{className:`ssg-menu-title`,children:o}),c&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{l()},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`})]}),u&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{f(`asc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,d===`asc`&&`ssg-menu-sort-icon--active`),children:d===`asc`?`✓`:`↑`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,d===`asc`&&`ssg-menu-label--sorted`),children:`昇順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{f(`desc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,d===`desc`&&`ssg-menu-sort-icon--active`),children:d===`desc`?`✓`:`↓`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,d===`desc`&&`ssg-menu-label--sorted`),children:`降順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{p()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`並び替えを管理…`})]})]}),m&&(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{h()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`フィルターを管理…`})]}),(u||m)&&(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:()=>{O(ga)},onClick:()=>{O(e=>e===ga?null:ga)},className:i(`ssg-menu-item`,k&&`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:`›`})]}),k&&(0,n.jsxs)(`div`,{className:i(`ssg-menu-panel`,a),style:M,children:[fa.map(e=>{let t=g===e.value;return(0,n.jsxs)(`button`,{type:`button`,disabled:!_,onClick:()=>{_&&b(s,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)}),!_&&(0,n.jsx)(`div`,{className:`ssg-menu-note`,children:`onColumnsChange 未指定のため固定状態を変更できません`})]})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{x(s)},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:()=>{O(null)},onClick:()=>{S()},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:()=>{O(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.jsxs)(`button`,{type:`button`,"aria-disabled":!w,tabIndex:w?0:-1,"data-ssg-tooltip":w?`すべての列の幅・固定・表示・並び順を初期状態に戻します`:`onColumnsChange 未指定のため列をリセットできません`,onPointerEnter:()=>{O(null)},onClick:()=>{w&&T()},className:i(`ssg-menu-item`,!w&&`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:E,className:`ssg-menu-close-btn`,children:`閉じる`})})]}),document.body)}var va=({top:e,left:t,panelWidth:n,viewportWidth:r,viewportHeight:i})=>{let a=Math.max(8,Math.min(t,r-n-8));return{top:Math.max(8,Math.min(e,i-40)),left:a}},ya=360,Q=8,ba=12,xa=[`filter`,`columns`,`sort`],Sa=({canUseFilterTab:t,canUseColumnsTab:n,canUseSortTab:r,gridRootRef:i,alliedRef:a,suppressEscape:o=!1,onSuppressedEscape:s})=>{let[c,l]=(0,e.useState)(null),[u,d]=(0,e.useState)(null),[f,p]=(0,e.useState)(0),m=(0,e.useRef)(null),h=(0,e.useRef)(null),g=(0,e.useMemo)(()=>{let e={filter:t,columns:n,sort:r};return xa.filter(t=>e[t])},[t,n,r]),_=c===null?null:g.includes(c)?c:g[0]??null,v=_!==null,y=(0,e.useCallback)(()=>{let e=h.current;if(e){let t=va({top:e.top,left:e.left,panelWidth:ya,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});d(e=>e&&e.top===t.top&&e.left===t.left&&e.width===ya?e:{top:t.top,left:t.left,width:ya});return}let t=i.current;if(!t){d(null);return}let n=t.getBoundingClientRect(),r=n.right-ya-ba,a=n.top+ba;r=Math.max(Q,r),r=Math.min(r,window.innerWidth-ya-Q),a=Math.max(Q,a),d(e=>e&&e.top===a&&e.left===r&&e.width===ya?e:{top:a,left:r,width:ya})},[i]),b=(0,e.useCallback)(e=>{({filter:t,columns:n,sort:r})[e]&&(c!==null&&p(e=>e+1),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),i.current?.blur(),l(e))},[t,n,r,i,c]),x=(0,e.useCallback)(()=>{l(null),d(null),requestAnimationFrame(()=>{i.current?.focus()})},[i]),S=(0,e.useCallback)((e,t)=>{let n=va({top:e,left:t,panelWidth:ya,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h.current=n,d({top:n.top,left:n.left,width:ya})},[]);return(0,e.useEffect)(()=>{if(!v)return;y();let e=()=>{y()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[v,y]),(0,e.useEffect)(()=>{if(!v)return;let e=e=>{let t=e.target;t&&(m.current?.contains(t)||a?.current?.contains(t)||x())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[a,x,v]),(0,e.useEffect)(()=>{if(!v)return;let e=e=>{if(e.key===`Escape`){if(o){s?.();return}e.preventDefault(),x()}};return window.addEventListener(`keydown`,e,!0),()=>{window.removeEventListener(`keydown`,e,!0)}},[x,v,s,o]),{activeToolPanelTab:_,availableToolPanelTabs:g,toolPanelLayout:u,toolPanelFlashTick:f,toolPanelRef:m,openToolPanel:b,closeToolPanel:x,moveToolPanel:S}},Ca=({layout:t,onPanelMove:n})=>{let r=(0,e.useRef)(null);return(0,e.useEffect)(()=>()=>{r.current?.()},[]),{handleHeaderPointerDown:(0,e.useCallback)(e=>{if(e.button!==0||!t||e.target?.closest(`button, input, select, textarea`)||r.current)return;e.preventDefault();let i={pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,startTop:t.top,startLeft:t.left};function a(e){e.pointerId===i.pointerId&&n(i.startTop+(e.clientY-i.startY),i.startLeft+(e.clientX-i.startX))}function o(e){e.pointerId===i.pointerId&&s()}function s(){window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o),window.removeEventListener(`pointercancel`,o),r.current=null}window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o),window.addEventListener(`pointercancel`,o),r.current=s},[t,n])}};function wa({themeClassName:t,activeTab:a,flashTick:o,tabs:s,layout:c,panelRef:l,onSelectTab:u,onRequestClose:d,onPanelMove:f,children:p}){let{handleHeaderPointerDown:m}=Ca({layout:c,onPanelMove:f});if((0,e.useEffect)(()=>{let e=l.current;if(!e||o===0)return;e.classList.remove(`ssg-toolpanel--flash`),e.offsetWidth,e.classList.add(`ssg-toolpanel--flash`);let t=()=>{e.classList.remove(`ssg-toolpanel--flash`)};return e.addEventListener(`animationend`,t),()=>{e.removeEventListener(`animationend`,t)}},[o,l]),a===null||!c)return null;let h=Math.max(0,s.findIndex(e=>e.tab===a)),g={top:c.top,left:c.left,width:c.width},_=e=>{e.stopPropagation()},v=e=>{e.stopPropagation()},y={"--ssg-seg-count":s.length,"--ssg-seg-index":h};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:l,onPointerDown:_,onKeyDown:v,onContextMenu:e=>{e.preventDefault()},className:i(`ssg-popover`,`ssg-toolpanel`,t),style:g,children:[(0,n.jsxs)(`div`,{className:`ssg-toolpanel-header ssg-popover-header--draggable`,onPointerDown:m,children:[(0,n.jsxs)(`div`,{className:`ssg-toolpanel-seg`,role:`tablist`,style:y,children:[(0,n.jsx)(`span`,{className:`ssg-toolpanel-seg-indicator`,"aria-hidden":!0}),s.map(e=>{let t=e.tab===a;return(0,n.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":t,onClick:()=>{t||u(e.tab)},className:i(`ssg-toolpanel-seg-btn`,t&&`ssg-toolpanel-seg-btn--active`),children:[e.label,e.badge?(0,n.jsx)(`span`,{className:`ssg-toolpanel-seg-badge`,children:e.badge}):null]},e.tab)})]}),(0,n.jsx)(`button`,{type:`button`,onClick:d,"aria-label":`閉じる`,className:`ssg-popover-close`,children:`×`})]}),(0,n.jsx)(`div`,{className:`ssg-toolpanel-body`,children:p})]}),document.body)}var Ta=28,Ea=12,Da=[`left`,`center`,`right`],Oa={left:`左固定`,center:`固定なし`,right:`右固定`};function ka(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 Aa({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`,style:{stroke:`var(--ssg-panel-accent-contrast)`},strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`})}),e===`indeterminate`&&(0,n.jsx)(`span`,{className:`ssg-checkbox-dash`})]})}function ja({disabled:e}){return(0,n.jsx)(`svg`,{width:`10`,height:`16`,viewBox:`0 0 10 16`,style:{fill:e?`var(--ssg-panel-text-disabled)`:`var(--ssg-panel-text-faint)`},"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 Ma({items:t,canToggle:r,onToggleColumnVisibility:a,onShowAllColumns:o,onHideAllColumns:s,onResetColumns:c,onReorderColumns:l}){let[u,d]=(0,e.useState)(``),f=(0,e.useRef)(null);(0,e.useEffect)(()=>{let e=requestAnimationFrame(()=>{f.current?.focus()});return()=>cancelAnimationFrame(e)},[]);let p=(0,e.useMemo)(()=>t.filter(e=>e.visible).length,[t]),m=p===t.length&&t.length>0,h=m?`checked`:`indeterminate`,g=m?`すべての列を非表示(先頭の列は残ります)`:`すべての列を表示`,_=(0,e.useMemo)(()=>{let e=u.trim().toLowerCase();return e?t.filter(t=>t.title.toLowerCase().includes(e)):t},[t,u]),v=(0,e.useMemo)(()=>{let e={left:[],center:[],right:[]};for(let t of _)e[t.pane].push(t);return Da.map(t=>({pane:t,items:e[t]})).filter(e=>e.items.length>0)},[_]),y=v.length>=2,b=r&&u.trim()===``,x=(0,e.useRef)(null),[S,C]=(0,e.useState)(null),w=(0,e.useRef)(!1),T=(0,e.useRef)(null),[E,D]=(0,e.useState)(null),O=(0,e.useRef)(0),k=(0,e.useRef)(null),A=(0,e.useCallback)(()=>{let e=x.current,t=T.current;if(!e||!t)return;let n=e.querySelectorAll(`[data-chooser-row][data-chooser-pane="${t}"]`),r=O.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}}D(i)},[]),j=(0,e.useCallback)(function e(){let t=x.current;if(!t||!w.current){k.current=null;return}let n=t.getBoundingClientRect(),r=O.current,i=0;if(r<n.top+Ta?i=-12:r>n.bottom-Ta&&(i=Ea),i!==0){let e=t.scrollTop;t.scrollTop+=i,t.scrollTop!==e&&A()}k.current=requestAnimationFrame(e)},[A]),M=(0,e.useCallback)(e=>{k.current!==null&&(cancelAnimationFrame(k.current),k.current=null);let n=S,r=E;if(w.current=!1,T.current=null,C(null),D(null),e&&n!==null&&r!==null){let e=ka(t,n,r);e&&l(e)}},[S,E,t,l]),ee=(0,e.useCallback)((e,t,n)=>{b&&(n.preventDefault(),n.stopPropagation(),n.currentTarget.setPointerCapture(n.pointerId),w.current=!0,T.current=t,O.current=n.clientY,C(e),A(),k.current===null&&(k.current=requestAnimationFrame(j)))},[b,A,j]),N=(0,e.useCallback)(e=>{w.current&&(O.current=e.clientY,A())},[A]),P=(0,e.useCallback)(()=>{w.current&&M(!0)},[M]),F=(0,e.useCallback)(()=>{w.current&&M(!1)},[M]);(0,e.useEffect)(()=>()=>{k.current!==null&&(cancelAnimationFrame(k.current),k.current=null)},[]);let I=()=>{r&&(m?s():o())},te=S===null?null:t.find(e=>e.key===S)?.pane??null,ne=(e,t,o)=>{let s=e.visible&&p===1,c=!r||s,l=S===e.key;return(0,n.jsxs)(`div`,{"data-chooser-row":``,"data-chooser-pane":o,className:i(`ssg-chooser-row`,S!==null&&te===o&&E===t&&`ssg-chooser-row--drop-before`,l&&`ssg-chooser-row--dragging`),children:[(0,n.jsx)(`span`,{role:`button`,"aria-label":`ドラッグして並べ替え`,"data-ssg-tooltip":r?u.trim()===``?`ドラッグして並べ替え(同じセクション内のみ)`:`検索中は並べ替えできません`:`onColumnsChange 未指定のため並べ替えできません`,onPointerDown:t=>ee(e.key,o,t),onPointerMove:N,onPointerUp:P,onPointerCancel:F,className:i(`ssg-chooser-handle`,!b&&`ssg-chooser-handle--disabled`,l&&`ssg-chooser-handle--dragging`),children:(0,n.jsx)(ja,{disabled:!b})}),(0,n.jsxs)(`button`,{type:`button`,disabled:c,onClick:()=>{c||a(e.key,!e.visible)},className:`ssg-chooser-toggle`,children:[(0,n.jsx)(Aa,{state:e.visible?`checked`:`unchecked`,disabled:c}),(0,n.jsx)(`span`,{className:i(`ssg-chooser-label`,c&&!e.visible&&`ssg-chooser-label--muted`),children:e.title})]})]},e.key)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-chooser-search-row`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!r,onClick:I,"aria-label":g,"data-ssg-tooltip":g,className:`ssg-chooser-master-btn`,children:(0,n.jsx)(Aa,{state:h,disabled:!r})}),(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:f,type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:`検索...`,className:`ssg-chooser-search-input`})]})]}),(0,n.jsx)(`div`,{ref:x,className:`ssg-chooser-list`,children:_.length===0?(0,n.jsx)(`div`,{className:`ssg-chooser-empty`,children:`該当する列がありません`}):v.map(e=>(0,n.jsxs)(`div`,{"data-chooser-section":e.pane,children:[y&&(0,n.jsx)(`div`,{className:`ssg-chooser-section-heading`,children:Oa[e.pane]}),e.items.map((t,n)=>ne(t,n,e.pane)),S!==null&&te===e.pane&&E===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:!r,onClick:()=>{r&&c()},"data-ssg-tooltip":`すべての列の幅・固定・表示・並び順を初期状態に戻します`,className:`ssg-chooser-reset-btn`,children:`すべての列を初期状態に戻す`}),!r&&(0,n.jsx)(`div`,{className:`ssg-chooser-note`,children:`onColumnsChange 未指定のため表示/非表示・リセットを変更できません`})]})]})}function Na({disabled:e}){return(0,n.jsx)(`svg`,{width:`10`,height:`16`,viewBox:`0 0 10 16`,style:{fill:e?`var(--ssg-panel-text-disabled)`:`var(--ssg-panel-text-faint)`},"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 Pa({entries:t,columns:r,canSort:a,onAddLevel:o,onChangeDirection:s,onChangeColumn:c,onRemoveLevel:l,onClearAll:u,onMove:d}){let f=(0,e.useMemo)(()=>new Set(t.map(e=>e.columnKey)),[t]),p=(0,e.useMemo)(()=>r.find(e=>!f.has(e.key))??null,[r,f]),m=e=>r.find(t=>t.key===e)?.title??e,h=a&&t.length>=2,g=(0,e.useRef)(null),[_,v]=(0,e.useState)(null),y=(0,e.useRef)(!1),[b,x]=(0,e.useState)(null),S=(0,e.useRef)(0),C=(0,e.useCallback)(()=>{let e=g.current;if(!e)return;let t=e.querySelectorAll(`[data-sort-level]`),n=S.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}}x(r)},[]),w=(0,e.useCallback)(e=>{let t=_,n=b;if(y.current=!1,v(null),x(null),e&&t!==null&&n!==null){let e=n;e>t&&--e,d(t,e)}},[_,b,d]),T=(0,e.useCallback)((e,t)=>{h&&(t.preventDefault(),t.stopPropagation(),t.currentTarget.setPointerCapture(t.pointerId),y.current=!0,S.current=t.clientY,v(e),C())},[h,C]),E=(0,e.useCallback)(e=>{y.current&&(S.current=e.clientY,C())},[C]),D=(0,e.useCallback)(()=>{y.current&&w(!0)},[w]),O=(0,e.useCallback)(()=>{y.current&&w(!1)},[w]),k=a&&p!==null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{ref:g,className:`ssg-sort-list`,children:[t.length===0?(0,n.jsx)(`div`,{className:`ssg-sort-empty`,children:`並び替えは設定されていません`}):t.map((e,o)=>{let u=r.filter(t=>t.key===e.columnKey||!f.has(t.key)),d=u.some(t=>t.key===e.columnKey)?u:[{key:e.columnKey,title:m(e.columnKey)},...u],p=_===o;return(0,n.jsxs)(`div`,{"data-sort-level":``,className:i(`ssg-sort-level`,_!==null&&b===o&&`ssg-sort-level--drop-before`,p&&`ssg-sort-level--dragging`),children:[(0,n.jsx)(`span`,{role:`button`,"aria-label":`ドラッグして優先順位を変更`,"data-ssg-tooltip":a?t.length<2?`レベルが 2 件以上のとき並べ替えできます`:`ドラッグして優先順位を変更`:`並び替えが無効です`,onPointerDown:e=>T(o,e),onPointerMove:E,onPointerUp:D,onPointerCancel:O,className:i(`ssg-sort-handle`,!h&&`ssg-sort-handle--disabled`,p&&`ssg-sort-handle--dragging`),children:(0,n.jsx)(Na,{disabled:!h})}),(0,n.jsx)(`span`,{"aria-hidden":!0,className:`ssg-sort-badge`,children:o+1}),(0,n.jsx)(`select`,{value:e.columnKey,disabled:!a,onChange:e=>c(o,e.target.value),className:`ssg-sort-select`,children:d.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:!a,onClick:()=>s(o,`asc`),"data-ssg-tooltip":`昇順`,className:i(`ssg-sort-dir-btn`,e.direction===`asc`&&`ssg-sort-dir-btn--active`),children:`↑ 昇順`}),(0,n.jsx)(`button`,{type:`button`,disabled:!a,onClick:()=>s(o,`desc`),"data-ssg-tooltip":`降順`,className:i(`ssg-sort-dir-btn`,e.direction===`desc`&&`ssg-sort-dir-btn--active`),children:`↓ 降順`})]}),(0,n.jsx)(`button`,{type:`button`,disabled:!a,onClick:()=>l(o),"aria-label":`このレベルを削除`,"data-ssg-tooltip":`このレベルを削除`,className:`ssg-sort-delete`,children:`×`})]},e.columnKey)}),_!==null&&b===t.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:!k,onClick:()=>{!k||!p||o(p.key,`asc`)},"data-ssg-tooltip":a?p===null?`すべての列が並び替えに使われています`:`並び替えの基準を追加します`:`並び替えが無効です`,className:`ssg-sort-footer-btn ssg-sort-footer-btn--add`,children:`+ 基準を追加`}),(0,n.jsx)(`button`,{type:`button`,disabled:!a||t.length===0,onClick:()=>{!a||t.length===0||u()},"data-ssg-tooltip":`すべての並び替えを解除します`,className:`ssg-sort-footer-btn ssg-sort-footer-btn--clear`,children:`すべてクリア`})]}),!a&&(0,n.jsx)(`div`,{className:`ssg-sort-note`,children:`並び替えが無効のため編集できません`})]})}function Fa(){return(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`})})}function Ia(){return(0,n.jsxs)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,"aria-hidden":`true`,focusable:`false`,children:[(0,n.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7`}),(0,n.jsx)(`path`,{d:`m20 20-3.5-3.5`})]})}function La({entries:e,addableColumns:t,showGlobalFilterRow:r,globalFilterText:i,canFilter:a,onEditFilter:o,onAddFilter:s,onClearFilter:c,onClearAllFilters:l,onClearGlobalFilter:u}){let d=a&&e.length>0,f=a&&t.length>0;return(0,n.jsxs)(n.Fragment,{children:[r&&(0,n.jsxs)(`div`,{className:`ssg-filter-manage-row ssg-filter-manage-row--global`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-manage-glyph ssg-filter-manage-glyph--global`,"aria-hidden":`true`,children:(0,n.jsx)(Ia,{})}),(0,n.jsxs)(`span`,{className:`ssg-filter-manage-main`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-manage-name`,children:`グローバルフィルター`}),(0,n.jsxs)(`span`,{className:`ssg-filter-manage-summary`,"data-ssg-tooltip":i,children:[`"`,i,`" を含む行`]})]}),(0,n.jsx)(`span`,{className:`ssg-filter-manage-actions`,children:(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-manage-icon-btn ssg-filter-manage-icon-btn--danger`,disabled:!a,"data-ssg-tooltip":`グローバルフィルターをクリア`,"aria-label":`グローバルフィルターをクリア`,onClick:u,children:`×`})})]}),(0,n.jsx)(`div`,{className:`ssg-filter-manage-list`,children:e.length===0?(0,n.jsx)(`div`,{className:`ssg-filter-manage-empty`,children:`適用中の列フィルターはありません`}):e.map(e=>(0,n.jsxs)(`div`,{className:`ssg-filter-manage-row`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-manage-glyph`,"aria-hidden":`true`,children:(0,n.jsx)(Fa,{})}),(0,n.jsxs)(`span`,{className:`ssg-filter-manage-main`,children:[(0,n.jsxs)(`span`,{className:`ssg-filter-manage-name`,children:[e.title,e.isHidden&&(0,n.jsx)(`span`,{className:`ssg-filter-manage-hidden-note`,children:`(非表示列)`})]}),(0,n.jsx)(`span`,{className:`ssg-filter-manage-summary`,"data-ssg-tooltip":e.summaryText,children:e.summaryText})]}),(0,n.jsxs)(`span`,{className:`ssg-filter-manage-actions`,children:[(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-manage-icon-btn`,disabled:!a||e.isHidden,"data-ssg-tooltip":e.isHidden?`非表示列のためジャンプ編集できません(× でクリアは可能)`:`この列へジャンプして編集`,"aria-label":`${e.title} のフィルターを編集`,onClick:()=>{o(e.columnKey)},children:`✎`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-manage-icon-btn ssg-filter-manage-icon-btn--danger`,disabled:!a,"data-ssg-tooltip":`この列のフィルターをクリア`,"aria-label":`${e.title} のフィルターをクリア`,onClick:()=>{c(e.columnKey)},children:`×`})]})]},e.columnKey))}),(0,n.jsxs)(`div`,{className:`ssg-popover-footer`,children:[(0,n.jsxs)(`select`,{className:`ssg-filter-manage-add`,value:``,disabled:!f,"aria-label":`フィルターを追加する列を選択`,onChange:e=>{let t=e.target.value;t&&s(t)},children:[(0,n.jsx)(`option`,{value:``,children:f?`+ フィルターを追加…`:`+ 追加できる列がありません`}),t.map(e=>(0,n.jsx)(`option`,{value:e.key,children:e.title},e.key))]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-manage-clear-all`,disabled:!d,onClick:l,children:`すべてクリア`})]})]})}function Ra({entries:e,canFilter:t,onEditFilter:r,onClearFilter:i,onClearAllFilters:a}){return e.length===0?null:(0,n.jsxs)(`div`,{className:`ssg-filter-chip-bar`,children:[e.map(e=>(0,n.jsxs)(`div`,{className:e.isHidden?`ssg-filter-chip ssg-filter-chip--hidden`:`ssg-filter-chip`,children:[(0,n.jsxs)(`button`,{type:`button`,className:`ssg-filter-chip-label`,disabled:!t||e.isHidden,"data-ssg-tooltip":e.isHidden?`非表示列のためジャンプ編集できません(× でクリアは可能)`:`この列へジャンプして編集`,"aria-label":`${e.title} のフィルターを編集`,onClick:()=>{r(e.columnKey)},children:[(0,n.jsxs)(`span`,{className:`ssg-filter-chip-name`,children:[e.title,e.isHidden?`(非表示列)`:``]}),(0,n.jsx)(`span`,{className:`ssg-filter-chip-summary`,children:e.summaryText})]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-chip-clear`,disabled:!t,"data-ssg-tooltip":`この列のフィルターをクリア`,"aria-label":`${e.title} のフィルターをクリア`,onClick:()=>{i(e.columnKey)},children:`×`})]},e.columnKey)),(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-chip-bar-clear-all`,disabled:!t,onClick:a,children:`すべてクリア`})]})}var za=e=>{if(e===void 0||e===!1)return null;let t=e===!0?{}:e,n=t.bubble??!0,r=t.ruler??!0,i=t.scrollbar??!0;return!n&&!r&&!i?null:{bubble:n,ruler:r,scrollbar:i,trigger:t.trigger??`scroll`,minRows:t.minRows??0,hintColumn:t.hintColumn,renderHint:t.renderHint}},Ba=({scrollTop:e,contentHeight:t,viewportHeight:n,trackHeight:r=n})=>{let i=t-n;if(n<=0||r<=0||i<=0)return null;let a=Math.min(Math.max(r*n/t,30),r),o=Math.min(Math.max(e,0),i)/i*(r-a);return{maxScroll:i,thumbTop:o,thumbHeight:a,centerY:o+a/2}},Va=e=>{let t=Math.max(e,1),n=10**Math.floor(Math.log10(t)),r=n<10?[1,2,5,10]:[1,2,2.5,5,10];for(let e of r){let r=n*e;if(r>=t)return r}return n*10},Ha=(e,t=e>=1e4&&e%1e4==0)=>e!==0&&t?`${(e/1e4).toLocaleString()}万`:e.toLocaleString(),Ua=({rowCount:e,rulerHeight:t,minTickSpacingPx:n=44})=>{if(e<=0||t<=0)return[];let r=Va(e/Math.max(Math.floor(t/n),2)),i=r%1e4==0,a=[];for(let n=0;n<=e;n+=r)a.push({row:n,y:n/e*t,label:Ha(n,i)});return a},Wa=(e,t,n)=>{let r=n-t.thumbHeight;return r<=0?0:Math.min(Math.max((e-t.thumbHeight/2)/r,0),1)*t.maxScroll},Ga=(e,t)=>{if(e.renderHint!==void 0){let n=e.renderHint(t);return n==null||n===!1?null:n}if(e.hintColumn!==void 0&&t.rowData!==void 0){let n=t.rowData[e.hintColumn];return n==null||n===``?null:String(n)}return null},Ka=1e3,qa=8,Ja=18,Ya=28;function Xa({options:t,scrollContainerRef:r,scrollTop:a,viewportHeight:o,headerHeight:s,physicalBodyHeight:c,verticalScaleFactor:l,rowMetrics:u,rowModel:d}){let[f,p]=(0,e.useState)(!1),[m,h]=(0,e.useState)(!1),[g,_]=(0,e.useState)(0),[v,y]=(0,e.useState)(null),[b,x]=(0,e.useState)(!1),S=(0,e.useRef)(null),C=(0,e.useRef)(null),w=(0,e.useRef)(null),T=t.scrollbar?s:0,E=Math.max(t.scrollbar?o-s:o,0),D=Ba({scrollTop:a,contentHeight:s+c,viewportHeight:o,trackHeight:E}),O=D!==null&&u.rowCount>0;(0,e.useEffect)(()=>{let e=r.current;if(!e)return;let n=()=>{p(!0),S.current!==null&&window.clearTimeout(S.current),S.current=window.setTimeout(()=>{S.current=null,p(!1)},Ka)},i=()=>h(!0),a=()=>{h(!1),y(null)},o=t=>{let n=e.getBoundingClientRect(),r=t.clientX-n.left,i=e.offsetWidth-Math.max(e.offsetWidth-e.clientWidth,0)-Ja;y(r>=i?t.clientY-n.top:null)},s=new ResizeObserver(()=>{_(Math.max(e.offsetWidth-e.clientWidth,0))});return e.addEventListener(`scroll`,n,{passive:!0}),e.addEventListener(`pointerenter`,i),e.addEventListener(`pointerleave`,a),t.scrollbar||e.addEventListener(`pointermove`,o,{passive:!0}),s.observe(e),()=>{e.removeEventListener(`scroll`,n),e.removeEventListener(`pointerenter`,i),e.removeEventListener(`pointerleave`,a),e.removeEventListener(`pointermove`,o),s.disconnect(),S.current!==null&&(window.clearTimeout(S.current),S.current=null)}},[r,t.scrollbar]),(0,e.useEffect)(()=>{if(!t.scrollbar||!O)return;let e=w.current,n=r.current;if(!e||!n)return;let i=e=>{e.preventDefault(),n.scrollTop+=e.deltaY};return e.addEventListener(`wheel`,i,{passive:!1}),()=>{e.removeEventListener(`wheel`,i)}},[r,t.scrollbar,O]);let k=Math.max(o-s,0),A=(0,e.useMemo)(()=>t.ruler?Ua({rowCount:u.rowCount,rulerHeight:k}):[],[t.ruler,u.rowCount,k]);if(D===null||u.rowCount<=0)return null;let j=t.trigger===`always`||f||t.trigger===`hover`&&m,M=j||v!==null,ee=t.scrollbar?14:g,N=yn(Math.min(Math.max(a,0),D.maxScroll),l),P=u.rowAtContentY(N),F=Ga(t,{rowIndex:P,rowData:d.getRow(P)}),I=null;if(t.ruler&&v!==null&&!b){let e=Wa(v,D,E),n=u.rowAtContentY(yn(e,l));I={lineY:Math.min(Math.max(T+v,s),o),rowIndex:n,detail:Ga(t,{rowIndex:n,rowData:d.getRow(n)})}}let te=e=>{let t=w.current;return t===null?0:e.clientY-t.getBoundingClientRect().top},ne=(e,t)=>{let n=r.current;if(n===null)return;let i=E-D.thumbHeight;i<=0||(n.scrollTop=Math.min(Math.max((e-t)/i,0),1)*D.maxScroll)};return(0,n.jsxs)(`div`,{className:`ssg-scroll-hint`,"aria-hidden":`true`,children:[t.ruler&&A.length>0&&(0,n.jsx)(`div`,{className:i(`ssg-scroll-hint-ruler`,M&&`ssg-scroll-hint-ruler--visible`),style:{top:s,right:ee},children:A.map(e=>(0,n.jsx)(`div`,{className:`ssg-scroll-hint-ruler-tick`,style:{top:Math.min(Math.max(e.y,6),Math.max(k-6,6))},children:(0,n.jsx)(`span`,{className:`ssg-scroll-hint-ruler-label`,children:e.label})},e.row))}),I!==null&&(0,n.jsx)(`div`,{className:`ssg-scroll-hint-jumpline`,style:{top:I.lineY,right:ee},children:(0,n.jsxs)(`span`,{className:i(`ssg-scroll-hint-jumpline-label`,I.lineY<s+Ya&&`ssg-scroll-hint-jumpline-label--below`),children:[`行 `,(I.rowIndex+1).toLocaleString(),` へ`,I.detail!==null&&(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-jumpline-detail`,children:[` `,`・ `,I.detail]})]})}),t.bubble&&(0,n.jsxs)(`div`,{className:i(`ssg-scroll-hint-bubble`,j&&`ssg-scroll-hint-bubble--visible`),style:{top:T+D.centerY,right:ee+qa},children:[(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-bubble-main`,children:[`行 `,(P+1).toLocaleString(),(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-bubble-total`,children:[` `,`/ `,u.rowCount.toLocaleString()]})]}),F!==null&&(0,n.jsx)(`span`,{className:`ssg-scroll-hint-bubble-detail`,children:F})]}),t.scrollbar&&(0,n.jsx)(`div`,{ref:w,className:i(`ssg-scroll-hint-scrollbar`,b&&`ssg-scroll-hint-scrollbar--dragging`),style:{top:s,height:E,width:14},onPointerDown:e=>{e.preventDefault();let t=te(e),n=t>=D.thumbTop&&t<=D.thumbTop+D.thumbHeight?t-D.thumbTop:D.thumbHeight/2;C.current=n,x(!0),y(null),w.current?.setPointerCapture(e.pointerId),ne(t,n)},onPointerMove:e=>{let t=te(e);if(C.current!==null){ne(t,C.current);return}y(t)},onPointerUp:e=>{C.current=null,x(!1),w.current?.releasePointerCapture(e.pointerId)},onPointerEnter:()=>h(!0),onPointerLeave:()=>{h(!1),C.current===null&&y(null)},children:(0,n.jsx)(`div`,{className:`ssg-scroll-hint-scrollbar-thumb`,style:{top:D.thumbTop,height:D.thumbHeight}})})]})}var Za=(e,t)=>e.findIndex(e=>e.key===t),Qa=(e,t,n)=>{if(!e)return!1;if(e.type===`row`)return t>=e.startRow&&t<=e.endRow;if(e.type===`col`)return n>=e.startCol&&n<=e.endCol;let{start:r,end:i}=e.range,a=Math.min(r.row,i.row),o=Math.max(r.row,i.row),s=Math.min(r.col,i.col),c=Math.max(r.col,i.col);return t>=a&&t<=o&&n>=s&&n<=c},$a=(e,t)=>{if(!e)return!1;if(e.type===`row`)return t>=e.startRow&&t<=e.endRow;if(e.type===`cell`){let{start:n,end:r}=e.range,i=Math.min(n.row,r.row),a=Math.max(n.row,r.row);return t>=i&&t<=a}return!1},eo=220,to=8,no=34,ro=16,io=({gridRootRef:t})=>{let[n,r]=(0,e.useState)(null),[i,a]=(0,e.useState)(null),o=(0,e.useRef)(null),s=(0,e.useRef)(null),c=(0,e.useRef)(0),l=n!==null,u=(0,e.useCallback)(()=>{let e=s.current;if(!e){a(null);return}let t=c.current*no+ro,n=e.x,r=e.y,i=e.y-t;n=Math.max(to,n),n=Math.min(n,window.innerWidth-eo-to),r+t>window.innerHeight-to&&(r=i),r=Math.max(to,r),a(e=>e&&e.top===r&&e.left===n&&e.width===eo?e:{top:r,left:n,width:eo})},[]),d=(0,e.useCallback)(()=>{r(null),a(null),s.current=null,c.current=0,requestAnimationFrame(()=>{t.current?.focus()})},[t]),f=(0,e.useCallback)((e,n)=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur(),t.current?.blur(),s.current={x:e.clientX,y:e.clientY},c.current=n.length,r({params:e,items:n}),u()},[t,u]);return(0,e.useEffect)(()=>{if(!l)return;u();let e=()=>{u()},t=()=>{d()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,t,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,t,!0)}},[l,u,d]),(0,e.useEffect)(()=>{if(!l)return;let e=e=>{let t=e.target;t&&(o.current?.contains(t)||d())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[l,d]),(0,e.useEffect)(()=>{if(!l)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),d())};return window.addEventListener(`keydown`,e,!0),()=>{window.removeEventListener(`keydown`,e,!0)}},[l,d]),{contextMenuState:n,contextMenuLayout:i,contextMenuRef:o,isContextMenuOpen:l,openContextMenu:f,closeContextMenu:d}};function ao({isOpen:e,themeClassName:t,items:a,layout:o,popoverRef:s,onRequestClose:c}){if(!e||!o)return null;let l={position:`fixed`,top:o.top,left:o.left,width:o.width,zIndex:1e3};return(0,r.createPortal)((0,n.jsx)(`div`,{ref:s,role:`menu`,onPointerDown:e=>{e.stopPropagation()},onKeyDown:e=>{e.stopPropagation()},onContextMenu:e=>{e.preventDefault()},className:i(`ssg-menu-panel`,t),style:l,children:a.map((e,t)=>e.kind===`separator`?(0,n.jsx)(`div`,{className:`ssg-menu-separator`},e.id??`sep-${t}`):e.kind===`label`?(0,n.jsx)(`div`,{className:`ssg-menu-section-label`,role:`presentation`,children:e.label},e.id??`label-${t}`):e.kind===`custom`?(0,n.jsx)(`div`,{role:`none`,children:e.render({close:c})},e.id??`custom-${t}`):(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,onClick:()=>{e.onSelect(),c()},className:i(`ssg-menu-item`,e.danger&&`ssg-menu-item--danger`,e.disabled&&`ssg-menu-item--disabled`),children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`,children:e.icon}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:e.label})]},e.id??`action-${t}`))}),document.body)}var oo=(e,t)=>{let n=new Set(e);return n.add(t),n},so=(e,t)=>{let n=new Set(e);return n.delete(t),n},co=(e,t)=>{let n=new Set(e);for(let e of t)n.add(e);return n},lo=(e,t)=>{let n=new Set(e);for(let e of t)n.delete(e);return n},uo=[],fo={},po={},mo=[],ho={compact:{rowHeight:28,headerHeight:32},standard:{rowHeight:36,headerHeight:40},comfortable:{rowHeight:44,headerHeight:48}},go={},_o=[],vo=300,yo=4,bo=300;function xo({rows:r=uo,dataSource:o,serverSideRefreshToken:d,onServerSideLoadError:p,onServerSideWriteError:m,columns:g,onRowsChange:_,onColumnsChange:v,rowKeyGetter:y,createRow:b,createOverflowColumn:T,rowHeight:D,autoHeight:ne=!1,estimateRowHeight:re,headerHeight:ie,density:ue=`standard`,theme:me=`light`,rowHeaderWidth:he=56,height:ge,maxHeight:_e,readOnly:ve=!1,dimReadOnlyCells:ye=!1,canEditCell:be,enableUndoRedo:xe=!0,enableClearOnDelete:Se=!0,undoHistoryLimit:Ce=100,onUndoRedoStateChange:we,enableRangeSelection:Te=!0,enableRowSelection:Ee=!1,rowSelectionMode:De=`multiple`,enableSelectAllRows:Oe,rowSelection:Ae,selectedRowKeys:je,onRowSelectionChange:Pe,enableGlobalFilter:Fe=!0,enableColumnFilter:Ie=!0,enableSorting:Le=!0,enableColumnResize:Re=!0,autoSizeColumns:ze=!1,showCellOverflowTooltip:Be=!1,showValidationMarks:Ke=!0,enableRowHover:Xe=!0,enableColumnHeaderHover:Ze=!0,enableColumnMenu:Qe=!0,noMatchingRowsText:et=`一致する行がありません`,noRowsText:tt=`表示する行がありません`,showTopBar:nt=!0,showBottomBar:rt=!0,showTopBarSummary:it=!0,showTopBarFilter:ot=!0,globalFilterPlaceholder:st,globalFilterIcon:ct,showTopBarCounts:dt=!0,showBottomBarCounts:ft=!0,showFilterChipBar:pt=!1,renderTopBar:mt,renderBottomBar:ht,className:gt,classNames:R,getRowClassName:yt,enableContextMenu:bt=!1,getContextMenuItems:xt,onContextMenuOpen:St,scrollHint:Ct,ref:wt,onStateChange:Tt}){let Et=D??ho[ue].rowHeight,z=ie??ho[ue].headerHeight,Dt=(0,e.useMemo)(()=>za(Ct),[Ct]),Ot=(0,e.useRef)(null),kt=(0,e.useRef)(null),Mt=(0,e.useRef)(null),Nt=(0,e.useRef)(null),Pt=(0,e.useRef)(!1),Ft=(0,e.useRef)(null),It=(0,e.useRef)(null),Lt=(0,e.useRef)(null),[zt,Bt]=(0,e.useState)(``),[Ht,Ut]=(0,e.useState)(!1),[Zt,Qt]=(0,e.useState)(null),[$t,en]=(0,e.useState)(null),{groupColumns:tn,aggColumns:nn}=(0,e.useMemo)(()=>un(g),[g]),rn=o==null&&tn.length>0,ln=(0,e.useMemo)(()=>rn?[{key:an,title:tn.map(e=>e.title||e.key).join(` › `),width:240,minWidth:120,readOnly:!0,suppressAutoSize:!0},...g.filter(e=>e.rowGroup!==!0)]:g,[rn,g,tn]),B=(0,e.useMemo)(()=>ln.filter(e=>e.visible!==!1),[ln]),V=(0,e.useMemo)(()=>l(B),[B]),Cn=(0,e.useMemo)(()=>y??((e,t)=>t),[y]),H=o!=null,wn=Le,Tn=Ie,On=Fe,[U,W]=(0,e.useReducer)(oe,B,ae),kn=(0,e.useRef)(U.columnWidths),An=(0,e.useRef)(null),jn=(0,e.useRef)(null);jn.current===null&&(jn.current=new Map(g.map(e=>[e.key,{width:e.width,pinned:e.pinned,visible:e.visible}])));let Mn=(0,e.useMemo)(()=>de(U.selection),[U.selection]),G=(0,e.useMemo)(()=>u(V),[V]),[Nn,Pn]=(0,e.useState)(0),Fn=G.left.reduce((e,{column:t})=>e+(U.columnWidths[t.key]??t.width),0),In=G.right.reduce((e,{column:t})=>e+(U.columnWidths[t.key]??t.width),0),Ln=G.left.length>0,Rn=Ln?he+Fn:0,zn=Ln?0:he,Bn=(0,e.useMemo)(()=>G.center.map(({column:e})=>e),[G.center]),Vn=(0,e.useMemo)(()=>Bn.some(w),[Bn]),Hn=Nn-Rn-In-zn,Un=(0,e.useMemo)(()=>!Vn||Nn<=0?go:E(Bn,U.columnWidths,Hn),[Vn,Nn,Bn,U.columnWidths,Hn]),Wn=(0,e.useMemo)(()=>Un===go?U.columnWidths:{...Un,...U.columnWidths},[Un,U.columnWidths]);kn.current=Wn;let Kn=f(G.left,U.columnWidths),qn=f(G.center,Wn),Jn=f(G.right,U.columnWidths),Yn=(0,e.useMemo)(()=>h(`left`,G.left,Kn),[G.left,Kn]),Zn=(0,e.useMemo)(()=>h(`center`,G.center,qn),[G.center,qn]),Qn=(0,e.useMemo)(()=>h(`right`,G.right,Jn),[G.right,Jn]),K=(0,e.useMemo)(()=>({left:Yn,center:Zn,right:Qn}),[Yn,Zn,Qn]),$n=K.left.entries.length>0,er=K.right.entries.length>0,tr=!$n,nr=he,rr=tr?he:0,ir=$n?nr+K.left.totalWidth:0,ar=K.right.totalWidth,or=rr+K.center.totalWidth,sr=ir+or+ar,{filterPopoverState:q,filterPopoverLayout:lr,filterPopoverRef:dr,filterTextInputRef:gr,filterSelectRef:_r,isFilterPopoverOpen:xr,openedFilterColumn:Sr,openColumnFilterPopover:Cr,closeColumnFilterPopover:Or,updateFilterPopoverDraft:kr}=at({visibleColumns:B,columnFilterValues:U.filters.columnFilters,enableColumnFilter:Tn,gridRootRef:Ot}),{columnMenuLayout:Ar,columnMenuRef:jr,isColumnMenuOpen:Mr,openedMenuColumnKey:Nr,openedMenuColumn:Br,openColumnMenuFromButton:Hr,openColumnMenuFromContextMenu:Ur,closeColumnMenu:J}=da({visibleColumns:B,enableColumnMenu:Qe,gridRootRef:Ot}),{activeToolPanelTab:Wr,availableToolPanelTabs:Gr,toolPanelLayout:Kr,toolPanelFlashTick:qr,toolPanelRef:Jr,openToolPanel:Yr,closeToolPanel:Xr,moveToolPanel:Zr}=Sa({canUseFilterTab:Tn,canUseColumnsTab:Qe,canUseSortTab:wn,gridRootRef:Ot,alliedRef:dr,suppressEscape:xr,onSuppressedEscape:Or}),{contextMenuState:Qr,contextMenuLayout:$r,contextMenuRef:ei,isContextMenuOpen:ti,openContextMenu:ni,closeContextMenu:ri}=io({gridRootRef:Ot});(0,e.useEffect)(()=>{let e=B.reduce((e,t)=>(w(t)||(e[t.key]=t.width),e),{});W(a.resetColumnWidths(e))},[B]);let ii=U.filters.globalText,ai=U.filters.columnFilters,oi=(0,e.useDeferredValue)(ai),{order:si,status:ci,progress:li}=Ti({rows:r,baseOrder:(0,e.useMemo)(()=>Ue(r.length),[r.length]),columns:B,globalText:ii,enabled:On}),ui=(0,e.useMemo)(()=>{let e=[];for(let t of B)qe(oi[t.key])&&e.push(t.key);return e.join(`\0`)},[B,oi]),fi=(0,e.useMemo)(()=>{let e=new Map;if(ui.length===0)return e;let t=new Set(ui.split(`\0`)),n=r.length;for(let i of B){if(!t.has(i.key))continue;let a=new Float64Array(n);for(let e=0;e<n;e+=1)a[e]=Number(L(r[e],i));e.set(i.key,a)}return e},[r,B,ui]),pi=(0,e.useMemo)(()=>$e(r,si,B,oi,fi),[r,si,B,oi,fi]),mi=(0,e.useMemo)(()=>Xt(r,pi,B,U.sort),[r,pi,B,U.sort]);(0,e.useEffect)(()=>{},[H,tn.length]);let hi=(0,e.useMemo)(()=>rn?dn(r,mi,tn,nn):null,[rn,r,mi,tn,nn]),gi=(0,e.useMemo)(()=>hi?fn(hi,U.collapsedGroupKeys):null,[hi,U.collapsedGroupKeys]),_i=(0,e.useCallback)(e=>{W(a.toggleGroupCollapsed(e))},[W]),vi=(0,e.useMemo)(()=>{if(gi){let{displayOrder:e,groups:t}=gi;return{getRowCount:()=>e.length,getRow:t=>r[e[t]],getSourceIndex:t=>{let n=e[t];return n>=0?n:void 0},getRowKey:n=>{let i=e[n];return sn(i)?on(t[cn(i)]):Cn(r[i],i)},getGroupRow:n=>{let r=e[n];return sn(r)?t[cn(r)]:void 0}}}return{getRowCount:()=>mi.length,getRow:e=>r[mi[e]],getSourceIndex:e=>mi[e],getRowKey:e=>Cn(r[mi[e]],mi[e])}},[gi,mi,r,Cn]),yi=(0,e.useMemo)(()=>H?Ni({globalText:On?ii:``,columnFilters:Tn?ai:po,sort:wn?U.sort:mo}):fo,[H,On,ii,Tn,ai,wn,U.sort]),bi=(0,e.useMemo)(()=>H?Pi(yi):``,[H,yi]),[xi,Ci]=(0,e.useState)(yi),[wi,Ei]=(0,e.useState)(bi);(0,e.useEffect)(()=>{if(!H)return;let e=setTimeout(()=>{Ci(yi),Ei(bi)},bo);return()=>clearTimeout(e)},[H,bi,yi]);let Y=Mi({dataSource:o,rowKeyGetter:Cn,query:xi,queryKey:wi,refreshToken:d,onLoadError:p,onWriteError:m}),[Di,Oi]=(0,e.useState)(null),[ki,Ai]=(0,e.useState)(null),ji=Y.requestRange,X=H?Y.rowModel:vi,Fi=(0,e.useMemo)(()=>H&&!Y.canUpdateRows?()=>!1:be,[H,Y.canUpdateRows,be]),Ii=H&&Y.canUpdateRows?Y.applyCellEdits:void 0,Ri=(0,e.useRef)(X);Ri.current=X;let zi=(0,e.useCallback)(e=>{if(!bt||!xt)return;let t=e.target;if(!t)return;let n=t.closest(`[data-row-index]`);if(!n)return;let r=n.dataset.rowIndex;if(r===void 0)return;let i=Number(r);if(!Number.isInteger(i))return;let a=X.getRow(i);if(!a)return;let o=X.getRowKey(i)??i,s,c,l=t.closest(`[data-ssg-col-key]`),u=l?.dataset.ssgColKey;if(l&&u!==void 0){let e=Za(V,u);if(e<0)return;let t=V[e];s={type:`cell`,rowIndex:i,colIndex:e,rowKey:o,row:a,column:t,value:L(a,t)},c=Qa(U.selection,i,e)}else s={type:`rowHeader`,rowIndex:i,rowKey:o,row:a},c=$a(U.selection,i);let d={target:s,clientX:e.clientX,clientY:e.clientY,selection:U.selection,activeCell:U.activeCell,isTargetSelected:c},f=xt(d);!f||f.length===0||(e.preventDefault(),St?.(d),ni(d,f))},[bt,xt,St,X,V,U.selection,U.activeCell,ni]),{isAutosizing:Vi,runAutosize:Hi}=di({rowModelRef:Ri,gridRootRef:Ot,columnWidthsRef:kn,dispatch:W}),Gi=(0,e.useRef)(B);Gi.current=B;let Ki=(0,e.useRef)(!1);(0,e.useEffect)(()=>{let{shouldRun:e,nextHasAutoSizedOnMount:t}=mr({mode:ze,isServerSide:H,rowCount:r.length,hasAutoSizedOnMount:Ki.current});Ki.current=t,e&&Hi(Gi.current)},[ze,r,H,Hi]);let Z=X.getRowCount(),Ji=gi?mi.length:Z,Yi=Dt!==null&&Z>=Dt.minRows?Dt:null,Xi=(0,e.useMemo)(()=>{let e=null;return()=>e??=Array.from(mi,e=>r[e])},[mi,r]),Zi=(0,e.useMemo)(()=>s(B,Wn),[B,Wn]),[Qi,$i]=(0,e.useState)(0),[ea,ta]=(0,e.useState)(0);(0,e.useEffect)(()=>{let e=Ft.current;if(!e)return;$i(e.scrollTop),ta(e.clientHeight),Pn(e.clientWidth);let t=()=>$i(e.scrollTop);e.addEventListener(`scroll`,t,{passive:!0});let n=new ResizeObserver(()=>{ta(e.clientHeight),Pn(e.clientWidth)});return n.observe(e),()=>{e.removeEventListener(`scroll`,t),n.disconnect()}},[]);let na=K.center.entries,ia=(0,t.useVirtualizer)({horizontal:!0,count:na.length,getScrollElement:()=>Ft.current,estimateSize:e=>na[e]?.paneLocalSize??na[e]?.column.width??120,overscan:8,useFlushSync:!1,scrollMargin:ir}),aa=ia.getVirtualItems(),sa=re??Et,ca=(0,e.useMemo)(()=>B.some(e=>e.autoHeight===!0),[B]),la=!H&&gn(ne,ca,Z,5e4);(0,e.useEffect)(()=>{},[ne,ca,Z,H]);let ua=(0,e.useRef)(new Map),[fa,pa]=(0,e.useState)(0),[ma,ha]=(0,e.useState)(0),ga=(0,e.useRef)(null),va=(0,e.useRef)(new Set),ya=(0,e.useMemo)(()=>la?Rr(Z,sa,X.getRowKey,ua.current):null,[la,Z,sa,X]),Q=(0,e.useMemo)(()=>la&&ya?Vr(ya):_n(Z,Et),[la,ya,fa,Z,Et]),ba=(0,e.useMemo)(()=>la?Sn({headerHeight:z,viewportHeight:ea,scrollTop:Qi,overscan:20},Q):xn({rowCount:Z,rowHeight:Et,headerHeight:z,viewportHeight:ea,scrollTop:Qi,overscan:20,maxBodyPx:hn}),[la,Q,Z,Et,z,ea,Qi]),xa=ba.rows,Ca=ba.rowIndexSet,Ta=xa.length>0?xa[0].index:0,Ea=xa.length>0?xa[xa.length-1].index:-1;(0,e.useEffect)(()=>{if(!H)return;let e=Ft.current;e&&(e.scrollTop=0),$i(0)},[H,wi]),(0,e.useEffect)(()=>{H&&(Ea<Ta||ji(Ta,Ea+1))},[H,Ta,Ea,ji,wi]);let Da=ba.physicalBodyHeight,Oa=ba.translateY===0?void 0:`translateY(${ba.translateY}px)`,ka=ba.scaleFactor,Aa=ba.windowBaseOffsetPx;(0,e.useLayoutEffect)(()=>{if(!la||!ya){ga.current?.disconnect(),ga.current=null,va.current.clear();return}let e=Ft.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)=>{let n=X.getRowKey(t)??t;zr(ya,t,n,e)&&(r=!0,t<i&&(i=t))}),r){let t=e.scrollTop,n=Q.rowAtContentY(t),r=t-Q.rowTop(n);Lr(ya,i),e.scrollTop=ya.prefix[n]+r,pa(e=>e+1)}}let n=ga.current??new ResizeObserver(()=>ha(e=>e+1));ga.current=n;let r=va.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)})},[la,ya,Q,X,xa,ea,fa,ma]),(0,e.useEffect)(()=>{let e=va.current;return()=>{ga.current?.disconnect(),ga.current=null,e.clear()}},[]);let ja=(0,e.useMemo)(()=>aa.map(e=>na[e.index]).filter(e=>!!e),[aa,na]),Na=K.left.entries,Fa=K.right.entries,Ia=(0,e.useMemo)(()=>{if(!U.activeCell)return null;let{row:e,col:t}=U.activeCell;if(e<0||e>=Z)return null;let n=C(K,t);return n?{pane:n.pane,rect:{left:n.extent.start,top:Q.rowTop(e),width:n.extent.width,height:Q.rowsHeight(e,e)}}:null},[U.activeCell,Z,K,Q]),Ba=(0,e.useMemo)(()=>Ia&&Ia.pane===`center`?Ia.rect:null,[Ia]),Va=(0,e.useCallback)(e=>Ia&&Ia.pane===e?Ia.rect:null,[Ia]),Ha=(0,e.useCallback)(e=>U.editingCell?Va(e):null,[U.editingCell,Va]),Ua=Xn(me)===`dark`?`ssg-theme-dark`:void 0;Gn(),Dn({scrollRef:Ft,columnVirtualizer:ia,columnMeasurements:Zi,totalScrollWidth:sr,physicalBodyHeight:Da,headerHeight:z,leftPaneWidth:ir,rightPaneWidth:ar,centerLeadingWidth:rr,activeCellRect:Ba,verticalScaleFactor:ka});let Wa=(0,e.useMemo)(()=>{if(Ae!==void 0)return Ae;if(je!==void 0)return{type:`include`,rowKeys:je}},[Ae,je]),Ga=Wa!==void 0,Ka=Oe??(Ee&&De===`multiple`),qa=U.rowSelection,Ja=P(qa,Ji),Ya=(0,e.useRef)(qa);Ya.current=qa;let eo=(0,e.useRef)(De);eo.current=De;let to=(0,e.useRef)(Pe);to.current=Pe;let no=(0,e.useRef)(Ga);no.current=Ga;let ro=(0,e.useRef)(null),xo=(0,e.useCallback)(e=>{te(Ya.current,e)||to.current?.(F(e)),no.current||W(a.setRowSelectionState(e))},[W]),So=(0,e.useRef)(xo);So.current=xo;let Co=(0,e.useCallback)((e,t)=>{let n=Ri.current,r=Math.min(e,t),i=Math.max(e,t),a=[];for(let e=r;e<=i;e+=1)n.getRow(e)&&a.push(n.getRowKey(e)??e);return a},[]),wo=(0,e.useCallback)((e,t)=>{let n=Ri.current;if(!n.getRow(e))return;let r=n.getRowKey(e)??e;if(eo.current===`single`){ro.current=e,xo(A(r));return}if(t.shiftKey&&ro.current!==null){xo(j(Co(ro.current,e)));return}ro.current=e,xo(k(Ya.current,r))},[xo,Co]),To=(0,e.useCallback)(e=>{let t=Ri.current;if(t.getRow(e)){if(eo.current===`single`){xo(A(t.getRowKey(e)??e));return}ro.current!==null&&xo(j(Co(ro.current,e)))}},[xo,Co]),Eo=(0,e.useCallback)(()=>{let e=P(Ya.current,Ji);xo(e===`all`?ee():M())},[xo,Ji]);(0,e.useEffect)(()=>{if(!Ga||!Wa)return;let e=I(Wa);te(Ya.current,e)||W(a.setRowSelectionState(e))},[Ga,Wa,W]);let{updateSelectionFromPointer:Do,handleCellPointerDown:Oo,handleCellPointerEnter:ko,handleNativeDragStart:Ao,handleRowHeaderPointerDown:jo,handleRowHeaderPointerEnter:Mo,handleColumnHeaderPointerDown:No,handleColumnHeaderPointerEnter:Po}=En({gridRootRef:Ot,bodyScrollRef:Nt,scrollContainerRef:Ft,leftPaneScrollRef:It,rightPaneScrollRef:Lt,pointerClientRef:kt,autoScrollFrameRef:Mt,uiState:U,dispatch:W,enableRangeSelection:Te,enableSorting:wn,orderedColumns:V,filteredRowsLength:Z,visibleColumnsLength:B.length,paneLayout:K,leftLeadingWidth:nr,centerLeadingWidth:rr,rightLeadingWidth:0,headerHeight:z,rowMetrics:Q,verticalScaleFactor:ka,setHoveredRowIndex:Qt,setHoveredColumnIndex:en,enableRowHover:Xe,enableColumnHeaderHover:Ze,enableRowSelection:Ee,onGutterRowSelect:wo,onGutterRowSelectDrag:To}),Fo=(0,e.useRef)(()=>{}),Io=(0,e.useCallback)(e=>{e&&requestAnimationFrame(()=>{Fo.current(e.row,e.col,`auto`)})},[]),Lo=xe&&!ve&&!H,{handleRowsChange:Ro,undo:zo,redo:Bo,canUndo:Vo,canRedo:Ho,clearHistory:Uo}=Rt({rows:r,selection:U.selection,activeCell:U.activeCell,onRowsChange:_,dispatch:W,enabled:Lo,limit:Ce,onUndoRedoStateChange:we,onAfterRestore:Io}),Wo=(0,e.useCallback)(()=>{if(Ii){let e=pr({getRow:e=>X.getRow(e),columns:V,selection:U.selection,activeCell:U.activeCell,viewRowCount:Z,canWriteCell:(e,t,n,r)=>ke({readOnly:ve,canEditCell:Fi},e,t,n,r)});e.length>0&&Ii(e);return}if(!Ro)return;let{nextRows:e,changed:t}=fr({rows:r,resolveSourceIndex:e=>X.getSourceIndex(e),columns:V,selection:U.selection,activeCell:U.activeCell,viewRowCount:Z,canWriteCell:(e,t,n,r)=>ke({readOnly:ve,canEditCell:Fi},e,t,n,r)});t&&Ro(e)},[Ii,Fi,Ro,V,ve,X,r,U.activeCell,U.selection,Z]),{isWholeGridSelected:Go,handleCopy:Ko,handlePaste:qo}=_t({rows:r,rowModel:X,visibleColumns:V,uiState:U,readOnly:ve,canEditCell:Fi,createRow:b,createOverflowColumn:T,onRowsChange:Ro,onColumnsChange:v,applyServerSideCellEdits:Ii,dispatch:W}),Jo=(0,e.useCallback)(()=>{if(Z===0||B.length===0)return;let e={row:0,col:0},t={row:Z-1,col:B.length-1};W(a.startSelection(e)),W(a.updateSelection(t)),W(a.endSelection()),W(a.activateCell(e))},[W,Z,B.length]),Yo=(0,e.useCallback)(e=>{let t=X.getRow(e.row),n=V[e.col];if(!t||!n||!ke({readOnly:ve,canEditCell:Fi},e.row,e.col,t,n)||n.editor?.type===`checkbox`)return;let r=L(t,n);Bt(String(r??``)),W(a.startEdit(e))},[Fi,W,X,ve,V]),Xo=(0,e.useCallback)(e=>{if(!Ro&&!Ii)return;let t=X.getRow(e.row),n=V[e.col];if(!t||!n||n.editor?.type!==`checkbox`||!ke({readOnly:ve,canEditCell:Fi},e.row,e.col,t,n))return;let i=Ne(L(t,n),n.editor);if(lt(n,t,i).action===`reject`)return;if(Ii){Ii([{viewIndex:e.row,column:n,value:i}]);return}if(!Ro)return;let a=X.getSourceIndex(e.row);a!==void 0&&Ro(Ve(r,a,n,i))},[Ii,Fi,Ro,V,ve,X,r]),{getMovedCell:Zo,handleKeyDown:Qo}=Vt({uiState:U,rowModel:X,visibleColumns:V,readOnly:ve,canEditCell:Fi,setEditorInitialValue:Bt,dispatch:W,handleCopy:Ko,handleCellDoubleClick:Yo,isWholeGridSelected:Go,selectEntireGrid:Jo,onUndo:zo,onRedo:Bo,onClearSelection:Wo,enableClearOnDelete:Se,onToggleCheckboxCell:Xo,onToggleGroup:_i}),{startEditWithValue:$o,commitEdit:es,cancelEdit:ts}=jt({uiState:U,rows:r,visibleColumns:V,rowModel:X,setEditorInitialValue:Bt,onRowsChange:Ro,applyServerSideCellEdits:Ii,dispatch:W,getMovedCell:Zo,gridRootRef:Ot,editorActionGuardRef:Pt}),ns=U.editingCell?V[U.editingCell.col]:void 0,rs=U.editingCell?X.getRow(U.editingCell.row):void 0,is=U.editingCell&&ns&&rs?{row:rs,rowIndex:U.editingCell.row,sourceRowIndex:X.getSourceIndex(U.editingCell.row)??U.editingCell.row,rowKey:X.getRowKey(U.editingCell.row)??U.editingCell.row,colIndex:U.editingCell.col,column:ns,value:L(rs,ns)}:null,as=(0,e.useCallback)(e=>{let t=X.getRow(e.row),n=V[e.col];if(!t||!n||!ke({readOnly:ve,canEditCell:Fi},e.row,e.col,t,n)||n.editor?.type===`checkbox`)return;let r=L(t,n);$o(e,String(r??``))},[Fi,X,ve,$o,V]),os=(0,e.useMemo)(()=>{if(!U.selection)return null;if(U.selection.type===`cell`){let e=se(U.selection.range);return{extents:x(K,e.start.col,e.end.col),startRow:e.start.row,endRow:e.end.row}}if(U.selection.type===`row`){let e=ce(U.selection.startRow,U.selection.endRow);return{extents:S(K),startRow:e.startRow,endRow:e.endRow}}let e=le(U.selection.startCol,U.selection.endCol);return{extents:x(K,e.startCol,e.endCol),startRow:0,endRow:Math.max(Z-1,0)}},[U.selection,K,Z]),ss=(0,e.useMemo)(()=>{if(!os)return null;let e=vn(os.startRow,os.endRow,Ta,Ea);return e?{top:Q.rowTop(e.start),height:Q.rowsHeight(e.start,e.end)}:null},[os,Q,Ta,Ea]),cs=(0,e.useCallback)(e=>{if(!os||!ss)return null;let t=os.extents[e];return t?{left:t.start,top:ss.top,width:t.width,height:ss.height}:null},[os,ss]),ls=(0,e.useCallback)(e=>{if(e.preventDefault(),e.button===0&&!(Z===0||B.length===0)){if(Ot.current?.focus(),Ka){Eo();return}if(Go){W(a.clearSelection()),W(a.activateCell(null));return}Jo()}},[W,Z,Go,Jo,B.length,Ka,Eo]),us=(0,e.useCallback)(e=>{Qt(t=>t===e?null:t)},[]),ds=(0,e.useCallback)(e=>{en(t=>t===e?null:t)},[]),fs=(0,e.useCallback)(()=>{Ut(!0)},[]),ps=(0,e.useCallback)(()=>{Ut(!1)},[]),ms=(0,e.useCallback)((e,t)=>{t.preventDefault(),t.stopPropagation();let n=t.timeStamp,r=An.current;if(r&&r.key===e.key&&n-r.time<vo&&Math.abs(t.clientX-r.x)<yo){An.current=null,Hi([e]);return}An.current={key:e.key,time:n,x:t.clientX},W(a.startColumnResize(e.key,t.clientX,kn.current[e.key]??e.width,e.minWidth??60,e.maxWidth))},[W,Hi]),hs=(0,e.useCallback)((e,t)=>{if(J(),!v)return;let n=g.find(t=>t.key===e);n&&(n.pinned??void 0)!==t&&(v(g.map(n=>{let r=kn.current[n.key]??n.width;return n.key===e?{...n,width:r,pinned:t}:r===n.width?n:{...n,width:r}})),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[J,g,W,v]),gs=(0,e.useCallback)(e=>{J();let t=B.find(t=>t.key===e);t&&Hi([t])},[J,Hi,B]),_s=(0,e.useCallback)(()=>{J(),Hi(B)},[J,Hi,B]),vs=(0,e.useMemo)(()=>g.map(e=>({key:e.key,title:e.title??e.key,visible:e.visible!==!1,pane:c(e)})),[g]),ys=(0,e.useCallback)(()=>{J(),Yr(`columns`)},[J,Yr]),bs=(0,e.useMemo)(()=>B.map(e=>({key:e.key,title:e.title??e.key})),[B]),xs=(0,e.useCallback)(()=>{J(),Yr(`sort`)},[J,Yr]),Ss=(0,e.useCallback)(e=>{J(),Cr(e)},[J,Cr]),Cs=(0,e.useMemo)(()=>{let e=[],t=(t,n)=>{let r=ai[t.key];!r||!Ge(r)||e.push({columnKey:t.key,title:t.title||t.key,summaryText:ur(r),isHidden:n})};for(let e of V)t(e,!1);for(let e of g)e.visible===!1&&t(e,!0);return e},[ai,g,V]),ws=(0,e.useMemo)(()=>B.filter(e=>!!e.filterType&&!Ge(ai[e.key])).map(e=>({key:e.key,title:e.title||e.key})),[ai,B]),Ts=(0,e.useCallback)(()=>{J(),Yr(`filter`)},[J,Yr]),Es=(0,e.useCallback)(()=>{Wr===`filter`?Xr():Yr(`filter`)},[Wr,Xr,Yr]),Ds=(0,e.useCallback)(e=>{let t=$.current,n=Ft.current;if(!t)return;let r=t.orderedColumns.findIndex(t=>t.key===e);if(r<0)return;let i=t.orderedColumns[r];if(n){let e=C(t.paneLayout,r);if(e&&e.pane===`center`){let r=Ir({cellLeft:t.leftPaneTotalWidth+t.centerLeadingWidth+e.extent.start,cellWidth:e.extent.width,leftPaneWidth:t.leftPaneTotalWidth,rightPaneWidth:t.rightPaneTotalWidth,viewportWidth:n.clientWidth,currentScrollLeft:n.scrollLeft,align:`auto`,maxScrollLeft:n.scrollWidth-n.clientWidth});r!==n.scrollLeft&&n.scrollTo({left:r,behavior:`auto`})}}let a=()=>{let t=Ot.current?.querySelectorAll(`[data-ssg-col-key]`);return t?Array.from(t).find(t=>t.dataset.ssgColKey===e)??null:null},o=e=>{if(!Ot.current)return;let t=a();if(t===null){e<8&&requestAnimationFrame(()=>o(e+1));return}Cr(i),t.classList.remove(`ssg-header-cell--jump-flash`),t.offsetWidth,t.classList.add(`ssg-header-cell--jump-flash`),t.addEventListener(`animationend`,()=>{t.classList.remove(`ssg-header-cell--jump-flash`)},{once:!0})};requestAnimationFrame(()=>{o(0)})},[Ot,Cr]),Os=(0,e.useCallback)(e=>{W(a.clearColumnFilter(e))},[W]),ks=(0,e.useCallback)(()=>{W(a.setAllFilters({globalText:U.filters.globalText,columnFilters:{}}))},[W,U.filters.globalText]),As=(0,e.useCallback)(()=>{W(a.setGlobalFilter(``))},[W]),js=(0,e.useCallback)((e,t)=>{if(!v)return;let n=g.find(t=>t.key===e);n&&n.visible!==!1!==t&&(!t&&g.filter(e=>e.visible!==!1).length<=1||(v(g.map(n=>{let r=kn.current[n.key]??n.width;return n.key===e?{...n,width:r,visible:t}:r===n.width?n:{...n,width:r}})),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null))))},[g,W,v]),Ms=(0,e.useCallback)(()=>{v&&g.some(e=>e.visible===!1)&&(v(g.map(e=>{let t=kn.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}})),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[g,W,v]),Ns=(0,e.useCallback)(()=>{if(!v)return;let e=V[0]?.key;e!==void 0&&g.some(t=>t.visible!==!1&&t.key!==e)&&(v(g.map(t=>{let n=kn.current[t.key]??t.width,r=n!==t.width,i=t.visible!==!1&&t.key!==e;return!r&&!i?t:i?{...t,width:n,visible:!1}:{...t,width:n}})),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[g,W,v,V]),Ps=(0,e.useCallback)((e,t)=>{if(!v||e.length!==g.length)return;let n=new Map(g.map(e=>[e.key,e]));if(!e.every(e=>n.has(e)))return;let r=l(e.map(e=>{let r=n.get(e),i=kn.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===g.length&&r.every((e,t)=>{let n=g[t];return!!n&&n.key===e.key&&n.width===e.width&&(n.pinned??void 0)===(e.pinned??void 0)})||(v(r),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[g,W,v]),Fs=(0,e.useCallback)(e=>{Ps(e)},[Ps]),{onColumnDragHandlePointerDown:Is,leftIndicatorRef:Ls,centerIndicatorRef:Rs,rightIndicatorRef:zs,applyReorderSettle:Bs}=cr({enabled:!!v,columns:g,paneLayout:K,leftPaneScrollRef:It,rightPaneScrollRef:Lt,bodyScrollRef:Nt,scrollContainerRef:Ft,leftLeadingWidth:nr,centerLeadingWidth:rr,rightLeadingWidth:0,applyColumnOrderAndPin:Ps});(0,e.useLayoutEffect)(()=>{Bs()},[K,Bs]);let Vs=v?Is:void 0,Hs={position:`absolute`,top:0,height:z+Da,transform:`translateX(-1px)`,pointerEvents:`none`,zIndex:8,display:`none`},Us=(0,e.useCallback)(()=>{if(!v)return;let e=jn.current;if(!e)return;let t=hr(g,e,kn.current);t!==null&&(v(t),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[g,W,v]),Ws=(0,e.useCallback)(()=>{J(),Us()},[J,Us]),Gs=(0,e.useCallback)(e=>Sr?L(r[e],Sr):void 0,[r,Sr]),{options:Ks,allValues:qs,status:Js,progress:Ys}=Si({column:Sr,rowCount:r.length,getRawValueAt:Gs}),Xs=Sr?U.filters.columnFilters[Sr.key]:void 0,Zs=(0,e.useMemo)(()=>We(Xs)?{mode:Xs.mode===`exclude`?`exclude`:`include`,values:new Set(Xs.values)}:null,[Xs]),Qs=!(Sr?.filterOptions&&Sr.filterOptions.length>0),$s=(0,e.useCallback)((e,t,n)=>{let r=t.mode===`include`?t.values.size:n-t.values.size;if(r>=n){W(a.clearColumnFilter(e));return}if(r<=0){W(a.setColumnFilter(e,{kind:`set`,mode:`include`,values:[]}));return}let i={kind:`set`,mode:t.mode,values:Array.from(t.values)};W(a.setColumnFilter(e,i))},[W]),ec=(0,e.useCallback)(e=>{if(!q)return;let t=Ks.length,n=Zs,r;r=Bi(n,e)?n===null?Qs?{mode:`exclude`,values:new Set([e])}:{mode:`include`,values:so(qs,e)}:n.mode===`include`?{mode:`include`,values:so(n.values,e)}:{mode:`exclude`,values:oo(n.values,e)}:n.mode===`include`?{mode:`include`,values:oo(n.values,e)}:{mode:`exclude`,values:so(n.values,e)},$s(q.columnKey,r,t)},[q,Zs,Qs,qs,Ks,$s]),tc=(0,e.useCallback)((e,t)=>{if(!q)return;let n=q.columnKey,r=Ks.length;if(e===`all`){t?W(a.clearColumnFilter(n)):$s(n,{mode:`include`,values:new Set},r);return}let i=Zs,o;if(t){if(i===null){W(a.clearColumnFilter(n));return}o=i.mode===`include`?{mode:`include`,values:co(i.values,e)}:{mode:`exclude`,values:lo(i.values,e)}}else o=i===null?Qs?{mode:`exclude`,values:new Set(e)}:{mode:`include`,values:lo(qs,e)}:i.mode===`include`?{mode:`include`,values:lo(i.values,e)}:{mode:`exclude`,values:co(i.values,e)};$s(n,o,r)},[q,Zs,Qs,qs,Ks,$s,W]),nc=(0,e.useCallback)(e=>{q&&$s(q.columnKey,{mode:`include`,values:new Set(e)},Ks.length)},[q,$s,Ks]),rc=(0,e.useCallback)(()=>{q&&W(a.clearColumnFilter(q.columnKey))},[W,q]),ic=(0,e.useCallback)(()=>{if(!q)return;let e=B.find(e=>e.key===q.columnKey)?.filterType??`text`;if(e===`set`){Or();return}if(e===`number`){let e=Je(q.draftValue);if(!e){W(a.clearColumnFilter(q.columnKey)),Or();return}W(a.setColumnFilter(q.columnKey,e)),Or();return}let t=e===`select`?q.draftValue:q.draftValue.trim();if(!t){W(a.clearColumnFilter(q.columnKey)),Or();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};W(a.setColumnFilter(q.columnKey,n)),Or()},[Or,W,q,B]),ac=(0,e.useCallback)(()=>{q&&(W(a.clearColumnFilter(q.columnKey)),Or())},[Or,W,q]),oc=(0,e.useCallback)((e,t)=>{if(J(),!Le)return;let n=Wt(U.sort,e,t,!1);W(n.length===0?a.clearSort():a.setSort(n))},[J,W,Le,U.sort]),sc=(0,e.useCallback)((e,t)=>{if(!Le)return;let n=Gt(U.sort,e,t);W(a.setSort(n))},[W,Le,U.sort]),cc=(0,e.useCallback)((e,t)=>{if(!Le)return;let n=Kt(U.sort,e,t);W(a.setSort(n))},[W,Le,U.sort]),lc=(0,e.useCallback)((e,t)=>{if(!Le)return;let n=qt(U.sort,e,t);W(a.setSort(n))},[W,Le,U.sort]),uc=(0,e.useCallback)(e=>{if(!Le)return;let t=Jt(U.sort,e);W(t.length===0?a.clearSort():a.setSort(t))},[W,Le,U.sort]),dc=(0,e.useCallback)(()=>{Le&&W(a.clearSort())},[W,Le]),fc=(0,e.useCallback)((e,t)=>{if(!Le)return;let n=Yt(U.sort,e,t);W(a.setSort(n))},[W,Le,U.sort]),pc=(0,e.useCallback)((e,t,i,a,o)=>{let s=L(e,i);if(i.renderCell){let n=X.getSourceIndex(t)??t;return i.renderCell({row:e,rowIndex:t,sourceRowIndex:n,rowKey:X.getRowKey(t)??t,colIndex:a,value:s,column:i,isActive:o.isActive,isSelected:o.isSelected,isEditing:o.isEditing,readOnly:o.readOnly,setValue:n=>{if(lt(i,e,n).action===`reject`)return;if(Ii){Ii([{viewIndex:t,column:i,value:n}]);return}if(!Ro)return;let a=X.getSourceIndex(t);if(a===void 0)return;let o=Ve(r,a,i,n);Ro(o)}})}return i.editor?.type===`checkbox`?(0,n.jsx)(Li,{checked:Me(s,i.editor),readOnly:o.readOnly,onToggle:()=>Xo({row:t,col:a})}):(0,n.jsx)(`span`,{children:i.valueFormatter?i.valueFormatter({value:s,row:e,column:i}):String(s??``)})},[X,Ro,r,Xo,Ii]),{slotContext:mc}=At({rows:r,viewRowCount:Ji,getFilteredRows:Xi,columns:g,visibleColumns:B,uiState:U,setGlobalFilterText:(0,e.useCallback)(e=>{W(a.setGlobalFilter(e))},[W]),globalFilterStatus:ci,globalFilterProgress:li}),hc=(0,e.useMemo)(()=>({width:he,minWidth:he}),[he]),gc=Z===0,_c=(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 var(--ssg-pane-border)`,boxShadow:`var(--ssg-pane-shadow-left)`}:{borderLeft:`1px solid var(--ssg-pane-border)`,boxShadow:`var(--ssg-pane-shadow-right)`}:{}}),vc=(()=>{if(!Sr)return`(なし)`;let e=U.filters.columnFilters[Sr.key];if(We(e))return e.mode===`exclude`?`${e.values.length}件を除外中`:`${e.values.length}件を選択中`;if(qe(e))return e.raw;let t=Ye(e);return t.trim()?t:`(なし)`})(),yc=Sr?(0,n.jsx)(Ui,{themeClassName:Ua,isOpen:!!q,title:Sr.title||Sr.key,filterType:Sr.filterType??`text`,isServerSide:H,draftValue:q?.draftValue??``,currentValueText:vc,layout:lr,selectOptions:Ks,setSelection:Zs,optionsStatus:Js,optionsProgress:Ys,popoverRef:dr,textInputRef:gr,selectRef:_r,onRequestClose:Or,onDraftChange:kr,onApply:ic,onClear:ac,onSetValueToggle:ec,onSetSelectAllChange:tc,onSetClear:rc,onSetReplaceSelection:nc}):null,bc=Br?(0,n.jsx)(_a,{themeClassName:Ua,isOpen:Mr,title:Br.title||Br.key,columnKey:Br.key,canFilter:Tn&&!!Br.filterType,onOpenFilter:()=>Ss(Br),canSort:wn,sortDirection:U.sort.find(e=>e.columnKey===Br.key)?.direction??null,onSortChange:e=>oc(Br.key,e),onOpenSortManager:xs,canManageFilters:Tn,onOpenFilterManager:Ts,pinned:Br.pinned,canChangePinned:!!v,layout:Ar,popoverRef:jr,onPinnedChange:hs,onAutosizeColumn:gs,onAutosizeAllColumns:_s,onOpenColumnChooser:ys,canResetColumns:!!v,onResetColumns:Ws,onRequestClose:J}):null,xc=On&&ii.trim().length>0,Sc=Cs.length+ +!!xc,Cc=(0,n.jsx)(wa,{themeClassName:Ua,activeTab:Wr,flashTick:qr,tabs:Gr.map(e=>e===`filter`?{tab:e,label:`フィルター`,badge:Sc}:e===`sort`?{tab:e,label:`並び替え`,badge:U.sort.length}:{tab:e,label:`列`}),layout:Kr,panelRef:Jr,onSelectTab:Yr,onRequestClose:Xr,onPanelMove:Zr,children:Wr===null?null:{filter:()=>(0,n.jsx)(La,{entries:Cs,addableColumns:ws,showGlobalFilterRow:xc,globalFilterText:ii,canFilter:Tn,onEditFilter:Ds,onAddFilter:Ds,onClearFilter:Os,onClearAllFilters:ks,onClearGlobalFilter:As}),columns:()=>(0,n.jsx)(Ma,{items:vs,canToggle:!!v,onToggleColumnVisibility:js,onShowAllColumns:Ms,onHideAllColumns:Ns,onResetColumns:Us,onReorderColumns:Fs}),sort:()=>(0,n.jsx)(Pa,{entries:U.sort,columns:bs,canSort:wn,onAddLevel:sc,onChangeDirection:cc,onChangeColumn:lc,onRemoveLevel:uc,onClearAll:dc,onMove:fc})}[Wr]()}),wc=(0,n.jsx)(ao,{themeClassName:Ua,isOpen:ti,items:Qr?.items??_o,layout:$r,popoverRef:ei,onRequestClose:ri}),Tc=xr||Mr||Wr!==null||ti,Ec=it,Dc=ot&&On,Oc=nt?vt(mt,mc,Ec||Dc?(0,n.jsx)(qi,{context:mc,showSummary:Ec,showFilter:Dc,showCounts:dt,globalFilterPlaceholder:st,globalFilterIcon:ct,onFilterSummaryClick:Tn?Es:void 0}):null):null,kc=rt?vt(ht,mc,(0,n.jsx)(Wi,{context:mc,showCounts:ft})):null,Ac=ge===void 0&&_e===void 0?void 0:{...ge===void 0?{}:{height:ge},maxHeight:_e??(ge===void 0?void 0:`none`)},$=(0,e.useRef)(null);$.current={dispatch:W,rowModel:X,viewRowCount:Z,leafRowCount:Ji,groupTree:hi,rowMetrics:Q,paneLayout:K,orderedColumns:V,columns:g,onColumnsChange:v,uiState:U,headerHeight:z,verticalScaleFactor:ka,leftPaneTotalWidth:ir,rightPaneTotalWidth:ar,centerLeadingWidth:rr,windowFirstRow:Ta,windowLastRow:Ea,physicalBodyHeight:Da,rows:r,isServerSide:H,serverSideRefresh:Y.refresh,resolvedRowKeyGetter:Cn,openFilterManager:()=>{Yr(`filter`)},closeFilterManager:()=>{Wr===`filter`&&Xr()},undoRows:zo,redoRows:Bo,canUndoRows:Vo,canRedoRows:Ho,clearUndoHistory:Uo};let jc=(0,e.useCallback)((e,t)=>{let n=Ft.current,r=$.current;!n||!r||n.scrollTo({top:e===null?n.scrollTop:bn(e,r.verticalScaleFactor),left:t===null?n.scrollLeft:t,behavior:`auto`})},[]),Mc=(0,e.useCallback)((e,t)=>{let n=Ft.current,r=$.current;if(!n||!r||r.viewRowCount===0)return null;let i=Math.min(Math.max(e,0),r.viewRowCount-1);return Fr({rowTop:r.rowMetrics.rowTop(i),rowHeight:r.rowMetrics.rowsHeight(i,i),headerHeight:r.headerHeight,viewportHeight:n.clientHeight,currentScrollTop:yn(n.scrollTop,r.verticalScaleFactor),align:t})},[]),Nc=(0,e.useCallback)((e,t)=>{let n=Ft.current,r=$.current;if(!n||!r)return null;let i=C(r.paneLayout,e);return!i||i.pane!==`center`?null:Ir({cellLeft:r.leftPaneTotalWidth+r.centerLeadingWidth+i.extent.start,cellWidth:i.extent.width,leftPaneWidth:r.leftPaneTotalWidth,rightPaneWidth:r.rightPaneTotalWidth,viewportWidth:n.clientWidth,currentScrollLeft:n.scrollLeft,align:t})},[]),Pc=(0,e.useCallback)((e,t,n)=>{jc(Mc(e,n),Nc(t,n))},[jc,Nc,Mc]);(0,e.useEffect)(()=>{Fo.current=Pc},[Pc]),(0,e.useImperativeHandle)(wt,()=>{let e=e=>{let t=$.current;if(!t)return null;let n=e=>t.rowModel.getRow(e),r=br(e);if(r===`raw`)return t.isServerSide?(console.warn(`SpreadsheetGrid: scope 'raw' は serverSide では未ロード行を取得できないため、'view'(ロード済みビュー行)として扱います。全件エクスポートはサーバ側での実施を推奨します。`),{getRow:n,startRow:0,endRow:t.viewRowCount,columns:t.orderedColumns}):{getRow:e=>t.rows[e],startRow:0,endRow:t.rows.length,columns:t.orderedColumns};if(r===`rendered`)return{getRow:n,startRow:t.windowFirstRow,endRow:t.windowLastRow>=t.windowFirstRow?t.windowLastRow+1:t.windowFirstRow,columns:t.orderedColumns};if(r===`selection`){let e=t.uiState.selection;if(!e)return null;if(e.type===`cell`){let r=se(e.range);return{getRow:n,startRow:r.start.row,endRow:r.end.row+1,columns:t.orderedColumns.slice(r.start.col,r.end.col+1)}}if(e.type===`row`){let r=ce(e.startRow,e.endRow);return{getRow:n,startRow:r.startRow,endRow:r.endRow+1,columns:t.orderedColumns}}let r=le(e.startCol,e.endCol);return{getRow:n,startRow:0,endRow:t.viewRowCount,columns:t.orderedColumns.slice(r.startCol,r.endCol+1)}}return{getRow:n,startRow:0,endRow:t.viewRowCount,columns:t.orderedColumns}},t=e=>e.filter(e=>e.key!==an),n=n=>{let r=e(n?.scope??`view`);return r?vr({getRow:r.getRow,startRow:r.startRow,endRow:r.endRow,columns:t(r.columns),delimiter:n?.delimiter,includeHeaders:n?.includeHeaders,bom:n?.bom}):n?.bom?``:``},r=n=>{let r=e(n?.scope??`view`);return r?yr({getRow:r.getRow,startRow:r.startRow,endRow:r.endRow,columns:t(r.columns)}):{columns:[],rows:[]}};return{scrollToRow:(e,t)=>jc(Mc(e,t?.align??`auto`),null),scrollToCell:(e,t,n)=>Pc(e,t,n?.align??`auto`),scrollToTop:()=>{Ft.current?.scrollTo({top:0,behavior:`auto`})},scrollToBottom:()=>{let e=Ft.current,t=$.current;!e||!t||e.scrollTo({top:Math.max(t.headerHeight+t.physicalBodyHeight-e.clientHeight,0),behavior:`auto`})},getVisibleRowRange:()=>{let e=$.current;return!e||e.windowLastRow<e.windowFirstRow?null:{startIndex:e.windowFirstRow,endIndex:e.windowLastRow+1}},getActiveCell:()=>{let e=$.current?.uiState.activeCell;return e?{row:e.row,col:e.col}:null},setActiveCell:(e,t)=>{let n=$.current;n&&(n.dispatch(a.activateCell(e)),e&&t?.scrollIntoView&&Pc(e.row,e.col,`auto`))},getSelection:()=>$.current?.uiState.selection??null,selectCell:(e,t,n)=>{let r=$.current;if(!r)return;let i={row:e,col:t};r.dispatch(a.startSelection(i)),r.dispatch(a.endSelection()),n?.scrollIntoView&&Pc(e,t,`auto`)},selectRange:(e,t)=>{let n=$.current;n&&(n.dispatch(a.startSelection(e.start)),n.dispatch(a.updateSelection(e.end)),n.dispatch(a.endSelection()),t?.scrollIntoView&&Pc(e.end.row,e.end.col,`auto`))},clearSelection:()=>{$.current?.dispatch(a.clearSelection())},getSelectedRows:()=>{let e=$.current;if(!e)return[];let t=e.uiState.selection;if(!t)return[];let n=[],r=t=>{let r=e.rowModel.getRow(t);r&&n.push(r)};if(t.type===`cell`){let e=se(t.range);for(let t=e.start.row;t<=e.end.row;t+=1)r(t)}else if(t.type===`row`){let e=ce(t.startRow,t.endRow);for(let t=e.startRow;t<=e.endRow;t+=1)r(t)}else for(let t=0;t<e.viewRowCount;t+=1)r(t);return n},exportCsv:e=>n(e),downloadCsv:(e,t)=>{if(typeof document>`u`)return;let r=n({...t,bom:t?.bom??!0}),i=new Blob([r],{type:`text/csv;charset=utf-8;`}),a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=e??`export.csv`,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},getExportData:e=>r(e),getState:()=>{let e=$.current;return e?Tr(e.uiState.columnWidths,e.uiState.filters,e.uiState.sort,wr(e.columns)):Tr({},{globalText:``,columnFilters:{}},[],[])},applyState:e=>{let t=$.current;if(!t)return;let n=Er(e);t.onColumnsChange&&n.columns&&t.onColumnsChange(Dr(t.columns,n.columns,n.columnWidths)),t.dispatch(a.resetColumnWidths(n.columnWidths)),t.dispatch(a.setAllFilters(n.filters)),t.dispatch(a.setSort(n.sort))},getRowSelection:()=>{let e=$.current;return e?F(e.uiState.rowSelection):{type:`include`,rowKeys:[]}},setRowSelection:e=>{So.current(I(e))},getSelectedRowKeys:()=>{let e=$.current;if(!e)return[];let t=e.uiState.rowSelection;if(t.mode===`include`)return Array.from(t.keys);let n=[],r=e.rowModel.getRowCount();for(let i=0;i<r;i+=1){if(!e.rowModel.getRow(i))continue;let r=e.rowModel.getRowKey(i)??i;t.keys.has(r)||n.push(r)}return n},getSelectedRowData:()=>{let e=$.current;if(!e)return[];let t=e.uiState.rowSelection,n=[],r=e.rowModel.getRowCount();for(let i=0;i<r;i+=1){let r=e.rowModel.getRow(i);r&&O(t,e.rowModel.getRowKey(i)??i)&&n.push(r)}return n},getSelectedRowCount:()=>{let e=$.current;return e?N(e.uiState.rowSelection,e.leafRowCount):0},isRowSelected:e=>{let t=$.current;return t?O(t.uiState.rowSelection,e):!1},selectAllRows:()=>{So.current(M())},clearRowSelection:()=>{So.current(ee())},undo:()=>{$.current?.undoRows()},redo:()=>{$.current?.redoRows()},canUndo:()=>$.current?.canUndoRows()??!1,canRedo:()=>$.current?.canRedoRows()??!1,clearUndoHistory:()=>{$.current?.clearUndoHistory()},setGroupCollapsed:(e,t)=>{$.current?.dispatch(a.setGroupCollapsed(e,t))},expandAllGroups:()=>{$.current?.dispatch(a.setCollapsedGroupKeys(new Set))},collapseAllGroups:()=>{let e=$.current;!e||!e.groupTree||e.dispatch(a.setCollapsedGroupKeys(new Set(mn(e.groupTree))))},getGroupRows:()=>{let e=$.current;return e?.groupTree?pn(e.groupTree):[]},getInvalidCells:()=>{let e=$.current;return e?e.isServerSide?(console.warn(`[SpreadsheetGrid] getInvalidCells は serverSide モードでは利用できません(空配列を返します)。`),[]):ut(e.rows,e.columns,e.resolvedRowKeyGetter):[]},refreshServerSide:()=>{let e=$.current;if(e){if(!e.isServerSide){console.warn(`[SpreadsheetGrid] refreshServerSide は clientSide(rows)モードでは何もしません(dataSource 指定時のみ有効です)。`);return}e.serverSideRefresh()}},openFilterManager:()=>{$.current?.openFilterManager()},closeFilterManager:()=>{$.current?.closeFilterManager()}}},[jc,Pc,Mc]);let Fc=(0,e.useRef)(Tt);Fc.current=Tt;let Ic=(0,e.useRef)(null);return(0,e.useEffect)(()=>{if(!Fc.current)return;let e=Tr(U.columnWidths,U.filters,U.sort,wr(g)),t=Pr(Ic.current,e,U.dragState!==null);Ic.current=t.nextLast,t.emit&&Fc.current(e)},[U.columnWidths,U.filters,U.sort,U.dragState,g]),(0,n.jsxs)(`div`,{className:i(`ssg-root`,ue!==`standard`&&`ssg-root--density-${ue}`,Ua,ye&&`ssg-root--dim-readonly`,gt,R?.root),children:[Oc,pt&&(0,n.jsx)(Ra,{entries:Cs,canFilter:Tn,onEditFilter:Ds,onClearFilter:Os,onClearAllFilters:ks}),(0,n.jsxs)(`div`,{ref:Ot,className:`ssg-shell`,style:{cursor:Vi?`progress`:void 0},onDragStart:Ao,onPointerLeave:()=>Qt(null),onPointerMoveCapture:e=>{kt.current={x:e.clientX,y:e.clientY},Do(e.clientX,e.clientY)},tabIndex:Tc?-1:0,onKeyDown:Tc?void 0:Qo,onPaste:Tc?void 0:qo,onContextMenu:zi,children:[(0,n.jsxs)(`div`,{ref:Ft,className:i(`ssg-scroll-container`,Yi?.scrollbar===!0&&`ssg-scroll-container--custom-scrollbar`),style:Ac,children:[(0,n.jsxs)(`div`,{className:`ssg-inner-row`,style:{width:sr,minWidth:sr,height:z+Da},children:[(0,n.jsxs)(`div`,{ref:It,style:_c(`left`,ir,$n),children:[$n&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:ir,minWidth:ir,height:z+Da},children:[(0,n.jsx)(oa,{pane:`left`,ownsRowHeader:!0,leadingWidth:nr,headerHeight:z,rowHeaderCellStyle:hc,headerRowClassName:R?.headerRow,headerCellClassName:R?.headerCell,rowHeaderCellClassName:R?.rowHeaderCell,isCornerHovered:Ht,isWholeGridSelected:Go,showSelectAllCheckbox:Ka,selectAllState:Ja,filteredRowsLength:Z,visibleColumnsLength:B.length,renderEntries:Na,hoveredColumnIndex:$t,selectionSnapshot:Mn,columnFilterValues:U.filters.columnFilters,sortState:U.sort,iconButtonClassName:R?.iconButton,onCornerPointerDown:ls,onCornerPointerEnter:fs,onCornerPointerLeave:ps,onColumnHeaderPointerDown:No,onColumnHeaderPointerEnter:Po,onColumnHeaderPointerLeave:ds,onColumnResizePointerDown:ms,enableColumnMenu:Qe,enableColumnResize:Re,openedMenuColumnKey:Nr,onColumnMenuButtonPointerDown:Hr,onColumnHeaderContextMenu:Ur,onColumnDragHandlePointerDown:Vs}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:ir,height:z+Da,transform:Oa},children:[(0,n.jsx)(fe,{rect:cs(`left`),headerHeight:z,baseOffset:Aa,leadingWidth:nr}),(0,n.jsx)(pe,{rect:Va(`left`),headerHeight:z,baseOffset:Aa,leadingWidth:nr}),(0,n.jsx)(He,{rect:Ha(`left`),headerHeight:z,baseOffset:Aa,leadingWidth:nr,initialValue:zt,editor:ns?.editor,editorSession:is,themeClassName:Ua,onCommit:es,onCancel:ts,align:ns?.align}),(0,n.jsx)(ra,{pane:`left`,ownsRowHeader:!0,leadingWidth:nr,rowModel:X,virtualRows:xa,virtualRowIndexes:Ca,renderEntries:Na,rowHeight:Et,autoHeight:la,showCellOverflowTooltip:Be,showValidationMarks:Ke,isServerSide:H,collapsedGroupKeys:U.collapsedGroupKeys,onGroupToggle:_i,rowHeaderCellStyle:hc,hoveredRowIndex:Zt,isWholeGridSelected:Go,enableRowSelection:Ee,rowSelectionState:qa,activeCell:U.activeCell,editingCell:U.editingCell,selectionSnapshot:Mn,readOnly:ve,canEditCell:Fi,onRowHeaderPointerDown:jo,onRowHeaderPointerEnter:Mo,onRowHeaderPointerLeave:us,onCellPointerDown:Oo,onCellPointerEnter:ko,onCellDoubleClick:as,renderCellContent:pc,getRowClassName:yt,bodyCellClassName:R?.bodyCell,bodyRowClassName:R?.bodyRow,rowHeaderCellClassName:R?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:Ls,className:`ssg-col-drop-indicator`,style:Hs})]}),(0,n.jsx)(`div`,{ref:Nt,className:`ssg-center-pane`,style:{width:or,minWidth:or},children:(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:or,minWidth:or,height:z+Da},children:[(0,n.jsx)(oa,{pane:`center`,ownsRowHeader:tr,leadingWidth:rr,headerHeight:z,rowHeaderCellStyle:hc,headerRowClassName:R?.headerRow,headerCellClassName:R?.headerCell,rowHeaderCellClassName:R?.rowHeaderCell,isCornerHovered:Ht,isWholeGridSelected:Go,showSelectAllCheckbox:Ka,selectAllState:Ja,filteredRowsLength:Z,visibleColumnsLength:B.length,renderEntries:ja,hoveredColumnIndex:$t,selectionSnapshot:Mn,columnFilterValues:U.filters.columnFilters,sortState:U.sort,iconButtonClassName:R?.iconButton,onCornerPointerDown:ls,onCornerPointerEnter:fs,onCornerPointerLeave:ps,onColumnHeaderPointerDown:No,onColumnHeaderPointerEnter:Po,onColumnHeaderPointerLeave:ds,onColumnResizePointerDown:ms,enableColumnMenu:Qe,enableColumnResize:Re,openedMenuColumnKey:Nr,onColumnMenuButtonPointerDown:Hr,onColumnHeaderContextMenu:Ur,onColumnDragHandlePointerDown:Vs}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:or,height:z+Da,transform:Oa},children:[(0,n.jsx)(fe,{rect:cs(`center`),headerHeight:z,baseOffset:Aa,leadingWidth:rr}),(0,n.jsx)(pe,{rect:Va(`center`),headerHeight:z,baseOffset:Aa,leadingWidth:rr}),(0,n.jsx)(He,{rect:Ha(`center`),headerHeight:z,baseOffset:Aa,leadingWidth:rr,initialValue:zt,editor:ns?.editor,editorSession:is,themeClassName:Ua,onCommit:es,onCancel:ts,align:ns?.align}),(0,n.jsx)(ra,{pane:`center`,ownsRowHeader:tr,leadingWidth:rr,rowModel:X,virtualRows:xa,virtualRowIndexes:Ca,renderEntries:ja,rowHeight:Et,autoHeight:la,showCellOverflowTooltip:Be,showValidationMarks:Ke,isServerSide:H,collapsedGroupKeys:U.collapsedGroupKeys,onGroupToggle:_i,rowHeaderCellStyle:hc,hoveredRowIndex:Zt,isWholeGridSelected:Go,enableRowSelection:Ee,rowSelectionState:qa,activeCell:U.activeCell,editingCell:U.editingCell,selectionSnapshot:Mn,readOnly:ve,canEditCell:Fi,onRowHeaderPointerDown:jo,onRowHeaderPointerEnter:Mo,onRowHeaderPointerLeave:us,onCellPointerDown:Oo,onCellPointerEnter:ko,onCellDoubleClick:as,renderCellContent:pc,getRowClassName:yt,bodyCellClassName:R?.bodyCell,bodyRowClassName:R?.bodyRow,rowHeaderCellClassName:R?.rowHeaderCell})]}),(0,n.jsx)(`div`,{ref:Rs,className:`ssg-col-drop-indicator`,style:Hs})]})}),(0,n.jsxs)(`div`,{ref:Lt,style:_c(`right`,ar,er),children:[er&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:ar,minWidth:ar,height:z+Da},children:[(0,n.jsx)(oa,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,headerHeight:z,rowHeaderCellStyle:hc,headerRowClassName:R?.headerRow,headerCellClassName:R?.headerCell,rowHeaderCellClassName:R?.rowHeaderCell,isCornerHovered:Ht,isWholeGridSelected:Go,showSelectAllCheckbox:Ka,selectAllState:Ja,filteredRowsLength:Z,visibleColumnsLength:B.length,renderEntries:Fa,hoveredColumnIndex:$t,selectionSnapshot:Mn,columnFilterValues:U.filters.columnFilters,sortState:U.sort,iconButtonClassName:R?.iconButton,onCornerPointerDown:ls,onCornerPointerEnter:fs,onCornerPointerLeave:ps,onColumnHeaderPointerDown:No,onColumnHeaderPointerEnter:Po,onColumnHeaderPointerLeave:ds,onColumnResizePointerDown:ms,enableColumnMenu:Qe,enableColumnResize:Re,openedMenuColumnKey:Nr,onColumnMenuButtonPointerDown:Hr,onColumnHeaderContextMenu:Ur,onColumnDragHandlePointerDown:Vs}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:ar,height:z+Da,transform:Oa},children:[(0,n.jsx)(fe,{rect:cs(`right`),headerHeight:z,baseOffset:Aa,leadingWidth:0}),(0,n.jsx)(pe,{rect:Va(`right`),headerHeight:z,baseOffset:Aa,leadingWidth:0}),(0,n.jsx)(He,{rect:Ha(`right`),headerHeight:z,baseOffset:Aa,leadingWidth:0,initialValue:zt,editor:ns?.editor,editorSession:is,themeClassName:Ua,onCommit:es,onCancel:ts,align:ns?.align}),(0,n.jsx)(ra,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,rowModel:X,virtualRows:xa,virtualRowIndexes:Ca,renderEntries:Fa,rowHeight:Et,autoHeight:la,showCellOverflowTooltip:Be,showValidationMarks:Ke,isServerSide:H,collapsedGroupKeys:U.collapsedGroupKeys,onGroupToggle:_i,rowHeaderCellStyle:hc,hoveredRowIndex:Zt,isWholeGridSelected:Go,enableRowSelection:Ee,rowSelectionState:qa,activeCell:U.activeCell,editingCell:U.editingCell,selectionSnapshot:Mn,readOnly:ve,canEditCell:Fi,onRowHeaderPointerDown:jo,onRowHeaderPointerEnter:Mo,onRowHeaderPointerLeave:us,onCellPointerDown:Oo,onCellPointerEnter:ko,onCellDoubleClick:as,renderCellContent:pc,getRowClassName:yt,bodyCellClassName:R?.bodyCell,bodyRowClassName:R?.bodyRow,rowHeaderCellClassName:R?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:zs,className:`ssg-col-drop-indicator`,style:Hs})]})]}),gc&&(0,n.jsx)(`div`,{className:`ssg-empty-state`,children:r.length===0?tt:et})]}),Yi!==null&&(0,n.jsx)(Xa,{options:Yi,scrollContainerRef:Ft,scrollTop:Qi,viewportHeight:ea,headerHeight:z,physicalBodyHeight:Da,verticalScaleFactor:ka,rowMetrics:Q,rowModel:X}),Vi&&(0,n.jsx)(`div`,{className:`ssg-autosize-overlay`,children:(0,n.jsx)(`span`,{className:`ssg-autosize-pill`,children:`列幅を計算中…`})}),ci===`filtering`&&(0,n.jsx)(`div`,{className:`ssg-filter-overlay`,children:(0,n.jsxs)(`span`,{className:`ssg-filter-overlay-chip`,role:`status`,"aria-live":`polite`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-spinner`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`ssg-filter-overlay-text`,children:[`適用中 `,Math.round(li*100),`%`]})]})}),H&&(Y.loadError!==null&&Y.loadError!==Di||Y.writeError!==null&&Y.writeError!==ki)&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bars`,children:[Y.loadError!==null&&Y.loadError!==Di&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bar`,role:`alert`,children:[(0,n.jsx)(`span`,{className:`ssg-ssrm-error-bar-dot`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`ssg-ssrm-error-bar-msg`,children:[`行の取得に失敗しました(`,Y.loadError.failedBlockCount,` ブロック)`]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-retry`,onClick:Y.retryFailedBlocks,children:`再試行`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-close`,"aria-label":`エラー通知を閉じる`,onClick:()=>Oi(Y.loadError),children:`×`})]}),Y.writeError!==null&&Y.writeError!==ki&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bar`,role:`alert`,children:[(0,n.jsx)(`span`,{className:`ssg-ssrm-error-bar-dot`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`ssg-ssrm-error-bar-msg`,children:[`変更の保存に失敗しました(`,Y.writeError.failedRowCount,` 行)。値を元に戻しました`]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-close`,"aria-label":`保存エラー通知を閉じる`,onClick:()=>Ai(Y.writeError),children:`×`})]})]})]}),kc,yc,bc,Cc,wc]})}function So(e={}){let{locale:t,useGrouping:n=!0,minimumFractionDigits:r,maximumFractionDigits:i,emptyText:a=``}=e;return({value:e})=>{if(e==null||e===``)return a;let o=typeof e==`number`?e:Number(e);if(!Number.isFinite(o))return String(e);let s=Math.abs(o).toString(),c=s.indexOf(`.`),l=c===-1?0:s.length-c-1,u=r??0,d=Math.max(u,i??Math.min(l,20));return new Intl.NumberFormat(t,{useGrouping:n,minimumFractionDigits:u,maximumFractionDigits:d}).format(o)}}exports.SpreadsheetGrid=xo,exports.numberFormatter=So;
10
+ `);return o?`\uFEFF${c}`:c},yr=({getRow:e,startRow:t,endRow:n,columns:r})=>{let i=r.map(e=>({key:e.key,title:e.title??e.key})),a=[];for(let i=t;i<n;i+=1){let t=e(i);t&&a.push(r.map(e=>{let n=L(t,e);return{value:n,text:e.formatClipboardValue?e.formatClipboardValue(n,t):String(n??``)}}))}return{columns:i,rows:a}},br=e=>e===`all`?`view`:e===`visible`?`rendered`:e,xr=e=>{switch(e.kind){case`set`:return{...e,values:[...e.values]};case`number`:return{...e,parsed:e.parsed?{...e.parsed}:null};case`text`:case`date`:case`select`:return{...e};case`custom`:return{...e}}},Sr=e=>{let t={};for(let n of Object.keys(e))t[n]=xr(e[n]);return t},Cr=e=>{let t={key:e.key};return e.visible!==void 0&&(t.visible=e.visible),e.pinned!==void 0&&(t.pinned=e.pinned),t},wr=e=>e.map(e=>{let t={key:e.key};return e.visible!==void 0&&(t.visible=e.visible),e.pinned!==void 0&&(t.pinned=e.pinned),t}),Tr=(e,t,n,r=[],i=2)=>({version:i,columnWidths:{...e},filters:{globalText:t.globalText,columnFilters:Sr(t.columnFilters)},sort:n.map(e=>({...e})),columns:r.map(Cr)}),Er=e=>{let t=e&&typeof e==`object`?e:{},n={},r=t.columnWidths;if(r&&typeof r==`object`){let e=r;for(let t of Object.keys(e)){let r=e[t];typeof r==`number`&&Number.isFinite(r)&&(n[t]=r)}}let i=t.filters&&typeof t.filters==`object`?t.filters:{},a=typeof i.globalText==`string`?i.globalText:``,o={},s=i.columnFilters;if(s&&typeof s==`object`){let e=s;for(let t of Object.keys(e)){let n=e[t];n&&typeof n==`object`&&`kind`in n&&(o[t]=xr(n))}}let c=[],l=t.sort;if(Array.isArray(l)){for(let e of l)if(e&&typeof e==`object`){let t=e;typeof t.columnKey==`string`&&(t.direction===`asc`||t.direction===`desc`)&&c.push({columnKey:t.columnKey,direction:t.direction})}}let u,d=t.columns;if(Array.isArray(d)){let e=[];for(let t of d){if(!t||typeof t!=`object`)continue;let n=t;if(typeof n.key!=`string`)continue;let r={key:n.key};typeof n.visible==`boolean`&&(r.visible=n.visible),(n.pinned===`left`||n.pinned===`right`)&&(r.pinned=n.pinned),e.push(r)}u=e}return{version:2,columnWidths:n,filters:{globalText:a,columnFilters:o},sort:c,columns:u}},Dr=(e,t,n)=>{let r=new Map(e.map(e=>[e.key,e])),i=new Set,a=(e,t)=>{let r=n[e.key],i=typeof r==`number`;if(!t&&!i)return e;let a={...e};return t&&(a.visible=t.visible,a.pinned=t.pinned),i&&(a.width=r),a},o=[];for(let e of t){let t=r.get(e.key);t&&(i.add(e.key),o.push(a(t,e)))}for(let t of e)i.has(t.key)||o.push(a(t,void 0));return l(o)},Or=(e,t)=>e===null||t===null?e===t:e.mode===`comparison`&&t.mode===`comparison`?e.operator===t.operator&&e.value===t.value:e.mode===`range`&&t.mode===`range`?e.min===t.min&&e.max===t.max:!1,kr=(e,t)=>{switch(e.kind){case`set`:return t.kind===`set`&&(e.mode??`include`)===(t.mode??`include`)&&e.values.length===t.values.length&&e.values.every((e,n)=>e===t.values[n]);case`number`:return t.kind===`number`&&e.raw===t.raw&&Or(e.parsed,t.parsed);case`text`:return t.kind===`text`&&e.value===t.value;case`date`:return t.kind===`date`&&e.value===t.value;case`select`:return t.kind===`select`&&e.value===t.value;case`custom`:return t.kind===`custom`&&Object.is(e.value,t.value)}},Ar=(e,t)=>{let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!(r in t)||e[r]!==t[r])return!1;return!0},jr=(e,t)=>{let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!(r in t)||!kr(e[r],t[r]))return!1;return!0},Mr=(e,t)=>{if(e===void 0||t===void 0)return e===t;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n].key!==t[n].key||e[n].visible!==t[n].visible||e[n].pinned!==t[n].pinned)return!1;return!0},Nr=(e,t)=>{if(e.version!==t.version||!Ar(e.columnWidths,t.columnWidths)||e.filters.globalText!==t.filters.globalText||!jr(e.filters.columnFilters,t.filters.columnFilters)||e.sort.length!==t.sort.length)return!1;for(let n=0;n<e.sort.length;n+=1)if(e.sort[n].columnKey!==t.sort[n].columnKey||e.sort[n].direction!==t.sort[n].direction)return!1;return!!Mr(e.columns,t.columns)},Pr=(e,t,n)=>n?{emit:!1,nextLast:e}:e===null||Nr(e,t)?{emit:!1,nextLast:t}:{emit:!0,nextLast:t},Fr=({rowTop:e,rowHeight:t,headerHeight:n,viewportHeight:r,currentScrollTop:i,align:a,maxScrollTop:o})=>{let s=n+e,c=s+t,l;if(a===`start`)l=s-n;else if(a===`end`)l=c-r;else if(a===`center`)l=(s+c)/2-(n+r)/2;else{let e=i+n,t=i+r;l=s>=e&&c<=t?i:s<e?s-n:c-r}return Math.min(Math.max(l,0),Math.max(o??1/0,0))},Ir=({cellLeft:e,cellWidth:t,leftPaneWidth:n,rightPaneWidth:r,viewportWidth:i,currentScrollLeft:a,align:o,maxScrollLeft:s})=>{let c=e+t,l=i-n-r,u;if(o===`start`)u=e-n;else if(o===`end`)u=c-i+r;else if(o===`center`)u=(e+c)/2-n-l/2;else{let t=a+n,o=a+i-r;u=e>=t&&c<=o?a:e<t?e-n:c-i+r}return Math.min(Math.max(u,0),Math.max(s??1/0,0))},Lr=(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]},Rr=(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 Lr(s,0),s},zr=(e,t,n,r)=>t<0||t>=e.rowCount||(e.measured.set(n,r),e.heights[t]===r)?!1:(e.heights[t]=r,!0),Br=(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)},Vr=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=>Br(t,n,e)}},Hr=21,Ur=4,J=41,Wr=13,Gr=600,Kr=60,qr=16,Jr=null,Yr=()=>Jr||(typeof document>`u`?null:(Jr=document.createElement(`canvas`).getContext(`2d`),Jr)),Xr=`system-ui, sans-serif`,Zr=e=>{let t=Xr,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:`${Gr} ${Wr}px ${t}`}},Qr=(e,t,n)=>Math.min(Math.max(e,t),n),$r=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,ei=e=>{let t=0;for(let n of e){let e=n.codePointAt(0)??0;t+=$r(e)?2:1}return t},ti=(e,t)=>{let n=L(e,t);return t.valueFormatter?t.valueFormatter({value:n,row:e,column:t}):String(n??``)},ni=e=>{if(!e||typeof document>`u`)return null;let t=document.createElement(`div`);return t.setAttribute(`aria-hidden`,`true`),t.style.cssText=`position:absolute;top:-99999px;left:-99999px;visibility:hidden;pointer-events:none;width:auto;height:auto;contain:layout style;`,e.appendChild(t),t},ri=e=>{let t=document.createElement(`div`);return t.className=`ssg-body-cell`,t.style.cssText=`display:inline-block;position:static;top:auto;left:auto;width:auto;height:auto;white-space:nowrap;overflow:visible;`,t.textContent=e,t},ii=e=>e.suppressAutoSize===!0||e.autoHeight===!0;function ai(e){let t=e.map(()=>[]),n=e.map(()=>[]),r=e.map(()=>1/0),i=e.map(()=>0);return{collect:a=>{for(let o=0;o<e.length;o+=1){if(ii(e[o]))continue;let s=e[o].estimateCellWidth;if(s){let t=s(a,e[o]);t>i[o]&&(i[o]=t);continue}let c=String(L(a,e[o])??``);if(c===``)continue;let l=t[o],u=n[o];if(l.length===qr&&2*c.length<=r[o])continue;let d=ei(c);if(l.length<qr){if(l.push(a),u.push(d),l.length===qr){let e=u[0];for(let t=1;t<qr;t+=1)u[t]<e&&(e=u[t]);r[o]=e}continue}if(d<=r[o])continue;let f=0;for(let e=1;e<qr;e+=1)u[e]<u[f]&&(f=e);l[f]=a,u[f]=d;let p=u[0];for(let e=1;e<qr;e+=1)u[e]<p&&(p=u[e]);r[o]=p}},finalize:({gridRoot:n,currentWidths:r})=>{let a=Yr();if(!a||e.length===0)return{};let{cellFont:o,headerFont:s}=Zr(n),c={},l=ni(n);try{let n=null;if(l){let r=[];for(let n=0;n<e.length;n+=1){if(ii(e[n])){r.push([]);continue}if(e[n].estimateCellWidth){r.push([]);continue}let i=t[n],a=[];for(let t=0;t<i.length;t+=1){let r=ti(i[t],e[n]);if(r===``)continue;let o=ri(r);l.appendChild(o),a.push(o)}r.push(a)}n=r.map(e=>{let t=0;for(let n=0;n<e.length;n+=1){let r=e[n].offsetWidth;r>t&&(t=r)}return t})}for(let l=0;l<e.length;l+=1){let u=e[l];if(ii(u))continue;a.font=s;let d=u.title||u.key,f=a.measureText(d).width+Ur+J,p;if(u.estimateCellWidth)p=i[l]>0?i[l]+Hr:0;else if(n)p=n[l];else{a.font=o;let e=0,n=t[l];for(let t=0;t<n.length;t+=1){let r=ti(n[t],u);if(r===``)continue;let i=a.measureText(r).width;i>e&&(e=i)}p=e>0?e+Ur+Hr:0}let m=Math.ceil(Qr(Math.max(f,p),u.minWidth??Kr,u.maxWidth??1/0));r[u.key]!==m&&(c[u.key]=m)}}finally{l&&l.parentNode&&l.parentNode.removeChild(l)}return c}}}function oi(){return Yr()!==null}var si=()=>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)}),ci=10,li=180,ui=()=>typeof performance<`u`?performance.now():Date.now(),di=({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||!oi())return;let o=c.current+=1;u();let d=t.current,f=d.getRowCount(),p=n.current,m=r.current,h=ai(e);l.current=setTimeout(()=>{c.current===o&&s(!0)},li);try{let e=0;for(;e<f;){let n=ui();for(;e<f&&ui()-n<ci;){let t=d.getRow(e);t&&h.collect(t),e+=1}if(e<f&&(await si(),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])}},fi=()=>{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)=>Ht.compare(e.label,t.label))}}},pi=(e,t)=>{let n=fi();for(let r=0;r<e;r+=1)n.collect(t(r));return n.finalize()},mi=10,hi=()=>typeof performance<`u`?performance.now():Date.now(),gi=[],_i=new Set,vi={status:`idle`,options:gi,allValues:_i,progress:0},yi={status:`collecting`,options:gi,allValues:_i,progress:0},bi=e=>new Set(e.map(e=>e.value)),xi={source:null,rowCount:0,result:vi},Si=({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 vi;if(o){let e=o;return{status:`ready`,options:e,allValues:bi(e),progress:1}}if(!s){let e=pi(n,r);return{status:`ready`,options:e,allValues:bi(e),progress:1}}return null},[t,a,o,s,n,r]),[l,u]=(0,e.useState)(xi);(0,e.useEffect)(()=>{if(c!==null)return;let e=r,t=n,i=fi(),a=!1;return(async()=>{let n=0;for(;n<t;){let r=hi();for(;n<t&&hi()-r<mi;)i.collect(e(n)),n+=1;if(n<t){if(await si(),a)return;u({source:e,rowCount:t,result:{status:`collecting`,options:gi,allValues:_i,progress:n/t}})}}if(a)return;let r=i.finalize();u({source:e,rowCount:t,result:{status:`ready`,options:r,allValues:bi(r),progress:1}})})(),()=>{a=!0}},[c,n,r]);let d=l.source===r&&l.rowCount===n?l.result:yi;return c??d},Ci=10,wi=()=>typeof performance<`u`?performance.now():Date.now(),Ti=({rows:t,baseOrder:n,columns:r,globalText:i,enabled:a})=>{let o=(0,e.useDeferredValue)(i),s=o.trim().toLowerCase(),c=a&&s.length>0,l=c&&t.length>5e4,u=(0,e.useMemo)(()=>c?l?null:{order:Qe(t,n,r,o),status:`ready`,progress:1}:{order:n,status:`idle`,progress:1},[c,l,t,n,r,o]),[d,f]=(0,e.useState)(null),[p,m]=(0,e.useState)(null);(0,e.useEffect)(()=>{if(!l)return;let e=t,i=n,a=r,o=s,c=i.length,u=new Int32Array(c),d=!1;return(async()=>{let t=0,n=0;for(;n<c;){let r=wi();for(;n<c&&wi()-r<Ci;){let r=i[n];Ze(e[r],a,o)&&(u[t]=r,t+=1),n+=1}if(n<c){if(await si(),d)return;m({rows:e,baseOrder:i,columns:a,needle:o,progress:n/c})}}if(d)return;let r=t===c?i:u.slice(0,t);f({rows:e,baseOrder:i,columns:a,needle:o,order:r,rowsLength:e.length})})(),()=>{d=!0}},[l,t,n,r,s]);let h;return h=u||(d!==null&&d.rows===t&&d.baseOrder===n&&d.columns===r&&d.needle===s?{order:d.order,status:`ready`,progress:1}:{order:d!==null&&d.rowsLength===t.length?d.order:n,status:`filtering`,progress:p!==null&&p.rows===t&&p.baseOrder===n&&p.columns===r&&p.needle===s?p.progress:0}),h};function Ei(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()},updateRow:(e,n)=>{if(t<=0||e<0)return!1;let i=Math.floor(e/t),a=r.get(i);if(a===void 0)return!1;let o=e-i*t;if(o>=a.length)return!1;let s=a.slice();return s[o]=n,r.set(i,s),!0},touchBlocks:e=>{for(let t of e)i(t)},clear:()=>{r.clear()},loadedBlockIndexes:()=>Array.from(r.keys())}}function Y(e,t){return Math.floor(e/t)}function Di(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=Y(i,n),s=Y(a-1,n),c=[];for(let e=o;e<=s;e+=1)c.push(e);return c}var Oi=()=>{let e=new Map,t=1,n=t=>e.get(t)?.row,r=(n,r)=>{let i=t;return t+=1,e.set(n,{row:r,writeId:i}),i},i=(t,n)=>e.get(t)?.writeId===n;return{getRow:n,beginWrite:r,isLatestWrite:i,settleWrite:(t,n)=>{i(t,n)&&e.delete(t)},clear:()=>{e.clear()},pendingCount:()=>e.size}},ki=(e,t,n)=>{let r=new Map;for(let i of e){let e=r.get(i.viewIndex);if(e===void 0){let a=t(i.viewIndex);if(a===void 0)continue;e={rowKey:n(a,i.viewIndex),rowIndex:i.viewIndex,row:a,previousRow:a,changes:[]},r.set(i.viewIndex,e)}e.changes.push({columnKey:i.column.key,previousValue:L(e.row,i.column),newValue:i.value}),e.row=Ae(e.row,i.column,i.value)}return Array.from(r.values())},Ai=100,ji=64,X=120;function Mi(t){let{dataSource:n,rowKeyGetter:r,query:i,queryKey:a,refreshToken:o,onLoadError:s,onWriteError:c}=t,l=n?.blockSize??Ai,u=n?.maxCachedBlocks??ji,d=t.debounceMs??X,[f]=(0,e.useState)(()=>Ei({blockSize:l,maxBlocks:u})),[p,m]=(0,e.useState)(n?.initialRowCount??0),[h,g]=(0,e.useState)(0),_=(0,e.useRef)(p),v=(0,e.useRef)(!1),y=(0,e.useRef)(new Map),b=(0,e.useRef)(new Set),[x,S]=(0,e.useState)(null),C=(0,e.useRef)(s);(0,e.useEffect)(()=>{C.current=s},[s]);let[w]=(0,e.useState)(()=>Oi()),T=(0,e.useRef)(0),[E,D]=(0,e.useState)(null),O=(0,e.useRef)(c);(0,e.useEffect)(()=>{O.current=c},[c]);let k=(0,e.useCallback)(e=>w.getRow(e)??f.getRow(e),[f,w]),A=(0,e.useCallback)(()=>{T.current+=1,w.clear(),D(null)},[w]),j=(0,e.useCallback)(()=>{let e=b.current.size;S(t=>e===0?t===null?t:null:{failedBlockCount:e})},[]),M=(0,e.useRef)(null),ee=(0,e.useRef)({start:0,end:0}),N=(0,e.useCallback)(e=>{if(n==null||f.hasBlock(e)||y.current.has(e))return;let t=new AbortController;y.current.set(e,t);let r=e*l,a=r+l;n.getRows({startIndex:r,endIndex:a,query:i,signal:t.signal}).then(n=>{t.signal.aborted||y.current.get(e)===t&&(y.current.delete(e),f.setBlock(e,n.rows),b.current.delete(e)&&j(),n.totalRowCount!==_.current&&(_.current=n.totalRowCount,m(n.totalRowCount)),g(e=>e+1))}).catch(n=>{t.signal.aborted||y.current.get(e)===t&&(y.current.delete(e),b.current.add(e),j(),C.current?.(n,{startIndex:r,endIndex:a}))})},[f,l,n,i,j]),P=(0,e.useCallback)(()=>{let{start:e,end:t}=ee.current,n=Di(e,t,l,_.current),r=new Set(n);for(let[e,t]of y.current)r.has(e)||(t.abort(),y.current.delete(e));for(let e of n)N(e)},[l,N]),F=(0,e.useCallback)(()=>{M.current!==null&&clearTimeout(M.current),M.current=setTimeout(()=>{M.current=null,P()},d)},[d,P]),I=(0,e.useCallback)((e,t)=>{n!=null&&(ee.current={start:e,end:t},f.touchBlocks(Di(e,t,l,_.current)),F())},[f,l,n,F]);(0,e.useEffect)(()=>{if(n==null)return;for(let[,e]of y.current)e.abort();y.current.clear(),M.current!==null&&(clearTimeout(M.current),M.current=null),f.clear(),b.current.clear(),j(),A();let e=!v.current;v.current=!0,g(e=>e+1),e?(n.initialRowCount??0)<=0&&N(0):N(0)},[a]);let te=(0,e.useCallback)(()=>{if(n==null)return;for(let[,e]of y.current)e.abort();y.current.clear(),M.current!==null&&(clearTimeout(M.current),M.current=null),f.clear(),b.current.clear(),j(),A(),g(e=>e+1);let{start:e,end:t}=ee.current;if(Di(e,t,l,_.current).length===0){N(0);return}P()},[f,n,l,N,P,j,A]),ne=(0,e.useCallback)(()=>{if(n==null||b.current.size===0)return;let e=Array.from(b.current);b.current.clear(),j();for(let t of e)N(t)},[n,N,j]),re=(0,e.useCallback)(e=>{let t=n?.updateRows;if(t===void 0||e.length===0)return 0;let i=ki(e,k,r);if(i.length===0)return 0;let a=T.current,o=i.map(e=>({viewIndex:e.rowIndex,row:e.row,writeId:w.beginWrite(e.rowIndex,e.row)}));return g(e=>e+1),t({updates:i}).then(e=>{if(T.current!==a)return;let t=e===void 0?void 0:e.rows;o.forEach((e,n)=>{f.updateRow(e.viewIndex,t?.[n]??e.row),w.settleWrite(e.viewIndex,e.writeId)}),g(e=>e+1)}).catch(e=>{if(T.current===a){for(let e of o)w.settleWrite(e.viewIndex,e.writeId);D({failedRowCount:i.length}),O.current?.(e,{updates:i}),g(e=>e+1)}}),i.length},[f,n,k,w,r]),ie=(0,e.useRef)(o);(0,e.useEffect)(()=>{if(n==null||o===void 0){ie.current=o;return}if(ie.current===void 0){ie.current=o;return}ie.current!==o&&(ie.current=o,te())},[o]),(0,e.useEffect)(()=>{let e=y.current,t=M,n=T;return()=>{for(let[,t]of e)t.abort();e.clear(),t.current!==null&&(clearTimeout(t.current),t.current=null),n.current+=1,w.clear()}},[w]);let ae=(0,e.useCallback)(e=>k(e)!==void 0,[k]);return{rowModel:(0,e.useMemo)(()=>({getRowCount:()=>_.current,getRow:e=>k(e),getSourceIndex:e=>e,getRowKey:e=>{let t=k(e);return t===void 0?e:r(t,e)}}),[k,r,h]),rowCount:p,isRowLoaded:ae,requestRange:I,refresh:te,loadError:x,retryFailedBlocks:ne,canUpdateRows:n?.updateRows!==void 0,applyCellEdits:re,writeError:E}}var Ni=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];Ge(n)&&(r[t]=n,i=!0)}return i&&(t.columnFilters=r),e.sort.length>0&&(t.sort=e.sort),t},Pi=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})};function Fi({state:e,disabled:t=!1}){return(0,n.jsx)(`span`,{"aria-hidden":`true`,className:`ssg-row-checkbox`,"data-state":e,"data-disabled":t?`true`:void 0})}var Ii=(0,e.memo)(Fi);function Li({checked:e,readOnly:t,onToggle:r}){return(0,n.jsx)(`span`,{role:`checkbox`,"aria-checked":e,"aria-disabled":t||void 0,className:`ssg-cell-checkbox`,onClick:()=>{t||r()},children:(0,n.jsx)(Ii,{state:e?`checked`:`unchecked`,disabled:t})})}var Ri=(e,t)=>{let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)):e},zi=(e,t)=>{if(!t.trim())return{kind:`close`};let n=Ri(e,t);return n.length===0?{kind:`none`}:{kind:`replace`,values:n.map(e=>e.value)}},Bi=(e,t)=>e===null?!0:e.mode===`include`?e.values.has(t):!e.values.has(t),Vi=28;function Hi({options:r,setSelection:i,searchInputRef:a,onValueToggle:o,onSelectAllChange:s,onReplaceSelection:c,onRequestClose:l,isServerSide:u}){let[d,f]=(0,e.useState)(``),p=(0,e.useDeferredValue)(d),m=(0,e.useMemo)(()=>Ri(r,p),[r,p]),h=p.trim().length>0,g=(0,e.useRef)(null),_=(0,t.useVirtualizer)({count:m.length,getScrollElement:()=>g.current,estimateSize:()=>Vi,overscan:10}),v=(0,e.useMemo)(()=>{if(i===null)return m.length;let e=0;for(let t of m)Bi(i,t.value)&&(e+=1);return e},[i,m]),y=m.length>0&&v===m.length,b=v>0&&!y,x=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:d,onChange:e=>f(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Escape`&&(e.preventDefault(),l()),e.key===`Enter`){if(e.nativeEvent.isComposing)return;e.preventDefault();let t=zi(r,d);if(t.kind===`none`)return;t.kind===`replace`&&c(t.values),l()}},placeholder:`検索(Enter で確定)`,className:`ssg-filter-input`}),(0,n.jsxs)(`label`,{className:`ssg-filter-selectall`,children:[(0,n.jsx)(`input`,{type:`checkbox`,checked:y,ref:e=>{e&&(e.indeterminate=b)},onChange:()=>{s(h?m.map(e=>e.value):`all`,!y)}}),(0,n.jsx)(`span`,{className:`ssg-filter-selectall-label`,children:h?`(検索結果をすべて選択)`:`(すべて選択)`})]}),(0,n.jsx)(`div`,{ref:g,className:`ssg-filter-list`,children:m.length===0?(0,n.jsx)(`div`,{className:`ssg-filter-empty`,children:r.length===0?u?`候補が未指定です(serverSide では列に filterOptions などの候補供給が必要)`:`候補がありません`:`一致する候補がありません`}):(0,n.jsx)(`div`,{className:`ssg-filter-virt`,style:{height:_.getTotalSize()},children:_.getVirtualItems().map(e=>{let t=m[e.index];if(!t)return null;let r=Bi(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:[`選択中: `,x,` / `,r.length,` 件`,h?`(表示中 ${m.length} 件)`:``]})]})}function Ui({isOpen:e,themeClassName:t,title:a,filterType:o,draftValue:s,currentValueText:c,layout:l,selectOptions:u,optionsStatus:d,optionsProgress:f,setSelection:p,popoverRef:m,textInputRef:h,selectRef:g,onRequestClose:_,onDraftChange:v,onApply:y,onClear:b,onSetValueToggle:x,onSetSelectAllChange:S,onSetClear:C,onSetReplaceSelection:w,isServerSide:T=!1}){if(typeof document>`u`||!e||!l)return null;let E={top:l.top,left:l.left,width:l.width},D=e=>{e.stopPropagation()},O=e=>{e.stopPropagation()},k=o===`set`;return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:m,onPointerDown:O,onKeyDown:D,onPasteCapture:e=>{e.stopPropagation()},className:i(`ssg-filter-popover`,t),style:E,children:[(0,n.jsxs)(`div`,{className:`ssg-filter-title`,children:[`列フィルター: `,a]}),(k||o===`select`)&&d===`collecting`?(0,n.jsxs)(`div`,{className:`ssg-filter-collecting`,children:[`候補を収集中… `,Math.round(f*100),`%`]}):k?(0,n.jsx)(Hi,{options:u,setSelection:p,searchInputRef:h,onValueToggle:x,onSelectAllChange:S,onReplaceSelection:w,onRequestClose:_,isServerSide:T}):o===`select`?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`div`,{className:`ssg-filter-hint`,children:`フィルター種別: select`}),(0,n.jsxs)(`select`,{ref:g,value:s,onChange:e=>v(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),y();return}e.key===`Escape`&&(e.preventDefault(),_())},className:`ssg-filter-select`,children:[(0,n.jsx)(`option`,{value:``,children:`(すべて)`}),u.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},`${a}-${e.value}`))]}),(0,n.jsxs)(`div`,{className:`ssg-filter-meta`,children:[`候補数: `,u.length]})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-filter-hint`,children:[`フィルター種別: `,o===`number`?`number`:`text`]}),(0,n.jsx)(`input`,{ref:h,type:`text`,value:s,onChange:e=>v(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),y();return}e.key===`Escape`&&(e.preventDefault(),_())},placeholder:o===`number`?`例: >=10 / <20 / 10..20 / =5`:`部分一致で絞り込み`,className:`ssg-filter-input`}),(0,n.jsx)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:o===`number`?`数量系は =, >, >=, <, <=, .. が使えます`:`text は部分一致検索です`})]}),!k&&(0,n.jsxs)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:[`現在値: `,c]}),(0,n.jsx)(`div`,{className:`ssg-filter-footer`,children:k?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),C()},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:`閉じる`})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),b()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-secondary`,children:`クリア`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),y()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-primary`,children:`適用`})]})})]}),document.body)}function Wi({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]})]})]})})}var Gi=(0,n.jsxs)(`svg`,{width:`14`,height:`14`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,children:[(0,n.jsx)(`circle`,{cx:`7`,cy:`7`,r:`4.5`}),(0,n.jsx)(`line`,{x1:`10.6`,y1:`10.6`,x2:`14.5`,y2:`14.5`})]}),Ki=(0,n.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 16 16`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,"aria-hidden":`true`,children:[(0,n.jsx)(`line`,{x1:`4`,y1:`4`,x2:`12`,y2:`12`}),(0,n.jsx)(`line`,{x1:`12`,y1:`4`,x2:`4`,y2:`12`})]});function qi({context:e,showSummary:t=!0,showFilter:r=!0,showCounts:i=!0,globalFilterPlaceholder:a=`グローバルフィルター`,globalFilterIcon:o,onFilterSummaryClick:s}){let{derivedSummary:c}=e,l=o===void 0?Gi:o,u=e.globalFilterText.trim().length>0;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:c.rowSummaryText}),(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:c.columnSummaryText})]}):null,s?(0,n.jsx)(`button`,{type:`button`,className:`ssg-bar-chip ssg-bar-chip--emphasis ssg-bar-chip--action`,onPointerDown:e=>{e.stopPropagation()},onClick:s,"data-ssg-tooltip":`フィルター管理パネルを開閉`,"aria-label":`フィルター管理パネルを開閉`,children:c.filterSummaryText}):(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:c.filterSummaryText}),(0,n.jsx)(`span`,{className:`ssg-bar-chip ssg-bar-chip--emphasis`,children:c.sortSummaryText})]}):null,r?(0,n.jsxs)(`div`,{className:`ssg-bar-input-group`,children:[l?(0,n.jsx)(`span`,{className:`ssg-bar-input-icon`,"aria-hidden":`true`,children:l}):null,(0,n.jsx)(`input`,{type:`text`,value:e.globalFilterText,onChange:t=>e.setGlobalFilterText(t.target.value),placeholder:a,className:`ssg-bar-input`}),u?(0,n.jsx)(`button`,{type:`button`,onClick:()=>e.setGlobalFilterText(``),className:`ssg-bar-input-clear`,"aria-label":`フィルターをクリア`,"data-ssg-tooltip":`クリア`,children:Ki}):null]}):null]})})}var Z=e=>e.enabled&&!e.isAutoHeightCell&&!e.hasRenderCell;function Ji({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,rowKey:o,sourceRowIndex:s,row:c,top:l,renderEntries:u,rowHeight:d,autoHeight:f,showCellOverflowTooltip:p,showValidationMarks:m,autoHeightMinHeight:h,rowHeaderCellStyle:g,isRowHovered:_,isWholeGridSelected:v,isRowSelected:y,showRowCheckbox:b,isRowChecked:x,activeColInRow:S,editingColInRow:C,selectedColStart:w,selectedColEnd:T,readOnly:E,canEditCell:D,onRowHeaderPointerDown:O,onRowHeaderPointerEnter:k,onRowHeaderPointerLeave:A,onCellPointerDown:j,onCellPointerEnter:M,onCellDoubleClick:ee,renderCellContent:N,rowClassName:P,bodyCellClassName:F,bodyRowClassName:I,rowHeaderCellClassName:te}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,className:i(`ssg-body-row`,x&&`ssg-body-row--checked`,P,I),style:{height:d,transform:`translateY(${l}px)`},children:[t&&(0,n.jsx)(`div`,{role:b?`checkbox`:void 0,"aria-checked":b?x:void 0,onPointerDown:e=>O(a,e),onPointerEnter:e=>k(a,e),onPointerLeave:()=>A(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,b&&`ssg-row-header-cell--checkbox`,(v||y)&&`ssg-header-cell--selected`,_&&`ssg-header-cell--hovered`,P,te),style:{...g,height:d},children:b?(0,n.jsx)(Ii,{state:x?`checked`:`unchecked`}):a+1}),u.map(e=>{if(!e)return null;let t=e.logicalIndex,l=e.column,u=r+e.paneLocalStart,g=e.paneLocalSize,v=t===S,b=t===C,x=y||w>=0&&t>=w&&t<=T,O=!ke({readOnly:E,canEditCell:D},a,t,c,l),k=f&&l.autoHeight===!0,A,I=l.cellClassName;I&&(A=typeof I==`function`?I({row:c,rowIndex:a,sourceRowIndex:s,rowKey:o,colIndex:t,value:L(c,l),column:l,isActive:v,isSelected:x,isEditing:b,readOnly:O}):I);let te=m&&l.validate?ct(l,c,L(c,l)):null,ne=i(`ssg-body-cell`,l.align===`center`&&`ssg-body-cell--align-center`,l.align===`right`&&`ssg-body-cell--align-right`,k&&`ssg-body-cell--autoheight`,O&&!x&&`ssg-body-cell--readonly`,te!==null&&`ssg-body-cell--invalid`,_&&`ssg-body-cell--row-hovered`,P,A,F),re={};l.wordBreak!==void 0&&(re.wordBreak=l.wordBreak),l.lineBreak!==void 0&&(re.lineBreak=l.lineBreak);let ie=Z({enabled:p,isAutoHeightCell:k,hasRenderCell:l.renderCell!==void 0});return(0,n.jsx)(`div`,{"data-ssg-col-key":l.key,"data-autoheight-cell":k?``:void 0,"data-ssg-tooltip":te??void 0,"data-ssg-tooltip-overflow":ie?``:void 0,className:ne,onPointerDown:e=>j({row:a,col:t},e),onPointerEnter:e=>M({row:a,col:t},e),onDoubleClick:()=>ee({row:a,col:t}),style:{left:u,width:g,minWidth:g,...k?{minHeight:h}:{height:d},...re,zIndex:v?3:1},children:N(c,a,l,t,{isActive:v,isSelected:x,isEditing:b,readOnly:O})},`${String(o)}-${l.key}`)})]})}var Yi=(0,e.memo)(Ji),Xi=[`62%`,`46%`,`78%`,`54%`];function Zi({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,top:o,rowHeight:s,renderEntries:c,rowHeaderCellStyle:l,isRowHovered:u,showRowCheckbox:d,onRowHeaderPointerDown:f,onRowHeaderPointerEnter:p,onRowHeaderPointerLeave:m,onCellPointerDown:h,onCellPointerEnter:g,bodyCellClassName:_,bodyRowClassName:v,rowHeaderCellClassName:y}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,"data-skeleton-row":``,className:i(`ssg-body-row`,v),style:{height:s,transform:`translateY(${o}px)`},children:[t&&(0,n.jsx)(`div`,{onPointerDown:e=>f(a,e),onPointerEnter:e=>p(a,e),onPointerLeave:()=>m(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,`ssg-skeleton-rowheader`,d&&`ssg-row-header-cell--checkbox`,u&&`ssg-header-cell--hovered`,y),style:{...l,height:s},children:d?(0,n.jsx)(Ii,{state:`unchecked`,disabled:!0}):a+1}),c.map(t=>{if(!t)return null;let o=t.logicalIndex,c=r+t.paneLocalStart,l=t.paneLocalSize,d=Xi[o%Xi.length];return(0,n.jsx)(`div`,{className:i(`ssg-body-cell`,u&&`ssg-body-cell--row-hovered`,_),onPointerDown:e=>h({row:a,col:o},e),onPointerEnter:e=>g({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 Qi=(0,e.memo)(Zi),$i=(e,t)=>t==null?``:e.valueFormatter?e.valueFormatter({value:t,row:void 0,column:e}):String(t),ea=16;function ta({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,top:o,rowHeight:s,renderEntries:c,rowHeaderCellStyle:l,isRowHovered:u,showRowCheckbox:d,groupRow:f,isCollapsed:p,onGroupToggle:m,onRowHeaderPointerEnter:h,onRowHeaderPointerLeave:g,bodyCellClassName:_,bodyRowClassName:v,rowHeaderCellClassName:y}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,"data-ssg-group-row":``,className:i(`ssg-body-row`,v),style:{height:s,transform:`translateY(${o}px)`},onDoubleClick:()=>m(f.groupKey),children:[t&&(0,n.jsx)(`div`,{onPointerEnter:e=>h(a,e),onPointerLeave:()=>g(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,d&&`ssg-row-header-cell--checkbox`,u&&`ssg-header-cell--hovered`,y),style:{...l,height:s},children:d?null:a+1}),c.map(t=>{if(!t)return null;let a=t.column,o=r+t.paneLocalStart,c=t.paneLocalSize,l=a.key===an,d=!l&&Object.prototype.hasOwnProperty.call(f.aggregates,a.key)?$i(a,f.aggregates[a.key]):null;return(0,n.jsx)(`div`,{"data-ssg-col-key":a.key,className:i(`ssg-body-cell`,`ssg-group-cell`,a.align===`center`&&`ssg-body-cell--align-center`,a.align===`right`&&`ssg-body-cell--align-right`,u&&`ssg-body-cell--row-hovered`,_),style:{left:o,width:c,minWidth:c,height:s,zIndex:1},children:l?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{"aria-hidden":`true`,className:`ssg-group-indent`,style:{width:f.level*ea}}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-group-toggle`,"aria-expanded":!p,"aria-label":`${f.label} を${p?`展開`:`折りたたみ`}`,onClick:()=>m(f.groupKey),onDoubleClick:e=>e.stopPropagation(),children:p?`▸`:`▾`}),(0,n.jsx)(`span`,{className:`ssg-group-label`,children:f.label}),(0,n.jsxs)(`span`,{className:`ssg-group-count`,children:[`(`,f.leafCount,`件)`]})]}):d},`group-${e}-${a.key}`)})]})}var na=(0,e.memo)(ta);function ra({pane:e,ownsRowHeader:t,leadingWidth:r,rowModel:i,virtualRows:a,virtualRowIndexes:o,renderEntries:s,rowHeight:c,autoHeight:l=!1,showCellOverflowTooltip:u=!1,showValidationMarks:d=!0,isServerSide:f=!1,collapsedGroupKeys:p,onGroupToggle:m,rowHeaderCellStyle:h,hoveredRowIndex:g,isWholeGridSelected:_,enableRowSelection:v,rowSelectionState:y,activeCell:b,editingCell:x,selectionSnapshot:S,readOnly:C,canEditCell:w,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,onCellDoubleClick:j,renderCellContent:M,getRowClassName:ee,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F}){return(0,n.jsx)(n.Fragment,{children:a.map(a=>{let I=a.index;if(!o.has(I))return null;let te=a.size??c,ne=i.getGroupRow?.(I);if(ne&&m)return(0,n.jsx)(na,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,top:a.start,rowHeight:te,renderEntries:s,rowHeaderCellStyle:h,isRowHovered:g===I,showRowCheckbox:v,groupRow:ne,isCollapsed:p?.has(ne.groupKey)===!0,onGroupToggle:m,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F},String(on(ne)));let re=i.getRow(I);if(!re){if(!f)return null;let o=i.getRowKey(I)??I;return(0,n.jsx)(Qi,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,top:a.start,rowHeight:te,renderEntries:s,rowHeaderCellStyle:h,isRowHovered:g===I,showRowCheckbox:v,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F},String(o))}let ie=i.getRowKey(I)??I,ae=i.getSourceIndex(I)??I,oe=v?O(y,ie):!1,se=S.kind===`row`&&I>=S.startRow&&I<=S.endRow,ce=S.kind===`cell`&&I>=S.startRow&&I<=S.endRow,le=S.kind===`col`||ce?S.startCol:-1,ue=S.kind===`col`||ce?S.endCol:-1,de=b&&b.row===I?b.col:-1,fe=x&&x.row===I?x.col:-1,pe=ee?.(re,I);return(0,n.jsx)(Yi,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,rowKey:ie,sourceRowIndex:ae,row:re,top:a.start,renderEntries:s,rowHeight:te,autoHeight:l,showCellOverflowTooltip:u,showValidationMarks:d,autoHeightMinHeight:c,rowHeaderCellStyle:h,isRowHovered:g===I,isWholeGridSelected:_,isRowSelected:se,showRowCheckbox:v,isRowChecked:oe,activeColInRow:de,editingColInRow:fe,selectedColStart:le,selectedColEnd:ue,readOnly:C,canEditCell:w,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,onCellDoubleClick:j,renderCellContent:M,rowClassName:pe,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F},String(ie))})})}function ia({isActive:e,title:t,className:r,onPointerDown:a,children:o}){return(0,n.jsx)(`button`,{type:`button`,"data-ssg-tooltip":t,"aria-label":t,onPointerDown:a,className:i(`ssg-icon-btn`,e&&`ssg-icon-btn--active`,r),children:o})}function aa({pane:e,ownsRowHeader:t,leadingWidth:r,headerHeight:a,rowHeaderCellStyle:o,headerRowClassName:s,headerCellClassName:c,rowHeaderCellClassName:l,isCornerHovered:u,isWholeGridSelected:d,showSelectAllCheckbox:f,selectAllState:p,filteredRowsLength:m,visibleColumnsLength:h,renderEntries:g,hoveredColumnIndex:_,selectionSnapshot:v,columnFilterValues:y,sortState:b,iconButtonClassName:x,onCornerPointerDown:S,onCornerPointerEnter:C,onCornerPointerLeave:w,onColumnHeaderPointerDown:T,onColumnHeaderPointerEnter:E,onColumnHeaderPointerLeave:D,onColumnResizePointerDown:O,enableColumnResize:k,enableColumnMenu:A,openedMenuColumnKey:j,onColumnMenuButtonPointerDown:M,onColumnHeaderContextMenu:ee,onColumnDragHandlePointerDown:N}){return(0,n.jsxs)(`div`,{"data-pane":e,className:i(`ssg-header-row`,s),style:{height:a},children:[t&&(0,n.jsx)(`div`,{role:f?`checkbox`:void 0,"aria-checked":f?p===`all`?!0:p===`some`?`mixed`:!1:void 0,onPointerDown:S,onPointerEnter:C,onPointerLeave:w,className:i(`ssg-header-cell`,`ssg-corner-cell`,f&&`ssg-corner-cell--checkbox`,d&&`ssg-header-cell--selected`,u&&`ssg-header-cell--hovered`,l),style:{...o,height:a,cursor:m>0&&h>0?`pointer`:`default`},children:f?(0,n.jsx)(Ii,{state:p===`all`?`checked`:p===`some`?`indeterminate`:`unchecked`}):`#`}),g.map(e=>{if(!e)return null;let t=e.logicalIndex,o=e.column,s=r+e.paneLocalStart,l=e.paneLocalSize,u=Ge(y[o.key]),f=v.kind===`col`&&t>=v.startCol&&t<=v.endCol,p=b.findIndex(e=>e.columnKey===o.key),m=p===-1?null:b[p],h=j===o.key,g=o.key===an,S=A&&!g;return(0,n.jsxs)(`div`,{"data-ssg-col-key":o.key,onPointerDown:e=>T(t,e),onPointerEnter:e=>E(t,e),onPointerLeave:()=>D(t),onContextMenu:e=>{if(g){e.preventDefault();return}ee(o,e)},className:i(`ssg-header-cell`,(d||f)&&`ssg-header-cell--selected`,_===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`),"data-ssg-tooltip":o.renderHeader?void 0:o.title||o.key,children:o.renderHeader?o.renderHeader({colIndex:t,width:l,column:o,filterValue:y[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`,"data-ssg-tooltip":(m.direction===`asc`?`昇順で並び替え中`:`降順で並び替え中`)+(b.length>1?` (優先度 ${p+1})`:``),className:`ssg-header-sort`,children:[m.direction===`asc`?`↑`:`↓`,b.length>1&&(0,n.jsx)(`span`,{className:`ssg-header-sort-priority`,children:p+1})]}),u&&(0,n.jsx)(`span`,{"aria-hidden":`true`,"data-ssg-tooltip":`フィルター適用中`,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:[N&&!g&&(0,n.jsx)(`span`,{onPointerDown:e=>N(o,e),"data-ssg-tooltip":`ドラッグで列を移動`,"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`})]})}),S&&(0,n.jsx)(ia,{title:`列メニュー`,isActive:h,className:x,onPointerDown:e=>M(o,e),children:`⋮`})]}),(o.resizable??k)&&(0,n.jsx)(`div`,{onPointerDown:e=>O(o,e),className:`ssg-header-resize`})]},o.key)})]})}var oa=(0,e.memo)(aa),sa=200,ca=8,la=6,ua=289,da=({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-sa,e=i.bottom+la,n=i.top-ua-la}else if(i)t=i.x,e=i.y,n=i.y-ua;else{s(null);return}t=Math.max(ca,t),t=Math.min(t,window.innerWidth-sa-ca),e+ua>window.innerHeight-ca&&(e=n),e=Math.max(ca,e),s(n=>n&&n.top===e&&n.left===t&&n.width===sa?n:{top:e,left:t,width:sa})},[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,!0),()=>{window.removeEventListener(`keydown`,e,!0)}},[g,f]),{columnMenuLayout:o,columnMenuRef:c,isColumnMenuOpen:f,openedMenuColumnKey:p,openedMenuColumn:m,openColumnMenuFromButton:_,openColumnMenuFromContextMenu:v,closeColumnMenu:g}},fa=[{value:void 0,label:`固定しない`},{value:`left`,label:`左に固定`},{value:`right`,label:`右に固定`}],pa=180,ma=4,ha=8,ga=`pin`;function _a({isOpen:t,themeClassName:a,title:o,columnKey:s,canFilter:c,onOpenFilter:l,canSort:u,sortDirection:d,onSortChange:f,onOpenSortManager:p,canManageFilters:m,onOpenFilterManager:h,pinned:g,canChangePinned:_,layout:v,popoverRef:y,onPinnedChange:b,onAutosizeColumn:x,onAutosizeAllColumns:S,onOpenColumnChooser:C,canResetColumns:w,onResetColumns:T,onRequestClose:E}){let[D,O]=(0,e.useState)(null);if((0,e.useEffect)(()=>{O(null)},[s,t]),!t||!v)return null;let k=D===ga,A=v.left+v.width+ma+pa>window.innerWidth-ha,j={position:`fixed`,top:v.top,left:v.left,width:v.width,zIndex:1e3},M={position:`absolute`,top:-9,...A?{right:`calc(100% + ${ma}px)`}:{left:`calc(100% + ${ma}px)`},width:pa,zIndex:1};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:y,onPointerDown:e=>{e.stopPropagation()},onKeyDown:e=>{e.stopPropagation()},onContextMenu:e=>{e.preventDefault()},className:i(`ssg-menu-panel`,a),style:j,children:[(0,n.jsx)(`div`,{className:`ssg-menu-title`,children:o}),c&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{l()},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`})]}),u&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{f(`asc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,d===`asc`&&`ssg-menu-sort-icon--active`),children:d===`asc`?`✓`:`↑`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,d===`asc`&&`ssg-menu-label--sorted`),children:`昇順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{f(`desc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,d===`desc`&&`ssg-menu-sort-icon--active`),children:d===`desc`?`✓`:`↓`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,d===`desc`&&`ssg-menu-label--sorted`),children:`降順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{p()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`並び替えを管理…`})]})]}),m&&(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{h()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`フィルターを管理…`})]}),(u||m)&&(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:()=>{O(ga)},onClick:()=>{O(e=>e===ga?null:ga)},className:i(`ssg-menu-item`,k&&`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:`›`})]}),k&&(0,n.jsxs)(`div`,{className:i(`ssg-menu-panel`,a),style:M,children:[fa.map(e=>{let t=g===e.value;return(0,n.jsxs)(`button`,{type:`button`,disabled:!_,onClick:()=>{_&&b(s,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)}),!_&&(0,n.jsx)(`div`,{className:`ssg-menu-note`,children:`onColumnsChange 未指定のため固定状態を変更できません`})]})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{x(s)},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:()=>{O(null)},onClick:()=>{S()},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:()=>{O(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.jsxs)(`button`,{type:`button`,"aria-disabled":!w,tabIndex:w?0:-1,"data-ssg-tooltip":w?`すべての列の幅・固定・表示・並び順を初期状態に戻します`:`onColumnsChange 未指定のため列をリセットできません`,onPointerEnter:()=>{O(null)},onClick:()=>{w&&T()},className:i(`ssg-menu-item`,!w&&`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:E,className:`ssg-menu-close-btn`,children:`閉じる`})})]}),document.body)}var va=({top:e,left:t,panelWidth:n,viewportWidth:r,viewportHeight:i})=>{let a=Math.max(8,Math.min(t,r-n-8));return{top:Math.max(8,Math.min(e,i-40)),left:a}},ya=360,Q=8,ba=12,xa=[`filter`,`columns`,`sort`],Sa=({canUseFilterTab:t,canUseColumnsTab:n,canUseSortTab:r,gridRootRef:i,alliedRef:a,suppressEscape:o=!1,onSuppressedEscape:s})=>{let[c,l]=(0,e.useState)(null),[u,d]=(0,e.useState)(null),[f,p]=(0,e.useState)(0),m=(0,e.useRef)(null),h=(0,e.useRef)(null),g=(0,e.useMemo)(()=>{let e={filter:t,columns:n,sort:r};return xa.filter(t=>e[t])},[t,n,r]),_=c===null?null:g.includes(c)?c:g[0]??null,v=_!==null,y=(0,e.useCallback)(()=>{let e=h.current;if(e){let t=va({top:e.top,left:e.left,panelWidth:ya,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});d(e=>e&&e.top===t.top&&e.left===t.left&&e.width===ya?e:{top:t.top,left:t.left,width:ya});return}let t=i.current;if(!t){d(null);return}let n=t.getBoundingClientRect(),r=n.right-ya-ba,a=n.top+ba;r=Math.max(Q,r),r=Math.min(r,window.innerWidth-ya-Q),a=Math.max(Q,a),d(e=>e&&e.top===a&&e.left===r&&e.width===ya?e:{top:a,left:r,width:ya})},[i]),b=(0,e.useCallback)(e=>{({filter:t,columns:n,sort:r})[e]&&(c!==null&&p(e=>e+1),document.activeElement instanceof HTMLElement&&document.activeElement.blur(),i.current?.blur(),l(e))},[t,n,r,i,c]),x=(0,e.useCallback)(()=>{l(null),d(null),requestAnimationFrame(()=>{i.current?.focus()})},[i]),S=(0,e.useCallback)((e,t)=>{let n=va({top:e,left:t,panelWidth:ya,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h.current=n,d({top:n.top,left:n.left,width:ya})},[]);return(0,e.useEffect)(()=>{if(!v)return;y();let e=()=>{y()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[v,y]),(0,e.useEffect)(()=>{if(!v)return;let e=e=>{let t=e.target;t&&(m.current?.contains(t)||a?.current?.contains(t)||x())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[a,x,v]),(0,e.useEffect)(()=>{if(!v)return;let e=e=>{if(e.key===`Escape`){if(o){s?.();return}e.preventDefault(),x()}};return window.addEventListener(`keydown`,e,!0),()=>{window.removeEventListener(`keydown`,e,!0)}},[x,v,s,o]),{activeToolPanelTab:_,availableToolPanelTabs:g,toolPanelLayout:u,toolPanelFlashTick:f,toolPanelRef:m,openToolPanel:b,closeToolPanel:x,moveToolPanel:S}},Ca=({layout:t,onPanelMove:n})=>{let r=(0,e.useRef)(null);return(0,e.useEffect)(()=>()=>{r.current?.()},[]),{handleHeaderPointerDown:(0,e.useCallback)(e=>{if(e.button!==0||!t||e.target?.closest(`button, input, select, textarea`)||r.current)return;e.preventDefault();let i={pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,startTop:t.top,startLeft:t.left};function a(e){e.pointerId===i.pointerId&&n(i.startTop+(e.clientY-i.startY),i.startLeft+(e.clientX-i.startX))}function o(e){e.pointerId===i.pointerId&&s()}function s(){window.removeEventListener(`pointermove`,a),window.removeEventListener(`pointerup`,o),window.removeEventListener(`pointercancel`,o),r.current=null}window.addEventListener(`pointermove`,a),window.addEventListener(`pointerup`,o),window.addEventListener(`pointercancel`,o),r.current=s},[t,n])}};function wa({themeClassName:t,activeTab:a,flashTick:o,tabs:s,layout:c,panelRef:l,onSelectTab:u,onRequestClose:d,onPanelMove:f,children:p}){let{handleHeaderPointerDown:m}=Ca({layout:c,onPanelMove:f});if((0,e.useEffect)(()=>{let e=l.current;if(!e||o===0)return;e.classList.remove(`ssg-toolpanel--flash`),e.offsetWidth,e.classList.add(`ssg-toolpanel--flash`);let t=()=>{e.classList.remove(`ssg-toolpanel--flash`)};return e.addEventListener(`animationend`,t),()=>{e.removeEventListener(`animationend`,t)}},[o,l]),a===null||!c)return null;let h=Math.max(0,s.findIndex(e=>e.tab===a)),g={top:c.top,left:c.left,width:c.width},_=e=>{e.stopPropagation()},v=e=>{e.stopPropagation()},y={"--ssg-seg-count":s.length,"--ssg-seg-index":h};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:l,onPointerDown:_,onKeyDown:v,onContextMenu:e=>{e.preventDefault()},className:i(`ssg-popover`,`ssg-toolpanel`,t),style:g,children:[(0,n.jsxs)(`div`,{className:`ssg-toolpanel-header ssg-popover-header--draggable`,onPointerDown:m,children:[(0,n.jsxs)(`div`,{className:`ssg-toolpanel-seg`,role:`tablist`,style:y,children:[(0,n.jsx)(`span`,{className:`ssg-toolpanel-seg-indicator`,"aria-hidden":!0}),s.map(e=>{let t=e.tab===a;return(0,n.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":t,onClick:()=>{t||u(e.tab)},className:i(`ssg-toolpanel-seg-btn`,t&&`ssg-toolpanel-seg-btn--active`),children:[e.label,e.badge?(0,n.jsx)(`span`,{className:`ssg-toolpanel-seg-badge`,children:e.badge}):null]},e.tab)})]}),(0,n.jsx)(`button`,{type:`button`,onClick:d,"aria-label":`閉じる`,className:`ssg-popover-close`,children:`×`})]}),(0,n.jsx)(`div`,{className:`ssg-toolpanel-body`,children:p})]}),document.body)}var Ta=28,Ea=12,Da=[`left`,`center`,`right`],Oa={left:`左固定`,center:`固定なし`,right:`右固定`};function ka(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 Aa({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`,style:{stroke:`var(--ssg-panel-accent-contrast)`},strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`})}),e===`indeterminate`&&(0,n.jsx)(`span`,{className:`ssg-checkbox-dash`})]})}function ja({disabled:e}){return(0,n.jsx)(`svg`,{width:`10`,height:`16`,viewBox:`0 0 10 16`,style:{fill:e?`var(--ssg-panel-text-disabled)`:`var(--ssg-panel-text-faint)`},"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 Ma({items:t,canToggle:r,onToggleColumnVisibility:a,onShowAllColumns:o,onHideAllColumns:s,onResetColumns:c,onReorderColumns:l}){let[u,d]=(0,e.useState)(``),f=(0,e.useRef)(null);(0,e.useEffect)(()=>{let e=requestAnimationFrame(()=>{f.current?.focus()});return()=>cancelAnimationFrame(e)},[]);let p=(0,e.useMemo)(()=>t.filter(e=>e.visible).length,[t]),m=p===t.length&&t.length>0,h=m?`checked`:`indeterminate`,g=m?`すべての列を非表示(先頭の列は残ります)`:`すべての列を表示`,_=(0,e.useMemo)(()=>{let e=u.trim().toLowerCase();return e?t.filter(t=>t.title.toLowerCase().includes(e)):t},[t,u]),v=(0,e.useMemo)(()=>{let e={left:[],center:[],right:[]};for(let t of _)e[t.pane].push(t);return Da.map(t=>({pane:t,items:e[t]})).filter(e=>e.items.length>0)},[_]),y=v.length>=2,b=r&&u.trim()===``,x=(0,e.useRef)(null),[S,C]=(0,e.useState)(null),w=(0,e.useRef)(!1),T=(0,e.useRef)(null),[E,D]=(0,e.useState)(null),O=(0,e.useRef)(0),k=(0,e.useRef)(null),A=(0,e.useCallback)(()=>{let e=x.current,t=T.current;if(!e||!t)return;let n=e.querySelectorAll(`[data-chooser-row][data-chooser-pane="${t}"]`),r=O.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}}D(i)},[]),j=(0,e.useCallback)(function e(){let t=x.current;if(!t||!w.current){k.current=null;return}let n=t.getBoundingClientRect(),r=O.current,i=0;if(r<n.top+Ta?i=-12:r>n.bottom-Ta&&(i=Ea),i!==0){let e=t.scrollTop;t.scrollTop+=i,t.scrollTop!==e&&A()}k.current=requestAnimationFrame(e)},[A]),M=(0,e.useCallback)(e=>{k.current!==null&&(cancelAnimationFrame(k.current),k.current=null);let n=S,r=E;if(w.current=!1,T.current=null,C(null),D(null),e&&n!==null&&r!==null){let e=ka(t,n,r);e&&l(e)}},[S,E,t,l]),ee=(0,e.useCallback)((e,t,n)=>{b&&(n.preventDefault(),n.stopPropagation(),n.currentTarget.setPointerCapture(n.pointerId),w.current=!0,T.current=t,O.current=n.clientY,C(e),A(),k.current===null&&(k.current=requestAnimationFrame(j)))},[b,A,j]),N=(0,e.useCallback)(e=>{w.current&&(O.current=e.clientY,A())},[A]),P=(0,e.useCallback)(()=>{w.current&&M(!0)},[M]),F=(0,e.useCallback)(()=>{w.current&&M(!1)},[M]);(0,e.useEffect)(()=>()=>{k.current!==null&&(cancelAnimationFrame(k.current),k.current=null)},[]);let I=()=>{r&&(m?s():o())},te=S===null?null:t.find(e=>e.key===S)?.pane??null,ne=(e,t,o)=>{let s=e.visible&&p===1,c=!r||s,l=S===e.key;return(0,n.jsxs)(`div`,{"data-chooser-row":``,"data-chooser-pane":o,className:i(`ssg-chooser-row`,S!==null&&te===o&&E===t&&`ssg-chooser-row--drop-before`,l&&`ssg-chooser-row--dragging`),children:[(0,n.jsx)(`span`,{role:`button`,"aria-label":`ドラッグして並べ替え`,"data-ssg-tooltip":r?u.trim()===``?`ドラッグして並べ替え(同じセクション内のみ)`:`検索中は並べ替えできません`:`onColumnsChange 未指定のため並べ替えできません`,onPointerDown:t=>ee(e.key,o,t),onPointerMove:N,onPointerUp:P,onPointerCancel:F,className:i(`ssg-chooser-handle`,!b&&`ssg-chooser-handle--disabled`,l&&`ssg-chooser-handle--dragging`),children:(0,n.jsx)(ja,{disabled:!b})}),(0,n.jsxs)(`button`,{type:`button`,disabled:c,onClick:()=>{c||a(e.key,!e.visible)},className:`ssg-chooser-toggle`,children:[(0,n.jsx)(Aa,{state:e.visible?`checked`:`unchecked`,disabled:c}),(0,n.jsx)(`span`,{className:i(`ssg-chooser-label`,c&&!e.visible&&`ssg-chooser-label--muted`),children:e.title})]})]},e.key)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-chooser-search-row`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!r,onClick:I,"aria-label":g,"data-ssg-tooltip":g,className:`ssg-chooser-master-btn`,children:(0,n.jsx)(Aa,{state:h,disabled:!r})}),(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:f,type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:`検索...`,className:`ssg-chooser-search-input`})]})]}),(0,n.jsx)(`div`,{ref:x,className:`ssg-chooser-list`,children:_.length===0?(0,n.jsx)(`div`,{className:`ssg-chooser-empty`,children:`該当する列がありません`}):v.map(e=>(0,n.jsxs)(`div`,{"data-chooser-section":e.pane,children:[y&&(0,n.jsx)(`div`,{className:`ssg-chooser-section-heading`,children:Oa[e.pane]}),e.items.map((t,n)=>ne(t,n,e.pane)),S!==null&&te===e.pane&&E===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:!r,onClick:()=>{r&&c()},"data-ssg-tooltip":`すべての列の幅・固定・表示・並び順を初期状態に戻します`,className:`ssg-chooser-reset-btn`,children:`すべての列を初期状態に戻す`}),!r&&(0,n.jsx)(`div`,{className:`ssg-chooser-note`,children:`onColumnsChange 未指定のため表示/非表示・リセットを変更できません`})]})]})}function Na({disabled:e}){return(0,n.jsx)(`svg`,{width:`10`,height:`16`,viewBox:`0 0 10 16`,style:{fill:e?`var(--ssg-panel-text-disabled)`:`var(--ssg-panel-text-faint)`},"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 Pa({entries:t,columns:r,canSort:a,onAddLevel:o,onChangeDirection:s,onChangeColumn:c,onRemoveLevel:l,onClearAll:u,onMove:d}){let f=(0,e.useMemo)(()=>new Set(t.map(e=>e.columnKey)),[t]),p=(0,e.useMemo)(()=>r.find(e=>!f.has(e.key))??null,[r,f]),m=e=>r.find(t=>t.key===e)?.title??e,h=a&&t.length>=2,g=(0,e.useRef)(null),[_,v]=(0,e.useState)(null),y=(0,e.useRef)(!1),[b,x]=(0,e.useState)(null),S=(0,e.useRef)(0),C=(0,e.useCallback)(()=>{let e=g.current;if(!e)return;let t=e.querySelectorAll(`[data-sort-level]`),n=S.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}}x(r)},[]),w=(0,e.useCallback)(e=>{let t=_,n=b;if(y.current=!1,v(null),x(null),e&&t!==null&&n!==null){let e=n;e>t&&--e,d(t,e)}},[_,b,d]),T=(0,e.useCallback)((e,t)=>{h&&(t.preventDefault(),t.stopPropagation(),t.currentTarget.setPointerCapture(t.pointerId),y.current=!0,S.current=t.clientY,v(e),C())},[h,C]),E=(0,e.useCallback)(e=>{y.current&&(S.current=e.clientY,C())},[C]),D=(0,e.useCallback)(()=>{y.current&&w(!0)},[w]),O=(0,e.useCallback)(()=>{y.current&&w(!1)},[w]),k=a&&p!==null;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{ref:g,className:`ssg-sort-list`,children:[t.length===0?(0,n.jsx)(`div`,{className:`ssg-sort-empty`,children:`並び替えは設定されていません`}):t.map((e,o)=>{let u=r.filter(t=>t.key===e.columnKey||!f.has(t.key)),d=u.some(t=>t.key===e.columnKey)?u:[{key:e.columnKey,title:m(e.columnKey)},...u],p=_===o;return(0,n.jsxs)(`div`,{"data-sort-level":``,className:i(`ssg-sort-level`,_!==null&&b===o&&`ssg-sort-level--drop-before`,p&&`ssg-sort-level--dragging`),children:[(0,n.jsx)(`span`,{role:`button`,"aria-label":`ドラッグして優先順位を変更`,"data-ssg-tooltip":a?t.length<2?`レベルが 2 件以上のとき並べ替えできます`:`ドラッグして優先順位を変更`:`並び替えが無効です`,onPointerDown:e=>T(o,e),onPointerMove:E,onPointerUp:D,onPointerCancel:O,className:i(`ssg-sort-handle`,!h&&`ssg-sort-handle--disabled`,p&&`ssg-sort-handle--dragging`),children:(0,n.jsx)(Na,{disabled:!h})}),(0,n.jsx)(`span`,{"aria-hidden":!0,className:`ssg-sort-badge`,children:o+1}),(0,n.jsx)(`select`,{value:e.columnKey,disabled:!a,onChange:e=>c(o,e.target.value),className:`ssg-sort-select`,children:d.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:!a,onClick:()=>s(o,`asc`),"data-ssg-tooltip":`昇順`,className:i(`ssg-sort-dir-btn`,e.direction===`asc`&&`ssg-sort-dir-btn--active`),children:`↑ 昇順`}),(0,n.jsx)(`button`,{type:`button`,disabled:!a,onClick:()=>s(o,`desc`),"data-ssg-tooltip":`降順`,className:i(`ssg-sort-dir-btn`,e.direction===`desc`&&`ssg-sort-dir-btn--active`),children:`↓ 降順`})]}),(0,n.jsx)(`button`,{type:`button`,disabled:!a,onClick:()=>l(o),"aria-label":`このレベルを削除`,"data-ssg-tooltip":`このレベルを削除`,className:`ssg-sort-delete`,children:`×`})]},e.columnKey)}),_!==null&&b===t.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:!k,onClick:()=>{!k||!p||o(p.key,`asc`)},"data-ssg-tooltip":a?p===null?`すべての列が並び替えに使われています`:`並び替えの基準を追加します`:`並び替えが無効です`,className:`ssg-sort-footer-btn ssg-sort-footer-btn--add`,children:`+ 基準を追加`}),(0,n.jsx)(`button`,{type:`button`,disabled:!a||t.length===0,onClick:()=>{!a||t.length===0||u()},"data-ssg-tooltip":`すべての並び替えを解除します`,className:`ssg-sort-footer-btn ssg-sort-footer-btn--clear`,children:`すべてクリア`})]}),!a&&(0,n.jsx)(`div`,{className:`ssg-sort-note`,children:`並び替えが無効のため編集できません`})]})}function Fa(){return(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`})})}function Ia(){return(0,n.jsxs)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2.4`,"aria-hidden":`true`,focusable:`false`,children:[(0,n.jsx)(`circle`,{cx:`11`,cy:`11`,r:`7`}),(0,n.jsx)(`path`,{d:`m20 20-3.5-3.5`})]})}function La({entries:e,addableColumns:t,showGlobalFilterRow:r,globalFilterText:i,canFilter:a,onEditFilter:o,onAddFilter:s,onClearFilter:c,onClearAllFilters:l,onClearGlobalFilter:u}){let d=a&&e.length>0,f=a&&t.length>0;return(0,n.jsxs)(n.Fragment,{children:[r&&(0,n.jsxs)(`div`,{className:`ssg-filter-manage-row ssg-filter-manage-row--global`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-manage-glyph ssg-filter-manage-glyph--global`,"aria-hidden":`true`,children:(0,n.jsx)(Ia,{})}),(0,n.jsxs)(`span`,{className:`ssg-filter-manage-main`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-manage-name`,children:`グローバルフィルター`}),(0,n.jsxs)(`span`,{className:`ssg-filter-manage-summary`,"data-ssg-tooltip":i,children:[`"`,i,`" を含む行`]})]}),(0,n.jsx)(`span`,{className:`ssg-filter-manage-actions`,children:(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-manage-icon-btn ssg-filter-manage-icon-btn--danger`,disabled:!a,"data-ssg-tooltip":`グローバルフィルターをクリア`,"aria-label":`グローバルフィルターをクリア`,onClick:u,children:`×`})})]}),(0,n.jsx)(`div`,{className:`ssg-filter-manage-list`,children:e.length===0?(0,n.jsx)(`div`,{className:`ssg-filter-manage-empty`,children:`適用中の列フィルターはありません`}):e.map(e=>(0,n.jsxs)(`div`,{className:`ssg-filter-manage-row`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-manage-glyph`,"aria-hidden":`true`,children:(0,n.jsx)(Fa,{})}),(0,n.jsxs)(`span`,{className:`ssg-filter-manage-main`,children:[(0,n.jsxs)(`span`,{className:`ssg-filter-manage-name`,children:[e.title,e.isHidden&&(0,n.jsx)(`span`,{className:`ssg-filter-manage-hidden-note`,children:`(非表示列)`})]}),(0,n.jsx)(`span`,{className:`ssg-filter-manage-summary`,"data-ssg-tooltip":e.summaryText,children:e.summaryText})]}),(0,n.jsxs)(`span`,{className:`ssg-filter-manage-actions`,children:[(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-manage-icon-btn`,disabled:!a||e.isHidden,"data-ssg-tooltip":e.isHidden?`非表示列のためジャンプ編集できません(× でクリアは可能)`:`この列へジャンプして編集`,"aria-label":`${e.title} のフィルターを編集`,onClick:()=>{o(e.columnKey)},children:`✎`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-manage-icon-btn ssg-filter-manage-icon-btn--danger`,disabled:!a,"data-ssg-tooltip":`この列のフィルターをクリア`,"aria-label":`${e.title} のフィルターをクリア`,onClick:()=>{c(e.columnKey)},children:`×`})]})]},e.columnKey))}),(0,n.jsxs)(`div`,{className:`ssg-popover-footer`,children:[(0,n.jsxs)(`select`,{className:`ssg-filter-manage-add`,value:``,disabled:!f,"aria-label":`フィルターを追加する列を選択`,onChange:e=>{let t=e.target.value;t&&s(t)},children:[(0,n.jsx)(`option`,{value:``,children:f?`+ フィルターを追加…`:`+ 追加できる列がありません`}),t.map(e=>(0,n.jsx)(`option`,{value:e.key,children:e.title},e.key))]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-manage-clear-all`,disabled:!d,onClick:l,children:`すべてクリア`})]})]})}function Ra({entries:e,canFilter:t,onEditFilter:r,onClearFilter:i,onClearAllFilters:a}){return e.length===0?null:(0,n.jsxs)(`div`,{className:`ssg-filter-chip-bar`,children:[e.map(e=>(0,n.jsxs)(`div`,{className:e.isHidden?`ssg-filter-chip ssg-filter-chip--hidden`:`ssg-filter-chip`,children:[(0,n.jsxs)(`button`,{type:`button`,className:`ssg-filter-chip-label`,disabled:!t||e.isHidden,"data-ssg-tooltip":e.isHidden?`非表示列のためジャンプ編集できません(× でクリアは可能)`:`この列へジャンプして編集`,"aria-label":`${e.title} のフィルターを編集`,onClick:()=>{r(e.columnKey)},children:[(0,n.jsxs)(`span`,{className:`ssg-filter-chip-name`,children:[e.title,e.isHidden?`(非表示列)`:``]}),(0,n.jsx)(`span`,{className:`ssg-filter-chip-summary`,children:e.summaryText})]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-chip-clear`,disabled:!t,"data-ssg-tooltip":`この列のフィルターをクリア`,"aria-label":`${e.title} のフィルターをクリア`,onClick:()=>{i(e.columnKey)},children:`×`})]},e.columnKey)),(0,n.jsx)(`button`,{type:`button`,className:`ssg-filter-chip-bar-clear-all`,disabled:!t,onClick:a,children:`すべてクリア`})]})}var za=e=>{if(e===void 0||e===!1)return null;let t=e===!0?{}:e,n=t.bubble??!0,r=t.ruler??!0,i=t.scrollbar??!0;return!n&&!r&&!i?null:{bubble:n,ruler:r,scrollbar:i,trigger:t.trigger??`scroll`,minRows:t.minRows??0,hintColumn:t.hintColumn,renderHint:t.renderHint}},Ba=({scrollTop:e,contentHeight:t,viewportHeight:n,trackHeight:r=n})=>{let i=t-n;if(n<=0||r<=0||i<=0)return null;let a=Math.min(Math.max(r*n/t,30),r),o=Math.min(Math.max(e,0),i)/i*(r-a);return{maxScroll:i,thumbTop:o,thumbHeight:a,centerY:o+a/2}},Va=e=>{let t=Math.max(e,1),n=10**Math.floor(Math.log10(t)),r=n<10?[1,2,5,10]:[1,2,2.5,5,10];for(let e of r){let r=n*e;if(r>=t)return r}return n*10},Ha=(e,t=e>=1e4&&e%1e4==0)=>e!==0&&t?`${(e/1e4).toLocaleString()}万`:e.toLocaleString(),Ua=({rowCount:e,rulerHeight:t,minTickSpacingPx:n=44})=>{if(e<=0||t<=0)return[];let r=Va(e/Math.max(Math.floor(t/n),2)),i=r%1e4==0,a=[];for(let n=0;n<=e;n+=r)a.push({row:n,y:n/e*t,label:Ha(n,i)});return a},Wa=(e,t,n)=>{let r=n-t.thumbHeight;return r<=0?0:Math.min(Math.max((e-t.thumbHeight/2)/r,0),1)*t.maxScroll},Ga=(e,t)=>{if(e.renderHint!==void 0){let n=e.renderHint(t);return n==null||n===!1?null:n}if(e.hintColumn!==void 0&&t.rowData!==void 0){let n=t.rowData[e.hintColumn];return n==null||n===``?null:String(n)}return null},Ka=1e3,qa=8,Ja=18,Ya=28;function Xa({options:t,scrollContainerRef:r,scrollTop:a,viewportHeight:o,headerHeight:s,physicalBodyHeight:c,verticalScaleFactor:l,rowMetrics:u,rowModel:d}){let[f,p]=(0,e.useState)(!1),[m,h]=(0,e.useState)(!1),[g,_]=(0,e.useState)(0),[v,y]=(0,e.useState)(null),[b,x]=(0,e.useState)(!1),S=(0,e.useRef)(null),C=(0,e.useRef)(null),w=(0,e.useRef)(null),T=t.scrollbar?s:0,E=Math.max(t.scrollbar?o-s:o,0),D=Ba({scrollTop:a,contentHeight:s+c,viewportHeight:o,trackHeight:E}),O=D!==null&&u.rowCount>0;(0,e.useEffect)(()=>{let e=r.current;if(!e)return;let n=()=>{p(!0),S.current!==null&&window.clearTimeout(S.current),S.current=window.setTimeout(()=>{S.current=null,p(!1)},Ka)},i=()=>h(!0),a=()=>{h(!1),y(null)},o=t=>{let n=e.getBoundingClientRect(),r=t.clientX-n.left,i=e.offsetWidth-Math.max(e.offsetWidth-e.clientWidth,0)-Ja;y(r>=i?t.clientY-n.top:null)},s=new ResizeObserver(()=>{_(Math.max(e.offsetWidth-e.clientWidth,0))});return e.addEventListener(`scroll`,n,{passive:!0}),e.addEventListener(`pointerenter`,i),e.addEventListener(`pointerleave`,a),t.scrollbar||e.addEventListener(`pointermove`,o,{passive:!0}),s.observe(e),()=>{e.removeEventListener(`scroll`,n),e.removeEventListener(`pointerenter`,i),e.removeEventListener(`pointerleave`,a),e.removeEventListener(`pointermove`,o),s.disconnect(),S.current!==null&&(window.clearTimeout(S.current),S.current=null)}},[r,t.scrollbar]),(0,e.useEffect)(()=>{if(!t.scrollbar||!O)return;let e=w.current,n=r.current;if(!e||!n)return;let i=e=>{e.preventDefault(),n.scrollTop+=e.deltaY};return e.addEventListener(`wheel`,i,{passive:!1}),()=>{e.removeEventListener(`wheel`,i)}},[r,t.scrollbar,O]);let k=Math.max(o-s,0),A=(0,e.useMemo)(()=>t.ruler?Ua({rowCount:u.rowCount,rulerHeight:k}):[],[t.ruler,u.rowCount,k]);if(D===null||u.rowCount<=0)return null;let j=t.trigger===`always`||f||t.trigger===`hover`&&m,M=j||v!==null,ee=t.scrollbar?14:g,N=yn(Math.min(Math.max(a,0),D.maxScroll),l),P=u.rowAtContentY(N),F=Ga(t,{rowIndex:P,rowData:d.getRow(P)}),I=null;if(t.ruler&&v!==null&&!b){let e=Wa(v,D,E),n=u.rowAtContentY(yn(e,l));I={lineY:Math.min(Math.max(T+v,s),o),rowIndex:n,detail:Ga(t,{rowIndex:n,rowData:d.getRow(n)})}}let te=e=>{let t=w.current;return t===null?0:e.clientY-t.getBoundingClientRect().top},ne=(e,t)=>{let n=r.current;if(n===null)return;let i=E-D.thumbHeight;i<=0||(n.scrollTop=Math.min(Math.max((e-t)/i,0),1)*D.maxScroll)};return(0,n.jsxs)(`div`,{className:`ssg-scroll-hint`,"aria-hidden":`true`,children:[t.ruler&&A.length>0&&(0,n.jsx)(`div`,{className:i(`ssg-scroll-hint-ruler`,M&&`ssg-scroll-hint-ruler--visible`),style:{top:s,right:ee},children:A.map(e=>(0,n.jsx)(`div`,{className:`ssg-scroll-hint-ruler-tick`,style:{top:Math.min(Math.max(e.y,6),Math.max(k-6,6))},children:(0,n.jsx)(`span`,{className:`ssg-scroll-hint-ruler-label`,children:e.label})},e.row))}),I!==null&&(0,n.jsx)(`div`,{className:`ssg-scroll-hint-jumpline`,style:{top:I.lineY,right:ee},children:(0,n.jsxs)(`span`,{className:i(`ssg-scroll-hint-jumpline-label`,I.lineY<s+Ya&&`ssg-scroll-hint-jumpline-label--below`),children:[`行 `,(I.rowIndex+1).toLocaleString(),` へ`,I.detail!==null&&(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-jumpline-detail`,children:[` `,`・ `,I.detail]})]})}),t.bubble&&(0,n.jsxs)(`div`,{className:i(`ssg-scroll-hint-bubble`,j&&`ssg-scroll-hint-bubble--visible`),style:{top:T+D.centerY,right:ee+qa},children:[(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-bubble-main`,children:[`行 `,(P+1).toLocaleString(),(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-bubble-total`,children:[` `,`/ `,u.rowCount.toLocaleString()]})]}),F!==null&&(0,n.jsx)(`span`,{className:`ssg-scroll-hint-bubble-detail`,children:F})]}),t.scrollbar&&(0,n.jsx)(`div`,{ref:w,className:i(`ssg-scroll-hint-scrollbar`,b&&`ssg-scroll-hint-scrollbar--dragging`),style:{top:s,height:E,width:14},onPointerDown:e=>{e.preventDefault();let t=te(e),n=t>=D.thumbTop&&t<=D.thumbTop+D.thumbHeight?t-D.thumbTop:D.thumbHeight/2;C.current=n,x(!0),y(null),w.current?.setPointerCapture(e.pointerId),ne(t,n)},onPointerMove:e=>{let t=te(e);if(C.current!==null){ne(t,C.current);return}y(t)},onPointerUp:e=>{C.current=null,x(!1),w.current?.releasePointerCapture(e.pointerId)},onPointerEnter:()=>h(!0),onPointerLeave:()=>{h(!1),C.current===null&&y(null)},children:(0,n.jsx)(`div`,{className:`ssg-scroll-hint-scrollbar-thumb`,style:{top:D.thumbTop,height:D.thumbHeight}})})]})}var Za=(e,t)=>e.findIndex(e=>e.key===t),Qa=(e,t,n)=>{if(!e)return!1;if(e.type===`row`)return t>=e.startRow&&t<=e.endRow;if(e.type===`col`)return n>=e.startCol&&n<=e.endCol;let{start:r,end:i}=e.range,a=Math.min(r.row,i.row),o=Math.max(r.row,i.row),s=Math.min(r.col,i.col),c=Math.max(r.col,i.col);return t>=a&&t<=o&&n>=s&&n<=c},$a=(e,t)=>{if(!e)return!1;if(e.type===`row`)return t>=e.startRow&&t<=e.endRow;if(e.type===`cell`){let{start:n,end:r}=e.range,i=Math.min(n.row,r.row),a=Math.max(n.row,r.row);return t>=i&&t<=a}return!1},eo=220,to=8,no=34,ro=16,io=({gridRootRef:t})=>{let[n,r]=(0,e.useState)(null),[i,a]=(0,e.useState)(null),o=(0,e.useRef)(null),s=(0,e.useRef)(null),c=(0,e.useRef)(0),l=n!==null,u=(0,e.useCallback)(()=>{let e=s.current;if(!e){a(null);return}let t=c.current*no+ro,n=e.x,r=e.y,i=e.y-t;n=Math.max(to,n),n=Math.min(n,window.innerWidth-eo-to),r+t>window.innerHeight-to&&(r=i),r=Math.max(to,r),a(e=>e&&e.top===r&&e.left===n&&e.width===eo?e:{top:r,left:n,width:eo})},[]),d=(0,e.useCallback)(()=>{r(null),a(null),s.current=null,c.current=0,requestAnimationFrame(()=>{t.current?.focus()})},[t]),f=(0,e.useCallback)((e,n)=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur(),t.current?.blur(),s.current={x:e.clientX,y:e.clientY},c.current=n.length,r({params:e,items:n}),u()},[t,u]);return(0,e.useEffect)(()=>{if(!l)return;u();let e=()=>{u()},t=()=>{d()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,t,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,t,!0)}},[l,u,d]),(0,e.useEffect)(()=>{if(!l)return;let e=e=>{let t=e.target;t&&(o.current?.contains(t)||d())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[l,d]),(0,e.useEffect)(()=>{if(!l)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),d())};return window.addEventListener(`keydown`,e,!0),()=>{window.removeEventListener(`keydown`,e,!0)}},[l,d]),{contextMenuState:n,contextMenuLayout:i,contextMenuRef:o,isContextMenuOpen:l,openContextMenu:f,closeContextMenu:d}};function ao({isOpen:e,themeClassName:t,items:a,layout:o,popoverRef:s,onRequestClose:c}){if(!e||!o)return null;let l={position:`fixed`,top:o.top,left:o.left,width:o.width,zIndex:1e3};return(0,r.createPortal)((0,n.jsx)(`div`,{ref:s,role:`menu`,onPointerDown:e=>{e.stopPropagation()},onKeyDown:e=>{e.stopPropagation()},onContextMenu:e=>{e.preventDefault()},className:i(`ssg-menu-panel`,t),style:l,children:a.map((e,t)=>e.kind===`separator`?(0,n.jsx)(`div`,{className:`ssg-menu-separator`},e.id??`sep-${t}`):e.kind===`label`?(0,n.jsx)(`div`,{className:`ssg-menu-section-label`,role:`presentation`,children:e.label},e.id??`label-${t}`):e.kind===`custom`?(0,n.jsx)(`div`,{role:`none`,children:e.render({close:c})},e.id??`custom-${t}`):(0,n.jsxs)(`button`,{type:`button`,role:`menuitem`,disabled:e.disabled,onClick:()=>{e.onSelect(),c()},className:i(`ssg-menu-item`,e.danger&&`ssg-menu-item--danger`,e.disabled&&`ssg-menu-item--disabled`),children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`,children:e.icon}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:e.label})]},e.id??`action-${t}`))}),document.body)}var oo=(e,t)=>{let n=new Set(e);return n.add(t),n},so=(e,t)=>{let n=new Set(e);return n.delete(t),n},co=(e,t)=>{let n=new Set(e);for(let e of t)n.add(e);return n},lo=(e,t)=>{let n=new Set(e);for(let e of t)n.delete(e);return n},uo=[],fo={},po={},mo=[],ho={compact:{rowHeight:28,headerHeight:32},standard:{rowHeight:36,headerHeight:40},comfortable:{rowHeight:44,headerHeight:48}},go={},_o=[],vo=300,yo=4,bo=300;function xo({rows:r=uo,dataSource:o,serverSideRefreshToken:d,onServerSideLoadError:p,onServerSideWriteError:m,columns:g,onRowsChange:_,onColumnsChange:v,rowKeyGetter:y,createRow:b,createOverflowColumn:T,rowHeight:D,autoHeight:ne=!1,estimateRowHeight:re,headerHeight:ie,density:ue=`standard`,theme:me=`light`,rowHeaderWidth:he=56,height:ge,maxHeight:_e,readOnly:ve=!1,dimReadOnlyCells:ye=!1,canEditCell:be,enableUndoRedo:xe=!0,enableClearOnDelete:Se=!0,undoHistoryLimit:Ce=100,onUndoRedoStateChange:we,enableRangeSelection:Te=!0,enableRowSelection:Ee=!1,rowSelectionMode:De=`multiple`,enableSelectAllRows:Oe,rowSelection:Ae,selectedRowKeys:je,onRowSelectionChange:Pe,enableGlobalFilter:Fe=!0,enableColumnFilter:Ie=!0,enableSorting:Le=!0,enableColumnResize:Re=!0,autoSizeColumns:ze=!1,showCellOverflowTooltip:Be=!1,showValidationMarks:Ke=!0,enableRowHover:Xe=!0,enableColumnHeaderHover:Ze=!0,enableColumnMenu:Qe=!0,noMatchingRowsText:et=`一致する行がありません`,noRowsText:tt=`表示する行がありません`,showTopBar:nt=!0,showBottomBar:rt=!0,showTopBarSummary:it=!0,showTopBarFilter:ot=!0,globalFilterPlaceholder:st,globalFilterIcon:ct,showTopBarCounts:dt=!0,showBottomBarCounts:ft=!0,showFilterChipBar:pt=!1,renderTopBar:mt,renderBottomBar:ht,className:gt,classNames:R,getRowClassName:yt,enableContextMenu:bt=!1,getContextMenuItems:xt,onContextMenuOpen:St,scrollHint:Ct,ref:wt,onStateChange:Tt}){let Et=D??ho[ue].rowHeight,z=ie??ho[ue].headerHeight,Dt=(0,e.useMemo)(()=>za(Ct),[Ct]),Ot=(0,e.useRef)(null),kt=(0,e.useRef)(null),Mt=(0,e.useRef)(null),Nt=(0,e.useRef)(null),Pt=(0,e.useRef)(!1),Ft=(0,e.useRef)(null),It=(0,e.useRef)(null),Lt=(0,e.useRef)(null),[zt,Bt]=(0,e.useState)(``),[Ht,Ut]=(0,e.useState)(!1),[Zt,Qt]=(0,e.useState)(null),[$t,en]=(0,e.useState)(null),{groupColumns:tn,aggColumns:nn}=(0,e.useMemo)(()=>un(g),[g]),rn=o==null&&tn.length>0,ln=(0,e.useMemo)(()=>rn?[{key:an,title:tn.map(e=>e.title||e.key).join(` › `),width:240,minWidth:120,readOnly:!0,suppressAutoSize:!0},...g.filter(e=>e.rowGroup!==!0)]:g,[rn,g,tn]),B=(0,e.useMemo)(()=>ln.filter(e=>e.visible!==!1),[ln]),V=(0,e.useMemo)(()=>l(B),[B]),Cn=(0,e.useMemo)(()=>y??((e,t)=>t),[y]),H=o!=null,wn=Le,Tn=Ie,On=Fe,[U,W]=(0,e.useReducer)(oe,B,ae),kn=(0,e.useRef)(U.columnWidths),An=(0,e.useRef)(null),jn=(0,e.useRef)(null);jn.current===null&&(jn.current=new Map(g.map(e=>[e.key,{width:e.width,pinned:e.pinned,visible:e.visible}])));let Mn=(0,e.useMemo)(()=>de(U.selection),[U.selection]),G=(0,e.useMemo)(()=>u(V),[V]),[Nn,Pn]=(0,e.useState)(0),Fn=G.left.reduce((e,{column:t})=>e+(U.columnWidths[t.key]??t.width),0),In=G.right.reduce((e,{column:t})=>e+(U.columnWidths[t.key]??t.width),0),Ln=G.left.length>0,Rn=Ln?he+Fn:0,zn=Ln?0:he,Bn=(0,e.useMemo)(()=>G.center.map(({column:e})=>e),[G.center]),Vn=(0,e.useMemo)(()=>Bn.some(w),[Bn]),Hn=Nn-Rn-In-zn,Un=(0,e.useMemo)(()=>!Vn||Nn<=0?go:E(Bn,U.columnWidths,Hn),[Vn,Nn,Bn,U.columnWidths,Hn]),Wn=(0,e.useMemo)(()=>Un===go?U.columnWidths:{...Un,...U.columnWidths},[Un,U.columnWidths]);kn.current=Wn;let Kn=f(G.left,U.columnWidths),qn=f(G.center,Wn),Jn=f(G.right,U.columnWidths),Yn=(0,e.useMemo)(()=>h(`left`,G.left,Kn),[G.left,Kn]),Zn=(0,e.useMemo)(()=>h(`center`,G.center,qn),[G.center,qn]),Qn=(0,e.useMemo)(()=>h(`right`,G.right,Jn),[G.right,Jn]),K=(0,e.useMemo)(()=>({left:Yn,center:Zn,right:Qn}),[Yn,Zn,Qn]),$n=K.left.entries.length>0,er=K.right.entries.length>0,tr=!$n,nr=he,rr=tr?he:0,ir=$n?nr+K.left.totalWidth:0,ar=K.right.totalWidth,or=rr+K.center.totalWidth,sr=ir+or+ar,{filterPopoverState:q,filterPopoverLayout:lr,filterPopoverRef:dr,filterTextInputRef:gr,filterSelectRef:_r,isFilterPopoverOpen:xr,openedFilterColumn:Sr,openColumnFilterPopover:Cr,closeColumnFilterPopover:Or,updateFilterPopoverDraft:kr}=at({visibleColumns:B,columnFilterValues:U.filters.columnFilters,enableColumnFilter:Tn,gridRootRef:Ot}),{columnMenuLayout:Ar,columnMenuRef:jr,isColumnMenuOpen:Mr,openedMenuColumnKey:Nr,openedMenuColumn:Br,openColumnMenuFromButton:Hr,openColumnMenuFromContextMenu:Ur,closeColumnMenu:J}=da({visibleColumns:B,enableColumnMenu:Qe,gridRootRef:Ot}),{activeToolPanelTab:Wr,availableToolPanelTabs:Gr,toolPanelLayout:Kr,toolPanelFlashTick:qr,toolPanelRef:Jr,openToolPanel:Yr,closeToolPanel:Xr,moveToolPanel:Zr}=Sa({canUseFilterTab:Tn,canUseColumnsTab:Qe,canUseSortTab:wn,gridRootRef:Ot,alliedRef:dr,suppressEscape:xr,onSuppressedEscape:Or}),{contextMenuState:Qr,contextMenuLayout:$r,contextMenuRef:ei,isContextMenuOpen:ti,openContextMenu:ni,closeContextMenu:ri}=io({gridRootRef:Ot});(0,e.useEffect)(()=>{let e=B.reduce((e,t)=>(w(t)||(e[t.key]=t.width),e),{});W(a.resetColumnWidths(e))},[B]);let ii=U.filters.globalText,ai=U.filters.columnFilters,oi=(0,e.useDeferredValue)(ai),{order:si,status:ci,progress:li}=Ti({rows:r,baseOrder:(0,e.useMemo)(()=>Ue(r.length),[r.length]),columns:B,globalText:ii,enabled:On}),ui=(0,e.useMemo)(()=>{let e=[];for(let t of B)qe(oi[t.key])&&e.push(t.key);return e.join(`\0`)},[B,oi]),fi=(0,e.useMemo)(()=>{let e=new Map;if(ui.length===0)return e;let t=new Set(ui.split(`\0`)),n=r.length;for(let i of B){if(!t.has(i.key))continue;let a=new Float64Array(n);for(let e=0;e<n;e+=1)a[e]=Number(L(r[e],i));e.set(i.key,a)}return e},[r,B,ui]),pi=(0,e.useMemo)(()=>$e(r,si,B,oi,fi),[r,si,B,oi,fi]),mi=(0,e.useMemo)(()=>Xt(r,pi,B,U.sort),[r,pi,B,U.sort]);(0,e.useEffect)(()=>{},[H,tn.length]);let hi=(0,e.useMemo)(()=>rn?dn(r,mi,tn,nn):null,[rn,r,mi,tn,nn]),gi=(0,e.useMemo)(()=>hi?fn(hi,U.collapsedGroupKeys):null,[hi,U.collapsedGroupKeys]),_i=(0,e.useCallback)(e=>{W(a.toggleGroupCollapsed(e))},[W]),vi=(0,e.useMemo)(()=>{if(gi){let{displayOrder:e,groups:t}=gi;return{getRowCount:()=>e.length,getRow:t=>r[e[t]],getSourceIndex:t=>{let n=e[t];return n>=0?n:void 0},getRowKey:n=>{let i=e[n];return sn(i)?on(t[cn(i)]):Cn(r[i],i)},getGroupRow:n=>{let r=e[n];return sn(r)?t[cn(r)]:void 0}}}return{getRowCount:()=>mi.length,getRow:e=>r[mi[e]],getSourceIndex:e=>mi[e],getRowKey:e=>Cn(r[mi[e]],mi[e])}},[gi,mi,r,Cn]),yi=(0,e.useMemo)(()=>H?Ni({globalText:On?ii:``,columnFilters:Tn?ai:po,sort:wn?U.sort:mo}):fo,[H,On,ii,Tn,ai,wn,U.sort]),bi=(0,e.useMemo)(()=>H?Pi(yi):``,[H,yi]),[xi,Ci]=(0,e.useState)(yi),[wi,Ei]=(0,e.useState)(bi);(0,e.useEffect)(()=>{if(!H)return;let e=setTimeout(()=>{Ci(yi),Ei(bi)},bo);return()=>clearTimeout(e)},[H,bi,yi]);let Y=Mi({dataSource:o,rowKeyGetter:Cn,query:xi,queryKey:wi,refreshToken:d,onLoadError:p,onWriteError:m}),[Di,Oi]=(0,e.useState)(null),[ki,Ai]=(0,e.useState)(null),ji=Y.requestRange,X=H?Y.rowModel:vi,Fi=(0,e.useMemo)(()=>H&&!Y.canUpdateRows?()=>!1:be,[H,Y.canUpdateRows,be]),Ii=H&&Y.canUpdateRows?Y.applyCellEdits:void 0,Ri=(0,e.useRef)(X);Ri.current=X;let zi=(0,e.useCallback)(e=>{if(!bt||!xt)return;let t=e.target;if(!t)return;let n=t.closest(`[data-row-index]`);if(!n)return;let r=n.dataset.rowIndex;if(r===void 0)return;let i=Number(r);if(!Number.isInteger(i))return;let a=X.getRow(i);if(!a)return;let o=X.getRowKey(i)??i,s,c,l=t.closest(`[data-ssg-col-key]`),u=l?.dataset.ssgColKey;if(l&&u!==void 0){let e=Za(V,u);if(e<0)return;let t=V[e];s={type:`cell`,rowIndex:i,colIndex:e,rowKey:o,row:a,column:t,value:L(a,t)},c=Qa(U.selection,i,e)}else s={type:`rowHeader`,rowIndex:i,rowKey:o,row:a},c=$a(U.selection,i);let d={target:s,clientX:e.clientX,clientY:e.clientY,selection:U.selection,activeCell:U.activeCell,isTargetSelected:c},f=xt(d);!f||f.length===0||(e.preventDefault(),St?.(d),ni(d,f))},[bt,xt,St,X,V,U.selection,U.activeCell,ni]),{isAutosizing:Vi,runAutosize:Hi}=di({rowModelRef:Ri,gridRootRef:Ot,columnWidthsRef:kn,dispatch:W}),Gi=(0,e.useRef)(B);Gi.current=B;let Ki=(0,e.useRef)(!1);(0,e.useEffect)(()=>{let{shouldRun:e,nextHasAutoSizedOnMount:t}=mr({mode:ze,isServerSide:H,rowCount:r.length,hasAutoSizedOnMount:Ki.current});Ki.current=t,e&&Hi(Gi.current)},[ze,r,H,Hi]);let Z=X.getRowCount(),Ji=gi?mi.length:Z,Yi=Dt!==null&&Z>=Dt.minRows?Dt:null,Xi=(0,e.useMemo)(()=>{let e=null;return()=>e??=Array.from(mi,e=>r[e])},[mi,r]),Zi=(0,e.useMemo)(()=>s(B,Wn),[B,Wn]),[Qi,$i]=(0,e.useState)(0),[ea,ta]=(0,e.useState)(0);(0,e.useEffect)(()=>{let e=Ft.current;if(!e)return;$i(e.scrollTop),ta(e.clientHeight),Pn(e.clientWidth);let t=()=>$i(e.scrollTop);e.addEventListener(`scroll`,t,{passive:!0});let n=new ResizeObserver(()=>{ta(e.clientHeight),Pn(e.clientWidth)});return n.observe(e),()=>{e.removeEventListener(`scroll`,t),n.disconnect()}},[]);let na=K.center.entries,ia=(0,t.useVirtualizer)({horizontal:!0,count:na.length,getScrollElement:()=>Ft.current,estimateSize:e=>na[e]?.paneLocalSize??na[e]?.column.width??120,overscan:8,useFlushSync:!1,scrollMargin:ir}),aa=ia.getVirtualItems(),sa=re??Et,ca=(0,e.useMemo)(()=>B.some(e=>e.autoHeight===!0),[B]),la=!H&&gn(ne,ca,Z,5e4);(0,e.useEffect)(()=>{},[ne,ca,Z,H]);let ua=(0,e.useRef)(new Map),[fa,pa]=(0,e.useState)(0),[ma,ha]=(0,e.useState)(0),ga=(0,e.useRef)(null),va=(0,e.useRef)(new Set),ya=(0,e.useMemo)(()=>la?Rr(Z,sa,X.getRowKey,ua.current):null,[la,Z,sa,X]),Q=(0,e.useMemo)(()=>la&&ya?Vr(ya):_n(Z,Et),[la,ya,fa,Z,Et]),ba=(0,e.useMemo)(()=>la?Sn({headerHeight:z,viewportHeight:ea,scrollTop:Qi,overscan:20},Q):xn({rowCount:Z,rowHeight:Et,headerHeight:z,viewportHeight:ea,scrollTop:Qi,overscan:20,maxBodyPx:hn}),[la,Q,Z,Et,z,ea,Qi]),xa=ba.rows,Ca=ba.rowIndexSet,Ta=xa.length>0?xa[0].index:0,Ea=xa.length>0?xa[xa.length-1].index:-1;(0,e.useEffect)(()=>{if(!H)return;let e=Ft.current;e&&(e.scrollTop=0),$i(0)},[H,wi]),(0,e.useEffect)(()=>{H&&(Ea<Ta||ji(Ta,Ea+1))},[H,Ta,Ea,ji,wi]);let Da=ba.physicalBodyHeight,Oa=ba.translateY===0?void 0:`translateY(${ba.translateY}px)`,ka=ba.scaleFactor,Aa=ba.windowBaseOffsetPx;(0,e.useLayoutEffect)(()=>{if(!la||!ya){ga.current?.disconnect(),ga.current=null,va.current.clear();return}let e=Ft.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)=>{let n=X.getRowKey(t)??t;zr(ya,t,n,e)&&(r=!0,t<i&&(i=t))}),r){let t=e.scrollTop,n=Q.rowAtContentY(t),r=t-Q.rowTop(n);Lr(ya,i),e.scrollTop=ya.prefix[n]+r,pa(e=>e+1)}}let n=ga.current??new ResizeObserver(()=>ha(e=>e+1));ga.current=n;let r=va.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)})},[la,ya,Q,X,xa,ea,fa,ma]),(0,e.useEffect)(()=>{let e=va.current;return()=>{ga.current?.disconnect(),ga.current=null,e.clear()}},[]);let ja=(0,e.useMemo)(()=>aa.map(e=>na[e.index]).filter(e=>!!e),[aa,na]),Na=K.left.entries,Fa=K.right.entries,Ia=(0,e.useMemo)(()=>{if(!U.activeCell)return null;let{row:e,col:t}=U.activeCell;if(e<0||e>=Z)return null;let n=C(K,t);return n?{pane:n.pane,rect:{left:n.extent.start,top:Q.rowTop(e),width:n.extent.width,height:Q.rowsHeight(e,e)}}:null},[U.activeCell,Z,K,Q]),Ba=(0,e.useMemo)(()=>Ia&&Ia.pane===`center`?Ia.rect:null,[Ia]),Va=(0,e.useCallback)(e=>Ia&&Ia.pane===e?Ia.rect:null,[Ia]),Ha=(0,e.useCallback)(e=>U.editingCell?Va(e):null,[U.editingCell,Va]),Ua=Xn(me)===`dark`?`ssg-theme-dark`:void 0;Gn(),Dn({scrollRef:Ft,columnVirtualizer:ia,columnMeasurements:Zi,totalScrollWidth:sr,physicalBodyHeight:Da,headerHeight:z,leftPaneWidth:ir,rightPaneWidth:ar,centerLeadingWidth:rr,activeCellRect:Ba,activeCell:U.activeCell,verticalScaleFactor:ka});let Wa=(0,e.useMemo)(()=>{if(Ae!==void 0)return Ae;if(je!==void 0)return{type:`include`,rowKeys:je}},[Ae,je]),Ga=Wa!==void 0,Ka=Oe??(Ee&&De===`multiple`),qa=U.rowSelection,Ja=P(qa,Ji),Ya=(0,e.useRef)(qa);Ya.current=qa;let eo=(0,e.useRef)(De);eo.current=De;let to=(0,e.useRef)(Pe);to.current=Pe;let no=(0,e.useRef)(Ga);no.current=Ga;let ro=(0,e.useRef)(null),xo=(0,e.useCallback)(e=>{te(Ya.current,e)||to.current?.(F(e)),no.current||W(a.setRowSelectionState(e))},[W]),So=(0,e.useRef)(xo);So.current=xo;let Co=(0,e.useCallback)((e,t)=>{let n=Ri.current,r=Math.min(e,t),i=Math.max(e,t),a=[];for(let e=r;e<=i;e+=1)n.getRow(e)&&a.push(n.getRowKey(e)??e);return a},[]),wo=(0,e.useCallback)((e,t)=>{let n=Ri.current;if(!n.getRow(e))return;let r=n.getRowKey(e)??e;if(eo.current===`single`){ro.current=e,xo(A(r));return}if(t.shiftKey&&ro.current!==null){xo(j(Co(ro.current,e)));return}ro.current=e,xo(k(Ya.current,r))},[xo,Co]),To=(0,e.useCallback)(e=>{let t=Ri.current;if(t.getRow(e)){if(eo.current===`single`){xo(A(t.getRowKey(e)??e));return}ro.current!==null&&xo(j(Co(ro.current,e)))}},[xo,Co]),Eo=(0,e.useCallback)(()=>{let e=P(Ya.current,Ji);xo(e===`all`?ee():M())},[xo,Ji]);(0,e.useEffect)(()=>{if(!Ga||!Wa)return;let e=I(Wa);te(Ya.current,e)||W(a.setRowSelectionState(e))},[Ga,Wa,W]);let{updateSelectionFromPointer:Do,handleCellPointerDown:Oo,handleCellPointerEnter:ko,handleNativeDragStart:Ao,handleRowHeaderPointerDown:jo,handleRowHeaderPointerEnter:Mo,handleColumnHeaderPointerDown:No,handleColumnHeaderPointerEnter:Po}=En({gridRootRef:Ot,bodyScrollRef:Nt,scrollContainerRef:Ft,leftPaneScrollRef:It,rightPaneScrollRef:Lt,pointerClientRef:kt,autoScrollFrameRef:Mt,uiState:U,dispatch:W,enableRangeSelection:Te,enableSorting:wn,orderedColumns:V,filteredRowsLength:Z,visibleColumnsLength:B.length,paneLayout:K,leftLeadingWidth:nr,centerLeadingWidth:rr,rightLeadingWidth:0,headerHeight:z,rowMetrics:Q,verticalScaleFactor:ka,setHoveredRowIndex:Qt,setHoveredColumnIndex:en,enableRowHover:Xe,enableColumnHeaderHover:Ze,enableRowSelection:Ee,onGutterRowSelect:wo,onGutterRowSelectDrag:To}),Fo=(0,e.useRef)(()=>{}),Io=(0,e.useCallback)(e=>{e&&requestAnimationFrame(()=>{Fo.current(e.row,e.col,`auto`)})},[]),Lo=xe&&!ve&&!H,{handleRowsChange:Ro,undo:zo,redo:Bo,canUndo:Vo,canRedo:Ho,clearHistory:Uo}=Rt({rows:r,selection:U.selection,activeCell:U.activeCell,onRowsChange:_,dispatch:W,enabled:Lo,limit:Ce,onUndoRedoStateChange:we,onAfterRestore:Io}),Wo=(0,e.useCallback)(()=>{if(Ii){let e=pr({getRow:e=>X.getRow(e),columns:V,selection:U.selection,activeCell:U.activeCell,viewRowCount:Z,canWriteCell:(e,t,n,r)=>ke({readOnly:ve,canEditCell:Fi},e,t,n,r)});e.length>0&&Ii(e);return}if(!Ro)return;let{nextRows:e,changed:t}=fr({rows:r,resolveSourceIndex:e=>X.getSourceIndex(e),columns:V,selection:U.selection,activeCell:U.activeCell,viewRowCount:Z,canWriteCell:(e,t,n,r)=>ke({readOnly:ve,canEditCell:Fi},e,t,n,r)});t&&Ro(e)},[Ii,Fi,Ro,V,ve,X,r,U.activeCell,U.selection,Z]),{isWholeGridSelected:Go,handleCopy:Ko,handlePaste:qo}=_t({rows:r,rowModel:X,visibleColumns:V,uiState:U,readOnly:ve,canEditCell:Fi,createRow:b,createOverflowColumn:T,onRowsChange:Ro,onColumnsChange:v,applyServerSideCellEdits:Ii,dispatch:W}),Jo=(0,e.useCallback)(()=>{if(Z===0||B.length===0)return;let e={row:0,col:0},t={row:Z-1,col:B.length-1};W(a.startSelection(e)),W(a.updateSelection(t)),W(a.endSelection()),W(a.activateCell(e))},[W,Z,B.length]),Yo=(0,e.useCallback)(e=>{let t=X.getRow(e.row),n=V[e.col];if(!t||!n||!ke({readOnly:ve,canEditCell:Fi},e.row,e.col,t,n)||n.editor?.type===`checkbox`)return;let r=L(t,n);Bt(String(r??``)),W(a.startEdit(e))},[Fi,W,X,ve,V]),Xo=(0,e.useCallback)(e=>{if(!Ro&&!Ii)return;let t=X.getRow(e.row),n=V[e.col];if(!t||!n||n.editor?.type!==`checkbox`||!ke({readOnly:ve,canEditCell:Fi},e.row,e.col,t,n))return;let i=Ne(L(t,n),n.editor);if(lt(n,t,i).action===`reject`)return;if(Ii){Ii([{viewIndex:e.row,column:n,value:i}]);return}if(!Ro)return;let a=X.getSourceIndex(e.row);a!==void 0&&Ro(Ve(r,a,n,i))},[Ii,Fi,Ro,V,ve,X,r]),{getMovedCell:Zo,handleKeyDown:Qo}=Vt({uiState:U,rowModel:X,visibleColumns:V,readOnly:ve,canEditCell:Fi,setEditorInitialValue:Bt,dispatch:W,handleCopy:Ko,handleCellDoubleClick:Yo,isWholeGridSelected:Go,selectEntireGrid:Jo,onUndo:zo,onRedo:Bo,onClearSelection:Wo,enableClearOnDelete:Se,onToggleCheckboxCell:Xo,onToggleGroup:_i}),{startEditWithValue:$o,commitEdit:es,cancelEdit:ts}=jt({uiState:U,rows:r,visibleColumns:V,rowModel:X,setEditorInitialValue:Bt,onRowsChange:Ro,applyServerSideCellEdits:Ii,dispatch:W,getMovedCell:Zo,gridRootRef:Ot,editorActionGuardRef:Pt}),ns=U.editingCell?V[U.editingCell.col]:void 0,rs=U.editingCell?X.getRow(U.editingCell.row):void 0,is=U.editingCell&&ns&&rs?{row:rs,rowIndex:U.editingCell.row,sourceRowIndex:X.getSourceIndex(U.editingCell.row)??U.editingCell.row,rowKey:X.getRowKey(U.editingCell.row)??U.editingCell.row,colIndex:U.editingCell.col,column:ns,value:L(rs,ns)}:null,as=(0,e.useCallback)(e=>{let t=X.getRow(e.row),n=V[e.col];if(!t||!n||!ke({readOnly:ve,canEditCell:Fi},e.row,e.col,t,n)||n.editor?.type===`checkbox`)return;let r=L(t,n);$o(e,String(r??``))},[Fi,X,ve,$o,V]),os=(0,e.useMemo)(()=>{if(!U.selection)return null;if(U.selection.type===`cell`){let e=se(U.selection.range);return{extents:x(K,e.start.col,e.end.col),startRow:e.start.row,endRow:e.end.row}}if(U.selection.type===`row`){let e=ce(U.selection.startRow,U.selection.endRow);return{extents:S(K),startRow:e.startRow,endRow:e.endRow}}let e=le(U.selection.startCol,U.selection.endCol);return{extents:x(K,e.startCol,e.endCol),startRow:0,endRow:Math.max(Z-1,0)}},[U.selection,K,Z]),ss=(0,e.useMemo)(()=>{if(!os)return null;let e=vn(os.startRow,os.endRow,Ta,Ea);return e?{top:Q.rowTop(e.start),height:Q.rowsHeight(e.start,e.end)}:null},[os,Q,Ta,Ea]),cs=(0,e.useCallback)(e=>{if(!os||!ss)return null;let t=os.extents[e];return t?{left:t.start,top:ss.top,width:t.width,height:ss.height}:null},[os,ss]),ls=(0,e.useCallback)(e=>{if(e.preventDefault(),e.button===0&&!(Z===0||B.length===0)){if(Ot.current?.focus(),Ka){Eo();return}if(Go){W(a.clearSelection()),W(a.activateCell(null));return}Jo()}},[W,Z,Go,Jo,B.length,Ka,Eo]),us=(0,e.useCallback)(e=>{Qt(t=>t===e?null:t)},[]),ds=(0,e.useCallback)(e=>{en(t=>t===e?null:t)},[]),fs=(0,e.useCallback)(()=>{Ut(!0)},[]),ps=(0,e.useCallback)(()=>{Ut(!1)},[]),ms=(0,e.useCallback)((e,t)=>{t.preventDefault(),t.stopPropagation();let n=t.timeStamp,r=An.current;if(r&&r.key===e.key&&n-r.time<vo&&Math.abs(t.clientX-r.x)<yo){An.current=null,Hi([e]);return}An.current={key:e.key,time:n,x:t.clientX},W(a.startColumnResize(e.key,t.clientX,kn.current[e.key]??e.width,e.minWidth??60,e.maxWidth))},[W,Hi]),hs=(0,e.useCallback)((e,t)=>{if(J(),!v)return;let n=g.find(t=>t.key===e);n&&(n.pinned??void 0)!==t&&(v(g.map(n=>{let r=kn.current[n.key]??n.width;return n.key===e?{...n,width:r,pinned:t}:r===n.width?n:{...n,width:r}})),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[J,g,W,v]),gs=(0,e.useCallback)(e=>{J();let t=B.find(t=>t.key===e);t&&Hi([t])},[J,Hi,B]),_s=(0,e.useCallback)(()=>{J(),Hi(B)},[J,Hi,B]),vs=(0,e.useMemo)(()=>g.map(e=>({key:e.key,title:e.title??e.key,visible:e.visible!==!1,pane:c(e)})),[g]),ys=(0,e.useCallback)(()=>{J(),Yr(`columns`)},[J,Yr]),bs=(0,e.useMemo)(()=>B.map(e=>({key:e.key,title:e.title??e.key})),[B]),xs=(0,e.useCallback)(()=>{J(),Yr(`sort`)},[J,Yr]),Ss=(0,e.useCallback)(e=>{J(),Cr(e)},[J,Cr]),Cs=(0,e.useMemo)(()=>{let e=[],t=(t,n)=>{let r=ai[t.key];!r||!Ge(r)||e.push({columnKey:t.key,title:t.title||t.key,summaryText:ur(r),isHidden:n})};for(let e of V)t(e,!1);for(let e of g)e.visible===!1&&t(e,!0);return e},[ai,g,V]),ws=(0,e.useMemo)(()=>B.filter(e=>!!e.filterType&&!Ge(ai[e.key])).map(e=>({key:e.key,title:e.title||e.key})),[ai,B]),Ts=(0,e.useCallback)(()=>{J(),Yr(`filter`)},[J,Yr]),Es=(0,e.useCallback)(()=>{Wr===`filter`?Xr():Yr(`filter`)},[Wr,Xr,Yr]),Ds=(0,e.useCallback)(e=>{let t=$.current,n=Ft.current;if(!t)return;let r=t.orderedColumns.findIndex(t=>t.key===e);if(r<0)return;let i=t.orderedColumns[r];if(n){let e=C(t.paneLayout,r);if(e&&e.pane===`center`){let r=Ir({cellLeft:t.leftPaneTotalWidth+t.centerLeadingWidth+e.extent.start,cellWidth:e.extent.width,leftPaneWidth:t.leftPaneTotalWidth,rightPaneWidth:t.rightPaneTotalWidth,viewportWidth:n.clientWidth,currentScrollLeft:n.scrollLeft,align:`auto`,maxScrollLeft:n.scrollWidth-n.clientWidth});r!==n.scrollLeft&&n.scrollTo({left:r,behavior:`auto`})}}let a=()=>{let t=Ot.current?.querySelectorAll(`[data-ssg-col-key]`);return t?Array.from(t).find(t=>t.dataset.ssgColKey===e)??null:null},o=e=>{if(!Ot.current)return;let t=a();if(t===null){e<8&&requestAnimationFrame(()=>o(e+1));return}Cr(i),t.classList.remove(`ssg-header-cell--jump-flash`),t.offsetWidth,t.classList.add(`ssg-header-cell--jump-flash`),t.addEventListener(`animationend`,()=>{t.classList.remove(`ssg-header-cell--jump-flash`)},{once:!0})};requestAnimationFrame(()=>{o(0)})},[Ot,Cr]),Os=(0,e.useCallback)(e=>{W(a.clearColumnFilter(e))},[W]),ks=(0,e.useCallback)(()=>{W(a.setAllFilters({globalText:U.filters.globalText,columnFilters:{}}))},[W,U.filters.globalText]),As=(0,e.useCallback)(()=>{W(a.setGlobalFilter(``))},[W]),js=(0,e.useCallback)((e,t)=>{if(!v)return;let n=g.find(t=>t.key===e);n&&n.visible!==!1!==t&&(!t&&g.filter(e=>e.visible!==!1).length<=1||(v(g.map(n=>{let r=kn.current[n.key]??n.width;return n.key===e?{...n,width:r,visible:t}:r===n.width?n:{...n,width:r}})),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null))))},[g,W,v]),Ms=(0,e.useCallback)(()=>{v&&g.some(e=>e.visible===!1)&&(v(g.map(e=>{let t=kn.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}})),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[g,W,v]),Ns=(0,e.useCallback)(()=>{if(!v)return;let e=V[0]?.key;e!==void 0&&g.some(t=>t.visible!==!1&&t.key!==e)&&(v(g.map(t=>{let n=kn.current[t.key]??t.width,r=n!==t.width,i=t.visible!==!1&&t.key!==e;return!r&&!i?t:i?{...t,width:n,visible:!1}:{...t,width:n}})),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[g,W,v,V]),Ps=(0,e.useCallback)((e,t)=>{if(!v||e.length!==g.length)return;let n=new Map(g.map(e=>[e.key,e]));if(!e.every(e=>n.has(e)))return;let r=l(e.map(e=>{let r=n.get(e),i=kn.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===g.length&&r.every((e,t)=>{let n=g[t];return!!n&&n.key===e.key&&n.width===e.width&&(n.pinned??void 0)===(e.pinned??void 0)})||(v(r),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[g,W,v]),Fs=(0,e.useCallback)(e=>{Ps(e)},[Ps]),{onColumnDragHandlePointerDown:Is,leftIndicatorRef:Ls,centerIndicatorRef:Rs,rightIndicatorRef:zs,applyReorderSettle:Bs}=cr({enabled:!!v,columns:g,paneLayout:K,leftPaneScrollRef:It,rightPaneScrollRef:Lt,bodyScrollRef:Nt,scrollContainerRef:Ft,leftLeadingWidth:nr,centerLeadingWidth:rr,rightLeadingWidth:0,applyColumnOrderAndPin:Ps});(0,e.useLayoutEffect)(()=>{Bs()},[K,Bs]);let Vs=v?Is:void 0,Hs={position:`absolute`,top:0,height:z+Da,transform:`translateX(-1px)`,pointerEvents:`none`,zIndex:8,display:`none`},Us=(0,e.useCallback)(()=>{if(!v)return;let e=jn.current;if(!e)return;let t=hr(g,e,kn.current);t!==null&&(v(t),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[g,W,v]),Ws=(0,e.useCallback)(()=>{J(),Us()},[J,Us]),Gs=(0,e.useCallback)(e=>Sr?L(r[e],Sr):void 0,[r,Sr]),{options:Ks,allValues:qs,status:Js,progress:Ys}=Si({column:Sr,rowCount:r.length,getRawValueAt:Gs}),Xs=Sr?U.filters.columnFilters[Sr.key]:void 0,Zs=(0,e.useMemo)(()=>We(Xs)?{mode:Xs.mode===`exclude`?`exclude`:`include`,values:new Set(Xs.values)}:null,[Xs]),Qs=!(Sr?.filterOptions&&Sr.filterOptions.length>0),$s=(0,e.useCallback)((e,t,n)=>{let r=t.mode===`include`?t.values.size:n-t.values.size;if(r>=n){W(a.clearColumnFilter(e));return}if(r<=0){W(a.setColumnFilter(e,{kind:`set`,mode:`include`,values:[]}));return}let i={kind:`set`,mode:t.mode,values:Array.from(t.values)};W(a.setColumnFilter(e,i))},[W]),ec=(0,e.useCallback)(e=>{if(!q)return;let t=Ks.length,n=Zs,r;r=Bi(n,e)?n===null?Qs?{mode:`exclude`,values:new Set([e])}:{mode:`include`,values:so(qs,e)}:n.mode===`include`?{mode:`include`,values:so(n.values,e)}:{mode:`exclude`,values:oo(n.values,e)}:n.mode===`include`?{mode:`include`,values:oo(n.values,e)}:{mode:`exclude`,values:so(n.values,e)},$s(q.columnKey,r,t)},[q,Zs,Qs,qs,Ks,$s]),tc=(0,e.useCallback)((e,t)=>{if(!q)return;let n=q.columnKey,r=Ks.length;if(e===`all`){t?W(a.clearColumnFilter(n)):$s(n,{mode:`include`,values:new Set},r);return}let i=Zs,o;if(t){if(i===null){W(a.clearColumnFilter(n));return}o=i.mode===`include`?{mode:`include`,values:co(i.values,e)}:{mode:`exclude`,values:lo(i.values,e)}}else o=i===null?Qs?{mode:`exclude`,values:new Set(e)}:{mode:`include`,values:lo(qs,e)}:i.mode===`include`?{mode:`include`,values:lo(i.values,e)}:{mode:`exclude`,values:co(i.values,e)};$s(n,o,r)},[q,Zs,Qs,qs,Ks,$s,W]),nc=(0,e.useCallback)(e=>{q&&$s(q.columnKey,{mode:`include`,values:new Set(e)},Ks.length)},[q,$s,Ks]),rc=(0,e.useCallback)(()=>{q&&W(a.clearColumnFilter(q.columnKey))},[W,q]),ic=(0,e.useCallback)(()=>{if(!q)return;let e=B.find(e=>e.key===q.columnKey)?.filterType??`text`;if(e===`set`){Or();return}if(e===`number`){let e=Je(q.draftValue);if(!e){W(a.clearColumnFilter(q.columnKey)),Or();return}W(a.setColumnFilter(q.columnKey,e)),Or();return}let t=e===`select`?q.draftValue:q.draftValue.trim();if(!t){W(a.clearColumnFilter(q.columnKey)),Or();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};W(a.setColumnFilter(q.columnKey,n)),Or()},[Or,W,q,B]),ac=(0,e.useCallback)(()=>{q&&(W(a.clearColumnFilter(q.columnKey)),Or())},[Or,W,q]),oc=(0,e.useCallback)((e,t)=>{if(J(),!Le)return;let n=Wt(U.sort,e,t,!1);W(n.length===0?a.clearSort():a.setSort(n))},[J,W,Le,U.sort]),sc=(0,e.useCallback)((e,t)=>{if(!Le)return;let n=Gt(U.sort,e,t);W(a.setSort(n))},[W,Le,U.sort]),cc=(0,e.useCallback)((e,t)=>{if(!Le)return;let n=Kt(U.sort,e,t);W(a.setSort(n))},[W,Le,U.sort]),lc=(0,e.useCallback)((e,t)=>{if(!Le)return;let n=qt(U.sort,e,t);W(a.setSort(n))},[W,Le,U.sort]),uc=(0,e.useCallback)(e=>{if(!Le)return;let t=Jt(U.sort,e);W(t.length===0?a.clearSort():a.setSort(t))},[W,Le,U.sort]),dc=(0,e.useCallback)(()=>{Le&&W(a.clearSort())},[W,Le]),fc=(0,e.useCallback)((e,t)=>{if(!Le)return;let n=Yt(U.sort,e,t);W(a.setSort(n))},[W,Le,U.sort]),pc=(0,e.useCallback)((e,t,i,a,o)=>{let s=L(e,i);if(i.renderCell){let n=X.getSourceIndex(t)??t;return i.renderCell({row:e,rowIndex:t,sourceRowIndex:n,rowKey:X.getRowKey(t)??t,colIndex:a,value:s,column:i,isActive:o.isActive,isSelected:o.isSelected,isEditing:o.isEditing,readOnly:o.readOnly,setValue:n=>{if(lt(i,e,n).action===`reject`)return;if(Ii){Ii([{viewIndex:t,column:i,value:n}]);return}if(!Ro)return;let a=X.getSourceIndex(t);if(a===void 0)return;let o=Ve(r,a,i,n);Ro(o)}})}return i.editor?.type===`checkbox`?(0,n.jsx)(Li,{checked:Me(s,i.editor),readOnly:o.readOnly,onToggle:()=>Xo({row:t,col:a})}):(0,n.jsx)(`span`,{children:i.valueFormatter?i.valueFormatter({value:s,row:e,column:i}):String(s??``)})},[X,Ro,r,Xo,Ii]),{slotContext:mc}=At({rows:r,viewRowCount:Ji,getFilteredRows:Xi,columns:g,visibleColumns:B,uiState:U,setGlobalFilterText:(0,e.useCallback)(e=>{W(a.setGlobalFilter(e))},[W]),globalFilterStatus:ci,globalFilterProgress:li}),hc=(0,e.useMemo)(()=>({width:he,minWidth:he}),[he]),gc=Z===0,_c=(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 var(--ssg-pane-border)`,boxShadow:`var(--ssg-pane-shadow-left)`}:{borderLeft:`1px solid var(--ssg-pane-border)`,boxShadow:`var(--ssg-pane-shadow-right)`}:{}}),vc=(()=>{if(!Sr)return`(なし)`;let e=U.filters.columnFilters[Sr.key];if(We(e))return e.mode===`exclude`?`${e.values.length}件を除外中`:`${e.values.length}件を選択中`;if(qe(e))return e.raw;let t=Ye(e);return t.trim()?t:`(なし)`})(),yc=Sr?(0,n.jsx)(Ui,{themeClassName:Ua,isOpen:!!q,title:Sr.title||Sr.key,filterType:Sr.filterType??`text`,isServerSide:H,draftValue:q?.draftValue??``,currentValueText:vc,layout:lr,selectOptions:Ks,setSelection:Zs,optionsStatus:Js,optionsProgress:Ys,popoverRef:dr,textInputRef:gr,selectRef:_r,onRequestClose:Or,onDraftChange:kr,onApply:ic,onClear:ac,onSetValueToggle:ec,onSetSelectAllChange:tc,onSetClear:rc,onSetReplaceSelection:nc}):null,bc=Br?(0,n.jsx)(_a,{themeClassName:Ua,isOpen:Mr,title:Br.title||Br.key,columnKey:Br.key,canFilter:Tn&&!!Br.filterType,onOpenFilter:()=>Ss(Br),canSort:wn,sortDirection:U.sort.find(e=>e.columnKey===Br.key)?.direction??null,onSortChange:e=>oc(Br.key,e),onOpenSortManager:xs,canManageFilters:Tn,onOpenFilterManager:Ts,pinned:Br.pinned,canChangePinned:!!v,layout:Ar,popoverRef:jr,onPinnedChange:hs,onAutosizeColumn:gs,onAutosizeAllColumns:_s,onOpenColumnChooser:ys,canResetColumns:!!v,onResetColumns:Ws,onRequestClose:J}):null,xc=On&&ii.trim().length>0,Sc=Cs.length+ +!!xc,Cc=(0,n.jsx)(wa,{themeClassName:Ua,activeTab:Wr,flashTick:qr,tabs:Gr.map(e=>e===`filter`?{tab:e,label:`フィルター`,badge:Sc}:e===`sort`?{tab:e,label:`並び替え`,badge:U.sort.length}:{tab:e,label:`列`}),layout:Kr,panelRef:Jr,onSelectTab:Yr,onRequestClose:Xr,onPanelMove:Zr,children:Wr===null?null:{filter:()=>(0,n.jsx)(La,{entries:Cs,addableColumns:ws,showGlobalFilterRow:xc,globalFilterText:ii,canFilter:Tn,onEditFilter:Ds,onAddFilter:Ds,onClearFilter:Os,onClearAllFilters:ks,onClearGlobalFilter:As}),columns:()=>(0,n.jsx)(Ma,{items:vs,canToggle:!!v,onToggleColumnVisibility:js,onShowAllColumns:Ms,onHideAllColumns:Ns,onResetColumns:Us,onReorderColumns:Fs}),sort:()=>(0,n.jsx)(Pa,{entries:U.sort,columns:bs,canSort:wn,onAddLevel:sc,onChangeDirection:cc,onChangeColumn:lc,onRemoveLevel:uc,onClearAll:dc,onMove:fc})}[Wr]()}),wc=(0,n.jsx)(ao,{themeClassName:Ua,isOpen:ti,items:Qr?.items??_o,layout:$r,popoverRef:ei,onRequestClose:ri}),Tc=xr||Mr||Wr!==null||ti,Ec=it,Dc=ot&&On,Oc=nt?vt(mt,mc,Ec||Dc?(0,n.jsx)(qi,{context:mc,showSummary:Ec,showFilter:Dc,showCounts:dt,globalFilterPlaceholder:st,globalFilterIcon:ct,onFilterSummaryClick:Tn?Es:void 0}):null):null,kc=rt?vt(ht,mc,(0,n.jsx)(Wi,{context:mc,showCounts:ft})):null,Ac=ge===void 0&&_e===void 0?void 0:{...ge===void 0?{}:{height:ge},maxHeight:_e??(ge===void 0?void 0:`none`)},$=(0,e.useRef)(null);$.current={dispatch:W,rowModel:X,viewRowCount:Z,leafRowCount:Ji,groupTree:hi,rowMetrics:Q,paneLayout:K,orderedColumns:V,columns:g,onColumnsChange:v,uiState:U,headerHeight:z,verticalScaleFactor:ka,leftPaneTotalWidth:ir,rightPaneTotalWidth:ar,centerLeadingWidth:rr,windowFirstRow:Ta,windowLastRow:Ea,physicalBodyHeight:Da,rows:r,isServerSide:H,serverSideRefresh:Y.refresh,resolvedRowKeyGetter:Cn,openFilterManager:()=>{Yr(`filter`)},closeFilterManager:()=>{Wr===`filter`&&Xr()},undoRows:zo,redoRows:Bo,canUndoRows:Vo,canRedoRows:Ho,clearUndoHistory:Uo};let jc=(0,e.useCallback)((e,t)=>{let n=Ft.current,r=$.current;!n||!r||n.scrollTo({top:e===null?n.scrollTop:bn(e,r.verticalScaleFactor),left:t===null?n.scrollLeft:t,behavior:`auto`})},[]),Mc=(0,e.useCallback)((e,t)=>{let n=Ft.current,r=$.current;if(!n||!r||r.viewRowCount===0)return null;let i=Math.min(Math.max(e,0),r.viewRowCount-1);return Fr({rowTop:r.rowMetrics.rowTop(i),rowHeight:r.rowMetrics.rowsHeight(i,i),headerHeight:r.headerHeight,viewportHeight:n.clientHeight,currentScrollTop:yn(n.scrollTop,r.verticalScaleFactor),align:t})},[]),Nc=(0,e.useCallback)((e,t)=>{let n=Ft.current,r=$.current;if(!n||!r)return null;let i=C(r.paneLayout,e);return!i||i.pane!==`center`?null:Ir({cellLeft:r.leftPaneTotalWidth+r.centerLeadingWidth+i.extent.start,cellWidth:i.extent.width,leftPaneWidth:r.leftPaneTotalWidth,rightPaneWidth:r.rightPaneTotalWidth,viewportWidth:n.clientWidth,currentScrollLeft:n.scrollLeft,align:t})},[]),Pc=(0,e.useCallback)((e,t,n)=>{jc(Mc(e,n),Nc(t,n))},[jc,Nc,Mc]);(0,e.useEffect)(()=>{Fo.current=Pc},[Pc]),(0,e.useImperativeHandle)(wt,()=>{let e=e=>{let t=$.current;if(!t)return null;let n=e=>t.rowModel.getRow(e),r=br(e);if(r===`raw`)return t.isServerSide?(console.warn(`SpreadsheetGrid: scope 'raw' は serverSide では未ロード行を取得できないため、'view'(ロード済みビュー行)として扱います。全件エクスポートはサーバ側での実施を推奨します。`),{getRow:n,startRow:0,endRow:t.viewRowCount,columns:t.orderedColumns}):{getRow:e=>t.rows[e],startRow:0,endRow:t.rows.length,columns:t.orderedColumns};if(r===`rendered`)return{getRow:n,startRow:t.windowFirstRow,endRow:t.windowLastRow>=t.windowFirstRow?t.windowLastRow+1:t.windowFirstRow,columns:t.orderedColumns};if(r===`selection`){let e=t.uiState.selection;if(!e)return null;if(e.type===`cell`){let r=se(e.range);return{getRow:n,startRow:r.start.row,endRow:r.end.row+1,columns:t.orderedColumns.slice(r.start.col,r.end.col+1)}}if(e.type===`row`){let r=ce(e.startRow,e.endRow);return{getRow:n,startRow:r.startRow,endRow:r.endRow+1,columns:t.orderedColumns}}let r=le(e.startCol,e.endCol);return{getRow:n,startRow:0,endRow:t.viewRowCount,columns:t.orderedColumns.slice(r.startCol,r.endCol+1)}}return{getRow:n,startRow:0,endRow:t.viewRowCount,columns:t.orderedColumns}},t=e=>e.filter(e=>e.key!==an),n=n=>{let r=e(n?.scope??`view`);return r?vr({getRow:r.getRow,startRow:r.startRow,endRow:r.endRow,columns:t(r.columns),delimiter:n?.delimiter,includeHeaders:n?.includeHeaders,bom:n?.bom}):n?.bom?``:``},r=n=>{let r=e(n?.scope??`view`);return r?yr({getRow:r.getRow,startRow:r.startRow,endRow:r.endRow,columns:t(r.columns)}):{columns:[],rows:[]}};return{scrollToRow:(e,t)=>jc(Mc(e,t?.align??`auto`),null),scrollToCell:(e,t,n)=>Pc(e,t,n?.align??`auto`),scrollToTop:()=>{Ft.current?.scrollTo({top:0,behavior:`auto`})},scrollToBottom:()=>{let e=Ft.current,t=$.current;!e||!t||e.scrollTo({top:Math.max(t.headerHeight+t.physicalBodyHeight-e.clientHeight,0),behavior:`auto`})},getVisibleRowRange:()=>{let e=$.current;return!e||e.windowLastRow<e.windowFirstRow?null:{startIndex:e.windowFirstRow,endIndex:e.windowLastRow+1}},getActiveCell:()=>{let e=$.current?.uiState.activeCell;return e?{row:e.row,col:e.col}:null},setActiveCell:(e,t)=>{let n=$.current;n&&(n.dispatch(a.activateCell(e)),e&&t?.scrollIntoView&&Pc(e.row,e.col,`auto`))},getSelection:()=>$.current?.uiState.selection??null,selectCell:(e,t,n)=>{let r=$.current;if(!r)return;let i={row:e,col:t};r.dispatch(a.startSelection(i)),r.dispatch(a.endSelection()),n?.scrollIntoView&&Pc(e,t,`auto`)},selectRange:(e,t)=>{let n=$.current;n&&(n.dispatch(a.startSelection(e.start)),n.dispatch(a.updateSelection(e.end)),n.dispatch(a.endSelection()),t?.scrollIntoView&&Pc(e.end.row,e.end.col,`auto`))},clearSelection:()=>{$.current?.dispatch(a.clearSelection())},getSelectedRows:()=>{let e=$.current;if(!e)return[];let t=e.uiState.selection;if(!t)return[];let n=[],r=t=>{let r=e.rowModel.getRow(t);r&&n.push(r)};if(t.type===`cell`){let e=se(t.range);for(let t=e.start.row;t<=e.end.row;t+=1)r(t)}else if(t.type===`row`){let e=ce(t.startRow,t.endRow);for(let t=e.startRow;t<=e.endRow;t+=1)r(t)}else for(let t=0;t<e.viewRowCount;t+=1)r(t);return n},exportCsv:e=>n(e),downloadCsv:(e,t)=>{if(typeof document>`u`)return;let r=n({...t,bom:t?.bom??!0}),i=new Blob([r],{type:`text/csv;charset=utf-8;`}),a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=e??`export.csv`,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},getExportData:e=>r(e),getState:()=>{let e=$.current;return e?Tr(e.uiState.columnWidths,e.uiState.filters,e.uiState.sort,wr(e.columns)):Tr({},{globalText:``,columnFilters:{}},[],[])},applyState:e=>{let t=$.current;if(!t)return;let n=Er(e);t.onColumnsChange&&n.columns&&t.onColumnsChange(Dr(t.columns,n.columns,n.columnWidths)),t.dispatch(a.resetColumnWidths(n.columnWidths)),t.dispatch(a.setAllFilters(n.filters)),t.dispatch(a.setSort(n.sort))},getRowSelection:()=>{let e=$.current;return e?F(e.uiState.rowSelection):{type:`include`,rowKeys:[]}},setRowSelection:e=>{So.current(I(e))},getSelectedRowKeys:()=>{let e=$.current;if(!e)return[];let t=e.uiState.rowSelection;if(t.mode===`include`)return Array.from(t.keys);let n=[],r=e.rowModel.getRowCount();for(let i=0;i<r;i+=1){if(!e.rowModel.getRow(i))continue;let r=e.rowModel.getRowKey(i)??i;t.keys.has(r)||n.push(r)}return n},getSelectedRowData:()=>{let e=$.current;if(!e)return[];let t=e.uiState.rowSelection,n=[],r=e.rowModel.getRowCount();for(let i=0;i<r;i+=1){let r=e.rowModel.getRow(i);r&&O(t,e.rowModel.getRowKey(i)??i)&&n.push(r)}return n},getSelectedRowCount:()=>{let e=$.current;return e?N(e.uiState.rowSelection,e.leafRowCount):0},isRowSelected:e=>{let t=$.current;return t?O(t.uiState.rowSelection,e):!1},selectAllRows:()=>{So.current(M())},clearRowSelection:()=>{So.current(ee())},undo:()=>{$.current?.undoRows()},redo:()=>{$.current?.redoRows()},canUndo:()=>$.current?.canUndoRows()??!1,canRedo:()=>$.current?.canRedoRows()??!1,clearUndoHistory:()=>{$.current?.clearUndoHistory()},setGroupCollapsed:(e,t)=>{$.current?.dispatch(a.setGroupCollapsed(e,t))},expandAllGroups:()=>{$.current?.dispatch(a.setCollapsedGroupKeys(new Set))},collapseAllGroups:()=>{let e=$.current;!e||!e.groupTree||e.dispatch(a.setCollapsedGroupKeys(new Set(mn(e.groupTree))))},getGroupRows:()=>{let e=$.current;return e?.groupTree?pn(e.groupTree):[]},getInvalidCells:()=>{let e=$.current;return e?e.isServerSide?(console.warn(`[SpreadsheetGrid] getInvalidCells は serverSide モードでは利用できません(空配列を返します)。`),[]):ut(e.rows,e.columns,e.resolvedRowKeyGetter):[]},refreshServerSide:()=>{let e=$.current;if(e){if(!e.isServerSide){console.warn(`[SpreadsheetGrid] refreshServerSide は clientSide(rows)モードでは何もしません(dataSource 指定時のみ有効です)。`);return}e.serverSideRefresh()}},openFilterManager:()=>{$.current?.openFilterManager()},closeFilterManager:()=>{$.current?.closeFilterManager()}}},[jc,Pc,Mc]);let Fc=(0,e.useRef)(Tt);Fc.current=Tt;let Ic=(0,e.useRef)(null);return(0,e.useEffect)(()=>{if(!Fc.current)return;let e=Tr(U.columnWidths,U.filters,U.sort,wr(g)),t=Pr(Ic.current,e,U.dragState!==null);Ic.current=t.nextLast,t.emit&&Fc.current(e)},[U.columnWidths,U.filters,U.sort,U.dragState,g]),(0,n.jsxs)(`div`,{className:i(`ssg-root`,ue!==`standard`&&`ssg-root--density-${ue}`,Ua,ye&&`ssg-root--dim-readonly`,gt,R?.root),children:[Oc,pt&&(0,n.jsx)(Ra,{entries:Cs,canFilter:Tn,onEditFilter:Ds,onClearFilter:Os,onClearAllFilters:ks}),(0,n.jsxs)(`div`,{ref:Ot,className:`ssg-shell`,style:{cursor:Vi?`progress`:void 0},onDragStart:Ao,onPointerLeave:()=>Qt(null),onPointerMoveCapture:e=>{kt.current={x:e.clientX,y:e.clientY},Do(e.clientX,e.clientY)},tabIndex:Tc?-1:0,onKeyDown:Tc?void 0:Qo,onPaste:Tc?void 0:qo,onContextMenu:zi,children:[(0,n.jsxs)(`div`,{ref:Ft,className:i(`ssg-scroll-container`,Yi?.scrollbar===!0&&`ssg-scroll-container--custom-scrollbar`),style:Ac,children:[(0,n.jsxs)(`div`,{className:`ssg-inner-row`,style:{width:sr,minWidth:sr,height:z+Da},children:[(0,n.jsxs)(`div`,{ref:It,style:_c(`left`,ir,$n),children:[$n&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:ir,minWidth:ir,height:z+Da},children:[(0,n.jsx)(oa,{pane:`left`,ownsRowHeader:!0,leadingWidth:nr,headerHeight:z,rowHeaderCellStyle:hc,headerRowClassName:R?.headerRow,headerCellClassName:R?.headerCell,rowHeaderCellClassName:R?.rowHeaderCell,isCornerHovered:Ht,isWholeGridSelected:Go,showSelectAllCheckbox:Ka,selectAllState:Ja,filteredRowsLength:Z,visibleColumnsLength:B.length,renderEntries:Na,hoveredColumnIndex:$t,selectionSnapshot:Mn,columnFilterValues:U.filters.columnFilters,sortState:U.sort,iconButtonClassName:R?.iconButton,onCornerPointerDown:ls,onCornerPointerEnter:fs,onCornerPointerLeave:ps,onColumnHeaderPointerDown:No,onColumnHeaderPointerEnter:Po,onColumnHeaderPointerLeave:ds,onColumnResizePointerDown:ms,enableColumnMenu:Qe,enableColumnResize:Re,openedMenuColumnKey:Nr,onColumnMenuButtonPointerDown:Hr,onColumnHeaderContextMenu:Ur,onColumnDragHandlePointerDown:Vs}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:ir,height:z+Da,transform:Oa},children:[(0,n.jsx)(fe,{rect:cs(`left`),headerHeight:z,baseOffset:Aa,leadingWidth:nr}),(0,n.jsx)(pe,{rect:Va(`left`),headerHeight:z,baseOffset:Aa,leadingWidth:nr}),(0,n.jsx)(He,{rect:Ha(`left`),headerHeight:z,baseOffset:Aa,leadingWidth:nr,initialValue:zt,editor:ns?.editor,editorSession:is,themeClassName:Ua,onCommit:es,onCancel:ts,align:ns?.align}),(0,n.jsx)(ra,{pane:`left`,ownsRowHeader:!0,leadingWidth:nr,rowModel:X,virtualRows:xa,virtualRowIndexes:Ca,renderEntries:Na,rowHeight:Et,autoHeight:la,showCellOverflowTooltip:Be,showValidationMarks:Ke,isServerSide:H,collapsedGroupKeys:U.collapsedGroupKeys,onGroupToggle:_i,rowHeaderCellStyle:hc,hoveredRowIndex:Zt,isWholeGridSelected:Go,enableRowSelection:Ee,rowSelectionState:qa,activeCell:U.activeCell,editingCell:U.editingCell,selectionSnapshot:Mn,readOnly:ve,canEditCell:Fi,onRowHeaderPointerDown:jo,onRowHeaderPointerEnter:Mo,onRowHeaderPointerLeave:us,onCellPointerDown:Oo,onCellPointerEnter:ko,onCellDoubleClick:as,renderCellContent:pc,getRowClassName:yt,bodyCellClassName:R?.bodyCell,bodyRowClassName:R?.bodyRow,rowHeaderCellClassName:R?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:Ls,className:`ssg-col-drop-indicator`,style:Hs})]}),(0,n.jsx)(`div`,{ref:Nt,className:`ssg-center-pane`,style:{width:or,minWidth:or},children:(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:or,minWidth:or,height:z+Da},children:[(0,n.jsx)(oa,{pane:`center`,ownsRowHeader:tr,leadingWidth:rr,headerHeight:z,rowHeaderCellStyle:hc,headerRowClassName:R?.headerRow,headerCellClassName:R?.headerCell,rowHeaderCellClassName:R?.rowHeaderCell,isCornerHovered:Ht,isWholeGridSelected:Go,showSelectAllCheckbox:Ka,selectAllState:Ja,filteredRowsLength:Z,visibleColumnsLength:B.length,renderEntries:ja,hoveredColumnIndex:$t,selectionSnapshot:Mn,columnFilterValues:U.filters.columnFilters,sortState:U.sort,iconButtonClassName:R?.iconButton,onCornerPointerDown:ls,onCornerPointerEnter:fs,onCornerPointerLeave:ps,onColumnHeaderPointerDown:No,onColumnHeaderPointerEnter:Po,onColumnHeaderPointerLeave:ds,onColumnResizePointerDown:ms,enableColumnMenu:Qe,enableColumnResize:Re,openedMenuColumnKey:Nr,onColumnMenuButtonPointerDown:Hr,onColumnHeaderContextMenu:Ur,onColumnDragHandlePointerDown:Vs}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:or,height:z+Da,transform:Oa},children:[(0,n.jsx)(fe,{rect:cs(`center`),headerHeight:z,baseOffset:Aa,leadingWidth:rr}),(0,n.jsx)(pe,{rect:Va(`center`),headerHeight:z,baseOffset:Aa,leadingWidth:rr}),(0,n.jsx)(He,{rect:Ha(`center`),headerHeight:z,baseOffset:Aa,leadingWidth:rr,initialValue:zt,editor:ns?.editor,editorSession:is,themeClassName:Ua,onCommit:es,onCancel:ts,align:ns?.align}),(0,n.jsx)(ra,{pane:`center`,ownsRowHeader:tr,leadingWidth:rr,rowModel:X,virtualRows:xa,virtualRowIndexes:Ca,renderEntries:ja,rowHeight:Et,autoHeight:la,showCellOverflowTooltip:Be,showValidationMarks:Ke,isServerSide:H,collapsedGroupKeys:U.collapsedGroupKeys,onGroupToggle:_i,rowHeaderCellStyle:hc,hoveredRowIndex:Zt,isWholeGridSelected:Go,enableRowSelection:Ee,rowSelectionState:qa,activeCell:U.activeCell,editingCell:U.editingCell,selectionSnapshot:Mn,readOnly:ve,canEditCell:Fi,onRowHeaderPointerDown:jo,onRowHeaderPointerEnter:Mo,onRowHeaderPointerLeave:us,onCellPointerDown:Oo,onCellPointerEnter:ko,onCellDoubleClick:as,renderCellContent:pc,getRowClassName:yt,bodyCellClassName:R?.bodyCell,bodyRowClassName:R?.bodyRow,rowHeaderCellClassName:R?.rowHeaderCell})]}),(0,n.jsx)(`div`,{ref:Rs,className:`ssg-col-drop-indicator`,style:Hs})]})}),(0,n.jsxs)(`div`,{ref:Lt,style:_c(`right`,ar,er),children:[er&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:ar,minWidth:ar,height:z+Da},children:[(0,n.jsx)(oa,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,headerHeight:z,rowHeaderCellStyle:hc,headerRowClassName:R?.headerRow,headerCellClassName:R?.headerCell,rowHeaderCellClassName:R?.rowHeaderCell,isCornerHovered:Ht,isWholeGridSelected:Go,showSelectAllCheckbox:Ka,selectAllState:Ja,filteredRowsLength:Z,visibleColumnsLength:B.length,renderEntries:Fa,hoveredColumnIndex:$t,selectionSnapshot:Mn,columnFilterValues:U.filters.columnFilters,sortState:U.sort,iconButtonClassName:R?.iconButton,onCornerPointerDown:ls,onCornerPointerEnter:fs,onCornerPointerLeave:ps,onColumnHeaderPointerDown:No,onColumnHeaderPointerEnter:Po,onColumnHeaderPointerLeave:ds,onColumnResizePointerDown:ms,enableColumnMenu:Qe,enableColumnResize:Re,openedMenuColumnKey:Nr,onColumnMenuButtonPointerDown:Hr,onColumnHeaderContextMenu:Ur,onColumnDragHandlePointerDown:Vs}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:ar,height:z+Da,transform:Oa},children:[(0,n.jsx)(fe,{rect:cs(`right`),headerHeight:z,baseOffset:Aa,leadingWidth:0}),(0,n.jsx)(pe,{rect:Va(`right`),headerHeight:z,baseOffset:Aa,leadingWidth:0}),(0,n.jsx)(He,{rect:Ha(`right`),headerHeight:z,baseOffset:Aa,leadingWidth:0,initialValue:zt,editor:ns?.editor,editorSession:is,themeClassName:Ua,onCommit:es,onCancel:ts,align:ns?.align}),(0,n.jsx)(ra,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,rowModel:X,virtualRows:xa,virtualRowIndexes:Ca,renderEntries:Fa,rowHeight:Et,autoHeight:la,showCellOverflowTooltip:Be,showValidationMarks:Ke,isServerSide:H,collapsedGroupKeys:U.collapsedGroupKeys,onGroupToggle:_i,rowHeaderCellStyle:hc,hoveredRowIndex:Zt,isWholeGridSelected:Go,enableRowSelection:Ee,rowSelectionState:qa,activeCell:U.activeCell,editingCell:U.editingCell,selectionSnapshot:Mn,readOnly:ve,canEditCell:Fi,onRowHeaderPointerDown:jo,onRowHeaderPointerEnter:Mo,onRowHeaderPointerLeave:us,onCellPointerDown:Oo,onCellPointerEnter:ko,onCellDoubleClick:as,renderCellContent:pc,getRowClassName:yt,bodyCellClassName:R?.bodyCell,bodyRowClassName:R?.bodyRow,rowHeaderCellClassName:R?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:zs,className:`ssg-col-drop-indicator`,style:Hs})]})]}),gc&&(0,n.jsx)(`div`,{className:`ssg-empty-state`,children:r.length===0?tt:et})]}),Yi!==null&&(0,n.jsx)(Xa,{options:Yi,scrollContainerRef:Ft,scrollTop:Qi,viewportHeight:ea,headerHeight:z,physicalBodyHeight:Da,verticalScaleFactor:ka,rowMetrics:Q,rowModel:X}),Vi&&(0,n.jsx)(`div`,{className:`ssg-autosize-overlay`,children:(0,n.jsx)(`span`,{className:`ssg-autosize-pill`,children:`列幅を計算中…`})}),ci===`filtering`&&(0,n.jsx)(`div`,{className:`ssg-filter-overlay`,children:(0,n.jsxs)(`span`,{className:`ssg-filter-overlay-chip`,role:`status`,"aria-live":`polite`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-spinner`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`ssg-filter-overlay-text`,children:[`適用中 `,Math.round(li*100),`%`]})]})}),H&&(Y.loadError!==null&&Y.loadError!==Di||Y.writeError!==null&&Y.writeError!==ki)&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bars`,children:[Y.loadError!==null&&Y.loadError!==Di&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bar`,role:`alert`,children:[(0,n.jsx)(`span`,{className:`ssg-ssrm-error-bar-dot`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`ssg-ssrm-error-bar-msg`,children:[`行の取得に失敗しました(`,Y.loadError.failedBlockCount,` ブロック)`]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-retry`,onClick:Y.retryFailedBlocks,children:`再試行`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-close`,"aria-label":`エラー通知を閉じる`,onClick:()=>Oi(Y.loadError),children:`×`})]}),Y.writeError!==null&&Y.writeError!==ki&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bar`,role:`alert`,children:[(0,n.jsx)(`span`,{className:`ssg-ssrm-error-bar-dot`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`ssg-ssrm-error-bar-msg`,children:[`変更の保存に失敗しました(`,Y.writeError.failedRowCount,` 行)。値を元に戻しました`]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-close`,"aria-label":`保存エラー通知を閉じる`,onClick:()=>Ai(Y.writeError),children:`×`})]})]})]}),kc,yc,bc,Cc,wc]})}function So(e={}){let{locale:t,useGrouping:n=!0,minimumFractionDigits:r,maximumFractionDigits:i,emptyText:a=``}=e;return({value:e})=>{if(e==null||e===``)return a;let o=typeof e==`number`?e:Number(e);if(!Number.isFinite(o))return String(e);let s=Math.abs(o).toString(),c=s.indexOf(`.`),l=c===-1?0:s.length-c-1,u=r??0,d=Math.max(u,i??Math.min(l,20));return new Intl.NumberFormat(t,{useGrouping:n,minimumFractionDigits:u,maximumFractionDigits:d}).format(o)}}exports.SpreadsheetGrid=xo,exports.numberFormatter=So;
package/dist/index.js CHANGED
@@ -2385,7 +2385,7 @@ var Qe = (e) => {
2385
2385
  A
2386
2386
  ])
2387
2387
  };
2388
- }, Pn = ({ scrollRef: e, columnVirtualizer: t, columnMeasurements: n, totalScrollWidth: i, physicalBodyHeight: a, headerHeight: o, leftPaneWidth: s, rightPaneWidth: c, centerLeadingWidth: l, activeCellRect: u, verticalScaleFactor: d }) => {
2388
+ }, Pn = ({ scrollRef: e, columnVirtualizer: t, columnMeasurements: n, totalScrollWidth: i, physicalBodyHeight: a, headerHeight: o, leftPaneWidth: s, rightPaneWidth: l, centerLeadingWidth: u, activeCellRect: d, activeCell: f, verticalScaleFactor: p }) => {
2389
2389
  r(() => {
2390
2390
  t.measure();
2391
2391
  }, [t, n]), r(() => {
@@ -2397,24 +2397,28 @@ var Qe = (e) => {
2397
2397
  i,
2398
2398
  a,
2399
2399
  o
2400
- ]), r(() => {
2401
- if (!e.current || !u) return;
2402
- let t = e.current, n = o + u.top, r = n + u.height, i = s + l + u.left, a = i + u.width, f = En(t.scrollTop, d), p = t.scrollLeft, m = t.clientHeight, h = t.clientWidth, g = f, _ = p, v = f + o, y = f + m;
2403
- n < v ? g = Math.max(n - o, 0) : r > y && (g = Math.max(r - m, 0));
2404
- let b = p + s, x = p + h - c;
2405
- i < b ? _ = Math.max(i - s, 0) : a > x && (_ = Math.max(a - h + c, 0)), (g !== f || _ !== p) && t.scrollTo({
2406
- top: Dn(g, d),
2407
- left: _,
2400
+ ]);
2401
+ let m = c(null);
2402
+ r(() => {
2403
+ let t = m.current, n = t !== null && f !== null && t.row === f.row && t.col === f.col;
2404
+ if (m.current = f, n || !e.current || !d) return;
2405
+ let r = e.current, i = o + d.top, a = i + d.height, c = s + u + d.left, h = c + d.width, g = En(r.scrollTop, p), _ = r.scrollLeft, v = r.clientHeight, y = r.clientWidth, b = g, x = _, S = g + o, C = g + v;
2406
+ i < S ? b = Math.max(i - o, 0) : a > C && (b = Math.max(a - v, 0));
2407
+ let w = _ + s, T = _ + y - l;
2408
+ c < w ? x = Math.max(c - s, 0) : h > T && (x = Math.max(h - y + l, 0)), (b !== g || x !== _) && r.scrollTo({
2409
+ top: Dn(b, p),
2410
+ left: x,
2408
2411
  behavior: "auto"
2409
2412
  });
2410
2413
  }, [
2411
2414
  e,
2412
- u,
2415
+ d,
2416
+ f,
2413
2417
  o,
2414
2418
  s,
2415
- c,
2416
2419
  l,
2417
- d
2420
+ u,
2421
+ p
2418
2422
  ]);
2419
2423
  };
2420
2424
  function Fn(e) {
@@ -6661,6 +6665,7 @@ function No({ rows: e = Co, dataSource: u, serverSideRefreshToken: f, onServerSi
6661
6665
  rightPaneWidth: pr,
6662
6666
  centerLeadingWidth: dr,
6663
6667
  activeCellRect: Ga,
6668
+ activeCell: K.activeCell,
6664
6669
  verticalScaleFactor: Ra
6665
6670
  });
6666
6671
  let $a = o(() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ishibashi0112/spreadsheet-grid",
3
- "version": "0.22.0",
3
+ "version": "0.23.0",
4
4
  "description": "React 19 製のカスタム仮想化データグリッド。100 万行対応の仮想化・3 ペイン固定列・ソート/フィルター・クライアント/サーバーサイド行モデル対応。",
5
5
  "keywords": [
6
6
  "react",