@ishibashi0112/spreadsheet-grid 0.29.1 → 0.31.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 +2 -0
- package/dist/SpreadsheetGrid.d.ts +1 -1
- package/dist/hooks/useColumnMenuController.d.ts +2 -0
- package/dist/hooks/useGridPointerInteractions.d.ts +5 -1
- package/dist/index.cjs +8 -8
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2731 -2244
- package/dist/logic/detailRow.d.ts +33 -0
- package/dist/logic/verticalGeometry.d.ts +8 -0
- package/dist/model/gridActions.d.ts +14 -1
- package/dist/model/gridTypes.d.ts +30 -0
- package/dist/style.css +1 -1
- package/dist/view/GridDetailLayer.d.ts +19 -0
- package/dist/view/GridHeaderRow.d.ts +2 -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}),toggleGroupCollapsed:e=>({type:`group/toggleCollapsed`,groupKey:e}),setGroupCollapsed:(e,t)=>({type:`group/setCollapsed`,groupKey:e,collapsed:t}),setCollapsedGroupKeys:e=>({type:`group/setCollapsedKeys`,keys: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}},A=e=>({mode:`include`,keys:new Set([e])}),j=e=>({mode:`include`,keys:new Set(e)}),M=()=>({mode:`exclude`,keys:new Set}),ee=()=>D(),N=(e,t)=>e.mode===`exclude`?Math.max(0,t-e.keys.size):e.keys.size,P=(e,t)=>{let n=N(e,t);return n<=0?`none`:t>0&&n>=t?`all`:`some`},F=e=>({type:e.mode,rowKeys:Array.from(e.keys)}),I=e=>({mode:e.type,keys:new Set(e.rowKeys)}),te=(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},ne=60,re=(e,t,n)=>Math.min(Math.max(e,t),n),ie=e=>e.reduce((e,t)=>(w(t)||(e[t.key]=t.width),e),{}),ae=e=>({activeCell:null,selection:null,rowSelection:D(),editingCell:null,dragState:null,columnWidths:ie(e),filters:{globalText:``,columnFilters:{}},sort:[],collapsedGroupKeys:new Set}),oe=(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||ne,maxWidth:t.maxWidth??1/0}};case`column/resizeUpdate`:{if(e.dragState?.type!==`columnResize`)return e;let n=re(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 te(e.rowSelection,t.state)?e:{...e,rowSelection:t.state};case`group/toggleCollapsed`:{let n=new Set(e.collapsedGroupKeys);return n.has(t.groupKey)?n.delete(t.groupKey):n.add(t.groupKey),{...e,collapsedGroupKeys:n}}case`group/setCollapsed`:{if(e.collapsedGroupKeys.has(t.groupKey)===t.collapsed)return e;let n=new Set(e.collapsedGroupKeys);return t.collapsed?n.add(t.groupKey):n.delete(t.groupKey),{...e,collapsedGroupKeys:n}}case`group/setCollapsedKeys`:return t.keys===e.collapsedGroupKeys||t.keys.size===0&&e.collapsedGroupKeys.size===0?e:{...e,collapsedGroupKeys:t.keys};default:return e}},se=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)}}),ce=(e,t)=>({startRow:Math.min(e,t),endRow:Math.max(e,t)}),le=(e,t)=>({startCol:Math.min(e,t),endCol:Math.max(e,t)}),ue=e=>e.filters.globalText,de=e=>{if(!e)return{kind:`none`};if(e.type===`cell`){let t=se(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=ce(e.startRow,e.endRow);return{kind:`row`,startRow:t.startRow,endRow:t.endRow}}let t=le(e.startCol,e.endCol);return{kind:`col`,startCol:t.startCol,endCol:t.endCol}};function fe({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 pe({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 me=e=>{let t=e??`down`;return t===`none`?void 0:t},he=({value:e,onCommit:t,onCancel:n,onRejected:r,enterMove:i})=>a=>{if(a.nativeEvent.isComposing)return;let o=n=>{let i=t(e,n);i&&i.status===`rejected`&&r?.(i.message)};if(a.key===`Enter`){a.preventDefault(),o(me(i));return}if(a.key===`Escape`){a.preventDefault(),n();return}a.key===`Tab`&&(a.preventDefault(),o(a.shiftKey?`left`:`right`))};function ge({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 _e({initialValue:t,onCommit:r,onCancel:a,align:o,enterMove:s}){let c=(0,e.useRef)(null),[l,u]=(0,e.useState)(t),[d,f]=(0,e.useState)(null);return(0,e.useEffect)(()=>{let e=c.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:c,type:`text`,value:l,onChange:e=>{u(e.target.value),f(null)},onKeyDown:he({value:l,onCommit:r,onCancel:a,onRejected:f,enterMove:s}),onBlur:()=>{let e=r(l);e&&e.status===`rejected`&&a()},className:i(`ssg-cell-editor-input`,d!==null&&`ssg-cell-editor-input--invalid`),style:o?{textAlign:o}:void 0}),d===null?null:(0,n.jsx)(ge,{message:d})]})}function ve({initialValue:t,min:r,max:a,step:o,onCommit:s,onCancel:c,align:l,enterMove:u}){let d=(0,e.useRef)(null),[f,p]=(0,e.useState)(t),[m,h]=(0,e.useState)(null);return(0,e.useEffect)(()=>{d.current?.focus()},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:d,type:`number`,value:f,min:r,max:a,step:o,onChange:e=>{p(e.target.value),h(null)},onKeyDown:he({value:f,onCommit:s,onCancel:c,onRejected:h,enterMove:u}),onBlur:()=>{let e=s(f);e&&e.status===`rejected`&&c()},className:i(`ssg-cell-editor-input`,m!==null&&`ssg-cell-editor-input--invalid`),style:l?{textAlign:l}:void 0}),m===null?null:(0,n.jsx)(ge,{message:m})]})}var ye=8,be=8,xe=2,Se=(e,t)=>{let n=String(t??``),r=e.findIndex(e=>e.value===n);return r>=0?r:0},Ce=(e,t,n)=>{if(n<=0)return 0;let r=e+t;return r<0?0:r>n-1?n-1:r},we=()=>({buffer:``,lastInputTime:0}),Te=(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}},Ee=(e,t,n,r)=>{let i=Math.max(e.width,180),a=Math.max(be,n-i-be),o=Math.min(Math.max(e.left,be),a),s=Math.min(Math.max(t,1),ye)*28+8,c=e.bottom+xe;return{left:o,top:c+s<=r-be?c:Math.max(be,e.top-xe-s),width:i,maxHeight:s}};function De({options:t,value:a,onCommit:o,onCancel:s,align:c,themeClassName:l,enterMove:u}){let d=(0,e.useRef)(null),f=(0,e.useRef)(null),p=(0,e.useRef)(we()),[m,h]=(0,e.useState)(()=>Se(t,a)),[g,_]=(0,e.useState)(null),[v,y]=(0,e.useState)(null),b=(0,e.useCallback)(e=>{d.current=e,e&&(e.focus(),_(Ee(e.getBoundingClientRect(),t.length,window.innerWidth,window.innerHeight)))},[t.length]);(0,e.useEffect)(()=>{let e=()=>{let e=d.current;e&&_(Ee(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=f.current;e&&e.children[m]?.scrollIntoView?.({block:`nearest`})},[m]);let x=(e,t)=>{let n=o(e,t);n&&n.status===`rejected`&&y(n.message)},S=e=>{let n=t[m];if(!n){s();return}x(n.value,e)},C=e=>{if(!e.nativeEvent.isComposing){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let n=e.key===`ArrowDown`?1:-1;h(e=>Ce(e,n,t.length)),y(null);return}if(e.key===`Enter`){e.preventDefault(),S(me(u));return}if(e.key===`Escape`){e.preventDefault(),s();return}if(e.key===`Tab`){e.preventDefault(),S(e.shiftKey?`left`:`right`);return}if(e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey){e.preventDefault();let n=Te(p.current,e.key,Date.now(),t);p.current=n.state,n.index!==null&&(h(n.index),y(null))}}},w=t[m];return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:b,type:`text`,readOnly:!0,value:w?.label??String(a??``),onKeyDown:C,onBlur:()=>s(),className:i(`ssg-cell-editor-input ssg-cell-editor-input--select`,v!==null&&`ssg-cell-editor-input--invalid`),style:c?{textAlign:c}:void 0}),v===null?null:(0,n.jsx)(ge,{message:v}),g?(0,r.createPortal)((0,n.jsx)(`div`,{ref:f,role:`listbox`,className:i(`ssg-select-editor-popover`,l),style:{left:g.left,top:g.top,width:g.width,maxHeight:g.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===m,className:i(`ssg-select-editor-option`,t===m&&`ssg-select-editor-option--highlighted`),onClick:()=>x(e.value),onPointerEnter:()=>h(t),children:e.label},`${e.value}-${t}`))}),document.body):null]})}function Oe({initialValue:t,onCommit:r,onCancel:a,align:o,enterMove:s}){let c=(0,e.useRef)(null),[l,u]=(0,e.useState)(t),[d,f]=(0,e.useState)(null);return(0,e.useEffect)(()=>{c.current?.focus()},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:c,type:`date`,value:l,onChange:e=>{u(e.target.value),f(null)},onKeyDown:he({value:l,onCommit:r,onCancel:a,onRejected:f,enterMove:s}),onBlur:()=>{let e=r(l);e&&e.status===`rejected`&&a()},className:i(`ssg-cell-editor-input`,d!==null&&`ssg-cell-editor-input--invalid`),style:o?{textAlign:o}:void 0}),d===null?null:(0,n.jsx)(ge,{message:d})]})}function ke({render:e,context:t}){return(0,n.jsx)(n.Fragment,{children:e(t)})}var Ae=(e,t,n,r,i)=>e.readOnly||i.readOnly||i.editable===!1?!1:e.canEditCell?e.canEditCell(t,n,r,i):!0,L=(e,t)=>t.getValue?t.getValue(e):e[t.key],je=(e,t,n)=>t.setValue?t.setValue(e,n):{...e,[t.key]:n},Me=e=>({checkedValue:e.checkedValue??!0,uncheckedValue:e.uncheckedValue??!1}),Ne=(e,t)=>Object.is(e,Me(t).checkedValue),Pe=(e,t)=>{let{checkedValue:n,uncheckedValue:r}=Me(t);return Object.is(e,n)?r:n},Fe=(e,t)=>{let{checkedValue:n,uncheckedValue:r}=Me(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},Ie=e=>{if(e===``)return null;let t=Number(e);return Number.isFinite(t)?t:e},Le=e=>`${String(e.getFullYear()).padStart(4,`0`)}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,Re=e=>{if(e instanceof Date)return Number.isNaN(e.getTime())?``:Le(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 Le(n)}return``},ze=e=>{if(e===``)return null;let t=Re(e);return t===``?e:t},Be=e=>{if(e.parseClipboardValue)return e.parseClipboardValue;if(e.editor?.type===`number`)return Ie;if(e.editor?.type===`date`)return ze;if(e.editor?.type===`checkbox`){let t=e.editor;return e=>Fe(e,t)}return e=>e},Ve=(e,t,n)=>typeof t==`string`?Be(e)(t,n):t,He=(e,t,n,r)=>e.map((e,i)=>i===t?je(e,n,r):e);function Ue({rect:t,headerHeight:r,leadingWidth:i,baseOffset:a=0,initialValue:o,editor:s,editorSession:c,themeClassName:l,onCommit:u,onCancel:d,align:f,enterMove:p}){let m=t!==null,[h,g]=(0,e.useState)(!1),[_,v]=(0,e.useState)(0);if(m!==h&&(g(m),m&&v(_+1)),!t)return null;let y={position:`absolute`,left:i+t.left,top:r+t.top-a,width:t.width,height:t.height},b;return b=s?.type===`number`?(0,n.jsx)(ve,{enterMove:p,initialValue:o,min:s.min,max:s.max,step:s.step,onCommit:u,onCancel:d,align:f},_):s?.type===`date`?(0,n.jsx)(Oe,{enterMove:p,initialValue:Re(c?c.value:o),onCommit:u,onCancel:d,align:f},_):s?.type===`custom`?c?(0,n.jsx)(ke,{render:s.render,context:{row:c.row,rowIndex:c.rowIndex,sourceRowIndex:c.sourceRowIndex,rowKey:c.rowKey,colIndex:c.colIndex,column:c.column,value:c.value,initialText:o,align:f,commit:(e,t)=>u(e,t)??{status:`noop`},cancel:d}},_):null:s?.type===`select`?(0,n.jsx)(De,{enterMove:p,options:typeof s.options==`function`?c?s.options(c.row):[]:s.options,value:c?.value,onCommit:u,onCancel:d,align:f,themeClassName:l},_):(0,n.jsx)(_e,{enterMove:p,initialValue:o,onCommit:u,onCancel:d,align:f},_),(0,n.jsx)(`div`,{className:`ssg-cell-editor`,style:y,children:b})}var We=[{value:`today`,label:`今日`},{value:`thisMonth`,label:`今月`},{value:`last30days`,label:`過去 30 日`}],Ge=e=>We.some(t=>t.value===e),Ke=e=>We.find(t=>t.value===e)?.label??e,qe=e=>e===!1?[]:e===void 0?We.map(({value:e,label:t})=>({id:e,label:t})):e.map(e=>typeof e==`string`?{id:e,label:Ke(e)}:{id:e.id,label:e.label,resolve:e.resolve}),Je=(e,t)=>{let n=t?.find(t=>t.id===e)?.label;return n===void 0?Ge(e)?Ke(e):e:n},Ye=e=>{let t=new Int32Array(e);for(let n=0;n<e;n+=1)t[n]=n;return t},Xe=e=>e?.kind===`set`,Ze=e=>e?.kind===`numberSet`,Qe=e=>e?.kind===`textSet`,$e=e=>e?.kind===`dateSet`,et=e=>e==null||String(e).trim()===``,tt=e=>{if(!e)return!1;switch(e.kind){case`set`:case`number`:case`custom`:return!0;case`numberSet`:case`textSet`:case`dateSet`:return e.condition!==null||e.set!==null;case`select`:return e.value.length>0;case`text`:case`date`:return e.value.trim().length>0}},nt=e=>e==null||typeof e==`string`&&e.trim()===``?NaN:Number(e),rt=(e,t)=>{if(e.mode===`blank`||e.mode===`notBlank`)return et(t)===(e.mode===`blank`);let n=nt(t);if(!Number.isFinite(n))return!1;if(e.mode===`range`)return n>=e.min&&n<=e.max;switch(e.operator){case`>`:return n>e.value;case`>=`:return n>=e.value;case`<`:return n<e.value;case`<=`:return n<=e.value;case`!=`:return n!==e.value;default:return n===e.value}},it=(e,t)=>{if(e.mode===`blank`||e.mode===`notBlank`)return et(t)===(e.mode===`blank`);let n=String(t??``).toLowerCase(),r=e.value.toLowerCase();switch(e.mode){case`equals`:return n===r;case`startsWith`:return n.startsWith(r);case`endsWith`:return n.endsWith(r);default:return n.includes(r)}},at=e=>String(e).padStart(2,`0`),ot=e=>`${e.getFullYear()}-${at(e.getMonth()+1)}-${at(e.getDate())}`,st=e=>{if(e==null)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:ot(e);let t=String(e).trim();if(!t)return null;let n=t.match(/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})(?:[T ].*)?$/);if(!n)return null;let r=Number(n[2]),i=Number(n[3]);return r<1||r>12||i<1||i>31?null:`${n[1]}-${at(r)}-${at(i)}`},ct=e=>{let t=st(e);return t===null?et(e)?``:String(e):t},lt=(e,t)=>{let n=ot(t);switch(e){case`today`:return{from:n,to:n};case`thisMonth`:{let e=new Date(t.getFullYear(),t.getMonth(),1),n=new Date(t.getFullYear(),t.getMonth()+1,0);return{from:ot(e),to:ot(n)}}default:return{from:ot(new Date(t.getFullYear(),t.getMonth(),t.getDate()-29)),to:n}}},ut=e=>e===void 0?null:st(e),dt=(e,t,n)=>{if(e.mode!==`preset`)return e;let r=n?.find(t=>t.id===e.preset);if(r?.resolve){let e=r.resolve(t),n=ut(e.from),i=ut(e.to);return n!==null&&i!==null?n<=i?{mode:`range`,from:n,to:i}:{mode:`range`,from:i,to:n}:n===null?i===null?null:{mode:`onOrBefore`,value:i}:{mode:`onOrAfter`,value:n}}return Ge(e.preset)?{mode:`range`,...lt(e.preset,t)}:null},ft=(e,t,n,r)=>{let i=dt(e,n,r);if(i===null)return!0;if(i.mode===`blank`||i.mode===`notBlank`)return et(t)===(i.mode===`blank`);let a=st(t);if(a===null)return!1;switch(i.mode){case`range`:return a>=i.from&&a<=i.to;case`onOrAfter`:return a>=i.value;case`onOrBefore`:return a<=i.value;case`notEquals`:return a!==i.value;default:return a===i.value}},pt=e=>{let t=e?.kind===`number`?e.parsed:e?.kind===`numberSet`?e.condition:null;return t?.mode===`comparison`||t?.mode===`range`},mt=e=>e?.kind===`number`,ht=e=>{if(!e)return``;switch(e.kind){case`number`:return e.raw;case`text`:case`date`:case`select`:return e.value;case`set`:case`numberSet`:case`textSet`:case`dateSet`:case`custom`:return``}},gt=(e,t,n)=>{if(e.mode===`blank`||e.mode===`notBlank`){let n=e.mode===`blank`;return e=>et(L(e,t))===n}if(e.mode===`range`){let{min:r,max:i}=e;return(e,a)=>{let o=n?n[a]:nt(L(e,t));return Number.isFinite(o)&&o>=r&&o<=i}}let{operator:r,value:i}=e;return(e,a)=>{let o=n?n[a]:nt(L(e,t));if(!Number.isFinite(o))return!1;switch(r){case`>`:return o>i;case`>=`:return o>=i;case`<`:return o<i;case`<=`:return o<=i;case`!=`:return o!==i;default:return o===i}}},_t=(e,t)=>{if(e.mode===`blank`||e.mode===`notBlank`){let n=e.mode===`blank`;return e=>et(L(e,t))===n}let n=e.value.toLowerCase(),r=e.mode;return e=>{let i=String(L(e,t)??``).toLowerCase();switch(r){case`equals`:return i===n;case`startsWith`:return i.startsWith(n);case`endsWith`:return i.endsWith(n);default:return i.includes(n)}}},vt=(e,t,n)=>{let r=new Set(t);return e===`exclude`?e=>!r.has(String(L(e,n)??``)):e=>r.has(String(L(e,n)??``))},yt=(e,t,n)=>{let r=new Set(t);return e===`exclude`?e=>!r.has(ct(L(e,n))):e=>r.has(ct(L(e,n)))},R=(e,t,n)=>{let r=dt(e,n,qe(t.dateFilterPresets));if(r===null)return()=>!0;if(r.mode===`blank`||r.mode===`notBlank`){let e=r.mode===`blank`;return n=>et(L(n,t))===e}if(r.mode===`range`){let{from:e,to:n}=r;return r=>{let i=st(L(r,t));return i!==null&&i>=e&&i<=n}}let{mode:i,value:a}=r;return e=>{let n=st(L(e,t));if(n===null)return!1;switch(i){case`onOrAfter`:return n>=a;case`onOrBefore`:return n<=a;case`notEquals`:return n!==a;default:return n===a}}},bt=(e,t,n,r)=>{if(!tt(t))return null;let i=t;if(e.filterFn){let t=e.filterFn;return e=>t(e,i)}switch(i.kind){case`set`:return vt(i.mode,i.values,e);case`number`:{let t=i.parsed;if(t===null){let t=i.raw.toLowerCase();return n=>String(L(n,e)??``).toLowerCase().includes(t)}return gt(t,e,n)}case`numberSet`:case`textSet`:case`dateSet`:{let t=i.kind===`numberSet`?i.condition?gt(i.condition,e,n):null:i.kind===`textSet`?i.condition?_t(i.condition,e):null:i.condition?R(i.condition,e,r??new Date):null,a=i.set?i.kind===`dateSet`?yt(i.set.mode,i.set.values,e):vt(i.set.mode,i.set.values,e):null;return t&&a?(e,n)=>t(e,n)&&a(e,n):t??a}case`select`:{let t=i.value;return n=>String(L(n,e)??``)===t}case`text`:case`date`:{let t=i.value.trim().toLowerCase();return n=>String(L(n,e)??``).toLowerCase().includes(t)}case`custom`:{let t=String(i.value??``).trim().toLowerCase();return n=>String(L(n,e)??``).toLowerCase().includes(t)}}},xt=(e,t,n)=>{let r=t.length;for(let i=0;i<r;i+=1){let r=L(e,t[i]);if(String(r??``).toLowerCase().includes(n))return!0}return!1},St=(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];xt(e[a],n,i)&&(o[s]=a,s+=1)}return s===a?t:o.slice(0,s)},Ct=(e,t,n,r,i,a)=>{let o=[],s=a??new Date;for(let e of n){let t=bt(e,r[e.key],i?.get(e.key),s);t&&o.push(t)}if(o.length===0)return t;let c=t.length,l=o.length,u=new Int32Array(c),d=0;for(let n=0;n<c;n+=1){let r=t[n],i=e[r],a=!0;for(let e=0;e<l;e+=1)if(!o[e](i,r)){a=!1;break}a&&(u[d]=r,d+=1)}return d===c?t:u.slice(0,d)},wt={operator:`gte`,value1:``,value2:``},Tt=[{value:`gte`,label:`以上`},{value:`gt`,label:`より大きい`},{value:`lte`,label:`以下`},{value:`lt`,label:`未満`},{value:`eq`,label:`に等しい`},{value:`ne`,label:`に等しくない`},{value:`between`,label:`範囲`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`空白でない`}],Et=e=>e===`blank`||e===`notBlank`?0:e===`between`?2:1,Dt=e=>{let t=e.trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null},Ot={gte:`>=`,gt:`>`,lte:`<=`,lt:`<`,eq:`=`,ne:`!=`},kt=e=>{if(e.operator===`blank`||e.operator===`notBlank`)return{mode:e.operator};if(e.operator===`between`){let t=Dt(e.value1),n=Dt(e.value2);return t!==null&&n!==null?{mode:`range`,min:Math.min(t,n),max:Math.max(t,n)}:t===null?n===null?null:{mode:`comparison`,operator:`<=`,value:n}:{mode:`comparison`,operator:`>=`,value:t}}let t=Dt(e.value1);return t===null?null:{mode:`comparison`,operator:Ot[e.operator],value:t}},At=e=>{switch(e.mode){case`comparison`:switch(e.operator){case`>=`:return`${e.value} 以上`;case`>`:return`${e.value} より大きい`;case`<=`:return`${e.value} 以下`;case`<`:return`${e.value} 未満`;case`!=`:return`${e.value} に等しくない`;default:return`${e.value} に等しい`}case`range`:return`${e.min} 〜 ${e.max}`;case`blank`:return`(空白)`;case`notBlank`:return`(空白でない)`}},jt=e=>{let t=kt(e);return t===null?null:{kind:`number`,raw:At(t),parsed:t}},z=(e,t)=>t?e.filter(e=>rt(t,e.value)):e,B={">=":`gte`,">":`gt`,"<=":`lte`,"<":`lt`,"=":`eq`,"!=":`ne`},Mt=e=>{if(!e)return wt;switch(e.mode){case`comparison`:return{operator:B[e.operator],value1:String(e.value),value2:``};case`range`:return{operator:`between`,value1:String(e.min),value2:String(e.max)};case`blank`:case`notBlank`:return{operator:e.mode,value1:``,value2:``}}},V=e=>Mt(e?.parsed),Nt={operator:`contains`,value:``},Pt=[{value:`contains`,label:`を含む`},{value:`equals`,label:`に等しい`},{value:`startsWith`,label:`で始まる`},{value:`endsWith`,label:`で終わる`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`空白でない`}],Ft=e=>e===`blank`||e===`notBlank`?0:1,It=e=>{if(e.operator===`blank`||e.operator===`notBlank`)return{mode:e.operator};let t=e.value.trim();return t?{mode:e.operator,value:t}:null},Lt=e=>{switch(e.mode){case`contains`:return`"${e.value}" を含む`;case`equals`:return`"${e.value}" に等しい`;case`startsWith`:return`"${e.value}" で始まる`;case`endsWith`:return`"${e.value}" で終わる`;case`blank`:return`(空白)`;case`notBlank`:return`(空白でない)`}},Rt=e=>e?e.mode===`blank`||e.mode===`notBlank`?{operator:e.mode,value:``}:{operator:e.mode,value:e.value}:Nt,zt=(e,t)=>t?e.filter(e=>it(t,e.value)):e,Bt={operator:`range`,value1:``,value2:``,preset:null},Vt=[{value:`range`,label:`範囲`},{value:`onOrAfter`,label:`以降`},{value:`onOrBefore`,label:`以前`},{value:`equals`,label:`に等しい`},{value:`notEquals`,label:`に等しくない`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`空白でない`}],Ht=e=>e===`blank`||e===`notBlank`?0:e===`range`?2:1,Ut=e=>{let t=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(t)?t:null},Wt=e=>e===null||e instanceof Date?e===null?``:st(e)??``:e.trim()===``?``:st(e)??``,Gt=e=>{if(e.preset!==null)return{mode:`preset`,preset:e.preset};if(e.operator===`blank`||e.operator===`notBlank`)return{mode:e.operator};if(e.operator===`range`){let t=Ut(e.value1),n=Ut(e.value2);return t!==null&&n!==null?t<=n?{mode:`range`,from:t,to:n}:{mode:`range`,from:n,to:t}:t===null?n===null?null:{mode:`onOrBefore`,value:n}:{mode:`onOrAfter`,value:t}}let t=Ut(e.value1);return t===null?null:{mode:e.operator,value:t}},Kt=(e,t)=>{switch(e.mode){case`range`:return`${e.from} 〜 ${e.to}`;case`onOrAfter`:return`${e.value} 以降`;case`onOrBefore`:return`${e.value} 以前`;case`equals`:return`${e.value} に等しい`;case`notEquals`:return`${e.value} に等しくない`;case`blank`:return`(空白)`;case`notBlank`:return`(空白でない)`;case`preset`:return Je(e.preset,t)}},qt=e=>{if(!e)return Bt;switch(e.mode){case`preset`:return{...Bt,preset:e.preset};case`range`:return{operator:`range`,value1:e.from,value2:e.to,preset:null};case`blank`:case`notBlank`:return{operator:e.mode,value1:``,value2:``,preset:null};default:return{operator:e.mode,value1:e.value,value2:``,preset:null}}},Jt=(e,t,n,r)=>t?e.filter(e=>ft(t,e.value,n,r)):e,Yt=({anchorTop:e,anchorBottom:t,anchorRight:n,viewportWidth:r,viewportHeight:i,popupWidth:a,popupHeight:o,offsetY:s,viewportMargin:c})=>{let l=Math.max(0,i-c*2),u=Math.min(o,l),d=n-a;d=Math.max(c,d),d=Math.min(d,r-a-c);let f=t+s;return f+u>i-c&&(f=e-u-s),f=Math.min(f,i-c-u),f=Math.max(c,f),{top:f,left:d,maxHeight:l}},Xt=(e,t)=>!(!e||t?.contains(e)||(e instanceof Element?e:e.parentElement)?.closest(`[data-ssg-filter-keep-open]`)),Zt=240,Qt=8,$t=8,en=230,tn=340,nn=480,rn=({visibleColumns:t,columnFilterValues:n,enableColumnFilter:r,gridRootRef:i,resolveColumnFilterType:a})=>{let[o,s]=(0,e.useState)(null),[c,l]=(0,e.useState)(null),u=(0,e.useRef)(null),d=(0,e.useRef)(null),f=(0,e.useRef)(null),p=(0,e.useRef)(null),m=(0,e.useRef)(null),h=o!==null,g=o?.columnKey??null,_=o?.filterType??null,v=(0,e.useMemo)(()=>{if(!g)return null;let e=t.find(e=>e.key===g)??null;return!e||!_||e.filterType===_?e:{...e,filterType:_}},[g,t,_]),y=(0,e.useCallback)(()=>{if(!g||!d.current){l(null);return}let e=d.current.getBoundingClientRect(),t=v?.filterType===`numberSet`||v?.filterType===`textSet`||v?.filterType===`dateSet`?nn:v?.filterType===`set`?tn:en,{top:n,left:r,maxHeight:i}=Yt({anchorTop:e.top,anchorBottom:e.bottom,anchorRight:e.right,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,popupWidth:Zt,popupHeight:m.current??t,offsetY:$t,viewportMargin:Qt});l(e=>e&&e.top===n&&e.left===r&&e.width===Zt&&e.maxHeight===i?e:{top:n,left:r,width:Zt,maxHeight:i})},[g,v]),b=(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]`),o=t?Array.from(t).find(t=>t.dataset.ssgColKey===e.key)??null:null;d.current=o;let c=e.filterType===`auto`&&a?a(e):e.filterType??`text`,l=n[e.key],u=c===`number`?V(mt(l)?l:void 0):c===`numberSet`?Mt(Ze(l)?l.condition:void 0):null,f=c===`textSet`?Rt(Qe(l)?l.condition:void 0):null,p=c===`dateSet`?qt($e(l)?l.condition:void 0):null;s({columnKey:e.key,filterType:c,draftValue:ht(l),numberDraft:u,textDraft:f,dateDraft:p})},[n,r,i,a]),x=(0,e.useCallback)(()=>{s(null),l(null),d.current=null,f.current=null,p.current=null,m.current=null,requestAnimationFrame(()=>{i.current?.focus()})},[i]),S=(0,e.useCallback)(e=>{s(t=>t&&{...t,draftValue:e})},[]),C=(0,e.useCallback)(e=>{s(t=>t&&{...t,numberDraft:e})},[]),w=(0,e.useCallback)(e=>{s(t=>t&&{...t,textDraft:e})},[]),T=(0,e.useCallback)(e=>{s(t=>t&&{...t,dateDraft:e})},[]);(0,e.useEffect)(()=>{if(!g)return;y();let e=()=>{y()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[g,y]);let E=c!==null;return(0,e.useEffect)(()=>{let e=u.current;if(!E||!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>{let e=u.current?.getBoundingClientRect().height??null;e===null||e===m.current||(m.current=e,y())});return t.observe(e),()=>{t.disconnect()}},[E,y]),(0,e.useEffect)(()=>{if(!v||!c)return;let e=v.filterType??`text`,t=0,n=0;return t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{if(e===`select`){p.current?.focus();return}let t=f.current;if(t&&(t.focus(),t.type===`text`)){let e=t.value.length;t.setSelectionRange(e,e)}})}),()=>{cancelAnimationFrame(t),cancelAnimationFrame(n)}},[v,c?.top,c?.left,c?.width]),(0,e.useEffect)(()=>{if(!h)return;let e=e=>{let t=e.target;Xt(t,u.current)&&x()};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[x,h]),{filterPopoverState:o,filterPopoverLayout:c,filterPopoverRef:u,filterTextInputRef:f,filterSelectRef:p,isFilterPopoverOpen:h,openedFilterColumn:v,openedFilterType:_,openColumnFilterPopover:b,closeColumnFilterPopover:x,updateFilterPopoverDraft:S,updateFilterPopoverNumberDraft:C,updateFilterPopoverTextDraft:w,updateFilterPopoverDateDraft:T}},an=`入力値が不正です`,H=e=>e===!0?{valid:!0,message:``}:e===!1?{valid:!1,message:an}:typeof e==`string`?{valid:!1,message:e||`入力値が不正です`}:{valid:!1,message:e.message||`入力値が不正です`},U=(e,t,n)=>{if(!e.validate)return null;let r=H(e.validate({value:n,row:t,column:e}));return r.valid?null:r.message},on=(e,t,n)=>{if((e.validationMode??`mark`)!==`reject`)return{action:`write`};let r=U(e,t,n);return r===null?{action:`write`}:{action:`reject`,message:r}},sn=(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=U(a,e,L(e,a));r!==null&&i.push({rowKey:n(e,t)??t,sourceRowIndex:t,columnKey:a.key,message:r})}}),i},cn=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}),toggleGroupCollapsed:e=>({type:`group/toggleCollapsed`,groupKey:e}),setGroupCollapsed:(e,t)=>({type:`group/setCollapsed`,groupKey:e,collapsed:t}),setCollapsedGroupKeys:e=>({type:`group/setCollapsedKeys`,keys:e}),toggleDetailRow:e=>({type:`detail/toggle`,rowKey:e}),setDetailRowExpanded:(e,t)=>({type:`detail/setExpanded`,rowKey:e,expanded:t}),setExpandedDetailRowKeys:e=>({type:`detail/setKeys`,keys: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}},A=e=>({mode:`include`,keys:new Set([e])}),j=e=>({mode:`include`,keys:new Set(e)}),M=()=>({mode:`exclude`,keys:new Set}),N=()=>D(),P=(e,t)=>e.mode===`exclude`?Math.max(0,t-e.keys.size):e.keys.size,F=(e,t)=>{let n=P(e,t);return n<=0?`none`:t>0&&n>=t?`all`:`some`},ee=e=>({type:e.mode,rowKeys:Array.from(e.keys)}),I=e=>({mode:e.type,keys:new Set(e.rowKeys)}),L=(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},te=60,ne=(e,t,n)=>Math.min(Math.max(e,t),n),re=e=>e.reduce((e,t)=>(w(t)||(e[t.key]=t.width),e),{}),ie=e=>({activeCell:null,selection:null,rowSelection:D(),editingCell:null,dragState:null,columnWidths:re(e),filters:{globalText:``,columnFilters:{}},sort:[],collapsedGroupKeys:new Set,expandedDetailRowKeys:new Set}),ae=(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||te,maxWidth:t.maxWidth??1/0}};case`column/resizeUpdate`:{if(e.dragState?.type!==`columnResize`)return e;let n=ne(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 L(e.rowSelection,t.state)?e:{...e,rowSelection:t.state};case`group/toggleCollapsed`:{let n=new Set(e.collapsedGroupKeys);return n.has(t.groupKey)?n.delete(t.groupKey):n.add(t.groupKey),{...e,collapsedGroupKeys:n}}case`group/setCollapsed`:{if(e.collapsedGroupKeys.has(t.groupKey)===t.collapsed)return e;let n=new Set(e.collapsedGroupKeys);return t.collapsed?n.add(t.groupKey):n.delete(t.groupKey),{...e,collapsedGroupKeys:n}}case`group/setCollapsedKeys`:return t.keys===e.collapsedGroupKeys||t.keys.size===0&&e.collapsedGroupKeys.size===0?e:{...e,collapsedGroupKeys:t.keys};case`detail/toggle`:{let n=new Set(e.expandedDetailRowKeys);return n.has(t.rowKey)?n.delete(t.rowKey):n.add(t.rowKey),{...e,expandedDetailRowKeys:n}}case`detail/setExpanded`:{if(e.expandedDetailRowKeys.has(t.rowKey)===t.expanded)return e;let n=new Set(e.expandedDetailRowKeys);return t.expanded?n.add(t.rowKey):n.delete(t.rowKey),{...e,expandedDetailRowKeys:n}}case`detail/setKeys`:return t.keys===e.expandedDetailRowKeys||t.keys.size===0&&e.expandedDetailRowKeys.size===0?e:{...e,expandedDetailRowKeys:t.keys};default:return e}},oe=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)}}),se=(e,t)=>({startRow:Math.min(e,t),endRow:Math.max(e,t)}),ce=(e,t)=>({startCol:Math.min(e,t),endCol:Math.max(e,t)}),le=e=>e.filters.globalText,ue=e=>{if(!e)return{kind:`none`};if(e.type===`cell`){let t=oe(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=se(e.startRow,e.endRow);return{kind:`row`,startRow:t.startRow,endRow:t.endRow}}let t=ce(e.startCol,e.endCol);return{kind:`col`,startCol:t.startCol,endCol:t.endCol}};function de({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 fe({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 pe=e=>{let t=e??`down`;return t===`none`?void 0:t},me=({value:e,onCommit:t,onCancel:n,onRejected:r,enterMove:i})=>a=>{if(a.nativeEvent.isComposing)return;let o=n=>{let i=t(e,n);i&&i.status===`rejected`&&r?.(i.message)};if(a.key===`Enter`){a.preventDefault(),o(pe(i));return}if(a.key===`Escape`){a.preventDefault(),n();return}a.key===`Tab`&&(a.preventDefault(),o(a.shiftKey?`left`:`right`))};function he({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 ge({initialValue:t,onCommit:r,onCancel:a,align:o,enterMove:s}){let c=(0,e.useRef)(null),[l,u]=(0,e.useState)(t),[d,f]=(0,e.useState)(null);return(0,e.useEffect)(()=>{let e=c.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:c,type:`text`,value:l,onChange:e=>{u(e.target.value),f(null)},onKeyDown:me({value:l,onCommit:r,onCancel:a,onRejected:f,enterMove:s}),onBlur:()=>{let e=r(l);e&&e.status===`rejected`&&a()},className:i(`ssg-cell-editor-input`,d!==null&&`ssg-cell-editor-input--invalid`),style:o?{textAlign:o}:void 0}),d===null?null:(0,n.jsx)(he,{message:d})]})}function _e({initialValue:t,min:r,max:a,step:o,onCommit:s,onCancel:c,align:l,enterMove:u}){let d=(0,e.useRef)(null),[f,p]=(0,e.useState)(t),[m,h]=(0,e.useState)(null);return(0,e.useEffect)(()=>{d.current?.focus()},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:d,type:`number`,value:f,min:r,max:a,step:o,onChange:e=>{p(e.target.value),h(null)},onKeyDown:me({value:f,onCommit:s,onCancel:c,onRejected:h,enterMove:u}),onBlur:()=>{let e=s(f);e&&e.status===`rejected`&&c()},className:i(`ssg-cell-editor-input`,m!==null&&`ssg-cell-editor-input--invalid`),style:l?{textAlign:l}:void 0}),m===null?null:(0,n.jsx)(he,{message:m})]})}var ve=8,ye=8,be=2,xe=(e,t)=>{let n=String(t??``),r=e.findIndex(e=>e.value===n);return r>=0?r:0},Se=(e,t,n)=>{if(n<=0)return 0;let r=e+t;return r<0?0:r>n-1?n-1:r},Ce=()=>({buffer:``,lastInputTime:0}),we=(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}},Te=(e,t,n,r)=>{let i=Math.max(e.width,180),a=Math.max(ye,n-i-ye),o=Math.min(Math.max(e.left,ye),a),s=Math.min(Math.max(t,1),ve)*28+8,c=e.bottom+be;return{left:o,top:c+s<=r-ye?c:Math.max(ye,e.top-be-s),width:i,maxHeight:s}};function Ee({options:t,value:a,onCommit:o,onCancel:s,align:c,themeClassName:l,enterMove:u}){let d=(0,e.useRef)(null),f=(0,e.useRef)(null),p=(0,e.useRef)(Ce()),[m,h]=(0,e.useState)(()=>xe(t,a)),[g,_]=(0,e.useState)(null),[v,y]=(0,e.useState)(null),b=(0,e.useCallback)(e=>{d.current=e,e&&(e.focus(),_(Te(e.getBoundingClientRect(),t.length,window.innerWidth,window.innerHeight)))},[t.length]);(0,e.useEffect)(()=>{let e=()=>{let e=d.current;e&&_(Te(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=f.current;e&&e.children[m]?.scrollIntoView?.({block:`nearest`})},[m]);let x=(e,t)=>{let n=o(e,t);n&&n.status===`rejected`&&y(n.message)},S=e=>{let n=t[m];if(!n){s();return}x(n.value,e)},C=e=>{if(!e.nativeEvent.isComposing){if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let n=e.key===`ArrowDown`?1:-1;h(e=>Se(e,n,t.length)),y(null);return}if(e.key===`Enter`){e.preventDefault(),S(pe(u));return}if(e.key===`Escape`){e.preventDefault(),s();return}if(e.key===`Tab`){e.preventDefault(),S(e.shiftKey?`left`:`right`);return}if(e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey){e.preventDefault();let n=we(p.current,e.key,Date.now(),t);p.current=n.state,n.index!==null&&(h(n.index),y(null))}}},w=t[m];return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:b,type:`text`,readOnly:!0,value:w?.label??String(a??``),onKeyDown:C,onBlur:()=>s(),className:i(`ssg-cell-editor-input ssg-cell-editor-input--select`,v!==null&&`ssg-cell-editor-input--invalid`),style:c?{textAlign:c}:void 0}),v===null?null:(0,n.jsx)(he,{message:v}),g?(0,r.createPortal)((0,n.jsx)(`div`,{ref:f,role:`listbox`,className:i(`ssg-select-editor-popover`,l),style:{left:g.left,top:g.top,width:g.width,maxHeight:g.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===m,className:i(`ssg-select-editor-option`,t===m&&`ssg-select-editor-option--highlighted`),onClick:()=>x(e.value),onPointerEnter:()=>h(t),children:e.label},`${e.value}-${t}`))}),document.body):null]})}function De({initialValue:t,onCommit:r,onCancel:a,align:o,enterMove:s}){let c=(0,e.useRef)(null),[l,u]=(0,e.useState)(t),[d,f]=(0,e.useState)(null);return(0,e.useEffect)(()=>{c.current?.focus()},[]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:c,type:`date`,value:l,onChange:e=>{u(e.target.value),f(null)},onKeyDown:me({value:l,onCommit:r,onCancel:a,onRejected:f,enterMove:s}),onBlur:()=>{let e=r(l);e&&e.status===`rejected`&&a()},className:i(`ssg-cell-editor-input`,d!==null&&`ssg-cell-editor-input--invalid`),style:o?{textAlign:o}:void 0}),d===null?null:(0,n.jsx)(he,{message:d})]})}function Oe({render:e,context:t}){return(0,n.jsx)(n.Fragment,{children:e(t)})}var ke=(e,t,n,r,i)=>e.readOnly||i.readOnly||i.editable===!1?!1:e.canEditCell?e.canEditCell(t,n,r,i):!0,R=(e,t)=>t.getValue?t.getValue(e):e[t.key],Ae=(e,t,n)=>t.setValue?t.setValue(e,n):{...e,[t.key]:n},je=e=>({checkedValue:e.checkedValue??!0,uncheckedValue:e.uncheckedValue??!1}),Me=(e,t)=>Object.is(e,je(t).checkedValue),Ne=(e,t)=>{let{checkedValue:n,uncheckedValue:r}=je(t);return Object.is(e,n)?r:n},Pe=(e,t)=>{let{checkedValue:n,uncheckedValue:r}=je(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},Fe=e=>{if(e===``)return null;let t=Number(e);return Number.isFinite(t)?t:e},Ie=e=>`${String(e.getFullYear()).padStart(4,`0`)}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,Le=e=>{if(e instanceof Date)return Number.isNaN(e.getTime())?``:Ie(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 Ie(n)}return``},Re=e=>{if(e===``)return null;let t=Le(e);return t===``?e:t},ze=e=>{if(e.parseClipboardValue)return e.parseClipboardValue;if(e.editor?.type===`number`)return Fe;if(e.editor?.type===`date`)return Re;if(e.editor?.type===`checkbox`){let t=e.editor;return e=>Pe(e,t)}return e=>e},Be=(e,t,n)=>typeof t==`string`?ze(e)(t,n):t,Ve=(e,t,n,r)=>e.map((e,i)=>i===t?Ae(e,n,r):e);function He({rect:t,headerHeight:r,leadingWidth:i,baseOffset:a=0,initialValue:o,editor:s,editorSession:c,themeClassName:l,onCommit:u,onCancel:d,align:f,enterMove:p}){let m=t!==null,[h,g]=(0,e.useState)(!1),[_,v]=(0,e.useState)(0);if(m!==h&&(g(m),m&&v(_+1)),!t)return null;let y={position:`absolute`,left:i+t.left,top:r+t.top-a,width:t.width,height:t.height},b;return b=s?.type===`number`?(0,n.jsx)(_e,{enterMove:p,initialValue:o,min:s.min,max:s.max,step:s.step,onCommit:u,onCancel:d,align:f},_):s?.type===`date`?(0,n.jsx)(De,{enterMove:p,initialValue:Le(c?c.value:o),onCommit:u,onCancel:d,align:f},_):s?.type===`custom`?c?(0,n.jsx)(Oe,{render:s.render,context:{row:c.row,rowIndex:c.rowIndex,sourceRowIndex:c.sourceRowIndex,rowKey:c.rowKey,colIndex:c.colIndex,column:c.column,value:c.value,initialText:o,align:f,commit:(e,t)=>u(e,t)??{status:`noop`},cancel:d}},_):null:s?.type===`select`?(0,n.jsx)(Ee,{enterMove:p,options:typeof s.options==`function`?c?s.options(c.row):[]:s.options,value:c?.value,onCommit:u,onCancel:d,align:f,themeClassName:l},_):(0,n.jsx)(ge,{enterMove:p,initialValue:o,onCommit:u,onCancel:d,align:f},_),(0,n.jsx)(`div`,{className:`ssg-cell-editor`,style:y,children:b})}var Ue=[{value:`today`,label:`今日`},{value:`thisMonth`,label:`今月`},{value:`last30days`,label:`過去 30 日`}],We=e=>Ue.some(t=>t.value===e),Ge=e=>Ue.find(t=>t.value===e)?.label??e,Ke=e=>e===!1?[]:e===void 0?Ue.map(({value:e,label:t})=>({id:e,label:t})):e.map(e=>typeof e==`string`?{id:e,label:Ge(e)}:{id:e.id,label:e.label,resolve:e.resolve}),qe=(e,t)=>{let n=t?.find(t=>t.id===e)?.label;return n===void 0?We(e)?Ge(e):e:n},Je=e=>{let t=new Int32Array(e);for(let n=0;n<e;n+=1)t[n]=n;return t},Ye=e=>e?.kind===`set`,Xe=e=>e?.kind===`numberSet`,Ze=e=>e?.kind===`textSet`,Qe=e=>e?.kind===`dateSet`,$e=e=>e==null||String(e).trim()===``,et=e=>{if(!e)return!1;switch(e.kind){case`set`:case`number`:case`custom`:return!0;case`numberSet`:case`textSet`:case`dateSet`:return e.condition!==null||e.set!==null;case`select`:return e.value.length>0;case`text`:case`date`:return e.value.trim().length>0}},tt=e=>e==null||typeof e==`string`&&e.trim()===``?NaN:Number(e),nt=(e,t)=>{if(e.mode===`blank`||e.mode===`notBlank`)return $e(t)===(e.mode===`blank`);let n=tt(t);if(!Number.isFinite(n))return!1;if(e.mode===`range`)return n>=e.min&&n<=e.max;switch(e.operator){case`>`:return n>e.value;case`>=`:return n>=e.value;case`<`:return n<e.value;case`<=`:return n<=e.value;case`!=`:return n!==e.value;default:return n===e.value}},rt=(e,t)=>{if(e.mode===`blank`||e.mode===`notBlank`)return $e(t)===(e.mode===`blank`);let n=String(t??``).toLowerCase(),r=e.value.toLowerCase();switch(e.mode){case`equals`:return n===r;case`startsWith`:return n.startsWith(r);case`endsWith`:return n.endsWith(r);default:return n.includes(r)}},it=e=>String(e).padStart(2,`0`),at=e=>`${e.getFullYear()}-${it(e.getMonth()+1)}-${it(e.getDate())}`,ot=e=>{if(e==null)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:at(e);let t=String(e).trim();if(!t)return null;let n=t.match(/^(\d{4})[-/](\d{1,2})[-/](\d{1,2})(?:[T ].*)?$/);if(!n)return null;let r=Number(n[2]),i=Number(n[3]);return r<1||r>12||i<1||i>31?null:`${n[1]}-${it(r)}-${it(i)}`},st=e=>{let t=ot(e);return t===null?$e(e)?``:String(e):t},ct=(e,t)=>{let n=at(t);switch(e){case`today`:return{from:n,to:n};case`thisMonth`:{let e=new Date(t.getFullYear(),t.getMonth(),1),n=new Date(t.getFullYear(),t.getMonth()+1,0);return{from:at(e),to:at(n)}}default:return{from:at(new Date(t.getFullYear(),t.getMonth(),t.getDate()-29)),to:n}}},lt=e=>e===void 0?null:ot(e),ut=(e,t,n)=>{if(e.mode!==`preset`)return e;let r=n?.find(t=>t.id===e.preset);if(r?.resolve){let e=r.resolve(t),n=lt(e.from),i=lt(e.to);return n!==null&&i!==null?n<=i?{mode:`range`,from:n,to:i}:{mode:`range`,from:i,to:n}:n===null?i===null?null:{mode:`onOrBefore`,value:i}:{mode:`onOrAfter`,value:n}}return We(e.preset)?{mode:`range`,...ct(e.preset,t)}:null},dt=(e,t,n,r)=>{let i=ut(e,n,r);if(i===null)return!0;if(i.mode===`blank`||i.mode===`notBlank`)return $e(t)===(i.mode===`blank`);let a=ot(t);if(a===null)return!1;switch(i.mode){case`range`:return a>=i.from&&a<=i.to;case`onOrAfter`:return a>=i.value;case`onOrBefore`:return a<=i.value;case`notEquals`:return a!==i.value;default:return a===i.value}},ft=e=>{let t=e?.kind===`number`?e.parsed:e?.kind===`numberSet`?e.condition:null;return t?.mode===`comparison`||t?.mode===`range`},pt=e=>e?.kind===`number`,mt=e=>{if(!e)return``;switch(e.kind){case`number`:return e.raw;case`text`:case`date`:case`select`:return e.value;case`set`:case`numberSet`:case`textSet`:case`dateSet`:case`custom`:return``}},ht=(e,t,n)=>{if(e.mode===`blank`||e.mode===`notBlank`){let n=e.mode===`blank`;return e=>$e(R(e,t))===n}if(e.mode===`range`){let{min:r,max:i}=e;return(e,a)=>{let o=n?n[a]:tt(R(e,t));return Number.isFinite(o)&&o>=r&&o<=i}}let{operator:r,value:i}=e;return(e,a)=>{let o=n?n[a]:tt(R(e,t));if(!Number.isFinite(o))return!1;switch(r){case`>`:return o>i;case`>=`:return o>=i;case`<`:return o<i;case`<=`:return o<=i;case`!=`:return o!==i;default:return o===i}}},gt=(e,t)=>{if(e.mode===`blank`||e.mode===`notBlank`){let n=e.mode===`blank`;return e=>$e(R(e,t))===n}let n=e.value.toLowerCase(),r=e.mode;return e=>{let i=String(R(e,t)??``).toLowerCase();switch(r){case`equals`:return i===n;case`startsWith`:return i.startsWith(n);case`endsWith`:return i.endsWith(n);default:return i.includes(n)}}},_t=(e,t,n)=>{let r=new Set(t);return e===`exclude`?e=>!r.has(String(R(e,n)??``)):e=>r.has(String(R(e,n)??``))},vt=(e,t,n)=>{let r=new Set(t);return e===`exclude`?e=>!r.has(st(R(e,n))):e=>r.has(st(R(e,n)))},z=(e,t,n)=>{let r=ut(e,n,Ke(t.dateFilterPresets));if(r===null)return()=>!0;if(r.mode===`blank`||r.mode===`notBlank`){let e=r.mode===`blank`;return n=>$e(R(n,t))===e}if(r.mode===`range`){let{from:e,to:n}=r;return r=>{let i=ot(R(r,t));return i!==null&&i>=e&&i<=n}}let{mode:i,value:a}=r;return e=>{let n=ot(R(e,t));if(n===null)return!1;switch(i){case`onOrAfter`:return n>=a;case`onOrBefore`:return n<=a;case`notEquals`:return n!==a;default:return n===a}}},yt=(e,t,n,r)=>{if(!et(t))return null;let i=t;if(e.filterFn){let t=e.filterFn;return e=>t(e,i)}switch(i.kind){case`set`:return _t(i.mode,i.values,e);case`number`:{let t=i.parsed;if(t===null){let t=i.raw.toLowerCase();return n=>String(R(n,e)??``).toLowerCase().includes(t)}return ht(t,e,n)}case`numberSet`:case`textSet`:case`dateSet`:{let t=i.kind===`numberSet`?i.condition?ht(i.condition,e,n):null:i.kind===`textSet`?i.condition?gt(i.condition,e):null:i.condition?z(i.condition,e,r??new Date):null,a=i.set?i.kind===`dateSet`?vt(i.set.mode,i.set.values,e):_t(i.set.mode,i.set.values,e):null;return t&&a?(e,n)=>t(e,n)&&a(e,n):t??a}case`select`:{let t=i.value;return n=>String(R(n,e)??``)===t}case`text`:case`date`:{let t=i.value.trim().toLowerCase();return n=>String(R(n,e)??``).toLowerCase().includes(t)}case`custom`:{let t=String(i.value??``).trim().toLowerCase();return n=>String(R(n,e)??``).toLowerCase().includes(t)}}},bt=(e,t,n)=>{let r=t.length;for(let i=0;i<r;i+=1){let r=R(e,t[i]);if(String(r??``).toLowerCase().includes(n))return!0}return!1},xt=(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];bt(e[a],n,i)&&(o[s]=a,s+=1)}return s===a?t:o.slice(0,s)},St=(e,t,n,r,i,a)=>{let o=[],s=a??new Date;for(let e of n){let t=yt(e,r[e.key],i?.get(e.key),s);t&&o.push(t)}if(o.length===0)return t;let c=t.length,l=o.length,u=new Int32Array(c),d=0;for(let n=0;n<c;n+=1){let r=t[n],i=e[r],a=!0;for(let e=0;e<l;e+=1)if(!o[e](i,r)){a=!1;break}a&&(u[d]=r,d+=1)}return d===c?t:u.slice(0,d)},Ct={operator:`gte`,value1:``,value2:``},wt=[{value:`gte`,label:`以上`},{value:`gt`,label:`より大きい`},{value:`lte`,label:`以下`},{value:`lt`,label:`未満`},{value:`eq`,label:`に等しい`},{value:`ne`,label:`に等しくない`},{value:`between`,label:`範囲`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`空白でない`}],Tt=e=>e===`blank`||e===`notBlank`?0:e===`between`?2:1,Et=e=>{let t=e.trim();if(!t)return null;let n=Number(t);return Number.isFinite(n)?n:null},Dt={gte:`>=`,gt:`>`,lte:`<=`,lt:`<`,eq:`=`,ne:`!=`},Ot=e=>{if(e.operator===`blank`||e.operator===`notBlank`)return{mode:e.operator};if(e.operator===`between`){let t=Et(e.value1),n=Et(e.value2);return t!==null&&n!==null?{mode:`range`,min:Math.min(t,n),max:Math.max(t,n)}:t===null?n===null?null:{mode:`comparison`,operator:`<=`,value:n}:{mode:`comparison`,operator:`>=`,value:t}}let t=Et(e.value1);return t===null?null:{mode:`comparison`,operator:Dt[e.operator],value:t}},kt=e=>{switch(e.mode){case`comparison`:switch(e.operator){case`>=`:return`${e.value} 以上`;case`>`:return`${e.value} より大きい`;case`<=`:return`${e.value} 以下`;case`<`:return`${e.value} 未満`;case`!=`:return`${e.value} に等しくない`;default:return`${e.value} に等しい`}case`range`:return`${e.min} 〜 ${e.max}`;case`blank`:return`(空白)`;case`notBlank`:return`(空白でない)`}},At=e=>{let t=Ot(e);return t===null?null:{kind:`number`,raw:kt(t),parsed:t}},jt=(e,t)=>t?e.filter(e=>nt(t,e.value)):e,Mt={">=":`gte`,">":`gt`,"<=":`lte`,"<":`lt`,"=":`eq`,"!=":`ne`},B=e=>{if(!e)return Ct;switch(e.mode){case`comparison`:return{operator:Mt[e.operator],value1:String(e.value),value2:``};case`range`:return{operator:`between`,value1:String(e.min),value2:String(e.max)};case`blank`:case`notBlank`:return{operator:e.mode,value1:``,value2:``}}},V=e=>B(e?.parsed),Nt={operator:`contains`,value:``},Pt=[{value:`contains`,label:`を含む`},{value:`equals`,label:`に等しい`},{value:`startsWith`,label:`で始まる`},{value:`endsWith`,label:`で終わる`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`空白でない`}],H=e=>e===`blank`||e===`notBlank`?0:1,Ft=e=>{if(e.operator===`blank`||e.operator===`notBlank`)return{mode:e.operator};let t=e.value.trim();return t?{mode:e.operator,value:t}:null},It=e=>{switch(e.mode){case`contains`:return`"${e.value}" を含む`;case`equals`:return`"${e.value}" に等しい`;case`startsWith`:return`"${e.value}" で始まる`;case`endsWith`:return`"${e.value}" で終わる`;case`blank`:return`(空白)`;case`notBlank`:return`(空白でない)`}},Lt=e=>e?e.mode===`blank`||e.mode===`notBlank`?{operator:e.mode,value:``}:{operator:e.mode,value:e.value}:Nt,Rt=(e,t)=>t?e.filter(e=>rt(t,e.value)):e,zt={operator:`range`,value1:``,value2:``,preset:null},Bt=[{value:`range`,label:`範囲`},{value:`onOrAfter`,label:`以降`},{value:`onOrBefore`,label:`以前`},{value:`equals`,label:`に等しい`},{value:`notEquals`,label:`に等しくない`},{value:`blank`,label:`空白`},{value:`notBlank`,label:`空白でない`}],Vt=e=>e===`blank`||e===`notBlank`?0:e===`range`?2:1,Ht=e=>{let t=e.trim();return/^\d{4}-\d{2}-\d{2}$/.test(t)?t:null},Ut=e=>e===null||e instanceof Date?e===null?``:ot(e)??``:e.trim()===``?``:ot(e)??``,Wt=e=>{if(e.preset!==null)return{mode:`preset`,preset:e.preset};if(e.operator===`blank`||e.operator===`notBlank`)return{mode:e.operator};if(e.operator===`range`){let t=Ht(e.value1),n=Ht(e.value2);return t!==null&&n!==null?t<=n?{mode:`range`,from:t,to:n}:{mode:`range`,from:n,to:t}:t===null?n===null?null:{mode:`onOrBefore`,value:n}:{mode:`onOrAfter`,value:t}}let t=Ht(e.value1);return t===null?null:{mode:e.operator,value:t}},Gt=(e,t)=>{switch(e.mode){case`range`:return`${e.from} 〜 ${e.to}`;case`onOrAfter`:return`${e.value} 以降`;case`onOrBefore`:return`${e.value} 以前`;case`equals`:return`${e.value} に等しい`;case`notEquals`:return`${e.value} に等しくない`;case`blank`:return`(空白)`;case`notBlank`:return`(空白でない)`;case`preset`:return qe(e.preset,t)}},Kt=e=>{if(!e)return zt;switch(e.mode){case`preset`:return{...zt,preset:e.preset};case`range`:return{operator:`range`,value1:e.from,value2:e.to,preset:null};case`blank`:case`notBlank`:return{operator:e.mode,value1:``,value2:``,preset:null};default:return{operator:e.mode,value1:e.value,value2:``,preset:null}}},qt=(e,t,n,r)=>t?e.filter(e=>dt(t,e.value,n,r)):e,Jt=({anchorTop:e,anchorBottom:t,anchorRight:n,viewportWidth:r,viewportHeight:i,popupWidth:a,popupHeight:o,offsetY:s,viewportMargin:c})=>{let l=Math.max(0,i-c*2),u=Math.min(o,l),d=n-a;d=Math.max(c,d),d=Math.min(d,r-a-c);let f=t+s;return f+u>i-c&&(f=e-u-s),f=Math.min(f,i-c-u),f=Math.max(c,f),{top:f,left:d,maxHeight:l}},Yt=(e,t)=>!(!e||t?.contains(e)||(e instanceof Element?e:e.parentElement)?.closest(`[data-ssg-filter-keep-open]`)),Xt=[`sum`,`min`,`max`,`avg`,`count`],Zt=e=>typeof e==`string`&&Xt.includes(e),Qt=()=>({count:0,numericCount:0,sum:0,min:1/0,max:-1/0}),$t=(e,t)=>{if(e.count+=1,t==null||t===``)return;let n=Number(t);Number.isFinite(n)&&(e.numericCount+=1,e.sum+=n,n<e.min&&(e.min=n),n>e.max&&(e.max=n))},en=(e,t)=>{switch(e){case`count`:return t.count;case`sum`:return t.numericCount>0?t.sum:void 0;case`avg`:return t.numericCount>0?t.sum/t.numericCount:void 0;case`min`:return t.numericCount>0?t.min:void 0;case`max`:return t.numericCount>0?t.max:void 0}},tn=`(空白)`,nn=`__ssg-group__:`,rn=`__ssg_group__`,an=e=>nn+e.groupKey,on=e=>e<0,sn=e=>-e-1,cn=e=>{if(e==null||e===``)return`e`;let t=typeof e;return`${t===`number`?`n`:t===`boolean`?`b`:t===`string`?`s`:`o`}:${String(e)}`},ln=e=>({groupColumns:e.filter(e=>e.rowGroup===!0),aggColumns:e.filter(e=>e.aggFunc!=null)}),un=(e,t,n,r)=>{let i=n.length,a=r.length,o=r.map(e=>typeof e.aggFunc==`function`),s=o.includes(!0),c=[],l=new Map,u=0,d=(e,t,n,i,a)=>{let s=`${t.key}\u0001${n}`,c=n===`e`;return u+=1,{groupRow:{kind:`group`,groupKey:e===null?s:`${e}\u0000${s}`,columnKey:t.key,value:c?null:i,label:c?tn:String(i),level:a,leafCount:0,aggregates:{}},children:[],childIndex:new Map,leafSourceIndexes:[],accumulators:r.map(()=>Qt()),customValues:o.map(e=>e?[]:null),customRows:[]}},f=t.length;for(let o=0;o<f;o+=1){let u=t[o],f=e[u],p=null;if(a>0){p=Array(a);for(let e=0;e<a;e+=1)p[e]=R(f,r[e])}let m=c,h=l,g=null;for(let e=0;e<i;e+=1){let t=n[e],r=R(f,t),o=cn(r),c=h.get(o);if(c||(c=d(g,t,o,r,e),m.push(c),h.set(o,c)),c.groupRow.leafCount+=1,p!==null){for(let e=0;e<a;e+=1){$t(c.accumulators[e],p[e]);let t=c.customValues[e];t!==null&&t.push(p[e])}s&&c.customRows.push(f)}e===i-1&&c.leafSourceIndexes.push(u),m=c.children,h=c.childIndex,g=c.groupRow.groupKey}}let p=e=>{for(let t=0;t<a;t+=1){let n=r[t];o[t]?e.groupRow.aggregates[n.key]=n.aggFunc({values:e.customValues[t]??[],rows:e.customRows,column:n}):Zt(n.aggFunc)&&(e.groupRow.aggregates[n.key]=en(n.aggFunc,e.accumulators[t]))}for(let t of e.children)p(t)};for(let e of c)p(e);return{roots:c,groupCount:u}},dn=(e,t)=>{let n=[],r=[],i=e=>{if(r.push(e.groupRow),n.push(-r.length),!t.has(e.groupRow.groupKey)){if(e.children.length>0){for(let t of e.children)i(t);return}for(let t of e.leafSourceIndexes)n.push(t)}};for(let t of e.roots)i(t);return{displayOrder:Int32Array.from(n),groups:r}},fn=e=>{let t=[],n=e=>{t.push(e.groupRow);for(let t of e.children)n(t)};for(let t of e.roots)n(t);return t},pn=e=>fn(e).map(e=>e.groupKey),mn=`__ssg_detail_toggle__`,hn=e=>e===`__ssg_group__`||e===`__ssg_detail_toggle__`,gn=e=>e!=null&&typeof e.closest==`function`&&e.closest(`[data-ssg-detail]`)!==null,_n=()=>typeof document<`u`&&gn(document.activeElement),vn=(e,t)=>{if(typeof t.closest!=`function`)return!1;let n=t.closest(`[data-ssg-detail]`);return n!==null&&n!==e&&e.contains(n)},yn=()=>({indexByKey:new Map,unresolvedFor:null,unresolved:new Set}),bn=(e,t,n,r)=>{let i=e.getRowCount(),a=n.indexByKey.get(t);if(a!==void 0&&a>=0&&a<i&&e.getRowKey(a)===t)return a;if(!r)return-1;for(let r=0;r<i;r+=1)if(e.getRowKey(r)===t)return n.indexByKey.set(t,r),r;return-1},xn=({expandedKeys:e,rowModel:t,height:n,isExpandable:r,cache:i,allowScan:a})=>{if(e.size===0||n<=0)return[];let o=t.getRowCount(),s=new Map,c=null;for(let n of e){let e=i.indexByKey.get(n);if(e!==void 0&&e>=0&&e<o&&t.getRowKey(e)===n){s.set(n,e);continue}i.unresolvedFor===t&&i.unresolved.has(n)||(c??=new Set).add(n)}if(c&&c.size>0){if(a)for(let e=0;e<o&&c.size>0;e+=1){let n=t.getRowKey(e);c.has(n)&&(i.indexByKey.set(n,e),s.set(n,e),c.delete(n))}if(c.size>0){i.unresolvedFor!==t&&(i.unresolvedFor=t,i.unresolved.clear());for(let e of c)i.unresolved.add(e)}}let l=[];for(let[e,i]of s){let a=t.getRow(i);a!==void 0&&(r&&!r(a,{rowKey:e,sourceRowIndex:t.getSourceIndex(i)})||l.push({index:i,height:n}))}return l.sort((e,t)=>e.index-t.index),l},Sn=(e,t,n)=>{e.indexByKey.set(t,n),e.unresolved.delete(t)},Cn=(e,t,n,r)=>{let i=[],a=e;for(let o of r){if(o.index<e)continue;if(o.index>t)break;let r=n.rowTop(a),s=n.rowTop(o.index)+n.cellHeight(o.index);i.push({top:r,height:s-r}),a=o.index+1}return a<=t&&i.push({top:n.rowTop(a),height:n.rowsHeight(a,t)}),i},U=240,W=8,wn=8,G=230,Tn=340,En=480,Dn=({visibleColumns:t,columnFilterValues:n,enableColumnFilter:r,gridRootRef:i,resolveColumnFilterType:a})=>{let[o,s]=(0,e.useState)(null),[c,l]=(0,e.useState)(null),u=(0,e.useRef)(null),d=(0,e.useRef)(null),f=(0,e.useRef)(null),p=(0,e.useRef)(null),m=(0,e.useRef)(null),h=o!==null,g=o?.columnKey??null,_=o?.filterType??null,v=(0,e.useMemo)(()=>{if(!g)return null;let e=t.find(e=>e.key===g)??null;return!e||!_||e.filterType===_?e:{...e,filterType:_}},[g,t,_]),y=(0,e.useCallback)(()=>{if(!g||!d.current){l(null);return}let e=d.current.getBoundingClientRect(),t=v?.filterType===`numberSet`||v?.filterType===`textSet`||v?.filterType===`dateSet`?En:v?.filterType===`set`?Tn:G,{top:n,left:r,maxHeight:i}=Jt({anchorTop:e.top,anchorBottom:e.bottom,anchorRight:e.right,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight,popupWidth:U,popupHeight:m.current??t,offsetY:wn,viewportMargin:W});l(e=>e&&e.top===n&&e.left===r&&e.width===U&&e.maxHeight===i?e:{top:n,left:r,width:U,maxHeight:i})},[g,v]),b=(0,e.useCallback)(e=>{if(!r)return;document.activeElement instanceof HTMLElement&&document.activeElement.blur(),i.current?.blur();let t=i.current,o=t?.querySelectorAll(`[data-ssg-col-key]`),c=t&&o?Array.from(o).find(n=>n.dataset.ssgColKey===e.key&&!vn(t,n))??null:null;d.current=c;let l=e.filterType===`auto`&&a?a(e):e.filterType??`text`,u=n[e.key],f=l===`number`?V(pt(u)?u:void 0):l===`numberSet`?B(Xe(u)?u.condition:void 0):null,p=l===`textSet`?Lt(Ze(u)?u.condition:void 0):null,m=l===`dateSet`?Kt(Qe(u)?u.condition:void 0):null;s({columnKey:e.key,filterType:l,draftValue:mt(u),numberDraft:f,textDraft:p,dateDraft:m})},[n,r,i,a]),x=(0,e.useCallback)(()=>{s(null),l(null),d.current=null,f.current=null,p.current=null,m.current=null,requestAnimationFrame(()=>{_n()||i.current?.focus()})},[i]),S=(0,e.useCallback)(e=>{s(t=>t&&{...t,draftValue:e})},[]),C=(0,e.useCallback)(e=>{s(t=>t&&{...t,numberDraft:e})},[]),w=(0,e.useCallback)(e=>{s(t=>t&&{...t,textDraft:e})},[]),T=(0,e.useCallback)(e=>{s(t=>t&&{...t,dateDraft:e})},[]);(0,e.useEffect)(()=>{if(!g)return;y();let e=()=>{y()};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[g,y]);let E=c!==null;return(0,e.useEffect)(()=>{let e=u.current;if(!E||!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>{let e=u.current?.getBoundingClientRect().height??null;e===null||e===m.current||(m.current=e,y())});return t.observe(e),()=>{t.disconnect()}},[E,y]),(0,e.useEffect)(()=>{if(!v||!c)return;let e=v.filterType??`text`,t=0,n=0;return t=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{if(e===`select`){p.current?.focus();return}let t=f.current;if(t&&(t.focus(),t.type===`text`)){let e=t.value.length;t.setSelectionRange(e,e)}})}),()=>{cancelAnimationFrame(t),cancelAnimationFrame(n)}},[v,c?.top,c?.left,c?.width]),(0,e.useEffect)(()=>{if(!h)return;let e=e=>{let t=e.target;Yt(t,u.current)&&x()};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[x,h]),{filterPopoverState:o,filterPopoverLayout:c,filterPopoverRef:u,filterTextInputRef:f,filterSelectRef:p,isFilterPopoverOpen:h,openedFilterColumn:v,openedFilterType:_,openColumnFilterPopover:b,closeColumnFilterPopover:x,updateFilterPopoverDraft:S,updateFilterPopoverNumberDraft:C,updateFilterPopoverTextDraft:w,updateFilterPopoverDateDraft:T}},On=`入力値が不正です`,K=e=>e===!0?{valid:!0,message:``}:e===!1?{valid:!1,message:On}:typeof e==`string`?{valid:!1,message:e||`入力値が不正です`}:{valid:!1,message:e.message||`入力値が不正です`},q=(e,t,n)=>{if(!e.validate)return null;let r=K(e.validate({value:n,row:t,column:e}));return r.valid?null:r.message},kn=(e,t,n)=>{if((e.validationMode??`mark`)!==`reject`)return{action:`write`};let r=q(e,t,n);return r===null?{action:`write`}:{action:`reject`,message:r}},An=(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=q(a,e,R(e,a));r!==null&&i.push({rowKey:n(e,t)??t,sourceRowIndex:t,columnKey:a.key,message:r})}}),i},jn=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=
|
|
6
|
-
`)}let a=
|
|
7
|
-
`)},
|
|
8
|
-
`)},[n,r]);return{isWholeGridSelected:g,handleCopy:(0,e.useCallback)(async()=>{let e=g?_():W(n.getRow,n.getRowCount(),r,i.selection);e&&await G(e)},[g,n,_,i.selection,r]),handlePaste:(0,e.useCallback)(e=>{if(s||!d&&!p||!i.activeCell)return;let h=e.clipboardData.getData(`text/plain`);if(!h)return;e.preventDefault();let g=cn(h);if(g.length===0)return;let _=g.reduce((e,t)=>Math.max(e,t.length),0);if(_===0)return;let v=i.activeCell.row,y=i.activeCell.col;if(p){let e=un(e=>n.getRow(e),r,g,v,y,(e,t,n,r)=>Ae({readOnly:s,canEditCell:c},e,t,n,r));e.length>0&&p(e);let t=o(i.activeCell.row+Math.max(g.length-1,0),0,Math.max(n.getRowCount()-1,0)),l=o(i.activeCell.col+Math.max(_-1,0),0,Math.max(r.length-1,0));m(a.startSelection(i.activeCell)),m(a.updateSelection({row:t,col:l})),m(a.endSelection()),m(a.activateCell(i.activeCell));return}if(!d)return;let b=n.getSourceIndex(v);if(b===void 0)return;let x=i.activeCell.col,S=[...t],C=[...r],w=n.getRowCount(),T=S.length,E=e=>e<w?n.getSourceIndex(e):T+(e-w),D=b+g.length;if(D>S.length&&l)for(;S.length<D;)S.push(l());let O=x+_;if(O>C.length&&f&&u){for(;C.length<O;)C.push(u(C.length));f(C)}let k=ln(S,E,C,g,v,x,(e,t,n,r)=>Ae({readOnly:s,canEditCell:c},e,t,n,r)),A=o(i.activeCell.row+Math.max(g.length-1,0),0,Math.max(Math.max(n.getRowCount()-1,0),v+g.length-1)),j=o(i.activeCell.col+Math.max((g[0]?.length??1)-1,0),0,Math.max(Math.max(C.length-1,0),x+_-1));d(k),m(a.startSelection(i.activeCell)),m(a.updateSelection({row:A,col:j})),m(a.endSelection()),m(a.activateCell(i.activeCell))},[p,c,u,l,m,f,d,s,n,t,i.activeCell,r])}},K=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},pn=(e,t,n)=>e?e(t):n,mn=(e,t=16)=>e.length<=t?e:`${e.slice(0,t)}…`,hn=e=>e?`${K(e.col)}${e.row+1}`:`なし`,gn=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`${K(r)}${t+1} - ${K(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 ${K(t)} - ${K(n)}`},_n=(e,t)=>`Rows: ${t} / ${e.rows.length}`,vn=e=>`Columns: ${e.visibleColumns.length} / ${e.columns.length}`,yn=(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}},bn=(e,t)=>{let n=yn(e,t);return`Cells: ${n.selectedCellCount} / Rows: ${n.selectedRowCount}`},xn=e=>Object.values(e).filter(e=>tt(e)).length,Sn=e=>{let t=e.globalFilterText.trim().length>0,n=t?mn(e.globalFilterText.trim()):null,r=xn(e.columnFilterValues);return!t&&r===0?`Filter: なし`:t&&r===0?`Filter: Global("${n}")`:!t&&r>0?`Filter: ${r}列`:`Filter: Global("${n}") + ${r}列`},Cn=(e,t)=>{let n=e.find(e=>e.key===t);return n?.title||n?.key||t},wn=e=>e.sortState.length===0?`Sort: なし`:`Sort: ${e.sortState.map(t=>`${Cn(e.columns,t.columnKey)} (${t.direction===`asc`?`昇順`:`降順`})`).join(`, `)}`,Tn=(e,t)=>{let n=yn(e,t),r=e.globalFilterText.trim().length>0,i=r?mn(e.globalFilterText.trim()):null,a=xn(e.columnFilterValues),o=r||a>0,s=e.sortState.length>0,c=s?Cn(e.columns,e.sortState[0].columnKey):null;return{rowSummaryText:_n(e,t),columnSummaryText:vn(e),filterSummaryText:Sn(e),sortSummaryText:wn(e),activeCellLabel:hn(e.activeCell),selectionLabel:gn(e.selection),selectionStatsText:bn(e,t),selectionStats:n,hasGlobalFilter:r,globalFilterPreview:i,activeColumnFilterCount:a,hasAnyFilter:o,hasSorting:s,sortedColumnLabel:c}},En=({rows:t,viewRowCount:n,getFilteredRows:r,columns:i,visibleColumns:a,uiState:o,setGlobalFilterText:s,globalFilterStatus:c,globalFilterProgress:l})=>{let u=ue(o),d=o.filters.columnFilters,f=o.sort,p=o.activeCell,m=o.selection,h=(0,e.useMemo)(()=>({rows:t,columns:i,visibleColumns:a,globalFilterText:u,columnFilterValues:d,sortState:f,activeCell:p,selection:m}),[t,i,a,u,d,f,p,m]),g=(0,e.useMemo)(()=>Tn(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])}},Dn=({uiState:t,rows:n,visibleColumns:r,rowModel:i,setEditorInitialValue:s,onRowsChange:c,applyServerSideCellEdits:l,dispatch:u,gridRootRef:d,editorActionGuardRef:f})=>{let p=(0,e.useRef)({rowCount:0,colCount:0});(0,e.useEffect)(()=>{p.current={rowCount:i.getRowCount(),colCount:r.length}});let m=(0,e.useCallback)(e=>{u(a.startSelection(e)),u(a.endSelection()),u(a.activateCell(e))},[u]);return{activateSingleCell:m,startEditWithValue:(0,e.useCallback)((e,t)=>{s(t),u(a.startEdit(e))},[u,s]),commitEdit:(0,e.useCallback)((e,s)=>{if(f.current||!t.editingCell)return{status:`noop`};let h=t.editingCell,g=s===`down`?{row:h.row+1,col:h.col}:s===`up`?{row:h.row-1,col:h.col}:s===`right`?{row:h.row,col:h.col+1}:s===`left`?{row:h.row,col:h.col-1}:h,_=r[h.col],v=i.getSourceIndex(h.row),y=l?i.getRow(h.row):n[v];if(!_||!y)return u(a.stopEdit()),{status:`noop`};if(l){let t=Ve(_,e,y),n=on(_,y,t);if(n.action===`reject`)return{status:`rejected`,message:n.message};l([{viewIndex:h.row,column:_,value:t}])}else if(c){let t=Ve(_,e,y),r=on(_,y,t);if(r.action===`reject`)return{status:`rejected`,message:r.message};c(He(n,v,_,t))}return f.current=!0,requestAnimationFrame(()=>{d.current?.focus();let{rowCount:e,colCount:t}=p.current;m({row:o(g.row,0,Math.max(e-1,0)),col:o(g.col,0,Math.max(t-1,0))}),f.current=!1}),u(a.stopEdit()),{status:`committed`}},[m,l,u,f,i,d,c,n,t.editingCell,r]),cancelEdit:(0,e.useCallback)(()=>{f.current||(f.current=!0,u(a.stopEdit()),requestAnimationFrame(()=>{d.current?.focus(),f.current=!1}))},[u,f,d])}},On=()=>({past:[],future:[]}),kn=e=>e.past.length>0,An=e=>e.future.length>0,jn=(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:[]}},Mn=(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}},Nn=(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}},Pn=({rows:t,selection:n,activeCell:r,onRowsChange:i,dispatch:o,enabled:s,limit:c,onUndoRedoStateChange:l,onAfterRestore:u})=>{let d=(0,e.useRef)(On()),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&&kn(d.current),canRedo:s&&i!=null&&An(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=On(),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=jn(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=Mn(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=Nn(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&&kn(d.current),[s,i]),canRedo:(0,e.useCallback)(()=>s&&i!=null&&An(d.current),[s,i]),clearHistory:(0,e.useCallback)(()=>{d.current=On(),h()},[h])}},Fn=e=>e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey,In=e=>e instanceof HTMLElement?e.closest(`input, textarea, select, button, [contenteditable="true"]`)!==null:!1,Ln=({uiState:t,rowModel:n,visibleColumns:r,readOnly:i,canEditCell:s,setEditorInitialValue:c,dispatch:l,handleCopy:u,handleCellDoubleClick:d,isWholeGridSelected:f,selectEntireGrid:p,onUndo:m,onRedo:h,onClearSelection:g,enableClearOnDelete:_,onToggleCheckboxCell:v,onToggleGroup:y})=>{let b=n.getRowCount(),x=(0,e.useCallback)((e,n,i)=>{if(b===0||r.length===0)return;let s=t.activeCell??{row:0,col:0},c={row:o(s.row+e,0,b-1),col:o(s.col+n,0,r.length-1)};if(i){let e=t.selection?.type===`cell`?t.selection.range.start:s;l(a.startSelection(e)),l(a.updateSelection(c)),l(a.endSelection()),l(a.activateCell(c));return}l(a.startSelection(c)),l(a.endSelection()),l(a.activateCell(c))},[l,b,t.activeCell,t.selection,r.length]);return{handleKeyDown:(0,e.useCallback)(async e=>{if(!In(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(),x(-1,0,e.shiftKey);return}if(e.key===`ArrowDown`){e.preventDefault(),x(1,0,e.shiftKey);return}if(e.key===`ArrowLeft`){e.preventDefault(),x(0,-1,e.shiftKey);return}if(e.key===`ArrowRight`){e.preventDefault(),x(0,1,e.shiftKey);return}if(e.key===`Tab`){e.preventDefault(),x(0,e.shiftKey?-1:1,!1);return}if(e.key===`Escape`){e.preventDefault(),l(a.clearSelection());return}if((e.key===`Delete`||e.key===`Backspace`)&&_){e.preventDefault(),g();return}if((e.key===`Enter`||e.key===` `)&&t.activeCell){let r=n.getGroupRow?.(t.activeCell.row);if(r){e.preventDefault(),y(r.groupKey);return}}if(e.key===`Enter`||e.key===`F2`){e.preventDefault(),t.activeCell&&d(t.activeCell);return}if(Fn(e)&&t.activeCell){let o=n.getRow(t.activeCell.row),u=r[t.activeCell.col];if(!o||!u||!Ae({readOnly:i,canEditCell:s},t.activeCell.row,t.activeCell.col,o,u))return;if(u.editor?.type===`checkbox`){e.preventDefault(),e.key===` `&&v(t.activeCell);return}e.preventDefault(),c(e.key),l(a.startEdit(t.activeCell))}}},[s,l,n,d,u,f,x,g,_,h,v,y,m,i,p,c,t.activeCell,t.editingCell,r])}},Rn=new Intl.Collator(`ja`,{numeric:!0,sensitivity:`base`}),zn=(e,t)=>{let n=Number(e),r=Number(t);return Number.isFinite(n)&&Number.isFinite(r)?n-r:Rn.compare(String(e??``),String(t??``))},Bn=(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)},Vn=(e,t,n)=>e.some(e=>e.columnKey===t)?e:[...e,{columnKey:t,direction:n}],Hn=(e,t,n)=>t<0||t>=e.length||e[t].direction===n?e:e.map((e,r)=>r===t?{...e,direction:n}:e),Un=(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),Wn=(e,t)=>t<0||t>=e.length?e:e.filter((e,n)=>n!==t),Gn=(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},Kn=(e,t,n,r)=>{if(r.length===0)return t;let i=r.map(e=>{let t=n.find(t=>t.key===e.columnKey);return t?{column:t,multiplier:e.direction===`asc`?1:-1}:null}).filter(e=>e!==null);if(i.length===0)return t;let a=t.length,o=i.length,s=i.map(e=>e.multiplier),c=Array(o),l=!0;for(let n=0;n<o;n+=1){let r=i[n].column,o=new Float64Array(a),s=!0;for(let n=0;n<a;n+=1){let i=Number(L(e[t[n]],r));if(!Number.isFinite(i)){s=!1;break}o[n]=i}if(!s){l=!1;break}c[n]=o}let u=Array(a);for(let e=0;e<a;e+=1)u[e]=e;if(l)if(o===1){let e=c[0],n=s[0];u.sort((r,i)=>{let a=e[r]-e[i];return a===0?t[r]-t[i]:a*n})}else u.sort((e,n)=>{for(let t=0;t<o;t+=1){let r=c[t][e]-c[t][n];if(r!==0)return r*s[t]}return t[e]-t[n]});else{let n=i.map(({column:n})=>{let r=Array(a);for(let i=0;i<a;i+=1)r[i]=L(e[t[i]],n);return r});u.sort((e,r)=>{for(let t=0;t<o;t+=1){let i=zn(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},qn=[`sum`,`min`,`max`,`avg`,`count`],Jn=e=>typeof e==`string`&&qn.includes(e),Yn=()=>({count:0,numericCount:0,sum:0,min:1/0,max:-1/0}),Xn=(e,t)=>{if(e.count+=1,t==null||t===``)return;let n=Number(t);Number.isFinite(n)&&(e.numericCount+=1,e.sum+=n,n<e.min&&(e.min=n),n>e.max&&(e.max=n))},Zn=(e,t)=>{switch(e){case`count`:return t.count;case`sum`:return t.numericCount>0?t.sum:void 0;case`avg`:return t.numericCount>0?t.sum/t.numericCount:void 0;case`min`:return t.numericCount>0?t.min:void 0;case`max`:return t.numericCount>0?t.max:void 0}},Qn=`(空白)`,$n=`__ssg-group__:`,er=`__ssg_group__`,tr=e=>$n+e.groupKey,nr=e=>e<0,rr=e=>-e-1,ir=e=>{if(e==null||e===``)return`e`;let t=typeof e;return`${t===`number`?`n`:t===`boolean`?`b`:t===`string`?`s`:`o`}:${String(e)}`},ar=e=>({groupColumns:e.filter(e=>e.rowGroup===!0),aggColumns:e.filter(e=>e.aggFunc!=null)}),or=(e,t,n,r)=>{let i=n.length,a=r.length,o=r.map(e=>typeof e.aggFunc==`function`),s=o.includes(!0),c=[],l=new Map,u=0,d=(e,t,n,i,a)=>{let s=`${t.key}\u0001${n}`,c=n===`e`;return u+=1,{groupRow:{kind:`group`,groupKey:e===null?s:`${e}\u0000${s}`,columnKey:t.key,value:c?null:i,label:c?Qn:String(i),level:a,leafCount:0,aggregates:{}},children:[],childIndex:new Map,leafSourceIndexes:[],accumulators:r.map(()=>Yn()),customValues:o.map(e=>e?[]:null),customRows:[]}},f=t.length;for(let o=0;o<f;o+=1){let u=t[o],f=e[u],p=null;if(a>0){p=Array(a);for(let e=0;e<a;e+=1)p[e]=L(f,r[e])}let m=c,h=l,g=null;for(let e=0;e<i;e+=1){let t=n[e],r=L(f,t),o=ir(r),c=h.get(o);if(c||(c=d(g,t,o,r,e),m.push(c),h.set(o,c)),c.groupRow.leafCount+=1,p!==null){for(let e=0;e<a;e+=1){Xn(c.accumulators[e],p[e]);let t=c.customValues[e];t!==null&&t.push(p[e])}s&&c.customRows.push(f)}e===i-1&&c.leafSourceIndexes.push(u),m=c.children,h=c.childIndex,g=c.groupRow.groupKey}}let p=e=>{for(let t=0;t<a;t+=1){let n=r[t];o[t]?e.groupRow.aggregates[n.key]=n.aggFunc({values:e.customValues[t]??[],rows:e.customRows,column:n}):Jn(n.aggFunc)&&(e.groupRow.aggregates[n.key]=Zn(n.aggFunc,e.accumulators[t]))}for(let t of e.children)p(t)};for(let e of c)p(e);return{roots:c,groupCount:u}},sr=(e,t)=>{let n=[],r=[],i=e=>{if(r.push(e.groupRow),n.push(-r.length),!t.has(e.groupRow.groupKey)){if(e.children.length>0){for(let t of e.children)i(t);return}for(let t of e.leafSourceIndexes)n.push(t)}};for(let t of e.roots)i(t);return{displayOrder:Int32Array.from(n),groups:r}},cr=e=>{let t=[],n=e=>{t.push(e.groupRow);for(let t of e.children)n(t)};for(let t of e.roots)n(t);return t},lr=e=>cr(e).map(e=>e.groupKey),ur=15e6,dr=(e,t,n,r)=>e&&t&&n>0&&n<=r,fr=1<<20,pr=(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))}),mr=(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}},hr=(e,t)=>e*t,gr=(e,t)=>t===1?e:e/t,_r=(e,t,n,r)=>{let i=t*(1-n);return r.rowAtContentY(e-i)},vr=({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/fr)*fr,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}},yr=({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}},br=({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}},xr=(e,t,n,r)=>e<t+r?-1:+(e>n-r),Sr=(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},q=(e,t,n)=>{let r=t.x-e.x,i=t.y-e.y;return r*r+i*i>=n*n},Cr=({gridRootRef:t,bodyScrollRef:n,scrollContainerRef:r,leftPaneScrollRef:i,rightPaneScrollRef:s,pointerClientRef:c,autoScrollFrameRef:l,uiState:u,dispatch:d,enableRangeSelection:f,enableSorting:p,orderedColumns:m,filteredRowsLength:h,visibleColumnsLength:g,paneLayout:v,leftLeadingWidth:y,centerLeadingWidth:b,rightLeadingWidth:x,headerHeight:S,rowMetrics:C,verticalScaleFactor:w,setHoveredRowIndex:T,setHoveredColumnIndex:E,enableRowHover:D,enableColumnHeaderHover:O,enableRowSelection:k,onGutterRowSelect:A,onGutterRowSelectDrag:j})=>{let M=(0,e.useRef)(u.dragState);M.current=u.dragState;let ee=(0,e.useRef)(!1),N=(0,e.useRef)(null),P=(0,e.useRef)(null),F=(0,e.useRef)(!1),I=(0,e.useRef)(u.sort);I.current=u.sort;let te=(0,e.useRef)(m);te.current=m;let ne=(0,e.useRef)(p);ne.current=p;let re=u.dragState?.type??null,ie=(0,e.useCallback)((e,t)=>{let a=n.current;if(!a||h===0||g===0)return null;let c=a.getBoundingClientRect(),l=_r(a.scrollTop+t-c.top-S,r.current?.scrollTop??0,w,C),u=null,d=i.current;if(u===null&&d&&v.left.entries.length>0){let t=d.getBoundingClientRect();if(e<t.right){let n=e-t.left-y;u=_(v.left,n)}}let f=s.current;if(u===null&&f&&v.right.entries.length>0){let t=f.getBoundingClientRect();if(e>=t.left){let n=e-t.left-x;u=_(v.right,n)}}if(u===null&&v.center.entries.length>0){let t=a.scrollLeft+e-c.left-b;u=_(v.center,Math.max(t,0))}return u===null?null:{row:l,col:o(u,0,g-1)}},[n,i,s,r,h,g,v,y,b,x,S,C,w]),ae=(0,e.useRef)(ie);(0,e.useEffect)(()=>{ae.current=ie},[ie]);let oe=(0,e.useCallback)((e,t)=>{let n=M.current;if(!n||n.type!==`selection`)return;let r=ie(e,t);if(r){if(n.selectionKind===`cell`){d(a.updateSelection(r));return}if(n.selectionKind===`row`){d(a.updateRowSelection(r.row));return}n.selectionKind===`col`&&d(a.updateColumnSelection(r.col))}},[d,ie]);(0,e.useEffect)(()=>{let e=e=>{c.current={x:e.clientX,y:e.clientY},re===`columnResize`&&d(a.updateColumnResize(e.clientX))},t=()=>{ee.current=!1,d(a.endSelection()),d(a.endColumnResize())};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)}},[d,c,re]),(0,e.useEffect)(()=>{if(re!==`selection`){l.current!==null&&(cancelAnimationFrame(l.current),l.current=null);return}let e=()=>{let t=r.current,n=c.current;if(!t||!n){l.current=requestAnimationFrame(e);return}if(!F.current){let t=P.current;if(t&&!q(t,n,6)){l.current=requestAnimationFrame(e);return}F.current=!0}let i=t.getBoundingClientRect(),a=br({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=M.current?.type===`selection`&&M.current.selectionKind===`col`,s=M.current?.type===`selection`&&M.current.selectionKind===`row`,u=o?0:xr(n.y,a.top,a.bottom,24),d=s?0:xr(n.x,a.left,a.right,24),f=Sr(t.scrollTop,u,18,t.scrollHeight-t.clientHeight),p=Sr(t.scrollLeft,d,18,t.scrollWidth-t.clientWidth);(f!==t.scrollTop||p!==t.scrollLeft)&&(t.scrollTo({top:f,left:p,behavior:`auto`}),oe(n.x,n.y)),l.current=requestAnimationFrame(e)};return l.current=requestAnimationFrame(e),()=>{l.current!==null&&(cancelAnimationFrame(l.current),l.current=null)}},[l,r,c,re,oe]);let se=(0,e.useCallback)((e,n)=>{n.preventDefault(),n.button===0&&(t.current?.focus({preventScroll:!0}),c.current={x:n.clientX,y:n.clientY},P.current={x:n.clientX,y:n.clientY},F.current=!1,d(a.activateCell(e)),f&&d(a.startSelection(e)))},[d,f,t,c]),ce=(0,e.useCallback)((e,t)=>{if(D&&T(e.row),!f)return;let n=M.current;n?.type!==`selection`||n.selectionKind!==`cell`||(c.current={x:t.clientX,y:t.clientY},d(a.updateSelection(e)))},[d,f,c,T,D]),le=(0,e.useCallback)(e=>{e.preventDefault()},[]),ue=(0,e.useCallback)(()=>{if(N.current!==null)return;let e=()=>{if(!ee.current){N.current=null;return}let t=r.current,n=c.current;if(!t||!n){N.current=requestAnimationFrame(e);return}if(!F.current){let t=P.current;if(t&&!q(t,n,6)){N.current=requestAnimationFrame(e);return}F.current=!0}let i=t.getBoundingClientRect(),a=br({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=xr(n.y,a.top,a.bottom,24),s=Sr(t.scrollTop,o,18,t.scrollHeight-t.clientHeight);if(s!==t.scrollTop){t.scrollTo({top:s,left:t.scrollLeft,behavior:`auto`});let e=ae.current(n.x,n.y);e&&j(e.row)}N.current=requestAnimationFrame(e)};N.current=requestAnimationFrame(e)},[r,c,j]);return(0,e.useEffect)(()=>()=>{N.current!==null&&(cancelAnimationFrame(N.current),N.current=null)},[]),{updateSelectionFromPointer:oe,handleCellPointerDown:se,handleCellPointerEnter:ce,handleNativeDragStart:le,handleRowHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus({preventScroll:!0}),c.current={x:n.clientX,y:n.clientY},P.current={x:n.clientX,y:n.clientY},F.current=!1,k){ee.current=!0,A(e,{shiftKey:n.shiftKey}),ue();return}d(a.startRowSelection(e))}},[d,t,k,A,ue,c]),handleRowHeaderPointerEnter:(0,e.useCallback)((e,t)=>{if(D&&T(e),ee.current){c.current={x:t.clientX,y:t.clientY},j(e);return}let n=M.current;n?.type!==`selection`||n.selectionKind!==`row`||(c.current={x:t.clientX,y:t.clientY},d(a.updateRowSelection(e)))},[d,c,T,D,j]),handleColumnHeaderPointerDown:(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(t.current?.focus({preventScroll:!0}),c.current={x:n.clientX,y:n.clientY},P.current={x:n.clientX,y:n.clientY},F.current=!1,n.shiftKey&&ne.current){let t=te.current[e];if(t&&t.key!==`__ssg_group__`){let e=I.current,n=e.find(e=>e.columnKey===t.key)?.direction?`desc`:`asc`,r=Bn(e,t.key,n,!0);d(r.length===0?a.clearSort():a.setSort(r))}return}d(a.startColumnSelection(e))}},[d,t,c]),handleColumnHeaderPointerEnter:(0,e.useCallback)((e,t)=>{T(null),O&&E(e);let n=M.current;n?.type!==`selection`||n.selectionKind!==`col`||(c.current={x:t.clientX,y:t.clientY},d(a.updateColumnSelection(e)))},[d,c,T,E,O])}},wr=({scrollRef:t,columnVirtualizer:n,columnMeasurements:r,totalScrollWidth:i,physicalBodyHeight:a,headerHeight:o,leftPaneWidth:s,rightPaneWidth:c,centerLeadingWidth:l,activeCellRect:u,activeCell:d,verticalScaleFactor:f})=>{(0,e.useEffect)(()=>{n.measure()},[n,r]),(0,e.useEffect)(()=>{if(!t.current)return;let e=t.current,n=Math.max(i-e.clientWidth,0),r=Math.max(o+a-e.clientHeight,0);e.scrollLeft>n&&(e.scrollLeft=n),e.scrollTop>r&&(e.scrollTop=r)},[t,i,a,o]);let p=(0,e.useRef)(null);(0,e.useEffect)(()=>{let e=p.current,n=e!==null&&d!==null&&e.row===d.row&&e.col===d.col;if(p.current=d,n||!t.current||!u)return;let r=t.current,i=o+u.top,a=i+u.height,m=s+l+u.left,h=m+u.width,g=hr(r.scrollTop,f),_=r.scrollLeft,v=r.clientHeight,y=r.clientWidth,b=g,x=_,S=g+o,C=g+v;i<S?b=Math.max(i-o,0):a>C&&(b=Math.max(a-v,0));let w=_+s,T=_+y-c;m<w?x=Math.max(m-s,0):h>T&&(x=Math.max(h-y+c,0)),(b!==g||x!==_)&&r.scrollTo({top:gr(b,f),left:x,behavior:`auto`})},[t,u,d,o,s,c,l,f])};function Tr(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 Er=`data-ssg-tooltip`,Dr=`[${Er}], [data-ssg-tooltip-overflow]`,Or=350,kr=800,J=0,Y=null,Ar=null,jr=0,Mr=null;function Nr(){if(Y!==null)return Y;let e=document.createElement(`div`);return e.className=`ssg-tooltip`,e.setAttribute(`aria-hidden`,`true`),document.body.appendChild(e),Y=e,e}function Pr(){Ar!==null&&(window.clearTimeout(Ar),Ar=null)}function Fr(){Pr(),Mr!==null&&(jr=Date.now()+kr),Mr=null,Y!==null&&Y.classList.remove(`ssg-tooltip--visible`)}function Ir(e){let t=e.getAttribute(Er),n=t!==null&&t!==``?t:(e.textContent??``).trim();if(n===``)return;let r=Nr();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=Tr({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`),Mr=e}function Lr(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(Dr);if(n===null||n===Mr||!n.hasAttribute(Er)&&n.scrollWidth<=n.clientWidth+1)return;let r=Mr!==null;Fr(),r||Date.now()<jr?Ir(n):Ar=window.setTimeout(()=>{Ar=null,Ir(n)},Or)}function Rr(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(Dr);if(n===null)return;let r=e.relatedTarget;r instanceof Node&&n.contains(r)||Fr()}function zr(){Fr()}function Br(e){e.key===`Escape`&&Fr()}function Vr(){window.addEventListener(`pointerover`,Lr,!0),window.addEventListener(`pointerout`,Rr,!0),window.addEventListener(`focusin`,Lr,!0),window.addEventListener(`focusout`,Rr,!0),window.addEventListener(`pointerdown`,zr,!0),window.addEventListener(`scroll`,zr,!0),window.addEventListener(`keydown`,Br,!0)}function Hr(){window.removeEventListener(`pointerover`,Lr,!0),window.removeEventListener(`pointerout`,Rr,!0),window.removeEventListener(`focusin`,Lr,!0),window.removeEventListener(`focusout`,Rr,!0),window.removeEventListener(`pointerdown`,zr,!0),window.removeEventListener(`scroll`,zr,!0),window.removeEventListener(`keydown`,Br,!0)}function Ur(){(0,e.useEffect)(()=>(J+=1,J===1&&Vr(),()=>{--J,J===0&&(Hr(),Pr(),Mr=null,Y!==null&&(Y.remove(),Y=null))}),[])}var X=`(prefers-color-scheme: dark)`;function Wr(e){if(typeof window.matchMedia!=`function`)return()=>{};let t=window.matchMedia(X);return t.addEventListener(`change`,e),()=>{t.removeEventListener(`change`,e)}}function Gr(){return typeof window.matchMedia==`function`?window.matchMedia(X).matches:!1}function Kr(){return!1}function qr(t){let n=(0,e.useSyncExternalStore)(Wr,Gr,Kr);return t===`dark`||t===`auto`&&n?`dark`:`light`}function Jr(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 Yr=32,Xr=2,Zr=14,Qr=12,$r=`<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>`,ei=`<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>`,ti=`<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>`,ni=`0.5`,ri=200,ii=`cubic-bezier(0.2, 0.7, 0.3, 1)`,ai=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,oi=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},si=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+Zr)+`px,`+(r+Qr)+`px)`;let i=e??`out`;if(_.current===i)return;_.current=i;let a=g.current;i===`out`?(t.style.opacity=ni,a&&(a.innerHTML=ti)):(t.style.opacity=`1`,a&&(a.innerHTML=i===`center`?$r:ei))},[]),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+Yr)return{pane:`left`,slot:0,leftPx:Xr};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-Yr)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||q(e,t,6))&&(f.current=!0)}if(f.current){let n=e.getBoundingClientRect(),r=br({rectLeft:n.left,rectTop:n.top,clientLeft:e.clientLeft,clientTop:e.clientTop,clientWidth:e.clientWidth,clientHeight:e.clientHeight}),i=xr(t.x,r.left,r.right,24),a=Sr(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=Jr(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&&!ai()?oi(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 ${ri}ms ${ii}`,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}},ci=e=>e===``?`(空白)`:`"${e}"`,li=(e,t)=>(e??`include`)===`exclude`?`${t.length} 件を除外`:t.length>0&&t.length<=2?t.map(ci).join(`, `):`${t.length} 件を選択`,ui=(e,t)=>{switch(e.kind){case`text`:case`date`:return`"${e.value.trim()}" を含む`;case`select`:return`"${e.value}" に一致`;case`number`:return e.raw;case`set`:return li(e.mode,e.values);case`numberSet`:case`textSet`:case`dateSet`:{let n=e.condition?e.kind===`numberSet`?At(e.condition):e.kind===`textSet`?Lt(e.condition):Kt(e.condition,t):null,r=e.set?li(e.set.mode,e.set.values):null;return n&&r?`${n} かつ ${r}`:n??r??`フィルターなし`}case`custom`:return typeof e.value==`string`&&e.value.trim().length>0?`"${e.value.trim()}"`:`カスタム条件`}},di=/^\d{4}-\d{2}-\d{2}$/,fi=e=>{let t=new Set;for(let n of e)t.add(ct(n.value));let n=[],r=[],i=!1;for(let e of t)e===``?i=!0:di.test(e)?n.push(e):r.push(e);n.sort(),r.sort();let a=n.map(e=>({label:e,value:e}));for(let e of r)a.push({label:e,value:e});return i&&a.push({label:`(空白)`,value:``}),a},pi=(e,t)=>{let n=new Map,r=[];for(let t of e){if(!di.test(t.value)){r.push(t);continue}let e=t.value.slice(0,4),i=t.value.slice(0,7),a=n.get(e);a||(a=new Map,n.set(e,a));let o=a.get(i);o||(o=[],a.set(i,o)),o.push(t.value)}let i=[];for(let[e,r]of n){let n=`y:${e}`,a=[];for(let e of r.values())a.push(...e);let o=t.has(n);if(i.push({type:`group`,key:n,label:`${e} 年`,depth:0,leafKeys:a,expanded:o}),o)for(let[e,n]of r){let r=`m:${e}`,a=t.has(r);if(i.push({type:`group`,key:r,label:`${Number(e.slice(5,7))} 月`,depth:1,leafKeys:[...n],expanded:a}),a)for(let e of n)i.push({type:`leaf`,key:e,label:`${Number(e.slice(8,10))} 日`,depth:2,leafKeys:[e],expanded:!1})}}for(let e of r)i.push({type:`leaf`,key:e.value,label:e.label,depth:0,leafKeys:[e.value],expanded:!1});return i},mi=1e3,hi=2e4,gi=e=>{if(typeof e==`number`)return Number.isFinite(e);if(typeof e!=`string`)return!1;let t=e.trim();return!t||/^-?0\d/.test(t)?!1:Number.isFinite(Number(t))},_i=e=>st(e)!==null,vi=({editorType:e,isServerSide:t=!1,rowCount:n,getRawValueAt:r,sampleLimit:i=mi,scanLimit:a=hi})=>{if(e===`number`)return{filterType:`numberSet`,source:`editor`,conclusive:!0};if(e===`date`)return{filterType:`dateSet`,source:`editor`,conclusive:!0};if(t)return{filterType:`text`,source:`fallback`,conclusive:!0};let o=Math.min(n,a),s=0,c=0,l=0;for(let e=0;e<o&&s<i;e+=1){let t=r(e);if(!et(t)){if(s+=1,_i(t)){c+=1;continue}gi(t)&&(l+=1)}}return s===0?{filterType:`textSet`,source:`fallback`,conclusive:!1}:c===s?{filterType:`dateSet`,source:`values`,conclusive:!0}:l===s?{filterType:`numberSet`,source:`values`,conclusive:!0}:{filterType:`textSet`,source:`values`,conclusive:!0}},yi=(e,t,n,r)=>{if(n===0||r===0)return null;let i=n-1,a=r-1;if(e?.type===`cell`){let t=se(e.range);return{startRow:o(t.start.row,0,i),endRow:o(t.end.row,0,i),startCol:o(t.start.col,0,a),endCol:o(t.end.col,0,a)}}if(e?.type===`row`){let t=ce(e.startRow,e.endRow);return{startRow:o(t.startRow,0,i),endRow:o(t.endRow,0,i),startCol:0,endCol:a}}if(e?.type===`col`){let t=le(e.startCol,e.endCol);return{startRow:0,endRow:i,startCol:o(t.startCol,0,a),endCol:o(t.endCol,0,a)}}return t?t.row>i||t.col>a?null:{startRow:t.row,endRow:t.row,startCol:t.col,endCol:t.col}:null},bi=({rows:e,resolveSourceIndex:t,columns:n,selection:r,activeCell:i,viewRowCount:a,canWriteCell:o})=>{let s=yi(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=Be(t)(``,i);Object.is(L(a,t),s)||on(t,i,s).action!==`reject`&&(a=je(a,t,s),u=!0)}u&&(c[r]=a,l=!0)}return l?{nextRows:c,changed:l}:{nextRows:e,changed:!1}},xi=({getRow:e,columns:t,selection:n,activeCell:r,viewRowCount:i,canWriteCell:a})=>{let o=yi(n,r,i,t.length);if(!o)return[];let s=[];for(let n=o.startRow;n<=o.endRow;n+=1){let r=e(n);if(r)for(let e=o.startCol;e<=o.endCol;e+=1){let i=t[e];if(!i||!a(n,e,r,i))continue;let o=Be(i)(``,r);Object.is(L(r,i),o)||on(i,r,o).action!==`reject`&&s.push({viewIndex:n,column:i,value:o})}}return s},Si=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}},Ci=(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},wi=(e,t)=>e.includes(t)||e.includes(`"`)||e.includes(`
|
|
9
|
-
`)||e.includes(`\r`)?`"${e.replace(/"/g,`""`)}"`:e,
|
|
10
|
-
`);return o?`\uFEFF${c}`:c},Di=({getRow:e,startRow:t,endRow:n,columns:r})=>{let i=r.map(e=>({key:e.key,title:e.title??e.key})),a=[];for(let i=t;i<n;i+=1){let t=e(i);t&&a.push(r.map(e=>{let n=L(t,e);return{value:n,text:e.formatClipboardValue?e.formatClipboardValue(n,t):String(n??``)}}))}return{columns:i,rows:a}},Oi=e=>e===`all`?`view`:e===`visible`?`rendered`:e,ki=e=>{switch(e.kind){case`set`:return{...e,values:[...e.values]};case`number`:return{...e,parsed:e.parsed?{...e.parsed}:null};case`numberSet`:return{...e,condition:e.condition?{...e.condition}:null,set:e.set?{...e.set,values:[...e.set.values]}:null};case`textSet`:return{...e,condition:e.condition?{...e.condition}:null,set:e.set?{...e.set,values:[...e.set.values]}:null};case`dateSet`:return{...e,condition:e.condition?{...e.condition}:null,set:e.set?{...e.set,values:[...e.set.values]}:null};case`text`:case`date`:case`select`:return{...e};case`custom`:return{...e}}},Ai=e=>{let t={};for(let n of Object.keys(e))t[n]=ki(e[n]);return t},ji=e=>{let t={key:e.key};return e.visible!==void 0&&(t.visible=e.visible),e.pinned!==void 0&&(t.pinned=e.pinned),t},Mi=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}),Ni=(e,t,n,r=[],i=2)=>({version:i,columnWidths:{...e},filters:{globalText:t.globalText,columnFilters:Ai(t.columnFilters)},sort:n.map(e=>({...e})),columns:r.map(ji)}),Pi=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]=ki(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}},Fi=(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)},Ii=(e,t)=>e===null||t===null?e===t:e.mode===`blank`||e.mode===`notBlank`||t.mode===`blank`||t.mode===`notBlank`?e.mode===t.mode:e.mode===t.mode&&e.value===t.value,Li=(e,t)=>e===null||t===null?e===t:e.mode===t.mode?e.mode===`range`&&t.mode===`range`?e.from===t.from&&e.to===t.to:e.mode===`preset`&&t.mode===`preset`?e.preset===t.preset:e.mode===`blank`||e.mode===`notBlank`?!0:`value`in e&&`value`in t&&e.value===t.value:!1,Ri=(e,t)=>e===null||t===null?e===t:(e.mode??`include`)===(t.mode??`include`)&&e.values.length===t.values.length&&e.values.every((e,n)=>e===t.values[n]),zi=(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:e.mode===`blank`||e.mode===`notBlank`?e.mode===t.mode:!1,Bi=(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&&zi(e.parsed,t.parsed);case`numberSet`:return t.kind===`numberSet`&&zi(e.condition,t.condition)&&Ri(e.set,t.set);case`textSet`:return t.kind===`textSet`&&Ii(e.condition,t.condition)&&Ri(e.set,t.set);case`dateSet`:return t.kind===`dateSet`&&Li(e.condition,t.condition)&&Ri(e.set,t.set);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)}},Vi=(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},Hi=(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)||!Bi(e[r],t[r]))return!1;return!0},Ui=(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},Wi=(e,t)=>{if(e.version!==t.version||!Vi(e.columnWidths,t.columnWidths)||e.filters.globalText!==t.filters.globalText||!Hi(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!!Ui(e.columns,t.columns)},Gi=(e,t,n)=>n?{emit:!1,nextLast:e}:e===null||Wi(e,t)?{emit:!1,nextLast:t}:{emit:!0,nextLast:t},Ki=({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))},qi=({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))},Ji=(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]},Yi=(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 Ji(s,0),s},Xi=(e,t,n,r)=>t<0||t>=e.rowCount||(e.measured.set(n,r),e.heights[t]===r)?!1:(e.heights[t]=r,!0),Zi=(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)},Qi=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=>Zi(t,n,e)}},Z=21,$i=4,ea=41,ta=13,na=600,ra=60,ia=16,aa=null,oa=()=>aa||(typeof document>`u`?null:(aa=document.createElement(`canvas`).getContext(`2d`),aa)),Q=`system-ui, sans-serif`,sa=e=>{let t=Q,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:`${na} ${ta}px ${t}`}},ca=(e,t,n)=>Math.min(Math.max(e,t),n),la=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,ua=e=>{let t=0;for(let n of e){let e=n.codePointAt(0)??0;t+=la(e)?2:1}return t},da=(e,t)=>{let n=L(e,t);return t.valueFormatter?t.valueFormatter({value:n,row:e,column:t}):String(n??``)},fa=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},pa=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},ma=e=>e.suppressAutoSize===!0||e.autoHeight===!0;function ha(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(ma(e[o]))continue;let s=e[o].estimateCellWidth;if(s){let t=s(a,e[o]);t>i[o]&&(i[o]=t);continue}let c=String(L(a,e[o])??``);if(c===``)continue;let l=t[o],u=n[o];if(l.length===ia&&2*c.length<=r[o])continue;let d=ua(c);if(l.length<ia){if(l.push(a),u.push(d),l.length===ia){let e=u[0];for(let t=1;t<ia;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<ia;e+=1)u[e]<u[f]&&(f=e);l[f]=a,u[f]=d;let p=u[0];for(let e=1;e<ia;e+=1)u[e]<p&&(p=u[e]);r[o]=p}},finalize:({gridRoot:n,currentWidths:r})=>{let a=oa();if(!a||e.length===0)return{};let{cellFont:o,headerFont:s}=sa(n),c={},l=fa(n);try{let n=null;if(l){let r=[];for(let n=0;n<e.length;n+=1){if(ma(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=da(i[t],e[n]);if(r===``)continue;let o=pa(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(ma(u))continue;a.font=s;let d=u.title||u.key,f=a.measureText(d).width+$i+ea,p;if(u.estimateCellWidth)p=i[l]>0?i[l]+Z: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=da(n[t],u);if(r===``)continue;let i=a.measureText(r).width;i>e&&(e=i)}p=e>0?e+$i+Z:0}let m=Math.ceil(ca(Math.max(f,p),u.minWidth??ra,u.maxWidth??1/0));r[u.key]!==m&&(c[u.key]=m)}}finally{l&&l.parentNode&&l.parentNode.removeChild(l)}return c}}}function ga(){return oa()!==null}var _a=()=>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)}),va=10,ya=180,ba=()=>typeof performance<`u`?performance.now():Date.now(),xa=({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||!ga())return;let o=c.current+=1;u();let d=t.current,f=d.getRowCount(),p=n.current,m=r.current,h=ha(e);l.current=setTimeout(()=>{c.current===o&&s(!0)},ya);try{let e=0;for(;e<f;){let n=ba();for(;e<f&&ba()-n<va;){let t=d.getRow(e);t&&h.collect(t),e+=1}if(e<f&&(await _a(),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])}},Sa=()=>{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)=>Rn.compare(e.label,t.label))}}},Ca=(e,t)=>{let n=Sa();for(let r=0;r<e;r+=1)n.collect(t(r));return n.finalize()},wa=10,Ta=()=>typeof performance<`u`?performance.now():Date.now(),Ea=[],Da=new Set,Oa={status:`idle`,options:Ea,allValues:Da,progress:0},ka={status:`collecting`,options:Ea,allValues:Da,progress:0},Aa=e=>new Set(e.map(e=>e.value)),ja={source:null,rowCount:0,result:Oa},Ma=({column:t,rowCount:n,getRawValueAt:r})=>{let i=t?.filterType??null,a=i===`select`||i===`set`||i===`numberSet`||i===`textSet`||i===`dateSet`,o=t?.filterOptions&&t.filterOptions.length>0?t.filterOptions:null,s=a&&o===null&&n>5e4,c=(0,e.useMemo)(()=>{if(!t||!a)return Oa;if(o){let e=o;return{status:`ready`,options:e,allValues:Aa(e),progress:1}}if(!s){let e=Ca(n,r);return{status:`ready`,options:e,allValues:Aa(e),progress:1}}return null},[t,a,o,s,n,r]),[l,u]=(0,e.useState)(ja);(0,e.useEffect)(()=>{if(c!==null)return;let e=r,t=n,i=Sa(),a=!1;return(async()=>{let n=0;for(;n<t;){let r=Ta();for(;n<t&&Ta()-r<wa;)i.collect(e(n)),n+=1;if(n<t){if(await _a(),a)return;u({source:e,rowCount:t,result:{status:`collecting`,options:Ea,allValues:Da,progress:n/t}})}}if(a)return;let r=i.finalize();u({source:e,rowCount:t,result:{status:`ready`,options:r,allValues:Aa(r),progress:1}})})(),()=>{a=!0}},[c,n,r]);let d=l.source===r&&l.rowCount===n?l.result:ka;return c??d},Na=10,Pa=()=>typeof performance<`u`?performance.now():Date.now(),Fa=({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:St(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=Pa();for(;n<c&&Pa()-r<Na;){let r=i[n];xt(e[r],a,o)&&(u[t]=r,t+=1),n+=1}if(n<c){if(await _a(),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 Ia(e){let t=e.blockSize,n=e.maxBlocks,r=new Map,i=e=>{let t=r.get(e);t!==void 0&&(r.delete(e),r.set(e,t))},a=()=>{for(;r.size>n;){let e=r.keys().next().value;if(e===void 0)break;r.delete(e)}};return{getRow:e=>{if(t<=0||e<0)return;let n=Math.floor(e/t),i=r.get(n);if(i!==void 0)return i[e-n*t]},hasBlock:e=>r.has(e),setBlock:(e,t)=>{r.has(e)&&r.delete(e),r.set(e,t),a()},updateRow:(e,n)=>{if(t<=0||e<0)return!1;let i=Math.floor(e/t),a=r.get(i);if(a===void 0)return!1;let o=e-i*t;if(o>=a.length)return!1;let s=a.slice();return s[o]=n,r.set(i,s),!0},touchBlocks:e=>{for(let t of e)i(t)},clear:()=>{r.clear()},loadedBlockIndexes:()=>Array.from(r.keys())}}function La(e,t){return Math.floor(e/t)}function Ra(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=La(i,n),s=La(a-1,n),c=[];for(let e=o;e<=s;e+=1)c.push(e);return c}var za=()=>{let e=new Map,t=1,n=t=>e.get(t)?.row,r=(n,r)=>{let i=t;return t+=1,e.set(n,{row:r,writeId:i}),i},i=(t,n)=>e.get(t)?.writeId===n;return{getRow:n,beginWrite:r,isLatestWrite:i,settleWrite:(t,n)=>{i(t,n)&&e.delete(t)},clear:()=>{e.clear()},pendingCount:()=>e.size}},Ba=(e,t,n)=>{let r=new Map;for(let i of e){let e=r.get(i.viewIndex);if(e===void 0){let a=t(i.viewIndex);if(a===void 0)continue;e={rowKey:n(a,i.viewIndex),rowIndex:i.viewIndex,row:a,previousRow:a,changes:[]},r.set(i.viewIndex,e)}e.changes.push({columnKey:i.column.key,previousValue:L(e.row,i.column),newValue:i.value}),e.row=je(e.row,i.column,i.value)}return Array.from(r.values())},Va=100,Ha=64,Ua=120;function Wa(t){let{dataSource:n,rowKeyGetter:r,query:i,queryKey:a,refreshToken:o,onLoadError:s,onWriteError:c}=t,l=n?.blockSize??Va,u=n?.maxCachedBlocks??Ha,d=t.debounceMs??Ua,[f]=(0,e.useState)(()=>Ia({blockSize:l,maxBlocks:u})),[p,m]=(0,e.useState)(n?.initialRowCount??0),[h,g]=(0,e.useState)(0),_=(0,e.useRef)(p),v=(0,e.useRef)(!1),y=(0,e.useRef)(new Map),b=(0,e.useRef)(new Set),[x,S]=(0,e.useState)(null),C=(0,e.useRef)(s);(0,e.useEffect)(()=>{C.current=s},[s]);let[w]=(0,e.useState)(()=>za()),T=(0,e.useRef)(0),[E,D]=(0,e.useState)(null),O=(0,e.useRef)(c);(0,e.useEffect)(()=>{O.current=c},[c]);let k=(0,e.useCallback)(e=>w.getRow(e)??f.getRow(e),[f,w]),A=(0,e.useCallback)(()=>{T.current+=1,w.clear(),D(null)},[w]),j=(0,e.useCallback)(()=>{let e=b.current.size;S(t=>e===0?t===null?t:null:{failedBlockCount:e})},[]),M=(0,e.useRef)(null),ee=(0,e.useRef)({start:0,end:0}),N=(0,e.useCallback)(e=>{if(n==null||f.hasBlock(e)||y.current.has(e))return;let t=new AbortController;y.current.set(e,t);let r=e*l,a=r+l;n.getRows({startIndex:r,endIndex:a,query:i,signal:t.signal}).then(n=>{t.signal.aborted||y.current.get(e)===t&&(y.current.delete(e),f.setBlock(e,n.rows),b.current.delete(e)&&j(),n.totalRowCount!==_.current&&(_.current=n.totalRowCount,m(n.totalRowCount)),g(e=>e+1))}).catch(n=>{t.signal.aborted||y.current.get(e)===t&&(y.current.delete(e),b.current.add(e),j(),C.current?.(n,{startIndex:r,endIndex:a}))})},[f,l,n,i,j]),P=(0,e.useCallback)(()=>{let{start:e,end:t}=ee.current,n=Ra(e,t,l,_.current),r=new Set(n);for(let[e,t]of y.current)r.has(e)||(t.abort(),y.current.delete(e));for(let e of n)N(e)},[l,N]),F=(0,e.useCallback)(()=>{M.current!==null&&clearTimeout(M.current),M.current=setTimeout(()=>{M.current=null,P()},d)},[d,P]),I=(0,e.useCallback)((e,t)=>{n!=null&&(ee.current={start:e,end:t},f.touchBlocks(Ra(e,t,l,_.current)),F())},[f,l,n,F]);(0,e.useEffect)(()=>{if(n==null)return;for(let[,e]of y.current)e.abort();y.current.clear(),M.current!==null&&(clearTimeout(M.current),M.current=null),f.clear(),b.current.clear(),j(),A();let e=!v.current;v.current=!0,g(e=>e+1),e?(n.initialRowCount??0)<=0&&N(0):N(0)},[a]);let te=(0,e.useCallback)(()=>{if(n==null)return;for(let[,e]of y.current)e.abort();y.current.clear(),M.current!==null&&(clearTimeout(M.current),M.current=null),f.clear(),b.current.clear(),j(),A(),g(e=>e+1);let{start:e,end:t}=ee.current;if(Ra(e,t,l,_.current).length===0){N(0);return}P()},[f,n,l,N,P,j,A]),ne=(0,e.useCallback)(()=>{if(n==null||b.current.size===0)return;let e=Array.from(b.current);b.current.clear(),j();for(let t of e)N(t)},[n,N,j]),re=(0,e.useCallback)(e=>{let t=n?.updateRows;if(t===void 0||e.length===0)return 0;let i=Ba(e,k,r);if(i.length===0)return 0;let a=T.current,o=i.map(e=>({viewIndex:e.rowIndex,row:e.row,writeId:w.beginWrite(e.rowIndex,e.row)}));return g(e=>e+1),t({updates:i}).then(e=>{if(T.current!==a)return;let t=e===void 0?void 0:e.rows;o.forEach((e,n)=>{f.updateRow(e.viewIndex,t?.[n]??e.row),w.settleWrite(e.viewIndex,e.writeId)}),g(e=>e+1)}).catch(e=>{if(T.current===a){for(let e of o)w.settleWrite(e.viewIndex,e.writeId);D({failedRowCount:i.length}),O.current?.(e,{updates:i}),g(e=>e+1)}}),i.length},[f,n,k,w,r]),ie=(0,e.useRef)(o);(0,e.useEffect)(()=>{if(n==null||o===void 0){ie.current=o;return}if(ie.current===void 0){ie.current=o;return}ie.current!==o&&(ie.current=o,te())},[o]),(0,e.useEffect)(()=>{let e=y.current,t=M,n=T;return()=>{for(let[,t]of e)t.abort();e.clear(),t.current!==null&&(clearTimeout(t.current),t.current=null),n.current+=1,w.clear()}},[w]);let ae=(0,e.useCallback)(e=>k(e)!==void 0,[k]);return{rowModel:(0,e.useMemo)(()=>({getRowCount:()=>_.current,getRow:e=>k(e),getSourceIndex:e=>e,getRowKey:e=>{let t=k(e);return t===void 0?e:r(t,e)}}),[k,r,h]),rowCount:p,isRowLoaded:ae,requestRange:I,refresh:te,loadError:x,retryFailedBlocks:ne,canUpdateRows:n?.updateRows!==void 0,applyCellEdits:re,writeError:E}}var Ga=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];tt(n)&&(r[t]=n,i=!0)}return i&&(t.columnFilters=r),e.sort.length>0&&(t.sort=e.sort),t},Ka=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 qa({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 Ja=(0,e.memo)(qa);function Ya({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)(Ja,{state:e?`checked`:`unchecked`,disabled:t})})}var Xa=(e,t)=>{let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)):e},Za=(e,t)=>{if(!t.trim())return{kind:`close`};let n=Xa(e,t);return n.length===0?{kind:`none`}:{kind:`replace`,values:n.map(e=>e.value)}},Qa=(e,t)=>e===null?!0:e.mode===`include`?e.values.has(t):!e.values.has(t),$a=[`日`,`月`,`火`,`水`,`木`,`金`,`土`],eo=[`1月`,`2月`,`3月`,`4月`,`5月`,`6月`,`7月`,`8月`,`9月`,`10月`,`11月`,`12月`],to=(e,t)=>{let n=new Date(e,t,1).getDay(),r=[];for(let i=0;i<42;i+=1){let a=new Date(e,t,1-n+i);r.push({key:ot(a),day:a.getDate(),inCurrentMonth:a.getMonth()===t})}return r},no=e=>e===``?``:e.replaceAll(`-`,`/`),ro=(e,t)=>`${e}年 ${t+1}月`,io=e=>e-e%12,ao=e=>{let t=io(e),n=[];for(let e=0;e<12;e+=1)n.push(t+e);return n};function oo({value:t,onCommit:r,ariaLabel:a,inputRef:o,onRequestClose:s,align:c=`left`}){let[l,u]=(0,e.useState)(null),[d,f]=(0,e.useState)(!1),[p,m]=(0,e.useState)(!1),[h,g]=(0,e.useState)(`days`),[_,v]=(0,e.useState)(()=>new Date().getFullYear()),[y,b]=(0,e.useState)(()=>new Date().getMonth()),x=(0,e.useRef)(null),S=l??no(t),C=st(new Date)??``,w=()=>{if(l===null)return;let e=l.trim();if(e===``){r(``),u(null),f(!1);return}let t=st(e);if(t===null){f(!0);return}r(t),u(null),f(!1)},T=()=>{let[e,n]=(t===``?C:t).split(`-`);v(Number(e)),b(Number(n)-1),g(`days`),m(!0)},E=()=>{m(!1)},D=e=>{r(e),u(null),f(!1),E()};(0,e.useEffect)(()=>{if(!p)return;let e=e=>{let t=e.target;t&&x.current?.contains(t)||m(!1)};return document.addEventListener(`pointerdown`,e,!0),()=>{document.removeEventListener(`pointerdown`,e,!0)}},[p]);let O=e=>{if(e.stopPropagation(),e.key===`Enter`){if(e.nativeEvent.isComposing)return;e.preventDefault(),w(),E();return}if(e.key===`Escape`){if(e.preventDefault(),p){E();return}s()}},k=e=>t=>{t.preventDefault(),t.stopPropagation(),e()},A=e=>{if(h===`days`){let t=new Date(_,y+e,1);v(t.getFullYear()),b(t.getMonth());return}if(h===`months`){v(t=>t+e);return}v(t=>t+e*12)},j=()=>{g(e=>e===`days`?`months`:`years`)},M=()=>{g(e=>e===`years`?`months`:`days`)},ee=h===`days`?ro(_,y):h===`months`?`${_}年`:`${io(_)} – ${io(_)+11}`;return(0,n.jsxs)(`div`,{ref:x,className:`ssg-dp-root`,children:[(0,n.jsxs)(`div`,{className:i(`ssg-dp-field`,p&&`ssg-dp-field--open`,d&&`ssg-dp-field--invalid`),children:[(0,n.jsx)(`input`,{ref:o,type:`text`,inputMode:`numeric`,value:S,placeholder:`yyyy/mm/dd`,"aria-label":a,"aria-invalid":d||void 0,className:`ssg-dp-input`,onChange:e=>{u(e.target.value),f(!1)},onKeyDown:O,onBlur:w}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-cal-btn`,"aria-label":p?`カレンダーを閉じる`:`カレンダーを開く`,onPointerDown:k(()=>{p?E():T()}),onKeyDown:e=>{e.stopPropagation()},children:(0,n.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 16 16`,"aria-hidden":`true`,children:[(0,n.jsx)(`rect`,{x:`1.5`,y:`2.5`,width:`13`,height:`12`,rx:`1.5`,fill:`none`,stroke:`currentColor`}),(0,n.jsx)(`line`,{x1:`1.5`,y1:`6`,x2:`14.5`,y2:`6`,stroke:`currentColor`}),(0,n.jsx)(`line`,{x1:`5`,y1:`1`,x2:`5`,y2:`4`,stroke:`currentColor`}),(0,n.jsx)(`line`,{x1:`11`,y1:`1`,x2:`11`,y2:`4`,stroke:`currentColor`})]})})]}),p&&(0,n.jsxs)(`div`,{className:i(`ssg-dp-panel`,c===`right`&&`ssg-dp-panel--right`),children:[(0,n.jsxs)(`div`,{className:`ssg-dp-nav`,children:[(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-nav-btn`,"aria-label":`前へ`,onPointerDown:k(()=>A(-1)),children:`‹`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-nav-title`,disabled:h===`years`,"aria-label":`表示単位を切り替える`,onPointerDown:k(j),children:ee}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-nav-btn`,"aria-label":`次へ`,onPointerDown:k(()=>A(1)),children:`›`})]}),h===`days`&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`div`,{className:`ssg-dp-dow`,children:$a.map((e,t)=>(0,n.jsx)(`span`,{className:i(t===0&&`ssg-dp-dow--sun`,t===6&&`ssg-dp-dow--sat`),children:e},e))}),(0,n.jsx)(`div`,{className:`ssg-dp-days`,children:to(_,y).map(e=>(0,n.jsx)(`button`,{type:`button`,className:i(`ssg-dp-day`,!e.inCurrentMonth&&`ssg-dp-day--out`,e.key===C&&`ssg-dp-day--today`,e.key===t&&`ssg-dp-day--selected`),"aria-label":e.key,onPointerDown:k(()=>D(e.key)),children:e.day},e.key))})]}),h===`months`&&(0,n.jsx)(`div`,{className:`ssg-dp-grid`,children:eo.map((e,t)=>(0,n.jsx)(`button`,{type:`button`,className:i(`ssg-dp-cell`,t===y&&`ssg-dp-cell--selected`),onPointerDown:k(()=>{b(t),g(`days`)}),children:e},e))}),h===`years`&&(0,n.jsx)(`div`,{className:`ssg-dp-grid`,children:ao(_).map(e=>(0,n.jsx)(`button`,{type:`button`,className:i(`ssg-dp-cell`,e===_&&`ssg-dp-cell--selected`),onPointerDown:k(()=>{v(e),g(`months`)}),children:e},e))}),(0,n.jsxs)(`div`,{className:`ssg-dp-foot`,children:[h!==`days`&&(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-foot-btn`,onPointerDown:k(M),children:`← 戻る`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-foot-btn`,onPointerDown:k(()=>D(C)),children:`今日`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-foot-btn ssg-dp-foot-btn--muted`,onPointerDown:k(()=>D(``)),children:`クリア`})]})]})]})}var so=24;function co({options:r,setSelection:i,searchInputRef:a,onValueToggle:o,onSelectAllChange:s,onReplaceSelection:c,onRequestClose:l,isServerSide:u,selectAllUsesExplicitScope:d=!1}){let[f,p]=(0,e.useState)(``),m=(0,e.useDeferredValue)(f),h=(0,e.useMemo)(()=>Xa(r,m),[r,m]),g=m.trim().length>0,_=(0,e.useRef)(null),v=(0,t.useVirtualizer)({count:h.length,getScrollElement:()=>_.current,estimateSize:()=>so,overscan:10}),y=(0,e.useMemo)(()=>{if(i===null)return h.length;let e=0;for(let t of h)Qa(i,t.value)&&(e+=1);return e},[i,h]),b=h.length>0&&y===h.length,x=y>0&&!b,S=(0,e.useMemo)(()=>new Set(r.map(e=>e.value)),[r]),C=(0,e.useMemo)(()=>{if(i===null)return r.length;let e=0;for(let t of i.values)S.has(t)&&(e+=1);return i.mode===`include`?e:r.length-e},[i,S,r.length]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:a,type:`text`,value:f,onChange:e=>p(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=Za(r,f);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:b,ref:e=>{e&&(e.indeterminate=x)},onChange:()=>{s(g||d?h.map(e=>e.value):`all`,!b)}}),(0,n.jsx)(`span`,{className:`ssg-filter-selectall-label`,children:g?`(検索結果をすべて選択)`:`(すべて選択)`})]}),(0,n.jsx)(`div`,{ref:_,className:`ssg-filter-list`,children:h.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:v.getTotalSize()},children:v.getVirtualItems().map(e=>{let t=h[e.index];if(!t)return null;let r=Qa(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:[`選択中: `,C,` / `,r.length,` 件`,g?`(表示中 ${h.length} 件)`:``]})]})}function lo({draft:e,valueInputRef:t,onDraftChange:r,onKeyDown:i}){let a=Et(e.operator);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`select`,{value:e.operator,onChange:t=>r({...e,operator:t.target.value}),onKeyDown:i,className:`ssg-filter-select`,"aria-label":`条件の演算子`,children:Tt.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},e.value))}),a>0?(0,n.jsxs)(`div`,{className:`ssg-filter-cond-values`,children:[(0,n.jsx)(`input`,{ref:t,type:`text`,inputMode:`decimal`,value:e.value1,onChange:t=>r({...e,value1:t.target.value}),onKeyDown:i,placeholder:a===2?`下限`:`値`,className:`ssg-filter-input`,"aria-label":a===2?`下限`:`条件の値`}),a===2&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{className:`ssg-filter-cond-tilde`,children:`〜`}),(0,n.jsx)(`input`,{type:`text`,inputMode:`decimal`,value:e.value2,onChange:t=>r({...e,value2:t.target.value}),onKeyDown:i,placeholder:`上限`,className:`ssg-filter-input`,"aria-label":`上限`})]})]}):(0,n.jsx)(`div`,{className:`ssg-filter-meta`,children:`この演算子は値入力を使いません`})]})}function uo({draft:e,valueInputRef:t,onDraftChange:r,onKeyDown:i}){let a=Ft(e.operator);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`select`,{value:e.operator,onChange:t=>r({...e,operator:t.target.value}),onKeyDown:i,className:`ssg-filter-select`,"aria-label":`条件の演算子`,children:Pt.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},e.value))}),a>0?(0,n.jsx)(`div`,{className:`ssg-filter-cond-values`,children:(0,n.jsx)(`input`,{ref:t,type:`text`,value:e.value,onChange:t=>r({...e,value:t.target.value}),onKeyDown:i,placeholder:`値`,className:`ssg-filter-input`,"aria-label":`条件の値`})}):(0,n.jsx)(`div`,{className:`ssg-filter-meta`,children:`この演算子は値入力を使いません`})]})}function fo({draft:e,valueInputRef:t,onDraftChange:r,onKeyDown:a,presets:o,renderDateInput:s,onRequestClose:c}){let l=e.preset===null?Ht(e.operator):0,u=(t,n)=>{r({...e,[t]:Wt(n),preset:null})};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`select`,{value:e.operator,onChange:t=>r({...e,operator:t.target.value,preset:null}),onKeyDown:a,className:`ssg-filter-select`,"aria-label":`条件の演算子`,children:Vt.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},e.value))}),l>0?(0,n.jsxs)(`div`,{className:`ssg-filter-cond-values`,children:[s?s({value:e.value1,onChange:e=>u(`value1`,e),ariaLabel:l===2?`開始日`:`条件の日付`,slot:l===2?`from`:`single`}):(0,n.jsx)(oo,{value:e.value1,onCommit:t=>r({...e,value1:t,preset:null}),ariaLabel:l===2?`開始日`:`条件の日付`,inputRef:t,onRequestClose:c}),l===2&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{className:`ssg-filter-cond-tilde`,children:`〜`}),s?s({value:e.value2,onChange:e=>u(`value2`,e),ariaLabel:`終了日`,slot:`to`}):(0,n.jsx)(oo,{value:e.value2,onCommit:t=>r({...e,value2:t,preset:null}),ariaLabel:`終了日`,onRequestClose:c,align:`right`})]})]}):e.preset===null?(0,n.jsx)(`div`,{className:`ssg-filter-meta`,children:`この演算子は値入力を使いません`}):null,o.length>0&&(0,n.jsx)(`div`,{className:`ssg-filter-presets`,children:o.map(t=>(0,n.jsx)(`button`,{type:`button`,onPointerDown:n=>{n.preventDefault(),n.stopPropagation(),r({...e,preset:e.preset===t.id?null:t.id})},onKeyDown:e=>{e.stopPropagation()},className:i(`ssg-filter-preset-chip`,e.preset===t.id&&`ssg-filter-preset-chip--active`),children:t.label},t.id))})]})}function po({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,h]=(0,e.useState)(()=>new Set),g=p.trim().length>0,_=(0,e.useMemo)(()=>Xa(r,p),[r,p]),v=(0,e.useMemo)(()=>pi(r,m),[r,m]),y=(0,e.useRef)(null),b=g?_.length:v.length,x=(0,t.useVirtualizer)({count:b,getScrollElement:()=>y.current,estimateSize:()=>so,overscan:10}),S=(0,e.useMemo)(()=>(g?_:r).map(e=>e.value),[g,_,r]),C=(0,e.useMemo)(()=>{let e=0;for(let t of S)Qa(i,t)&&(e+=1);return e},[S,i]),w=S.length>0&&C===S.length,T=C>0&&!w,E=(0,e.useMemo)(()=>new Set(r.map(e=>e.value)),[r]),D=(0,e.useMemo)(()=>{if(i===null)return r.length;let e=0;for(let t of i.values)E.has(t)&&(e+=1);return i.mode===`include`?e:r.length-e},[i,E,r.length]),O=e=>{h(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},k=e=>{let t=0;for(let n of e)Qa(i,n)&&(t+=1);return t},A=e=>{let t=k(e.leafKeys),r=e.leafKeys.length>0&&t===e.leafKeys.length,i=t>0&&!r;return(0,n.jsxs)(n.Fragment,{children:[e.type===`group`?(0,n.jsx)(`button`,{type:`button`,onPointerDown:t=>{t.preventDefault(),t.stopPropagation(),O(e.key)},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-tree-toggle`,"aria-label":e.expanded?`折りたたむ`:`展開する`,children:e.expanded?`▾`:`▸`}):(0,n.jsx)(`span`,{className:`ssg-filter-tree-toggle ssg-filter-tree-toggle--placeholder`}),(0,n.jsx)(`input`,{type:`checkbox`,checked:r,ref:e=>{e&&(e.indeterminate=i)},onChange:()=>{if(e.type===`leaf`){o(e.key);return}s(e.leafKeys,!r)}}),(0,n.jsx)(`span`,{className:`ssg-filter-option-label`,children:e.label})]})};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=Za(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:w,ref:e=>{e&&(e.indeterminate=T)},onChange:()=>s(S,!w)}),(0,n.jsx)(`span`,{className:`ssg-filter-selectall-label`,children:g?`(検索結果をすべて選択)`:`(すべて選択)`})]}),(0,n.jsx)(`div`,{ref:y,className:`ssg-filter-list`,children:b===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:x.getTotalSize()},children:x.getVirtualItems().map(e=>{if(g){let t=_[e.index];return t?(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:Qa(i,t.value),onChange:()=>o(t.value)}),(0,n.jsx)(`span`,{className:`ssg-filter-option-label`,children:t.label})]},t.value):null}let t=v[e.index];return t?(0,n.jsx)(`div`,{className:`ssg-filter-option`,style:{transform:`translateY(${e.start}px)`,height:e.size,paddingLeft:8+t.depth*16},children:A(t)},t.key):null})})}),(0,n.jsxs)(`div`,{className:`ssg-filter-meta`,children:[`選択中: `,D,` / `,r.length,` 件`,g?`(表示中 ${_.length} 件)`:``]})]})}function mo({conditionEditor:e,conditionActive:t,onConditionClear:r,options:i,setSelection:a,onSelectionClear:o,summaryText:s,children:c}){return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-filter-sec-head`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-sec-label`,children:`条件`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),r()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-sec-clear`,disabled:!t,children:`クリア`})]}),e,(0,n.jsx)(`div`,{className:`ssg-filter-sep`}),(0,n.jsxs)(`div`,{className:`ssg-filter-sec-head`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-sec-label`,children:`値`}),(0,n.jsx)(`span`,{className:`ssg-filter-sec-meta`,children:t?`一致 ${i.length} 件`:`全 ${i.length} 件`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),o()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-sec-clear`,disabled:a===null,children:`クリア`})]}),c,(0,n.jsxs)(`div`,{className:`ssg-filter-summary`,children:[`🔽 `,s]})]})}function ho({isOpen:t,themeClassName:a,title:o,filterType:s,draftValue:c,numberConditionDraft:l,onNumberConditionDraftChange:u,textConditionDraft:d,onTextConditionDraftChange:f,dateConditionDraft:p,onDateConditionDraftChange:m,datePresets:h,renderDateInput:g,onComboConditionClear:_,onComboSelectionClear:v,comboSummaryText:y,currentValueText:b,layout:x,selectOptions:S,optionsStatus:C,optionsProgress:w,setSelection:T,popoverRef:E,textInputRef:D,selectRef:O,onRequestClose:k,onDraftChange:A,onApply:j,onClear:M,onSetValueToggle:ee,onSetSelectAllChange:N,onSetClear:P,onSetReplaceSelection:F,isServerSide:I=!1}){let te=(0,e.useRef)(null),[ne]=(0,e.useState)(()=>new Date);if(typeof document>`u`||!t||!x)return null;let re={top:x.top,left:x.left,width:x.width,maxHeight:x.maxHeight},ie=e=>{e.stopPropagation()},ae=e=>{e.stopPropagation()},oe=s===`set`,se=s===`numberSet`,ce=s===`textSet`,le=s===`dateSet`,ue=se||ce||le,de=oe||ue,fe=l??wt,pe=d??Nt,me=p??Bt,he=h??qe(void 0),ge=se?kt(fe):null,_e=ce?It(pe):null,ve=le?Gt(me):null,ye=ge!==null||_e!==null||ve!==null,be=se?z(S,ge):ce?zt(S,_e):le?Jt(S,ve,ne,he):S,xe=e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),j();return}e.key===`Escape`&&(e.preventDefault(),k())};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:E,onPointerDown:ae,onKeyDown:ie,onPasteCapture:e=>{e.stopPropagation()},className:i(`ssg-filter-popover`,a),style:re,children:[(0,n.jsxs)(`div`,{className:`ssg-filter-title`,children:[`列フィルター: `,o]}),(de||s===`select`)&&C===`collecting`?(0,n.jsxs)(`div`,{className:`ssg-filter-collecting`,children:[`候補を収集中… `,Math.round(w*100),`%`]}):ue?(0,n.jsx)(mo,{conditionEditor:se?(0,n.jsx)(lo,{draft:fe,valueInputRef:D,onDraftChange:u,onKeyDown:xe}):ce?(0,n.jsx)(uo,{draft:pe,valueInputRef:D,onDraftChange:f,onKeyDown:xe}):(0,n.jsx)(fo,{draft:me,valueInputRef:D,onDraftChange:m,onKeyDown:xe,presets:he,renderDateInput:g,onRequestClose:k}),conditionActive:ye,onConditionClear:_,options:be,setSelection:T,onSelectionClear:v,summaryText:y,children:le?(0,n.jsx)(po,{options:be,setSelection:T,searchInputRef:te,onValueToggle:ee,onSelectAllChange:N,onReplaceSelection:F,onRequestClose:k,isServerSide:I}):(0,n.jsx)(co,{options:be,setSelection:T,searchInputRef:te,onValueToggle:ee,onSelectAllChange:N,onReplaceSelection:F,onRequestClose:k,isServerSide:I,selectAllUsesExplicitScope:!0})}):oe?(0,n.jsx)(co,{options:S,setSelection:T,searchInputRef:D,onValueToggle:ee,onSelectAllChange:N,onReplaceSelection:F,onRequestClose:k,isServerSide:I}):s===`number`?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`div`,{className:`ssg-filter-hint`,children:`フィルター種別: number`}),(0,n.jsx)(lo,{draft:fe,valueInputRef:D,onDraftChange:u,onKeyDown:xe})]}):s===`select`?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`div`,{className:`ssg-filter-hint`,children:`フィルター種別: select`}),(0,n.jsxs)(`select`,{ref:O,value:c,onChange:e=>A(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),j();return}e.key===`Escape`&&(e.preventDefault(),k())},className:`ssg-filter-select`,children:[(0,n.jsx)(`option`,{value:``,children:`(すべて)`}),S.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},`${o}-${e.value}`))]}),(0,n.jsxs)(`div`,{className:`ssg-filter-meta`,children:[`候補数: `,S.length]})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-filter-hint`,children:[`フィルター種別: `,s]}),(0,n.jsx)(`input`,{ref:D,type:`text`,value:c,onChange:e=>A(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),j();return}e.key===`Escape`&&(e.preventDefault(),k())},placeholder:`部分一致で絞り込み`,className:`ssg-filter-input`}),(0,n.jsx)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:`部分一致検索です`})]}),!de&&(0,n.jsxs)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:[`現在値: `,b]}),(0,n.jsx)(`div`,{className:`ssg-filter-footer`,children:de?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),P()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-secondary`,children:`クリア`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),k()},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(),M()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-secondary`,children:`クリア`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),j()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-primary`,children:`適用`})]})})]}),document.body)}function go({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 _o=(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`})]}),vo=(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 yo({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?_o: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:vo}):null]}):null]})})}var bo=e=>e.enabled&&!e.isAutoHeightCell&&!e.hasRenderCell;function xo({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,rowKey:o,sourceRowIndex:s,row:c,top:l,renderEntries:u,rowHeight:d,autoHeight:f,showCellOverflowTooltip:p,showValidationMarks:m,autoHeightMinHeight:h,rowHeaderCellStyle:g,isRowHovered:_,isWholeGridSelected:v,isRowSelected:y,showRowCheckbox:b,isRowChecked:x,activeColInRow:S,editingColInRow:C,selectedColStart:w,selectedColEnd:T,readOnly:E,canEditCell:D,onRowHeaderPointerDown:O,onRowHeaderPointerEnter:k,onRowHeaderPointerLeave:A,onCellPointerDown:j,onCellPointerEnter:M,onCellDoubleClick:ee,renderCellContent:N,rowClassName:P,bodyCellClassName:F,bodyRowClassName:I,rowHeaderCellClassName:te}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,className:i(`ssg-body-row`,x&&`ssg-body-row--checked`,P,I),style:{height:d,transform:`translateY(${l}px)`},children:[t&&(0,n.jsx)(`div`,{role:b?`checkbox`:void 0,"aria-checked":b?x:void 0,onPointerDown:e=>O(a,e),onPointerEnter:e=>k(a,e),onPointerLeave:()=>A(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,b&&`ssg-row-header-cell--checkbox`,(v||y)&&`ssg-header-cell--selected`,_&&`ssg-header-cell--hovered`,P,te),style:{...g,height:d},children:b?(0,n.jsx)(Ja,{state:x?`checked`:`unchecked`}):a+1}),u.map(e=>{if(!e)return null;let t=e.logicalIndex,l=e.column,u=r+e.paneLocalStart,g=e.paneLocalSize,v=t===S,b=t===C,x=y||w>=0&&t>=w&&t<=T,O=!Ae({readOnly:E,canEditCell:D},a,t,c,l),k=f&&l.autoHeight===!0,A,I=l.cellClassName;I&&(A=typeof I==`function`?I({row:c,rowIndex:a,sourceRowIndex:s,rowKey:o,colIndex:t,value:L(c,l),column:l,isActive:v,isSelected:x,isEditing:b,readOnly:O}):I);let te=m&&l.validate?U(l,c,L(c,l)):null,ne=i(`ssg-body-cell`,l.align===`center`&&`ssg-body-cell--align-center`,l.align===`right`&&`ssg-body-cell--align-right`,k&&`ssg-body-cell--autoheight`,O&&!x&&`ssg-body-cell--readonly`,te!==null&&`ssg-body-cell--invalid`,_&&`ssg-body-cell--row-hovered`,P,A,F),re={};l.wordBreak!==void 0&&(re.wordBreak=l.wordBreak),l.lineBreak!==void 0&&(re.lineBreak=l.lineBreak);let ie=bo({enabled:p,isAutoHeightCell:k,hasRenderCell:l.renderCell!==void 0});return(0,n.jsx)(`div`,{"data-ssg-col-key":l.key,"data-autoheight-cell":k?``:void 0,"data-ssg-tooltip":te??void 0,"data-ssg-tooltip-overflow":ie?``:void 0,className:ne,onPointerDown:e=>j({row:a,col:t},e),onPointerEnter:e=>M({row:a,col:t},e),onDoubleClick:()=>ee({row:a,col:t}),style:{left:u,width:g,minWidth:g,...k?{minHeight:h}:{height:d},...re,zIndex:v?3:1},children:N(c,a,l,t,{isActive:v,isSelected:x,isEditing:b,readOnly:O})},`${String(o)}-${l.key}`)})]})}var So=(0,e.memo)(xo),Co=[`62%`,`46%`,`78%`,`54%`];function wo({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)(Ja,{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=Co[o%Co.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 To=(0,e.memo)(wo),Eo=(e,t)=>t==null?``:e.valueFormatter?e.valueFormatter({value:t,row:void 0,column:e}):String(t),Do=16;function Oo({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,top:o,rowHeight:s,renderEntries:c,rowHeaderCellStyle:l,isRowHovered:u,showRowCheckbox:d,groupRow:f,isCollapsed:p,onGroupToggle:m,onRowHeaderPointerEnter:h,onRowHeaderPointerLeave:g,bodyCellClassName:_,bodyRowClassName:v,rowHeaderCellClassName:y}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,"data-ssg-group-row":``,className:i(`ssg-body-row`,v),style:{height:s,transform:`translateY(${o}px)`},onDoubleClick:()=>m(f.groupKey),children:[t&&(0,n.jsx)(`div`,{onPointerEnter:e=>h(a,e),onPointerLeave:()=>g(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,d&&`ssg-row-header-cell--checkbox`,u&&`ssg-header-cell--hovered`,y),style:{...l,height:s},children:d?null:a+1}),c.map(t=>{if(!t)return null;let a=t.column,o=r+t.paneLocalStart,c=t.paneLocalSize,l=a.key===er,d=!l&&Object.prototype.hasOwnProperty.call(f.aggregates,a.key)?Eo(a,f.aggregates[a.key]):null;return(0,n.jsx)(`div`,{"data-ssg-col-key":a.key,className:i(`ssg-body-cell`,`ssg-group-cell`,a.align===`center`&&`ssg-body-cell--align-center`,a.align===`right`&&`ssg-body-cell--align-right`,u&&`ssg-body-cell--row-hovered`,_),style:{left:o,width:c,minWidth:c,height:s,zIndex:1},children:l?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{"aria-hidden":`true`,className:`ssg-group-indent`,style:{width:f.level*Do}}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-group-toggle`,"aria-expanded":!p,"aria-label":`${f.label} を${p?`展開`:`折りたたみ`}`,onClick:()=>m(f.groupKey),onDoubleClick:e=>e.stopPropagation(),children:p?`▸`:`▾`}),(0,n.jsx)(`span`,{className:`ssg-group-label`,children:f.label}),(0,n.jsxs)(`span`,{className:`ssg-group-count`,children:[`(`,f.leafCount,`件)`]})]}):d},`group-${e}-${a.key}`)})]})}var ko=(0,e.memo)(Oo);function Ao({pane:e,ownsRowHeader:t,leadingWidth:r,rowModel:i,virtualRows:a,virtualRowIndexes:o,renderEntries:s,rowHeight:c,autoHeight:l=!1,showCellOverflowTooltip:u=!1,showValidationMarks:d=!0,isServerSide:f=!1,collapsedGroupKeys:p,onGroupToggle:m,rowHeaderCellStyle:h,hoveredRowIndex:g,isWholeGridSelected:_,enableRowSelection:v,rowSelectionState:y,activeCell:b,editingCell:x,selectionSnapshot:S,readOnly:C,canEditCell:w,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,onCellDoubleClick:j,renderCellContent:M,getRowClassName:ee,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F}){return(0,n.jsx)(n.Fragment,{children:a.map(a=>{let I=a.index;if(!o.has(I))return null;let te=a.size??c,ne=i.getGroupRow?.(I);if(ne&&m)return(0,n.jsx)(ko,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,top:a.start,rowHeight:te,renderEntries:s,rowHeaderCellStyle:h,isRowHovered:g===I,showRowCheckbox:v,groupRow:ne,isCollapsed:p?.has(ne.groupKey)===!0,onGroupToggle:m,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F},String(tr(ne)));let re=i.getRow(I);if(!re){if(!f)return null;let o=i.getRowKey(I)??I;return(0,n.jsx)(To,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,top:a.start,rowHeight:te,renderEntries:s,rowHeaderCellStyle:h,isRowHovered:g===I,showRowCheckbox:v,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F},String(o))}let ie=i.getRowKey(I)??I,ae=i.getSourceIndex(I)??I,oe=v?O(y,ie):!1,se=S.kind===`row`&&I>=S.startRow&&I<=S.endRow,ce=S.kind===`cell`&&I>=S.startRow&&I<=S.endRow,le=S.kind===`col`||ce?S.startCol:-1,ue=S.kind===`col`||ce?S.endCol:-1,de=b&&b.row===I?b.col:-1,fe=x&&x.row===I?x.col:-1,pe=ee?.(re,I,{row:re,rowIndex:I,sourceRowIndex:ae,rowKey:ie,isSelected:oe});return(0,n.jsx)(So,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,rowKey:ie,sourceRowIndex:ae,row:re,top:a.start,renderEntries:s,rowHeight:te,autoHeight:l,showCellOverflowTooltip:u,showValidationMarks:d,autoHeightMinHeight:c,rowHeaderCellStyle:h,isRowHovered:g===I,isWholeGridSelected:_,isRowSelected:se,showRowCheckbox:v,isRowChecked:oe,activeColInRow:de,editingColInRow:fe,selectedColStart:le,selectedColEnd:ue,readOnly:C,canEditCell:w,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,onCellDoubleClick:j,renderCellContent:M,rowClassName:pe,bodyCellClassName:N,bodyRowClassName:P,rowHeaderCellClassName:F},String(ie))})})}function jo({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 Mo({pane:e,ownsRowHeader:t,leadingWidth:r,headerHeight:a,rowHeaderCellStyle:o,headerRowClassName:s,headerCellClassName:c,rowHeaderCellClassName:l,isCornerHovered:u,isWholeGridSelected:d,showSelectAllCheckbox:f,selectAllState:p,filteredRowsLength:m,visibleColumnsLength:h,renderEntries:g,hoveredColumnIndex:_,selectionSnapshot:v,columnFilterValues:y,sortState:b,iconButtonClassName:x,onCornerPointerDown:S,onCornerPointerEnter:C,onCornerPointerLeave:w,onColumnHeaderPointerDown:T,onColumnHeaderPointerEnter:E,onColumnHeaderPointerLeave:D,onColumnResizePointerDown:O,enableColumnResize:k,enableColumnMenu:A,openedMenuColumnKey:j,onColumnMenuButtonPointerDown:M,onColumnHeaderContextMenu:ee,onColumnDragHandlePointerDown:N}){return(0,n.jsxs)(`div`,{"data-pane":e,className:i(`ssg-header-row`,s),style:{height:a},children:[t&&(0,n.jsx)(`div`,{role:f?`checkbox`:void 0,"aria-checked":f?p===`all`?!0:p===`some`?`mixed`:!1:void 0,onPointerDown:S,onPointerEnter:C,onPointerLeave:w,className:i(`ssg-header-cell`,`ssg-corner-cell`,f&&`ssg-corner-cell--checkbox`,d&&`ssg-header-cell--selected`,u&&`ssg-header-cell--hovered`,l),style:{...o,height:a,cursor:m>0&&h>0?`pointer`:`default`},children:f?(0,n.jsx)(Ja,{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=tt(y[o.key]),f=v.kind===`col`&&t>=v.startCol&&t<=v.endCol,p=b.findIndex(e=>e.columnKey===o.key),m=p===-1?null:b[p],h=j===o.key,g=o.key===er,S=A&&!g;return(0,n.jsxs)(`div`,{"data-ssg-col-key":o.key,onPointerDown:e=>T(t,e),onPointerEnter:e=>E(t,e),onPointerLeave:()=>D(t),onContextMenu:e=>{if(g){e.preventDefault();return}ee(o,e)},className:i(`ssg-header-cell`,(d||f)&&`ssg-header-cell--selected`,_===t&&`ssg-header-cell--hovered`,c),style:{left:s,width:l,minWidth:l,height:a},children:[(0,n.jsx)(`div`,{className:i(`ssg-header-label`,u&&`ssg-header-label--filtered`),"data-ssg-tooltip":o.renderHeader?void 0:o.title||o.key,children:o.renderHeader?o.renderHeader({colIndex:t,width:l,column:o,filterValue:y[o.key],isFiltered:u}):o.title||o.key}),(0,n.jsxs)(`div`,{className:`ssg-header-status`,children:[m&&(0,n.jsxs)(`span`,{"aria-hidden":`true`,"data-ssg-tooltip":(m.direction===`asc`?`昇順で並び替え中`:`降順で並び替え中`)+(b.length>1?` (優先度 ${p+1})`:``),className:`ssg-header-sort`,children:[m.direction===`asc`?`↑`:`↓`,b.length>1&&(0,n.jsx)(`span`,{className:`ssg-header-sort-priority`,children:p+1})]}),u&&(0,n.jsx)(`span`,{"aria-hidden":`true`,"data-ssg-tooltip":`フィルター適用中`,className:`ssg-header-filtered-mark`,children:(0,n.jsx)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`,focusable:`false`,children:(0,n.jsx)(`path`,{d:`M2 4 L14 4 L9.2 9.2 L9.2 13 L6.8 13 L6.8 9.2 Z`})})})]}),(0,n.jsxs)(`div`,{className:`ssg-header-actions`,children:[N&&!g&&(0,n.jsx)(`span`,{onPointerDown:e=>N(o,e),"data-ssg-tooltip":`ドラッグで列を移動`,"aria-hidden":`true`,className:`ssg-header-grip`,children:(0,n.jsxs)(`svg`,{width:`8`,height:`14`,viewBox:`0 0 8 14`,fill:`currentColor`,"aria-hidden":`true`,focusable:`false`,children:[(0,n.jsx)(`circle`,{cx:`2`,cy:`3`,r:`1`}),(0,n.jsx)(`circle`,{cx:`6`,cy:`3`,r:`1`}),(0,n.jsx)(`circle`,{cx:`2`,cy:`7`,r:`1`}),(0,n.jsx)(`circle`,{cx:`6`,cy:`7`,r:`1`}),(0,n.jsx)(`circle`,{cx:`2`,cy:`11`,r:`1`}),(0,n.jsx)(`circle`,{cx:`6`,cy:`11`,r:`1`})]})}),S&&(0,n.jsx)(jo,{title:`列メニュー`,isActive:h,className:x,onPointerDown:e=>M(o,e),children:`⋮`})]}),(o.resizable??k)&&(0,n.jsx)(`div`,{onPointerDown:e=>O(o,e),className:`ssg-header-resize`})]},o.key)})]})}var No=(0,e.memo)(Mo),Po=200,Fo=8,Io=6,Lo=289,Ro=({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-Po,e=i.bottom+Io,n=i.top-Lo-Io}else if(i)t=i.x,e=i.y,n=i.y-Lo;else{s(null);return}t=Math.max(Fo,t),t=Math.min(t,window.innerWidth-Po-Fo),e+Lo>window.innerHeight-Fo&&(e=n),e=Math.max(Fo,e),s(n=>n&&n.top===e&&n.left===t&&n.width===Po?n:{top:e,left:t,width:Po})},[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}},zo=[{value:void 0,label:`固定しない`},{value:`left`,label:`左に固定`},{value:`right`,label:`右に固定`}],Bo=180,Vo=4,Ho=8,Uo=`pin`;function Wo({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===Uo,A=v.left+v.width+Vo+Bo>window.innerWidth-Ho,j={position:`fixed`,top:v.top,left:v.left,width:v.width,zIndex:1e3},M={position:`absolute`,top:-9,...A?{right:`calc(100% + ${Vo}px)`}:{left:`calc(100% + ${Vo}px)`},width:Bo,zIndex:1};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:y,onPointerDown:e=>{e.stopPropagation()},onKeyDown:e=>{e.stopPropagation()},onContextMenu:e=>{e.preventDefault()},className:i(`ssg-menu-panel`,a),style:j,children:[(0,n.jsx)(`div`,{className:`ssg-menu-title`,children:o}),c&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{l()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`フィルター…`})]}),(0,n.jsx)(`div`,{className:`ssg-menu-separator`})]}),u&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{f(`asc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,d===`asc`&&`ssg-menu-sort-icon--active`),children:d===`asc`?`✓`:`↑`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,d===`asc`&&`ssg-menu-label--sorted`),children:`昇順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{f(`desc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,d===`desc`&&`ssg-menu-sort-icon--active`),children:d===`desc`?`✓`:`↓`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,d===`desc`&&`ssg-menu-label--sorted`),children:`降順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{p()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`並び替えを管理…`})]})]}),m&&(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{h()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`フィルターを管理…`})]}),(u||m)&&(0,n.jsx)(`div`,{className:`ssg-menu-separator`}),(0,n.jsxs)(`div`,{className:`ssg-menu-submenu-anchor`,children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(Uo)},onClick:()=>{O(e=>e===Uo?null:Uo)},className:i(`ssg-menu-item`,k&&`ssg-menu-item--active`),children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`列の固定`}),(0,n.jsx)(`span`,{className:`ssg-menu-caret`,children:`›`})]}),k&&(0,n.jsxs)(`div`,{className:i(`ssg-menu-panel`,a),style:M,children:[zo.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 Go=({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}},Ko=360,qo=8,Jo=12,Yo=[`filter`,`columns`,`sort`],Xo=({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 Yo.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=Go({top:e.top,left:e.left,panelWidth:Ko,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});d(e=>e&&e.top===t.top&&e.left===t.left&&e.width===Ko?e:{top:t.top,left:t.left,width:Ko});return}let t=i.current;if(!t){d(null);return}let n=t.getBoundingClientRect(),r=n.right-Ko-Jo,a=n.top+Jo;r=Math.max(qo,r),r=Math.min(r,window.innerWidth-Ko-qo),a=Math.max(qo,a),d(e=>e&&e.top===a&&e.left===r&&e.width===Ko?e:{top:a,left:r,width:Ko})},[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=Go({top:e,left:t,panelWidth:Ko,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h.current=n,d({top:n.top,left:n.left,width:Ko})},[]);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}},Zo=({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 Qo({themeClassName:t,activeTab:a,flashTick:o,tabs:s,layout:c,panelRef:l,onSelectTab:u,onRequestClose:d,onPanelMove:f,children:p}){let{handleHeaderPointerDown:m}=Zo({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 $o=28,es=12,ts=[`left`,`center`,`right`],ns={left:`左固定`,center:`固定なし`,right:`右固定`};function rs(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 is({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 as({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 os({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 ts.map(t=>({pane:t,items:e[t]})).filter(e=>e.items.length>0)},[_]),y=v.length>=2,b=r&&u.trim()===``,x=(0,e.useRef)(null),[S,C]=(0,e.useState)(null),w=(0,e.useRef)(!1),T=(0,e.useRef)(null),[E,D]=(0,e.useState)(null),O=(0,e.useRef)(0),k=(0,e.useRef)(null),A=(0,e.useCallback)(()=>{let e=x.current,t=T.current;if(!e||!t)return;let n=e.querySelectorAll(`[data-chooser-row][data-chooser-pane="${t}"]`),r=O.current,i=n.length;for(let e=0;e<n.length;e+=1){let t=n[e].getBoundingClientRect();if(r<t.top+t.height/2){i=e;break}}D(i)},[]),j=(0,e.useCallback)(function e(){let t=x.current;if(!t||!w.current){k.current=null;return}let n=t.getBoundingClientRect(),r=O.current,i=0;if(r<n.top+$o?i=-12:r>n.bottom-$o&&(i=es),i!==0){let e=t.scrollTop;t.scrollTop+=i,t.scrollTop!==e&&A()}k.current=requestAnimationFrame(e)},[A]),M=(0,e.useCallback)(e=>{k.current!==null&&(cancelAnimationFrame(k.current),k.current=null);let n=S,r=E;if(w.current=!1,T.current=null,C(null),D(null),e&&n!==null&&r!==null){let e=rs(t,n,r);e&&l(e)}},[S,E,t,l]),ee=(0,e.useCallback)((e,t,n)=>{b&&(n.preventDefault(),n.stopPropagation(),n.currentTarget.setPointerCapture(n.pointerId),w.current=!0,T.current=t,O.current=n.clientY,C(e),A(),k.current===null&&(k.current=requestAnimationFrame(j)))},[b,A,j]),N=(0,e.useCallback)(e=>{w.current&&(O.current=e.clientY,A())},[A]),P=(0,e.useCallback)(()=>{w.current&&M(!0)},[M]),F=(0,e.useCallback)(()=>{w.current&&M(!1)},[M]);(0,e.useEffect)(()=>()=>{k.current!==null&&(cancelAnimationFrame(k.current),k.current=null)},[]);let I=()=>{r&&(m?s():o())},te=S===null?null:t.find(e=>e.key===S)?.pane??null,ne=(e,t,o)=>{let s=e.visible&&p===1,c=!r||s,l=S===e.key;return(0,n.jsxs)(`div`,{"data-chooser-row":``,"data-chooser-pane":o,className:i(`ssg-chooser-row`,S!==null&&te===o&&E===t&&`ssg-chooser-row--drop-before`,l&&`ssg-chooser-row--dragging`),children:[(0,n.jsx)(`span`,{role:`button`,"aria-label":`ドラッグして並べ替え`,"data-ssg-tooltip":r?u.trim()===``?`ドラッグして並べ替え(同じセクション内のみ)`:`検索中は並べ替えできません`:`onColumnsChange 未指定のため並べ替えできません`,onPointerDown:t=>ee(e.key,o,t),onPointerMove:N,onPointerUp:P,onPointerCancel:F,className:i(`ssg-chooser-handle`,!b&&`ssg-chooser-handle--disabled`,l&&`ssg-chooser-handle--dragging`),children:(0,n.jsx)(as,{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)(is,{state:e.visible?`checked`:`unchecked`,disabled:c}),(0,n.jsx)(`span`,{className:i(`ssg-chooser-label`,c&&!e.visible&&`ssg-chooser-label--muted`),children:e.title})]})]},e.key)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-chooser-search-row`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!r,onClick:I,"aria-label":g,"data-ssg-tooltip":g,className:`ssg-chooser-master-btn`,children:(0,n.jsx)(is,{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:ns[e.pane]}),e.items.map((t,n)=>ne(t,n,e.pane)),S!==null&&te===e.pane&&E===e.items.length&&(0,n.jsx)(`div`,{className:`ssg-chooser-drop-end`})]},e.pane))}),(0,n.jsxs)(`div`,{className:`ssg-chooser-footer`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!r,onClick:()=>{r&&c()},"data-ssg-tooltip":`すべての列の幅・固定・表示・並び順を初期状態に戻します`,className:`ssg-chooser-reset-btn`,children:`すべての列を初期状態に戻す`}),!r&&(0,n.jsx)(`div`,{className:`ssg-chooser-note`,children:`onColumnsChange 未指定のため表示/非表示・リセットを変更できません`})]})]})}function ss({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 cs({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)(ss,{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 ls(){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 us(){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 ds({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)(us,{})}),(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)(ls,{})}),(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 fs({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 ps=e=>{if(e===void 0||e===!1)return null;let t=e===!0?{}:e,n=t.bubble??!0,r=t.ruler??!0,i=t.scrollbar??!0;return!n&&!r&&!i?null:{bubble:n,ruler:r,scrollbar:i,trigger:t.trigger??`scroll`,minRows:t.minRows??0,hintColumn:t.hintColumn,renderHint:t.renderHint}},ms=({scrollTop:e,contentHeight:t,viewportHeight:n,trackHeight:r=n})=>{let i=t-n;if(n<=0||r<=0||i<=0)return null;let a=Math.min(Math.max(r*n/t,30),r),o=Math.min(Math.max(e,0),i)/i*(r-a);return{maxScroll:i,thumbTop:o,thumbHeight:a,centerY:o+a/2}},hs=e=>{let t=Math.max(e,1),n=10**Math.floor(Math.log10(t)),r=n<10?[1,2,5,10]:[1,2,2.5,5,10];for(let e of r){let r=n*e;if(r>=t)return r}return n*10},gs=(e,t=e>=1e4&&e%1e4==0)=>e!==0&&t?`${(e/1e4).toLocaleString()}万`:e.toLocaleString(),_s=({rowCount:e,rulerHeight:t,minTickSpacingPx:n=44})=>{if(e<=0||t<=0)return[];let r=hs(e/Math.max(Math.floor(t/n),2)),i=r%1e4==0,a=[];for(let n=0;n<=e;n+=r)a.push({row:n,y:n/e*t,label:gs(n,i)});return a},vs=(e,t,n)=>{let r=n-t.thumbHeight;return r<=0?0:Math.min(Math.max((e-t.thumbHeight/2)/r,0),1)*t.maxScroll},ys=(e,t)=>{if(e.renderHint!==void 0){let n=e.renderHint(t);return n==null||n===!1?null:n}if(e.hintColumn!==void 0&&t.rowData!==void 0){let n=t.rowData[e.hintColumn];return n==null||n===``?null:String(n)}return null},bs=1e3,xs=8,Ss=18,Cs=28;function ws({options:t,scrollContainerRef:r,scrollTop:a,viewportHeight:o,headerHeight:s,physicalBodyHeight:c,verticalScaleFactor:l,rowMetrics:u,rowModel:d}){let[f,p]=(0,e.useState)(!1),[m,h]=(0,e.useState)(!1),[g,_]=(0,e.useState)(0),[v,y]=(0,e.useState)(null),[b,x]=(0,e.useState)(!1),S=(0,e.useRef)(null),C=(0,e.useRef)(null),w=(0,e.useRef)(null),T=t.scrollbar?s:0,E=Math.max(t.scrollbar?o-s:o,0),D=ms({scrollTop:a,contentHeight:s+c,viewportHeight:o,trackHeight:E}),O=D!==null&&u.rowCount>0;(0,e.useEffect)(()=>{let e=r.current;if(!e)return;let n=()=>{p(!0),S.current!==null&&window.clearTimeout(S.current),S.current=window.setTimeout(()=>{S.current=null,p(!1)},bs)},i=()=>h(!0),a=()=>{h(!1),y(null)},o=t=>{let n=e.getBoundingClientRect(),r=t.clientX-n.left,i=e.offsetWidth-Math.max(e.offsetWidth-e.clientWidth,0)-Ss;y(r>=i?t.clientY-n.top:null)},s=new ResizeObserver(()=>{_(Math.max(e.offsetWidth-e.clientWidth,0))});return e.addEventListener(`scroll`,n,{passive:!0}),e.addEventListener(`pointerenter`,i),e.addEventListener(`pointerleave`,a),t.scrollbar||e.addEventListener(`pointermove`,o,{passive:!0}),s.observe(e),()=>{e.removeEventListener(`scroll`,n),e.removeEventListener(`pointerenter`,i),e.removeEventListener(`pointerleave`,a),e.removeEventListener(`pointermove`,o),s.disconnect(),S.current!==null&&(window.clearTimeout(S.current),S.current=null)}},[r,t.scrollbar]),(0,e.useEffect)(()=>{if(!t.scrollbar||!O)return;let e=w.current,n=r.current;if(!e||!n)return;let i=e=>{e.preventDefault(),n.scrollTop+=e.deltaY};return e.addEventListener(`wheel`,i,{passive:!1}),()=>{e.removeEventListener(`wheel`,i)}},[r,t.scrollbar,O]);let k=Math.max(o-s,0),A=(0,e.useMemo)(()=>t.ruler?_s({rowCount:u.rowCount,rulerHeight:k}):[],[t.ruler,u.rowCount,k]);if(D===null||u.rowCount<=0)return null;let j=t.trigger===`always`||f||t.trigger===`hover`&&m,M=j||v!==null,ee=t.scrollbar?14:g,N=hr(Math.min(Math.max(a,0),D.maxScroll),l),P=u.rowAtContentY(N),F=ys(t,{rowIndex:P,rowData:d.getRow(P)}),I=null;if(t.ruler&&v!==null&&!b){let e=vs(v,D,E),n=u.rowAtContentY(hr(e,l));I={lineY:Math.min(Math.max(T+v,s),o),rowIndex:n,detail:ys(t,{rowIndex:n,rowData:d.getRow(n)})}}let te=e=>{let t=w.current;return t===null?0:e.clientY-t.getBoundingClientRect().top},ne=(e,t)=>{let n=r.current;if(n===null)return;let i=E-D.thumbHeight;i<=0||(n.scrollTop=Math.min(Math.max((e-t)/i,0),1)*D.maxScroll)};return(0,n.jsxs)(`div`,{className:`ssg-scroll-hint`,"aria-hidden":`true`,children:[t.ruler&&A.length>0&&(0,n.jsx)(`div`,{className:i(`ssg-scroll-hint-ruler`,M&&`ssg-scroll-hint-ruler--visible`),style:{top:s,right:ee},children:A.map(e=>(0,n.jsx)(`div`,{className:`ssg-scroll-hint-ruler-tick`,style:{top:Math.min(Math.max(e.y,6),Math.max(k-6,6))},children:(0,n.jsx)(`span`,{className:`ssg-scroll-hint-ruler-label`,children:e.label})},e.row))}),I!==null&&(0,n.jsx)(`div`,{className:`ssg-scroll-hint-jumpline`,style:{top:I.lineY,right:ee},children:(0,n.jsxs)(`span`,{className:i(`ssg-scroll-hint-jumpline-label`,I.lineY<s+Cs&&`ssg-scroll-hint-jumpline-label--below`),children:[`行 `,(I.rowIndex+1).toLocaleString(),` へ`,I.detail!==null&&(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-jumpline-detail`,children:[` `,`・ `,I.detail]})]})}),t.bubble&&(0,n.jsxs)(`div`,{className:i(`ssg-scroll-hint-bubble`,j&&`ssg-scroll-hint-bubble--visible`),style:{top:T+D.centerY,right:ee+xs},children:[(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-bubble-main`,children:[`行 `,(P+1).toLocaleString(),(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-bubble-total`,children:[` `,`/ `,u.rowCount.toLocaleString()]})]}),F!==null&&(0,n.jsx)(`span`,{className:`ssg-scroll-hint-bubble-detail`,children:F})]}),t.scrollbar&&(0,n.jsx)(`div`,{ref:w,className:i(`ssg-scroll-hint-scrollbar`,b&&`ssg-scroll-hint-scrollbar--dragging`),style:{top:s,height:E,width:14},onPointerDown:e=>{e.preventDefault();let t=te(e),n=t>=D.thumbTop&&t<=D.thumbTop+D.thumbHeight?t-D.thumbTop:D.thumbHeight/2;C.current=n,x(!0),y(null),w.current?.setPointerCapture(e.pointerId),ne(t,n)},onPointerMove:e=>{let t=te(e);if(C.current!==null){ne(t,C.current);return}y(t)},onPointerUp:e=>{C.current=null,x(!1),w.current?.releasePointerCapture(e.pointerId)},onPointerEnter:()=>h(!0),onPointerLeave:()=>{h(!1),C.current===null&&y(null)},children:(0,n.jsx)(`div`,{className:`ssg-scroll-hint-scrollbar-thumb`,style:{top:D.thumbTop,height:D.thumbHeight}})})]})}var Ts=(e,t)=>e.findIndex(e=>e.key===t),Es=(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},Ds=(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},Os=220,ks=8,As=34,js=16,Ms=({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*As+js,n=e.x,r=e.y,i=e.y-t;n=Math.max(ks,n),n=Math.min(n,window.innerWidth-Os-ks),r+t>window.innerHeight-ks&&(r=i),r=Math.max(ks,r),a(e=>e&&e.top===r&&e.left===n&&e.width===Os?e:{top:r,left:n,width:Os})},[]),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 Ns({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 Ps=(e,t)=>{let n=new Set(e);return n.add(t),n},Fs=(e,t)=>{let n=new Set(e);return n.delete(t),n},Is=(e,t)=>{let n=new Set(e);for(let e of t)n.add(e);return n},Ls=(e,t)=>{let n=new Set(e);for(let e of t)n.delete(e);return n},Rs=[],zs={},Bs={},Vs=[],Hs={compact:{rowHeight:28,headerHeight:32},standard:{rowHeight:36,headerHeight:40},comfortable:{rowHeight:44,headerHeight:48}},Us={},Ws=[],Gs=300,Ks=4,qs=300;function Js({rows:r=Rs,dataSource:o,serverSideRefreshToken:d,onServerSideLoadError:p,onServerSideWriteError:m,columns:g,onRowsChange:_,onColumnsChange:v,rowKeyGetter:y,createRow:b,createOverflowColumn:T,rowHeight:D,autoHeight:ne=!1,estimateRowHeight:re,headerHeight:ie,density:ue=`standard`,theme:me=`light`,rowHeaderWidth:he=56,height:ge,maxHeight:_e,readOnly:ve=!1,dimReadOnlyCells:ye=!1,canEditCell:be,enableUndoRedo:xe=!0,enableClearOnDelete:Se=!0,editorEnterMove:Ce=`down`,undoHistoryLimit:we=100,onUndoRedoStateChange:Te,enableRangeSelection:Ee=!0,enableRowSelection:De=!1,rowSelectionMode:Oe=`multiple`,enableSelectAllRows:ke,rowSelection:je,selectedRowKeys:Me,onRowSelectionChange:Fe,enableGlobalFilter:Ie=!0,enableColumnFilter:Le=!0,renderFilterDateInput:Re,enableSorting:ze=!0,enableColumnResize:Be=!0,autoSizeColumns:Ve=!1,showCellOverflowTooltip:We=!1,showValidationMarks:Ge=!0,enableRowHover:Ke=!0,enableColumnHeaderHover:Je=!0,enableColumnMenu:et=!0,noMatchingRowsText:rt=`一致する行がありません`,noRowsText:it=`表示する行がありません`,showTopBar:at=!0,showBottomBar:ot=!0,showTopBarSummary:st=!0,showTopBarFilter:ct=!0,globalFilterPlaceholder:lt,globalFilterIcon:ut,showTopBarCounts:dt=!0,showBottomBarCounts:ft=!0,showFilterChipBar:gt=!1,renderTopBar:_t,renderBottomBar:vt,className:yt,classNames:R,getRowClassName:bt,enableContextMenu:xt=!1,getContextMenuItems:St,onContextMenuOpen:Tt,scrollHint:Et,ref:Dt,onStateChange:Ot,onScroll:At}){let z=r,B=g,Mt=D??Hs[ue].rowHeight,V=ie??Hs[ue].headerHeight,Pt=(0,e.useMemo)(()=>ps(Et),[Et]),Ft=(0,e.useRef)(null),Lt=(0,e.useRef)(null),Rt=(0,e.useRef)(null),zt=(0,e.useRef)(null),Vt=(0,e.useRef)(!1),Ht=(0,e.useRef)(null),Ut=(0,e.useRef)(null),Wt=(0,e.useRef)(null),[Kt,qt]=(0,e.useState)(``),[Jt,Yt]=(0,e.useState)(!1),[Xt,Zt]=(0,e.useState)(null),[Qt,$t]=(0,e.useState)(null),{groupColumns:en,aggColumns:tn}=(0,e.useMemo)(()=>ar(B),[B]),nn=o==null&&en.length>0,an=(0,e.useMemo)(()=>nn?[{key:er,title:en.map(e=>e.title||e.key).join(` › `),width:240,minWidth:120,readOnly:!0,suppressAutoSize:!0},...B.filter(e=>e.rowGroup!==!0)]:B,[nn,B,en]),H=(0,e.useMemo)(()=>an.filter(e=>e.visible!==!1),[an]),U=(0,e.useMemo)(()=>l(H),[H]),cn=(0,e.useMemo)(()=>y??((e,t)=>t),[y]),W=o!=null,ln=ze,un=Le,dn=Ie,[G,K]=(0,e.useReducer)(oe,H,ae),mn=(0,e.useRef)(G.columnWidths),hn=(0,e.useRef)(null),gn=(0,e.useRef)(null);gn.current===null&&(gn.current=new Map(B.map(e=>[e.key,{width:e.width,pinned:e.pinned,visible:e.visible}])));let _n=(0,e.useMemo)(()=>de(G.selection),[G.selection]),vn=(0,e.useMemo)(()=>u(U),[U]),[yn,bn]=(0,e.useState)(0),xn=vn.left.reduce((e,{column:t})=>e+(G.columnWidths[t.key]??t.width),0),Sn=vn.right.reduce((e,{column:t})=>e+(G.columnWidths[t.key]??t.width),0),Cn=vn.left.length>0,wn=Cn?he+xn:0,Tn=Cn?0:he,On=(0,e.useMemo)(()=>vn.center.map(({column:e})=>e),[vn.center]),kn=(0,e.useMemo)(()=>On.some(w),[On]),An=yn-wn-Sn-Tn,jn=(0,e.useMemo)(()=>!kn||yn<=0?Us:E(On,G.columnWidths,An),[kn,yn,On,G.columnWidths,An]),Mn=(0,e.useMemo)(()=>jn===Us?G.columnWidths:{...jn,...G.columnWidths},[jn,G.columnWidths]);mn.current=Mn;let Nn=f(vn.left,G.columnWidths),Fn=f(vn.center,Mn),In=f(vn.right,G.columnWidths),Rn=(0,e.useMemo)(()=>h(`left`,vn.left,Nn),[vn.left,Nn]),zn=(0,e.useMemo)(()=>h(`center`,vn.center,Fn),[vn.center,Fn]),qn=(0,e.useMemo)(()=>h(`right`,vn.right,In),[vn.right,In]),Jn=(0,e.useMemo)(()=>({left:Rn,center:zn,right:qn}),[Rn,zn,qn]),Yn=Jn.left.entries.length>0,Xn=Jn.right.entries.length>0,Zn=!Yn,Qn=he,$n=Zn?he:0,ir=Yn?Qn+Jn.left.totalWidth:0,fr=Jn.right.totalWidth,_r=$n+Jn.center.totalWidth,br=ir+_r+fr,xr=(0,e.useRef)(new Map),Sr=(0,e.useCallback)(e=>{let t=G.filters.columnFilters[e.key];if(t?.kind===`numberSet`||t?.kind===`textSet`||t?.kind===`dateSet`||t?.kind===`text`)return t.kind;let n=xr.current.get(e.key);if(n)return n;let r=vi({editorType:e.editor?.type,isServerSide:W,rowCount:z.length,getRawValueAt:t=>L(z[t],e)});return r.conclusive&&xr.current.set(e.key,r.filterType),r.filterType},[G.filters.columnFilters,W,z]),{filterPopoverState:q,filterPopoverLayout:Tr,filterPopoverRef:Er,filterTextInputRef:Dr,filterSelectRef:Or,isFilterPopoverOpen:kr,openedFilterColumn:J,openedFilterType:Y,openColumnFilterPopover:Ar,closeColumnFilterPopover:jr,updateFilterPopoverDraft:Mr,updateFilterPopoverNumberDraft:Nr,updateFilterPopoverTextDraft:Pr,updateFilterPopoverDateDraft:Fr}=rn({visibleColumns:H,columnFilterValues:G.filters.columnFilters,enableColumnFilter:un,gridRootRef:Ft,resolveColumnFilterType:Sr}),{columnMenuLayout:Ir,columnMenuRef:Lr,isColumnMenuOpen:Rr,openedMenuColumnKey:zr,openedMenuColumn:Br,openColumnMenuFromButton:Vr,openColumnMenuFromContextMenu:Hr,closeColumnMenu:X}=Ro({visibleColumns:H,enableColumnMenu:et,gridRootRef:Ft}),{activeToolPanelTab:Wr,availableToolPanelTabs:Gr,toolPanelLayout:Kr,toolPanelFlashTick:Jr,toolPanelRef:Yr,openToolPanel:Xr,closeToolPanel:Zr,moveToolPanel:Qr}=Xo({canUseFilterTab:un,canUseColumnsTab:et,canUseSortTab:ln,gridRootRef:Ft,alliedRef:Er,suppressEscape:kr,onSuppressedEscape:jr}),{contextMenuState:$r,contextMenuLayout:ei,contextMenuRef:ti,isContextMenuOpen:ni,openContextMenu:ri,closeContextMenu:ii}=Ms({gridRootRef:Ft});(0,e.useEffect)(()=>{let e=H.reduce((e,t)=>(w(t)||(e[t.key]=t.width),e),{});K(a.resetColumnWidths(e))},[H]);let ai=G.filters.globalText,oi=G.filters.columnFilters,ci=(0,e.useDeferredValue)(oi),{order:li,status:di,progress:pi}=Fa({rows:z,baseOrder:(0,e.useMemo)(()=>Ye(z.length),[z.length]),columns:H,globalText:ai,enabled:dn}),mi=(0,e.useMemo)(()=>{let e=[];for(let t of H)pt(ci[t.key])&&e.push(t.key);return e.join(`\0`)},[H,ci]),hi=(0,e.useMemo)(()=>{let e=new Map;if(mi.length===0)return e;let t=new Set(mi.split(`\0`)),n=z.length;for(let r of H){if(!t.has(r.key))continue;let i=new Float64Array(n);for(let e=0;e<n;e+=1)i[e]=nt(L(z[e],r));e.set(r.key,i)}return e},[z,H,mi]),gi=(0,e.useMemo)(()=>Ct(z,li,H,ci,hi),[z,li,H,ci,hi]),_i=(0,e.useMemo)(()=>Kn(z,gi,H,G.sort),[z,gi,H,G.sort]);(0,e.useEffect)(()=>{},[W,en.length]);let yi=(0,e.useMemo)(()=>nn?or(z,_i,en,tn):null,[nn,z,_i,en,tn]),wi=(0,e.useMemo)(()=>yi?sr(yi,G.collapsedGroupKeys):null,[yi,G.collapsedGroupKeys]),Ti=(0,e.useCallback)(e=>{K(a.toggleGroupCollapsed(e))},[K]),ki=(0,e.useMemo)(()=>{if(wi){let{displayOrder:e,groups:t}=wi;return{getRowCount:()=>e.length,getRow:t=>z[e[t]],getSourceIndex:t=>{let n=e[t];return n>=0?n:void 0},getRowKey:n=>{let r=e[n];return nr(r)?tr(t[rr(r)]):cn(z[r],r)},getGroupRow:n=>{let r=e[n];return nr(r)?t[rr(r)]:void 0}}}return{getRowCount:()=>_i.length,getRow:e=>z[_i[e]],getSourceIndex:e=>_i[e],getRowKey:e=>cn(z[_i[e]],_i[e])}},[wi,_i,z,cn]),Ai=(0,e.useMemo)(()=>W?Ga({globalText:dn?ai:``,columnFilters:un?oi:Bs,sort:ln?G.sort:Vs}):zs,[W,dn,ai,un,oi,ln,G.sort]),ji=(0,e.useMemo)(()=>W?Ka(Ai):``,[W,Ai]),[Ii,Li]=(0,e.useState)(Ai),[Ri,zi]=(0,e.useState)(ji);(0,e.useEffect)(()=>{if(!W)return;let e=setTimeout(()=>{Li(Ai),zi(ji)},qs);return()=>clearTimeout(e)},[W,ji,Ai]);let Bi=Wa({dataSource:o,rowKeyGetter:cn,query:Ii,queryKey:Ri,refreshToken:d,onLoadError:p,onWriteError:m}),[Vi,Hi]=(0,e.useState)(null),[Ui,Wi]=(0,e.useState)(null),Zi=Bi.requestRange,Z=W?Bi.rowModel:ki,$i=(0,e.useMemo)(()=>W&&!Bi.canUpdateRows?()=>!1:be,[W,Bi.canUpdateRows,be]),ea=W&&Bi.canUpdateRows?Bi.applyCellEdits:void 0,ta=(0,e.useRef)(Z);ta.current=Z;let na=(0,e.useCallback)(e=>{if(!xt||!St)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=Z.getRow(i);if(!a)return;let o=Z.getRowKey(i)??i,s,c,l=t.closest(`[data-ssg-col-key]`),u=l?.dataset.ssgColKey;if(l&&u!==void 0){let e=Ts(U,u);if(e<0)return;let t=U[e];s={type:`cell`,rowIndex:i,colIndex:e,rowKey:o,row:a,column:t,value:L(a,t)},c=Es(G.selection,i,e)}else s={type:`rowHeader`,rowIndex:i,rowKey:o,row:a},c=Ds(G.selection,i);let d={target:s,clientX:e.clientX,clientY:e.clientY,selection:G.selection,activeCell:G.activeCell,isTargetSelected:c},f=St(d);!f||f.length===0||(e.preventDefault(),Tt?.(d),ri(d,f))},[xt,St,Tt,Z,U,G.selection,G.activeCell,ri]),{isAutosizing:ra,runAutosize:ia}=xa({rowModelRef:ta,gridRootRef:Ft,columnWidthsRef:mn,dispatch:K}),aa=(0,e.useRef)(H);aa.current=H;let oa=(0,e.useRef)(!1);(0,e.useEffect)(()=>{let{shouldRun:e,nextHasAutoSizedOnMount:t}=Si({mode:Ve,isServerSide:W,rowCount:z.length,hasAutoSizedOnMount:oa.current});oa.current=t,e&&ia(aa.current)},[Ve,z,W,ia]);let Q=Z.getRowCount(),sa=wi?_i.length:Q,ca=Pt!==null&&Q>=Pt.minRows?Pt:null,la=(0,e.useMemo)(()=>{let e=null;return()=>e??=Array.from(_i,e=>z[e])},[_i,z]),ua=(0,e.useMemo)(()=>s(H,Mn),[H,Mn]),[da,fa]=(0,e.useState)(0),[pa,ma]=(0,e.useState)(0),ha=(0,e.useRef)(null);(0,e.useEffect)(()=>{ha.current=At??null},[At]);let ga=(0,e.useRef)(0),_a=(0,e.useRef)(null);(0,e.useEffect)(()=>{let e=Ht.current;if(!e)return;fa(e.scrollTop),ma(e.clientHeight),bn(e.clientWidth);let t=null,n=()=>{t=null;let e=_a.current;_a.current=null,e&&ha.current?.(e)},r=()=>{fa(e.scrollTop);let r=ga.current>0?`api`:`user`;r===`api`&&--ga.current;let i=_a.current;_a.current={top:e.scrollTop,left:e.scrollLeft,source:i?.source===`user`?`user`:r},ha.current&&t===null&&(t=requestAnimationFrame(n))};e.addEventListener(`scroll`,r,{passive:!0});let i=new ResizeObserver(()=>{ma(e.clientHeight),bn(e.clientWidth)});return i.observe(e),()=>{e.removeEventListener(`scroll`,r),t!==null&&cancelAnimationFrame(t),i.disconnect()}},[]);let va=Jn.center.entries,ya=(0,t.useVirtualizer)({horizontal:!0,count:va.length,getScrollElement:()=>Ht.current,estimateSize:e=>va[e]?.paneLocalSize??va[e]?.column.width??120,overscan:8,useFlushSync:!1,scrollMargin:ir}),ba=ya.getVirtualItems(),Sa=re??Mt,Ca=(0,e.useMemo)(()=>H.some(e=>e.autoHeight===!0),[H]),wa=!W&&dr(ne,Ca,Q,5e4);(0,e.useEffect)(()=>{},[ne,Ca,Q,W]);let Ta=(0,e.useRef)(new Map),[Ea,Da]=(0,e.useState)(0),[Oa,ka]=(0,e.useState)(0),Aa=(0,e.useRef)(null),ja=(0,e.useRef)(new Set),Na=(0,e.useMemo)(()=>wa?Yi(Q,Sa,Z.getRowKey,Ta.current):null,[wa,Q,Sa,Z]),Pa=(0,e.useMemo)(()=>wa&&Na?Qi(Na):pr(Q,Mt),[wa,Na,Ea,Q,Mt]),Ia=(0,e.useMemo)(()=>wa?yr({headerHeight:V,viewportHeight:pa,scrollTop:da,overscan:20},Pa):vr({rowCount:Q,rowHeight:Mt,headerHeight:V,viewportHeight:pa,scrollTop:da,overscan:20,maxBodyPx:ur}),[wa,Pa,Q,Mt,V,pa,da]),La=Ia.rows,Ra=Ia.rowIndexSet,za=La.length>0?La[0].index:0,Ba=La.length>0?La[La.length-1].index:-1;(0,e.useEffect)(()=>{if(!W)return;let e=Ht.current;e&&(e.scrollTop=0),fa(0)},[W,Ri]),(0,e.useEffect)(()=>{W&&(Ba<za||Zi(za,Ba+1))},[W,za,Ba,Zi,Ri]);let Va=Ia.physicalBodyHeight,Ha=Ia.translateY===0?void 0:`translateY(${Ia.translateY}px)`,Ua=Ia.scaleFactor,qa=Ia.windowBaseOffsetPx;(0,e.useLayoutEffect)(()=>{if(!wa||!Na){Aa.current?.disconnect(),Aa.current=null,ja.current.clear();return}let e=Ht.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=Z.getRowKey(t)??t;Xi(Na,t,n,e)&&(r=!0,t<i&&(i=t))}),r){let t=e.scrollTop,n=Pa.rowAtContentY(t),r=t-Pa.rowTop(n);Ji(Na,i),e.scrollTop=Na.prefix[n]+r,Da(e=>e+1)}}let n=Aa.current??new ResizeObserver(()=>ka(e=>e+1));Aa.current=n;let r=ja.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)})},[wa,Na,Pa,Z,La,pa,Ea,Oa]),(0,e.useEffect)(()=>{let e=ja.current;return()=>{Aa.current?.disconnect(),Aa.current=null,e.clear()}},[]);let Ja=(0,e.useMemo)(()=>ba.map(e=>va[e.index]).filter(e=>!!e),[ba,va]),Xa=Jn.left.entries,Za=Jn.right.entries,$a=(0,e.useMemo)(()=>{if(!G.activeCell)return null;let{row:e,col:t}=G.activeCell;if(e<0||e>=Q)return null;let n=C(Jn,t);return n?{pane:n.pane,rect:{left:n.extent.start,top:Pa.rowTop(e),width:n.extent.width,height:Pa.rowsHeight(e,e)}}:null},[G.activeCell,Q,Jn,Pa]),eo=(0,e.useMemo)(()=>$a&&$a.pane===`center`?$a.rect:null,[$a]),to=(0,e.useCallback)(e=>$a&&$a.pane===e?$a.rect:null,[$a]),no=(0,e.useCallback)(e=>G.editingCell?to(e):null,[G.editingCell,to]),ro=qr(me)===`dark`?`ssg-theme-dark`:void 0;Ur(),wr({scrollRef:Ht,columnVirtualizer:ya,columnMeasurements:ua,totalScrollWidth:br,physicalBodyHeight:Va,headerHeight:V,leftPaneWidth:ir,rightPaneWidth:fr,centerLeadingWidth:$n,activeCellRect:eo,activeCell:G.activeCell,verticalScaleFactor:Ua});let io=(0,e.useMemo)(()=>{if(je!==void 0)return je;if(Me!==void 0)return{type:`include`,rowKeys:Me}},[je,Me]),ao=io!==void 0,oo=ke??(De&&Oe===`multiple`),so=G.rowSelection,co=P(so,sa),lo=(0,e.useRef)(so);lo.current=so;let uo=(0,e.useRef)(Oe);uo.current=Oe;let fo=(0,e.useRef)(Fe);fo.current=Fe;let po=(0,e.useRef)(ao);po.current=ao;let mo=(0,e.useRef)(null),_o=(0,e.useCallback)(e=>{te(lo.current,e)||fo.current?.(F(e)),po.current||K(a.setRowSelectionState(e))},[K]),vo=(0,e.useRef)(_o);vo.current=_o;let bo=(0,e.useCallback)((e,t)=>{let n=ta.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},[]),xo=(0,e.useCallback)((e,t)=>{let n=ta.current;if(!n.getRow(e))return;let r=n.getRowKey(e)??e;if(uo.current===`single`){mo.current=e,_o(A(r));return}if(t.shiftKey&&mo.current!==null){_o(j(bo(mo.current,e)));return}mo.current=e,_o(k(lo.current,r))},[_o,bo]),So=(0,e.useCallback)(e=>{let t=ta.current;if(t.getRow(e)){if(uo.current===`single`){_o(A(t.getRowKey(e)??e));return}mo.current!==null&&_o(j(bo(mo.current,e)))}},[_o,bo]),Co=(0,e.useCallback)(()=>{let e=P(lo.current,sa);_o(e===`all`?ee():M())},[_o,sa]);(0,e.useEffect)(()=>{if(!ao||!io)return;let e=I(io);te(lo.current,e)||K(a.setRowSelectionState(e))},[ao,io,K]);let{updateSelectionFromPointer:wo,handleCellPointerDown:To,handleCellPointerEnter:Eo,handleNativeDragStart:Do,handleRowHeaderPointerDown:Oo,handleRowHeaderPointerEnter:ko,handleColumnHeaderPointerDown:jo,handleColumnHeaderPointerEnter:Mo}=Cr({gridRootRef:Ft,bodyScrollRef:zt,scrollContainerRef:Ht,leftPaneScrollRef:Ut,rightPaneScrollRef:Wt,pointerClientRef:Lt,autoScrollFrameRef:Rt,uiState:G,dispatch:K,enableRangeSelection:Ee,enableSorting:ln,orderedColumns:U,filteredRowsLength:Q,visibleColumnsLength:H.length,paneLayout:Jn,leftLeadingWidth:Qn,centerLeadingWidth:$n,rightLeadingWidth:0,headerHeight:V,rowMetrics:Pa,verticalScaleFactor:Ua,setHoveredRowIndex:Zt,setHoveredColumnIndex:$t,enableRowHover:Ke,enableColumnHeaderHover:Je,enableRowSelection:De,onGutterRowSelect:xo,onGutterRowSelectDrag:So}),Po=(0,e.useRef)(()=>{}),Fo=(0,e.useCallback)(e=>{e&&requestAnimationFrame(()=>{Po.current(e.row,e.col,`auto`)})},[]),Io=xe&&!ve&&!W,{handleRowsChange:Lo,undo:zo,redo:Bo,canUndo:Vo,canRedo:Ho,clearHistory:Uo}=Pn({rows:z,selection:G.selection,activeCell:G.activeCell,onRowsChange:_,dispatch:K,enabled:Io,limit:we,onUndoRedoStateChange:Te,onAfterRestore:Fo}),Go=(0,e.useCallback)(()=>{if(ea){let e=xi({getRow:e=>Z.getRow(e),columns:U,selection:G.selection,activeCell:G.activeCell,viewRowCount:Q,canWriteCell:(e,t,n,r)=>Ae({readOnly:ve,canEditCell:$i},e,t,n,r)});e.length>0&&ea(e);return}if(!Lo)return;let{nextRows:e,changed:t}=bi({rows:z,resolveSourceIndex:e=>Z.getSourceIndex(e),columns:U,selection:G.selection,activeCell:G.activeCell,viewRowCount:Q,canWriteCell:(e,t,n,r)=>Ae({readOnly:ve,canEditCell:$i},e,t,n,r)});t&&Lo(e)},[ea,$i,Lo,U,ve,Z,z,G.activeCell,G.selection,Q]),{isWholeGridSelected:Ko,handleCopy:qo,handlePaste:Jo}=fn({rows:z,rowModel:Z,visibleColumns:U,uiState:G,readOnly:ve,canEditCell:$i,createRow:b,createOverflowColumn:T,onRowsChange:Lo,onColumnsChange:v,applyServerSideCellEdits:ea,dispatch:K}),Yo=(0,e.useCallback)(()=>{if(Q===0||H.length===0)return;let e={row:0,col:0},t={row:Q-1,col:H.length-1};K(a.startSelection(e)),K(a.updateSelection(t)),K(a.endSelection()),K(a.activateCell(e))},[K,Q,H.length]),Zo=(0,e.useCallback)(e=>{let t=Z.getRow(e.row),n=U[e.col];if(!t||!n||!Ae({readOnly:ve,canEditCell:$i},e.row,e.col,t,n)||n.editor?.type===`checkbox`)return;let r=L(t,n);qt(String(r??``)),K(a.startEdit(e))},[$i,K,Z,ve,U]),$o=(0,e.useCallback)(e=>{if(!Lo&&!ea)return;let t=Z.getRow(e.row),n=U[e.col];if(!t||!n||n.editor?.type!==`checkbox`||!Ae({readOnly:ve,canEditCell:$i},e.row,e.col,t,n))return;let r=Pe(L(t,n),n.editor);if(on(n,t,r).action===`reject`)return;if(ea){ea([{viewIndex:e.row,column:n,value:r}]);return}if(!Lo)return;let i=Z.getSourceIndex(e.row);i!==void 0&&Lo(He(z,i,n,r))},[ea,$i,Lo,U,ve,Z,z]),{handleKeyDown:es}=Ln({uiState:G,rowModel:Z,visibleColumns:U,readOnly:ve,canEditCell:$i,setEditorInitialValue:qt,dispatch:K,handleCopy:qo,handleCellDoubleClick:Zo,isWholeGridSelected:Ko,selectEntireGrid:Yo,onUndo:zo,onRedo:Bo,onClearSelection:Go,enableClearOnDelete:Se,onToggleCheckboxCell:$o,onToggleGroup:Ti}),{startEditWithValue:ts,commitEdit:ns,cancelEdit:rs}=Dn({uiState:G,rows:z,visibleColumns:U,rowModel:Z,setEditorInitialValue:qt,onRowsChange:Lo,applyServerSideCellEdits:ea,dispatch:K,gridRootRef:Ft,editorActionGuardRef:Vt}),is=G.editingCell?U[G.editingCell.col]:void 0,as=G.editingCell?Z.getRow(G.editingCell.row):void 0,ss=G.editingCell&&is&&as?{row:as,rowIndex:G.editingCell.row,sourceRowIndex:Z.getSourceIndex(G.editingCell.row)??G.editingCell.row,rowKey:Z.getRowKey(G.editingCell.row)??G.editingCell.row,colIndex:G.editingCell.col,column:is,value:L(as,is)}:null,ls=(0,e.useCallback)(e=>{let t=Z.getRow(e.row),n=U[e.col];if(!t||!n||!Ae({readOnly:ve,canEditCell:$i},e.row,e.col,t,n)||n.editor?.type===`checkbox`)return;let r=L(t,n);ts(e,String(r??``))},[$i,Z,ve,ts,U]),us=(0,e.useMemo)(()=>{if(!G.selection)return null;if(G.selection.type===`cell`){let e=se(G.selection.range);return{extents:x(Jn,e.start.col,e.end.col),startRow:e.start.row,endRow:e.end.row}}if(G.selection.type===`row`){let e=ce(G.selection.startRow,G.selection.endRow);return{extents:S(Jn),startRow:e.startRow,endRow:e.endRow}}let e=le(G.selection.startCol,G.selection.endCol);return{extents:x(Jn,e.startCol,e.endCol),startRow:0,endRow:Math.max(Q-1,0)}},[G.selection,Jn,Q]),ms=(0,e.useMemo)(()=>{if(!us)return null;let e=mr(us.startRow,us.endRow,za,Ba);return e?{top:Pa.rowTop(e.start),height:Pa.rowsHeight(e.start,e.end)}:null},[us,Pa,za,Ba]),hs=(0,e.useCallback)(e=>{if(!us||!ms)return null;let t=us.extents[e];return t?{left:t.start,top:ms.top,width:t.width,height:ms.height}:null},[us,ms]),gs=(0,e.useCallback)(e=>{if(e.preventDefault(),e.button===0&&!(Q===0||H.length===0)){if(Ft.current?.focus({preventScroll:!0}),oo){Co();return}if(Ko){K(a.clearSelection()),K(a.activateCell(null));return}Yo()}},[K,Q,Ko,Yo,H.length,oo,Co]),_s=(0,e.useCallback)(e=>{Zt(t=>t===e?null:t)},[]),vs=(0,e.useCallback)(e=>{$t(t=>t===e?null:t)},[]),ys=(0,e.useCallback)(()=>{Yt(!0)},[]),bs=(0,e.useCallback)(()=>{Yt(!1)},[]),xs=(0,e.useCallback)((e,t)=>{t.preventDefault(),t.stopPropagation();let n=t.timeStamp,r=hn.current;if(r&&r.key===e.key&&n-r.time<Gs&&Math.abs(t.clientX-r.x)<Ks){hn.current=null,ia([e]);return}hn.current={key:e.key,time:n,x:t.clientX},K(a.startColumnResize(e.key,t.clientX,mn.current[e.key]??e.width,e.minWidth??60,e.maxWidth))},[K,ia]),Ss=(0,e.useCallback)((e,t)=>{if(X(),!v)return;let n=B.find(t=>t.key===e);n&&(n.pinned??void 0)!==t&&(v(B.map(n=>{let r=mn.current[n.key]??n.width;return n.key===e?{...n,width:r,pinned:t}:r===n.width?n:{...n,width:r}})),K(a.stopEdit()),K(a.clearSelection()),K(a.activateCell(null)))},[X,B,K,v]),Cs=(0,e.useCallback)(e=>{X();let t=H.find(t=>t.key===e);t&&ia([t])},[X,ia,H]),Os=(0,e.useCallback)(()=>{X(),ia(H)},[X,ia,H]),ks=(0,e.useMemo)(()=>B.map(e=>({key:e.key,title:e.title??e.key,visible:e.visible!==!1,pane:c(e)})),[B]),As=(0,e.useCallback)(()=>{X(),Xr(`columns`)},[X,Xr]),js=(0,e.useMemo)(()=>H.map(e=>({key:e.key,title:e.title??e.key})),[H]),Js=(0,e.useCallback)(()=>{X(),Xr(`sort`)},[X,Xr]),Ys=(0,e.useCallback)(e=>{X(),Ar(e)},[X,Ar]),Xs=(0,e.useMemo)(()=>{let e=[],t=(t,n)=>{let r=oi[t.key];!r||!tt(r)||e.push({columnKey:t.key,title:t.title||t.key,summaryText:ui(r,r.kind===`dateSet`?qe(t.dateFilterPresets):void 0),isHidden:n})};for(let e of U)t(e,!1);for(let e of B)e.visible===!1&&t(e,!0);return e},[oi,B,U]),Zs=(0,e.useMemo)(()=>H.filter(e=>!!e.filterType&&!tt(oi[e.key])).map(e=>({key:e.key,title:e.title||e.key})),[oi,H]),Qs=(0,e.useCallback)(()=>{X(),Xr(`filter`)},[X,Xr]),$s=(0,e.useCallback)(()=>{Wr===`filter`?Zr():Xr(`filter`)},[Wr,Zr,Xr]),ec=(0,e.useCallback)(e=>{let t=$.current,n=Ht.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=qi({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=Ft.current?.querySelectorAll(`[data-ssg-col-key]`);return t?Array.from(t).find(t=>t.dataset.ssgColKey===e)??null:null},o=e=>{if(!Ft.current)return;let t=a();if(t===null){e<8&&requestAnimationFrame(()=>o(e+1));return}Ar(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)})},[Ft,Ar]),tc=(0,e.useCallback)(e=>{K(a.clearColumnFilter(e))},[K]),nc=(0,e.useCallback)(()=>{K(a.setAllFilters({globalText:G.filters.globalText,columnFilters:{}}))},[K,G.filters.globalText]),rc=(0,e.useCallback)(()=>{K(a.setGlobalFilter(``))},[K]),ic=(0,e.useCallback)((e,t)=>{if(!v)return;let n=B.find(t=>t.key===e);n&&n.visible!==!1!==t&&(!t&&B.filter(e=>e.visible!==!1).length<=1||(v(B.map(n=>{let r=mn.current[n.key]??n.width;return n.key===e?{...n,width:r,visible:t}:r===n.width?n:{...n,width:r}})),K(a.stopEdit()),K(a.clearSelection()),K(a.activateCell(null))))},[B,K,v]),ac=(0,e.useCallback)(()=>{v&&B.some(e=>e.visible===!1)&&(v(B.map(e=>{let t=mn.current[e.key]??e.width,n=t!==e.width,r=e.visible===!1;return!n&&!r?e:r?{...e,width:t,visible:!0}:{...e,width:t}})),K(a.stopEdit()),K(a.clearSelection()),K(a.activateCell(null)))},[B,K,v]),oc=(0,e.useCallback)(()=>{if(!v)return;let e=U[0]?.key;e!==void 0&&B.some(t=>t.visible!==!1&&t.key!==e)&&(v(B.map(t=>{let n=mn.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}})),K(a.stopEdit()),K(a.clearSelection()),K(a.activateCell(null)))},[B,K,v,U]),sc=(0,e.useCallback)((e,t)=>{if(!v||e.length!==B.length)return;let n=new Map(B.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=mn.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===B.length&&r.every((e,t)=>{let n=B[t];return!!n&&n.key===e.key&&n.width===e.width&&(n.pinned??void 0)===(e.pinned??void 0)})||(v(r),K(a.stopEdit()),K(a.clearSelection()),K(a.activateCell(null)))},[B,K,v]),cc=(0,e.useCallback)(e=>{sc(e)},[sc]),{onColumnDragHandlePointerDown:lc,leftIndicatorRef:uc,centerIndicatorRef:dc,rightIndicatorRef:fc,applyReorderSettle:pc}=si({enabled:!!v,columns:B,paneLayout:Jn,leftPaneScrollRef:Ut,rightPaneScrollRef:Wt,bodyScrollRef:zt,scrollContainerRef:Ht,leftLeadingWidth:Qn,centerLeadingWidth:$n,rightLeadingWidth:0,applyColumnOrderAndPin:sc});(0,e.useLayoutEffect)(()=>{pc()},[Jn,pc]);let mc=v?lc:void 0,hc={position:`absolute`,top:0,height:V+Va,transform:`translateX(-1px)`,pointerEvents:`none`,zIndex:8,display:`none`},gc=(0,e.useCallback)(()=>{if(!v)return;let e=gn.current;if(!e)return;let t=Ci(B,e,mn.current);t!==null&&(v(t),K(a.stopEdit()),K(a.clearSelection()),K(a.activateCell(null)))},[B,K,v]),_c=(0,e.useCallback)(()=>{X(),gc()},[X,gc]),vc=(0,e.useCallback)(e=>J?L(z[e],J):void 0,[z,J]),{options:yc,allValues:bc,status:xc,progress:Sc}=Ma({column:J,rowCount:z.length,getRawValueAt:vc}),Cc=Y===`dateSet`,wc=(0,e.useMemo)(()=>Cc?fi(yc):yc,[Cc,yc]),Tc=(0,e.useMemo)(()=>Cc?new Set(wc.map(e=>e.value)):bc,[Cc,wc,bc]),Ec=J?G.filters.columnFilters[J.key]:void 0,Dc=(0,e.useMemo)(()=>{let e=Xe(Ec)?Ec:Ze(Ec)||Qe(Ec)||$e(Ec)?Ec.set:null;return e?{mode:e.mode===`exclude`?`exclude`:`include`,values:new Set(e.values)}:null},[Ec]),Oc=!(J?.filterOptions&&J.filterOptions.length>0),kc=(0,e.useCallback)((e,t)=>{let n=J?.key===e?Y:void 0,r=G.filters.columnFilters[e];if(n===`numberSet`){let e=Ze(r)?r.condition:null;return!e&&!t?null:{kind:`numberSet`,condition:e,set:t}}if(n===`textSet`){let e=Qe(r)?r.condition:null;return!e&&!t?null:{kind:`textSet`,condition:e,set:t}}if(n===`dateSet`){let e=$e(r)?r.condition:null;return!e&&!t?null:{kind:`dateSet`,condition:e,set:t}}return null},[J,G.filters.columnFilters,Y]),Ac=Y===`numberSet`||Y===`textSet`||Y===`dateSet`,jc=(0,e.useCallback)((e,t,n)=>{let r=J?.key===e&&Ac,i=t.mode===`include`?t.values.size:n-t.values.size;if(i>=n){if(r){let t=kc(e,null);if(t){K(a.setColumnFilter(e,t));return}}K(a.clearColumnFilter(e));return}let o=i<=0?{mode:`include`,values:[]}:{mode:t.mode,values:Array.from(t.values)};if(r){let t=kc(e,o);if(t){K(a.setColumnFilter(e,t));return}}let s={kind:`set`,...o};K(a.setColumnFilter(e,s))},[K,J,Ac,kc]),Mc=(0,e.useCallback)(e=>{if(!q)return;let t=wc.length,n=Dc,r;r=Qa(n,e)?n===null?Oc?{mode:`exclude`,values:new Set([e])}:{mode:`include`,values:Fs(Tc,e)}:n.mode===`include`?{mode:`include`,values:Fs(n.values,e)}:{mode:`exclude`,values:Ps(n.values,e)}:n.mode===`include`?{mode:`include`,values:Ps(n.values,e)}:{mode:`exclude`,values:Fs(n.values,e)},jc(q.columnKey,r,t)},[q,Dc,Oc,Tc,wc,jc]),Nc=(0,e.useCallback)((e,t)=>{if(!q)return;let n=q.columnKey,r=wc.length;if(e===`all`){jc(n,t?{mode:`exclude`,values:new Set}:{mode:`include`,values:new Set},r);return}let i=Dc,a;if(t){if(i===null){jc(n,{mode:`exclude`,values:new Set},r);return}a=i.mode===`include`?{mode:`include`,values:Is(i.values,e)}:{mode:`exclude`,values:Ls(i.values,e)}}else a=i===null?Oc?{mode:`exclude`,values:new Set(e)}:{mode:`include`,values:Ls(Tc,e)}:i.mode===`include`?{mode:`include`,values:Ls(i.values,e)}:{mode:`exclude`,values:Is(i.values,e)};jc(n,a,r)},[q,Dc,Oc,Tc,wc,jc]),Pc=(0,e.useCallback)(e=>{q&&jc(q.columnKey,{mode:`include`,values:new Set(e)},wc.length)},[q,jc,wc]),Fc=(0,e.useCallback)(()=>{q&&(K(a.clearColumnFilter(q.columnKey)),Y===`numberSet`&&Nr(wt),Y===`textSet`&&Pr(Nt),Y===`dateSet`&&Fr(Bt))},[K,q,Nr,Pr,Fr,Y]),Ic=(0,e.useCallback)(e=>{let t=G.filters.columnFilters[e];return Ze(t)||Qe(t)||$e(t)?t.set:Xe(t)?{mode:t.mode,values:t.values}:null},[G.filters.columnFilters]),Lc=(0,e.useCallback)(e=>{if(Nr(e),!q||Y!==`numberSet`)return;let t=q.columnKey,n=kt(e),r=Ic(t);if(!n&&!r){G.filters.columnFilters[t]&&K(a.clearColumnFilter(t));return}K(a.setColumnFilter(t,{kind:`numberSet`,condition:n,set:r}))},[Nr,q,Ic,G.filters.columnFilters,K,Y]),Rc=(0,e.useCallback)(e=>{if(Pr(e),!q||Y!==`textSet`)return;let t=q.columnKey,n=It(e),r=Ic(t);if(!n&&!r){G.filters.columnFilters[t]&&K(a.clearColumnFilter(t));return}K(a.setColumnFilter(t,{kind:`textSet`,condition:n,set:r}))},[Pr,q,Ic,G.filters.columnFilters,K,Y]),zc=(0,e.useCallback)(e=>{if(Fr(e),!q||Y!==`dateSet`)return;let t=q.columnKey,n=Gt(e),r=Ic(t);if(!n&&!r){G.filters.columnFilters[t]&&K(a.clearColumnFilter(t));return}K(a.setColumnFilter(t,{kind:`dateSet`,condition:n,set:r}))},[Fr,q,Ic,G.filters.columnFilters,K,Y]),Bc=(0,e.useCallback)(()=>{if(Y===`textSet`){Rc(Nt);return}if(Y===`dateSet`){zc(Bt);return}Lc(wt)},[Rc,zc,Lc,Y]),Vc=(0,e.useCallback)(()=>{if(!q)return;let e=q.columnKey,t=kc(e,null);if(t){K(a.setColumnFilter(e,t));return}K(a.clearColumnFilter(e))},[q,kc,K]),Hc=(0,e.useCallback)(()=>{if(!q)return;let e=Y??`text`;if(e===`set`||e===`numberSet`||e===`textSet`||e===`dateSet`){jr();return}if(e===`number`){let e=q.numberDraft?jt(q.numberDraft):null;if(!e){K(a.clearColumnFilter(q.columnKey)),jr();return}K(a.setColumnFilter(q.columnKey,e)),jr();return}let t=e===`select`?q.draftValue:q.draftValue.trim();if(!t){K(a.clearColumnFilter(q.columnKey)),jr();return}let n=e===`select`?{kind:`select`,value:t}:e===`date`?{kind:`date`,value:t}:e===`custom`?{kind:`custom`,value:t}:{kind:`text`,value:t};K(a.setColumnFilter(q.columnKey,n)),jr()},[jr,K,q,Y]),Uc=(0,e.useCallback)(()=>{q&&(K(a.clearColumnFilter(q.columnKey)),jr())},[jr,K,q]),Wc=(0,e.useCallback)((e,t)=>{if(X(),!ze)return;let n=Bn(G.sort,e,t,!1);K(n.length===0?a.clearSort():a.setSort(n))},[X,K,ze,G.sort]),Gc=(0,e.useCallback)((e,t)=>{if(!ze)return;let n=Vn(G.sort,e,t);K(a.setSort(n))},[K,ze,G.sort]),Kc=(0,e.useCallback)((e,t)=>{if(!ze)return;let n=Hn(G.sort,e,t);K(a.setSort(n))},[K,ze,G.sort]),qc=(0,e.useCallback)((e,t)=>{if(!ze)return;let n=Un(G.sort,e,t);K(a.setSort(n))},[K,ze,G.sort]),Jc=(0,e.useCallback)(e=>{if(!ze)return;let t=Wn(G.sort,e);K(t.length===0?a.clearSort():a.setSort(t))},[K,ze,G.sort]),Yc=(0,e.useCallback)(()=>{ze&&K(a.clearSort())},[K,ze]),Xc=(0,e.useCallback)((e,t)=>{if(!ze)return;let n=Gn(G.sort,e,t);K(a.setSort(n))},[K,ze,G.sort]),Zc=(0,e.useCallback)((e,t,r,i,a)=>{let o=L(e,r);if(r.renderCell){let n=Z.getSourceIndex(t)??t;return r.renderCell({row:e,rowIndex:t,sourceRowIndex:n,rowKey:Z.getRowKey(t)??t,colIndex:i,value:o,column:r,isActive:a.isActive,isSelected:a.isSelected,isEditing:a.isEditing,readOnly:a.readOnly,setValue:n=>{if(on(r,e,n).action===`reject`)return;if(ea){ea([{viewIndex:t,column:r,value:n}]);return}if(!Lo)return;let i=Z.getSourceIndex(t);if(i===void 0)return;let a=He(z,i,r,n);Lo(a)}})}return r.editor?.type===`checkbox`?(0,n.jsx)(Ya,{checked:Ne(o,r.editor),readOnly:a.readOnly,onToggle:()=>$o({row:t,col:i})}):(0,n.jsx)(`span`,{children:r.valueFormatter?r.valueFormatter({value:o,row:e,column:r}):String(o??``)})},[Z,Lo,z,$o,ea]),{slotContext:Qc}=En({rows:z,viewRowCount:sa,getFilteredRows:la,columns:B,visibleColumns:H,uiState:G,setGlobalFilterText:(0,e.useCallback)(e=>{K(a.setGlobalFilter(e))},[K]),globalFilterStatus:di,globalFilterProgress:pi}),$c=(0,e.useMemo)(()=>({width:he,minWidth:he}),[he]),el=Q===0,tl=(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)`}:{}}),nl=(()=>{if(!J)return`(なし)`;let e=G.filters.columnFilters[J.key];if(Xe(e))return e.mode===`exclude`?`${e.values.length}件を除外中`:`${e.values.length}件を選択中`;if(mt(e))return e.raw;let t=ht(e);return t.trim()?t:`(なし)`})(),rl=J?qe(J.dateFilterPresets):void 0,il=Ec&&tt(Ec)?ui(Ec,rl):`フィルターなし`,al=J?(0,n.jsx)(ho,{themeClassName:ro,isOpen:!!q,title:J.title||J.key,filterType:Y??`text`,isServerSide:W,draftValue:q?.draftValue??``,numberConditionDraft:q?.numberDraft??null,onNumberConditionDraftChange:Lc,textConditionDraft:q?.textDraft??null,onTextConditionDraftChange:Rc,dateConditionDraft:q?.dateDraft??null,onDateConditionDraftChange:zc,datePresets:rl,renderDateInput:Re?e=>Re({...e,columnKey:J.key}):void 0,onComboConditionClear:Bc,onComboSelectionClear:Vc,comboSummaryText:il,currentValueText:nl,layout:Tr,selectOptions:wc,setSelection:Dc,optionsStatus:xc,optionsProgress:Sc,popoverRef:Er,textInputRef:Dr,selectRef:Or,onRequestClose:jr,onDraftChange:Mr,onApply:Hc,onClear:Uc,onSetValueToggle:Mc,onSetSelectAllChange:Nc,onSetClear:Fc,onSetReplaceSelection:Pc}):null,ol=Br?(0,n.jsx)(Wo,{themeClassName:ro,isOpen:Rr,title:Br.title||Br.key,columnKey:Br.key,canFilter:un&&!!Br.filterType,onOpenFilter:()=>Ys(Br),canSort:ln,sortDirection:G.sort.find(e=>e.columnKey===Br.key)?.direction??null,onSortChange:e=>Wc(Br.key,e),onOpenSortManager:Js,canManageFilters:un,onOpenFilterManager:Qs,pinned:Br.pinned,canChangePinned:!!v,layout:Ir,popoverRef:Lr,onPinnedChange:Ss,onAutosizeColumn:Cs,onAutosizeAllColumns:Os,onOpenColumnChooser:As,canResetColumns:!!v,onResetColumns:_c,onRequestClose:X}):null,sl=dn&&ai.trim().length>0,cl=Xs.length+ +!!sl,ll=(0,n.jsx)(Qo,{themeClassName:ro,activeTab:Wr,flashTick:Jr,tabs:Gr.map(e=>e===`filter`?{tab:e,label:`フィルター`,badge:cl}:e===`sort`?{tab:e,label:`並び替え`,badge:G.sort.length}:{tab:e,label:`列`}),layout:Kr,panelRef:Yr,onSelectTab:Xr,onRequestClose:Zr,onPanelMove:Qr,children:Wr===null?null:{filter:()=>(0,n.jsx)(ds,{entries:Xs,addableColumns:Zs,showGlobalFilterRow:sl,globalFilterText:ai,canFilter:un,onEditFilter:ec,onAddFilter:ec,onClearFilter:tc,onClearAllFilters:nc,onClearGlobalFilter:rc}),columns:()=>(0,n.jsx)(os,{items:ks,canToggle:!!v,onToggleColumnVisibility:ic,onShowAllColumns:ac,onHideAllColumns:oc,onResetColumns:gc,onReorderColumns:cc}),sort:()=>(0,n.jsx)(cs,{entries:G.sort,columns:js,canSort:ln,onAddLevel:Gc,onChangeDirection:Kc,onChangeColumn:qc,onRemoveLevel:Jc,onClearAll:Yc,onMove:Xc})}[Wr]()}),ul=(0,n.jsx)(Ns,{themeClassName:ro,isOpen:ni,items:$r?.items??Ws,layout:ei,popoverRef:ti,onRequestClose:ii}),dl=kr||Rr||Wr!==null||ni,fl=st,pl=ct&&dn,ml=at?pn(_t,Qc,fl||pl?(0,n.jsx)(yo,{context:Qc,showSummary:fl,showFilter:pl,showCounts:dt,globalFilterPlaceholder:lt,globalFilterIcon:ut,onFilterSummaryClick:un?$s:void 0}):null):null,hl=ot?pn(vt,Qc,(0,n.jsx)(go,{context:Qc,showCounts:ft})):null,gl=ge===void 0&&_e===void 0?void 0:{...ge===void 0?{}:{height:ge},maxHeight:_e??(ge===void 0?void 0:`none`)},$=(0,e.useRef)(null);$.current={dispatch:K,rowModel:Z,viewRowCount:Q,leafRowCount:sa,groupTree:yi,rowMetrics:Pa,paneLayout:Jn,orderedColumns:U,columns:B,onColumnsChange:v,uiState:G,headerHeight:V,verticalScaleFactor:Ua,leftPaneTotalWidth:ir,rightPaneTotalWidth:fr,centerLeadingWidth:$n,windowFirstRow:za,windowLastRow:Ba,physicalBodyHeight:Va,rows:z,isServerSide:W,serverSideRefresh:Bi.refresh,resolvedRowKeyGetter:cn,openFilterManager:()=>{Xr(`filter`)},closeFilterManager:()=>{Wr===`filter`&&Zr()},undoRows:zo,redoRows:Bo,canUndoRows:Vo,canRedoRows:Ho,clearUndoHistory:Uo};let _l=(0,e.useCallback)((e,t,n=`auto`)=>{let r=Math.max(e.scrollHeight-e.clientHeight,0),i=Math.max(e.scrollWidth-e.clientWidth,0),a=Math.min(Math.max(t.top,0),r),o=Math.min(Math.max(t.left,0),i);(Math.round(a)!==Math.round(e.scrollTop)||Math.round(o)!==Math.round(e.scrollLeft))&&(ga.current+=1),e.scrollTo({top:a,left:o,behavior:n})},[]),vl=(0,e.useCallback)((e,t)=>{let n=Ht.current,r=$.current;!n||!r||_l(n,{top:e===null?n.scrollTop:gr(e,r.verticalScaleFactor),left:t===null?n.scrollLeft:t})},[_l]),yl=(0,e.useCallback)((e,t)=>{let n=Ht.current,r=$.current;if(!n||!r||r.viewRowCount===0)return null;let i=Math.min(Math.max(e,0),r.viewRowCount-1);return Ki({rowTop:r.rowMetrics.rowTop(i),rowHeight:r.rowMetrics.rowsHeight(i,i),headerHeight:r.headerHeight,viewportHeight:n.clientHeight,currentScrollTop:hr(n.scrollTop,r.verticalScaleFactor),align:t})},[]),bl=(0,e.useCallback)((e,t)=>{let n=Ht.current,r=$.current;if(!n||!r)return null;let i=C(r.paneLayout,e);return!i||i.pane!==`center`?null:qi({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})},[]),xl=(0,e.useCallback)((e,t,n)=>{vl(yl(e,n),bl(t,n))},[vl,bl,yl]);(0,e.useEffect)(()=>{Po.current=xl},[xl]),(0,e.useImperativeHandle)(Dt,()=>{let e=e=>{let t=$.current;if(!t)return null;let n=e=>t.rowModel.getRow(e),r=Oi(e);if(r===`raw`)return t.isServerSide?(console.warn(`SpreadsheetGrid: scope 'raw' は serverSide では未ロード行を取得できないため、'view'(ロード済みビュー行)として扱います。全件エクスポートはサーバ側での実施を推奨します。`),{getRow:n,startRow:0,endRow:t.viewRowCount,columns:t.orderedColumns}):{getRow:e=>t.rows[e],startRow:0,endRow:t.rows.length,columns:t.orderedColumns};if(r===`rendered`)return{getRow:n,startRow:t.windowFirstRow,endRow:t.windowLastRow>=t.windowFirstRow?t.windowLastRow+1:t.windowFirstRow,columns:t.orderedColumns};if(r===`selection`){let e=t.uiState.selection;if(!e)return null;if(e.type===`cell`){let r=se(e.range);return{getRow:n,startRow:r.start.row,endRow:r.end.row+1,columns:t.orderedColumns.slice(r.start.col,r.end.col+1)}}if(e.type===`row`){let r=ce(e.startRow,e.endRow);return{getRow:n,startRow:r.startRow,endRow:r.endRow+1,columns:t.orderedColumns}}let r=le(e.startCol,e.endCol);return{getRow:n,startRow:0,endRow:t.viewRowCount,columns:t.orderedColumns.slice(r.startCol,r.endCol+1)}}return{getRow:n,startRow:0,endRow:t.viewRowCount,columns:t.orderedColumns}},t=e=>e.filter(e=>e.key!==er),n=n=>{let r=e(n?.scope??`view`);return r?Ei({getRow:r.getRow,startRow:r.startRow,endRow:r.endRow,columns:t(r.columns),delimiter:n?.delimiter,includeHeaders:n?.includeHeaders,bom:n?.bom}):n?.bom?``:``},r=n=>{let r=e(n?.scope??`view`);return r?Di({getRow:r.getRow,startRow:r.startRow,endRow:r.endRow,columns:t(r.columns)}):{columns:[],rows:[]}};return{scrollToRow:(e,t)=>vl(yl(e,t?.align??`auto`),null),scrollToCell:(e,t,n)=>xl(e,t,n?.align??`auto`),scrollToTop:()=>{let e=Ht.current;e&&_l(e,{top:0,left:e.scrollLeft})},scrollToBottom:()=>{let e=Ht.current,t=$.current;!e||!t||_l(e,{top:Math.max(t.headerHeight+t.physicalBodyHeight-e.clientHeight,0),left:e.scrollLeft})},getScrollPosition:()=>{let e=Ht.current;return e?{top:e.scrollTop,left:e.scrollLeft}:null},setScrollPosition:(e,t)=>{let n=Ht.current;n&&_l(n,{top:e.top??n.scrollTop,left:e.left??n.scrollLeft},t?.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&&xl(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&&xl(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&&xl(e.end.row,e.end.col,`auto`))},clearSelection:()=>{$.current?.dispatch(a.clearSelection())},getSelectedRows:()=>{let e=$.current;if(!e)return[];let t=e.uiState.selection;if(!t)return[];let n=[],r=t=>{let r=e.rowModel.getRow(t);r&&n.push(r)};if(t.type===`cell`){let e=se(t.range);for(let t=e.start.row;t<=e.end.row;t+=1)r(t)}else if(t.type===`row`){let e=ce(t.startRow,t.endRow);for(let t=e.startRow;t<=e.endRow;t+=1)r(t)}else for(let t=0;t<e.viewRowCount;t+=1)r(t);return n},exportCsv:e=>n(e),downloadCsv:(e,t)=>{if(typeof document>`u`)return;let r=n({...t,bom:t?.bom??!0}),i=new Blob([r],{type:`text/csv;charset=utf-8;`}),a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=e??`export.csv`,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},getExportData:e=>r(e),getState:()=>{let e=$.current;return e?Ni(e.uiState.columnWidths,e.uiState.filters,e.uiState.sort,Mi(e.columns)):Ni({},{globalText:``,columnFilters:{}},[],[])},applyState:e=>{let t=$.current;if(!t)return;let n=Pi(e);t.onColumnsChange&&n.columns&&t.onColumnsChange(Fi(t.columns,n.columns,n.columnWidths)),t.dispatch(a.resetColumnWidths(n.columnWidths)),t.dispatch(a.setAllFilters(n.filters)),t.dispatch(a.setSort(n.sort))},getRowSelection:()=>{let e=$.current;return e?F(e.uiState.rowSelection):{type:`include`,rowKeys:[]}},setRowSelection:e=>{vo.current(I(e))},getSelectedRowKeys:()=>{let e=$.current;if(!e)return[];let t=e.uiState.rowSelection;if(t.mode===`include`)return Array.from(t.keys);let n=[],r=e.rowModel.getRowCount();for(let i=0;i<r;i+=1){if(!e.rowModel.getRow(i))continue;let r=e.rowModel.getRowKey(i)??i;t.keys.has(r)||n.push(r)}return n},getSelectedRowData:()=>{let e=$.current;if(!e)return[];let t=e.uiState.rowSelection,n=[],r=e.rowModel.getRowCount();for(let i=0;i<r;i+=1){let r=e.rowModel.getRow(i);r&&O(t,e.rowModel.getRowKey(i)??i)&&n.push(r)}return n},getSelectedRowCount:()=>{let e=$.current;return e?N(e.uiState.rowSelection,e.leafRowCount):0},isRowSelected:e=>{let t=$.current;return t?O(t.uiState.rowSelection,e):!1},selectAllRows:()=>{vo.current(M())},clearRowSelection:()=>{vo.current(ee())},undo:()=>{$.current?.undoRows()},redo:()=>{$.current?.redoRows()},canUndo:()=>$.current?.canUndoRows()??!1,canRedo:()=>$.current?.canRedoRows()??!1,clearUndoHistory:()=>{$.current?.clearUndoHistory()},setGroupCollapsed:(e,t)=>{$.current?.dispatch(a.setGroupCollapsed(e,t))},expandAllGroups:()=>{$.current?.dispatch(a.setCollapsedGroupKeys(new Set))},collapseAllGroups:()=>{let e=$.current;!e||!e.groupTree||e.dispatch(a.setCollapsedGroupKeys(new Set(lr(e.groupTree))))},getGroupRows:()=>{let e=$.current;return e?.groupTree?cr(e.groupTree):[]},getInvalidCells:()=>{let e=$.current;return e?e.isServerSide?(console.warn(`[SpreadsheetGrid] getInvalidCells は serverSide モードでは利用できません(空配列を返します)。`),[]):sn(e.rows,e.columns,e.resolvedRowKeyGetter):[]},refreshServerSide:()=>{let e=$.current;if(e){if(!e.isServerSide){console.warn(`[SpreadsheetGrid] refreshServerSide は clientSide(rows)モードでは何もしません(dataSource 指定時のみ有効です)。`);return}e.serverSideRefresh()}},openFilterManager:()=>{$.current?.openFilterManager()},closeFilterManager:()=>{$.current?.closeFilterManager()}}},[_l,vl,xl,yl]);let Sl=(0,e.useRef)(Ot);Sl.current=Ot;let Cl=(0,e.useRef)(null);return(0,e.useEffect)(()=>{if(!Sl.current)return;let e=Ni(G.columnWidths,G.filters,G.sort,Mi(B)),t=Gi(Cl.current,e,G.dragState!==null);Cl.current=t.nextLast,t.emit&&Sl.current(e)},[G.columnWidths,G.filters,G.sort,G.dragState,B]),(0,n.jsxs)(`div`,{className:i(`ssg-root`,ue!==`standard`&&`ssg-root--density-${ue}`,ro,ye&&`ssg-root--dim-readonly`,yt,R?.root),children:[ml,gt&&(0,n.jsx)(fs,{entries:Xs,canFilter:un,onEditFilter:ec,onClearFilter:tc,onClearAllFilters:nc}),(0,n.jsxs)(`div`,{ref:Ft,className:`ssg-shell`,style:{cursor:ra?`progress`:void 0},onDragStart:Do,onPointerLeave:()=>Zt(null),onPointerMoveCapture:e=>{Lt.current={x:e.clientX,y:e.clientY},wo(e.clientX,e.clientY)},tabIndex:dl?-1:0,onKeyDown:dl?void 0:es,onPaste:dl?void 0:Jo,onContextMenu:na,children:[(0,n.jsxs)(`div`,{ref:Ht,className:i(`ssg-scroll-container`,ca?.scrollbar===!0&&`ssg-scroll-container--custom-scrollbar`),style:gl,children:[(0,n.jsxs)(`div`,{className:`ssg-inner-row`,style:{width:br,minWidth:br,height:V+Va},children:[(0,n.jsxs)(`div`,{ref:Ut,style:tl(`left`,ir,Yn),children:[Yn&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:ir,minWidth:ir,height:V+Va},children:[(0,n.jsx)(No,{pane:`left`,ownsRowHeader:!0,leadingWidth:Qn,headerHeight:V,rowHeaderCellStyle:$c,headerRowClassName:R?.headerRow,headerCellClassName:R?.headerCell,rowHeaderCellClassName:R?.rowHeaderCell,isCornerHovered:Jt,isWholeGridSelected:Ko,showSelectAllCheckbox:oo,selectAllState:co,filteredRowsLength:Q,visibleColumnsLength:H.length,renderEntries:Xa,hoveredColumnIndex:Qt,selectionSnapshot:_n,columnFilterValues:G.filters.columnFilters,sortState:G.sort,iconButtonClassName:R?.iconButton,onCornerPointerDown:gs,onCornerPointerEnter:ys,onCornerPointerLeave:bs,onColumnHeaderPointerDown:jo,onColumnHeaderPointerEnter:Mo,onColumnHeaderPointerLeave:vs,onColumnResizePointerDown:xs,enableColumnMenu:et,enableColumnResize:Be,openedMenuColumnKey:zr,onColumnMenuButtonPointerDown:Vr,onColumnHeaderContextMenu:Hr,onColumnDragHandlePointerDown:mc}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:ir,height:V+Va,transform:Ha},children:[(0,n.jsx)(fe,{rect:hs(`left`),headerHeight:V,baseOffset:qa,leadingWidth:Qn}),(0,n.jsx)(pe,{rect:to(`left`),headerHeight:V,baseOffset:qa,leadingWidth:Qn}),(0,n.jsx)(Ue,{rect:no(`left`),headerHeight:V,baseOffset:qa,leadingWidth:Qn,initialValue:Kt,editor:is?.editor,editorSession:ss,themeClassName:ro,onCommit:ns,onCancel:rs,align:is?.align,enterMove:Ce}),(0,n.jsx)(Ao,{pane:`left`,ownsRowHeader:!0,leadingWidth:Qn,rowModel:Z,virtualRows:La,virtualRowIndexes:Ra,renderEntries:Xa,rowHeight:Mt,autoHeight:wa,showCellOverflowTooltip:We,showValidationMarks:Ge,isServerSide:W,collapsedGroupKeys:G.collapsedGroupKeys,onGroupToggle:Ti,rowHeaderCellStyle:$c,hoveredRowIndex:Xt,isWholeGridSelected:Ko,enableRowSelection:De,rowSelectionState:so,activeCell:G.activeCell,editingCell:G.editingCell,selectionSnapshot:_n,readOnly:ve,canEditCell:$i,onRowHeaderPointerDown:Oo,onRowHeaderPointerEnter:ko,onRowHeaderPointerLeave:_s,onCellPointerDown:To,onCellPointerEnter:Eo,onCellDoubleClick:ls,renderCellContent:Zc,getRowClassName:bt,bodyCellClassName:R?.bodyCell,bodyRowClassName:R?.bodyRow,rowHeaderCellClassName:R?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:uc,className:`ssg-col-drop-indicator`,style:hc})]}),(0,n.jsx)(`div`,{ref:zt,className:`ssg-center-pane`,style:{width:_r,minWidth:_r},children:(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:_r,minWidth:_r,height:V+Va},children:[(0,n.jsx)(No,{pane:`center`,ownsRowHeader:Zn,leadingWidth:$n,headerHeight:V,rowHeaderCellStyle:$c,headerRowClassName:R?.headerRow,headerCellClassName:R?.headerCell,rowHeaderCellClassName:R?.rowHeaderCell,isCornerHovered:Jt,isWholeGridSelected:Ko,showSelectAllCheckbox:oo,selectAllState:co,filteredRowsLength:Q,visibleColumnsLength:H.length,renderEntries:Ja,hoveredColumnIndex:Qt,selectionSnapshot:_n,columnFilterValues:G.filters.columnFilters,sortState:G.sort,iconButtonClassName:R?.iconButton,onCornerPointerDown:gs,onCornerPointerEnter:ys,onCornerPointerLeave:bs,onColumnHeaderPointerDown:jo,onColumnHeaderPointerEnter:Mo,onColumnHeaderPointerLeave:vs,onColumnResizePointerDown:xs,enableColumnMenu:et,enableColumnResize:Be,openedMenuColumnKey:zr,onColumnMenuButtonPointerDown:Vr,onColumnHeaderContextMenu:Hr,onColumnDragHandlePointerDown:mc}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:_r,height:V+Va,transform:Ha},children:[(0,n.jsx)(fe,{rect:hs(`center`),headerHeight:V,baseOffset:qa,leadingWidth:$n}),(0,n.jsx)(pe,{rect:to(`center`),headerHeight:V,baseOffset:qa,leadingWidth:$n}),(0,n.jsx)(Ue,{rect:no(`center`),headerHeight:V,baseOffset:qa,leadingWidth:$n,initialValue:Kt,editor:is?.editor,editorSession:ss,themeClassName:ro,onCommit:ns,onCancel:rs,align:is?.align,enterMove:Ce}),(0,n.jsx)(Ao,{pane:`center`,ownsRowHeader:Zn,leadingWidth:$n,rowModel:Z,virtualRows:La,virtualRowIndexes:Ra,renderEntries:Ja,rowHeight:Mt,autoHeight:wa,showCellOverflowTooltip:We,showValidationMarks:Ge,isServerSide:W,collapsedGroupKeys:G.collapsedGroupKeys,onGroupToggle:Ti,rowHeaderCellStyle:$c,hoveredRowIndex:Xt,isWholeGridSelected:Ko,enableRowSelection:De,rowSelectionState:so,activeCell:G.activeCell,editingCell:G.editingCell,selectionSnapshot:_n,readOnly:ve,canEditCell:$i,onRowHeaderPointerDown:Oo,onRowHeaderPointerEnter:ko,onRowHeaderPointerLeave:_s,onCellPointerDown:To,onCellPointerEnter:Eo,onCellDoubleClick:ls,renderCellContent:Zc,getRowClassName:bt,bodyCellClassName:R?.bodyCell,bodyRowClassName:R?.bodyRow,rowHeaderCellClassName:R?.rowHeaderCell})]}),(0,n.jsx)(`div`,{ref:dc,className:`ssg-col-drop-indicator`,style:hc})]})}),(0,n.jsxs)(`div`,{ref:Wt,style:tl(`right`,fr,Xn),children:[Xn&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:fr,minWidth:fr,height:V+Va},children:[(0,n.jsx)(No,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,headerHeight:V,rowHeaderCellStyle:$c,headerRowClassName:R?.headerRow,headerCellClassName:R?.headerCell,rowHeaderCellClassName:R?.rowHeaderCell,isCornerHovered:Jt,isWholeGridSelected:Ko,showSelectAllCheckbox:oo,selectAllState:co,filteredRowsLength:Q,visibleColumnsLength:H.length,renderEntries:Za,hoveredColumnIndex:Qt,selectionSnapshot:_n,columnFilterValues:G.filters.columnFilters,sortState:G.sort,iconButtonClassName:R?.iconButton,onCornerPointerDown:gs,onCornerPointerEnter:ys,onCornerPointerLeave:bs,onColumnHeaderPointerDown:jo,onColumnHeaderPointerEnter:Mo,onColumnHeaderPointerLeave:vs,onColumnResizePointerDown:xs,enableColumnMenu:et,enableColumnResize:Be,openedMenuColumnKey:zr,onColumnMenuButtonPointerDown:Vr,onColumnHeaderContextMenu:Hr,onColumnDragHandlePointerDown:mc}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:fr,height:V+Va,transform:Ha},children:[(0,n.jsx)(fe,{rect:hs(`right`),headerHeight:V,baseOffset:qa,leadingWidth:0}),(0,n.jsx)(pe,{rect:to(`right`),headerHeight:V,baseOffset:qa,leadingWidth:0}),(0,n.jsx)(Ue,{rect:no(`right`),headerHeight:V,baseOffset:qa,leadingWidth:0,initialValue:Kt,editor:is?.editor,editorSession:ss,themeClassName:ro,onCommit:ns,onCancel:rs,align:is?.align,enterMove:Ce}),(0,n.jsx)(Ao,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,rowModel:Z,virtualRows:La,virtualRowIndexes:Ra,renderEntries:Za,rowHeight:Mt,autoHeight:wa,showCellOverflowTooltip:We,showValidationMarks:Ge,isServerSide:W,collapsedGroupKeys:G.collapsedGroupKeys,onGroupToggle:Ti,rowHeaderCellStyle:$c,hoveredRowIndex:Xt,isWholeGridSelected:Ko,enableRowSelection:De,rowSelectionState:so,activeCell:G.activeCell,editingCell:G.editingCell,selectionSnapshot:_n,readOnly:ve,canEditCell:$i,onRowHeaderPointerDown:Oo,onRowHeaderPointerEnter:ko,onRowHeaderPointerLeave:_s,onCellPointerDown:To,onCellPointerEnter:Eo,onCellDoubleClick:ls,renderCellContent:Zc,getRowClassName:bt,bodyCellClassName:R?.bodyCell,bodyRowClassName:R?.bodyRow,rowHeaderCellClassName:R?.rowHeaderCell})]})]}),(0,n.jsx)(`div`,{ref:fc,className:`ssg-col-drop-indicator`,style:hc})]})]}),el&&(0,n.jsx)(`div`,{className:`ssg-empty-state`,children:z.length===0?it:rt})]}),ca!==null&&(0,n.jsx)(ws,{options:ca,scrollContainerRef:Ht,scrollTop:da,viewportHeight:pa,headerHeight:V,physicalBodyHeight:Va,verticalScaleFactor:Ua,rowMetrics:Pa,rowModel:Z}),ra&&(0,n.jsx)(`div`,{className:`ssg-autosize-overlay`,children:(0,n.jsx)(`span`,{className:`ssg-autosize-pill`,children:`列幅を計算中…`})}),di===`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(pi*100),`%`]})]})}),W&&(Bi.loadError!==null&&Bi.loadError!==Vi||Bi.writeError!==null&&Bi.writeError!==Ui)&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bars`,children:[Bi.loadError!==null&&Bi.loadError!==Vi&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bar`,role:`alert`,children:[(0,n.jsx)(`span`,{className:`ssg-ssrm-error-bar-dot`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`ssg-ssrm-error-bar-msg`,children:[`行の取得に失敗しました(`,Bi.loadError.failedBlockCount,` ブロック)`]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-retry`,onClick:Bi.retryFailedBlocks,children:`再試行`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-close`,"aria-label":`エラー通知を閉じる`,onClick:()=>Hi(Bi.loadError),children:`×`})]}),Bi.writeError!==null&&Bi.writeError!==Ui&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bar`,role:`alert`,children:[(0,n.jsx)(`span`,{className:`ssg-ssrm-error-bar-dot`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`ssg-ssrm-error-bar-msg`,children:[`変更の保存に失敗しました(`,Bi.writeError.failedRowCount,` 行)。値を元に戻しました`]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-close`,"aria-label":`保存エラー通知を閉じる`,onClick:()=>Wi(Bi.writeError),children:`×`})]})]})]}),hl,al,ol,ll,ul]})}function Ys(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=Js,exports.numberFormatter=Ys;
|
|
4
|
+
`).filter(e=>e.length>0).map(e=>e.split(` `)):[]},Mn=(e,t,n,r)=>{if(!r)return``;let i=[];if(r.type===`cell`){let t=oe(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=R(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=se(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=R(t,e);return e.formatClipboardValue?e.formatClipboardValue(n,t):String(n??``)});i.push(a.join(` `))}return i.join(`
|
|
6
|
+
`)}let a=ce(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=R(t,r),a=r.formatClipboardValue?r.formatClipboardValue(i,t):String(i??``);o.push(a)}i.push(o.join(` `))}return i.join(`
|
|
7
|
+
`)},Nn=(e,t,n,r,i,a,o)=>{if(r.length===0)return e;let s=[...e];for(let e=0;e<r.length;e+=1){let c=t(i+e);if(c===void 0)continue;let l=s[c];if(!l)continue;let u=l,d=!1;for(let t=0;t<r[e].length;t+=1){let i=a+t,s=n[i];if(!s||!o(c,i,l,s))continue;let f=r[e][t],p=ze(s)(f,l);kn(s,l,p).action!==`reject`&&(u=Ae(u,s,p),d=!0)}d&&(s[c]=u)}return s},Pn=(e,t,n,r,i,a)=>{let o=[];for(let s=0;s<n.length;s+=1){let c=r+s,l=e(c);if(l)for(let e=0;e<n[s].length;e+=1){let r=i+e,u=t[r];if(!u||!a(c,r,l,u))continue;let d=ze(u)(n[s][e],l);kn(u,l,d).action!==`reject`&&o.push({viewIndex:c,column:u,value:d})}}return o},Fn=e=>{let{body:t,activeElement:n}=document;if(!t)return!1;let r=document.createElement(`textarea`);r.value=e,r.setAttribute(`readonly`,``),r.style.position=`fixed`,r.style.top=`0`,r.style.left=`-9999px`,r.style.opacity=`0`,t.appendChild(r);let i;try{r.select(),i=document.execCommand(`copy`)}catch{i=!1}finally{t.removeChild(r),n instanceof HTMLElement&&n.focus()}return i},In=async e=>{if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}return Fn(e)?!0:(console.warn(`[SpreadsheetGrid] クリップボードへのコピーに失敗しました(navigator.clipboard が利用できず、execCommand フォールバックも失敗)。`),!1)},Ln=({rows:t,rowModel:n,visibleColumns:r,uiState:i,readOnly:s,canEditCell:c,createRow:l,createOverflowColumn:u,onRowsChange:d,onColumnsChange:f,applyServerSideCellEdits:p,dispatch:m})=>{let h=n.getRowCount(),g=h>0&&r.length>0&&i.selection?.type===`cell`&&(()=>{let e=i.selection.range.start,t=i.selection.range.end,n=Math.min(e.row,t.row),a=Math.min(e.col,t.col),o=Math.max(e.row,t.row),s=Math.max(e.col,t.col);return n===0&&a===0&&o===h-1&&s===r.length-1})(),_=(0,e.useCallback)(()=>{let e=n.getRowCount();if(e===0||r.length===0)return``;let t=[];for(let i=0;i<e;i+=1){let e=n.getRow(i);if(!e)continue;let a=r.map(t=>{let n=R(e,t);return t.formatClipboardValue?t.formatClipboardValue(n,e):String(n??``)});t.push(a.join(` `))}return t.join(`
|
|
8
|
+
`)},[n,r]);return{isWholeGridSelected:g,handleCopy:(0,e.useCallback)(async()=>{let e=g?_():Mn(n.getRow,n.getRowCount(),r,i.selection);e&&await In(e)},[g,n,_,i.selection,r]),handlePaste:(0,e.useCallback)(e=>{if(s||!d&&!p||!i.activeCell)return;let h=e.clipboardData.getData(`text/plain`);if(!h)return;e.preventDefault();let g=jn(h);if(g.length===0)return;let _=g.reduce((e,t)=>Math.max(e,t.length),0);if(_===0)return;let v=i.activeCell.row,y=i.activeCell.col;if(p){let e=Pn(e=>n.getRow(e),r,g,v,y,(e,t,n,r)=>ke({readOnly:s,canEditCell:c},e,t,n,r));e.length>0&&p(e);let t=o(i.activeCell.row+Math.max(g.length-1,0),0,Math.max(n.getRowCount()-1,0)),l=o(i.activeCell.col+Math.max(_-1,0),0,Math.max(r.length-1,0));m(a.startSelection(i.activeCell)),m(a.updateSelection({row:t,col:l})),m(a.endSelection()),m(a.activateCell(i.activeCell));return}if(!d)return;let b=n.getSourceIndex(v);if(b===void 0)return;let x=i.activeCell.col,S=[...t],C=[...r],w=n.getRowCount(),T=S.length,E=e=>e<w?n.getSourceIndex(e):T+(e-w),D=b+g.length;if(D>S.length&&l)for(;S.length<D;)S.push(l());let O=x+_;if(O>C.length&&f&&u){for(;C.length<O;)C.push(u(C.length));f(C)}let k=Nn(S,E,C,g,v,x,(e,t,n,r)=>ke({readOnly:s,canEditCell:c},e,t,n,r)),A=o(i.activeCell.row+Math.max(g.length-1,0),0,Math.max(Math.max(n.getRowCount()-1,0),v+g.length-1)),j=o(i.activeCell.col+Math.max((g[0]?.length??1)-1,0),0,Math.max(Math.max(C.length-1,0),x+_-1));d(k),m(a.startSelection(i.activeCell)),m(a.updateSelection({row:A,col:j})),m(a.endSelection()),m(a.activateCell(i.activeCell))},[p,c,u,l,m,f,d,s,n,t,i.activeCell,r])}},Rn=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},zn=(e,t,n)=>e?e(t):n,Bn=(e,t=16)=>e.length<=t?e:`${e.slice(0,t)}…`,Vn=e=>e?`${Rn(e.col)}${e.row+1}`:`なし`,Hn=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`${Rn(r)}${t+1} - ${Rn(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 ${Rn(t)} - ${Rn(n)}`},Un=(e,t)=>`Rows: ${t} / ${e.rows.length}`,Wn=e=>`Columns: ${e.visibleColumns.length} / ${e.columns.length}`,Gn=(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}},Kn=(e,t)=>{let n=Gn(e,t);return`Cells: ${n.selectedCellCount} / Rows: ${n.selectedRowCount}`},qn=e=>Object.values(e).filter(e=>et(e)).length,Jn=e=>{let t=e.globalFilterText.trim().length>0,n=t?Bn(e.globalFilterText.trim()):null,r=qn(e.columnFilterValues);return!t&&r===0?`Filter: なし`:t&&r===0?`Filter: Global("${n}")`:!t&&r>0?`Filter: ${r}列`:`Filter: Global("${n}") + ${r}列`},Yn=(e,t)=>{let n=e.find(e=>e.key===t);return n?.title||n?.key||t},Xn=e=>e.sortState.length===0?`Sort: なし`:`Sort: ${e.sortState.map(t=>`${Yn(e.columns,t.columnKey)} (${t.direction===`asc`?`昇順`:`降順`})`).join(`, `)}`,Zn=(e,t)=>{let n=Gn(e,t),r=e.globalFilterText.trim().length>0,i=r?Bn(e.globalFilterText.trim()):null,a=qn(e.columnFilterValues),o=r||a>0,s=e.sortState.length>0,c=s?Yn(e.columns,e.sortState[0].columnKey):null;return{rowSummaryText:Un(e,t),columnSummaryText:Wn(e),filterSummaryText:Jn(e),sortSummaryText:Xn(e),activeCellLabel:Vn(e.activeCell),selectionLabel:Hn(e.selection),selectionStatsText:Kn(e,t),selectionStats:n,hasGlobalFilter:r,globalFilterPreview:i,activeColumnFilterCount:a,hasAnyFilter:o,hasSorting:s,sortedColumnLabel:c}},Qn=({rows:t,viewRowCount:n,getFilteredRows:r,columns:i,visibleColumns:a,uiState:o,setGlobalFilterText:s,globalFilterStatus:c,globalFilterProgress:l})=>{let u=le(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)(()=>Zn(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])}},$n=({uiState:t,rows:n,visibleColumns:r,rowModel:i,setEditorInitialValue:s,onRowsChange:c,applyServerSideCellEdits:l,dispatch:u,gridRootRef:d,editorActionGuardRef:f})=>{let p=(0,e.useRef)({rowCount:0,colCount:0});(0,e.useEffect)(()=>{p.current={rowCount:i.getRowCount(),colCount:r.length}});let m=(0,e.useCallback)(e=>{u(a.startSelection(e)),u(a.endSelection()),u(a.activateCell(e))},[u]);return{activateSingleCell:m,startEditWithValue:(0,e.useCallback)((e,t)=>{s(t),u(a.startEdit(e))},[u,s]),commitEdit:(0,e.useCallback)((e,s)=>{if(f.current||!t.editingCell)return{status:`noop`};let h=t.editingCell,g=s===`down`?{row:h.row+1,col:h.col}:s===`up`?{row:h.row-1,col:h.col}:s===`right`?{row:h.row,col:h.col+1}:s===`left`?{row:h.row,col:h.col-1}:h,_=r[h.col],v=i.getSourceIndex(h.row),y=l?i.getRow(h.row):n[v];if(!_||!y)return u(a.stopEdit()),{status:`noop`};if(l){let t=Be(_,e,y),n=kn(_,y,t);if(n.action===`reject`)return{status:`rejected`,message:n.message};l([{viewIndex:h.row,column:_,value:t}])}else if(c){let t=Be(_,e,y),r=kn(_,y,t);if(r.action===`reject`)return{status:`rejected`,message:r.message};c(Ve(n,v,_,t))}return f.current=!0,requestAnimationFrame(()=>{_n()||d.current?.focus();let{rowCount:e,colCount:t}=p.current;m({row:o(g.row,0,Math.max(e-1,0)),col:o(g.col,0,Math.max(t-1,0))}),f.current=!1}),u(a.stopEdit()),{status:`committed`}},[m,l,u,f,i,d,c,n,t.editingCell,r]),cancelEdit:(0,e.useCallback)(()=>{f.current||(f.current=!0,u(a.stopEdit()),requestAnimationFrame(()=>{_n()||d.current?.focus(),f.current=!1}))},[u,f,d])}},er=()=>({past:[],future:[]}),tr=e=>e.past.length>0,nr=e=>e.future.length>0,rr=(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:[]}},ir=(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}},ar=(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}},or=({rows:t,selection:n,activeCell:r,onRowsChange:i,dispatch:o,enabled:s,limit:c,onUndoRedoStateChange:l,onAfterRestore:u})=>{let d=(0,e.useRef)(er()),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&&tr(d.current),canRedo:s&&i!=null&&nr(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=er(),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=rr(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=ir(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=ar(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&&tr(d.current),[s,i]),canRedo:(0,e.useCallback)(()=>s&&i!=null&&nr(d.current),[s,i]),clearHistory:(0,e.useCallback)(()=>{d.current=er(),h()},[h])}},sr=e=>e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey,cr=e=>e instanceof HTMLElement?e.closest(`input, textarea, select, button, [contenteditable="true"]`)!==null:!1,lr=({uiState:t,rowModel:n,visibleColumns:r,readOnly:i,canEditCell:s,setEditorInitialValue:c,dispatch:l,handleCopy:u,handleCellDoubleClick:d,isWholeGridSelected:f,selectEntireGrid:p,onUndo:m,onRedo:h,onClearSelection:g,enableClearOnDelete:_,onToggleCheckboxCell:v,onToggleGroup:y})=>{let b=n.getRowCount(),x=(0,e.useCallback)((e,n,i)=>{if(b===0||r.length===0)return;let s=t.activeCell??{row:0,col:0},c={row:o(s.row+e,0,b-1),col:o(s.col+n,0,r.length-1)};if(i){let e=t.selection?.type===`cell`?t.selection.range.start:s;l(a.startSelection(e)),l(a.updateSelection(c)),l(a.endSelection()),l(a.activateCell(c));return}l(a.startSelection(c)),l(a.endSelection()),l(a.activateCell(c))},[l,b,t.activeCell,t.selection,r.length]);return{handleKeyDown:(0,e.useCallback)(async e=>{if(!cr(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(),x(-1,0,e.shiftKey);return}if(e.key===`ArrowDown`){e.preventDefault(),x(1,0,e.shiftKey);return}if(e.key===`ArrowLeft`){e.preventDefault(),x(0,-1,e.shiftKey);return}if(e.key===`ArrowRight`){e.preventDefault(),x(0,1,e.shiftKey);return}if(e.key===`Tab`){e.preventDefault(),x(0,e.shiftKey?-1:1,!1);return}if(e.key===`Escape`){e.preventDefault(),l(a.clearSelection());return}if((e.key===`Delete`||e.key===`Backspace`)&&_){e.preventDefault(),g();return}if((e.key===`Enter`||e.key===` `)&&t.activeCell){let r=n.getGroupRow?.(t.activeCell.row);if(r){e.preventDefault(),y(r.groupKey);return}}if(e.key===`Enter`||e.key===`F2`){e.preventDefault(),t.activeCell&&d(t.activeCell);return}if(sr(e)&&t.activeCell){let o=n.getRow(t.activeCell.row),u=r[t.activeCell.col];if(!o||!u||!ke({readOnly:i,canEditCell:s},t.activeCell.row,t.activeCell.col,o,u))return;if(u.editor?.type===`checkbox`){e.preventDefault(),e.key===` `&&v(t.activeCell);return}e.preventDefault(),c(e.key),l(a.startEdit(t.activeCell))}}},[s,l,n,d,u,f,x,g,_,h,v,y,m,i,p,c,t.activeCell,t.editingCell,r])}},ur=new Intl.Collator(`ja`,{numeric:!0,sensitivity:`base`}),dr=(e,t)=>{let n=Number(e),r=Number(t);return Number.isFinite(n)&&Number.isFinite(r)?n-r:ur.compare(String(e??``),String(t??``))},fr=(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)},pr=(e,t,n)=>e.some(e=>e.columnKey===t)?e:[...e,{columnKey:t,direction:n}],mr=(e,t,n)=>t<0||t>=e.length||e[t].direction===n?e:e.map((e,r)=>r===t?{...e,direction:n}:e),hr=(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),gr=(e,t)=>t<0||t>=e.length?e:e.filter((e,n)=>n!==t),_r=(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},vr=(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(R(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]=R(e[t[i]],n);return r});u.sort((e,r)=>{for(let t=0;t<o;t+=1){let i=dr(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},yr=15e6,br=(e,t,n,r)=>e&&t&&n>0&&n<=r,xr=1<<20,Sr=(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)),cellHeight:()=>t,detailHeight:()=>0}),Cr=(e,t)=>{let n=t.filter(t=>t.height>0&&t.index>=0&&t.index<e.rowCount).sort((e,t)=>e.index-t.index),r=n.length,i=new Float64Array(r),a=new Float64Array(r+1);for(let e=0;e<r;e+=1)i[e]=n[e].index,a[e+1]=a[e]+n[e].height;let o=a[r],{rowCount:s}=e,c=e=>{let t=0,n=r;for(;t<n;){let r=t+n>>>1;i[r]<e?t=r+1:n=r}return t},l=t=>{let n=Math.min(Math.max(t,0),s);return(n===s?e.totalBodyHeight:e.rowTop(n))+a[c(n)]};return{rowCount:s,rowTop:l,rowsHeight:(e,t)=>l(t+1)-l(e),totalBodyHeight:e.totalBodyHeight+o,rowAtContentY:e=>{if(s<=0||e<=0)return 0;let t=0,n=s-1;for(;t<n;){let r=t+n+1>>>1;l(r)<=e?t=r:n=r-1}return t},cellHeight:t=>e.cellHeight(t),detailHeight:e=>{let t=c(e);return t<r&&i[t]===e?a[t+1]-a[t]:0}}},wr=(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}},Tr=(e,t)=>e*t,Er=(e,t)=>t===1?e:e/t,Dr=(e,t,n,r)=>{let i=t*(1-n);return r.rowAtContentY(e-i)},Or=({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/xr)*xr,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}},kr=({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){let n={index:t,start:e+i.rowTop(t),size:i.cellHeight(t)},r=i.detailHeight(t);r>0&&(n.detailSize=r),m.push(n),h.add(t)}return{physicalBodyHeight:s,logicalBodyHeight:o,scaleFactor:1,translateY:0,windowBaseOffsetPx:0,rows:m,rowIndexSet:h}},Ar=({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}},jr=(e,t,n,r)=>e<t+r?-1:+(e>n-r),Mr=(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},Nr=(e,t,n)=>{let r=t.x-e.x,i=t.y-e.y;return r*r+i*i>=n*n},Pr=({gridRootRef:t,bodyScrollRef:n,scrollContainerRef:r,leftPaneScrollRef:i,rightPaneScrollRef:s,pointerClientRef:c,autoScrollFrameRef:l,uiState:u,dispatch:d,enableRangeSelection:f,enableSorting:p,orderedColumns:m,filteredRowsLength:h,visibleColumnsLength:g,paneLayout:v,leftLeadingWidth:y,centerLeadingWidth:b,rightLeadingWidth:x,headerHeight:S,rowMetrics:C,verticalScaleFactor:w,setHoveredRowIndex:T,setHoveredColumnIndex:E,enableRowHover:D,enableColumnHeaderHover:O,enableRowSelection:k,onGutterRowSelect:A,onGutterRowSelectDrag:j,onCellDoubleClickRef:M})=>{let N=(0,e.useRef)(u.dragState);N.current=u.dragState;let P=(0,e.useRef)(!1),F=(0,e.useRef)(null),ee=(0,e.useRef)(null),I=(0,e.useRef)(`mouse`),L=(0,e.useRef)(null),te=(0,e.useRef)(null),ne=(0,e.useRef)(!1),re=(0,e.useRef)(u.sort);re.current=u.sort;let ie=(0,e.useRef)(m);ie.current=m;let ae=(0,e.useRef)(p);ae.current=p;let oe=u.dragState?.type??null,se=(0,e.useCallback)((e,t)=>{let a=n.current;if(!a||h===0||g===0)return null;let c=a.getBoundingClientRect(),l=Dr(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]),ce=(0,e.useRef)(se);(0,e.useEffect)(()=>{ce.current=se},[se]);let le=(0,e.useCallback)((e,t)=>{let n=N.current;if(!n||n.type!==`selection`)return;let r=se(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,se]),ue=(0,e.useCallback)((e,n)=>{t.current?.focus({preventScroll:!0});let{target:r}=e;if(r.kind===`cell`){let e=ee.current;if(e&&e.cell.row===r.cell.row&&e.cell.col===r.cell.col&&n-e.time<300){ee.current=null,M.current(r.cell);return}ee.current={cell:r.cell,time:n},d(a.activateCell(r.cell)),f&&(d(a.startSelection(r.cell)),d(a.endSelection()));return}if(ee.current=null,r.kind===`row`){if(k){A(r.rowIndex,{shiftKey:!1});return}d(a.startRowSelection(r.rowIndex)),d(a.endSelection());return}d(a.startColumnSelection(r.colIndex)),d(a.endSelection())},[d,f,k,t,M,A]);(0,e.useEffect)(()=>{let e=e=>{c.current={x:e.clientX,y:e.clientY},oe===`columnResize`&&d(a.updateColumnResize(e.clientX))},t=()=>{P.current=!1,d(a.endSelection()),d(a.endColumnResize())},n=e=>{let n=F.current;n&&(F.current=null,e.pointerId===n.pointerId&&Math.abs(e.clientX-n.x)<10&&Math.abs(e.clientY-n.y)<10&&ue(n,e.timeStamp)),t()},r=()=>{F.current=null,t()};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,n),window.addEventListener(`pointercancel`,r),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,n),window.removeEventListener(`pointercancel`,r)}},[d,c,oe,ue]),(0,e.useEffect)(()=>{if(oe!==`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(!ne.current){let t=te.current;if(t&&!Nr(t,n,6)){l.current=requestAnimationFrame(e);return}ne.current=!0}let i=t.getBoundingClientRect(),a=Ar({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=N.current?.type===`selection`&&N.current.selectionKind===`col`,s=N.current?.type===`selection`&&N.current.selectionKind===`row`,u=o?0:jr(n.y,a.top,a.bottom,24),d=s?0:jr(n.x,a.left,a.right,24),f=Mr(t.scrollTop,u,18,t.scrollHeight-t.clientHeight),p=Mr(t.scrollLeft,d,18,t.scrollWidth-t.clientWidth);(f!==t.scrollTop||p!==t.scrollLeft)&&(t.scrollTo({top:f,left:p,behavior:`auto`}),le(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,oe,le]);let de=(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(I.current=n.pointerType,n.pointerType===`touch`){F.current={pointerId:n.pointerId,x:n.clientX,y:n.clientY,target:{kind:`cell`,cell:e}};return}t.current?.focus({preventScroll:!0}),c.current={x:n.clientX,y:n.clientY},te.current={x:n.clientX,y:n.clientY},ne.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=N.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(L.current!==null)return;let e=()=>{if(!P.current){L.current=null;return}let t=r.current,n=c.current;if(!t||!n){L.current=requestAnimationFrame(e);return}if(!ne.current){let t=te.current;if(t&&!Nr(t,n,6)){L.current=requestAnimationFrame(e);return}ne.current=!0}let i=t.getBoundingClientRect(),a=Ar({rectLeft:i.left,rectTop:i.top,clientLeft:t.clientLeft,clientTop:t.clientTop,clientWidth:t.clientWidth,clientHeight:t.clientHeight}),o=jr(n.y,a.top,a.bottom,24),s=Mr(t.scrollTop,o,18,t.scrollHeight-t.clientHeight);if(s!==t.scrollTop){t.scrollTo({top:s,left:t.scrollLeft,behavior:`auto`});let e=ce.current(n.x,n.y);e&&j(e.row)}L.current=requestAnimationFrame(e)};L.current=requestAnimationFrame(e)},[r,c,j]);(0,e.useEffect)(()=>()=>{L.current!==null&&(cancelAnimationFrame(L.current),L.current=null)},[]);let he=(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(I.current=n.pointerType,n.pointerType===`touch`){F.current={pointerId:n.pointerId,x:n.clientX,y:n.clientY,target:{kind:`row`,rowIndex:e}};return}if(t.current?.focus({preventScroll:!0}),c.current={x:n.clientX,y:n.clientY},te.current={x:n.clientX,y:n.clientY},ne.current=!1,k){P.current=!0,A(e,{shiftKey:n.shiftKey}),me();return}d(a.startRowSelection(e))}},[d,t,k,A,me,c]),ge=(0,e.useCallback)((e,t)=>{if(D&&T(e),P.current){c.current={x:t.clientX,y:t.clientY},j(e);return}let n=N.current;n?.type!==`selection`||n.selectionKind!==`row`||(c.current={x:t.clientX,y:t.clientY},d(a.updateRowSelection(e)))},[d,c,T,D,j]),_e=(0,e.useCallback)((e,n)=>{if(n.preventDefault(),n.button===0){if(I.current=n.pointerType,n.pointerType===`touch`){F.current={pointerId:n.pointerId,x:n.clientX,y:n.clientY,target:{kind:`col`,colIndex:e}};return}if(t.current?.focus({preventScroll:!0}),c.current={x:n.clientX,y:n.clientY},te.current={x:n.clientX,y:n.clientY},ne.current=!1,n.shiftKey&&ae.current){let t=ie.current[e];if(t&&!hn(t.key)){let e=re.current,n=e.find(e=>e.columnKey===t.key)?.direction?`desc`:`asc`,r=fr(e,t.key,n,!0);d(r.length===0?a.clearSort():a.setSort(r))}return}d(a.startColumnSelection(e))}},[d,t,c]),ve=(0,e.useCallback)((e,t)=>{T(null),O&&E(e);let n=N.current;n?.type!==`selection`||n.selectionKind!==`col`||(c.current={x:t.clientX,y:t.clientY},d(a.updateColumnSelection(e)))},[d,c,T,E,O]);return{updateSelectionFromPointer:le,handleCellPointerDown:de,handleCellDoubleClick:(0,e.useCallback)(e=>{I.current!==`touch`&&M.current(e)},[M]),handleCellPointerEnter:fe,handleNativeDragStart:pe,handleRowHeaderPointerDown:he,handleRowHeaderPointerEnter:ge,handleColumnHeaderPointerDown:_e,handleColumnHeaderPointerEnter:ve}},Fr=({scrollRef:t,columnVirtualizer:n,columnMeasurements:r,totalScrollWidth:i,physicalBodyHeight:a,headerHeight:o,leftPaneWidth:s,rightPaneWidth:c,centerLeadingWidth:l,activeCellRect:u,activeCell:d,verticalScaleFactor:f})=>{(0,e.useEffect)(()=>{n.measure()},[n,r]),(0,e.useEffect)(()=>{if(!t.current)return;let e=t.current,n=Math.max(i-e.clientWidth,0),r=Math.max(o+a-e.clientHeight,0);e.scrollLeft>n&&(e.scrollLeft=n),e.scrollTop>r&&(e.scrollTop=r)},[t,i,a,o]);let p=(0,e.useRef)(null);(0,e.useEffect)(()=>{let e=p.current,n=e!==null&&d!==null&&e.row===d.row&&e.col===d.col;if(p.current=d,n||!t.current||!u)return;let r=t.current,i=o+u.top,a=i+u.height,m=s+l+u.left,h=m+u.width,g=Tr(r.scrollTop,f),_=r.scrollLeft,v=r.clientHeight,y=r.clientWidth,b=g,x=_,S=g+o,C=g+v;i<S?b=Math.max(i-o,0):a>C&&(b=Math.max(a-v,0));let w=_+s,T=_+y-c;m<w?x=Math.max(m-s,0):h>T&&(x=Math.max(h-y+c,0)),(b!==g||x!==_)&&r.scrollTo({top:Er(b,f),left:x,behavior:`auto`})},[t,u,d,o,s,c,l,f])};function Ir(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 Lr=`data-ssg-tooltip`,Rr=`[${Lr}], [data-ssg-tooltip-overflow]`,zr=350,Br=800,Vr=0,J=null,Hr=null,Ur=0,Wr=null;function Gr(){if(J!==null)return J;let e=document.createElement(`div`);return e.className=`ssg-tooltip`,e.setAttribute(`aria-hidden`,`true`),document.body.appendChild(e),J=e,e}function Kr(){Hr!==null&&(window.clearTimeout(Hr),Hr=null)}function Y(){Kr(),Wr!==null&&(Ur=Date.now()+Br),Wr=null,J!==null&&J.classList.remove(`ssg-tooltip--visible`)}function X(e){let t=e.getAttribute(Lr),n=t!==null&&t!==``?t:(e.textContent??``).trim();if(n===``)return;let r=Gr();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=Ir({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`),Wr=e}function qr(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(Rr);if(n===null||n===Wr||!n.hasAttribute(Lr)&&n.scrollWidth<=n.clientWidth+1)return;let r=Wr!==null;Y(),r||Date.now()<Ur?X(n):Hr=window.setTimeout(()=>{Hr=null,X(n)},zr)}function Jr(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(Rr);if(n===null)return;let r=e.relatedTarget;r instanceof Node&&n.contains(r)||Y()}function Yr(){Y()}function Xr(e){e.key===`Escape`&&Y()}function Zr(){window.addEventListener(`pointerover`,qr,!0),window.addEventListener(`pointerout`,Jr,!0),window.addEventListener(`focusin`,qr,!0),window.addEventListener(`focusout`,Jr,!0),window.addEventListener(`pointerdown`,Yr,!0),window.addEventListener(`scroll`,Yr,!0),window.addEventListener(`keydown`,Xr,!0)}function Qr(){window.removeEventListener(`pointerover`,qr,!0),window.removeEventListener(`pointerout`,Jr,!0),window.removeEventListener(`focusin`,qr,!0),window.removeEventListener(`focusout`,Jr,!0),window.removeEventListener(`pointerdown`,Yr,!0),window.removeEventListener(`scroll`,Yr,!0),window.removeEventListener(`keydown`,Xr,!0)}function $r(){(0,e.useEffect)(()=>(Vr+=1,Vr===1&&Zr(),()=>{--Vr,Vr===0&&(Qr(),Kr(),Wr=null,J!==null&&(J.remove(),J=null))}),[])}var ei=`(prefers-color-scheme: dark)`;function ti(e){if(typeof window.matchMedia!=`function`)return()=>{};let t=window.matchMedia(ei);return t.addEventListener(`change`,e),()=>{t.removeEventListener(`change`,e)}}function ni(){return typeof window.matchMedia==`function`?window.matchMedia(ei).matches:!1}function ri(){return!1}function ii(t){let n=(0,e.useSyncExternalStore)(ti,ni,ri);return t===`dark`||t===`auto`&&n?`dark`:`light`}function ai(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 oi=32,si=2,ci=14,li=12,ui=`<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>`,di=`<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>`,fi=`<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>`,pi=`0.5`,mi=200,hi=`cubic-bezier(0.2, 0.7, 0.3, 1)`,gi=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,_i=e=>{if(!e)return null;let t=new Map;return e.querySelectorAll(`[data-ssg-col-key]`).forEach(n=>{if(vn(e,n))return;let r=n.dataset.ssgColKey;r&&!t.has(r)&&t.set(r,n.getBoundingClientRect().left)}),t},vi=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+ci)+`px,`+(r+li)+`px)`;let i=e??`out`;if(_.current===i)return;_.current=i;let a=g.current;i===`out`?(t.style.opacity=pi,a&&(a.innerHTML=fi)):(t.style.opacity=`1`,a&&(a.innerHTML=i===`center`?ui:di))},[]),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+oi)return{pane:`left`,slot:0,leftPx:si};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-oi)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||Nr(e,t,6))&&(f.current=!0)}if(f.current){let n=e.getBoundingClientRect(),r=Ar({rectLeft:n.left,rectTop:n.top,clientLeft:e.clientLeft,clientTop:e.clientTop,clientWidth:e.clientWidth,clientHeight:e.clientHeight}),i=jr(t.x,r.left,r.right,24),a=Mr(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=ai(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&&!gi()?_i(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(n=>{if(vn(t,n))return;let a=n.dataset.ssgColKey;if(!a||!e.has(a))return;let o=r.get(a);o?o.push(n):(r.set(a,[n]),i.set(a,n.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 ${mi}ms ${hi}`,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}},yi=e=>e===``?`(空白)`:`"${e}"`,bi=(e,t)=>(e??`include`)===`exclude`?`${t.length} 件を除外`:t.length>0&&t.length<=2?t.map(yi).join(`, `):`${t.length} 件を選択`,xi=(e,t)=>{switch(e.kind){case`text`:case`date`:return`"${e.value.trim()}" を含む`;case`select`:return`"${e.value}" に一致`;case`number`:return e.raw;case`set`:return bi(e.mode,e.values);case`numberSet`:case`textSet`:case`dateSet`:{let n=e.condition?e.kind===`numberSet`?kt(e.condition):e.kind===`textSet`?It(e.condition):Gt(e.condition,t):null,r=e.set?bi(e.set.mode,e.set.values):null;return n&&r?`${n} かつ ${r}`:n??r??`フィルターなし`}case`custom`:return typeof e.value==`string`&&e.value.trim().length>0?`"${e.value.trim()}"`:`カスタム条件`}},Si=/^\d{4}-\d{2}-\d{2}$/,Ci=e=>{let t=new Set;for(let n of e)t.add(st(n.value));let n=[],r=[],i=!1;for(let e of t)e===``?i=!0:Si.test(e)?n.push(e):r.push(e);n.sort(),r.sort();let a=n.map(e=>({label:e,value:e}));for(let e of r)a.push({label:e,value:e});return i&&a.push({label:`(空白)`,value:``}),a},wi=(e,t)=>{let n=new Map,r=[];for(let t of e){if(!Si.test(t.value)){r.push(t);continue}let e=t.value.slice(0,4),i=t.value.slice(0,7),a=n.get(e);a||(a=new Map,n.set(e,a));let o=a.get(i);o||(o=[],a.set(i,o)),o.push(t.value)}let i=[];for(let[e,r]of n){let n=`y:${e}`,a=[];for(let e of r.values())a.push(...e);let o=t.has(n);if(i.push({type:`group`,key:n,label:`${e} 年`,depth:0,leafKeys:a,expanded:o}),o)for(let[e,n]of r){let r=`m:${e}`,a=t.has(r);if(i.push({type:`group`,key:r,label:`${Number(e.slice(5,7))} 月`,depth:1,leafKeys:[...n],expanded:a}),a)for(let e of n)i.push({type:`leaf`,key:e,label:`${Number(e.slice(8,10))} 日`,depth:2,leafKeys:[e],expanded:!1})}}for(let e of r)i.push({type:`leaf`,key:e.value,label:e.label,depth:0,leafKeys:[e.value],expanded:!1});return i},Ti=1e3,Ei=2e4,Di=e=>{if(typeof e==`number`)return Number.isFinite(e);if(typeof e!=`string`)return!1;let t=e.trim();return!t||/^-?0\d/.test(t)?!1:Number.isFinite(Number(t))},Oi=e=>ot(e)!==null,ki=({editorType:e,isServerSide:t=!1,rowCount:n,getRawValueAt:r,sampleLimit:i=Ti,scanLimit:a=Ei})=>{if(e===`number`)return{filterType:`numberSet`,source:`editor`,conclusive:!0};if(e===`date`)return{filterType:`dateSet`,source:`editor`,conclusive:!0};if(t)return{filterType:`text`,source:`fallback`,conclusive:!0};let o=Math.min(n,a),s=0,c=0,l=0;for(let e=0;e<o&&s<i;e+=1){let t=r(e);if(!$e(t)){if(s+=1,Oi(t)){c+=1;continue}Di(t)&&(l+=1)}}return s===0?{filterType:`textSet`,source:`fallback`,conclusive:!1}:c===s?{filterType:`dateSet`,source:`values`,conclusive:!0}:l===s?{filterType:`numberSet`,source:`values`,conclusive:!0}:{filterType:`textSet`,source:`values`,conclusive:!0}},Ai=(e,t,n,r)=>{if(n===0||r===0)return null;let i=n-1,a=r-1;if(e?.type===`cell`){let t=oe(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=se(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=ce(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},ji=({rows:e,resolveSourceIndex:t,columns:n,selection:r,activeCell:i,viewRowCount:a,canWriteCell:o})=>{let s=Ai(r,i,a,n.length);if(!s)return{nextRows:e,changed:!1};let c=[...e],l=!1;for(let e=s.startRow;e<=s.endRow;e+=1){let r=t(e);if(r===void 0)continue;let i=c[r];if(!i)continue;let a=i,u=!1;for(let e=s.startCol;e<=s.endCol;e+=1){let t=n[e];if(!t||!o(r,e,i,t))continue;let s=ze(t)(``,i);Object.is(R(a,t),s)||kn(t,i,s).action!==`reject`&&(a=Ae(a,t,s),u=!0)}u&&(c[r]=a,l=!0)}return l?{nextRows:c,changed:l}:{nextRows:e,changed:!1}},Mi=({getRow:e,columns:t,selection:n,activeCell:r,viewRowCount:i,canWriteCell:a})=>{let o=Ai(n,r,i,t.length);if(!o)return[];let s=[];for(let n=o.startRow;n<=o.endRow;n+=1){let r=e(n);if(r)for(let e=o.startCol;e<=o.endCol;e+=1){let i=t[e];if(!i||!a(n,e,r,i))continue;let o=ze(i)(``,r);Object.is(R(r,i),o)||kn(i,r,o).action!==`reject`&&s.push({viewIndex:n,column:i,value:o})}}return s},Ni=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}},Pi=(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},Fi=(e,t)=>e.includes(t)||e.includes(`"`)||e.includes(`
|
|
9
|
+
`)||e.includes(`\r`)?`"${e.replace(/"/g,`""`)}"`:e,Ii=(e,t)=>{let n=R(e,t);return t.formatClipboardValue?t.formatClipboardValue(n,e):String(n??``)},Li=({getRow:e,startRow:t,endRow:n,columns:r,delimiter:i=`,`,includeHeaders:a=!0,bom:o=!1})=>{let s=[];a&&s.push(r.map(e=>Fi(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=>Fi(Ii(t,e),i));s.push(n.join(i))}let c=s.join(`\r
|
|
10
|
+
`);return o?`\uFEFF${c}`:c},Ri=({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=R(t,e);return{value:n,text:e.formatClipboardValue?e.formatClipboardValue(n,t):String(n??``)}}))}return{columns:i,rows:a}},zi=e=>e===`all`?`view`:e===`visible`?`rendered`:e,Bi=e=>{switch(e.kind){case`set`:return{...e,values:[...e.values]};case`number`:return{...e,parsed:e.parsed?{...e.parsed}:null};case`numberSet`:return{...e,condition:e.condition?{...e.condition}:null,set:e.set?{...e.set,values:[...e.set.values]}:null};case`textSet`:return{...e,condition:e.condition?{...e.condition}:null,set:e.set?{...e.set,values:[...e.set.values]}:null};case`dateSet`:return{...e,condition:e.condition?{...e.condition}:null,set:e.set?{...e.set,values:[...e.set.values]}:null};case`text`:case`date`:case`select`:return{...e};case`custom`:return{...e}}},Vi=e=>{let t={};for(let n of Object.keys(e))t[n]=Bi(e[n]);return t},Hi=e=>{let t={key:e.key};return e.visible!==void 0&&(t.visible=e.visible),e.pinned!==void 0&&(t.pinned=e.pinned),t},Ui=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}),Wi=(e,t,n,r=[],i=2)=>({version:i,columnWidths:{...e},filters:{globalText:t.globalText,columnFilters:Vi(t.columnFilters)},sort:n.map(e=>({...e})),columns:r.map(Hi)}),Gi=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]=Bi(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}},Ki=(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)},qi=(e,t)=>e===null||t===null?e===t:e.mode===`blank`||e.mode===`notBlank`||t.mode===`blank`||t.mode===`notBlank`?e.mode===t.mode:e.mode===t.mode&&e.value===t.value,Ji=(e,t)=>e===null||t===null?e===t:e.mode===t.mode?e.mode===`range`&&t.mode===`range`?e.from===t.from&&e.to===t.to:e.mode===`preset`&&t.mode===`preset`?e.preset===t.preset:e.mode===`blank`||e.mode===`notBlank`?!0:`value`in e&&`value`in t&&e.value===t.value:!1,Yi=(e,t)=>e===null||t===null?e===t:(e.mode??`include`)===(t.mode??`include`)&&e.values.length===t.values.length&&e.values.every((e,n)=>e===t.values[n]),Xi=(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:e.mode===`blank`||e.mode===`notBlank`?e.mode===t.mode:!1,Zi=(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&&Xi(e.parsed,t.parsed);case`numberSet`:return t.kind===`numberSet`&&Xi(e.condition,t.condition)&&Yi(e.set,t.set);case`textSet`:return t.kind===`textSet`&&qi(e.condition,t.condition)&&Yi(e.set,t.set);case`dateSet`:return t.kind===`dateSet`&&Ji(e.condition,t.condition)&&Yi(e.set,t.set);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)}},Qi=(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},$i=(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)||!Zi(e[r],t[r]))return!1;return!0},ea=(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},ta=(e,t)=>{if(e.version!==t.version||!Qi(e.columnWidths,t.columnWidths)||e.filters.globalText!==t.filters.globalText||!$i(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!!ea(e.columns,t.columns)},na=(e,t,n)=>n?{emit:!1,nextLast:e}:e===null||ta(e,t)?{emit:!1,nextLast:t}:{emit:!0,nextLast:t},ra=({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))},ia=({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))},aa=(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]},oa=(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 aa(s,0),s},sa=(e,t,n,r)=>t<0||t>=e.rowCount||(e.measured.set(n,r),e.heights[t]===r)?!1:(e.heights[t]=r,!0),ca=(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)},la=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=>ca(t,n,e),cellHeight:e=>t[Math.min(Math.max(e+1,0),n)]-t[Math.min(Math.max(e,0),n)],detailHeight:()=>0}},ua=21,da=4,fa=41,pa=13,ma=600,ha=60,ga=16,_a=null,Z=()=>_a||(typeof document>`u`?null:(_a=document.createElement(`canvas`).getContext(`2d`),_a)),va=`system-ui, sans-serif`,ya=e=>{let t=va,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:`${ma} ${pa}px ${t}`}},ba=(e,t,n)=>Math.min(Math.max(e,t),n),xa=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,Sa=e=>{let t=0;for(let n of e){let e=n.codePointAt(0)??0;t+=xa(e)?2:1}return t},Ca=(e,t)=>{let n=R(e,t);return t.valueFormatter?t.valueFormatter({value:n,row:e,column:t}):String(n??``)},wa=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},Ta=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},Q=e=>e.suppressAutoSize===!0||e.autoHeight===!0;function Ea(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(Q(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(R(a,e[o])??``);if(c===``)continue;let l=t[o],u=n[o];if(l.length===ga&&2*c.length<=r[o])continue;let d=Sa(c);if(l.length<ga){if(l.push(a),u.push(d),l.length===ga){let e=u[0];for(let t=1;t<ga;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<ga;e+=1)u[e]<u[f]&&(f=e);l[f]=a,u[f]=d;let p=u[0];for(let e=1;e<ga;e+=1)u[e]<p&&(p=u[e]);r[o]=p}},finalize:({gridRoot:n,currentWidths:r})=>{let a=Z();if(!a||e.length===0)return{};let{cellFont:o,headerFont:s}=ya(n),c={},l=wa(n);try{let n=null;if(l){let r=[];for(let n=0;n<e.length;n+=1){if(Q(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=Ca(i[t],e[n]);if(r===``)continue;let o=Ta(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(Q(u))continue;a.font=s;let d=u.title||u.key,f=a.measureText(d).width+da+fa,p;if(u.estimateCellWidth)p=i[l]>0?i[l]+ua: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=Ca(n[t],u);if(r===``)continue;let i=a.measureText(r).width;i>e&&(e=i)}p=e>0?e+da+ua:0}let m=Math.ceil(ba(Math.max(f,p),u.minWidth??ha,u.maxWidth??1/0));r[u.key]!==m&&(c[u.key]=m)}}finally{l&&l.parentNode&&l.parentNode.removeChild(l)}return c}}}function Da(){return Z()!==null}var Oa=()=>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)}),ka=10,Aa=180,ja=()=>typeof performance<`u`?performance.now():Date.now(),Ma=({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||!Da())return;let o=c.current+=1;u();let d=t.current,f=d.getRowCount(),p=n.current,m=r.current,h=Ea(e);l.current=setTimeout(()=>{c.current===o&&s(!0)},Aa);try{let e=0;for(;e<f;){let n=ja();for(;e<f&&ja()-n<ka;){let t=d.getRow(e);t&&h.collect(t),e+=1}if(e<f&&(await Oa(),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])}},Na=()=>{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)=>ur.compare(e.label,t.label))}}},Pa=(e,t)=>{let n=Na();for(let r=0;r<e;r+=1)n.collect(t(r));return n.finalize()},Fa=10,Ia=()=>typeof performance<`u`?performance.now():Date.now(),La=[],Ra=new Set,za={status:`idle`,options:La,allValues:Ra,progress:0},Ba={status:`collecting`,options:La,allValues:Ra,progress:0},Va=e=>new Set(e.map(e=>e.value)),Ha={source:null,rowCount:0,result:za},Ua=({column:t,rowCount:n,getRawValueAt:r})=>{let i=t?.filterType??null,a=i===`select`||i===`set`||i===`numberSet`||i===`textSet`||i===`dateSet`,o=t?.filterOptions&&t.filterOptions.length>0?t.filterOptions:null,s=a&&o===null&&n>5e4,c=(0,e.useMemo)(()=>{if(!t||!a)return za;if(o){let e=o;return{status:`ready`,options:e,allValues:Va(e),progress:1}}if(!s){let e=Pa(n,r);return{status:`ready`,options:e,allValues:Va(e),progress:1}}return null},[t,a,o,s,n,r]),[l,u]=(0,e.useState)(Ha);(0,e.useEffect)(()=>{if(c!==null)return;let e=r,t=n,i=Na(),a=!1;return(async()=>{let n=0;for(;n<t;){let r=Ia();for(;n<t&&Ia()-r<Fa;)i.collect(e(n)),n+=1;if(n<t){if(await Oa(),a)return;u({source:e,rowCount:t,result:{status:`collecting`,options:La,allValues:Ra,progress:n/t}})}}if(a)return;let r=i.finalize();u({source:e,rowCount:t,result:{status:`ready`,options:r,allValues:Va(r),progress:1}})})(),()=>{a=!0}},[c,n,r]);let d=l.source===r&&l.rowCount===n?l.result:Ba;return c??d},Wa=10,Ga=()=>typeof performance<`u`?performance.now():Date.now(),Ka=({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:xt(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=Ga();for(;n<c&&Ga()-r<Wa;){let r=i[n];bt(e[r],a,o)&&(u[t]=r,t+=1),n+=1}if(n<c){if(await Oa(),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 qa(e){let t=e.blockSize,n=e.maxBlocks,r=new Map,i=e=>{let t=r.get(e);t!==void 0&&(r.delete(e),r.set(e,t))},a=()=>{for(;r.size>n;){let e=r.keys().next().value;if(e===void 0)break;r.delete(e)}};return{getRow:e=>{if(t<=0||e<0)return;let n=Math.floor(e/t),i=r.get(n);if(i!==void 0)return i[e-n*t]},hasBlock:e=>r.has(e),setBlock:(e,t)=>{r.has(e)&&r.delete(e),r.set(e,t),a()},updateRow:(e,n)=>{if(t<=0||e<0)return!1;let i=Math.floor(e/t),a=r.get(i);if(a===void 0)return!1;let o=e-i*t;if(o>=a.length)return!1;let s=a.slice();return s[o]=n,r.set(i,s),!0},touchBlocks:e=>{for(let t of e)i(t)},clear:()=>{r.clear()},loadedBlockIndexes:()=>Array.from(r.keys())}}function Ja(e,t){return Math.floor(e/t)}function Ya(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=Ja(i,n),s=Ja(a-1,n),c=[];for(let e=o;e<=s;e+=1)c.push(e);return c}var Xa=()=>{let e=new Map,t=1,n=t=>e.get(t)?.row,r=(n,r)=>{let i=t;return t+=1,e.set(n,{row:r,writeId:i}),i},i=(t,n)=>e.get(t)?.writeId===n;return{getRow:n,beginWrite:r,isLatestWrite:i,settleWrite:(t,n)=>{i(t,n)&&e.delete(t)},clear:()=>{e.clear()},pendingCount:()=>e.size}},Za=(e,t,n)=>{let r=new Map;for(let i of e){let e=r.get(i.viewIndex);if(e===void 0){let a=t(i.viewIndex);if(a===void 0)continue;e={rowKey:n(a,i.viewIndex),rowIndex:i.viewIndex,row:a,previousRow:a,changes:[]},r.set(i.viewIndex,e)}e.changes.push({columnKey:i.column.key,previousValue:R(e.row,i.column),newValue:i.value}),e.row=Ae(e.row,i.column,i.value)}return Array.from(r.values())},Qa=100,$a=64,eo=120;function to(t){let{dataSource:n,rowKeyGetter:r,query:i,queryKey:a,refreshToken:o,onLoadError:s,onWriteError:c}=t,l=n?.blockSize??Qa,u=n?.maxCachedBlocks??$a,d=t.debounceMs??eo,[f]=(0,e.useState)(()=>qa({blockSize:l,maxBlocks:u})),[p,m]=(0,e.useState)(n?.initialRowCount??0),[h,g]=(0,e.useState)(0),_=(0,e.useRef)(p),v=(0,e.useRef)(!1),y=(0,e.useRef)(new Map),b=(0,e.useRef)(new Set),[x,S]=(0,e.useState)(null),C=(0,e.useRef)(s);(0,e.useEffect)(()=>{C.current=s},[s]);let[w]=(0,e.useState)(()=>Xa()),T=(0,e.useRef)(0),[E,D]=(0,e.useState)(null),O=(0,e.useRef)(c);(0,e.useEffect)(()=>{O.current=c},[c]);let k=(0,e.useCallback)(e=>w.getRow(e)??f.getRow(e),[f,w]),A=(0,e.useCallback)(()=>{T.current+=1,w.clear(),D(null)},[w]),j=(0,e.useCallback)(()=>{let e=b.current.size;S(t=>e===0?t===null?t:null:{failedBlockCount:e})},[]),M=(0,e.useRef)(null),N=(0,e.useRef)({start:0,end:0}),P=(0,e.useCallback)(e=>{if(n==null||f.hasBlock(e)||y.current.has(e))return;let t=new AbortController;y.current.set(e,t);let r=e*l,a=r+l;n.getRows({startIndex:r,endIndex:a,query:i,signal:t.signal}).then(n=>{t.signal.aborted||y.current.get(e)===t&&(y.current.delete(e),f.setBlock(e,n.rows),b.current.delete(e)&&j(),n.totalRowCount!==_.current&&(_.current=n.totalRowCount,m(n.totalRowCount)),g(e=>e+1))}).catch(n=>{t.signal.aborted||y.current.get(e)===t&&(y.current.delete(e),b.current.add(e),j(),C.current?.(n,{startIndex:r,endIndex:a}))})},[f,l,n,i,j]),F=(0,e.useCallback)(()=>{let{start:e,end:t}=N.current,n=Ya(e,t,l,_.current),r=new Set(n);for(let[e,t]of y.current)r.has(e)||(t.abort(),y.current.delete(e));for(let e of n)P(e)},[l,P]),ee=(0,e.useCallback)(()=>{M.current!==null&&clearTimeout(M.current),M.current=setTimeout(()=>{M.current=null,F()},d)},[d,F]),I=(0,e.useCallback)((e,t)=>{n!=null&&(N.current={start:e,end:t},f.touchBlocks(Ya(e,t,l,_.current)),ee())},[f,l,n,ee]);(0,e.useEffect)(()=>{if(n==null)return;for(let[,e]of y.current)e.abort();y.current.clear(),M.current!==null&&(clearTimeout(M.current),M.current=null),f.clear(),b.current.clear(),j(),A();let e=!v.current;v.current=!0,g(e=>e+1),e?(n.initialRowCount??0)<=0&&P(0):P(0)},[a]);let L=(0,e.useCallback)(()=>{if(n==null)return;for(let[,e]of y.current)e.abort();y.current.clear(),M.current!==null&&(clearTimeout(M.current),M.current=null),f.clear(),b.current.clear(),j(),A(),g(e=>e+1);let{start:e,end:t}=N.current;if(Ya(e,t,l,_.current).length===0){P(0);return}F()},[f,n,l,P,F,j,A]),te=(0,e.useCallback)(()=>{if(n==null||b.current.size===0)return;let e=Array.from(b.current);b.current.clear(),j();for(let t of e)P(t)},[n,P,j]),ne=(0,e.useCallback)(e=>{let t=n?.updateRows;if(t===void 0||e.length===0)return 0;let i=Za(e,k,r);if(i.length===0)return 0;let a=T.current,o=i.map(e=>({viewIndex:e.rowIndex,row:e.row,writeId:w.beginWrite(e.rowIndex,e.row)}));return g(e=>e+1),t({updates:i}).then(e=>{if(T.current!==a)return;let t=e===void 0?void 0:e.rows;o.forEach((e,n)=>{f.updateRow(e.viewIndex,t?.[n]??e.row),w.settleWrite(e.viewIndex,e.writeId)}),g(e=>e+1)}).catch(e=>{if(T.current===a){for(let e of o)w.settleWrite(e.viewIndex,e.writeId);D({failedRowCount:i.length}),O.current?.(e,{updates:i}),g(e=>e+1)}}),i.length},[f,n,k,w,r]),re=(0,e.useRef)(o);(0,e.useEffect)(()=>{if(n==null||o===void 0){re.current=o;return}if(re.current===void 0){re.current=o;return}re.current!==o&&(re.current=o,L())},[o]),(0,e.useEffect)(()=>{let e=y.current,t=M,n=T;return()=>{for(let[,t]of e)t.abort();e.clear(),t.current!==null&&(clearTimeout(t.current),t.current=null),n.current+=1,w.clear()}},[w]);let ie=(0,e.useCallback)(e=>k(e)!==void 0,[k]);return{rowModel:(0,e.useMemo)(()=>({getRowCount:()=>_.current,getRow:e=>k(e),getSourceIndex:e=>e,getRowKey:e=>{let t=k(e);return t===void 0?e:r(t,e)}}),[k,r,h]),rowCount:p,isRowLoaded:ie,requestRange:I,refresh:L,loadError:x,retryFailedBlocks:te,canUpdateRows:n?.updateRows!==void 0,applyCellEdits:ne,writeError:E}}var no=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];et(n)&&(r[t]=n,i=!0)}return i&&(t.columnFilters=r),e.sort.length>0&&(t.sort=e.sort),t},ro=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 io({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 ao=(0,e.memo)(io);function oo({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)(ao,{state:e?`checked`:`unchecked`,disabled:t})})}var so=(e,t)=>{let n=t.trim().toLowerCase();return n?e.filter(e=>e.label.toLowerCase().includes(n)):e},co=(e,t)=>{if(!t.trim())return{kind:`close`};let n=so(e,t);return n.length===0?{kind:`none`}:{kind:`replace`,values:n.map(e=>e.value)}},lo=(e,t)=>e===null?!0:e.mode===`include`?e.values.has(t):!e.values.has(t),uo=[`日`,`月`,`火`,`水`,`木`,`金`,`土`],fo=[`1月`,`2月`,`3月`,`4月`,`5月`,`6月`,`7月`,`8月`,`9月`,`10月`,`11月`,`12月`],po=(e,t)=>{let n=new Date(e,t,1).getDay(),r=[];for(let i=0;i<42;i+=1){let a=new Date(e,t,1-n+i);r.push({key:at(a),day:a.getDate(),inCurrentMonth:a.getMonth()===t})}return r},mo=e=>e===``?``:e.replaceAll(`-`,`/`),ho=(e,t)=>`${e}年 ${t+1}月`,go=e=>e-e%12,_o=e=>{let t=go(e),n=[];for(let e=0;e<12;e+=1)n.push(t+e);return n};function vo({value:t,onCommit:r,ariaLabel:a,inputRef:o,onRequestClose:s,align:c=`left`}){let[l,u]=(0,e.useState)(null),[d,f]=(0,e.useState)(!1),[p,m]=(0,e.useState)(!1),[h,g]=(0,e.useState)(`days`),[_,v]=(0,e.useState)(()=>new Date().getFullYear()),[y,b]=(0,e.useState)(()=>new Date().getMonth()),x=(0,e.useRef)(null),S=l??mo(t),C=ot(new Date)??``,w=()=>{if(l===null)return;let e=l.trim();if(e===``){r(``),u(null),f(!1);return}let t=ot(e);if(t===null){f(!0);return}r(t),u(null),f(!1)},T=()=>{let[e,n]=(t===``?C:t).split(`-`);v(Number(e)),b(Number(n)-1),g(`days`),m(!0)},E=()=>{m(!1)},D=e=>{r(e),u(null),f(!1),E()};(0,e.useEffect)(()=>{if(!p)return;let e=e=>{let t=e.target;t&&x.current?.contains(t)||m(!1)};return document.addEventListener(`pointerdown`,e,!0),()=>{document.removeEventListener(`pointerdown`,e,!0)}},[p]);let O=e=>{if(e.stopPropagation(),e.key===`Enter`){if(e.nativeEvent.isComposing)return;e.preventDefault(),w(),E();return}if(e.key===`Escape`){if(e.preventDefault(),p){E();return}s()}},k=e=>t=>{t.preventDefault(),t.stopPropagation(),e()},A=e=>{if(h===`days`){let t=new Date(_,y+e,1);v(t.getFullYear()),b(t.getMonth());return}if(h===`months`){v(t=>t+e);return}v(t=>t+e*12)},j=()=>{g(e=>e===`days`?`months`:`years`)},M=()=>{g(e=>e===`years`?`months`:`days`)},N=h===`days`?ho(_,y):h===`months`?`${_}年`:`${go(_)} – ${go(_)+11}`;return(0,n.jsxs)(`div`,{ref:x,className:`ssg-dp-root`,children:[(0,n.jsxs)(`div`,{className:i(`ssg-dp-field`,p&&`ssg-dp-field--open`,d&&`ssg-dp-field--invalid`),children:[(0,n.jsx)(`input`,{ref:o,type:`text`,inputMode:`numeric`,value:S,placeholder:`yyyy/mm/dd`,"aria-label":a,"aria-invalid":d||void 0,className:`ssg-dp-input`,onChange:e=>{u(e.target.value),f(!1)},onKeyDown:O,onBlur:w}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-cal-btn`,"aria-label":p?`カレンダーを閉じる`:`カレンダーを開く`,onPointerDown:k(()=>{p?E():T()}),onKeyDown:e=>{e.stopPropagation()},children:(0,n.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 16 16`,"aria-hidden":`true`,children:[(0,n.jsx)(`rect`,{x:`1.5`,y:`2.5`,width:`13`,height:`12`,rx:`1.5`,fill:`none`,stroke:`currentColor`}),(0,n.jsx)(`line`,{x1:`1.5`,y1:`6`,x2:`14.5`,y2:`6`,stroke:`currentColor`}),(0,n.jsx)(`line`,{x1:`5`,y1:`1`,x2:`5`,y2:`4`,stroke:`currentColor`}),(0,n.jsx)(`line`,{x1:`11`,y1:`1`,x2:`11`,y2:`4`,stroke:`currentColor`})]})})]}),p&&(0,n.jsxs)(`div`,{className:i(`ssg-dp-panel`,c===`right`&&`ssg-dp-panel--right`),children:[(0,n.jsxs)(`div`,{className:`ssg-dp-nav`,children:[(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-nav-btn`,"aria-label":`前へ`,onPointerDown:k(()=>A(-1)),children:`‹`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-nav-title`,disabled:h===`years`,"aria-label":`表示単位を切り替える`,onPointerDown:k(j),children:N}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-nav-btn`,"aria-label":`次へ`,onPointerDown:k(()=>A(1)),children:`›`})]}),h===`days`&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`div`,{className:`ssg-dp-dow`,children:uo.map((e,t)=>(0,n.jsx)(`span`,{className:i(t===0&&`ssg-dp-dow--sun`,t===6&&`ssg-dp-dow--sat`),children:e},e))}),(0,n.jsx)(`div`,{className:`ssg-dp-days`,children:po(_,y).map(e=>(0,n.jsx)(`button`,{type:`button`,className:i(`ssg-dp-day`,!e.inCurrentMonth&&`ssg-dp-day--out`,e.key===C&&`ssg-dp-day--today`,e.key===t&&`ssg-dp-day--selected`),"aria-label":e.key,onPointerDown:k(()=>D(e.key)),children:e.day},e.key))})]}),h===`months`&&(0,n.jsx)(`div`,{className:`ssg-dp-grid`,children:fo.map((e,t)=>(0,n.jsx)(`button`,{type:`button`,className:i(`ssg-dp-cell`,t===y&&`ssg-dp-cell--selected`),onPointerDown:k(()=>{b(t),g(`days`)}),children:e},e))}),h===`years`&&(0,n.jsx)(`div`,{className:`ssg-dp-grid`,children:_o(_).map(e=>(0,n.jsx)(`button`,{type:`button`,className:i(`ssg-dp-cell`,e===_&&`ssg-dp-cell--selected`),onPointerDown:k(()=>{v(e),g(`months`)}),children:e},e))}),(0,n.jsxs)(`div`,{className:`ssg-dp-foot`,children:[h!==`days`&&(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-foot-btn`,onPointerDown:k(M),children:`← 戻る`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-foot-btn`,onPointerDown:k(()=>D(C)),children:`今日`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-dp-foot-btn ssg-dp-foot-btn--muted`,onPointerDown:k(()=>D(``)),children:`クリア`})]})]})]})}var yo=24;function bo({options:r,setSelection:i,searchInputRef:a,onValueToggle:o,onSelectAllChange:s,onReplaceSelection:c,onRequestClose:l,isServerSide:u,selectAllUsesExplicitScope:d=!1}){let[f,p]=(0,e.useState)(``),m=(0,e.useDeferredValue)(f),h=(0,e.useMemo)(()=>so(r,m),[r,m]),g=m.trim().length>0,_=(0,e.useRef)(null),v=(0,t.useVirtualizer)({count:h.length,getScrollElement:()=>_.current,estimateSize:()=>yo,overscan:10}),y=(0,e.useMemo)(()=>{if(i===null)return h.length;let e=0;for(let t of h)lo(i,t.value)&&(e+=1);return e},[i,h]),b=h.length>0&&y===h.length,x=y>0&&!b,S=(0,e.useMemo)(()=>new Set(r.map(e=>e.value)),[r]),C=(0,e.useMemo)(()=>{if(i===null)return r.length;let e=0;for(let t of i.values)S.has(t)&&(e+=1);return i.mode===`include`?e:r.length-e},[i,S,r.length]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`input`,{ref:a,type:`text`,value:f,onChange:e=>p(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=co(r,f);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:b,ref:e=>{e&&(e.indeterminate=x)},onChange:()=>{s(g||d?h.map(e=>e.value):`all`,!b)}}),(0,n.jsx)(`span`,{className:`ssg-filter-selectall-label`,children:g?`(検索結果をすべて選択)`:`(すべて選択)`})]}),(0,n.jsx)(`div`,{ref:_,className:`ssg-filter-list`,children:h.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:v.getTotalSize()},children:v.getVirtualItems().map(e=>{let t=h[e.index];if(!t)return null;let r=lo(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:[`選択中: `,C,` / `,r.length,` 件`,g?`(表示中 ${h.length} 件)`:``]})]})}function xo({draft:e,valueInputRef:t,onDraftChange:r,onKeyDown:i}){let a=Tt(e.operator);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`select`,{value:e.operator,onChange:t=>r({...e,operator:t.target.value}),onKeyDown:i,className:`ssg-filter-select`,"aria-label":`条件の演算子`,children:wt.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},e.value))}),a>0?(0,n.jsxs)(`div`,{className:`ssg-filter-cond-values`,children:[(0,n.jsx)(`input`,{ref:t,type:`text`,inputMode:`decimal`,value:e.value1,onChange:t=>r({...e,value1:t.target.value}),onKeyDown:i,placeholder:a===2?`下限`:`値`,className:`ssg-filter-input`,"aria-label":a===2?`下限`:`条件の値`}),a===2&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{className:`ssg-filter-cond-tilde`,children:`〜`}),(0,n.jsx)(`input`,{type:`text`,inputMode:`decimal`,value:e.value2,onChange:t=>r({...e,value2:t.target.value}),onKeyDown:i,placeholder:`上限`,className:`ssg-filter-input`,"aria-label":`上限`})]})]}):(0,n.jsx)(`div`,{className:`ssg-filter-meta`,children:`この演算子は値入力を使いません`})]})}function So({draft:e,valueInputRef:t,onDraftChange:r,onKeyDown:i}){let a=H(e.operator);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`select`,{value:e.operator,onChange:t=>r({...e,operator:t.target.value}),onKeyDown:i,className:`ssg-filter-select`,"aria-label":`条件の演算子`,children:Pt.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},e.value))}),a>0?(0,n.jsx)(`div`,{className:`ssg-filter-cond-values`,children:(0,n.jsx)(`input`,{ref:t,type:`text`,value:e.value,onChange:t=>r({...e,value:t.target.value}),onKeyDown:i,placeholder:`値`,className:`ssg-filter-input`,"aria-label":`条件の値`})}):(0,n.jsx)(`div`,{className:`ssg-filter-meta`,children:`この演算子は値入力を使いません`})]})}function Co({draft:e,valueInputRef:t,onDraftChange:r,onKeyDown:a,presets:o,renderDateInput:s,onRequestClose:c}){let l=e.preset===null?Vt(e.operator):0,u=(t,n)=>{r({...e,[t]:Ut(n),preset:null})};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`select`,{value:e.operator,onChange:t=>r({...e,operator:t.target.value,preset:null}),onKeyDown:a,className:`ssg-filter-select`,"aria-label":`条件の演算子`,children:Bt.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},e.value))}),l>0?(0,n.jsxs)(`div`,{className:`ssg-filter-cond-values`,children:[s?s({value:e.value1,onChange:e=>u(`value1`,e),ariaLabel:l===2?`開始日`:`条件の日付`,slot:l===2?`from`:`single`}):(0,n.jsx)(vo,{value:e.value1,onCommit:t=>r({...e,value1:t,preset:null}),ariaLabel:l===2?`開始日`:`条件の日付`,inputRef:t,onRequestClose:c}),l===2&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{className:`ssg-filter-cond-tilde`,children:`〜`}),s?s({value:e.value2,onChange:e=>u(`value2`,e),ariaLabel:`終了日`,slot:`to`}):(0,n.jsx)(vo,{value:e.value2,onCommit:t=>r({...e,value2:t,preset:null}),ariaLabel:`終了日`,onRequestClose:c,align:`right`})]})]}):e.preset===null?(0,n.jsx)(`div`,{className:`ssg-filter-meta`,children:`この演算子は値入力を使いません`}):null,o.length>0&&(0,n.jsx)(`div`,{className:`ssg-filter-presets`,children:o.map(t=>(0,n.jsx)(`button`,{type:`button`,onPointerDown:n=>{n.preventDefault(),n.stopPropagation(),r({...e,preset:e.preset===t.id?null:t.id})},onKeyDown:e=>{e.stopPropagation()},className:i(`ssg-filter-preset-chip`,e.preset===t.id&&`ssg-filter-preset-chip--active`),children:t.label},t.id))})]})}function wo({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,h]=(0,e.useState)(()=>new Set),g=p.trim().length>0,_=(0,e.useMemo)(()=>so(r,p),[r,p]),v=(0,e.useMemo)(()=>wi(r,m),[r,m]),y=(0,e.useRef)(null),b=g?_.length:v.length,x=(0,t.useVirtualizer)({count:b,getScrollElement:()=>y.current,estimateSize:()=>yo,overscan:10}),S=(0,e.useMemo)(()=>(g?_:r).map(e=>e.value),[g,_,r]),C=(0,e.useMemo)(()=>{let e=0;for(let t of S)lo(i,t)&&(e+=1);return e},[S,i]),w=S.length>0&&C===S.length,T=C>0&&!w,E=(0,e.useMemo)(()=>new Set(r.map(e=>e.value)),[r]),D=(0,e.useMemo)(()=>{if(i===null)return r.length;let e=0;for(let t of i.values)E.has(t)&&(e+=1);return i.mode===`include`?e:r.length-e},[i,E,r.length]),O=e=>{h(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},k=e=>{let t=0;for(let n of e)lo(i,n)&&(t+=1);return t},A=e=>{let t=k(e.leafKeys),r=e.leafKeys.length>0&&t===e.leafKeys.length,i=t>0&&!r;return(0,n.jsxs)(n.Fragment,{children:[e.type===`group`?(0,n.jsx)(`button`,{type:`button`,onPointerDown:t=>{t.preventDefault(),t.stopPropagation(),O(e.key)},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-tree-toggle`,"aria-label":e.expanded?`折りたたむ`:`展開する`,children:e.expanded?`▾`:`▸`}):(0,n.jsx)(`span`,{className:`ssg-filter-tree-toggle ssg-filter-tree-toggle--placeholder`}),(0,n.jsx)(`input`,{type:`checkbox`,checked:r,ref:e=>{e&&(e.indeterminate=i)},onChange:()=>{if(e.type===`leaf`){o(e.key);return}s(e.leafKeys,!r)}}),(0,n.jsx)(`span`,{className:`ssg-filter-option-label`,children:e.label})]})};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=co(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:w,ref:e=>{e&&(e.indeterminate=T)},onChange:()=>s(S,!w)}),(0,n.jsx)(`span`,{className:`ssg-filter-selectall-label`,children:g?`(検索結果をすべて選択)`:`(すべて選択)`})]}),(0,n.jsx)(`div`,{ref:y,className:`ssg-filter-list`,children:b===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:x.getTotalSize()},children:x.getVirtualItems().map(e=>{if(g){let t=_[e.index];return t?(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:lo(i,t.value),onChange:()=>o(t.value)}),(0,n.jsx)(`span`,{className:`ssg-filter-option-label`,children:t.label})]},t.value):null}let t=v[e.index];return t?(0,n.jsx)(`div`,{className:`ssg-filter-option`,style:{transform:`translateY(${e.start}px)`,height:e.size,paddingLeft:8+t.depth*16},children:A(t)},t.key):null})})}),(0,n.jsxs)(`div`,{className:`ssg-filter-meta`,children:[`選択中: `,D,` / `,r.length,` 件`,g?`(表示中 ${_.length} 件)`:``]})]})}function To({conditionEditor:e,conditionActive:t,onConditionClear:r,options:i,setSelection:a,onSelectionClear:o,summaryText:s,children:c}){return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-filter-sec-head`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-sec-label`,children:`条件`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),r()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-sec-clear`,disabled:!t,children:`クリア`})]}),e,(0,n.jsx)(`div`,{className:`ssg-filter-sep`}),(0,n.jsxs)(`div`,{className:`ssg-filter-sec-head`,children:[(0,n.jsx)(`span`,{className:`ssg-filter-sec-label`,children:`値`}),(0,n.jsx)(`span`,{className:`ssg-filter-sec-meta`,children:t?`一致 ${i.length} 件`:`全 ${i.length} 件`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),o()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-sec-clear`,disabled:a===null,children:`クリア`})]}),c,(0,n.jsxs)(`div`,{className:`ssg-filter-summary`,children:[`🔽 `,s]})]})}function Eo({isOpen:t,themeClassName:a,title:o,filterType:s,draftValue:c,numberConditionDraft:l,onNumberConditionDraftChange:u,textConditionDraft:d,onTextConditionDraftChange:f,dateConditionDraft:p,onDateConditionDraftChange:m,datePresets:h,renderDateInput:g,onComboConditionClear:_,onComboSelectionClear:v,comboSummaryText:y,currentValueText:b,layout:x,selectOptions:S,optionsStatus:C,optionsProgress:w,setSelection:T,popoverRef:E,textInputRef:D,selectRef:O,onRequestClose:k,onDraftChange:A,onApply:j,onClear:M,onSetValueToggle:N,onSetSelectAllChange:P,onSetClear:F,onSetReplaceSelection:ee,isServerSide:I=!1}){let L=(0,e.useRef)(null),[te]=(0,e.useState)(()=>new Date);if(typeof document>`u`||!t||!x)return null;let ne={top:x.top,left:x.left,width:x.width,maxHeight:x.maxHeight},re=e=>{e.stopPropagation()},ie=e=>{e.stopPropagation()},ae=s===`set`,oe=s===`numberSet`,se=s===`textSet`,ce=s===`dateSet`,le=oe||se||ce,ue=ae||le,de=l??Ct,fe=d??Nt,pe=p??zt,me=h??Ke(void 0),he=oe?Ot(de):null,ge=se?Ft(fe):null,_e=ce?Wt(pe):null,ve=he!==null||ge!==null||_e!==null,ye=oe?jt(S,he):se?Rt(S,ge):ce?qt(S,_e,te,me):S,be=e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),j();return}e.key===`Escape`&&(e.preventDefault(),k())};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:E,onPointerDown:ie,onKeyDown:re,onPasteCapture:e=>{e.stopPropagation()},className:i(`ssg-filter-popover`,a),style:ne,children:[(0,n.jsxs)(`div`,{className:`ssg-filter-title`,children:[`列フィルター: `,o]}),(ue||s===`select`)&&C===`collecting`?(0,n.jsxs)(`div`,{className:`ssg-filter-collecting`,children:[`候補を収集中… `,Math.round(w*100),`%`]}):le?(0,n.jsx)(To,{conditionEditor:oe?(0,n.jsx)(xo,{draft:de,valueInputRef:D,onDraftChange:u,onKeyDown:be}):se?(0,n.jsx)(So,{draft:fe,valueInputRef:D,onDraftChange:f,onKeyDown:be}):(0,n.jsx)(Co,{draft:pe,valueInputRef:D,onDraftChange:m,onKeyDown:be,presets:me,renderDateInput:g,onRequestClose:k}),conditionActive:ve,onConditionClear:_,options:ye,setSelection:T,onSelectionClear:v,summaryText:y,children:ce?(0,n.jsx)(wo,{options:ye,setSelection:T,searchInputRef:L,onValueToggle:N,onSelectAllChange:P,onReplaceSelection:ee,onRequestClose:k,isServerSide:I}):(0,n.jsx)(bo,{options:ye,setSelection:T,searchInputRef:L,onValueToggle:N,onSelectAllChange:P,onReplaceSelection:ee,onRequestClose:k,isServerSide:I,selectAllUsesExplicitScope:!0})}):ae?(0,n.jsx)(bo,{options:S,setSelection:T,searchInputRef:D,onValueToggle:N,onSelectAllChange:P,onReplaceSelection:ee,onRequestClose:k,isServerSide:I}):s===`number`?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`div`,{className:`ssg-filter-hint`,children:`フィルター種別: number`}),(0,n.jsx)(xo,{draft:de,valueInputRef:D,onDraftChange:u,onKeyDown:be})]}):s===`select`?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`div`,{className:`ssg-filter-hint`,children:`フィルター種別: select`}),(0,n.jsxs)(`select`,{ref:O,value:c,onChange:e=>A(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),j();return}e.key===`Escape`&&(e.preventDefault(),k())},className:`ssg-filter-select`,children:[(0,n.jsx)(`option`,{value:``,children:`(すべて)`}),S.map(e=>(0,n.jsx)(`option`,{value:e.value,children:e.label},`${o}-${e.value}`))]}),(0,n.jsxs)(`div`,{className:`ssg-filter-meta`,children:[`候補数: `,S.length]})]}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-filter-hint`,children:[`フィルター種別: `,s]}),(0,n.jsx)(`input`,{ref:D,type:`text`,value:c,onChange:e=>A(e.target.value),onKeyDown:e=>{if(e.stopPropagation(),e.key===`Enter`){e.preventDefault(),j();return}e.key===`Escape`&&(e.preventDefault(),k())},placeholder:`部分一致で絞り込み`,className:`ssg-filter-input`}),(0,n.jsx)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:`部分一致検索です`})]}),!ue&&(0,n.jsxs)(`div`,{className:`ssg-filter-meta ssg-filter-meta--ellipsis`,children:[`現在値: `,b]}),(0,n.jsx)(`div`,{className:`ssg-filter-footer`,children:ue?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),F()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-secondary`,children:`クリア`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),k()},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(),M()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-secondary`,children:`クリア`}),(0,n.jsx)(`button`,{type:`button`,onPointerDown:e=>{e.preventDefault(),e.stopPropagation(),j()},onKeyDown:e=>{e.stopPropagation()},className:`ssg-filter-btn-primary`,children:`適用`})]})})]}),document.body)}function Do({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 Oo=(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`})]}),ko=(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 Ao({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?Oo: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:ko}):null]}):null]})})}var jo=e=>e.enabled&&!e.isAutoHeightCell&&!e.hasRenderCell;function Mo({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,rowKey:o,sourceRowIndex:s,row:c,top:l,renderEntries:u,rowHeight:d,autoHeight:f,showCellOverflowTooltip:p,showValidationMarks:m,autoHeightMinHeight:h,rowHeaderCellStyle:g,isRowHovered:_,isWholeGridSelected:v,isRowSelected:y,showRowCheckbox:b,isRowChecked:x,activeColInRow:S,editingColInRow:C,selectedColStart:w,selectedColEnd:T,readOnly:E,canEditCell:D,onRowHeaderPointerDown:O,onRowHeaderPointerEnter:k,onRowHeaderPointerLeave:A,onCellPointerDown:j,onCellPointerEnter:M,onCellDoubleClick:N,renderCellContent:P,rowClassName:F,bodyCellClassName:ee,bodyRowClassName:I,rowHeaderCellClassName:L}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,className:i(`ssg-body-row`,x&&`ssg-body-row--checked`,F,I),style:{height:d,transform:`translateY(${l}px)`},children:[t&&(0,n.jsx)(`div`,{role:b?`checkbox`:void 0,"aria-checked":b?x:void 0,onPointerDown:e=>O(a,e),onPointerEnter:e=>k(a,e),onPointerLeave:()=>A(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,b&&`ssg-row-header-cell--checkbox`,(v||y)&&`ssg-header-cell--selected`,_&&`ssg-header-cell--hovered`,F,L),style:{...g,height:d},children:b?(0,n.jsx)(ao,{state:x?`checked`:`unchecked`}):a+1}),u.map(e=>{if(!e)return null;let t=e.logicalIndex,l=e.column,u=r+e.paneLocalStart,g=e.paneLocalSize,v=t===S,b=t===C,x=y||w>=0&&t>=w&&t<=T,O=!ke({readOnly:E,canEditCell:D},a,t,c,l),k=f&&l.autoHeight===!0,A,I=l.cellClassName;I&&(A=typeof I==`function`?I({row:c,rowIndex:a,sourceRowIndex:s,rowKey:o,colIndex:t,value:R(c,l),column:l,isActive:v,isSelected:x,isEditing:b,readOnly:O}):I);let L=m&&l.validate?q(l,c,R(c,l)):null,te=i(`ssg-body-cell`,l.align===`center`&&`ssg-body-cell--align-center`,l.align===`right`&&`ssg-body-cell--align-right`,k&&`ssg-body-cell--autoheight`,O&&!x&&`ssg-body-cell--readonly`,L!==null&&`ssg-body-cell--invalid`,_&&`ssg-body-cell--row-hovered`,F,A,ee),ne={};l.wordBreak!==void 0&&(ne.wordBreak=l.wordBreak),l.lineBreak!==void 0&&(ne.lineBreak=l.lineBreak);let re=jo({enabled:p,isAutoHeightCell:k,hasRenderCell:l.renderCell!==void 0});return(0,n.jsx)(`div`,{"data-ssg-col-key":l.key,"data-autoheight-cell":k?``:void 0,"data-ssg-tooltip":L??void 0,"data-ssg-tooltip-overflow":re?``:void 0,className:te,onPointerDown:e=>j({row:a,col:t},e),onPointerEnter:e=>M({row:a,col:t},e),onDoubleClick:()=>N({row:a,col:t}),style:{left:u,width:g,minWidth:g,...k?{minHeight:h}:{height:d},...ne,zIndex:v?3:1},children:P(c,a,l,t,{isActive:v,isSelected:x,isEditing:b,readOnly:O})},`${String(o)}-${l.key}`)})]})}var No=(0,e.memo)(Mo),Po=[`62%`,`46%`,`78%`,`54%`];function Fo({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)(ao,{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=Po[o%Po.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 Io=(0,e.memo)(Fo),Lo=(e,t)=>t==null?``:e.valueFormatter?e.valueFormatter({value:t,row:void 0,column:e}):String(t),Ro=16;function zo({pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:a,top:o,rowHeight:s,renderEntries:c,rowHeaderCellStyle:l,isRowHovered:u,showRowCheckbox:d,groupRow:f,isCollapsed:p,onGroupToggle:m,onRowHeaderPointerEnter:h,onRowHeaderPointerLeave:g,bodyCellClassName:_,bodyRowClassName:v,rowHeaderCellClassName:y}){return(0,n.jsxs)(`div`,{"data-pane":e,"data-row-index":a,"data-ssg-group-row":``,className:i(`ssg-body-row`,v),style:{height:s,transform:`translateY(${o}px)`},onDoubleClick:()=>m(f.groupKey),children:[t&&(0,n.jsx)(`div`,{onPointerEnter:e=>h(a,e),onPointerLeave:()=>g(a),className:i(`ssg-header-cell`,`ssg-row-header-cell`,d&&`ssg-row-header-cell--checkbox`,u&&`ssg-header-cell--hovered`,y),style:{...l,height:s},children:d?null:a+1}),c.map(t=>{if(!t)return null;let a=t.column,o=r+t.paneLocalStart,c=t.paneLocalSize,l=a.key===rn,d=!l&&Object.prototype.hasOwnProperty.call(f.aggregates,a.key)?Lo(a,f.aggregates[a.key]):null;return(0,n.jsx)(`div`,{"data-ssg-col-key":a.key,className:i(`ssg-body-cell`,`ssg-group-cell`,a.align===`center`&&`ssg-body-cell--align-center`,a.align===`right`&&`ssg-body-cell--align-right`,u&&`ssg-body-cell--row-hovered`,_),style:{left:o,width:c,minWidth:c,height:s,zIndex:1},children:l?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{"aria-hidden":`true`,className:`ssg-group-indent`,style:{width:f.level*Ro}}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-group-toggle`,"aria-expanded":!p,"aria-label":`${f.label} を${p?`展開`:`折りたたみ`}`,onClick:()=>m(f.groupKey),onDoubleClick:e=>e.stopPropagation(),children:p?`▸`:`▾`}),(0,n.jsx)(`span`,{className:`ssg-group-label`,children:f.label}),(0,n.jsxs)(`span`,{className:`ssg-group-count`,children:[`(`,f.leafCount,`件)`]})]}):d},`group-${e}-${a.key}`)})]})}var Bo=(0,e.memo)(zo);function Vo({pane:e,ownsRowHeader:t,leadingWidth:r,rowModel:i,virtualRows:a,virtualRowIndexes:o,renderEntries:s,rowHeight:c,autoHeight:l=!1,showCellOverflowTooltip:u=!1,showValidationMarks:d=!0,isServerSide:f=!1,collapsedGroupKeys:p,onGroupToggle:m,rowHeaderCellStyle:h,hoveredRowIndex:g,isWholeGridSelected:_,enableRowSelection:v,rowSelectionState:y,activeCell:b,editingCell:x,selectionSnapshot:S,readOnly:C,canEditCell:w,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,onCellDoubleClick:j,renderCellContent:M,getRowClassName:N,bodyCellClassName:P,bodyRowClassName:F,rowHeaderCellClassName:ee}){return(0,n.jsx)(n.Fragment,{children:a.map(a=>{let I=a.index;if(!o.has(I))return null;let L=a.size??c,te=i.getGroupRow?.(I);if(te&&m)return(0,n.jsx)(Bo,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,top:a.start,rowHeight:L,renderEntries:s,rowHeaderCellStyle:h,isRowHovered:g===I,showRowCheckbox:v,groupRow:te,isCollapsed:p?.has(te.groupKey)===!0,onGroupToggle:m,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,bodyCellClassName:P,bodyRowClassName:F,rowHeaderCellClassName:ee},String(an(te)));let ne=i.getRow(I);if(!ne){if(!f)return null;let o=i.getRowKey(I)??I;return(0,n.jsx)(Io,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,top:a.start,rowHeight:L,renderEntries:s,rowHeaderCellStyle:h,isRowHovered:g===I,showRowCheckbox:v,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,bodyCellClassName:P,bodyRowClassName:F,rowHeaderCellClassName:ee},String(o))}let re=i.getRowKey(I)??I,ie=i.getSourceIndex(I)??I,ae=v?O(y,re):!1,oe=S.kind===`row`&&I>=S.startRow&&I<=S.endRow,se=S.kind===`cell`&&I>=S.startRow&&I<=S.endRow,ce=S.kind===`col`||se?S.startCol:-1,le=S.kind===`col`||se?S.endCol:-1,ue=b&&b.row===I?b.col:-1,de=x&&x.row===I?x.col:-1,fe=N?.(ne,I,{row:ne,rowIndex:I,sourceRowIndex:ie,rowKey:re,isSelected:ae});return(0,n.jsx)(No,{pane:e,ownsRowHeader:t,leadingWidth:r,rowIndex:I,rowKey:re,sourceRowIndex:ie,row:ne,top:a.start,renderEntries:s,rowHeight:L,autoHeight:l,showCellOverflowTooltip:u,showValidationMarks:d,autoHeightMinHeight:c,rowHeaderCellStyle:h,isRowHovered:g===I,isWholeGridSelected:_,isRowSelected:oe,showRowCheckbox:v,isRowChecked:ae,activeColInRow:ue,editingColInRow:de,selectedColStart:ce,selectedColEnd:le,readOnly:C,canEditCell:w,onRowHeaderPointerDown:T,onRowHeaderPointerEnter:E,onRowHeaderPointerLeave:D,onCellPointerDown:k,onCellPointerEnter:A,onCellDoubleClick:j,renderCellContent:M,rowClassName:fe,bodyCellClassName:P,bodyRowClassName:F,rowHeaderCellClassName:ee},String(re))})})}var Ho=e=>{e.stopPropagation()};function Uo({entries:e,mode:t,paneWidth:r,baseOffset:a,cardStickyLeft:o,cardWidth:s,cardClassName:c,renderCard:l}){return e.length===0?null:(0,n.jsx)(n.Fragment,{children:e.map(e=>{let{virtualRow:u}=e,d=u.detailSize??0;if(d<=0)return null;let f={position:`absolute`,left:0,top:u.start+(u.size??0)-a,width:r,height:d};return(0,n.jsx)(`div`,{className:`ssg-detail-band`,"data-detail-row-index":u.index,style:f,children:t===`center`&&(0,n.jsx)(`div`,{className:`ssg-detail-card-holder`,style:{left:o,width:s},children:(0,n.jsx)(`div`,{className:i(`ssg-detail-card`,c),"data-ssg-detail":``,onKeyDown:Ho,onKeyUp:Ho,onPaste:Ho,onCopy:Ho,onCut:Ho,onContextMenu:Ho,onDragStart:Ho,onDoubleClick:Ho,children:l(e)})})},e.rowKey)})})}var Wo=(0,e.memo)(Uo);function Go({isActive:e,title:t,className:r,onPointerDown:a,onClick:o,children:s}){return(0,n.jsx)(`button`,{type:`button`,"data-ssg-tooltip":t,"aria-label":t,onPointerDown:a,onClick:o,className:i(`ssg-icon-btn`,e&&`ssg-icon-btn--active`,r),children:s})}function Ko({pane:e,ownsRowHeader:t,leadingWidth:r,headerHeight:a,rowHeaderCellStyle:o,headerRowClassName:s,headerCellClassName:c,rowHeaderCellClassName:l,isCornerHovered:u,isWholeGridSelected:d,showSelectAllCheckbox:f,selectAllState:p,filteredRowsLength:m,visibleColumnsLength:h,renderEntries:g,hoveredColumnIndex:_,selectionSnapshot:v,columnFilterValues:y,sortState:b,iconButtonClassName:x,onCornerPointerDown:S,onCornerPointerEnter:C,onCornerPointerLeave:w,onColumnHeaderPointerDown:T,onColumnHeaderPointerEnter:E,onColumnHeaderPointerLeave:D,onColumnResizePointerDown:O,enableColumnResize:k,enableColumnMenu:A,openedMenuColumnKey:j,onColumnMenuButtonPointerDown:M,onColumnMenuButtonClick:N,onColumnHeaderContextMenu:P,onColumnDragHandlePointerDown:F}){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)(ao,{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=et(y[o.key]),f=v.kind===`col`&&t>=v.startCol&&t<=v.endCol,p=b.findIndex(e=>e.columnKey===o.key),m=p===-1?null:b[p],h=j===o.key,g=hn(o.key),S=o.key===mn,C=A&&!g;return(0,n.jsxs)(`div`,{"data-ssg-col-key":o.key,onPointerDown:e=>T(t,e),onPointerEnter:e=>E(t,e),onPointerLeave:()=>D(t),onContextMenu:e=>{if(g){e.preventDefault();return}P(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||S?void 0:o.title||o.key,children:o.renderHeader?o.renderHeader({colIndex:t,width:l,column:o,filterValue:y[o.key],isFiltered:u}):S?``: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:[F&&!g&&(0,n.jsx)(`span`,{onPointerDown:e=>F(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`})]})}),C&&(0,n.jsx)(Go,{title:`列メニュー`,isActive:h,className:x,onPointerDown:e=>M(o,e),onClick:e=>N(o,e),children:`⋮`})]}),(o.resizable??k)&&(0,n.jsx)(`div`,{onPointerDown:e=>O(o,e),className:`ssg-header-resize`})]},o.key)})]})}var qo=(0,e.memo)(Ko),Jo=200,Yo=8,Xo=6,Zo=289,Qo=({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)(null),f=(0,e.useRef)(i);f.current=i;let p=i!==null,m=i?.columnKey??null,h=(0,e.useMemo)(()=>m?t.find(e=>e.key===m)??null:null,[m,t]),g=(0,e.useCallback)(()=>{if(!m){s(null);return}let e,t,n,r=c.current,i=r?r.scrollHeight+(r.offsetHeight-r.clientHeight):Zo,o=l.current,d=u.current;if(o){if(!o.isConnected){s(null),a(null),l.current=null;return}let r=o.getBoundingClientRect();t=r.right-Jo,e=r.bottom+Xo,n=r.top-i-Xo}else if(d)t=d.x,e=d.y,n=d.y-i;else{s(null);return}t=Math.max(Yo,t),t=Math.min(t,window.innerWidth-Jo-Yo);let f=window.innerHeight-Yo;e+i>f&&n>=Yo&&(e=n),e=Math.max(Yo,e);let p=f-e,h=i>p?Math.max(p,0):void 0;s(n=>n&&n.top===e&&n.left===t&&n.width===Jo&&n.maxHeight===h?n:{top:e,left:t,width:Jo,maxHeight:h})},[m]),_=(0,e.useCallback)(()=>{a(null),s(null),l.current=null,u.current=null,requestAnimationFrame(()=>{_n()||r.current?.focus()})},[r]),v=(0,e.useCallback)((e,t)=>{document.activeElement instanceof HTMLElement&&document.activeElement.blur(),r.current?.blur(),l.current=t,u.current=null,a({columnKey:e.key})},[r]),y=(0,e.useCallback)((e,t)=>{if(t.preventDefault(),t.stopPropagation(),!n||t.button!==0)return;let r=t.currentTarget;if(f.current?.columnKey===e.key&&l.current===r){_();return}if(t.pointerType===`touch`){d.current=r;return}v(e,r)},[_,n,v]),b=(0,e.useCallback)((e,t)=>{let r=d.current;d.current=null,!(!n||r!==t.currentTarget)&&(t.preventDefault(),t.stopPropagation(),v(e,t.currentTarget))},[n,v]),x=(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}),g())},[n,r,g]);return(0,e.useEffect)(()=>{if(!m)return;g();let e=requestAnimationFrame(()=>{g()}),t=()=>{g()},n=()=>{if(u.current){_();return}g()};return window.addEventListener(`resize`,t),window.addEventListener(`scroll`,n,!0),()=>{cancelAnimationFrame(e),window.removeEventListener(`resize`,t),window.removeEventListener(`scroll`,n,!0)}},[m,g,_]),(0,e.useEffect)(()=>{if(!p)return;let e=e=>{let t=e.target;t&&(c.current?.contains(t)||l.current?.contains(t)||_())};return window.addEventListener(`pointerdown`,e),()=>{window.removeEventListener(`pointerdown`,e)}},[_,p]),(0,e.useEffect)(()=>{if(!p)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),_())};return window.addEventListener(`keydown`,e,!0),()=>{window.removeEventListener(`keydown`,e,!0)}},[_,p]),{columnMenuLayout:o,columnMenuRef:c,isColumnMenuOpen:p,openedMenuColumnKey:m,openedMenuColumn:h,openColumnMenuFromButton:y,openColumnMenuFromButtonClick:b,openColumnMenuFromContextMenu:x,closeColumnMenu:_}},$o=[{value:void 0,label:`固定しない`},{value:`left`,label:`左に固定`},{value:`right`,label:`右に固定`}],es=180,ts=4,ns=8,rs=`pin`;function is({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===rs,A=v.left+v.width+ts+es>window.innerWidth-ns,j={position:`fixed`,top:v.top,left:v.left,width:v.width,zIndex:1e3,...v.maxHeight===void 0?{}:{maxHeight:v.maxHeight,overflowY:`auto`}},M={position:`absolute`,top:-9,...A?{right:`calc(100% + ${ts}px)`}:{left:`calc(100% + ${ts}px)`},width:es,zIndex:1};return(0,r.createPortal)((0,n.jsxs)(`div`,{ref:y,onPointerDown:e=>{e.stopPropagation()},onKeyDown:e=>{e.stopPropagation()},onContextMenu:e=>{e.preventDefault()},className:i(`ssg-menu-panel`,a),style:j,children:[(0,n.jsx)(`div`,{className:`ssg-menu-title`,children:o}),c&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{l()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`フィルター…`})]}),(0,n.jsx)(`div`,{className:`ssg-menu-separator`})]}),u&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{f(`asc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,d===`asc`&&`ssg-menu-sort-icon--active`),children:d===`asc`?`✓`:`↑`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,d===`asc`&&`ssg-menu-label--sorted`),children:`昇順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{f(`desc`)},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:i(`ssg-menu-sort-icon`,d===`desc`&&`ssg-menu-sort-icon--active`),children:d===`desc`?`✓`:`↓`}),(0,n.jsx)(`span`,{className:i(`ssg-menu-label`,d===`desc`&&`ssg-menu-label--sorted`),children:`降順で並び替え`})]}),(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{p()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`並び替えを管理…`})]})]}),m&&(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(null)},onClick:()=>{h()},className:`ssg-menu-item`,children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`フィルターを管理…`})]}),(u||m)&&(0,n.jsx)(`div`,{className:`ssg-menu-separator`}),(0,n.jsxs)(`div`,{className:`ssg-menu-submenu-anchor`,children:[(0,n.jsxs)(`button`,{type:`button`,onPointerEnter:()=>{O(rs)},onClick:()=>{O(e=>e===rs?null:rs)},className:i(`ssg-menu-item`,k&&`ssg-menu-item--active`),children:[(0,n.jsx)(`span`,{className:`ssg-menu-icon`}),(0,n.jsx)(`span`,{className:`ssg-menu-label`,children:`列の固定`}),(0,n.jsx)(`span`,{className:`ssg-menu-caret`,children:`›`})]}),k&&(0,n.jsxs)(`div`,{className:i(`ssg-menu-panel`,a),style:M,children:[$o.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 as=({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}},os=360,ss=8,cs=12,ls=[`filter`,`columns`,`sort`],us=({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 ls.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=as({top:e.top,left:e.left,panelWidth:os,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});d(e=>e&&e.top===t.top&&e.left===t.left&&e.width===os?e:{top:t.top,left:t.left,width:os});return}let t=i.current;if(!t){d(null);return}let n=t.getBoundingClientRect(),r=n.right-os-cs,a=n.top+cs;r=Math.max(ss,r),r=Math.min(r,window.innerWidth-os-ss),a=Math.max(ss,a),d(e=>e&&e.top===a&&e.left===r&&e.width===os?e:{top:a,left:r,width:os})},[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(()=>{_n()||i.current?.focus()})},[i]),S=(0,e.useCallback)((e,t)=>{let n=as({top:e,left:t,panelWidth:os,viewportWidth:window.innerWidth,viewportHeight:window.innerHeight});h.current=n,d({top:n.top,left:n.left,width:os})},[]);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}},ds=({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 fs({themeClassName:t,activeTab:a,flashTick:o,tabs:s,layout:c,panelRef:l,onSelectTab:u,onRequestClose:d,onPanelMove:f,children:p}){let{handleHeaderPointerDown:m}=ds({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 ps=28,ms=12,hs=[`left`,`center`,`right`],gs={left:`左固定`,center:`固定なし`,right:`右固定`};function _s(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 vs({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 ys({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 bs({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 hs.map(t=>({pane:t,items:e[t]})).filter(e=>e.items.length>0)},[_]),y=v.length>=2,b=r&&u.trim()===``,x=(0,e.useRef)(null),[S,C]=(0,e.useState)(null),w=(0,e.useRef)(!1),T=(0,e.useRef)(null),[E,D]=(0,e.useState)(null),O=(0,e.useRef)(0),k=(0,e.useRef)(null),A=(0,e.useCallback)(()=>{let e=x.current,t=T.current;if(!e||!t)return;let n=e.querySelectorAll(`[data-chooser-row][data-chooser-pane="${t}"]`),r=O.current,i=n.length;for(let e=0;e<n.length;e+=1){let t=n[e].getBoundingClientRect();if(r<t.top+t.height/2){i=e;break}}D(i)},[]),j=(0,e.useCallback)(function e(){let t=x.current;if(!t||!w.current){k.current=null;return}let n=t.getBoundingClientRect(),r=O.current,i=0;if(r<n.top+ps?i=-12:r>n.bottom-ps&&(i=ms),i!==0){let e=t.scrollTop;t.scrollTop+=i,t.scrollTop!==e&&A()}k.current=requestAnimationFrame(e)},[A]),M=(0,e.useCallback)(e=>{k.current!==null&&(cancelAnimationFrame(k.current),k.current=null);let n=S,r=E;if(w.current=!1,T.current=null,C(null),D(null),e&&n!==null&&r!==null){let e=_s(t,n,r);e&&l(e)}},[S,E,t,l]),N=(0,e.useCallback)((e,t,n)=>{b&&(n.preventDefault(),n.stopPropagation(),n.currentTarget.setPointerCapture(n.pointerId),w.current=!0,T.current=t,O.current=n.clientY,C(e),A(),k.current===null&&(k.current=requestAnimationFrame(j)))},[b,A,j]),P=(0,e.useCallback)(e=>{w.current&&(O.current=e.clientY,A())},[A]),F=(0,e.useCallback)(()=>{w.current&&M(!0)},[M]),ee=(0,e.useCallback)(()=>{w.current&&M(!1)},[M]);(0,e.useEffect)(()=>()=>{k.current!==null&&(cancelAnimationFrame(k.current),k.current=null)},[]);let I=()=>{r&&(m?s():o())},L=S===null?null:t.find(e=>e.key===S)?.pane??null,te=(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&&L===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=>N(e.key,o,t),onPointerMove:P,onPointerUp:F,onPointerCancel:ee,className:i(`ssg-chooser-handle`,!b&&`ssg-chooser-handle--disabled`,l&&`ssg-chooser-handle--dragging`),children:(0,n.jsx)(ys,{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)(vs,{state:e.visible?`checked`:`unchecked`,disabled:c}),(0,n.jsx)(`span`,{className:i(`ssg-chooser-label`,c&&!e.visible&&`ssg-chooser-label--muted`),children:e.title})]})]},e.key)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{className:`ssg-chooser-search-row`,children:[(0,n.jsx)(`button`,{type:`button`,disabled:!r,onClick:I,"aria-label":g,"data-ssg-tooltip":g,className:`ssg-chooser-master-btn`,children:(0,n.jsx)(vs,{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:gs[e.pane]}),e.items.map((t,n)=>te(t,n,e.pane)),S!==null&&L===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 xs({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 Ss({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)(xs,{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 Cs(){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 ws(){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 Ts({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)(ws,{})}),(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)(Cs,{})}),(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 Es({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 Ds=e=>{if(e===void 0||e===!1)return null;let t=e===!0?{}:e,n=t.bubble??!0,r=t.ruler??!0,i=t.scrollbar??!0;return!n&&!r&&!i?null:{bubble:n,ruler:r,scrollbar:i,trigger:t.trigger??`scroll`,minRows:t.minRows??0,hintColumn:t.hintColumn,renderHint:t.renderHint}},Os=({scrollTop:e,contentHeight:t,viewportHeight:n,trackHeight:r=n})=>{let i=t-n;if(n<=0||r<=0||i<=0)return null;let a=Math.min(Math.max(r*n/t,30),r),o=Math.min(Math.max(e,0),i)/i*(r-a);return{maxScroll:i,thumbTop:o,thumbHeight:a,centerY:o+a/2}},ks=e=>{let t=Math.max(e,1),n=10**Math.floor(Math.log10(t)),r=n<10?[1,2,5,10]:[1,2,2.5,5,10];for(let e of r){let r=n*e;if(r>=t)return r}return n*10},As=(e,t=e>=1e4&&e%1e4==0)=>e!==0&&t?`${(e/1e4).toLocaleString()}万`:e.toLocaleString(),js=({rowCount:e,rulerHeight:t,minTickSpacingPx:n=44})=>{if(e<=0||t<=0)return[];let r=ks(e/Math.max(Math.floor(t/n),2)),i=r%1e4==0,a=[];for(let n=0;n<=e;n+=r)a.push({row:n,y:n/e*t,label:As(n,i)});return a},Ms=(e,t,n)=>{let r=n-t.thumbHeight;return r<=0?0:Math.min(Math.max((e-t.thumbHeight/2)/r,0),1)*t.maxScroll},Ns=(e,t)=>{if(e.renderHint!==void 0){let n=e.renderHint(t);return n==null||n===!1?null:n}if(e.hintColumn!==void 0&&t.rowData!==void 0){let n=t.rowData[e.hintColumn];return n==null||n===``?null:String(n)}return null},Ps=1e3,Fs=8,Is=18,Ls=28;function Rs({options:t,scrollContainerRef:r,scrollTop:a,viewportHeight:o,headerHeight:s,physicalBodyHeight:c,verticalScaleFactor:l,rowMetrics:u,rowModel:d}){let[f,p]=(0,e.useState)(!1),[m,h]=(0,e.useState)(!1),[g,_]=(0,e.useState)(0),[v,y]=(0,e.useState)(null),[b,x]=(0,e.useState)(!1),S=(0,e.useRef)(null),C=(0,e.useRef)(null),w=(0,e.useRef)(null),T=t.scrollbar?s:0,E=Math.max(t.scrollbar?o-s:o,0),D=Os({scrollTop:a,contentHeight:s+c,viewportHeight:o,trackHeight:E}),O=D!==null&&u.rowCount>0;(0,e.useEffect)(()=>{let e=r.current;if(!e)return;let n=()=>{p(!0),S.current!==null&&window.clearTimeout(S.current),S.current=window.setTimeout(()=>{S.current=null,p(!1)},Ps)},i=()=>h(!0),a=()=>{h(!1),y(null)},o=t=>{let n=e.getBoundingClientRect(),r=t.clientX-n.left,i=e.offsetWidth-Math.max(e.offsetWidth-e.clientWidth,0)-Is;y(r>=i?t.clientY-n.top:null)},s=new ResizeObserver(()=>{_(Math.max(e.offsetWidth-e.clientWidth,0))});return e.addEventListener(`scroll`,n,{passive:!0}),e.addEventListener(`pointerenter`,i),e.addEventListener(`pointerleave`,a),t.scrollbar||e.addEventListener(`pointermove`,o,{passive:!0}),s.observe(e),()=>{e.removeEventListener(`scroll`,n),e.removeEventListener(`pointerenter`,i),e.removeEventListener(`pointerleave`,a),e.removeEventListener(`pointermove`,o),s.disconnect(),S.current!==null&&(window.clearTimeout(S.current),S.current=null)}},[r,t.scrollbar]),(0,e.useEffect)(()=>{if(!t.scrollbar||!O)return;let e=w.current,n=r.current;if(!e||!n)return;let i=e=>{e.preventDefault(),n.scrollTop+=e.deltaY};return e.addEventListener(`wheel`,i,{passive:!1}),()=>{e.removeEventListener(`wheel`,i)}},[r,t.scrollbar,O]);let k=Math.max(o-s,0),A=(0,e.useMemo)(()=>t.ruler?js({rowCount:u.rowCount,rulerHeight:k}):[],[t.ruler,u.rowCount,k]);if(D===null||u.rowCount<=0)return null;let j=t.trigger===`always`||f||t.trigger===`hover`&&m,M=j||v!==null,N=t.scrollbar?14:g,P=Tr(Math.min(Math.max(a,0),D.maxScroll),l),F=u.rowAtContentY(P),ee=Ns(t,{rowIndex:F,rowData:d.getRow(F)}),I=null;if(t.ruler&&v!==null&&!b){let e=Ms(v,D,E),n=u.rowAtContentY(Tr(e,l));I={lineY:Math.min(Math.max(T+v,s),o),rowIndex:n,detail:Ns(t,{rowIndex:n,rowData:d.getRow(n)})}}let L=e=>{let t=w.current;return t===null?0:e.clientY-t.getBoundingClientRect().top},te=(e,t)=>{let n=r.current;if(n===null)return;let i=E-D.thumbHeight;i<=0||(n.scrollTop=Math.min(Math.max((e-t)/i,0),1)*D.maxScroll)};return(0,n.jsxs)(`div`,{className:`ssg-scroll-hint`,"aria-hidden":`true`,children:[t.ruler&&A.length>0&&(0,n.jsx)(`div`,{className:i(`ssg-scroll-hint-ruler`,M&&`ssg-scroll-hint-ruler--visible`),style:{top:s,right:N},children:A.map(e=>(0,n.jsx)(`div`,{className:`ssg-scroll-hint-ruler-tick`,style:{top:Math.min(Math.max(e.y,6),Math.max(k-6,6))},children:(0,n.jsx)(`span`,{className:`ssg-scroll-hint-ruler-label`,children:e.label})},e.row))}),I!==null&&(0,n.jsx)(`div`,{className:`ssg-scroll-hint-jumpline`,style:{top:I.lineY,right:N},children:(0,n.jsxs)(`span`,{className:i(`ssg-scroll-hint-jumpline-label`,I.lineY<s+Ls&&`ssg-scroll-hint-jumpline-label--below`),children:[`行 `,(I.rowIndex+1).toLocaleString(),` へ`,I.detail!==null&&(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-jumpline-detail`,children:[` `,`・ `,I.detail]})]})}),t.bubble&&(0,n.jsxs)(`div`,{className:i(`ssg-scroll-hint-bubble`,j&&`ssg-scroll-hint-bubble--visible`),style:{top:T+D.centerY,right:N+Fs},children:[(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-bubble-main`,children:[`行 `,(F+1).toLocaleString(),(0,n.jsxs)(`span`,{className:`ssg-scroll-hint-bubble-total`,children:[` `,`/ `,u.rowCount.toLocaleString()]})]}),ee!==null&&(0,n.jsx)(`span`,{className:`ssg-scroll-hint-bubble-detail`,children:ee})]}),t.scrollbar&&(0,n.jsx)(`div`,{ref:w,className:i(`ssg-scroll-hint-scrollbar`,b&&`ssg-scroll-hint-scrollbar--dragging`),style:{top:s,height:E,width:14},onPointerDown:e=>{e.preventDefault();let t=L(e),n=t>=D.thumbTop&&t<=D.thumbTop+D.thumbHeight?t-D.thumbTop:D.thumbHeight/2;C.current=n,x(!0),y(null),w.current?.setPointerCapture(e.pointerId),te(t,n)},onPointerMove:e=>{let t=L(e);if(C.current!==null){te(t,C.current);return}y(t)},onPointerUp:e=>{C.current=null,x(!1),w.current?.releasePointerCapture(e.pointerId)},onPointerEnter:()=>h(!0),onPointerLeave:()=>{h(!1),C.current===null&&y(null)},children:(0,n.jsx)(`div`,{className:`ssg-scroll-hint-scrollbar-thumb`,style:{top:D.thumbTop,height:D.thumbHeight}})})]})}var zs=(e,t)=>e.findIndex(e=>e.key===t),Bs=(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},Vs=(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},Hs=220,Us=8,Ws=34,Gs=16,Ks=({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*Ws+Gs,n=e.x,r=e.y,i=e.y-t;n=Math.max(Us,n),n=Math.min(n,window.innerWidth-Hs-Us),r+t>window.innerHeight-Us&&(r=i),r=Math.max(Us,r),a(e=>e&&e.top===r&&e.left===n&&e.width===Hs?e:{top:r,left:n,width:Hs})},[]),d=(0,e.useCallback)(()=>{r(null),a(null),s.current=null,c.current=0,requestAnimationFrame(()=>{_n()||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 qs({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 Js=(e,t)=>{let n=new Set(e);return n.add(t),n},Ys=(e,t)=>{let n=new Set(e);return n.delete(t),n},Xs=(e,t)=>{let n=new Set(e);for(let e of t)n.add(e);return n},Zs=(e,t)=>{let n=new Set(e);for(let e of t)n.delete(e);return n},Qs=[],$s={},ec={},tc=[],nc={compact:{rowHeight:28,headerHeight:32},standard:{rowHeight:36,headerHeight:40},comfortable:{rowHeight:44,headerHeight:48}},rc={},ic=[],ac=[],oc=[],sc=300,cc=4,lc=300;function uc({rows:r=Qs,dataSource:o,serverSideRefreshToken:d,onServerSideLoadError:p,onServerSideWriteError:m,columns:g,onRowsChange:_,onColumnsChange:v,rowKeyGetter:y,createRow:b,createOverflowColumn:T,rowHeight:D,autoHeight:te=!1,estimateRowHeight:ne,headerHeight:re,density:le=`standard`,theme:pe=`light`,rowHeaderWidth:me=56,height:he,maxHeight:ge,readOnly:_e=!1,dimReadOnlyCells:ve=!1,canEditCell:ye,enableUndoRedo:be=!0,enableClearOnDelete:xe=!0,editorEnterMove:Se=`down`,undoHistoryLimit:Ce=100,onUndoRedoStateChange:we,enableRangeSelection:Te=!0,enableRowSelection:Ee=!1,rowSelectionMode:De=`multiple`,enableSelectAllRows:Oe,rowSelection:Ae,selectedRowKeys:je,onRowSelectionChange:Pe,enableGlobalFilter:Fe=!0,enableColumnFilter:Ie=!0,renderFilterDateInput:Le,enableSorting:Re=!0,enableColumnResize:ze=!0,autoSizeColumns:Be=!1,showCellOverflowTooltip:Ue=!1,showValidationMarks:We=!0,enableRowHover:Ge=!0,enableColumnHeaderHover:qe=!0,enableColumnMenu:$e=!0,noMatchingRowsText:nt=`一致する行がありません`,noRowsText:rt=`表示する行がありません`,showTopBar:it=!0,showBottomBar:at=!0,showTopBarSummary:ot=!0,showTopBarFilter:st=!0,globalFilterPlaceholder:ct,globalFilterIcon:lt,showTopBarCounts:ut=!0,showBottomBarCounts:dt=!0,showFilterChipBar:ht=!1,renderTopBar:gt,renderBottomBar:_t,className:vt,classNames:z,getRowClassName:yt,detailRow:bt,onExpandedDetailRowKeysChange:xt,enableContextMenu:wt=!1,getContextMenuItems:Tt,onContextMenuOpen:Et,scrollHint:Dt,ref:kt,onStateChange:jt,onScroll:Mt}){let B=r,V=g,Pt=D??nc[le].rowHeight,H=re??nc[le].headerHeight,It=(0,e.useMemo)(()=>Ds(Dt),[Dt]),Lt=(0,e.useRef)(null),Rt=(0,e.useRef)(null),Bt=(0,e.useRef)(null),Vt=(0,e.useRef)(null),Ht=(0,e.useRef)(!1),Ut=(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),[$t,en]=(0,e.useState)(null),{groupColumns:tn,aggColumns:nn}=(0,e.useMemo)(()=>ln(V),[V]),cn=o==null&&tn.length>0,gn=bt!=null&&bt.showToggleColumn!==!1,_n=(0,e.useMemo)(()=>{let e=gn?{key:mn,title:``,width:28,minWidth:28,readOnly:!0,suppressAutoSize:!0,resizable:!1,pinned:V.some(e=>e.pinned===`left`)?`left`:void 0,cellClassName:`ssg-body-cell--detail-toggle`,renderCell:e=>{let t=e.detail;return!t||!t.expandable?null:(0,n.jsx)(`button`,{type:`button`,className:`ssg-detail-toggle`,"aria-expanded":t.expanded,"aria-label":t.expanded?`詳細を閉じる`:`詳細を開く`,onClick:t.toggle,onDoubleClick:e=>e.stopPropagation(),children:t.expanded?`▾`:`▸`})}}:null;if(!cn)return e?[e,...V]:V;let t=[{key:rn,title:tn.map(e=>e.title||e.key).join(` › `),width:240,minWidth:120,readOnly:!0,suppressAutoSize:!0},...V.filter(e=>e.rowGroup!==!0)];return e?[e,...t]:t},[gn,cn,V,tn]),U=(0,e.useMemo)(()=>_n.filter(e=>e.visible!==!1),[_n]),W=(0,e.useMemo)(()=>l(U),[U]),wn=(0,e.useMemo)(()=>y??((e,t)=>t),[y]),G=o!=null,Tn=Re,En=Ie,On=Fe,[K,q]=(0,e.useReducer)(ae,U,ie),jn=(0,e.useRef)(xt);(0,e.useEffect)(()=>{jn.current=xt});let Mn=(0,e.useRef)(!1);(0,e.useEffect)(()=>{if(!Mn.current){Mn.current=!0;return}jn.current?.(Array.from(K.expandedDetailRowKeys))},[K.expandedDetailRowKeys]);let Nn=bt!=null,Pn=(0,e.useRef)(yn()),Fn=(0,e.useCallback)((e,t)=>{Sn(Pn.current,e,t),q(a.toggleDetailRow(e))},[q]),In=(0,e.useCallback)((e,t,n)=>{Sn(Pn.current,e,t),q(a.setDetailRowExpanded(e,n))},[q]),Rn=(0,e.useRef)(K.columnWidths),Bn=(0,e.useRef)(null),Vn=(0,e.useRef)(null);Vn.current===null&&(Vn.current=new Map(V.map(e=>[e.key,{width:e.width,pinned:e.pinned,visible:e.visible}])));let Hn=(0,e.useMemo)(()=>ue(K.selection),[K.selection]),Un=(0,e.useMemo)(()=>u(W),[W]),[Wn,Gn]=(0,e.useState)(0),Kn=Un.left.reduce((e,{column:t})=>e+(K.columnWidths[t.key]??t.width),0),qn=Un.right.reduce((e,{column:t})=>e+(K.columnWidths[t.key]??t.width),0),Jn=Un.left.length>0,Yn=Jn?me+Kn:0,Xn=Jn?0:me,Zn=(0,e.useMemo)(()=>Un.center.map(({column:e})=>e),[Un.center]),er=(0,e.useMemo)(()=>Zn.some(w),[Zn]),tr=Wn-Yn-qn-Xn,nr=(0,e.useMemo)(()=>!er||Wn<=0?rc:E(Zn,K.columnWidths,tr),[er,Wn,Zn,K.columnWidths,tr]),rr=(0,e.useMemo)(()=>nr===rc?K.columnWidths:{...nr,...K.columnWidths},[nr,K.columnWidths]);Rn.current=rr;let ir=f(Un.left,K.columnWidths),ar=f(Un.center,rr),sr=f(Un.right,K.columnWidths),cr=(0,e.useMemo)(()=>h(`left`,Un.left,ir),[Un.left,ir]),ur=(0,e.useMemo)(()=>h(`center`,Un.center,ar),[Un.center,ar]),dr=(0,e.useMemo)(()=>h(`right`,Un.right,sr),[Un.right,sr]),xr=(0,e.useMemo)(()=>({left:cr,center:ur,right:dr}),[cr,ur,dr]),Dr=xr.left.entries.length>0,Ar=xr.right.entries.length>0,jr=!Dr,Mr=me,Nr=jr?me:0,Ir=Dr?Mr+xr.left.totalWidth:0,Lr=xr.right.totalWidth,Rr=Nr+xr.center.totalWidth,zr=Ir+Rr+Lr,Br=(0,e.useRef)(new Map),Vr=(0,e.useCallback)(e=>{let t=K.filters.columnFilters[e.key];if(t?.kind===`numberSet`||t?.kind===`textSet`||t?.kind===`dateSet`||t?.kind===`text`)return t.kind;let n=Br.current.get(e.key);if(n)return n;let r=ki({editorType:e.editor?.type,isServerSide:G,rowCount:B.length,getRawValueAt:t=>R(B[t],e)});return r.conclusive&&Br.current.set(e.key,r.filterType),r.filterType},[K.filters.columnFilters,G,B]),{filterPopoverState:J,filterPopoverLayout:Hr,filterPopoverRef:Ur,filterTextInputRef:Wr,filterSelectRef:Gr,isFilterPopoverOpen:Kr,openedFilterColumn:Y,openedFilterType:X,openColumnFilterPopover:qr,closeColumnFilterPopover:Jr,updateFilterPopoverDraft:Yr,updateFilterPopoverNumberDraft:Xr,updateFilterPopoverTextDraft:Zr,updateFilterPopoverDateDraft:Qr}=Dn({visibleColumns:U,columnFilterValues:K.filters.columnFilters,enableColumnFilter:En,gridRootRef:Lt,resolveColumnFilterType:Vr}),{columnMenuLayout:ei,columnMenuRef:ti,isColumnMenuOpen:ni,openedMenuColumnKey:ri,openedMenuColumn:ai,openColumnMenuFromButton:oi,openColumnMenuFromButtonClick:si,openColumnMenuFromContextMenu:ci,closeColumnMenu:li}=Qo({visibleColumns:U,enableColumnMenu:$e,gridRootRef:Lt}),{activeToolPanelTab:ui,availableToolPanelTabs:di,toolPanelLayout:fi,toolPanelFlashTick:pi,toolPanelRef:mi,openToolPanel:hi,closeToolPanel:gi,moveToolPanel:_i}=us({canUseFilterTab:En,canUseColumnsTab:$e,canUseSortTab:Tn,gridRootRef:Lt,alliedRef:Ur,suppressEscape:Kr,onSuppressedEscape:Jr}),{contextMenuState:yi,contextMenuLayout:bi,contextMenuRef:Si,isContextMenuOpen:wi,openContextMenu:Ti,closeContextMenu:Ei}=Ks({gridRootRef:Lt});(0,e.useEffect)(()=>{let e=U.reduce((e,t)=>(w(t)||(e[t.key]=t.width),e),{});q(a.resetColumnWidths(e))},[U]);let Di=K.filters.globalText,Oi=K.filters.columnFilters,Ai=(0,e.useDeferredValue)(Oi),{order:Fi,status:Ii,progress:Bi}=Ka({rows:B,baseOrder:(0,e.useMemo)(()=>Je(B.length),[B.length]),columns:U,globalText:Di,enabled:On}),Vi=(0,e.useMemo)(()=>{let e=[];for(let t of U)ft(Ai[t.key])&&e.push(t.key);return e.join(`\0`)},[U,Ai]),Hi=(0,e.useMemo)(()=>{let e=new Map;if(Vi.length===0)return e;let t=new Set(Vi.split(`\0`)),n=B.length;for(let r of U){if(!t.has(r.key))continue;let i=new Float64Array(n);for(let e=0;e<n;e+=1)i[e]=tt(R(B[e],r));e.set(r.key,i)}return e},[B,U,Vi]),qi=(0,e.useMemo)(()=>St(B,Fi,U,Ai,Hi),[B,Fi,U,Ai,Hi]),Ji=(0,e.useMemo)(()=>vr(B,qi,U,K.sort),[B,qi,U,K.sort]);(0,e.useEffect)(()=>{},[G,tn.length]);let Yi=(0,e.useMemo)(()=>cn?un(B,Ji,tn,nn):null,[cn,B,Ji,tn,nn]),Xi=(0,e.useMemo)(()=>Yi?dn(Yi,K.collapsedGroupKeys):null,[Yi,K.collapsedGroupKeys]),Zi=(0,e.useCallback)(e=>{q(a.toggleGroupCollapsed(e))},[q]),Qi=(0,e.useMemo)(()=>{if(Xi){let{displayOrder:e,groups:t}=Xi;return{getRowCount:()=>e.length,getRow:t=>B[e[t]],getSourceIndex:t=>{let n=e[t];return n>=0?n:void 0},getRowKey:n=>{let r=e[n];return on(r)?an(t[sn(r)]):wn(B[r],r)},getGroupRow:n=>{let r=e[n];return on(r)?t[sn(r)]:void 0}}}return{getRowCount:()=>Ji.length,getRow:e=>B[Ji[e]],getSourceIndex:e=>Ji[e],getRowKey:e=>wn(B[Ji[e]],Ji[e])}},[Xi,Ji,B,wn]),$i=(0,e.useMemo)(()=>G?no({globalText:On?Di:``,columnFilters:En?Oi:ec,sort:Tn?K.sort:tc}):$s,[G,On,Di,En,Oi,Tn,K.sort]),ea=(0,e.useMemo)(()=>G?ro($i):``,[G,$i]),[ta,ca]=(0,e.useState)($i),[ua,da]=(0,e.useState)(ea);(0,e.useEffect)(()=>{if(!G)return;let e=setTimeout(()=>{ca($i),da(ea)},lc);return()=>clearTimeout(e)},[G,ea,$i]);let fa=to({dataSource:o,rowKeyGetter:wn,query:ta,queryKey:ua,refreshToken:d,onLoadError:p,onWriteError:m}),[pa,ma]=(0,e.useState)(null),[ha,ga]=(0,e.useState)(null),_a=fa.requestRange,Z=G?fa.rowModel:Qi,va=(0,e.useMemo)(()=>G&&!fa.canUpdateRows?()=>!1:ye,[G,fa.canUpdateRows,ye]),ya=G&&fa.canUpdateRows?fa.applyCellEdits:void 0,ba=(0,e.useRef)(Z);ba.current=Z;let xa=(0,e.useCallback)(e=>{if(!wt||!Tt)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=Z.getRow(i);if(!a)return;let o=Z.getRowKey(i)??i,s,c,l=t.closest(`[data-ssg-col-key]`),u=l?.dataset.ssgColKey;if(l&&u!==void 0){let e=zs(W,u);if(e<0)return;let t=W[e];s={type:`cell`,rowIndex:i,colIndex:e,rowKey:o,row:a,column:t,value:R(a,t)},c=Bs(K.selection,i,e)}else s={type:`rowHeader`,rowIndex:i,rowKey:o,row:a},c=Vs(K.selection,i);let d={target:s,clientX:e.clientX,clientY:e.clientY,selection:K.selection,activeCell:K.activeCell,isTargetSelected:c},f=Tt(d);!f||f.length===0||(e.preventDefault(),Et?.(d),Ti(d,f))},[wt,Tt,Et,Z,W,K.selection,K.activeCell,Ti]),{isAutosizing:Sa,runAutosize:Ca}=Ma({rowModelRef:ba,gridRootRef:Lt,columnWidthsRef:Rn,dispatch:q}),wa=(0,e.useRef)(U);wa.current=U;let Ta=(0,e.useRef)(!1);(0,e.useEffect)(()=>{let{shouldRun:e,nextHasAutoSizedOnMount:t}=Ni({mode:Be,isServerSide:G,rowCount:B.length,hasAutoSizedOnMount:Ta.current});Ta.current=t,e&&Ca(wa.current)},[Be,B,G,Ca]);let Q=Z.getRowCount(),Ea=Xi?Ji.length:Q,Da=It!==null&&Q>=It.minRows?It:null,Oa=(0,e.useMemo)(()=>{let e=null;return()=>e??=Array.from(Ji,e=>B[e])},[Ji,B]),ka=(0,e.useMemo)(()=>s(U,rr),[U,rr]),[Aa,ja]=(0,e.useState)(0),[Na,Pa]=(0,e.useState)(0),Fa=(0,e.useRef)(null);(0,e.useEffect)(()=>{Fa.current=Mt??null},[Mt]);let Ia=(0,e.useRef)(0),La=(0,e.useRef)(null);(0,e.useEffect)(()=>{let e=Ut.current;if(!e)return;ja(e.scrollTop),Pa(e.clientHeight),Gn(e.clientWidth);let t=null,n=()=>{t=null;let e=La.current;La.current=null,e&&Fa.current?.(e)},r=()=>{ja(e.scrollTop);let r=Ia.current>0?`api`:`user`;r===`api`&&--Ia.current;let i=La.current;La.current={top:e.scrollTop,left:e.scrollLeft,source:i?.source===`user`?`user`:r},Fa.current&&t===null&&(t=requestAnimationFrame(n))};e.addEventListener(`scroll`,r,{passive:!0});let i=new ResizeObserver(()=>{Pa(e.clientHeight),Gn(e.clientWidth)});return i.observe(e),()=>{e.removeEventListener(`scroll`,r),t!==null&&cancelAnimationFrame(t),i.disconnect()}},[]);let Ra=xr.center.entries,za=(0,t.useVirtualizer)({horizontal:!0,count:Ra.length,getScrollElement:()=>Ut.current,estimateSize:e=>Ra[e]?.paneLocalSize??Ra[e]?.column.width??120,overscan:8,useFlushSync:!1,scrollMargin:Ir}),Ba=za.getVirtualItems(),Va=ne??Pt,Ha=(0,e.useMemo)(()=>U.some(e=>e.autoHeight===!0),[U]),Wa=!G&&br(te,Ha,Q,5e4);(0,e.useEffect)(()=>{},[te,Ha,Q,G]);let Ga=(0,e.useRef)(new Map),[qa,Ja]=(0,e.useState)(0),[Ya,Xa]=(0,e.useState)(0),Za=(0,e.useRef)(null),Qa=(0,e.useRef)(new Set),$a=(0,e.useMemo)(()=>Wa?oa(Q,Va,Z.getRowKey,Ga.current):null,[Wa,Q,Va,Z]),eo=(0,e.useMemo)(()=>Wa&&$a?la($a):Sr(Q,Pt),[Wa,$a,qa,Q,Pt]),io=bt?.height??200,ao=bt?.isExpandable,so=(0,e.useMemo)(()=>Nn?xn({expandedKeys:K.expandedDetailRowKeys,rowModel:Z,height:io,isExpandable:ao,cache:Pn.current,allowScan:!G}):ac,[Nn,K.expandedDetailRowKeys,Z,io,ao,G]),co=so.length>0&&eo.totalBodyHeight+so.reduce((e,t)=>e+t.height,0)<=15e6;(0,e.useEffect)(()=>{},[Nn,so,co]);let uo=(0,e.useMemo)(()=>co?Cr(eo,so):eo,[co,eo,so]),fo=Wa||co,po=(0,e.useMemo)(()=>fo?kr({headerHeight:H,viewportHeight:Na,scrollTop:Aa,overscan:20},uo):Or({rowCount:Q,rowHeight:Pt,headerHeight:H,viewportHeight:Na,scrollTop:Aa,overscan:20,maxBodyPx:yr}),[fo,uo,Q,Pt,H,Na,Aa]),mo=po.rows,ho=po.rowIndexSet,go=(0,e.useMemo)(()=>{if(!co)return oc;let e=[];for(let t of mo)t.detailSize!==void 0&&t.detailSize>0&&e.push({rowKey:Z.getRowKey(t.index)??t.index,virtualRow:t});return e},[co,mo,Z]),_o=bt?.render,vo=(0,e.useCallback)(e=>{if(!_o)return null;let t=e.virtualRow.index,n=Z.getRow(t);if(n===void 0)return null;let r={row:n,rowKey:e.rowKey,rowIndex:t,sourceRowIndex:Z.getSourceIndex(t)??t,collapse:()=>In(e.rowKey,t,!1)};return _o(r)},[_o,Z,In]),yo=Ir+Nr,bo=Math.max(Math.min(Wn-yo-Lr,xr.center.totalWidth),0),xo=mo.length>0?mo[0].index:0,So=mo.length>0?mo[mo.length-1].index:-1;(0,e.useEffect)(()=>{if(!G)return;let e=Ut.current;e&&(e.scrollTop=0),ja(0)},[G,ua]),(0,e.useEffect)(()=>{!G||!Nn||(Pn.current=yn(),q(a.setExpandedDetailRowKeys(new Set)))},[G,Nn,ua,q]),(0,e.useEffect)(()=>{G&&(So<xo||_a(xo,So+1))},[G,xo,So,_a,ua]);let Co=po.physicalBodyHeight,wo=po.translateY===0?void 0:`translateY(${po.translateY}px)`,To=po.scaleFactor,Oo=po.windowBaseOffsetPx;(0,e.useLayoutEffect)(()=>{if(!Wa||!$a){Za.current?.disconnect(),Za.current=null,Qa.current.clear();return}let e=Ut.current;if(!e)return;let t=e.querySelectorAll(`[data-autoheight-cell]`);if(t.length>0){let n=new Map;t.forEach(t=>{if(vn(e,t))return;let r=t.closest(`[data-row-index]`);if(!r)return;let i=Number(r.dataset.rowIndex);if(!Number.isFinite(i))return;let a=Math.ceil(t.getBoundingClientRect().height),o=n.get(i);(o===void 0||a>o)&&n.set(i,a)});let r=!1,i=1/0;if(n.forEach((e,t)=>{let n=Z.getRowKey(t)??t;sa($a,t,n,e)&&(r=!0,t<i&&(i=t))}),r){let t=e.scrollTop,n=uo.rowAtContentY(t),r=t-uo.rowTop(n);aa($a,i),e.scrollTop=$a.prefix[n]+r,Ja(e=>e+1)}}let n=Za.current??new ResizeObserver(()=>Xa(e=>e+1));Za.current=n;let r=Qa.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)})},[Wa,$a,uo,Z,mo,Na,qa,Ya]),(0,e.useEffect)(()=>{let e=Qa.current;return()=>{Za.current?.disconnect(),Za.current=null,e.clear()}},[]);let ko=(0,e.useMemo)(()=>Ba.map(e=>Ra[e.index]).filter(e=>!!e),[Ba,Ra]),jo=xr.left.entries,Mo=xr.right.entries,No=(0,e.useMemo)(()=>{if(!K.activeCell)return null;let{row:e,col:t}=K.activeCell;if(e<0||e>=Q)return null;let n=C(xr,t);return n?{pane:n.pane,rect:{left:n.extent.start,top:uo.rowTop(e),width:n.extent.width,height:uo.cellHeight(e)}}:null},[K.activeCell,Q,xr,uo]),Po=(0,e.useMemo)(()=>No&&No.pane===`center`?No.rect:null,[No]),Fo=(0,e.useCallback)(e=>No&&No.pane===e?No.rect:null,[No]),Io=(0,e.useCallback)(e=>K.editingCell?Fo(e):null,[K.editingCell,Fo]),Lo=ii(pe)===`dark`?`ssg-theme-dark`:void 0;$r(),Fr({scrollRef:Ut,columnVirtualizer:za,columnMeasurements:ka,totalScrollWidth:zr,physicalBodyHeight:Co,headerHeight:H,leftPaneWidth:Ir,rightPaneWidth:Lr,centerLeadingWidth:Nr,activeCellRect:Po,activeCell:K.activeCell,verticalScaleFactor:To});let Ro=(0,e.useMemo)(()=>{if(Ae!==void 0)return Ae;if(je!==void 0)return{type:`include`,rowKeys:je}},[Ae,je]),zo=Ro!==void 0,Bo=Oe??(Ee&&De===`multiple`),Ho=K.rowSelection,Uo=F(Ho,Ea),Go=(0,e.useRef)(Ho);Go.current=Ho;let Ko=(0,e.useRef)(De);Ko.current=De;let Jo=(0,e.useRef)(Pe);Jo.current=Pe;let Yo=(0,e.useRef)(zo);Yo.current=zo;let Xo=(0,e.useRef)(null),Zo=(0,e.useCallback)(e=>{L(Go.current,e)||Jo.current?.(ee(e)),Yo.current||q(a.setRowSelectionState(e))},[q]),$o=(0,e.useRef)(Zo);$o.current=Zo;let es=(0,e.useCallback)((e,t)=>{let n=ba.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},[]),ts=(0,e.useCallback)((e,t)=>{let n=ba.current;if(!n.getRow(e))return;let r=n.getRowKey(e)??e;if(Ko.current===`single`){Xo.current=e,Zo(A(r));return}if(t.shiftKey&&Xo.current!==null){Zo(j(es(Xo.current,e)));return}Xo.current=e,Zo(k(Go.current,r))},[Zo,es]),ns=(0,e.useCallback)(e=>{let t=ba.current;if(t.getRow(e)){if(Ko.current===`single`){Zo(A(t.getRowKey(e)??e));return}Xo.current!==null&&Zo(j(es(Xo.current,e)))}},[Zo,es]),rs=(0,e.useCallback)(()=>{let e=F(Go.current,Ea);Zo(e===`all`?N():M())},[Zo,Ea]);(0,e.useEffect)(()=>{if(!zo||!Ro)return;let e=I(Ro);L(Go.current,e)||q(a.setRowSelectionState(e))},[zo,Ro,q]);let as=(0,e.useRef)(()=>{}),{updateSelectionFromPointer:os,handleCellPointerDown:ss,handleCellDoubleClick:cs,handleCellPointerEnter:ls,handleNativeDragStart:ds,handleRowHeaderPointerDown:ps,handleRowHeaderPointerEnter:ms,handleColumnHeaderPointerDown:hs,handleColumnHeaderPointerEnter:gs}=Pr({gridRootRef:Lt,bodyScrollRef:Vt,onCellDoubleClickRef:as,scrollContainerRef:Ut,leftPaneScrollRef:Gt,rightPaneScrollRef:Kt,pointerClientRef:Rt,autoScrollFrameRef:Bt,uiState:K,dispatch:q,enableRangeSelection:Te,enableSorting:Tn,orderedColumns:W,filteredRowsLength:Q,visibleColumnsLength:U.length,paneLayout:xr,leftLeadingWidth:Mr,centerLeadingWidth:Nr,rightLeadingWidth:0,headerHeight:H,rowMetrics:uo,verticalScaleFactor:To,setHoveredRowIndex:Qt,setHoveredColumnIndex:en,enableRowHover:Ge,enableColumnHeaderHover:qe,enableRowSelection:Ee,onGutterRowSelect:ts,onGutterRowSelectDrag:ns}),_s=(0,e.useRef)(()=>{}),vs=(0,e.useCallback)(e=>{e&&requestAnimationFrame(()=>{_s.current(e.row,e.col,`auto`)})},[]),ys=be&&!_e&&!G,{handleRowsChange:xs,undo:Cs,redo:ws,canUndo:Os,canRedo:ks,clearHistory:As}=or({rows:B,selection:K.selection,activeCell:K.activeCell,onRowsChange:_,dispatch:q,enabled:ys,limit:Ce,onUndoRedoStateChange:we,onAfterRestore:vs}),js=(0,e.useCallback)(()=>{if(ya){let e=Mi({getRow:e=>Z.getRow(e),columns:W,selection:K.selection,activeCell:K.activeCell,viewRowCount:Q,canWriteCell:(e,t,n,r)=>ke({readOnly:_e,canEditCell:va},e,t,n,r)});e.length>0&&ya(e);return}if(!xs)return;let{nextRows:e,changed:t}=ji({rows:B,resolveSourceIndex:e=>Z.getSourceIndex(e),columns:W,selection:K.selection,activeCell:K.activeCell,viewRowCount:Q,canWriteCell:(e,t,n,r)=>ke({readOnly:_e,canEditCell:va},e,t,n,r)});t&&xs(e)},[ya,va,xs,W,_e,Z,B,K.activeCell,K.selection,Q]),{isWholeGridSelected:Ms,handleCopy:Ns,handlePaste:Ps}=Ln({rows:B,rowModel:Z,visibleColumns:W,uiState:K,readOnly:_e,canEditCell:va,createRow:b,createOverflowColumn:T,onRowsChange:xs,onColumnsChange:v,applyServerSideCellEdits:ya,dispatch:q}),Fs=(0,e.useCallback)(()=>{if(Q===0||U.length===0)return;let e={row:0,col:0},t={row:Q-1,col:U.length-1};q(a.startSelection(e)),q(a.updateSelection(t)),q(a.endSelection()),q(a.activateCell(e))},[q,Q,U.length]),Is=(0,e.useCallback)(e=>{let t=Z.getRow(e.row),n=W[e.col];if(!t||!n||!ke({readOnly:_e,canEditCell:va},e.row,e.col,t,n)||n.editor?.type===`checkbox`)return;let r=R(t,n);Jt(String(r??``)),q(a.startEdit(e))},[va,q,Z,_e,W]),Ls=(0,e.useCallback)(e=>{if(!xs&&!ya)return;let t=Z.getRow(e.row),n=W[e.col];if(!t||!n||n.editor?.type!==`checkbox`||!ke({readOnly:_e,canEditCell:va},e.row,e.col,t,n))return;let r=Ne(R(t,n),n.editor);if(kn(n,t,r).action===`reject`)return;if(ya){ya([{viewIndex:e.row,column:n,value:r}]);return}if(!xs)return;let i=Z.getSourceIndex(e.row);i!==void 0&&xs(Ve(B,i,n,r))},[ya,va,xs,W,_e,Z,B]),{handleKeyDown:Hs}=lr({uiState:K,rowModel:Z,visibleColumns:W,readOnly:_e,canEditCell:va,setEditorInitialValue:Jt,dispatch:q,handleCopy:Ns,handleCellDoubleClick:Is,isWholeGridSelected:Ms,selectEntireGrid:Fs,onUndo:Cs,onRedo:ws,onClearSelection:js,enableClearOnDelete:xe,onToggleCheckboxCell:Ls,onToggleGroup:Zi}),{startEditWithValue:Us,commitEdit:Ws,cancelEdit:Gs}=$n({uiState:K,rows:B,visibleColumns:W,rowModel:Z,setEditorInitialValue:Jt,onRowsChange:xs,applyServerSideCellEdits:ya,dispatch:q,gridRootRef:Lt,editorActionGuardRef:Ht}),uc=K.editingCell?W[K.editingCell.col]:void 0,dc=K.editingCell?Z.getRow(K.editingCell.row):void 0,fc=K.editingCell&&uc&&dc?{row:dc,rowIndex:K.editingCell.row,sourceRowIndex:Z.getSourceIndex(K.editingCell.row)??K.editingCell.row,rowKey:Z.getRowKey(K.editingCell.row)??K.editingCell.row,colIndex:K.editingCell.col,column:uc,value:R(dc,uc)}:null,pc=(0,e.useCallback)(e=>{let t=Z.getRow(e.row),n=W[e.col];if(!t||!n||!ke({readOnly:_e,canEditCell:va},e.row,e.col,t,n)||n.editor?.type===`checkbox`)return;let r=R(t,n);Us(e,String(r??``))},[va,Z,_e,Us,W]);(0,e.useEffect)(()=>{as.current=pc},[pc]);let mc=(0,e.useMemo)(()=>{if(!K.selection)return null;if(K.selection.type===`cell`){let e=oe(K.selection.range);return{extents:x(xr,e.start.col,e.end.col),startRow:e.start.row,endRow:e.end.row}}if(K.selection.type===`row`){let e=se(K.selection.startRow,K.selection.endRow);return{extents:S(xr),startRow:e.startRow,endRow:e.endRow}}let e=ce(K.selection.startCol,K.selection.endCol);return{extents:x(xr,e.startCol,e.endCol),startRow:0,endRow:Math.max(Q-1,0)}},[K.selection,xr,Q]),hc=(0,e.useMemo)(()=>{if(!mc)return null;let e=wr(mc.startRow,mc.endRow,xo,So);return e?{top:uo.rowTop(e.start),height:uo.rowsHeight(e.start,e.end)}:null},[mc,uo,xo,So]),gc=(0,e.useMemo)(()=>{if(!co||!mc)return null;let e=wr(mc.startRow,mc.endRow,xo,So);return e?Cn(e.start,e.end,uo,so):null},[co,mc,uo,so,xo,So]),_c=(0,e.useCallback)(e=>{if(!mc||!hc)return null;let t=mc.extents[e];return t?{left:t.start,top:hc.top,width:t.width,height:hc.height}:null},[mc,hc]),vc=(0,e.useCallback)(e=>{if(!gc||!mc)return null;let t=mc.extents[e];return t?gc.map(e=>({left:t.start,top:e.top,width:t.width,height:e.height})):null},[gc,mc]),yc=(0,e.useCallback)(e=>{if(e.preventDefault(),e.button===0&&!(Q===0||U.length===0)){if(Lt.current?.focus({preventScroll:!0}),Bo){rs();return}if(Ms){q(a.clearSelection()),q(a.activateCell(null));return}Fs()}},[q,Q,Ms,Fs,U.length,Bo,rs]),bc=(0,e.useCallback)(e=>{Qt(t=>t===e?null:t)},[]),xc=(0,e.useCallback)(e=>{en(t=>t===e?null:t)},[]),Sc=(0,e.useCallback)(()=>{Xt(!0)},[]),Cc=(0,e.useCallback)(()=>{Xt(!1)},[]),wc=(0,e.useCallback)((e,t)=>{t.preventDefault(),t.stopPropagation();let n=t.timeStamp,r=Bn.current;if(r&&r.key===e.key&&n-r.time<sc&&Math.abs(t.clientX-r.x)<cc){Bn.current=null,Ca([e]);return}Bn.current={key:e.key,time:n,x:t.clientX},q(a.startColumnResize(e.key,t.clientX,Rn.current[e.key]??e.width,e.minWidth??60,e.maxWidth))},[q,Ca]),Tc=(0,e.useCallback)((e,t)=>{if(li(),!v)return;let n=V.find(t=>t.key===e);n&&(n.pinned??void 0)!==t&&(v(V.map(n=>{let r=Rn.current[n.key]??n.width;return n.key===e?{...n,width:r,pinned:t}:r===n.width?n:{...n,width:r}})),q(a.stopEdit()),q(a.clearSelection()),q(a.activateCell(null)))},[li,V,q,v]),Ec=(0,e.useCallback)(e=>{li();let t=U.find(t=>t.key===e);t&&Ca([t])},[li,Ca,U]),Dc=(0,e.useCallback)(()=>{li(),Ca(U)},[li,Ca,U]),Oc=(0,e.useMemo)(()=>V.map(e=>({key:e.key,title:e.title??e.key,visible:e.visible!==!1,pane:c(e)})),[V]),kc=(0,e.useCallback)(()=>{li(),hi(`columns`)},[li,hi]),Ac=(0,e.useMemo)(()=>U.filter(e=>e.key!==mn).map(e=>({key:e.key,title:e.title??e.key})),[U]),jc=(0,e.useCallback)(()=>{li(),hi(`sort`)},[li,hi]),Mc=(0,e.useCallback)(e=>{li(),qr(e)},[li,qr]),Nc=(0,e.useMemo)(()=>{let e=[],t=(t,n)=>{let r=Oi[t.key];!r||!et(r)||e.push({columnKey:t.key,title:t.title||t.key,summaryText:xi(r,r.kind===`dateSet`?Ke(t.dateFilterPresets):void 0),isHidden:n})};for(let e of W)t(e,!1);for(let e of V)e.visible===!1&&t(e,!0);return e},[Oi,V,W]),Pc=(0,e.useMemo)(()=>U.filter(e=>!!e.filterType&&!et(Oi[e.key])).map(e=>({key:e.key,title:e.title||e.key})),[Oi,U]),Fc=(0,e.useCallback)(()=>{li(),hi(`filter`)},[li,hi]),Ic=(0,e.useCallback)(()=>{ui===`filter`?gi():hi(`filter`)},[ui,gi,hi]),Lc=(0,e.useCallback)(e=>{let t=$.current,n=Ut.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=ia({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=Lt.current,n=t?.querySelectorAll(`[data-ssg-col-key]`);return!t||!n?null:Array.from(n).find(n=>n.dataset.ssgColKey===e&&!vn(t,n))??null},o=e=>{if(!Lt.current)return;let t=a();if(t===null){e<8&&requestAnimationFrame(()=>o(e+1));return}qr(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)})},[Lt,qr]),Rc=(0,e.useCallback)(e=>{q(a.clearColumnFilter(e))},[q]),zc=(0,e.useCallback)(()=>{q(a.setAllFilters({globalText:K.filters.globalText,columnFilters:{}}))},[q,K.filters.globalText]),Bc=(0,e.useCallback)(()=>{q(a.setGlobalFilter(``))},[q]),Vc=(0,e.useCallback)((e,t)=>{if(!v)return;let n=V.find(t=>t.key===e);n&&n.visible!==!1!==t&&(!t&&V.filter(e=>e.visible!==!1).length<=1||(v(V.map(n=>{let r=Rn.current[n.key]??n.width;return n.key===e?{...n,width:r,visible:t}:r===n.width?n:{...n,width:r}})),q(a.stopEdit()),q(a.clearSelection()),q(a.activateCell(null))))},[V,q,v]),Hc=(0,e.useCallback)(()=>{v&&V.some(e=>e.visible===!1)&&(v(V.map(e=>{let t=Rn.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}})),q(a.stopEdit()),q(a.clearSelection()),q(a.activateCell(null)))},[V,q,v]),Uc=(0,e.useCallback)(()=>{if(!v)return;let e=W[0]?.key;e!==void 0&&V.some(t=>t.visible!==!1&&t.key!==e)&&(v(V.map(t=>{let n=Rn.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}})),q(a.stopEdit()),q(a.clearSelection()),q(a.activateCell(null)))},[V,q,v,W]),Wc=(0,e.useCallback)((e,t)=>{if(!v||e.length!==V.length)return;let n=new Map(V.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=Rn.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===V.length&&r.every((e,t)=>{let n=V[t];return!!n&&n.key===e.key&&n.width===e.width&&(n.pinned??void 0)===(e.pinned??void 0)})||(v(r),q(a.stopEdit()),q(a.clearSelection()),q(a.activateCell(null)))},[V,q,v]),Gc=(0,e.useCallback)(e=>{Wc(e)},[Wc]),{onColumnDragHandlePointerDown:Kc,leftIndicatorRef:qc,centerIndicatorRef:Jc,rightIndicatorRef:Yc,applyReorderSettle:Xc}=vi({enabled:!!v,columns:V,paneLayout:xr,leftPaneScrollRef:Gt,rightPaneScrollRef:Kt,bodyScrollRef:Vt,scrollContainerRef:Ut,leftLeadingWidth:Mr,centerLeadingWidth:Nr,rightLeadingWidth:0,applyColumnOrderAndPin:Wc});(0,e.useLayoutEffect)(()=>{Xc()},[xr,Xc]);let Zc=v?Kc:void 0,Qc={position:`absolute`,top:0,height:H+Co,transform:`translateX(-1px)`,pointerEvents:`none`,zIndex:8,display:`none`},$c=(0,e.useCallback)(()=>{if(!v)return;let e=Vn.current;if(!e)return;let t=Pi(V,e,Rn.current);t!==null&&(v(t),q(a.stopEdit()),q(a.clearSelection()),q(a.activateCell(null)))},[V,q,v]),el=(0,e.useCallback)(()=>{li(),$c()},[li,$c]),tl=(0,e.useCallback)(e=>Y?R(B[e],Y):void 0,[B,Y]),{options:nl,allValues:rl,status:il,progress:al}=Ua({column:Y,rowCount:B.length,getRawValueAt:tl}),ol=X===`dateSet`,sl=(0,e.useMemo)(()=>ol?Ci(nl):nl,[ol,nl]),cl=(0,e.useMemo)(()=>ol?new Set(sl.map(e=>e.value)):rl,[ol,sl,rl]),ll=Y?K.filters.columnFilters[Y.key]:void 0,ul=(0,e.useMemo)(()=>{let e=Ye(ll)?ll:Xe(ll)||Ze(ll)||Qe(ll)?ll.set:null;return e?{mode:e.mode===`exclude`?`exclude`:`include`,values:new Set(e.values)}:null},[ll]),dl=!(Y?.filterOptions&&Y.filterOptions.length>0),fl=(0,e.useCallback)((e,t)=>{let n=Y?.key===e?X:void 0,r=K.filters.columnFilters[e];if(n===`numberSet`){let e=Xe(r)?r.condition:null;return!e&&!t?null:{kind:`numberSet`,condition:e,set:t}}if(n===`textSet`){let e=Ze(r)?r.condition:null;return!e&&!t?null:{kind:`textSet`,condition:e,set:t}}if(n===`dateSet`){let e=Qe(r)?r.condition:null;return!e&&!t?null:{kind:`dateSet`,condition:e,set:t}}return null},[Y,K.filters.columnFilters,X]),pl=X===`numberSet`||X===`textSet`||X===`dateSet`,ml=(0,e.useCallback)((e,t,n)=>{let r=Y?.key===e&&pl,i=t.mode===`include`?t.values.size:n-t.values.size;if(i>=n){if(r){let t=fl(e,null);if(t){q(a.setColumnFilter(e,t));return}}q(a.clearColumnFilter(e));return}let o=i<=0?{mode:`include`,values:[]}:{mode:t.mode,values:Array.from(t.values)};if(r){let t=fl(e,o);if(t){q(a.setColumnFilter(e,t));return}}let s={kind:`set`,...o};q(a.setColumnFilter(e,s))},[q,Y,pl,fl]),hl=(0,e.useCallback)(e=>{if(!J)return;let t=sl.length,n=ul,r;r=lo(n,e)?n===null?dl?{mode:`exclude`,values:new Set([e])}:{mode:`include`,values:Ys(cl,e)}:n.mode===`include`?{mode:`include`,values:Ys(n.values,e)}:{mode:`exclude`,values:Js(n.values,e)}:n.mode===`include`?{mode:`include`,values:Js(n.values,e)}:{mode:`exclude`,values:Ys(n.values,e)},ml(J.columnKey,r,t)},[J,ul,dl,cl,sl,ml]),gl=(0,e.useCallback)((e,t)=>{if(!J)return;let n=J.columnKey,r=sl.length;if(e===`all`){ml(n,t?{mode:`exclude`,values:new Set}:{mode:`include`,values:new Set},r);return}let i=ul,a;if(t){if(i===null){ml(n,{mode:`exclude`,values:new Set},r);return}a=i.mode===`include`?{mode:`include`,values:Xs(i.values,e)}:{mode:`exclude`,values:Zs(i.values,e)}}else a=i===null?dl?{mode:`exclude`,values:new Set(e)}:{mode:`include`,values:Zs(cl,e)}:i.mode===`include`?{mode:`include`,values:Zs(i.values,e)}:{mode:`exclude`,values:Xs(i.values,e)};ml(n,a,r)},[J,ul,dl,cl,sl,ml]),_l=(0,e.useCallback)(e=>{J&&ml(J.columnKey,{mode:`include`,values:new Set(e)},sl.length)},[J,ml,sl]),vl=(0,e.useCallback)(()=>{J&&(q(a.clearColumnFilter(J.columnKey)),X===`numberSet`&&Xr(Ct),X===`textSet`&&Zr(Nt),X===`dateSet`&&Qr(zt))},[q,J,Xr,Zr,Qr,X]),yl=(0,e.useCallback)(e=>{let t=K.filters.columnFilters[e];return Xe(t)||Ze(t)||Qe(t)?t.set:Ye(t)?{mode:t.mode,values:t.values}:null},[K.filters.columnFilters]),bl=(0,e.useCallback)(e=>{if(Xr(e),!J||X!==`numberSet`)return;let t=J.columnKey,n=Ot(e),r=yl(t);if(!n&&!r){K.filters.columnFilters[t]&&q(a.clearColumnFilter(t));return}q(a.setColumnFilter(t,{kind:`numberSet`,condition:n,set:r}))},[Xr,J,yl,K.filters.columnFilters,q,X]),xl=(0,e.useCallback)(e=>{if(Zr(e),!J||X!==`textSet`)return;let t=J.columnKey,n=Ft(e),r=yl(t);if(!n&&!r){K.filters.columnFilters[t]&&q(a.clearColumnFilter(t));return}q(a.setColumnFilter(t,{kind:`textSet`,condition:n,set:r}))},[Zr,J,yl,K.filters.columnFilters,q,X]),Sl=(0,e.useCallback)(e=>{if(Qr(e),!J||X!==`dateSet`)return;let t=J.columnKey,n=Wt(e),r=yl(t);if(!n&&!r){K.filters.columnFilters[t]&&q(a.clearColumnFilter(t));return}q(a.setColumnFilter(t,{kind:`dateSet`,condition:n,set:r}))},[Qr,J,yl,K.filters.columnFilters,q,X]),Cl=(0,e.useCallback)(()=>{if(X===`textSet`){xl(Nt);return}if(X===`dateSet`){Sl(zt);return}bl(Ct)},[xl,Sl,bl,X]),wl=(0,e.useCallback)(()=>{if(!J)return;let e=J.columnKey,t=fl(e,null);if(t){q(a.setColumnFilter(e,t));return}q(a.clearColumnFilter(e))},[J,fl,q]),Tl=(0,e.useCallback)(()=>{if(!J)return;let e=X??`text`;if(e===`set`||e===`numberSet`||e===`textSet`||e===`dateSet`){Jr();return}if(e===`number`){let e=J.numberDraft?At(J.numberDraft):null;if(!e){q(a.clearColumnFilter(J.columnKey)),Jr();return}q(a.setColumnFilter(J.columnKey,e)),Jr();return}let t=e===`select`?J.draftValue:J.draftValue.trim();if(!t){q(a.clearColumnFilter(J.columnKey)),Jr();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};q(a.setColumnFilter(J.columnKey,n)),Jr()},[Jr,q,J,X]),El=(0,e.useCallback)(()=>{J&&(q(a.clearColumnFilter(J.columnKey)),Jr())},[Jr,q,J]),Dl=(0,e.useCallback)((e,t)=>{if(li(),!Re)return;let n=fr(K.sort,e,t,!1);q(n.length===0?a.clearSort():a.setSort(n))},[li,q,Re,K.sort]),Ol=(0,e.useCallback)((e,t)=>{if(!Re)return;let n=pr(K.sort,e,t);q(a.setSort(n))},[q,Re,K.sort]),kl=(0,e.useCallback)((e,t)=>{if(!Re)return;let n=mr(K.sort,e,t);q(a.setSort(n))},[q,Re,K.sort]),Al=(0,e.useCallback)((e,t)=>{if(!Re)return;let n=hr(K.sort,e,t);q(a.setSort(n))},[q,Re,K.sort]),jl=(0,e.useCallback)(e=>{if(!Re)return;let t=gr(K.sort,e);q(t.length===0?a.clearSort():a.setSort(t))},[q,Re,K.sort]),Ml=(0,e.useCallback)(()=>{Re&&q(a.clearSort())},[q,Re]),Nl=(0,e.useCallback)((e,t)=>{if(!Re)return;let n=_r(K.sort,e,t);q(a.setSort(n))},[q,Re,K.sort]),Pl=K.expandedDetailRowKeys,Fl=(0,e.useCallback)((e,t,r,i,a)=>{let o=R(e,r);if(r.renderCell){let n=Z.getSourceIndex(t)??t,s=Z.getRowKey(t)??t,c=Nn?{expanded:Pl.has(s),expandable:ao?ao(e,{rowKey:s,sourceRowIndex:n}):!0,toggle:()=>Fn(s,t),setExpanded:e=>In(s,t,e)}:void 0;return r.renderCell({row:e,rowIndex:t,sourceRowIndex:n,rowKey:s,colIndex:i,...c?{detail:c}:null,value:o,column:r,isActive:a.isActive,isSelected:a.isSelected,isEditing:a.isEditing,readOnly:a.readOnly,setValue:n=>{if(kn(r,e,n).action===`reject`)return;if(ya){ya([{viewIndex:t,column:r,value:n}]);return}if(!xs)return;let i=Z.getSourceIndex(t);if(i===void 0)return;let a=Ve(B,i,r,n);xs(a)}})}return r.editor?.type===`checkbox`?(0,n.jsx)(oo,{checked:Me(o,r.editor),readOnly:a.readOnly,onToggle:()=>Ls({row:t,col:i})}):(0,n.jsx)(`span`,{children:r.valueFormatter?r.valueFormatter({value:o,row:e,column:r}):String(o??``)})},[Z,xs,B,Ls,ya,Nn,Pl,ao,Fn,In]),{slotContext:Il}=Qn({rows:B,viewRowCount:Ea,getFilteredRows:Oa,columns:V,visibleColumns:U,uiState:K,setGlobalFilterText:(0,e.useCallback)(e=>{q(a.setGlobalFilter(e))},[q]),globalFilterStatus:Ii,globalFilterProgress:Bi}),Ll=(0,e.useMemo)(()=>({width:me,minWidth:me}),[me]),Rl=Q===0,zl=(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)`}:{}}),Bl=(()=>{if(!Y)return`(なし)`;let e=K.filters.columnFilters[Y.key];if(Ye(e))return e.mode===`exclude`?`${e.values.length}件を除外中`:`${e.values.length}件を選択中`;if(pt(e))return e.raw;let t=mt(e);return t.trim()?t:`(なし)`})(),Vl=Y?Ke(Y.dateFilterPresets):void 0,Hl=ll&&et(ll)?xi(ll,Vl):`フィルターなし`,Ul=Y?(0,n.jsx)(Eo,{themeClassName:Lo,isOpen:!!J,title:Y.title||Y.key,filterType:X??`text`,isServerSide:G,draftValue:J?.draftValue??``,numberConditionDraft:J?.numberDraft??null,onNumberConditionDraftChange:bl,textConditionDraft:J?.textDraft??null,onTextConditionDraftChange:xl,dateConditionDraft:J?.dateDraft??null,onDateConditionDraftChange:Sl,datePresets:Vl,renderDateInput:Le?e=>Le({...e,columnKey:Y.key}):void 0,onComboConditionClear:Cl,onComboSelectionClear:wl,comboSummaryText:Hl,currentValueText:Bl,layout:Hr,selectOptions:sl,setSelection:ul,optionsStatus:il,optionsProgress:al,popoverRef:Ur,textInputRef:Wr,selectRef:Gr,onRequestClose:Jr,onDraftChange:Yr,onApply:Tl,onClear:El,onSetValueToggle:hl,onSetSelectAllChange:gl,onSetClear:vl,onSetReplaceSelection:_l}):null,Wl=ai?(0,n.jsx)(is,{themeClassName:Lo,isOpen:ni,title:ai.title||ai.key,columnKey:ai.key,canFilter:En&&!!ai.filterType,onOpenFilter:()=>Mc(ai),canSort:Tn,sortDirection:K.sort.find(e=>e.columnKey===ai.key)?.direction??null,onSortChange:e=>Dl(ai.key,e),onOpenSortManager:jc,canManageFilters:En,onOpenFilterManager:Fc,pinned:ai.pinned,canChangePinned:!!v,layout:ei,popoverRef:ti,onPinnedChange:Tc,onAutosizeColumn:Ec,onAutosizeAllColumns:Dc,onOpenColumnChooser:kc,canResetColumns:!!v,onResetColumns:el,onRequestClose:li}):null,Gl=On&&Di.trim().length>0,Kl=Nc.length+ +!!Gl,ql=(0,n.jsx)(fs,{themeClassName:Lo,activeTab:ui,flashTick:pi,tabs:di.map(e=>e===`filter`?{tab:e,label:`フィルター`,badge:Kl}:e===`sort`?{tab:e,label:`並び替え`,badge:K.sort.length}:{tab:e,label:`列`}),layout:fi,panelRef:mi,onSelectTab:hi,onRequestClose:gi,onPanelMove:_i,children:ui===null?null:{filter:()=>(0,n.jsx)(Ts,{entries:Nc,addableColumns:Pc,showGlobalFilterRow:Gl,globalFilterText:Di,canFilter:En,onEditFilter:Lc,onAddFilter:Lc,onClearFilter:Rc,onClearAllFilters:zc,onClearGlobalFilter:Bc}),columns:()=>(0,n.jsx)(bs,{items:Oc,canToggle:!!v,onToggleColumnVisibility:Vc,onShowAllColumns:Hc,onHideAllColumns:Uc,onResetColumns:$c,onReorderColumns:Gc}),sort:()=>(0,n.jsx)(Ss,{entries:K.sort,columns:Ac,canSort:Tn,onAddLevel:Ol,onChangeDirection:kl,onChangeColumn:Al,onRemoveLevel:jl,onClearAll:Ml,onMove:Nl})}[ui]()}),Jl=(0,n.jsx)(qs,{themeClassName:Lo,isOpen:wi,items:yi?.items??ic,layout:bi,popoverRef:Si,onRequestClose:Ei}),Yl=Kr||ni||ui!==null||wi,Xl=ot,Zl=st&&On,Ql=it?zn(gt,Il,Xl||Zl?(0,n.jsx)(Ao,{context:Il,showSummary:Xl,showFilter:Zl,showCounts:ut,globalFilterPlaceholder:ct,globalFilterIcon:lt,onFilterSummaryClick:En?Ic:void 0}):null):null,$l=at?zn(_t,Il,(0,n.jsx)(Do,{context:Il,showCounts:dt})):null,eu=he===void 0&&ge===void 0?void 0:{...he===void 0?{}:{height:he},maxHeight:ge??(he===void 0?void 0:`none`)},$=(0,e.useRef)(null);$.current={dispatch:q,rowModel:Z,viewRowCount:Q,leafRowCount:Ea,groupTree:Yi,rowMetrics:uo,paneLayout:xr,orderedColumns:W,columns:V,onColumnsChange:v,uiState:K,headerHeight:H,verticalScaleFactor:To,leftPaneTotalWidth:Ir,rightPaneTotalWidth:Lr,centerLeadingWidth:Nr,windowFirstRow:xo,windowLastRow:So,physicalBodyHeight:Co,rows:B,isServerSide:G,serverSideRefresh:fa.refresh,resolvedRowKeyGetter:wn,openFilterManager:()=>{hi(`filter`)},closeFilterManager:()=>{ui===`filter`&&gi()},undoRows:Cs,redoRows:ws,canUndoRows:Os,canRedoRows:ks,clearUndoHistory:As,detailRowEnabled:bt!=null,detailIsExpandable:ao};let tu=(0,e.useCallback)((e,t,n=`auto`)=>{let r=Math.max(e.scrollHeight-e.clientHeight,0),i=Math.max(e.scrollWidth-e.clientWidth,0),a=Math.min(Math.max(t.top,0),r),o=Math.min(Math.max(t.left,0),i);(Math.round(a)!==Math.round(e.scrollTop)||Math.round(o)!==Math.round(e.scrollLeft))&&(Ia.current+=1),e.scrollTo({top:a,left:o,behavior:n})},[]),nu=(0,e.useCallback)((e,t)=>{let n=Ut.current,r=$.current;!n||!r||tu(n,{top:e===null?n.scrollTop:Er(e,r.verticalScaleFactor),left:t===null?n.scrollLeft:t})},[tu]),ru=(0,e.useCallback)((e,t)=>{let n=Ut.current,r=$.current;if(!n||!r||r.viewRowCount===0)return null;let i=Math.min(Math.max(e,0),r.viewRowCount-1);return ra({rowTop:r.rowMetrics.rowTop(i),rowHeight:r.rowMetrics.cellHeight(i),headerHeight:r.headerHeight,viewportHeight:n.clientHeight,currentScrollTop:Tr(n.scrollTop,r.verticalScaleFactor),align:t})},[]),iu=(0,e.useCallback)((e,t)=>{let n=Ut.current,r=$.current;if(!n||!r)return null;let i=C(r.paneLayout,e);return!i||i.pane!==`center`?null:ia({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})},[]),au=(0,e.useCallback)((e,t,n)=>{nu(ru(e,n),iu(t,n))},[nu,iu,ru]);(0,e.useEffect)(()=>{_s.current=au},[au]),(0,e.useImperativeHandle)(kt,()=>{let e=e=>{let t=$.current;if(!t)return null;let n=e=>t.rowModel.getRow(e),r=zi(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=oe(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=se(e.startRow,e.endRow);return{getRow:n,startRow:r.startRow,endRow:r.endRow+1,columns:t.orderedColumns}}let r=ce(e.startCol,e.endCol);return{getRow:n,startRow:0,endRow:t.viewRowCount,columns:t.orderedColumns.slice(r.startCol,r.endCol+1)}}return{getRow:n,startRow:0,endRow:t.viewRowCount,columns:t.orderedColumns}},t=e=>e.filter(e=>!hn(e.key)),n=n=>{let r=e(n?.scope??`view`);return r?Li({getRow:r.getRow,startRow:r.startRow,endRow:r.endRow,columns:t(r.columns),delimiter:n?.delimiter,includeHeaders:n?.includeHeaders,bom:n?.bom}):n?.bom?``:``},r=n=>{let r=e(n?.scope??`view`);return r?Ri({getRow:r.getRow,startRow:r.startRow,endRow:r.endRow,columns:t(r.columns)}):{columns:[],rows:[]}};return{scrollToRow:(e,t)=>nu(ru(e,t?.align??`auto`),null),scrollToCell:(e,t,n)=>au(e,t,n?.align??`auto`),scrollToTop:()=>{let e=Ut.current;e&&tu(e,{top:0,left:e.scrollLeft})},scrollToBottom:()=>{let e=Ut.current,t=$.current;!e||!t||tu(e,{top:Math.max(t.headerHeight+t.physicalBodyHeight-e.clientHeight,0),left:e.scrollLeft})},getScrollPosition:()=>{let e=Ut.current;return e?{top:e.scrollTop,left:e.scrollLeft}:null},setScrollPosition:(e,t)=>{let n=Ut.current;n&&tu(n,{top:e.top??n.scrollTop,left:e.left??n.scrollLeft},t?.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&&au(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&&au(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&&au(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=oe(t.range);for(let t=e.start.row;t<=e.end.row;t+=1)r(t)}else if(t.type===`row`){let e=se(t.startRow,t.endRow);for(let t=e.startRow;t<=e.endRow;t+=1)r(t)}else for(let t=0;t<e.viewRowCount;t+=1)r(t);return n},exportCsv:e=>n(e),downloadCsv:(e,t)=>{if(typeof document>`u`)return;let r=n({...t,bom:t?.bom??!0}),i=new Blob([r],{type:`text/csv;charset=utf-8;`}),a=URL.createObjectURL(i),o=document.createElement(`a`);o.href=a,o.download=e??`export.csv`,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(a)},getExportData:e=>r(e),getState:()=>{let e=$.current;return e?Wi(e.uiState.columnWidths,e.uiState.filters,e.uiState.sort,Ui(e.columns)):Wi({},{globalText:``,columnFilters:{}},[],[])},applyState:e=>{let t=$.current;if(!t)return;let n=Gi(e);t.onColumnsChange&&n.columns&&t.onColumnsChange(Ki(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?ee(e.uiState.rowSelection):{type:`include`,rowKeys:[]}},setRowSelection:e=>{$o.current(I(e))},getSelectedRowKeys:()=>{let e=$.current;if(!e)return[];let t=e.uiState.rowSelection;if(t.mode===`include`)return Array.from(t.keys);let n=[],r=e.rowModel.getRowCount();for(let i=0;i<r;i+=1){if(!e.rowModel.getRow(i))continue;let r=e.rowModel.getRowKey(i)??i;t.keys.has(r)||n.push(r)}return n},getSelectedRowData:()=>{let e=$.current;if(!e)return[];let t=e.uiState.rowSelection,n=[],r=e.rowModel.getRowCount();for(let i=0;i<r;i+=1){let r=e.rowModel.getRow(i);r&&O(t,e.rowModel.getRowKey(i)??i)&&n.push(r)}return n},getSelectedRowCount:()=>{let e=$.current;return e?P(e.uiState.rowSelection,e.leafRowCount):0},isRowSelected:e=>{let t=$.current;return t?O(t.uiState.rowSelection,e):!1},selectAllRows:()=>{$o.current(M())},clearRowSelection:()=>{$o.current(N())},undo:()=>{$.current?.undoRows()},redo:()=>{$.current?.redoRows()},canUndo:()=>$.current?.canUndoRows()??!1,canRedo:()=>$.current?.canRedoRows()??!1,clearUndoHistory:()=>{$.current?.clearUndoHistory()},setGroupCollapsed:(e,t)=>{$.current?.dispatch(a.setGroupCollapsed(e,t))},expandAllGroups:()=>{$.current?.dispatch(a.setCollapsedGroupKeys(new Set))},collapseAllGroups:()=>{let e=$.current;!e||!e.groupTree||e.dispatch(a.setCollapsedGroupKeys(new Set(pn(e.groupTree))))},getGroupRows:()=>{let e=$.current;return e?.groupTree?fn(e.groupTree):[]},setDetailRowExpanded:(e,t)=>{let n=$.current;if(!(!n||!n.detailRowEnabled)){if(t&&n.detailIsExpandable){let t=bn(n.rowModel,e,Pn.current,!n.isServerSide);if(t>=0){let r=n.rowModel.getRow(t);if(r!=null&&!n.detailIsExpandable(r,{rowKey:e,sourceRowIndex:n.rowModel.getSourceIndex(t)}))return}}n.dispatch(a.setDetailRowExpanded(e,t))}},getExpandedDetailRowKeys:()=>{let e=$.current;return e&&e.detailRowEnabled?Array.from(e.uiState.expandedDetailRowKeys):[]},collapseAllDetailRows:()=>{let e=$.current;!e||!e.detailRowEnabled||e.dispatch(a.setExpandedDetailRowKeys(new Set))},getInvalidCells:()=>{let e=$.current;return e?e.isServerSide?(console.warn(`[SpreadsheetGrid] getInvalidCells は serverSide モードでは利用できません(空配列を返します)。`),[]):An(e.rows,e.columns,e.resolvedRowKeyGetter):[]},refreshServerSide:()=>{let e=$.current;if(e){if(!e.isServerSide){console.warn(`[SpreadsheetGrid] refreshServerSide は clientSide(rows)モードでは何もしません(dataSource 指定時のみ有効です)。`);return}e.serverSideRefresh()}},openFilterManager:()=>{$.current?.openFilterManager()},closeFilterManager:()=>{$.current?.closeFilterManager()}}},[tu,nu,au,ru]);let ou=(0,e.useRef)(jt);ou.current=jt;let su=(0,e.useRef)(null);return(0,e.useEffect)(()=>{if(!ou.current)return;let e=Wi(K.columnWidths,K.filters,K.sort,Ui(V)),t=na(su.current,e,K.dragState!==null);su.current=t.nextLast,t.emit&&ou.current(e)},[K.columnWidths,K.filters,K.sort,K.dragState,V]),(0,n.jsxs)(`div`,{className:i(`ssg-root`,le!==`standard`&&`ssg-root--density-${le}`,Lo,ve&&`ssg-root--dim-readonly`,vt,z?.root),children:[Ql,ht&&(0,n.jsx)(Es,{entries:Nc,canFilter:En,onEditFilter:Lc,onClearFilter:Rc,onClearAllFilters:zc}),(0,n.jsxs)(`div`,{ref:Lt,className:`ssg-shell`,style:{cursor:Sa?`progress`:void 0},onDragStart:ds,onPointerLeave:()=>Qt(null),onPointerMoveCapture:e=>{Rt.current={x:e.clientX,y:e.clientY},os(e.clientX,e.clientY)},tabIndex:Yl?-1:0,onKeyDown:Yl?void 0:Hs,onPaste:Yl?void 0:Ps,onContextMenu:xa,children:[(0,n.jsxs)(`div`,{ref:Ut,className:i(`ssg-scroll-container`,Da?.scrollbar===!0&&`ssg-scroll-container--custom-scrollbar`),style:eu,children:[(0,n.jsxs)(`div`,{className:`ssg-inner-row`,style:{width:zr,minWidth:zr,height:H+Co},children:[(0,n.jsxs)(`div`,{ref:Gt,style:zl(`left`,Ir,Dr),children:[Dr&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:Ir,minWidth:Ir,height:H+Co},children:[(0,n.jsx)(qo,{pane:`left`,ownsRowHeader:!0,leadingWidth:Mr,headerHeight:H,rowHeaderCellStyle:Ll,headerRowClassName:z?.headerRow,headerCellClassName:z?.headerCell,rowHeaderCellClassName:z?.rowHeaderCell,isCornerHovered:Yt,isWholeGridSelected:Ms,showSelectAllCheckbox:Bo,selectAllState:Uo,filteredRowsLength:Q,visibleColumnsLength:U.length,renderEntries:jo,hoveredColumnIndex:$t,selectionSnapshot:Hn,columnFilterValues:K.filters.columnFilters,sortState:K.sort,iconButtonClassName:z?.iconButton,onCornerPointerDown:yc,onCornerPointerEnter:Sc,onCornerPointerLeave:Cc,onColumnHeaderPointerDown:hs,onColumnHeaderPointerEnter:gs,onColumnHeaderPointerLeave:xc,onColumnResizePointerDown:wc,enableColumnMenu:$e,enableColumnResize:ze,openedMenuColumnKey:ri,onColumnMenuButtonPointerDown:oi,onColumnMenuButtonClick:si,onColumnHeaderContextMenu:ci,onColumnDragHandlePointerDown:Zc}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:Ir,height:H+Co,transform:wo},children:[(vc(`left`)??[_c(`left`)]).map((e,t)=>(0,n.jsx)(de,{rect:e,headerHeight:H,baseOffset:Oo,leadingWidth:Mr},t)),(0,n.jsx)(fe,{rect:Fo(`left`),headerHeight:H,baseOffset:Oo,leadingWidth:Mr}),(0,n.jsx)(He,{rect:Io(`left`),headerHeight:H,baseOffset:Oo,leadingWidth:Mr,initialValue:qt,editor:uc?.editor,editorSession:fc,themeClassName:Lo,onCommit:Ws,onCancel:Gs,align:uc?.align,enterMove:Se}),(0,n.jsx)(Vo,{pane:`left`,ownsRowHeader:!0,leadingWidth:Mr,rowModel:Z,virtualRows:mo,virtualRowIndexes:ho,renderEntries:jo,rowHeight:Pt,autoHeight:Wa,showCellOverflowTooltip:Ue,showValidationMarks:We,isServerSide:G,collapsedGroupKeys:K.collapsedGroupKeys,onGroupToggle:Zi,rowHeaderCellStyle:Ll,hoveredRowIndex:Zt,isWholeGridSelected:Ms,enableRowSelection:Ee,rowSelectionState:Ho,activeCell:K.activeCell,editingCell:K.editingCell,selectionSnapshot:Hn,readOnly:_e,canEditCell:va,onRowHeaderPointerDown:ps,onRowHeaderPointerEnter:ms,onRowHeaderPointerLeave:bc,onCellPointerDown:ss,onCellPointerEnter:ls,onCellDoubleClick:cs,renderCellContent:Fl,getRowClassName:yt,bodyCellClassName:z?.bodyCell,bodyRowClassName:z?.bodyRow,rowHeaderCellClassName:z?.rowHeaderCell}),(0,n.jsx)(Wo,{entries:go,mode:`band`,paneWidth:Ir,baseOffset:Oo,cardStickyLeft:0,cardWidth:0,renderCard:vo})]})]}),(0,n.jsx)(`div`,{ref:qc,className:`ssg-col-drop-indicator`,style:Qc})]}),(0,n.jsx)(`div`,{ref:Vt,className:`ssg-center-pane`,style:{width:Rr,minWidth:Rr},children:(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:Rr,minWidth:Rr,height:H+Co},children:[(0,n.jsx)(qo,{pane:`center`,ownsRowHeader:jr,leadingWidth:Nr,headerHeight:H,rowHeaderCellStyle:Ll,headerRowClassName:z?.headerRow,headerCellClassName:z?.headerCell,rowHeaderCellClassName:z?.rowHeaderCell,isCornerHovered:Yt,isWholeGridSelected:Ms,showSelectAllCheckbox:Bo,selectAllState:Uo,filteredRowsLength:Q,visibleColumnsLength:U.length,renderEntries:ko,hoveredColumnIndex:$t,selectionSnapshot:Hn,columnFilterValues:K.filters.columnFilters,sortState:K.sort,iconButtonClassName:z?.iconButton,onCornerPointerDown:yc,onCornerPointerEnter:Sc,onCornerPointerLeave:Cc,onColumnHeaderPointerDown:hs,onColumnHeaderPointerEnter:gs,onColumnHeaderPointerLeave:xc,onColumnResizePointerDown:wc,enableColumnMenu:$e,enableColumnResize:ze,openedMenuColumnKey:ri,onColumnMenuButtonPointerDown:oi,onColumnMenuButtonClick:si,onColumnHeaderContextMenu:ci,onColumnDragHandlePointerDown:Zc}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:Rr,height:H+Co,transform:wo},children:[(vc(`center`)??[_c(`center`)]).map((e,t)=>(0,n.jsx)(de,{rect:e,headerHeight:H,baseOffset:Oo,leadingWidth:Nr},t)),(0,n.jsx)(fe,{rect:Fo(`center`),headerHeight:H,baseOffset:Oo,leadingWidth:Nr}),(0,n.jsx)(He,{rect:Io(`center`),headerHeight:H,baseOffset:Oo,leadingWidth:Nr,initialValue:qt,editor:uc?.editor,editorSession:fc,themeClassName:Lo,onCommit:Ws,onCancel:Gs,align:uc?.align,enterMove:Se}),(0,n.jsx)(Vo,{pane:`center`,ownsRowHeader:jr,leadingWidth:Nr,rowModel:Z,virtualRows:mo,virtualRowIndexes:ho,renderEntries:ko,rowHeight:Pt,autoHeight:Wa,showCellOverflowTooltip:Ue,showValidationMarks:We,isServerSide:G,collapsedGroupKeys:K.collapsedGroupKeys,onGroupToggle:Zi,rowHeaderCellStyle:Ll,hoveredRowIndex:Zt,isWholeGridSelected:Ms,enableRowSelection:Ee,rowSelectionState:Ho,activeCell:K.activeCell,editingCell:K.editingCell,selectionSnapshot:Hn,readOnly:_e,canEditCell:va,onRowHeaderPointerDown:ps,onRowHeaderPointerEnter:ms,onRowHeaderPointerLeave:bc,onCellPointerDown:ss,onCellPointerEnter:ls,onCellDoubleClick:cs,renderCellContent:Fl,getRowClassName:yt,bodyCellClassName:z?.bodyCell,bodyRowClassName:z?.bodyRow,rowHeaderCellClassName:z?.rowHeaderCell}),(0,n.jsx)(Wo,{entries:go,mode:`center`,paneWidth:Rr,baseOffset:Oo,cardStickyLeft:yo,cardWidth:bo,cardClassName:bt?.className,renderCard:vo})]}),(0,n.jsx)(`div`,{ref:Jc,className:`ssg-col-drop-indicator`,style:Qc})]})}),(0,n.jsxs)(`div`,{ref:Kt,style:zl(`right`,Lr,Ar),children:[Ar&&(0,n.jsxs)(`div`,{style:{position:`relative`,overflow:`clip`,width:Lr,minWidth:Lr,height:H+Co},children:[(0,n.jsx)(qo,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,headerHeight:H,rowHeaderCellStyle:Ll,headerRowClassName:z?.headerRow,headerCellClassName:z?.headerCell,rowHeaderCellClassName:z?.rowHeaderCell,isCornerHovered:Yt,isWholeGridSelected:Ms,showSelectAllCheckbox:Bo,selectAllState:Uo,filteredRowsLength:Q,visibleColumnsLength:U.length,renderEntries:Mo,hoveredColumnIndex:$t,selectionSnapshot:Hn,columnFilterValues:K.filters.columnFilters,sortState:K.sort,iconButtonClassName:z?.iconButton,onCornerPointerDown:yc,onCornerPointerEnter:Sc,onCornerPointerLeave:Cc,onColumnHeaderPointerDown:hs,onColumnHeaderPointerEnter:gs,onColumnHeaderPointerLeave:xc,onColumnResizePointerDown:wc,enableColumnMenu:$e,enableColumnResize:ze,openedMenuColumnKey:ri,onColumnMenuButtonPointerDown:oi,onColumnMenuButtonClick:si,onColumnHeaderContextMenu:ci,onColumnDragHandlePointerDown:Zc}),(0,n.jsxs)(`div`,{style:{position:`absolute`,top:0,left:0,width:Lr,height:H+Co,transform:wo},children:[(vc(`right`)??[_c(`right`)]).map((e,t)=>(0,n.jsx)(de,{rect:e,headerHeight:H,baseOffset:Oo,leadingWidth:0},t)),(0,n.jsx)(fe,{rect:Fo(`right`),headerHeight:H,baseOffset:Oo,leadingWidth:0}),(0,n.jsx)(He,{rect:Io(`right`),headerHeight:H,baseOffset:Oo,leadingWidth:0,initialValue:qt,editor:uc?.editor,editorSession:fc,themeClassName:Lo,onCommit:Ws,onCancel:Gs,align:uc?.align,enterMove:Se}),(0,n.jsx)(Vo,{pane:`right`,ownsRowHeader:!1,leadingWidth:0,rowModel:Z,virtualRows:mo,virtualRowIndexes:ho,renderEntries:Mo,rowHeight:Pt,autoHeight:Wa,showCellOverflowTooltip:Ue,showValidationMarks:We,isServerSide:G,collapsedGroupKeys:K.collapsedGroupKeys,onGroupToggle:Zi,rowHeaderCellStyle:Ll,hoveredRowIndex:Zt,isWholeGridSelected:Ms,enableRowSelection:Ee,rowSelectionState:Ho,activeCell:K.activeCell,editingCell:K.editingCell,selectionSnapshot:Hn,readOnly:_e,canEditCell:va,onRowHeaderPointerDown:ps,onRowHeaderPointerEnter:ms,onRowHeaderPointerLeave:bc,onCellPointerDown:ss,onCellPointerEnter:ls,onCellDoubleClick:cs,renderCellContent:Fl,getRowClassName:yt,bodyCellClassName:z?.bodyCell,bodyRowClassName:z?.bodyRow,rowHeaderCellClassName:z?.rowHeaderCell}),(0,n.jsx)(Wo,{entries:go,mode:`band`,paneWidth:Lr,baseOffset:Oo,cardStickyLeft:0,cardWidth:0,renderCard:vo})]})]}),(0,n.jsx)(`div`,{ref:Yc,className:`ssg-col-drop-indicator`,style:Qc})]})]}),Rl&&(0,n.jsx)(`div`,{className:`ssg-empty-state`,children:B.length===0?rt:nt})]}),Da!==null&&(0,n.jsx)(Rs,{options:Da,scrollContainerRef:Ut,scrollTop:Aa,viewportHeight:Na,headerHeight:H,physicalBodyHeight:Co,verticalScaleFactor:To,rowMetrics:uo,rowModel:Z}),Sa&&(0,n.jsx)(`div`,{className:`ssg-autosize-overlay`,children:(0,n.jsx)(`span`,{className:`ssg-autosize-pill`,children:`列幅を計算中…`})}),Ii===`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(Bi*100),`%`]})]})}),G&&(fa.loadError!==null&&fa.loadError!==pa||fa.writeError!==null&&fa.writeError!==ha)&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bars`,children:[fa.loadError!==null&&fa.loadError!==pa&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bar`,role:`alert`,children:[(0,n.jsx)(`span`,{className:`ssg-ssrm-error-bar-dot`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`ssg-ssrm-error-bar-msg`,children:[`行の取得に失敗しました(`,fa.loadError.failedBlockCount,` ブロック)`]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-retry`,onClick:fa.retryFailedBlocks,children:`再試行`}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-close`,"aria-label":`エラー通知を閉じる`,onClick:()=>ma(fa.loadError),children:`×`})]}),fa.writeError!==null&&fa.writeError!==ha&&(0,n.jsxs)(`div`,{className:`ssg-ssrm-error-bar`,role:`alert`,children:[(0,n.jsx)(`span`,{className:`ssg-ssrm-error-bar-dot`,"aria-hidden":`true`}),(0,n.jsxs)(`span`,{className:`ssg-ssrm-error-bar-msg`,children:[`変更の保存に失敗しました(`,fa.writeError.failedRowCount,` 行)。値を元に戻しました`]}),(0,n.jsx)(`button`,{type:`button`,className:`ssg-ssrm-error-bar-close`,"aria-label":`保存エラー通知を閉じる`,onClick:()=>ga(fa.writeError),children:`×`})]})]})]}),$l,Ul,Wl,ql,Jl]})}function dc(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=uc,exports.numberFormatter=dc;
|