@ishibashi0112/spreadsheet-grid 0.14.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -0
- package/dist/CellEditorLayer.d.ts +15 -4
- package/dist/editors/CellEditorErrorBubble.d.ts +4 -0
- package/dist/editors/CheckboxCell.d.ts +7 -0
- package/dist/editors/CustomCellEditor.d.ts +8 -0
- package/dist/editors/DateCellEditor.d.ts +9 -0
- package/dist/editors/NumberCellEditor.d.ts +12 -0
- package/dist/editors/SelectCellEditor.d.ts +11 -0
- package/dist/editors/TextCellEditor.d.ts +9 -0
- package/dist/editors/editorKeyBindings.d.ts +10 -0
- package/dist/hooks/useGridEditController.d.ts +2 -3
- package/dist/hooks/useGridKeyboardInteractions.d.ts +2 -1
- package/dist/index.cjs +8 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2043 -1627
- package/dist/logic/checkboxEditor.d.ts +12 -0
- package/dist/logic/editorValues.d.ts +5 -0
- package/dist/logic/selectEditorState.d.ts +28 -0
- package/dist/logic/validation.d.ts +14 -0
- package/dist/model/gridTypes.d.ts +60 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("@tanstack/react-virtual"),n=require("react/jsx-runtime"),r=require("react-dom");function i(...e){return e.filter(Boolean).join(` `)}var a={activateCell:e=>({type:`cell/activate`,cell:e}),startSelection:e=>({type:`selection/start`,cell:e}),updateSelection:e=>({type:`selection/update`,cell:e}),startRowSelection:e=>({type:`rowSelection/start`,row:e}),updateRowSelection:e=>({type:`rowSelection/update`,row:e}),startColumnSelection:e=>({type:`columnSelection/start`,col:e}),updateColumnSelection:e=>({type:`columnSelection/update`,col:e}),endSelection:()=>({type:`selection/end`}),clearSelection:()=>({type:`selection/clear`}),startEdit:e=>({type:`edit/start`,cell:e}),stopEdit:()=>({type:`edit/stop`}),startColumnResize:(e,t,n,r,i)=>({type:`column/resizeStart`,columnKey:e,startX:t,startWidth:n,minWidth:r,maxWidth:i}),updateColumnResize:e=>({type:`column/resizeUpdate`,clientX:e}),endColumnResize:()=>({type:`column/resizeEnd`}),syncColumnWidths:e=>({type:`columnWidths/sync`,widths:e}),resetColumnWidths:e=>({type:`columnWidths/reset`,widths:e}),setGlobalFilter:e=>({type:`filter/setGlobal`,value:e}),setColumnFilter:(e,t)=>({type:`filter/setColumn`,columnKey:e,value:t}),clearColumnFilter:e=>({type:`filter/clearColumn`,columnKey:e}),resetAllFilters:()=>({type:`filter/resetAll`}),setAllFilters:e=>({type:`filter/setAll`,filters:e}),setSort:e=>({type:`sort/set`,entries:e}),clearSort:()=>({type:`sort/clear`}),setRowSelectionState:e=>({type:`rowSelect/set`,state:e})},o=(e,t,n)=>Math.min(Math.max(e,t),n),s=(e,t)=>{let n=0;return e.map((e,r)=>{let i=t[e.key]??e.width,a={index:r,column:e,start:n,size:i,end:n+i};return n+=i,a})},c=e=>e.pinned===`left`?`left`:e.pinned===`right`?`right`:`center`,l=e=>{let t=[],n=[],r=[];for(let i of e){let e=c(i);e===`left`?t.push(i):e===`right`?r.push(i):n.push(i)}return[...t,...n,...r]},u=e=>{let t={left:[],center:[],right:[]};return e.forEach((e,n)=>{let r=c(e);t[r].push({column:e,logicalIndex:n})}),t},d=(e,t)=>e.map(({column:e})=>t[e.key]??e.width),f=(e,t)=>d(e,t).join(`,`),p=e=>e===``?[]:e.split(`,`).map(Number),m=(e,t,n)=>{let r=0;return{pane:e,entries:t.map(({column:e,logicalIndex:t},i)=>{let a=n[i]??e.width,o={column:e,logicalIndex:t,paneLocalStart:r,paneLocalSize:a,paneLocalEnd:r+a};return r+=a,o}),totalWidth:r}},h=(e,t,n)=>m(e,t,p(n)),g=(e,t)=>{let n=[[`left`,e.left],[`center`,e.center],[`right`,e.right]];for(let[e,r]of n){let n=r.entries.find(e=>e.logicalIndex===t);if(n)return{pane:e,entry:n}}return null},_=(e,t)=>{let{entries:n}=e;if(n.length===0)return-1;if(t<=0)return n[0].logicalIndex;let r=0,i=n.length-1;for(;r<=i;){let e=Math.floor((r+i)/2),a=n[e];if(t<a.paneLocalStart){i=e-1;continue}if(t>=a.paneLocalEnd){r=e+1;continue}return a.logicalIndex}return n[Math.max(0,Math.min(r,n.length-1))].logicalIndex},v=(e,t)=>{let{entries:n}=e;for(let e=0;e<n.length;e+=1){let r=n[e];if(t<r.paneLocalStart+r.paneLocalSize/2)return e}return n.length},y=(e,t)=>{let{entries:n,totalWidth:r}=e;return n.length===0?0:t<=0?n[0].paneLocalStart:t>=n.length?r:n[t].paneLocalStart},b=(e,t,n)=>{let r=Math.min(t,n),i=Math.max(t,n),a=1/0,o=-1/0,s=!1;for(let t of e.entries)t.logicalIndex<r||t.logicalIndex>i||(s=!0,t.paneLocalStart<a&&(a=t.paneLocalStart),t.paneLocalEnd>o&&(o=t.paneLocalEnd));return s?{start:a,end:o,width:o-a}:null},x=(e,t,n)=>({left:b(e.left,t,n),center:b(e.center,t,n),right:b(e.right,t,n)}),S=e=>{let t=e=>e.entries.length===0?null:{start:0,end:e.totalWidth,width:e.totalWidth};return{left:t(e.left),center:t(e.center),right:t(e.right)}},C=(e,t)=>{let n=g(e,t);if(!n)return null;let{pane:r,entry:i}=n;return{pane:r,extent:{start:i.paneLocalStart,end:i.paneLocalEnd,width:i.paneLocalSize}}},w=e=>e.flex!=null&&e.flex>0&&c(e)===`center`,T=(e,t)=>{let n=new Map,r=e,i=t;for(;;){let e=r.reduce((e,t)=>e+t.flex,0);if(r.length===0||e<=0)break;let t=null;for(let a of r){let r=i*a.flex/e;if(r<a.min){n.set(a.key,a.min),i-=a.min,t=a.key;break}if(r>a.max){n.set(a.key,a.max),i-=a.max,t=a.key;break}}if(t!==null){r=r.filter(e=>e.key!==t);continue}let a=0;r.forEach((t,o)=>{if(o===r.length-1)n.set(t.key,i-a);else{let r=i*t.flex/e;n.set(t.key,r),a+=r}});break}return n},E=(e,t,n)=>{let r=[],i=0;for(let n of e){let e=t[n.key];if(e!=null){i+=e;continue}let a=n.flex;if(a!=null&&a>0&&c(n)===`center`){r.push({key:n.key,flex:a,min:n.minWidth??50,max:n.maxWidth??1/0});continue}i+=n.width}if(r.length===0)return{};let a=n-i;return Object.fromEntries(T(r,a))},D=()=>({mode:`include`,keys:new Set}),O=(e,t)=>e.mode===`exclude`?!e.keys.has(t):e.keys.has(t),k=(e,t)=>{let n=new Set(e.keys);return n.has(t)?n.delete(t):n.add(t),{mode:e.mode,keys:n}},ee=e=>({mode:`include`,keys:new Set([e])}),te=e=>({mode:`include`,keys:new Set(e)}),A=()=>({mode:`exclude`,keys:new Set}),ne=()=>D(),j=(e,t)=>e.mode===`exclude`?Math.max(0,t-e.keys.size):e.keys.size,M=(e,t)=>{let n=j(e,t);return n<=0?`none`:t>0&&n>=t?`all`:`some`},re=e=>({type:e.mode,rowKeys:Array.from(e.keys)}),ie=e=>({mode:e.type,keys:new Set(e.rowKeys)}),ae=(e,t)=>{if(e.mode!==t.mode||e.keys.size!==t.keys.size)return!1;for(let n of e.keys)if(!t.keys.has(n))return!1;return!0},oe=60,se=(e,t,n)=>Math.min(Math.max(e,t),n),ce=e=>e.reduce((e,t)=>(w(t)||(e[t.key]=t.width),e),{}),le=e=>({activeCell:null,selection:null,rowSelection:D(),editingCell:null,dragState:null,columnWidths:ce(e),filters:{globalText:``,columnFilters:{}},sort:[]}),ue=(e,t)=>{switch(t.type){case`cell/activate`:return{...e,activeCell:t.cell};case`selection/start`:return{...e,activeCell:t.cell,selection:{type:`cell`,range:{start:t.cell,end:t.cell}},dragState:{type:`selection`,selectionKind:`cell`,anchor:t.cell}};case`rowSelection/start`:return{...e,activeCell:{row:t.row,col:e.activeCell?.col??0},selection:{type:`row`,startRow:t.row,endRow:t.row},dragState:{type:`selection`,selectionKind:`row`,anchorRow:t.row}};case`rowSelection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`row`||e.selection?.type===`row`&&e.selection.endRow===t.row?e:{...e,selection:{type:`row`,startRow:e.dragState.anchorRow,endRow:t.row}};case`selection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`cell`||e.selection?.type===`cell`&&e.selection.range.end.row===t.cell.row&&e.selection.range.end.col===t.cell.col?e:{...e,selection:{type:`cell`,range:{start:e.dragState.anchor,end:t.cell}}};case`columnSelection/start`:return{...e,activeCell:{row:e.activeCell?.row??0,col:t.col},selection:{type:`col`,startCol:t.col,endCol:t.col},dragState:{type:`selection`,selectionKind:`col`,anchorCol:t.col}};case`columnSelection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`col`||e.selection?.type===`col`&&e.selection.endCol===t.col?e:{...e,selection:{type:`col`,startCol:e.dragState.anchorCol,endCol:t.col}};case`selection/end`:return e.dragState?.type===`selection`?{...e,dragState:null}:e;case`selection/clear`:return{...e,selection:null,dragState:null};case`edit/start`:return{...e,editingCell:t.cell,activeCell:t.cell};case`edit/stop`:return{...e,editingCell:null};case`column/resizeStart`:return{...e,dragState:{type:`columnResize`,columnKey:t.columnKey,startX:t.startX,startWidth:t.startWidth,minWidth:t.minWidth||oe,maxWidth:t.maxWidth??1/0}};case`column/resizeUpdate`:{if(e.dragState?.type!==`columnResize`)return e;let n=se(e.dragState.startWidth+(t.clientX-e.dragState.startX),e.dragState.minWidth,e.dragState.maxWidth);return e.columnWidths[e.dragState.columnKey]===n?e:{...e,columnWidths:{...e.columnWidths,[e.dragState.columnKey]:n}}}case`column/resizeEnd`:return e.dragState?.type===`columnResize`?{...e,dragState:null}:e;case`columnWidths/sync`:return{...e,columnWidths:{...e.columnWidths,...t.widths}};case`columnWidths/reset`:return{...e,columnWidths:t.widths};case`filter/setGlobal`:return{...e,filters:{...e.filters,globalText:t.value}};case`filter/setColumn`:return{...e,filters:{...e.filters,columnFilters:{...e.filters.columnFilters,[t.columnKey]:t.value}}};case`filter/clearColumn`:{let n={...e.filters.columnFilters};return delete n[t.columnKey],{...e,filters:{...e.filters,columnFilters:n}}}case`filter/resetAll`:return{...e,filters:{globalText:``,columnFilters:{}}};case`filter/setAll`:return{...e,filters:t.filters};case`sort/set`:return{...e,sort:t.entries};case`sort/clear`:return{...e,sort:[]};case`rowSelect/set`:return ae(e.rowSelection,t.state)?e:{...e,rowSelection:t.state};default:return e}},de=e=>({start:{row:Math.min(e.start.row,e.end.row),col:Math.min(e.start.col,e.end.col)},end:{row:Math.max(e.start.row,e.end.row),col:Math.max(e.start.col,e.end.col)}}),fe=(e,t)=>({startRow:Math.min(e,t),endRow:Math.max(e,t)}),pe=(e,t)=>({startCol:Math.min(e,t),endCol:Math.max(e,t)}),me=e=>e.filters.globalText,he=e=>{if(!e)return{kind:`none`};if(e.type===`cell`){let t=de(e.range);return{kind:`cell`,startRow:t.start.row,endRow:t.end.row,startCol:t.start.col,endCol:t.end.col}}if(e.type===`row`){let t=fe(e.startRow,e.endRow);return{kind:`row`,startRow:t.startRow,endRow:t.endRow}}let t=pe(e.startCol,e.endCol);return{kind:`col`,startCol:t.startCol,endCol:t.endCol}};function ge({rect:e,headerHeight:t,leadingWidth:r,baseOffset:i=0}){return e?(0,n.jsx)(`div`,{className:`ssg-selection-overlay`,style:{position:`absolute`,left:r+e.left,top:t+e.top-i,width:e.width,height:e.height}}):null}function _e({rect:e,headerHeight:t,leadingWidth:r,baseOffset:i=0}){return e?(0,n.jsx)(`div`,{className:`ssg-active-cell-overlay`,style:{position:`absolute`,left:r+e.left,top:t+e.top-i,width:e.width,height:e.height}}):null}function ve({rect:t,headerHeight:r,leadingWidth:i,baseOffset:a=0,initialValue:o,onCommit:s,onCancel:c,align:l}){let u=(0,e.useRef)(null),[d,f]=(0,e.useState)(``),p=t!==null,[m,h]=(0,e.useState)(!1);if(p!==m&&(h(p),p&&f(o)),(0,e.useEffect)(()=>{if(!t||!u.current)return;u.current.focus();let e=u.current.value.length;u.current.setSelectionRange(e,e)},[t]),!t)return null;let g={position:`absolute`,left:i+t.left,top:r+t.top-a,width:t.width,height:t.height};return(0,n.jsx)(`div`,{className:`ssg-cell-editor`,style:g,children:(0,n.jsx)(`input`,{ref:u,type:`text`,value:d,onChange:e=>f(e.target.value),onKeyDown:e=>{if(!e.nativeEvent.isComposing){if(e.key===`Enter`){e.preventDefault(),s(d,`down`);return}if(e.key===`Escape`){e.preventDefault(),c();return}e.key===`Tab`&&(e.preventDefault(),s(d,e.shiftKey?`left`:`right`))}},onBlur:()=>s(d),className:`ssg-cell-editor-input`,style:l?{textAlign:l}:void 0})})}var ye=(e,t,n,r,i)=>e.readOnly||i.readOnly||i.editable===!1?!1:e.canEditCell?e.canEditCell(t,n,r,i):!0,N=(e,t)=>t.getValue?t.getValue(e):e[t.key],be=(e,t,n)=>t.setValue?t.setValue(e,n):{...e,[t.key]:n},xe=e=>{let t=new Int32Array(e);for(let n=0;n<e;n+=1)t[n]=n;return t},Se=e=>e?.kind===`set`,Ce=e=>{if(!e)return!1;switch(e.kind){case`set`:case`number`:case`custom`:return!0;case`select`:return e.value.length>0;case`text`:case`date`:return e.value.trim().length>0}},we=e=>{let t=e.trim();if(!t)return null;let n=t.match(/^(-?\d+(?:\.\d+)?)\s*\.\.\s*(-?\d+(?:\.\d+)?)$/);if(n){let e=Number(n[1]),t=Number(n[2]);return!Number.isFinite(e)||!Number.isFinite(t)?null:{mode:`range`,min:Math.min(e,t),max:Math.max(e,t)}}let r=t.match(/^(<=|>=|=|<|>)?\s*(-?\d+(?:\.\d+)?)$/);return r?{mode:`comparison`,operator:r[1]??`=`,value:Number(r[2])}:null},Te=e=>e?.kind===`number`,Ee=e=>{let t=e.trim();return t?{kind:`number`,raw:t,parsed:we(t)}:null},De=e=>{if(!e)return``;switch(e.kind){case`number`:return e.raw;case`text`:case`date`:case`select`:return e.value;case`set`:case`custom`:return``}},Oe=(e,t,n)=>{if(!Ce(t))return null;let r=t;if(e.filterFn){let t=e.filterFn;return e=>t(e,r)}switch(r.kind){case`set`:{let t=new Set(r.values);return r.mode===`exclude`?n=>!t.has(String(N(n,e)??``)):n=>t.has(String(N(n,e)??``))}case`number`:{let t=r.parsed;if(t===null){let t=r.raw.toLowerCase();return n=>String(N(n,e)??``).toLowerCase().includes(t)}if(t.mode===`range`){let{min:r,max:i}=t;return(t,a)=>{let o=n?n[a]:Number(N(t,e));return Number.isFinite(o)&&o>=r&&o<=i}}let{operator:i,value:a}=t;return(t,r)=>{let o=n?n[r]:Number(N(t,e));if(!Number.isFinite(o))return!1;switch(i){case`>`:return o>a;case`>=`:return o>=a;case`<`:return o<a;case`<=`:return o<=a;default:return o===a}}}case`select`:{let t=r.value;return n=>String(N(n,e)??``)===t}case`text`:case`date`:{let t=r.value.trim().toLowerCase();return n=>String(N(n,e)??``).toLowerCase().includes(t)}case`custom`:{let t=String(r.value??``).trim().toLowerCase();return n=>String(N(n,e)??``).toLowerCase().includes(t)}}},ke=(e,t,n)=>{let r=t.length;for(let i=0;i<r;i+=1){let r=N(e,t[i]);if(String(r??``).toLowerCase().includes(n))return!0}return!1},Ae=(e,t,n,r)=>{let i=r.trim().toLowerCase();if(!i)return t;let a=t.length,o=new Int32Array(a),s=0;for(let r=0;r<a;r+=1){let a=t[r];ke(e[a],n,i)&&(o[s]=a,s+=1)}return s===a?t:o.slice(0,s)},je=(e,t,n,r,i)=>{let a=[];for(let e of n){let t=Oe(e,r[e.key],i?.get(e.key));t&&a.push(t)}if(a.length===0)return t;let o=t.length,s=a.length,c=new Int32Array(o),l=0;for(let n=0;n<o;n+=1){let r=t[n],i=e[r],o=!0;for(let e=0;e<s;e+=1)if(!a[e](i,r)){o=!1;break}o&&(c[l]=r,l+=1)}return l===o?t:c.slice(0,l)},P=240,Me=8,Ne=8,Pe=260,Fe=400,Ie=({visibleColumns:t,columnFilterValues:n,enableColumnFilter:r,gridRootRef:i})=>{let[a,o]=(0,e.useState)(null),[s,c]=(0,e.useState)(null),l=(0,e.useRef)(null),u=(0,e.useRef)(null),d=(0,e.useRef)(null),f=(0,e.useRef)(null),p=a!==null,m=a?.columnKey??null,h=(0,e.useMemo)(()=>m?t.find(e=>e.key===m)??null:null,[m,t]),g=(0,e.useCallback)(()=>{if(!m||!u.current){c(null);return}let e=u.current.getBoundingClientRect(),t=h?.filterType===`set`?Fe:Pe,n=e.right-P;n=Math.max(Me,n),n=Math.min(n,window.innerWidth-P-Me);let r=e.bottom+Ne;r+t>window.innerHeight-Me&&(r=e.top-t-Ne),r=Math.max(Me,r),c(e=>e&&e.top===r&&e.left===n&&e.width===P?e:{top:r,left:n,width:P})},[m,h]),_=(0,e.useCallback)(e=>{if(!r)return;document.activeElement instanceof HTMLElement&&document.activeElement.blur(),i.current?.blur();let t=i.current?.querySelectorAll(`[data-ssg-col-key]`),a=t?Array.from(t).find(t=>t.dataset.ssgColKey===e.key)??null:null;u.current=a,o({columnKey:e.key,draftValue:De(n[e.key])})},[n,r,i]),v=(0,e.useCallback)(()=>{o(null),c(null),u.current=null,d.current=null,f.current=null,requestAnimationFrame(()=>{i.current?.focus()})},[i]),y=(0,e.useCallback)(e=>{o(t=>t&&{...t,draftValue:e})},[]);return(0,e.useEffect)(()=>{if(!m)return;g();let e=()=>{g()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[m,g]),(0,e.useEffect)(()=>{if(!h||!s)return;let e=h.filterType??`text`,t=0,n=0;return t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{if(e===`select`){f.current?.focus();return}let t=d.current;if(!t)return;t.focus();let n=t.value.length;t.setSelectionRange(n,n)})}),()=>{cancelAnimationFrame(t),cancelAnimationFrame(n)}},[h,s?.top,s?.left,s?.width]),(0,e.useEffect)(()=>{if(!p)return;let e=e=>{let t=e.target;t&&(l.current?.contains(t)||v())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[v,p]),{filterPopoverState:a,filterPopoverLayout:s,filterPopoverRef:l,filterTextInputRef:d,filterSelectRef:f,isFilterPopoverOpen:p,openedFilterColumn:h,openColumnFilterPopover:_,closeColumnFilterPopover:v,updateFilterPopoverDraft:y}},Le=e=>{let t=e.replace(/\r\n/g,`
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react"),t=require("@tanstack/react-virtual"),n=require("react/jsx-runtime"),r=require("react-dom");function i(...e){return e.filter(Boolean).join(` `)}var a={activateCell:e=>({type:`cell/activate`,cell:e}),startSelection:e=>({type:`selection/start`,cell:e}),updateSelection:e=>({type:`selection/update`,cell:e}),startRowSelection:e=>({type:`rowSelection/start`,row:e}),updateRowSelection:e=>({type:`rowSelection/update`,row:e}),startColumnSelection:e=>({type:`columnSelection/start`,col:e}),updateColumnSelection:e=>({type:`columnSelection/update`,col:e}),endSelection:()=>({type:`selection/end`}),clearSelection:()=>({type:`selection/clear`}),startEdit:e=>({type:`edit/start`,cell:e}),stopEdit:()=>({type:`edit/stop`}),startColumnResize:(e,t,n,r,i)=>({type:`column/resizeStart`,columnKey:e,startX:t,startWidth:n,minWidth:r,maxWidth:i}),updateColumnResize:e=>({type:`column/resizeUpdate`,clientX:e}),endColumnResize:()=>({type:`column/resizeEnd`}),syncColumnWidths:e=>({type:`columnWidths/sync`,widths:e}),resetColumnWidths:e=>({type:`columnWidths/reset`,widths:e}),setGlobalFilter:e=>({type:`filter/setGlobal`,value:e}),setColumnFilter:(e,t)=>({type:`filter/setColumn`,columnKey:e,value:t}),clearColumnFilter:e=>({type:`filter/clearColumn`,columnKey:e}),resetAllFilters:()=>({type:`filter/resetAll`}),setAllFilters:e=>({type:`filter/setAll`,filters:e}),setSort:e=>({type:`sort/set`,entries:e}),clearSort:()=>({type:`sort/clear`}),setRowSelectionState:e=>({type:`rowSelect/set`,state:e})},o=(e,t,n)=>Math.min(Math.max(e,t),n),s=(e,t)=>{let n=0;return e.map((e,r)=>{let i=t[e.key]??e.width,a={index:r,column:e,start:n,size:i,end:n+i};return n+=i,a})},c=e=>e.pinned===`left`?`left`:e.pinned===`right`?`right`:`center`,l=e=>{let t=[],n=[],r=[];for(let i of e){let e=c(i);e===`left`?t.push(i):e===`right`?r.push(i):n.push(i)}return[...t,...n,...r]},u=e=>{let t={left:[],center:[],right:[]};return e.forEach((e,n)=>{let r=c(e);t[r].push({column:e,logicalIndex:n})}),t},d=(e,t)=>e.map(({column:e})=>t[e.key]??e.width),f=(e,t)=>d(e,t).join(`,`),p=e=>e===``?[]:e.split(`,`).map(Number),m=(e,t,n)=>{let r=0;return{pane:e,entries:t.map(({column:e,logicalIndex:t},i)=>{let a=n[i]??e.width,o={column:e,logicalIndex:t,paneLocalStart:r,paneLocalSize:a,paneLocalEnd:r+a};return r+=a,o}),totalWidth:r}},h=(e,t,n)=>m(e,t,p(n)),g=(e,t)=>{let n=[[`left`,e.left],[`center`,e.center],[`right`,e.right]];for(let[e,r]of n){let n=r.entries.find(e=>e.logicalIndex===t);if(n)return{pane:e,entry:n}}return null},_=(e,t)=>{let{entries:n}=e;if(n.length===0)return-1;if(t<=0)return n[0].logicalIndex;let r=0,i=n.length-1;for(;r<=i;){let e=Math.floor((r+i)/2),a=n[e];if(t<a.paneLocalStart){i=e-1;continue}if(t>=a.paneLocalEnd){r=e+1;continue}return a.logicalIndex}return n[Math.max(0,Math.min(r,n.length-1))].logicalIndex},v=(e,t)=>{let{entries:n}=e;for(let e=0;e<n.length;e+=1){let r=n[e];if(t<r.paneLocalStart+r.paneLocalSize/2)return e}return n.length},y=(e,t)=>{let{entries:n,totalWidth:r}=e;return n.length===0?0:t<=0?n[0].paneLocalStart:t>=n.length?r:n[t].paneLocalStart},b=(e,t,n)=>{let r=Math.min(t,n),i=Math.max(t,n),a=1/0,o=-1/0,s=!1;for(let t of e.entries)t.logicalIndex<r||t.logicalIndex>i||(s=!0,t.paneLocalStart<a&&(a=t.paneLocalStart),t.paneLocalEnd>o&&(o=t.paneLocalEnd));return s?{start:a,end:o,width:o-a}:null},x=(e,t,n)=>({left:b(e.left,t,n),center:b(e.center,t,n),right:b(e.right,t,n)}),S=e=>{let t=e=>e.entries.length===0?null:{start:0,end:e.totalWidth,width:e.totalWidth};return{left:t(e.left),center:t(e.center),right:t(e.right)}},C=(e,t)=>{let n=g(e,t);if(!n)return null;let{pane:r,entry:i}=n;return{pane:r,extent:{start:i.paneLocalStart,end:i.paneLocalEnd,width:i.paneLocalSize}}},w=e=>e.flex!=null&&e.flex>0&&c(e)===`center`,T=(e,t)=>{let n=new Map,r=e,i=t;for(;;){let e=r.reduce((e,t)=>e+t.flex,0);if(r.length===0||e<=0)break;let t=null;for(let a of r){let r=i*a.flex/e;if(r<a.min){n.set(a.key,a.min),i-=a.min,t=a.key;break}if(r>a.max){n.set(a.key,a.max),i-=a.max,t=a.key;break}}if(t!==null){r=r.filter(e=>e.key!==t);continue}let a=0;r.forEach((t,o)=>{if(o===r.length-1)n.set(t.key,i-a);else{let r=i*t.flex/e;n.set(t.key,r),a+=r}});break}return n},E=(e,t,n)=>{let r=[],i=0;for(let n of e){let e=t[n.key];if(e!=null){i+=e;continue}let a=n.flex;if(a!=null&&a>0&&c(n)===`center`){r.push({key:n.key,flex:a,min:n.minWidth??50,max:n.maxWidth??1/0});continue}i+=n.width}if(r.length===0)return{};let a=n-i;return Object.fromEntries(T(r,a))},D=()=>({mode:`include`,keys:new Set}),O=(e,t)=>e.mode===`exclude`?!e.keys.has(t):e.keys.has(t),k=(e,t)=>{let n=new Set(e.keys);return n.has(t)?n.delete(t):n.add(t),{mode:e.mode,keys:n}},ee=e=>({mode:`include`,keys:new Set([e])}),te=e=>({mode:`include`,keys:new Set(e)}),A=()=>({mode:`exclude`,keys:new Set}),ne=()=>D(),j=(e,t)=>e.mode===`exclude`?Math.max(0,t-e.keys.size):e.keys.size,re=(e,t)=>{let n=j(e,t);return n<=0?`none`:t>0&&n>=t?`all`:`some`},M=e=>({type:e.mode,rowKeys:Array.from(e.keys)}),ie=e=>({mode:e.type,keys:new Set(e.rowKeys)}),ae=(e,t)=>{if(e.mode!==t.mode||e.keys.size!==t.keys.size)return!1;for(let n of e.keys)if(!t.keys.has(n))return!1;return!0},oe=60,se=(e,t,n)=>Math.min(Math.max(e,t),n),ce=e=>e.reduce((e,t)=>(w(t)||(e[t.key]=t.width),e),{}),le=e=>({activeCell:null,selection:null,rowSelection:D(),editingCell:null,dragState:null,columnWidths:ce(e),filters:{globalText:``,columnFilters:{}},sort:[]}),ue=(e,t)=>{switch(t.type){case`cell/activate`:return{...e,activeCell:t.cell};case`selection/start`:return{...e,activeCell:t.cell,selection:{type:`cell`,range:{start:t.cell,end:t.cell}},dragState:{type:`selection`,selectionKind:`cell`,anchor:t.cell}};case`rowSelection/start`:return{...e,activeCell:{row:t.row,col:e.activeCell?.col??0},selection:{type:`row`,startRow:t.row,endRow:t.row},dragState:{type:`selection`,selectionKind:`row`,anchorRow:t.row}};case`rowSelection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`row`||e.selection?.type===`row`&&e.selection.endRow===t.row?e:{...e,selection:{type:`row`,startRow:e.dragState.anchorRow,endRow:t.row}};case`selection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`cell`||e.selection?.type===`cell`&&e.selection.range.end.row===t.cell.row&&e.selection.range.end.col===t.cell.col?e:{...e,selection:{type:`cell`,range:{start:e.dragState.anchor,end:t.cell}}};case`columnSelection/start`:return{...e,activeCell:{row:e.activeCell?.row??0,col:t.col},selection:{type:`col`,startCol:t.col,endCol:t.col},dragState:{type:`selection`,selectionKind:`col`,anchorCol:t.col}};case`columnSelection/update`:return e.dragState?.type!==`selection`||e.dragState.selectionKind!==`col`||e.selection?.type===`col`&&e.selection.endCol===t.col?e:{...e,selection:{type:`col`,startCol:e.dragState.anchorCol,endCol:t.col}};case`selection/end`:return e.dragState?.type===`selection`?{...e,dragState:null}:e;case`selection/clear`:return{...e,selection:null,dragState:null};case`edit/start`:return{...e,editingCell:t.cell,activeCell:t.cell};case`edit/stop`:return{...e,editingCell:null};case`column/resizeStart`:return{...e,dragState:{type:`columnResize`,columnKey:t.columnKey,startX:t.startX,startWidth:t.startWidth,minWidth:t.minWidth||oe,maxWidth:t.maxWidth??1/0}};case`column/resizeUpdate`:{if(e.dragState?.type!==`columnResize`)return e;let n=se(e.dragState.startWidth+(t.clientX-e.dragState.startX),e.dragState.minWidth,e.dragState.maxWidth);return e.columnWidths[e.dragState.columnKey]===n?e:{...e,columnWidths:{...e.columnWidths,[e.dragState.columnKey]:n}}}case`column/resizeEnd`:return e.dragState?.type===`columnResize`?{...e,dragState:null}:e;case`columnWidths/sync`:return{...e,columnWidths:{...e.columnWidths,...t.widths}};case`columnWidths/reset`:return{...e,columnWidths:t.widths};case`filter/setGlobal`:return{...e,filters:{...e.filters,globalText:t.value}};case`filter/setColumn`:return{...e,filters:{...e.filters,columnFilters:{...e.filters.columnFilters,[t.columnKey]:t.value}}};case`filter/clearColumn`:{let n={...e.filters.columnFilters};return delete n[t.columnKey],{...e,filters:{...e.filters,columnFilters:n}}}case`filter/resetAll`:return{...e,filters:{globalText:``,columnFilters:{}}};case`filter/setAll`:return{...e,filters:t.filters};case`sort/set`:return{...e,sort:t.entries};case`sort/clear`:return{...e,sort:[]};case`rowSelect/set`:return ae(e.rowSelection,t.state)?e:{...e,rowSelection:t.state};default:return e}},de=e=>({start:{row:Math.min(e.start.row,e.end.row),col:Math.min(e.start.col,e.end.col)},end:{row:Math.max(e.start.row,e.end.row),col:Math.max(e.start.col,e.end.col)}}),fe=(e,t)=>({startRow:Math.min(e,t),endRow:Math.max(e,t)}),pe=(e,t)=>({startCol:Math.min(e,t),endCol:Math.max(e,t)}),me=e=>e.filters.globalText,he=e=>{if(!e)return{kind:`none`};if(e.type===`cell`){let t=de(e.range);return{kind:`cell`,startRow:t.start.row,endRow:t.end.row,startCol:t.start.col,endCol:t.end.col}}if(e.type===`row`){let t=fe(e.startRow,e.endRow);return{kind:`row`,startRow:t.startRow,endRow:t.endRow}}let t=pe(e.startCol,e.endCol);return{kind:`col`,startCol:t.startCol,endCol:t.endCol}};function ge({rect:e,headerHeight:t,leadingWidth:r,baseOffset:i=0}){return e?(0,n.jsx)(`div`,{className:`ssg-selection-overlay`,style:{position:`absolute`,left:r+e.left,top:t+e.top-i,width:e.width,height:e.height}}):null}function _e({rect:e,headerHeight:t,leadingWidth:r,baseOffset:i=0}){return e?(0,n.jsx)(`div`,{className:`ssg-active-cell-overlay`,style:{position:`absolute`,left:r+e.left,top:t+e.top-i,width:e.width,height:e.height}}):null}var ve=({value:e,onCommit:t,onCancel:n,onRejected:r})=>i=>{if(i.nativeEvent.isComposing)return;let a=n=>{let i=t(e,n);i&&i.status===`rejected`&&r?.(i.message)};if(i.key===`Enter`){i.preventDefault(),a(`down`);return}if(i.key===`Escape`){i.preventDefault(),n();return}i.key===`Tab`&&(i.preventDefault(),a(i.shiftKey?`left`:`right`))};function ye({message:t}){let[r,a]=(0,e.useState)(!1);return(0,n.jsx)(`div`,{ref:(0,e.useCallback)(e=>{e&&a(e.getBoundingClientRect().bottom>window.innerHeight-4)},[]),role:`alert`,className:i(`ssg-cell-editor-error`,r&&`ssg-cell-editor-error--above`),children:t})}function N({initialValue:t,onCommit:r,onCancel:a,align:o}){let s=(0,e.useRef)(null),[c,l]=(0,e.useState)(t),[u,d]=(0,e.useState)(null);return(0,e.useEffect)(()=>{let e=s.current;if(!e)return;e.focus();let t=e.value.length;e.setSelectionRange(t,t)},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:s,type:`text`,value:c,onChange:e=>{l(e.target.value),d(null)},onKeyDown:ve({value:c,onCommit:r,onCancel:a,onRejected:d}),onBlur:()=>{let e=r(c);e&&e.status===`rejected`&&a()},className:i(`ssg-cell-editor-input`,u!==null&&`ssg-cell-editor-input--invalid`),style:o?{textAlign:o}:void 0}),u===null?null:(0,n.jsx)(ye,{message:u})]})}function be({initialValue:t,min:r,max:a,step:o,onCommit:s,onCancel:c,align:l}){let u=(0,e.useRef)(null),[d,f]=(0,e.useState)(t),[p,m]=(0,e.useState)(null);return(0,e.useEffect)(()=>{u.current?.focus()},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:u,type:`number`,value:d,min:r,max:a,step:o,onChange:e=>{f(e.target.value),m(null)},onKeyDown:ve({value:d,onCommit:s,onCancel:c,onRejected:m}),onBlur:()=>{let e=s(d);e&&e.status===`rejected`&&c()},className:i(`ssg-cell-editor-input`,p!==null&&`ssg-cell-editor-input--invalid`),style:l?{textAlign:l}:void 0}),p===null?null:(0,n.jsx)(ye,{message:p})]})}var xe=8,Se=8,Ce=2,we=(e,t)=>{let n=String(t??``),r=e.findIndex(e=>e.value===n);return r>=0?r:0},Te=(e,t,n)=>{if(n<=0)return 0;let r=e+t;return r<0?0:r>n-1?n-1:r},Ee=()=>({buffer:``,lastInputTime:0}),De=(e,t,n,r)=>{let i=(n-e.lastInputTime>700?``:e.buffer)+t.toLocaleLowerCase(),a=r.findIndex(e=>e.label.toLocaleLowerCase().startsWith(i));return{state:{buffer:i,lastInputTime:n},index:a>=0?a:null}},Oe=(e,t,n,r)=>{let i=Math.max(e.width,180),a=Math.max(Se,n-i-Se),o=Math.min(Math.max(e.left,Se),a),s=Math.min(Math.max(t,1),xe)*28+8,c=e.bottom+Ce;return{left:o,top:c+s<=r-Se?c:Math.max(Se,e.top-Ce-s),width:i,maxHeight:s}};function ke({options:t,value:a,onCommit:o,onCancel:s,align:c,themeClassName:l}){let u=(0,e.useRef)(null),d=(0,e.useRef)(null),f=(0,e.useRef)(Ee()),[p,m]=(0,e.useState)(()=>we(t,a)),[h,g]=(0,e.useState)(null),[_,v]=(0,e.useState)(null),y=(0,e.useCallback)(e=>{u.current=e,e&&(e.focus(),g(Oe(e.getBoundingClientRect(),t.length,window.innerWidth,window.innerHeight)))},[t.length]);(0,e.useEffect)(()=>{let e=()=>{let e=u.current;e&&g(Oe(e.getBoundingClientRect(),t.length,window.innerWidth,window.innerHeight))};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[t.length]),(0,e.useEffect)(()=>{let e=d.current;e&&e.children[p]?.scrollIntoView?.({block:`nearest`})},[p]);let b=(e,t)=>{let n=o(e,t);n&&n.status===`rejected`&&v(n.message)},x=e=>{let n=t[p];if(!n){s();return}b(n.value,e)},S=e=>{if(!e.nativeEvent.isComposing){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let n=e.key===`ArrowDown`?1:-1;m(e=>Te(e,n,t.length)),v(null);return}if(e.key===`Enter`){e.preventDefault(),x(`down`);return}if(e.key===`Escape`){e.preventDefault(),s();return}if(e.key===`Tab`){e.preventDefault(),x(e.shiftKey?`left`:`right`);return}if(e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey){e.preventDefault();let n=De(f.current,e.key,Date.now(),t);f.current=n.state,n.index!==null&&(m(n.index),v(null))}}},C=t[p];return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:y,type:`text`,readOnly:!0,value:C?.label??String(a??``),onKeyDown:S,onBlur:()=>s(),className:i(`ssg-cell-editor-input ssg-cell-editor-input--select`,_!==null&&`ssg-cell-editor-input--invalid`),style:c?{textAlign:c}:void 0}),_===null?null:(0,n.jsx)(ye,{message:_}),h?(0,r.createPortal)((0,n.jsx)(`div`,{ref:d,role:`listbox`,className:i(`ssg-select-editor-popover`,l),style:{left:h.left,top:h.top,width:h.width,maxHeight:h.maxHeight},onPointerDown:e=>e.preventDefault(),children:t.length===0?(0,n.jsx)(`div`,{className:`ssg-select-editor-empty`,children:`候補がありません`}):t.map((e,t)=>(0,n.jsx)(`div`,{role:`option`,"aria-selected":t===p,className:i(`ssg-select-editor-option`,t===p&&`ssg-select-editor-option--highlighted`),onClick:()=>b(e.value),onPointerEnter:()=>m(t),children:e.label},`${e.value}-${t}`))}),document.body):null]})}function Ae({initialValue:t,onCommit:r,onCancel:a,align:o}){let s=(0,e.useRef)(null),[c,l]=(0,e.useState)(t),[u,d]=(0,e.useState)(null);return(0,e.useEffect)(()=>{s.current?.focus()},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:s,type:`date`,value:c,onChange:e=>{l(e.target.value),d(null)},onKeyDown:ve({value:c,onCommit:r,onCancel:a,onRejected:d}),onBlur:()=>{let e=r(c);e&&e.status===`rejected`&&a()},className:i(`ssg-cell-editor-input`,u!==null&&`ssg-cell-editor-input--invalid`),style:o?{textAlign:o}:void 0}),u===null?null:(0,n.jsx)(ye,{message:u})]})}function je({render:e,context:t}){return(0,n.jsx)(n.Fragment,{children:e(t)})}var Me=(e,t,n,r,i)=>e.readOnly||i.readOnly||i.editable===!1?!1:e.canEditCell?e.canEditCell(t,n,r,i):!0,P=(e,t)=>t.getValue?t.getValue(e):e[t.key],Ne=(e,t,n)=>t.setValue?t.setValue(e,n):{...e,[t.key]:n},Pe=e=>({checkedValue:e.checkedValue??!0,uncheckedValue:e.uncheckedValue??!1}),Fe=(e,t)=>Object.is(e,Pe(t).checkedValue),Ie=(e,t)=>{let{checkedValue:n,uncheckedValue:r}=Pe(t);return Object.is(e,n)?r:n},F=(e,t)=>{let{checkedValue:n,uncheckedValue:r}=Pe(t);if(e===``)return r;if(e===String(n))return n;if(e===String(r))return r;let i=e.toLowerCase();return i===`true`||i===`1`?n:r},Le=e=>{if(e===``)return null;let t=Number(e);return Number.isFinite(t)?t:e},Re=e=>`${String(e.getFullYear()).padStart(4,`0`)}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,ze=e=>{if(e instanceof Date)return Number.isNaN(e.getTime())?``:Re(e);if(typeof e==`string`&&e.trim()!==``){let t=/^(\d{4}-\d{2}-\d{2})/.exec(e);if(t)return t[1];let n=new Date(e);if(!Number.isNaN(n.getTime()))return Re(n)}return``},Be=e=>{if(e===``)return null;let t=ze(e);return t===``?e:t},Ve=e=>{if(e.parseClipboardValue)return e.parseClipboardValue;if(e.editor?.type===`number`)return Le;if(e.editor?.type===`date`)return Be;if(e.editor?.type===`checkbox`){let t=e.editor;return e=>F(e,t)}return e=>e},He=(e,t,n)=>typeof t==`string`?Ve(e)(t,n):t,Ue=(e,t,n,r)=>e.map((e,i)=>i===t?Ne(e,n,r):e);function We({rect:t,headerHeight:r,leadingWidth:i,baseOffset:a=0,initialValue:o,editor:s,editorSession:c,themeClassName:l,onCommit:u,onCancel:d,align:f}){let p=t!==null,[m,h]=(0,e.useState)(!1),[g,_]=(0,e.useState)(0);if(p!==m&&(h(p),p&&_(g+1)),!t)return null;let v={position:`absolute`,left:i+t.left,top:r+t.top-a,width:t.width,height:t.height},y;return y=s?.type===`number`?(0,n.jsx)(be,{initialValue:o,min:s.min,max:s.max,step:s.step,onCommit:u,onCancel:d,align:f},g):s?.type===`date`?(0,n.jsx)(Ae,{initialValue:ze(c?c.value:o),onCommit:u,onCancel:d,align:f},g):s?.type===`custom`?c?(0,n.jsx)(je,{render:s.render,context:{row:c.row,rowIndex:c.rowIndex,colIndex:c.colIndex,column:c.column,value:c.value,initialText:o,align:f,commit:(e,t)=>u(e,t)??{status:`noop`},cancel:d}},g):null:s?.type===`select`?(0,n.jsx)(ke,{options:typeof s.options==`function`?c?s.options(c.row):[]:s.options,value:c?.value,onCommit:u,onCancel:d,align:f,themeClassName:l},g):(0,n.jsx)(N,{initialValue:o,onCommit:u,onCancel:d,align:f},g),(0,n.jsx)(`div`,{className:`ssg-cell-editor`,style:v,children:y})}var Ge=e=>{let t=new Int32Array(e);for(let n=0;n<e;n+=1)t[n]=n;return t},Ke=e=>e?.kind===`set`,qe=e=>{if(!e)return!1;switch(e.kind){case`set`:case`number`:case`custom`:return!0;case`select`:return e.value.length>0;case`text`:case`date`:return e.value.trim().length>0}},Je=e=>{let t=e.trim();if(!t)return null;let n=t.match(/^(-?\d+(?:\.\d+)?)\s*\.\.\s*(-?\d+(?:\.\d+)?)$/);if(n){let e=Number(n[1]),t=Number(n[2]);return!Number.isFinite(e)||!Number.isFinite(t)?null:{mode:`range`,min:Math.min(e,t),max:Math.max(e,t)}}let r=t.match(/^(<=|>=|=|<|>)?\s*(-?\d+(?:\.\d+)?)$/);return r?{mode:`comparison`,operator:r[1]??`=`,value:Number(r[2])}:null},Ye=e=>e?.kind===`number`,Xe=e=>{let t=e.trim();return t?{kind:`number`,raw:t,parsed:Je(t)}:null},Ze=e=>{if(!e)return``;switch(e.kind){case`number`:return e.raw;case`text`:case`date`:case`select`:return e.value;case`set`:case`custom`:return``}},Qe=(e,t,n)=>{if(!qe(t))return null;let r=t;if(e.filterFn){let t=e.filterFn;return e=>t(e,r)}switch(r.kind){case`set`:{let t=new Set(r.values);return r.mode===`exclude`?n=>!t.has(String(P(n,e)??``)):n=>t.has(String(P(n,e)??``))}case`number`:{let t=r.parsed;if(t===null){let t=r.raw.toLowerCase();return n=>String(P(n,e)??``).toLowerCase().includes(t)}if(t.mode===`range`){let{min:r,max:i}=t;return(t,a)=>{let o=n?n[a]:Number(P(t,e));return Number.isFinite(o)&&o>=r&&o<=i}}let{operator:i,value:a}=t;return(t,r)=>{let o=n?n[r]:Number(P(t,e));if(!Number.isFinite(o))return!1;switch(i){case`>`:return o>a;case`>=`:return o>=a;case`<`:return o<a;case`<=`:return o<=a;default:return o===a}}}case`select`:{let t=r.value;return n=>String(P(n,e)??``)===t}case`text`:case`date`:{let t=r.value.trim().toLowerCase();return n=>String(P(n,e)??``).toLowerCase().includes(t)}case`custom`:{let t=String(r.value??``).trim().toLowerCase();return n=>String(P(n,e)??``).toLowerCase().includes(t)}}},$e=(e,t,n)=>{let r=t.length;for(let i=0;i<r;i+=1){let r=P(e,t[i]);if(String(r??``).toLowerCase().includes(n))return!0}return!1},et=(e,t,n,r)=>{let i=r.trim().toLowerCase();if(!i)return t;let a=t.length,o=new Int32Array(a),s=0;for(let r=0;r<a;r+=1){let a=t[r];$e(e[a],n,i)&&(o[s]=a,s+=1)}return s===a?t:o.slice(0,s)},tt=(e,t,n,r,i)=>{let a=[];for(let e of n){let t=Qe(e,r[e.key],i?.get(e.key));t&&a.push(t)}if(a.length===0)return t;let o=t.length,s=a.length,c=new Int32Array(o),l=0;for(let n=0;n<o;n+=1){let r=t[n],i=e[r],o=!0;for(let e=0;e<s;e+=1)if(!a[e](i,r)){o=!1;break}o&&(c[l]=r,l+=1)}return l===o?t:c.slice(0,l)},nt=240,rt=8,it=8,at=260,ot=400,st=({visibleColumns:t,columnFilterValues:n,enableColumnFilter:r,gridRootRef:i})=>{let[a,o]=(0,e.useState)(null),[s,c]=(0,e.useState)(null),l=(0,e.useRef)(null),u=(0,e.useRef)(null),d=(0,e.useRef)(null),f=(0,e.useRef)(null),p=a!==null,m=a?.columnKey??null,h=(0,e.useMemo)(()=>m?t.find(e=>e.key===m)??null:null,[m,t]),g=(0,e.useCallback)(()=>{if(!m||!u.current){c(null);return}let e=u.current.getBoundingClientRect(),t=h?.filterType===`set`?ot:at,n=e.right-nt;n=Math.max(rt,n),n=Math.min(n,window.innerWidth-nt-rt);let r=e.bottom+it;r+t>window.innerHeight-rt&&(r=e.top-t-it),r=Math.max(rt,r),c(e=>e&&e.top===r&&e.left===n&&e.width===nt?e:{top:r,left:n,width:nt})},[m,h]),_=(0,e.useCallback)(e=>{if(!r)return;document.activeElement instanceof HTMLElement&&document.activeElement.blur(),i.current?.blur();let t=i.current?.querySelectorAll(`[data-ssg-col-key]`),a=t?Array.from(t).find(t=>t.dataset.ssgColKey===e.key)??null:null;u.current=a,o({columnKey:e.key,draftValue:Ze(n[e.key])})},[n,r,i]),v=(0,e.useCallback)(()=>{o(null),c(null),u.current=null,d.current=null,f.current=null,requestAnimationFrame(()=>{i.current?.focus()})},[i]),y=(0,e.useCallback)(e=>{o(t=>t&&{...t,draftValue:e})},[]);return(0,e.useEffect)(()=>{if(!m)return;g();let e=()=>{g()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[m,g]),(0,e.useEffect)(()=>{if(!h||!s)return;let e=h.filterType??`text`,t=0,n=0;return t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{if(e===`select`){f.current?.focus();return}let t=d.current;if(!t)return;t.focus();let n=t.value.length;t.setSelectionRange(n,n)})}),()=>{cancelAnimationFrame(t),cancelAnimationFrame(n)}},[h,s?.top,s?.left,s?.width]),(0,e.useEffect)(()=>{if(!p)return;let e=e=>{let t=e.target;t&&(l.current?.contains(t)||v())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[v,p]),{filterPopoverState:a,filterPopoverLayout:s,filterPopoverRef:l,filterTextInputRef:d,filterSelectRef:f,isFilterPopoverOpen:p,openedFilterColumn:h,openColumnFilterPopover:_,closeColumnFilterPopover:v,updateFilterPopoverDraft:y}},ct=`入力値が不正です`,lt=e=>e===!0?{valid:!0,message:``}:e===!1?{valid:!1,message:ct}:typeof e==`string`?{valid:!1,message:e||`入力値が不正です`}:{valid:!1,message:e.message||`入力値が不正です`},ut=(e,t,n)=>{if(!e.validate)return null;let r=lt(e.validate({value:n,row:t,column:e}));return r.valid?null:r.message},dt=(e,t,n)=>{if((e.validationMode??`mark`)!==`reject`)return{action:`write`};let r=ut(e,t,n);return r===null?{action:`write`}:{action:`reject`,message:r}},ft=(e,t,n)=>{let r=t.filter(e=>e.validate);if(r.length===0)return[];let i=[];return e.forEach((e,t)=>{for(let a of r){let r=ut(a,e,P(e,a));r!==null&&i.push({rowKey:n(e,t)??t,sourceRowIndex:t,columnKey:a.key,message:r})}}),i},pt=e=>{let t=e.replace(/\r\n/g,`
|
|
2
2
|
`).replace(/\r/g,`
|
|
3
3
|
`);return t?t.split(`
|
|
4
|
-
`).filter(e=>e.length>0).map(e=>e.split(` `)):[]},
|
|
5
|
-
`)}if(r.type===`row`){let t=fe(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=
|
|
6
|
-
`)}let a=pe(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=
|
|
7
|
-
`)},
|
|
8
|
-
`)},[n,r]);return{isWholeGridSelected:h,handleCopy:(0,e.useCallback)(async()=>{let e=h?g():Re(n.getRow,n.getRowCount(),r,i.selection);e&&navigator.clipboard?.writeText&&await navigator.clipboard.writeText(e)},[h,n,g,i.selection,r]),handlePaste:(0,e.useCallback)(e=>{if(s||!d||!i.activeCell)return;let m=e.clipboardData.getData(`text/plain`);if(!m)return;e.preventDefault();let h=Le(m);if(h.length===0)return;let g=i.activeCell.row,_=n.getSourceIndex(g);if(_===void 0)return;let v=i.activeCell.col,y=[...t],b=[...r],x=n.getRowCount(),S=y.length,C=e=>e<x?n.getSourceIndex(e):S+(e-x),w=_+h.length;if(w>y.length&&l)for(;y.length<w;)y.push(l());let T=h.reduce((e,t)=>Math.max(e,t.length),0);if(T===0)return;let E=v+T;if(E>b.length&&f&&u){for(;b.length<E;)b.push(u(b.length));f(b)}let D=ze(y,C,b,h,g,v,(e,t,n,r)=>ye({readOnly:s,canEditCell:c},e,t,n,r)),O=o(i.activeCell.row+Math.max(h.length-1,0),0,Math.max(Math.max(n.getRowCount()-1,0),g+h.length-1)),k=o(i.activeCell.col+Math.max((h[0]?.length??1)-1,0),0,Math.max(Math.max(b.length-1,0),v+T-1));d(D),p(a.startSelection(i.activeCell)),p(a.updateSelection({row:O,col:k})),p(a.endSelection()),p(a.activateCell(i.activeCell))},[c,u,l,p,f,d,s,n,t,i.activeCell,r])}},Ve=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},He=(e,t,n)=>e?e(t):n,Ue=(e,t=16)=>e.length<=t?e:`${e.slice(0,t)}…`,We=e=>e?`${Ve(e.col)}${e.row+1}`:`なし`,Ge=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`${Ve(r)}${t+1} - ${Ve(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 ${Ve(t)} - ${Ve(n)}`},Ke=(e,t)=>`Rows: ${t} / ${e.rows.length}`,F=e=>`Columns: ${e.visibleColumns.length} / ${e.columns.length}`,qe=(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}},Je=(e,t)=>{let n=qe(e,t);return`Cells: ${n.selectedCellCount} / Rows: ${n.selectedRowCount}`},Ye=e=>Object.values(e).filter(e=>Ce(e)).length,Xe=e=>{let t=e.globalFilterText.trim().length>0,n=t?Ue(e.globalFilterText.trim()):null,r=Ye(e.columnFilterValues);return!t&&r===0?`Filter: なし`:t&&r===0?`Filter: Global("${n}")`:!t&&r>0?`Filter: ${r}列`:`Filter: Global("${n}") + ${r}列`},Ze=(e,t)=>{let n=e.find(e=>e.key===t);return n?.title||n?.key||t},Qe=e=>e.sortState.length===0?`Sort: なし`:`Sort: ${e.sortState.map(t=>`${Ze(e.columns,t.columnKey)} (${t.direction===`asc`?`昇順`:`降順`})`).join(`, `)}`,$e=(e,t)=>{let n=qe(e,t),r=e.globalFilterText.trim().length>0,i=r?Ue(e.globalFilterText.trim()):null,a=Ye(e.columnFilterValues),o=r||a>0,s=e.sortState.length>0,c=s?Ze(e.columns,e.sortState[0].columnKey):null;return{rowSummaryText:Ke(e,t),columnSummaryText:F(e),filterSummaryText:Xe(e),sortSummaryText:Qe(e),activeCellLabel:We(e.activeCell),selectionLabel:Ge(e.selection),selectionStatsText:Je(e,t),selectionStats:n,hasGlobalFilter:r,globalFilterPreview:i,activeColumnFilterCount:a,hasAnyFilter:o,hasSorting:s,sortedColumnLabel:c}},et=({rows:t,viewRowCount:n,getFilteredRows:r,columns:i,visibleColumns:a,uiState:o,setGlobalFilterText:s,globalFilterStatus:c,globalFilterProgress:l})=>{let u=me(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)(()=>$e(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])}},tt=({uiState:t,rows:n,visibleColumns:r,rowModel:i,setEditorInitialValue:o,onRowsChange:s,dispatch:c,getMovedCell:l,gridRootRef:u,editorActionGuardRef:d})=>{let f=(0,e.useCallback)(e=>{c(a.startSelection(e)),c(a.endSelection()),c(a.activateCell(e))},[c]);return{activateSingleCell:f,startEditWithValue:(0,e.useCallback)((e,t)=>{o(t),c(a.startEdit(e))},[c,o]),commitEdit:(0,e.useCallback)((e,o)=>{if(d.current||!t.editingCell)return;let p=t.editingCell,m=o===`down`?l(p,1,0):o===`right`?l(p,0,1):o===`left`?l(p,0,-1):p,h=r[p.col],g=i.getSourceIndex(p.row),_=n[g];if(!h||!_){c(a.stopEdit());return}if(s){let t=h.parseClipboardValue?h.parseClipboardValue(e,_):e;s(n.map((e,n)=>n===g?be(e,h,t):e))}d.current=!0,requestAnimationFrame(()=>{u.current?.focus(),f(m),d.current=!1}),c(a.stopEdit())},[f,c,d,i,l,u,s,n,t.editingCell,r]),cancelEdit:(0,e.useCallback)(()=>{d.current||(d.current=!0,c(a.stopEdit()),requestAnimationFrame(()=>{u.current?.focus(),d.current=!1}))},[c,d,u])}},nt=()=>({past:[],future:[]}),rt=e=>e.past.length>0,it=e=>e.future.length>0,at=(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:[]}},ot=(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}},st=(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}},ct=({rows:t,selection:n,activeCell:r,onRowsChange:i,dispatch:o,enabled:s,limit:c,onUndoRedoStateChange:l,onAfterRestore:u})=>{let d=(0,e.useRef)(nt()),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&&rt(d.current),canRedo:s&&i!=null&&it(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=nt(),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=at(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=ot(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=st(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&&rt(d.current),[s,i]),canRedo:(0,e.useCallback)(()=>s&&i!=null&&it(d.current),[s,i]),clearHistory:(0,e.useCallback)(()=>{d.current=nt(),h()},[h])}},lt=e=>e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey,ut=e=>e instanceof HTMLElement?e.closest(`input, textarea, select, button, [contenteditable="true"]`)!==null:!1,dt=({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})=>{let _=n.getRowCount(),v=(0,e.useCallback)((e,t,n)=>({row:o(e.row+t,0,Math.max(_-1,0)),col:o(e.col+n,0,Math.max(r.length-1,0))}),[_,r.length]),y=(0,e.useCallback)((e,n,i)=>{if(_===0||r.length===0)return;let s=t.activeCell??{row:0,col:0},c={row:o(s.row+e,0,_-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,_,t.activeCell,t.selection,r.length]);return{getMovedCell:v,handleKeyDown:(0,e.useCallback)(async e=>{if(!ut(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(),y(-1,0,e.shiftKey);return}if(e.key===`ArrowDown`){e.preventDefault(),y(1,0,e.shiftKey);return}if(e.key===`ArrowLeft`){e.preventDefault(),y(0,-1,e.shiftKey);return}if(e.key===`ArrowRight`){e.preventDefault(),y(0,1,e.shiftKey);return}if(e.key===`Tab`){e.preventDefault(),y(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===`F2`){e.preventDefault(),t.activeCell&&d(t.activeCell);return}if(lt(e)&&t.activeCell){let o=n.getRow(t.activeCell.row),u=r[t.activeCell.col];if(!o||!u||!ye({readOnly:i,canEditCell:s},t.activeCell.row,t.activeCell.col,o,u))return;e.preventDefault(),c(e.key),l(a.startEdit(t.activeCell))}}},[s,l,n,d,u,f,y,g,h,m,i,p,c,t.activeCell,t.editingCell,r])}},ft=new Intl.Collator(`ja`,{numeric:!0,sensitivity:`base`}),pt=(e,t)=>{let n=Number(e),r=Number(t);return Number.isFinite(n)&&Number.isFinite(r)?n-r:ft.compare(String(e??``),String(t??``))},mt=(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)},ht=(e,t,n)=>e.some(e=>e.columnKey===t)?e:[...e,{columnKey:t,direction:n}],gt=(e,t,n)=>t<0||t>=e.length||e[t].direction===n?e:e.map((e,r)=>r===t?{...e,direction:n}:e),_t=(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),vt=(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},bt=(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(N(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]=N(e[t[i]],n);return r});u.sort((e,r)=>{for(let t=0;t<o;t+=1){let i=pt(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},xt=15e6,St=(e,t,n,r)=>e&&t&&n>0&&n<=r,Ct=1<<20,wt=(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))}),Tt=(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}},Et=(e,t)=>e*t,Dt=(e,t)=>t===1?e:e/t,Ot=(e,t,n,r)=>{let i=t*(1-n);return r.rowAtContentY(e-i)},kt=({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/Ct)*Ct,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}},At=({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}},jt=({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}},I=(e,t,n,r)=>e<t+r?-1:+(e>n-r),Mt=(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},Nt=(e,t,n)=>{let r=t.x-e.x,i=t.y-e.y;return r*r+i*i>=n*n},Pt=({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:ee,onGutterRowSelectDrag:te})=>{let A=(0,e.useRef)(u.dragState);A.current=u.dragState;let ne=(0,e.useRef)(!1),j=(0,e.useRef)(null),M=(0,e.useRef)(null),re=(0,e.useRef)(!1),ie=(0,e.useRef)(u.sort);ie.current=u.sort;let ae=(0,e.useRef)(m);ae.current=m;let oe=(0,e.useRef)(p);oe.current=p;let se=u.dragState?.type??null,ce=(0,e.useCallback)((e,t)=>{let a=n.current;if(!a||h===0||g===0)return null;let c=a.getBoundingClientRect(),l=Ot(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]),le=(0,e.useRef)(ce);(0,e.useEffect)(()=>{le.current=ce},[ce]);let ue=(0,e.useCallback)((e,t)=>{let n=A.current;if(!n||n.type!==`selection`)return;let r=ce(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,ce]);(0,e.useEffect)(()=>{let e=e=>{c.current={x:e.clientX,y:e.clientY},se===`columnResize`&&d(a.updateColumnResize(e.clientX))},t=()=>{ne.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,se]),(0,e.useEffect)(()=>{if(se!==`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(!re.current){let t=M.current;if(t&&!Nt(t,n,6)){l.current=requestAnimationFrame(e);return}re.current=!0}let i=t.getBoundingClientRect(),a=jt({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=A.current?.type===`selection`&&A.current.selectionKind===`col`,s=A.current?.type===`selection`&&A.current.selectionKind===`row`,u=o?0:I(n.y,a.top,a.bottom,24),d=s?0:I(n.x,a.left,a.right,24),f=Mt(t.scrollTop,u,18,t.scrollHeight-t.clientHeight),p=Mt(t.scrollLeft,d,18,t.scrollWidth-t.clientWidth);(f!==t.scrollTop||p!==t.scrollLeft)&&(t.scrollTo({top:f,left:p,behavior:`auto`}),ue(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,se,ue]);let de=(0,e.useCallback)((e,n)=>{n.preventDefault(),n.button===0&&(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},M.current={x:n.clientX,y:n.clientY},re.current=!1,d(a.activateCell(e)),f&&d(a.startSelection(e)))},[d,f,t,c]),fe=(0,e.useCallback)((e,t)=>{if(D&&T(e.row),!f)return;let n=A.current;n?.type!==`selection`||n.selectionKind!==`cell`||(c.current={x:t.clientX,y:t.clientY},d(a.updateSelection(e)))},[d,f,c,T,D]),pe=(0,e.useCallback)(e=>{e.preventDefault()},[]),me=(0,e.useCallback)(()=>{if(j.current!==null)return;let e=()=>{if(!ne.current){j.current=null;return}let t=r.current,n=c.current;if(!t||!n){j.current=requestAnimationFrame(e);return}if(!re.current){let t=M.current;if(t&&!Nt(t,n,6)){j.current=requestAnimationFrame(e);return}re.current=!0}let i=t.getBoundingClientRect(),a=jt({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=I(n.y,a.top,a.bottom,24),s=Mt(t.scrollTop,o,18,t.scrollHeight-t.clientHeight);if(s!==t.scrollTop){t.scrollTo({top:s,left:t.scrollLeft,behavior:`auto`});let e=le.current(n.x,n.y);e&&te(e.row)}j.current=requestAnimationFrame(e)};j.current=requestAnimationFrame(e)},[r,c,te]);return(0,e.useEffect)(()=>()=>{j.current!==null&&(cancelAnimationFrame(j.current),j.current=null)},[]),{updateSelectionFromPointer:ue,handleCellPointerDown:de,handleCellPointerEnter:fe,handleNativeDragStart:pe,handleRowHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},M.current={x:n.clientX,y:n.clientY},re.current=!1,k){ne.current=!0,ee(e,{shiftKey:n.shiftKey}),me();return}d(a.startRowSelection(e))}},[d,t,k,ee,me,c]),handleRowHeaderPointerEnter:(0,e.useCallback)((e,t)=>{if(D&&T(e),ne.current){c.current={x:t.clientX,y:t.clientY},te(e);return}let n=A.current;n?.type!==`selection`||n.selectionKind!==`row`||(c.current={x:t.clientX,y:t.clientY},d(a.updateRowSelection(e)))},[d,c,T,D,te]),handleColumnHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},M.current={x:n.clientX,y:n.clientY},re.current=!1,n.shiftKey&&oe.current){let t=ae.current[e];if(t){let e=ie.current,n=e.find(e=>e.columnKey===t.key)?.direction?`desc`:`asc`,r=mt(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=A.current;n?.type!==`selection`||n.selectionKind!==`col`||(c.current={x:t.clientX,y:t.clientY},d(a.updateColumnSelection(e)))},[d,c,T,E,O])}},Ft=({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=Et(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:Dt(g,d),left:_,behavior:`auto`})},[t,u,o,s,c,l,d])};function It(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 Lt=`data-ssg-tooltip`,Rt=`[${Lt}], [data-ssg-tooltip-overflow]`,zt=350,Bt=800,L=0,R=null,Vt=null,Ht=0,Ut=null;function Wt(){if(R!==null)return R;let e=document.createElement(`div`);return e.className=`ssg-tooltip`,e.setAttribute(`aria-hidden`,`true`),document.body.appendChild(e),R=e,e}function z(){Vt!==null&&(window.clearTimeout(Vt),Vt=null)}function Gt(){z(),Ut!==null&&(Ht=Date.now()+Bt),Ut=null,R!==null&&R.classList.remove(`ssg-tooltip--visible`)}function Kt(e){let t=e.getAttribute(Lt),n=t!==null&&t!==``?t:(e.textContent??``).trim();if(n===``)return;let r=Wt();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=It({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`),Ut=e}function qt(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(Rt);if(n===null||n===Ut||!n.hasAttribute(Lt)&&n.scrollWidth<=n.clientWidth+1)return;let r=Ut!==null;Gt(),r||Date.now()<Ht?Kt(n):Vt=window.setTimeout(()=>{Vt=null,Kt(n)},zt)}function Jt(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(Rt);if(n===null)return;let r=e.relatedTarget;r instanceof Node&&n.contains(r)||Gt()}function Yt(){Gt()}function Xt(e){e.key===`Escape`&&Gt()}function Zt(){window.addEventListener(`pointerover`,qt,!0),window.addEventListener(`pointerout`,Jt,!0),window.addEventListener(`focusin`,qt,!0),window.addEventListener(`focusout`,Jt,!0),window.addEventListener(`pointerdown`,Yt,!0),window.addEventListener(`scroll`,Yt,!0),window.addEventListener(`keydown`,Xt,!0)}function Qt(){window.removeEventListener(`pointerover`,qt,!0),window.removeEventListener(`pointerout`,Jt,!0),window.removeEventListener(`focusin`,qt,!0),window.removeEventListener(`focusout`,Jt,!0),window.removeEventListener(`pointerdown`,Yt,!0),window.removeEventListener(`scroll`,Yt,!0),window.removeEventListener(`keydown`,Xt,!0)}function $t(){(0,e.useEffect)(()=>(L+=1,L===1&&Zt(),()=>{--L,L===0&&(Qt(),z(),Ut=null,R!==null&&(R.remove(),R=null))}),[])}var en=`(prefers-color-scheme: dark)`;function tn(e){if(typeof window.matchMedia!=`function`)return()=>{};let t=window.matchMedia(en);return t.addEventListener(`change`,e),()=>{t.removeEventListener(`change`,e)}}function B(){return typeof window.matchMedia==`function`?window.matchMedia(en).matches:!1}function nn(t){let n=(0,e.useSyncExternalStore)(tn,B);return t===`dark`||t===`auto`&&n?`dark`:`light`}function V(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 rn=32,H=2,an=14,on=12,sn=`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="5 9 2 12 5 15"/><polyline points="9 5 12 2 15 5"/><polyline points="15 19 12 22 9 19"/><polyline points="19 9 22 12 19 15"/><line x1="2" y1="12" x2="22" y2="12"/><line x1="12" y1="2" x2="12" y2="22"/></svg>`,U=`<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="12" y1="17" x2="12" y2="22"/><path d="M5 17h14v-1.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V6h1a2 2 0 0 0 0-4H8a2 2 0 0 0 0 4h1v4.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24Z"/></svg>`,W=`<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>`,cn=`0.5`,ln=200,un=`cubic-bezier(0.2, 0.7, 0.3, 1)`,dn=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,G=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},fn=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+an)+`px,`+(r+on)+`px)`;let i=e??`out`;if(_.current===i)return;_.current=i;let a=g.current;i===`out`?(t.style.opacity=cn,a&&(a.innerHTML=W)):(t.style.opacity=`1`,a&&(a.innerHTML=i===`center`?sn:U))},[]),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+rn)return{pane:`left`,slot:0,leftPx:H};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-rn)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||Nt(e,t,6))&&(f.current=!0)}if(f.current){let n=e.getBoundingClientRect(),r=jt({rectLeft:n.left,rectTop:n.top,clientLeft:e.clientLeft,clientTop:e.clientTop,clientWidth:e.clientWidth,clientHeight:e.clientHeight}),i=I(t.x,r.left,r.right,24),a=Mt(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=V(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&&!dn()?G(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 ${ln}ms ${un}`,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}},pn=e=>e===``?`(空白)`:`"${e}"`,mn=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(pn).join(`, `):`${e.values.length} 件を選択`;case`custom`:return typeof e.value==`string`&&e.value.trim().length>0?`"${e.value.trim()}"`:`カスタム条件`}},hn=(e,t,n,r)=>{if(n===0||r===0)return null;let i=n-1,a=r-1;if(e?.type===`cell`){let t=de(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=fe(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=pe(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},gn=({rows:e,resolveSourceIndex:t,columns:n,selection:r,activeCell:i,viewRowCount:a,canWriteCell:o})=>{let s=hn(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=t.parseClipboardValue?t.parseClipboardValue(``,i):``;Object.is(N(a,t),s)||(a=be(a,t,s),u=!0)}u&&(c[r]=a,l=!0)}return l?{nextRows:c,changed:l}:{nextRows:e,changed:!1}},_n=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}},vn=(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},yn=(e,t)=>e.includes(t)||e.includes(`"`)||e.includes(`
|
|
9
|
-
`)||e.includes(`\r`)?`"${e.replace(/"/g,`""`)}"`:e,
|
|
10
|
-
`);return o?`\uFEFF${c}`:c},Sn=({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=N(t,e);return{value:n,text:e.formatClipboardValue?e.formatClipboardValue(n,t):String(n??``)}}))}return{columns:i,rows:a}},Cn=e=>e===`all`?`view`:e===`visible`?`rendered`:e,wn=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}}},Tn=e=>{let t={};for(let n of Object.keys(e))t[n]=wn(e[n]);return t},En=e=>{let t={key:e.key};return e.visible!==void 0&&(t.visible=e.visible),e.pinned!==void 0&&(t.pinned=e.pinned),t},Dn=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}),On=(e,t,n,r=[],i=2)=>({version:i,columnWidths:{...e},filters:{globalText:t.globalText,columnFilters:Tn(t.columnFilters)},sort:n.map(e=>({...e})),columns:r.map(En)}),kn=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]=wn(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}},An=(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)},jn=(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,Mn=(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&&jn(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)}},Nn=(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},Pn=(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)||!Mn(e[r],t[r]))return!1;return!0},Fn=(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},In=(e,t)=>{if(e.version!==t.version||!Nn(e.columnWidths,t.columnWidths)||e.filters.globalText!==t.filters.globalText||!Pn(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!!Fn(e.columns,t.columns)},Ln=(e,t,n)=>n?{emit:!1,nextLast:e}:e===null||In(e,t)?{emit:!1,nextLast:t}:{emit:!0,nextLast:t},Rn=({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))},zn=({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))},Bn=(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]},Vn=(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 Bn(s,0),s},Hn=(e,t,n,r)=>t<0||t>=e.rowCount||(e.measured.set(n,r),e.heights[t]===r)?!1:(e.heights[t]=r,!0),Un=(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)},Wn=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=>Un(t,n,e)}},Gn=21,Kn=4,qn=41,Jn=13,K=600,Yn=60,Xn=16,Zn=null,Qn=()=>Zn||(typeof document>`u`?null:(Zn=document.createElement(`canvas`).getContext(`2d`),Zn)),$n=`system-ui, sans-serif`,er=e=>{let t=$n,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:`${K} ${Jn}px ${t}`}},tr=(e,t,n)=>Math.min(Math.max(e,t),n),nr=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,rr=e=>{let t=0;for(let n of e){let e=n.codePointAt(0)??0;t+=nr(e)?2:1}return t},q=(e,t)=>{let n=N(e,t);return t.valueFormatter?t.valueFormatter({value:n,row:e,column:t}):String(n??``)},ir=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},ar=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},or=e=>e.suppressAutoSize===!0||e.autoHeight===!0;function sr(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(or(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(N(a,e[o])??``);if(c===``)continue;let l=t[o],u=n[o];if(l.length===Xn&&2*c.length<=r[o])continue;let d=rr(c);if(l.length<Xn){if(l.push(a),u.push(d),l.length===Xn){let e=u[0];for(let t=1;t<Xn;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<Xn;e+=1)u[e]<u[f]&&(f=e);l[f]=a,u[f]=d;let p=u[0];for(let e=1;e<Xn;e+=1)u[e]<p&&(p=u[e]);r[o]=p}},finalize:({gridRoot:n,currentWidths:r})=>{let a=Qn();if(!a||e.length===0)return{};let{cellFont:o,headerFont:s}=er(n),c={},l=ir(n);try{let n=null;if(l){let r=[];for(let n=0;n<e.length;n+=1){if(or(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=q(i[t],e[n]);if(r===``)continue;let o=ar(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(or(u))continue;a.font=s;let d=u.title||u.key,f=a.measureText(d).width+Kn+qn,p;if(u.estimateCellWidth)p=i[l]>0?i[l]+Gn: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=q(n[t],u);if(r===``)continue;let i=a.measureText(r).width;i>e&&(e=i)}p=e>0?e+Kn+Gn:0}let m=Math.ceil(tr(Math.max(f,p),u.minWidth??Yn,u.maxWidth??1/0));r[u.key]!==m&&(c[u.key]=m)}}finally{l&&l.parentNode&&l.parentNode.removeChild(l)}return c}}}function cr(){return Qn()!==null}var J=()=>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)}),lr=10,ur=180,dr=()=>typeof performance<`u`?performance.now():Date.now(),fr=({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||!cr())return;let o=c.current+=1;u();let d=t.current,f=d.getRowCount(),p=n.current,m=r.current,h=sr(e);l.current=setTimeout(()=>{c.current===o&&s(!0)},ur);try{let e=0;for(;e<f;){let n=dr();for(;e<f&&dr()-n<lr;){let t=d.getRow(e);t&&h.collect(t),e+=1}if(e<f&&(await J(),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])}},pr=()=>{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)=>ft.compare(e.label,t.label))}}},mr=(e,t)=>{let n=pr();for(let r=0;r<e;r+=1)n.collect(t(r));return n.finalize()},hr=10,gr=()=>typeof performance<`u`?performance.now():Date.now(),_r=[],vr=new Set,yr={status:`idle`,options:_r,allValues:vr,progress:0},Y={status:`collecting`,options:_r,allValues:vr,progress:0},br=e=>new Set(e.map(e=>e.value)),xr={source:null,rowCount:0,result:yr},Sr=({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 yr;if(o){let e=o;return{status:`ready`,options:e,allValues:br(e),progress:1}}if(!s){let e=mr(n,r);return{status:`ready`,options:e,allValues:br(e),progress:1}}return null},[t,a,o,s,n,r]),[l,u]=(0,e.useState)(xr);(0,e.useEffect)(()=>{if(c!==null)return;let e=r,t=n,i=pr(),a=!1;return(async()=>{let n=0;for(;n<t;){let r=gr();for(;n<t&&gr()-r<hr;)i.collect(e(n)),n+=1;if(n<t){if(await J(),a)return;u({source:e,rowCount:t,result:{status:`collecting`,options:_r,allValues:vr,progress:n/t}})}}if(a)return;let r=i.finalize();u({source:e,rowCount:t,result:{status:`ready`,options:r,allValues:br(r),progress:1}})})(),()=>{a=!0}},[c,n,r]);let d=l.source===r&&l.rowCount===n?l.result:Y;return c??d},Cr=10,wr=()=>typeof performance<`u`?performance.now():Date.now(),Tr=({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:Ae(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=wr();for(;n<c&&wr()-r<Cr;){let r=i[n];ke(e[r],a,o)&&(u[t]=r,t+=1),n+=1}if(n<c){if(await J(),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 Er(e){let t=e.blockSize,n=e.maxBlocks,r=new Map,i=e=>{let t=r.get(e);t!==void 0&&(r.delete(e),r.set(e,t))},a=()=>{for(;r.size>n;){let e=r.keys().next().value;if(e===void 0)break;r.delete(e)}};return{getRow:e=>{if(t<=0||e<0)return;let n=Math.floor(e/t),i=r.get(n);if(i!==void 0)return i[e-n*t]},hasBlock:e=>r.has(e),setBlock:(e,t)=>{r.has(e)&&r.delete(e),r.set(e,t),a()},touchBlocks:e=>{for(let t of e)i(t)},clear:()=>{r.clear()},loadedBlockIndexes:()=>Array.from(r.keys())}}function Dr(e,t){return Math.floor(e/t)}function Or(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=Dr(i,n),s=Dr(a-1,n),c=[];for(let e=o;e<=s;e+=1)c.push(e);return c}var kr=100,Ar=64,jr=120;function Mr(t){let{dataSource:n,rowKeyGetter:r,query:i,queryKey:a,refreshToken:o}=t,s=n?.blockSize??kr,c=n?.maxCachedBlocks??Ar,l=t.debounceMs??jr,[u]=(0,e.useState)(()=>Er({blockSize:s,maxBlocks:c})),[d,f]=(0,e.useState)(n?.initialRowCount??0),[p,m]=(0,e.useState)(0),h=(0,e.useRef)(d),g=(0,e.useRef)(!1),_=(0,e.useRef)(new Map),v=(0,e.useRef)(null),y=(0,e.useRef)({start:0,end:0}),b=(0,e.useCallback)(e=>{if(n==null||u.hasBlock(e)||_.current.has(e))return;let t=new AbortController;_.current.set(e,t);let r=e*s,a=r+s;n.getRows({startIndex:r,endIndex:a,query:i,signal:t.signal}).then(n=>{t.signal.aborted||_.current.get(e)===t&&(_.current.delete(e),u.setBlock(e,n.rows),n.totalRowCount!==h.current&&(h.current=n.totalRowCount,f(n.totalRowCount)),m(e=>e+1))}).catch(()=>{_.current.get(e)===t&&_.current.delete(e)})},[u,s,n,i]),x=(0,e.useCallback)(()=>{let{start:e,end:t}=y.current,n=Or(e,t,s,h.current),r=new Set(n);for(let[e,t]of _.current)r.has(e)||(t.abort(),_.current.delete(e));for(let e of n)b(e)},[s,b]),S=(0,e.useCallback)(()=>{v.current!==null&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=null,x()},l)},[l,x]),C=(0,e.useCallback)((e,t)=>{n!=null&&(y.current={start:e,end:t},u.touchBlocks(Or(e,t,s,h.current)),S())},[u,s,n,S]);(0,e.useEffect)(()=>{if(n==null)return;for(let[,e]of _.current)e.abort();_.current.clear(),v.current!==null&&(clearTimeout(v.current),v.current=null),u.clear();let e=!g.current;g.current=!0,m(e=>e+1),e?(n.initialRowCount??0)<=0&&b(0):b(0)},[a]);let w=(0,e.useRef)(o);(0,e.useEffect)(()=>{if(n==null||o===void 0){w.current=o;return}if(w.current===void 0){w.current=o;return}if(w.current!==o){w.current=o;for(let[,e]of _.current)e.abort();_.current.clear(),v.current!==null&&(clearTimeout(v.current),v.current=null),u.clear(),m(e=>e+1),x()}},[o]),(0,e.useEffect)(()=>{let e=_.current,t=v;return()=>{for(let[,t]of e)t.abort();e.clear(),t.current!==null&&(clearTimeout(t.current),t.current=null)}},[]);let T=(0,e.useCallback)(e=>u.getRow(e)!==void 0,[u]);return{rowModel:(0,e.useMemo)(()=>({getRowCount:()=>h.current,getRow:e=>u.getRow(e),getSourceIndex:e=>e,getRowKey:e=>{let t=u.getRow(e);return t===void 0?e:r(t,e)}}),[u,r,p]),rowCount:d,isRowLoaded:T,requestRange:C}}var Nr=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];Ce(n)&&(r[t]=n,i=!0)}return i&&(t.columnFilters=r),e.sort.length>0&&(t.sort=e.sort),t},Pr=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})},Fr=(e,t)=>{let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)):e},Ir=(e,t)=>{if(!t.trim())return{kind:`close`};let n=Fr(e,t);return n.length===0?{kind:`none`}:{kind:`replace`,values:n.map(e=>e.value)}},Lr=(e,t)=>e===null?!0:e.mode===`include`?e.values.has(t):!e.values.has(t),Rr=28;function zr({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)(()=>Fr(r,p),[r,p]),h=p.trim().length>0,g=(0,e.useRef)(null),_=(0,t.useVirtualizer)({count:m.length,getScrollElement:()=>g.current,estimateSize:()=>Rr,overscan:10}),v=(0,e.useMemo)(()=>{if(i===null)return m.length;let e=0;for(let t of m)Lr(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=Ir(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=Lr(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 Br({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)(zr,{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 Vr({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 Hr=(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`})]}),Ur=(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 Wr({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?Hr: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:Ur}):null]}):null]})})}var Gr=e=>e.enabled&&!e.isAutoHeightCell&&!e.hasRenderCell;function Kr({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 qr=(0,e.memo)(Kr);function Jr({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,rowKey:o,row:s,top:c,renderEntries:l,rowHeight:u,autoHeight:d,showCellOverflowTooltip:f,autoHeightMinHeight:p,rowHeaderCellStyle:m,isRowHovered:h,isWholeGridSelected:g,isRowSelected:_,showRowCheckbox:v,isRowChecked:y,activeColInRow:b,editingColInRow:x,selectedColStart:S,selectedColEnd:C,readOnly:w,canEditCell:T,onRowHeaderPointerDown:E,onRowHeaderPointerEnter:D,onRowHeaderPointerLeave:O,onCellPointerDown:k,onCellPointerEnter:ee,onCellDoubleClick:te,renderCellContent:A,rowClassName:ne,bodyCellClassName:j,bodyRowClassName:M,rowHeaderCellClassName:re}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,className:i(`ssg-body-row`,y&&`ssg-body-row--checked`,ne,M),style:{height:u,transform:`translateY(${c}px)`},children:[t&&(0,n.jsx)(`div`,{role:v?`checkbox`:void 0,"aria-checked":v?y:void 0,onPointerDown:e=>E(a,e),onPointerEnter:e=>D(a,e),onPointerLeave:()=>O(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,v&&`ssg-row-header-cell--checkbox`,(g||_)&&`ssg-header-cell--selected`,h&&`ssg-header-cell--hovered`,ne,re),style:{...m,height:u},children:v?(0,n.jsx)(qr,{state:y?`checked`:`unchecked`}):a+1}),l.map(e=>{if(!e)return null;let t=e.logicalIndex,c=e.column,l=r+e.paneLocalStart,m=e.paneLocalSize,g=t===b,v=t===x,y=_||S>=0&&t>=S&&t<=C,E=!ye({readOnly:w,canEditCell:T},a,t,s,c),D=d&&c.autoHeight===!0,O,M=c.cellClassName;M&&(O=typeof M==`function`?M({row:s,rowIndex:a,colIndex:t,value:N(s,c),column:c,isActive:g,isSelected:y,isEditing:v,readOnly:E}):M);let re=i(`ssg-body-cell`,c.align===`center`&&`ssg-body-cell--align-center`,c.align===`right`&&`ssg-body-cell--align-right`,D&&`ssg-body-cell--autoheight`,E&&!y&&`ssg-body-cell--readonly`,h&&`ssg-body-cell--row-hovered`,ne,O,j),ie={};c.wordBreak!==void 0&&(ie.wordBreak=c.wordBreak),c.lineBreak!==void 0&&(ie.lineBreak=c.lineBreak);let ae=Gr({enabled:f,isAutoHeightCell:D,hasRenderCell:c.renderCell!==void 0});return(0,n.jsx)(`div`,{"data-ssg-col-key":c.key,"data-autoheight-cell":D?``:void 0,"data-ssg-tooltip-overflow":ae?``:void 0,className:re,onPointerDown:e=>k({row:a,col:t},e),onPointerEnter:e=>ee({row:a,col:t},e),onDoubleClick:()=>te({row:a,col:t}),style:{left:l,width:m,minWidth:m,...D?{minHeight:p}:{height:u},...ie,zIndex:g?3:1},children:A(s,a,c,t,{isActive:g,isSelected:y,isEditing:v,readOnly:E})},`${String(o)}-${c.key}`)})]})}var Yr=(0,e.memo)(Jr),Xr=[`62%`,`46%`,`78%`,`54%`];function Zr({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)(qr,{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=Xr[o%Xr.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 Qr=(0,e.memo)(Zr);function $r({pane:e,ownsRowHeader:t,leadingWidth:r,rowModel:i,virtualRows:a,virtualRowIndexes:o,renderEntries:s,rowHeight:c,autoHeight:l=!1,showCellOverflowTooltip:u=!1,isServerSide:d=!1,rowHeaderCellStyle:f,hoveredRowIndex:p,isWholeGridSelected:m,enableRowSelection:h,rowSelectionState:g,activeCell:_,editingCell:v,selectionSnapshot:y,readOnly:b,canEditCell:x,onRowHeaderPointerDown:S,onRowHeaderPointerEnter:C,onRowHeaderPointerLeave:w,onCellPointerDown:T,onCellPointerEnter:E,onCellDoubleClick:D,renderCellContent:k,getRowClassName:ee,bodyCellClassName:te,bodyRowClassName:A,rowHeaderCellClassName:ne}){return(0,n.jsx)(n.Fragment,{children:a.map(a=>{let j=a.index;if(!o.has(j))return null;let M=a.size??c,re=i.getRow(j);if(!re){if(!d)return null;let o=i.getRowKey(j)??j;return(0,n.jsx)(Qr,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:j,top:a.start,rowHeight:M,renderEntries:s,rowHeaderCellStyle:f,isRowHovered:p===j,showRowCheckbox:h,onRowHeaderPointerDown:S,onRowHeaderPointerEnter:C,onRowHeaderPointerLeave:w,onCellPointerDown:T,onCellPointerEnter:E,bodyCellClassName:te,bodyRowClassName:A,rowHeaderCellClassName:ne},String(o))}let ie=i.getRowKey(j)??j,ae=h?O(g,ie):!1,oe=y.kind===`row`&&j>=y.startRow&&j<=y.endRow,se=y.kind===`cell`&&j>=y.startRow&&j<=y.endRow,ce=y.kind===`col`||se?y.startCol:-1,le=y.kind===`col`||se?y.endCol:-1,ue=_&&_.row===j?_.col:-1,de=v&&v.row===j?v.col:-1,fe=ee?.(re,j);return(0,n.jsx)(Yr,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:j,rowKey:ie,row:re,top:a.start,renderEntries:s,rowHeight:M,autoHeight:l,showCellOverflowTooltip:u,autoHeightMinHeight:c,rowHeaderCellStyle:f,isRowHovered:p===j,isWholeGridSelected:m,isRowSelected:oe,showRowCheckbox:h,isRowChecked:ae,activeColInRow:ue,editingColInRow:de,selectedColStart:ce,selectedColEnd:le,readOnly:b,canEditCell:x,onRowHeaderPointerDown:S,onRowHeaderPointerEnter:C,onRowHeaderPointerLeave:w,onCellPointerDown:T,onCellPointerEnter:E,onCellDoubleClick:D,renderCellContent:k,rowClassName:fe,bodyCellClassName:te,bodyRowClassName:A,rowHeaderCellClassName:ne},String(ie))})})}function ei({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 ti({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:ee,openedMenuColumnKey:te,onColumnMenuButtonPointerDown:A,onColumnHeaderContextMenu:ne,onColumnDragHandlePointerDown:j}){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)(qr,{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=Ce(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=te===o.key,g=ee;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=>ne(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:[j&&(0,n.jsx)(`span`,{onPointerDown:e=>j(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`})]})}),g&&(0,n.jsx)(ei,{title:`列メニュー`,isActive:h,className:x,onPointerDown:e=>A(o,e),children:`⋮`})]}),(o.resizable??k)&&(0,n.jsx)(`div`,{onPointerDown:e=>O(o,e),className:`ssg-header-resize`})]},o.key)})]})}var ni=(0,e.memo)(ti),ri=200,ii=8,ai=6,oi=289,si=({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-ri,e=i.bottom+ai,n=i.top-oi-ai}else if(i)t=i.x,e=i.y,n=i.y-oi;else{s(null);return}t=Math.max(ii,t),t=Math.min(t,window.innerWidth-ri-ii),e+oi>window.innerHeight-ii&&(e=n),e=Math.max(ii,e),s(n=>n&&n.top===e&&n.left===t&&n.width===ri?n:{top:e,left:t,width:ri})},[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}},ci=[{value:void 0,label:`固定しない`},{value:`left`,label:`左に固定`},{value:`right`,label:`右に固定`}],li=180,ui=4,X=8,di=`pin`;function fi({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===di,ee=v.left+v.width+ui+li>window.innerWidth-X,te={position:`fixed`,top:v.top,left:v.left,width:v.width,zIndex:1e3},A={position:`absolute`,top:-9,...ee?{right:`calc(100% + ${ui}px)`}:{left:`calc(100% + ${ui}px)`},width:li,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:te,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(di)},onClick:()=>{O(e=>e===di?null:di)},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:A,children:[ci.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 pi=({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}},mi=360,hi=8,gi=12,_i=[`filter`,`columns`,`sort`],vi=({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 _i.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=pi({top:e.top,left:e.left,panelWidth:mi,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});d(e=>e&&e.top===t.top&&e.left===t.left&&e.width===mi?e:{top:t.top,left:t.left,width:mi});return}let t=i.current;if(!t){d(null);return}let n=t.getBoundingClientRect(),r=n.right-mi-gi,a=n.top+gi;r=Math.max(hi,r),r=Math.min(r,window.innerWidth-mi-hi),a=Math.max(hi,a),d(e=>e&&e.top===a&&e.left===r&&e.width===mi?e:{top:a,left:r,width:mi})},[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=pi({top:e,left:t,panelWidth:mi,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h.current=n,d({top:n.top,left:n.left,width:mi})},[]);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}},Z=({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 yi({themeClassName:t,activeTab:a,flashTick:o,tabs:s,layout:c,panelRef:l,onSelectTab:u,onRequestClose:d,onPanelMove:f,children:p}){let{handleHeaderPointerDown:m}=Z({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 bi=28,xi=12,Si=[`left`,`center`,`right`],Ci={left:`左固定`,center:`固定なし`,right:`右固定`};function wi(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 Ti({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 Ei({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 Di({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 Si.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),ee=(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)},[]),te=(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+bi?i=-12:r>n.bottom-bi&&(i=xi),i!==0){let e=t.scrollTop;t.scrollTop+=i,t.scrollTop!==e&&ee()}k.current=requestAnimationFrame(e)},[ee]),A=(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=wi(t,n,r);e&&l(e)}},[S,E,t,l]),ne=(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),ee(),k.current===null&&(k.current=requestAnimationFrame(te)))},[b,ee,te]),j=(0,e.useCallback)(e=>{w.current&&(O.current=e.clientY,ee())},[ee]),M=(0,e.useCallback)(()=>{w.current&&A(!0)},[A]),re=(0,e.useCallback)(()=>{w.current&&A(!1)},[A]);(0,e.useEffect)(()=>()=>{k.current!==null&&(cancelAnimationFrame(k.current),k.current=null)},[]);let ie=()=>{r&&(m?s():o())},ae=S===null?null:t.find(e=>e.key===S)?.pane??null,oe=(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&&ae===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=>ne(e.key,o,t),onPointerMove:j,onPointerUp:M,onPointerCancel:re,className:i(`ssg-chooser-handle`,!b&&`ssg-chooser-handle--disabled`,l&&`ssg-chooser-handle--dragging`),children:(0,n.jsx)(Ei,{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)(Ti,{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:ie,"aria-label":g,"data-ssg-tooltip":g,className:`ssg-chooser-master-btn`,children:(0,n.jsx)(Ti,{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:Ci[e.pane]}),e.items.map((t,n)=>oe(t,n,e.pane)),S!==null&&ae===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 Oi({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 ki({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)(Oi,{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 Ai(){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 ji(){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 Mi({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)(ji,{})}),(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)(Ai,{})}),(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 Ni({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 Pi=(e,t)=>e.findIndex(e=>e.key===t),Fi=(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},Ii=(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},Li=220,Q=8,Ri=34,zi=16,Bi=({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*Ri+zi,n=e.x,r=e.y,i=e.y-t;n=Math.max(Q,n),n=Math.min(n,window.innerWidth-Li-Q),r+t>window.innerHeight-Q&&(r=i),r=Math.max(Q,r),a(e=>e&&e.top===r&&e.left===n&&e.width===Li?e:{top:r,left:n,width:Li})},[]),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 Vi({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 Hi=(e,t)=>{let n=new Set(e);return n.add(t),n},Ui=(e,t)=>{let n=new Set(e);return n.delete(t),n},Wi=(e,t)=>{let n=new Set(e);for(let e of t)n.add(e);return n},Gi=(e,t)=>{let n=new Set(e);for(let e of t)n.delete(e);return n},Ki=[],qi={},Ji={},Yi=[],Xi={compact:{rowHeight:28,headerHeight:32},standard:{rowHeight:36,headerHeight:40},comfortable:{rowHeight:44,headerHeight:48}},Zi={},Qi=[],$i=300,ea=4,ta=300;function na({rows:r=Ki,dataSource:o,serverSideRefreshToken:d,columns:p,onRowsChange:m,onColumnsChange:g,rowKeyGetter:_,createRow:v,createOverflowColumn:y,rowHeight:b,autoHeight:T=!1,estimateRowHeight:D,headerHeight:oe,density:se=`standard`,theme:ce=`light`,rowHeaderWidth:me=56,height:we,maxHeight:Oe,readOnly:ke=!1,dimReadOnlyCells:Ae=!1,canEditCell:P,enableUndoRedo:Me=!0,undoHistoryLimit:Ne=100,onUndoRedoStateChange:Pe,enableRangeSelection:Fe=!0,enableRowSelection:Le=!1,rowSelectionMode:Re=`multiple`,enableSelectAllRows:ze,rowSelection:Ve,selectedRowKeys:Ue,onRowSelectionChange:We,enableGlobalFilter:Ge=!0,enableColumnFilter:Ke=!0,enableSorting:F=!0,enableColumnResize:qe=!0,autoSizeColumns:Je=!1,showCellOverflowTooltip:Ye=!1,enableRowHover:Xe=!0,enableColumnHeaderHover:Ze=!0,enableColumnMenu:Qe=!0,noMatchingRowsText:$e=`一致する行がありません`,noRowsText:nt=`表示する行がありません`,showTopBar:rt=!0,showBottomBar:it=!0,showTopBarSummary:at=!0,showTopBarFilter:ot=!0,globalFilterPlaceholder:st,globalFilterIcon:lt,showTopBarCounts:ut=!0,showBottomBarCounts:ft=!0,showFilterChipBar:pt=!1,renderTopBar:Ct,renderBottomBar:Ot,className:jt,classNames:I,getRowClassName:Mt,enableContextMenu:Nt=!1,getContextMenuItems:It,onContextMenuOpen:Lt,ref:Rt,onStateChange:zt}){let Bt=b??Xi[se].rowHeight,L=oe??Xi[se].headerHeight,R=(0,e.useRef)(null),Vt=(0,e.useRef)(null),Ht=(0,e.useRef)(null),Ut=(0,e.useRef)(null),Wt=(0,e.useRef)(!1),z=(0,e.useRef)(null),Gt=(0,e.useRef)(null),Kt=(0,e.useRef)(null),[qt,Jt]=(0,e.useState)(``),[Yt,Xt]=(0,e.useState)(!1),[Zt,Qt]=(0,e.useState)(null),[en,tn]=(0,e.useState)(null),B=(0,e.useMemo)(()=>p.filter(e=>e.visible!==!1),[p]),V=(0,e.useMemo)(()=>l(B),[B]),rn=(0,e.useMemo)(()=>_??((e,t)=>t),[_]),H=o!=null,an=F,on=Ke,sn=Ge,[U,W]=(0,e.useReducer)(ue,B,le),cn=(0,e.useRef)(U.columnWidths),ln=(0,e.useRef)(null),un=(0,e.useRef)(null);un.current===null&&(un.current=new Map(p.map(e=>[e.key,{width:e.width,pinned:e.pinned,visible:e.visible}])));let dn=(0,e.useMemo)(()=>he(U.selection),[U.selection]),G=(0,e.useMemo)(()=>u(V),[V]),[pn,hn]=(0,e.useState)(0),yn=G.left.reduce((e,{column:t})=>e+(U.columnWidths[t.key]??t.width),0),bn=G.right.reduce((e,{column:t})=>e+(U.columnWidths[t.key]??t.width),0),wn=G.left.length>0,Tn=wn?me+yn:0,En=wn?0:me,jn=(0,e.useMemo)(()=>G.center.map(({column:e})=>e),[G.center]),Mn=(0,e.useMemo)(()=>jn.some(w),[jn]),Nn=pn-Tn-bn-En,Pn=(0,e.useMemo)(()=>!Mn||pn<=0?Zi:E(jn,U.columnWidths,Nn),[Mn,pn,jn,U.columnWidths,Nn]),Fn=(0,e.useMemo)(()=>Pn===Zi?U.columnWidths:{...Pn,...U.columnWidths},[Pn,U.columnWidths]);cn.current=Fn;let In=f(G.left,U.columnWidths),Un=f(G.center,Fn),Gn=f(G.right,U.columnWidths),Kn=(0,e.useMemo)(()=>h(`left`,G.left,In),[G.left,In]),qn=(0,e.useMemo)(()=>h(`center`,G.center,Un),[G.center,Un]),Jn=(0,e.useMemo)(()=>h(`right`,G.right,Gn),[G.right,Gn]),K=(0,e.useMemo)(()=>({left:Kn,center:qn,right:Jn}),[Kn,qn,Jn]),Yn=K.left.entries.length>0,Xn=K.right.entries.length>0,Zn=!Yn,Qn=me,$n=Zn?me:0,er=Yn?Qn+K.left.totalWidth:0,tr=K.right.totalWidth,nr=$n+K.center.totalWidth,rr=er+nr+tr,{filterPopoverState:q,filterPopoverLayout:ir,filterPopoverRef:ar,filterTextInputRef:or,filterSelectRef:sr,isFilterPopoverOpen:cr,openedFilterColumn:J,openColumnFilterPopover:lr,closeColumnFilterPopover:ur,updateFilterPopoverDraft:dr}=Ie({visibleColumns:B,columnFilterValues:U.filters.columnFilters,enableColumnFilter:on,gridRootRef:R}),{columnMenuLayout:pr,columnMenuRef:mr,isColumnMenuOpen:hr,openedMenuColumnKey:gr,openedMenuColumn:_r,openColumnMenuFromButton:vr,openColumnMenuFromContextMenu:yr,closeColumnMenu:Y}=si({visibleColumns:B,enableColumnMenu:Qe,gridRootRef:R}),{activeToolPanelTab:br,availableToolPanelTabs:xr,toolPanelLayout:Cr,toolPanelFlashTick:wr,toolPanelRef:Er,openToolPanel:Dr,closeToolPanel:Or,moveToolPanel:kr}=vi({canUseFilterTab:on,canUseColumnsTab:Qe,canUseSortTab:an,gridRootRef:R,alliedRef:ar,suppressEscape:cr,onSuppressedEscape:ur}),{contextMenuState:Ar,contextMenuLayout:jr,contextMenuRef:Fr,isContextMenuOpen:Ir,openContextMenu:Rr,closeContextMenu:zr}=Bi({gridRootRef:R});(0,e.useEffect)(()=>{let e=B.reduce((e,t)=>(w(t)||(e[t.key]=t.width),e),{});W(a.resetColumnWidths(e))},[B]);let Hr=U.filters.globalText,Ur=U.filters.columnFilters,Gr=(0,e.useDeferredValue)(Ur),{order:Kr,status:qr,progress:Jr}=Tr({rows:r,baseOrder:(0,e.useMemo)(()=>xe(r.length),[r.length]),columns:B,globalText:Hr,enabled:sn}),Yr=(0,e.useMemo)(()=>{let e=[];for(let t of B)Te(Gr[t.key])&&e.push(t.key);return e.join(`\0`)},[B,Gr]),Xr=(0,e.useMemo)(()=>{let e=new Map;if(Yr.length===0)return e;let t=new Set(Yr.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(N(r[e],i));e.set(i.key,a)}return e},[r,B,Yr]),Zr=(0,e.useMemo)(()=>je(r,Kr,B,Gr,Xr),[r,Kr,B,Gr,Xr]),Qr=(0,e.useMemo)(()=>bt(r,Zr,B,U.sort),[r,Zr,B,U.sort]),ei=(0,e.useMemo)(()=>({getRowCount:()=>Qr.length,getRow:e=>r[Qr[e]],getSourceIndex:e=>Qr[e],getRowKey:e=>rn(r[Qr[e]],Qr[e])}),[Qr,r,rn]),ti=(0,e.useMemo)(()=>H?Nr({globalText:sn?Hr:``,columnFilters:on?Ur:Ji,sort:an?U.sort:Yi}):qi,[H,sn,Hr,on,Ur,an,U.sort]),ri=(0,e.useMemo)(()=>H?Pr(ti):``,[H,ti]),[ii,ai]=(0,e.useState)(ti),[oi,ci]=(0,e.useState)(ri);(0,e.useEffect)(()=>{if(!H)return;let e=setTimeout(()=>{ai(ti),ci(ri)},ta);return()=>clearTimeout(e)},[H,ri,ti]);let li=Mr({dataSource:o,rowKeyGetter:rn,query:ii,queryKey:oi,refreshToken:d}),ui=li.requestRange,X=H?li.rowModel:ei,di=(0,e.useRef)(X);di.current=X;let pi=(0,e.useCallback)(e=>{if(!Nt||!It)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=Pi(V,u);if(e<0)return;let t=V[e];s={type:`cell`,rowIndex:i,colIndex:e,rowKey:o,row:a,column:t,value:N(a,t)},c=Fi(U.selection,i,e)}else s={type:`rowHeader`,rowIndex:i,rowKey:o,row:a},c=Ii(U.selection,i);let d={target:s,clientX:e.clientX,clientY:e.clientY,selection:U.selection,activeCell:U.activeCell,isTargetSelected:c},f=It(d);!f||f.length===0||(e.preventDefault(),Lt?.(d),Rr(d,f))},[Nt,It,Lt,X,V,U.selection,U.activeCell,Rr]),{isAutosizing:mi,runAutosize:hi}=fr({rowModelRef:di,gridRootRef:R,columnWidthsRef:cn,dispatch:W}),gi=(0,e.useRef)(B);gi.current=B;let _i=(0,e.useRef)(!1);(0,e.useEffect)(()=>{let{shouldRun:e,nextHasAutoSizedOnMount:t}=_n({mode:Je,isServerSide:H,rowCount:r.length,hasAutoSizedOnMount:_i.current});_i.current=t,e&&hi(gi.current)},[Je,r,H,hi]);let Z=X.getRowCount(),bi=(0,e.useMemo)(()=>{let e=null;return()=>e??=Array.from(Qr,e=>r[e])},[Qr,r]),xi=(0,e.useMemo)(()=>s(B,Fn),[B,Fn]),[Si,Ci]=(0,e.useState)(0),[wi,Ti]=(0,e.useState)(0);(0,e.useEffect)(()=>{let e=z.current;if(!e)return;Ci(e.scrollTop),Ti(e.clientHeight),hn(e.clientWidth);let t=()=>Ci(e.scrollTop);e.addEventListener(`scroll`,t,{passive:!0});let n=new ResizeObserver(()=>{Ti(e.clientHeight),hn(e.clientWidth)});return n.observe(e),()=>{e.removeEventListener(`scroll`,t),n.disconnect()}},[]);let Ei=K.center.entries,Oi=(0,t.useVirtualizer)({horizontal:!0,count:Ei.length,getScrollElement:()=>z.current,estimateSize:e=>Ei[e]?.paneLocalSize??Ei[e]?.column.width??120,overscan:8,useFlushSync:!1,scrollMargin:er}),Ai=Oi.getVirtualItems(),ji=D??Bt,Li=(0,e.useMemo)(()=>B.some(e=>e.autoHeight===!0),[B]),Q=!H&&St(T,Li,Z,5e4);(0,e.useEffect)(()=>{},[T,Li,Z,H]);let Ri=(0,e.useRef)(new Map),[zi,na]=(0,e.useState)(0),[ra,ia]=(0,e.useState)(0),aa=(0,e.useRef)(null),oa=(0,e.useRef)(new Set),sa=(0,e.useMemo)(()=>Q?Vn(Z,ji,X.getRowKey,Ri.current):null,[Q,Z,ji,X]),ca=(0,e.useMemo)(()=>Q&&sa?Wn(sa):wt(Z,Bt),[Q,sa,zi,Z,Bt]),la=(0,e.useMemo)(()=>Q?At({headerHeight:L,viewportHeight:wi,scrollTop:Si,overscan:20},ca):kt({rowCount:Z,rowHeight:Bt,headerHeight:L,viewportHeight:wi,scrollTop:Si,overscan:20,maxBodyPx:xt}),[Q,ca,Z,Bt,L,wi,Si]),ua=la.rows,da=la.rowIndexSet,fa=ua.length>0?ua[0].index:0,pa=ua.length>0?ua[ua.length-1].index:-1;(0,e.useEffect)(()=>{if(!H)return;let e=z.current;e&&(e.scrollTop=0),Ci(0)},[H,oi]),(0,e.useEffect)(()=>{H&&(pa<fa||ui(fa,pa+1))},[H,fa,pa,ui,oi]);let ma=la.physicalBodyHeight,ha=la.translateY===0?void 0:`translateY(${la.translateY}px)`,ga=la.scaleFactor,_a=la.windowBaseOffsetPx;(0,e.useLayoutEffect)(()=>{if(!Q||!sa){aa.current?.disconnect(),aa.current=null,oa.current.clear();return}let e=z.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;Hn(sa,t,n,e)&&(r=!0,t<i&&(i=t))}),r){let t=e.scrollTop,n=ca.rowAtContentY(t),r=t-ca.rowTop(n);Bn(sa,i),e.scrollTop=sa.prefix[n]+r,na(e=>e+1)}}let n=aa.current??new ResizeObserver(()=>ia(e=>e+1));aa.current=n;let r=oa.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)})},[Q,sa,ca,X,ua,wi,zi,ra]),(0,e.useEffect)(()=>{let e=oa.current;return()=>{aa.current?.disconnect(),aa.current=null,e.clear()}},[]);let va=(0,e.useMemo)(()=>Ai.map(e=>Ei[e.index]).filter(e=>!!e),[Ai,Ei]),ya=K.left.entries,ba=K.right.entries,xa=(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:ca.rowTop(e),width:n.extent.width,height:ca.rowsHeight(e,e)}}:null},[U.activeCell,Z,K,ca]),Sa=(0,e.useMemo)(()=>xa&&xa.pane===`center`?xa.rect:null,[xa]),Ca=(0,e.useCallback)(e=>xa&&xa.pane===e?xa.rect:null,[xa]),wa=(0,e.useCallback)(e=>U.editingCell?Ca(e):null,[U.editingCell,Ca]),Ta=nn(ce)===`dark`?`ssg-theme-dark`:void 0;$t(),Ft({scrollRef:z,columnVirtualizer:Oi,columnMeasurements:xi,totalScrollWidth:rr,physicalBodyHeight:ma,headerHeight:L,leftPaneWidth:er,rightPaneWidth:tr,centerLeadingWidth:$n,activeCellRect:Sa,verticalScaleFactor:ga});let Ea=(0,e.useMemo)(()=>{if(Ve!==void 0)return Ve;if(Ue!==void 0)return{type:`include`,rowKeys:Ue}},[Ve,Ue]),Da=Ea!==void 0,Oa=ze??(Le&&Re===`multiple`),ka=U.rowSelection,Aa=M(ka,Z),ja=(0,e.useRef)(ka);ja.current=ka;let Ma=(0,e.useRef)(Re);Ma.current=Re;let Na=(0,e.useRef)(We);Na.current=We;let Pa=(0,e.useRef)(Da);Pa.current=Da;let Fa=(0,e.useRef)(null),Ia=(0,e.useCallback)(e=>{ae(ja.current,e)||Na.current?.(re(e)),Pa.current||W(a.setRowSelectionState(e))},[W]),La=(0,e.useRef)(Ia);La.current=Ia;let Ra=(0,e.useCallback)((e,t)=>{let n=di.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},[]),za=(0,e.useCallback)((e,t)=>{let n=di.current;if(!n.getRow(e))return;let r=n.getRowKey(e)??e;if(Ma.current===`single`){Fa.current=e,Ia(ee(r));return}if(t.shiftKey&&Fa.current!==null){Ia(te(Ra(Fa.current,e)));return}Fa.current=e,Ia(k(ja.current,r))},[Ia,Ra]),Ba=(0,e.useCallback)(e=>{let t=di.current;if(t.getRow(e)){if(Ma.current===`single`){Ia(ee(t.getRowKey(e)??e));return}Fa.current!==null&&Ia(te(Ra(Fa.current,e)))}},[Ia,Ra]),Va=(0,e.useCallback)(()=>{let e=di.current,t=M(ja.current,e.getRowCount());Ia(t===`all`?ne():A())},[Ia]);(0,e.useEffect)(()=>{if(!Da||!Ea)return;let e=ie(Ea);ae(ja.current,e)||W(a.setRowSelectionState(e))},[Da,Ea,W]);let{updateSelectionFromPointer:Ha,handleCellPointerDown:Ua,handleCellPointerEnter:Wa,handleNativeDragStart:Ga,handleRowHeaderPointerDown:Ka,handleRowHeaderPointerEnter:qa,handleColumnHeaderPointerDown:Ja,handleColumnHeaderPointerEnter:Ya}=Pt({gridRootRef:R,bodyScrollRef:Ut,scrollContainerRef:z,leftPaneScrollRef:Gt,rightPaneScrollRef:Kt,pointerClientRef:Vt,autoScrollFrameRef:Ht,uiState:U,dispatch:W,enableRangeSelection:Fe,enableSorting:an,orderedColumns:V,filteredRowsLength:Z,visibleColumnsLength:B.length,paneLayout:K,leftLeadingWidth:Qn,centerLeadingWidth:$n,rightLeadingWidth:0,headerHeight:L,rowMetrics:ca,verticalScaleFactor:ga,setHoveredRowIndex:Qt,setHoveredColumnIndex:tn,enableRowHover:Xe,enableColumnHeaderHover:Ze,enableRowSelection:Le,onGutterRowSelect:za,onGutterRowSelectDrag:Ba}),Xa=(0,e.useRef)(()=>{}),Za=(0,e.useCallback)(e=>{e&&requestAnimationFrame(()=>{Xa.current(e.row,e.col,`auto`)})},[]),Qa=Me&&!ke&&!H,{handleRowsChange:$a,undo:eo,redo:to,canUndo:no,canRedo:ro,clearHistory:io}=ct({rows:r,selection:U.selection,activeCell:U.activeCell,onRowsChange:m,dispatch:W,enabled:Qa,limit:Ne,onUndoRedoStateChange:Pe,onAfterRestore:Za}),ao=(0,e.useCallback)(()=>{if(!$a)return;let{nextRows:e,changed:t}=gn({rows:r,resolveSourceIndex:e=>X.getSourceIndex(e),columns:V,selection:U.selection,activeCell:U.activeCell,viewRowCount:Z,canWriteCell:(e,t,n,r)=>ye({readOnly:ke,canEditCell:P},e,t,n,r)});t&&$a(e)},[P,$a,V,ke,X,r,U.activeCell,U.selection,Z]),{isWholeGridSelected:oo,handleCopy:so,handlePaste:co}=Be({rows:r,rowModel:X,visibleColumns:V,uiState:U,readOnly:ke,canEditCell:P,createRow:v,createOverflowColumn:y,onRowsChange:$a,onColumnsChange:g,dispatch:W}),lo=(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]),{getMovedCell:uo,handleKeyDown:fo}=dt({uiState:U,rowModel:X,visibleColumns:V,readOnly:ke,canEditCell:P,setEditorInitialValue:Jt,dispatch:W,handleCopy:so,handleCellDoubleClick:(0,e.useCallback)(e=>{let t=X.getRow(e.row),n=V[e.col];if(!t||!n||!ye({readOnly:ke,canEditCell:P},e.row,e.col,t,n))return;let r=N(t,n);Jt(String(r??``)),W(a.startEdit(e))},[P,W,X,ke,V]),isWholeGridSelected:oo,selectEntireGrid:lo,onUndo:eo,onRedo:to,onClearSelection:ao}),{startEditWithValue:po,commitEdit:mo,cancelEdit:ho}=tt({uiState:U,rows:r,visibleColumns:V,rowModel:X,setEditorInitialValue:Jt,onRowsChange:$a,dispatch:W,getMovedCell:uo,gridRootRef:R,editorActionGuardRef:Wt}),go=U.editingCell?V[U.editingCell.col]:void 0,_o=(0,e.useCallback)(e=>{let t=X.getRow(e.row),n=V[e.col];if(!t||!n||!ye({readOnly:ke,canEditCell:P},e.row,e.col,t,n))return;let r=N(t,n);po(e,String(r??``))},[P,X,ke,po,V]),vo=(0,e.useMemo)(()=>{if(!U.selection)return null;if(U.selection.type===`cell`){let e=de(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=fe(U.selection.startRow,U.selection.endRow);return{extents:S(K),startRow:e.startRow,endRow:e.endRow}}let e=pe(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]),yo=(0,e.useMemo)(()=>{if(!vo)return null;let e=Tt(vo.startRow,vo.endRow,fa,pa);return e?{top:ca.rowTop(e.start),height:ca.rowsHeight(e.start,e.end)}:null},[vo,ca,fa,pa]),bo=(0,e.useCallback)(e=>{if(!vo||!yo)return null;let t=vo.extents[e];return t?{left:t.start,top:yo.top,width:t.width,height:yo.height}:null},[vo,yo]),xo=(0,e.useCallback)(e=>{if(e.preventDefault(),e.button===0&&!(Z===0||B.length===0)){if(R.current?.focus(),Oa){Va();return}if(oo){W(a.clearSelection()),W(a.activateCell(null));return}lo()}},[W,Z,oo,lo,B.length,Oa,Va]),So=(0,e.useCallback)(e=>{Qt(t=>t===e?null:t)},[]),Co=(0,e.useCallback)(e=>{tn(t=>t===e?null:t)},[]),wo=(0,e.useCallback)(()=>{Xt(!0)},[]),To=(0,e.useCallback)(()=>{Xt(!1)},[]),Eo=(0,e.useCallback)((e,t)=>{t.preventDefault(),t.stopPropagation();let n=t.timeStamp,r=ln.current;if(r&&r.key===e.key&&n-r.time<$i&&Math.abs(t.clientX-r.x)<ea){ln.current=null,hi([e]);return}ln.current={key:e.key,time:n,x:t.clientX},W(a.startColumnResize(e.key,t.clientX,cn.current[e.key]??e.width,e.minWidth??60,e.maxWidth))},[W,hi]),Do=(0,e.useCallback)((e,t)=>{if(Y(),!g)return;let n=p.find(t=>t.key===e);n&&(n.pinned??void 0)!==t&&(g(p.map(n=>{let r=cn.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)))},[Y,p,W,g]),Oo=(0,e.useCallback)(e=>{Y();let t=B.find(t=>t.key===e);t&&hi([t])},[Y,hi,B]),ko=(0,e.useCallback)(()=>{Y(),hi(B)},[Y,hi,B]),Ao=(0,e.useMemo)(()=>p.map(e=>({key:e.key,title:e.title??e.key,visible:e.visible!==!1,pane:c(e)})),[p]),jo=(0,e.useCallback)(()=>{Y(),Dr(`columns`)},[Y,Dr]),Mo=(0,e.useMemo)(()=>B.map(e=>({key:e.key,title:e.title??e.key})),[B]),No=(0,e.useCallback)(()=>{Y(),Dr(`sort`)},[Y,Dr]),Po=(0,e.useCallback)(e=>{Y(),lr(e)},[Y,lr]),Fo=(0,e.useMemo)(()=>{let e=[],t=(t,n)=>{let r=Ur[t.key];!r||!Ce(r)||e.push({columnKey:t.key,title:t.title||t.key,summaryText:mn(r),isHidden:n})};for(let e of V)t(e,!1);for(let e of p)e.visible===!1&&t(e,!0);return e},[Ur,p,V]),Io=(0,e.useMemo)(()=>B.filter(e=>!!e.filterType&&!Ce(Ur[e.key])).map(e=>({key:e.key,title:e.title||e.key})),[Ur,B]),Lo=(0,e.useCallback)(()=>{Y(),Dr(`filter`)},[Y,Dr]),Ro=(0,e.useCallback)(()=>{br===`filter`?Or():Dr(`filter`)},[br,Or,Dr]),zo=(0,e.useCallback)(e=>{let t=$.current,n=z.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=zn({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=R.current?.querySelectorAll(`[data-ssg-col-key]`);return t?Array.from(t).find(t=>t.dataset.ssgColKey===e)??null:null},o=e=>{if(!R.current)return;let t=a();if(t===null){e<8&&requestAnimationFrame(()=>o(e+1));return}lr(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)})},[R,lr]),Bo=(0,e.useCallback)(e=>{W(a.clearColumnFilter(e))},[W]),Vo=(0,e.useCallback)(()=>{W(a.setAllFilters({globalText:U.filters.globalText,columnFilters:{}}))},[W,U.filters.globalText]),Ho=(0,e.useCallback)(()=>{W(a.setGlobalFilter(``))},[W]),Uo=(0,e.useCallback)((e,t)=>{if(!g)return;let n=p.find(t=>t.key===e);n&&n.visible!==!1!==t&&(!t&&p.filter(e=>e.visible!==!1).length<=1||(g(p.map(n=>{let r=cn.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))))},[p,W,g]),Wo=(0,e.useCallback)(()=>{g&&p.some(e=>e.visible===!1)&&(g(p.map(e=>{let t=cn.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)))},[p,W,g]),Go=(0,e.useCallback)(()=>{if(!g)return;let e=V[0]?.key;e!==void 0&&p.some(t=>t.visible!==!1&&t.key!==e)&&(g(p.map(t=>{let n=cn.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)))},[p,W,g,V]),Ko=(0,e.useCallback)((e,t)=>{if(!g||e.length!==p.length)return;let n=new Map(p.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=cn.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===p.length&&r.every((e,t)=>{let n=p[t];return!!n&&n.key===e.key&&n.width===e.width&&(n.pinned??void 0)===(e.pinned??void 0)})||(g(r),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[p,W,g]),qo=(0,e.useCallback)(e=>{Ko(e)},[Ko]),{onColumnDragHandlePointerDown:Jo,leftIndicatorRef:Yo,centerIndicatorRef:Xo,rightIndicatorRef:Zo,applyReorderSettle:Qo}=fn({enabled:!!g,columns:p,paneLayout:K,leftPaneScrollRef:Gt,rightPaneScrollRef:Kt,bodyScrollRef:Ut,scrollContainerRef:z,leftLeadingWidth:Qn,centerLeadingWidth:$n,rightLeadingWidth:0,applyColumnOrderAndPin:Ko});(0,e.useLayoutEffect)(()=>{Qo()},[K,Qo]);let $o=g?Jo:void 0,es={position:`absolute`,top:0,height:L+ma,transform:`translateX(-1px)`,pointerEvents:`none`,zIndex:8,display:`none`},ts=(0,e.useCallback)(()=>{if(!g)return;let e=un.current;if(!e)return;let t=vn(p,e,cn.current);t!==null&&(g(t),W(a.stopEdit()),W(a.clearSelection()),W(a.activateCell(null)))},[p,W,g]),ns=(0,e.useCallback)(()=>{Y(),ts()},[Y,ts]),rs=(0,e.useCallback)(e=>J?N(r[e],J):void 0,[r,J]),{options:is,allValues:as,status:os,progress:ss}=Sr({column:J,rowCount:r.length,getRawValueAt:rs}),cs=J?U.filters.columnFilters[J.key]:void 0,ls=(0,e.useMemo)(()=>Se(cs)?{mode:cs.mode===`exclude`?`exclude`:`include`,values:new Set(cs.values)}:null,[cs]),us=!(J?.filterOptions&&J.filterOptions.length>0),ds=(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]),fs=(0,e.useCallback)(e=>{if(!q)return;let t=is.length,n=ls,r;r=Lr(n,e)?n===null?us?{mode:`exclude`,values:new Set([e])}:{mode:`include`,values:Ui(as,e)}:n.mode===`include`?{mode:`include`,values:Ui(n.values,e)}:{mode:`exclude`,values:Hi(n.values,e)}:n.mode===`include`?{mode:`include`,values:Hi(n.values,e)}:{mode:`exclude`,values:Ui(n.values,e)},ds(q.columnKey,r,t)},[q,ls,us,as,is,ds]),ps=(0,e.useCallback)((e,t)=>{if(!q)return;let n=q.columnKey,r=is.length;if(e===`all`){t?W(a.clearColumnFilter(n)):ds(n,{mode:`include`,values:new Set},r);return}let i=ls,o;if(t){if(i===null){W(a.clearColumnFilter(n));return}o=i.mode===`include`?{mode:`include`,values:Wi(i.values,e)}:{mode:`exclude`,values:Gi(i.values,e)}}else o=i===null?us?{mode:`exclude`,values:new Set(e)}:{mode:`include`,values:Gi(as,e)}:i.mode===`include`?{mode:`include`,values:Gi(i.values,e)}:{mode:`exclude`,values:Wi(i.values,e)};ds(n,o,r)},[q,ls,us,as,is,ds,W]),ms=(0,e.useCallback)(e=>{q&&ds(q.columnKey,{mode:`include`,values:new Set(e)},is.length)},[q,ds,is]),hs=(0,e.useCallback)(()=>{q&&W(a.clearColumnFilter(q.columnKey))},[W,q]),gs=(0,e.useCallback)(()=>{if(!q)return;let e=B.find(e=>e.key===q.columnKey)?.filterType??`text`;if(e===`set`){ur();return}if(e===`number`){let e=Ee(q.draftValue);if(!e){W(a.clearColumnFilter(q.columnKey)),ur();return}W(a.setColumnFilter(q.columnKey,e)),ur();return}let t=e===`select`?q.draftValue:q.draftValue.trim();if(!t){W(a.clearColumnFilter(q.columnKey)),ur();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)),ur()},[ur,W,q,B]),_s=(0,e.useCallback)(()=>{q&&(W(a.clearColumnFilter(q.columnKey)),ur())},[ur,W,q]),vs=(0,e.useCallback)((e,t)=>{if(Y(),!F)return;let n=mt(U.sort,e,t,!1);W(n.length===0?a.clearSort():a.setSort(n))},[Y,W,F,U.sort]),ys=(0,e.useCallback)((e,t)=>{if(!F)return;let n=ht(U.sort,e,t);W(a.setSort(n))},[W,F,U.sort]),bs=(0,e.useCallback)((e,t)=>{if(!F)return;let n=gt(U.sort,e,t);W(a.setSort(n))},[W,F,U.sort]),xs=(0,e.useCallback)((e,t)=>{if(!F)return;let n=_t(U.sort,e,t);W(a.setSort(n))},[W,F,U.sort]),Ss=(0,e.useCallback)(e=>{if(!F)return;let t=vt(U.sort,e);W(t.length===0?a.clearSort():a.setSort(t))},[W,F,U.sort]),Cs=(0,e.useCallback)(()=>{F&&W(a.clearSort())},[W,F]),ws=(0,e.useCallback)((e,t)=>{if(!F)return;let n=yt(U.sort,e,t);W(a.setSort(n))},[W,F,U.sort]),Ts=(0,e.useCallback)((e,t,i,a,o)=>{let s=N(e,i);return i.renderCell?i.renderCell({row:e,rowIndex:t,colIndex:a,value:s,column:i,isActive:o.isActive,isSelected:o.isSelected,isEditing:o.isEditing,readOnly:o.readOnly,setValue:e=>{if(!$a)return;let n=X.getSourceIndex(t);if(n===void 0)return;let a=r.map((t,r)=>r===n?be(t,i,e):t);$a(a)}}):(0,n.jsx)(`span`,{children:i.valueFormatter?i.valueFormatter({value:s,row:e,column:i}):String(s??``)})},[X,$a,r]),{slotContext:Es}=et({rows:r,viewRowCount:Z,getFilteredRows:bi,columns:p,visibleColumns:B,uiState:U,setGlobalFilterText:(0,e.useCallback)(e=>{W(a.setGlobalFilter(e))},[W]),globalFilterStatus:qr,globalFilterProgress:Jr}),Ds=(0,e.useMemo)(()=>({width:me,minWidth:me}),[me]),Os=Z===0,ks=(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)`}:{}}),As=(()=>{if(!J)return`(なし)`;let e=U.filters.columnFilters[J.key];if(Se(e))return e.mode===`exclude`?`${e.values.length}件を除外中`:`${e.values.length}件を選択中`;if(Te(e))return e.raw;let t=De(e);return t.trim()?t:`(なし)`})(),js=J?(0,n.jsx)(Br,{themeClassName:Ta,isOpen:!!q,title:J.title||J.key,filterType:J.filterType??`text`,isServerSide:H,draftValue:q?.draftValue??``,currentValueText:As,layout:ir,selectOptions:is,setSelection:ls,optionsStatus:os,optionsProgress:ss,popoverRef:ar,textInputRef:or,selectRef:sr,onRequestClose:ur,onDraftChange:dr,onApply:gs,onClear:_s,onSetValueToggle:fs,onSetSelectAllChange:ps,onSetClear:hs,onSetReplaceSelection:ms}):null,Ms=_r?(0,n.jsx)(fi,{themeClassName:Ta,isOpen:hr,title:_r.title||_r.key,columnKey:_r.key,canFilter:on&&!!_r.filterType,onOpenFilter:()=>Po(_r),canSort:an,sortDirection:U.sort.find(e=>e.columnKey===_r.key)?.direction??null,onSortChange:e=>vs(_r.key,e),onOpenSortManager:No,canManageFilters:on,onOpenFilterManager:Lo,pinned:_r.pinned,canChangePinned:!!g,layout:pr,popoverRef:mr,onPinnedChange:Do,onAutosizeColumn:Oo,onAutosizeAllColumns:ko,onOpenColumnChooser:jo,canResetColumns:!!g,onResetColumns:ns,onRequestClose:Y}):null,Ns=sn&&Hr.trim().length>0,Ps=Fo.length+ +!!Ns,Fs=(0,n.jsx)(yi,{themeClassName:Ta,activeTab:br,flashTick:wr,tabs:xr.map(e=>e===`filter`?{tab:e,label:`フィルター`,badge:Ps}:e===`sort`?{tab:e,label:`並び替え`,badge:U.sort.length}:{tab:e,label:`列`}),layout:Cr,panelRef:Er,onSelectTab:Dr,onRequestClose:Or,onPanelMove:kr,children:br===null?null:{filter:()=>(0,n.jsx)(Mi,{entries:Fo,addableColumns:Io,showGlobalFilterRow:Ns,globalFilterText:Hr,canFilter:on,onEditFilter:zo,onAddFilter:zo,onClearFilter:Bo,onClearAllFilters:Vo,onClearGlobalFilter:Ho}),columns:()=>(0,n.jsx)(Di,{items:Ao,canToggle:!!g,onToggleColumnVisibility:Uo,onShowAllColumns:Wo,onHideAllColumns:Go,onResetColumns:ts,onReorderColumns:qo}),sort:()=>(0,n.jsx)(ki,{entries:U.sort,columns:Mo,canSort:an,onAddLevel:ys,onChangeDirection:bs,onChangeColumn:xs,onRemoveLevel:Ss,onClearAll:Cs,onMove:ws})}[br]()}),Is=(0,n.jsx)(Vi,{themeClassName:Ta,isOpen:Ir,items:Ar?.items??Qi,layout:jr,popoverRef:Fr,onRequestClose:zr}),Ls=cr||hr||br!==null||Ir,Rs=at,zs=ot&&sn,Bs=rt?He(Ct,Es,Rs||zs?(0,n.jsx)(Wr,{context:Es,showSummary:Rs,showFilter:zs,showCounts:ut,globalFilterPlaceholder:st,globalFilterIcon:lt,onFilterSummaryClick:on?Ro:void 0}):null):null,Vs=it?He(Ot,Es,(0,n.jsx)(Vr,{context:Es,showCounts:ft})):null,Hs=we===void 0&&Oe===void 0?void 0:{...we===void 0?{}:{height:we},maxHeight:Oe??(we===void 0?void 0:`none`)},$=(0,e.useRef)(null);$.current={dispatch:W,rowModel:X,viewRowCount:Z,rowMetrics:ca,paneLayout:K,orderedColumns:V,columns:p,onColumnsChange:g,uiState:U,headerHeight:L,verticalScaleFactor:ga,leftPaneTotalWidth:er,rightPaneTotalWidth:tr,centerLeadingWidth:$n,windowFirstRow:fa,windowLastRow:pa,physicalBodyHeight:ma,rows:r,isServerSide:H,openFilterManager:()=>{Dr(`filter`)},closeFilterManager:()=>{br===`filter`&&Or()},undoRows:eo,redoRows:to,canUndoRows:no,canRedoRows:ro,clearUndoHistory:io};let Us=(0,e.useCallback)((e,t)=>{let n=z.current,r=$.current;!n||!r||n.scrollTo({top:e===null?n.scrollTop:Dt(e,r.verticalScaleFactor),left:t===null?n.scrollLeft:t,behavior:`auto`})},[]),Ws=(0,e.useCallback)((e,t)=>{let n=z.current,r=$.current;if(!n||!r||r.viewRowCount===0)return null;let i=Math.min(Math.max(e,0),r.viewRowCount-1);return Rn({rowTop:r.rowMetrics.rowTop(i),rowHeight:r.rowMetrics.rowsHeight(i,i),headerHeight:r.headerHeight,viewportHeight:n.clientHeight,currentScrollTop:Et(n.scrollTop,r.verticalScaleFactor),align:t})},[]),Gs=(0,e.useCallback)((e,t)=>{let n=z.current,r=$.current;if(!n||!r)return null;let i=C(r.paneLayout,e);return!i||i.pane!==`center`?null:zn({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})},[]),Ks=(0,e.useCallback)((e,t,n)=>{Us(Ws(e,n),Gs(t,n))},[Us,Gs,Ws]);(0,e.useEffect)(()=>{Xa.current=Ks},[Ks]),(0,e.useImperativeHandle)(Rt,()=>{let e=e=>{let t=$.current;if(!t)return null;let n=e=>t.rowModel.getRow(e),r=Cn(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=de(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=fe(e.startRow,e.endRow);return{getRow:n,startRow:r.startRow,endRow:r.endRow+1,columns:t.orderedColumns}}let r=pe(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=t=>{let n=e(t?.scope??`view`);return n?xn({getRow:n.getRow,startRow:n.startRow,endRow:n.endRow,columns:n.columns,delimiter:t?.delimiter,includeHeaders:t?.includeHeaders,bom:t?.bom}):t?.bom?``:``},n=t=>{let n=e(t?.scope??`view`);return n?Sn({getRow:n.getRow,startRow:n.startRow,endRow:n.endRow,columns:n.columns}):{columns:[],rows:[]}};return{scrollToRow:(e,t)=>Us(Ws(e,t?.align??`auto`),null),scrollToCell:(e,t,n)=>Ks(e,t,n?.align??`auto`),scrollToTop:()=>{z.current?.scrollTo({top:0,behavior:`auto`})},scrollToBottom:()=>{let e=z.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&&Ks(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&&Ks(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&&Ks(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=de(t.range);for(let t=e.start.row;t<=e.end.row;t+=1)r(t)}else if(t.type===`row`){let e=fe(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=>t(e),downloadCsv:(e,n)=>{if(typeof document>`u`)return;let r=t({...n,bom:n?.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=>n(e),getState:()=>{let e=$.current;return e?On(e.uiState.columnWidths,e.uiState.filters,e.uiState.sort,Dn(e.columns)):On({},{globalText:``,columnFilters:{}},[],[])},applyState:e=>{let t=$.current;if(!t)return;let n=kn(e);t.onColumnsChange&&n.columns&&t.onColumnsChange(An(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?re(e.uiState.rowSelection):{type:`include`,rowKeys:[]}},setRowSelection:e=>{La.current(ie(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?j(e.uiState.rowSelection,e.rowModel.getRowCount()):0},isRowSelected:e=>{let t=$.current;return t?O(t.uiState.rowSelection,e):!1},selectAllRows:()=>{La.current(A())},clearRowSelection:()=>{La.current(ne())},undo:()=>{$.current?.undoRows()},redo:()=>{$.current?.redoRows()},canUndo:()=>$.current?.canUndoRows()??!1,canRedo:()=>$.current?.canRedoRows()??!1,clearUndoHistory:()=>{$.current?.clearUndoHistory()},openFilterManager:()=>{$.current?.openFilterManager()},closeFilterManager:()=>{$.current?.closeFilterManager()}}},[Us,Ks,Ws]);let qs=(0,e.useRef)(zt);qs.current=zt;let Js=(0,e.useRef)(null);return(0,e.useEffect)(()=>{if(!qs.current)return;let e=On(U.columnWidths,U.filters,U.sort,Dn(p)),t=Ln(Js.current,e,U.dragState!==null);Js.current=t.nextLast,t.emit&&qs.current(e)},[U.columnWidths,U.filters,U.sort,U.dragState,p]),(0,n.jsxs)(`div`,{className:i(`ssg-root`,se!==`standard`&&`ssg-root--density-${se}`,Ta,Ae&&`ssg-root--dim-readonly`,jt,I?.root),children:[Bs,pt&&(0,n.jsx)(Ni,{entries:Fo,canFilter:on,onEditFilter:zo,onClearFilter:Bo,onClearAllFilters:Vo}),(0,n.jsxs)(`div`,{ref:R,className:`ssg-shell`,style:{cursor:mi?`progress`:void 0},onDragStart:Ga,onPointerLeave:()=>Qt(null),onPointerMoveCapture:e=>{Vt.current={x:e.clientX,y:e.clientY},Ha(e.clientX,e.clientY)},tabIndex:Ls?-1:0,onKeyDown:Ls?void 0:fo,onPaste:Ls?void 0:co,onContextMenu:pi,children:[(0,n.jsxs)(`div`,{ref:z,className:`ssg-scroll-container`,style:Hs,children:[(0,n.jsxs)(`div`,{className:`ssg-inner-row`,style:{width:rr,minWidth:rr,height:L+ma},children:[(0,n.jsxs)(`div`,{ref:Gt,style:ks(`left`,er,Yn),children:[Yn&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:er,minWidth:er,height:L+ma},children:[(0,n.jsx)(ni,{pane:`left`,ownsRowHeader:!0,leadingWidth:Qn,headerHeight:L,rowHeaderCellStyle:Ds,headerRowClassName:I?.headerRow,headerCellClassName:I?.headerCell,rowHeaderCellClassName:I?.rowHeaderCell,isCornerHovered:Yt,isWholeGridSelected:oo,showSelectAllCheckbox:Oa,selectAllState:Aa,filteredRowsLength:Z,visibleColumnsLength:B.length,renderEntries:ya,hoveredColumnIndex:en,selectionSnapshot:dn,columnFilterValues:U.filters.columnFilters,sortState:U.sort,iconButtonClassName:I?.iconButton,onCornerPointerDown:xo,onCornerPointerEnter:wo,onCornerPointerLeave:To,onColumnHeaderPointerDown:Ja,onColumnHeaderPointerEnter:Ya,onColumnHeaderPointerLeave:Co,onColumnResizePointerDown:Eo,enableColumnMenu:Qe,enableColumnResize:qe,openedMenuColumnKey:gr,onColumnMenuButtonPointerDown:vr,onColumnHeaderContextMenu:yr,onColumnDragHandlePointerDown:$o}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:er,height:L+ma,transform:ha},children:[(0,n.jsx)(ge,{rect:bo(`left`),headerHeight:L,baseOffset:_a,leadingWidth:Qn}),(0,n.jsx)(_e,{rect:Ca(`left`),headerHeight:L,baseOffset:_a,leadingWidth:Qn}),(0,n.jsx)(ve,{rect:wa(`left`),headerHeight:L,baseOffset:_a,leadingWidth:Qn,initialValue:qt,onCommit:mo,onCancel:ho,align:go?.align}),(0,n.jsx)($r,{pane:`left`,ownsRowHeader:!0,leadingWidth:Qn,rowModel:X,virtualRows:ua,virtualRowIndexes:da,renderEntries:ya,rowHeight:Bt,autoHeight:Q,showCellOverflowTooltip:Ye,isServerSide:H,rowHeaderCellStyle:Ds,hoveredRowIndex:Zt,isWholeGridSelected:oo,enableRowSelection:Le,rowSelectionState:ka,activeCell:U.activeCell,editingCell:U.editingCell,selectionSnapshot:dn,readOnly:ke,canEditCell:P,onRowHeaderPointerDown:Ka,onRowHeaderPointerEnter:qa,onRowHeaderPointerLeave:So,onCellPointerDown:Ua,onCellPointerEnter:Wa,onCellDoubleClick:_o,renderCellContent:Ts,getRowClassName:Mt,bodyCellClassName:I?.bodyCell,bodyRowClassName:I?.bodyRow,rowHeaderCellClassName:I?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:Yo,className:`ssg-col-drop-indicator`,style:es})]}),(0,n.jsx)(`div`,{ref:Ut,className:`ssg-center-pane`,style:{width:nr,minWidth:nr},children:(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:nr,minWidth:nr,height:L+ma},children:[(0,n.jsx)(ni,{pane:`center`,ownsRowHeader:Zn,leadingWidth:$n,headerHeight:L,rowHeaderCellStyle:Ds,headerRowClassName:I?.headerRow,headerCellClassName:I?.headerCell,rowHeaderCellClassName:I?.rowHeaderCell,isCornerHovered:Yt,isWholeGridSelected:oo,showSelectAllCheckbox:Oa,selectAllState:Aa,filteredRowsLength:Z,visibleColumnsLength:B.length,renderEntries:va,hoveredColumnIndex:en,selectionSnapshot:dn,columnFilterValues:U.filters.columnFilters,sortState:U.sort,iconButtonClassName:I?.iconButton,onCornerPointerDown:xo,onCornerPointerEnter:wo,onCornerPointerLeave:To,onColumnHeaderPointerDown:Ja,onColumnHeaderPointerEnter:Ya,onColumnHeaderPointerLeave:Co,onColumnResizePointerDown:Eo,enableColumnMenu:Qe,enableColumnResize:qe,openedMenuColumnKey:gr,onColumnMenuButtonPointerDown:vr,onColumnHeaderContextMenu:yr,onColumnDragHandlePointerDown:$o}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:nr,height:L+ma,transform:ha},children:[(0,n.jsx)(ge,{rect:bo(`center`),headerHeight:L,baseOffset:_a,leadingWidth:$n}),(0,n.jsx)(_e,{rect:Ca(`center`),headerHeight:L,baseOffset:_a,leadingWidth:$n}),(0,n.jsx)(ve,{rect:wa(`center`),headerHeight:L,baseOffset:_a,leadingWidth:$n,initialValue:qt,onCommit:mo,onCancel:ho,align:go?.align}),(0,n.jsx)($r,{pane:`center`,ownsRowHeader:Zn,leadingWidth:$n,rowModel:X,virtualRows:ua,virtualRowIndexes:da,renderEntries:va,rowHeight:Bt,autoHeight:Q,showCellOverflowTooltip:Ye,isServerSide:H,rowHeaderCellStyle:Ds,hoveredRowIndex:Zt,isWholeGridSelected:oo,enableRowSelection:Le,rowSelectionState:ka,activeCell:U.activeCell,editingCell:U.editingCell,selectionSnapshot:dn,readOnly:ke,canEditCell:P,onRowHeaderPointerDown:Ka,onRowHeaderPointerEnter:qa,onRowHeaderPointerLeave:So,onCellPointerDown:Ua,onCellPointerEnter:Wa,onCellDoubleClick:_o,renderCellContent:Ts,getRowClassName:Mt,bodyCellClassName:I?.bodyCell,bodyRowClassName:I?.bodyRow,rowHeaderCellClassName:I?.rowHeaderCell})]}),(0,n.jsx)(`div`,{ref:Xo,className:`ssg-col-drop-indicator`,style:es})]})}),(0,n.jsxs)(`div`,{ref:Kt,style:ks(`right`,tr,Xn),children:[Xn&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:tr,minWidth:tr,height:L+ma},children:[(0,n.jsx)(ni,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,headerHeight:L,rowHeaderCellStyle:Ds,headerRowClassName:I?.headerRow,headerCellClassName:I?.headerCell,rowHeaderCellClassName:I?.rowHeaderCell,isCornerHovered:Yt,isWholeGridSelected:oo,showSelectAllCheckbox:Oa,selectAllState:Aa,filteredRowsLength:Z,visibleColumnsLength:B.length,renderEntries:ba,hoveredColumnIndex:en,selectionSnapshot:dn,columnFilterValues:U.filters.columnFilters,sortState:U.sort,iconButtonClassName:I?.iconButton,onCornerPointerDown:xo,onCornerPointerEnter:wo,onCornerPointerLeave:To,onColumnHeaderPointerDown:Ja,onColumnHeaderPointerEnter:Ya,onColumnHeaderPointerLeave:Co,onColumnResizePointerDown:Eo,enableColumnMenu:Qe,enableColumnResize:qe,openedMenuColumnKey:gr,onColumnMenuButtonPointerDown:vr,onColumnHeaderContextMenu:yr,onColumnDragHandlePointerDown:$o}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:tr,height:L+ma,transform:ha},children:[(0,n.jsx)(ge,{rect:bo(`right`),headerHeight:L,baseOffset:_a,leadingWidth:0}),(0,n.jsx)(_e,{rect:Ca(`right`),headerHeight:L,baseOffset:_a,leadingWidth:0}),(0,n.jsx)(ve,{rect:wa(`right`),headerHeight:L,baseOffset:_a,leadingWidth:0,initialValue:qt,onCommit:mo,onCancel:ho,align:go?.align}),(0,n.jsx)($r,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,rowModel:X,virtualRows:ua,virtualRowIndexes:da,renderEntries:ba,rowHeight:Bt,autoHeight:Q,showCellOverflowTooltip:Ye,isServerSide:H,rowHeaderCellStyle:Ds,hoveredRowIndex:Zt,isWholeGridSelected:oo,enableRowSelection:Le,rowSelectionState:ka,activeCell:U.activeCell,editingCell:U.editingCell,selectionSnapshot:dn,readOnly:ke,canEditCell:P,onRowHeaderPointerDown:Ka,onRowHeaderPointerEnter:qa,onRowHeaderPointerLeave:So,onCellPointerDown:Ua,onCellPointerEnter:Wa,onCellDoubleClick:_o,renderCellContent:Ts,getRowClassName:Mt,bodyCellClassName:I?.bodyCell,bodyRowClassName:I?.bodyRow,rowHeaderCellClassName:I?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:Zo,className:`ssg-col-drop-indicator`,style:es})]})]}),Os&&(0,n.jsx)(`div`,{className:`ssg-empty-state`,children:r.length===0?nt:$e})]}),mi&&(0,n.jsx)(`div`,{className:`ssg-autosize-overlay`,children:(0,n.jsx)(`span`,{className:`ssg-autosize-pill`,children:`列幅を計算中…`})}),qr===`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(Jr*100),`%`]})]})})]}),Vs,js,Ms,Fs,Is]})}function ra(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=na,exports.numberFormatter=ra;
|
|
4
|
+
`).filter(e=>e.length>0).map(e=>e.split(` `)):[]},mt=(e,t,n,r)=>{if(!r)return``;let i=[];if(r.type===`cell`){let t=de(r.range);for(let r=t.start.row;r<=t.end.row;r+=1){let a=e(r);if(!a)continue;let o=[];for(let e=t.start.col;e<=t.end.col;e+=1){let t=n[e];if(!t)continue;let r=P(a,t),i=t.formatClipboardValue?t.formatClipboardValue(r,a):String(r??``);o.push(i)}i.push(o.join(` `))}return i.join(`
|
|
5
|
+
`)}if(r.type===`row`){let t=fe(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=P(t,e);return e.formatClipboardValue?e.formatClipboardValue(n,t):String(n??``)});i.push(a.join(` `))}return i.join(`
|
|
6
|
+
`)}let a=pe(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=P(t,r),a=r.formatClipboardValue?r.formatClipboardValue(i,t):String(i??``);o.push(a)}i.push(o.join(` `))}return i.join(`
|
|
7
|
+
`)},I=(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=Ve(s)(f,l);dt(s,l,p).action!==`reject`&&(u=Ne(u,s,p),d=!0)}d&&(s[c]=u)}return s},ht=({rows:t,rowModel:n,visibleColumns:r,uiState:i,readOnly:s,canEditCell:c,createRow:l,createOverflowColumn:u,onRowsChange:d,onColumnsChange:f,dispatch:p})=>{let m=n.getRowCount(),h=m>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===m-1&&s===r.length-1})(),g=(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=P(e,t);return t.formatClipboardValue?t.formatClipboardValue(n,e):String(n??``)});t.push(a.join(` `))}return t.join(`
|
|
8
|
+
`)},[n,r]);return{isWholeGridSelected:h,handleCopy:(0,e.useCallback)(async()=>{let e=h?g():mt(n.getRow,n.getRowCount(),r,i.selection);e&&navigator.clipboard?.writeText&&await navigator.clipboard.writeText(e)},[h,n,g,i.selection,r]),handlePaste:(0,e.useCallback)(e=>{if(s||!d||!i.activeCell)return;let m=e.clipboardData.getData(`text/plain`);if(!m)return;e.preventDefault();let h=pt(m);if(h.length===0)return;let g=i.activeCell.row,_=n.getSourceIndex(g);if(_===void 0)return;let v=i.activeCell.col,y=[...t],b=[...r],x=n.getRowCount(),S=y.length,C=e=>e<x?n.getSourceIndex(e):S+(e-x),w=_+h.length;if(w>y.length&&l)for(;y.length<w;)y.push(l());let T=h.reduce((e,t)=>Math.max(e,t.length),0);if(T===0)return;let E=v+T;if(E>b.length&&f&&u){for(;b.length<E;)b.push(u(b.length));f(b)}let D=I(y,C,b,h,g,v,(e,t,n,r)=>Me({readOnly:s,canEditCell:c},e,t,n,r)),O=o(i.activeCell.row+Math.max(h.length-1,0),0,Math.max(Math.max(n.getRowCount()-1,0),g+h.length-1)),k=o(i.activeCell.col+Math.max((h[0]?.length??1)-1,0),0,Math.max(Math.max(b.length-1,0),v+T-1));d(D),p(a.startSelection(i.activeCell)),p(a.updateSelection({row:O,col:k})),p(a.endSelection()),p(a.activateCell(i.activeCell))},[c,u,l,p,f,d,s,n,t,i.activeCell,r])}},gt=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},_t=(e,t,n)=>e?e(t):n,vt=(e,t=16)=>e.length<=t?e:`${e.slice(0,t)}…`,yt=e=>e?`${gt(e.col)}${e.row+1}`:`なし`,bt=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`${gt(r)}${t+1} - ${gt(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 ${gt(t)} - ${gt(n)}`},xt=(e,t)=>`Rows: ${t} / ${e.rows.length}`,St=e=>`Columns: ${e.visibleColumns.length} / ${e.columns.length}`,Ct=(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}},L=(e,t)=>{let n=Ct(e,t);return`Cells: ${n.selectedCellCount} / Rows: ${n.selectedRowCount}`},wt=e=>Object.values(e).filter(e=>qe(e)).length,Tt=e=>{let t=e.globalFilterText.trim().length>0,n=t?vt(e.globalFilterText.trim()):null,r=wt(e.columnFilterValues);return!t&&r===0?`Filter: なし`:t&&r===0?`Filter: Global("${n}")`:!t&&r>0?`Filter: ${r}列`:`Filter: Global("${n}") + ${r}列`},Et=(e,t)=>{let n=e.find(e=>e.key===t);return n?.title||n?.key||t},Dt=e=>e.sortState.length===0?`Sort: なし`:`Sort: ${e.sortState.map(t=>`${Et(e.columns,t.columnKey)} (${t.direction===`asc`?`昇順`:`降順`})`).join(`, `)}`,Ot=(e,t)=>{let n=Ct(e,t),r=e.globalFilterText.trim().length>0,i=r?vt(e.globalFilterText.trim()):null,a=wt(e.columnFilterValues),o=r||a>0,s=e.sortState.length>0,c=s?Et(e.columns,e.sortState[0].columnKey):null;return{rowSummaryText:xt(e,t),columnSummaryText:St(e),filterSummaryText:Tt(e),sortSummaryText:Dt(e),activeCellLabel:yt(e.activeCell),selectionLabel:bt(e.selection),selectionStatsText:L(e,t),selectionStats:n,hasGlobalFilter:r,globalFilterPreview:i,activeColumnFilterCount:a,hasAnyFilter:o,hasSorting:s,sortedColumnLabel:c}},kt=({rows:t,viewRowCount:n,getFilteredRows:r,columns:i,visibleColumns:a,uiState:o,setGlobalFilterText:s,globalFilterStatus:c,globalFilterProgress:l})=>{let u=me(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)(()=>Ot(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])}},At=({uiState:t,rows:n,visibleColumns:r,rowModel:i,setEditorInitialValue:o,onRowsChange:s,dispatch:c,getMovedCell:l,gridRootRef:u,editorActionGuardRef:d})=>{let f=(0,e.useCallback)(e=>{c(a.startSelection(e)),c(a.endSelection()),c(a.activateCell(e))},[c]);return{activateSingleCell:f,startEditWithValue:(0,e.useCallback)((e,t)=>{o(t),c(a.startEdit(e))},[c,o]),commitEdit:(0,e.useCallback)((e,o)=>{if(d.current||!t.editingCell)return{status:`noop`};let p=t.editingCell,m=o===`down`?l(p,1,0):o===`right`?l(p,0,1):o===`left`?l(p,0,-1):p,h=r[p.col],g=i.getSourceIndex(p.row),_=n[g];if(!h||!_)return c(a.stopEdit()),{status:`noop`};if(s){let t=He(h,e,_),r=dt(h,_,t);if(r.action===`reject`)return{status:`rejected`,message:r.message};s(Ue(n,g,h,t))}return d.current=!0,requestAnimationFrame(()=>{u.current?.focus(),f(m),d.current=!1}),c(a.stopEdit()),{status:`committed`}},[f,c,d,i,l,u,s,n,t.editingCell,r]),cancelEdit:(0,e.useCallback)(()=>{d.current||(d.current=!0,c(a.stopEdit()),requestAnimationFrame(()=>{u.current?.focus(),d.current=!1}))},[c,d,u])}},R=()=>({past:[],future:[]}),jt=e=>e.past.length>0,Mt=e=>e.future.length>0,Nt=(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:[]}},Pt=(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}},Ft=(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}},It=({rows:t,selection:n,activeCell:r,onRowsChange:i,dispatch:o,enabled:s,limit:c,onUndoRedoStateChange:l,onAfterRestore:u})=>{let d=(0,e.useRef)(R()),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&&jt(d.current),canRedo:s&&i!=null&&Mt(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=R(),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=Nt(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=Pt(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=Ft(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&&jt(d.current),[s,i]),canRedo:(0,e.useCallback)(()=>s&&i!=null&&Mt(d.current),[s,i]),clearHistory:(0,e.useCallback)(()=>{d.current=R(),h()},[h])}},Lt=e=>e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey,Rt=e=>e instanceof HTMLElement?e.closest(`input, textarea, select, button, [contenteditable="true"]`)!==null:!1,zt=({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,onToggleCheckboxCell:_})=>{let v=n.getRowCount(),y=(0,e.useCallback)((e,t,n)=>({row:o(e.row+t,0,Math.max(v-1,0)),col:o(e.col+n,0,Math.max(r.length-1,0))}),[v,r.length]),b=(0,e.useCallback)((e,n,i)=>{if(v===0||r.length===0)return;let s=t.activeCell??{row:0,col:0},c={row:o(s.row+e,0,v-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,v,t.activeCell,t.selection,r.length]);return{getMovedCell:y,handleKeyDown:(0,e.useCallback)(async e=>{if(!Rt(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(),b(-1,0,e.shiftKey);return}if(e.key===`ArrowDown`){e.preventDefault(),b(1,0,e.shiftKey);return}if(e.key===`ArrowLeft`){e.preventDefault(),b(0,-1,e.shiftKey);return}if(e.key===`ArrowRight`){e.preventDefault(),b(0,1,e.shiftKey);return}if(e.key===`Tab`){e.preventDefault(),b(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===`F2`){e.preventDefault(),t.activeCell&&d(t.activeCell);return}if(Lt(e)&&t.activeCell){let o=n.getRow(t.activeCell.row),u=r[t.activeCell.col];if(!o||!u||!Me({readOnly:i,canEditCell:s},t.activeCell.row,t.activeCell.col,o,u))return;if(u.editor?.type===`checkbox`){e.preventDefault(),e.key===` `&&_(t.activeCell);return}e.preventDefault(),c(e.key),l(a.startEdit(t.activeCell))}}},[s,l,n,d,u,f,b,g,h,_,m,i,p,c,t.activeCell,t.editingCell,r])}},Bt=new Intl.Collator(`ja`,{numeric:!0,sensitivity:`base`}),Vt=(e,t)=>{let n=Number(e),r=Number(t);return Number.isFinite(n)&&Number.isFinite(r)?n-r:Bt.compare(String(e??``),String(t??``))},Ht=(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)},Ut=(e,t,n)=>e.some(e=>e.columnKey===t)?e:[...e,{columnKey:t,direction:n}],Wt=(e,t,n)=>t<0||t>=e.length||e[t].direction===n?e:e.map((e,r)=>r===t?{...e,direction:n}:e),Gt=(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),Kt=(e,t)=>t<0||t>=e.length?e:e.filter((e,n)=>n!==t),qt=(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},Jt=(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(P(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]=P(e[t[i]],n);return r});u.sort((e,r)=>{for(let t=0;t<o;t+=1){let i=Vt(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},Yt=15e6,Xt=(e,t,n,r)=>e&&t&&n>0&&n<=r,Zt=1<<20,Qt=(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))}),$t=(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}},en=(e,t)=>e*t,tn=(e,t)=>t===1?e:e/t,z=(e,t,n,r)=>{let i=t*(1-n);return r.rowAtContentY(e-i)},nn=({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/Zt)*Zt,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}},rn=({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}},B=({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}},an=(e,t,n,r)=>e<t+r?-1:+(e>n-r),V=(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},on=(e,t,n)=>{let r=t.x-e.x,i=t.y-e.y;return r*r+i*i>=n*n},sn=({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:ee,onGutterRowSelectDrag:te})=>{let A=(0,e.useRef)(u.dragState);A.current=u.dragState;let ne=(0,e.useRef)(!1),j=(0,e.useRef)(null),re=(0,e.useRef)(null),M=(0,e.useRef)(!1),ie=(0,e.useRef)(u.sort);ie.current=u.sort;let ae=(0,e.useRef)(m);ae.current=m;let oe=(0,e.useRef)(p);oe.current=p;let se=u.dragState?.type??null,ce=(0,e.useCallback)((e,t)=>{let a=n.current;if(!a||h===0||g===0)return null;let c=a.getBoundingClientRect(),l=z(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]),le=(0,e.useRef)(ce);(0,e.useEffect)(()=>{le.current=ce},[ce]);let ue=(0,e.useCallback)((e,t)=>{let n=A.current;if(!n||n.type!==`selection`)return;let r=ce(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,ce]);(0,e.useEffect)(()=>{let e=e=>{c.current={x:e.clientX,y:e.clientY},se===`columnResize`&&d(a.updateColumnResize(e.clientX))},t=()=>{ne.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,se]),(0,e.useEffect)(()=>{if(se!==`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(!M.current){let t=re.current;if(t&&!on(t,n,6)){l.current=requestAnimationFrame(e);return}M.current=!0}let i=t.getBoundingClientRect(),a=B({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=A.current?.type===`selection`&&A.current.selectionKind===`col`,s=A.current?.type===`selection`&&A.current.selectionKind===`row`,u=o?0:an(n.y,a.top,a.bottom,24),d=s?0:an(n.x,a.left,a.right,24),f=V(t.scrollTop,u,18,t.scrollHeight-t.clientHeight),p=V(t.scrollLeft,d,18,t.scrollWidth-t.clientWidth);(f!==t.scrollTop||p!==t.scrollLeft)&&(t.scrollTo({top:f,left:p,behavior:`auto`}),ue(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,se,ue]);let de=(0,e.useCallback)((e,n)=>{n.preventDefault(),n.button===0&&(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},re.current={x:n.clientX,y:n.clientY},M.current=!1,d(a.activateCell(e)),f&&d(a.startSelection(e)))},[d,f,t,c]),fe=(0,e.useCallback)((e,t)=>{if(D&&T(e.row),!f)return;let n=A.current;n?.type!==`selection`||n.selectionKind!==`cell`||(c.current={x:t.clientX,y:t.clientY},d(a.updateSelection(e)))},[d,f,c,T,D]),pe=(0,e.useCallback)(e=>{e.preventDefault()},[]),me=(0,e.useCallback)(()=>{if(j.current!==null)return;let e=()=>{if(!ne.current){j.current=null;return}let t=r.current,n=c.current;if(!t||!n){j.current=requestAnimationFrame(e);return}if(!M.current){let t=re.current;if(t&&!on(t,n,6)){j.current=requestAnimationFrame(e);return}M.current=!0}let i=t.getBoundingClientRect(),a=B({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=an(n.y,a.top,a.bottom,24),s=V(t.scrollTop,o,18,t.scrollHeight-t.clientHeight);if(s!==t.scrollTop){t.scrollTo({top:s,left:t.scrollLeft,behavior:`auto`});let e=le.current(n.x,n.y);e&&te(e.row)}j.current=requestAnimationFrame(e)};j.current=requestAnimationFrame(e)},[r,c,te]);return(0,e.useEffect)(()=>()=>{j.current!==null&&(cancelAnimationFrame(j.current),j.current=null)},[]),{updateSelectionFromPointer:ue,handleCellPointerDown:de,handleCellPointerEnter:fe,handleNativeDragStart:pe,handleRowHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},re.current={x:n.clientX,y:n.clientY},M.current=!1,k){ne.current=!0,ee(e,{shiftKey:n.shiftKey}),me();return}d(a.startRowSelection(e))}},[d,t,k,ee,me,c]),handleRowHeaderPointerEnter:(0,e.useCallback)((e,t)=>{if(D&&T(e),ne.current){c.current={x:t.clientX,y:t.clientY},te(e);return}let n=A.current;n?.type!==`selection`||n.selectionKind!==`row`||(c.current={x:t.clientX,y:t.clientY},d(a.updateRowSelection(e)))},[d,c,T,D,te]),handleColumnHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus(),c.current={x:n.clientX,y:n.clientY},re.current={x:n.clientX,y:n.clientY},M.current=!1,n.shiftKey&&oe.current){let t=ae.current[e];if(t){let e=ie.current,n=e.find(e=>e.columnKey===t.key)?.direction?`desc`:`asc`,r=Ht(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=A.current;n?.type!==`selection`||n.selectionKind!==`col`||(c.current={x:t.clientX,y:t.clientY},d(a.updateColumnSelection(e)))},[d,c,T,E,O])}},cn=({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=en(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:tn(g,d),left:_,behavior:`auto`})},[t,u,o,s,c,l,d])};function ln(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 un=`data-ssg-tooltip`,H=`[${un}], [data-ssg-tooltip-overflow]`,U=350,dn=800,fn=0,pn=null,mn=null,W=0,hn=null;function gn(){if(pn!==null)return pn;let e=document.createElement(`div`);return e.className=`ssg-tooltip`,e.setAttribute(`aria-hidden`,`true`),document.body.appendChild(e),pn=e,e}function _n(){mn!==null&&(window.clearTimeout(mn),mn=null)}function vn(){_n(),hn!==null&&(W=Date.now()+dn),hn=null,pn!==null&&pn.classList.remove(`ssg-tooltip--visible`)}function yn(e){let t=e.getAttribute(un),n=t!==null&&t!==``?t:(e.textContent??``).trim();if(n===``)return;let r=gn();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=ln({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`),hn=e}function bn(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(H);if(n===null||n===hn||!n.hasAttribute(un)&&n.scrollWidth<=n.clientWidth+1)return;let r=hn!==null;vn(),r||Date.now()<W?yn(n):mn=window.setTimeout(()=>{mn=null,yn(n)},U)}function xn(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(H);if(n===null)return;let r=e.relatedTarget;r instanceof Node&&n.contains(r)||vn()}function Sn(){vn()}function Cn(e){e.key===`Escape`&&vn()}function wn(){window.addEventListener(`pointerover`,bn,!0),window.addEventListener(`pointerout`,xn,!0),window.addEventListener(`focusin`,bn,!0),window.addEventListener(`focusout`,xn,!0),window.addEventListener(`pointerdown`,Sn,!0),window.addEventListener(`scroll`,Sn,!0),window.addEventListener(`keydown`,Cn,!0)}function Tn(){window.removeEventListener(`pointerover`,bn,!0),window.removeEventListener(`pointerout`,xn,!0),window.removeEventListener(`focusin`,bn,!0),window.removeEventListener(`focusout`,xn,!0),window.removeEventListener(`pointerdown`,Sn,!0),window.removeEventListener(`scroll`,Sn,!0),window.removeEventListener(`keydown`,Cn,!0)}function En(){(0,e.useEffect)(()=>(fn+=1,fn===1&&wn(),()=>{--fn,fn===0&&(Tn(),_n(),hn=null,pn!==null&&(pn.remove(),pn=null))}),[])}var Dn=`(prefers-color-scheme: dark)`;function On(e){if(typeof window.matchMedia!=`function`)return()=>{};let t=window.matchMedia(Dn);return t.addEventListener(`change`,e),()=>{t.removeEventListener(`change`,e)}}function kn(){return typeof window.matchMedia==`function`?window.matchMedia(Dn).matches:!1}function An(t){let n=(0,e.useSyncExternalStore)(On,kn);return t===`dark`||t===`auto`&&n?`dark`:`light`}function jn(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 Mn=32,Nn=2,Pn=14,G=12,Fn=`<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>`,In=`<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>`,Ln=`<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>`,Rn=`0.5`,zn=200,Bn=`cubic-bezier(0.2, 0.7, 0.3, 1)`,Vn=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,Hn=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},Un=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+Pn)+`px,`+(r+G)+`px)`;let i=e??`out`;if(_.current===i)return;_.current=i;let a=g.current;i===`out`?(t.style.opacity=Rn,a&&(a.innerHTML=Ln)):(t.style.opacity=`1`,a&&(a.innerHTML=i===`center`?Fn:In))},[]),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+Mn)return{pane:`left`,slot:0,leftPx:Nn};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-Mn)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||on(e,t,6))&&(f.current=!0)}if(f.current){let n=e.getBoundingClientRect(),r=B({rectLeft:n.left,rectTop:n.top,clientLeft:e.clientLeft,clientTop:e.clientTop,clientWidth:e.clientWidth,clientHeight:e.clientHeight}),i=an(t.x,r.left,r.right,24),a=V(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=jn(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&&!Vn()?Hn(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 ${zn}ms ${Bn}`,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}},Wn=e=>e===``?`(空白)`:`"${e}"`,Gn=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(Wn).join(`, `):`${e.values.length} 件を選択`;case`custom`:return typeof e.value==`string`&&e.value.trim().length>0?`"${e.value.trim()}"`:`カスタム条件`}},K=(e,t,n,r)=>{if(n===0||r===0)return null;let i=n-1,a=r-1;if(e?.type===`cell`){let t=de(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=fe(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=pe(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},Kn=({rows:e,resolveSourceIndex:t,columns:n,selection:r,activeCell:i,viewRowCount:a,canWriteCell:o})=>{let s=K(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=Ve(t)(``,i);Object.is(P(a,t),s)||dt(t,i,s).action!==`reject`&&(a=Ne(a,t,s),u=!0)}u&&(c[r]=a,l=!0)}return l?{nextRows:c,changed:l}:{nextRows:e,changed:!1}},qn=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}},Jn=(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},Yn=(e,t)=>e.includes(t)||e.includes(`"`)||e.includes(`
|
|
9
|
+
`)||e.includes(`\r`)?`"${e.replace(/"/g,`""`)}"`:e,Xn=(e,t)=>{let n=P(e,t);return t.formatClipboardValue?t.formatClipboardValue(n,e):String(n??``)},Zn=({getRow:e,startRow:t,endRow:n,columns:r,delimiter:i=`,`,includeHeaders:a=!0,bom:o=!1})=>{let s=[];a&&s.push(r.map(e=>Yn(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=>Yn(Xn(t,e),i));s.push(n.join(i))}let c=s.join(`\r
|
|
10
|
+
`);return o?`\uFEFF${c}`:c},Qn=({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=P(t,e);return{value:n,text:e.formatClipboardValue?e.formatClipboardValue(n,t):String(n??``)}}))}return{columns:i,rows:a}},$n=e=>e===`all`?`view`:e===`visible`?`rendered`:e,er=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}}},tr=e=>{let t={};for(let n of Object.keys(e))t[n]=er(e[n]);return t},nr=e=>{let t={key:e.key};return e.visible!==void 0&&(t.visible=e.visible),e.pinned!==void 0&&(t.pinned=e.pinned),t},rr=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}),ir=(e,t,n,r=[],i=2)=>({version:i,columnWidths:{...e},filters:{globalText:t.globalText,columnFilters:tr(t.columnFilters)},sort:n.map(e=>({...e})),columns:r.map(nr)}),ar=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]=er(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}},or=(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)},q=(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,sr=(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&&q(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)}},cr=(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},lr=(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)||!sr(e[r],t[r]))return!1;return!0},ur=(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},dr=(e,t)=>{if(e.version!==t.version||!cr(e.columnWidths,t.columnWidths)||e.filters.globalText!==t.filters.globalText||!lr(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!!ur(e.columns,t.columns)},fr=(e,t,n)=>n?{emit:!1,nextLast:e}:e===null||dr(e,t)?{emit:!1,nextLast:t}:{emit:!0,nextLast:t},pr=({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))},mr=({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))},hr=(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]},gr=(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 hr(s,0),s},_r=(e,t,n,r)=>t<0||t>=e.rowCount||(e.measured.set(n,r),e.heights[t]===r)?!1:(e.heights[t]=r,!0),vr=(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)},yr=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=>vr(t,n,e)}},br=21,xr=4,Sr=41,Cr=13,J=600,wr=60,Tr=16,Er=null,Dr=()=>Er||(typeof document>`u`?null:(Er=document.createElement(`canvas`).getContext(`2d`),Er)),Or=`system-ui, sans-serif`,kr=e=>{let t=Or,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:`${J} ${Cr}px ${t}`}},Ar=(e,t,n)=>Math.min(Math.max(e,t),n),jr=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,Mr=e=>{let t=0;for(let n of e){let e=n.codePointAt(0)??0;t+=jr(e)?2:1}return t},Nr=(e,t)=>{let n=P(e,t);return t.valueFormatter?t.valueFormatter({value:n,row:e,column:t}):String(n??``)},Pr=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},Fr=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},Ir=e=>e.suppressAutoSize===!0||e.autoHeight===!0;function Lr(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(Ir(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(P(a,e[o])??``);if(c===``)continue;let l=t[o],u=n[o];if(l.length===Tr&&2*c.length<=r[o])continue;let d=Mr(c);if(l.length<Tr){if(l.push(a),u.push(d),l.length===Tr){let e=u[0];for(let t=1;t<Tr;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<Tr;e+=1)u[e]<u[f]&&(f=e);l[f]=a,u[f]=d;let p=u[0];for(let e=1;e<Tr;e+=1)u[e]<p&&(p=u[e]);r[o]=p}},finalize:({gridRoot:n,currentWidths:r})=>{let a=Dr();if(!a||e.length===0)return{};let{cellFont:o,headerFont:s}=kr(n),c={},l=Pr(n);try{let n=null;if(l){let r=[];for(let n=0;n<e.length;n+=1){if(Ir(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=Nr(i[t],e[n]);if(r===``)continue;let o=Fr(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(Ir(u))continue;a.font=s;let d=u.title||u.key,f=a.measureText(d).width+xr+Sr,p;if(u.estimateCellWidth)p=i[l]>0?i[l]+br: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=Nr(n[t],u);if(r===``)continue;let i=a.measureText(r).width;i>e&&(e=i)}p=e>0?e+xr+br:0}let m=Math.ceil(Ar(Math.max(f,p),u.minWidth??wr,u.maxWidth??1/0));r[u.key]!==m&&(c[u.key]=m)}}finally{l&&l.parentNode&&l.parentNode.removeChild(l)}return c}}}function Rr(){return Dr()!==null}var zr=()=>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)}),Br=10,Vr=180,Hr=()=>typeof performance<`u`?performance.now():Date.now(),Ur=({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||!Rr())return;let o=c.current+=1;u();let d=t.current,f=d.getRowCount(),p=n.current,m=r.current,h=Lr(e);l.current=setTimeout(()=>{c.current===o&&s(!0)},Vr);try{let e=0;for(;e<f;){let n=Hr();for(;e<f&&Hr()-n<Br;){let t=d.getRow(e);t&&h.collect(t),e+=1}if(e<f&&(await zr(),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])}},Wr=()=>{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)=>Bt.compare(e.label,t.label))}}},Gr=(e,t)=>{let n=Wr();for(let r=0;r<e;r+=1)n.collect(t(r));return n.finalize()},Kr=10,qr=()=>typeof performance<`u`?performance.now():Date.now(),Jr=[],Yr=new Set,Xr={status:`idle`,options:Jr,allValues:Yr,progress:0},Zr={status:`collecting`,options:Jr,allValues:Yr,progress:0},Qr=e=>new Set(e.map(e=>e.value)),$r={source:null,rowCount:0,result:Xr},ei=({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 Xr;if(o){let e=o;return{status:`ready`,options:e,allValues:Qr(e),progress:1}}if(!s){let e=Gr(n,r);return{status:`ready`,options:e,allValues:Qr(e),progress:1}}return null},[t,a,o,s,n,r]),[l,u]=(0,e.useState)($r);(0,e.useEffect)(()=>{if(c!==null)return;let e=r,t=n,i=Wr(),a=!1;return(async()=>{let n=0;for(;n<t;){let r=qr();for(;n<t&&qr()-r<Kr;)i.collect(e(n)),n+=1;if(n<t){if(await zr(),a)return;u({source:e,rowCount:t,result:{status:`collecting`,options:Jr,allValues:Yr,progress:n/t}})}}if(a)return;let r=i.finalize();u({source:e,rowCount:t,result:{status:`ready`,options:r,allValues:Qr(r),progress:1}})})(),()=>{a=!0}},[c,n,r]);let d=l.source===r&&l.rowCount===n?l.result:Zr;return c??d},ti=10,ni=()=>typeof performance<`u`?performance.now():Date.now(),ri=({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:et(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=ni();for(;n<c&&ni()-r<ti;){let r=i[n];$e(e[r],a,o)&&(u[t]=r,t+=1),n+=1}if(n<c){if(await zr(),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 ii(e){let t=e.blockSize,n=e.maxBlocks,r=new Map,i=e=>{let t=r.get(e);t!==void 0&&(r.delete(e),r.set(e,t))},a=()=>{for(;r.size>n;){let e=r.keys().next().value;if(e===void 0)break;r.delete(e)}};return{getRow:e=>{if(t<=0||e<0)return;let n=Math.floor(e/t),i=r.get(n);if(i!==void 0)return i[e-n*t]},hasBlock:e=>r.has(e),setBlock:(e,t)=>{r.has(e)&&r.delete(e),r.set(e,t),a()},touchBlocks:e=>{for(let t of e)i(t)},clear:()=>{r.clear()},loadedBlockIndexes:()=>Array.from(r.keys())}}function ai(e,t){return Math.floor(e/t)}function Y(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=ai(i,n),s=ai(a-1,n),c=[];for(let e=o;e<=s;e+=1)c.push(e);return c}var oi=100,si=64,ci=120;function li(t){let{dataSource:n,rowKeyGetter:r,query:i,queryKey:a,refreshToken:o}=t,s=n?.blockSize??oi,c=n?.maxCachedBlocks??si,l=t.debounceMs??ci,[u]=(0,e.useState)(()=>ii({blockSize:s,maxBlocks:c})),[d,f]=(0,e.useState)(n?.initialRowCount??0),[p,m]=(0,e.useState)(0),h=(0,e.useRef)(d),g=(0,e.useRef)(!1),_=(0,e.useRef)(new Map),v=(0,e.useRef)(null),y=(0,e.useRef)({start:0,end:0}),b=(0,e.useCallback)(e=>{if(n==null||u.hasBlock(e)||_.current.has(e))return;let t=new AbortController;_.current.set(e,t);let r=e*s,a=r+s;n.getRows({startIndex:r,endIndex:a,query:i,signal:t.signal}).then(n=>{t.signal.aborted||_.current.get(e)===t&&(_.current.delete(e),u.setBlock(e,n.rows),n.totalRowCount!==h.current&&(h.current=n.totalRowCount,f(n.totalRowCount)),m(e=>e+1))}).catch(()=>{_.current.get(e)===t&&_.current.delete(e)})},[u,s,n,i]),x=(0,e.useCallback)(()=>{let{start:e,end:t}=y.current,n=Y(e,t,s,h.current),r=new Set(n);for(let[e,t]of _.current)r.has(e)||(t.abort(),_.current.delete(e));for(let e of n)b(e)},[s,b]),S=(0,e.useCallback)(()=>{v.current!==null&&clearTimeout(v.current),v.current=setTimeout(()=>{v.current=null,x()},l)},[l,x]),C=(0,e.useCallback)((e,t)=>{n!=null&&(y.current={start:e,end:t},u.touchBlocks(Y(e,t,s,h.current)),S())},[u,s,n,S]);(0,e.useEffect)(()=>{if(n==null)return;for(let[,e]of _.current)e.abort();_.current.clear(),v.current!==null&&(clearTimeout(v.current),v.current=null),u.clear();let e=!g.current;g.current=!0,m(e=>e+1),e?(n.initialRowCount??0)<=0&&b(0):b(0)},[a]);let w=(0,e.useRef)(o);(0,e.useEffect)(()=>{if(n==null||o===void 0){w.current=o;return}if(w.current===void 0){w.current=o;return}if(w.current!==o){w.current=o;for(let[,e]of _.current)e.abort();_.current.clear(),v.current!==null&&(clearTimeout(v.current),v.current=null),u.clear(),m(e=>e+1),x()}},[o]),(0,e.useEffect)(()=>{let e=_.current,t=v;return()=>{for(let[,t]of e)t.abort();e.clear(),t.current!==null&&(clearTimeout(t.current),t.current=null)}},[]);let T=(0,e.useCallback)(e=>u.getRow(e)!==void 0,[u]);return{rowModel:(0,e.useMemo)(()=>({getRowCount:()=>h.current,getRow:e=>u.getRow(e),getSourceIndex:e=>e,getRowKey:e=>{let t=u.getRow(e);return t===void 0?e:r(t,e)}}),[u,r,p]),rowCount:d,isRowLoaded:T,requestRange:C}}var ui=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];qe(n)&&(r[t]=n,i=!0)}return i&&(t.columnFilters=r),e.sort.length>0&&(t.sort=e.sort),t},di=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 pi=(0,e.memo)(fi);function mi({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)(pi,{state:e?`checked`:`unchecked`,disabled:t})})}var hi=(e,t)=>{let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)):e},X=(e,t)=>{if(!t.trim())return{kind:`close`};let n=hi(e,t);return n.length===0?{kind:`none`}:{kind:`replace`,values:n.map(e=>e.value)}},gi=(e,t)=>e===null?!0:e.mode===`include`?e.values.has(t):!e.values.has(t),_i=28;function vi({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)(()=>hi(r,p),[r,p]),h=p.trim().length>0,g=(0,e.useRef)(null),_=(0,t.useVirtualizer)({count:m.length,getScrollElement:()=>g.current,estimateSize:()=>_i,overscan:10}),v=(0,e.useMemo)(()=>{if(i===null)return m.length;let e=0;for(let t of m)gi(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=X(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=gi(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 yi({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)(vi,{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 bi({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 xi=(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`})]}),Si=(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 Ci({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?xi: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:Si}):null]}):null]})})}var wi=e=>e.enabled&&!e.isAutoHeightCell&&!e.hasRenderCell;function Ti({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,rowKey:o,row:s,top:c,renderEntries:l,rowHeight:u,autoHeight:d,showCellOverflowTooltip:f,autoHeightMinHeight:p,rowHeaderCellStyle:m,isRowHovered:h,isWholeGridSelected:g,isRowSelected:_,showRowCheckbox:v,isRowChecked:y,activeColInRow:b,editingColInRow:x,selectedColStart:S,selectedColEnd:C,readOnly:w,canEditCell:T,onRowHeaderPointerDown:E,onRowHeaderPointerEnter:D,onRowHeaderPointerLeave:O,onCellPointerDown:k,onCellPointerEnter:ee,onCellDoubleClick:te,renderCellContent:A,rowClassName:ne,bodyCellClassName:j,bodyRowClassName:re,rowHeaderCellClassName:M}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,className:i(`ssg-body-row`,y&&`ssg-body-row--checked`,ne,re),style:{height:u,transform:`translateY(${c}px)`},children:[t&&(0,n.jsx)(`div`,{role:v?`checkbox`:void 0,"aria-checked":v?y:void 0,onPointerDown:e=>E(a,e),onPointerEnter:e=>D(a,e),onPointerLeave:()=>O(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,v&&`ssg-row-header-cell--checkbox`,(g||_)&&`ssg-header-cell--selected`,h&&`ssg-header-cell--hovered`,ne,M),style:{...m,height:u},children:v?(0,n.jsx)(pi,{state:y?`checked`:`unchecked`}):a+1}),l.map(e=>{if(!e)return null;let t=e.logicalIndex,c=e.column,l=r+e.paneLocalStart,m=e.paneLocalSize,g=t===b,v=t===x,y=_||S>=0&&t>=S&&t<=C,E=!Me({readOnly:w,canEditCell:T},a,t,s,c),D=d&&c.autoHeight===!0,O,re=c.cellClassName;re&&(O=typeof re==`function`?re({row:s,rowIndex:a,colIndex:t,value:P(s,c),column:c,isActive:g,isSelected:y,isEditing:v,readOnly:E}):re);let M=c.validate?ut(c,s,P(s,c)):null,ie=i(`ssg-body-cell`,c.align===`center`&&`ssg-body-cell--align-center`,c.align===`right`&&`ssg-body-cell--align-right`,D&&`ssg-body-cell--autoheight`,E&&!y&&`ssg-body-cell--readonly`,M!==null&&`ssg-body-cell--invalid`,h&&`ssg-body-cell--row-hovered`,ne,O,j),ae={};c.wordBreak!==void 0&&(ae.wordBreak=c.wordBreak),c.lineBreak!==void 0&&(ae.lineBreak=c.lineBreak);let oe=wi({enabled:f,isAutoHeightCell:D,hasRenderCell:c.renderCell!==void 0});return(0,n.jsx)(`div`,{"data-ssg-col-key":c.key,"data-autoheight-cell":D?``:void 0,"data-ssg-tooltip":M??void 0,"data-ssg-tooltip-overflow":oe?``:void 0,className:ie,onPointerDown:e=>k({row:a,col:t},e),onPointerEnter:e=>ee({row:a,col:t},e),onDoubleClick:()=>te({row:a,col:t}),style:{left:l,width:m,minWidth:m,...D?{minHeight:p}:{height:u},...ae,zIndex:g?3:1},children:A(s,a,c,t,{isActive:g,isSelected:y,isEditing:v,readOnly:E})},`${String(o)}-${c.key}`)})]})}var Ei=(0,e.memo)(Ti),Di=[`62%`,`46%`,`78%`,`54%`];function Oi({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)(pi,{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=Di[o%Di.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 ki=(0,e.memo)(Oi);function Ai({pane:e,ownsRowHeader:t,leadingWidth:r,rowModel:i,virtualRows:a,virtualRowIndexes:o,renderEntries:s,rowHeight:c,autoHeight:l=!1,showCellOverflowTooltip:u=!1,isServerSide:d=!1,rowHeaderCellStyle:f,hoveredRowIndex:p,isWholeGridSelected:m,enableRowSelection:h,rowSelectionState:g,activeCell:_,editingCell:v,selectionSnapshot:y,readOnly:b,canEditCell:x,onRowHeaderPointerDown:S,onRowHeaderPointerEnter:C,onRowHeaderPointerLeave:w,onCellPointerDown:T,onCellPointerEnter:E,onCellDoubleClick:D,renderCellContent:k,getRowClassName:ee,bodyCellClassName:te,bodyRowClassName:A,rowHeaderCellClassName:ne}){return(0,n.jsx)(n.Fragment,{children:a.map(a=>{let j=a.index;if(!o.has(j))return null;let re=a.size??c,M=i.getRow(j);if(!M){if(!d)return null;let o=i.getRowKey(j)??j;return(0,n.jsx)(ki,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:j,top:a.start,rowHeight:re,renderEntries:s,rowHeaderCellStyle:f,isRowHovered:p===j,showRowCheckbox:h,onRowHeaderPointerDown:S,onRowHeaderPointerEnter:C,onRowHeaderPointerLeave:w,onCellPointerDown:T,onCellPointerEnter:E,bodyCellClassName:te,bodyRowClassName:A,rowHeaderCellClassName:ne},String(o))}let ie=i.getRowKey(j)??j,ae=h?O(g,ie):!1,oe=y.kind===`row`&&j>=y.startRow&&j<=y.endRow,se=y.kind===`cell`&&j>=y.startRow&&j<=y.endRow,ce=y.kind===`col`||se?y.startCol:-1,le=y.kind===`col`||se?y.endCol:-1,ue=_&&_.row===j?_.col:-1,de=v&&v.row===j?v.col:-1,fe=ee?.(M,j);return(0,n.jsx)(Ei,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:j,rowKey:ie,row:M,top:a.start,renderEntries:s,rowHeight:re,autoHeight:l,showCellOverflowTooltip:u,autoHeightMinHeight:c,rowHeaderCellStyle:f,isRowHovered:p===j,isWholeGridSelected:m,isRowSelected:oe,showRowCheckbox:h,isRowChecked:ae,activeColInRow:ue,editingColInRow:de,selectedColStart:ce,selectedColEnd:le,readOnly:b,canEditCell:x,onRowHeaderPointerDown:S,onRowHeaderPointerEnter:C,onRowHeaderPointerLeave:w,onCellPointerDown:T,onCellPointerEnter:E,onCellDoubleClick:D,renderCellContent:k,rowClassName:fe,bodyCellClassName:te,bodyRowClassName:A,rowHeaderCellClassName:ne},String(ie))})})}function ji({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 Mi({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:ee,openedMenuColumnKey:te,onColumnMenuButtonPointerDown:A,onColumnHeaderContextMenu:ne,onColumnDragHandlePointerDown:j}){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)(pi,{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=qe(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=te===o.key,g=ee;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=>ne(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:[j&&(0,n.jsx)(`span`,{onPointerDown:e=>j(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`})]})}),g&&(0,n.jsx)(ji,{title:`列メニュー`,isActive:h,className:x,onPointerDown:e=>A(o,e),children:`⋮`})]}),(o.resizable??k)&&(0,n.jsx)(`div`,{onPointerDown:e=>O(o,e),className:`ssg-header-resize`})]},o.key)})]})}var Ni=(0,e.memo)(Mi),Pi=200,Fi=8,Ii=6,Li=289,Ri=({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-Pi,e=i.bottom+Ii,n=i.top-Li-Ii}else if(i)t=i.x,e=i.y,n=i.y-Li;else{s(null);return}t=Math.max(Fi,t),t=Math.min(t,window.innerWidth-Pi-Fi),e+Li>window.innerHeight-Fi&&(e=n),e=Math.max(Fi,e),s(n=>n&&n.top===e&&n.left===t&&n.width===Pi?n:{top:e,left:t,width:Pi})},[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}},zi=[{value:void 0,label:`固定しない`},{value:`left`,label:`左に固定`},{value:`right`,label:`右に固定`}],Bi=180,Vi=4,Hi=8,Z=`pin`;function Ui({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===Z,ee=v.left+v.width+Vi+Bi>window.innerWidth-Hi,te={position:`fixed`,top:v.top,left:v.left,width:v.width,zIndex:1e3},A={position:`absolute`,top:-9,...ee?{right:`calc(100% + ${Vi}px)`}:{left:`calc(100% + ${Vi}px)`},width:Bi,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:te,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(Z)},onClick:()=>{O(e=>e===Z?null:Z)},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:A,children:[zi.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 Wi=({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}},Q=360,Gi=8,Ki=12,qi=[`filter`,`columns`,`sort`],Ji=({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 qi.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=Wi({top:e.top,left:e.left,panelWidth:Q,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});d(e=>e&&e.top===t.top&&e.left===t.left&&e.width===Q?e:{top:t.top,left:t.left,width:Q});return}let t=i.current;if(!t){d(null);return}let n=t.getBoundingClientRect(),r=n.right-Q-Ki,a=n.top+Ki;r=Math.max(Gi,r),r=Math.min(r,window.innerWidth-Q-Gi),a=Math.max(Gi,a),d(e=>e&&e.top===a&&e.left===r&&e.width===Q?e:{top:a,left:r,width:Q})},[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=Wi({top:e,left:t,panelWidth:Q,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h.current=n,d({top:n.top,left:n.left,width:Q})},[]);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}},Yi=({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 Xi({themeClassName:t,activeTab:a,flashTick:o,tabs:s,layout:c,panelRef:l,onSelectTab:u,onRequestClose:d,onPanelMove:f,children:p}){let{handleHeaderPointerDown:m}=Yi({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 Zi=28,Qi=12,$i=[`left`,`center`,`right`],ea={left:`左固定`,center:`固定なし`,right:`右固定`};function ta(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 na({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 ra({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 ia({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 $i.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),ee=(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)},[]),te=(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+Zi?i=-12:r>n.bottom-Zi&&(i=Qi),i!==0){let e=t.scrollTop;t.scrollTop+=i,t.scrollTop!==e&&ee()}k.current=requestAnimationFrame(e)},[ee]),A=(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=ta(t,n,r);e&&l(e)}},[S,E,t,l]),ne=(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),ee(),k.current===null&&(k.current=requestAnimationFrame(te)))},[b,ee,te]),j=(0,e.useCallback)(e=>{w.current&&(O.current=e.clientY,ee())},[ee]),re=(0,e.useCallback)(()=>{w.current&&A(!0)},[A]),M=(0,e.useCallback)(()=>{w.current&&A(!1)},[A]);(0,e.useEffect)(()=>()=>{k.current!==null&&(cancelAnimationFrame(k.current),k.current=null)},[]);let ie=()=>{r&&(m?s():o())},ae=S===null?null:t.find(e=>e.key===S)?.pane??null,oe=(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&&ae===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=>ne(e.key,o,t),onPointerMove:j,onPointerUp:re,onPointerCancel:M,className:i(`ssg-chooser-handle`,!b&&`ssg-chooser-handle--disabled`,l&&`ssg-chooser-handle--dragging`),children:(0,n.jsx)(ra,{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)(na,{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:ie,"aria-label":g,"data-ssg-tooltip":g,className:`ssg-chooser-master-btn`,children:(0,n.jsx)(na,{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:ea[e.pane]}),e.items.map((t,n)=>oe(t,n,e.pane)),S!==null&&ae===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 aa({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 oa({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)(aa,{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 sa(){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 ca(){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)(ca,{})}),(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)(sa,{})}),(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 ua({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 da=(e,t)=>e.findIndex(e=>e.key===t),fa=(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},pa=(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},ma=220,ha=8,ga=34,_a=16,va=({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*ga+_a,n=e.x,r=e.y,i=e.y-t;n=Math.max(ha,n),n=Math.min(n,window.innerWidth-ma-ha),r+t>window.innerHeight-ha&&(r=i),r=Math.max(ha,r),a(e=>e&&e.top===r&&e.left===n&&e.width===ma?e:{top:r,left:n,width:ma})},[]),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 ya({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 ba=(e,t)=>{let n=new Set(e);return n.add(t),n},xa=(e,t)=>{let n=new Set(e);return n.delete(t),n},Sa=(e,t)=>{let n=new Set(e);for(let e of t)n.add(e);return n},Ca=(e,t)=>{let n=new Set(e);for(let e of t)n.delete(e);return n},wa=[],Ta={},Ea={},Da=[],Oa={compact:{rowHeight:28,headerHeight:32},standard:{rowHeight:36,headerHeight:40},comfortable:{rowHeight:44,headerHeight:48}},ka={},Aa=[],ja=300,Ma=4,Na=300;function Pa({rows:r=wa,dataSource:o,serverSideRefreshToken:d,columns:p,onRowsChange:m,onColumnsChange:g,rowKeyGetter:_,createRow:v,createOverflowColumn:y,rowHeight:b,autoHeight:T=!1,estimateRowHeight:D,headerHeight:oe,density:se=`standard`,theme:ce=`light`,rowHeaderWidth:me=56,height:ve,maxHeight:ye,readOnly:N=!1,dimReadOnlyCells:be=!1,canEditCell:xe,enableUndoRedo:Se=!0,undoHistoryLimit:Ce=100,onUndoRedoStateChange:we,enableRangeSelection:Te=!0,enableRowSelection:Ee=!1,rowSelectionMode:De=`multiple`,enableSelectAllRows:Oe,rowSelection:ke,selectedRowKeys:Ae,onRowSelectionChange:je,enableGlobalFilter:Ne=!0,enableColumnFilter:Pe=!0,enableSorting:F=!0,enableColumnResize:Le=!0,autoSizeColumns:Re=!1,showCellOverflowTooltip:ze=!1,enableRowHover:Be=!0,enableColumnHeaderHover:Ve=!0,enableColumnMenu:He=!0,noMatchingRowsText:Je=`一致する行がありません`,noRowsText:Qe=`表示する行がありません`,showTopBar:$e=!0,showBottomBar:et=!0,showTopBarSummary:nt=!0,showTopBarFilter:rt=!0,globalFilterPlaceholder:it,globalFilterIcon:at,showTopBarCounts:ot=!0,showBottomBarCounts:ct=!0,showFilterChipBar:lt=!1,renderTopBar:ut,renderBottomBar:pt,className:mt,classNames:I,getRowClassName:gt,enableContextMenu:vt=!1,getContextMenuItems:yt,onContextMenuOpen:bt,ref:xt,onStateChange:St}){let Ct=b??Oa[se].rowHeight,L=oe??Oa[se].headerHeight,wt=(0,e.useRef)(null),Tt=(0,e.useRef)(null),Et=(0,e.useRef)(null),Dt=(0,e.useRef)(null),Ot=(0,e.useRef)(!1),R=(0,e.useRef)(null),jt=(0,e.useRef)(null),Mt=(0,e.useRef)(null),[Nt,Pt]=(0,e.useState)(``),[Ft,Lt]=(0,e.useState)(!1),[Rt,Bt]=(0,e.useState)(null),[Vt,Zt]=(0,e.useState)(null),z=(0,e.useMemo)(()=>p.filter(e=>e.visible!==!1),[p]),B=(0,e.useMemo)(()=>l(z),[z]),an=(0,e.useMemo)(()=>_??((e,t)=>t),[_]),V=o!=null,on=F,ln=Pe,un=Ne,[H,U]=(0,e.useReducer)(ue,z,le),dn=(0,e.useRef)(H.columnWidths),fn=(0,e.useRef)(null),pn=(0,e.useRef)(null);pn.current===null&&(pn.current=new Map(p.map(e=>[e.key,{width:e.width,pinned:e.pinned,visible:e.visible}])));let mn=(0,e.useMemo)(()=>he(H.selection),[H.selection]),W=(0,e.useMemo)(()=>u(B),[B]),[hn,gn]=(0,e.useState)(0),_n=W.left.reduce((e,{column:t})=>e+(H.columnWidths[t.key]??t.width),0),vn=W.right.reduce((e,{column:t})=>e+(H.columnWidths[t.key]??t.width),0),yn=W.left.length>0,bn=yn?me+_n:0,xn=yn?0:me,Sn=(0,e.useMemo)(()=>W.center.map(({column:e})=>e),[W.center]),Cn=(0,e.useMemo)(()=>Sn.some(w),[Sn]),wn=hn-bn-vn-xn,Tn=(0,e.useMemo)(()=>!Cn||hn<=0?ka:E(Sn,H.columnWidths,wn),[Cn,hn,Sn,H.columnWidths,wn]),Dn=(0,e.useMemo)(()=>Tn===ka?H.columnWidths:{...Tn,...H.columnWidths},[Tn,H.columnWidths]);dn.current=Dn;let On=f(W.left,H.columnWidths),kn=f(W.center,Dn),jn=f(W.right,H.columnWidths),Mn=(0,e.useMemo)(()=>h(`left`,W.left,On),[W.left,On]),Nn=(0,e.useMemo)(()=>h(`center`,W.center,kn),[W.center,kn]),Pn=(0,e.useMemo)(()=>h(`right`,W.right,jn),[W.right,jn]),G=(0,e.useMemo)(()=>({left:Mn,center:Nn,right:Pn}),[Mn,Nn,Pn]),Fn=G.left.entries.length>0,In=G.right.entries.length>0,Ln=!Fn,Rn=me,zn=Ln?me:0,Bn=Fn?Rn+G.left.totalWidth:0,Vn=G.right.totalWidth,Hn=zn+G.center.totalWidth,Wn=Bn+Hn+Vn,{filterPopoverState:K,filterPopoverLayout:Yn,filterPopoverRef:Xn,filterTextInputRef:er,filterSelectRef:tr,isFilterPopoverOpen:nr,openedFilterColumn:q,openColumnFilterPopover:sr,closeColumnFilterPopover:cr,updateFilterPopoverDraft:lr}=st({visibleColumns:z,columnFilterValues:H.filters.columnFilters,enableColumnFilter:ln,gridRootRef:wt}),{columnMenuLayout:ur,columnMenuRef:dr,isColumnMenuOpen:vr,openedMenuColumnKey:br,openedMenuColumn:xr,openColumnMenuFromButton:Sr,openColumnMenuFromContextMenu:Cr,closeColumnMenu:J}=Ri({visibleColumns:z,enableColumnMenu:He,gridRootRef:wt}),{activeToolPanelTab:wr,availableToolPanelTabs:Tr,toolPanelLayout:Er,toolPanelFlashTick:Dr,toolPanelRef:Or,openToolPanel:kr,closeToolPanel:Ar,moveToolPanel:jr}=Ji({canUseFilterTab:ln,canUseColumnsTab:He,canUseSortTab:on,gridRootRef:wt,alliedRef:Xn,suppressEscape:nr,onSuppressedEscape:cr}),{contextMenuState:Mr,contextMenuLayout:Nr,contextMenuRef:Pr,isContextMenuOpen:Fr,openContextMenu:Ir,closeContextMenu:Lr}=va({gridRootRef:wt});(0,e.useEffect)(()=>{let e=z.reduce((e,t)=>(w(t)||(e[t.key]=t.width),e),{});U(a.resetColumnWidths(e))},[z]);let Rr=H.filters.globalText,zr=H.filters.columnFilters,Br=(0,e.useDeferredValue)(zr),{order:Vr,status:Hr,progress:Wr}=ri({rows:r,baseOrder:(0,e.useMemo)(()=>Ge(r.length),[r.length]),columns:z,globalText:Rr,enabled:un}),Gr=(0,e.useMemo)(()=>{let e=[];for(let t of z)Ye(Br[t.key])&&e.push(t.key);return e.join(`\0`)},[z,Br]),Kr=(0,e.useMemo)(()=>{let e=new Map;if(Gr.length===0)return e;let t=new Set(Gr.split(`\0`)),n=r.length;for(let i of z){if(!t.has(i.key))continue;let a=new Float64Array(n);for(let e=0;e<n;e+=1)a[e]=Number(P(r[e],i));e.set(i.key,a)}return e},[r,z,Gr]),qr=(0,e.useMemo)(()=>tt(r,Vr,z,Br,Kr),[r,Vr,z,Br,Kr]),Jr=(0,e.useMemo)(()=>Jt(r,qr,z,H.sort),[r,qr,z,H.sort]),Yr=(0,e.useMemo)(()=>({getRowCount:()=>Jr.length,getRow:e=>r[Jr[e]],getSourceIndex:e=>Jr[e],getRowKey:e=>an(r[Jr[e]],Jr[e])}),[Jr,r,an]),Xr=(0,e.useMemo)(()=>V?ui({globalText:un?Rr:``,columnFilters:ln?zr:Ea,sort:on?H.sort:Da}):Ta,[V,un,Rr,ln,zr,on,H.sort]),Zr=(0,e.useMemo)(()=>V?di(Xr):``,[V,Xr]),[Qr,$r]=(0,e.useState)(Xr),[ti,ni]=(0,e.useState)(Zr);(0,e.useEffect)(()=>{if(!V)return;let e=setTimeout(()=>{$r(Xr),ni(Zr)},Na);return()=>clearTimeout(e)},[V,Zr,Xr]);let ii=li({dataSource:o,rowKeyGetter:an,query:Qr,queryKey:ti,refreshToken:d}),ai=ii.requestRange,Y=V?ii.rowModel:Yr,oi=(0,e.useRef)(Y);oi.current=Y;let si=(0,e.useCallback)(e=>{if(!vt||!yt)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=Y.getRow(i);if(!a)return;let o=Y.getRowKey(i)??i,s,c,l=t.closest(`[data-ssg-col-key]`),u=l?.dataset.ssgColKey;if(l&&u!==void 0){let e=da(B,u);if(e<0)return;let t=B[e];s={type:`cell`,rowIndex:i,colIndex:e,rowKey:o,row:a,column:t,value:P(a,t)},c=fa(H.selection,i,e)}else s={type:`rowHeader`,rowIndex:i,rowKey:o,row:a},c=pa(H.selection,i);let d={target:s,clientX:e.clientX,clientY:e.clientY,selection:H.selection,activeCell:H.activeCell,isTargetSelected:c},f=yt(d);!f||f.length===0||(e.preventDefault(),bt?.(d),Ir(d,f))},[vt,yt,bt,Y,B,H.selection,H.activeCell,Ir]),{isAutosizing:ci,runAutosize:fi}=Ur({rowModelRef:oi,gridRootRef:wt,columnWidthsRef:dn,dispatch:U}),pi=(0,e.useRef)(z);pi.current=z;let hi=(0,e.useRef)(!1);(0,e.useEffect)(()=>{let{shouldRun:e,nextHasAutoSizedOnMount:t}=qn({mode:Re,isServerSide:V,rowCount:r.length,hasAutoSizedOnMount:hi.current});hi.current=t,e&&fi(pi.current)},[Re,r,V,fi]);let X=Y.getRowCount(),_i=(0,e.useMemo)(()=>{let e=null;return()=>e??=Array.from(Jr,e=>r[e])},[Jr,r]),vi=(0,e.useMemo)(()=>s(z,Dn),[z,Dn]),[xi,Si]=(0,e.useState)(0),[wi,Ti]=(0,e.useState)(0);(0,e.useEffect)(()=>{let e=R.current;if(!e)return;Si(e.scrollTop),Ti(e.clientHeight),gn(e.clientWidth);let t=()=>Si(e.scrollTop);e.addEventListener(`scroll`,t,{passive:!0});let n=new ResizeObserver(()=>{Ti(e.clientHeight),gn(e.clientWidth)});return n.observe(e),()=>{e.removeEventListener(`scroll`,t),n.disconnect()}},[]);let Ei=G.center.entries,Di=(0,t.useVirtualizer)({horizontal:!0,count:Ei.length,getScrollElement:()=>R.current,estimateSize:e=>Ei[e]?.paneLocalSize??Ei[e]?.column.width??120,overscan:8,useFlushSync:!1,scrollMargin:Bn}),Oi=Di.getVirtualItems(),ki=D??Ct,ji=(0,e.useMemo)(()=>z.some(e=>e.autoHeight===!0),[z]),Mi=!V&&Xt(T,ji,X,5e4);(0,e.useEffect)(()=>{},[T,ji,X,V]);let Pi=(0,e.useRef)(new Map),[Fi,Ii]=(0,e.useState)(0),[Li,zi]=(0,e.useState)(0),Bi=(0,e.useRef)(null),Vi=(0,e.useRef)(new Set),Hi=(0,e.useMemo)(()=>Mi?gr(X,ki,Y.getRowKey,Pi.current):null,[Mi,X,ki,Y]),Z=(0,e.useMemo)(()=>Mi&&Hi?yr(Hi):Qt(X,Ct),[Mi,Hi,Fi,X,Ct]),Wi=(0,e.useMemo)(()=>Mi?rn({headerHeight:L,viewportHeight:wi,scrollTop:xi,overscan:20},Z):nn({rowCount:X,rowHeight:Ct,headerHeight:L,viewportHeight:wi,scrollTop:xi,overscan:20,maxBodyPx:Yt}),[Mi,Z,X,Ct,L,wi,xi]),Q=Wi.rows,Gi=Wi.rowIndexSet,Ki=Q.length>0?Q[0].index:0,qi=Q.length>0?Q[Q.length-1].index:-1;(0,e.useEffect)(()=>{if(!V)return;let e=R.current;e&&(e.scrollTop=0),Si(0)},[V,ti]),(0,e.useEffect)(()=>{V&&(qi<Ki||ai(Ki,qi+1))},[V,Ki,qi,ai,ti]);let Yi=Wi.physicalBodyHeight,Zi=Wi.translateY===0?void 0:`translateY(${Wi.translateY}px)`,Qi=Wi.scaleFactor,$i=Wi.windowBaseOffsetPx;(0,e.useLayoutEffect)(()=>{if(!Mi||!Hi){Bi.current?.disconnect(),Bi.current=null,Vi.current.clear();return}let e=R.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=Y.getRowKey(t)??t;_r(Hi,t,n,e)&&(r=!0,t<i&&(i=t))}),r){let t=e.scrollTop,n=Z.rowAtContentY(t),r=t-Z.rowTop(n);hr(Hi,i),e.scrollTop=Hi.prefix[n]+r,Ii(e=>e+1)}}let n=Bi.current??new ResizeObserver(()=>zi(e=>e+1));Bi.current=n;let r=Vi.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)})},[Mi,Hi,Z,Y,Q,wi,Fi,Li]),(0,e.useEffect)(()=>{let e=Vi.current;return()=>{Bi.current?.disconnect(),Bi.current=null,e.clear()}},[]);let ea=(0,e.useMemo)(()=>Oi.map(e=>Ei[e.index]).filter(e=>!!e),[Oi,Ei]),ta=G.left.entries,na=G.right.entries,ra=(0,e.useMemo)(()=>{if(!H.activeCell)return null;let{row:e,col:t}=H.activeCell;if(e<0||e>=X)return null;let n=C(G,t);return n?{pane:n.pane,rect:{left:n.extent.start,top:Z.rowTop(e),width:n.extent.width,height:Z.rowsHeight(e,e)}}:null},[H.activeCell,X,G,Z]),aa=(0,e.useMemo)(()=>ra&&ra.pane===`center`?ra.rect:null,[ra]),sa=(0,e.useCallback)(e=>ra&&ra.pane===e?ra.rect:null,[ra]),ca=(0,e.useCallback)(e=>H.editingCell?sa(e):null,[H.editingCell,sa]),ma=An(ce)===`dark`?`ssg-theme-dark`:void 0;En(),cn({scrollRef:R,columnVirtualizer:Di,columnMeasurements:vi,totalScrollWidth:Wn,physicalBodyHeight:Yi,headerHeight:L,leftPaneWidth:Bn,rightPaneWidth:Vn,centerLeadingWidth:zn,activeCellRect:aa,verticalScaleFactor:Qi});let ha=(0,e.useMemo)(()=>{if(ke!==void 0)return ke;if(Ae!==void 0)return{type:`include`,rowKeys:Ae}},[ke,Ae]),ga=ha!==void 0,_a=Oe??(Ee&&De===`multiple`),Pa=H.rowSelection,Fa=re(Pa,X),Ia=(0,e.useRef)(Pa);Ia.current=Pa;let La=(0,e.useRef)(De);La.current=De;let Ra=(0,e.useRef)(je);Ra.current=je;let za=(0,e.useRef)(ga);za.current=ga;let Ba=(0,e.useRef)(null),Va=(0,e.useCallback)(e=>{ae(Ia.current,e)||Ra.current?.(M(e)),za.current||U(a.setRowSelectionState(e))},[U]),Ha=(0,e.useRef)(Va);Ha.current=Va;let Ua=(0,e.useCallback)((e,t)=>{let n=oi.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},[]),Wa=(0,e.useCallback)((e,t)=>{let n=oi.current;if(!n.getRow(e))return;let r=n.getRowKey(e)??e;if(La.current===`single`){Ba.current=e,Va(ee(r));return}if(t.shiftKey&&Ba.current!==null){Va(te(Ua(Ba.current,e)));return}Ba.current=e,Va(k(Ia.current,r))},[Va,Ua]),Ga=(0,e.useCallback)(e=>{let t=oi.current;if(t.getRow(e)){if(La.current===`single`){Va(ee(t.getRowKey(e)??e));return}Ba.current!==null&&Va(te(Ua(Ba.current,e)))}},[Va,Ua]),Ka=(0,e.useCallback)(()=>{let e=oi.current,t=re(Ia.current,e.getRowCount());Va(t===`all`?ne():A())},[Va]);(0,e.useEffect)(()=>{if(!ga||!ha)return;let e=ie(ha);ae(Ia.current,e)||U(a.setRowSelectionState(e))},[ga,ha,U]);let{updateSelectionFromPointer:qa,handleCellPointerDown:Ja,handleCellPointerEnter:Ya,handleNativeDragStart:Xa,handleRowHeaderPointerDown:Za,handleRowHeaderPointerEnter:Qa,handleColumnHeaderPointerDown:$a,handleColumnHeaderPointerEnter:eo}=sn({gridRootRef:wt,bodyScrollRef:Dt,scrollContainerRef:R,leftPaneScrollRef:jt,rightPaneScrollRef:Mt,pointerClientRef:Tt,autoScrollFrameRef:Et,uiState:H,dispatch:U,enableRangeSelection:Te,enableSorting:on,orderedColumns:B,filteredRowsLength:X,visibleColumnsLength:z.length,paneLayout:G,leftLeadingWidth:Rn,centerLeadingWidth:zn,rightLeadingWidth:0,headerHeight:L,rowMetrics:Z,verticalScaleFactor:Qi,setHoveredRowIndex:Bt,setHoveredColumnIndex:Zt,enableRowHover:Be,enableColumnHeaderHover:Ve,enableRowSelection:Ee,onGutterRowSelect:Wa,onGutterRowSelectDrag:Ga}),to=(0,e.useRef)(()=>{}),no=(0,e.useCallback)(e=>{e&&requestAnimationFrame(()=>{to.current(e.row,e.col,`auto`)})},[]),ro=Se&&!N&&!V,{handleRowsChange:io,undo:ao,redo:oo,canUndo:so,canRedo:co,clearHistory:lo}=It({rows:r,selection:H.selection,activeCell:H.activeCell,onRowsChange:m,dispatch:U,enabled:ro,limit:Ce,onUndoRedoStateChange:we,onAfterRestore:no}),uo=(0,e.useCallback)(()=>{if(!io)return;let{nextRows:e,changed:t}=Kn({rows:r,resolveSourceIndex:e=>Y.getSourceIndex(e),columns:B,selection:H.selection,activeCell:H.activeCell,viewRowCount:X,canWriteCell:(e,t,n,r)=>Me({readOnly:N,canEditCell:xe},e,t,n,r)});t&&io(e)},[xe,io,B,N,Y,r,H.activeCell,H.selection,X]),{isWholeGridSelected:fo,handleCopy:po,handlePaste:mo}=ht({rows:r,rowModel:Y,visibleColumns:B,uiState:H,readOnly:N,canEditCell:xe,createRow:v,createOverflowColumn:y,onRowsChange:io,onColumnsChange:g,dispatch:U}),ho=(0,e.useCallback)(()=>{if(X===0||z.length===0)return;let e={row:0,col:0},t={row:X-1,col:z.length-1};U(a.startSelection(e)),U(a.updateSelection(t)),U(a.endSelection()),U(a.activateCell(e))},[U,X,z.length]),go=(0,e.useCallback)(e=>{let t=Y.getRow(e.row),n=B[e.col];if(!t||!n||!Me({readOnly:N,canEditCell:xe},e.row,e.col,t,n)||n.editor?.type===`checkbox`)return;let r=P(t,n);Pt(String(r??``)),U(a.startEdit(e))},[xe,U,Y,N,B]),_o=(0,e.useCallback)(e=>{if(!io)return;let t=Y.getRow(e.row),n=B[e.col];if(!t||!n||n.editor?.type!==`checkbox`||!Me({readOnly:N,canEditCell:xe},e.row,e.col,t,n))return;let i=Y.getSourceIndex(e.row);if(i===void 0)return;let a=Ie(P(t,n),n.editor);dt(n,t,a).action!==`reject`&&io(Ue(r,i,n,a))},[xe,io,B,N,Y,r]),{getMovedCell:vo,handleKeyDown:yo}=zt({uiState:H,rowModel:Y,visibleColumns:B,readOnly:N,canEditCell:xe,setEditorInitialValue:Pt,dispatch:U,handleCopy:po,handleCellDoubleClick:go,isWholeGridSelected:fo,selectEntireGrid:ho,onUndo:ao,onRedo:oo,onClearSelection:uo,onToggleCheckboxCell:_o}),{startEditWithValue:bo,commitEdit:xo,cancelEdit:So}=At({uiState:H,rows:r,visibleColumns:B,rowModel:Y,setEditorInitialValue:Pt,onRowsChange:io,dispatch:U,getMovedCell:vo,gridRootRef:wt,editorActionGuardRef:Ot}),Co=H.editingCell?B[H.editingCell.col]:void 0,wo=H.editingCell?Y.getRow(H.editingCell.row):void 0,To=H.editingCell&&Co&&wo?{row:wo,rowIndex:H.editingCell.row,colIndex:H.editingCell.col,column:Co,value:P(wo,Co)}:null,Eo=(0,e.useCallback)(e=>{let t=Y.getRow(e.row),n=B[e.col];if(!t||!n||!Me({readOnly:N,canEditCell:xe},e.row,e.col,t,n)||n.editor?.type===`checkbox`)return;let r=P(t,n);bo(e,String(r??``))},[xe,Y,N,bo,B]),Do=(0,e.useMemo)(()=>{if(!H.selection)return null;if(H.selection.type===`cell`){let e=de(H.selection.range);return{extents:x(G,e.start.col,e.end.col),startRow:e.start.row,endRow:e.end.row}}if(H.selection.type===`row`){let e=fe(H.selection.startRow,H.selection.endRow);return{extents:S(G),startRow:e.startRow,endRow:e.endRow}}let e=pe(H.selection.startCol,H.selection.endCol);return{extents:x(G,e.startCol,e.endCol),startRow:0,endRow:Math.max(X-1,0)}},[H.selection,G,X]),Oo=(0,e.useMemo)(()=>{if(!Do)return null;let e=$t(Do.startRow,Do.endRow,Ki,qi);return e?{top:Z.rowTop(e.start),height:Z.rowsHeight(e.start,e.end)}:null},[Do,Z,Ki,qi]),ko=(0,e.useCallback)(e=>{if(!Do||!Oo)return null;let t=Do.extents[e];return t?{left:t.start,top:Oo.top,width:t.width,height:Oo.height}:null},[Do,Oo]),Ao=(0,e.useCallback)(e=>{if(e.preventDefault(),e.button===0&&!(X===0||z.length===0)){if(wt.current?.focus(),_a){Ka();return}if(fo){U(a.clearSelection()),U(a.activateCell(null));return}ho()}},[U,X,fo,ho,z.length,_a,Ka]),jo=(0,e.useCallback)(e=>{Bt(t=>t===e?null:t)},[]),Mo=(0,e.useCallback)(e=>{Zt(t=>t===e?null:t)},[]),No=(0,e.useCallback)(()=>{Lt(!0)},[]),Po=(0,e.useCallback)(()=>{Lt(!1)},[]),Fo=(0,e.useCallback)((e,t)=>{t.preventDefault(),t.stopPropagation();let n=t.timeStamp,r=fn.current;if(r&&r.key===e.key&&n-r.time<ja&&Math.abs(t.clientX-r.x)<Ma){fn.current=null,fi([e]);return}fn.current={key:e.key,time:n,x:t.clientX},U(a.startColumnResize(e.key,t.clientX,dn.current[e.key]??e.width,e.minWidth??60,e.maxWidth))},[U,fi]),Io=(0,e.useCallback)((e,t)=>{if(J(),!g)return;let n=p.find(t=>t.key===e);n&&(n.pinned??void 0)!==t&&(g(p.map(n=>{let r=dn.current[n.key]??n.width;return n.key===e?{...n,width:r,pinned:t}:r===n.width?n:{...n,width:r}})),U(a.stopEdit()),U(a.clearSelection()),U(a.activateCell(null)))},[J,p,U,g]),Lo=(0,e.useCallback)(e=>{J();let t=z.find(t=>t.key===e);t&&fi([t])},[J,fi,z]),Ro=(0,e.useCallback)(()=>{J(),fi(z)},[J,fi,z]),zo=(0,e.useMemo)(()=>p.map(e=>({key:e.key,title:e.title??e.key,visible:e.visible!==!1,pane:c(e)})),[p]),Bo=(0,e.useCallback)(()=>{J(),kr(`columns`)},[J,kr]),Vo=(0,e.useMemo)(()=>z.map(e=>({key:e.key,title:e.title??e.key})),[z]),Ho=(0,e.useCallback)(()=>{J(),kr(`sort`)},[J,kr]),Uo=(0,e.useCallback)(e=>{J(),sr(e)},[J,sr]),Wo=(0,e.useMemo)(()=>{let e=[],t=(t,n)=>{let r=zr[t.key];!r||!qe(r)||e.push({columnKey:t.key,title:t.title||t.key,summaryText:Gn(r),isHidden:n})};for(let e of B)t(e,!1);for(let e of p)e.visible===!1&&t(e,!0);return e},[zr,p,B]),Go=(0,e.useMemo)(()=>z.filter(e=>!!e.filterType&&!qe(zr[e.key])).map(e=>({key:e.key,title:e.title||e.key})),[zr,z]),Ko=(0,e.useCallback)(()=>{J(),kr(`filter`)},[J,kr]),qo=(0,e.useCallback)(()=>{wr===`filter`?Ar():kr(`filter`)},[wr,Ar,kr]),Jo=(0,e.useCallback)(e=>{let t=$.current,n=R.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=mr({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=wt.current?.querySelectorAll(`[data-ssg-col-key]`);return t?Array.from(t).find(t=>t.dataset.ssgColKey===e)??null:null},o=e=>{if(!wt.current)return;let t=a();if(t===null){e<8&&requestAnimationFrame(()=>o(e+1));return}sr(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)})},[wt,sr]),Yo=(0,e.useCallback)(e=>{U(a.clearColumnFilter(e))},[U]),Xo=(0,e.useCallback)(()=>{U(a.setAllFilters({globalText:H.filters.globalText,columnFilters:{}}))},[U,H.filters.globalText]),Zo=(0,e.useCallback)(()=>{U(a.setGlobalFilter(``))},[U]),Qo=(0,e.useCallback)((e,t)=>{if(!g)return;let n=p.find(t=>t.key===e);n&&n.visible!==!1!==t&&(!t&&p.filter(e=>e.visible!==!1).length<=1||(g(p.map(n=>{let r=dn.current[n.key]??n.width;return n.key===e?{...n,width:r,visible:t}:r===n.width?n:{...n,width:r}})),U(a.stopEdit()),U(a.clearSelection()),U(a.activateCell(null))))},[p,U,g]),$o=(0,e.useCallback)(()=>{g&&p.some(e=>e.visible===!1)&&(g(p.map(e=>{let t=dn.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}})),U(a.stopEdit()),U(a.clearSelection()),U(a.activateCell(null)))},[p,U,g]),es=(0,e.useCallback)(()=>{if(!g)return;let e=B[0]?.key;e!==void 0&&p.some(t=>t.visible!==!1&&t.key!==e)&&(g(p.map(t=>{let n=dn.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}})),U(a.stopEdit()),U(a.clearSelection()),U(a.activateCell(null)))},[p,U,g,B]),ts=(0,e.useCallback)((e,t)=>{if(!g||e.length!==p.length)return;let n=new Map(p.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=dn.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===p.length&&r.every((e,t)=>{let n=p[t];return!!n&&n.key===e.key&&n.width===e.width&&(n.pinned??void 0)===(e.pinned??void 0)})||(g(r),U(a.stopEdit()),U(a.clearSelection()),U(a.activateCell(null)))},[p,U,g]),ns=(0,e.useCallback)(e=>{ts(e)},[ts]),{onColumnDragHandlePointerDown:rs,leftIndicatorRef:is,centerIndicatorRef:as,rightIndicatorRef:os,applyReorderSettle:ss}=Un({enabled:!!g,columns:p,paneLayout:G,leftPaneScrollRef:jt,rightPaneScrollRef:Mt,bodyScrollRef:Dt,scrollContainerRef:R,leftLeadingWidth:Rn,centerLeadingWidth:zn,rightLeadingWidth:0,applyColumnOrderAndPin:ts});(0,e.useLayoutEffect)(()=>{ss()},[G,ss]);let cs=g?rs:void 0,ls={position:`absolute`,top:0,height:L+Yi,transform:`translateX(-1px)`,pointerEvents:`none`,zIndex:8,display:`none`},us=(0,e.useCallback)(()=>{if(!g)return;let e=pn.current;if(!e)return;let t=Jn(p,e,dn.current);t!==null&&(g(t),U(a.stopEdit()),U(a.clearSelection()),U(a.activateCell(null)))},[p,U,g]),ds=(0,e.useCallback)(()=>{J(),us()},[J,us]),fs=(0,e.useCallback)(e=>q?P(r[e],q):void 0,[r,q]),{options:ps,allValues:ms,status:hs,progress:gs}=ei({column:q,rowCount:r.length,getRawValueAt:fs}),_s=q?H.filters.columnFilters[q.key]:void 0,vs=(0,e.useMemo)(()=>Ke(_s)?{mode:_s.mode===`exclude`?`exclude`:`include`,values:new Set(_s.values)}:null,[_s]),ys=!(q?.filterOptions&&q.filterOptions.length>0),bs=(0,e.useCallback)((e,t,n)=>{let r=t.mode===`include`?t.values.size:n-t.values.size;if(r>=n){U(a.clearColumnFilter(e));return}if(r<=0){U(a.setColumnFilter(e,{kind:`set`,mode:`include`,values:[]}));return}let i={kind:`set`,mode:t.mode,values:Array.from(t.values)};U(a.setColumnFilter(e,i))},[U]),xs=(0,e.useCallback)(e=>{if(!K)return;let t=ps.length,n=vs,r;r=gi(n,e)?n===null?ys?{mode:`exclude`,values:new Set([e])}:{mode:`include`,values:xa(ms,e)}:n.mode===`include`?{mode:`include`,values:xa(n.values,e)}:{mode:`exclude`,values:ba(n.values,e)}:n.mode===`include`?{mode:`include`,values:ba(n.values,e)}:{mode:`exclude`,values:xa(n.values,e)},bs(K.columnKey,r,t)},[K,vs,ys,ms,ps,bs]),Ss=(0,e.useCallback)((e,t)=>{if(!K)return;let n=K.columnKey,r=ps.length;if(e===`all`){t?U(a.clearColumnFilter(n)):bs(n,{mode:`include`,values:new Set},r);return}let i=vs,o;if(t){if(i===null){U(a.clearColumnFilter(n));return}o=i.mode===`include`?{mode:`include`,values:Sa(i.values,e)}:{mode:`exclude`,values:Ca(i.values,e)}}else o=i===null?ys?{mode:`exclude`,values:new Set(e)}:{mode:`include`,values:Ca(ms,e)}:i.mode===`include`?{mode:`include`,values:Ca(i.values,e)}:{mode:`exclude`,values:Sa(i.values,e)};bs(n,o,r)},[K,vs,ys,ms,ps,bs,U]),Cs=(0,e.useCallback)(e=>{K&&bs(K.columnKey,{mode:`include`,values:new Set(e)},ps.length)},[K,bs,ps]),ws=(0,e.useCallback)(()=>{K&&U(a.clearColumnFilter(K.columnKey))},[U,K]),Ts=(0,e.useCallback)(()=>{if(!K)return;let e=z.find(e=>e.key===K.columnKey)?.filterType??`text`;if(e===`set`){cr();return}if(e===`number`){let e=Xe(K.draftValue);if(!e){U(a.clearColumnFilter(K.columnKey)),cr();return}U(a.setColumnFilter(K.columnKey,e)),cr();return}let t=e===`select`?K.draftValue:K.draftValue.trim();if(!t){U(a.clearColumnFilter(K.columnKey)),cr();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};U(a.setColumnFilter(K.columnKey,n)),cr()},[cr,U,K,z]),Es=(0,e.useCallback)(()=>{K&&(U(a.clearColumnFilter(K.columnKey)),cr())},[cr,U,K]),Ds=(0,e.useCallback)((e,t)=>{if(J(),!F)return;let n=Ht(H.sort,e,t,!1);U(n.length===0?a.clearSort():a.setSort(n))},[J,U,F,H.sort]),Os=(0,e.useCallback)((e,t)=>{if(!F)return;let n=Ut(H.sort,e,t);U(a.setSort(n))},[U,F,H.sort]),ks=(0,e.useCallback)((e,t)=>{if(!F)return;let n=Wt(H.sort,e,t);U(a.setSort(n))},[U,F,H.sort]),As=(0,e.useCallback)((e,t)=>{if(!F)return;let n=Gt(H.sort,e,t);U(a.setSort(n))},[U,F,H.sort]),js=(0,e.useCallback)(e=>{if(!F)return;let t=Kt(H.sort,e);U(t.length===0?a.clearSort():a.setSort(t))},[U,F,H.sort]),Ms=(0,e.useCallback)(()=>{F&&U(a.clearSort())},[U,F]),Ns=(0,e.useCallback)((e,t)=>{if(!F)return;let n=qt(H.sort,e,t);U(a.setSort(n))},[U,F,H.sort]),Ps=(0,e.useCallback)((e,t,i,a,o)=>{let s=P(e,i);return i.renderCell?i.renderCell({row:e,rowIndex:t,colIndex:a,value:s,column:i,isActive:o.isActive,isSelected:o.isSelected,isEditing:o.isEditing,readOnly:o.readOnly,setValue:n=>{if(!io)return;let a=Y.getSourceIndex(t);if(a===void 0||dt(i,e,n).action===`reject`)return;let o=Ue(r,a,i,n);io(o)}}):i.editor?.type===`checkbox`?(0,n.jsx)(mi,{checked:Fe(s,i.editor),readOnly:o.readOnly,onToggle:()=>_o({row:t,col:a})}):(0,n.jsx)(`span`,{children:i.valueFormatter?i.valueFormatter({value:s,row:e,column:i}):String(s??``)})},[Y,io,r,_o]),{slotContext:Fs}=kt({rows:r,viewRowCount:X,getFilteredRows:_i,columns:p,visibleColumns:z,uiState:H,setGlobalFilterText:(0,e.useCallback)(e=>{U(a.setGlobalFilter(e))},[U]),globalFilterStatus:Hr,globalFilterProgress:Wr}),Is=(0,e.useMemo)(()=>({width:me,minWidth:me}),[me]),Ls=X===0,Rs=(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)`}:{}}),zs=(()=>{if(!q)return`(なし)`;let e=H.filters.columnFilters[q.key];if(Ke(e))return e.mode===`exclude`?`${e.values.length}件を除外中`:`${e.values.length}件を選択中`;if(Ye(e))return e.raw;let t=Ze(e);return t.trim()?t:`(なし)`})(),Bs=q?(0,n.jsx)(yi,{themeClassName:ma,isOpen:!!K,title:q.title||q.key,filterType:q.filterType??`text`,isServerSide:V,draftValue:K?.draftValue??``,currentValueText:zs,layout:Yn,selectOptions:ps,setSelection:vs,optionsStatus:hs,optionsProgress:gs,popoverRef:Xn,textInputRef:er,selectRef:tr,onRequestClose:cr,onDraftChange:lr,onApply:Ts,onClear:Es,onSetValueToggle:xs,onSetSelectAllChange:Ss,onSetClear:ws,onSetReplaceSelection:Cs}):null,Vs=xr?(0,n.jsx)(Ui,{themeClassName:ma,isOpen:vr,title:xr.title||xr.key,columnKey:xr.key,canFilter:ln&&!!xr.filterType,onOpenFilter:()=>Uo(xr),canSort:on,sortDirection:H.sort.find(e=>e.columnKey===xr.key)?.direction??null,onSortChange:e=>Ds(xr.key,e),onOpenSortManager:Ho,canManageFilters:ln,onOpenFilterManager:Ko,pinned:xr.pinned,canChangePinned:!!g,layout:ur,popoverRef:dr,onPinnedChange:Io,onAutosizeColumn:Lo,onAutosizeAllColumns:Ro,onOpenColumnChooser:Bo,canResetColumns:!!g,onResetColumns:ds,onRequestClose:J}):null,Hs=un&&Rr.trim().length>0,Us=Wo.length+ +!!Hs,Ws=(0,n.jsx)(Xi,{themeClassName:ma,activeTab:wr,flashTick:Dr,tabs:Tr.map(e=>e===`filter`?{tab:e,label:`フィルター`,badge:Us}:e===`sort`?{tab:e,label:`並び替え`,badge:H.sort.length}:{tab:e,label:`列`}),layout:Er,panelRef:Or,onSelectTab:kr,onRequestClose:Ar,onPanelMove:jr,children:wr===null?null:{filter:()=>(0,n.jsx)(la,{entries:Wo,addableColumns:Go,showGlobalFilterRow:Hs,globalFilterText:Rr,canFilter:ln,onEditFilter:Jo,onAddFilter:Jo,onClearFilter:Yo,onClearAllFilters:Xo,onClearGlobalFilter:Zo}),columns:()=>(0,n.jsx)(ia,{items:zo,canToggle:!!g,onToggleColumnVisibility:Qo,onShowAllColumns:$o,onHideAllColumns:es,onResetColumns:us,onReorderColumns:ns}),sort:()=>(0,n.jsx)(oa,{entries:H.sort,columns:Vo,canSort:on,onAddLevel:Os,onChangeDirection:ks,onChangeColumn:As,onRemoveLevel:js,onClearAll:Ms,onMove:Ns})}[wr]()}),Gs=(0,n.jsx)(ya,{themeClassName:ma,isOpen:Fr,items:Mr?.items??Aa,layout:Nr,popoverRef:Pr,onRequestClose:Lr}),Ks=nr||vr||wr!==null||Fr,qs=nt,Js=rt&&un,Ys=$e?_t(ut,Fs,qs||Js?(0,n.jsx)(Ci,{context:Fs,showSummary:qs,showFilter:Js,showCounts:ot,globalFilterPlaceholder:it,globalFilterIcon:at,onFilterSummaryClick:ln?qo:void 0}):null):null,Xs=et?_t(pt,Fs,(0,n.jsx)(bi,{context:Fs,showCounts:ct})):null,Zs=ve===void 0&&ye===void 0?void 0:{...ve===void 0?{}:{height:ve},maxHeight:ye??(ve===void 0?void 0:`none`)},$=(0,e.useRef)(null);$.current={dispatch:U,rowModel:Y,viewRowCount:X,rowMetrics:Z,paneLayout:G,orderedColumns:B,columns:p,onColumnsChange:g,uiState:H,headerHeight:L,verticalScaleFactor:Qi,leftPaneTotalWidth:Bn,rightPaneTotalWidth:Vn,centerLeadingWidth:zn,windowFirstRow:Ki,windowLastRow:qi,physicalBodyHeight:Yi,rows:r,isServerSide:V,resolvedRowKeyGetter:an,openFilterManager:()=>{kr(`filter`)},closeFilterManager:()=>{wr===`filter`&&Ar()},undoRows:ao,redoRows:oo,canUndoRows:so,canRedoRows:co,clearUndoHistory:lo};let Qs=(0,e.useCallback)((e,t)=>{let n=R.current,r=$.current;!n||!r||n.scrollTo({top:e===null?n.scrollTop:tn(e,r.verticalScaleFactor),left:t===null?n.scrollLeft:t,behavior:`auto`})},[]),$s=(0,e.useCallback)((e,t)=>{let n=R.current,r=$.current;if(!n||!r||r.viewRowCount===0)return null;let i=Math.min(Math.max(e,0),r.viewRowCount-1);return pr({rowTop:r.rowMetrics.rowTop(i),rowHeight:r.rowMetrics.rowsHeight(i,i),headerHeight:r.headerHeight,viewportHeight:n.clientHeight,currentScrollTop:en(n.scrollTop,r.verticalScaleFactor),align:t})},[]),ec=(0,e.useCallback)((e,t)=>{let n=R.current,r=$.current;if(!n||!r)return null;let i=C(r.paneLayout,e);return!i||i.pane!==`center`?null:mr({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})},[]),tc=(0,e.useCallback)((e,t,n)=>{Qs($s(e,n),ec(t,n))},[Qs,ec,$s]);(0,e.useEffect)(()=>{to.current=tc},[tc]),(0,e.useImperativeHandle)(xt,()=>{let e=e=>{let t=$.current;if(!t)return null;let n=e=>t.rowModel.getRow(e),r=$n(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=de(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=fe(e.startRow,e.endRow);return{getRow:n,startRow:r.startRow,endRow:r.endRow+1,columns:t.orderedColumns}}let r=pe(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=t=>{let n=e(t?.scope??`view`);return n?Zn({getRow:n.getRow,startRow:n.startRow,endRow:n.endRow,columns:n.columns,delimiter:t?.delimiter,includeHeaders:t?.includeHeaders,bom:t?.bom}):t?.bom?``:``},n=t=>{let n=e(t?.scope??`view`);return n?Qn({getRow:n.getRow,startRow:n.startRow,endRow:n.endRow,columns:n.columns}):{columns:[],rows:[]}};return{scrollToRow:(e,t)=>Qs($s(e,t?.align??`auto`),null),scrollToCell:(e,t,n)=>tc(e,t,n?.align??`auto`),scrollToTop:()=>{R.current?.scrollTo({top:0,behavior:`auto`})},scrollToBottom:()=>{let e=R.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&&tc(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&&tc(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&&tc(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=de(t.range);for(let t=e.start.row;t<=e.end.row;t+=1)r(t)}else if(t.type===`row`){let e=fe(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=>t(e),downloadCsv:(e,n)=>{if(typeof document>`u`)return;let r=t({...n,bom:n?.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=>n(e),getState:()=>{let e=$.current;return e?ir(e.uiState.columnWidths,e.uiState.filters,e.uiState.sort,rr(e.columns)):ir({},{globalText:``,columnFilters:{}},[],[])},applyState:e=>{let t=$.current;if(!t)return;let n=ar(e);t.onColumnsChange&&n.columns&&t.onColumnsChange(or(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?M(e.uiState.rowSelection):{type:`include`,rowKeys:[]}},setRowSelection:e=>{Ha.current(ie(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?j(e.uiState.rowSelection,e.rowModel.getRowCount()):0},isRowSelected:e=>{let t=$.current;return t?O(t.uiState.rowSelection,e):!1},selectAllRows:()=>{Ha.current(A())},clearRowSelection:()=>{Ha.current(ne())},undo:()=>{$.current?.undoRows()},redo:()=>{$.current?.redoRows()},canUndo:()=>$.current?.canUndoRows()??!1,canRedo:()=>$.current?.canRedoRows()??!1,clearUndoHistory:()=>{$.current?.clearUndoHistory()},getInvalidCells:()=>{let e=$.current;return e?e.isServerSide?(console.warn(`[SpreadsheetGrid] getInvalidCells は serverSide モードでは利用できません(空配列を返します)。`),[]):ft(e.rows,e.columns,e.resolvedRowKeyGetter):[]},openFilterManager:()=>{$.current?.openFilterManager()},closeFilterManager:()=>{$.current?.closeFilterManager()}}},[Qs,tc,$s]);let nc=(0,e.useRef)(St);nc.current=St;let rc=(0,e.useRef)(null);return(0,e.useEffect)(()=>{if(!nc.current)return;let e=ir(H.columnWidths,H.filters,H.sort,rr(p)),t=fr(rc.current,e,H.dragState!==null);rc.current=t.nextLast,t.emit&&nc.current(e)},[H.columnWidths,H.filters,H.sort,H.dragState,p]),(0,n.jsxs)(`div`,{className:i(`ssg-root`,se!==`standard`&&`ssg-root--density-${se}`,ma,be&&`ssg-root--dim-readonly`,mt,I?.root),children:[Ys,lt&&(0,n.jsx)(ua,{entries:Wo,canFilter:ln,onEditFilter:Jo,onClearFilter:Yo,onClearAllFilters:Xo}),(0,n.jsxs)(`div`,{ref:wt,className:`ssg-shell`,style:{cursor:ci?`progress`:void 0},onDragStart:Xa,onPointerLeave:()=>Bt(null),onPointerMoveCapture:e=>{Tt.current={x:e.clientX,y:e.clientY},qa(e.clientX,e.clientY)},tabIndex:Ks?-1:0,onKeyDown:Ks?void 0:yo,onPaste:Ks?void 0:mo,onContextMenu:si,children:[(0,n.jsxs)(`div`,{ref:R,className:`ssg-scroll-container`,style:Zs,children:[(0,n.jsxs)(`div`,{className:`ssg-inner-row`,style:{width:Wn,minWidth:Wn,height:L+Yi},children:[(0,n.jsxs)(`div`,{ref:jt,style:Rs(`left`,Bn,Fn),children:[Fn&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:Bn,minWidth:Bn,height:L+Yi},children:[(0,n.jsx)(Ni,{pane:`left`,ownsRowHeader:!0,leadingWidth:Rn,headerHeight:L,rowHeaderCellStyle:Is,headerRowClassName:I?.headerRow,headerCellClassName:I?.headerCell,rowHeaderCellClassName:I?.rowHeaderCell,isCornerHovered:Ft,isWholeGridSelected:fo,showSelectAllCheckbox:_a,selectAllState:Fa,filteredRowsLength:X,visibleColumnsLength:z.length,renderEntries:ta,hoveredColumnIndex:Vt,selectionSnapshot:mn,columnFilterValues:H.filters.columnFilters,sortState:H.sort,iconButtonClassName:I?.iconButton,onCornerPointerDown:Ao,onCornerPointerEnter:No,onCornerPointerLeave:Po,onColumnHeaderPointerDown:$a,onColumnHeaderPointerEnter:eo,onColumnHeaderPointerLeave:Mo,onColumnResizePointerDown:Fo,enableColumnMenu:He,enableColumnResize:Le,openedMenuColumnKey:br,onColumnMenuButtonPointerDown:Sr,onColumnHeaderContextMenu:Cr,onColumnDragHandlePointerDown:cs}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:Bn,height:L+Yi,transform:Zi},children:[(0,n.jsx)(ge,{rect:ko(`left`),headerHeight:L,baseOffset:$i,leadingWidth:Rn}),(0,n.jsx)(_e,{rect:sa(`left`),headerHeight:L,baseOffset:$i,leadingWidth:Rn}),(0,n.jsx)(We,{rect:ca(`left`),headerHeight:L,baseOffset:$i,leadingWidth:Rn,initialValue:Nt,editor:Co?.editor,editorSession:To,themeClassName:ma,onCommit:xo,onCancel:So,align:Co?.align}),(0,n.jsx)(Ai,{pane:`left`,ownsRowHeader:!0,leadingWidth:Rn,rowModel:Y,virtualRows:Q,virtualRowIndexes:Gi,renderEntries:ta,rowHeight:Ct,autoHeight:Mi,showCellOverflowTooltip:ze,isServerSide:V,rowHeaderCellStyle:Is,hoveredRowIndex:Rt,isWholeGridSelected:fo,enableRowSelection:Ee,rowSelectionState:Pa,activeCell:H.activeCell,editingCell:H.editingCell,selectionSnapshot:mn,readOnly:N,canEditCell:xe,onRowHeaderPointerDown:Za,onRowHeaderPointerEnter:Qa,onRowHeaderPointerLeave:jo,onCellPointerDown:Ja,onCellPointerEnter:Ya,onCellDoubleClick:Eo,renderCellContent:Ps,getRowClassName:gt,bodyCellClassName:I?.bodyCell,bodyRowClassName:I?.bodyRow,rowHeaderCellClassName:I?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:is,className:`ssg-col-drop-indicator`,style:ls})]}),(0,n.jsx)(`div`,{ref:Dt,className:`ssg-center-pane`,style:{width:Hn,minWidth:Hn},children:(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:Hn,minWidth:Hn,height:L+Yi},children:[(0,n.jsx)(Ni,{pane:`center`,ownsRowHeader:Ln,leadingWidth:zn,headerHeight:L,rowHeaderCellStyle:Is,headerRowClassName:I?.headerRow,headerCellClassName:I?.headerCell,rowHeaderCellClassName:I?.rowHeaderCell,isCornerHovered:Ft,isWholeGridSelected:fo,showSelectAllCheckbox:_a,selectAllState:Fa,filteredRowsLength:X,visibleColumnsLength:z.length,renderEntries:ea,hoveredColumnIndex:Vt,selectionSnapshot:mn,columnFilterValues:H.filters.columnFilters,sortState:H.sort,iconButtonClassName:I?.iconButton,onCornerPointerDown:Ao,onCornerPointerEnter:No,onCornerPointerLeave:Po,onColumnHeaderPointerDown:$a,onColumnHeaderPointerEnter:eo,onColumnHeaderPointerLeave:Mo,onColumnResizePointerDown:Fo,enableColumnMenu:He,enableColumnResize:Le,openedMenuColumnKey:br,onColumnMenuButtonPointerDown:Sr,onColumnHeaderContextMenu:Cr,onColumnDragHandlePointerDown:cs}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:Hn,height:L+Yi,transform:Zi},children:[(0,n.jsx)(ge,{rect:ko(`center`),headerHeight:L,baseOffset:$i,leadingWidth:zn}),(0,n.jsx)(_e,{rect:sa(`center`),headerHeight:L,baseOffset:$i,leadingWidth:zn}),(0,n.jsx)(We,{rect:ca(`center`),headerHeight:L,baseOffset:$i,leadingWidth:zn,initialValue:Nt,editor:Co?.editor,editorSession:To,themeClassName:ma,onCommit:xo,onCancel:So,align:Co?.align}),(0,n.jsx)(Ai,{pane:`center`,ownsRowHeader:Ln,leadingWidth:zn,rowModel:Y,virtualRows:Q,virtualRowIndexes:Gi,renderEntries:ea,rowHeight:Ct,autoHeight:Mi,showCellOverflowTooltip:ze,isServerSide:V,rowHeaderCellStyle:Is,hoveredRowIndex:Rt,isWholeGridSelected:fo,enableRowSelection:Ee,rowSelectionState:Pa,activeCell:H.activeCell,editingCell:H.editingCell,selectionSnapshot:mn,readOnly:N,canEditCell:xe,onRowHeaderPointerDown:Za,onRowHeaderPointerEnter:Qa,onRowHeaderPointerLeave:jo,onCellPointerDown:Ja,onCellPointerEnter:Ya,onCellDoubleClick:Eo,renderCellContent:Ps,getRowClassName:gt,bodyCellClassName:I?.bodyCell,bodyRowClassName:I?.bodyRow,rowHeaderCellClassName:I?.rowHeaderCell})]}),(0,n.jsx)(`div`,{ref:as,className:`ssg-col-drop-indicator`,style:ls})]})}),(0,n.jsxs)(`div`,{ref:Mt,style:Rs(`right`,Vn,In),children:[In&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:Vn,minWidth:Vn,height:L+Yi},children:[(0,n.jsx)(Ni,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,headerHeight:L,rowHeaderCellStyle:Is,headerRowClassName:I?.headerRow,headerCellClassName:I?.headerCell,rowHeaderCellClassName:I?.rowHeaderCell,isCornerHovered:Ft,isWholeGridSelected:fo,showSelectAllCheckbox:_a,selectAllState:Fa,filteredRowsLength:X,visibleColumnsLength:z.length,renderEntries:na,hoveredColumnIndex:Vt,selectionSnapshot:mn,columnFilterValues:H.filters.columnFilters,sortState:H.sort,iconButtonClassName:I?.iconButton,onCornerPointerDown:Ao,onCornerPointerEnter:No,onCornerPointerLeave:Po,onColumnHeaderPointerDown:$a,onColumnHeaderPointerEnter:eo,onColumnHeaderPointerLeave:Mo,onColumnResizePointerDown:Fo,enableColumnMenu:He,enableColumnResize:Le,openedMenuColumnKey:br,onColumnMenuButtonPointerDown:Sr,onColumnHeaderContextMenu:Cr,onColumnDragHandlePointerDown:cs}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:Vn,height:L+Yi,transform:Zi},children:[(0,n.jsx)(ge,{rect:ko(`right`),headerHeight:L,baseOffset:$i,leadingWidth:0}),(0,n.jsx)(_e,{rect:sa(`right`),headerHeight:L,baseOffset:$i,leadingWidth:0}),(0,n.jsx)(We,{rect:ca(`right`),headerHeight:L,baseOffset:$i,leadingWidth:0,initialValue:Nt,editor:Co?.editor,editorSession:To,themeClassName:ma,onCommit:xo,onCancel:So,align:Co?.align}),(0,n.jsx)(Ai,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,rowModel:Y,virtualRows:Q,virtualRowIndexes:Gi,renderEntries:na,rowHeight:Ct,autoHeight:Mi,showCellOverflowTooltip:ze,isServerSide:V,rowHeaderCellStyle:Is,hoveredRowIndex:Rt,isWholeGridSelected:fo,enableRowSelection:Ee,rowSelectionState:Pa,activeCell:H.activeCell,editingCell:H.editingCell,selectionSnapshot:mn,readOnly:N,canEditCell:xe,onRowHeaderPointerDown:Za,onRowHeaderPointerEnter:Qa,onRowHeaderPointerLeave:jo,onCellPointerDown:Ja,onCellPointerEnter:Ya,onCellDoubleClick:Eo,renderCellContent:Ps,getRowClassName:gt,bodyCellClassName:I?.bodyCell,bodyRowClassName:I?.bodyRow,rowHeaderCellClassName:I?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:os,className:`ssg-col-drop-indicator`,style:ls})]})]}),Ls&&(0,n.jsx)(`div`,{className:`ssg-empty-state`,children:r.length===0?Qe:Je})]}),ci&&(0,n.jsx)(`div`,{className:`ssg-autosize-overlay`,children:(0,n.jsx)(`span`,{className:`ssg-autosize-pill`,children:`列幅を計算中…`})}),Hr===`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(Wr*100),`%`]})]})})]}),Xs,Bs,Vs,Ws,Gs]})}function Fa(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=Pa,exports.numberFormatter=Fa;
|