allyhub 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/cli-version.js +2 -0
  2. package/dist/commands/add.js +5 -5
  3. package/dist/commands/dev.js +2 -2
  4. package/dist/commands/mcp.js +1 -1
  5. package/dist/commands/model.js +1 -1
  6. package/dist/commands/render.js +1 -1
  7. package/dist/commands/skills.js +3 -3
  8. package/dist/main.js +7 -7
  9. package/dist/works.js +1 -1
  10. package/editor-app/view.html +3 -3
  11. package/editor-web/assets/chevron-left-W6sP7nB1.js +1 -0
  12. package/editor-web/assets/{chevron-up-BMNXDEBs.js → chevron-up-566GQpAm.js} +1 -1
  13. package/editor-web/assets/{dist-B4VKfY-H.js → dist-BKDr73BR.js} +4 -4
  14. package/editor-web/assets/dist-CPCNTYVu.js +8 -0
  15. package/editor-web/assets/{dist-Coblfc3T.js → dist-C_NajYp0.js} +1 -1
  16. package/editor-web/assets/{dist-BcInw4os.js → dist-mA6NrAKh.js} +34 -34
  17. package/editor-web/assets/{floating-ui.react-dom-DSyn5TRd.js → floating-ui.react-dom-BUxFRF6t.js} +1 -1
  18. package/editor-web/assets/index-CFZhjTQW.js +56 -0
  19. package/editor-web/assets/index-DgU-lyX6.css +2 -0
  20. package/editor-web/assets/{react-Bo429Bov.js → react-Ff_buMj8.js} +1 -1
  21. package/editor-web/assets/{undo-2-CWgOKQ3L.js → undo-2-BKFItM3X.js} +1 -1
  22. package/editor-web/index.html +4 -4
  23. package/node_modules/@allyhub-next/audio/package.json +1 -1
  24. package/node_modules/@allyhub-next/browser/package.json +1 -1
  25. package/node_modules/@allyhub-next/build/dist/scan.js +1 -1
  26. package/node_modules/@allyhub-next/build/package.json +1 -1
  27. package/node_modules/@allyhub-next/check/dist/check.js +3 -3
  28. package/node_modules/@allyhub-next/check/package.json +1 -1
  29. package/node_modules/@allyhub-next/cloud/dist/index.js +1 -1
  30. package/node_modules/@allyhub-next/cloud/dist/token.js +1 -1
  31. package/node_modules/@allyhub-next/cloud/package.json +1 -1
  32. package/node_modules/@allyhub-next/components/package.json +1 -1
  33. package/node_modules/@allyhub-next/dev-server/dist/live.js +1 -1
  34. package/node_modules/@allyhub-next/dev-server/dist/tools.js +1 -1
  35. package/node_modules/@allyhub-next/dev-server/package.json +1 -1
  36. package/node_modules/@allyhub-next/doc/package.json +1 -1
  37. package/node_modules/@allyhub-next/export/dist/export.d.ts +5 -2
  38. package/node_modules/@allyhub-next/export/dist/export.js +2 -2
  39. package/node_modules/@allyhub-next/export/package.json +1 -1
  40. package/node_modules/@allyhub-next/formats/dist/items.d.ts +5 -0
  41. package/node_modules/@allyhub-next/formats/dist/items.js +1 -1
  42. package/node_modules/@allyhub-next/formats/dist/layout.d.ts +2 -0
  43. package/node_modules/@allyhub-next/formats/dist/layout.js +1 -1
  44. package/node_modules/@allyhub-next/formats/package.json +1 -1
  45. package/node_modules/@allyhub-next/measure/package.json +1 -1
  46. package/node_modules/@allyhub-next/media/package.json +1 -1
  47. package/node_modules/@allyhub-next/model/dist/report.d.ts +1 -1
  48. package/node_modules/@allyhub-next/model/package.json +1 -1
  49. package/node_modules/@allyhub-next/project/package.json +1 -1
  50. package/node_modules/@allyhub-next/protocol/dist/app.d.ts +3 -0
  51. package/node_modules/@allyhub-next/protocol/dist/auth.d.ts +17 -0
  52. package/node_modules/@allyhub-next/protocol/dist/auth.js +1 -1
  53. package/node_modules/@allyhub-next/protocol/dist/cli.d.ts +1 -1
  54. package/node_modules/@allyhub-next/protocol/dist/cli.js +1 -1
  55. package/node_modules/@allyhub-next/protocol/dist/editor.d.ts +4 -0
  56. package/node_modules/@allyhub-next/protocol/dist/registry.d.ts +3 -1
  57. package/node_modules/@allyhub-next/protocol/dist/registry.js +1 -1
  58. package/node_modules/@allyhub-next/protocol/dist/routes.js +1 -1
  59. package/node_modules/@allyhub-next/protocol/dist/tools.d.ts +1 -0
  60. package/node_modules/@allyhub-next/protocol/package.json +1 -1
  61. package/node_modules/@allyhub-next/registry/package.json +1 -1
  62. package/node_modules/@allyhub-next/render/package.json +1 -1
  63. package/node_modules/@allyhub-next/runtime/dist/page.js +1 -1
  64. package/node_modules/@allyhub-next/runtime/package.json +1 -1
  65. package/node_modules/@allyhub-next/runtimes/package.json +1 -1
  66. package/node_modules/@allyhub-next/scaffold/dist/index.js +5 -5
  67. package/node_modules/@allyhub-next/scaffold/package.json +1 -1
  68. package/node_modules/@allyhub-next/scenery/package.json +1 -1
  69. package/node_modules/@allyhub-next/scenery-host/dist/bundle.d.ts +1 -0
  70. package/node_modules/@allyhub-next/scenery-host/dist/bundle.js +3 -3
  71. package/node_modules/@allyhub-next/scenery-host/dist/model-stage.d.ts +32 -0
  72. package/node_modules/@allyhub-next/scenery-host/dist/model-stage.js +3 -0
  73. package/node_modules/@allyhub-next/scenery-host/package.json +1 -1
  74. package/node_modules/@allyhub-next/sheet/package.json +1 -1
  75. package/node_modules/@allyhub-next/site/package.json +1 -1
  76. package/node_modules/@allyhub-next/stage/package.json +1 -1
  77. package/node_modules/@allyhub-next/video-core/dist/problem.d.ts +4 -0
  78. package/node_modules/@allyhub-next/video-core/dist/problem.js +1 -1
  79. package/node_modules/@allyhub-next/video-core/package.json +1 -1
  80. package/package.json +28 -28
  81. package/editor-web/assets/chevron-left-D1vfOP5S.js +0 -1
  82. package/editor-web/assets/dist-BIEloJVS.js +0 -8
  83. package/editor-web/assets/index-BSFR4plz.css +0 -2
  84. package/editor-web/assets/index-Dc8FX_sp.js +0 -56
@@ -1,4 +1,4 @@
1
- import{C as e,O as t,S as n,_ as r,c as i,d as a,f as o,h as s,j as c,l,n as u,r as d,u as f,x as p}from"./react-Bo429Bov.js";import{P as m}from"./floating-ui.react-dom-DSyn5TRd.js";import{n as h,r as g,t as _}from"./chevron-up-BMNXDEBs.js";import{t as v}from"./chevron-left-D1vfOP5S.js";import{i as y,n as b,r as x,t as S}from"./undo-2-CWgOKQ3L.js";import{$ as C,A as w,B as T,F as E,G as ee,I as te,K as ne,M as D,N as O,O as re,P as ie,U as ae,V as oe,X as k,Y as se,_ as ce,a as le,b as ue,c as de,d as fe,f as pe,g as me,h as he,i as ge,it as _e,j as ve,k as ye,l as be,m as A,n as xe,nt as Se,o as j,ot as Ce,p as we,q as M,r as N,s as P,t as Te,u as Ee,y as De,z as Oe}from"./index-Dc8FX_sp.js";var ke=i(`arrow-down-wide-narrow`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M11 4h10`,key:`1w87gc`}],[`path`,{d:`M11 8h7`,key:`djye34`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}]]),Ae=i(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),je=i(`arrow-left-to-line`,[[`path`,{d:`M3 19V5`,key:`rwsyhb`}],[`path`,{d:`m13 6-6 6 6 6`,key:`1yhaz7`}],[`path`,{d:`M7 12h14`,key:`uoisry`}]]),Me=i(`arrow-right-to-line`,[[`path`,{d:`M17 12H3`,key:`8awo09`}],[`path`,{d:`m11 18 6-6-6-6`,key:`8c2y43`}],[`path`,{d:`M21 5v14`,key:`nzette`}]]),Ne=i(`arrow-up-narrow-wide`,[[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}],[`path`,{d:`M11 16h7`,key:`uosisv`}],[`path`,{d:`M11 20h10`,key:`jvxblo`}]]),Pe=i(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Fe=i(`at-sign`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`,key:`7n84p3`}]]),Ie=i(`calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),Le=i(`circle-chevron-down`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 10-4 4-4-4`,key:`894hmk`}]]),Re=i(`clipboard-paste`,[[`path`,{d:`M11 14h10`,key:`1w8e9d`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`,key:`1e62lh`}],[`path`,{d:`m17 18 4-4-4-4`,key:`z2g111`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`,key:`bjbb7m`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,key:`ublpy`}]]),ze=i(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),Be=i(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]),Ve=i(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),F=i(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),He=i(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Ue=i(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),I=i(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),We=i(`image-off`,[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`,key:`1bzlo9`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`,key:`1q0aeu`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`,key:`5mozeu`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`,key:`mmje98`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`,key:`43el77`}]]),L=i(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),Ge=i(`link`,[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]),Ke=i(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),R=i(`paintbrush`,[[`path`,{d:`m14.622 17.897-10.68-2.913`,key:`vj2p1u`}],[`path`,{d:`M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z`,key:`18tc5c`}],[`path`,{d:`M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15`,key:`ytzfxy`}]]),qe=i(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Je=i(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Ye=i(`phone`,[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`,key:`9njp5v`}]]),Xe=i(`replace`,[[`path`,{d:`M14 4a1 1 0 0 1 1-1`,key:`dhj8ez`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`,key:`1mnyi5`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`,key:`sfs9ap`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`,key:`mp6qeo`}],[`path`,{d:`m3 7 3 3 3-3`,key:`x25e72`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`,key:`15xut4`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}]]),Ze=i(`scissors`,[[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M8.12 8.12 12 12`,key:`1alkpv`}],[`path`,{d:`M20 4 8.12 15.88`,key:`xgtan2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M14.8 14.8 20 20`,key:`ptml3r`}]]),Qe=i(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),z=i(`square-check`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),$e=i(`type`,[[`path`,{d:`M12 4v16`,key:`1654pz`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`,key:`e0r10z`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]),et=i(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),B=c(t(),1),V=l(),H=Object.defineProperty,U=(e,t)=>H(e,`name`,{value:t,configurable:!0}),tt=`Popover`,[nt,rt]=ee(tt,[ue]),it=ue(),[at,ot]=nt(tt),st=U(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=it(t),c=B.useRef(null),[l,u]=B.useState(!1),[d,f]=B.useState(0),[p,m]=B.useState(0),[h,g]=oe({prop:r,defaultProp:i??!1,onChange:a,caller:tt});return(0,V.jsx)(me,{...s,children:(0,V.jsx)(at,{scope:t,contentId:Oe(),titleId:Oe(),descriptionId:Oe(),titlePresent:d>0,descriptionPresent:p>0,setTitleCount:f,setDescriptionCount:m,triggerRef:c,open:h,onOpenChange:g,onOpenToggle:B.useCallback(()=>g(e=>!e),[g]),hasCustomAnchor:l,onCustomAnchorAdd:B.useCallback(()=>u(!0),[]),onCustomAnchorRemove:B.useCallback(()=>u(!1),[]),modal:o,children:n})})},`Popover`),ct=`PopoverTrigger`,lt=B.forwardRef(U(function(e,t){let{__scopePopover:n,...r}=e,i=ot(ct,n),a=it(n),o=se(t,i.triggerRef),s=(0,V.jsx)(ne.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":bt(i.open),...r,ref:o,onClick:ae(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,V.jsx)(ce,{asChild:!0,...a,children:s})},`PopoverTrigger`)),ut=`PopoverPortal`,[dt,ft]=nt(ut,{forceMount:void 0}),pt=U(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=ot(ut,t);return(0,V.jsx)(dt,{scope:t,forceMount:n,children:(0,V.jsx)(T,{present:n||a.open,children:(0,V.jsx)(ve,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),mt=`PopoverContent`,ht=B.forwardRef(U(function(e,t){let n=ft(mt,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=ot(mt,e.__scopePopover);return(0,V.jsx)(T,{present:r||a.open,children:a.modal?(0,V.jsx)(_t,{...i,ref:t}):(0,V.jsx)(vt,{...i,ref:t})})},`PopoverContent`)),gt=M(`PopoverContent.RemoveScroll`),_t=B.forwardRef(U(function(e,t){let n=ot(mt,e.__scopePopover),r=B.useRef(null),i=se(t,r),a=B.useRef(!1),{nodes:o,registry:s}=E();return B.useEffect(()=>{let e=r.current;if(e)return re(e)},[]),(0,V.jsx)(ye,{as:gt,allowPinchZoom:!0,shards:B.useMemo(()=>[r,...o.map(e=>({current:e}))],[r,o]),children:(0,V.jsx)(yt,{...e,ref:i,branchNodes:o,branchRegistry:s,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ae(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:ae(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;a.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:ae(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),vt=B.forwardRef(U(function(e,t){let n=ot(mt,e.__scopePopover),r=B.useRef(!1),i=B.useRef(!1);return(0,V.jsx)(yt,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),yt=B.forwardRef(U(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,"aria-describedby":d,branchNodes:f,branchRegistry:p,...m}=e,h=ot(mt,n),g=it(n),[_,v]=B.useState(null),y=se(t,v);return ie(_),w(),(0,V.jsx)(O,{registry:p,children:(0,V.jsx)(D,{asChild:!0,loop:!0,trapped:r,branches:f,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,V.jsx)(te,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>h.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,V.jsx)(De,{"data-state":bt(h.open),role:`dialog`,id:h.contentId,"aria-labelledby":h.titlePresent?h.titleId:void 0,"aria-describedby":h.descriptionPresent?xt(d,h.descriptionId):d,...g,...m,ref:y,style:{...m.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})})},`PopoverContentImpl`));function bt(e){return e?`open`:`closed`}U(bt,`getState`);function xt(...e){let t=new Set;for(let n of e)if(typeof n==`string`)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(` `):void 0}U(xt,`concatAriaDescribedby`);function St(e,t=`,`){let n=e.startsWith(``),r=[],i=[],a=0,o=0,s=+!!n,c=1,l=e.length;for(;s<l;){let n=s,u=c,d=[],f=``,p=!1,m=!1,h=!1;for(;s<l;){let i=e.charAt(s);if(p){if(i===`"`){if(e.charAt(s+1)===`"`){f+=`"`,s+=2;continue}p=!1,s+=1;continue}i===`
1
+ import{C as e,O as t,S as n,_ as r,c as i,d as a,f as o,h as s,j as c,l,n as u,r as d,u as f,x as p}from"./react-Ff_buMj8.js";import{P as m}from"./floating-ui.react-dom-BUxFRF6t.js";import{n as h,r as g,t as _}from"./chevron-up-566GQpAm.js";import{t as v}from"./chevron-left-W6sP7nB1.js";import{i as y,n as b,r as x,t as S}from"./undo-2-BKFItM3X.js";import{$ as C,A as w,B as T,F as E,G as ee,I as te,K as ne,M as D,N as O,O as re,P as ie,U as ae,V as oe,X as k,Y as se,_ as ce,a as le,b as ue,c as de,d as fe,f as pe,g as me,h as he,i as ge,it as _e,j as ve,k as ye,l as be,m as A,n as xe,nt as Se,o as j,p as Ce,q as we,r as M,s as N,st as P,t as Te,u as Ee,y as De,z as Oe}from"./index-CFZhjTQW.js";var ke=i(`arrow-down-wide-narrow`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M11 4h10`,key:`1w87gc`}],[`path`,{d:`M11 8h7`,key:`djye34`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}]]),Ae=i(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),je=i(`arrow-left-to-line`,[[`path`,{d:`M3 19V5`,key:`rwsyhb`}],[`path`,{d:`m13 6-6 6 6 6`,key:`1yhaz7`}],[`path`,{d:`M7 12h14`,key:`uoisry`}]]),Me=i(`arrow-right-to-line`,[[`path`,{d:`M17 12H3`,key:`8awo09`}],[`path`,{d:`m11 18 6-6-6-6`,key:`8c2y43`}],[`path`,{d:`M21 5v14`,key:`nzette`}]]),Ne=i(`arrow-up-narrow-wide`,[[`path`,{d:`m3 8 4-4 4 4`,key:`11wl7u`}],[`path`,{d:`M7 4v16`,key:`1glfcx`}],[`path`,{d:`M11 12h4`,key:`q8tih4`}],[`path`,{d:`M11 16h7`,key:`uosisv`}],[`path`,{d:`M11 20h10`,key:`jvxblo`}]]),Pe=i(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Fe=i(`at-sign`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8`,key:`7n84p3`}]]),Ie=i(`calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),Le=i(`circle-chevron-down`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 10-4 4-4-4`,key:`894hmk`}]]),Re=i(`clipboard-paste`,[[`path`,{d:`M11 14h10`,key:`1w8e9d`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`,key:`1e62lh`}],[`path`,{d:`m17 18 4-4-4-4`,key:`z2g111`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`,key:`bjbb7m`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,key:`ublpy`}]]),ze=i(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]),Be=i(`eraser`,[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`,key:`g5wo59`}],[`path`,{d:`m5.082 11.09 8.828 8.828`,key:`1wx5vj`}]]),Ve=i(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),F=i(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),He=i(`funnel`,[[`path`,{d:`M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z`,key:`sc7q7i`}]]),Ue=i(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),I=i(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),We=i(`image-off`,[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`,key:`1bzlo9`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`,key:`1q0aeu`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`,key:`5mozeu`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`,key:`mmje98`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`,key:`43el77`}]]),L=i(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),Ge=i(`link`,[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]),Ke=i(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),R=i(`paintbrush`,[[`path`,{d:`m14.622 17.897-10.68-2.913`,key:`vj2p1u`}],[`path`,{d:`M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z`,key:`18tc5c`}],[`path`,{d:`M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15`,key:`ytzfxy`}]]),qe=i(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Je=i(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Ye=i(`phone`,[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`,key:`9njp5v`}]]),Xe=i(`replace`,[[`path`,{d:`M14 4a1 1 0 0 1 1-1`,key:`dhj8ez`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`,key:`1mnyi5`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`,key:`sfs9ap`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`,key:`mp6qeo`}],[`path`,{d:`m3 7 3 3 3-3`,key:`x25e72`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`,key:`15xut4`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}]]),Ze=i(`scissors`,[[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M8.12 8.12 12 12`,key:`1alkpv`}],[`path`,{d:`M20 4 8.12 15.88`,key:`xgtan2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M14.8 14.8 20 20`,key:`ptml3r`}]]),Qe=i(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),z=i(`square-check`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),$e=i(`type`,[[`path`,{d:`M12 4v16`,key:`1654pz`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`,key:`e0r10z`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]),et=i(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),B=c(t(),1),V=l(),H=Object.defineProperty,U=(e,t)=>H(e,`name`,{value:t,configurable:!0}),tt=`Popover`,[nt,rt]=ee(tt,[ue]),it=ue(),[at,ot]=nt(tt),st=U(e=>{let{__scopePopover:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!1}=e,s=it(t),c=B.useRef(null),[l,u]=B.useState(!1),[d,f]=B.useState(0),[p,m]=B.useState(0),[h,g]=oe({prop:r,defaultProp:i??!1,onChange:a,caller:tt});return(0,V.jsx)(me,{...s,children:(0,V.jsx)(at,{scope:t,contentId:Oe(),titleId:Oe(),descriptionId:Oe(),titlePresent:d>0,descriptionPresent:p>0,setTitleCount:f,setDescriptionCount:m,triggerRef:c,open:h,onOpenChange:g,onOpenToggle:B.useCallback(()=>g(e=>!e),[g]),hasCustomAnchor:l,onCustomAnchorAdd:B.useCallback(()=>u(!0),[]),onCustomAnchorRemove:B.useCallback(()=>u(!1),[]),modal:o,children:n})})},`Popover`),ct=`PopoverTrigger`,lt=B.forwardRef(U(function(e,t){let{__scopePopover:n,...r}=e,i=ot(ct,n),a=it(n),o=se(t,i.triggerRef),s=(0,V.jsx)(ne.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":bt(i.open),...r,ref:o,onClick:ae(e.onClick,i.onOpenToggle)});return i.hasCustomAnchor?s:(0,V.jsx)(ce,{asChild:!0,...a,children:s})},`PopoverTrigger`)),ut=`PopoverPortal`,[dt,ft]=nt(ut,{forceMount:void 0}),pt=U(e=>{let{__scopePopover:t,forceMount:n,children:r,container:i}=e,a=ot(ut,t);return(0,V.jsx)(dt,{scope:t,forceMount:n,children:(0,V.jsx)(T,{present:n||a.open,children:(0,V.jsx)(ve,{asChild:!0,container:i,children:r})})})},`PopoverPortal`),mt=`PopoverContent`,ht=B.forwardRef(U(function(e,t){let n=ft(mt,e.__scopePopover),{forceMount:r=n.forceMount,...i}=e,a=ot(mt,e.__scopePopover);return(0,V.jsx)(T,{present:r||a.open,children:a.modal?(0,V.jsx)(_t,{...i,ref:t}):(0,V.jsx)(vt,{...i,ref:t})})},`PopoverContent`)),gt=we(`PopoverContent.RemoveScroll`),_t=B.forwardRef(U(function(e,t){let n=ot(mt,e.__scopePopover),r=B.useRef(null),i=se(t,r),a=B.useRef(!1),{nodes:o,registry:s}=E();return B.useEffect(()=>{let e=r.current;if(e)return re(e)},[]),(0,V.jsx)(ye,{as:gt,allowPinchZoom:!0,shards:B.useMemo(()=>[r,...o.map(e=>({current:e}))],[r,o]),children:(0,V.jsx)(yt,{...e,ref:i,branchNodes:o,branchRegistry:s,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:ae(e.onCloseAutoFocus,e=>{e.preventDefault(),a.current||n.triggerRef.current?.focus()}),onPointerDownOutside:ae(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0,r=t.button===2||n;a.current=r},{checkForDefaultPrevented:!1}),onFocusOutside:ae(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1})})})},`PopoverContentModal`)),vt=B.forwardRef(U(function(e,t){let n=ot(mt,e.__scopePopover),r=B.useRef(!1),i=B.useRef(!1);return(0,V.jsx)(yt,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`PopoverContentNonModal`)),yt=B.forwardRef(U(function(e,t){let{__scopePopover:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,disableOutsidePointerEvents:o,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onInteractOutside:u,"aria-describedby":d,branchNodes:f,branchRegistry:p,...m}=e,h=ot(mt,n),g=it(n),[_,v]=B.useState(null),y=se(t,v);return ie(_),w(),(0,V.jsx)(O,{registry:p,children:(0,V.jsx)(D,{asChild:!0,loop:!0,trapped:r,branches:f,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,V.jsx)(te,{asChild:!0,disableOutsidePointerEvents:o,onInteractOutside:u,onEscapeKeyDown:s,onPointerDownOutside:c,onFocusOutside:l,onDismiss:()=>h.onOpenChange(!1),deferPointerDownOutside:!0,children:(0,V.jsx)(De,{"data-state":bt(h.open),role:`dialog`,id:h.contentId,"aria-labelledby":h.titlePresent?h.titleId:void 0,"aria-describedby":h.descriptionPresent?xt(d,h.descriptionId):d,...g,...m,ref:y,style:{...m.style,"--radix-popover-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-popover-content-available-width":`var(--radix-popper-available-width)`,"--radix-popover-content-available-height":`var(--radix-popper-available-height)`,"--radix-popover-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-popover-trigger-height":`var(--radix-popper-anchor-height)`}})})})})},`PopoverContentImpl`));function bt(e){return e?`open`:`closed`}U(bt,`getState`);function xt(...e){let t=new Set;for(let n of e)if(typeof n==`string`)for(let e of String(n).trim().split(/\s+/))e&&t.add(e);return t.size>0?Array.from(t).join(` `):void 0}U(xt,`concatAriaDescribedby`);function St(e,t=`,`){let n=e.startsWith(``),r=[],i=[],a=0,o=0,s=+!!n,c=1,l=e.length;for(;s<l;){let n=s,u=c,d=[],f=``,p=!1,m=!1,h=!1;for(;s<l;){let i=e.charAt(s);if(p){if(i===`"`){if(e.charAt(s+1)===`"`){f+=`"`,s+=2;continue}p=!1,s+=1;continue}i===`
2
2
  `&&(c+=1),f+=i,s+=1}else if(i===`"`&&f===``&&!m)p=!0,m=!0,s+=1;else if(i===t)d.push(f),f=``,m=!1,s+=1;else{if(i===`\r`||i===`
3
3
  `){let t=s;i===`\r`&&e.charAt(s+1)===`
4
4
  `?(a+=1,s+=2):(i===`
@@ -126,11 +126,11 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\
126
126
  `}${` `.repeat(f)}${e}\n`;else{let t=i.charAt(a-1)===`
127
127
  `?a:oo(i,a),n=t>0&&i.charAt(t-1)!==`
128
128
  `?`
129
- `:``;p=`${i.slice(0,t)}${n}${` `.repeat(f)}${e}\n${i.slice(t)}`}}let m=so(e,t,n,r);return ga(p).errors.length>0||co(p)!==co(m)?m:p}function uo(e){return e.decimals===void 0&&e.currency===void 0&&e.thousands?e.style:{...e.style===`plain`?{}:{style:e.style},...e.currency===void 0?{}:{currency:e.currency},...e.decimals===void 0?{}:{decimals:e.decimals},...e.thousands?{}:{thousands:!1}}}function fo(e){let t={type:e.type,...e.options===void 0||e.type!==`select`&&e.type!==`multi-select`?{}:{options:e.options.map(e=>e.color===void 0?e.name:{name:e.name,color:e.color})},...e.separator===void 0||e.type!==`multi-select`&&e.type!==`file`?{}:{separator:e.separator},...e.type===`number`&&e.number?{format:uo(e.number)}:{},...e.type===`date`&&e.date?{format:e.date.time?e.date.style:{style:e.date.style,time:!1}}:{},...e.width===void 0?{}:{width:e.width},...e.height===void 0||e.type!==`file`?{}:{height:e.height},...e.wrap===void 0?{}:{wrap:e.wrap}};return Object.keys(t).length===1?e.type:t}function po(e,t,n){let r=lo(e,[`columns`,t],n===void 0?void 0:fo(n)),i=ga(r),a=i.errors.length===0?i.getIn([`columns`],!0):void 0;return n===void 0&&G(a)&&a.items.length===0&&(r=lo(r,[`columns`],void 0)),r}function mo(e,t,n){let r=e??``,i=ga(r),a=r,o=i.errors.length===0?i.getIn([`columns`],!0):void 0;if(G(o)){let e=o.items.find(e=>to(e)===t)?.key?.range;e&&(a=r.slice(0,e[0])+ro(n)+r.slice(e[1]))}return ga(a).get(`key`)===t&&(a=lo(a,[`key`],n)),ga(a).get(`primary`)===t&&(a=lo(a,[`primary`],n)),a}function ho(e,t,n){return lo(e,[t],n===void 0||n===``?void 0:n)}var go=e=>e.trim().toLocaleLowerCase(),_o=e=>typeof e==`string`?Pa(e)?.ms:void 0,vo=e=>Math.floor(e/864e5)*864e5;function yo(e,t,n){let{op:r}=t,i=t.value;if(r===`empty`)return Ma(n);if(r===`not-empty`)return!Ma(n);switch(e.type){case`number`:{let e=Na(n);if(e===void 0)return r===`!=`;if(r===`between`){if(!Array.isArray(i)||i.length!==2)return!1;let t=Number(i[0]),n=Number(i[1]);return e>=Math.min(t,n)&&e<=Math.max(t,n)}let t=Number(i);if(!Number.isFinite(t))return!1;switch(r){case`=`:return e===t;case`!=`:return e!==t;case`<`:return e<t;case`<=`:return e<=t;case`>`:return e>t;case`>=`:return e>=t;default:return!1}}case`date`:{let e=Pa(n);if(!e)return!1;let t=vo(e.ms);if(r===`between`){if(!Array.isArray(i)||i.length!==2)return!1;let e=_o(i[0]),n=_o(i[1]);return e===void 0||n===void 0?!1:t>=vo(Math.min(e,n))&&t<=vo(Math.max(e,n))}let a=_o(i);if(a===void 0)return!1;let o=vo(a);switch(r){case`on`:return t===o;case`before`:return t<o;case`after`:return t>o;case`on-or-before`:return t<=o;case`on-or-after`:return t>=o;default:return!1}}case`checkbox`:return(Fa(n)??!1)===(typeof i==`boolean`?i:Fa(String(i))??!0);case`select`:{let e=n.trim();return r===`in`||r===`not-in`?(Array.isArray(i)?i.map(String):[String(i)]).includes(e)===(r===`in`):r===`is`?e===String(i):r===`is-not`&&e!==String(i)}case`multi-select`:{let t=new Set(Ia(n,e.separator)),a=Array.isArray(i)?i.map(String):[String(i)];switch(r){case`has`:return a.every(e=>t.has(e));case`has-any`:return a.some(e=>t.has(e));case`has-all`:return a.every(e=>t.has(e));case`has-none`:return!a.some(e=>t.has(e));default:return!1}}default:{let e=go(n),t=go(String(i??``));switch(r){case`is`:return e===t;case`is-not`:return e!==t;case`contains`:return e.includes(t);case`not-contains`:return!e.includes(t);case`starts-with`:return e.startsWith(t);case`ends-with`:return e.endsWith(t);default:return!1}}}}function bo(e){if(e.op===`empty`||e.op===`not-empty`)return!1;let t=e.value;return t===void 0||t===``?!0:Array.isArray(t)?t.length===0||t.every(e=>e===``):!1}function xo(e,t,n,r){if(Ot(n))return`all`in n?n.all.every(n=>xo(e,t,n,r)):n.any.length===0||n.any.some(n=>xo(e,t,n,r));if(bo(n))return!0;let i=e.columns.indexOf(n.column);return i<0?!1:yo(W(t,n.column),n,r[i]??``)}function So(e,t,n){let r=n.filter;return Co(e,t,e.rows.map((e,t)=>t).filter(n=>r===void 0||xo(e,t,r,e.rows[n]??[])),n.sort??[])}function Co(e,t,n,r){let i=r.map(t=>({at:e.columns.indexOf(t.column),k:t})).filter(e=>e.at>=0).map(({at:r,k:i})=>{let a=Ja(W(t,i.column)),o=[];for(let t of n)o[t]=a(e.rows[t]?.[r]??``);return{values:o,cmp:Ya(i.desc===!0)}});if(i.length===0)return[...n];let a=[3,0];return[...n].sort((e,t)=>{for(let{values:n,cmp:r}of i){let i=r(n[e]??a,n[t]??a);if(i!==0)return i}return e-t})}function wo(e,t){return t.columns?t.columns.filter(t=>e.columns.includes(t)):[...e.columns]}function To(e,t){if(t.primary!==void 0&&e.includes(t.primary))return t.primary;let n=e.filter(e=>e!==t.key);return n.find(e=>W(t,e).type===`text`)??n[0]??e[0]}var Eo=e=>`sheet.look:${e}`;function Do(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Oo(e){let t={};return e.columns&&(t.columns=e.columns),e.widths&&Object.keys(e.widths).length>0&&(t.widths=e.widths),e.freeze&&(t.freeze=e.freeze),e.wrap?.length&&(t.wrap=e.wrap),e.sort?.length&&(t.sort=e.sort),e.filter&&(t.filter=e.filter),t}var ko=(e,t)=>JSON.stringify(Oo(e))===JSON.stringify(Oo(t));function Ao(e,t,n){let r=e=>Ot(e)?Ao(e,t,n):e.column===t?{...e,column:n}:e;return`all`in e?{all:e.all.map(r)}:{any:e.any.map(r)}}function jo(e,t,n){if(!JSON.stringify(e).includes(JSON.stringify(t)))return e;let r=e=>e===t?n:e,i={...e};return e.columns&&(i.columns=e.columns.map(r)),e.widths&&(i.widths=Object.fromEntries(Object.entries(e.widths).map(([e,t])=>[r(e),t]))),e.wrap&&(i.wrap=e.wrap.map(r)),e.sort&&(i.sort=e.sort.map(e=>({...e,column:r(e.column)}))),e.filter&&(i.filter=Ao(e.filter,t,n)),i}function Mo(e){let t=(`all`in e?e.all:e.any).flatMap(e=>{if(Ot(e)){let t=Mo(e);return t?[t]:[]}return bo(e)?[]:[e]});if(t.length!==0)return`all`in e?{all:t}:{any:t}}function No(e){if(!e.filter)return e;let t=Mo(e.filter),n=Po(e);return t?{...n,filter:t}:n}function Po(e){let t={...e};return delete t.filter,t}var Fo=e=>new Date(Math.floor(e/864e5)*864e5).toISOString().slice(0,10);function Io(e,t,n,r){if(Ma(n))return[{key:`∅`,label:``,condition:{column:e,op:`empty`}}];let i=n.trim();switch(t.type){case`number`:{let n=Na(i);return n===void 0?[]:[{key:`n:${String(n)}`,label:Ga(t,i,r),condition:{column:e,op:`=`,value:n}}]}case`date`:{let n=Pa(i);if(!n)return[];let a=Fo(n.ms);return[{key:`d:${a}`,label:Ga({...t,date:{style:t.date?.style??`short`,time:!1}},a,r),condition:{column:e,op:`on`,value:a}}]}case`checkbox`:{let t=Fa(i)??!1;return[{key:`b:${String(t)}`,label:String(t),condition:{column:e,op:`is`,value:t}}]}case`multi-select`:return Ia(i,t.separator).map(t=>({key:`m:${t}`,label:t,condition:{column:e,op:`has-any`,value:[t]}}));case`select`:return[{key:`s:${i}`,label:i,condition:{column:e,op:`is`,value:i}}];case`file`:return[{key:`f:any`,label:``,condition:{column:e,op:`not-empty`}}];default:return[{key:`t:${i.toLocaleLowerCase()}`,label:i,condition:{column:e,op:`is`,value:i}}]}}function Lo(e,t){let n=t.value;if(t.op===`empty`)return`∅`;if(t.op===`not-empty`&&e.type===`file`)return`f:any`;switch(e.type){case`number`:return t.op===`=`&&typeof n==`number`?`n:${String(n)}`:void 0;case`date`:return t.op===`on`&&typeof n==`string`?`d:${n}`:void 0;case`checkbox`:return t.op===`is`&&typeof n==`boolean`?`b:${String(n)}`:void 0;case`multi-select`:return t.op===`has-any`&&Array.isArray(n)&&n.length===1?`m:${String(n[0])}`:void 0;case`select`:return t.op===`is`&&typeof n==`string`?`s:${n}`:void 0;case`file`:return;default:return t.op===`is`&&typeof n==`string`?`t:${n.trim().toLocaleLowerCase()}`:void 0}}function Ro(e,t,n,r){let i=new Map;for(let a of n)for(let n of Io(e,t,a,r)){let e=i.get(n.key);e?e.count++:i.set(n.key,{...n,count:1,raw:a.trim()})}let a=qa(t.type===`multi-select`?{type:`text`}:t);return[...i.values()].sort((e,n)=>e.key===`∅`?1:n.key===`∅`?-1:t.type===`multi-select`?e.label.localeCompare(n.label,r):a(e.raw,n.raw)).map(e=>{let t={...e};return delete t.raw,t})}var zo=e=>e===void 0?[]:`all`in e?e.all:[e];function Bo(e,t,n){if(!Ot(e)||!(`any`in e)||e.any.length===0)return;let r=new Set;for(let i of e.any){if(Ot(i)||i.column!==t)return;let e=Lo(n,i);if(e===void 0)return;r.add(e)}return r}function Vo(e,t,n){for(let r of zo(e.filter)){let e=Bo(r,t,n);if(e)return e}}function Ho(e,t,n,r){let i=zo(e.filter).filter(e=>Bo(e,t,n)===void 0),a=r===void 0?i:[...i,{any:r.map(e=>e.condition)}],o=Po(e);return a.length===0?o:{...o,filter:{all:a}}}function Uo(e){let t=new Set,n=e=>{Ot(e)?(`all`in e?e.all:e.any).forEach(n):t.add(e.column)};return zo(e.filter).forEach(n),t}var Wo=[`text`,`number`,`currency`,`percent`,`date`,`checkbox`,`list`,`file`];function Go(e){switch(e.type){case`text`:return`text`;case`number`:{let t=e.number?.style??`plain`;return t===`plain`?`number`:t}case`date`:return`date`;case`checkbox`:return`checkbox`;case`select`:return`list`;case`file`:return`file`;default:return}}function Ko(e,t,n){let r={type:t===`currency`||t===`percent`?`number`:t===`list`?`select`:t};if(t===`number`||t===`currency`||t===`percent`){let n=e.type===`number`?e.number:void 0,i=t===`number`?`plain`:t;(i!==`plain`||n!==void 0)&&(r.number={...n??{thousands:!0},style:i},i!==`currency`&&Reflect.deleteProperty(r.number,`currency`))}if(t===`date`&&e.date&&(r.date=e.date),t===`list`){let t=[...e.options??[]],i=new Set(t.map(e=>e.name));for(let r of n){let n=e.type===`multi-select`?Ia(r,e.separator):[r.trim()];for(let e of n)if(!(e===``||i.has(e))){if(t.length>=200)break;i.add(e),t.push({name:e})}}r.options=t}return t===`file`&&e.type===`file`&&(e.separator!==void 0&&(r.separator=e.separator),e.height!==void 0&&(r.height=e.height)),e.width!==void 0&&(r.width=e.width),e.wrap!==void 0&&(r.wrap=e.wrap),r}var qo=/\.(png|jpe?g|gif|webp|avif|svg)$/i;function Jo(e,t){return Ia(t,e.separator)}function Yo(e){return e.slice(e.lastIndexOf(`/`)+1)}function Xo(e,t,n){let r=n;for(let n of t){let t=W(e,n);t.type===`file`&&t.height!==void 0&&(r=Math.max(r,t.height+10))}return r}function Zo(e,t){let n=[];for(let r of t)Jo(e,r.value).forEach((e,t)=>{n.push({path:e,row:r.id,title:r.title,at:t})});return n}var Qo=400;function $o(e,t,n,r=`en`,i={}){let a=i.min??88,o=i.max??320,s={},c=e.rows.slice(0,Qo);return e.columns.forEach((e,i)=>{let l=W(t,e),u=n(e)+76+(t.key===e?18:0);for(let e of c){let t=e[i]??``;if(Ma(t))continue;let a;switch(l.type){case`checkbox`:a=40;break;case`select`:a=n(t.trim())+12+18;break;case`multi-select`:a=Ia(t,l.separator).reduce((e,t)=>e+n(t)+12+4,0)+18;break;case`url`:case`email`:case`phone`:a=n(t.trim())+18+18;break;case`file`:a=Ia(t,l.separator).reduce((e,t)=>e+4+(qo.test(t)?Math.round((l.height??24)*1.6):n(t.slice(t.lastIndexOf(`/`)+1))+29),0)+18;break;default:a=n(Ga(l,t,r))+18}if(a>u&&(u=a),u>=o)break}s[e]=Math.round(Math.min(o,Math.max(a,u)))}),s}function es({...e}){return(0,V.jsx)(st,{"data-slot":`popover`,...e})}function ts({...e}){return(0,V.jsx)(lt,{"data-slot":`popover-trigger`,...e})}function ns({className:e,align:t=`center`,sideOffset:n=4,...r}){return(0,V.jsx)(pt,{children:(0,V.jsx)(ht,{"data-slot":`popover-content`,align:t,sideOffset:n,className:k(`z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...r})})}var rs=(e,t=2)=>String(e).padStart(t,`0`),is=(e,t,n)=>`${rs(e,4)}-${rs(t)}-${rs(n)}`;function as(e,t,n=0){let r=(new Date(Date.UTC(e,t-1,1)).getUTCDay()-n+7)%7,i=new Date(Date.UTC(e,t,0)).getUTCDate(),a=[],o=Math.ceil((r+i)/7)*7;for(let n=0;n<o;n++){let i=new Date(Date.UTC(e,t-1,1-r+n)),o={day:is(i.getUTCFullYear(),i.getUTCMonth()+1,i.getUTCDate()),inMonth:i.getUTCMonth()===t-1};n%7==0&&a.push([]),a[a.length-1]?.push(o)}return a}var os=new Set([`zh-cn`,`es`,`fr`,`de`,`it`,`ru`,`tr`,`vi`]);function ss(e){return+!!os.has(o(e))}function cs(e,t){let n=e.year*12+(e.month-1)+t;return{year:Math.floor(n/12),month:n%12+1}}function ls(e,t){let n=e.trim();return/^\d{4}-\d{2}-\d{2}/.test(n)&&Pa(n)!==void 0?`${t}${n.slice(10)}`:t}function us(e=new Date){return is(e.getFullYear(),e.getMonth()+1,e.getDate())}var ds=[`jan`,`feb`,`mar`,`apr`,`may`,`jun`,`jul`,`aug`,`sep`,`oct`,`nov`,`dec`],fs={today:0,tomorrow:1,yesterday:-1,今天:0,明天:1,昨天:-1};function ps(e,t){let n=new Date(Date.parse(`${e}T00:00:00Z`)+t*864e5);return is(n.getUTCFullYear(),n.getUTCMonth()+1,n.getUTCDate())}function ms(e){let t={...fs},n=new Set,r=new Intl.RelativeTimeFormat(e,{numeric:`auto`});for(let e of[-1,0,1]){let i=r.format(e,`day`).toLowerCase();i in t&&t[i]!==e?n.add(i):t[i]=e}for(let e of n)Reflect.deleteProperty(t,e);return t}function hs(e){let t=new Map;ds.forEach((e,n)=>t.set(e,n+1));for(let n of[`long`,`short`]){let r=new Intl.DateTimeFormat(e,{month:n,timeZone:`UTC`});for(let e=0;e<12;e++){let n=r.format(Date.UTC(2026,e,15)).toLowerCase().replace(/\.$/u,``);/^\d+$/u.test(n)||t.set(n,e+1)}}return t}function gs(e){let t=new Intl.DateTimeFormat(e,{timeZone:`UTC`}).formatToParts(Date.UTC(2026,9,14)).map(e=>e.type);return t.indexOf(`day`)<t.indexOf(`month`)}function _s(e,t,n=`en`){let r=e.trim();if(r===``)return;if(Pa(r)!==void 0)return r;let i=/\s+(\d{1,2}):(\d{2})$/.exec(r),a=i?r.slice(0,i.index):r,o=i?`T${(i[1]??``).padStart(2,`0`)}:${i[2]??``}`:``,s=(e,t,n)=>{let r=`${is(e,t,n)}${o}`;return Pa(r)===void 0?void 0:r},c=ms(n)[a.toLowerCase()];if(c!==void 0){let e=ps(t,c);return s(Number(e.slice(0,4)),Number(e.slice(5,7)),Number(e.slice(8,10)))}let l=/^(\d{4})[/.\-年](\d{1,2})[/.\-月](\d{1,2})日?$/.exec(a);if(l||(l=/^(\d{4})\s*년\s*(\d{1,2})\s*월\s*(\d{1,2})\s*일?$/u.exec(a),l))return s(Number(l[1]),Number(l[2]),Number(l[3]));if(l=/^(\d{1,2})[/.-](\d{1,2})[/.-](\d{4})$/.exec(a),l)return gs(n)?s(Number(l[3]),Number(l[2]),Number(l[1])):s(Number(l[3]),Number(l[1]),Number(l[2]));let u=hs(n),d=e=>{let t=(e??``).toLowerCase().replace(/\.$/u,``);return u.get(t)??u.get(t.slice(0,3))??0};if(l=/^(\p{L}+)\.?\s+(\d{1,2}),?\s+(\d{4})$/u.exec(a),l&&d(l[1])>0)return s(Number(l[3]),d(l[1]),Number(l[2]));if(l=/^(\d{1,2})\.?\s+(?:de\s+)?(\p{L}+)\.?,?\s+(?:de\s+)?(\d{4})$/u.exec(a),l&&d(l[2])>0)return s(Number(l[3]),d(l[2]),Number(l[1]))}var vs=8;function ys(e){let t=e.closest(`.sheet-grid`);if(!t)return new DOMRect(0,0,window.innerWidth,window.innerHeight);let n=t.getBoundingClientRect(),r=t.querySelector(`.sheet-footer`),i=r?r.getBoundingClientRect().top:n.bottom;return new DOMRect(n.left,n.top,n.width,i-n.top)}function bs(e,t,n=!0){(0,B.useLayoutEffect)(()=>{let t=e.current;if(!t||!n)return;t.style.transform=``;let r=t.getBoundingClientRect(),i=ys(t),a=0,o=0;if(r.right>i.right-vs&&(a=Math.max(i.left+vs-r.left,i.right-vs-r.right)),r.bottom>i.bottom-vs){let e=(t.closest(`.sheet-cell`)??t.parentElement)?.getBoundingClientRect(),n=e?r.height-e.height:r.height;o=r.top-n>=i.top+vs?-n:Math.max(i.top+vs-r.top,i.bottom-vs-r.bottom)}(a!==0||o!==0)&&(t.style.transform=`translate(${String(a)}px, ${String(o)}px)`)},[e,t,n])}function xs(){let e=t=>{window.removeEventListener(`pointerup`,e,!0),t.button===2&&(t.preventDefault(),t.stopPropagation())};window.addEventListener(`pointerup`,e,!0)}var Ss=e=>/^\d{4}-\d{2}-\d{2}[T ](\d{2}:\d{2})/.exec(e.trim())?.[1];function Cs(e,t){let n=e.trim(),r=n.slice(0,10),i=/(Z|[+-]\d{2}:?\d{2})$/.exec(n)?.[1]??``;return t===void 0?r:`${r}T${t}${i}`}function ws({value:e,initial:t,strings:n,onCommit:r,onCancel:i,inline:a,locale:o}){let s=us(),[c,l]=(0,B.useState)(t??e),[u,d]=(0,B.useState)(!1),f=_s(c,s,o),p=f?.slice(0,10),[m,h]=(0,B.useState)(()=>{let e=p??s;return{year:Number(e.slice(0,4)),month:Number(e.slice(5,7))}}),g=(0,B.useRef)(null),_=(0,B.useRef)(null);bs(g,u,!a),(0,B.useLayoutEffect)(()=>{let e=_.current;e&&(e.focus(),e.setSelectionRange(e.value.length,e.value.length))},[]);let y=ss(o),b=as(m.year,m.month,y),x=(0,B.useMemo)(()=>{let e=new Intl.DateTimeFormat(o??`en`,{weekday:`narrow`,timeZone:`UTC`});return(b[0]??[]).map(t=>e.format(Date.parse(`${t.day}T00:00:00Z`)))},[o,b]),S=new Intl.DateTimeFormat(o??`en`,{year:`numeric`,month:`long`,timeZone:`UTC`}).format(Date.UTC(m.year,m.month-1,1)),w=t=>ls(f??e,t),T=e=>{h({year:Number(e.slice(0,4)),month:Number(e.slice(5,7))})},E=e=>{c.trim()===``?r(``,e):f===void 0?(d(!0),_.current?.focus()):r(f,e)},ee=e=>{let t=w(ps(p??s,e));l(t),d(!1),T(t.slice(0,10))},te=e=>{e.nativeEvent.isComposing||(e.stopPropagation(),e.key===`Escape`?(e.preventDefault(),i()):e.key===`Enter`?(e.preventDefault(),E(e.shiftKey?`shift-enter`:`enter`)):e.key===`Tab`?(e.preventDefault(),E(e.shiftKey?`shift-tab`:`tab`)):e.key===`ArrowDown`||e.key===`ArrowUp`?(e.preventDefault(),ee((e.key===`ArrowDown`?1:-1)*(e.shiftKey?7:1))):(e.key===`PageDown`||e.key===`PageUp`)&&(e.preventDefault(),h(t=>cs(t,e.key===`PageDown`?1:-1))))},ne=f===void 0?void 0:Ss(f),D=e=>{e.preventDefault()};return(0,V.jsxs)(`div`,{ref:g,className:`sheet-editor sheet-date`,"data-inline":a?``:void 0,"data-wrong":u?``:void 0,"data-testid":`sheet-date-editor`,children:[(0,V.jsx)(`input`,{ref:_,className:`sheet-date-field`,value:c,placeholder:n.date.placeholder,"aria-label":n.types.date,"aria-invalid":u,spellCheck:!1,onChange:e=>{l(e.target.value),d(!1);let t=_s(e.target.value,s,o);t&&T(t.slice(0,10))},onKeyDown:te,onBlur:e=>{g.current?.contains(e.relatedTarget)||(c.trim()===``?r(``,`click`):f===void 0?i():r(f,`click`))}}),u&&(0,V.jsx)(`p`,{className:`sheet-editor-wrong`,role:`alert`,children:n.cell.notDate}),(0,V.jsxs)(`div`,{className:`sheet-date-month`,onMouseDown:D,children:[(0,V.jsx)(`span`,{className:`sheet-date-title`,children:S}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,tabIndex:-1,"aria-label":n.date.previousMonth,onClick:()=>{h(e=>cs(e,-1))},children:(0,V.jsx)(v,{size:14,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,tabIndex:-1,"aria-label":n.date.nextMonth,onClick:()=>{h(e=>cs(e,1))},children:(0,V.jsx)(Ce,{size:14,"aria-hidden":!0})})]}),(0,V.jsxs)(`div`,{className:`sheet-date-days`,role:`grid`,"aria-label":S,onMouseDown:D,children:[(0,V.jsx)(`div`,{className:`sheet-date-week`,role:`row`,children:x.map((e,t)=>(0,V.jsx)(`span`,{className:`sheet-date-weekday`,role:`columnheader`,children:e},t))}),b.map(e=>(0,V.jsx)(`div`,{className:`sheet-date-week`,role:`row`,children:e.map(e=>(0,V.jsx)(`button`,{type:`button`,role:`gridcell`,tabIndex:-1,className:`sheet-date-day`,"aria-selected":e.day===p,"data-out":e.inMonth?void 0:``,"data-today":e.day===s?``:void 0,"data-day":e.day,onClick:()=>{r(w(e.day),`click`)},children:Number(e.day.slice(8))},e.day))},e[0]?.day))]}),(0,V.jsxs)(`div`,{className:`sheet-date-foot`,onMouseDown:D,children:[(0,V.jsx)(`button`,{type:`button`,className:`sheet-date-action`,tabIndex:-1,onClick:()=>{r(w(s),`click`)},children:n.date.today}),f!==void 0&&(ne===void 0?(0,V.jsxs)(`button`,{type:`button`,className:`sheet-date-action`,tabIndex:-1,onClick:()=>{l(Cs(f,`09:00`))},children:[(0,V.jsx)(ze,{size:12,"aria-hidden":!0}),n.date.addTime]}):(0,V.jsxs)(`span`,{className:`sheet-date-time`,children:[(0,V.jsx)(ze,{size:12,"aria-hidden":!0}),(0,V.jsx)(`input`,{type:`time`,"aria-label":n.date.time,value:ne,onMouseDown:e=>{e.stopPropagation()},onChange:e=>{e.target.value!==``&&l(Cs(f,e.target.value))},onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),E(`enter`)):e.key===`Escape`&&(e.preventDefault(),i())}}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,tabIndex:-1,"aria-label":n.date.removeTime,onClick:()=>{l(Cs(f,void 0))},children:(0,V.jsx)(C,{size:12,"aria-hidden":!0})})]})),(0,V.jsx)(`button`,{type:`button`,className:`sheet-date-action`,"data-quiet":``,tabIndex:-1,onClick:()=>{r(``,`click`)},children:n.date.clear})]})]})}var Ts=c(m(),1),Es=350,Ds=320;function Os(e,t,n){return Xa(e,t).map(n)}function ks({path:e,height:t,dir:n,fileUrl:r,strings:i,onOpen:a}){let o=Os(n,e,r),[s,c]=(0,B.useState)(0),[l,u]=(0,B.useState)(),d=(0,B.useRef)(void 0),f=(0,B.useRef)(null),p=o[s];return(0,B.useEffect)(()=>()=>{window.clearTimeout(d.current)},[]),p===null?(0,V.jsx)(`span`,{className:`sheet-pic`,style:{height:t},"aria-hidden":!0}):p===void 0?(0,V.jsxs)(`span`,{className:`sheet-pic`,"data-missing":``,style:{height:t},title:`${e}: ${i.files.notFound}`,children:[(0,V.jsx)(We,{size:Math.min(14,t-6),"aria-hidden":!0}),t>=40&&(0,V.jsx)(`span`,{children:i.files.notFound})]}):(0,V.jsxs)(`button`,{ref:f,type:`button`,className:`sheet-pic`,style:{height:t},title:Yo(e),"aria-label":Yo(e),tabIndex:-1,onClick:e=>{e.stopPropagation(),window.clearTimeout(d.current),u(void 0),a?.()},onPointerEnter:()=>{t>=Ds/2||(window.clearTimeout(d.current),d.current=window.setTimeout(()=>{let e=f.current?.getBoundingClientRect();e&&u(e)},Es))},onPointerLeave:()=>{window.clearTimeout(d.current),u(void 0)},children:[(0,V.jsx)(`img`,{src:p,alt:``,loading:`lazy`,draggable:!1,onError:()=>{c(e=>e+1)}}),l&&(0,Ts.createPortal)((0,V.jsx)(`span`,{className:`sheet-pic-preview`,role:`presentation`,style:As(l),children:(0,V.jsx)(`img`,{src:p,alt:``})}),document.body)]})}function As(e){let t=Math.max(8,Math.min(e.left,window.innerWidth-344));return window.innerHeight-e.bottom>344?{left:t,top:e.bottom+6}:{left:t,bottom:window.innerHeight-e.top+6}}function js({column:e,value:t,strings:n,dir:r,fileUrl:i,height:a,onOpen:o}){let s=Jo(e,t),c=a??e.height??24,l=s.length===1,u=(0,B.useRef)(null),[d,f]=(0,B.useState)(0);return(0,B.useLayoutEffect)(()=>{let e=u.current;if(!e)return;let t=new ResizeObserver(()=>{let t=0;for(let n of e.children){let r=n;r.dataset.more===void 0&&r.offsetLeft+r.offsetWidth>e.clientWidth+1&&t++}f(t)});t.observe(e);for(let n of e.children)t.observe(n);return()=>{t.disconnect()}},[t,c]),(0,V.jsxs)(`span`,{ref:u,className:`sheet-files`,title:s.join(`
130
- `),children:[s.map((e,t)=>qo.test(e)&&i?(0,V.jsx)(ks,{path:e,height:c,dir:r??``,fileUrl:i,strings:n,...o?{onOpen:()=>{o(t)}}:{}},`${e}-${String(t)}`):(0,V.jsxs)(`span`,{className:`sheet-file`,"data-only":l?``:void 0,children:[(0,V.jsx)(_e,{size:13,"aria-hidden":!0}),(0,V.jsx)(`span`,{className:`sheet-file-name`,children:Yo(e)})]},`${e}-${String(t)}`)),d>0&&(0,V.jsxs)(`span`,{className:`sheet-files-more`,"data-more":``,children:[`+`,d]})]})}function Ms({files:e,at:t,dir:n,fileUrl:r,strings:i,readOnly:a,onStep:o,onRemove:s,onClose:c}){let l=e[t],[u,d]=(0,B.useState)(0),[f,p]=(0,B.useState)(t);if(f!==t&&(p(t),d(0)),!l)return null;let m=Os(n,l.path,r)[u],h=qo.test(l.path),g=n=>{e.length>1&&o((t+n+e.length)%e.length)};return(0,V.jsx)(Ee,{open:!0,onOpenChange:e=>{e||c()},children:(0,V.jsxs)(fe,{className:`sheet-viewer`,showCloseButton:!1,"data-testid":`sheet-viewer`,tabIndex:-1,onOpenAutoFocus:e=>{e.preventDefault(),e.currentTarget?.focus()},onKeyDown:e=>{e.key===`ArrowLeft`?(e.preventDefault(),g(-1)):e.key===`ArrowRight`&&(e.preventDefault(),g(1))},children:[(0,V.jsxs)(`header`,{className:`sheet-viewer-bar`,children:[(0,V.jsxs)(`span`,{className:`sheet-viewer-names`,children:[(0,V.jsx)(A,{className:`sheet-viewer-name`,children:Yo(l.path)}),(0,V.jsxs)(`span`,{className:`sheet-viewer-row`,children:[l.title,e.length>1&&(0,V.jsx)(`span`,{className:`sheet-viewer-count`,children:i.files.of(t+1,e.length)})]})]}),typeof m==`string`&&(0,V.jsxs)(`a`,{className:`sheet-viewer-action`,href:m,target:`_blank`,rel:`noreferrer noopener`,children:[(0,V.jsx)(Ve,{size:14,"aria-hidden":!0}),i.files.open]}),!a&&(0,V.jsx)(`button`,{type:`button`,className:`sheet-viewer-action`,"data-testid":`sheet-viewer-remove`,onClick:()=>{s(l)},children:i.files.remove}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":i.files.close,title:i.files.close,onClick:c,children:(0,V.jsx)(C,{size:16,"aria-hidden":!0})})]}),(0,V.jsxs)(`div`,{className:`sheet-viewer-stage`,children:[e.length>1&&(0,V.jsx)(`button`,{type:`button`,className:`sheet-viewer-step`,"data-side":`left`,"aria-label":i.files.previous,title:i.files.previous,onClick:()=>{g(-1)},children:(0,V.jsx)(v,{size:20,"aria-hidden":!0})}),m===null?null:h&&m!==void 0?(0,V.jsx)(`img`,{className:`sheet-viewer-picture`,src:m,alt:Yo(l.path),onError:()=>{d(e=>e+1)}}):(0,V.jsxs)(`span`,{className:`sheet-viewer-file`,"data-missing":m===void 0?``:void 0,children:[m===void 0?(0,V.jsx)(We,{size:40,"aria-hidden":!0}):(0,V.jsx)(_e,{size:40,"aria-hidden":!0}),(0,V.jsx)(`span`,{children:m===void 0?i.files.notFound:l.path})]}),e.length>1&&(0,V.jsx)(`button`,{type:`button`,className:`sheet-viewer-step`,"data-side":`right`,"aria-label":i.files.next,title:i.files.next,onClick:()=>{g(1)},children:(0,V.jsx)(Ce,{size:20,"aria-hidden":!0})})]})]})})}function Ns({name:e,option:t}){return(0,V.jsx)(`span`,{className:`sheet-chip`,"data-color":t?.color??`gray`,"data-unknown":t?void 0:``,children:e})}function Ps({column:e,value:t,locale:n,strings:r,fileUrl:i,dir:a,height:o,onToggle:s,onOpen:c}){if(Ma(t))return e.type===`checkbox`?(0,V.jsx)(`button`,{type:`button`,className:`sheet-check`,"aria-checked":!1,role:`checkbox`,tabIndex:-1,onMouseDown:e=>{e.stopPropagation()},onClick:s}):null;let l=Ra(e,t);if(l!==void 0)return(0,V.jsx)(`span`,{className:`sheet-value`,"data-wrong":``,title:`“${t}” ${l}`,children:t});switch(e.type){case`checkbox`:{let e=Fa(t)===!0;return(0,V.jsx)(`button`,{type:`button`,className:`sheet-check`,role:`checkbox`,"aria-checked":e,tabIndex:-1,onMouseDown:e=>{e.stopPropagation()},onClick:s,children:e&&(0,V.jsx)(g,{size:12,strokeWidth:3,"aria-hidden":!0})})}case`select`:{let n=e.options?.find(e=>e.name===t.trim());return(0,V.jsx)(Ns,{name:t.trim(),...n?{option:n}:{}})}case`multi-select`:return(0,V.jsx)(`span`,{className:`sheet-chips`,children:Ia(t,e.separator).map((t,n)=>{let r=e.options?.find(e=>e.name===t);return(0,V.jsx)(Ns,{name:t,...r?{option:r}:{}},`${t}-${String(n)}`)})});case`url`:case`email`:case`phone`:{let n=za(e,t);return(0,V.jsxs)(`span`,{className:`sheet-link`,children:[(0,V.jsx)(`span`,{className:`sheet-link-text`,children:t}),n&&(0,V.jsx)(`a`,{className:`sheet-link-open`,href:n,target:`_blank`,rel:`noreferrer noopener`,title:r.cell.open,"aria-label":r.cell.open,onMouseDown:e=>{e.stopPropagation()},children:(0,V.jsx)(Ve,{size:12,"aria-hidden":!0})})]})}case`file`:return(0,V.jsx)(js,{column:e,value:t,strings:r,...a===void 0?{}:{dir:a},...i?{fileUrl:i}:{},...o===void 0?{}:{height:o},...c?{onOpen:c}:{}});default:return(0,V.jsx)(`span`,{className:`sheet-value`,children:Ga(e,t,n)})}}function Fs(e,t,n){if(!Ma(t))switch(e.type){case`number`:return Na(t)===void 0?n.cell.notNumber:void 0;case`date`:return Pa(t)===void 0?n.cell.notDate:void 0;case`email`:return Ra(e,t)===void 0?void 0:n.cell.notEmail;case`url`:return Ra(e,t)===void 0?void 0:n.cell.notUrl;default:return}}function Is(e){let{column:t}=e;return t.type===`select`||t.type===`multi-select`?(0,V.jsx)(Rs,{...e}):t.type===`date`?(0,V.jsx)(ws,{...e}):(0,V.jsx)(Ls,{...e})}function Ls({column:e,value:t,initial:n,strings:r,onCommit:i,onCancel:a,inline:o}){let[s,c]=(0,B.useState)(n??t),[l,u]=(0,B.useState)(),d=(0,B.useRef)(null),f=(0,B.useRef)(null),p=e.type===`text`;bs(f,l,!o),(0,B.useLayoutEffect)(()=>{let e=d.current;if(!e)return;e.focus();let t=e.value.length;e.setSelectionRange(t,t)},[]),(0,B.useLayoutEffect)(()=>{let e=d.current;e&&p&&(e.style.height=`auto`,e.style.height=`${String(e.scrollHeight)}px`)},[s,p]);let m=t=>{let n=e.type===`text`?s:s.trim(),a=Fs(e,n,r);a===void 0?i(n,t):(u(a),d.current?.focus())},h=e=>{e.nativeEvent.isComposing||(e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),a()):e.key===`Enter`&&!(p&&(e.shiftKey||e.altKey))?(e.preventDefault(),e.stopPropagation(),m(e.shiftKey?`shift-enter`:`enter`)):e.key===`Tab`?(e.preventDefault(),e.stopPropagation(),m(e.shiftKey?`shift-tab`:`tab`)):e.stopPropagation())},g=e.type===`number`?`1234.5`:void 0;return(0,V.jsxs)(`div`,{ref:f,className:`sheet-editor`,"data-inline":o?``:void 0,"data-wrong":l?``:void 0,children:[(0,V.jsx)(`textarea`,{ref:d,className:`sheet-editor-input`,"data-type":e.type,rows:1,value:s,spellCheck:e.type===`text`,...g?{placeholder:g}:{},onChange:e=>{c(e.target.value),u(void 0)},onKeyDown:h,onBlur:t=>{if(o||f.current?.contains(t.relatedTarget))return;let n=e.type===`text`?s:s.trim();Fs(e,n,r)===void 0?i(n,`click`):a()},"aria-invalid":l!==void 0}),l&&(0,V.jsx)(`p`,{className:`sheet-editor-wrong`,role:`alert`,children:l})]})}function Rs({column:e,value:t,initial:n,strings:r,onCommit:i,onCancel:a,onAddOption:o,inline:s}){let c=e.type===`multi-select`,l=(0,B.useMemo)(()=>e.options??[],[e.options]),[u,d]=(0,B.useState)(()=>c?Ia(t,e.separator):t.trim()===``?[]:[t.trim()]),[f,p]=(0,B.useState)(n??``),[m,h]=(0,B.useState)(0),_=(0,B.useRef)(null),v=(0,B.useRef)(null);(0,B.useEffect)(()=>{_.current?.focus()},[]);let y=f.trim().toLowerCase(),b=l.filter(e=>e.name.toLowerCase().includes(y)),x=l.some(e=>e.name.toLowerCase()===y),S=y!==``&&!x&&o!==void 0&&!f.includes(e.separator??`;`),w=b.length+ +!!S;bs(v,w,!s);let T=(t,n)=>{i(c?La(t,e.separator):t[0]??``,n)},E=(e,t)=>{if(c){let t=u.includes(e)?u.filter(t=>t!==e):[...u,e];d(t),p(``),s&&T(t,`click`)}else T([e],t)},ee=e=>{let t=f.trim();o?.(t),E(t,e)};return(0,V.jsxs)(`div`,{ref:v,className:`sheet-editor sheet-options`,"data-inline":s?``:void 0,children:[(0,V.jsxs)(`div`,{className:`sheet-options-field`,children:[u.map(e=>{let t=l.find(t=>t.name===e);return(0,V.jsxs)(`span`,{className:`sheet-options-chosen`,children:[(0,V.jsx)(Ns,{name:e,...t?{option:t}:{}}),(0,V.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-label":`${r.cell.clear} ${e}`,onMouseDown:e=>{e.preventDefault()},onClick:()=>{let t=u.filter(t=>t!==e);d(t),(!c||s)&&T(t,`click`)},children:(0,V.jsx)(C,{size:11,"aria-hidden":!0})})]},e)}),(0,V.jsx)(`input`,{ref:_,className:`sheet-options-input`,value:f,placeholder:u.length===0?r.column.addOption:``,onChange:e=>{p(e.target.value),h(0)},onKeyDown:n=>{if(!n.nativeEvent.isComposing){if(n.stopPropagation(),n.key===`Escape`)n.preventDefault(),c&&u.join(`\0`)!==Ia(t,e.separator).join(`\0`)?T(u,`click`):a();else if(n.key===`ArrowDown`)n.preventDefault(),h(e=>Math.min(w-1,e+1));else if(n.key===`ArrowUp`)n.preventDefault(),h(e=>Math.max(0,e-1));else if(n.key===`Enter`){if(n.preventDefault(),y===``&&c){T(u,n.shiftKey?`shift-enter`:`enter`);return}let e=b[m];e?E(e.name,n.shiftKey?`shift-enter`:`enter`):S?ee(n.shiftKey?`shift-enter`:`enter`):y===``&&!c&&T([],`enter`)}else n.key===`Tab`?(n.preventDefault(),T(u,n.shiftKey?`shift-tab`:`tab`)):n.key===`Backspace`&&f===``&&u.length>0&&(n.preventDefault(),d(u.slice(0,-1)))}},onBlur:()=>{!s&&c?T(u,`click`):s||a()}})]}),(0,V.jsxs)(`ul`,{className:`sheet-options-list`,role:`listbox`,"aria-multiselectable":c,children:[b.map((e,t)=>(0,V.jsxs)(`li`,{role:`option`,"aria-selected":u.includes(e.name),"data-active":t===m?``:void 0,onMouseDown:e=>{e.preventDefault()},onMouseEnter:()=>{h(t)},onClick:()=>{E(e.name,`click`)},children:[(0,V.jsx)(Ns,{name:e.name,option:e}),u.includes(e.name)&&(0,V.jsx)(g,{size:13,"aria-hidden":!0,className:`sheet-options-tick`})]},e.name)),S&&(0,V.jsxs)(`li`,{role:`option`,"aria-selected":!1,"data-active":m===b.length?``:void 0,onMouseDown:e=>{e.preventDefault()},onClick:()=>{ee(`click`)},children:[(0,V.jsx)(Se,{size:13,"aria-hidden":!0}),(0,V.jsx)(`span`,{children:r.column.newOption(f.trim())})]})]})]})}function zs({column:e,canHide:t,strings:n,actions:r,open:i,onOpenChange:a}){let o=n.column,s=Go(e);return(0,V.jsxs)(Te,{modal:!1,open:i,onOpenChange:a,children:[(0,V.jsx)(be,{asChild:!0,children:(0,V.jsx)(`span`,{className:`sheet-head-anchor`,"aria-hidden":!0})}),(0,V.jsxs)(xe,{align:`start`,className:`sheet-menu`,"data-testid":`sheet-column-menu`,onCloseAutoFocus:e=>{e.preventDefault()},children:[(0,V.jsxs)(N,{onSelect:r.rename,children:[(0,V.jsx)(Je,{"aria-hidden":!0}),o.rename]}),(0,V.jsxs)(j,{children:[(0,V.jsxs)(de,{"data-testid":`sheet-format`,children:[(0,V.jsx)(R,{"aria-hidden":!0}),o.format]}),(0,V.jsxs)(P,{className:`sheet-menu`,children:[s===void 0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(N,{disabled:!0,className:`sheet-menu-note`,children:[(0,V.jsx)(g,{"aria-hidden":!0}),n.types[e.type]]}),(0,V.jsx)(ge,{})]}),Wo.map(e=>(0,V.jsxs)(N,{"data-testid":`sheet-format-${e}`,onSelect:()=>{e!==s&&r.format(e)},children:[e===s?(0,V.jsx)(g,{"aria-hidden":!0}):(0,V.jsx)(`span`,{className:`sheet-menu-blank`,"aria-hidden":!0}),o.formats[e]]},e))]})]}),(0,V.jsx)(ge,{}),(0,V.jsxs)(N,{onSelect:()=>{r.insert(`left`)},children:[(0,V.jsx)(je,{"aria-hidden":!0}),o.insertLeft]}),(0,V.jsxs)(N,{onSelect:()=>{r.insert(`right`)},children:[(0,V.jsx)(Me,{"aria-hidden":!0}),o.insertRight]}),t&&(0,V.jsxs)(N,{onSelect:r.hide,children:[(0,V.jsx)(F,{"aria-hidden":!0}),o.hide]}),(0,V.jsx)(ge,{}),(0,V.jsxs)(N,{variant:`destructive`,onSelect:r.remove,children:[(0,V.jsx)(b,{"aria-hidden":!0}),o.remove]})]})]})}function Bs(e,t){let n=t.auto;return e.key===`∅`?n.blanks:e.key===`b:true`?n.checked:e.key===`b:false`?n.unchecked:e.key===`f:any`?n.hasFile:e.label}function Vs(e,t){let n=e.options?.find(e=>e.name===t);return n?{option:n}:{}}var Hs=1e3;function Us({name:e,column:t,values:n,ticked:r,sort:i,strings:a,locale:o,trigger:s,onSort:c,onTicked:l}){let u=a.auto,[d,f]=(0,B.useState)(!1),[p,m]=(0,B.useState)([]),[h,g]=(0,B.useState)(new Set),[_,v]=(0,B.useState)(``),y=t.type===`number`?`number`:t.type===`date`?`date`:t.type===`select`||t.type===`multi-select`?`options`:`text`,b=y===`options`,x=(0,B.useMemo)(()=>{let e=_.trim().toLocaleLowerCase(o);return e===``?p:p.filter(t=>Bs(t,a).toLocaleLowerCase(o).includes(e))},[p,_,a,o]),S=x.length>0&&x.every(e=>h.has(e.key)),C=x.some(e=>h.has(e.key)),w=()=>{f(!1)};return(0,V.jsxs)(es,{open:d,onOpenChange:e=>{if(e){let e=n();m(e),g(new Set(r??e.map(e=>e.key))),v(``)}f(e)},children:[(0,V.jsx)(ts,{asChild:!0,children:s}),(0,V.jsxs)(ns,{align:`start`,className:`sheet-pop sheet-autofilter`,"data-testid":`sheet-autofilter`,"aria-label":u.button(e),onKeyDown:e=>{e.stopPropagation()},children:[(0,V.jsxs)(`button`,{type:`button`,className:`sheet-auto-sort`,"data-on":i===`asc`?``:void 0,"data-testid":`sheet-sort-asc`,onClick:()=>{c(!1),w()},children:[(0,V.jsx)(Ne,{size:14,"aria-hidden":!0}),u.sortAsc[y]]}),(0,V.jsxs)(`button`,{type:`button`,className:`sheet-auto-sort`,"data-on":i===`desc`?``:void 0,"data-testid":`sheet-sort-desc`,onClick:()=>{c(!0),w()},children:[(0,V.jsx)(ke,{size:14,"aria-hidden":!0}),u.sortDesc[y]]}),(0,V.jsx)(`div`,{className:`sheet-auto-rule`,role:`separator`}),(0,V.jsxs)(`label`,{className:`sheet-auto-search`,children:[(0,V.jsx)(Qe,{size:13,"aria-hidden":!0}),(0,V.jsx)(`input`,{value:_,placeholder:u.search,"aria-label":u.search,"data-testid":`sheet-autofilter-search`,onChange:e=>{v(e.target.value)}})]}),(0,V.jsxs)(`div`,{className:`sheet-auto-list`,role:`group`,"aria-label":e,children:[x.length>0&&(0,V.jsxs)(`label`,{className:`sheet-auto-row`,"data-all":``,children:[(0,V.jsx)(`input`,{type:`checkbox`,checked:S,ref:e=>{e&&(e.indeterminate=!S&&C)},onChange:()=>{g(e=>{let t=new Set(e);for(let e of x)S?t.delete(e.key):t.add(e.key);return t})}}),(0,V.jsx)(`span`,{className:`sheet-auto-label`,children:_.trim()===``?u.selectAll:u.selectFound})]}),x.slice(0,Hs).map(e=>(0,V.jsxs)(`label`,{className:`sheet-auto-row`,children:[(0,V.jsx)(`input`,{type:`checkbox`,checked:h.has(e.key),onChange:()=>{g(t=>{let n=new Set(t);return n.has(e.key)?n.delete(e.key):n.add(e.key),n})}}),(0,V.jsx)(`span`,{className:`sheet-auto-label`,"data-quiet":e.key===`∅`?``:void 0,children:b&&e.key!==`∅`?(0,V.jsx)(Ns,{name:e.label,...Vs(t,e.label)}):Bs(e,a)}),(0,V.jsx)(`span`,{className:`sheet-auto-count`,children:e.count})]},e.key)),x.length>Hs&&(0,V.jsx)(`p`,{className:`sheet-auto-more`,children:u.more(x.length-Hs)}),x.length===0&&(0,V.jsx)(`p`,{className:`sheet-auto-more`,children:u.none})]}),(0,V.jsxs)(`div`,{className:`sheet-auto-foot`,children:[r!==void 0&&(0,V.jsx)(he,{variant:`ghost`,size:`xs`,"data-testid":`sheet-autofilter-clear`,onClick:()=>{l(void 0),w()},children:u.clear}),(0,V.jsx)(`span`,{className:`sheet-auto-gap`}),(0,V.jsx)(he,{variant:`ghost`,size:`xs`,onClick:w,children:a.column.cancel}),(0,V.jsx)(he,{size:`xs`,"data-testid":`sheet-autofilter-ok`,disabled:h.size===0,onClick:()=>{let e=p.filter(e=>h.has(e.key));l(e.length===p.length?void 0:e),w()},children:u.ok})]})]})]})}function Ws(e,t,n){let r=n.initialDeps??[],i;function a(){var a;let o;n.key&&n.debug?.call(n)&&(o=Date.now());let s=e();if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug?.call(n)&&(c=Date.now()),i=t(...s),n.key&&n.debug?.call(n)){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
129
+ `:``;p=`${i.slice(0,t)}${n}${` `.repeat(f)}${e}\n${i.slice(t)}`}}let m=so(e,t,n,r);return ga(p).errors.length>0||co(p)!==co(m)?m:p}function uo(e){return e.decimals===void 0&&e.currency===void 0&&e.thousands?e.style:{...e.style===`plain`?{}:{style:e.style},...e.currency===void 0?{}:{currency:e.currency},...e.decimals===void 0?{}:{decimals:e.decimals},...e.thousands?{}:{thousands:!1}}}function fo(e){let t={type:e.type,...e.options===void 0||e.type!==`select`&&e.type!==`multi-select`?{}:{options:e.options.map(e=>e.color===void 0?e.name:{name:e.name,color:e.color})},...e.separator===void 0||e.type!==`multi-select`&&e.type!==`file`?{}:{separator:e.separator},...e.type===`number`&&e.number?{format:uo(e.number)}:{},...e.type===`date`&&e.date?{format:e.date.time?e.date.style:{style:e.date.style,time:!1}}:{},...e.width===void 0?{}:{width:e.width},...e.height===void 0||e.type!==`file`?{}:{height:e.height},...e.wrap===void 0?{}:{wrap:e.wrap}};return Object.keys(t).length===1?e.type:t}function po(e,t,n){let r=lo(e,[`columns`,t],n===void 0?void 0:fo(n)),i=ga(r),a=i.errors.length===0?i.getIn([`columns`],!0):void 0;return n===void 0&&G(a)&&a.items.length===0&&(r=lo(r,[`columns`],void 0)),r}function mo(e,t,n){let r=e??``,i=ga(r),a=r,o=i.errors.length===0?i.getIn([`columns`],!0):void 0;if(G(o)){let e=o.items.find(e=>to(e)===t)?.key?.range;e&&(a=r.slice(0,e[0])+ro(n)+r.slice(e[1]))}return ga(a).get(`key`)===t&&(a=lo(a,[`key`],n)),ga(a).get(`primary`)===t&&(a=lo(a,[`primary`],n)),a}function ho(e,t,n){return lo(e,[t],n===void 0||n===``?void 0:n)}var go=e=>e.trim().toLocaleLowerCase(),_o=e=>typeof e==`string`?Pa(e)?.ms:void 0,vo=e=>Math.floor(e/864e5)*864e5;function yo(e,t,n){let{op:r}=t,i=t.value;if(r===`empty`)return Ma(n);if(r===`not-empty`)return!Ma(n);switch(e.type){case`number`:{let e=Na(n);if(e===void 0)return r===`!=`;if(r===`between`){if(!Array.isArray(i)||i.length!==2)return!1;let t=Number(i[0]),n=Number(i[1]);return e>=Math.min(t,n)&&e<=Math.max(t,n)}let t=Number(i);if(!Number.isFinite(t))return!1;switch(r){case`=`:return e===t;case`!=`:return e!==t;case`<`:return e<t;case`<=`:return e<=t;case`>`:return e>t;case`>=`:return e>=t;default:return!1}}case`date`:{let e=Pa(n);if(!e)return!1;let t=vo(e.ms);if(r===`between`){if(!Array.isArray(i)||i.length!==2)return!1;let e=_o(i[0]),n=_o(i[1]);return e===void 0||n===void 0?!1:t>=vo(Math.min(e,n))&&t<=vo(Math.max(e,n))}let a=_o(i);if(a===void 0)return!1;let o=vo(a);switch(r){case`on`:return t===o;case`before`:return t<o;case`after`:return t>o;case`on-or-before`:return t<=o;case`on-or-after`:return t>=o;default:return!1}}case`checkbox`:return(Fa(n)??!1)===(typeof i==`boolean`?i:Fa(String(i))??!0);case`select`:{let e=n.trim();return r===`in`||r===`not-in`?(Array.isArray(i)?i.map(String):[String(i)]).includes(e)===(r===`in`):r===`is`?e===String(i):r===`is-not`&&e!==String(i)}case`multi-select`:{let t=new Set(Ia(n,e.separator)),a=Array.isArray(i)?i.map(String):[String(i)];switch(r){case`has`:return a.every(e=>t.has(e));case`has-any`:return a.some(e=>t.has(e));case`has-all`:return a.every(e=>t.has(e));case`has-none`:return!a.some(e=>t.has(e));default:return!1}}default:{let e=go(n),t=go(String(i??``));switch(r){case`is`:return e===t;case`is-not`:return e!==t;case`contains`:return e.includes(t);case`not-contains`:return!e.includes(t);case`starts-with`:return e.startsWith(t);case`ends-with`:return e.endsWith(t);default:return!1}}}}function bo(e){if(e.op===`empty`||e.op===`not-empty`)return!1;let t=e.value;return t===void 0||t===``?!0:Array.isArray(t)?t.length===0||t.every(e=>e===``):!1}function xo(e,t,n,r){if(Ot(n))return`all`in n?n.all.every(n=>xo(e,t,n,r)):n.any.length===0||n.any.some(n=>xo(e,t,n,r));if(bo(n))return!0;let i=e.columns.indexOf(n.column);return i<0?!1:yo(W(t,n.column),n,r[i]??``)}function So(e,t,n){let r=n.filter;return Co(e,t,e.rows.map((e,t)=>t).filter(n=>r===void 0||xo(e,t,r,e.rows[n]??[])),n.sort??[])}function Co(e,t,n,r){let i=r.map(t=>({at:e.columns.indexOf(t.column),k:t})).filter(e=>e.at>=0).map(({at:r,k:i})=>{let a=Ja(W(t,i.column)),o=[];for(let t of n)o[t]=a(e.rows[t]?.[r]??``);return{values:o,cmp:Ya(i.desc===!0)}});if(i.length===0)return[...n];let a=[3,0];return[...n].sort((e,t)=>{for(let{values:n,cmp:r}of i){let i=r(n[e]??a,n[t]??a);if(i!==0)return i}return e-t})}function wo(e,t){return t.columns?t.columns.filter(t=>e.columns.includes(t)):[...e.columns]}function To(e,t){if(t.primary!==void 0&&e.includes(t.primary))return t.primary;let n=e.filter(e=>e!==t.key);return n.find(e=>W(t,e).type===`text`)??n[0]??e[0]}var Eo=e=>`sheet.look:${e}`;function Do(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Oo(e){let t={};return e.columns&&(t.columns=e.columns),e.widths&&Object.keys(e.widths).length>0&&(t.widths=e.widths),e.freeze&&(t.freeze=e.freeze),e.wrap?.length&&(t.wrap=e.wrap),e.sort?.length&&(t.sort=e.sort),e.filter&&(t.filter=e.filter),t}var ko=(e,t)=>JSON.stringify(Oo(e))===JSON.stringify(Oo(t));function Ao(e,t,n){let r=e=>Ot(e)?Ao(e,t,n):e.column===t?{...e,column:n}:e;return`all`in e?{all:e.all.map(r)}:{any:e.any.map(r)}}function jo(e,t,n){if(!JSON.stringify(e).includes(JSON.stringify(t)))return e;let r=e=>e===t?n:e,i={...e};return e.columns&&(i.columns=e.columns.map(r)),e.widths&&(i.widths=Object.fromEntries(Object.entries(e.widths).map(([e,t])=>[r(e),t]))),e.wrap&&(i.wrap=e.wrap.map(r)),e.sort&&(i.sort=e.sort.map(e=>({...e,column:r(e.column)}))),e.filter&&(i.filter=Ao(e.filter,t,n)),i}function Mo(e){let t=(`all`in e?e.all:e.any).flatMap(e=>{if(Ot(e)){let t=Mo(e);return t?[t]:[]}return bo(e)?[]:[e]});if(t.length!==0)return`all`in e?{all:t}:{any:t}}function No(e){if(!e.filter)return e;let t=Mo(e.filter),n=Po(e);return t?{...n,filter:t}:n}function Po(e){let t={...e};return delete t.filter,t}var Fo=e=>new Date(Math.floor(e/864e5)*864e5).toISOString().slice(0,10);function Io(e,t,n,r){if(Ma(n))return[{key:`∅`,label:``,condition:{column:e,op:`empty`}}];let i=n.trim();switch(t.type){case`number`:{let n=Na(i);return n===void 0?[]:[{key:`n:${String(n)}`,label:Ga(t,i,r),condition:{column:e,op:`=`,value:n}}]}case`date`:{let n=Pa(i);if(!n)return[];let a=Fo(n.ms);return[{key:`d:${a}`,label:Ga({...t,date:{style:t.date?.style??`short`,time:!1}},a,r),condition:{column:e,op:`on`,value:a}}]}case`checkbox`:{let t=Fa(i)??!1;return[{key:`b:${String(t)}`,label:String(t),condition:{column:e,op:`is`,value:t}}]}case`multi-select`:return Ia(i,t.separator).map(t=>({key:`m:${t}`,label:t,condition:{column:e,op:`has-any`,value:[t]}}));case`select`:return[{key:`s:${i}`,label:i,condition:{column:e,op:`is`,value:i}}];case`file`:return[{key:`f:any`,label:``,condition:{column:e,op:`not-empty`}}];default:return[{key:`t:${i.toLocaleLowerCase()}`,label:i,condition:{column:e,op:`is`,value:i}}]}}function Lo(e,t){let n=t.value;if(t.op===`empty`)return`∅`;if(t.op===`not-empty`&&e.type===`file`)return`f:any`;switch(e.type){case`number`:return t.op===`=`&&typeof n==`number`?`n:${String(n)}`:void 0;case`date`:return t.op===`on`&&typeof n==`string`?`d:${n}`:void 0;case`checkbox`:return t.op===`is`&&typeof n==`boolean`?`b:${String(n)}`:void 0;case`multi-select`:return t.op===`has-any`&&Array.isArray(n)&&n.length===1?`m:${String(n[0])}`:void 0;case`select`:return t.op===`is`&&typeof n==`string`?`s:${n}`:void 0;case`file`:return;default:return t.op===`is`&&typeof n==`string`?`t:${n.trim().toLocaleLowerCase()}`:void 0}}function Ro(e,t,n,r){let i=new Map;for(let a of n)for(let n of Io(e,t,a,r)){let e=i.get(n.key);e?e.count++:i.set(n.key,{...n,count:1,raw:a.trim()})}let a=qa(t.type===`multi-select`?{type:`text`}:t);return[...i.values()].sort((e,n)=>e.key===`∅`?1:n.key===`∅`?-1:t.type===`multi-select`?e.label.localeCompare(n.label,r):a(e.raw,n.raw)).map(e=>{let t={...e};return delete t.raw,t})}var zo=e=>e===void 0?[]:`all`in e?e.all:[e];function Bo(e,t,n){if(!Ot(e)||!(`any`in e)||e.any.length===0)return;let r=new Set;for(let i of e.any){if(Ot(i)||i.column!==t)return;let e=Lo(n,i);if(e===void 0)return;r.add(e)}return r}function Vo(e,t,n){for(let r of zo(e.filter)){let e=Bo(r,t,n);if(e)return e}}function Ho(e,t,n,r){let i=zo(e.filter).filter(e=>Bo(e,t,n)===void 0),a=r===void 0?i:[...i,{any:r.map(e=>e.condition)}],o=Po(e);return a.length===0?o:{...o,filter:{all:a}}}function Uo(e){let t=new Set,n=e=>{Ot(e)?(`all`in e?e.all:e.any).forEach(n):t.add(e.column)};return zo(e.filter).forEach(n),t}var Wo=[`text`,`number`,`currency`,`percent`,`date`,`checkbox`,`list`,`file`];function Go(e){switch(e.type){case`text`:return`text`;case`number`:{let t=e.number?.style??`plain`;return t===`plain`?`number`:t}case`date`:return`date`;case`checkbox`:return`checkbox`;case`select`:return`list`;case`file`:return`file`;default:return}}function Ko(e,t,n){let r={type:t===`currency`||t===`percent`?`number`:t===`list`?`select`:t};if(t===`number`||t===`currency`||t===`percent`){let n=e.type===`number`?e.number:void 0,i=t===`number`?`plain`:t;(i!==`plain`||n!==void 0)&&(r.number={...n??{thousands:!0},style:i},i!==`currency`&&Reflect.deleteProperty(r.number,`currency`))}if(t===`date`&&e.date&&(r.date=e.date),t===`list`){let t=[...e.options??[]],i=new Set(t.map(e=>e.name));for(let r of n){let n=e.type===`multi-select`?Ia(r,e.separator):[r.trim()];for(let e of n)if(!(e===``||i.has(e))){if(t.length>=200)break;i.add(e),t.push({name:e})}}r.options=t}return t===`file`&&e.type===`file`&&(e.separator!==void 0&&(r.separator=e.separator),e.height!==void 0&&(r.height=e.height)),e.width!==void 0&&(r.width=e.width),e.wrap!==void 0&&(r.wrap=e.wrap),r}var qo=/\.(png|jpe?g|gif|webp|avif|svg)$/i;function Jo(e,t){return Ia(t,e.separator)}function Yo(e){return e.slice(e.lastIndexOf(`/`)+1)}function Xo(e,t,n){let r=n;for(let n of t){let t=W(e,n);t.type===`file`&&t.height!==void 0&&(r=Math.max(r,t.height+10))}return r}function Zo(e,t){let n=[];for(let r of t)Jo(e,r.value).forEach((e,t)=>{n.push({path:e,row:r.id,title:r.title,at:t})});return n}var Qo=400;function $o(e,t,n,r=`en`,i={}){let a=i.min??88,o=i.max??320,s={},c=e.rows.slice(0,Qo);return e.columns.forEach((e,i)=>{let l=W(t,e),u=n(e)+76+(t.key===e?18:0);for(let e of c){let t=e[i]??``;if(Ma(t))continue;let a;switch(l.type){case`checkbox`:a=40;break;case`select`:a=n(t.trim())+12+18;break;case`multi-select`:a=Ia(t,l.separator).reduce((e,t)=>e+n(t)+12+4,0)+18;break;case`url`:case`email`:case`phone`:a=n(t.trim())+18+18;break;case`file`:a=Ia(t,l.separator).reduce((e,t)=>e+4+(qo.test(t)?Math.round((l.height??24)*1.6):n(t.slice(t.lastIndexOf(`/`)+1))+29),0)+18;break;default:a=n(Ga(l,t,r))+18}if(a>u&&(u=a),u>=o)break}s[e]=Math.round(Math.min(o,Math.max(a,u)))}),s}function es({...e}){return(0,V.jsx)(st,{"data-slot":`popover`,...e})}function ts({...e}){return(0,V.jsx)(lt,{"data-slot":`popover-trigger`,...e})}function ns({className:e,align:t=`center`,sideOffset:n=4,...r}){return(0,V.jsx)(pt,{children:(0,V.jsx)(ht,{"data-slot":`popover-content`,align:t,sideOffset:n,className:k(`z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...r})})}var rs=(e,t=2)=>String(e).padStart(t,`0`),is=(e,t,n)=>`${rs(e,4)}-${rs(t)}-${rs(n)}`;function as(e,t,n=0){let r=(new Date(Date.UTC(e,t-1,1)).getUTCDay()-n+7)%7,i=new Date(Date.UTC(e,t,0)).getUTCDate(),a=[],o=Math.ceil((r+i)/7)*7;for(let n=0;n<o;n++){let i=new Date(Date.UTC(e,t-1,1-r+n)),o={day:is(i.getUTCFullYear(),i.getUTCMonth()+1,i.getUTCDate()),inMonth:i.getUTCMonth()===t-1};n%7==0&&a.push([]),a[a.length-1]?.push(o)}return a}var os=new Set([`zh-cn`,`es`,`fr`,`de`,`it`,`ru`,`tr`,`vi`]);function ss(e){return+!!os.has(o(e))}function cs(e,t){let n=e.year*12+(e.month-1)+t;return{year:Math.floor(n/12),month:n%12+1}}function ls(e,t){let n=e.trim();return/^\d{4}-\d{2}-\d{2}/.test(n)&&Pa(n)!==void 0?`${t}${n.slice(10)}`:t}function us(e=new Date){return is(e.getFullYear(),e.getMonth()+1,e.getDate())}var ds=[`jan`,`feb`,`mar`,`apr`,`may`,`jun`,`jul`,`aug`,`sep`,`oct`,`nov`,`dec`],fs={today:0,tomorrow:1,yesterday:-1,今天:0,明天:1,昨天:-1};function ps(e,t){let n=new Date(Date.parse(`${e}T00:00:00Z`)+t*864e5);return is(n.getUTCFullYear(),n.getUTCMonth()+1,n.getUTCDate())}function ms(e){let t={...fs},n=new Set,r=new Intl.RelativeTimeFormat(e,{numeric:`auto`});for(let e of[-1,0,1]){let i=r.format(e,`day`).toLowerCase();i in t&&t[i]!==e?n.add(i):t[i]=e}for(let e of n)Reflect.deleteProperty(t,e);return t}function hs(e){let t=new Map;ds.forEach((e,n)=>t.set(e,n+1));for(let n of[`long`,`short`]){let r=new Intl.DateTimeFormat(e,{month:n,timeZone:`UTC`});for(let e=0;e<12;e++){let n=r.format(Date.UTC(2026,e,15)).toLowerCase().replace(/\.$/u,``);/^\d+$/u.test(n)||t.set(n,e+1)}}return t}function gs(e){let t=new Intl.DateTimeFormat(e,{timeZone:`UTC`}).formatToParts(Date.UTC(2026,9,14)).map(e=>e.type);return t.indexOf(`day`)<t.indexOf(`month`)}function _s(e,t,n=`en`){let r=e.trim();if(r===``)return;if(Pa(r)!==void 0)return r;let i=/\s+(\d{1,2}):(\d{2})$/.exec(r),a=i?r.slice(0,i.index):r,o=i?`T${(i[1]??``).padStart(2,`0`)}:${i[2]??``}`:``,s=(e,t,n)=>{let r=`${is(e,t,n)}${o}`;return Pa(r)===void 0?void 0:r},c=ms(n)[a.toLowerCase()];if(c!==void 0){let e=ps(t,c);return s(Number(e.slice(0,4)),Number(e.slice(5,7)),Number(e.slice(8,10)))}let l=/^(\d{4})[/.\-年](\d{1,2})[/.\-月](\d{1,2})日?$/.exec(a);if(l||(l=/^(\d{4})\s*년\s*(\d{1,2})\s*월\s*(\d{1,2})\s*일?$/u.exec(a),l))return s(Number(l[1]),Number(l[2]),Number(l[3]));if(l=/^(\d{1,2})[/.-](\d{1,2})[/.-](\d{4})$/.exec(a),l)return gs(n)?s(Number(l[3]),Number(l[2]),Number(l[1])):s(Number(l[3]),Number(l[1]),Number(l[2]));let u=hs(n),d=e=>{let t=(e??``).toLowerCase().replace(/\.$/u,``);return u.get(t)??u.get(t.slice(0,3))??0};if(l=/^(\p{L}+)\.?\s+(\d{1,2}),?\s+(\d{4})$/u.exec(a),l&&d(l[1])>0)return s(Number(l[3]),d(l[1]),Number(l[2]));if(l=/^(\d{1,2})\.?\s+(?:de\s+)?(\p{L}+)\.?,?\s+(?:de\s+)?(\d{4})$/u.exec(a),l&&d(l[2])>0)return s(Number(l[3]),d(l[2]),Number(l[1]))}var vs=8;function ys(e){let t=e.closest(`.sheet-grid`);if(!t)return new DOMRect(0,0,window.innerWidth,window.innerHeight);let n=t.getBoundingClientRect(),r=t.querySelector(`.sheet-footer`),i=r?r.getBoundingClientRect().top:n.bottom;return new DOMRect(n.left,n.top,n.width,i-n.top)}function bs(e,t,n=!0){(0,B.useLayoutEffect)(()=>{let t=e.current;if(!t||!n)return;t.style.transform=``;let r=t.getBoundingClientRect(),i=ys(t),a=0,o=0;if(r.right>i.right-vs&&(a=Math.max(i.left+vs-r.left,i.right-vs-r.right)),r.bottom>i.bottom-vs){let e=(t.closest(`.sheet-cell`)??t.parentElement)?.getBoundingClientRect(),n=e?r.height-e.height:r.height;o=r.top-n>=i.top+vs?-n:Math.max(i.top+vs-r.top,i.bottom-vs-r.bottom)}(a!==0||o!==0)&&(t.style.transform=`translate(${String(a)}px, ${String(o)}px)`)},[e,t,n])}function xs(){let e=t=>{window.removeEventListener(`pointerup`,e,!0),t.button===2&&(t.preventDefault(),t.stopPropagation())};window.addEventListener(`pointerup`,e,!0)}var Ss=e=>/^\d{4}-\d{2}-\d{2}[T ](\d{2}:\d{2})/.exec(e.trim())?.[1];function Cs(e,t){let n=e.trim(),r=n.slice(0,10),i=/(Z|[+-]\d{2}:?\d{2})$/.exec(n)?.[1]??``;return t===void 0?r:`${r}T${t}${i}`}function ws({value:e,initial:t,strings:n,onCommit:r,onCancel:i,inline:a,locale:o}){let s=us(),[c,l]=(0,B.useState)(t??e),[u,d]=(0,B.useState)(!1),f=_s(c,s,o),p=f?.slice(0,10),[m,h]=(0,B.useState)(()=>{let e=p??s;return{year:Number(e.slice(0,4)),month:Number(e.slice(5,7))}}),g=(0,B.useRef)(null),_=(0,B.useRef)(null);bs(g,u,!a),(0,B.useLayoutEffect)(()=>{let e=_.current;e&&(e.focus(),e.setSelectionRange(e.value.length,e.value.length))},[]);let y=ss(o),b=as(m.year,m.month,y),x=(0,B.useMemo)(()=>{let e=new Intl.DateTimeFormat(o??`en`,{weekday:`narrow`,timeZone:`UTC`});return(b[0]??[]).map(t=>e.format(Date.parse(`${t.day}T00:00:00Z`)))},[o,b]),S=new Intl.DateTimeFormat(o??`en`,{year:`numeric`,month:`long`,timeZone:`UTC`}).format(Date.UTC(m.year,m.month-1,1)),w=t=>ls(f??e,t),T=e=>{h({year:Number(e.slice(0,4)),month:Number(e.slice(5,7))})},E=e=>{c.trim()===``?r(``,e):f===void 0?(d(!0),_.current?.focus()):r(f,e)},ee=e=>{let t=w(ps(p??s,e));l(t),d(!1),T(t.slice(0,10))},te=e=>{e.nativeEvent.isComposing||(e.stopPropagation(),e.key===`Escape`?(e.preventDefault(),i()):e.key===`Enter`?(e.preventDefault(),E(e.shiftKey?`shift-enter`:`enter`)):e.key===`Tab`?(e.preventDefault(),E(e.shiftKey?`shift-tab`:`tab`)):e.key===`ArrowDown`||e.key===`ArrowUp`?(e.preventDefault(),ee((e.key===`ArrowDown`?1:-1)*(e.shiftKey?7:1))):(e.key===`PageDown`||e.key===`PageUp`)&&(e.preventDefault(),h(t=>cs(t,e.key===`PageDown`?1:-1))))},ne=f===void 0?void 0:Ss(f),D=e=>{e.preventDefault()};return(0,V.jsxs)(`div`,{ref:g,className:`sheet-editor sheet-date`,"data-inline":a?``:void 0,"data-wrong":u?``:void 0,"data-testid":`sheet-date-editor`,children:[(0,V.jsx)(`input`,{ref:_,className:`sheet-date-field`,value:c,placeholder:n.date.placeholder,"aria-label":n.types.date,"aria-invalid":u,spellCheck:!1,onChange:e=>{l(e.target.value),d(!1);let t=_s(e.target.value,s,o);t&&T(t.slice(0,10))},onKeyDown:te,onBlur:e=>{g.current?.contains(e.relatedTarget)||(c.trim()===``?r(``,`click`):f===void 0?i():r(f,`click`))}}),u&&(0,V.jsx)(`p`,{className:`sheet-editor-wrong`,role:`alert`,children:n.cell.notDate}),(0,V.jsxs)(`div`,{className:`sheet-date-month`,onMouseDown:D,children:[(0,V.jsx)(`span`,{className:`sheet-date-title`,children:S}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,tabIndex:-1,"aria-label":n.date.previousMonth,onClick:()=>{h(e=>cs(e,-1))},children:(0,V.jsx)(v,{size:14,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,tabIndex:-1,"aria-label":n.date.nextMonth,onClick:()=>{h(e=>cs(e,1))},children:(0,V.jsx)(P,{size:14,"aria-hidden":!0})})]}),(0,V.jsxs)(`div`,{className:`sheet-date-days`,role:`grid`,"aria-label":S,onMouseDown:D,children:[(0,V.jsx)(`div`,{className:`sheet-date-week`,role:`row`,children:x.map((e,t)=>(0,V.jsx)(`span`,{className:`sheet-date-weekday`,role:`columnheader`,children:e},t))}),b.map(e=>(0,V.jsx)(`div`,{className:`sheet-date-week`,role:`row`,children:e.map(e=>(0,V.jsx)(`button`,{type:`button`,role:`gridcell`,tabIndex:-1,className:`sheet-date-day`,"aria-selected":e.day===p,"data-out":e.inMonth?void 0:``,"data-today":e.day===s?``:void 0,"data-day":e.day,onClick:()=>{r(w(e.day),`click`)},children:Number(e.day.slice(8))},e.day))},e[0]?.day))]}),(0,V.jsxs)(`div`,{className:`sheet-date-foot`,onMouseDown:D,children:[(0,V.jsx)(`button`,{type:`button`,className:`sheet-date-action`,tabIndex:-1,onClick:()=>{r(w(s),`click`)},children:n.date.today}),f!==void 0&&(ne===void 0?(0,V.jsxs)(`button`,{type:`button`,className:`sheet-date-action`,tabIndex:-1,onClick:()=>{l(Cs(f,`09:00`))},children:[(0,V.jsx)(ze,{size:12,"aria-hidden":!0}),n.date.addTime]}):(0,V.jsxs)(`span`,{className:`sheet-date-time`,children:[(0,V.jsx)(ze,{size:12,"aria-hidden":!0}),(0,V.jsx)(`input`,{type:`time`,"aria-label":n.date.time,value:ne,onMouseDown:e=>{e.stopPropagation()},onChange:e=>{e.target.value!==``&&l(Cs(f,e.target.value))},onKeyDown:e=>{e.stopPropagation(),e.key===`Enter`?(e.preventDefault(),E(`enter`)):e.key===`Escape`&&(e.preventDefault(),i())}}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,tabIndex:-1,"aria-label":n.date.removeTime,onClick:()=>{l(Cs(f,void 0))},children:(0,V.jsx)(C,{size:12,"aria-hidden":!0})})]})),(0,V.jsx)(`button`,{type:`button`,className:`sheet-date-action`,"data-quiet":``,tabIndex:-1,onClick:()=>{r(``,`click`)},children:n.date.clear})]})]})}var Ts=c(m(),1),Es=350,Ds=320;function Os(e,t,n){return Xa(e,t).map(n)}function ks({path:e,height:t,dir:n,fileUrl:r,strings:i,onOpen:a}){let o=Os(n,e,r),[s,c]=(0,B.useState)(0),[l,u]=(0,B.useState)(),d=(0,B.useRef)(void 0),f=(0,B.useRef)(null),p=o[s];return(0,B.useEffect)(()=>()=>{window.clearTimeout(d.current)},[]),p===null?(0,V.jsx)(`span`,{className:`sheet-pic`,style:{height:t},"aria-hidden":!0}):p===void 0?(0,V.jsxs)(`span`,{className:`sheet-pic`,"data-missing":``,style:{height:t},title:`${e}: ${i.files.notFound}`,children:[(0,V.jsx)(We,{size:Math.min(14,t-6),"aria-hidden":!0}),t>=40&&(0,V.jsx)(`span`,{children:i.files.notFound})]}):(0,V.jsxs)(`button`,{ref:f,type:`button`,className:`sheet-pic`,style:{height:t},title:Yo(e),"aria-label":Yo(e),tabIndex:-1,onClick:e=>{e.stopPropagation(),window.clearTimeout(d.current),u(void 0),a?.()},onPointerEnter:()=>{t>=Ds/2||(window.clearTimeout(d.current),d.current=window.setTimeout(()=>{let e=f.current?.getBoundingClientRect();e&&u(e)},Es))},onPointerLeave:()=>{window.clearTimeout(d.current),u(void 0)},children:[(0,V.jsx)(`img`,{src:p,alt:``,loading:`lazy`,draggable:!1,onError:()=>{c(e=>e+1)}}),l&&(0,Ts.createPortal)((0,V.jsx)(`span`,{className:`sheet-pic-preview`,role:`presentation`,style:As(l),children:(0,V.jsx)(`img`,{src:p,alt:``})}),document.body)]})}function As(e){let t=Math.max(8,Math.min(e.left,window.innerWidth-344));return window.innerHeight-e.bottom>344?{left:t,top:e.bottom+6}:{left:t,bottom:window.innerHeight-e.top+6}}function js({column:e,value:t,strings:n,dir:r,fileUrl:i,height:a,onOpen:o}){let s=Jo(e,t),c=a??e.height??24,l=s.length===1,u=(0,B.useRef)(null),[d,f]=(0,B.useState)(0);return(0,B.useLayoutEffect)(()=>{let e=u.current;if(!e)return;let t=new ResizeObserver(()=>{let t=0;for(let n of e.children){let r=n;r.dataset.more===void 0&&r.offsetLeft+r.offsetWidth>e.clientWidth+1&&t++}f(t)});t.observe(e);for(let n of e.children)t.observe(n);return()=>{t.disconnect()}},[t,c]),(0,V.jsxs)(`span`,{ref:u,className:`sheet-files`,title:s.join(`
130
+ `),children:[s.map((e,t)=>qo.test(e)&&i?(0,V.jsx)(ks,{path:e,height:c,dir:r??``,fileUrl:i,strings:n,...o?{onOpen:()=>{o(t)}}:{}},`${e}-${String(t)}`):(0,V.jsxs)(`span`,{className:`sheet-file`,"data-only":l?``:void 0,children:[(0,V.jsx)(_e,{size:13,"aria-hidden":!0}),(0,V.jsx)(`span`,{className:`sheet-file-name`,children:Yo(e)})]},`${e}-${String(t)}`)),d>0&&(0,V.jsxs)(`span`,{className:`sheet-files-more`,"data-more":``,children:[`+`,d]})]})}function Ms({files:e,at:t,dir:n,fileUrl:r,strings:i,readOnly:a,onStep:o,onRemove:s,onClose:c}){let l=e[t],[u,d]=(0,B.useState)(0),[f,p]=(0,B.useState)(t);if(f!==t&&(p(t),d(0)),!l)return null;let m=Os(n,l.path,r)[u],h=qo.test(l.path),g=n=>{e.length>1&&o((t+n+e.length)%e.length)};return(0,V.jsx)(Ee,{open:!0,onOpenChange:e=>{e||c()},children:(0,V.jsxs)(fe,{className:`sheet-viewer`,showCloseButton:!1,"data-testid":`sheet-viewer`,tabIndex:-1,onOpenAutoFocus:e=>{e.preventDefault(),e.currentTarget?.focus()},onKeyDown:e=>{e.key===`ArrowLeft`?(e.preventDefault(),g(-1)):e.key===`ArrowRight`&&(e.preventDefault(),g(1))},children:[(0,V.jsxs)(`header`,{className:`sheet-viewer-bar`,children:[(0,V.jsxs)(`span`,{className:`sheet-viewer-names`,children:[(0,V.jsx)(A,{className:`sheet-viewer-name`,children:Yo(l.path)}),(0,V.jsxs)(`span`,{className:`sheet-viewer-row`,children:[l.title,e.length>1&&(0,V.jsx)(`span`,{className:`sheet-viewer-count`,children:i.files.of(t+1,e.length)})]})]}),typeof m==`string`&&(0,V.jsxs)(`a`,{className:`sheet-viewer-action`,href:m,target:`_blank`,rel:`noreferrer noopener`,children:[(0,V.jsx)(Ve,{size:14,"aria-hidden":!0}),i.files.open]}),!a&&(0,V.jsx)(`button`,{type:`button`,className:`sheet-viewer-action`,"data-testid":`sheet-viewer-remove`,onClick:()=>{s(l)},children:i.files.remove}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":i.files.close,title:i.files.close,onClick:c,children:(0,V.jsx)(C,{size:16,"aria-hidden":!0})})]}),(0,V.jsxs)(`div`,{className:`sheet-viewer-stage`,children:[e.length>1&&(0,V.jsx)(`button`,{type:`button`,className:`sheet-viewer-step`,"data-side":`left`,"aria-label":i.files.previous,title:i.files.previous,onClick:()=>{g(-1)},children:(0,V.jsx)(v,{size:20,"aria-hidden":!0})}),m===null?null:h&&m!==void 0?(0,V.jsx)(`img`,{className:`sheet-viewer-picture`,src:m,alt:Yo(l.path),onError:()=>{d(e=>e+1)}}):(0,V.jsxs)(`span`,{className:`sheet-viewer-file`,"data-missing":m===void 0?``:void 0,children:[m===void 0?(0,V.jsx)(We,{size:40,"aria-hidden":!0}):(0,V.jsx)(_e,{size:40,"aria-hidden":!0}),(0,V.jsx)(`span`,{children:m===void 0?i.files.notFound:l.path})]}),e.length>1&&(0,V.jsx)(`button`,{type:`button`,className:`sheet-viewer-step`,"data-side":`right`,"aria-label":i.files.next,title:i.files.next,onClick:()=>{g(1)},children:(0,V.jsx)(P,{size:20,"aria-hidden":!0})})]})]})})}function Ns({name:e,option:t}){return(0,V.jsx)(`span`,{className:`sheet-chip`,"data-color":t?.color??`gray`,"data-unknown":t?void 0:``,children:e})}function Ps({column:e,value:t,locale:n,strings:r,fileUrl:i,dir:a,height:o,onToggle:s,onOpen:c}){if(Ma(t))return e.type===`checkbox`?(0,V.jsx)(`button`,{type:`button`,className:`sheet-check`,"aria-checked":!1,role:`checkbox`,tabIndex:-1,onMouseDown:e=>{e.stopPropagation()},onClick:s}):null;let l=Ra(e,t);if(l!==void 0)return(0,V.jsx)(`span`,{className:`sheet-value`,"data-wrong":``,title:`“${t}” ${l}`,children:t});switch(e.type){case`checkbox`:{let e=Fa(t)===!0;return(0,V.jsx)(`button`,{type:`button`,className:`sheet-check`,role:`checkbox`,"aria-checked":e,tabIndex:-1,onMouseDown:e=>{e.stopPropagation()},onClick:s,children:e&&(0,V.jsx)(g,{size:12,strokeWidth:3,"aria-hidden":!0})})}case`select`:{let n=e.options?.find(e=>e.name===t.trim());return(0,V.jsx)(Ns,{name:t.trim(),...n?{option:n}:{}})}case`multi-select`:return(0,V.jsx)(`span`,{className:`sheet-chips`,children:Ia(t,e.separator).map((t,n)=>{let r=e.options?.find(e=>e.name===t);return(0,V.jsx)(Ns,{name:t,...r?{option:r}:{}},`${t}-${String(n)}`)})});case`url`:case`email`:case`phone`:{let n=za(e,t);return(0,V.jsxs)(`span`,{className:`sheet-link`,children:[(0,V.jsx)(`span`,{className:`sheet-link-text`,children:t}),n&&(0,V.jsx)(`a`,{className:`sheet-link-open`,href:n,target:`_blank`,rel:`noreferrer noopener`,title:r.cell.open,"aria-label":r.cell.open,onMouseDown:e=>{e.stopPropagation()},children:(0,V.jsx)(Ve,{size:12,"aria-hidden":!0})})]})}case`file`:return(0,V.jsx)(js,{column:e,value:t,strings:r,...a===void 0?{}:{dir:a},...i?{fileUrl:i}:{},...o===void 0?{}:{height:o},...c?{onOpen:c}:{}});default:return(0,V.jsx)(`span`,{className:`sheet-value`,children:Ga(e,t,n)})}}function Fs(e,t,n){if(!Ma(t))switch(e.type){case`number`:return Na(t)===void 0?n.cell.notNumber:void 0;case`date`:return Pa(t)===void 0?n.cell.notDate:void 0;case`email`:return Ra(e,t)===void 0?void 0:n.cell.notEmail;case`url`:return Ra(e,t)===void 0?void 0:n.cell.notUrl;default:return}}function Is(e){let{column:t}=e;return t.type===`select`||t.type===`multi-select`?(0,V.jsx)(Rs,{...e}):t.type===`date`?(0,V.jsx)(ws,{...e}):(0,V.jsx)(Ls,{...e})}function Ls({column:e,value:t,initial:n,strings:r,onCommit:i,onCancel:a,inline:o}){let[s,c]=(0,B.useState)(n??t),[l,u]=(0,B.useState)(),d=(0,B.useRef)(null),f=(0,B.useRef)(null),p=e.type===`text`;bs(f,l,!o),(0,B.useLayoutEffect)(()=>{let e=d.current;if(!e)return;e.focus();let t=e.value.length;e.setSelectionRange(t,t)},[]),(0,B.useLayoutEffect)(()=>{let e=d.current;e&&p&&(e.style.height=`auto`,e.style.height=`${String(e.scrollHeight)}px`)},[s,p]);let m=t=>{let n=e.type===`text`?s:s.trim(),a=Fs(e,n,r);a===void 0?i(n,t):(u(a),d.current?.focus())},h=e=>{e.nativeEvent.isComposing||(e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),a()):e.key===`Enter`&&!(p&&(e.shiftKey||e.altKey))?(e.preventDefault(),e.stopPropagation(),m(e.shiftKey?`shift-enter`:`enter`)):e.key===`Tab`?(e.preventDefault(),e.stopPropagation(),m(e.shiftKey?`shift-tab`:`tab`)):e.stopPropagation())},g=e.type===`number`?`1234.5`:void 0;return(0,V.jsxs)(`div`,{ref:f,className:`sheet-editor`,"data-inline":o?``:void 0,"data-wrong":l?``:void 0,children:[(0,V.jsx)(`textarea`,{ref:d,className:`sheet-editor-input`,"data-type":e.type,rows:1,value:s,spellCheck:e.type===`text`,...g?{placeholder:g}:{},onChange:e=>{c(e.target.value),u(void 0)},onKeyDown:h,onBlur:t=>{if(o||f.current?.contains(t.relatedTarget))return;let n=e.type===`text`?s:s.trim();Fs(e,n,r)===void 0?i(n,`click`):a()},"aria-invalid":l!==void 0}),l&&(0,V.jsx)(`p`,{className:`sheet-editor-wrong`,role:`alert`,children:l})]})}function Rs({column:e,value:t,initial:n,strings:r,onCommit:i,onCancel:a,onAddOption:o,inline:s}){let c=e.type===`multi-select`,l=(0,B.useMemo)(()=>e.options??[],[e.options]),[u,d]=(0,B.useState)(()=>c?Ia(t,e.separator):t.trim()===``?[]:[t.trim()]),[f,p]=(0,B.useState)(n??``),[m,h]=(0,B.useState)(0),_=(0,B.useRef)(null),v=(0,B.useRef)(null);(0,B.useEffect)(()=>{_.current?.focus()},[]);let y=f.trim().toLowerCase(),b=l.filter(e=>e.name.toLowerCase().includes(y)),x=l.some(e=>e.name.toLowerCase()===y),S=y!==``&&!x&&o!==void 0&&!f.includes(e.separator??`;`),w=b.length+ +!!S;bs(v,w,!s);let T=(t,n)=>{i(c?La(t,e.separator):t[0]??``,n)},E=(e,t)=>{if(c){let t=u.includes(e)?u.filter(t=>t!==e):[...u,e];d(t),p(``),s&&T(t,`click`)}else T([e],t)},ee=e=>{let t=f.trim();o?.(t),E(t,e)};return(0,V.jsxs)(`div`,{ref:v,className:`sheet-editor sheet-options`,"data-inline":s?``:void 0,children:[(0,V.jsxs)(`div`,{className:`sheet-options-field`,children:[u.map(e=>{let t=l.find(t=>t.name===e);return(0,V.jsxs)(`span`,{className:`sheet-options-chosen`,children:[(0,V.jsx)(Ns,{name:e,...t?{option:t}:{}}),(0,V.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-label":`${r.cell.clear} ${e}`,onMouseDown:e=>{e.preventDefault()},onClick:()=>{let t=u.filter(t=>t!==e);d(t),(!c||s)&&T(t,`click`)},children:(0,V.jsx)(C,{size:11,"aria-hidden":!0})})]},e)}),(0,V.jsx)(`input`,{ref:_,className:`sheet-options-input`,value:f,placeholder:u.length===0?r.column.addOption:``,onChange:e=>{p(e.target.value),h(0)},onKeyDown:n=>{if(!n.nativeEvent.isComposing){if(n.stopPropagation(),n.key===`Escape`)n.preventDefault(),c&&u.join(`\0`)!==Ia(t,e.separator).join(`\0`)?T(u,`click`):a();else if(n.key===`ArrowDown`)n.preventDefault(),h(e=>Math.min(w-1,e+1));else if(n.key===`ArrowUp`)n.preventDefault(),h(e=>Math.max(0,e-1));else if(n.key===`Enter`){if(n.preventDefault(),y===``&&c){T(u,n.shiftKey?`shift-enter`:`enter`);return}let e=b[m];e?E(e.name,n.shiftKey?`shift-enter`:`enter`):S?ee(n.shiftKey?`shift-enter`:`enter`):y===``&&!c&&T([],`enter`)}else n.key===`Tab`?(n.preventDefault(),T(u,n.shiftKey?`shift-tab`:`tab`)):n.key===`Backspace`&&f===``&&u.length>0&&(n.preventDefault(),d(u.slice(0,-1)))}},onBlur:()=>{!s&&c?T(u,`click`):s||a()}})]}),(0,V.jsxs)(`ul`,{className:`sheet-options-list`,role:`listbox`,"aria-multiselectable":c,children:[b.map((e,t)=>(0,V.jsxs)(`li`,{role:`option`,"aria-selected":u.includes(e.name),"data-active":t===m?``:void 0,onMouseDown:e=>{e.preventDefault()},onMouseEnter:()=>{h(t)},onClick:()=>{E(e.name,`click`)},children:[(0,V.jsx)(Ns,{name:e.name,option:e}),u.includes(e.name)&&(0,V.jsx)(g,{size:13,"aria-hidden":!0,className:`sheet-options-tick`})]},e.name)),S&&(0,V.jsxs)(`li`,{role:`option`,"aria-selected":!1,"data-active":m===b.length?``:void 0,onMouseDown:e=>{e.preventDefault()},onClick:()=>{ee(`click`)},children:[(0,V.jsx)(Se,{size:13,"aria-hidden":!0}),(0,V.jsx)(`span`,{children:r.column.newOption(f.trim())})]})]})]})}function zs({column:e,canHide:t,strings:n,actions:r,open:i,onOpenChange:a}){let o=n.column,s=Go(e);return(0,V.jsxs)(Te,{modal:!1,open:i,onOpenChange:a,children:[(0,V.jsx)(be,{asChild:!0,children:(0,V.jsx)(`span`,{className:`sheet-head-anchor`,"aria-hidden":!0})}),(0,V.jsxs)(xe,{align:`start`,className:`sheet-menu`,"data-testid":`sheet-column-menu`,onCloseAutoFocus:e=>{e.preventDefault()},children:[(0,V.jsxs)(M,{onSelect:r.rename,children:[(0,V.jsx)(Je,{"aria-hidden":!0}),o.rename]}),(0,V.jsxs)(j,{children:[(0,V.jsxs)(de,{"data-testid":`sheet-format`,children:[(0,V.jsx)(R,{"aria-hidden":!0}),o.format]}),(0,V.jsxs)(N,{className:`sheet-menu`,children:[s===void 0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(M,{disabled:!0,className:`sheet-menu-note`,children:[(0,V.jsx)(g,{"aria-hidden":!0}),n.types[e.type]]}),(0,V.jsx)(ge,{})]}),Wo.map(e=>(0,V.jsxs)(M,{"data-testid":`sheet-format-${e}`,onSelect:()=>{e!==s&&r.format(e)},children:[e===s?(0,V.jsx)(g,{"aria-hidden":!0}):(0,V.jsx)(`span`,{className:`sheet-menu-blank`,"aria-hidden":!0}),o.formats[e]]},e))]})]}),(0,V.jsx)(ge,{}),(0,V.jsxs)(M,{onSelect:()=>{r.insert(`left`)},children:[(0,V.jsx)(je,{"aria-hidden":!0}),o.insertLeft]}),(0,V.jsxs)(M,{onSelect:()=>{r.insert(`right`)},children:[(0,V.jsx)(Me,{"aria-hidden":!0}),o.insertRight]}),t&&(0,V.jsxs)(M,{onSelect:r.hide,children:[(0,V.jsx)(F,{"aria-hidden":!0}),o.hide]}),(0,V.jsx)(ge,{}),(0,V.jsxs)(M,{variant:`destructive`,onSelect:r.remove,children:[(0,V.jsx)(b,{"aria-hidden":!0}),o.remove]})]})]})}function Bs(e,t){let n=t.auto;return e.key===`∅`?n.blanks:e.key===`b:true`?n.checked:e.key===`b:false`?n.unchecked:e.key===`f:any`?n.hasFile:e.label}function Vs(e,t){let n=e.options?.find(e=>e.name===t);return n?{option:n}:{}}var Hs=1e3;function Us({name:e,column:t,values:n,ticked:r,sort:i,strings:a,locale:o,trigger:s,onSort:c,onTicked:l}){let u=a.auto,[d,f]=(0,B.useState)(!1),[p,m]=(0,B.useState)([]),[h,g]=(0,B.useState)(new Set),[_,v]=(0,B.useState)(``),y=t.type===`number`?`number`:t.type===`date`?`date`:t.type===`select`||t.type===`multi-select`?`options`:`text`,b=y===`options`,x=(0,B.useMemo)(()=>{let e=_.trim().toLocaleLowerCase(o);return e===``?p:p.filter(t=>Bs(t,a).toLocaleLowerCase(o).includes(e))},[p,_,a,o]),S=x.length>0&&x.every(e=>h.has(e.key)),C=x.some(e=>h.has(e.key)),w=()=>{f(!1)};return(0,V.jsxs)(es,{open:d,onOpenChange:e=>{if(e){let e=n();m(e),g(new Set(r??e.map(e=>e.key))),v(``)}f(e)},children:[(0,V.jsx)(ts,{asChild:!0,children:s}),(0,V.jsxs)(ns,{align:`start`,className:`sheet-pop sheet-autofilter`,"data-testid":`sheet-autofilter`,"aria-label":u.button(e),onKeyDown:e=>{e.stopPropagation()},children:[(0,V.jsxs)(`button`,{type:`button`,className:`sheet-auto-sort`,"data-on":i===`asc`?``:void 0,"data-testid":`sheet-sort-asc`,onClick:()=>{c(!1),w()},children:[(0,V.jsx)(Ne,{size:14,"aria-hidden":!0}),u.sortAsc[y]]}),(0,V.jsxs)(`button`,{type:`button`,className:`sheet-auto-sort`,"data-on":i===`desc`?``:void 0,"data-testid":`sheet-sort-desc`,onClick:()=>{c(!0),w()},children:[(0,V.jsx)(ke,{size:14,"aria-hidden":!0}),u.sortDesc[y]]}),(0,V.jsx)(`div`,{className:`sheet-auto-rule`,role:`separator`}),(0,V.jsxs)(`label`,{className:`sheet-auto-search`,children:[(0,V.jsx)(Qe,{size:13,"aria-hidden":!0}),(0,V.jsx)(`input`,{value:_,placeholder:u.search,"aria-label":u.search,"data-testid":`sheet-autofilter-search`,onChange:e=>{v(e.target.value)}})]}),(0,V.jsxs)(`div`,{className:`sheet-auto-list`,role:`group`,"aria-label":e,children:[x.length>0&&(0,V.jsxs)(`label`,{className:`sheet-auto-row`,"data-all":``,children:[(0,V.jsx)(`input`,{type:`checkbox`,checked:S,ref:e=>{e&&(e.indeterminate=!S&&C)},onChange:()=>{g(e=>{let t=new Set(e);for(let e of x)S?t.delete(e.key):t.add(e.key);return t})}}),(0,V.jsx)(`span`,{className:`sheet-auto-label`,children:_.trim()===``?u.selectAll:u.selectFound})]}),x.slice(0,Hs).map(e=>(0,V.jsxs)(`label`,{className:`sheet-auto-row`,children:[(0,V.jsx)(`input`,{type:`checkbox`,checked:h.has(e.key),onChange:()=>{g(t=>{let n=new Set(t);return n.has(e.key)?n.delete(e.key):n.add(e.key),n})}}),(0,V.jsx)(`span`,{className:`sheet-auto-label`,"data-quiet":e.key===`∅`?``:void 0,children:b&&e.key!==`∅`?(0,V.jsx)(Ns,{name:e.label,...Vs(t,e.label)}):Bs(e,a)}),(0,V.jsx)(`span`,{className:`sheet-auto-count`,children:e.count})]},e.key)),x.length>Hs&&(0,V.jsx)(`p`,{className:`sheet-auto-more`,children:u.more(x.length-Hs)}),x.length===0&&(0,V.jsx)(`p`,{className:`sheet-auto-more`,children:u.none})]}),(0,V.jsxs)(`div`,{className:`sheet-auto-foot`,children:[r!==void 0&&(0,V.jsx)(he,{variant:`ghost`,size:`xs`,"data-testid":`sheet-autofilter-clear`,onClick:()=>{l(void 0),w()},children:u.clear}),(0,V.jsx)(`span`,{className:`sheet-auto-gap`}),(0,V.jsx)(he,{variant:`ghost`,size:`xs`,onClick:w,children:a.column.cancel}),(0,V.jsx)(he,{size:`xs`,"data-testid":`sheet-autofilter-ok`,disabled:h.size===0,onClick:()=>{let e=p.filter(e=>h.has(e.key));l(e.length===p.length?void 0:e),w()},children:u.ok})]})]})]})}function Ws(e,t,n){let r=n.initialDeps??[],i;function a(){var a;let o;n.key&&n.debug?.call(n)&&(o=Date.now());let s=e();if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug?.call(n)&&(c=Date.now()),i=t(...s),n.key&&n.debug?.call(n)){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
131
131
  font-size: .6rem;
132
132
  font-weight: bold;
133
133
  color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return(a=n?.onChange)==null||a.call(n,i),i}return a.updateDeps=e=>{r=e},a}function Gs(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var Ks=(e,t)=>Math.abs(e-t)<1.01,qs=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},Js=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},Ys=e=>e,Xs=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1),r=[];for(let e=t;e<=n;e++)r.push(e);return r},Zs=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Js(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(Js(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},Qs={passive:!0},$s=typeof window>`u`||`onscrollend`in window,ec=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=0,a=e.options.useScrollendEvent&&$s?()=>void 0:qs(r,()=>{t(i,!1)},e.options.isScrollingResetDelay),o=r=>()=>{let{horizontal:o,isRtl:s}=e.options;i=o?n.scrollLeft*(s&&-1||1):n.scrollTop,a(),t(i,r)},s=o(!0),c=o(!1);c(),n.addEventListener(`scroll`,s,Qs);let l=e.options.useScrollendEvent&&$s;return l&&n.addEventListener(`scrollend`,c,Qs),()=>{n.removeEventListener(`scroll`,s),l&&n.removeEventListener(`scrollend`,c)}},tc=(e,t,n)=>{if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},nc=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;let o=e+t;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:o,behavior:n})},rc=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this.elementsCache=new Map,this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{this._measureElement(e.target,e)};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{Object.entries(e).forEach(([t,n])=>{n===void 0&&delete e[t]}),this.options={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Ys,rangeExtractor:Xs,onChange:()=>{},measureElement:tc,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,...e}},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=Ws(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this.maybeNotify()}))}},this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=Ws(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled],(e,t,n,r,i)=>(this.pendingMeasuredCacheIndexes=[],{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i}),{key:!1}),this.getMeasurements=Ws(()=>[this.getMeasurementOptions(),this.itemSizeCache],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i},a)=>{if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),[];this.measurementsCache.length===0&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let o=this.pendingMeasuredCacheIndexes.length>0?Math.min(...this.pendingMeasuredCacheIndexes):0;this.pendingMeasuredCacheIndexes=[];let s=this.measurementsCache.slice(0,o);for(let i=o;i<e;i++){let e=r(i),o=this.options.lanes===1?s[i-1]:this.getFurthestMeasurement(s,i),c=o?o.end+this.options.gap:t+n,l=a.get(e),u=typeof l==`number`?l:this.options.estimateSize(i),d=c+u,f=o?o.lane:i%this.options.lanes;s[i]={index:i,start:c,size:u,end:d,key:e,lane:f}}return this.measurementsCache=s,s},{key:!1,debug:()=>this.options.debug}),this.calculateRange=Ws(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?ac({measurements:e,outerSize:t,scrollOffset:n,lanes:r}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=Ws(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this._measureElement=(e,t)=>{let n=this.indexFromElement(e),r=this.measurementsCache[n];if(!r)return;let i=r.key,a=this.elementsCache.get(i);a!==e&&(a&&this.observer.unobserve(a),this.observer.observe(e),this.elementsCache.set(i,e)),e.isConnected&&this.resizeItem(n,this.options.measureElement(e,t,this))},this.resizeItem=(e,t)=>{let n=this.measurementsCache[e];if(!n)return;let r=t-(this.itemSizeCache.get(n.key)??n.size);r!==0&&((this.shouldAdjustScrollPositionOnItemSizeChange===void 0?n.start<this.getScrollOffset()+this.scrollAdjustments:this.shouldAdjustScrollPositionOnItemSizeChange(n,r,this))&&this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=r,behavior:void 0}),this.pendingMeasuredCacheIndexes.push(n.index),this.itemSizeCache=new Map(this.itemSizeCache.set(n.key,t)),this.notify(!1))},this.measureElement=e=>{e?this._measureElement(e,void 0):this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))})},this.getVirtualItems=Ws(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length!==0)return Gs(t[ic(0,t.length-1,e=>Gs(t[e]).start,e)])},this.getOffsetForAlignment=(e,t,n=0)=>{let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getTotalSize()+this.options.scrollMargin-r;return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.measurementsCache[e];if(!n)return;let r=this.getSize(),i=this.getScrollOffset();if(t===`auto`){if(n.end>=i+r-this.options.scrollPaddingEnd)t=`end`;else if(n.start<=i+this.options.scrollPaddingStart)t=`start`;else return[i,t]}let a=t===`end`?n.end+this.options.scrollPaddingEnd:n.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,n.size),t]},this.isDynamicMode=()=>this.elementsCache.size>0,this.scrollToOffset=(e,{align:t=`start`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getOffsetForAlignment(e,t),{adjustments:void 0,behavior:n})},this.scrollToIndex=(e,{align:t=`auto`,behavior:n}={})=>{n===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),e=Math.max(0,Math.min(e,this.options.count-1));let r=0,i=t=>{if(!this.targetWindow)return;let r=this.getOffsetForIndex(e,t);if(!r){console.warn(`Failed to get offset for index:`,e);return}let[i,o]=r;this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.targetWindow.requestAnimationFrame(()=>{let t=this.getScrollOffset(),n=this.getOffsetForIndex(e,o);n?Ks(n[0],t)||a(o):console.warn(`Failed to get offset for index:`,e)})},a=t=>{this.targetWindow&&(r++,r<10?this.targetWindow.requestAnimationFrame(()=>i(t)):console.warn(`Failed to scroll to index ${e} after 10 attempts.`))};i(t)},this.scrollBy=(e,{behavior:t}={})=>{t===`smooth`&&this.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),this._scrollToOffset(this.getScrollOffset()+e,{adjustments:void 0,behavior:t})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1)t=e[e.length-1]?.end??0;else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.itemSizeCache=new Map,this.notify(!1)},this.setOptions(e)}},ic=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function ac({measurements:e,outerSize:t,scrollOffset:n,lanes:r}){let i=e.length-1,a=t=>e[t].start;if(e.length<=r)return{startIndex:0,endIndex:i};let o=ic(0,i,a,n),s=o;if(r===1)for(;s<i&&e[s].end<n+t;)s++;else if(r>1){let a=Array(r).fill(0);for(;s<i&&a.some(e=>e<n+t);){let t=e[s];a[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(i,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var oc=typeof document<`u`?B.useLayoutEffect:B.useEffect;function sc(e){let t=B.useReducer(()=>({}),{})[1],n={...e,onChange:(n,r)=>{var i;r?(0,Ts.flushSync)(t):t(),(i=e.onChange)==null||i.call(e,n,r)}},[r]=B.useState(()=>new rc(n));return r.setOptions(n),oc(()=>r._didMount(),[]),oc(()=>r._willUpdate()),r}function cc(e){return sc({observeElementRect:Zs,observeElementOffset:ec,scrollToFn:nc,...e})}function lc(e,t){return typeof e==`function`?e(t):e}function uc(e,t){return n=>{t.setState(t=>({...t,[e]:lc(n,t[e])}))}}function dc(e){return e instanceof Function}function fc(e){return Array.isArray(e)&&e.every(e=>typeof e==`number`)}function pc(e,t){let n=[],r=e=>{e.forEach(e=>{n.push(e);let i=t(e);i!=null&&i.length&&r(i)})};return r(e),n}function Q(e,t,n){let r=[],i;return a=>{let o;n.key&&n.debug&&(o=Date.now());let s=e(a);if(!(s.length!==r.length||s.some((e,t)=>r[t]!==e)))return i;r=s;let c;if(n.key&&n.debug&&(c=Date.now()),i=t(...s),n==null||n.onChange==null||n.onChange(i),n.key&&n.debug&&n!=null&&n.debug()){let e=Math.round((Date.now()-o)*100)/100,t=Math.round((Date.now()-c)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
134
134
  font-size: .6rem;
135
135
  font-weight: bold;
136
- color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return i}}function $(e,t,n,r){return{debug:()=>e?.debugAll??e[t],key:!1,onChange:r}}function mc(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:Q(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),$(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function hc(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:Q(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],$(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:Q(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},$(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var gc=`debugHeaders`;function _c(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var vc={createTable:e=>{e.getHeaderGroups=Q(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return yc(t,[...a,...s,...o],e)},$(e.options,gc,`getHeaderGroups`)),e.getCenterHeaderGroups=Q(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),yc(t,n,e,`center`)),$(e.options,gc,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=Q(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>yc(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),$(e.options,gc,`getLeftHeaderGroups`)),e.getRightHeaderGroups=Q(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>yc(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),$(e.options,gc,`getRightHeaderGroups`)),e.getFooterGroups=Q(()=>[e.getHeaderGroups()],e=>[...e].reverse(),$(e.options,gc,`getFooterGroups`)),e.getLeftFooterGroups=Q(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),$(e.options,gc,`getLeftFooterGroups`)),e.getCenterFooterGroups=Q(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),$(e.options,gc,`getCenterFooterGroups`)),e.getRightFooterGroups=Q(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),$(e.options,gc,`getRightFooterGroups`)),e.getFlatHeaders=Q(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),$(e.options,gc,`getFlatHeaders`)),e.getLeftFlatHeaders=Q(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),$(e.options,gc,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=Q(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),$(e.options,gc,`getCenterFlatHeaders`)),e.getRightFlatHeaders=Q(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),$(e.options,gc,`getRightFlatHeaders`)),e.getCenterLeafHeaders=Q(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),$(e.options,gc,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=Q(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),$(e.options,gc,`getLeftLeafHeaders`)),e.getRightLeafHeaders=Q(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),$(e.options,gc,`getRightLeafHeaders`)),e.getLeafHeaders=Q(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),$(e.options,gc,`getLeafHeaders`))}};function yc(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=_c(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>_c(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var bc=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>pc(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:Q(()=>[e.getAllLeafColumns()],t=>t.map(t=>mc(e,s,t,t.id)),$(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:Q(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),$(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t<e._features.length;t++){let n=e._features[t];n==null||n.createRow==null||n.createRow(s,e)}return s},xc={createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},Sc=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!((i=e.getValue(t))!=null&&(i=i.toString())!=null&&(i=i.toLowerCase())!=null&&i.includes(a))};Sc.autoRemove=e=>Mc(e);var Cc=(e,t,n)=>{var r;return!!((r=e.getValue(t))!=null&&(r=r.toString())!=null&&r.includes(n))};Cc.autoRemove=e=>Mc(e);var wc=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};wc.autoRemove=e=>Mc(e);var Tc=(e,t,n)=>e.getValue(t)?.includes(n);Tc.autoRemove=e=>Mc(e);var Ec=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});Ec.autoRemove=e=>Mc(e)||!(e!=null&&e.length);var Dc=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));Dc.autoRemove=e=>Mc(e)||!(e!=null&&e.length);var Oc=(e,t,n)=>e.getValue(t)===n;Oc.autoRemove=e=>Mc(e);var kc=(e,t,n)=>e.getValue(t)==n;kc.autoRemove=e=>Mc(e);var Ac=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};Ac.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},Ac.autoRemove=e=>Mc(e)||Mc(e[0])&&Mc(e[1]);var jc={includesString:Sc,includesStringSensitive:Cc,equalsString:wc,arrIncludes:Tc,arrIncludesAll:Ec,arrIncludesSome:Dc,equals:Oc,weakEquals:kc,inNumberRange:Ac};function Mc(e){return e==null||e===``}var Nc={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:uc(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?jc.includesString:typeof n==`number`?jc.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?jc.equals:Array.isArray(n)?jc.arrIncludes:jc.weakEquals},e.getFilterFn=()=>dc(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??jc[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=lc(n,i?i.value:void 0);if(Pc(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>lc(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&Pc(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function Pc(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var Fc={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r<n||r===void 0&&n>=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i<n&&(i=n)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!fc(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},Ic={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:uc(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return Fc.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return Fc.extent},e.getAggregationFn=()=>{if(!e)throw Error();return dc(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??Fc[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function Lc(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var Rc={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:uc(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=Q(e=>[Yc(t,e)],t=>t.findIndex(t=>t.id===e.id),$(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>Yc(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=Yc(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=Q(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return Lc(i,t,n)},$(e.options,`debugTable`,`_getOrderColumnsFn`))}},zc=()=>({left:[],right:[]}),Bc={getInitialState:e=>({columnPinning:zc(),...e}),getDefaultOptions:e=>({onColumnPinningChange:uc(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=Q(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},$(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=Q(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),$(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=Q(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),$(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?zc():e.initialState?.columnPinning??zc()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=Q(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),$(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=Q(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),$(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=Q(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},$(e.options,`debugColumns`,`getCenterLeafColumns`))}};function Vc(e){return e||(typeof document<`u`?document:null)}var Hc={size:150,minSize:20,maxSize:2**53-1},Uc=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Wc={getDefaultColumnDef:()=>Hc,getInitialState:e=>({columnSizing:{},columnSizingInfo:Uc(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:uc(`columnSizing`,e),onColumnSizingInfoChange:uc(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??Hc.minSize,n??e.columnDef.size??Hc.size),e.columnDef.maxSize??Hc.maxSize)},e.getStart=Q(e=>[e,Yc(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),$(t.options,`debugColumns`,`getStart`)),e.getAfter=Q(e=>[e,Yc(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),$(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),qc(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=qc(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=Vc(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=Kc()?{passive:!1}:!1;qc(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?Uc():e.initialState.columnSizingInfo??Uc())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},Gc=null;function Kc(){if(typeof Gc==`boolean`)return Gc;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return Gc=e,Gc}function qc(e){return e.type===`touchstart`}var Jc={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:uc(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=Q(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),$(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=Q(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],$(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>Q(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),$(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function Yc(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var Xc={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Zc={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:uc(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>jc.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return dc(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??jc[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},Qc={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:uc(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t)e._queue(()=>{t=!0});else if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0||!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},$c=0,el=10,tl=()=>({pageIndex:$c,pageSize:el}),nl={getInitialState:e=>({...e,pagination:{...tl(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:uc(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t)e._queue(()=>{t=!0});else if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>lc(t,e)),e.resetPagination=t=>{e.setPagination(t?tl():e.initialState.pagination??tl())},e.setPageIndex=t=>{e.setPagination(n=>{let r=lc(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?$c:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??$c)},e.resetPageSize=t=>{var n;e.setPageSize(t?el:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??el)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,lc(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=lc(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=Q(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},$(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1||n!==0&&t<n-1},e.previousPage=()=>e.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},rl=()=>({top:[],bottom:[]}),il={getInitialState:e=>({rowPinning:rl(),...e}),getDefaultOptions:e=>({onRowPinningChange:uc(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?rl():e.initialState?.rowPinning??rl()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=Q(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),$(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=Q(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),$(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=Q(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},$(e.options,`debugRows`,`getCenterRows`))}},al={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:uc(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{ol(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=Q(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?sl(e,n):{rows:[],flatRows:[],rowsById:{}},$(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=Q(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?sl(e,n):{rows:[],flatRows:[],rowsById:{}},$(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=Q(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?sl(e,n):{rows:[],flatRows:[],rowsById:{}},$(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows;return!e.getIsAllPageRowsSelected()&&t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return ol(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return cl(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return ll(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return ll(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},ol=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>ol(e,t.id,n,r,i))};function sl(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=cl(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function cl(e,t){return t[e.id]??!1}function ll(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if((!a||i)&&(e.getCanSelect()&&(cl(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=ll(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var ul=/([0-9]+)/gm,dl=(e,t,n)=>yl(vl(e.getValue(n)).toLowerCase(),vl(t.getValue(n)).toLowerCase()),fl=(e,t,n)=>yl(vl(e.getValue(n)),vl(t.getValue(n))),pl=(e,t,n)=>_l(vl(e.getValue(n)).toLowerCase(),vl(t.getValue(n)).toLowerCase()),ml=(e,t,n)=>_l(vl(e.getValue(n)),vl(t.getValue(n))),hl=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},gl=(e,t,n)=>_l(e.getValue(n),t.getValue(n));function _l(e,t){return e===t?0:e>t?1:-1}function vl(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function yl(e,t){let n=e.split(ul).filter(Boolean),r=t.split(ul).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1}else{if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}}return n.length-r.length}var bl={alphanumeric:dl,alphanumericCaseSensitive:fl,text:pl,textCaseSensitive:ml,datetime:hl,basic:gl},xl=[vc,Jc,Rc,Bc,xc,Nc,Xc,Zc,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:uc(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return bl.datetime;if(typeof n==`string`&&(r=!0,n.split(ul).length>1))return bl.alphanumeric}return r?bl.text:bl.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return dc(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??bl[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},Ic,Qc,nl,il,al,Wc];function Sl(e){let t=[...xl,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{let t=lc(e,n.options);n.options=i(t)},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:Q(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),$(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:Q(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=hc(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},$(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:Q(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),$(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:Q(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),$(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:Q(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),$(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;e<n._features.length;e++){let t=n._features[e];t==null||t.createTable==null||t.createTable(n)}return n}function Cl(){return e=>Q(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;c<t.length;c++){let l=bc(e,e._getRowId(t[c],c,a),t[c],c,i,void 0,a?.id);if(n.flatRows.push(l),n.rowsById[l.id]=l,o.push(l),e.options.getSubRows){var s;l.originalSubRows=e.options.getSubRows(t[c],c),(s=l.originalSubRows)!=null&&s.length&&(l.subRows=r(l.originalSubRows,i+1,l))}}return o};return n.rows=r(t),n},$(e.options,`debugTable`,`getRowModel`,()=>e._autoResetPageIndex()))}function wl(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=B.useState(()=>({current:Sl(t)})),[r,i]=B.useState(()=>n.current.initialState);return n.current.setOptions(t=>({...t,...e,state:{...r,...e.state},onStateChange:t=>{i(t),e.onStateChange==null||e.onStateChange(t)}})),n.current}function Tl(e,t=14){let n={size:t,"aria-hidden":!0,className:`sheet-type-icon`};switch(e){case`number`:return(0,V.jsx)(I,{...n});case`select`:return(0,V.jsx)(Le,{...n});case`multi-select`:return(0,V.jsx)(x,{...n});case`date`:return(0,V.jsx)(Ie,{...n});case`checkbox`:return(0,V.jsx)(z,{...n});case`url`:return(0,V.jsx)(Ge,{...n});case`email`:return(0,V.jsx)(Fe,{...n});case`phone`:return(0,V.jsx)(Ye,{...n});case`file`:return(0,V.jsx)(qe,{...n});default:return(0,V.jsx)($e,{...n})}}var El=1,Dl=()=>El++,Ol=e=>({columns:[...e.columns],rows:e.rows.map(e=>({id:Dl(),cells:e}))}),kl=e=>({columns:e.columns,rows:e.rows.map(e=>e.cells)}),Al=e=>new Map(e.rows.map((e,t)=>[e.id,t]));function jl(e,t){let n=[...e];for(let{row:e,after:r}of t){let t=r===null?0:n.findIndex(e=>e.id===r)+1;n.splice(t<=0&&r!==null?n.length:t,0,{id:e.id,cells:e.cells})}return n}function Ml(e,t){let{table:n,texts:r}=e;switch(t.kind){case`cells`:{let e=Al(n),i=[...n.rows];for(let r of t.changes){let t=e.get(r.id),a=n.columns.indexOf(r.column);if(t===void 0||a<0)continue;let o=i[t];if(!o)continue;let s=[...o.cells];s[a]=r.after,i[t]={id:o.id,cells:s}}return{table:{columns:n.columns,rows:i},texts:r}}case`insert`:return{table:{columns:n.columns,rows:jl(n.rows,t.rows)},texts:r};case`remove`:{let e=new Set(t.rows.map(e=>e.row.id));return{table:{columns:n.columns,rows:n.rows.filter(t=>!e.has(t.id))},texts:r}}case`order`:{let e=new Map(n.rows.map(e=>[e.id,e])),i=[];for(let n of t.after){let t=e.get(n);t&&(i.push(t),e.delete(n))}return i.push(...e.values()),{table:{columns:n.columns,rows:i},texts:r}}case`insert-column`:{if(n.columns.includes(t.name))return e;let i=Math.max(0,Math.min(t.at,n.columns.length)),a=[...n.columns];return a.splice(i,0,t.name),{table:{columns:a,rows:n.rows.map(e=>{let n=[...e.cells];return n.splice(i,0,t.values.get(e.id)??``),{id:e.id,cells:n}})},texts:r}}case`remove-column`:{let i=n.columns.indexOf(t.name);return i<0?e:{table:{columns:n.columns.filter((e,t)=>t!==i),rows:n.rows.map(e=>({id:e.id,cells:e.cells.filter((e,t)=>t!==i)}))},texts:r}}case`rename-column`:{let i=n.columns.indexOf(t.from);if(i<0||n.columns.includes(t.to))return e;let a=[...n.columns];return a[i]=t.to,{table:{columns:a,rows:n.rows},texts:r}}case`move-column`:{let i=n.columns.indexOf(t.name);if(i<0)return e;let a=Math.max(0,Math.min(t.to,n.columns.length-1)),o=[...n.columns];return o.splice(i,1),o.splice(a,0,t.name),{table:{columns:o,rows:n.rows.map(e=>{let t=[...e.cells],[n]=t.splice(i,1);return t.splice(a,0,n??``),{id:e.id,cells:t}})},texts:r}}case`spec`:return{table:n,texts:{spec:t.after}};case`batch`:return t.edits.reduce(Ml,e)}}function Nl(e){switch(e.kind){case`cells`:return{kind:`cells`,changes:e.changes.map(e=>({...e,before:e.after,after:e.before}))};case`insert`:return{kind:`remove`,rows:e.rows};case`remove`:return{kind:`insert`,rows:e.rows};case`order`:return{kind:`order`,before:e.after,after:e.before};case`insert-column`:return{...e,kind:`remove-column`};case`remove-column`:return{...e,kind:`insert-column`};case`rename-column`:return{kind:`rename-column`,from:e.to,to:e.from};case`move-column`:return{kind:`move-column`,name:e.name,from:e.to,to:e.from};case`spec`:return{kind:`spec`,before:e.after,after:e.before};case`batch`:return{kind:`batch`,edits:[...e.edits].reverse().map(Nl)}}}function Pl(e){switch(e.kind){case`cells`:return e.changes.every(e=>e.before===e.after);case`insert`:case`remove`:return e.rows.length===0;case`order`:return e.before.length===e.after.length&&e.before.every((t,n)=>e.after[n]===t);case`rename-column`:return e.from===e.to;case`move-column`:return e.from===e.to;case`spec`:return e.before===e.after;case`batch`:return e.edits.every(Pl);default:return!1}}function Fl(e,t){let n=null,r=[];for(let i of e.rows)t.has(i.id)&&r.push({row:i,after:n}),n=i.id;return{kind:`remove`,rows:r}}function Il(e,t){let n=t.map(t=>e.columns.indexOf(t));return e.rows.map(e=>n.map(t=>e.cells[t]??``).join(`\0`))}function Ll(e,t){let n={columns:[...t.columns],rows:t.rows.map(e=>({id:0,cells:e}))},r=e.columns.filter(e=>n.columns.includes(e)),i=Il(e,r),a=Il(n,r),o=s(i,a),c=[],l=new Set,u=r.map(t=>[e.columns.indexOf(t),n.columns.indexOf(t)]),d=(t,r)=>{if(u.length<=1)return!0;let i=e.rows[t]?.cells??[],a=n.rows[r]?.cells??[],o=u.filter(([e,t])=>(i[e]??``)===(a[t]??``)).length;return o>0&&o*2>=u.length},f=[],p=-1,m=-1;for(let[e,t]of[...o,[i.length,a.length]]){let n=m+1;for(let r=p+1;r<e;r++)for(let e=n;e<t;e++)if(d(r,e)){f.push([r,e]),n=e+1;break}e<i.length&&f.push([e,t]),p=e,m=t}for(let[t,i]of f){let a=e.rows[t],o=n.rows[i];if(a&&o){o.id=a.id,l.add(t);for(let t of r){let r=a.cells[e.columns.indexOf(t)]??``,i=o.cells[n.columns.indexOf(t)]??``;r!==i&&c.push({kind:`cell`,id:o.id,column:t,before:r,after:i})}}}for(let e of n.rows)e.id===0&&(e.id=Dl(),c.push({kind:`row-added`,id:e.id}));let h=null;e.rows.forEach((t,n)=>{l.has(n)?h=t.id:c.push({kind:`row-removed`,row:t,after:h,columns:[...e.columns]})});for(let t of n.columns)e.columns.includes(t)||c.push({kind:`column-added`,name:t});return e.columns.forEach((t,r)=>{n.columns.includes(t)||c.push({kind:`column-removed`,name:t,at:r,values:new Map(e.rows.map(e=>[e.id,e.cells[r]??``]))})}),{table:n,changes:c}}function Rl(e,t){switch(e.kind){case`cell`:{let n=t.rows.find(t=>t.id===e.id),r=t.columns.indexOf(e.column);return!n||r<0?void 0:{kind:`cells`,changes:[{id:e.id,column:e.column,before:n.cells[r]??``,after:e.before}]}}case`row-added`:return t.rows.some(t=>t.id===e.id)?Fl(t,new Set([e.id])):void 0;case`row-removed`:{let n=t.columns.map(t=>e.row.cells[e.columns.indexOf(t)]??``);return{kind:`insert`,rows:[{row:{id:e.row.id,cells:n},after:e.after}]}}case`column-added`:{let n=t.columns.indexOf(e.name);return n<0?void 0:{kind:`remove-column`,at:n,name:e.name,values:new Map(t.rows.map(e=>[e.id,e.cells[n]??``]))}}case`column-removed`:return{kind:`insert-column`,at:e.at,name:e.name,values:e.values}}}function zl(e,t){switch(e.kind){case`cells`:return t.kind===`cell`&&e.changes.some(e=>e.id===t.id&&e.column===t.column);case`remove`:return(t.kind===`cell`||t.kind===`row-added`)&&e.rows.some(e=>e.row.id===t.id);case`remove-column`:case`rename-column`:return t.kind===`cell`&&t.column===(`name`in e?e.name:e.from)||t.kind===`column-added`&&t.name===(`name`in e?e.name:e.from);case`batch`:return e.edits.some(e=>zl(e,t));default:return!1}}var Bl=e=>({r0:Math.min(e.anchor.r,e.focus.r),r1:Math.max(e.anchor.r,e.focus.r),c0:Math.min(e.anchor.c,e.focus.c),c1:Math.max(e.anchor.c,e.focus.c)}),Vl=(e,t,n)=>t>=e.r0&&t<=e.r1&&n>=e.c0&&n<=e.c1,Hl=e=>({anchor:e,focus:e}),Ul=(e,t,n)=>({r:Math.max(0,Math.min(e.r,t-1)),c:Math.max(0,Math.min(e.c,n-1))});function Wl(e,t,n){let{rows:r,cols:i}=n;if(r===0||i===0)return e;let{r:a,c:o}=e.focus;switch(t){case`up`:a=n.jump?0:a-1;break;case`down`:a=n.jump?r-1:a+1;break;case`left`:o=n.jump?0:o-1;break;case`right`:o=n.jump?i-1:o+1;break;case`home`:o=0,n.jump&&(a=0);break;case`end`:o=i-1,n.jump&&(a=r-1);break;case`top`:a=0;break;case`bottom`:a=r-1;break;case`page-up`:a-=n.page;break;case`page-down`:a+=n.page}let s=Ul({r:a,c:o},r,i);return n.extend?{anchor:e.anchor,focus:s}:Hl(s)}function Gl(e,t,n,r){let i=Bl(e);if(i.r0===i.r1&&i.c0===i.c1)return Wl(e,t===`next`?`right`:t===`previous`?`left`:t,{extend:!1,jump:!1,rows:n,cols:r,page:1});let{r:a,c:o}=e.focus,s=t===`next`||t===`previous`,c=t===`next`||t===`down`;return s?(o+=c?1:-1,o>i.c1?(o=i.c0,a=a>=i.r1?i.r0:a+1):o<i.c0&&(o=i.c1,a=a<=i.r0?i.r1:a-1)):(a+=c?1:-1,a>i.r1?(a=i.r0,o=o>=i.c1?i.c0:o+1):a<i.r0&&(a=i.r1,o=o<=i.c0?i.c1:o-1)),{anchor:e.anchor,focus:{r:a,c:o}}}function Kl(e,t,n){let r=new Map(e.rows.map(e=>[e.id,e])),i=t.columns.map(t=>e.columns.indexOf(t)),a=[];for(let e=n.r0;e<=n.r1;e++){let o=r.get(t.rows[e]??-1),s=[];for(let e=n.c0;e<=n.c1;e++)s.push(o?.cells[i[e]??-1]??``);a.push(s)}return Tt(a)}function ql(e,t,n){let r=new Map(e.rows.map(e=>[e.id,e])),i=[];for(let a=n.r0;a<=n.r1;a++){let o=t.rows[a],s=o===void 0?void 0:r.get(o);if(s)for(let r=n.c0;r<=n.c1;r++){let n=t.columns[r];if(n===void 0)continue;let a=s.cells[e.columns.indexOf(n)]??``;a!==``&&i.push({id:s.id,column:n,before:a,after:``})}}return{kind:`cells`,changes:i}}function Jl(e,t){let n=e.type===`text`?t:t.trim();if(Ra(e,n)===void 0)return n;if(e.type===`checkbox`){let e=n.toLowerCase();if([`yes`,`y`,`1`,`✓`,`x`,`checked`,`on`].includes(e))return`true`;if([`no`,`n`,`0`,``,`unchecked`,`off`].includes(e))return`false`}if(e.type===`number`){let e=n.endsWith(`%`),t=Number(n.replace(/[,\s$€£¥%]/g,``));if(n!==``&&Number.isFinite(t))return String(e?t/100:t)}}function Yl(e,t,n,r,i){let a=Et(i.replace(/\r?\n$/,``)),o=new Map,s=0,c=a.length===1&&(a[0]?.length??0)===1,l=c?r.r1-r.r0+1:a.length,u=c?r.c1-r.c0+1:Math.max(0,...a.map(e=>e.length)),d=new Map(e.rows.map(e=>[e.id,e])),f=[],p=[],m=(e,n)=>{let r=W(t,e);if(r.type===`select`||r.type===`multi-select`){let t=r.type===`select`?[n.trim()].filter(e=>e!==``):Ia(n,r.separator),i=new Set((r.options??[]).map(e=>e.name));for(let n of t){if(i.has(n))continue;let t=o.get(e)??[];t.includes(n)||t.push(n),o.set(e,t)}return r.type===`select`?t[0]??``:La(t,r.separator)}return Jl(r,n)};for(let t=0;t<l;t++){let i=a[c?0:t]??[],o=n.rows[r.r0+t],l=o===void 0?void 0:d.get(o);l||(l={id:Dl(),cells:e.columns.map(()=>``)},p.push(l));for(let t=0;t<u;t++){let a=n.columns[r.c0+t];if(a===void 0)continue;let o=m(a,i[c?0:t]??``);if(o===void 0){s+=1;continue}let u=e.columns.indexOf(a);if(p.includes(l)){l.cells[u]=o;continue}let d=l.cells[u]??``;d!==o&&f.push({id:l.id,column:a,before:d,after:o})}}let h=e.rows[e.rows.length-1]?.id??null,g=[];if(f.length>0&&g.push({kind:`cells`,changes:f}),p.length>0){let e=h;g.push({kind:`insert`,rows:p.map(t=>{let n={row:t,after:e};return e=t.id,n})})}return{edit:g.length===1&&g[0]?g[0]:{kind:`batch`,edits:g},skipped:s,options:o}}function Xl(e,t,n,r=1){let i=new Map(e.rows.map(e=>[e.id,e])),a=[],o=Math.max(1,Math.min(r,n.r1-n.r0+1));for(let r=n.c0;r<=n.c1;r++){let s=t.columns[r];if(s===void 0)continue;let c=e.columns.indexOf(s),l=[];for(let e=0;e<o;e++)l.push(i.get(t.rows[n.r0+e]??-1)?.cells[c]??``);for(let e=n.r0+o;e<=n.r1;e++){let r=i.get(t.rows[e]??-1);if(!r)continue;let u=l[(e-n.r0)%o]??``,d=r.cells[c]??``;d!==u&&a.push({id:r.id,column:s,before:d,after:u})}}return{kind:`cells`,changes:a}}var Zl=34,Ql=44;function $l(e){switch(e.type){case`checkbox`:return 96;case`number`:return 132;case`date`:return 150;case`select`:return 160;default:return 200}}var eu=(e,t)=>`${String(e)}:${t}`;function tu(e,t,n,r){let i=[];return r?i.push(`inset 0 0 0 1px var(--sheet-focus)`):e&&Vl(e,t,n)&&(e.r0!==e.r1||e.c0!==e.c1)&&(t===e.r0&&i.push(`inset 0 1px 0 0 var(--sheet-focus)`),t===e.r1&&i.push(`inset 0 -1px 0 0 var(--sheet-focus)`),n===e.c0&&i.push(`inset 1px 0 0 0 var(--sheet-focus)`),n===e.c1&&i.push(`inset -1px 0 0 0 var(--sheet-focus)`)),i.length?i.join(`,`):void 0}var nu=(0,B.forwardRef)(function(e,t){let{spec:n,columns:r,widths:i,fit:a,freeze:o,wrap:s,items:c,rowItems:l,selection:u,editing:d,readOnly:f,found:p,current:m,agentCells:g,agentRows:_,away:v,sorted:y,strings:b,locale:x,on:S}=e,C=e.rowHeight??34,w=(0,B.useRef)(null),[T,E]=(0,B.useState)({}),ee=wl({data:[],columns:(0,B.useMemo)(()=>r.map(e=>({id:e,size:i[e]??W(n,e).width??a?.[e]??$l(W(n,e)),minSize:60,maxSize:1200})),[r,i,n,a]),getCoreRowModel:Cl(),columnResizeMode:`onChange`,state:{columnSizing:T},onColumnSizingChange:E}),te=ee.getState().columnSizingInfo.isResizingColumn,ne=(0,B.useRef)(!1);(0,B.useEffect)(()=>{let e=ne.current;if(ne.current=te,e&&!te){let t=T[e];t!==void 0&&S.resize(e,Math.round(t))}},[te,T,S]),(0,B.useEffect)(()=>{E({})},[i]);let D=r.map(e=>ee.getColumn(e)?.getSize()??i[e]??a?.[e]??$l(W(n,e))),O=Math.min(o,r.length),re=[],ie=72;for(let e=0;e<O;e++)re.push(ie),ie+=D[e]??0;let ae=ie-72,oe=r.slice(O),k=D.slice(O),se=72+D.reduce((e,t)=>e+t,0)+Ql,ce=s.size>0,le=cc({count:c.length,getScrollElement:()=>w.current,estimateSize:()=>C,overscan:12,scrollMargin:34,getItemKey:e=>{let t=c[e];return t===void 0?e:`r:${String(t.row.id)}`},...ce?{measureElement:e=>e.getBoundingClientRect().height}:{}}),ue=cc({horizontal:!0,count:oe.length,getScrollElement:()=>w.current,estimateSize:e=>k[e]??180,overscan:3,scrollMargin:72+ae}),de=k.join(`,`);(0,B.useEffect)(()=>{ue.measure()},[de,ue]),(0,B.useEffect)(()=>{le.measure()},[ce,C,le]);let fe=le.getVirtualItems(),pe=ue.getVirtualItems(),me=pe[0],he=pe[pe.length-1],ge=me?me.start-(72+ae):0,_e=pe.map(e=>e.index),ve=he?k.slice(he.index+1).reduce((e,t)=>e+t,0):0;(0,B.useImperativeHandle)(t,()=>({reveal:e=>{let t=l[e.r];t!==void 0&&le.scrollToIndex(t,{align:`auto`});let n=w.current;if(!n||e.c<O)return;let r=72+D.slice(0,e.c).reduce((e,t)=>e+t,0),i=D[e.c]??0,a=n.scrollLeft+72+ae,o=n.scrollLeft+n.clientWidth;r<a?n.scrollLeft=r-72-ae:r+i>o&&(n.scrollLeft=r+i-n.clientWidth)},page:()=>Math.max(1,Math.floor(((w.current?.clientHeight??400)-34)/C)-1),focus:()=>{w.current?.focus({preventScroll:!0})},element:()=>w.current}),[l,le,O,D,ae,C]);let[ye,be]=(0,B.useState)(!1);(0,B.useEffect)(()=>{let e=w.current;if(!e)return;let t=()=>{be(e.scrollLeft>0)};return t(),e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[]);let A=u?Bl(u):void 0,xe=u?.focus,j=(0,B.useRef)(void 0),[Ce,we]=(0,B.useState)(),[M,N]=(0,B.useState)(),[P,Te]=(0,B.useState)(),[Ee,De]=(0,B.useState)(),Oe=(e,t)=>{let n=document.elementFromPoint(e,t)?.closest(`[data-cell]`);if(!n)return;let r=Number(n.dataset.r),i=Number(n.dataset.c);return Number.isFinite(r)&&Number.isFinite(i)?{r,c:i}:void 0},ke=(0,B.useRef)(void 0),je=(0,B.useRef)({x:0,y:0}),Me=(0,B.useCallback)(()=>{let e=w.current;if(!e||!j.current){ke.current=void 0;return}let t=e.getBoundingClientRect(),{x:n,y:r}=je.current,i=r<t.top+34+24?-12:r>t.bottom-24?12:0,a=n<t.left+72+ae+24?-12:n>t.right-24?12:0;if(a!==0||i!==0){e.scrollBy(a,i);let t=j.current;if(t.kind===`select`){let e=Oe(n-a*2,r-i*2);e&&S.select({anchor:t.anchor,focus:e})}}ke.current=window.requestAnimationFrame(Me)},[ae,S]);(0,B.useEffect)(()=>{let e=e=>{let t=j.current;if(t){if(je.current={x:e.clientX,y:e.clientY},ke.current??=window.requestAnimationFrame(Me),t.kind===`select`){let n=Oe(e.clientX,e.clientY);n&&S.select({anchor:t.anchor,focus:n})}else if(t.kind===`fill`){let n=Oe(e.clientX,e.clientY);n&&(t.to=Math.max(t.box.r1,n.r),Te(t.to))}else if(t.kind===`column`){if(!t.moved&&Math.abs(e.clientX-t.startX)<5)return;t.moved=!0;let n=w.current?.querySelectorAll(`[data-head]`)??[],i=r.length;for(let t of n){let n=t.getBoundingClientRect(),r=Number(t.dataset.c);e.clientX<n.left+n.width/2&&(i=Math.min(i,r))}t.to=i,we(i)}else{if(!t.moved&&Math.abs(e.clientY-t.startY)<5)return;t.moved=!0;let n=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-row-id]`);if(!n)return;let r=Number(n.dataset.rowId),i=n.getBoundingClientRect(),a=e.clientY>i.top+i.height/2;if(N({id:r,after:a}),!a)t.before=r;else{let e=c.findIndex(e=>e.row.id===r);t.before=c[e+1]?.row.id??null}}}},t=()=>{let e=j.current;if(j.current=void 0,ke.current!==void 0&&window.cancelAnimationFrame(ke.current),ke.current=void 0,e){if(e.kind===`fill`&&e.to>e.box.r1&&S.fill(e.box,e.to),e.kind===`column`&&e.moved){let t=r.indexOf(e.name),n=e.to>t?e.to-1:e.to;n!==t&&S.moveColumn(e.name,n)}e.kind===`rows`&&e.moved&&!e.ids.includes(e.before??-1)&&S.moveRows(e.ids,e.before),Te(void 0),we(void 0),N(void 0)}};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),window.addEventListener(`pointercancel`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t),window.removeEventListener(`pointercancel`,t)}},[Me,r,c,S]);let Ne=(e,t)=>{e.button===0&&(e.target.closest(`button, a, input, textarea, select, .sheet-editor`)||(e.preventDefault(),S.focusGrid(),e.shiftKey&&u?(S.select({anchor:u.anchor,focus:t}),j.current={kind:`select`,anchor:u.anchor}):(S.select({anchor:t,focus:t}),j.current={kind:`select`,anchor:t})))},Fe=e=>e<O?{width:D[e],left:re[e],position:`sticky`,zIndex:2}:{width:D[e]},Ie=(t,i)=>{let o=W(n,t),s=ee.getHeaderGroups()[0]?.headers.find(e=>e.column.id===t),c=S.columnActions(t),d=e.sortedBy?.column===t?e.sortedBy.desc?`desc`:`asc`:void 0,p=e.filtered?.has(t)===!0;return(0,V.jsxs)(`div`,{role:`columnheader`,className:`sheet-head`,"data-head":``,"data-c":i,"data-type":o.type,"data-frozen":i<O?``:void 0,"data-last-frozen":i===O-1?``:void 0,"data-drop":Ce===i?`before`:Ce===i+1&&i===r.length-1?`after`:void 0,"data-selected":A&&A.c0<=i&&i<=A.c1?``:void 0,style:Fe(i),onPointerDown:e=>{e.currentTarget.contains(e.target)&&(e.button!==0||f||e.target.closest(`button, [data-resizer]`)||(j.current={kind:`column`,name:t,startX:e.clientX,moved:!1,to:i}))},onClick:e=>{if(!e.currentTarget.contains(e.target)||e.target.closest(`button, [data-resizer]`))return;let t=Math.max(0,l.length-1);e.shiftKey&&u?S.select({anchor:{r:0,c:u.anchor.c},focus:{r:t,c:i}}):S.select({anchor:{r:0,c:i},focus:{r:t,c:i}}),S.focusGrid()},onDoubleClick:e=>{e.currentTarget.contains(e.target)&&(e.target.closest(`button, [data-resizer]`)||f||c.rename())},onContextMenu:e=>{e.currentTarget.contains(e.target)&&(e.preventDefault(),!f&&(xs(),De(t)))},children:[Tl(o.type,13),e.renaming===t?(0,V.jsx)(ru,{name:t,taken:e.allColumns,strings:b,onDone:e=>{S.rename(t,e)}}):(0,V.jsx)(`span`,{className:`sheet-head-name`,title:t,children:t}),e.keyColumn===t&&(0,V.jsx)(`span`,{className:`sheet-head-key`,title:b.column.key,"aria-label":b.column.key,children:(0,V.jsx)(L,{size:12,"aria-hidden":!0})}),e.headerTool&&!f?e.headerTool(t,(0,V.jsx)(`button`,{type:`button`,"data-menu":``,className:`sheet-head-menu`,"data-on":d||p?``:void 0,"data-testid":`sheet-head-filter-${String(i)}`,"aria-label":b.auto.button(t),title:b.auto.button(t),children:p?(0,V.jsx)(He,{size:12,"aria-hidden":!0}):d===`desc`?(0,V.jsx)(Ae,{size:13,"aria-hidden":!0}):d===`asc`?(0,V.jsx)(Pe,{size:13,"aria-hidden":!0}):(0,V.jsx)(h,{size:13,"aria-hidden":!0})})):null,(0,V.jsx)(zs,{open:Ee===t,onOpenChange:e=>{De(e?t:void 0)},column:o,canHide:r.length>1,strings:b,actions:c}),s&&(0,V.jsx)(`span`,{"data-resizer":``,className:`sheet-resizer`,"data-on":s.column.getIsResizing()?``:void 0,onPointerDown:e=>{e.stopPropagation(),s.getResizeHandler()(e.nativeEvent)},onMouseDown:e=>{e.stopPropagation()},onDoubleClick:()=>{S.resize(t,a?.[t]??$l(o))}})]},t)},Le=(t,r,i)=>{let a=W(n,r),o=e.allColumns.indexOf(r),c=t.row.cells[o]??``,l=eu(t.row.id,r),u=xe?.r===t.r&&xe.c===i,h=d?.cell.r===t.r&&d.cell.c===i&&!f,_=A!==void 0&&Vl(A,t.r,i),y=P!==void 0&&A?.c0!==void 0&&i>=A.c0&&i<=A.c1&&t.r>A.r1&&t.r<=P,C=!f&&!d&&t.r===A?.r1&&i===A.c1,w=g.get(l);return(0,V.jsxs)(`div`,{id:`cell-${At({row:t.index,column:o})}`,role:`gridcell`,className:`sheet-cell`,"data-cell":``,"data-r":t.r,"data-c":i,"data-type":a.type,"data-frozen":i<O?``:void 0,"data-last-frozen":i===O-1?``:void 0,"data-wrap":s.has(r)?``:void 0,"data-sel":_&&!u?``:void 0,"data-fill":y?``:void 0,"data-found":p.has(l)?m===l?`current`:``:void 0,"data-agent":w===void 0?void 0:v?.has(l)?`away`:``,"data-editing":h?``:void 0,"data-drop-file":e.dropping?.r===t.r&&e.dropping.c===i?``:void 0,"aria-selected":_,style:{...Fe(i),boxShadow:tu(A,t.r,i,u)},onPointerDown:e=>{Ne(e,{r:t.r,c:i})},onDoubleClick:()=>{!f&&a.type!==`checkbox`&&S.edit({r:t.r,c:i})},onContextMenu:e=>{S.contextMenu(e,{r:t.r,c:i})},children:[(0,V.jsx)(Ps,{column:a,value:c,locale:x,strings:b,...e.fileUrl?{fileUrl:e.fileUrl}:{},...e.dir?{dir:e.dir}:{},...f?{}:{onToggle:()=>{S.toggle({r:t.r,c:i})}},onOpen:e=>{S.openFile({r:t.r,c:i},e)}}),h&&(0,V.jsx)(`div`,{className:`sheet-cell-edit`,"data-type":a.type,children:(0,V.jsx)(Is,{column:a,value:c,...d.initial===void 0?{}:{initial:d.initial},strings:b,locale:x,onCommit:S.commit,onCancel:S.cancel,onAddOption:e=>{S.addOption(r,e)}})}),C&&(0,V.jsx)(`span`,{className:`sheet-fill-handle`,onPointerDown:e=>{e.stopPropagation(),e.preventDefault(),j.current={kind:`fill`,box:A,to:A.r1}}})]},r)},Re=e=>{let t=A!==void 0&&A.r0<=e.r&&e.r<=A.r1&&A.c0===0&&A.c1===r.length-1;return(0,V.jsxs)(`div`,{className:`sheet-gutter`,"data-agent":_.has(e.row.id)?v?.has(`row:${String(e.row.id)}`)?`away`:``:void 0,"data-selected":t?``:void 0,onPointerDown:t=>{if(t.button!==0||t.target.closest(`button`))return;t.preventDefault(),S.focusGrid();let n=Math.max(0,r.length-1);t.shiftKey&&u?S.select({anchor:{r:u.anchor.r,c:0},focus:{r:e.r,c:n}}):S.select({anchor:{r:e.r,c:0},focus:{r:e.r,c:n}})},onContextMenu:t=>{S.contextMenu(t,{r:e.r,c:0})},children:[f||y?(0,V.jsx)(`span`,{className:`sheet-grip`,"data-off":``,"aria-hidden":!0}):(0,V.jsx)(`span`,{className:`sheet-grip`,"aria-hidden":!0,onPointerDown:n=>{n.stopPropagation(),n.preventDefault();let r=t?c.flatMap(e=>e.r>=A.r0&&e.r<=A.r1?[e.row.id]:[]):[e.row.id];j.current={kind:`rows`,ids:r,startY:n.clientY,moved:!1,before:e.row.id}},children:(0,V.jsx)(Ue,{size:12})}),(0,V.jsx)(`span`,{className:`sheet-row-number`,title:e.index===e.r?void 0:b.row.inFile(e.index+1),children:e.r+1}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-expand`,"aria-label":b.row.expand,title:b.row.expand,onClick:()=>{S.expand(e.row.id)},children:(0,V.jsx)(Ke,{size:11,"aria-hidden":!0})})]})},ze=e=>e>0?(0,V.jsx)(`div`,{className:`sheet-spacer`,style:{width:e},"aria-hidden":!0}):null;return(0,V.jsxs)(V.Fragment,{children:[ye&&O>0&&(0,V.jsx)(`div`,{className:`sheet-frozen-edge`,"aria-hidden":!0,style:{left:72+ae,height:Math.min(34+c.length*C,w.current?.clientHeight??1/0)}}),(0,V.jsx)(`div`,{ref:w,className:`sheet-grid`,role:`grid`,"aria-rowcount":l.length,"aria-colcount":r.length,tabIndex:0,"data-testid":`sheet-grid`,onFocus:e=>{e.target===e.currentTarget&&S.focusGrid()},"data-dragging":j.current?``:void 0,children:(0,V.jsxs)(`div`,{className:`sheet-canvas`,style:{width:se},children:[(0,V.jsxs)(`div`,{className:`sheet-header`,role:`row`,style:{height:34},children:[(0,V.jsx)(`div`,{className:`sheet-corner`,"aria-hidden":!0}),r.slice(0,O).map((e,t)=>Ie(e,t)),ze(ge),_e.map(e=>Ie(oe[e]??``,e+O)),ze(ve),(0,V.jsx)(`button`,{type:`button`,className:`sheet-add-column`,"aria-label":b.column.add,title:b.column.add,disabled:f,onClick:S.addColumn,children:(0,V.jsx)(Se,{size:14,"aria-hidden":!0})})]}),(0,V.jsx)(`div`,{className:`sheet-body`,style:{height:le.getTotalSize()-0},children:fe.map(e=>{let t=c[e.index];if(!t)return null;let n=e.start-34;return(0,V.jsxs)(`div`,{role:`row`,"data-index":e.index,"data-row-id":t.row.id,"data-drop":M?.id===t.row.id?M.after?`after`:`before`:void 0,"data-editing":d?.cell.r===t.r?``:void 0,"data-added":_.has(t.row.id)?v?.has(`row:${String(t.row.id)}`)?`away`:``:void 0,ref:ce?le.measureElement:void 0,className:`sheet-row`,style:{transform:`translateY(${String(n)}px)`,...ce?{minHeight:C}:{height:C}},children:[Re(t),r.slice(0,O).map((e,n)=>Le(t,e,n)),ze(ge),_e.map(e=>Le(t,oe[e]??``,e+O)),ze(ve)]},e.key)})}),!f&&(0,V.jsxs)(`button`,{type:`button`,className:`sheet-new-row`,style:{height:Zl},"data-testid":`sheet-new-row`,onClick:S.addRow,children:[(0,V.jsx)(Se,{size:14,"aria-hidden":!0}),b.row.newRow]}),e.empty]})})]})});function ru({name:e,taken:t,strings:n,onDone:r}){let[i,a]=(0,B.useState)(e),o=(0,B.useRef)(!1),s=i.trim(),c=s===``?n.column.empty:s!==e&&t.includes(s)?n.column.taken:void 0,l=t=>{o.current||(o.current=!0,r(t===void 0||t===e?void 0:t))};return(0,V.jsx)(`input`,{className:`sheet-head-input`,value:i,"aria-label":n.column.name,"aria-invalid":c!==void 0,title:c,"data-testid":`sheet-head-input`,spellCheck:!1,ref:e=>{e&&document.activeElement!==e&&!o.current&&(e.focus(),e.select())},onPointerDown:e=>{e.stopPropagation()},onClick:e=>{e.stopPropagation()},onDoubleClick:e=>{e.stopPropagation()},onChange:e=>{a(e.target.value)},onKeyDown:e=>{e.stopPropagation(),!e.nativeEvent.isComposing&&(e.key===`Enter`?(e.preventDefault(),c===void 0&&l(s)):e.key===`Escape`&&(e.preventDefault(),l(void 0)))},onBlur:()=>{l(c===void 0?s:void 0)}})}var iu=120;function au({row:e,columns:t,allColumns:n,spec:r,number:i,total:a,title:o,readOnly:s,strings:c,locale:l,fileUrl:u,dir:d,onChange:f,onAddOption:p,onOpenFile:m,onAddFiles:g,onStep:v,onClose:y}){let[b,x]=(0,B.useState)(),S=[...t,...n.filter(e=>!t.includes(e))];return(0,V.jsxs)(`aside`,{className:`sheet-panel`,"aria-label":c.row.record,"data-testid":`sheet-record`,children:[(0,V.jsxs)(`header`,{className:`sheet-panel-head`,children:[(0,V.jsxs)(`span`,{className:`sheet-panel-titles`,children:[(0,V.jsx)(`span`,{className:`sheet-panel-title`,"data-empty":o.trim()===``?``:void 0,children:o.trim()===``?c.untitled:o}),(0,V.jsx)(`span`,{className:`sheet-panel-number`,children:c.row.of(i,a)})]}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":c.row.previous,onClick:()=>{v(-1)},children:(0,V.jsx)(_,{size:14,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":c.row.next,onClick:()=>{v(1)},children:(0,V.jsx)(h,{size:14,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":c.row.close,onClick:y,children:(0,V.jsx)(C,{size:14,"aria-hidden":!0})})]}),(0,V.jsx)(`dl`,{className:`sheet-record`,children:S.map((i,a)=>{let o=W(r,i),h=e.cells[n.indexOf(i)]??``,_=b===i&&!s;return(0,V.jsxs)(`div`,{className:`sheet-record-field`,"data-hidden":t.includes(i)?void 0:``,"data-first-hidden":a===t.length&&a>0?``:void 0,"data-label":a===t.length&&a>0?c.row.hiddenFields:void 0,children:[(0,V.jsxs)(`dt`,{children:[Tl(o.type,13),(0,V.jsx)(`span`,{children:i})]}),(0,V.jsxs)(`dd`,{"data-type":o.type,onClick:()=>{!s&&o.type!==`checkbox`&&x(i)},children:[_?(0,V.jsx)(Is,{column:o,value:h,strings:c,locale:l,inline:!0,onCommit:e=>{f(i,e),x(void 0)},onCancel:()=>{x(void 0)},onAddOption:e=>{p(i,e)}}):(0,V.jsx)(Ps,{column:o,value:h,locale:l,strings:c,...u?{fileUrl:u}:{},...d?{dir:d}:{},...o.type===`file`?{height:iu}:{},...m?{onOpen:e=>{m(i,e)}}:{},...s?{}:{onToggle:()=>{f(i,h.trim().toLowerCase()===`true`?`false`:`true`)}}}),!_&&h===``&&o.type!==`checkbox`&&!(o.type===`file`&&g)&&(0,V.jsx)(`span`,{className:`sheet-record-empty`,children:`—`}),!_&&o.type===`file`&&g&&(0,V.jsxs)(`button`,{type:`button`,className:`sheet-record-add`,onClick:e=>{e.stopPropagation(),g(i)},children:[(0,V.jsx)(qe,{size:13,"aria-hidden":!0}),c.files.add]})]})]},i)})})]})}function ou(e,t,n=4){if(e.type!==`number`||e.number?.decimals!==void 0)return;let r=e.number?.style??`plain`;if(r===`currency`)return;let i=r===`percent`?100:1,a=10**n,o=0;for(let e of t){let t=Na(e);if(t===void 0)continue;let r=String(Math.round(t*i*a)/a),s=r.indexOf(`.`);if(!(s<0||r.includes(`e`))&&(o=Math.max(o,r.length-s-1),o>=n))return n}return o}function su(e,t){let n;return t.columns.forEach((r,i)=>{let a=W(e,r),o=ou(a,t.rows.map(e=>e.cells[i]??``));o!==void 0&&(n??={...e.columns},n[r]={...a,number:{style:a.number?.style??`plain`,thousands:a.number?.thousands??!0,...a.number?.currency===void 0?{}:{currency:a.number.currency},decimals:o}})}),n?{...e,columns:n}:e}function cu(e,t,n,r,i){if((r.r1-r.r0+1)*(r.c1-r.c0+1)>2e6)return;let a=new Map(e.rows.map(e=>[e.id,e])),o=0,s=0,c=0,l;for(let i=r.c0;i<=r.c1;i++){let u=n.columns[i];if(u===void 0)continue;let d=e.columns.indexOf(u),f=W(t,u);for(let e=r.r0;e<=r.r1;e++){let t=n.rows[e],r=t===void 0?``:a.get(t)?.cells[d]??``;if(Ma(r)||(o++,f.type!==`number`))continue;let i=Na(r);i!==void 0&&(s++,c+=i,l=l===void 0||l===u?u:null)}}if(s===0||typeof l!=`string`)return{count:o,numbers:s};let u=W(t,l),d=e=>Ga(u,String(e),i),f=10**((u.number?.decimals??2)+(u.number?.style===`percent`?2:0));return{count:o,numbers:s,sum:d(c),average:d(Math.round(c/s*f)/f)}}function lu({change:e,at:t,agent:n,spec:r,locale:i,strings:a,onEnter:o,onLeave:s,onKeep:c,onUndo:l}){let u=e.away?a.review.away:e.kind===`row-added`?a.review.added(n):a.review.changed(n);return(0,V.jsxs)(`div`,{className:`sheet-review-card`,role:`dialog`,"aria-label":u,"data-away":e.away?``:void 0,"data-testid":`sheet-review-card`,style:{left:t.left,top:t.top},onPointerEnter:o,onPointerLeave:s,onPointerDown:e=>{e.stopPropagation()},children:[(0,V.jsxs)(`p`,{className:`sheet-review-card-who`,children:[(0,V.jsx)(`span`,{className:`sheet-review-card-dot`,"aria-hidden":!0}),u]}),e.kind===`cell`&&(0,V.jsxs)(`p`,{className:`sheet-review-card-was`,children:[(0,V.jsx)(`span`,{children:a.review.was}),(0,V.jsx)(`del`,{children:e.before===``?a.review.empty:Ga(W(r,e.column),e.before,i)})]}),(0,V.jsxs)(`div`,{className:`sheet-review-card-actions`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:l,children:[(0,V.jsx)(S,{size:13,"aria-hidden":!0}),a.review.undo]}),(0,V.jsxs)(`button`,{type:`button`,"data-keep":``,onClick:c,children:[(0,V.jsx)(g,{size:13,"aria-hidden":!0}),a.review.keep]})]})]})}var uu=(e,t,n)=>[e>0?`${String(e)} ${e===1?`Zelle`:`Zellen`}`:``,t>0?`${String(t)} ${t===1?`Zeile`:`Zeilen`}`:``,n>0?`${String(n)} ${n===1?`Spalte`:`Spalten`}`:``].filter(e=>e!==``).join(`, `),du={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Wird geöffnet …`,unreadable:`Diese Tabelle kann gerade nicht bearbeitet werden: ihre Datei ist kein CSV, das eine Tabelle lesen kann. Hier ist, was nicht stimmt.`,readOnlyLarge:e=>`Diese Tabelle ist ${e} MB groß und wird hier nur angezeigt, nicht bearbeitet.`,untitled:`Ohne Titel`,saved:`Gesichert`,saving:`Wird gesichert …`,unsaved:`Nicht gesichert`,failed:`Nicht gesichert`,rows:(e,t)=>e===t?`${t.toLocaleString(`de`)} ${t===1?`Zeile`:`Zeilen`}`:`${e.toLocaleString(`de`)} von ${t.toLocaleString(`de`)} Zeilen`,find:`Suchen`,findPlaceholder:`In der Tabelle suchen`,matches:e=>e===1?`1 Treffer`:`${String(e)} Treffer`,types:{text:`Text`,number:`Zahl`,select:`Dropdownliste`,"multi-select":`Mehrfachauswahl`,date:`Datum`,checkbox:`Kontrollkästchen`,url:`Link`,email:`E-Mail`,phone:`Telefon`,file:`Datei`},auto:{button:e=>`${e} sortieren und filtern`,sortAsc:{text:`Von A bis Z sortieren`,number:`Nach Größe sortieren (aufsteigend)`,date:`Vom ältesten zum neuesten sortieren`,options:`In Reihenfolge der Optionen sortieren`},sortDesc:{text:`Von Z bis A sortieren`,number:`Nach Größe sortieren (absteigend)`,date:`Vom neuesten zum ältesten sortieren`,options:`In umgekehrter Reihenfolge der Optionen sortieren`},search:`Suchen`,selectAll:`(Alles auswählen)`,selectFound:`(Alle Suchergebnisse auswählen)`,blanks:`(Leere)`,checked:`Aktiviert`,unchecked:`Nicht aktiviert`,hasFile:`Mit Datei`,more:e=>`${e.toLocaleString(`de`)} weitere. Such danach, um sie zu finden.`,none:`Keine passenden Werte.`,clear:`Filter löschen`,ok:`OK`},look:{sorted:e=>`Sortiert nach ${e}`,filtered:e=>e.length===1?`Gefiltert nach ${e[0]??``}`:`Gefiltert nach ${String(e.length)} Spalten`,hidden:e=>e===1?`1 Spalte ausgeblendet`:`${String(e)} Spalten ausgeblendet`,clear:`Löschen`,note:`Nur du siehst diese Sortierung und diesen Filter.`},replace:{label:`Ersetzen`,with:`Ersetzen durch`,one:`Ersetzen`,all:`Alle ersetzen`,done:e=>`In ${String(e)} ${e===1?`Zelle`:`Zellen`} ersetzt.`},stats:{average:`Mittelwert`,count:`Anzahl`,sum:`Summe`},column:{name:`Spaltenname`,key:`Schlüsselspalte: Jede Zeile hat einen eigenen Wert`,add:`Spalte hinzufügen`,rename:`Umbenennen`,format:`Format`,formats:{text:`Text`,number:`Zahl`,currency:`Währung`,percent:`Prozent`,date:`Datum`,checkbox:`Kontrollkästchen`,list:`Dropdownliste`,file:`Anhang`},addOption:`Option hinzufügen`,newOption:e=>`„${e}“ hinzufügen`,confirm:`Löschen`,cancel:`Abbrechen`,hide:`Spalte ausblenden`,insertLeft:`Spalte links einfügen`,insertRight:`Spalte rechts einfügen`,remove:`Spalte löschen`,removeAsk:(e,t)=>`„${e}“ und ${t===1?`ihren`:`ihre`} ${t.toLocaleString(`de`)} ${t===1?`Wert`:`Werte`} löschen? Du kannst es widerrufen.`,taken:`Eine andere Spalte hat diesen Namen.`,empty:`Eine Spalte braucht einen Namen.`,newName:e=>e===1?`Spalte`:`Spalte ${String(e)}`},row:{numbered:e=>`Zeile ${String(e)}`,inFile:e=>`Zeile ${String(e)} in der Datei`,of:(e,t)=>`Zeile ${String(e)} von ${String(t)}`,hiddenFields:`Ausgeblendete Spalten`,insertAbove:`Zeile oberhalb einfügen`,insertBelow:`Zeile unterhalb einfügen`,remove:e=>e===1?`Zeile löschen`:`${String(e)} Zeilen löschen`,expand:`Zeile öffnen`,newRow:`Neue Zeile`,record:`Zeile`,previous:`Vorherige Zeile`,next:`Nächste Zeile`,close:`Schließen`},cell:{copy:`Kopieren`,cut:`Ausschneiden`,paste:`Einfügen`,clear:`Löschen`,clearContents:`Inhalte löschen`,notNumber:`Keine Zahl. Schreib Ziffern, mit Punkt für Dezimalstellen: 1234.5`,notDate:`Kein Datum. Schreib 2026-10-14 oder 2026-10-14T09:30`,notEmail:`Keine E-Mail-Adresse`,notUrl:`Eine Adresse enthält keine Leerzeichen`,open:`Öffnen`,left:e=>e===1?`1 Wert passte nicht in seine Spalte und wurde ausgelassen.`:`${String(e)} Werte passten nicht in ihre Spalten und wurden ausgelassen.`,pasteHint:`Mit ⌘V einfügen.`},files:{notFound:`Nicht gefunden`,insert:`Datei einfügen …`,add:`Datei hinzufügen`,adding:e=>e===1?`1 Datei wird hinzugefügt …`:`${String(e)} Dateien werden hinzugefügt …`,tooLarge:(e,t)=>`${e} ist größer als ${String(t)} MB und wurde nicht hinzugefügt.`,failed:e=>`${e} konnte nicht hinzugefügt werden.`,notHere:`Nur eine Anhangspalte enthält Dateien. Stell das Format der Spalte zuerst auf Anhang.`,remove:`Aus Zelle entfernen`,of:(e,t)=>`${String(e)} von ${String(t)}`,previous:`Vorherige Datei`,next:`Nächste Datei`,open:`In neuem Tab öffnen`,close:`Schließen`},review:{count:(e,t,n,r)=>`${e} hat ${uu(t,n,r)} geändert`,keepAll:`Alle behalten`,undoAll:`Alle widerrufen`,keep:`Behalten`,undo:`Widerrufen`,was:`Vorher`,added:e=>`Hinzugefügt von ${e}`,changed:e=>`Geändert von ${e}`,away:`Geändert seit deinem letzten Blick`,countAway:(e,t,n)=>`Seit deinem letzten Blick: ${uu(e,t,n)} geändert`,empty:`leer`,next:`Weiter`,previous:`Zurück`,position:(e,t)=>`${String(e)} von ${String(t)}`,conflicts:e=>`${String(e)} ${e===1?`Zelle wurde`:`Zellen wurden`} von euch beiden geändert: Deine Werte wurden behalten.`},date:{placeholder:`z. B. 2026-10-14`,today:`Heute`,previousMonth:`Vorheriger Monat`,nextMonth:`Nächster Monat`,clear:`Löschen`,addTime:`Uhrzeit hinzufügen`,removeTime:`Uhrzeit entfernen`,time:`Uhrzeit`},empty:{title:`Noch keine Zeilen`,addRow:`Zeile hinzufügen`,paste:`Zeilen einfügen`,pasteHint:`Kopiere Zeilen in Excel oder Google Sheets und drück dann hier ⌘V.`,importFile:`Datei importieren`,noMatch:`Keine Zeilen anzuzeigen`,noMatchBody:`Der Filter blendet alle Zeilen aus.`,clearFilter:`Filter löschen`}},fu=(e,t,n)=>[e>0?`${String(e)} ${e===1?`cell`:`cells`}`:``,t>0?`${String(t)} ${t===1?`row`:`rows`}`:``,n>0?`${String(n)} ${n===1?`column`:`columns`}`:``].filter(e=>e!==``).join(`, `),pu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Opening…`,unreadable:`This sheet cannot be edited right now: its file is not CSV a sheet can read. Here is what is wrong.`,readOnlyLarge:e=>`This sheet is ${e} MB: it is shown, not edited, here.`,untitled:`Untitled`,saved:`Saved`,saving:`Saving…`,unsaved:`Unsaved`,failed:`Not saved`,rows:(e,t)=>e===t?`${t.toLocaleString(`en`)} ${t===1?`row`:`rows`}`:`${e.toLocaleString(`en`)} of ${t.toLocaleString(`en`)} rows`,find:`Find`,findPlaceholder:`Find in the sheet`,matches:e=>e===1?`1 match`:`${String(e)} matches`,types:{text:`Text`,number:`Number`,select:`Dropdown list`,"multi-select":`List of several`,date:`Date`,checkbox:`Checkbox`,url:`Link`,email:`Email`,phone:`Phone`,file:`File`},auto:{button:e=>`Sort and filter ${e}`,sortAsc:{text:`Sort A to Z`,number:`Sort smallest to largest`,date:`Sort oldest to newest`,options:`Sort in option order`},sortDesc:{text:`Sort Z to A`,number:`Sort largest to smallest`,date:`Sort newest to oldest`,options:`Sort in reverse option order`},search:`Search`,selectAll:`(Select all)`,selectFound:`(Select all search results)`,blanks:`(Blanks)`,checked:`Checked`,unchecked:`Unchecked`,hasFile:`Has a file`,more:e=>`${e.toLocaleString(`en`)} more. Search to find them.`,none:`No values match.`,clear:`Clear filter`,ok:`OK`},look:{sorted:e=>`Sorted by ${e}`,filtered:e=>e.length===1?`Filtered by ${e[0]??``}`:`Filtered by ${String(e.length)} columns`,hidden:e=>e===1?`1 column hidden`:`${String(e)} columns hidden`,clear:`Clear`,note:`Only you see this sort and filter.`},replace:{label:`Replace`,with:`Replace with`,one:`Replace`,all:`Replace all`,done:e=>`Replaced in ${String(e)} ${e===1?`cell`:`cells`}.`},stats:{average:`Average`,count:`Count`,sum:`Sum`},column:{name:`Column name`,key:`Key column: each row's value is its own`,add:`Add a column`,rename:`Rename`,format:`Format`,formats:{text:`Text`,number:`Number`,currency:`Currency`,percent:`Percent`,date:`Date`,checkbox:`Checkbox`,list:`Dropdown list`,file:`Attachment`},addOption:`Add an option`,newOption:e=>`Add “${e}”`,confirm:`Delete`,cancel:`Cancel`,hide:`Hide column`,insertLeft:`Insert column left`,insertRight:`Insert column right`,remove:`Delete column`,removeAsk:(e,t)=>`Delete “${e}” and its ${t.toLocaleString(`en`)} ${t===1?`value`:`values`}? You can undo it.`,taken:`Another column has this name.`,empty:`A column needs a name.`,newName:e=>e===1?`Column`:`Column ${String(e)}`},row:{numbered:e=>`Row ${String(e)}`,inFile:e=>`Row ${String(e)} in the file`,of:(e,t)=>`Row ${String(e)} of ${String(t)}`,hiddenFields:`Hidden columns`,insertAbove:`Insert row above`,insertBelow:`Insert row below`,remove:e=>e===1?`Delete row`:`Delete ${String(e)} rows`,expand:`Open row`,newRow:`New row`,record:`Row`,previous:`Previous row`,next:`Next row`,close:`Close`},cell:{copy:`Copy`,cut:`Cut`,paste:`Paste`,clear:`Clear`,clearContents:`Clear contents`,notNumber:`Not a number. Write digits, with a point for decimals: 1234.5`,notDate:`Not a date. Write 2026-10-14, or 2026-10-14T09:30`,notEmail:`Not an email address`,notUrl:`An address has no spaces`,open:`Open`,left:e=>e===1?`1 value did not fit its column and was left out.`:`${String(e)} values did not fit their columns and were left out.`,pasteHint:`Use ⌘V to paste.`},files:{notFound:`Not found`,insert:`Insert file…`,add:`Add file`,adding:e=>e===1?`Adding 1 file…`:`Adding ${String(e)} files…`,tooLarge:(e,t)=>`${e} is over ${String(t)} MB and was not added.`,failed:e=>`${e} could not be added.`,notHere:`Only an attachment column holds files. Set the column's format to Attachment first.`,remove:`Remove from cell`,of:(e,t)=>`${String(e)} of ${String(t)}`,previous:`Previous file`,next:`Next file`,open:`Open in a new tab`,close:`Close`},review:{count:(e,t,n,r)=>`${e} changed ${fu(t,n,r)}`,keepAll:`Keep all`,undoAll:`Undo all`,keep:`Keep`,undo:`Undo`,was:`Before`,added:e=>`Added by ${e}`,changed:e=>`Changed by ${e}`,away:`Changed since you last looked`,countAway:(e,t,n)=>`Since you last looked: ${fu(e,t,n)} changed`,empty:`empty`,next:`Next`,previous:`Previous`,position:(e,t)=>`${String(e)} of ${String(t)}`,conflicts:e=>`${String(e)} ${e===1?`cell was`:`cells were`} changed by both of you: yours were kept.`},date:{placeholder:`2026-10-14, today, Oct 14…`,today:`Today`,previousMonth:`Previous month`,nextMonth:`Next month`,clear:`Clear`,addTime:`Add a time`,removeTime:`Remove the time`,time:`Time`},empty:{title:`No rows yet`,addRow:`Add a row`,paste:`Paste rows`,pasteHint:`Copy rows in Excel or Google Sheets, then press ⌘V here.`,importFile:`Import a file`,noMatch:`No rows to show`,noMatchBody:`The filter leaves every row out.`,clearFilter:`Clear the filter`}},mu=(e,t,n)=>`${e.toLocaleString(`es`)} ${e===1?t:n}`,hu=(e,t,n)=>[e>0?mu(e,`celda`,`celdas`):``,t>0?mu(t,`fila`,`filas`):``,n>0?mu(n,`columna`,`columnas`):``].filter(e=>e!==``).join(`, `),gu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Abriendo…`,unreadable:`Esta hoja no se puede editar ahora: su archivo no es un CSV que una hoja pueda leer. Esto es lo que falla.`,readOnlyLarge:e=>`Esta hoja ocupa ${e} MB: aquí se muestra, pero no se edita.`,untitled:`Sin título`,saved:`Guardado`,saving:`Guardando…`,unsaved:`Sin guardar`,failed:`No guardado`,rows:(e,t)=>e===t?mu(t,`fila`,`filas`):`${e.toLocaleString(`es`)} de ${t.toLocaleString(`es`)} filas`,find:`Buscar`,findPlaceholder:`Buscar en la hoja`,matches:e=>mu(e,`coincidencia`,`coincidencias`),types:{text:`Texto`,number:`Número`,select:`Lista desplegable`,"multi-select":`Selección múltiple`,date:`Fecha`,checkbox:`Casilla`,url:`Vínculo`,email:`Correo electrónico`,phone:`Teléfono`,file:`Archivo`},auto:{button:e=>`Ordenar y filtrar ${e}`,sortAsc:{text:`Ordenar de A a Z`,number:`Ordenar de menor a mayor`,date:`Ordenar de más antiguos a más recientes`,options:`Ordenar según las opciones`},sortDesc:{text:`Ordenar de Z a A`,number:`Ordenar de mayor a menor`,date:`Ordenar de más recientes a más antiguos`,options:`Ordenar según las opciones, al revés`},search:`Buscar`,selectAll:`(Seleccionar todo)`,selectFound:`(Seleccionar todos los resultados de la búsqueda)`,blanks:`(Vacías)`,checked:`Activada`,unchecked:`Desactivada`,hasFile:`Tiene un archivo`,more:e=>`${e.toLocaleString(`es`)} más. Busca para encontrarlos.`,none:`Ningún valor coincide.`,clear:`Borrar filtro`,ok:`Aceptar`},look:{sorted:e=>`Ordenado por ${e}`,filtered:e=>e.length===1?`Filtrado por ${e[0]??``}`:`Filtrado por ${String(e.length)} columnas`,hidden:e=>e===1?`1 columna oculta`:`${String(e)} columnas ocultas`,clear:`Borrar`,note:`Solo tú ves esta ordenación y este filtro.`},replace:{label:`Reemplazar`,with:`Reemplazar con`,one:`Reemplazar`,all:`Reemplazar todos`,done:e=>`Reemplazado en ${mu(e,`celda`,`celdas`)}.`},stats:{average:`Promedio`,count:`Recuento`,sum:`Suma`},column:{name:`Nombre de la columna`,key:`Columna clave: el valor de cada fila es único`,add:`Añadir una columna`,rename:`Cambiar nombre`,format:`Formato`,formats:{text:`Texto`,number:`Número`,currency:`Moneda`,percent:`Porcentaje`,date:`Fecha`,checkbox:`Casilla`,list:`Lista desplegable`,file:`Archivo adjunto`},addOption:`Añadir una opción`,newOption:e=>`Añadir “${e}”`,confirm:`Eliminar`,cancel:`Cancelar`,hide:`Ocultar columna`,insertLeft:`Insertar columna a la izquierda`,insertRight:`Insertar columna a la derecha`,remove:`Eliminar columna`,removeAsk:(e,t)=>`¿Eliminar “${e}” y ${t===1?`su valor`:`sus ${t.toLocaleString(`es`)} valores`}? Puedes deshacerlo.`,taken:`Ya hay otra columna con este nombre.`,empty:`Una columna necesita un nombre.`,newName:e=>e===1?`Columna`:`Columna ${String(e)}`},row:{numbered:e=>`Fila ${String(e)}`,inFile:e=>`Fila ${String(e)} del archivo`,of:(e,t)=>`Fila ${String(e)} de ${String(t)}`,hiddenFields:`Columnas ocultas`,insertAbove:`Insertar fila arriba`,insertBelow:`Insertar fila debajo`,remove:e=>e===1?`Eliminar fila`:`Eliminar ${String(e)} filas`,expand:`Abrir fila`,newRow:`Nueva fila`,record:`Fila`,previous:`Fila anterior`,next:`Fila siguiente`,close:`Cerrar`},cell:{copy:`Copiar`,cut:`Cortar`,paste:`Pegar`,clear:`Borrar`,clearContents:`Borrar contenido`,notNumber:`No es un número. Escribe cifras, con un punto para los decimales: 1234.5`,notDate:`No es una fecha. Escribe 2026-10-14 o 2026-10-14T09:30`,notEmail:`No es una dirección de correo electrónico`,notUrl:`Una dirección no lleva espacios`,open:`Abrir`,left:e=>e===1?`1 valor no encajaba en su columna y se omitió.`:`${String(e)} valores no encajaban en sus columnas y se omitieron.`,pasteHint:`Usa ⌘V para pegar.`},files:{notFound:`No encontrado`,insert:`Insertar archivo…`,add:`Añadir archivo`,adding:e=>e===1?`Añadiendo 1 archivo…`:`Añadiendo ${String(e)} archivos…`,tooLarge:(e,t)=>`${e} supera los ${String(t)} MB y no se añadió.`,failed:e=>`No se pudo añadir ${e}.`,notHere:`Solo una columna de archivos adjuntos contiene archivos. Primero cambia el formato de la columna a Archivo adjunto.`,remove:`Quitar de la celda`,of:(e,t)=>`${String(e)} de ${String(t)}`,previous:`Archivo anterior`,next:`Archivo siguiente`,open:`Abrir en una pestaña nueva`,close:`Cerrar`},review:{count:(e,t,n,r)=>`${e} cambió ${hu(t,n,r)}`,keepAll:`Conservar todo`,undoAll:`Deshacer todo`,keep:`Conservar`,undo:`Deshacer`,was:`Antes`,added:e=>`Añadido por ${e}`,changed:e=>`Cambiado por ${e}`,away:`Cambiado desde la última vez que lo viste`,countAway:(e,t,n)=>`Desde la última vez que lo viste: cambios en ${hu(e,t,n)}`,empty:`vacío`,next:`Siguiente`,previous:`Anterior`,position:(e,t)=>`${String(e)} de ${String(t)}`,conflicts:e=>e===1?`1 celda tenía cambios de los dos: se conservó el tuyo.`:`${String(e)} celdas tenían cambios de los dos: se conservaron los tuyos.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Hoy`,previousMonth:`Mes anterior`,nextMonth:`Mes siguiente`,clear:`Borrar`,addTime:`Añadir una hora`,removeTime:`Quitar la hora`,time:`Hora`},empty:{title:`Aún no hay filas`,addRow:`Añadir una fila`,paste:`Pegar filas`,pasteHint:`Copia filas en Excel o Google Sheets y pulsa ⌘V aquí.`,importFile:`Importar un archivo`,noMatch:`No hay filas que mostrar`,noMatchBody:`El filtro deja fuera todas las filas.`,clearFilter:`Borrar el filtro`}},_u=(e,t,n)=>`${e.toLocaleString(`fr`)} ${e<2?t:n}`,vu=(e,t,n)=>[e>0?_u(e,`cellule`,`cellules`):``,t>0?_u(t,`ligne`,`lignes`):``,n>0?_u(n,`colonne`,`colonnes`):``].filter(e=>e!==``).join(`, `),yu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Ouverture…`,unreadable:`Cette feuille de calcul ne peut pas être modifiée pour l’instant\xA0: son fichier n’est pas un CSV lisible. Voici ce qui ne va pas.`,readOnlyLarge:e=>`Cette feuille de calcul fait ${e}\u00a0Mo\u00a0: elle est affichée ici, pas modifiée.`,untitled:`Sans titre`,saved:`Enregistré`,saving:`Enregistrement…`,unsaved:`Non enregistré`,failed:`Non enregistré`,rows:(e,t)=>e===t?_u(t,`ligne`,`lignes`):`${e.toLocaleString(`fr`)} sur ${_u(t,`ligne`,`lignes`)}`,find:`Rechercher`,findPlaceholder:`Rechercher dans la feuille`,matches:e=>_u(e,`résultat`,`résultats`),types:{text:`Texte`,number:`Nombre`,select:`Liste déroulante`,"multi-select":`Liste à choix multiples`,date:`Date`,checkbox:`Case à cocher`,url:`Lien`,email:`E-mail`,phone:`Téléphone`,file:`Fichier`},auto:{button:e=>`Trier et filtrer ${e}`,sortAsc:{text:`Trier de A à Z`,number:`Trier du plus petit au plus grand`,date:`Trier du plus ancien au plus récent`,options:`Trier dans l’ordre des options`},sortDesc:{text:`Trier de Z à A`,number:`Trier du plus grand au plus petit`,date:`Trier du plus récent au plus ancien`,options:`Trier dans l’ordre inverse des options`},search:`Rechercher`,selectAll:`(Sélectionner tout)`,selectFound:`(Sélectionner tous les résultats de la recherche)`,blanks:`(Vides)`,checked:`Coché`,unchecked:`Non coché`,hasFile:`Contient un fichier`,more:e=>`${e.toLocaleString(`fr`)} de plus. Recherchez pour les trouver.`,none:`Aucune valeur ne correspond.`,clear:`Effacer le filtre`,ok:`OK`},look:{sorted:e=>`Trié par ${e}`,filtered:e=>e.length===1?`Filtré par ${e[0]??``}`:`Filtré par ${String(e.length)} colonnes`,hidden:e=>e<2?`${String(e)} colonne masquée`:`${String(e)} colonnes masquées`,clear:`Effacer`,note:`Vous seul voyez ce tri et ce filtre.`},replace:{label:`Remplacer`,with:`Remplacer par`,one:`Remplacer`,all:`Remplacer tout`,done:e=>`Remplacé dans ${_u(e,`cellule`,`cellules`)}.`},stats:{average:`Moyenne`,count:`Nombre`,sum:`Somme`},column:{name:`Nom de la colonne`,key:`Colonne clé\xA0: chaque ligne y a sa propre valeur`,add:`Ajouter une colonne`,rename:`Renommer`,format:`Format`,formats:{text:`Texte`,number:`Nombre`,currency:`Monétaire`,percent:`Pourcentage`,date:`Date`,checkbox:`Case à cocher`,list:`Liste déroulante`,file:`Pièce jointe`},addOption:`Ajouter une option`,newOption:e=>`Ajouter «\u00a0${e}\u00a0»`,confirm:`Supprimer`,cancel:`Annuler`,hide:`Masquer la colonne`,insertLeft:`Insérer une colonne à gauche`,insertRight:`Insérer une colonne à droite`,remove:`Supprimer la colonne`,removeAsk:(e,t)=>`Supprimer «\u00a0${e}\u00a0» et ${t<2?`sa`:`ses`} ${_u(t,`valeur`,`valeurs`)}\u00a0? Vous pourrez annuler.`,taken:`Une autre colonne porte ce nom.`,empty:`Une colonne doit avoir un nom.`,newName:e=>e===1?`Colonne`:`Colonne ${String(e)}`},row:{numbered:e=>`Ligne ${String(e)}`,inFile:e=>`Ligne ${String(e)} du fichier`,of:(e,t)=>`Ligne ${String(e)} sur ${String(t)}`,hiddenFields:`Colonnes masquées`,insertAbove:`Insérer une ligne au-dessus`,insertBelow:`Insérer une ligne en dessous`,remove:e=>e===1?`Supprimer la ligne`:`Supprimer ${String(e)} lignes`,expand:`Ouvrir la ligne`,newRow:`Nouvelle ligne`,record:`Ligne`,previous:`Ligne précédente`,next:`Ligne suivante`,close:`Fermer`},cell:{copy:`Copier`,cut:`Couper`,paste:`Coller`,clear:`Effacer`,clearContents:`Effacer le contenu`,notNumber:`Ce n’est pas un nombre. Écrivez des chiffres, avec un point pour les décimales\xA0: 1234.5`,notDate:`Ce n’est pas une date. Écrivez 2026-10-14, ou 2026-10-14T09:30`,notEmail:`Ce n’est pas une adresse e-mail`,notUrl:`Une adresse ne contient pas d’espaces`,open:`Ouvrir`,left:e=>e===1?`1 valeur ne convenait pas à sa colonne et a été laissée de côté.`:`${String(e)} valeurs ne convenaient pas à leur colonne et ont été laissées de côté.`,pasteHint:`Utilisez ⌘V pour coller.`},files:{notFound:`Introuvable`,insert:`Insérer un fichier…`,add:`Ajouter un fichier`,adding:e=>e===1?`Ajout d’un fichier…`:`Ajout de ${String(e)} fichiers…`,tooLarge:(e,t)=>`${e} dépasse ${String(t)}\u00a0Mo et n’a pas été ajouté.`,failed:e=>`${e} n’a pas pu être ajouté.`,notHere:`Seule une colonne de pièces jointes contient des fichiers. Choisissez d’abord le format Pièce jointe pour la colonne.`,remove:`Retirer de la cellule`,of:(e,t)=>`${String(e)} sur ${String(t)}`,previous:`Fichier précédent`,next:`Fichier suivant`,open:`Ouvrir dans un nouvel onglet`,close:`Fermer`},review:{count:(e,t,n,r)=>`${e} a modifié ${vu(t,n,r)}`,keepAll:`Tout garder`,undoAll:`Tout annuler`,keep:`Garder`,undo:`Annuler`,was:`Avant`,added:e=>`Ajouté par ${e}`,changed:e=>`Modifié par ${e}`,away:`Modifié depuis votre dernière visite`,countAway:(e,t,n)=>`Depuis votre dernière visite\u00a0: ${vu(e,t,n)} ${e+t+n<2?`modifiée`:`modifiées`}`,empty:`vide`,next:`Suivant`,previous:`Précédent`,position:(e,t)=>`${String(e)} sur ${String(t)}`,conflicts:e=>e<2?`${String(e)} cellule a été modifiée par vous deux\u00a0: votre version a été gardée.`:`${String(e)} cellules ont été modifiées par vous deux\u00a0: vos versions ont été gardées.`},date:{placeholder:`2026-10-14, 2026-10-14 09:30…`,today:`Aujourd’hui`,previousMonth:`Mois précédent`,nextMonth:`Mois suivant`,clear:`Effacer`,addTime:`Ajouter une heure`,removeTime:`Retirer l’heure`,time:`Heure`},empty:{title:`Aucune ligne pour l’instant`,addRow:`Ajouter une ligne`,paste:`Coller des lignes`,pasteHint:`Copiez des lignes dans Excel ou Google Sheets, puis appuyez sur ⌘V ici.`,importFile:`Importer un fichier`,noMatch:`Aucune ligne à afficher`,noMatchBody:`Le filtre exclut toutes les lignes.`,clearFilter:`Effacer le filtre`}},bu=new Intl.PluralRules(`hi`),xu=e=>bu.select(e)===`one`,Su=e=>e.toLocaleString(`hi`),Cu=(e,t,n)=>[e>0?`${String(e)} सेल`:``,t>0?`${String(t)} ${xu(t)?`पंक्ति`:`पंक्तियाँ`}`:``,n>0?`${String(n)} कॉलम`:``].filter(e=>e!==``).join(`, `),wu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`खुल रहा है…`,unreadable:`यह शीट अभी एडिट नहीं की जा सकती: इसकी फ़ाइल ऐसी CSV नहीं है जिसे शीट पढ़ सके। गड़बड़ी यह है।`,readOnlyLarge:e=>`यह शीट ${e} MB की है: यहाँ यह सिर्फ़ दिखाई जाती है, एडिट नहीं होती।`,untitled:`बिना शीर्षक`,saved:`सेव हो गया`,saving:`सेव हो रहा है…`,unsaved:`सेव नहीं हुआ`,failed:`सेव नहीं हो सका`,rows:(e,t)=>e===t?`${Su(t)} ${xu(t)?`पंक्ति`:`पंक्तियाँ`}`:`${Su(t)} में से ${Su(e)} पंक्तियाँ`,find:`ढूँढें`,findPlaceholder:`शीट में ढूँढें`,matches:e=>`${String(e)} मिलान`,types:{text:`टेक्स्ट`,number:`संख्या`,select:`ड्रॉपडाउन सूची`,"multi-select":`कई विकल्पों की सूची`,date:`तारीख`,checkbox:`चेकबॉक्स`,url:`लिंक`,email:`ईमेल`,phone:`फ़ोन`,file:`फ़ाइल`},auto:{button:e=>`${e} को सॉर्ट और फ़िल्टर करें`,sortAsc:{text:`A से Z तक सॉर्ट करें`,number:`सबसे छोटे से सबसे बड़े तक सॉर्ट करें`,date:`सबसे पुराने से सबसे नए तक सॉर्ट करें`,options:`विकल्पों के क्रम में सॉर्ट करें`},sortDesc:{text:`Z से A तक सॉर्ट करें`,number:`सबसे बड़े से सबसे छोटे तक सॉर्ट करें`,date:`सबसे नए से सबसे पुराने तक सॉर्ट करें`,options:`विकल्पों के उल्टे क्रम में सॉर्ट करें`},search:`खोजें`,selectAll:`(सभी चुनें)`,selectFound:`(खोज के सभी नतीजे चुनें)`,blanks:`(रिक्त)`,checked:`चेक किया हुआ`,unchecked:`चेक नहीं किया हुआ`,hasFile:`फ़ाइल है`,more:e=>`${Su(e)} और। उन्हें पाने के लिए खोजें।`,none:`कोई मान मेल नहीं खाता।`,clear:`फ़िल्टर साफ़ करें`,ok:`ठीक है`},look:{sorted:e=>`${e} के हिसाब से सॉर्ट किया गया`,filtered:e=>e.length===1?`${e[0]??``} के हिसाब से फ़िल्टर किया गया`:`${String(e.length)} कॉलम के हिसाब से फ़िल्टर किया गया`,hidden:e=>`${String(e)} कॉलम छिपे हुए`,clear:`साफ़ करें`,note:`यह सॉर्ट और फ़िल्टर सिर्फ़ आपको दिखता है।`},replace:{label:`बदलें`,with:`इससे बदलें`,one:`बदलें`,all:`सभी बदलें`,done:e=>`${String(e)} सेल में बदला गया।`},stats:{average:`औसत`,count:`गिनती`,sum:`योग`},column:{name:`कॉलम का नाम`,key:`की कॉलम: हर पंक्ति का मान अलग होता है`,add:`कॉलम जोड़ें`,rename:`नाम बदलें`,format:`फ़ॉर्मेट`,formats:{text:`टेक्स्ट`,number:`संख्या`,currency:`मुद्रा`,percent:`प्रतिशत`,date:`तारीख`,checkbox:`चेकबॉक्स`,list:`ड्रॉपडाउन सूची`,file:`अटैचमेंट`},addOption:`विकल्प जोड़ें`,newOption:e=>`“${e}” जोड़ें`,confirm:`डिलीट करें`,cancel:`रद्द करें`,hide:`कॉलम छिपाएँ`,insertLeft:`बाईं ओर कॉलम डालें`,insertRight:`दाईं ओर कॉलम डालें`,remove:`कॉलम डिलीट करें`,removeAsk:(e,t)=>`“${e}” और उसके ${Su(t)} मान डिलीट करें? आप इसे पहले जैसा कर सकते हैं।`,taken:`किसी दूसरे कॉलम का यही नाम है।`,empty:`कॉलम का नाम होना ज़रूरी है।`,newName:e=>e===1?`कॉलम`:`कॉलम ${String(e)}`},row:{numbered:e=>`पंक्ति ${String(e)}`,inFile:e=>`फ़ाइल में पंक्ति ${String(e)}`,of:(e,t)=>`पंक्ति ${String(e)} / ${String(t)}`,hiddenFields:`छिपे हुए कॉलम`,insertAbove:`ऊपर पंक्ति डालें`,insertBelow:`नीचे पंक्ति डालें`,remove:e=>e===1?`पंक्ति डिलीट करें`:`${String(e)} पंक्तियाँ डिलीट करें`,expand:`पंक्ति खोलें`,newRow:`नई पंक्ति`,record:`पंक्ति`,previous:`पिछली पंक्ति`,next:`अगली पंक्ति`,close:`बंद करें`},cell:{copy:`कॉपी करें`,cut:`कट करें`,paste:`पेस्ट करें`,clear:`साफ़ करें`,clearContents:`सामग्री साफ़ करें`,notNumber:`यह संख्या नहीं है। अंक लिखें, दशमलव के लिए पॉइंट के साथ: 1234.5`,notDate:`यह तारीख नहीं है। 2026-10-14 या 2026-10-14T09:30 लिखें`,notEmail:`यह ईमेल पता नहीं है`,notUrl:`पते में स्पेस नहीं होते`,open:`खोलें`,left:e=>e===1?`1 मान अपने कॉलम में फ़िट नहीं हुआ और छोड़ दिया गया।`:`${String(e)} मान अपने कॉलम में फ़िट नहीं हुए और छोड़ दिए गए।`,pasteHint:`पेस्ट करने के लिए ⌘V इस्तेमाल करें।`},files:{notFound:`नहीं मिली`,insert:`फ़ाइल डालें…`,add:`फ़ाइल जोड़ें`,adding:e=>e===1?`1 फ़ाइल जोड़ी जा रही है…`:`${String(e)} फ़ाइलें जोड़ी जा रही हैं…`,tooLarge:(e,t)=>`${e} ${String(t)} MB से बड़ी है, इसलिए जोड़ी नहीं गई।`,failed:e=>`${e} जोड़ी नहीं जा सकी।`,notHere:`फ़ाइलें सिर्फ़ अटैचमेंट कॉलम में रहती हैं। पहले कॉलम का फ़ॉर्मेट अटैचमेंट पर सेट करें।`,remove:`सेल से हटाएँ`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`पिछली फ़ाइल`,next:`अगली फ़ाइल`,open:`नए टैब में खोलें`,close:`बंद करें`},review:{count:(e,t,n,r)=>`${e} के बदलाव: ${Cu(t,n,r)}`,keepAll:`सभी रखें`,undoAll:`सभी पहले जैसे करें`,keep:`रखें`,undo:`पहले जैसा करें`,was:`पहले`,added:e=>`${e} ने जोड़ा`,changed:e=>`${e} ने बदला`,away:`आपके पिछली बार देखने के बाद बदला गया`,countAway:(e,t,n)=>`आपके पिछली बार देखने के बाद बदला गया: ${Cu(e,t,n)}`,empty:`खाली`,next:`अगला`,previous:`पिछला`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} सेल आप दोनों ने बदले: आपके बदलाव रखे गए।`},date:{placeholder:`2026-10-14, today, Oct 14…`,today:`आज`,previousMonth:`पिछला महीना`,nextMonth:`अगला महीना`,clear:`साफ़ करें`,addTime:`समय जोड़ें`,removeTime:`समय हटाएँ`,time:`समय`},empty:{title:`अभी कोई पंक्ति नहीं`,addRow:`पंक्ति जोड़ें`,paste:`पंक्तियाँ पेस्ट करें`,pasteHint:`Excel या Google Sheets में पंक्तियाँ कॉपी करें, फिर यहाँ ⌘V दबाएँ।`,importFile:`फ़ाइल इंपोर्ट करें`,noMatch:`दिखाने के लिए कोई पंक्ति नहीं`,noMatchBody:`फ़िल्टर हर पंक्ति को बाहर कर देता है।`,clearFilter:`फ़िल्टर साफ़ करें`}},Tu=(e,t,n)=>`${e.toLocaleString(`it`)} ${e===1?t:n}`,Eu=(e,t,n)=>[e>0?Tu(e,`cella`,`celle`):``,t>0?Tu(t,`riga`,`righe`):``,n>0?Tu(n,`colonna`,`colonne`):``].filter(e=>e!==``).join(`, `),Du={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Apertura…`,unreadable:`Al momento questo foglio non si può modificare: il suo file non è un CSV leggibile. Ecco cosa non va.`,readOnlyLarge:e=>`Questo foglio è di ${e} MB: qui si può vedere, ma non modificare.`,untitled:`Senza titolo`,saved:`Salvato`,saving:`Salvataggio…`,unsaved:`Non salvato`,failed:`Non salvato`,rows:(e,t)=>e===t?Tu(t,`riga`,`righe`):`${e.toLocaleString(`it`)} di ${t.toLocaleString(`it`)} righe`,find:`Trova`,findPlaceholder:`Trova nel foglio`,matches:e=>e===1?`1 risultato`:`${String(e)} risultati`,types:{text:`Testo`,number:`Numero`,select:`Elenco a discesa`,"multi-select":`Selezione multipla`,date:`Data`,checkbox:`Casella di controllo`,url:`Link`,email:`Email`,phone:`Telefono`,file:`File`},auto:{button:e=>`Ordina e filtra ${e}`,sortAsc:{text:`Ordina dalla A alla Z`,number:`Ordina dal più piccolo al più grande`,date:`Ordina dal meno recente al più recente`,options:`Ordina secondo le opzioni`},sortDesc:{text:`Ordina dalla Z alla A`,number:`Ordina dal più grande al più piccolo`,date:`Ordina dal più recente al meno recente`,options:`Ordina secondo le opzioni, al contrario`},search:`Cerca`,selectAll:`(Seleziona tutto)`,selectFound:`(Seleziona tutti i risultati della ricerca)`,blanks:`(Vuote)`,checked:`Selezionata`,unchecked:`Non selezionata`,hasFile:`Con un file`,more:e=>`Altri ${e.toLocaleString(`it`)}. Usa la ricerca per trovarli.`,none:`Nessun valore corrispondente.`,clear:`Cancella filtro`,ok:`OK`},look:{sorted:e=>`Ordinato per ${e}`,filtered:e=>e.length===1?`Filtrato per ${e[0]??``}`:`Filtrato per ${String(e.length)} colonne`,hidden:e=>e===1?`1 colonna nascosta`:`${String(e)} colonne nascoste`,clear:`Cancella`,note:`Solo tu vedi questo ordinamento e questo filtro.`},replace:{label:`Sostituisci`,with:`Sostituisci con`,one:`Sostituisci`,all:`Sostituisci tutto`,done:e=>`Sostituito in ${Tu(e,`cella`,`celle`)}.`},stats:{average:`Media`,count:`Conteggio`,sum:`Somma`},column:{name:`Nome della colonna`,key:`Colonna chiave: ogni riga ha un valore unico`,add:`Aggiungi una colonna`,rename:`Rinomina`,format:`Formato`,formats:{text:`Testo`,number:`Numero`,currency:`Valuta`,percent:`Percentuale`,date:`Data`,checkbox:`Casella di controllo`,list:`Elenco a discesa`,file:`Allegato`},addOption:`Aggiungi un'opzione`,newOption:e=>`Aggiungi “${e}”`,confirm:`Elimina`,cancel:`Annulla`,hide:`Nascondi colonna`,insertLeft:`Inserisci colonna a sinistra`,insertRight:`Inserisci colonna a destra`,remove:`Elimina colonna`,removeAsk:(e,t)=>`Eliminare “${e}” e ${t===1?`il suo valore`:`i suoi ${t.toLocaleString(`it`)} valori`}? Puoi annullare.`,taken:`Un'altra colonna ha già questo nome.`,empty:`Una colonna deve avere un nome.`,newName:e=>e===1?`Colonna`:`Colonna ${String(e)}`},row:{numbered:e=>`Riga ${String(e)}`,inFile:e=>`Riga ${String(e)} nel file`,of:(e,t)=>`Riga ${String(e)} di ${String(t)}`,hiddenFields:`Colonne nascoste`,insertAbove:`Inserisci riga sopra`,insertBelow:`Inserisci riga sotto`,remove:e=>e===1?`Elimina riga`:`Elimina ${String(e)} righe`,expand:`Apri riga`,newRow:`Nuova riga`,record:`Riga`,previous:`Riga precedente`,next:`Riga successiva`,close:`Chiudi`},cell:{copy:`Copia`,cut:`Taglia`,paste:`Incolla`,clear:`Cancella`,clearContents:`Cancella contenuto`,notNumber:`Non è un numero. Scrivi le cifre, con il punto per i decimali: 1234.5`,notDate:`Non è una data. Scrivi 2026-10-14 o 2026-10-14T09:30`,notEmail:`Non è un indirizzo email`,notUrl:`Un indirizzo non contiene spazi`,open:`Apri`,left:e=>e===1?`1 valore non era adatto alla sua colonna ed è stato escluso.`:`${String(e)} valori non erano adatti alle loro colonne e sono stati esclusi.`,pasteHint:`Usa ⌘V per incollare.`},files:{notFound:`Non trovato`,insert:`Inserisci file…`,add:`Aggiungi file`,adding:e=>e===1?`Aggiunta di 1 file…`:`Aggiunta di ${String(e)} file…`,tooLarge:(e,t)=>`${e} supera i ${String(t)} MB e non è stato aggiunto.`,failed:e=>`Impossibile aggiungere ${e}.`,notHere:`Solo una colonna di allegati contiene file. Imposta prima il formato della colonna su Allegato.`,remove:`Rimuovi dalla cella`,of:(e,t)=>`${String(e)} di ${String(t)}`,previous:`File precedente`,next:`File successivo`,open:`Apri in un nuovo pannello`,close:`Chiudi`},review:{count:(e,t,n,r)=>`${e} ha modificato ${Eu(t,n,r)}`,keepAll:`Mantieni tutto`,undoAll:`Annulla tutto`,keep:`Mantieni`,undo:`Annulla`,was:`Prima`,added:e=>`Aggiunto da ${e}`,changed:e=>`Modificato da ${e}`,away:`Modificato dall'ultima volta che l'hai visto`,countAway:(e,t,n)=>`Dall'ultima volta che l'hai visto: modificate ${Eu(e,t,n)}`,empty:`vuoto`,next:`Successivo`,previous:`Precedente`,position:(e,t)=>`${String(e)} di ${String(t)}`,conflicts:e=>e===1?`1 cella è stata modificata da entrambi: è stata mantenuta la tua versione.`:`${String(e)} celle sono state modificate da entrambi: è stata mantenuta la tua versione.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Oggi`,previousMonth:`Mese precedente`,nextMonth:`Mese successivo`,clear:`Cancella`,addTime:`Aggiungi un orario`,removeTime:`Rimuovi l'orario`,time:`Ora`},empty:{title:`Ancora nessuna riga`,addRow:`Aggiungi una riga`,paste:`Incolla righe`,pasteHint:`Copia le righe in Excel o Google Fogli, poi premi ⌘V qui.`,importFile:`Importa un file`,noMatch:`Nessuna riga da mostrare`,noMatchBody:`Il filtro esclude tutte le righe.`,clearFilter:`Cancella il filtro`}},Ou=/[\u3040-\u30ff\u3400-\u9fff\uf900-\ufaff]/u,ku=/[A-Za-z0-9]/;function Au(...e){let t=``;for(let n of e){if(n===``)continue;let e=t.at(-1)??``,r=n[0]??``,i=Ou.test(e)&&ku.test(r)||ku.test(e)&&Ou.test(r);t+=(i?` `:``)+n}return t}var ju=(e,t,n)=>[e>0?`セル ${String(e)} 個`:``,t>0?`${String(t)} 行`:``,n>0?`${String(n)} 列`:``].filter(e=>e!==``).join(`、`),Mu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`開いています…`,unreadable:`このシートは現在編集できません:ファイルが読み込める CSV になっていません。問題点は次のとおりです。`,readOnlyLarge:e=>`このシートは ${e} MB あるため、ここでは表示のみで編集はできません。`,untitled:`無題`,saved:`保存済み`,saving:`保存中…`,unsaved:`未保存`,failed:`保存できませんでした`,rows:(e,t)=>e===t?`${t.toLocaleString(`ja`)} 行`:`${e.toLocaleString(`ja`)} / ${t.toLocaleString(`ja`)} 行`,find:`検索`,findPlaceholder:`シート内を検索`,matches:e=>`${String(e)} 件`,types:{text:`文字列`,number:`数値`,select:`ドロップダウンリスト`,"multi-select":`複数選択リスト`,date:`日付`,checkbox:`チェックボックス`,url:`リンク`,email:`メール`,phone:`電話番号`,file:`ファイル`},auto:{button:e=>Au(e,`の並べ替えとフィルター`),sortAsc:{text:`昇順で並べ替え(A → Z)`,number:`小さい順に並べ替え`,date:`古い順に並べ替え`,options:`選択肢の順に並べ替え`},sortDesc:{text:`降順で並べ替え(Z → A)`,number:`大きい順に並べ替え`,date:`新しい順に並べ替え`,options:`選択肢の逆順に並べ替え`},search:`検索`,selectAll:`(すべて選択)`,selectFound:`(検索結果をすべて選択)`,blanks:`(空白セル)`,checked:`チェックあり`,unchecked:`チェックなし`,hasFile:`ファイルあり`,more:e=>`ほか ${e.toLocaleString(`ja`)} 件。検索すると見つかります。`,none:`一致する値はありません。`,clear:`フィルターをクリア`,ok:`OK`},look:{sorted:e=>`「${e}」で並べ替え中`,filtered:e=>e.length===1?`「${e[0]??``}」でフィルター中`:`${String(e.length)} 列でフィルター中`,hidden:e=>`${String(e)} 列を非表示`,clear:`クリア`,note:`この並べ替えとフィルターはあなたにだけ表示されます。`},replace:{label:`置換`,with:`置換後の文字列`,one:`置換`,all:`すべて置換`,done:e=>`${String(e)} 個のセルで置換しました。`},stats:{average:`平均`,count:`データの個数`,sum:`合計`},column:{name:`列名`,key:`キー列:行ごとに値が重複しません`,add:`列を追加`,rename:`名前を変更`,format:`表示形式`,formats:{text:`文字列`,number:`数値`,currency:`通貨`,percent:`パーセンテージ`,date:`日付`,checkbox:`チェックボックス`,list:`ドロップダウンリスト`,file:`添付ファイル`},addOption:`選択肢を追加`,newOption:e=>`「${e}」を追加`,confirm:`削除`,cancel:`キャンセル`,hide:`列を非表示`,insertLeft:`左に列を挿入`,insertRight:`右に列を挿入`,remove:`列を削除`,removeAsk:(e,t)=>`「${e}」とその ${t.toLocaleString(`ja`)} 個の値を削除しますか?元に戻せます。`,taken:`同じ名前の列がすでにあります。`,empty:`列には名前が必要です。`,newName:e=>e===1?`列`:`列 ${String(e)}`},row:{numbered:e=>`${String(e)} 行目`,inFile:e=>`ファイルの ${String(e)} 行目`,of:(e,t)=>`${String(e)} / ${String(t)} 行`,hiddenFields:`非表示の列`,insertAbove:`上に行を挿入`,insertBelow:`下に行を挿入`,remove:e=>e===1?`行を削除`:`${String(e)} 行を削除`,expand:`行を開く`,newRow:`新しい行`,record:`行`,previous:`前の行`,next:`次の行`,close:`閉じる`},cell:{copy:`コピー`,cut:`切り取り`,paste:`貼り付け`,clear:`クリア`,clearContents:`内容をクリア`,notNumber:`数値ではありません。数字で入力し、小数点にはピリオドを使ってください:1234.5`,notDate:`日付ではありません。2026-10-14 または 2026-10-14T09:30 の形式で入力してください`,notEmail:`メールアドレスではありません`,notUrl:`アドレスにスペースは使えません`,open:`開く`,left:e=>`${String(e)} 個の値が列の形式に合わないため、貼り付けませんでした。`,pasteHint:`⌘V で貼り付けてください。`},files:{notFound:`見つかりません`,insert:`ファイルを挿入…`,add:`ファイルを追加`,adding:e=>`${String(e)} 個のファイルを追加中…`,tooLarge:(e,t)=>`${e} は ${String(t)} MB を超えているため、追加しませんでした。`,failed:e=>`${e} を追加できませんでした。`,notHere:`ファイルを入れられるのは添付ファイルの列だけです。先に列の表示形式を「添付ファイル」にしてください。`,remove:`セルから削除`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`前のファイル`,next:`次のファイル`,open:`新しいタブで開く`,close:`閉じる`},review:{count:(e,t,n,r)=>Au(e,`が${ju(t,n,r)}を変更しました`),keepAll:`すべて残す`,undoAll:`すべて元に戻す`,keep:`残す`,undo:`元に戻す`,was:`変更前`,added:e=>Au(e,`が追加`),changed:e=>Au(e,`が変更`),away:`前回の確認以降に変更`,countAway:(e,t,n)=>`前回の確認以降、${ju(e,t,n)}が変更されました`,empty:`空`,next:`次へ`,previous:`前へ`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} 個のセルが双方で変更されました。あなたの変更を残しています。`},date:{placeholder:`2026-10-14、2026年10月14日、today…`,today:`今日`,previousMonth:`前の月`,nextMonth:`次の月`,clear:`クリア`,addTime:`時刻を追加`,removeTime:`時刻を削除`,time:`時刻`},empty:{title:`まだ行がありません`,addRow:`行を追加`,paste:`行を貼り付け`,pasteHint:`Excel や Google スプレッドシートで行をコピーし、ここで ⌘V を押してください。`,importFile:`ファイルを読み込む`,noMatch:`表示する行がありません`,noMatchBody:`フィルターですべての行が除外されています。`,clearFilter:`フィルターをクリア`}},Nu=(e,t,n)=>[e>0?`셀 ${String(e)}개`:``,t>0?`행 ${String(t)}개`:``,n>0?`열 ${String(n)}개`:``].filter(e=>e!==``).join(`, `),Pu=e=>{let t=e.replace(/[^\p{L}\p{N}]+$/u,``),n=t.charCodeAt(t.length-1);return`${e}${(n>=44032&&n<=55203?(n-44032)%28!=0:/\d$/u.test(t)?/[013678]$/u.test(t):/(ng|[lmnkpt])$/iu.test(t))?`이`:`가`}`},Fu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`여는 중…`,unreadable:`지금은 이 시트를 편집할 수 없습니다. 파일이 시트에서 읽을 수 있는 CSV가 아닙니다. 문제는 다음과 같습니다.`,readOnlyLarge:e=>`이 시트는 ${e} MB라서 여기서는 보기만 할 수 있고 편집할 수 없습니다.`,untitled:`제목 없음`,saved:`저장됨`,saving:`저장 중…`,unsaved:`저장 안 됨`,failed:`저장하지 못함`,rows:(e,t)=>e===t?`${t.toLocaleString(`ko`)}행`:`${t.toLocaleString(`ko`)}행 중 ${e.toLocaleString(`ko`)}행`,find:`찾기`,findPlaceholder:`시트에서 찾기`,matches:e=>`${String(e)}개 일치`,types:{text:`텍스트`,number:`숫자`,select:`드롭다운 목록`,"multi-select":`다중 선택 목록`,date:`날짜`,checkbox:`확인란`,url:`링크`,email:`이메일`,phone:`전화번호`,file:`파일`},auto:{button:e=>`${e} 정렬 및 필터`,sortAsc:{text:`텍스트 오름차순 정렬`,number:`숫자 오름차순 정렬`,date:`오래된 날짜순 정렬`,options:`옵션 순서대로 정렬`},sortDesc:{text:`텍스트 내림차순 정렬`,number:`숫자 내림차순 정렬`,date:`최근 날짜순 정렬`,options:`옵션 역순으로 정렬`},search:`검색`,selectAll:`(모두 선택)`,selectFound:`(검색 결과 모두 선택)`,blanks:`(필드 값 없음)`,checked:`선택됨`,unchecked:`선택 안 됨`,hasFile:`파일 있음`,more:e=>`${e.toLocaleString(`ko`)}개 더 있습니다. 검색하여 찾으세요.`,none:`일치하는 값이 없습니다.`,clear:`필터 해제`,ok:`확인`},look:{sorted:e=>`${e} 기준 정렬됨`,filtered:e=>e.length===1?`${e[0]??``} 기준 필터링됨`:`열 ${String(e.length)}개 기준 필터링됨`,hidden:e=>`열 ${String(e)}개 숨김`,clear:`해제`,note:`이 정렬과 필터는 나에게만 보입니다.`},replace:{label:`바꾸기`,with:`바꿀 내용`,one:`바꾸기`,all:`모두 바꾸기`,done:e=>`셀 ${String(e)}개에서 바꿨습니다.`},stats:{average:`평균`,count:`개수`,sum:`합계`},column:{name:`열 이름`,key:`키 열: 행마다 고유한 값을 가집니다`,add:`열 추가`,rename:`이름 바꾸기`,format:`서식`,formats:{text:`텍스트`,number:`숫자`,currency:`통화`,percent:`백분율`,date:`날짜`,checkbox:`확인란`,list:`드롭다운 목록`,file:`첨부 파일`},addOption:`옵션 추가`,newOption:e=>`“${e}” 추가`,confirm:`삭제`,cancel:`취소`,hide:`열 숨기기`,insertLeft:`왼쪽에 열 삽입`,insertRight:`오른쪽에 열 삽입`,remove:`열 삭제`,removeAsk:(e,t)=>`“${e}” 열과 그 값 ${t.toLocaleString(`ko`)}개를 삭제할까요? 실행 취소할 수 있습니다.`,taken:`같은 이름의 열이 이미 있습니다.`,empty:`열 이름을 입력하세요.`,newName:e=>e===1?`열`:`열 ${String(e)}`},row:{numbered:e=>`${String(e)}행`,inFile:e=>`파일의 ${String(e)}행`,of:(e,t)=>`${String(t)}행 중 ${String(e)}행`,hiddenFields:`숨긴 열`,insertAbove:`위에 행 삽입`,insertBelow:`아래에 행 삽입`,remove:e=>e===1?`행 삭제`:`행 ${String(e)}개 삭제`,expand:`행 열기`,newRow:`새 행`,record:`행`,previous:`이전 행`,next:`다음 행`,close:`닫기`},cell:{copy:`복사`,cut:`잘라내기`,paste:`붙여넣기`,clear:`지우기`,clearContents:`내용 지우기`,notNumber:`숫자가 아닙니다. 숫자로 쓰고 소수는 점을 사용하세요: 1234.5`,notDate:`날짜가 아닙니다. 2026-10-14 또는 2026-10-14T09:30 형식으로 쓰세요`,notEmail:`이메일 주소가 아닙니다`,notUrl:`주소에는 공백을 쓸 수 없습니다`,open:`열기`,left:e=>`값 ${String(e)}개가 열에 맞지 않아 제외되었습니다.`,pasteHint:`붙여넣으려면 ⌘V를 사용하세요.`},files:{notFound:`찾을 수 없음`,insert:`파일 삽입…`,add:`파일 추가`,adding:e=>`파일 ${String(e)}개 추가 중…`,tooLarge:(e,t)=>`${e} 파일이 ${String(t)} MB를 넘어 추가하지 않았습니다.`,failed:e=>`${e} 파일을 추가하지 못했습니다.`,notHere:`첨부 파일 열에만 파일을 넣을 수 있습니다. 먼저 열 서식을 첨부 파일로 설정하세요.`,remove:`셀에서 제거`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`이전 파일`,next:`다음 파일`,open:`새 탭에서 열기`,close:`닫기`},review:{count:(e,t,n,r)=>`${Pu(e)} 변경함: ${Nu(t,n,r)}`,keepAll:`모두 유지`,undoAll:`모두 실행 취소`,keep:`유지`,undo:`실행 취소`,was:`이전`,added:e=>`${Pu(e)} 추가함`,changed:e=>`${Pu(e)} 변경함`,away:`마지막으로 본 뒤 변경됨`,countAway:(e,t,n)=>`마지막으로 본 뒤 변경됨: ${Nu(e,t,n)}`,empty:`비어 있음`,next:`다음`,previous:`이전`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`셀 ${String(e)}개를 양쪽에서 모두 바꿨습니다. 내 변경 사항을 유지했습니다.`},date:{placeholder:`2026-10-14, 2026.10.14, today…`,today:`오늘`,previousMonth:`이전 달`,nextMonth:`다음 달`,clear:`지우기`,addTime:`시간 추가`,removeTime:`시간 제거`,time:`시간`},empty:{title:`아직 행이 없습니다`,addRow:`행 추가`,paste:`행 붙여넣기`,pasteHint:`Excel이나 Google Sheets에서 행을 복사한 뒤 여기서 ⌘V를 누르세요.`,importFile:`파일 가져오기`,noMatch:`표시할 행이 없습니다`,noMatchBody:`필터 때문에 모든 행이 제외되었습니다.`,clearFilter:`필터 해제`}},Iu=(e,t,n)=>[e>0?`${String(e)} ${e===1?`célula`:`células`}`:``,t>0?`${String(t)} ${t===1?`linha`:`linhas`}`:``,n>0?`${String(n)} ${n===1?`coluna`:`colunas`}`:``].filter(e=>e!==``).join(`, `),Lu=e=>e.toLocaleString(`pt-BR`),Ru={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Abrindo…`,unreadable:`Não é possível editar esta planilha agora: o arquivo dela não é um CSV que uma planilha consiga ler. Veja o que está errado.`,readOnlyLarge:e=>`Esta planilha tem ${e} MB: aqui ela é mostrada, não editada.`,untitled:`Sem título`,saved:`Salvo`,saving:`Salvando…`,unsaved:`Não salvo`,failed:`Não foi salvo`,rows:(e,t)=>e===t?`${Lu(t)} ${t===1?`linha`:`linhas`}`:`${Lu(e)} de ${Lu(t)} linhas`,find:`Localizar`,findPlaceholder:`Localizar na planilha`,matches:e=>e===1?`1 resultado`:`${String(e)} resultados`,types:{text:`Texto`,number:`Número`,select:`Lista suspensa`,"multi-select":`Seleção múltipla`,date:`Data`,checkbox:`Caixa de seleção`,url:`Link`,email:`Email`,phone:`Telefone`,file:`Arquivo`},auto:{button:e=>`Classificar e filtrar ${e}`,sortAsc:{text:`Classificar de A a Z`,number:`Classificar do menor para o maior`,date:`Classificar do mais antigo para o mais novo`,options:`Classificar na ordem das opções`},sortDesc:{text:`Classificar de Z a A`,number:`Classificar do maior para o menor`,date:`Classificar do mais novo para o mais antigo`,options:`Classificar na ordem inversa das opções`},search:`Pesquisar`,selectAll:`(Selecionar tudo)`,selectFound:`(Selecionar todos os resultados da pesquisa)`,blanks:`(Vazias)`,checked:`Marcada`,unchecked:`Desmarcada`,hasFile:`Tem arquivo`,more:e=>`Mais ${Lu(e)}. Pesquise para encontrá-los.`,none:`Nenhum valor corresponde.`,clear:`Limpar filtro`,ok:`OK`},look:{sorted:e=>`Classificado por ${e}`,filtered:e=>e.length===1?`Filtrado por ${e[0]??``}`:`Filtrado por ${String(e.length)} colunas`,hidden:e=>e===1?`1 coluna oculta`:`${String(e)} colunas ocultas`,clear:`Limpar`,note:`Só você vê esta classificação e este filtro.`},replace:{label:`Substituir`,with:`Substituir por`,one:`Substituir`,all:`Substituir tudo`,done:e=>`Substituído em ${String(e)} ${e===1?`célula`:`células`}.`},stats:{average:`Média`,count:`Contagem`,sum:`Soma`},column:{name:`Nome da coluna`,key:`Coluna-chave: o valor de cada linha é único`,add:`Adicionar uma coluna`,rename:`Renomear`,format:`Formato`,formats:{text:`Texto`,number:`Número`,currency:`Moeda`,percent:`Porcentagem`,date:`Data`,checkbox:`Caixa de seleção`,list:`Lista suspensa`,file:`Anexo`},addOption:`Adicionar uma opção`,newOption:e=>`Adicionar “${e}”`,confirm:`Excluir`,cancel:`Cancelar`,hide:`Ocultar coluna`,insertLeft:`Inserir coluna à esquerda`,insertRight:`Inserir coluna à direita`,remove:`Excluir coluna`,removeAsk:(e,t)=>`Excluir “${e}” e ${t===1?`seu valor`:`seus ${Lu(t)} valores`}? Você pode desfazer.`,taken:`Outra coluna já tem este nome.`,empty:`Uma coluna precisa de um nome.`,newName:e=>e===1?`Coluna`:`Coluna ${String(e)}`},row:{numbered:e=>`Linha ${String(e)}`,inFile:e=>`Linha ${String(e)} no arquivo`,of:(e,t)=>`Linha ${String(e)} de ${String(t)}`,hiddenFields:`Colunas ocultas`,insertAbove:`Inserir linha acima`,insertBelow:`Inserir linha abaixo`,remove:e=>e===1?`Excluir linha`:`Excluir ${String(e)} linhas`,expand:`Abrir linha`,newRow:`Nova linha`,record:`Linha`,previous:`Linha anterior`,next:`Próxima linha`,close:`Fechar`},cell:{copy:`Copiar`,cut:`Recortar`,paste:`Colar`,clear:`Limpar`,clearContents:`Limpar conteúdo`,notNumber:`Não é um número. Escreva algarismos, com ponto para decimais: 1234.5`,notDate:`Não é uma data. Escreva 2026-10-14 ou 2026-10-14T09:30`,notEmail:`Não é um endereço de email`,notUrl:`Um endereço não tem espaços`,open:`Abrir`,left:e=>e===1?`1 valor não cabia na coluna e ficou de fora.`:`${String(e)} valores não cabiam nas colunas e ficaram de fora.`,pasteHint:`Use ⌘V para colar.`},files:{notFound:`Não encontrado`,insert:`Inserir arquivo…`,add:`Adicionar arquivo`,adding:e=>e===1?`Adicionando 1 arquivo…`:`Adicionando ${String(e)} arquivos…`,tooLarge:(e,t)=>`${e} tem mais de ${String(t)} MB e não foi adicionado.`,failed:e=>`Não foi possível adicionar ${e}.`,notHere:`Só uma coluna de anexos guarda arquivos. Primeiro defina o formato da coluna como Anexo.`,remove:`Remover da célula`,of:(e,t)=>`${String(e)} de ${String(t)}`,previous:`Arquivo anterior`,next:`Próximo arquivo`,open:`Abrir em uma nova aba`,close:`Fechar`},review:{count:(e,t,n,r)=>`O ${e} alterou ${Iu(t,n,r)}`,keepAll:`Manter tudo`,undoAll:`Desfazer tudo`,keep:`Manter`,undo:`Desfazer`,was:`Antes`,added:e=>`Adicionado pelo ${e}`,changed:e=>`Alterado pelo ${e}`,away:`Alterado desde a última vez que você olhou`,countAway:(e,t,n)=>`Desde a última vez que você olhou: alterações em ${Iu(e,t,n)}`,empty:`vazio`,next:`Próxima`,previous:`Anterior`,position:(e,t)=>`${String(e)} de ${String(t)}`,conflicts:e=>e===1?`1 célula foi alterada por vocês dois: a sua versão foi mantida.`:`${String(e)} células foram alteradas por vocês dois: as suas versões foram mantidas.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Hoje`,previousMonth:`Mês anterior`,nextMonth:`Próximo mês`,clear:`Limpar`,addTime:`Adicionar um horário`,removeTime:`Remover o horário`,time:`Horário`},empty:{title:`Nenhuma linha ainda`,addRow:`Adicionar uma linha`,paste:`Colar linhas`,pasteHint:`Copie linhas no Excel ou no Planilhas Google e pressione ⌘V aqui.`,importFile:`Importar um arquivo`,noMatch:`Nenhuma linha para mostrar`,noMatchBody:`O filtro deixa todas as linhas de fora.`,clearFilter:`Limpar o filtro`}},zu=new Intl.PluralRules(`ru`),Bu=(e,t,n,r)=>{let i=zu.select(e);return i===`one`?t:i===`many`?r:n},Vu=(e,t,n,r)=>`${e.toLocaleString(`ru`)} ${Bu(e,t,n,r)}`,Hu=(e,t,n)=>[e>0?Vu(e,`ячейка`,`ячейки`,`ячеек`):``,t>0?Vu(t,`строка`,`строки`,`строк`):``,n>0?Vu(n,`столбец`,`столбца`,`столбцов`):``].filter(e=>e!==``).join(`, `),Uu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Открытие…`,unreadable:`Сейчас эту таблицу нельзя редактировать: её файл не является CSV, который может прочитать таблица. Вот что не так.`,readOnlyLarge:e=>`Размер таблицы — ${e} MB: здесь её можно только просматривать.`,untitled:`Без названия`,saved:`Сохранено`,saving:`Сохранение…`,unsaved:`Не сохранено`,failed:`Не сохранено`,rows:(e,t)=>e===t?Vu(t,`строка`,`строки`,`строк`):`${e.toLocaleString(`ru`)} из ${Vu(t,`строки`,`строк`,`строк`)}`,find:`Найти`,findPlaceholder:`Найти в таблице`,matches:e=>Vu(e,`совпадение`,`совпадения`,`совпадений`),types:{text:`Текст`,number:`Число`,select:`Раскрывающийся список`,"multi-select":`Список с несколькими значениями`,date:`Дата`,checkbox:`Флажок`,url:`Ссылка`,email:`Эл. почта`,phone:`Телефон`,file:`Файл`},auto:{button:e=>`Сортировка и фильтр: ${e}`,sortAsc:{text:`Сортировка от А до Я`,number:`Сортировка от минимального к максимальному`,date:`Сортировка от старых к новым`,options:`Сортировка в порядке вариантов`},sortDesc:{text:`Сортировка от Я до А`,number:`Сортировка от максимального к минимальному`,date:`Сортировка от новых к старым`,options:`Сортировка в обратном порядке вариантов`},search:`Поиск`,selectAll:`(Выделить все)`,selectFound:`(Выделить все результаты поиска)`,blanks:`(Пустые)`,checked:`Отмечено`,unchecked:`Не отмечено`,hasFile:`Есть файл`,more:e=>`Ещё ${e.toLocaleString(`ru`)}. Воспользуйтесь поиском.`,none:`Нет подходящих значений.`,clear:`Удалить фильтр`,ok:`ОК`},look:{sorted:e=>`Сортировка: ${e}`,filtered:e=>e.length===1?`Фильтр: ${e[0]??``}`:`Фильтр по ${Vu(e.length,`столбцу`,`столбцам`,`столбцам`)}`,hidden:e=>`Скрыто: ${Vu(e,`столбец`,`столбца`,`столбцов`)}`,clear:`Сбросить`,note:`Эту сортировку и фильтр видите только вы.`},replace:{label:`Заменить`,with:`Заменить на`,one:`Заменить`,all:`Заменить все`,done:e=>`Заменено в ${Vu(e,`ячейке`,`ячейках`,`ячейках`)}.`},stats:{average:`Среднее`,count:`Количество`,sum:`Сумма`},column:{name:`Имя столбца`,key:`Ключевой столбец: значение в каждой строке своё`,add:`Добавить столбец`,rename:`Переименовать`,format:`Формат`,formats:{text:`Текст`,number:`Число`,currency:`Валюта`,percent:`Процент`,date:`Дата`,checkbox:`Флажок`,list:`Раскрывающийся список`,file:`Вложение`},addOption:`Добавить вариант`,newOption:e=>`Добавить «${e}»`,confirm:`Удалить`,cancel:`Отменить`,hide:`Скрыть столбец`,insertLeft:`Вставить столбец слева`,insertRight:`Вставить столбец справа`,remove:`Удалить столбец`,removeAsk:(e,t)=>`Удалить «${e}» и ${t===1?`его значение`:`его ${Vu(t,`значение`,`значения`,`значений`)}`}? Это можно отменить.`,taken:`Столбец с таким именем уже есть.`,empty:`У столбца должно быть имя.`,newName:e=>e===1?`Столбец`:`Столбец ${String(e)}`},row:{numbered:e=>`Строка ${String(e)}`,inFile:e=>`Строка ${String(e)} в файле`,of:(e,t)=>`Строка ${String(e)} из ${String(t)}`,hiddenFields:`Скрытые столбцы`,insertAbove:`Вставить строку выше`,insertBelow:`Вставить строку ниже`,remove:e=>e===1?`Удалить строку`:`Удалить ${Vu(e,`строку`,`строки`,`строк`)}`,expand:`Открыть строку`,newRow:`Новая строка`,record:`Строка`,previous:`Предыдущая строка`,next:`Следующая строка`,close:`Закрыть`},cell:{copy:`Скопировать`,cut:`Вырезать`,paste:`Вставить`,clear:`Очистить`,clearContents:`Очистить содержимое`,notNumber:`Это не число. Пишите цифры, дробную часть — через точку: 1234.5`,notDate:`Это не дата. Пишите 2026-10-14 или 2026-10-14T09:30`,notEmail:`Это не адрес электронной почты`,notUrl:`В адресе не может быть пробелов`,open:`Открыть`,left:e=>e===1?`1 значение не подошло к своему столбцу и не вставлено.`:`${Vu(e,`значение`,`значения`,`значений`)} не подошли к своим столбцам и не вставлены.`,pasteHint:`Чтобы вставить, нажмите ⌘V.`},files:{notFound:`Не найден`,insert:`Вставить файл…`,add:`Добавить файл`,adding:e=>`Добавление: ${Vu(e,`файл`,`файла`,`файлов`)}…`,tooLarge:(e,t)=>`${e} больше ${String(t)} MB и не добавлен.`,failed:e=>`Не удалось добавить ${e}.`,notHere:`Файлы можно хранить только в столбце вложений. Сначала задайте столбцу формат «Вложение».`,remove:`Удалить из ячейки`,of:(e,t)=>`${String(e)} из ${String(t)}`,previous:`Предыдущий файл`,next:`Следующий файл`,open:`Открыть в новой вкладке`,close:`Закрыть`},review:{count:(e,t,n,r)=>`${e} изменил: ${Hu(t,n,r)}`,keepAll:`Оставить все`,undoAll:`Отменить все`,keep:`Оставить`,undo:`Отменить`,was:`Было`,added:e=>`Добавил ${e}`,changed:e=>`Изменил ${e}`,away:`Изменено с вашего последнего просмотра`,countAway:(e,t,n)=>`С вашего последнего просмотра изменено: ${Hu(e,t,n)}`,empty:`пусто`,next:`Следующее`,previous:`Предыдущее`,position:(e,t)=>`${String(e)} из ${String(t)}`,conflicts:e=>`${e===1?`1 ячейку`:Vu(e,`ячейку`,`ячейки`,`ячеек`)} изменили вы оба: оставлены ваши значения.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Сегодня`,previousMonth:`Предыдущий месяц`,nextMonth:`Следующий месяц`,clear:`Очистить`,addTime:`Добавить время`,removeTime:`Убрать время`,time:`Время`},empty:{title:`Строк пока нет`,addRow:`Добавить строку`,paste:`Вставить строки`,pasteHint:`Скопируйте строки в Excel или Google Таблицах и нажмите здесь ⌘V.`,importFile:`Импортировать файл`,noMatch:`Нет строк для показа`,noMatchBody:`Фильтр скрывает все строки.`,clearFilter:`Удалить фильтр`}},Wu=(e,t,n)=>[e>0?`${String(e)} เซลล์`:``,t>0?`${String(t)} แถว`:``,n>0?`${String(n)} คอลัมน์`:``].filter(e=>e!==``).join(`, `),Gu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`กำลังเปิด…`,unreadable:`ยังแก้ไขชีตนี้ไม่ได้ในตอนนี้ เพราะไฟล์ไม่ใช่ CSV ที่ชีตอ่านได้ ปัญหามีดังนี้`,readOnlyLarge:e=>`ชีตนี้มีขนาด ${e} MB จึงแสดงได้อย่างเดียว แก้ไขที่นี่ไม่ได้`,untitled:`ไม่มีชื่อ`,saved:`บันทึกแล้ว`,saving:`กำลังบันทึก…`,unsaved:`ยังไม่ได้บันทึก`,failed:`บันทึกไม่สำเร็จ`,rows:(e,t)=>e===t?`${t.toLocaleString(`th`)} แถว`:`${e.toLocaleString(`th`)} จาก ${t.toLocaleString(`th`)} แถว`,find:`ค้นหา`,findPlaceholder:`ค้นหาในชีต`,matches:e=>`ตรงกัน ${String(e)} รายการ`,types:{text:`ข้อความ`,number:`ตัวเลข`,select:`รายการดรอปดาวน์`,"multi-select":`รายการหลายค่า`,date:`วันที่`,checkbox:`กล่องกาเครื่องหมาย`,url:`ลิงก์`,email:`อีเมล`,phone:`โทรศัพท์`,file:`ไฟล์`},auto:{button:e=>`เรียงลำดับและกรอง ${e}`,sortAsc:{text:`เรียงลำดับจาก A ถึง Z`,number:`เรียงลำดับจากน้อยที่สุดไปหามากที่สุด`,date:`เรียงลำดับจากเก่าที่สุดไปหาใหม่ที่สุด`,options:`เรียงลำดับตามตัวเลือก`},sortDesc:{text:`เรียงลำดับจาก Z ถึง A`,number:`เรียงลำดับจากมากที่สุดไปหาน้อยที่สุด`,date:`เรียงลำดับจากใหม่ที่สุดไปหาเก่าที่สุด`,options:`เรียงลำดับย้อนกลับตามตัวเลือก`},search:`ค้นหา`,selectAll:`(เลือกทั้งหมด)`,selectFound:`(เลือกผลการค้นหาทั้งหมด)`,blanks:`(ช่องว่าง)`,checked:`เลือกแล้ว`,unchecked:`ไม่ได้เลือก`,hasFile:`มีไฟล์`,more:e=>`อีก ${e.toLocaleString(`th`)} รายการ ค้นหาเพื่อดู`,none:`ไม่มีค่าที่ตรงกัน`,clear:`ล้างตัวกรอง`,ok:`ตกลง`},look:{sorted:e=>`เรียงลำดับตาม ${e}`,filtered:e=>e.length===1?`กรองตาม ${e[0]??``}`:`กรองตาม ${String(e.length)} คอลัมน์`,hidden:e=>`ซ่อน ${String(e)} คอลัมน์`,clear:`ล้าง`,note:`การเรียงลำดับและการกรองนี้เห็นเฉพาะคุณ`},replace:{label:`แทนที่`,with:`แทนที่ด้วย`,one:`แทนที่`,all:`แทนที่ทั้งหมด`,done:e=>`แทนที่แล้วใน ${String(e)} เซลล์`},stats:{average:`ค่าเฉลี่ย`,count:`จำนวนนับ`,sum:`ผลรวม`},column:{name:`ชื่อคอลัมน์`,key:`คอลัมน์คีย์: ค่าในแต่ละแถวต้องไม่ซ้ำกัน`,add:`เพิ่มคอลัมน์`,rename:`เปลี่ยนชื่อ`,format:`รูปแบบ`,formats:{text:`ข้อความ`,number:`ตัวเลข`,currency:`สกุลเงิน`,percent:`เปอร์เซ็นต์`,date:`วันที่`,checkbox:`กล่องกาเครื่องหมาย`,list:`รายการดรอปดาวน์`,file:`ไฟล์แนบ`},addOption:`เพิ่มตัวเลือก`,newOption:e=>`เพิ่ม “${e}”`,confirm:`ลบ`,cancel:`ยกเลิก`,hide:`ซ่อนคอลัมน์`,insertLeft:`แทรกคอลัมน์ทางซ้าย`,insertRight:`แทรกคอลัมน์ทางขวา`,remove:`ลบคอลัมน์`,removeAsk:(e,t)=>`ลบ “${e}” และค่าทั้ง ${t.toLocaleString(`th`)} ค่าหรือไม่ คุณเลิกทำได้`,taken:`มีคอลัมน์อื่นใช้ชื่อนี้แล้ว`,empty:`คอลัมน์ต้องมีชื่อ`,newName:e=>e===1?`คอลัมน์`:`คอลัมน์ ${String(e)}`},row:{numbered:e=>`แถว ${String(e)}`,inFile:e=>`แถว ${String(e)} ในไฟล์`,of:(e,t)=>`แถว ${String(e)} จาก ${String(t)}`,hiddenFields:`คอลัมน์ที่ซ่อน`,insertAbove:`แทรกแถวด้านบน`,insertBelow:`แทรกแถวด้านล่าง`,remove:e=>e===1?`ลบแถว`:`ลบ ${String(e)} แถว`,expand:`เปิดแถว`,newRow:`แถวใหม่`,record:`แถว`,previous:`แถวก่อนหน้า`,next:`แถวถัดไป`,close:`ปิด`},cell:{copy:`คัดลอก`,cut:`ตัด`,paste:`วาง`,clear:`ล้าง`,clearContents:`ล้างเนื้อหา`,notNumber:`ไม่ใช่ตัวเลข ใช้ตัวเลขและจุดทศนิยม เช่น 1234.5`,notDate:`ไม่ใช่วันที่ ใช้รูปแบบ 2026-10-14 หรือ 2026-10-14T09:30`,notEmail:`ไม่ใช่ที่อยู่อีเมล`,notUrl:`ที่อยู่ต้องไม่มีช่องว่าง`,open:`เปิด`,left:e=>`${String(e)} ค่าไม่ตรงกับคอลัมน์ จึงไม่ได้ใส่`,pasteHint:`ใช้ ⌘V เพื่อวาง`},files:{notFound:`ไม่พบไฟล์`,insert:`แทรกไฟล์…`,add:`เพิ่มไฟล์`,adding:e=>`กำลังเพิ่ม ${String(e)} ไฟล์…`,tooLarge:(e,t)=>`${e} มีขนาดเกิน ${String(t)} MB จึงไม่ได้เพิ่ม`,failed:e=>`เพิ่ม ${e} ไม่สำเร็จ`,notHere:`เฉพาะคอลัมน์ไฟล์แนบเท่านั้นที่เก็บไฟล์ได้ ตั้งรูปแบบของคอลัมน์เป็นไฟล์แนบก่อน`,remove:`เอาออกจากเซลล์`,of:(e,t)=>`${String(e)} จาก ${String(t)}`,previous:`ไฟล์ก่อนหน้า`,next:`ไฟล์ถัดไป`,open:`เปิดในแท็บใหม่`,close:`ปิด`},review:{count:(e,t,n,r)=>`${e} เปลี่ยน ${Wu(t,n,r)}`,keepAll:`เก็บทั้งหมด`,undoAll:`เลิกทำทั้งหมด`,keep:`เก็บ`,undo:`เลิกทำ`,was:`ก่อนหน้า`,added:e=>`เพิ่มโดย ${e}`,changed:e=>`เปลี่ยนโดย ${e}`,away:`เปลี่ยนไปหลังจากที่คุณดูครั้งล่าสุด`,countAway:(e,t,n)=>`หลังจากที่คุณดูครั้งล่าสุด: เปลี่ยนไป ${Wu(e,t,n)}`,empty:`ว่าง`,next:`ถัดไป`,previous:`ก่อนหน้า`,position:(e,t)=>`${String(e)} จาก ${String(t)}`,conflicts:e=>`${String(e)} เซลล์ถูกเปลี่ยนโดยทั้งสองฝ่าย จึงเก็บของคุณไว้`},date:{placeholder:`2026-10-14, today, Oct 14…`,today:`วันนี้`,previousMonth:`เดือนก่อนหน้า`,nextMonth:`เดือนถัดไป`,clear:`ล้าง`,addTime:`เพิ่มเวลา`,removeTime:`เอาเวลาออก`,time:`เวลา`},empty:{title:`ยังไม่มีแถว`,addRow:`เพิ่มแถว`,paste:`วางแถว`,pasteHint:`คัดลอกแถวใน Excel หรือ Google Sheets แล้วกด ⌘V ที่นี่`,importFile:`นำเข้าไฟล์`,noMatch:`ไม่มีแถวให้แสดง`,noMatchBody:`ตัวกรองซ่อนทุกแถวไว้`,clearFilter:`ล้างตัวกรอง`}},Ku=(e,t,n)=>[e>0?`${String(e)} hücre`:``,t>0?`${String(t)} satır`:``,n>0?`${String(n)} sütun`:``].filter(e=>e!==``).join(`, `),qu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Açılıyor…`,unreadable:`Bu tablo şu anda düzenlenemiyor: dosyası, bir tablonun okuyabileceği CSV değil. Sorunlar aşağıda.`,readOnlyLarge:e=>`Bu tablo ${e} MB: burada yalnızca gösterilir, düzenlenmez.`,untitled:`Adsız`,saved:`Kaydedildi`,saving:`Kaydediliyor…`,unsaved:`Kaydedilmedi`,failed:`Kaydedilemedi`,rows:(e,t)=>e===t?`${t.toLocaleString(`tr`)} satır`:`${t.toLocaleString(`tr`)} satırdan ${e.toLocaleString(`tr`)}`,find:`Bul`,findPlaceholder:`Tabloda bul`,matches:e=>`${String(e)} eşleşme`,types:{text:`Metin`,number:`Sayı`,select:`Açılır liste`,"multi-select":`Çoklu seçim listesi`,date:`Tarih`,checkbox:`Onay kutusu`,url:`Bağlantı`,email:`E-posta`,phone:`Telefon`,file:`Dosya`},auto:{button:e=>`Sırala ve filtre uygula: ${e}`,sortAsc:{text:`A'dan Z'ye sırala`,number:`Küçükten büyüğe sırala`,date:`Eskiden yeniye sırala`,options:`Seçenek sırasına göre sırala`},sortDesc:{text:`Z'den A'ya sırala`,number:`Büyükten küçüğe sırala`,date:`Yeniden eskiye sırala`,options:`Ters seçenek sırasına göre sırala`},search:`Ara`,selectAll:`(Tümünü seç)`,selectFound:`(Tüm arama sonuçlarını seç)`,blanks:`(Boş)`,checked:`İşaretli`,unchecked:`İşaretsiz`,hasFile:`Dosyası var`,more:e=>`${e.toLocaleString(`tr`)} tane daha. Bulmak için arayın.`,none:`Eşleşen değer yok.`,clear:`Filtreyi temizle`,ok:`Tamam`},look:{sorted:e=>`Sıralama: ${e}`,filtered:e=>e.length===1?`Filtre: ${e[0]??``}`:`${String(e.length)} sütunda filtre`,hidden:e=>`${String(e)} sütun gizli`,clear:`Temizle`,note:`Bu sıralamayı ve filtreyi yalnızca siz görürsünüz.`},replace:{label:`Değiştir`,with:`Yeni değer`,one:`Değiştir`,all:`Tümünü değiştir`,done:e=>`${String(e)} hücrede değiştirildi.`},stats:{average:`Ortalama`,count:`Sayım`,sum:`Toplam`},column:{name:`Sütun adı`,key:`Anahtar sütun: her satırın değeri kendine özgüdür`,add:`Sütun ekle`,rename:`Yeniden adlandır`,format:`Biçim`,formats:{text:`Metin`,number:`Sayı`,currency:`Para birimi`,percent:`Yüzde`,date:`Tarih`,checkbox:`Onay kutusu`,list:`Açılır liste`,file:`Ek`},addOption:`Seçenek ekle`,newOption:e=>`“${e}” ekle`,confirm:`Sil`,cancel:`Vazgeç`,hide:`Sütunu gizle`,insertLeft:`Sola sütun ekle`,insertRight:`Sağa sütun ekle`,remove:`Sütunu sil`,removeAsk:(e,t)=>`“${e}” ve içindeki ${t.toLocaleString(`tr`)} değer silinsin mi? Geri alabilirsiniz.`,taken:`Bu ad başka bir sütunda kullanılıyor.`,empty:`Sütunun bir adı olmalı.`,newName:e=>e===1?`Sütun`:`Sütun ${String(e)}`},row:{numbered:e=>`Satır ${String(e)}`,inFile:e=>`Dosyada satır ${String(e)}`,of:(e,t)=>`Satır ${String(e)} / ${String(t)}`,hiddenFields:`Gizli sütunlar`,insertAbove:`Üste satır ekle`,insertBelow:`Alta satır ekle`,remove:e=>e===1?`Satırı sil`:`${String(e)} satırı sil`,expand:`Satırı aç`,newRow:`Yeni satır`,record:`Satır`,previous:`Önceki satır`,next:`Sonraki satır`,close:`Kapat`},cell:{copy:`Kopyala`,cut:`Kes`,paste:`Yapıştır`,clear:`Temizle`,clearContents:`İçeriği temizle`,notNumber:`Sayı değil. Rakamlarla, ondalık için nokta kullanarak yazın: 1234.5`,notDate:`Tarih değil. 2026-10-14 ya da 2026-10-14T09:30 yazın`,notEmail:`E-posta adresi değil`,notUrl:`Adreste boşluk olmaz`,open:`Aç`,left:e=>`${String(e)} değer sütununa uymadığı için dışarıda bırakıldı.`,pasteHint:`Yapıştırmak için ⌘V kullanın.`},files:{notFound:`Bulunamadı`,insert:`Dosya ekle…`,add:`Dosya ekle`,adding:e=>`${String(e)} dosya ekleniyor…`,tooLarge:(e,t)=>`${e} ${String(t)} MB'tan büyük olduğu için eklenmedi.`,failed:e=>`${e} eklenemedi.`,notHere:`Dosyaları yalnızca ek sütunu tutar. Önce sütunun biçimini Ek olarak ayarlayın.`,remove:`Hücreden kaldır`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`Önceki dosya`,next:`Sonraki dosya`,open:`Yeni sekmede aç`,close:`Kapat`},review:{count:(e,t,n,r)=>`${e} değiştirdi: ${Ku(t,n,r)}`,keepAll:`Tümünü koru`,undoAll:`Tümünü geri al`,keep:`Koru`,undo:`Geri al`,was:`Önce`,added:e=>`${e} ekledi`,changed:e=>`${e} değiştirdi`,away:`Son baktığınızdan beri değişti`,countAway:(e,t,n)=>`Son baktığınızdan beri değişen: ${Ku(e,t,n)}`,empty:`boş`,next:`Sonraki`,previous:`Önceki`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} hücreyi ikiniz de değiştirdiniz: sizinkiler korundu.`},date:{placeholder:`2026-10-14, 2026.10.14…`,today:`Bugün`,previousMonth:`Önceki ay`,nextMonth:`Sonraki ay`,clear:`Temizle`,addTime:`Saat ekle`,removeTime:`Saati kaldır`,time:`Saat`},empty:{title:`Henüz satır yok`,addRow:`Satır ekle`,paste:`Satırları yapıştır`,pasteHint:`Satırları Excel'de ya da Google E-Tablolar'da kopyalayın, sonra burada ⌘V'ye basın.`,importFile:`Dosya içe aktar`,noMatch:`Gösterilecek satır yok`,noMatchBody:`Filtre tüm satırları dışarıda bırakıyor.`,clearFilter:`Filtreyi temizle`}},Ju=(e,t,n)=>[e>0?`${String(e)} ô`:``,t>0?`${String(t)} hàng`:``,n>0?`${String(n)} cột`:``].filter(e=>e!==``).join(`, `),Yu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Đang mở…`,unreadable:`Hiện chưa thể sửa bảng tính này: tệp của nó không phải CSV mà bảng tính đọc được. Đây là chỗ sai.`,readOnlyLarge:e=>`Bảng tính này nặng ${e} MB: ở đây chỉ xem được, không sửa được.`,untitled:`Không có tiêu đề`,saved:`Đã lưu`,saving:`Đang lưu…`,unsaved:`Chưa lưu`,failed:`Không lưu được`,rows:(e,t)=>e===t?`${t.toLocaleString(`vi`)} hàng`:`${e.toLocaleString(`vi`)} / ${t.toLocaleString(`vi`)} hàng`,find:`Tìm`,findPlaceholder:`Tìm trong bảng tính`,matches:e=>`${String(e)} kết quả`,types:{text:`Văn bản`,number:`Số`,select:`Danh sách thả xuống`,"multi-select":`Danh sách chọn nhiều`,date:`Ngày`,checkbox:`Hộp kiểm`,url:`Liên kết`,email:`Email`,phone:`Điện thoại`,file:`Tệp`},auto:{button:e=>`Sắp xếp và lọc ${e}`,sortAsc:{text:`Sắp xếp từ A đến Z`,number:`Sắp xếp từ nhỏ nhất đến lớn nhất`,date:`Sắp xếp từ cũ nhất đến mới nhất`,options:`Sắp xếp theo thứ tự tùy chọn`},sortDesc:{text:`Sắp xếp từ Z đến A`,number:`Sắp xếp từ lớn nhất đến nhỏ nhất`,date:`Sắp xếp từ mới nhất đến cũ nhất`,options:`Sắp xếp theo thứ tự tùy chọn đảo ngược`},search:`Tìm kiếm`,selectAll:`(Chọn tất cả)`,selectFound:`(Chọn tất cả kết quả tìm kiếm)`,blanks:`(Trống)`,checked:`Đã chọn`,unchecked:`Chưa chọn`,hasFile:`Có tệp`,more:e=>`Còn ${e.toLocaleString(`vi`)} giá trị nữa. Hãy tìm kiếm để thấy.`,none:`Không có giá trị nào khớp.`,clear:`Xóa bộ lọc`,ok:`OK`},look:{sorted:e=>`Sắp xếp theo ${e}`,filtered:e=>e.length===1?`Lọc theo ${e[0]??``}`:`Lọc theo ${String(e.length)} cột`,hidden:e=>`Đã ẩn ${String(e)} cột`,clear:`Xóa`,note:`Chỉ bạn thấy cách sắp xếp và lọc này.`},replace:{label:`Thay thế`,with:`Thay thế bằng`,one:`Thay thế`,all:`Thay thế tất cả`,done:e=>`Đã thay thế trong ${String(e)} ô.`},stats:{average:`Trung bình`,count:`Số đếm`,sum:`Tổng`},column:{name:`Tên cột`,key:`Cột khóa: giá trị của mỗi hàng là duy nhất`,add:`Thêm cột`,rename:`Đổi tên`,format:`Định dạng`,formats:{text:`Văn bản`,number:`Số`,currency:`Tiền tệ`,percent:`Phần trăm`,date:`Ngày`,checkbox:`Hộp kiểm`,list:`Danh sách thả xuống`,file:`Tệp đính kèm`},addOption:`Thêm tùy chọn`,newOption:e=>`Thêm “${e}”`,confirm:`Xóa`,cancel:`Hủy`,hide:`Ẩn cột`,insertLeft:`Chèn cột bên trái`,insertRight:`Chèn cột bên phải`,remove:`Xóa cột`,removeAsk:(e,t)=>`Xóa “${e}” và ${t.toLocaleString(`vi`)} giá trị của nó? Bạn có thể hoàn tác.`,taken:`Đã có cột khác mang tên này.`,empty:`Cột cần có tên.`,newName:e=>e===1?`Cột`:`Cột ${String(e)}`},row:{numbered:e=>`Hàng ${String(e)}`,inFile:e=>`Hàng ${String(e)} trong tệp`,of:(e,t)=>`Hàng ${String(e)} / ${String(t)}`,hiddenFields:`Cột ẩn`,insertAbove:`Chèn hàng phía trên`,insertBelow:`Chèn hàng phía dưới`,remove:e=>e===1?`Xóa hàng`:`Xóa ${String(e)} hàng`,expand:`Mở hàng`,newRow:`Hàng mới`,record:`Hàng`,previous:`Hàng trước`,next:`Hàng sau`,close:`Đóng`},cell:{copy:`Sao chép`,cut:`Cắt`,paste:`Dán`,clear:`Xóa`,clearContents:`Xóa nội dung`,notNumber:`Không phải số. Hãy viết chữ số, dùng dấu chấm cho phần thập phân: 1234.5`,notDate:`Không phải ngày. Hãy viết 2026-10-14 hoặc 2026-10-14T09:30`,notEmail:`Không phải địa chỉ email`,notUrl:`Địa chỉ không được có dấu cách`,open:`Mở`,left:e=>`${String(e)} giá trị không hợp với cột của nó nên đã được bỏ qua.`,pasteHint:`Dùng ⌘V để dán.`},files:{notFound:`Không tìm thấy`,insert:`Chèn tệp…`,add:`Thêm tệp`,adding:e=>`Đang thêm ${String(e)} tệp…`,tooLarge:(e,t)=>`${e} lớn hơn ${String(t)} MB nên không được thêm.`,failed:e=>`Không thêm được ${e}.`,notHere:`Chỉ cột tệp đính kèm mới chứa được tệp. Hãy đặt định dạng của cột thành Tệp đính kèm trước.`,remove:`Xóa khỏi ô`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`Tệp trước`,next:`Tệp sau`,open:`Mở trong tab mới`,close:`Đóng`},review:{count:(e,t,n,r)=>`${e} đã thay đổi ${Ju(t,n,r)}`,keepAll:`Giữ tất cả`,undoAll:`Hoàn tác tất cả`,keep:`Giữ`,undo:`Hoàn tác`,was:`Trước đó`,added:e=>`Do ${e} thêm`,changed:e=>`Do ${e} thay đổi`,away:`Đã thay đổi từ lần cuối bạn xem`,countAway:(e,t,n)=>`Từ lần cuối bạn xem: ${Ju(e,t,n)} đã thay đổi`,empty:`trống`,next:`Tiếp`,previous:`Trước`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} ô đã bị cả hai bên thay đổi: giữ lại bản của bạn.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Hôm nay`,previousMonth:`Tháng trước`,nextMonth:`Tháng sau`,clear:`Xóa`,addTime:`Thêm giờ`,removeTime:`Bỏ giờ`,time:`Giờ`},empty:{title:`Chưa có hàng nào`,addRow:`Thêm hàng`,paste:`Dán hàng`,pasteHint:`Sao chép các hàng trong Excel hoặc Google Trang tính, rồi nhấn ⌘V tại đây.`,importFile:`Nhập tệp`,noMatch:`Không có hàng nào để hiển thị`,noMatchBody:`Bộ lọc đã loại bỏ mọi hàng.`,clearFilter:`Xóa bộ lọc`}},Xu=(e,t,n)=>[e>0?`${String(e)} 个单元格`:``,t>0?`${String(t)} 行`:``,n>0?`${String(n)} 列`:``].filter(e=>e!==``).join(`、`),Zu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`正在打开…`,unreadable:`这张表暂时无法编辑:它的文件不是可读的 CSV。问题如下。`,readOnlyLarge:e=>`这张表有 ${e} MB,在这里只能查看,不能编辑。`,untitled:`未命名`,saved:`已保存`,saving:`正在保存…`,unsaved:`未保存`,failed:`保存失败`,rows:(e,t)=>e===t?`${String(t)} 行`:`${String(e)} / ${String(t)} 行`,find:`查找`,findPlaceholder:`在表中查找`,matches:e=>`${String(e)} 处`,types:{text:`文本`,number:`数字`,select:`下拉列表`,"multi-select":`多选列表`,date:`日期`,checkbox:`复选框`,url:`链接`,email:`邮箱`,phone:`电话`,file:`文件`},auto:{button:e=>`排序和筛选:${e}`,sortAsc:{text:`从 A 到 Z 排序`,number:`从小到大排序`,date:`从早到晚排序`,options:`按选项顺序排序`},sortDesc:{text:`从 Z 到 A 排序`,number:`从大到小排序`,date:`从晚到早排序`,options:`按选项倒序排序`},search:`搜索`,selectAll:`(全选)`,selectFound:`(全选搜索结果)`,blanks:`(空白)`,checked:`已勾选`,unchecked:`未勾选`,hasFile:`有文件`,more:e=>`还有 ${String(e)} 个,搜索即可找到。`,none:`没有匹配的值。`,clear:`清除筛选`,ok:`确定`},look:{sorted:e=>`按“${e}”排序`,filtered:e=>e.length===1?`按“${e[0]??``}”筛选`:`按 ${String(e.length)} 列筛选`,hidden:e=>`隐藏了 ${String(e)} 列`,clear:`清除`,note:`这个排序和筛选只有你能看到。`},replace:{label:`替换`,with:`替换为`,one:`替换`,all:`全部替换`,done:e=>`替换了 ${String(e)} 个单元格。`},stats:{average:`平均值`,count:`计数`,sum:`求和`},column:{name:`列名`,key:`主键列:每一行的值都不重复`,add:`添加列`,rename:`重命名`,format:`格式`,formats:{text:`文本`,number:`数字`,currency:`货币`,percent:`百分比`,date:`日期`,checkbox:`复选框`,list:`下拉列表`,file:`附件`},addOption:`添加选项`,newOption:e=>`添加“${e}”`,confirm:`删除`,cancel:`取消`,hide:`隐藏列`,insertLeft:`在左侧插入列`,insertRight:`在右侧插入列`,remove:`删除列`,removeAsk:(e,t)=>`删除“${e}”及其 ${String(t)} 个值?可以撤销。`,taken:`已有同名的列。`,empty:`列需要一个名称。`,newName:e=>e===1?`列`:`列 ${String(e)}`},row:{numbered:e=>`第 ${String(e)} 行`,inFile:e=>`文件里的第 ${String(e)} 行`,of:(e,t)=>`第 ${String(e)} 行,共 ${String(t)} 行`,hiddenFields:`隐藏的列`,insertAbove:`在上方插入行`,insertBelow:`在下方插入行`,remove:e=>e===1?`删除行`:`删除 ${String(e)} 行`,expand:`展开行`,newRow:`新行`,record:`行`,previous:`上一行`,next:`下一行`,close:`关闭`},cell:{copy:`复制`,cut:`剪切`,paste:`粘贴`,clear:`清除`,clearContents:`清除内容`,notNumber:`不是数字。请写数字,小数用点:1234.5`,notDate:`不是日期。请写 2026-10-14 或 2026-10-14T09:30`,notEmail:`不是邮箱地址`,notUrl:`地址里不能有空格`,open:`打开`,left:e=>`有 ${String(e)} 个值不符合所在列,没有粘贴。`,pasteHint:`请用 ⌘V 粘贴。`},files:{notFound:`找不到文件`,insert:`插入文件…`,add:`添加文件`,adding:e=>`正在添加 ${String(e)} 个文件…`,tooLarge:(e,t)=>`${e} 超过 ${String(t)} MB,没有添加。`,failed:e=>`${e} 没能添加。`,notHere:`只有附件列能放文件。请先把这一列的格式设为附件。`,remove:`从单元格移除`,of:(e,t)=>`第 ${String(e)} 个,共 ${String(t)} 个`,previous:`上一个文件`,next:`下一个文件`,open:`在新标签页打开`,close:`关闭`},review:{count:(e,t,n,r)=>Au(e,`改动了 ${Xu(t,n,r)}`),keepAll:`全部保留`,undoAll:`全部撤销`,keep:`保留`,undo:`撤销`,was:`之前`,added:e=>Au(e,`新加的`),changed:e=>Au(e,`改的`),away:`你上次查看之后改的`,countAway:(e,t,n)=>`你上次查看之后,改动了 ${Xu(e,t,n)}`,empty:`空`,next:`下一处`,previous:`上一处`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`有 ${String(e)} 个单元格你们都改了:保留了你的。`},date:{placeholder:`2026-10-14、今天、明天…`,today:`今天`,previousMonth:`上个月`,nextMonth:`下个月`,clear:`清除`,addTime:`加上时间`,removeTime:`去掉时间`,time:`时间`},empty:{title:`还没有行`,addRow:`新建一行`,paste:`粘贴几行`,pasteHint:`在 Excel 或 Google 表格里复制几行,再在这里按 ⌘V。`,importFile:`导入文件`,noMatch:`没有可显示的行`,noMatchBody:`筛选把每一行都排除了。`,clearFilter:`清除筛选`}},Qu=(e,t,n)=>[e>0?`${String(e)} 個儲存格`:``,t>0?`${String(t)} 列`:``,n>0?`${String(n)} 欄`:``].filter(e=>e!==``).join(`、`),$u=a({en:pu,"zh-cn":Zu,"zh-tw":{agent:`AllyHub`,agentInline:`AllyHub`,loading:`正在打開…`,unreadable:`目前無法編輯這張工作表:它的檔案不是可讀取的 CSV。問題如下。`,readOnlyLarge:e=>`這張工作表有 ${e} MB,在這裡只能檢視,無法編輯。`,untitled:`未命名`,saved:`已儲存`,saving:`正在儲存…`,unsaved:`未儲存`,failed:`未能儲存`,rows:(e,t)=>e===t?`${t.toLocaleString(`zh-TW`)} 列`:`${e.toLocaleString(`zh-TW`)} / ${t.toLocaleString(`zh-TW`)} 列`,find:`尋找`,findPlaceholder:`在工作表中尋找`,matches:e=>`${String(e)} 個符合項目`,types:{text:`文字`,number:`數值`,select:`下拉式清單`,"multi-select":`多選清單`,date:`日期`,checkbox:`核取方塊`,url:`連結`,email:`電子郵件`,phone:`電話`,file:`檔案`},auto:{button:e=>`排序與篩選:${e}`,sortAsc:{text:`從 A 到 Z 排序`,number:`從最小到最大排序`,date:`從最舊到最新排序`,options:`依選項順序排序`},sortDesc:{text:`從 Z 到 A 排序`,number:`從最大到最小排序`,date:`從最新到最舊排序`,options:`依選項反向順序排序`},search:`搜尋`,selectAll:`(全選)`,selectFound:`(選取所有搜尋結果)`,blanks:`(空格)`,checked:`已勾選`,unchecked:`未勾選`,hasFile:`有檔案`,more:e=>`還有 ${e.toLocaleString(`zh-TW`)} 個,請用搜尋找到它們。`,none:`沒有符合的值。`,clear:`清除篩選`,ok:`確定`},look:{sorted:e=>`依「${e}」排序`,filtered:e=>e.length===1?`依「${e[0]??``}」篩選`:`依 ${String(e.length)} 欄篩選`,hidden:e=>`已隱藏 ${String(e)} 欄`,clear:`清除`,note:`這個排序和篩選只有你看得到。`},replace:{label:`取代`,with:`取代為`,one:`取代`,all:`全部取代`,done:e=>`已在 ${String(e)} 個儲存格中取代。`},stats:{average:`平均值`,count:`項目個數`,sum:`加總`},column:{name:`欄名稱`,key:`主鍵欄:每一列的值都不重複`,add:`新增欄`,rename:`重新命名`,format:`格式`,formats:{text:`文字`,number:`數值`,currency:`貨幣`,percent:`百分比`,date:`日期`,checkbox:`核取方塊`,list:`下拉式清單`,file:`附件`},addOption:`新增選項`,newOption:e=>`新增「${e}」`,confirm:`刪除`,cancel:`取消`,hide:`隱藏欄`,insertLeft:`在左側插入欄`,insertRight:`在右側插入欄`,remove:`刪除欄`,removeAsk:(e,t)=>`要刪除「${e}」及其中的 ${t.toLocaleString(`zh-TW`)} 個值嗎?之後可以還原。`,taken:`已有同名的欄。`,empty:`欄需要一個名稱。`,newName:e=>e===1?`欄`:`欄 ${String(e)}`},row:{numbered:e=>`第 ${String(e)} 列`,inFile:e=>`檔案中的第 ${String(e)} 列`,of:(e,t)=>`第 ${String(e)} 列,共 ${String(t)} 列`,hiddenFields:`隱藏的欄`,insertAbove:`在上方插入列`,insertBelow:`在下方插入列`,remove:e=>e===1?`刪除列`:`刪除 ${String(e)} 列`,expand:`展開列`,newRow:`新列`,record:`列`,previous:`上一列`,next:`下一列`,close:`關閉`},cell:{copy:`拷貝`,cut:`剪下`,paste:`貼上`,clear:`清除`,clearContents:`清除內容`,notNumber:`不是數值。請輸入數字,小數用小數點:1234.5`,notDate:`不是日期。請輸入 2026-10-14 或 2026-10-14T09:30`,notEmail:`不是電子郵件地址`,notUrl:`網址中不能有空格`,open:`打開`,left:e=>`有 ${String(e)} 個值不符合所在欄的格式,因此略過。`,pasteHint:`請按 ⌘V 貼上。`},files:{notFound:`找不到`,insert:`插入檔案…`,add:`新增檔案`,adding:e=>`正在新增 ${String(e)} 個檔案…`,tooLarge:(e,t)=>`${e} 超過 ${String(t)} MB,未新增。`,failed:e=>`無法新增 ${e}。`,notHere:`只有附件欄能放檔案。請先將這一欄的格式設為「附件」。`,remove:`從儲存格移除`,of:(e,t)=>`第 ${String(e)} 個,共 ${String(t)} 個`,previous:`上一個檔案`,next:`下一個檔案`,open:`在新分頁中打開`,close:`關閉`},review:{count:(e,t,n,r)=>Au(e,`修改了 ${Qu(t,n,r)}`),keepAll:`全部保留`,undoAll:`全部還原`,keep:`保留`,undo:`還原`,was:`修改前`,added:e=>Au(`由`,e,`新增`),changed:e=>Au(`由`,e,`修改`),away:`你上次查看後有修改`,countAway:(e,t,n)=>`你上次查看後,修改了 ${Qu(e,t,n)}`,empty:`空白`,next:`下一個`,previous:`上一個`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`有 ${String(e)} 個儲存格你們兩邊都修改了:已保留你的版本。`},date:{placeholder:`2026-10-14、今天、明天…`,today:`今天`,previousMonth:`上個月`,nextMonth:`下個月`,clear:`清除`,addTime:`加上時間`,removeTime:`移除時間`,time:`時間`},empty:{title:`還沒有任何列`,addRow:`新增一列`,paste:`貼上列`,pasteHint:`在 Excel 或 Google 試算表中拷貝幾列,再到這裡按 ⌘V。`,importFile:`匯入檔案`,noMatch:`沒有可顯示的列`,noMatchBody:`篩選條件排除了所有列。`,clearFilter:`清除篩選`}},ja:Mu,ko:Fu,es:gu,fr:yu,de:du,it:Du,pt:Ru,ru:Uu,tr:qu,vi:Yu,th:Gu,hi:wu});function ed(e,t,n){let r=new Set(e.columns),i=new Set(t.columns),a=n.columns.filter(e=>!(r.has(e)&&!i.has(e)));return t.columns.forEach((e,n)=>{if(a.includes(e)||r.has(e))return;let i=a.length;for(let e=n-1;e>=0;e--){let n=t.columns[e],r=n===void 0?-1:a.indexOf(n);if(r>=0){i=r+1;break}}n===0&&(i=0),a.splice(i,0,e)}),a}var td=(e,t)=>{let n=new Map,r=e.rows[t]??[];return e.columns.forEach((e,t)=>n.set(e,r[t]??``)),n};function nd(e,t,n,r){let i=[],a=e.out.length;for(let o of e.columns){let s=t?.get(o),c=n?.get(o),l=r?.get(o),u;c===void 0?u=l??``:l===void 0?u=c:c===s?u=l:l===s||l===c?u=c:(u=c,e.conflicts.push({kind:`cell`,row:a,column:o,mine:c,theirs:l})),i.push(u)}e.out.push(i)}var rd=(e,t)=>{if(!e||!t)return e!==t;for(let[n,r]of e)if(t.has(n)&&t.get(n)!==r)return!0;return!1};function id(e,t){let n=e.columns.indexOf(t);if(n<0)return;let r=e.rows.map(e=>(e[n]??``).trim());if(!r.some(e=>e===``))return new Set(r).size===r.length?r:void 0}function ad(e,t,n,r,i){let a=e=>new Map(e.map((e,t)=>[e,t])),o=a(i.base),s=a(i.mine),c=a(i.theirs),l=[];for(let e of i.theirs)l.push(e);i.mine.forEach((e,t)=>{if(c.has(e)||o.has(e))return;let n=0;for(let e=t-1;e>=0;e--){let t=i.mine[e],r=t===void 0?-1:l.indexOf(t);if(r>=0){n=r+1;break}}l.splice(n,0,e)});for(let i of l){let a=o.has(i)?td(t,o.get(i)??0):void 0,l=s.has(i)?td(n,s.get(i)??0):void 0,u=c.has(i)?td(r,c.get(i)??0):void 0;if(a&&!l){if(!rd(a,u))continue;e.conflicts.push({kind:`rows`,row:e.out.length})}nd(e,a,l,u)}for(let r of i.mine){if(c.has(r)||!o.has(r))continue;let i=td(t,o.get(r)??0),a=td(n,s.get(r)??0);rd(i,a)&&(e.conflicts.push({kind:`rows`,row:e.out.length}),nd(e,i,a,void 0))}}function od(e,t,n,r){let i=[],a=-1,o=-1;for(let[s,c]of[...t,[n,r]])(s-a>1||c-o>1)&&i.push({side:e,bStart:a+1,bEnd:s,sStart:o+1,sEnd:c}),a=s,o=c;return i}function sd(e,t,n,r){let i=t.columns.filter(e=>n.columns.includes(e)&&r.columns.includes(e)),a=e=>{let t=i.map(t=>e.columns.indexOf(t));return e.rows.map(e=>t.map(t=>e[t]??``).join(`\0`))},o=a(t),c=a(n),l=a(r),u=s(o,c),d=s(o,l),f=new Map(u),p=new Map(d),m=[...od(`mine`,u,o.length,c.length),...od(`theirs`,d,o.length,l.length)].sort((e,t)=>e.bStart-t.bStart||e.bEnd-t.bEnd),h=[];for(let e of m){let t=h[h.length-1];if(t){let n=Math.min(...t.map(e=>e.bStart)),r=Math.max(...t.map(e=>e.bEnd));if(e.bStart<r||e.bStart===r&&e.bStart===e.bEnd&&n===r){t.push(e);continue}}h.push([e])}let g=i=>{let a=f.get(i),o=p.get(i);nd(e,td(t,i),a===void 0?void 0:td(n,a),o===void 0?void 0:td(r,o))},_=0;for(let i of h){let a=Math.min(...i.map(e=>e.bStart)),o=Math.max(...i.map(e=>e.bEnd));for(;_<a;_++)g(_);_=o;let s=e=>{let t=i.filter(t=>t.side===e),n=t[0],r=t[t.length-1];if(n&&r)return cd(n.sStart-(n.bStart-a),r.sEnd+(o-r.bEnd))},u=cd(a,o),d=s(`mine`),m=s(`theirs`);if(d===void 0||m===void 0){let i=d??m??[],a=d===void 0?f:p,o=d===void 0?n:r,s=i.length===u.length;i.forEach((i,c)=>{let l=s?u[c]:void 0,f=l===void 0?void 0:a.get(l),p=l===void 0?void 0:td(t,l),m=f===void 0?void 0:td(o,f),h=td(d===void 0?r:n,i);d===void 0?nd(e,p,m,h):nd(e,p,h,m)})}else if(d.length===u.length&&m.length===u.length)u.forEach((i,a)=>{nd(e,td(t,i),td(n,d[a]??0),td(r,m[a]??0))});else if(ld(c,d,l,m))d.forEach((t,i)=>{nd(e,void 0,td(n,t),td(r,m[i]??0))});else{d.length+m.length>0&&e.conflicts.push({kind:`rows`,row:e.out.length});for(let t of d)nd(e,void 0,td(n,t),void 0);for(let t of m)nd(e,void 0,void 0,td(r,t))}}for(;_<o.length;_++)g(_)}var cd=(e,t)=>{let n=[];for(let r=e;r<t;r++)n.push(r);return n},ld=(e,t,n,r)=>t.length===r.length&&t.every((t,i)=>e[t]===n[r[i]??-1]);function ud(e,t,n,r){let i=ed(e,t,n),a={columns:i,conflicts:[],out:[]},o=r===void 0?void 0:(()=>{let i=id(e,r),a=id(t,r),o=id(n,r);return i&&a&&o?{base:i,mine:a,theirs:o}:void 0})();return o?ad(a,e,t,n,o):sd(a,e,t,n),{data:{columns:i,rows:a.out},conflicts:a.conflicts}}var dd=class{kept=new Map;of(e){let t=this.kept.get(e);if(t)return t;let n=jt(e);return this.keep(e,{csv:n.csv,data:n.data})}keep(e,t){for(this.kept.delete(e),this.kept.set(e,t);this.kept.size>3;){let e=this.kept.keys().next().value;if(e===void 0)break;this.kept.delete(e)}return t}save(e,t){let n=this.of(e),r=kl(t);if(Mt(n.data,r))return;let i=eo(n.csv,r,n.data);return this.keep(i.source,{csv:i,data:r}),i.source}incoming(e,t,n,r){let i=this.of(e).data,a=this.of(t).data,o=kl(n),s=Mt(i,o)?{data:a,conflicts:[]}:ud(i,o,a,r),c=Ll(n,s.data);return{table:c.table,changes:c.changes,conflicts:s.conflicts,dirty:!Mt(a,s.data)}}};function fd(e){return jt(e).problems.filter(e=>e.message.includes(`quoted field`)).map(e=>`line ${String(e.line)}: ${e.message}`)}var pd=e=>e===null?void 0:Da(e).spec.key;function md(e,t,n){if(t===e)return n;if(n===e||n===t)return t;let r=Da(e??``).spec,i=Da(t??``).spec,a=n??``;for(let e of[`title`,`key`])i[e]!==r[e]&&(a=ho(a,e,i[e]));let o=new Set([...Object.keys(r.columns),...Object.keys(i.columns)]);for(let e of o){let t=i.columns[e];JSON.stringify(t)!==JSON.stringify(r.columns[e])&&(a=po(a,e,t))}return a===``&&n===null?null:a}var hd=e=>e.cells.join(`\0`);function gd(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return`${String(e.length)}:${(t>>>0).toString(16)}`}function _d(e,t){let n=new Map(e.rows.map((e,t)=>[e.id,t])),r=t=>{let r=n.get(t),i=r===void 0?void 0:e.rows[r];return i?hd(i):void 0},i=[];for(let e of t){let t=i.length;switch(e.kind){case`cell`:{let t=r(e.id);t!==void 0&&i.push({kind:`cell`,row:t,column:e.column,before:e.before,after:e.after});break}case`row-added`:{let t=r(e.id);t!==void 0&&i.push({kind:`row-added`,row:t});break}case`row-removed`:i.push({kind:`row-removed`,cells:[...e.row.cells],columns:[...e.columns],after:e.after===null?null:r(e.after)??null});break;case`column-added`:i.push({kind:`column-added`,name:e.name});break;case`column-removed`:i.push({kind:`column-removed`,name:e.name,at:e.at,values:[...e.values].flatMap(([e,t])=>{let n=r(e);return n===void 0?[]:[[n,t]]})})}let n=i[t];e.away&&n&&(i[t]={...n,away:!0})}return i}function vd(e,t){let n=new Map;for(let t of e.rows){let e=n.get(hd(t));e?e.push(t.id):n.set(hd(t),[t.id])}let r=e=>n.get(e)?.[0],i=[],a=-1;for(let n of t){let t=i.length;switch(n.kind){case`cell`:{let t=r(n.row),a=e.columns.indexOf(n.column),o=e.rows.find(e=>e.id===t);t!==void 0&&a>=0&&o?.cells[a]===n.after&&i.push({...n,id:t,kind:`cell`});break}case`row-added`:{let e=r(n.row);e!==void 0&&i.push({kind:`row-added`,id:e});break}case`row-removed`:i.push({kind:`row-removed`,row:{id:a--,cells:[...n.cells]},columns:[...n.columns],after:n.after===null?null:r(n.after)??null});break;case`column-added`:e.columns.includes(n.name)&&i.push(n);break;case`column-removed`:if(!e.columns.includes(n.name)){let e=new Map;for(let[t,i]of n.values){let n=r(t);n!==void 0&&e.set(n,i)}i.push({kind:`column-removed`,name:n.name,at:n.at,values:e})}}let o=i[t];n.away&&o&&(i[t]={...o,away:!0})}return i}function yd(e,t,n){let r=jt(e);if(r.problems.length>0)return[];let{table:i,changes:a}=Ll(Ol(r.data),n),o=new Map(i.rows.map((e,n)=>[e.id,t.rows[n]?.id??e.id])),s=e=>o.get(e)??e;return a.map(e=>{switch(e.kind){case`cell`:return{...e,id:s(e.id)};case`row-added`:return{...e,id:s(e.id)};case`row-removed`:return{...e,after:e.after===null?null:s(e.after)};case`column-removed`:return{...e,values:new Map([...e.values].map(([e,t])=>[s(e),t]))};default:return e}}).map(e=>({...e,away:!0}))}function bd(e,t){let n=[...e];for(let e of t){if(e.kind===`cell`){let t=n.findIndex(t=>t.kind===`cell`&&t.id===e.id&&t.column===e.column),r=n[t];if(r?.kind===`cell`){n[t]={...e,before:r.before};continue}}e.kind===`row-added`&&n.some(t=>t.kind===`row-added`&&t.id===e.id)||n.push(e)}return n.filter(e=>e.kind!==`cell`||e.before!==e.after)}var xd=e=>`sheet.review:${e}`,Sd=e=>`sheet.seen:${e}`;function Cd(e,t){let n=typeof t==`object`&&t?t:void 0;return{changes:Array.isArray(e)?e:[],...typeof n?.seen==`string`?{seen:n.seen}:{},...typeof n?.pending==`string`?{pending:n.pending}:{}}}function wd(e){return e.length===0?null:[...e]}function Td(e,t){return{...e.length<=1e6?{seen:e}:{},...t===void 0?{}:{pending:t}}}function Ed({parts:e,strings:t,onClear:n}){return e.length===0?null:(0,V.jsxs)(`span`,{className:`sheet-look`,"data-testid":`sheet-look`,title:t.look.note,children:[(0,V.jsx)(`span`,{className:`sheet-look-text`,children:e.join(` · `)}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-look-clear`,"data-testid":`sheet-look-clear`,onClick:n,children:t.look.clear})]})}function Dd({find:e,onFind:t,count:n,at:r,onStep:i,replacing:a,onReplacing:o,onReplace:s,readOnly:c,strings:l}){let u=(0,B.useRef)(null),[d,f]=(0,B.useState)(``),p=e!==void 0;if((0,B.useEffect)(()=>{p&&u.current?.focus()},[p,a]),!p)return null;let m=(e,n)=>{e.stopPropagation(),!e.nativeEvent.isComposing&&(e.key===`Enter`?(e.preventDefault(),n()):e.key===`Escape`&&(e.preventDefault(),t(void 0)))};return(0,V.jsxs)(`span`,{className:`sheet-finding`,"data-testid":`sheet-find-bar`,children:[(0,V.jsxs)(`span`,{className:`sheet-find`,children:[(0,V.jsx)(Qe,{size:14,"aria-hidden":!0}),(0,V.jsx)(`input`,{ref:u,value:e,placeholder:l.findPlaceholder,"aria-label":l.find,"data-testid":`sheet-find-input`,onChange:e=>{t(e.target.value)},onKeyDown:e=>{m(e,()=>{i(e.shiftKey?-1:1)})}}),e!==``&&(0,V.jsx)(`span`,{className:`sheet-find-count`,children:n===0?l.matches(0):`${String(r+1)}/${String(n)}`}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":l.review.previous,title:l.review.previous,disabled:n===0,onClick:()=>{i(-1)},children:(0,V.jsx)(_,{size:13,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":l.review.next,title:l.review.next,disabled:n===0,onClick:()=>{i(1)},children:(0,V.jsx)(h,{size:13,"aria-hidden":!0})}),!c&&(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":l.replace.label,title:l.replace.label,"aria-pressed":a,"data-testid":`sheet-replace-toggle`,onClick:()=>{o(!a)},children:(0,V.jsx)(Xe,{size:13,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":l.row.close,title:l.row.close,onClick:()=>{t(void 0)},children:(0,V.jsx)(C,{size:13,"aria-hidden":!0})})]}),a&&!c&&(0,V.jsxs)(`span`,{className:`sheet-find`,"data-testid":`sheet-replace`,children:[(0,V.jsx)(`input`,{value:d,placeholder:l.replace.with,"aria-label":l.replace.with,"data-testid":`sheet-replace-input`,onChange:e=>{f(e.target.value)},onKeyDown:e=>{m(e,()=>{s(d,!1)})}}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-find-action`,disabled:n===0,"data-testid":`sheet-replace-one`,onClick:()=>{s(d,!1)},children:l.replace.one}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-find-action`,disabled:n===0,"data-testid":`sheet-replace-all`,onClick:()=>{s(d,!0)},children:l.replace.all})]})]})}function Od(e){return typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent)?`⌘${e}`:`Ctrl+${e}`}var kd=`sheet.csv`,Ad=`sheet.yaml`,jd=`files`,Md=20971520,Nd=28;async function Pd(e,t){try{return(await e[`storage/get`]({key:t})).value}catch{return null}}function Fd(e,t,n){e[`storage/set`]({key:t,value:n}).catch(()=>void 0)}async function Id(e){let t=new Uint8Array(await e.arrayBuffer()),n=``;for(let e=0;e<t.length;e+=32768)n+=String.fromCharCode(...t.subarray(e,e+32768));return btoa(n)}function Ld({bare:e,...t}){let n=d(),r={...t,className:`${e===!0?`sheet-bare `:``}${t.className??``}`},i=r.dir??n?.item.dir;return!n||i===void 0?(0,V.jsx)(Rd,{className:r.className,strings:$u.of(`en`)}):(0,V.jsx)(zd,{...r,dir:i,scope:`${n.project.name}|${i}/${kd}`,language:n.locale,...n.agent?{agent:n.agent.name}:{}},`${n.project.name}|${i}`)}function Rd(e){return(0,V.jsx)(`div`,{className:`sheet-page ${e.className??``}`,"data-testid":`sheet-editor`,"data-state":`loading`,children:(0,V.jsx)(`div`,{className:`sheet-sheet`,children:(0,V.jsx)(`p`,{className:`sheet-message`,children:e.strings.loading})})})}function zd(e){let t=u(),{dir:n,scope:i}=e,a=$u.of(e.language),[o,s]=(0,B.useState)(),[c,l]=(0,B.useState)(),[d,f]=(0,B.useState)(0),[p]=(0,B.useState)(()=>new dd),m=(0,B.useCallback)(()=>{f(e=>e+1)},[]),h=(0,B.useCallback)(e=>{s(t=>t&&{...t,look:e})},[]);if((0,B.useEffect)(()=>{let e={live:!0},a=[];return(async()=>{try{let[o,c,u,d,f]=await Promise.all([r.open(t,`${n}/${kd}`,{report:!1}),r.open(t,`${n}/${Ad}`,{report:!1}),Pd(t,Eo(i)),Pd(t,xd(i)),Pd(t,Sd(i))]);if(a.push(o,c),!e.live){for(let e of a)e.close();return}s({rows:o,spec:c,look:Do(u),review:Cd(d,f)}),l(void 0)}catch(t){e.live&&l(t instanceof Error?t.message:String(t))}})(),()=>{e.live=!1;for(let e of a)e.close()}},[t,n,i]),c!==void 0)return(0,V.jsx)(`div`,{className:`sheet-page ${e.className??``}`,"data-testid":`sheet-editor`,children:(0,V.jsx)(`div`,{className:`sheet-sheet`,children:(0,V.jsx)(`p`,{className:`sheet-message`,role:`alert`,children:c})})});if(!o)return(0,V.jsx)(Rd,{className:e.className,strings:a});let g=o.rows.text,_=e.readOnlyAbove??Md,v=fd(g),y=v.length>0?{text:a.unreadable,lines:v}:g.length>_?{text:a.readOnlyLarge((g.length/1024/1024).toFixed(1)),lines:[]}:void 0;return(0,V.jsx)(Vd,{...e,opened:o,cache:p,strings:a,readOnly:y!==void 0,limit:_,reload:m,onLook:h,...y?{notice:y}:{}},d)}function Bd(e,t){for(let n of[`error`,`saving`,`unsaved`])if(e===n||t===n)return n;return`saved`}function Vd({opened:e,cache:t,dir:n,scope:r,strings:i,readOnly:a,limit:s,reload:c,onLook:l,notice:d,language:p,agent:m,onImport:v,className:x}){let C=u(),{rows:w,spec:T}=e,E=f[o(p)],ee=m??i.agent,[te,ne]=(0,B.useState)(()=>({table:Ol(t.of(w.text).data),texts:{spec:T.version===null?null:T.text}})),D=(0,B.useRef)(te),O=(0,B.useCallback)(e=>{D.current=e,ne(e)},[]),[re,ie]=(0,B.useState)(`saved`),[ae,oe]=(0,B.useState)(),[k,se]=(0,B.useState)(()=>{if(a)return[];let t=e.review,n=w.text,r=vd(te.table,t.changes),i=t.pending!==void 0&&t.pending===gd(n)?n:t.seen;return bd(r,i!==void 0&&i!==n?yd(i,te.table,kl(te.table)):[])}),ce=(0,B.useCallback)(e=>{a||Fd(C,Sd(r),Td(w.text,e))},[C,r,a,w]);(0,B.useEffect)(()=>{ce()},[ce]);let ue=(0,B.useRef)(void 0);(0,B.useEffect)(()=>{if(a)return;let e=wd(_d(te.table,k)),t=JSON.stringify(e);t!==ue.current&&(ue.current=t,Fd(C,xd(r),e))},[C,r,a,te.table,k]);let[de,me]=(0,B.useState)(0);(0,B.useEffect)(()=>{if(ae===void 0)return;let e=window.setTimeout(()=>{oe(void 0)},4e3);return()=>{window.clearTimeout(e)}},[ae]);let _e=(0,B.useRef)([]),ve=(0,B.useRef)([]),ye=(0,B.useRef)(null),j=(0,B.useMemo)(()=>te.texts.spec===null?{columns:{}}:Da(te.texts.spec).spec,[te.texts.spec]),Ce=(0,B.useMemo)(()=>{let e={},t=[];for(let[n,r]of Object.entries(j.columns))r.width!==void 0&&(e[n]=r.width),r.wrap&&t.push(n);return{...Object.keys(e).length?{widths:e}:{},...t.length?{wrap:t}:{}}},[j]),M=e.look,P=M??Ce,De=M!==void 0&&!ko(No(M),No(Ce)),Oe=(0,B.useCallback)(e=>{let t=e!==void 0&&ko(e,Ce)?void 0:e;Fd(C,Eo(r),t??null),l(t)},[C,r,Ce,l]);(0,B.useLayoutEffect)(()=>{w.attach({save:e=>{if(a)return;let n=t.save(e,D.current.table);return n!==void 0&&ce(gd(n)),n},take:(e,n)=>{let r=fd(e).length>0||e.length>s;if(a||r){c();return}let i=D.current,o=t.incoming(n,e,i.table,pd(i.texts.spec));O({...i,table:o.table}),ce(),o.changes.length>0&&se(e=>{let t=new Set(o.changes.flatMap(e=>e.kind===`cell`?[`${String(e.id)}:${e.column}`]:[]));return[...e.filter(e=>!(e.kind===`cell`&&t.has(`${String(e.id)}:${e.column}`))),...o.changes].filter(e=>e.kind!==`cell`||e.before!==e.after)}),o.conflicts.length>0&&me(e=>e+o.conflicts.length),o.dirty&&w.edited()}}),T.attach({save:e=>{let t=D.current.texts.spec;if(!(a||t===null||t===e))return t},take:(e,t)=>{let n=D.current,r=T.version===null?null:e,i=md(t===``?null:t,n.texts.spec,r);O({...n,texts:{spec:i}}),i!==r&&i!==null&&T.edited()}})},[w,T,t,a,s,c,ce,O]),(0,B.useEffect)(()=>{let e=()=>{let e=Bd(w.state,T.state);ie(e);let t=w.error??T.error;e===`error`&&t!==void 0&&oe(t),e===`saved`&&ce(),a||C[`editor/state`]({state:e,...e===`error`&&t!==void 0?{message:t}:{}}).catch(()=>void 0)},t=[w.onState(e),T.onState(e)];return()=>{for(let e of t)e()}},[C,w,T,a,ce]),(0,B.useEffect)(()=>{let e=()=>{w.flush(),T.flush()};return window.addEventListener(`beforeunload`,e),()=>{window.removeEventListener(`beforeunload`,e)}},[w,T]);let ke=(0,B.useCallback)((e,t)=>{t.table!==e.table&&w.edited(),t.texts.spec!==e.texts.spec&&(T.edited(),T.flush())},[w,T]),[je,Me]=(0,B.useState)(()=>new Map),Ne=(0,B.useRef)(new Set),Fe=(0,B.useCallback)(e=>{let t=je.get(e);if(t!==void 0)return t;if(!Ne.current.has(e)){Ne.current.add(e);let t=t=>{Me(n=>new Map(n).set(e,t))};C[`files/url`]({path:e}).then(e=>{t(e.url)},()=>{t(`about:invalid`)})}return null},[C,je]),[Ie,Le]=(0,B.useState)(),[ze,Ve]=(0,B.useState)(),F=(0,B.useCallback)((e,t={})=>{if(a||Pl(e))return;let n=D.current,r=Ml(n,e);O(r),t.undoable!==!1&&(_e.current.push({edit:e,selection:Ie}),_e.current.length>500&&_e.current.shift(),ve.current=[]),se(t=>t.filter(t=>!zl(e,t))),ke(n,r)},[a,ke,Ie,O]),He=(0,B.useCallback)(()=>{let e=_e.current.pop();if(!e)return;let t=Nl(e.edit),n=D.current,r=Ml(n,t);O(r),ve.current.push(e),e.selection&&Le(e.selection),ke(n,r)},[ke,O]),Ue=(0,B.useCallback)(()=>{let e=ve.current.pop();if(!e)return;let t=D.current,n=Ml(t,e.edit);O(n),_e.current.push(e),ke(t,n)},[ke,O]),{table:I}=te,We=(0,B.useMemo)(()=>kl(I),[I]),L=I.columns,Ge=To(L,j),R=(0,B.useMemo)(()=>{let e=wo(We,P),t=e.length>0?e:L.slice(0,1);return Ge===void 0||!t.includes(Ge)?t:[Ge,...t.filter(e=>e!==Ge)]},[We,P,L,Ge]),Je=Ge!==void 0&&R[0]===Ge,Ye=(0,B.useMemo)(()=>So(We,j,P),[We,j,P]),{items:Xe,rowItems:Qe,shownIds:z}=(0,B.useMemo)(()=>{let e=[],t=[];for(let n of Ye){let r=I.rows[n];r&&(e.push({row:r,index:n,r:t.length}),t.push(r.id))}return{items:e,rowItems:e.map((e,t)=>t),shownIds:t}},[I.rows,Ye]),$e=(0,B.useMemo)(()=>({rows:z,columns:R}),[z,R]),H=(0,B.useMemo)(()=>{if(!Ie||z.length===0||R.length===0)return;let e=e=>{if(Ie.ids!==z){let t=Ie.ids[e.r],n=t===void 0?-1:z.indexOf(t);if(n>=0)return{r:n,c:Math.min(e.c,R.length-1)}}return Ul(e,z.length,R.length)};return{anchor:e(Ie.selection.anchor),focus:e(Ie.selection.focus)}},[Ie,z,R.length]),U=(0,B.useCallback)(e=>{Le(e===void 0?void 0:{selection:e,ids:z})},[z]),tt=(0,B.useRef)(z);(0,B.useEffect)(()=>{tt.current=z},[z]);let nt=(0,B.useMemo)(()=>new Map(I.rows.map((e,t)=>[e.id,t])),[I.rows]),rt=(0,B.useMemo)(()=>P.widths??{},[P.widths]),it=(0,B.useMemo)(()=>su(j,I),[j,I]),at=(0,B.useMemo)(()=>Xo(j,R,34),[j,R]),ot=L.join(`\0`),st=(0,B.useMemo)(()=>{let e=document.createElement(`canvas`).getContext(`2d`),t=getComputedStyle(document.documentElement).getPropertyValue(`--allyhub-font-ui`).trim();return e&&(e.font=`13px ${t||`system-ui`}`),$o(We,j,e?t=>e.measureText(t).width:e=>e.length*7,E)},[ot,j,E]),ct=(0,B.useMemo)(()=>new Set(P.wrap??[]),[P.wrap]),[lt,ut]=(0,B.useState)(),[dt,ft]=(0,B.useState)(!1),[pt,mt]=(0,B.useState)(0),ht=(0,B.useCallback)(e=>{let t=e?.trim().toLowerCase();if(!t)return[];let n=[],r=R.map(e=>L.indexOf(e));for(let e of z){let i=I.rows[nt.get(e)??-1];i&&R.forEach((a,o)=>{(i.cells[r[o]??-1]??``).toLowerCase().includes(t)&&n.push(`${String(e)}:${a}`)})}return n},[R,L,z,I.rows,nt]),gt=(0,B.useMemo)(()=>ht(lt),[ht,lt]),_t=(0,B.useMemo)(()=>new Set(gt),[gt]),vt=(0,B.useCallback)((e,t)=>{let n=e[t];if(n===void 0)return;let r=n.indexOf(`:`),i=Number(n.slice(0,r)),a=z.indexOf(i),o=R.indexOf(n.slice(r+1));if(a<0||o<0)return;let s={r:a,c:o};U(Hl(s)),ye.current?.reveal(s)},[z,R,U]),yt=(0,B.useCallback)(e=>{ut(e),mt(0),vt(ht(e),0)},[vt,ht]),bt=(0,B.useCallback)(e=>{if(gt.length===0)return;let t=(pt+e+gt.length)%gt.length;mt(t),vt(gt,t)},[gt,pt,vt]),{agentCells:xt,agentRows:St,away:Ct}=(0,B.useMemo)(()=>{let e=new Map,t=new Set,n=new Set;for(let r of k)if(r.kind===`cell`){let t=`${String(r.id)}:${r.column}`;e.set(t,r.before),r.away&&n.add(t)}else r.kind===`row-added`&&(t.add(r.id),r.away&&n.add(`row:${String(r.id)}`));return{agentCells:e,agentRows:t,away:n}},[k]),wt=(0,B.useCallback)(e=>{let t=e.map(e=>Rl(e,D.current.table)).filter(e=>e!==void 0);t.length>0&&F({kind:`batch`,edits:t}),se(t=>t.filter(t=>!e.includes(t)))},[F]),Tt=(0,B.useCallback)(e=>{let t=z[e.r],n=R[e.c],r=t===void 0?void 0:I.rows[nt.get(t)??-1];return r&&n!==void 0?{row:r,column:n}:void 0},[z,R,I.rows,nt]),Dt=(0,B.useCallback)((e,t,n)=>{let r=e.cells[D.current.table.columns.indexOf(t)]??``;F({kind:`cells`,changes:[{id:e.id,column:t,before:r,after:n}]})},[F]),Ot=(0,B.useCallback)(e=>{let t=D.current.texts.spec;return{kind:`spec`,before:t,after:e(t??void 0)}},[]),kt=(0,B.useCallback)((e,t)=>{let n=W(j,e);if(n.options?.some(e=>e.name===t))return;let r={...n,options:[...n.options??[],{name:t}]};F(Ot(t=>po(t,e,r)))},[j,F,Ot]),At=(0,B.useCallback)((e,t,n=1)=>{let r=D.current.table.rows,i;if(t===`end`||e===void 0)i=r[r.length-1]?.id??null;else{let n=z[e.r],a=n===void 0?r.length-1:nt.get(n)??r.length-1;i=t===`above`?r[a-1]?.id??null:r[a]?.id??null}let a=Array.from({length:n},()=>({id:Dl(),cells:L.map(()=>``)})),o=i;return F({kind:`insert`,rows:a.map(e=>{let t={row:e,after:o};return o=e.id,t})}),a.map(e=>e.id)},[z,nt,L,F]),jt=(0,B.useCallback)(e=>new Set(z.slice(e.r0,e.r1+1)),[z]),Mt=(0,B.useCallback)(()=>{for(let e=1;;e++){let t=i.column.newName(e);if(!L.includes(t))return t}},[L,i]),[Nt,Pt]=(0,B.useState)(),[Ft,It]=(0,B.useState)(),Lt=(0,B.useCallback)(e=>{let t=Mt();if(F({kind:`insert-column`,at:e,name:t,values:new Map}),P.columns){let n=Math.min(e,R.length),r=[...R];r.splice(n,0,t),Oe({...P,columns:r})}Pt(t)},[Mt,F,P,R,Oe]),Rt=(0,B.useCallback)((e,t)=>{let n=D.current.texts,r=[{kind:`rename-column`,from:e,to:t}],i=mo(n.spec??void 0,e,t);i!==(n.spec??void 0)&&r.push({kind:`spec`,before:n.spec,after:i||null}),F({kind:`batch`,edits:r}),M&&Oe(jo(M,e,t))},[F,M,Oe]),zt=(0,B.useCallback)((e,t)=>{let n=D.current.table.columns.indexOf(e),r=D.current.table.rows.map(e=>e.cells[n]??``),i=Ko(W(j,e),t,r);F(Ot(t=>po(t,e,i)))},[j,F,Ot]),[Bt,Vt]=(0,B.useState)(),G=H===void 0?void 0:z[H.focus.r],K=Bt===void 0?void 0:G??Bt,q=K===void 0?void 0:I.rows[nt.get(K)??-1],Ht=!a,J=(0,B.useCallback)(async e=>{let{path:t}=await C[`files/upload`]({dir:`${n}/${jd}`,name:e.name,data:await Id(e)});return t.startsWith(`${n}/`)?t.slice(n.length+1):t},[C,n]),Y=(0,B.useCallback)(async(e,t)=>{if(a||t.length===0)return;let n=Tt(e);if(!n)return;let r=W(j,n.column);if(r.type!==`file`){oe(i.files.notHere);return}U(Hl(e)),oe(i.files.adding(t.length));let o=[],s=[];for(let e of t)if(e.size>Nd*1024*1024)s.push(i.files.tooLarge(e.name,Nd));else try{o.push(await J(e))}catch{s.push(i.files.failed(e.name))}if(oe(s.length>0?s.join(` `):void 0),o.length===0)return;let c=D.current.table,l=c.rows.find(e=>e.id===n.row.id);if(!l)return;let u=l.cells[c.columns.indexOf(n.column)]??``;Dt(l,n.column,La([...Ia(u,r.separator),...o],r.separator))},[J,a,Tt,j,i,U,Dt]),Ut=(0,B.useRef)(void 0),Wt=(0,B.useRef)(null),Gt=(0,B.useCallback)(e=>{Ut.current=e,Wt.current?.click()},[]),[Kt,qt]=(0,B.useState)(),Jt=e=>{let t=e?.closest(`[data-cell]`);if(t)return{r:Number(t.dataset.r),c:Number(t.dataset.c)}},Yt=e=>e.dataTransfer.types.includes(`Files`),Xt=e=>{if(!Ht||!Yt(e))return;e.preventDefault();let t=Jt(e.target);e.dataTransfer.dropEffect=t?`copy`:`none`,(t?.r!==Kt?.r||t?.c!==Kt?.c)&&qt(t)},Zt=e=>{e.currentTarget.contains(e.relatedTarget)||qt(void 0)},Qt=e=>{if(!Ht||!Yt(e))return;e.preventDefault(),qt(void 0);let t=Jt(e.target);t&&Y(t,[...e.dataTransfer.files])},[$t,en]=(0,B.useState)(),tn=L.indexOf(Ge??``),nn=(0,B.useCallback)((e,t)=>{let n=Tt(e);if(!n)return;let r=W(j,n.column);if(r.type!==`file`)return;let a=L.indexOf(n.column),o=Zo(r,z.flatMap(e=>{let t=I.rows[nt.get(e)??-1];return t?[{id:e,value:t.cells[a]??``,title:(t.cells[tn]?.trim()??``)||i.row.numbered((nt.get(e)??0)+1)}]:[]})),s=o.findIndex(e=>e.row===n.row.id&&e.at===t);s<0||(U(Hl(e)),en({column:n.column,files:o,at:s}))},[Tt,j,L,z,I.rows,nt,tn,i,U]),rn=(0,B.useRef)(null),an=(0,B.useCallback)(()=>{rn.current?.focus({preventScroll:!0})},[]),on=e=>{let t=e;return!t||t===rn.current||!t.closest(`input, textarea, select, [role=dialog], [role=menu]`)};(0,B.useEffect)(()=>{let e=rn.current,t=e?.parentElement;if(!e||!t||!H)return;let n=t.querySelector(`[data-cell][data-r="${String(H.focus.r)}"][data-c="${String(H.focus.c)}"]`);if(!n)return;let r=n.getBoundingClientRect(),i=t.getBoundingClientRect();e.style.left=`${String(r.left-i.left+8)}px`,e.style.top=`${String(r.top-i.top+8)}px`},[H]);let X=z.length,sn=R.length,cn=(0,B.useCallback)(e=>{ye.current?.reveal(e)},[]),ln=(0,B.useCallback)(e=>{U(e),cn(e.focus)},[cn,U]),un=(0,B.useCallback)((e,t)=>{let n=ze?.cell;if(Ve(void 0),!n)return;let r=Tt(n);r&&(r.row.cells[L.indexOf(r.column)]??``)!==e&&Dt(r.row,r.column,e),H&&t!==`click`&&ln(Gl(H,t===`tab`?`next`:t===`shift-tab`?`previous`:t===`shift-enter`?`up`:`down`,X,sn)),an()},[ze,Tt,L,Dt,H,ln,X,sn,an]),Z=(0,B.useCallback)(e=>{let t=Tt(e);if(!t)return;let n=t.row.cells[L.indexOf(t.column)]??``;Dt(t.row,t.column,n.trim().toLowerCase()===`true`?`false`:`true`)},[Tt,L,Dt]),dn=(0,B.useCallback)(e=>{if(!H)return;let t=Bl(H),n=Kl(I,$e,t);return e&&!a&&F(ql(I,$e,t)),n},[H,I,$e,a,F]),fn=(0,B.useCallback)(e=>{if(a)return;let t=I.rows.length===0&&!H;if(!H&&!t)return;let n=H?Bl(H):{r0:0,r1:0,c0:0,c1:0},r=[],o=I,s=$e;if(t){let t=Math.max(0,...Et(e.replace(/\r?\n$/,``)).map(e=>e.length)),n=[];for(let e=1;I.columns.length+n.length<t;e++){let t=i.column.newName(e);I.columns.includes(t)||n.push(t)}n.forEach((e,t)=>{r.push({kind:`insert-column`,at:I.columns.length+t,name:e,values:new Map})}),o={...I,columns:[...I.columns,...n]},s={rows:[],columns:[...$e.columns,...n]}}let c=Yl(o,j,s,n,e);if(c.options.size>0){let e=D.current.texts.spec??void 0;for(let[t,n]of c.options){let r=W(Da(e??``).spec,t);e=po(e,t,{...r,options:[...r.options??[],...n.map(e=>({name:e}))]})}r.push({kind:`spec`,before:D.current.texts.spec,after:e??null})}r.push(c.edit),F({kind:`batch`,edits:r}),oe(c.skipped>0?i.cell.left(c.skipped):void 0);let l=e.replace(/\r?\n$/,``).split(/\r?\n/);if(l.length!==1||l[0]?.includes(` `)){let e=l.length,t=Math.max(...l.map(e=>e.split(` `).length));U({anchor:{r:n.r0,c:n.c0},focus:{r:n.r0+e-1,c:Math.min(s.columns.length-1,n.c0+t-1)}})}},[H,a,I,j,$e,F,i,U]),pn=e=>{if(ze||e.nativeEvent.isComposing||!on(e.target))return;let t=e.metaKey||e.ctrlKey;if(t&&e.key.toLowerCase()===`z`){e.preventDefault(),e.shiftKey?Ue():He();return}if(t&&e.key.toLowerCase()===`y`){e.preventDefault(),Ue();return}if(t&&e.key.toLowerCase()===`f`){e.preventDefault(),yt(lt??``);return}if(e.ctrlKey&&!e.metaKey&&e.key.toLowerCase()===`h`){e.preventDefault(),yt(lt??``),ft(!0);return}if(X===0||sn===0)return;if(t&&e.key.toLowerCase()===`a`){e.preventDefault(),U({anchor:{r:0,c:0},focus:{r:X-1,c:sn-1}});return}let n=H??Hl({r:0,c:0});if(e.key===` `&&e.shiftKey!==e.ctrlKey&&!e.metaKey){e.preventDefault();let t=Bl(n);U(e.shiftKey?{anchor:{r:t.r0,c:0},focus:{r:t.r1,c:sn-1}}:{anchor:{r:0,c:t.c0},focus:{r:X-1,c:t.c1}});return}let r={ArrowUp:`up`,ArrowDown:`down`,ArrowLeft:`left`,ArrowRight:`right`,Home:`home`,End:`end`,PageUp:`page-up`,PageDown:`page-down`}[e.key];if(r){e.preventDefault(),ln(Wl(n,r,{extend:e.shiftKey,jump:t,rows:X,cols:sn,page:ye.current?.page()??10}));return}if(e.key===`Tab`){e.preventDefault(),ln(Gl(n,e.shiftKey?`previous`:`next`,X,sn));return}if(e.key===`Escape`){let e=Bl(n);lt===void 0?e.r0!==e.r1||e.c0!==e.c1?U(Hl(n.focus)):Bt!==void 0&&Vt(void 0):yt(void 0);return}if(e.key===` `&&!t&&!e.shiftKey){let t=Tt(n.focus),r=t?W(j,t.column):void 0;if(t&&r?.type===`file`&&Jo(r,t.row.cells[L.indexOf(t.column)]??``).length>0){e.preventDefault(),nn(n.focus,0);return}}if(t&&e.key===`Enter`){e.preventDefault();let t=z[n.focus.r];t!==void 0&&Vt(t);return}if(a)return;let i=R[n.focus.c],o=i===void 0?`text`:W(j,i).type;if(e.key===`Enter`||e.key===`F2`){e.preventDefault();let t=Bl(n);if(e.key===`Enter`&&(t.r0!==t.r1||t.c0!==t.c1)){ln(Gl(n,e.shiftKey?`up`:`down`,X,sn));return}o===`checkbox`?Z(n.focus):Ve({cell:n.focus})}else if(e.key===`Backspace`||e.key===`Delete`)e.preventDefault(),F(ql(I,$e,Bl(n)));else if(t&&e.key.toLowerCase()===`d`)e.preventDefault(),F(Xl(I,$e,Bl(n)));else if(e.key===` `&&o===`checkbox`){e.preventDefault();let t=Bl(n);for(let e=t.r0;e<=t.r1;e++)Z({r:e,c:n.focus.c})}},mn=e=>{if(a||e===``||X===0||sn===0)return;let t=H??Hl({r:0,c:0}),n=R[t.focus.c];n!==void 0&&W(j,n).type!==`checkbox`&&(U(Hl(t.focus)),Ve({cell:t.focus,initial:e}))},hn=e=>{if(ze||!on(e.target))return;let t=dn(!1);t!==void 0&&(e.preventDefault(),e.clipboardData.setData(`text/plain`,t))},gn=e=>{if(ze||!on(e.target))return;let t=dn(!0);t!==void 0&&(e.preventDefault(),e.clipboardData.setData(`text/plain`,t))},_n=e=>{if(ze||!on(e.target))return;e.preventDefault();let t=[...e.clipboardData.files];t.length>0&&Ht&&H?Y(H.focus,t):fn(e.clipboardData.getData(`text/plain`))},vn=(0,B.useMemo)(()=>{let e=[];for(let t of k){let n=t.kind===`cell`||t.kind===`row-added`?t.id:void 0,r=n===void 0?-1:z.indexOf(n);if(r<0)continue;let i=t.kind===`cell`?Math.max(0,R.indexOf(t.column)):0;e.push({change:t,r,c:i})}return e.sort((e,t)=>e.r-t.r||e.c-t.c)},[k,z,R]),[yn,bn]=(0,B.useState)(-1),xn=(0,B.useCallback)(e=>{if(vn.length===0)return;let t=(yn+e+vn.length)%vn.length;bn(t);let n=vn[t];if(!n)return;let r={r:n.r,c:n.c};U(Hl(r)),ye.current?.reveal(r)},[vn,yn,U]),[Sn,Cn]=(0,B.useState)(),wn=(0,B.useRef)(void 0),Tn=(0,B.useRef)(!1),En=(0,B.useCallback)(()=>{window.clearTimeout(wn.current),wn.current=window.setTimeout(()=>{Tn.current||Cn(void 0)},160)},[]),Dn=e=>{if(ze||e.buttons!==0)return;let t=e.target;if(t.closest(`.sheet-review-card`))return;let n=t.closest(`[data-cell][data-agent], .sheet-gutter[data-agent]`);if(!n){En();return}let r;if(n.classList.contains(`sheet-gutter`)){let e=Number(n.closest(`[data-row-id]`)?.dataset.rowId);r=k.find(t=>t.kind===`row-added`&&t.id===e)}else{let e=Tt({r:Number(n.dataset.r),c:Number(n.dataset.c)});r=e?k.find(t=>t.kind===`cell`&&t.id===e.row.id&&t.column===e.column):void 0}if(!r){En();return}if(Sn?.change===r){window.clearTimeout(wn.current);return}let i=e.currentTarget.getBoundingClientRect(),a=n.getBoundingClientRect(),o=r;window.clearTimeout(wn.current),wn.current=window.setTimeout(()=>{Cn({change:o,left:Math.max(8,Math.min(a.left-i.left,i.width-268)),top:a.bottom-i.top+4})},Sn?0:280)};(0,B.useEffect)(()=>()=>{window.clearTimeout(wn.current)},[]);let On=Sn&&k.includes(Sn.change)?Sn:void 0,[kn,An]=(0,B.useState)(),jn=(0,B.useCallback)((e,t)=>{e.preventDefault(),H&&Bl(H).r0<=t.r&&t.r<=Bl(H).r1&&Bl(H).c0<=t.c&&t.c<=Bl(H).c1||U(Hl(t)),xs(),An({x:e.clientX,y:e.clientY,cell:t})},[H,U]),Mn=(0,B.useMemo)(()=>({select:e=>{U(e)},edit:(e,t)=>{U(Hl(e)),Ve({cell:e,...t===void 0?{}:{initial:t}})},commit:un,cancel:()=>{Ve(void 0),an()},toggle:Z,addOption:kt,resize:(e,t)=>{let n=W(j,e),r=D.current.texts,i=po(r.spec??void 0,e,{...n,width:t});F({kind:`spec`,before:r.spec,after:i},{undoable:!1}),M&&Oe({...M,widths:{...M.widths??{},[e]:t}})},moveColumn:(e,t)=>{if(Je&&e===Ge)return;let n=Je?Math.max(1,t):t;if(!M?.columns){F({kind:`move-column`,name:e,from:L.indexOf(e),to:L.indexOf(R[n]??e)});return}let r=R.filter(t=>t!==e);r.splice(n,0,e),Oe({...P,columns:r})},moveRows:(e,t)=>{let n=D.current.table.rows.map(e=>e.id),r=new Set(e),i=n.filter(e=>!r.has(e)),a=t===null?i.length:i.indexOf(t),o=[...i];o.splice(a<0?i.length:a,0,...n.filter(e=>r.has(e))),F({kind:`order`,before:n,after:o})},addRow:()=>{let[e]=At(void 0,`end`);window.requestAnimationFrame(()=>{let t=e===void 0?-1:tt.current.indexOf(e);t>=0&&(U(Hl({r:t,c:0})),Ve({cell:{r:t,c:0}}),ye.current?.reveal({r:t,c:0}))})},addColumn:()=>{Lt(L.length)},contextMenu:jn,rename:(e,t)=>{Pt(void 0),t!==void 0&&!L.includes(t)&&Rt(e,t),an()},expand:e=>{let t=z.indexOf(e);t>=0&&U(Hl({r:t,c:H?.focus.c??0})),Vt(e)},openFile:nn,fill:(e,t)=>{F(Xl(I,$e,{...e,r1:t},e.r1-e.r0+1)),U({anchor:{r:e.r0,c:e.c0},focus:{r:t,c:e.c1}})},columnActions:e=>({rename:()=>{Pt(e)},format:t=>{zt(e,t)},hide:()=>{Oe({...P,columns:R.filter(t=>t!==e)})},insert:t=>{let n=L.indexOf(e)+ +(t===`right`);Lt(n)},remove:()=>{let t=L.indexOf(e),n=new Map(D.current.table.rows.map(e=>[e.id,e.cells[t]??``])),r=[...n.values()].filter(e=>e!==``).length;It({title:i.column.removeAsk(e,r),run:()=>{let r=D.current.texts,i=r.spec??void 0;j.columns[e]!==void 0&&(i=po(i,e,void 0)),j.key===e&&(i=ho(i,`key`,void 0)),j.primary===e&&(i=ho(i,`primary`,void 0)),F({kind:`batch`,edits:[{kind:`remove-column`,at:t,name:e,values:n},...i===(r.spec??void 0)?[]:[{kind:`spec`,before:r.spec,after:i===void 0||i===``?null:i}]]})}})}}),focusGrid:()=>{an()}}),[un,Z,kt,j,F,M,Oe,L,R,P,At,Lt,jn,I,$e,i,an,U,Je,Ge,Rt,zt,z,H,nn]),Nn=a?void 0:I.rows.length===0?(0,V.jsxs)(`div`,{className:`sheet-empty`,"data-testid":`sheet-empty`,children:[(0,V.jsx)(`p`,{className:`sheet-empty-title`,children:i.empty.title}),(0,V.jsxs)(`div`,{className:`sheet-empty-actions`,children:[(0,V.jsxs)(he,{size:`sm`,"data-testid":`sheet-empty-add`,onClick:Mn.addRow,children:[(0,V.jsx)(Se,{"aria-hidden":!0}),i.empty.addRow]}),(0,V.jsxs)(he,{variant:`outline`,size:`sm`,onClick:()=>{an(),oe(i.empty.pasteHint)},children:[(0,V.jsx)(Re,{"aria-hidden":!0}),i.empty.paste]}),v&&(0,V.jsxs)(`label`,{className:`sheet-empty-file`,children:[(0,V.jsx)(et,{"aria-hidden":!0,size:14}),i.empty.importFile,(0,V.jsx)(`input`,{type:`file`,accept:`.csv,.tsv,.xlsx`,className:`sheet-empty-input`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&v(t)}})]})]})]}):Ye.length===0&&P.filter?(0,V.jsxs)(`div`,{className:`sheet-empty`,"data-quiet":``,"data-testid":`sheet-no-match`,children:[(0,V.jsx)(`p`,{className:`sheet-empty-title`,children:i.empty.noMatch}),(0,V.jsx)(`p`,{className:`sheet-empty-body`,children:i.empty.noMatchBody}),(0,V.jsx)(`div`,{className:`sheet-empty-actions`,children:(0,V.jsx)(he,{variant:`outline`,size:`sm`,onClick:()=>{Oe(Po(P))},children:i.empty.clearFilter})})]}):void 0,Pn=(0,B.useMemo)(()=>{if(!De)return[];let e=[],t=M.sort?.[0];t&&JSON.stringify(M.sort)!==JSON.stringify(Ce.sort??[])&&e.push(i.look.sorted(t.column,t.desc===!0));let n=[...Uo(No(M))].filter(e=>{let t=W(j,e);return JSON.stringify([...Vo(M,e,t)??[]])!==JSON.stringify([...Vo(Ce,e,t)??[]])});n.length>0&&e.push(i.look.filtered(n));let r=wo(We,Ce).length-wo(We,M).length;return r>0&&e.push(i.look.hidden(r)),e},[De,M,Ce,j,We,i]),Fn=(0,B.useCallback)((e,t)=>{let n=W(j,e),r=P.sort?.[0];return(0,V.jsx)(Us,{name:e,column:n,ticked:Vo(P,e,n),sort:r?.column===e?r.desc?`desc`:`asc`:void 0,strings:i,locale:E,trigger:t,values:()=>{let t=No(Ho(P,e,n,void 0)),r=L.indexOf(e),i=So(We,j,t).map(e=>I.rows[e]?.cells[r]??``);return Ro(e,n,i,E)},onSort:t=>{Oe({...P,sort:[{column:e,...t?{desc:!0}:{}}]})},onTicked:t=>{Oe(Ho(P,e,n,t)),an()}})},[j,P,i,E,L,We,I.rows,Oe,an]),In=(0,B.useMemo)(()=>Uo(No(P)),[P]),Ln=P.sort?.[0],Rn=(0,B.useMemo)(()=>Ln===void 0?void 0:{column:Ln.column,desc:Ln.desc===!0},[Ln]),zn=(0,B.useCallback)((e,t)=>{let n=lt?.trim();if(!n||a)return;let r=new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),`gi`),o=t?gt:gt.slice(pt,pt+1),s=D.current.table,c=new Map(s.rows.map(e=>[e.id,e])),l=o.flatMap(t=>{let n=t.indexOf(`:`),i=Number(t.slice(0,n)),a=t.slice(n+1),o=c.get(i)?.cells[s.columns.indexOf(a)]??``,l=o.replace(r,()=>e);return l===o?[]:[{id:i,column:a,before:o,after:l}]});if(l.length===0||(F({kind:`cells`,changes:l}),oe(t?i.replace.done(l.length):void 0),t))return;let u=pt+1>=gt.length,d=u?gt[0]:gt[pt+1];if(d===void 0||d===o[0])return;let f=l[0]?.after.toLowerCase().includes(n.toLowerCase());mt(u?0:f===!0?pt+1:pt),vt([d],0)},[lt,a,gt,pt,F,i,vt]),Bn=(0,B.useMemo)(()=>{if(!H)return;let e=Bl(H);if(e.r0!==e.r1||e.c0!==e.c1)return cu(I,j,$e,e,E)},[H,I,j,$e,E]),Vn=H?Bl(H):void 0,Hn=kn?Tt(kn.cell):void 0,Un=Hn?k.find(e=>e.kind===`cell`&&e.id===Hn.row.id&&e.column===Hn.column):void 0,Wn={cells:k.filter(e=>e.kind===`cell`).length,rows:k.filter(e=>e.kind===`row-added`||e.kind===`row-removed`).length,columns:k.filter(e=>e.kind===`column-added`||e.kind===`column-removed`).length};return(0,V.jsxs)(`div`,{className:`sheet-page ${x??``}`,"data-testid":`sheet-editor`,"data-state":re,lang:E,children:[(0,V.jsxs)(`div`,{className:`sheet-sheet`,children:[d&&(0,V.jsxs)(`div`,{className:`sheet-notice`,role:`note`,"data-testid":`sheet-notice`,children:[(0,V.jsx)(`p`,{children:d.text}),d.lines.map(e=>(0,V.jsx)(`p`,{className:`sheet-notice-line`,children:e},e))]}),(0,V.jsxs)(`div`,{className:`sheet-main`,children:[(0,V.jsxs)(`div`,{className:`sheet-grid-wrap`,onPointerOver:Dn,onPointerLeave:En,onKeyDown:pn,onCopy:hn,onCut:gn,onPaste:_n,onDragOver:Xt,onDragLeave:Zt,onDrop:Qt,children:[Ht&&(0,V.jsx)(`input`,{ref:Wt,type:`file`,multiple:!0,hidden:!0,"data-testid":`sheet-file-input`,onChange:e=>{let t=[...e.target.files??[]];e.target.value=``;let n=Ut.current;n&&Y(n,t)}}),(0,V.jsx)(`textarea`,{ref:rn,className:`sheet-sink`,"aria-label":i.cell.open,tabIndex:-1,"data-testid":`sheet-sink`,onInput:e=>{if(e.nativeEvent.isComposing)return;let t=e.currentTarget.value;e.currentTarget.value=``,mn(t)},onCompositionEnd:e=>{let t=e.data;e.currentTarget.value=``,mn(t)}}),(0,V.jsx)(nu,{ref:ye,spec:it,rowHeight:at,...Kt?{dropping:Kt}:{},allColumns:L,columns:R,widths:rt,fit:st,freeze:P.freeze??+!!Je,wrap:ct,items:Xe,rowItems:Qe,selection:H,editing:ze,readOnly:a,found:_t,current:gt[pt],agentCells:xt,agentRows:St,away:Ct,headerTool:Fn,filtered:In,...Rn?{sortedBy:Rn}:{},...Nt===void 0?{}:{renaming:Nt},...Nn?{empty:Nn}:{},sorted:(P.sort?.length??0)>0,...j.key===void 0?{}:{keyColumn:j.key},strings:i,locale:E,fileUrl:Fe,dir:n,on:Mn}),lt!==void 0&&(0,V.jsx)(`div`,{className:`sheet-find-float`,children:(0,V.jsx)(Dd,{find:lt,onFind:yt,count:gt.length,at:pt,onStep:bt,replacing:dt,onReplacing:ft,onReplace:zn,readOnly:a,strings:i})}),On&&(0,V.jsx)(lu,{change:On.change,at:On,agent:m??i.agentInline,spec:it,locale:E,strings:i,onEnter:()=>{Tn.current=!0,window.clearTimeout(wn.current)},onLeave:()=>{Tn.current=!1,En()},onKeep:()=>{se(e=>e.filter(e=>e!==On.change)),Cn(void 0)},onUndo:()=>{wt([On.change]),Cn(void 0)}}),ae!==void 0&&(0,V.jsx)(`p`,{className:`sheet-toast`,role:`status`,children:ae}),(Wn.cells+Wn.rows+Wn.columns>0||de>0)&&(0,V.jsxs)(`div`,{className:`sheet-review-bar`,"data-testid":`sheet-review-bar`,"data-away":k.length>0&&k.every(e=>e.away)?``:void 0,children:[(0,V.jsxs)(`span`,{className:`sheet-review-text`,children:[Wn.cells+Wn.rows+Wn.columns>0&&(k.every(e=>e.away)?i.review.countAway(Wn.cells,Wn.rows,Wn.columns):i.review.count(ee,Wn.cells,Wn.rows,Wn.columns)),de>0&&(0,V.jsxs)(`span`,{className:`sheet-review-conflict`,children:[` `,i.review.conflicts(de)]})]}),vn.length>0&&(0,V.jsxs)(`span`,{className:`sheet-review-step`,children:[(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":i.review.previous,title:i.review.previous,"data-testid":`sheet-review-previous`,onClick:()=>{xn(-1)},children:(0,V.jsx)(_,{size:14,"aria-hidden":!0})}),(0,V.jsx)(`span`,{className:`sheet-review-position`,children:yn>=0&&yn<vn.length?i.review.position(yn+1,vn.length):String(vn.length)}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":i.review.next,title:i.review.next,"data-testid":`sheet-review-next`,onClick:()=>{xn(1)},children:(0,V.jsx)(h,{size:14,"aria-hidden":!0})})]}),k.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`button`,{type:`button`,onClick:()=>{wt(k)},children:[(0,V.jsx)(S,{size:13,"aria-hidden":!0}),i.review.undoAll]}),(0,V.jsxs)(`button`,{type:`button`,onClick:()=>{se([]),me(0)},children:[(0,V.jsx)(g,{size:13,"aria-hidden":!0}),i.review.keepAll]})]}),k.length===0&&de>0&&(0,V.jsx)(`button`,{type:`button`,onClick:()=>{me(0)},children:i.review.keep})]})]}),q&&(0,V.jsx)(au,{row:q,columns:R,allColumns:L,spec:j,number:z.includes(q.id)?z.indexOf(q.id)+1:(nt.get(q.id)??0)+1,total:z.includes(q.id)?z.length:I.rows.length,title:q.cells[L.indexOf(To(L,j)??``)]??``,readOnly:a,strings:i,locale:E,fileUrl:Fe,dir:n,onChange:(e,t)=>{Dt(q,e,t)},onAddOption:kt,onOpenFile:(e,t)=>{let n=z.indexOf(q.id),r=R.indexOf(e);n>=0&&r>=0&&nn({r:n,c:r},t)},...Ht?{onAddFiles:e=>{let t=z.indexOf(q.id),n=R.indexOf(e);t>=0&&n>=0&&Gt({r:t,c:n})}}:{},onStep:e=>{let t=z.indexOf(q.id),n=z[t+e];if(n===void 0)return;Vt(n);let r=z.indexOf(n);if(r<0)return;let i={r,c:H?.focus.c??0};U(Hl(i)),cn(i)},onClose:()=>{Vt(void 0),an()}},q.id)]}),(0,V.jsxs)(`footer`,{className:`sheet-status`,"data-testid":`sheet-status`,children:[(0,V.jsx)(`span`,{className:`sheet-count`,"data-testid":`sheet-count`,children:i.rows(z.length,I.rows.length)}),(0,V.jsx)(Ed,{parts:Pn,strings:i,onClear:()=>{Oe(void 0)}}),Bn&&Bn.count>0&&(0,V.jsxs)(`span`,{className:`sheet-stats`,"data-testid":`sheet-stats`,children:[Bn.average!==void 0&&(0,V.jsxs)(`span`,{children:[i.stats.average,` `,(0,V.jsx)(`b`,{children:Bn.average})]}),(0,V.jsxs)(`span`,{children:[i.stats.count,` `,(0,V.jsx)(`b`,{children:Bn.count})]}),Bn.sum!==void 0&&(0,V.jsxs)(`span`,{children:[i.stats.sum,` `,(0,V.jsx)(`b`,{children:Bn.sum})]})]})]})]}),kn&&(0,V.jsxs)(Te,{open:!0,modal:!1,onOpenChange:e=>{e||An(void 0)},children:[(0,V.jsx)(be,{asChild:!0,children:(0,V.jsx)(`span`,{className:`sheet-menu-anchor`,style:{left:kn.x,top:kn.y}})}),(0,V.jsxs)(xe,{align:`start`,className:`sheet-menu`,"data-testid":`sheet-context-menu`,onCloseAutoFocus:e=>{e.preventDefault()},children:[Un?.kind===`cell`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(N,{disabled:!0,className:`sheet-menu-note`,children:[i.review.was,`:`,` `,Un.before===``?`—`:Ga(W(j,Un.column),Un.before,E)]}),(0,V.jsxs)(N,{onSelect:()=>{se(e=>e.filter(e=>e!==Un))},children:[(0,V.jsx)(g,{"aria-hidden":!0}),i.review.keep]}),(0,V.jsxs)(N,{onSelect:()=>{wt([Un])},children:[(0,V.jsx)(S,{"aria-hidden":!0}),i.review.undo]}),(0,V.jsx)(ge,{})]}),(0,V.jsxs)(N,{onSelect:()=>{let e=dn(!1);e!==void 0&&navigator.clipboard.writeText(e)},children:[(0,V.jsx)(y,{"aria-hidden":!0}),i.cell.copy,(0,V.jsx)(le,{children:Od(`C`)})]}),!a&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(N,{onSelect:()=>{let e=dn(!0);e!==void 0&&navigator.clipboard.writeText(e)},children:[(0,V.jsx)(Ze,{"aria-hidden":!0}),i.cell.cut,(0,V.jsx)(le,{children:Od(`X`)})]}),(0,V.jsxs)(N,{onSelect:()=>{navigator.clipboard.readText().then(fn,()=>{oe(i.cell.pasteHint)})},children:[(0,V.jsx)(Re,{"aria-hidden":!0}),i.cell.paste,(0,V.jsx)(le,{children:Od(`V`)})]}),(0,V.jsxs)(N,{onSelect:()=>{Vn&&F(ql(I,$e,Vn))},children:[(0,V.jsx)(Be,{"aria-hidden":!0}),i.cell.clearContents,(0,V.jsx)(le,{children:`⌫`})]}),Ht&&Hn&&W(j,Hn.column).type===`file`&&(0,V.jsxs)(N,{"data-testid":`sheet-insert-file`,onSelect:()=>{Gt(kn.cell)},children:[(0,V.jsx)(qe,{"aria-hidden":!0}),i.files.insert]}),(0,V.jsx)(ge,{}),(0,V.jsxs)(N,{onSelect:()=>{At(kn.cell,`above`)},children:[(0,V.jsx)(Pe,{"aria-hidden":!0}),i.row.insertAbove]}),(0,V.jsxs)(N,{onSelect:()=>{At(kn.cell,`below`)},children:[(0,V.jsx)(Ae,{"aria-hidden":!0}),i.row.insertBelow]}),(0,V.jsxs)(N,{variant:`destructive`,onSelect:()=>{Vn&&F(Fl(D.current.table,jt(Vn)))},children:[(0,V.jsx)(b,{"aria-hidden":!0}),i.row.remove(Vn?Vn.r1-Vn.r0+1:1)]})]}),(0,V.jsx)(ge,{}),(0,V.jsxs)(N,{onSelect:()=>{let e=z[kn.cell.r];e!==void 0&&Vt(e)},children:[(0,V.jsx)(Ke,{"aria-hidden":!0}),i.row.expand,(0,V.jsx)(le,{children:Od(`↵`)})]})]})]}),$t&&(0,V.jsx)(Ms,{files:$t.files,at:$t.at,dir:n,fileUrl:Fe,strings:i,readOnly:a,onStep:e=>{en({...$t,at:e});let t=z.indexOf($t.files[e]?.row??-1),n=R.indexOf($t.column);t>=0&&n>=0&&ln(Hl({r:t,c:n}))},onRemove:e=>{let t=D.current.table,n=t.rows.find(t=>t.id===e.row);if(!n)return;let r=W(j,$t.column),i=Ia(n.cells[t.columns.indexOf($t.column)]??``,r.separator);i.splice(e.at,1),Dt(n,$t.column,La(i,r.separator)),en(void 0),an()},onClose:()=>{en(void 0),an()}}),(0,V.jsx)(Ee,{open:Ft!==void 0,onOpenChange:e=>{e||It(void 0)},children:(0,V.jsxs)(fe,{className:`sheet-dialog`,showCloseButton:!1,children:[(0,V.jsx)(we,{children:(0,V.jsx)(A,{children:Ft?.title})}),(0,V.jsxs)(pe,{children:[(0,V.jsx)(he,{variant:`ghost`,onClick:()=>{It(void 0)},children:i.column.cancel}),(0,V.jsxs)(he,{variant:`destructive`,"data-testid":`sheet-confirm`,onClick:()=>{Ft?.run(),It(void 0)},children:[(0,V.jsx)(b,{"aria-hidden":!0}),i.column.confirm]})]})]})})]})}export{Ld as SheetEditor};
136
+ color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return i}}function $(e,t,n,r){return{debug:()=>e?.debugAll??e[t],key:!1,onChange:r}}function mc(e,t,n,r){let i={id:`${t.id}_${n.id}`,row:t,column:n,getValue:()=>t.getValue(r),renderValue:()=>i.getValue()??e.options.renderFallbackValue,getContext:Q(()=>[e,n,t,i],(e,t,n,r)=>({table:e,column:t,row:n,cell:r,getValue:r.getValue,renderValue:r.renderValue}),$(e.options,`debugCells`,`cell.getContext`))};return e._features.forEach(r=>{r.createCell==null||r.createCell(i,n,t,e)},{}),i}function hc(e,t,n,r){let i={...e._getDefaultColumnDef(),...t},a=i.accessorKey,o=i.id??(a?typeof String.prototype.replaceAll==`function`?a.replaceAll(`.`,`_`):a.replace(/\./g,`_`):void 0)??(typeof i.header==`string`?i.header:void 0),s;if(i.accessorFn?s=i.accessorFn:a&&(s=a.includes(`.`)?e=>{let t=e;for(let e of a.split(`.`))t=t?.[e];return t}:e=>e[i.accessorKey]),!o)throw Error();let c={id:`${String(o)}`,accessorFn:s,parent:r,depth:n,columnDef:i,columns:[],getFlatColumns:Q(()=>[!0],()=>[c,...c.columns?.flatMap(e=>e.getFlatColumns())],$(e.options,`debugColumns`,`column.getFlatColumns`)),getLeafColumns:Q(()=>[e._getOrderColumnsFn()],e=>{var t;return(t=c.columns)!=null&&t.length?e(c.columns.flatMap(e=>e.getLeafColumns())):[c]},$(e.options,`debugColumns`,`column.getLeafColumns`))};for(let t of e._features)t.createColumn==null||t.createColumn(c,e);return c}var gc=`debugHeaders`;function _c(e,t,n){let r={id:n.id??t.id,column:t,index:n.index,isPlaceholder:!!n.isPlaceholder,placeholderId:n.placeholderId,depth:n.depth,subHeaders:[],colSpan:0,rowSpan:0,headerGroup:null,getLeafHeaders:()=>{let e=[],t=n=>{n.subHeaders&&n.subHeaders.length&&n.subHeaders.map(t),e.push(n)};return t(r),e},getContext:()=>({table:e,header:r,column:t})};return e._features.forEach(t=>{t.createHeader==null||t.createHeader(r,e)}),r}var vc={createTable:e=>{e.getHeaderGroups=Q(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>{let a=r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],o=i?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],s=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id)));return yc(t,[...a,...s,...o],e)},$(e.options,gc,`getHeaderGroups`)),e.getCenterHeaderGroups=Q(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(t,n,r,i)=>(n=n.filter(e=>!(r!=null&&r.includes(e.id))&&!(i!=null&&i.includes(e.id))),yc(t,n,e,`center`)),$(e.options,gc,`getCenterHeaderGroups`)),e.getLeftHeaderGroups=Q(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.left],(t,n,r)=>yc(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`left`),$(e.options,gc,`getLeftHeaderGroups`)),e.getRightHeaderGroups=Q(()=>[e.getAllColumns(),e.getVisibleLeafColumns(),e.getState().columnPinning.right],(t,n,r)=>yc(t,r?.map(e=>n.find(t=>t.id===e)).filter(Boolean)??[],e,`right`),$(e.options,gc,`getRightHeaderGroups`)),e.getFooterGroups=Q(()=>[e.getHeaderGroups()],e=>[...e].reverse(),$(e.options,gc,`getFooterGroups`)),e.getLeftFooterGroups=Q(()=>[e.getLeftHeaderGroups()],e=>[...e].reverse(),$(e.options,gc,`getLeftFooterGroups`)),e.getCenterFooterGroups=Q(()=>[e.getCenterHeaderGroups()],e=>[...e].reverse(),$(e.options,gc,`getCenterFooterGroups`)),e.getRightFooterGroups=Q(()=>[e.getRightHeaderGroups()],e=>[...e].reverse(),$(e.options,gc,`getRightFooterGroups`)),e.getFlatHeaders=Q(()=>[e.getHeaderGroups()],e=>e.map(e=>e.headers).flat(),$(e.options,gc,`getFlatHeaders`)),e.getLeftFlatHeaders=Q(()=>[e.getLeftHeaderGroups()],e=>e.map(e=>e.headers).flat(),$(e.options,gc,`getLeftFlatHeaders`)),e.getCenterFlatHeaders=Q(()=>[e.getCenterHeaderGroups()],e=>e.map(e=>e.headers).flat(),$(e.options,gc,`getCenterFlatHeaders`)),e.getRightFlatHeaders=Q(()=>[e.getRightHeaderGroups()],e=>e.map(e=>e.headers).flat(),$(e.options,gc,`getRightFlatHeaders`)),e.getCenterLeafHeaders=Q(()=>[e.getCenterFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),$(e.options,gc,`getCenterLeafHeaders`)),e.getLeftLeafHeaders=Q(()=>[e.getLeftFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),$(e.options,gc,`getLeftLeafHeaders`)),e.getRightLeafHeaders=Q(()=>[e.getRightFlatHeaders()],e=>e.filter(e=>{var t;return!((t=e.subHeaders)!=null&&t.length)}),$(e.options,gc,`getRightLeafHeaders`)),e.getLeafHeaders=Q(()=>[e.getLeftHeaderGroups(),e.getCenterHeaderGroups(),e.getRightHeaderGroups()],(e,t,n)=>[...e[0]?.headers??[],...t[0]?.headers??[],...n[0]?.headers??[]].map(e=>e.getLeafHeaders()).flat(),$(e.options,gc,`getLeafHeaders`))}};function yc(e,t,n,r){let i=0,a=function(e,t){t===void 0&&(t=1),i=Math.max(i,t),e.filter(e=>e.getIsVisible()).forEach(e=>{var n;(n=e.columns)!=null&&n.length&&a(e.columns,t+1)},0)};a(e);let o=[],s=(e,t)=>{let i={depth:t,id:[r,`${t}`].filter(Boolean).join(`_`),headers:[]},a=[];e.forEach(e=>{let o=[...a].reverse()[0],s=e.column.depth===i.depth,c,l=!1;if(s&&e.column.parent?c=e.column.parent:(c=e.column,l=!0),o&&o?.column===c)o.subHeaders.push(e);else{let i=_c(n,c,{id:[r,t,c.id,e?.id].filter(Boolean).join(`_`),isPlaceholder:l,placeholderId:l?`${a.filter(e=>e.column===c).length}`:void 0,depth:t,index:a.length});i.subHeaders.push(e),a.push(i)}i.headers.push(e),e.headerGroup=i}),o.push(i),t>0&&s(a,t-1)};s(t.map((e,t)=>_c(n,e,{depth:i,index:t})),i-1),o.reverse();let c=e=>e.filter(e=>e.column.getIsVisible()).map(e=>{let t=0,n=0,r=[0];e.subHeaders&&e.subHeaders.length?(r=[],c(e.subHeaders).forEach(e=>{let{colSpan:n,rowSpan:i}=e;t+=n,r.push(i)})):t=1;let i=Math.min(...r);return n+=i,e.colSpan=t,e.rowSpan=n,{colSpan:t,rowSpan:n}});return c(o[0]?.headers??[]),o}var bc=(e,t,n,r,i,a,o)=>{let s={id:t,index:r,original:n,depth:i,parentId:o,_valuesCache:{},_uniqueValuesCache:{},getValue:t=>{if(s._valuesCache.hasOwnProperty(t))return s._valuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return s._valuesCache[t]=n.accessorFn(s.original,r),s._valuesCache[t]},getUniqueValues:t=>{if(s._uniqueValuesCache.hasOwnProperty(t))return s._uniqueValuesCache[t];let n=e.getColumn(t);if(n!=null&&n.accessorFn)return n.columnDef.getUniqueValues?(s._uniqueValuesCache[t]=n.columnDef.getUniqueValues(s.original,r),s._uniqueValuesCache[t]):(s._uniqueValuesCache[t]=[s.getValue(t)],s._uniqueValuesCache[t])},renderValue:t=>s.getValue(t)??e.options.renderFallbackValue,subRows:a??[],getLeafRows:()=>pc(s.subRows,e=>e.subRows),getParentRow:()=>s.parentId?e.getRow(s.parentId,!0):void 0,getParentRows:()=>{let e=[],t=s;for(;;){let n=t.getParentRow();if(!n)break;e.push(n),t=n}return e.reverse()},getAllCells:Q(()=>[e.getAllLeafColumns()],t=>t.map(t=>mc(e,s,t,t.id)),$(e.options,`debugRows`,`getAllCells`)),_getAllCellsByColumnId:Q(()=>[s.getAllCells()],e=>e.reduce((e,t)=>(e[t.column.id]=t,e),{}),$(e.options,`debugRows`,`getAllCellsByColumnId`))};for(let t=0;t<e._features.length;t++){let n=e._features[t];n==null||n.createRow==null||n.createRow(s,e)}return s},xc={createColumn:(e,t)=>{e._getFacetedRowModel=t.options.getFacetedRowModel&&t.options.getFacetedRowModel(t,e.id),e.getFacetedRowModel=()=>e._getFacetedRowModel?e._getFacetedRowModel():t.getPreFilteredRowModel(),e._getFacetedUniqueValues=t.options.getFacetedUniqueValues&&t.options.getFacetedUniqueValues(t,e.id),e.getFacetedUniqueValues=()=>e._getFacetedUniqueValues?e._getFacetedUniqueValues():new Map,e._getFacetedMinMaxValues=t.options.getFacetedMinMaxValues&&t.options.getFacetedMinMaxValues(t,e.id),e.getFacetedMinMaxValues=()=>{if(e._getFacetedMinMaxValues)return e._getFacetedMinMaxValues()}}},Sc=(e,t,n)=>{var r,i;let a=n==null||(r=n.toString())==null?void 0:r.toLowerCase();return!!((i=e.getValue(t))!=null&&(i=i.toString())!=null&&(i=i.toLowerCase())!=null&&i.includes(a))};Sc.autoRemove=e=>Mc(e);var Cc=(e,t,n)=>{var r;return!!((r=e.getValue(t))!=null&&(r=r.toString())!=null&&r.includes(n))};Cc.autoRemove=e=>Mc(e);var wc=(e,t,n)=>{var r;return((r=e.getValue(t))==null||(r=r.toString())==null?void 0:r.toLowerCase())===n?.toLowerCase()};wc.autoRemove=e=>Mc(e);var Tc=(e,t,n)=>e.getValue(t)?.includes(n);Tc.autoRemove=e=>Mc(e);var Ec=(e,t,n)=>!n.some(n=>{var r;return!((r=e.getValue(t))!=null&&r.includes(n))});Ec.autoRemove=e=>Mc(e)||!(e!=null&&e.length);var Dc=(e,t,n)=>n.some(n=>e.getValue(t)?.includes(n));Dc.autoRemove=e=>Mc(e)||!(e!=null&&e.length);var Oc=(e,t,n)=>e.getValue(t)===n;Oc.autoRemove=e=>Mc(e);var kc=(e,t,n)=>e.getValue(t)==n;kc.autoRemove=e=>Mc(e);var Ac=(e,t,n)=>{let[r,i]=n,a=e.getValue(t);return a>=r&&a<=i};Ac.resolveFilterValue=e=>{let[t,n]=e,r=typeof t==`number`?t:parseFloat(t),i=typeof n==`number`?n:parseFloat(n),a=t===null||Number.isNaN(r)?-1/0:r,o=n===null||Number.isNaN(i)?1/0:i;if(a>o){let e=a;a=o,o=e}return[a,o]},Ac.autoRemove=e=>Mc(e)||Mc(e[0])&&Mc(e[1]);var jc={includesString:Sc,includesStringSensitive:Cc,equalsString:wc,arrIncludes:Tc,arrIncludesAll:Ec,arrIncludesSome:Dc,equals:Oc,weakEquals:kc,inNumberRange:Ac};function Mc(e){return e==null||e===``}var Nc={getDefaultColumnDef:()=>({filterFn:`auto`}),getInitialState:e=>({columnFilters:[],...e}),getDefaultOptions:e=>({onColumnFiltersChange:uc(`columnFilters`,e),filterFromLeafRows:!1,maxLeafRowFilterDepth:100}),createColumn:(e,t)=>{e.getAutoFilterFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);return typeof n==`string`?jc.includesString:typeof n==`number`?jc.inNumberRange:typeof n==`boolean`||typeof n==`object`&&n?jc.equals:Array.isArray(n)?jc.arrIncludes:jc.weakEquals},e.getFilterFn=()=>dc(e.columnDef.filterFn)?e.columnDef.filterFn:e.columnDef.filterFn===`auto`?e.getAutoFilterFn():t.options.filterFns?.[e.columnDef.filterFn]??jc[e.columnDef.filterFn],e.getCanFilter=()=>(e.columnDef.enableColumnFilter??!0)&&(t.options.enableColumnFilters??!0)&&(t.options.enableFilters??!0)&&!!e.accessorFn,e.getIsFiltered=()=>e.getFilterIndex()>-1,e.getFilterValue=()=>{var n;return(n=t.getState().columnFilters)==null||(n=n.find(t=>t.id===e.id))==null?void 0:n.value},e.getFilterIndex=()=>t.getState().columnFilters?.findIndex(t=>t.id===e.id)??-1,e.setFilterValue=n=>{t.setColumnFilters(t=>{let r=e.getFilterFn(),i=t?.find(t=>t.id===e.id),a=lc(n,i?i.value:void 0);if(Pc(r,a,e))return t?.filter(t=>t.id!==e.id)??[];let o={id:e.id,value:a};return i?t?.map(t=>t.id===e.id?o:t)??[]:t!=null&&t.length?[...t,o]:[o]})}},createRow:(e,t)=>{e.columnFilters={},e.columnFiltersMeta={}},createTable:e=>{e.setColumnFilters=t=>{let n=e.getAllLeafColumns();e.options.onColumnFiltersChange==null||e.options.onColumnFiltersChange(e=>lc(t,e)?.filter(e=>{let t=n.find(t=>t.id===e.id);return!(t&&Pc(t.getFilterFn(),e.value,t))}))},e.resetColumnFilters=t=>{e.setColumnFilters(t?[]:e.initialState?.columnFilters??[])},e.getPreFilteredRowModel=()=>e.getCoreRowModel(),e.getFilteredRowModel=()=>(!e._getFilteredRowModel&&e.options.getFilteredRowModel&&(e._getFilteredRowModel=e.options.getFilteredRowModel(e)),e.options.manualFiltering||!e._getFilteredRowModel?e.getPreFilteredRowModel():e._getFilteredRowModel())}};function Pc(e,t,n){return(e&&e.autoRemove?e.autoRemove(t,n):!1)||t===void 0||typeof t==`string`&&!t}var Fc={sum:(e,t,n)=>n.reduce((t,n)=>{let r=n.getValue(e);return t+(typeof r==`number`?r:0)},0),min:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r>n||r===void 0&&n>=n)&&(r=n)}),r},max:(e,t,n)=>{let r;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r<n||r===void 0&&n>=n)&&(r=n)}),r},extent:(e,t,n)=>{let r,i;return n.forEach(t=>{let n=t.getValue(e);n!=null&&(r===void 0?n>=n&&(r=i=n):(r>n&&(r=n),i<n&&(i=n)))}),[r,i]},mean:(e,t)=>{let n=0,r=0;if(t.forEach(t=>{let i=t.getValue(e);i!=null&&(i=+i)>=i&&(++n,r+=i)}),n)return r/n},median:(e,t)=>{if(!t.length)return;let n=t.map(t=>t.getValue(e));if(!fc(n))return;if(n.length===1)return n[0];let r=Math.floor(n.length/2),i=n.sort((e,t)=>e-t);return n.length%2==0?(i[r-1]+i[r])/2:i[r]},unique:(e,t)=>Array.from(new Set(t.map(t=>t.getValue(e))).values()),uniqueCount:(e,t)=>new Set(t.map(t=>t.getValue(e))).size,count:(e,t)=>t.length},Ic={getDefaultColumnDef:()=>({aggregatedCell:e=>{var t;return((t=e.getValue())==null||t.toString==null?void 0:t.toString())??null},aggregationFn:`auto`}),getInitialState:e=>({grouping:[],...e}),getDefaultOptions:e=>({onGroupingChange:uc(`grouping`,e),groupedColumnMode:`reorder`}),createColumn:(e,t)=>{e.toggleGrouping=()=>{t.setGrouping(t=>t!=null&&t.includes(e.id)?t.filter(t=>t!==e.id):[...t??[],e.id])},e.getCanGroup=()=>(e.columnDef.enableGrouping??!0)&&(t.options.enableGrouping??!0)&&(!!e.accessorFn||!!e.columnDef.getGroupingValue),e.getIsGrouped=()=>t.getState().grouping?.includes(e.id),e.getGroupedIndex=()=>t.getState().grouping?.indexOf(e.id),e.getToggleGroupingHandler=()=>{let t=e.getCanGroup();return()=>{t&&e.toggleGrouping()}},e.getAutoAggregationFn=()=>{let n=t.getCoreRowModel().flatRows[0]?.getValue(e.id);if(typeof n==`number`)return Fc.sum;if(Object.prototype.toString.call(n)===`[object Date]`)return Fc.extent},e.getAggregationFn=()=>{if(!e)throw Error();return dc(e.columnDef.aggregationFn)?e.columnDef.aggregationFn:e.columnDef.aggregationFn===`auto`?e.getAutoAggregationFn():t.options.aggregationFns?.[e.columnDef.aggregationFn]??Fc[e.columnDef.aggregationFn]}},createTable:e=>{e.setGrouping=t=>e.options.onGroupingChange==null?void 0:e.options.onGroupingChange(t),e.resetGrouping=t=>{e.setGrouping(t?[]:e.initialState?.grouping??[])},e.getPreGroupedRowModel=()=>e.getFilteredRowModel(),e.getGroupedRowModel=()=>(!e._getGroupedRowModel&&e.options.getGroupedRowModel&&(e._getGroupedRowModel=e.options.getGroupedRowModel(e)),e.options.manualGrouping||!e._getGroupedRowModel?e.getPreGroupedRowModel():e._getGroupedRowModel())},createRow:(e,t)=>{e.getIsGrouped=()=>!!e.groupingColumnId,e.getGroupingValue=n=>{if(e._groupingValuesCache.hasOwnProperty(n))return e._groupingValuesCache[n];let r=t.getColumn(n);return r!=null&&r.columnDef.getGroupingValue?(e._groupingValuesCache[n]=r.columnDef.getGroupingValue(e.original),e._groupingValuesCache[n]):e.getValue(n)},e._groupingValuesCache={}},createCell:(e,t,n,r)=>{e.getIsGrouped=()=>t.getIsGrouped()&&t.id===n.groupingColumnId,e.getIsPlaceholder=()=>!e.getIsGrouped()&&t.getIsGrouped(),e.getIsAggregated=()=>{var t;return!e.getIsGrouped()&&!e.getIsPlaceholder()&&!!((t=n.subRows)!=null&&t.length)}}};function Lc(e,t,n){if(!(t!=null&&t.length)||!n)return e;let r=e.filter(e=>!t.includes(e.id));return n===`remove`?r:[...t.map(t=>e.find(e=>e.id===t)).filter(Boolean),...r]}var Rc={getInitialState:e=>({columnOrder:[],...e}),getDefaultOptions:e=>({onColumnOrderChange:uc(`columnOrder`,e)}),createColumn:(e,t)=>{e.getIndex=Q(e=>[Yc(t,e)],t=>t.findIndex(t=>t.id===e.id),$(t.options,`debugColumns`,`getIndex`)),e.getIsFirstColumn=n=>Yc(t,n)[0]?.id===e.id,e.getIsLastColumn=n=>{let r=Yc(t,n);return r[r.length-1]?.id===e.id}},createTable:e=>{e.setColumnOrder=t=>e.options.onColumnOrderChange==null?void 0:e.options.onColumnOrderChange(t),e.resetColumnOrder=t=>{e.setColumnOrder(t?[]:e.initialState.columnOrder??[])},e._getOrderColumnsFn=Q(()=>[e.getState().columnOrder,e.getState().grouping,e.options.groupedColumnMode],(e,t,n)=>r=>{let i=[];if(!(e!=null&&e.length))i=r;else{let t=[...e],n=[...r];for(;n.length&&t.length;){let e=t.shift(),r=n.findIndex(t=>t.id===e);r>-1&&i.push(n.splice(r,1)[0])}i=[...i,...n]}return Lc(i,t,n)},$(e.options,`debugTable`,`_getOrderColumnsFn`))}},zc=()=>({left:[],right:[]}),Bc={getInitialState:e=>({columnPinning:zc(),...e}),getDefaultOptions:e=>({onColumnPinningChange:uc(`columnPinning`,e)}),createColumn:(e,t)=>{e.pin=n=>{let r=e.getLeafColumns().map(e=>e.id).filter(Boolean);t.setColumnPinning(e=>n===`right`?{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:[...(e?.right??[]).filter(e=>!(r!=null&&r.includes(e))),...r]}:n===`left`?{left:[...(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),...r],right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))}:{left:(e?.left??[]).filter(e=>!(r!=null&&r.includes(e))),right:(e?.right??[]).filter(e=>!(r!=null&&r.includes(e)))})},e.getCanPin=()=>e.getLeafColumns().some(e=>(e.columnDef.enablePinning??!0)&&(t.options.enableColumnPinning??t.options.enablePinning??!0)),e.getIsPinned=()=>{let n=e.getLeafColumns().map(e=>e.id),{left:r,right:i}=t.getState().columnPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`left`:o?`right`:!1},e.getPinnedIndex=()=>{var n;let r=e.getIsPinned();return r?((n=t.getState().columnPinning)==null||(n=n[r])==null?void 0:n.indexOf(e.id))??-1:0}},createRow:(e,t)=>{e.getCenterVisibleCells=Q(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left,t.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.column.id))},$(t.options,`debugRows`,`getCenterVisibleCells`)),e.getLeftVisibleCells=Q(()=>[e._getAllVisibleCells(),t.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`left`})),$(t.options,`debugRows`,`getLeftVisibleCells`)),e.getRightVisibleCells=Q(()=>[e._getAllVisibleCells(),t.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.column.id===t)).filter(Boolean).map(e=>({...e,position:`right`})),$(t.options,`debugRows`,`getRightVisibleCells`))},createTable:e=>{e.setColumnPinning=t=>e.options.onColumnPinningChange==null?void 0:e.options.onColumnPinningChange(t),e.resetColumnPinning=t=>e.setColumnPinning(t?zc():e.initialState?.columnPinning??zc()),e.getIsSomeColumnsPinned=t=>{let n=e.getState().columnPinning;return t?!!n[t]?.length:!!(n.left?.length||n.right?.length)},e.getLeftLeafColumns=Q(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),$(e.options,`debugColumns`,`getLeftLeafColumns`)),e.getRightLeafColumns=Q(()=>[e.getAllLeafColumns(),e.getState().columnPinning.right],(e,t)=>(t??[]).map(t=>e.find(e=>e.id===t)).filter(Boolean),$(e.options,`debugColumns`,`getRightLeafColumns`)),e.getCenterLeafColumns=Q(()=>[e.getAllLeafColumns(),e.getState().columnPinning.left,e.getState().columnPinning.right],(e,t,n)=>{let r=[...t??[],...n??[]];return e.filter(e=>!r.includes(e.id))},$(e.options,`debugColumns`,`getCenterLeafColumns`))}};function Vc(e){return e||(typeof document<`u`?document:null)}var Hc={size:150,minSize:20,maxSize:2**53-1},Uc=()=>({startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,isResizingColumn:!1,columnSizingStart:[]}),Wc={getDefaultColumnDef:()=>Hc,getInitialState:e=>({columnSizing:{},columnSizingInfo:Uc(),...e}),getDefaultOptions:e=>({columnResizeMode:`onEnd`,columnResizeDirection:`ltr`,onColumnSizingChange:uc(`columnSizing`,e),onColumnSizingInfoChange:uc(`columnSizingInfo`,e)}),createColumn:(e,t)=>{e.getSize=()=>{let n=t.getState().columnSizing[e.id];return Math.min(Math.max(e.columnDef.minSize??Hc.minSize,n??e.columnDef.size??Hc.size),e.columnDef.maxSize??Hc.maxSize)},e.getStart=Q(e=>[e,Yc(t,e),t.getState().columnSizing],(t,n)=>n.slice(0,e.getIndex(t)).reduce((e,t)=>e+t.getSize(),0),$(t.options,`debugColumns`,`getStart`)),e.getAfter=Q(e=>[e,Yc(t,e),t.getState().columnSizing],(t,n)=>n.slice(e.getIndex(t)+1).reduce((e,t)=>e+t.getSize(),0),$(t.options,`debugColumns`,`getAfter`)),e.resetSize=()=>{t.setColumnSizing(t=>{let{[e.id]:n,...r}=t;return r})},e.getCanResize=()=>(e.columnDef.enableResizing??!0)&&(t.options.enableColumnResizing??!0),e.getIsResizing=()=>t.getState().columnSizingInfo.isResizingColumn===e.id},createHeader:(e,t)=>{e.getSize=()=>{let t=0,n=e=>{e.subHeaders.length?e.subHeaders.forEach(n):t+=e.column.getSize()??0};return n(e),t},e.getStart=()=>{if(e.index>0){let t=e.headerGroup.headers[e.index-1];return t.getStart()+t.getSize()}return 0},e.getResizeHandler=n=>{let r=t.getColumn(e.column.id),i=r?.getCanResize();return a=>{if(!r||!i||(a.persist==null||a.persist(),qc(a)&&a.touches&&a.touches.length>1))return;let o=e.getSize(),s=e?e.getLeafHeaders().map(e=>[e.column.id,e.column.getSize()]):[[r.id,r.getSize()]],c=qc(a)?Math.round(a.touches[0].clientX):a.clientX,l={},u=(e,n)=>{typeof n==`number`&&(t.setColumnSizingInfo(e=>{let r=t.options.columnResizeDirection===`rtl`?-1:1,i=(n-(e?.startOffset??0))*r,a=Math.max(i/(e?.startSize??0),-.999999);return e.columnSizingStart.forEach(e=>{let[t,n]=e;l[t]=Math.round(Math.max(n+n*a,0)*100)/100}),{...e,deltaOffset:i,deltaPercentage:a}}),(t.options.columnResizeMode===`onChange`||e===`end`)&&t.setColumnSizing(e=>({...e,...l})))},d=e=>u(`move`,e),f=e=>{u(`end`,e),t.setColumnSizingInfo(e=>({...e,isResizingColumn:!1,startOffset:null,startSize:null,deltaOffset:null,deltaPercentage:null,columnSizingStart:[]}))},p=Vc(n),m={moveHandler:e=>d(e.clientX),upHandler:e=>{p?.removeEventListener(`mousemove`,m.moveHandler),p?.removeEventListener(`mouseup`,m.upHandler),f(e.clientX)}},h={moveHandler:e=>(e.cancelable&&(e.preventDefault(),e.stopPropagation()),d(e.touches[0].clientX),!1),upHandler:e=>{p?.removeEventListener(`touchmove`,h.moveHandler),p?.removeEventListener(`touchend`,h.upHandler),e.cancelable&&(e.preventDefault(),e.stopPropagation()),f(e.touches[0]?.clientX)}},g=Kc()?{passive:!1}:!1;qc(a)?(p?.addEventListener(`touchmove`,h.moveHandler,g),p?.addEventListener(`touchend`,h.upHandler,g)):(p?.addEventListener(`mousemove`,m.moveHandler,g),p?.addEventListener(`mouseup`,m.upHandler,g)),t.setColumnSizingInfo(e=>({...e,startOffset:c,startSize:o,deltaOffset:0,deltaPercentage:0,columnSizingStart:s,isResizingColumn:r.id}))}}},createTable:e=>{e.setColumnSizing=t=>e.options.onColumnSizingChange==null?void 0:e.options.onColumnSizingChange(t),e.setColumnSizingInfo=t=>e.options.onColumnSizingInfoChange==null?void 0:e.options.onColumnSizingInfoChange(t),e.resetColumnSizing=t=>{e.setColumnSizing(t?{}:e.initialState.columnSizing??{})},e.resetHeaderSizeInfo=t=>{e.setColumnSizingInfo(t?Uc():e.initialState.columnSizingInfo??Uc())},e.getTotalSize=()=>e.getHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getLeftTotalSize=()=>e.getLeftHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getCenterTotalSize=()=>e.getCenterHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0,e.getRightTotalSize=()=>e.getRightHeaderGroups()[0]?.headers.reduce((e,t)=>e+t.getSize(),0)??0}},Gc=null;function Kc(){if(typeof Gc==`boolean`)return Gc;let e=!1;try{let t={get passive(){return e=!0,!1}},n=()=>{};window.addEventListener(`test`,n,t),window.removeEventListener(`test`,n)}catch{e=!1}return Gc=e,Gc}function qc(e){return e.type===`touchstart`}var Jc={getInitialState:e=>({columnVisibility:{},...e}),getDefaultOptions:e=>({onColumnVisibilityChange:uc(`columnVisibility`,e)}),createColumn:(e,t)=>{e.toggleVisibility=n=>{e.getCanHide()&&t.setColumnVisibility(t=>({...t,[e.id]:n??!e.getIsVisible()}))},e.getIsVisible=()=>{let n=e.columns;return(n.length?n.some(e=>e.getIsVisible()):t.getState().columnVisibility?.[e.id])??!0},e.getCanHide=()=>(e.columnDef.enableHiding??!0)&&(t.options.enableHiding??!0),e.getToggleVisibilityHandler=()=>t=>{e.toggleVisibility==null||e.toggleVisibility(t.target.checked)}},createRow:(e,t)=>{e._getAllVisibleCells=Q(()=>[e.getAllCells(),t.getState().columnVisibility],e=>e.filter(e=>e.column.getIsVisible()),$(t.options,`debugRows`,`_getAllVisibleCells`)),e.getVisibleCells=Q(()=>[e.getLeftVisibleCells(),e.getCenterVisibleCells(),e.getRightVisibleCells()],(e,t,n)=>[...e,...t,...n],$(t.options,`debugRows`,`getVisibleCells`))},createTable:e=>{let t=(t,n)=>Q(()=>[n(),n().filter(e=>e.getIsVisible()).map(e=>e.id).join(`_`)],e=>e.filter(e=>e.getIsVisible==null?void 0:e.getIsVisible()),$(e.options,`debugColumns`,t));e.getVisibleFlatColumns=t(`getVisibleFlatColumns`,()=>e.getAllFlatColumns()),e.getVisibleLeafColumns=t(`getVisibleLeafColumns`,()=>e.getAllLeafColumns()),e.getLeftVisibleLeafColumns=t(`getLeftVisibleLeafColumns`,()=>e.getLeftLeafColumns()),e.getRightVisibleLeafColumns=t(`getRightVisibleLeafColumns`,()=>e.getRightLeafColumns()),e.getCenterVisibleLeafColumns=t(`getCenterVisibleLeafColumns`,()=>e.getCenterLeafColumns()),e.setColumnVisibility=t=>e.options.onColumnVisibilityChange==null?void 0:e.options.onColumnVisibilityChange(t),e.resetColumnVisibility=t=>{e.setColumnVisibility(t?{}:e.initialState.columnVisibility??{})},e.toggleAllColumnsVisible=t=>{t??=!e.getIsAllColumnsVisible(),e.setColumnVisibility(e.getAllLeafColumns().reduce((e,n)=>({...e,[n.id]:t||!(n.getCanHide!=null&&n.getCanHide())}),{}))},e.getIsAllColumnsVisible=()=>!e.getAllLeafColumns().some(e=>!(e.getIsVisible!=null&&e.getIsVisible())),e.getIsSomeColumnsVisible=()=>e.getAllLeafColumns().some(e=>e.getIsVisible==null?void 0:e.getIsVisible()),e.getToggleAllColumnsVisibilityHandler=()=>t=>{e.toggleAllColumnsVisible(t.target?.checked)}}};function Yc(e,t){return t?t===`center`?e.getCenterVisibleLeafColumns():t===`left`?e.getLeftVisibleLeafColumns():e.getRightVisibleLeafColumns():e.getVisibleLeafColumns()}var Xc={createTable:e=>{e._getGlobalFacetedRowModel=e.options.getFacetedRowModel&&e.options.getFacetedRowModel(e,`__global__`),e.getGlobalFacetedRowModel=()=>e.options.manualFiltering||!e._getGlobalFacetedRowModel?e.getPreFilteredRowModel():e._getGlobalFacetedRowModel(),e._getGlobalFacetedUniqueValues=e.options.getFacetedUniqueValues&&e.options.getFacetedUniqueValues(e,`__global__`),e.getGlobalFacetedUniqueValues=()=>e._getGlobalFacetedUniqueValues?e._getGlobalFacetedUniqueValues():new Map,e._getGlobalFacetedMinMaxValues=e.options.getFacetedMinMaxValues&&e.options.getFacetedMinMaxValues(e,`__global__`),e.getGlobalFacetedMinMaxValues=()=>{if(e._getGlobalFacetedMinMaxValues)return e._getGlobalFacetedMinMaxValues()}}},Zc={getInitialState:e=>({globalFilter:void 0,...e}),getDefaultOptions:e=>({onGlobalFilterChange:uc(`globalFilter`,e),globalFilterFn:`auto`,getColumnCanGlobalFilter:t=>{var n;let r=(n=e.getCoreRowModel().flatRows[0])==null||(n=n._getAllCellsByColumnId()[t.id])==null?void 0:n.getValue();return typeof r==`string`||typeof r==`number`}}),createColumn:(e,t)=>{e.getCanGlobalFilter=()=>(e.columnDef.enableGlobalFilter??!0)&&(t.options.enableGlobalFilter??!0)&&(t.options.enableFilters??!0)&&((t.options.getColumnCanGlobalFilter==null?void 0:t.options.getColumnCanGlobalFilter(e))??!0)&&!!e.accessorFn},createTable:e=>{e.getGlobalAutoFilterFn=()=>jc.includesString,e.getGlobalFilterFn=()=>{let{globalFilterFn:t}=e.options;return dc(t)?t:t===`auto`?e.getGlobalAutoFilterFn():e.options.filterFns?.[t]??jc[t]},e.setGlobalFilter=t=>{e.options.onGlobalFilterChange==null||e.options.onGlobalFilterChange(t)},e.resetGlobalFilter=t=>{e.setGlobalFilter(t?void 0:e.initialState.globalFilter)}}},Qc={getInitialState:e=>({expanded:{},...e}),getDefaultOptions:e=>({onExpandedChange:uc(`expanded`,e),paginateExpandedRows:!0}),createTable:e=>{let t=!1,n=!1;e._autoResetExpanded=()=>{if(!t)e._queue(()=>{t=!0});else if(e.options.autoResetAll??e.options.autoResetExpanded??!e.options.manualExpanding){if(n)return;n=!0,e._queue(()=>{e.resetExpanded(),n=!1})}},e.setExpanded=t=>e.options.onExpandedChange==null?void 0:e.options.onExpandedChange(t),e.toggleAllRowsExpanded=t=>{t??!e.getIsAllRowsExpanded()?e.setExpanded(!0):e.setExpanded({})},e.resetExpanded=t=>{e.setExpanded(t?{}:e.initialState?.expanded??{})},e.getCanSomeRowsExpand=()=>e.getPrePaginationRowModel().flatRows.some(e=>e.getCanExpand()),e.getToggleAllRowsExpandedHandler=()=>t=>{t.persist==null||t.persist(),e.toggleAllRowsExpanded()},e.getIsSomeRowsExpanded=()=>{let t=e.getState().expanded;return t===!0||Object.values(t).some(Boolean)},e.getIsAllRowsExpanded=()=>{let t=e.getState().expanded;return typeof t==`boolean`?t===!0:!(!Object.keys(t).length||e.getRowModel().flatRows.some(e=>!e.getIsExpanded()))},e.getExpandedDepth=()=>{let t=0;return(e.getState().expanded===!0?Object.keys(e.getRowModel().rowsById):Object.keys(e.getState().expanded)).forEach(e=>{let n=e.split(`.`);t=Math.max(t,n.length)}),t},e.getPreExpandedRowModel=()=>e.getSortedRowModel(),e.getExpandedRowModel=()=>(!e._getExpandedRowModel&&e.options.getExpandedRowModel&&(e._getExpandedRowModel=e.options.getExpandedRowModel(e)),e.options.manualExpanding||!e._getExpandedRowModel?e.getPreExpandedRowModel():e._getExpandedRowModel())},createRow:(e,t)=>{e.toggleExpanded=n=>{t.setExpanded(r=>{let i=r===!0||!!(r!=null&&r[e.id]),a={};if(r===!0?Object.keys(t.getRowModel().rowsById).forEach(e=>{a[e]=!0}):a=r,n??=!i,!i&&n)return{...a,[e.id]:!0};if(i&&!n){let{[e.id]:t,...n}=a;return n}return r})},e.getIsExpanded=()=>{let n=t.getState().expanded;return!!((t.options.getIsRowExpanded==null?void 0:t.options.getIsRowExpanded(e))??(n===!0||n?.[e.id]))},e.getCanExpand=()=>{var n;return(t.options.getRowCanExpand==null?void 0:t.options.getRowCanExpand(e))??((t.options.enableExpanding??!0)&&!!((n=e.subRows)!=null&&n.length))},e.getIsAllParentsExpanded=()=>{let n=!0,r=e;for(;n&&r.parentId;)r=t.getRow(r.parentId,!0),n=r.getIsExpanded();return n},e.getToggleExpandedHandler=()=>{let t=e.getCanExpand();return()=>{t&&e.toggleExpanded()}}}},$c=0,el=10,tl=()=>({pageIndex:$c,pageSize:el}),nl={getInitialState:e=>({...e,pagination:{...tl(),...e?.pagination}}),getDefaultOptions:e=>({onPaginationChange:uc(`pagination`,e)}),createTable:e=>{let t=!1,n=!1;e._autoResetPageIndex=()=>{if(!t)e._queue(()=>{t=!0});else if(e.options.autoResetAll??e.options.autoResetPageIndex??!e.options.manualPagination){if(n)return;n=!0,e._queue(()=>{e.resetPageIndex(),n=!1})}},e.setPagination=t=>e.options.onPaginationChange==null?void 0:e.options.onPaginationChange(e=>lc(t,e)),e.resetPagination=t=>{e.setPagination(t?tl():e.initialState.pagination??tl())},e.setPageIndex=t=>{e.setPagination(n=>{let r=lc(t,n.pageIndex),i=e.options.pageCount===void 0||e.options.pageCount===-1?2**53-1:e.options.pageCount-1;return r=Math.max(0,Math.min(r,i)),{...n,pageIndex:r}})},e.resetPageIndex=t=>{var n;e.setPageIndex(t?$c:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageIndex)??$c)},e.resetPageSize=t=>{var n;e.setPageSize(t?el:((n=e.initialState)==null||(n=n.pagination)==null?void 0:n.pageSize)??el)},e.setPageSize=t=>{e.setPagination(e=>{let n=Math.max(1,lc(t,e.pageSize)),r=e.pageSize*e.pageIndex,i=Math.floor(r/n);return{...e,pageIndex:i,pageSize:n}})},e.setPageCount=t=>e.setPagination(n=>{let r=lc(t,e.options.pageCount??-1);return typeof r==`number`&&(r=Math.max(-1,r)),{...n,pageCount:r}}),e.getPageOptions=Q(()=>[e.getPageCount()],e=>{let t=[];return e&&e>0&&(t=[...Array(e)].fill(null).map((e,t)=>t)),t},$(e.options,`debugTable`,`getPageOptions`)),e.getCanPreviousPage=()=>e.getState().pagination.pageIndex>0,e.getCanNextPage=()=>{let{pageIndex:t}=e.getState().pagination,n=e.getPageCount();return n===-1||n!==0&&t<n-1},e.previousPage=()=>e.setPageIndex(e=>e-1),e.nextPage=()=>e.setPageIndex(e=>e+1),e.firstPage=()=>e.setPageIndex(0),e.lastPage=()=>e.setPageIndex(e.getPageCount()-1),e.getPrePaginationRowModel=()=>e.getExpandedRowModel(),e.getPaginationRowModel=()=>(!e._getPaginationRowModel&&e.options.getPaginationRowModel&&(e._getPaginationRowModel=e.options.getPaginationRowModel(e)),e.options.manualPagination||!e._getPaginationRowModel?e.getPrePaginationRowModel():e._getPaginationRowModel()),e.getPageCount=()=>e.options.pageCount??Math.ceil(e.getRowCount()/e.getState().pagination.pageSize),e.getRowCount=()=>e.options.rowCount??e.getPrePaginationRowModel().rows.length}},rl=()=>({top:[],bottom:[]}),il={getInitialState:e=>({rowPinning:rl(),...e}),getDefaultOptions:e=>({onRowPinningChange:uc(`rowPinning`,e)}),createRow:(e,t)=>{e.pin=(n,r,i)=>{let a=r?e.getLeafRows().map(e=>{let{id:t}=e;return t}):[],o=i?e.getParentRows().map(e=>{let{id:t}=e;return t}):[],s=new Set([...o,e.id,...a]);t.setRowPinning(e=>n===`bottom`?{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:[...(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)]}:n===`top`?{top:[...(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),...Array.from(s)],bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))}:{top:(e?.top??[]).filter(e=>!(s!=null&&s.has(e))),bottom:(e?.bottom??[]).filter(e=>!(s!=null&&s.has(e)))})},e.getCanPin=()=>{let{enableRowPinning:n,enablePinning:r}=t.options;return typeof n==`function`?n(e):n??r??!0},e.getIsPinned=()=>{let n=[e.id],{top:r,bottom:i}=t.getState().rowPinning,a=n.some(e=>r?.includes(e)),o=n.some(e=>i?.includes(e));return a?`top`:o?`bottom`:!1},e.getPinnedIndex=()=>{let n=e.getIsPinned();return n?((n===`top`?t.getTopRows():t.getBottomRows())?.map(e=>{let{id:t}=e;return t}))?.indexOf(e.id)??-1:-1}},createTable:e=>{e.setRowPinning=t=>e.options.onRowPinningChange==null?void 0:e.options.onRowPinningChange(t),e.resetRowPinning=t=>e.setRowPinning(t?rl():e.initialState?.rowPinning??rl()),e.getIsSomeRowsPinned=t=>{let n=e.getState().rowPinning;return t?!!n[t]?.length:!!(n.top?.length||n.bottom?.length)},e._getPinnedRows=(t,n,r)=>(e.options.keepPinnedRows??!0?(n??[]).map(t=>{let n=e.getRow(t,!0);return n.getIsAllParentsExpanded()?n:null}):(n??[]).map(e=>t.find(t=>t.id===e))).filter(Boolean).map(e=>({...e,position:r})),e.getTopRows=Q(()=>[e.getRowModel().rows,e.getState().rowPinning.top],(t,n)=>e._getPinnedRows(t,n,`top`),$(e.options,`debugRows`,`getTopRows`)),e.getBottomRows=Q(()=>[e.getRowModel().rows,e.getState().rowPinning.bottom],(t,n)=>e._getPinnedRows(t,n,`bottom`),$(e.options,`debugRows`,`getBottomRows`)),e.getCenterRows=Q(()=>[e.getRowModel().rows,e.getState().rowPinning.top,e.getState().rowPinning.bottom],(e,t,n)=>{let r=new Set([...t??[],...n??[]]);return e.filter(e=>!r.has(e.id))},$(e.options,`debugRows`,`getCenterRows`))}},al={getInitialState:e=>({rowSelection:{},...e}),getDefaultOptions:e=>({onRowSelectionChange:uc(`rowSelection`,e),enableRowSelection:!0,enableMultiRowSelection:!0,enableSubRowSelection:!0}),createTable:e=>{e.setRowSelection=t=>e.options.onRowSelectionChange==null?void 0:e.options.onRowSelectionChange(t),e.resetRowSelection=t=>e.setRowSelection(t?{}:e.initialState.rowSelection??{}),e.toggleAllRowsSelected=t=>{e.setRowSelection(n=>{t=t===void 0?!e.getIsAllRowsSelected():t;let r={...n},i=e.getPreGroupedRowModel().flatRows;return t?i.forEach(e=>{e.getCanSelect()&&(r[e.id]=!0)}):i.forEach(e=>{delete r[e.id]}),r})},e.toggleAllPageRowsSelected=t=>e.setRowSelection(n=>{let r=t===void 0?!e.getIsAllPageRowsSelected():t,i={...n};return e.getRowModel().rows.forEach(t=>{ol(i,t.id,r,!0,e)}),i}),e.getPreSelectedRowModel=()=>e.getCoreRowModel(),e.getSelectedRowModel=Q(()=>[e.getState().rowSelection,e.getCoreRowModel()],(t,n)=>Object.keys(t).length?sl(e,n):{rows:[],flatRows:[],rowsById:{}},$(e.options,`debugTable`,`getSelectedRowModel`)),e.getFilteredSelectedRowModel=Q(()=>[e.getState().rowSelection,e.getFilteredRowModel()],(t,n)=>Object.keys(t).length?sl(e,n):{rows:[],flatRows:[],rowsById:{}},$(e.options,`debugTable`,`getFilteredSelectedRowModel`)),e.getGroupedSelectedRowModel=Q(()=>[e.getState().rowSelection,e.getSortedRowModel()],(t,n)=>Object.keys(t).length?sl(e,n):{rows:[],flatRows:[],rowsById:{}},$(e.options,`debugTable`,`getGroupedSelectedRowModel`)),e.getIsAllRowsSelected=()=>{let t=e.getFilteredRowModel().flatRows,{rowSelection:n}=e.getState(),r=!!(t.length&&Object.keys(n).length);return r&&t.some(e=>e.getCanSelect()&&!n[e.id])&&(r=!1),r},e.getIsAllPageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows.filter(e=>e.getCanSelect()),{rowSelection:n}=e.getState(),r=!!t.length;return r&&t.some(e=>!n[e.id])&&(r=!1),r},e.getIsSomeRowsSelected=()=>{let t=Object.keys(e.getState().rowSelection??{}).length;return t>0&&t<e.getFilteredRowModel().flatRows.length},e.getIsSomePageRowsSelected=()=>{let t=e.getPaginationRowModel().flatRows;return!e.getIsAllPageRowsSelected()&&t.filter(e=>e.getCanSelect()).some(e=>e.getIsSelected()||e.getIsSomeSelected())},e.getToggleAllRowsSelectedHandler=()=>t=>{e.toggleAllRowsSelected(t.target.checked)},e.getToggleAllPageRowsSelectedHandler=()=>t=>{e.toggleAllPageRowsSelected(t.target.checked)}},createRow:(e,t)=>{e.toggleSelected=(n,r)=>{let i=e.getIsSelected();t.setRowSelection(a=>{if(n=n===void 0?!i:n,e.getCanSelect()&&i===n)return a;let o={...a};return ol(o,e.id,n,r?.selectChildren??!0,t),o})},e.getIsSelected=()=>{let{rowSelection:n}=t.getState();return cl(e,n)},e.getIsSomeSelected=()=>{let{rowSelection:n}=t.getState();return ll(e,n)===`some`},e.getIsAllSubRowsSelected=()=>{let{rowSelection:n}=t.getState();return ll(e,n)===`all`},e.getCanSelect=()=>typeof t.options.enableRowSelection==`function`?t.options.enableRowSelection(e):t.options.enableRowSelection??!0,e.getCanSelectSubRows=()=>typeof t.options.enableSubRowSelection==`function`?t.options.enableSubRowSelection(e):t.options.enableSubRowSelection??!0,e.getCanMultiSelect=()=>typeof t.options.enableMultiRowSelection==`function`?t.options.enableMultiRowSelection(e):t.options.enableMultiRowSelection??!0,e.getToggleSelectedHandler=()=>{let t=e.getCanSelect();return n=>{t&&e.toggleSelected(n.target?.checked)}}}},ol=(e,t,n,r,i)=>{var a;let o=i.getRow(t,!0);n?(o.getCanMultiSelect()||Object.keys(e).forEach(t=>delete e[t]),o.getCanSelect()&&(e[t]=!0)):delete e[t],r&&(a=o.subRows)!=null&&a.length&&o.getCanSelectSubRows()&&o.subRows.forEach(t=>ol(e,t.id,n,r,i))};function sl(e,t){let n=e.getState().rowSelection,r=[],i={},a=function(e,t){return e.map(e=>{var t;let o=cl(e,n);if(o&&(r.push(e),i[e.id]=e),(t=e.subRows)!=null&&t.length&&(e={...e,subRows:a(e.subRows)}),o)return e}).filter(Boolean)};return{rows:a(t.rows),flatRows:r,rowsById:i}}function cl(e,t){return t[e.id]??!1}function ll(e,t,n){var r;if(!((r=e.subRows)!=null&&r.length))return!1;let i=!0,a=!1;return e.subRows.forEach(e=>{if((!a||i)&&(e.getCanSelect()&&(cl(e,t)?a=!0:i=!1),e.subRows&&e.subRows.length)){let n=ll(e,t);n===`all`?a=!0:(n===`some`&&(a=!0),i=!1)}}),i?`all`:a?`some`:!1}var ul=/([0-9]+)/gm,dl=(e,t,n)=>yl(vl(e.getValue(n)).toLowerCase(),vl(t.getValue(n)).toLowerCase()),fl=(e,t,n)=>yl(vl(e.getValue(n)),vl(t.getValue(n))),pl=(e,t,n)=>_l(vl(e.getValue(n)).toLowerCase(),vl(t.getValue(n)).toLowerCase()),ml=(e,t,n)=>_l(vl(e.getValue(n)),vl(t.getValue(n))),hl=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r>i?1:r<i?-1:0},gl=(e,t,n)=>_l(e.getValue(n),t.getValue(n));function _l(e,t){return e===t?0:e>t?1:-1}function vl(e){return typeof e==`number`?isNaN(e)||e===1/0||e===-1/0?``:String(e):typeof e==`string`?e:``}function yl(e,t){let n=e.split(ul).filter(Boolean),r=t.split(ul).filter(Boolean);for(;n.length&&r.length;){let e=n.shift(),t=r.shift(),i=parseInt(e,10),a=parseInt(t,10),o=[i,a].sort();if(isNaN(o[0])){if(e>t)return 1;if(t>e)return-1}else{if(isNaN(o[1]))return isNaN(i)?-1:1;if(i>a)return 1;if(a>i)return-1}}return n.length-r.length}var bl={alphanumeric:dl,alphanumericCaseSensitive:fl,text:pl,textCaseSensitive:ml,datetime:hl,basic:gl},xl=[vc,Jc,Rc,Bc,xc,Nc,Xc,Zc,{getInitialState:e=>({sorting:[],...e}),getDefaultColumnDef:()=>({sortingFn:`auto`,sortUndefined:1}),getDefaultOptions:e=>({onSortingChange:uc(`sorting`,e),isMultiSortEvent:e=>e.shiftKey}),createColumn:(e,t)=>{e.getAutoSortingFn=()=>{let n=t.getFilteredRowModel().flatRows.slice(10),r=!1;for(let t of n){let n=t?.getValue(e.id);if(Object.prototype.toString.call(n)===`[object Date]`)return bl.datetime;if(typeof n==`string`&&(r=!0,n.split(ul).length>1))return bl.alphanumeric}return r?bl.text:bl.basic},e.getAutoSortDir=()=>typeof t.getFilteredRowModel().flatRows[0]?.getValue(e.id)==`string`?`asc`:`desc`,e.getSortingFn=()=>{if(!e)throw Error();return dc(e.columnDef.sortingFn)?e.columnDef.sortingFn:e.columnDef.sortingFn===`auto`?e.getAutoSortingFn():t.options.sortingFns?.[e.columnDef.sortingFn]??bl[e.columnDef.sortingFn]},e.toggleSorting=(n,r)=>{let i=e.getNextSortingOrder(),a=n!=null;t.setSorting(o=>{let s=o?.find(t=>t.id===e.id),c=o?.findIndex(t=>t.id===e.id),l=[],u,d=a?n:i===`desc`;return u=o!=null&&o.length&&e.getCanMultiSort()&&r?s?`toggle`:`add`:o!=null&&o.length&&c!==o.length-1?`replace`:s?`toggle`:`replace`,u===`toggle`&&(a||i||(u=`remove`)),u===`add`?(l=[...o,{id:e.id,desc:d}],l.splice(0,l.length-(t.options.maxMultiSortColCount??2**53-1))):l=u===`toggle`?o.map(t=>t.id===e.id?{...t,desc:d}:t):u===`remove`?o.filter(t=>t.id!==e.id):[{id:e.id,desc:d}],l})},e.getFirstSortDir=()=>e.columnDef.sortDescFirst??t.options.sortDescFirst??e.getAutoSortDir()===`desc`?`desc`:`asc`,e.getNextSortingOrder=n=>{let r=e.getFirstSortDir(),i=e.getIsSorted();return i?i!==r&&(t.options.enableSortingRemoval??!0)&&(!n||(t.options.enableMultiRemove??!0))?!1:i===`desc`?`asc`:`desc`:r},e.getCanSort=()=>(e.columnDef.enableSorting??!0)&&(t.options.enableSorting??!0)&&!!e.accessorFn,e.getCanMultiSort=()=>e.columnDef.enableMultiSort??t.options.enableMultiSort??!!e.accessorFn,e.getIsSorted=()=>{let n=t.getState().sorting?.find(t=>t.id===e.id);return n?n.desc?`desc`:`asc`:!1},e.getSortIndex=()=>t.getState().sorting?.findIndex(t=>t.id===e.id)??-1,e.clearSorting=()=>{t.setSorting(t=>t!=null&&t.length?t.filter(t=>t.id!==e.id):[])},e.getToggleSortingHandler=()=>{let n=e.getCanSort();return r=>{n&&(r.persist==null||r.persist(),e.toggleSorting==null||e.toggleSorting(void 0,e.getCanMultiSort()?t.options.isMultiSortEvent==null?void 0:t.options.isMultiSortEvent(r):!1))}}},createTable:e=>{e.setSorting=t=>e.options.onSortingChange==null?void 0:e.options.onSortingChange(t),e.resetSorting=t=>{e.setSorting(t?[]:e.initialState?.sorting??[])},e.getPreSortedRowModel=()=>e.getGroupedRowModel(),e.getSortedRowModel=()=>(!e._getSortedRowModel&&e.options.getSortedRowModel&&(e._getSortedRowModel=e.options.getSortedRowModel(e)),e.options.manualSorting||!e._getSortedRowModel?e.getPreSortedRowModel():e._getSortedRowModel())}},Ic,Qc,nl,il,al,Wc];function Sl(e){let t=[...xl,...e._features??[]],n={_features:t},r=n._features.reduce((e,t)=>Object.assign(e,t.getDefaultOptions==null?void 0:t.getDefaultOptions(n)),{}),i=e=>n.options.mergeOptions?n.options.mergeOptions(r,e):{...r,...e},a={...e.initialState??{}};n._features.forEach(e=>{a=(e.getInitialState==null?void 0:e.getInitialState(a))??a});let o=[],s=!1,c={_features:t,options:{...r,...e},initialState:a,_queue:e=>{o.push(e),s||(s=!0,Promise.resolve().then(()=>{for(;o.length;)o.shift()();s=!1}).catch(e=>setTimeout(()=>{throw e})))},reset:()=>{n.setState(n.initialState)},setOptions:e=>{let t=lc(e,n.options);n.options=i(t)},getState:()=>n.options.state,setState:e=>{n.options.onStateChange==null||n.options.onStateChange(e)},_getRowId:(e,t,r)=>(n.options.getRowId==null?void 0:n.options.getRowId(e,t,r))??`${r?[r.id,t].join(`.`):t}`,getCoreRowModel:()=>(n._getCoreRowModel||=n.options.getCoreRowModel(n),n._getCoreRowModel()),getRowModel:()=>n.getPaginationRowModel(),getRow:(e,t)=>{let r=(t?n.getPrePaginationRowModel():n.getRowModel()).rowsById[e];if(!r&&(r=n.getCoreRowModel().rowsById[e],!r))throw Error();return r},_getDefaultColumnDef:Q(()=>[n.options.defaultColumn],e=>(e??={},{header:e=>{let t=e.header.column.columnDef;return t.accessorKey?t.accessorKey:t.accessorFn?t.id:null},cell:e=>{var t;return((t=e.renderValue())==null||t.toString==null?void 0:t.toString())??null},...n._features.reduce((e,t)=>Object.assign(e,t.getDefaultColumnDef==null?void 0:t.getDefaultColumnDef()),{}),...e}),$(e,`debugColumns`,`_getDefaultColumnDef`)),_getColumnDefs:()=>n.options.columns,getAllColumns:Q(()=>[n._getColumnDefs()],e=>{let t=function(e,r,i){return i===void 0&&(i=0),e.map(e=>{let a=hc(n,e,i,r),o=e;return a.columns=o.columns?t(o.columns,a,i+1):[],a})};return t(e)},$(e,`debugColumns`,`getAllColumns`)),getAllFlatColumns:Q(()=>[n.getAllColumns()],e=>e.flatMap(e=>e.getFlatColumns()),$(e,`debugColumns`,`getAllFlatColumns`)),_getAllFlatColumnsById:Q(()=>[n.getAllFlatColumns()],e=>e.reduce((e,t)=>(e[t.id]=t,e),{}),$(e,`debugColumns`,`getAllFlatColumnsById`)),getAllLeafColumns:Q(()=>[n.getAllColumns(),n._getOrderColumnsFn()],(e,t)=>t(e.flatMap(e=>e.getLeafColumns())),$(e,`debugColumns`,`getAllLeafColumns`)),getColumn:e=>n._getAllFlatColumnsById()[e]};Object.assign(n,c);for(let e=0;e<n._features.length;e++){let t=n._features[e];t==null||t.createTable==null||t.createTable(n)}return n}function Cl(){return e=>Q(()=>[e.options.data],t=>{let n={rows:[],flatRows:[],rowsById:{}},r=function(t,i,a){i===void 0&&(i=0);let o=[];for(let c=0;c<t.length;c++){let l=bc(e,e._getRowId(t[c],c,a),t[c],c,i,void 0,a?.id);if(n.flatRows.push(l),n.rowsById[l.id]=l,o.push(l),e.options.getSubRows){var s;l.originalSubRows=e.options.getSubRows(t[c],c),(s=l.originalSubRows)!=null&&s.length&&(l.subRows=r(l.originalSubRows,i+1,l))}}return o};return n.rows=r(t),n},$(e.options,`debugTable`,`getRowModel`,()=>e._autoResetPageIndex()))}function wl(e){let t={state:{},onStateChange:()=>{},renderFallbackValue:null,...e},[n]=B.useState(()=>({current:Sl(t)})),[r,i]=B.useState(()=>n.current.initialState);return n.current.setOptions(t=>({...t,...e,state:{...r,...e.state},onStateChange:t=>{i(t),e.onStateChange==null||e.onStateChange(t)}})),n.current}function Tl(e,t=14){let n={size:t,"aria-hidden":!0,className:`sheet-type-icon`};switch(e){case`number`:return(0,V.jsx)(I,{...n});case`select`:return(0,V.jsx)(Le,{...n});case`multi-select`:return(0,V.jsx)(x,{...n});case`date`:return(0,V.jsx)(Ie,{...n});case`checkbox`:return(0,V.jsx)(z,{...n});case`url`:return(0,V.jsx)(Ge,{...n});case`email`:return(0,V.jsx)(Fe,{...n});case`phone`:return(0,V.jsx)(Ye,{...n});case`file`:return(0,V.jsx)(qe,{...n});default:return(0,V.jsx)($e,{...n})}}var El=1,Dl=()=>El++,Ol=e=>({columns:[...e.columns],rows:e.rows.map(e=>({id:Dl(),cells:e}))}),kl=e=>({columns:e.columns,rows:e.rows.map(e=>e.cells)}),Al=e=>new Map(e.rows.map((e,t)=>[e.id,t]));function jl(e,t){let n=[...e];for(let{row:e,after:r}of t){let t=r===null?0:n.findIndex(e=>e.id===r)+1;n.splice(t<=0&&r!==null?n.length:t,0,{id:e.id,cells:e.cells})}return n}function Ml(e,t){let{table:n,texts:r}=e;switch(t.kind){case`cells`:{let e=Al(n),i=[...n.rows];for(let r of t.changes){let t=e.get(r.id),a=n.columns.indexOf(r.column);if(t===void 0||a<0)continue;let o=i[t];if(!o)continue;let s=[...o.cells];s[a]=r.after,i[t]={id:o.id,cells:s}}return{table:{columns:n.columns,rows:i},texts:r}}case`insert`:return{table:{columns:n.columns,rows:jl(n.rows,t.rows)},texts:r};case`remove`:{let e=new Set(t.rows.map(e=>e.row.id));return{table:{columns:n.columns,rows:n.rows.filter(t=>!e.has(t.id))},texts:r}}case`order`:{let e=new Map(n.rows.map(e=>[e.id,e])),i=[];for(let n of t.after){let t=e.get(n);t&&(i.push(t),e.delete(n))}return i.push(...e.values()),{table:{columns:n.columns,rows:i},texts:r}}case`insert-column`:{if(n.columns.includes(t.name))return e;let i=Math.max(0,Math.min(t.at,n.columns.length)),a=[...n.columns];return a.splice(i,0,t.name),{table:{columns:a,rows:n.rows.map(e=>{let n=[...e.cells];return n.splice(i,0,t.values.get(e.id)??``),{id:e.id,cells:n}})},texts:r}}case`remove-column`:{let i=n.columns.indexOf(t.name);return i<0?e:{table:{columns:n.columns.filter((e,t)=>t!==i),rows:n.rows.map(e=>({id:e.id,cells:e.cells.filter((e,t)=>t!==i)}))},texts:r}}case`rename-column`:{let i=n.columns.indexOf(t.from);if(i<0||n.columns.includes(t.to))return e;let a=[...n.columns];return a[i]=t.to,{table:{columns:a,rows:n.rows},texts:r}}case`move-column`:{let i=n.columns.indexOf(t.name);if(i<0)return e;let a=Math.max(0,Math.min(t.to,n.columns.length-1)),o=[...n.columns];return o.splice(i,1),o.splice(a,0,t.name),{table:{columns:o,rows:n.rows.map(e=>{let t=[...e.cells],[n]=t.splice(i,1);return t.splice(a,0,n??``),{id:e.id,cells:t}})},texts:r}}case`spec`:return{table:n,texts:{spec:t.after}};case`batch`:return t.edits.reduce(Ml,e)}}function Nl(e){switch(e.kind){case`cells`:return{kind:`cells`,changes:e.changes.map(e=>({...e,before:e.after,after:e.before}))};case`insert`:return{kind:`remove`,rows:e.rows};case`remove`:return{kind:`insert`,rows:e.rows};case`order`:return{kind:`order`,before:e.after,after:e.before};case`insert-column`:return{...e,kind:`remove-column`};case`remove-column`:return{...e,kind:`insert-column`};case`rename-column`:return{kind:`rename-column`,from:e.to,to:e.from};case`move-column`:return{kind:`move-column`,name:e.name,from:e.to,to:e.from};case`spec`:return{kind:`spec`,before:e.after,after:e.before};case`batch`:return{kind:`batch`,edits:[...e.edits].reverse().map(Nl)}}}function Pl(e){switch(e.kind){case`cells`:return e.changes.every(e=>e.before===e.after);case`insert`:case`remove`:return e.rows.length===0;case`order`:return e.before.length===e.after.length&&e.before.every((t,n)=>e.after[n]===t);case`rename-column`:return e.from===e.to;case`move-column`:return e.from===e.to;case`spec`:return e.before===e.after;case`batch`:return e.edits.every(Pl);default:return!1}}function Fl(e,t){let n=null,r=[];for(let i of e.rows)t.has(i.id)&&r.push({row:i,after:n}),n=i.id;return{kind:`remove`,rows:r}}function Il(e,t){let n=t.map(t=>e.columns.indexOf(t));return e.rows.map(e=>n.map(t=>e.cells[t]??``).join(`\0`))}function Ll(e,t){let n={columns:[...t.columns],rows:t.rows.map(e=>({id:0,cells:e}))},r=e.columns.filter(e=>n.columns.includes(e)),i=Il(e,r),a=Il(n,r),o=s(i,a),c=[],l=new Set,u=r.map(t=>[e.columns.indexOf(t),n.columns.indexOf(t)]),d=(t,r)=>{if(u.length<=1)return!0;let i=e.rows[t]?.cells??[],a=n.rows[r]?.cells??[],o=u.filter(([e,t])=>(i[e]??``)===(a[t]??``)).length;return o>0&&o*2>=u.length},f=[],p=-1,m=-1;for(let[e,t]of[...o,[i.length,a.length]]){let n=m+1;for(let r=p+1;r<e;r++)for(let e=n;e<t;e++)if(d(r,e)){f.push([r,e]),n=e+1;break}e<i.length&&f.push([e,t]),p=e,m=t}for(let[t,i]of f){let a=e.rows[t],o=n.rows[i];if(a&&o){o.id=a.id,l.add(t);for(let t of r){let r=a.cells[e.columns.indexOf(t)]??``,i=o.cells[n.columns.indexOf(t)]??``;r!==i&&c.push({kind:`cell`,id:o.id,column:t,before:r,after:i})}}}for(let e of n.rows)e.id===0&&(e.id=Dl(),c.push({kind:`row-added`,id:e.id}));let h=null;e.rows.forEach((t,n)=>{l.has(n)?h=t.id:c.push({kind:`row-removed`,row:t,after:h,columns:[...e.columns]})});for(let t of n.columns)e.columns.includes(t)||c.push({kind:`column-added`,name:t});return e.columns.forEach((t,r)=>{n.columns.includes(t)||c.push({kind:`column-removed`,name:t,at:r,values:new Map(e.rows.map(e=>[e.id,e.cells[r]??``]))})}),{table:n,changes:c}}function Rl(e,t){switch(e.kind){case`cell`:{let n=t.rows.find(t=>t.id===e.id),r=t.columns.indexOf(e.column);return!n||r<0?void 0:{kind:`cells`,changes:[{id:e.id,column:e.column,before:n.cells[r]??``,after:e.before}]}}case`row-added`:return t.rows.some(t=>t.id===e.id)?Fl(t,new Set([e.id])):void 0;case`row-removed`:{let n=t.columns.map(t=>e.row.cells[e.columns.indexOf(t)]??``);return{kind:`insert`,rows:[{row:{id:e.row.id,cells:n},after:e.after}]}}case`column-added`:{let n=t.columns.indexOf(e.name);return n<0?void 0:{kind:`remove-column`,at:n,name:e.name,values:new Map(t.rows.map(e=>[e.id,e.cells[n]??``]))}}case`column-removed`:return{kind:`insert-column`,at:e.at,name:e.name,values:e.values}}}function zl(e,t){switch(e.kind){case`cells`:return t.kind===`cell`&&e.changes.some(e=>e.id===t.id&&e.column===t.column);case`remove`:return(t.kind===`cell`||t.kind===`row-added`)&&e.rows.some(e=>e.row.id===t.id);case`remove-column`:case`rename-column`:return t.kind===`cell`&&t.column===(`name`in e?e.name:e.from)||t.kind===`column-added`&&t.name===(`name`in e?e.name:e.from);case`batch`:return e.edits.some(e=>zl(e,t));default:return!1}}var Bl=e=>({r0:Math.min(e.anchor.r,e.focus.r),r1:Math.max(e.anchor.r,e.focus.r),c0:Math.min(e.anchor.c,e.focus.c),c1:Math.max(e.anchor.c,e.focus.c)}),Vl=(e,t,n)=>t>=e.r0&&t<=e.r1&&n>=e.c0&&n<=e.c1,Hl=e=>({anchor:e,focus:e}),Ul=(e,t,n)=>({r:Math.max(0,Math.min(e.r,t-1)),c:Math.max(0,Math.min(e.c,n-1))});function Wl(e,t,n){let{rows:r,cols:i}=n;if(r===0||i===0)return e;let{r:a,c:o}=e.focus;switch(t){case`up`:a=n.jump?0:a-1;break;case`down`:a=n.jump?r-1:a+1;break;case`left`:o=n.jump?0:o-1;break;case`right`:o=n.jump?i-1:o+1;break;case`home`:o=0,n.jump&&(a=0);break;case`end`:o=i-1,n.jump&&(a=r-1);break;case`top`:a=0;break;case`bottom`:a=r-1;break;case`page-up`:a-=n.page;break;case`page-down`:a+=n.page}let s=Ul({r:a,c:o},r,i);return n.extend?{anchor:e.anchor,focus:s}:Hl(s)}function Gl(e,t,n,r){let i=Bl(e);if(i.r0===i.r1&&i.c0===i.c1)return Wl(e,t===`next`?`right`:t===`previous`?`left`:t,{extend:!1,jump:!1,rows:n,cols:r,page:1});let{r:a,c:o}=e.focus,s=t===`next`||t===`previous`,c=t===`next`||t===`down`;return s?(o+=c?1:-1,o>i.c1?(o=i.c0,a=a>=i.r1?i.r0:a+1):o<i.c0&&(o=i.c1,a=a<=i.r0?i.r1:a-1)):(a+=c?1:-1,a>i.r1?(a=i.r0,o=o>=i.c1?i.c0:o+1):a<i.r0&&(a=i.r1,o=o<=i.c0?i.c1:o-1)),{anchor:e.anchor,focus:{r:a,c:o}}}function Kl(e,t,n){let r=new Map(e.rows.map(e=>[e.id,e])),i=t.columns.map(t=>e.columns.indexOf(t)),a=[];for(let e=n.r0;e<=n.r1;e++){let o=r.get(t.rows[e]??-1),s=[];for(let e=n.c0;e<=n.c1;e++)s.push(o?.cells[i[e]??-1]??``);a.push(s)}return Tt(a)}function ql(e,t,n){let r=new Map(e.rows.map(e=>[e.id,e])),i=[];for(let a=n.r0;a<=n.r1;a++){let o=t.rows[a],s=o===void 0?void 0:r.get(o);if(s)for(let r=n.c0;r<=n.c1;r++){let n=t.columns[r];if(n===void 0)continue;let a=s.cells[e.columns.indexOf(n)]??``;a!==``&&i.push({id:s.id,column:n,before:a,after:``})}}return{kind:`cells`,changes:i}}function Jl(e,t){let n=e.type===`text`?t:t.trim();if(Ra(e,n)===void 0)return n;if(e.type===`checkbox`){let e=n.toLowerCase();if([`yes`,`y`,`1`,`✓`,`x`,`checked`,`on`].includes(e))return`true`;if([`no`,`n`,`0`,``,`unchecked`,`off`].includes(e))return`false`}if(e.type===`number`){let e=n.endsWith(`%`),t=Number(n.replace(/[,\s$€£¥%]/g,``));if(n!==``&&Number.isFinite(t))return String(e?t/100:t)}}function Yl(e,t,n,r,i){let a=Et(i.replace(/\r?\n$/,``)),o=new Map,s=0,c=a.length===1&&(a[0]?.length??0)===1,l=c?r.r1-r.r0+1:a.length,u=c?r.c1-r.c0+1:Math.max(0,...a.map(e=>e.length)),d=new Map(e.rows.map(e=>[e.id,e])),f=[],p=[],m=(e,n)=>{let r=W(t,e);if(r.type===`select`||r.type===`multi-select`){let t=r.type===`select`?[n.trim()].filter(e=>e!==``):Ia(n,r.separator),i=new Set((r.options??[]).map(e=>e.name));for(let n of t){if(i.has(n))continue;let t=o.get(e)??[];t.includes(n)||t.push(n),o.set(e,t)}return r.type===`select`?t[0]??``:La(t,r.separator)}return Jl(r,n)};for(let t=0;t<l;t++){let i=a[c?0:t]??[],o=n.rows[r.r0+t],l=o===void 0?void 0:d.get(o);l||(l={id:Dl(),cells:e.columns.map(()=>``)},p.push(l));for(let t=0;t<u;t++){let a=n.columns[r.c0+t];if(a===void 0)continue;let o=m(a,i[c?0:t]??``);if(o===void 0){s+=1;continue}let u=e.columns.indexOf(a);if(p.includes(l)){l.cells[u]=o;continue}let d=l.cells[u]??``;d!==o&&f.push({id:l.id,column:a,before:d,after:o})}}let h=e.rows[e.rows.length-1]?.id??null,g=[];if(f.length>0&&g.push({kind:`cells`,changes:f}),p.length>0){let e=h;g.push({kind:`insert`,rows:p.map(t=>{let n={row:t,after:e};return e=t.id,n})})}return{edit:g.length===1&&g[0]?g[0]:{kind:`batch`,edits:g},skipped:s,options:o}}function Xl(e,t,n,r=1){let i=new Map(e.rows.map(e=>[e.id,e])),a=[],o=Math.max(1,Math.min(r,n.r1-n.r0+1));for(let r=n.c0;r<=n.c1;r++){let s=t.columns[r];if(s===void 0)continue;let c=e.columns.indexOf(s),l=[];for(let e=0;e<o;e++)l.push(i.get(t.rows[n.r0+e]??-1)?.cells[c]??``);for(let e=n.r0+o;e<=n.r1;e++){let r=i.get(t.rows[e]??-1);if(!r)continue;let u=l[(e-n.r0)%o]??``,d=r.cells[c]??``;d!==u&&a.push({id:r.id,column:s,before:d,after:u})}}return{kind:`cells`,changes:a}}var Zl=34,Ql=44;function $l(e){switch(e.type){case`checkbox`:return 96;case`number`:return 132;case`date`:return 150;case`select`:return 160;default:return 200}}var eu=(e,t)=>`${String(e)}:${t}`;function tu(e,t,n,r){let i=[];return r?i.push(`inset 0 0 0 1px var(--sheet-focus)`):e&&Vl(e,t,n)&&(e.r0!==e.r1||e.c0!==e.c1)&&(t===e.r0&&i.push(`inset 0 1px 0 0 var(--sheet-focus)`),t===e.r1&&i.push(`inset 0 -1px 0 0 var(--sheet-focus)`),n===e.c0&&i.push(`inset 1px 0 0 0 var(--sheet-focus)`),n===e.c1&&i.push(`inset -1px 0 0 0 var(--sheet-focus)`)),i.length?i.join(`,`):void 0}var nu=(0,B.forwardRef)(function(e,t){let{spec:n,columns:r,widths:i,fit:a,freeze:o,wrap:s,items:c,rowItems:l,selection:u,editing:d,readOnly:f,found:p,current:m,agentCells:g,agentRows:_,away:v,sorted:y,strings:b,locale:x,on:S}=e,C=e.rowHeight??34,w=(0,B.useRef)(null),[T,E]=(0,B.useState)({}),ee=wl({data:[],columns:(0,B.useMemo)(()=>r.map(e=>({id:e,size:i[e]??W(n,e).width??a?.[e]??$l(W(n,e)),minSize:60,maxSize:1200})),[r,i,n,a]),getCoreRowModel:Cl(),columnResizeMode:`onChange`,state:{columnSizing:T},onColumnSizingChange:E}),te=ee.getState().columnSizingInfo.isResizingColumn,ne=(0,B.useRef)(!1);(0,B.useEffect)(()=>{let e=ne.current;if(ne.current=te,e&&!te){let t=T[e];t!==void 0&&S.resize(e,Math.round(t))}},[te,T,S]),(0,B.useEffect)(()=>{E({})},[i]);let D=r.map(e=>ee.getColumn(e)?.getSize()??i[e]??a?.[e]??$l(W(n,e))),O=Math.min(o,r.length),re=[],ie=72;for(let e=0;e<O;e++)re.push(ie),ie+=D[e]??0;let ae=ie-72,oe=r.slice(O),k=D.slice(O),se=72+D.reduce((e,t)=>e+t,0)+Ql,ce=s.size>0,le=cc({count:c.length,getScrollElement:()=>w.current,estimateSize:()=>C,overscan:12,scrollMargin:34,getItemKey:e=>{let t=c[e];return t===void 0?e:`r:${String(t.row.id)}`},...ce?{measureElement:e=>e.getBoundingClientRect().height}:{}}),ue=cc({horizontal:!0,count:oe.length,getScrollElement:()=>w.current,estimateSize:e=>k[e]??180,overscan:3,scrollMargin:72+ae}),de=k.join(`,`);(0,B.useEffect)(()=>{ue.measure()},[de,ue]),(0,B.useEffect)(()=>{le.measure()},[ce,C,le]);let fe=le.getVirtualItems(),pe=ue.getVirtualItems(),me=pe[0],he=pe[pe.length-1],ge=me?me.start-(72+ae):0,_e=pe.map(e=>e.index),ve=he?k.slice(he.index+1).reduce((e,t)=>e+t,0):0;(0,B.useImperativeHandle)(t,()=>({reveal:e=>{let t=l[e.r];t!==void 0&&le.scrollToIndex(t,{align:`auto`});let n=w.current;if(!n||e.c<O)return;let r=72+D.slice(0,e.c).reduce((e,t)=>e+t,0),i=D[e.c]??0,a=n.scrollLeft+72+ae,o=n.scrollLeft+n.clientWidth;r<a?n.scrollLeft=r-72-ae:r+i>o&&(n.scrollLeft=r+i-n.clientWidth)},page:()=>Math.max(1,Math.floor(((w.current?.clientHeight??400)-34)/C)-1),focus:()=>{w.current?.focus({preventScroll:!0})},element:()=>w.current}),[l,le,O,D,ae,C]);let[ye,be]=(0,B.useState)(!1);(0,B.useEffect)(()=>{let e=w.current;if(!e)return;let t=()=>{be(e.scrollLeft>0)};return t(),e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[]);let A=u?Bl(u):void 0,xe=u?.focus,j=(0,B.useRef)(void 0),[Ce,we]=(0,B.useState)(),[M,N]=(0,B.useState)(),[P,Te]=(0,B.useState)(),[Ee,De]=(0,B.useState)(),Oe=(e,t)=>{let n=document.elementFromPoint(e,t)?.closest(`[data-cell]`);if(!n)return;let r=Number(n.dataset.r),i=Number(n.dataset.c);return Number.isFinite(r)&&Number.isFinite(i)?{r,c:i}:void 0},ke=(0,B.useRef)(void 0),je=(0,B.useRef)({x:0,y:0}),Me=(0,B.useCallback)(()=>{let e=w.current;if(!e||!j.current){ke.current=void 0;return}let t=e.getBoundingClientRect(),{x:n,y:r}=je.current,i=r<t.top+34+24?-12:r>t.bottom-24?12:0,a=n<t.left+72+ae+24?-12:n>t.right-24?12:0;if(a!==0||i!==0){e.scrollBy(a,i);let t=j.current;if(t.kind===`select`){let e=Oe(n-a*2,r-i*2);e&&S.select({anchor:t.anchor,focus:e})}}ke.current=window.requestAnimationFrame(Me)},[ae,S]);(0,B.useEffect)(()=>{let e=e=>{let t=j.current;if(t){if(je.current={x:e.clientX,y:e.clientY},ke.current??=window.requestAnimationFrame(Me),t.kind===`select`){let n=Oe(e.clientX,e.clientY);n&&S.select({anchor:t.anchor,focus:n})}else if(t.kind===`fill`){let n=Oe(e.clientX,e.clientY);n&&(t.to=Math.max(t.box.r1,n.r),Te(t.to))}else if(t.kind===`column`){if(!t.moved&&Math.abs(e.clientX-t.startX)<5)return;t.moved=!0;let n=w.current?.querySelectorAll(`[data-head]`)??[],i=r.length;for(let t of n){let n=t.getBoundingClientRect(),r=Number(t.dataset.c);e.clientX<n.left+n.width/2&&(i=Math.min(i,r))}t.to=i,we(i)}else{if(!t.moved&&Math.abs(e.clientY-t.startY)<5)return;t.moved=!0;let n=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-row-id]`);if(!n)return;let r=Number(n.dataset.rowId),i=n.getBoundingClientRect(),a=e.clientY>i.top+i.height/2;if(N({id:r,after:a}),!a)t.before=r;else{let e=c.findIndex(e=>e.row.id===r);t.before=c[e+1]?.row.id??null}}}},t=()=>{let e=j.current;if(j.current=void 0,ke.current!==void 0&&window.cancelAnimationFrame(ke.current),ke.current=void 0,e){if(e.kind===`fill`&&e.to>e.box.r1&&S.fill(e.box,e.to),e.kind===`column`&&e.moved){let t=r.indexOf(e.name),n=e.to>t?e.to-1:e.to;n!==t&&S.moveColumn(e.name,n)}e.kind===`rows`&&e.moved&&!e.ids.includes(e.before??-1)&&S.moveRows(e.ids,e.before),Te(void 0),we(void 0),N(void 0)}};return window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),window.addEventListener(`pointercancel`,t),()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t),window.removeEventListener(`pointercancel`,t)}},[Me,r,c,S]);let Ne=(e,t)=>{e.button===0&&(e.target.closest(`button, a, input, textarea, select, .sheet-editor`)||(e.preventDefault(),S.focusGrid(),e.shiftKey&&u?(S.select({anchor:u.anchor,focus:t}),j.current={kind:`select`,anchor:u.anchor}):(S.select({anchor:t,focus:t}),j.current={kind:`select`,anchor:t})))},Fe=e=>e<O?{width:D[e],left:re[e],position:`sticky`,zIndex:2}:{width:D[e]},Ie=(t,i)=>{let o=W(n,t),s=ee.getHeaderGroups()[0]?.headers.find(e=>e.column.id===t),c=S.columnActions(t),d=e.sortedBy?.column===t?e.sortedBy.desc?`desc`:`asc`:void 0,p=e.filtered?.has(t)===!0;return(0,V.jsxs)(`div`,{role:`columnheader`,className:`sheet-head`,"data-head":``,"data-c":i,"data-type":o.type,"data-frozen":i<O?``:void 0,"data-last-frozen":i===O-1?``:void 0,"data-drop":Ce===i?`before`:Ce===i+1&&i===r.length-1?`after`:void 0,"data-selected":A&&A.c0<=i&&i<=A.c1?``:void 0,style:Fe(i),onPointerDown:e=>{e.currentTarget.contains(e.target)&&(e.button!==0||f||e.target.closest(`button, [data-resizer]`)||(j.current={kind:`column`,name:t,startX:e.clientX,moved:!1,to:i}))},onClick:e=>{if(!e.currentTarget.contains(e.target)||e.target.closest(`button, [data-resizer]`))return;let t=Math.max(0,l.length-1);e.shiftKey&&u?S.select({anchor:{r:0,c:u.anchor.c},focus:{r:t,c:i}}):S.select({anchor:{r:0,c:i},focus:{r:t,c:i}}),S.focusGrid()},onDoubleClick:e=>{e.currentTarget.contains(e.target)&&(e.target.closest(`button, [data-resizer]`)||f||c.rename())},onContextMenu:e=>{e.currentTarget.contains(e.target)&&(e.preventDefault(),!f&&(xs(),De(t)))},children:[Tl(o.type,13),e.renaming===t?(0,V.jsx)(ru,{name:t,taken:e.allColumns,strings:b,onDone:e=>{S.rename(t,e)}}):(0,V.jsx)(`span`,{className:`sheet-head-name`,title:t,children:t}),e.keyColumn===t&&(0,V.jsx)(`span`,{className:`sheet-head-key`,title:b.column.key,"aria-label":b.column.key,children:(0,V.jsx)(L,{size:12,"aria-hidden":!0})}),e.headerTool&&!f?e.headerTool(t,(0,V.jsx)(`button`,{type:`button`,"data-menu":``,className:`sheet-head-menu`,"data-on":d||p?``:void 0,"data-testid":`sheet-head-filter-${String(i)}`,"aria-label":b.auto.button(t),title:b.auto.button(t),children:p?(0,V.jsx)(He,{size:12,"aria-hidden":!0}):d===`desc`?(0,V.jsx)(Ae,{size:13,"aria-hidden":!0}):d===`asc`?(0,V.jsx)(Pe,{size:13,"aria-hidden":!0}):(0,V.jsx)(h,{size:13,"aria-hidden":!0})})):null,(0,V.jsx)(zs,{open:Ee===t,onOpenChange:e=>{De(e?t:void 0)},column:o,canHide:r.length>1,strings:b,actions:c}),s&&(0,V.jsx)(`span`,{"data-resizer":``,className:`sheet-resizer`,"data-on":s.column.getIsResizing()?``:void 0,onPointerDown:e=>{e.stopPropagation(),s.getResizeHandler()(e.nativeEvent)},onMouseDown:e=>{e.stopPropagation()},onDoubleClick:()=>{S.resize(t,a?.[t]??$l(o))}})]},t)},Le=(t,r,i)=>{let a=W(n,r),o=e.allColumns.indexOf(r),c=t.row.cells[o]??``,l=eu(t.row.id,r),u=xe?.r===t.r&&xe.c===i,h=d?.cell.r===t.r&&d.cell.c===i&&!f,_=A!==void 0&&Vl(A,t.r,i),y=P!==void 0&&A?.c0!==void 0&&i>=A.c0&&i<=A.c1&&t.r>A.r1&&t.r<=P,C=!f&&!d&&t.r===A?.r1&&i===A.c1,w=g.get(l);return(0,V.jsxs)(`div`,{id:`cell-${At({row:t.index,column:o})}`,role:`gridcell`,className:`sheet-cell`,"data-cell":``,"data-r":t.r,"data-c":i,"data-type":a.type,"data-frozen":i<O?``:void 0,"data-last-frozen":i===O-1?``:void 0,"data-wrap":s.has(r)?``:void 0,"data-sel":_&&!u?``:void 0,"data-fill":y?``:void 0,"data-found":p.has(l)?m===l?`current`:``:void 0,"data-agent":w===void 0?void 0:v?.has(l)?`away`:``,"data-editing":h?``:void 0,"data-drop-file":e.dropping?.r===t.r&&e.dropping.c===i?``:void 0,"aria-selected":_,style:{...Fe(i),boxShadow:tu(A,t.r,i,u)},onPointerDown:e=>{Ne(e,{r:t.r,c:i})},onDoubleClick:()=>{!f&&a.type!==`checkbox`&&S.edit({r:t.r,c:i})},onContextMenu:e=>{S.contextMenu(e,{r:t.r,c:i})},children:[(0,V.jsx)(Ps,{column:a,value:c,locale:x,strings:b,...e.fileUrl?{fileUrl:e.fileUrl}:{},...e.dir?{dir:e.dir}:{},...f?{}:{onToggle:()=>{S.toggle({r:t.r,c:i})}},onOpen:e=>{S.openFile({r:t.r,c:i},e)}}),h&&(0,V.jsx)(`div`,{className:`sheet-cell-edit`,"data-type":a.type,children:(0,V.jsx)(Is,{column:a,value:c,...d.initial===void 0?{}:{initial:d.initial},strings:b,locale:x,onCommit:S.commit,onCancel:S.cancel,onAddOption:e=>{S.addOption(r,e)}})}),C&&(0,V.jsx)(`span`,{className:`sheet-fill-handle`,onPointerDown:e=>{e.stopPropagation(),e.preventDefault(),j.current={kind:`fill`,box:A,to:A.r1}}})]},r)},Re=e=>{let t=A!==void 0&&A.r0<=e.r&&e.r<=A.r1&&A.c0===0&&A.c1===r.length-1;return(0,V.jsxs)(`div`,{className:`sheet-gutter`,"data-agent":_.has(e.row.id)?v?.has(`row:${String(e.row.id)}`)?`away`:``:void 0,"data-selected":t?``:void 0,onPointerDown:t=>{if(t.button!==0||t.target.closest(`button`))return;t.preventDefault(),S.focusGrid();let n=Math.max(0,r.length-1);t.shiftKey&&u?S.select({anchor:{r:u.anchor.r,c:0},focus:{r:e.r,c:n}}):S.select({anchor:{r:e.r,c:0},focus:{r:e.r,c:n}})},onContextMenu:t=>{S.contextMenu(t,{r:e.r,c:0})},children:[f||y?(0,V.jsx)(`span`,{className:`sheet-grip`,"data-off":``,"aria-hidden":!0}):(0,V.jsx)(`span`,{className:`sheet-grip`,"aria-hidden":!0,onPointerDown:n=>{n.stopPropagation(),n.preventDefault();let r=t?c.flatMap(e=>e.r>=A.r0&&e.r<=A.r1?[e.row.id]:[]):[e.row.id];j.current={kind:`rows`,ids:r,startY:n.clientY,moved:!1,before:e.row.id}},children:(0,V.jsx)(Ue,{size:12})}),(0,V.jsx)(`span`,{className:`sheet-row-number`,title:e.index===e.r?void 0:b.row.inFile(e.index+1),children:e.r+1}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-expand`,"aria-label":b.row.expand,title:b.row.expand,onClick:()=>{S.expand(e.row.id)},children:(0,V.jsx)(Ke,{size:11,"aria-hidden":!0})})]})},ze=e=>e>0?(0,V.jsx)(`div`,{className:`sheet-spacer`,style:{width:e},"aria-hidden":!0}):null;return(0,V.jsxs)(V.Fragment,{children:[ye&&O>0&&(0,V.jsx)(`div`,{className:`sheet-frozen-edge`,"aria-hidden":!0,style:{left:72+ae,height:Math.min(34+c.length*C,w.current?.clientHeight??1/0)}}),(0,V.jsx)(`div`,{ref:w,className:`sheet-grid`,role:`grid`,"aria-rowcount":l.length,"aria-colcount":r.length,tabIndex:0,"data-testid":`sheet-grid`,onFocus:e=>{e.target===e.currentTarget&&S.focusGrid()},"data-dragging":j.current?``:void 0,children:(0,V.jsxs)(`div`,{className:`sheet-canvas`,style:{width:se},children:[(0,V.jsxs)(`div`,{className:`sheet-header`,role:`row`,style:{height:34},children:[(0,V.jsx)(`div`,{className:`sheet-corner`,"aria-hidden":!0}),r.slice(0,O).map((e,t)=>Ie(e,t)),ze(ge),_e.map(e=>Ie(oe[e]??``,e+O)),ze(ve),(0,V.jsx)(`button`,{type:`button`,className:`sheet-add-column`,"aria-label":b.column.add,title:b.column.add,disabled:f,onClick:S.addColumn,children:(0,V.jsx)(Se,{size:14,"aria-hidden":!0})})]}),(0,V.jsx)(`div`,{className:`sheet-body`,style:{height:le.getTotalSize()-0},children:fe.map(e=>{let t=c[e.index];if(!t)return null;let n=e.start-34;return(0,V.jsxs)(`div`,{role:`row`,"data-index":e.index,"data-row-id":t.row.id,"data-drop":M?.id===t.row.id?M.after?`after`:`before`:void 0,"data-editing":d?.cell.r===t.r?``:void 0,"data-added":_.has(t.row.id)?v?.has(`row:${String(t.row.id)}`)?`away`:``:void 0,ref:ce?le.measureElement:void 0,className:`sheet-row`,style:{transform:`translateY(${String(n)}px)`,...ce?{minHeight:C}:{height:C}},children:[Re(t),r.slice(0,O).map((e,n)=>Le(t,e,n)),ze(ge),_e.map(e=>Le(t,oe[e]??``,e+O)),ze(ve)]},e.key)})}),!f&&(0,V.jsxs)(`button`,{type:`button`,className:`sheet-new-row`,style:{height:Zl},"data-testid":`sheet-new-row`,onClick:S.addRow,children:[(0,V.jsx)(Se,{size:14,"aria-hidden":!0}),b.row.newRow]}),e.empty]})})]})});function ru({name:e,taken:t,strings:n,onDone:r}){let[i,a]=(0,B.useState)(e),o=(0,B.useRef)(!1),s=i.trim(),c=s===``?n.column.empty:s!==e&&t.includes(s)?n.column.taken:void 0,l=t=>{o.current||(o.current=!0,r(t===void 0||t===e?void 0:t))};return(0,V.jsx)(`input`,{className:`sheet-head-input`,value:i,"aria-label":n.column.name,"aria-invalid":c!==void 0,title:c,"data-testid":`sheet-head-input`,spellCheck:!1,ref:e=>{e&&document.activeElement!==e&&!o.current&&(e.focus(),e.select())},onPointerDown:e=>{e.stopPropagation()},onClick:e=>{e.stopPropagation()},onDoubleClick:e=>{e.stopPropagation()},onChange:e=>{a(e.target.value)},onKeyDown:e=>{e.stopPropagation(),!e.nativeEvent.isComposing&&(e.key===`Enter`?(e.preventDefault(),c===void 0&&l(s)):e.key===`Escape`&&(e.preventDefault(),l(void 0)))},onBlur:()=>{l(c===void 0?s:void 0)}})}var iu=120;function au({row:e,columns:t,allColumns:n,spec:r,number:i,total:a,title:o,readOnly:s,strings:c,locale:l,fileUrl:u,dir:d,onChange:f,onAddOption:p,onOpenFile:m,onAddFiles:g,onStep:v,onClose:y}){let[b,x]=(0,B.useState)(),S=[...t,...n.filter(e=>!t.includes(e))];return(0,V.jsxs)(`aside`,{className:`sheet-panel`,"aria-label":c.row.record,"data-testid":`sheet-record`,children:[(0,V.jsxs)(`header`,{className:`sheet-panel-head`,children:[(0,V.jsxs)(`span`,{className:`sheet-panel-titles`,children:[(0,V.jsx)(`span`,{className:`sheet-panel-title`,"data-empty":o.trim()===``?``:void 0,children:o.trim()===``?c.untitled:o}),(0,V.jsx)(`span`,{className:`sheet-panel-number`,children:c.row.of(i,a)})]}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":c.row.previous,onClick:()=>{v(-1)},children:(0,V.jsx)(_,{size:14,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":c.row.next,onClick:()=>{v(1)},children:(0,V.jsx)(h,{size:14,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":c.row.close,onClick:y,children:(0,V.jsx)(C,{size:14,"aria-hidden":!0})})]}),(0,V.jsx)(`dl`,{className:`sheet-record`,children:S.map((i,a)=>{let o=W(r,i),h=e.cells[n.indexOf(i)]??``,_=b===i&&!s;return(0,V.jsxs)(`div`,{className:`sheet-record-field`,"data-hidden":t.includes(i)?void 0:``,"data-first-hidden":a===t.length&&a>0?``:void 0,"data-label":a===t.length&&a>0?c.row.hiddenFields:void 0,children:[(0,V.jsxs)(`dt`,{children:[Tl(o.type,13),(0,V.jsx)(`span`,{children:i})]}),(0,V.jsxs)(`dd`,{"data-type":o.type,onClick:()=>{!s&&o.type!==`checkbox`&&x(i)},children:[_?(0,V.jsx)(Is,{column:o,value:h,strings:c,locale:l,inline:!0,onCommit:e=>{f(i,e),x(void 0)},onCancel:()=>{x(void 0)},onAddOption:e=>{p(i,e)}}):(0,V.jsx)(Ps,{column:o,value:h,locale:l,strings:c,...u?{fileUrl:u}:{},...d?{dir:d}:{},...o.type===`file`?{height:iu}:{},...m?{onOpen:e=>{m(i,e)}}:{},...s?{}:{onToggle:()=>{f(i,h.trim().toLowerCase()===`true`?`false`:`true`)}}}),!_&&h===``&&o.type!==`checkbox`&&!(o.type===`file`&&g)&&(0,V.jsx)(`span`,{className:`sheet-record-empty`,children:`—`}),!_&&o.type===`file`&&g&&(0,V.jsxs)(`button`,{type:`button`,className:`sheet-record-add`,onClick:e=>{e.stopPropagation(),g(i)},children:[(0,V.jsx)(qe,{size:13,"aria-hidden":!0}),c.files.add]})]})]},i)})})]})}function ou(e,t,n=4){if(e.type!==`number`||e.number?.decimals!==void 0)return;let r=e.number?.style??`plain`;if(r===`currency`)return;let i=r===`percent`?100:1,a=10**n,o=0;for(let e of t){let t=Na(e);if(t===void 0)continue;let r=String(Math.round(t*i*a)/a),s=r.indexOf(`.`);if(!(s<0||r.includes(`e`))&&(o=Math.max(o,r.length-s-1),o>=n))return n}return o}function su(e,t){let n;return t.columns.forEach((r,i)=>{let a=W(e,r),o=ou(a,t.rows.map(e=>e.cells[i]??``));o!==void 0&&(n??={...e.columns},n[r]={...a,number:{style:a.number?.style??`plain`,thousands:a.number?.thousands??!0,...a.number?.currency===void 0?{}:{currency:a.number.currency},decimals:o}})}),n?{...e,columns:n}:e}function cu(e,t,n,r,i){if((r.r1-r.r0+1)*(r.c1-r.c0+1)>2e6)return;let a=new Map(e.rows.map(e=>[e.id,e])),o=0,s=0,c=0,l;for(let i=r.c0;i<=r.c1;i++){let u=n.columns[i];if(u===void 0)continue;let d=e.columns.indexOf(u),f=W(t,u);for(let e=r.r0;e<=r.r1;e++){let t=n.rows[e],r=t===void 0?``:a.get(t)?.cells[d]??``;if(Ma(r)||(o++,f.type!==`number`))continue;let i=Na(r);i!==void 0&&(s++,c+=i,l=l===void 0||l===u?u:null)}}if(s===0||typeof l!=`string`)return{count:o,numbers:s};let u=W(t,l),d=e=>Ga(u,String(e),i),f=10**((u.number?.decimals??2)+(u.number?.style===`percent`?2:0));return{count:o,numbers:s,sum:d(c),average:d(Math.round(c/s*f)/f)}}function lu({change:e,at:t,agent:n,spec:r,locale:i,strings:a,onEnter:o,onLeave:s,onKeep:c,onUndo:l}){let u=e.away?a.review.away:e.kind===`row-added`?a.review.added(n):a.review.changed(n);return(0,V.jsxs)(`div`,{className:`sheet-review-card`,role:`dialog`,"aria-label":u,"data-away":e.away?``:void 0,"data-testid":`sheet-review-card`,style:{left:t.left,top:t.top},onPointerEnter:o,onPointerLeave:s,onPointerDown:e=>{e.stopPropagation()},children:[(0,V.jsxs)(`p`,{className:`sheet-review-card-who`,children:[(0,V.jsx)(`span`,{className:`sheet-review-card-dot`,"aria-hidden":!0}),u]}),e.kind===`cell`&&(0,V.jsxs)(`p`,{className:`sheet-review-card-was`,children:[(0,V.jsx)(`span`,{children:a.review.was}),(0,V.jsx)(`del`,{children:e.before===``?a.review.empty:Ga(W(r,e.column),e.before,i)})]}),(0,V.jsxs)(`div`,{className:`sheet-review-card-actions`,children:[(0,V.jsxs)(`button`,{type:`button`,onClick:l,children:[(0,V.jsx)(S,{size:13,"aria-hidden":!0}),a.review.undo]}),(0,V.jsxs)(`button`,{type:`button`,"data-keep":``,onClick:c,children:[(0,V.jsx)(g,{size:13,"aria-hidden":!0}),a.review.keep]})]})]})}var uu=(e,t,n)=>[e>0?`${String(e)} ${e===1?`Zelle`:`Zellen`}`:``,t>0?`${String(t)} ${t===1?`Zeile`:`Zeilen`}`:``,n>0?`${String(n)} ${n===1?`Spalte`:`Spalten`}`:``].filter(e=>e!==``).join(`, `),du={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Wird geöffnet …`,unreadable:`Diese Tabelle kann gerade nicht bearbeitet werden: ihre Datei ist kein CSV, das eine Tabelle lesen kann. Hier ist, was nicht stimmt.`,readOnlyLarge:e=>`Diese Tabelle ist ${e} MB groß und wird hier nur angezeigt, nicht bearbeitet.`,untitled:`Ohne Titel`,saved:`Gesichert`,saving:`Wird gesichert …`,unsaved:`Nicht gesichert`,failed:`Nicht gesichert`,rows:(e,t)=>e===t?`${t.toLocaleString(`de`)} ${t===1?`Zeile`:`Zeilen`}`:`${e.toLocaleString(`de`)} von ${t.toLocaleString(`de`)} Zeilen`,find:`Suchen`,findPlaceholder:`In der Tabelle suchen`,matches:e=>e===1?`1 Treffer`:`${String(e)} Treffer`,types:{text:`Text`,number:`Zahl`,select:`Dropdownliste`,"multi-select":`Mehrfachauswahl`,date:`Datum`,checkbox:`Kontrollkästchen`,url:`Link`,email:`E-Mail`,phone:`Telefon`,file:`Datei`},auto:{button:e=>`${e} sortieren und filtern`,sortAsc:{text:`Von A bis Z sortieren`,number:`Nach Größe sortieren (aufsteigend)`,date:`Vom ältesten zum neuesten sortieren`,options:`In Reihenfolge der Optionen sortieren`},sortDesc:{text:`Von Z bis A sortieren`,number:`Nach Größe sortieren (absteigend)`,date:`Vom neuesten zum ältesten sortieren`,options:`In umgekehrter Reihenfolge der Optionen sortieren`},search:`Suchen`,selectAll:`(Alles auswählen)`,selectFound:`(Alle Suchergebnisse auswählen)`,blanks:`(Leere)`,checked:`Aktiviert`,unchecked:`Nicht aktiviert`,hasFile:`Mit Datei`,more:e=>`${e.toLocaleString(`de`)} weitere. Such danach, um sie zu finden.`,none:`Keine passenden Werte.`,clear:`Filter löschen`,ok:`OK`},look:{sorted:e=>`Sortiert nach ${e}`,filtered:e=>e.length===1?`Gefiltert nach ${e[0]??``}`:`Gefiltert nach ${String(e.length)} Spalten`,hidden:e=>e===1?`1 Spalte ausgeblendet`:`${String(e)} Spalten ausgeblendet`,clear:`Löschen`,note:`Nur du siehst diese Sortierung und diesen Filter.`},replace:{label:`Ersetzen`,with:`Ersetzen durch`,one:`Ersetzen`,all:`Alle ersetzen`,done:e=>`In ${String(e)} ${e===1?`Zelle`:`Zellen`} ersetzt.`},stats:{average:`Mittelwert`,count:`Anzahl`,sum:`Summe`},column:{name:`Spaltenname`,key:`Schlüsselspalte: Jede Zeile hat einen eigenen Wert`,add:`Spalte hinzufügen`,rename:`Umbenennen`,format:`Format`,formats:{text:`Text`,number:`Zahl`,currency:`Währung`,percent:`Prozent`,date:`Datum`,checkbox:`Kontrollkästchen`,list:`Dropdownliste`,file:`Anhang`},addOption:`Option hinzufügen`,newOption:e=>`„${e}“ hinzufügen`,confirm:`Löschen`,cancel:`Abbrechen`,hide:`Spalte ausblenden`,insertLeft:`Spalte links einfügen`,insertRight:`Spalte rechts einfügen`,remove:`Spalte löschen`,removeAsk:(e,t)=>`„${e}“ und ${t===1?`ihren`:`ihre`} ${t.toLocaleString(`de`)} ${t===1?`Wert`:`Werte`} löschen? Du kannst es widerrufen.`,taken:`Eine andere Spalte hat diesen Namen.`,empty:`Eine Spalte braucht einen Namen.`,newName:e=>e===1?`Spalte`:`Spalte ${String(e)}`},row:{numbered:e=>`Zeile ${String(e)}`,inFile:e=>`Zeile ${String(e)} in der Datei`,of:(e,t)=>`Zeile ${String(e)} von ${String(t)}`,hiddenFields:`Ausgeblendete Spalten`,insertAbove:`Zeile oberhalb einfügen`,insertBelow:`Zeile unterhalb einfügen`,remove:e=>e===1?`Zeile löschen`:`${String(e)} Zeilen löschen`,expand:`Zeile öffnen`,newRow:`Neue Zeile`,record:`Zeile`,previous:`Vorherige Zeile`,next:`Nächste Zeile`,close:`Schließen`},cell:{copy:`Kopieren`,cut:`Ausschneiden`,paste:`Einfügen`,clear:`Löschen`,clearContents:`Inhalte löschen`,notNumber:`Keine Zahl. Schreib Ziffern, mit Punkt für Dezimalstellen: 1234.5`,notDate:`Kein Datum. Schreib 2026-10-14 oder 2026-10-14T09:30`,notEmail:`Keine E-Mail-Adresse`,notUrl:`Eine Adresse enthält keine Leerzeichen`,open:`Öffnen`,left:e=>e===1?`1 Wert passte nicht in seine Spalte und wurde ausgelassen.`:`${String(e)} Werte passten nicht in ihre Spalten und wurden ausgelassen.`,pasteHint:`Mit ⌘V einfügen.`},files:{notFound:`Nicht gefunden`,insert:`Datei einfügen …`,add:`Datei hinzufügen`,adding:e=>e===1?`1 Datei wird hinzugefügt …`:`${String(e)} Dateien werden hinzugefügt …`,tooLarge:(e,t)=>`${e} ist größer als ${String(t)} MB und wurde nicht hinzugefügt.`,failed:e=>`${e} konnte nicht hinzugefügt werden.`,notHere:`Nur eine Anhangspalte enthält Dateien. Stell das Format der Spalte zuerst auf Anhang.`,remove:`Aus Zelle entfernen`,of:(e,t)=>`${String(e)} von ${String(t)}`,previous:`Vorherige Datei`,next:`Nächste Datei`,open:`In neuem Tab öffnen`,close:`Schließen`},review:{count:(e,t,n,r)=>`${e} hat ${uu(t,n,r)} geändert`,keepAll:`Alle behalten`,undoAll:`Alle widerrufen`,keep:`Behalten`,undo:`Widerrufen`,was:`Vorher`,added:e=>`Hinzugefügt von ${e}`,changed:e=>`Geändert von ${e}`,away:`Geändert seit deinem letzten Blick`,countAway:(e,t,n)=>`Seit deinem letzten Blick: ${uu(e,t,n)} geändert`,empty:`leer`,next:`Weiter`,previous:`Zurück`,position:(e,t)=>`${String(e)} von ${String(t)}`,conflicts:e=>`${String(e)} ${e===1?`Zelle wurde`:`Zellen wurden`} von euch beiden geändert: Deine Werte wurden behalten.`},date:{placeholder:`z. B. 2026-10-14`,today:`Heute`,previousMonth:`Vorheriger Monat`,nextMonth:`Nächster Monat`,clear:`Löschen`,addTime:`Uhrzeit hinzufügen`,removeTime:`Uhrzeit entfernen`,time:`Uhrzeit`},empty:{title:`Noch keine Zeilen`,addRow:`Zeile hinzufügen`,paste:`Zeilen einfügen`,pasteHint:`Kopiere Zeilen in Excel oder Google Sheets und drück dann hier ⌘V.`,importFile:`Datei importieren`,noMatch:`Keine Zeilen anzuzeigen`,noMatchBody:`Der Filter blendet alle Zeilen aus.`,clearFilter:`Filter löschen`}},fu=(e,t,n)=>[e>0?`${String(e)} ${e===1?`cell`:`cells`}`:``,t>0?`${String(t)} ${t===1?`row`:`rows`}`:``,n>0?`${String(n)} ${n===1?`column`:`columns`}`:``].filter(e=>e!==``).join(`, `),pu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Opening…`,unreadable:`This sheet cannot be edited right now: its file is not CSV a sheet can read. Here is what is wrong.`,readOnlyLarge:e=>`This sheet is ${e} MB: it is shown, not edited, here.`,untitled:`Untitled`,saved:`Saved`,saving:`Saving…`,unsaved:`Unsaved`,failed:`Not saved`,rows:(e,t)=>e===t?`${t.toLocaleString(`en`)} ${t===1?`row`:`rows`}`:`${e.toLocaleString(`en`)} of ${t.toLocaleString(`en`)} rows`,find:`Find`,findPlaceholder:`Find in the sheet`,matches:e=>e===1?`1 match`:`${String(e)} matches`,types:{text:`Text`,number:`Number`,select:`Dropdown list`,"multi-select":`List of several`,date:`Date`,checkbox:`Checkbox`,url:`Link`,email:`Email`,phone:`Phone`,file:`File`},auto:{button:e=>`Sort and filter ${e}`,sortAsc:{text:`Sort A to Z`,number:`Sort smallest to largest`,date:`Sort oldest to newest`,options:`Sort in option order`},sortDesc:{text:`Sort Z to A`,number:`Sort largest to smallest`,date:`Sort newest to oldest`,options:`Sort in reverse option order`},search:`Search`,selectAll:`(Select all)`,selectFound:`(Select all search results)`,blanks:`(Blanks)`,checked:`Checked`,unchecked:`Unchecked`,hasFile:`Has a file`,more:e=>`${e.toLocaleString(`en`)} more. Search to find them.`,none:`No values match.`,clear:`Clear filter`,ok:`OK`},look:{sorted:e=>`Sorted by ${e}`,filtered:e=>e.length===1?`Filtered by ${e[0]??``}`:`Filtered by ${String(e.length)} columns`,hidden:e=>e===1?`1 column hidden`:`${String(e)} columns hidden`,clear:`Clear`,note:`Only you see this sort and filter.`},replace:{label:`Replace`,with:`Replace with`,one:`Replace`,all:`Replace all`,done:e=>`Replaced in ${String(e)} ${e===1?`cell`:`cells`}.`},stats:{average:`Average`,count:`Count`,sum:`Sum`},column:{name:`Column name`,key:`Key column: each row's value is its own`,add:`Add a column`,rename:`Rename`,format:`Format`,formats:{text:`Text`,number:`Number`,currency:`Currency`,percent:`Percent`,date:`Date`,checkbox:`Checkbox`,list:`Dropdown list`,file:`Attachment`},addOption:`Add an option`,newOption:e=>`Add “${e}”`,confirm:`Delete`,cancel:`Cancel`,hide:`Hide column`,insertLeft:`Insert column left`,insertRight:`Insert column right`,remove:`Delete column`,removeAsk:(e,t)=>`Delete “${e}” and its ${t.toLocaleString(`en`)} ${t===1?`value`:`values`}? You can undo it.`,taken:`Another column has this name.`,empty:`A column needs a name.`,newName:e=>e===1?`Column`:`Column ${String(e)}`},row:{numbered:e=>`Row ${String(e)}`,inFile:e=>`Row ${String(e)} in the file`,of:(e,t)=>`Row ${String(e)} of ${String(t)}`,hiddenFields:`Hidden columns`,insertAbove:`Insert row above`,insertBelow:`Insert row below`,remove:e=>e===1?`Delete row`:`Delete ${String(e)} rows`,expand:`Open row`,newRow:`New row`,record:`Row`,previous:`Previous row`,next:`Next row`,close:`Close`},cell:{copy:`Copy`,cut:`Cut`,paste:`Paste`,clear:`Clear`,clearContents:`Clear contents`,notNumber:`Not a number. Write digits, with a point for decimals: 1234.5`,notDate:`Not a date. Write 2026-10-14, or 2026-10-14T09:30`,notEmail:`Not an email address`,notUrl:`An address has no spaces`,open:`Open`,left:e=>e===1?`1 value did not fit its column and was left out.`:`${String(e)} values did not fit their columns and were left out.`,pasteHint:`Use ⌘V to paste.`},files:{notFound:`Not found`,insert:`Insert file…`,add:`Add file`,adding:e=>e===1?`Adding 1 file…`:`Adding ${String(e)} files…`,tooLarge:(e,t)=>`${e} is over ${String(t)} MB and was not added.`,failed:e=>`${e} could not be added.`,notHere:`Only an attachment column holds files. Set the column's format to Attachment first.`,remove:`Remove from cell`,of:(e,t)=>`${String(e)} of ${String(t)}`,previous:`Previous file`,next:`Next file`,open:`Open in a new tab`,close:`Close`},review:{count:(e,t,n,r)=>`${e} changed ${fu(t,n,r)}`,keepAll:`Keep all`,undoAll:`Undo all`,keep:`Keep`,undo:`Undo`,was:`Before`,added:e=>`Added by ${e}`,changed:e=>`Changed by ${e}`,away:`Changed since you last looked`,countAway:(e,t,n)=>`Since you last looked: ${fu(e,t,n)} changed`,empty:`empty`,next:`Next`,previous:`Previous`,position:(e,t)=>`${String(e)} of ${String(t)}`,conflicts:e=>`${String(e)} ${e===1?`cell was`:`cells were`} changed by both of you: yours were kept.`},date:{placeholder:`2026-10-14, today, Oct 14…`,today:`Today`,previousMonth:`Previous month`,nextMonth:`Next month`,clear:`Clear`,addTime:`Add a time`,removeTime:`Remove the time`,time:`Time`},empty:{title:`No rows yet`,addRow:`Add a row`,paste:`Paste rows`,pasteHint:`Copy rows in Excel or Google Sheets, then press ⌘V here.`,importFile:`Import a file`,noMatch:`No rows to show`,noMatchBody:`The filter leaves every row out.`,clearFilter:`Clear the filter`}},mu=(e,t,n)=>`${e.toLocaleString(`es`)} ${e===1?t:n}`,hu=(e,t,n)=>[e>0?mu(e,`celda`,`celdas`):``,t>0?mu(t,`fila`,`filas`):``,n>0?mu(n,`columna`,`columnas`):``].filter(e=>e!==``).join(`, `),gu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Abriendo…`,unreadable:`Esta hoja no se puede editar ahora: su archivo no es un CSV que una hoja pueda leer. Esto es lo que falla.`,readOnlyLarge:e=>`Esta hoja ocupa ${e} MB: aquí se muestra, pero no se edita.`,untitled:`Sin título`,saved:`Guardado`,saving:`Guardando…`,unsaved:`Sin guardar`,failed:`No guardado`,rows:(e,t)=>e===t?mu(t,`fila`,`filas`):`${e.toLocaleString(`es`)} de ${t.toLocaleString(`es`)} filas`,find:`Buscar`,findPlaceholder:`Buscar en la hoja`,matches:e=>mu(e,`coincidencia`,`coincidencias`),types:{text:`Texto`,number:`Número`,select:`Lista desplegable`,"multi-select":`Selección múltiple`,date:`Fecha`,checkbox:`Casilla`,url:`Vínculo`,email:`Correo electrónico`,phone:`Teléfono`,file:`Archivo`},auto:{button:e=>`Ordenar y filtrar ${e}`,sortAsc:{text:`Ordenar de A a Z`,number:`Ordenar de menor a mayor`,date:`Ordenar de más antiguos a más recientes`,options:`Ordenar según las opciones`},sortDesc:{text:`Ordenar de Z a A`,number:`Ordenar de mayor a menor`,date:`Ordenar de más recientes a más antiguos`,options:`Ordenar según las opciones, al revés`},search:`Buscar`,selectAll:`(Seleccionar todo)`,selectFound:`(Seleccionar todos los resultados de la búsqueda)`,blanks:`(Vacías)`,checked:`Activada`,unchecked:`Desactivada`,hasFile:`Tiene un archivo`,more:e=>`${e.toLocaleString(`es`)} más. Busca para encontrarlos.`,none:`Ningún valor coincide.`,clear:`Borrar filtro`,ok:`Aceptar`},look:{sorted:e=>`Ordenado por ${e}`,filtered:e=>e.length===1?`Filtrado por ${e[0]??``}`:`Filtrado por ${String(e.length)} columnas`,hidden:e=>e===1?`1 columna oculta`:`${String(e)} columnas ocultas`,clear:`Borrar`,note:`Solo tú ves esta ordenación y este filtro.`},replace:{label:`Reemplazar`,with:`Reemplazar con`,one:`Reemplazar`,all:`Reemplazar todos`,done:e=>`Reemplazado en ${mu(e,`celda`,`celdas`)}.`},stats:{average:`Promedio`,count:`Recuento`,sum:`Suma`},column:{name:`Nombre de la columna`,key:`Columna clave: el valor de cada fila es único`,add:`Añadir una columna`,rename:`Cambiar nombre`,format:`Formato`,formats:{text:`Texto`,number:`Número`,currency:`Moneda`,percent:`Porcentaje`,date:`Fecha`,checkbox:`Casilla`,list:`Lista desplegable`,file:`Archivo adjunto`},addOption:`Añadir una opción`,newOption:e=>`Añadir “${e}”`,confirm:`Eliminar`,cancel:`Cancelar`,hide:`Ocultar columna`,insertLeft:`Insertar columna a la izquierda`,insertRight:`Insertar columna a la derecha`,remove:`Eliminar columna`,removeAsk:(e,t)=>`¿Eliminar “${e}” y ${t===1?`su valor`:`sus ${t.toLocaleString(`es`)} valores`}? Puedes deshacerlo.`,taken:`Ya hay otra columna con este nombre.`,empty:`Una columna necesita un nombre.`,newName:e=>e===1?`Columna`:`Columna ${String(e)}`},row:{numbered:e=>`Fila ${String(e)}`,inFile:e=>`Fila ${String(e)} del archivo`,of:(e,t)=>`Fila ${String(e)} de ${String(t)}`,hiddenFields:`Columnas ocultas`,insertAbove:`Insertar fila arriba`,insertBelow:`Insertar fila debajo`,remove:e=>e===1?`Eliminar fila`:`Eliminar ${String(e)} filas`,expand:`Abrir fila`,newRow:`Nueva fila`,record:`Fila`,previous:`Fila anterior`,next:`Fila siguiente`,close:`Cerrar`},cell:{copy:`Copiar`,cut:`Cortar`,paste:`Pegar`,clear:`Borrar`,clearContents:`Borrar contenido`,notNumber:`No es un número. Escribe cifras, con un punto para los decimales: 1234.5`,notDate:`No es una fecha. Escribe 2026-10-14 o 2026-10-14T09:30`,notEmail:`No es una dirección de correo electrónico`,notUrl:`Una dirección no lleva espacios`,open:`Abrir`,left:e=>e===1?`1 valor no encajaba en su columna y se omitió.`:`${String(e)} valores no encajaban en sus columnas y se omitieron.`,pasteHint:`Usa ⌘V para pegar.`},files:{notFound:`No encontrado`,insert:`Insertar archivo…`,add:`Añadir archivo`,adding:e=>e===1?`Añadiendo 1 archivo…`:`Añadiendo ${String(e)} archivos…`,tooLarge:(e,t)=>`${e} supera los ${String(t)} MB y no se añadió.`,failed:e=>`No se pudo añadir ${e}.`,notHere:`Solo una columna de archivos adjuntos contiene archivos. Primero cambia el formato de la columna a Archivo adjunto.`,remove:`Quitar de la celda`,of:(e,t)=>`${String(e)} de ${String(t)}`,previous:`Archivo anterior`,next:`Archivo siguiente`,open:`Abrir en una pestaña nueva`,close:`Cerrar`},review:{count:(e,t,n,r)=>`${e} cambió ${hu(t,n,r)}`,keepAll:`Conservar todo`,undoAll:`Deshacer todo`,keep:`Conservar`,undo:`Deshacer`,was:`Antes`,added:e=>`Añadido por ${e}`,changed:e=>`Cambiado por ${e}`,away:`Cambiado desde la última vez que lo viste`,countAway:(e,t,n)=>`Desde la última vez que lo viste: cambios en ${hu(e,t,n)}`,empty:`vacío`,next:`Siguiente`,previous:`Anterior`,position:(e,t)=>`${String(e)} de ${String(t)}`,conflicts:e=>e===1?`1 celda tenía cambios de los dos: se conservó el tuyo.`:`${String(e)} celdas tenían cambios de los dos: se conservaron los tuyos.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Hoy`,previousMonth:`Mes anterior`,nextMonth:`Mes siguiente`,clear:`Borrar`,addTime:`Añadir una hora`,removeTime:`Quitar la hora`,time:`Hora`},empty:{title:`Aún no hay filas`,addRow:`Añadir una fila`,paste:`Pegar filas`,pasteHint:`Copia filas en Excel o Google Sheets y pulsa ⌘V aquí.`,importFile:`Importar un archivo`,noMatch:`No hay filas que mostrar`,noMatchBody:`El filtro deja fuera todas las filas.`,clearFilter:`Borrar el filtro`}},_u=(e,t,n)=>`${e.toLocaleString(`fr`)} ${e<2?t:n}`,vu=(e,t,n)=>[e>0?_u(e,`cellule`,`cellules`):``,t>0?_u(t,`ligne`,`lignes`):``,n>0?_u(n,`colonne`,`colonnes`):``].filter(e=>e!==``).join(`, `),yu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Ouverture…`,unreadable:`Cette feuille de calcul ne peut pas être modifiée pour l’instant\xA0: son fichier n’est pas un CSV lisible. Voici ce qui ne va pas.`,readOnlyLarge:e=>`Cette feuille de calcul fait ${e}\u00a0Mo\u00a0: elle est affichée ici, pas modifiée.`,untitled:`Sans titre`,saved:`Enregistré`,saving:`Enregistrement…`,unsaved:`Non enregistré`,failed:`Non enregistré`,rows:(e,t)=>e===t?_u(t,`ligne`,`lignes`):`${e.toLocaleString(`fr`)} sur ${_u(t,`ligne`,`lignes`)}`,find:`Rechercher`,findPlaceholder:`Rechercher dans la feuille`,matches:e=>_u(e,`résultat`,`résultats`),types:{text:`Texte`,number:`Nombre`,select:`Liste déroulante`,"multi-select":`Liste à choix multiples`,date:`Date`,checkbox:`Case à cocher`,url:`Lien`,email:`E-mail`,phone:`Téléphone`,file:`Fichier`},auto:{button:e=>`Trier et filtrer ${e}`,sortAsc:{text:`Trier de A à Z`,number:`Trier du plus petit au plus grand`,date:`Trier du plus ancien au plus récent`,options:`Trier dans l’ordre des options`},sortDesc:{text:`Trier de Z à A`,number:`Trier du plus grand au plus petit`,date:`Trier du plus récent au plus ancien`,options:`Trier dans l’ordre inverse des options`},search:`Rechercher`,selectAll:`(Sélectionner tout)`,selectFound:`(Sélectionner tous les résultats de la recherche)`,blanks:`(Vides)`,checked:`Coché`,unchecked:`Non coché`,hasFile:`Contient un fichier`,more:e=>`${e.toLocaleString(`fr`)} de plus. Recherchez pour les trouver.`,none:`Aucune valeur ne correspond.`,clear:`Effacer le filtre`,ok:`OK`},look:{sorted:e=>`Trié par ${e}`,filtered:e=>e.length===1?`Filtré par ${e[0]??``}`:`Filtré par ${String(e.length)} colonnes`,hidden:e=>e<2?`${String(e)} colonne masquée`:`${String(e)} colonnes masquées`,clear:`Effacer`,note:`Vous seul voyez ce tri et ce filtre.`},replace:{label:`Remplacer`,with:`Remplacer par`,one:`Remplacer`,all:`Remplacer tout`,done:e=>`Remplacé dans ${_u(e,`cellule`,`cellules`)}.`},stats:{average:`Moyenne`,count:`Nombre`,sum:`Somme`},column:{name:`Nom de la colonne`,key:`Colonne clé\xA0: chaque ligne y a sa propre valeur`,add:`Ajouter une colonne`,rename:`Renommer`,format:`Format`,formats:{text:`Texte`,number:`Nombre`,currency:`Monétaire`,percent:`Pourcentage`,date:`Date`,checkbox:`Case à cocher`,list:`Liste déroulante`,file:`Pièce jointe`},addOption:`Ajouter une option`,newOption:e=>`Ajouter «\u00a0${e}\u00a0»`,confirm:`Supprimer`,cancel:`Annuler`,hide:`Masquer la colonne`,insertLeft:`Insérer une colonne à gauche`,insertRight:`Insérer une colonne à droite`,remove:`Supprimer la colonne`,removeAsk:(e,t)=>`Supprimer «\u00a0${e}\u00a0» et ${t<2?`sa`:`ses`} ${_u(t,`valeur`,`valeurs`)}\u00a0? Vous pourrez annuler.`,taken:`Une autre colonne porte ce nom.`,empty:`Une colonne doit avoir un nom.`,newName:e=>e===1?`Colonne`:`Colonne ${String(e)}`},row:{numbered:e=>`Ligne ${String(e)}`,inFile:e=>`Ligne ${String(e)} du fichier`,of:(e,t)=>`Ligne ${String(e)} sur ${String(t)}`,hiddenFields:`Colonnes masquées`,insertAbove:`Insérer une ligne au-dessus`,insertBelow:`Insérer une ligne en dessous`,remove:e=>e===1?`Supprimer la ligne`:`Supprimer ${String(e)} lignes`,expand:`Ouvrir la ligne`,newRow:`Nouvelle ligne`,record:`Ligne`,previous:`Ligne précédente`,next:`Ligne suivante`,close:`Fermer`},cell:{copy:`Copier`,cut:`Couper`,paste:`Coller`,clear:`Effacer`,clearContents:`Effacer le contenu`,notNumber:`Ce n’est pas un nombre. Écrivez des chiffres, avec un point pour les décimales\xA0: 1234.5`,notDate:`Ce n’est pas une date. Écrivez 2026-10-14, ou 2026-10-14T09:30`,notEmail:`Ce n’est pas une adresse e-mail`,notUrl:`Une adresse ne contient pas d’espaces`,open:`Ouvrir`,left:e=>e===1?`1 valeur ne convenait pas à sa colonne et a été laissée de côté.`:`${String(e)} valeurs ne convenaient pas à leur colonne et ont été laissées de côté.`,pasteHint:`Utilisez ⌘V pour coller.`},files:{notFound:`Introuvable`,insert:`Insérer un fichier…`,add:`Ajouter un fichier`,adding:e=>e===1?`Ajout d’un fichier…`:`Ajout de ${String(e)} fichiers…`,tooLarge:(e,t)=>`${e} dépasse ${String(t)}\u00a0Mo et n’a pas été ajouté.`,failed:e=>`${e} n’a pas pu être ajouté.`,notHere:`Seule une colonne de pièces jointes contient des fichiers. Choisissez d’abord le format Pièce jointe pour la colonne.`,remove:`Retirer de la cellule`,of:(e,t)=>`${String(e)} sur ${String(t)}`,previous:`Fichier précédent`,next:`Fichier suivant`,open:`Ouvrir dans un nouvel onglet`,close:`Fermer`},review:{count:(e,t,n,r)=>`${e} a modifié ${vu(t,n,r)}`,keepAll:`Tout garder`,undoAll:`Tout annuler`,keep:`Garder`,undo:`Annuler`,was:`Avant`,added:e=>`Ajouté par ${e}`,changed:e=>`Modifié par ${e}`,away:`Modifié depuis votre dernière visite`,countAway:(e,t,n)=>`Depuis votre dernière visite\u00a0: ${vu(e,t,n)} ${e+t+n<2?`modifiée`:`modifiées`}`,empty:`vide`,next:`Suivant`,previous:`Précédent`,position:(e,t)=>`${String(e)} sur ${String(t)}`,conflicts:e=>e<2?`${String(e)} cellule a été modifiée par vous deux\u00a0: votre version a été gardée.`:`${String(e)} cellules ont été modifiées par vous deux\u00a0: vos versions ont été gardées.`},date:{placeholder:`2026-10-14, 2026-10-14 09:30…`,today:`Aujourd’hui`,previousMonth:`Mois précédent`,nextMonth:`Mois suivant`,clear:`Effacer`,addTime:`Ajouter une heure`,removeTime:`Retirer l’heure`,time:`Heure`},empty:{title:`Aucune ligne pour l’instant`,addRow:`Ajouter une ligne`,paste:`Coller des lignes`,pasteHint:`Copiez des lignes dans Excel ou Google Sheets, puis appuyez sur ⌘V ici.`,importFile:`Importer un fichier`,noMatch:`Aucune ligne à afficher`,noMatchBody:`Le filtre exclut toutes les lignes.`,clearFilter:`Effacer le filtre`}},bu=new Intl.PluralRules(`hi`),xu=e=>bu.select(e)===`one`,Su=e=>e.toLocaleString(`hi`),Cu=(e,t,n)=>[e>0?`${String(e)} सेल`:``,t>0?`${String(t)} ${xu(t)?`पंक्ति`:`पंक्तियाँ`}`:``,n>0?`${String(n)} कॉलम`:``].filter(e=>e!==``).join(`, `),wu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`खुल रहा है…`,unreadable:`यह शीट अभी एडिट नहीं की जा सकती: इसकी फ़ाइल ऐसी CSV नहीं है जिसे शीट पढ़ सके। गड़बड़ी यह है।`,readOnlyLarge:e=>`यह शीट ${e} MB की है: यहाँ यह सिर्फ़ दिखाई जाती है, एडिट नहीं होती।`,untitled:`बिना शीर्षक`,saved:`सेव हो गया`,saving:`सेव हो रहा है…`,unsaved:`सेव नहीं हुआ`,failed:`सेव नहीं हो सका`,rows:(e,t)=>e===t?`${Su(t)} ${xu(t)?`पंक्ति`:`पंक्तियाँ`}`:`${Su(t)} में से ${Su(e)} पंक्तियाँ`,find:`ढूँढें`,findPlaceholder:`शीट में ढूँढें`,matches:e=>`${String(e)} मिलान`,types:{text:`टेक्स्ट`,number:`संख्या`,select:`ड्रॉपडाउन सूची`,"multi-select":`कई विकल्पों की सूची`,date:`तारीख`,checkbox:`चेकबॉक्स`,url:`लिंक`,email:`ईमेल`,phone:`फ़ोन`,file:`फ़ाइल`},auto:{button:e=>`${e} को सॉर्ट और फ़िल्टर करें`,sortAsc:{text:`A से Z तक सॉर्ट करें`,number:`सबसे छोटे से सबसे बड़े तक सॉर्ट करें`,date:`सबसे पुराने से सबसे नए तक सॉर्ट करें`,options:`विकल्पों के क्रम में सॉर्ट करें`},sortDesc:{text:`Z से A तक सॉर्ट करें`,number:`सबसे बड़े से सबसे छोटे तक सॉर्ट करें`,date:`सबसे नए से सबसे पुराने तक सॉर्ट करें`,options:`विकल्पों के उल्टे क्रम में सॉर्ट करें`},search:`खोजें`,selectAll:`(सभी चुनें)`,selectFound:`(खोज के सभी नतीजे चुनें)`,blanks:`(रिक्त)`,checked:`चेक किया हुआ`,unchecked:`चेक नहीं किया हुआ`,hasFile:`फ़ाइल है`,more:e=>`${Su(e)} और। उन्हें पाने के लिए खोजें।`,none:`कोई मान मेल नहीं खाता।`,clear:`फ़िल्टर साफ़ करें`,ok:`ठीक है`},look:{sorted:e=>`${e} के हिसाब से सॉर्ट किया गया`,filtered:e=>e.length===1?`${e[0]??``} के हिसाब से फ़िल्टर किया गया`:`${String(e.length)} कॉलम के हिसाब से फ़िल्टर किया गया`,hidden:e=>`${String(e)} कॉलम छिपे हुए`,clear:`साफ़ करें`,note:`यह सॉर्ट और फ़िल्टर सिर्फ़ आपको दिखता है।`},replace:{label:`बदलें`,with:`इससे बदलें`,one:`बदलें`,all:`सभी बदलें`,done:e=>`${String(e)} सेल में बदला गया।`},stats:{average:`औसत`,count:`गिनती`,sum:`योग`},column:{name:`कॉलम का नाम`,key:`की कॉलम: हर पंक्ति का मान अलग होता है`,add:`कॉलम जोड़ें`,rename:`नाम बदलें`,format:`फ़ॉर्मेट`,formats:{text:`टेक्स्ट`,number:`संख्या`,currency:`मुद्रा`,percent:`प्रतिशत`,date:`तारीख`,checkbox:`चेकबॉक्स`,list:`ड्रॉपडाउन सूची`,file:`अटैचमेंट`},addOption:`विकल्प जोड़ें`,newOption:e=>`“${e}” जोड़ें`,confirm:`डिलीट करें`,cancel:`रद्द करें`,hide:`कॉलम छिपाएँ`,insertLeft:`बाईं ओर कॉलम डालें`,insertRight:`दाईं ओर कॉलम डालें`,remove:`कॉलम डिलीट करें`,removeAsk:(e,t)=>`“${e}” और उसके ${Su(t)} मान डिलीट करें? आप इसे पहले जैसा कर सकते हैं।`,taken:`किसी दूसरे कॉलम का यही नाम है।`,empty:`कॉलम का नाम होना ज़रूरी है।`,newName:e=>e===1?`कॉलम`:`कॉलम ${String(e)}`},row:{numbered:e=>`पंक्ति ${String(e)}`,inFile:e=>`फ़ाइल में पंक्ति ${String(e)}`,of:(e,t)=>`पंक्ति ${String(e)} / ${String(t)}`,hiddenFields:`छिपे हुए कॉलम`,insertAbove:`ऊपर पंक्ति डालें`,insertBelow:`नीचे पंक्ति डालें`,remove:e=>e===1?`पंक्ति डिलीट करें`:`${String(e)} पंक्तियाँ डिलीट करें`,expand:`पंक्ति खोलें`,newRow:`नई पंक्ति`,record:`पंक्ति`,previous:`पिछली पंक्ति`,next:`अगली पंक्ति`,close:`बंद करें`},cell:{copy:`कॉपी करें`,cut:`कट करें`,paste:`पेस्ट करें`,clear:`साफ़ करें`,clearContents:`सामग्री साफ़ करें`,notNumber:`यह संख्या नहीं है। अंक लिखें, दशमलव के लिए पॉइंट के साथ: 1234.5`,notDate:`यह तारीख नहीं है। 2026-10-14 या 2026-10-14T09:30 लिखें`,notEmail:`यह ईमेल पता नहीं है`,notUrl:`पते में स्पेस नहीं होते`,open:`खोलें`,left:e=>e===1?`1 मान अपने कॉलम में फ़िट नहीं हुआ और छोड़ दिया गया।`:`${String(e)} मान अपने कॉलम में फ़िट नहीं हुए और छोड़ दिए गए।`,pasteHint:`पेस्ट करने के लिए ⌘V इस्तेमाल करें।`},files:{notFound:`नहीं मिली`,insert:`फ़ाइल डालें…`,add:`फ़ाइल जोड़ें`,adding:e=>e===1?`1 फ़ाइल जोड़ी जा रही है…`:`${String(e)} फ़ाइलें जोड़ी जा रही हैं…`,tooLarge:(e,t)=>`${e} ${String(t)} MB से बड़ी है, इसलिए जोड़ी नहीं गई।`,failed:e=>`${e} जोड़ी नहीं जा सकी।`,notHere:`फ़ाइलें सिर्फ़ अटैचमेंट कॉलम में रहती हैं। पहले कॉलम का फ़ॉर्मेट अटैचमेंट पर सेट करें।`,remove:`सेल से हटाएँ`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`पिछली फ़ाइल`,next:`अगली फ़ाइल`,open:`नए टैब में खोलें`,close:`बंद करें`},review:{count:(e,t,n,r)=>`${e} के बदलाव: ${Cu(t,n,r)}`,keepAll:`सभी रखें`,undoAll:`सभी पहले जैसे करें`,keep:`रखें`,undo:`पहले जैसा करें`,was:`पहले`,added:e=>`${e} ने जोड़ा`,changed:e=>`${e} ने बदला`,away:`आपके पिछली बार देखने के बाद बदला गया`,countAway:(e,t,n)=>`आपके पिछली बार देखने के बाद बदला गया: ${Cu(e,t,n)}`,empty:`खाली`,next:`अगला`,previous:`पिछला`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} सेल आप दोनों ने बदले: आपके बदलाव रखे गए।`},date:{placeholder:`2026-10-14, today, Oct 14…`,today:`आज`,previousMonth:`पिछला महीना`,nextMonth:`अगला महीना`,clear:`साफ़ करें`,addTime:`समय जोड़ें`,removeTime:`समय हटाएँ`,time:`समय`},empty:{title:`अभी कोई पंक्ति नहीं`,addRow:`पंक्ति जोड़ें`,paste:`पंक्तियाँ पेस्ट करें`,pasteHint:`Excel या Google Sheets में पंक्तियाँ कॉपी करें, फिर यहाँ ⌘V दबाएँ।`,importFile:`फ़ाइल इंपोर्ट करें`,noMatch:`दिखाने के लिए कोई पंक्ति नहीं`,noMatchBody:`फ़िल्टर हर पंक्ति को बाहर कर देता है।`,clearFilter:`फ़िल्टर साफ़ करें`}},Tu=(e,t,n)=>`${e.toLocaleString(`it`)} ${e===1?t:n}`,Eu=(e,t,n)=>[e>0?Tu(e,`cella`,`celle`):``,t>0?Tu(t,`riga`,`righe`):``,n>0?Tu(n,`colonna`,`colonne`):``].filter(e=>e!==``).join(`, `),Du={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Apertura…`,unreadable:`Al momento questo foglio non si può modificare: il suo file non è un CSV leggibile. Ecco cosa non va.`,readOnlyLarge:e=>`Questo foglio è di ${e} MB: qui si può vedere, ma non modificare.`,untitled:`Senza titolo`,saved:`Salvato`,saving:`Salvataggio…`,unsaved:`Non salvato`,failed:`Non salvato`,rows:(e,t)=>e===t?Tu(t,`riga`,`righe`):`${e.toLocaleString(`it`)} di ${t.toLocaleString(`it`)} righe`,find:`Trova`,findPlaceholder:`Trova nel foglio`,matches:e=>e===1?`1 risultato`:`${String(e)} risultati`,types:{text:`Testo`,number:`Numero`,select:`Elenco a discesa`,"multi-select":`Selezione multipla`,date:`Data`,checkbox:`Casella di controllo`,url:`Link`,email:`Email`,phone:`Telefono`,file:`File`},auto:{button:e=>`Ordina e filtra ${e}`,sortAsc:{text:`Ordina dalla A alla Z`,number:`Ordina dal più piccolo al più grande`,date:`Ordina dal meno recente al più recente`,options:`Ordina secondo le opzioni`},sortDesc:{text:`Ordina dalla Z alla A`,number:`Ordina dal più grande al più piccolo`,date:`Ordina dal più recente al meno recente`,options:`Ordina secondo le opzioni, al contrario`},search:`Cerca`,selectAll:`(Seleziona tutto)`,selectFound:`(Seleziona tutti i risultati della ricerca)`,blanks:`(Vuote)`,checked:`Selezionata`,unchecked:`Non selezionata`,hasFile:`Con un file`,more:e=>`Altri ${e.toLocaleString(`it`)}. Usa la ricerca per trovarli.`,none:`Nessun valore corrispondente.`,clear:`Cancella filtro`,ok:`OK`},look:{sorted:e=>`Ordinato per ${e}`,filtered:e=>e.length===1?`Filtrato per ${e[0]??``}`:`Filtrato per ${String(e.length)} colonne`,hidden:e=>e===1?`1 colonna nascosta`:`${String(e)} colonne nascoste`,clear:`Cancella`,note:`Solo tu vedi questo ordinamento e questo filtro.`},replace:{label:`Sostituisci`,with:`Sostituisci con`,one:`Sostituisci`,all:`Sostituisci tutto`,done:e=>`Sostituito in ${Tu(e,`cella`,`celle`)}.`},stats:{average:`Media`,count:`Conteggio`,sum:`Somma`},column:{name:`Nome della colonna`,key:`Colonna chiave: ogni riga ha un valore unico`,add:`Aggiungi una colonna`,rename:`Rinomina`,format:`Formato`,formats:{text:`Testo`,number:`Numero`,currency:`Valuta`,percent:`Percentuale`,date:`Data`,checkbox:`Casella di controllo`,list:`Elenco a discesa`,file:`Allegato`},addOption:`Aggiungi un'opzione`,newOption:e=>`Aggiungi “${e}”`,confirm:`Elimina`,cancel:`Annulla`,hide:`Nascondi colonna`,insertLeft:`Inserisci colonna a sinistra`,insertRight:`Inserisci colonna a destra`,remove:`Elimina colonna`,removeAsk:(e,t)=>`Eliminare “${e}” e ${t===1?`il suo valore`:`i suoi ${t.toLocaleString(`it`)} valori`}? Puoi annullare.`,taken:`Un'altra colonna ha già questo nome.`,empty:`Una colonna deve avere un nome.`,newName:e=>e===1?`Colonna`:`Colonna ${String(e)}`},row:{numbered:e=>`Riga ${String(e)}`,inFile:e=>`Riga ${String(e)} nel file`,of:(e,t)=>`Riga ${String(e)} di ${String(t)}`,hiddenFields:`Colonne nascoste`,insertAbove:`Inserisci riga sopra`,insertBelow:`Inserisci riga sotto`,remove:e=>e===1?`Elimina riga`:`Elimina ${String(e)} righe`,expand:`Apri riga`,newRow:`Nuova riga`,record:`Riga`,previous:`Riga precedente`,next:`Riga successiva`,close:`Chiudi`},cell:{copy:`Copia`,cut:`Taglia`,paste:`Incolla`,clear:`Cancella`,clearContents:`Cancella contenuto`,notNumber:`Non è un numero. Scrivi le cifre, con il punto per i decimali: 1234.5`,notDate:`Non è una data. Scrivi 2026-10-14 o 2026-10-14T09:30`,notEmail:`Non è un indirizzo email`,notUrl:`Un indirizzo non contiene spazi`,open:`Apri`,left:e=>e===1?`1 valore non era adatto alla sua colonna ed è stato escluso.`:`${String(e)} valori non erano adatti alle loro colonne e sono stati esclusi.`,pasteHint:`Usa ⌘V per incollare.`},files:{notFound:`Non trovato`,insert:`Inserisci file…`,add:`Aggiungi file`,adding:e=>e===1?`Aggiunta di 1 file…`:`Aggiunta di ${String(e)} file…`,tooLarge:(e,t)=>`${e} supera i ${String(t)} MB e non è stato aggiunto.`,failed:e=>`Impossibile aggiungere ${e}.`,notHere:`Solo una colonna di allegati contiene file. Imposta prima il formato della colonna su Allegato.`,remove:`Rimuovi dalla cella`,of:(e,t)=>`${String(e)} di ${String(t)}`,previous:`File precedente`,next:`File successivo`,open:`Apri in un nuovo pannello`,close:`Chiudi`},review:{count:(e,t,n,r)=>`${e} ha modificato ${Eu(t,n,r)}`,keepAll:`Mantieni tutto`,undoAll:`Annulla tutto`,keep:`Mantieni`,undo:`Annulla`,was:`Prima`,added:e=>`Aggiunto da ${e}`,changed:e=>`Modificato da ${e}`,away:`Modificato dall'ultima volta che l'hai visto`,countAway:(e,t,n)=>`Dall'ultima volta che l'hai visto: modificate ${Eu(e,t,n)}`,empty:`vuoto`,next:`Successivo`,previous:`Precedente`,position:(e,t)=>`${String(e)} di ${String(t)}`,conflicts:e=>e===1?`1 cella è stata modificata da entrambi: è stata mantenuta la tua versione.`:`${String(e)} celle sono state modificate da entrambi: è stata mantenuta la tua versione.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Oggi`,previousMonth:`Mese precedente`,nextMonth:`Mese successivo`,clear:`Cancella`,addTime:`Aggiungi un orario`,removeTime:`Rimuovi l'orario`,time:`Ora`},empty:{title:`Ancora nessuna riga`,addRow:`Aggiungi una riga`,paste:`Incolla righe`,pasteHint:`Copia le righe in Excel o Google Fogli, poi premi ⌘V qui.`,importFile:`Importa un file`,noMatch:`Nessuna riga da mostrare`,noMatchBody:`Il filtro esclude tutte le righe.`,clearFilter:`Cancella il filtro`}},Ou=/[\u3040-\u30ff\u3400-\u9fff\uf900-\ufaff]/u,ku=/[A-Za-z0-9]/;function Au(...e){let t=``;for(let n of e){if(n===``)continue;let e=t.at(-1)??``,r=n[0]??``,i=Ou.test(e)&&ku.test(r)||ku.test(e)&&Ou.test(r);t+=(i?` `:``)+n}return t}var ju=(e,t,n)=>[e>0?`セル ${String(e)} 個`:``,t>0?`${String(t)} 行`:``,n>0?`${String(n)} 列`:``].filter(e=>e!==``).join(`、`),Mu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`開いています…`,unreadable:`このシートは現在編集できません:ファイルが読み込める CSV になっていません。問題点は次のとおりです。`,readOnlyLarge:e=>`このシートは ${e} MB あるため、ここでは表示のみで編集はできません。`,untitled:`無題`,saved:`保存済み`,saving:`保存中…`,unsaved:`未保存`,failed:`保存できませんでした`,rows:(e,t)=>e===t?`${t.toLocaleString(`ja`)} 行`:`${e.toLocaleString(`ja`)} / ${t.toLocaleString(`ja`)} 行`,find:`検索`,findPlaceholder:`シート内を検索`,matches:e=>`${String(e)} 件`,types:{text:`文字列`,number:`数値`,select:`ドロップダウンリスト`,"multi-select":`複数選択リスト`,date:`日付`,checkbox:`チェックボックス`,url:`リンク`,email:`メール`,phone:`電話番号`,file:`ファイル`},auto:{button:e=>Au(e,`の並べ替えとフィルター`),sortAsc:{text:`昇順で並べ替え(A → Z)`,number:`小さい順に並べ替え`,date:`古い順に並べ替え`,options:`選択肢の順に並べ替え`},sortDesc:{text:`降順で並べ替え(Z → A)`,number:`大きい順に並べ替え`,date:`新しい順に並べ替え`,options:`選択肢の逆順に並べ替え`},search:`検索`,selectAll:`(すべて選択)`,selectFound:`(検索結果をすべて選択)`,blanks:`(空白セル)`,checked:`チェックあり`,unchecked:`チェックなし`,hasFile:`ファイルあり`,more:e=>`ほか ${e.toLocaleString(`ja`)} 件。検索すると見つかります。`,none:`一致する値はありません。`,clear:`フィルターをクリア`,ok:`OK`},look:{sorted:e=>`「${e}」で並べ替え中`,filtered:e=>e.length===1?`「${e[0]??``}」でフィルター中`:`${String(e.length)} 列でフィルター中`,hidden:e=>`${String(e)} 列を非表示`,clear:`クリア`,note:`この並べ替えとフィルターはあなたにだけ表示されます。`},replace:{label:`置換`,with:`置換後の文字列`,one:`置換`,all:`すべて置換`,done:e=>`${String(e)} 個のセルで置換しました。`},stats:{average:`平均`,count:`データの個数`,sum:`合計`},column:{name:`列名`,key:`キー列:行ごとに値が重複しません`,add:`列を追加`,rename:`名前を変更`,format:`表示形式`,formats:{text:`文字列`,number:`数値`,currency:`通貨`,percent:`パーセンテージ`,date:`日付`,checkbox:`チェックボックス`,list:`ドロップダウンリスト`,file:`添付ファイル`},addOption:`選択肢を追加`,newOption:e=>`「${e}」を追加`,confirm:`削除`,cancel:`キャンセル`,hide:`列を非表示`,insertLeft:`左に列を挿入`,insertRight:`右に列を挿入`,remove:`列を削除`,removeAsk:(e,t)=>`「${e}」とその ${t.toLocaleString(`ja`)} 個の値を削除しますか?元に戻せます。`,taken:`同じ名前の列がすでにあります。`,empty:`列には名前が必要です。`,newName:e=>e===1?`列`:`列 ${String(e)}`},row:{numbered:e=>`${String(e)} 行目`,inFile:e=>`ファイルの ${String(e)} 行目`,of:(e,t)=>`${String(e)} / ${String(t)} 行`,hiddenFields:`非表示の列`,insertAbove:`上に行を挿入`,insertBelow:`下に行を挿入`,remove:e=>e===1?`行を削除`:`${String(e)} 行を削除`,expand:`行を開く`,newRow:`新しい行`,record:`行`,previous:`前の行`,next:`次の行`,close:`閉じる`},cell:{copy:`コピー`,cut:`切り取り`,paste:`貼り付け`,clear:`クリア`,clearContents:`内容をクリア`,notNumber:`数値ではありません。数字で入力し、小数点にはピリオドを使ってください:1234.5`,notDate:`日付ではありません。2026-10-14 または 2026-10-14T09:30 の形式で入力してください`,notEmail:`メールアドレスではありません`,notUrl:`アドレスにスペースは使えません`,open:`開く`,left:e=>`${String(e)} 個の値が列の形式に合わないため、貼り付けませんでした。`,pasteHint:`⌘V で貼り付けてください。`},files:{notFound:`見つかりません`,insert:`ファイルを挿入…`,add:`ファイルを追加`,adding:e=>`${String(e)} 個のファイルを追加中…`,tooLarge:(e,t)=>`${e} は ${String(t)} MB を超えているため、追加しませんでした。`,failed:e=>`${e} を追加できませんでした。`,notHere:`ファイルを入れられるのは添付ファイルの列だけです。先に列の表示形式を「添付ファイル」にしてください。`,remove:`セルから削除`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`前のファイル`,next:`次のファイル`,open:`新しいタブで開く`,close:`閉じる`},review:{count:(e,t,n,r)=>Au(e,`が${ju(t,n,r)}を変更しました`),keepAll:`すべて残す`,undoAll:`すべて元に戻す`,keep:`残す`,undo:`元に戻す`,was:`変更前`,added:e=>Au(e,`が追加`),changed:e=>Au(e,`が変更`),away:`前回の確認以降に変更`,countAway:(e,t,n)=>`前回の確認以降、${ju(e,t,n)}が変更されました`,empty:`空`,next:`次へ`,previous:`前へ`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} 個のセルが双方で変更されました。あなたの変更を残しています。`},date:{placeholder:`2026-10-14、2026年10月14日、today…`,today:`今日`,previousMonth:`前の月`,nextMonth:`次の月`,clear:`クリア`,addTime:`時刻を追加`,removeTime:`時刻を削除`,time:`時刻`},empty:{title:`まだ行がありません`,addRow:`行を追加`,paste:`行を貼り付け`,pasteHint:`Excel や Google スプレッドシートで行をコピーし、ここで ⌘V を押してください。`,importFile:`ファイルを読み込む`,noMatch:`表示する行がありません`,noMatchBody:`フィルターですべての行が除外されています。`,clearFilter:`フィルターをクリア`}},Nu=(e,t,n)=>[e>0?`셀 ${String(e)}개`:``,t>0?`행 ${String(t)}개`:``,n>0?`열 ${String(n)}개`:``].filter(e=>e!==``).join(`, `),Pu=e=>{let t=e.replace(/[^\p{L}\p{N}]+$/u,``),n=t.charCodeAt(t.length-1);return`${e}${(n>=44032&&n<=55203?(n-44032)%28!=0:/\d$/u.test(t)?/[013678]$/u.test(t):/(ng|[lmnkpt])$/iu.test(t))?`이`:`가`}`},Fu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`여는 중…`,unreadable:`지금은 이 시트를 편집할 수 없습니다. 파일이 시트에서 읽을 수 있는 CSV가 아닙니다. 문제는 다음과 같습니다.`,readOnlyLarge:e=>`이 시트는 ${e} MB라서 여기서는 보기만 할 수 있고 편집할 수 없습니다.`,untitled:`제목 없음`,saved:`저장됨`,saving:`저장 중…`,unsaved:`저장 안 됨`,failed:`저장하지 못함`,rows:(e,t)=>e===t?`${t.toLocaleString(`ko`)}행`:`${t.toLocaleString(`ko`)}행 중 ${e.toLocaleString(`ko`)}행`,find:`찾기`,findPlaceholder:`시트에서 찾기`,matches:e=>`${String(e)}개 일치`,types:{text:`텍스트`,number:`숫자`,select:`드롭다운 목록`,"multi-select":`다중 선택 목록`,date:`날짜`,checkbox:`확인란`,url:`링크`,email:`이메일`,phone:`전화번호`,file:`파일`},auto:{button:e=>`${e} 정렬 및 필터`,sortAsc:{text:`텍스트 오름차순 정렬`,number:`숫자 오름차순 정렬`,date:`오래된 날짜순 정렬`,options:`옵션 순서대로 정렬`},sortDesc:{text:`텍스트 내림차순 정렬`,number:`숫자 내림차순 정렬`,date:`최근 날짜순 정렬`,options:`옵션 역순으로 정렬`},search:`검색`,selectAll:`(모두 선택)`,selectFound:`(검색 결과 모두 선택)`,blanks:`(필드 값 없음)`,checked:`선택됨`,unchecked:`선택 안 됨`,hasFile:`파일 있음`,more:e=>`${e.toLocaleString(`ko`)}개 더 있습니다. 검색하여 찾으세요.`,none:`일치하는 값이 없습니다.`,clear:`필터 해제`,ok:`확인`},look:{sorted:e=>`${e} 기준 정렬됨`,filtered:e=>e.length===1?`${e[0]??``} 기준 필터링됨`:`열 ${String(e.length)}개 기준 필터링됨`,hidden:e=>`열 ${String(e)}개 숨김`,clear:`해제`,note:`이 정렬과 필터는 나에게만 보입니다.`},replace:{label:`바꾸기`,with:`바꿀 내용`,one:`바꾸기`,all:`모두 바꾸기`,done:e=>`셀 ${String(e)}개에서 바꿨습니다.`},stats:{average:`평균`,count:`개수`,sum:`합계`},column:{name:`열 이름`,key:`키 열: 행마다 고유한 값을 가집니다`,add:`열 추가`,rename:`이름 바꾸기`,format:`서식`,formats:{text:`텍스트`,number:`숫자`,currency:`통화`,percent:`백분율`,date:`날짜`,checkbox:`확인란`,list:`드롭다운 목록`,file:`첨부 파일`},addOption:`옵션 추가`,newOption:e=>`“${e}” 추가`,confirm:`삭제`,cancel:`취소`,hide:`열 숨기기`,insertLeft:`왼쪽에 열 삽입`,insertRight:`오른쪽에 열 삽입`,remove:`열 삭제`,removeAsk:(e,t)=>`“${e}” 열과 그 값 ${t.toLocaleString(`ko`)}개를 삭제할까요? 실행 취소할 수 있습니다.`,taken:`같은 이름의 열이 이미 있습니다.`,empty:`열 이름을 입력하세요.`,newName:e=>e===1?`열`:`열 ${String(e)}`},row:{numbered:e=>`${String(e)}행`,inFile:e=>`파일의 ${String(e)}행`,of:(e,t)=>`${String(t)}행 중 ${String(e)}행`,hiddenFields:`숨긴 열`,insertAbove:`위에 행 삽입`,insertBelow:`아래에 행 삽입`,remove:e=>e===1?`행 삭제`:`행 ${String(e)}개 삭제`,expand:`행 열기`,newRow:`새 행`,record:`행`,previous:`이전 행`,next:`다음 행`,close:`닫기`},cell:{copy:`복사`,cut:`잘라내기`,paste:`붙여넣기`,clear:`지우기`,clearContents:`내용 지우기`,notNumber:`숫자가 아닙니다. 숫자로 쓰고 소수는 점을 사용하세요: 1234.5`,notDate:`날짜가 아닙니다. 2026-10-14 또는 2026-10-14T09:30 형식으로 쓰세요`,notEmail:`이메일 주소가 아닙니다`,notUrl:`주소에는 공백을 쓸 수 없습니다`,open:`열기`,left:e=>`값 ${String(e)}개가 열에 맞지 않아 제외되었습니다.`,pasteHint:`붙여넣으려면 ⌘V를 사용하세요.`},files:{notFound:`찾을 수 없음`,insert:`파일 삽입…`,add:`파일 추가`,adding:e=>`파일 ${String(e)}개 추가 중…`,tooLarge:(e,t)=>`${e} 파일이 ${String(t)} MB를 넘어 추가하지 않았습니다.`,failed:e=>`${e} 파일을 추가하지 못했습니다.`,notHere:`첨부 파일 열에만 파일을 넣을 수 있습니다. 먼저 열 서식을 첨부 파일로 설정하세요.`,remove:`셀에서 제거`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`이전 파일`,next:`다음 파일`,open:`새 탭에서 열기`,close:`닫기`},review:{count:(e,t,n,r)=>`${Pu(e)} 변경함: ${Nu(t,n,r)}`,keepAll:`모두 유지`,undoAll:`모두 실행 취소`,keep:`유지`,undo:`실행 취소`,was:`이전`,added:e=>`${Pu(e)} 추가함`,changed:e=>`${Pu(e)} 변경함`,away:`마지막으로 본 뒤 변경됨`,countAway:(e,t,n)=>`마지막으로 본 뒤 변경됨: ${Nu(e,t,n)}`,empty:`비어 있음`,next:`다음`,previous:`이전`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`셀 ${String(e)}개를 양쪽에서 모두 바꿨습니다. 내 변경 사항을 유지했습니다.`},date:{placeholder:`2026-10-14, 2026.10.14, today…`,today:`오늘`,previousMonth:`이전 달`,nextMonth:`다음 달`,clear:`지우기`,addTime:`시간 추가`,removeTime:`시간 제거`,time:`시간`},empty:{title:`아직 행이 없습니다`,addRow:`행 추가`,paste:`행 붙여넣기`,pasteHint:`Excel이나 Google Sheets에서 행을 복사한 뒤 여기서 ⌘V를 누르세요.`,importFile:`파일 가져오기`,noMatch:`표시할 행이 없습니다`,noMatchBody:`필터 때문에 모든 행이 제외되었습니다.`,clearFilter:`필터 해제`}},Iu=(e,t,n)=>[e>0?`${String(e)} ${e===1?`célula`:`células`}`:``,t>0?`${String(t)} ${t===1?`linha`:`linhas`}`:``,n>0?`${String(n)} ${n===1?`coluna`:`colunas`}`:``].filter(e=>e!==``).join(`, `),Lu=e=>e.toLocaleString(`pt-BR`),Ru={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Abrindo…`,unreadable:`Não é possível editar esta planilha agora: o arquivo dela não é um CSV que uma planilha consiga ler. Veja o que está errado.`,readOnlyLarge:e=>`Esta planilha tem ${e} MB: aqui ela é mostrada, não editada.`,untitled:`Sem título`,saved:`Salvo`,saving:`Salvando…`,unsaved:`Não salvo`,failed:`Não foi salvo`,rows:(e,t)=>e===t?`${Lu(t)} ${t===1?`linha`:`linhas`}`:`${Lu(e)} de ${Lu(t)} linhas`,find:`Localizar`,findPlaceholder:`Localizar na planilha`,matches:e=>e===1?`1 resultado`:`${String(e)} resultados`,types:{text:`Texto`,number:`Número`,select:`Lista suspensa`,"multi-select":`Seleção múltipla`,date:`Data`,checkbox:`Caixa de seleção`,url:`Link`,email:`Email`,phone:`Telefone`,file:`Arquivo`},auto:{button:e=>`Classificar e filtrar ${e}`,sortAsc:{text:`Classificar de A a Z`,number:`Classificar do menor para o maior`,date:`Classificar do mais antigo para o mais novo`,options:`Classificar na ordem das opções`},sortDesc:{text:`Classificar de Z a A`,number:`Classificar do maior para o menor`,date:`Classificar do mais novo para o mais antigo`,options:`Classificar na ordem inversa das opções`},search:`Pesquisar`,selectAll:`(Selecionar tudo)`,selectFound:`(Selecionar todos os resultados da pesquisa)`,blanks:`(Vazias)`,checked:`Marcada`,unchecked:`Desmarcada`,hasFile:`Tem arquivo`,more:e=>`Mais ${Lu(e)}. Pesquise para encontrá-los.`,none:`Nenhum valor corresponde.`,clear:`Limpar filtro`,ok:`OK`},look:{sorted:e=>`Classificado por ${e}`,filtered:e=>e.length===1?`Filtrado por ${e[0]??``}`:`Filtrado por ${String(e.length)} colunas`,hidden:e=>e===1?`1 coluna oculta`:`${String(e)} colunas ocultas`,clear:`Limpar`,note:`Só você vê esta classificação e este filtro.`},replace:{label:`Substituir`,with:`Substituir por`,one:`Substituir`,all:`Substituir tudo`,done:e=>`Substituído em ${String(e)} ${e===1?`célula`:`células`}.`},stats:{average:`Média`,count:`Contagem`,sum:`Soma`},column:{name:`Nome da coluna`,key:`Coluna-chave: o valor de cada linha é único`,add:`Adicionar uma coluna`,rename:`Renomear`,format:`Formato`,formats:{text:`Texto`,number:`Número`,currency:`Moeda`,percent:`Porcentagem`,date:`Data`,checkbox:`Caixa de seleção`,list:`Lista suspensa`,file:`Anexo`},addOption:`Adicionar uma opção`,newOption:e=>`Adicionar “${e}”`,confirm:`Excluir`,cancel:`Cancelar`,hide:`Ocultar coluna`,insertLeft:`Inserir coluna à esquerda`,insertRight:`Inserir coluna à direita`,remove:`Excluir coluna`,removeAsk:(e,t)=>`Excluir “${e}” e ${t===1?`seu valor`:`seus ${Lu(t)} valores`}? Você pode desfazer.`,taken:`Outra coluna já tem este nome.`,empty:`Uma coluna precisa de um nome.`,newName:e=>e===1?`Coluna`:`Coluna ${String(e)}`},row:{numbered:e=>`Linha ${String(e)}`,inFile:e=>`Linha ${String(e)} no arquivo`,of:(e,t)=>`Linha ${String(e)} de ${String(t)}`,hiddenFields:`Colunas ocultas`,insertAbove:`Inserir linha acima`,insertBelow:`Inserir linha abaixo`,remove:e=>e===1?`Excluir linha`:`Excluir ${String(e)} linhas`,expand:`Abrir linha`,newRow:`Nova linha`,record:`Linha`,previous:`Linha anterior`,next:`Próxima linha`,close:`Fechar`},cell:{copy:`Copiar`,cut:`Recortar`,paste:`Colar`,clear:`Limpar`,clearContents:`Limpar conteúdo`,notNumber:`Não é um número. Escreva algarismos, com ponto para decimais: 1234.5`,notDate:`Não é uma data. Escreva 2026-10-14 ou 2026-10-14T09:30`,notEmail:`Não é um endereço de email`,notUrl:`Um endereço não tem espaços`,open:`Abrir`,left:e=>e===1?`1 valor não cabia na coluna e ficou de fora.`:`${String(e)} valores não cabiam nas colunas e ficaram de fora.`,pasteHint:`Use ⌘V para colar.`},files:{notFound:`Não encontrado`,insert:`Inserir arquivo…`,add:`Adicionar arquivo`,adding:e=>e===1?`Adicionando 1 arquivo…`:`Adicionando ${String(e)} arquivos…`,tooLarge:(e,t)=>`${e} tem mais de ${String(t)} MB e não foi adicionado.`,failed:e=>`Não foi possível adicionar ${e}.`,notHere:`Só uma coluna de anexos guarda arquivos. Primeiro defina o formato da coluna como Anexo.`,remove:`Remover da célula`,of:(e,t)=>`${String(e)} de ${String(t)}`,previous:`Arquivo anterior`,next:`Próximo arquivo`,open:`Abrir em uma nova aba`,close:`Fechar`},review:{count:(e,t,n,r)=>`O ${e} alterou ${Iu(t,n,r)}`,keepAll:`Manter tudo`,undoAll:`Desfazer tudo`,keep:`Manter`,undo:`Desfazer`,was:`Antes`,added:e=>`Adicionado pelo ${e}`,changed:e=>`Alterado pelo ${e}`,away:`Alterado desde a última vez que você olhou`,countAway:(e,t,n)=>`Desde a última vez que você olhou: alterações em ${Iu(e,t,n)}`,empty:`vazio`,next:`Próxima`,previous:`Anterior`,position:(e,t)=>`${String(e)} de ${String(t)}`,conflicts:e=>e===1?`1 célula foi alterada por vocês dois: a sua versão foi mantida.`:`${String(e)} células foram alteradas por vocês dois: as suas versões foram mantidas.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Hoje`,previousMonth:`Mês anterior`,nextMonth:`Próximo mês`,clear:`Limpar`,addTime:`Adicionar um horário`,removeTime:`Remover o horário`,time:`Horário`},empty:{title:`Nenhuma linha ainda`,addRow:`Adicionar uma linha`,paste:`Colar linhas`,pasteHint:`Copie linhas no Excel ou no Planilhas Google e pressione ⌘V aqui.`,importFile:`Importar um arquivo`,noMatch:`Nenhuma linha para mostrar`,noMatchBody:`O filtro deixa todas as linhas de fora.`,clearFilter:`Limpar o filtro`}},zu=new Intl.PluralRules(`ru`),Bu=(e,t,n,r)=>{let i=zu.select(e);return i===`one`?t:i===`many`?r:n},Vu=(e,t,n,r)=>`${e.toLocaleString(`ru`)} ${Bu(e,t,n,r)}`,Hu=(e,t,n)=>[e>0?Vu(e,`ячейка`,`ячейки`,`ячеек`):``,t>0?Vu(t,`строка`,`строки`,`строк`):``,n>0?Vu(n,`столбец`,`столбца`,`столбцов`):``].filter(e=>e!==``).join(`, `),Uu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Открытие…`,unreadable:`Сейчас эту таблицу нельзя редактировать: её файл не является CSV, который может прочитать таблица. Вот что не так.`,readOnlyLarge:e=>`Размер таблицы — ${e} MB: здесь её можно только просматривать.`,untitled:`Без названия`,saved:`Сохранено`,saving:`Сохранение…`,unsaved:`Не сохранено`,failed:`Не сохранено`,rows:(e,t)=>e===t?Vu(t,`строка`,`строки`,`строк`):`${e.toLocaleString(`ru`)} из ${Vu(t,`строки`,`строк`,`строк`)}`,find:`Найти`,findPlaceholder:`Найти в таблице`,matches:e=>Vu(e,`совпадение`,`совпадения`,`совпадений`),types:{text:`Текст`,number:`Число`,select:`Раскрывающийся список`,"multi-select":`Список с несколькими значениями`,date:`Дата`,checkbox:`Флажок`,url:`Ссылка`,email:`Эл. почта`,phone:`Телефон`,file:`Файл`},auto:{button:e=>`Сортировка и фильтр: ${e}`,sortAsc:{text:`Сортировка от А до Я`,number:`Сортировка от минимального к максимальному`,date:`Сортировка от старых к новым`,options:`Сортировка в порядке вариантов`},sortDesc:{text:`Сортировка от Я до А`,number:`Сортировка от максимального к минимальному`,date:`Сортировка от новых к старым`,options:`Сортировка в обратном порядке вариантов`},search:`Поиск`,selectAll:`(Выделить все)`,selectFound:`(Выделить все результаты поиска)`,blanks:`(Пустые)`,checked:`Отмечено`,unchecked:`Не отмечено`,hasFile:`Есть файл`,more:e=>`Ещё ${e.toLocaleString(`ru`)}. Воспользуйтесь поиском.`,none:`Нет подходящих значений.`,clear:`Удалить фильтр`,ok:`ОК`},look:{sorted:e=>`Сортировка: ${e}`,filtered:e=>e.length===1?`Фильтр: ${e[0]??``}`:`Фильтр по ${Vu(e.length,`столбцу`,`столбцам`,`столбцам`)}`,hidden:e=>`Скрыто: ${Vu(e,`столбец`,`столбца`,`столбцов`)}`,clear:`Сбросить`,note:`Эту сортировку и фильтр видите только вы.`},replace:{label:`Заменить`,with:`Заменить на`,one:`Заменить`,all:`Заменить все`,done:e=>`Заменено в ${Vu(e,`ячейке`,`ячейках`,`ячейках`)}.`},stats:{average:`Среднее`,count:`Количество`,sum:`Сумма`},column:{name:`Имя столбца`,key:`Ключевой столбец: значение в каждой строке своё`,add:`Добавить столбец`,rename:`Переименовать`,format:`Формат`,formats:{text:`Текст`,number:`Число`,currency:`Валюта`,percent:`Процент`,date:`Дата`,checkbox:`Флажок`,list:`Раскрывающийся список`,file:`Вложение`},addOption:`Добавить вариант`,newOption:e=>`Добавить «${e}»`,confirm:`Удалить`,cancel:`Отменить`,hide:`Скрыть столбец`,insertLeft:`Вставить столбец слева`,insertRight:`Вставить столбец справа`,remove:`Удалить столбец`,removeAsk:(e,t)=>`Удалить «${e}» и ${t===1?`его значение`:`его ${Vu(t,`значение`,`значения`,`значений`)}`}? Это можно отменить.`,taken:`Столбец с таким именем уже есть.`,empty:`У столбца должно быть имя.`,newName:e=>e===1?`Столбец`:`Столбец ${String(e)}`},row:{numbered:e=>`Строка ${String(e)}`,inFile:e=>`Строка ${String(e)} в файле`,of:(e,t)=>`Строка ${String(e)} из ${String(t)}`,hiddenFields:`Скрытые столбцы`,insertAbove:`Вставить строку выше`,insertBelow:`Вставить строку ниже`,remove:e=>e===1?`Удалить строку`:`Удалить ${Vu(e,`строку`,`строки`,`строк`)}`,expand:`Открыть строку`,newRow:`Новая строка`,record:`Строка`,previous:`Предыдущая строка`,next:`Следующая строка`,close:`Закрыть`},cell:{copy:`Скопировать`,cut:`Вырезать`,paste:`Вставить`,clear:`Очистить`,clearContents:`Очистить содержимое`,notNumber:`Это не число. Пишите цифры, дробную часть — через точку: 1234.5`,notDate:`Это не дата. Пишите 2026-10-14 или 2026-10-14T09:30`,notEmail:`Это не адрес электронной почты`,notUrl:`В адресе не может быть пробелов`,open:`Открыть`,left:e=>e===1?`1 значение не подошло к своему столбцу и не вставлено.`:`${Vu(e,`значение`,`значения`,`значений`)} не подошли к своим столбцам и не вставлены.`,pasteHint:`Чтобы вставить, нажмите ⌘V.`},files:{notFound:`Не найден`,insert:`Вставить файл…`,add:`Добавить файл`,adding:e=>`Добавление: ${Vu(e,`файл`,`файла`,`файлов`)}…`,tooLarge:(e,t)=>`${e} больше ${String(t)} MB и не добавлен.`,failed:e=>`Не удалось добавить ${e}.`,notHere:`Файлы можно хранить только в столбце вложений. Сначала задайте столбцу формат «Вложение».`,remove:`Удалить из ячейки`,of:(e,t)=>`${String(e)} из ${String(t)}`,previous:`Предыдущий файл`,next:`Следующий файл`,open:`Открыть в новой вкладке`,close:`Закрыть`},review:{count:(e,t,n,r)=>`${e} изменил: ${Hu(t,n,r)}`,keepAll:`Оставить все`,undoAll:`Отменить все`,keep:`Оставить`,undo:`Отменить`,was:`Было`,added:e=>`Добавил ${e}`,changed:e=>`Изменил ${e}`,away:`Изменено с вашего последнего просмотра`,countAway:(e,t,n)=>`С вашего последнего просмотра изменено: ${Hu(e,t,n)}`,empty:`пусто`,next:`Следующее`,previous:`Предыдущее`,position:(e,t)=>`${String(e)} из ${String(t)}`,conflicts:e=>`${e===1?`1 ячейку`:Vu(e,`ячейку`,`ячейки`,`ячеек`)} изменили вы оба: оставлены ваши значения.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Сегодня`,previousMonth:`Предыдущий месяц`,nextMonth:`Следующий месяц`,clear:`Очистить`,addTime:`Добавить время`,removeTime:`Убрать время`,time:`Время`},empty:{title:`Строк пока нет`,addRow:`Добавить строку`,paste:`Вставить строки`,pasteHint:`Скопируйте строки в Excel или Google Таблицах и нажмите здесь ⌘V.`,importFile:`Импортировать файл`,noMatch:`Нет строк для показа`,noMatchBody:`Фильтр скрывает все строки.`,clearFilter:`Удалить фильтр`}},Wu=(e,t,n)=>[e>0?`${String(e)} เซลล์`:``,t>0?`${String(t)} แถว`:``,n>0?`${String(n)} คอลัมน์`:``].filter(e=>e!==``).join(`, `),Gu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`กำลังเปิด…`,unreadable:`ยังแก้ไขชีตนี้ไม่ได้ในตอนนี้ เพราะไฟล์ไม่ใช่ CSV ที่ชีตอ่านได้ ปัญหามีดังนี้`,readOnlyLarge:e=>`ชีตนี้มีขนาด ${e} MB จึงแสดงได้อย่างเดียว แก้ไขที่นี่ไม่ได้`,untitled:`ไม่มีชื่อ`,saved:`บันทึกแล้ว`,saving:`กำลังบันทึก…`,unsaved:`ยังไม่ได้บันทึก`,failed:`บันทึกไม่สำเร็จ`,rows:(e,t)=>e===t?`${t.toLocaleString(`th`)} แถว`:`${e.toLocaleString(`th`)} จาก ${t.toLocaleString(`th`)} แถว`,find:`ค้นหา`,findPlaceholder:`ค้นหาในชีต`,matches:e=>`ตรงกัน ${String(e)} รายการ`,types:{text:`ข้อความ`,number:`ตัวเลข`,select:`รายการดรอปดาวน์`,"multi-select":`รายการหลายค่า`,date:`วันที่`,checkbox:`กล่องกาเครื่องหมาย`,url:`ลิงก์`,email:`อีเมล`,phone:`โทรศัพท์`,file:`ไฟล์`},auto:{button:e=>`เรียงลำดับและกรอง ${e}`,sortAsc:{text:`เรียงลำดับจาก A ถึง Z`,number:`เรียงลำดับจากน้อยที่สุดไปหามากที่สุด`,date:`เรียงลำดับจากเก่าที่สุดไปหาใหม่ที่สุด`,options:`เรียงลำดับตามตัวเลือก`},sortDesc:{text:`เรียงลำดับจาก Z ถึง A`,number:`เรียงลำดับจากมากที่สุดไปหาน้อยที่สุด`,date:`เรียงลำดับจากใหม่ที่สุดไปหาเก่าที่สุด`,options:`เรียงลำดับย้อนกลับตามตัวเลือก`},search:`ค้นหา`,selectAll:`(เลือกทั้งหมด)`,selectFound:`(เลือกผลการค้นหาทั้งหมด)`,blanks:`(ช่องว่าง)`,checked:`เลือกแล้ว`,unchecked:`ไม่ได้เลือก`,hasFile:`มีไฟล์`,more:e=>`อีก ${e.toLocaleString(`th`)} รายการ ค้นหาเพื่อดู`,none:`ไม่มีค่าที่ตรงกัน`,clear:`ล้างตัวกรอง`,ok:`ตกลง`},look:{sorted:e=>`เรียงลำดับตาม ${e}`,filtered:e=>e.length===1?`กรองตาม ${e[0]??``}`:`กรองตาม ${String(e.length)} คอลัมน์`,hidden:e=>`ซ่อน ${String(e)} คอลัมน์`,clear:`ล้าง`,note:`การเรียงลำดับและการกรองนี้เห็นเฉพาะคุณ`},replace:{label:`แทนที่`,with:`แทนที่ด้วย`,one:`แทนที่`,all:`แทนที่ทั้งหมด`,done:e=>`แทนที่แล้วใน ${String(e)} เซลล์`},stats:{average:`ค่าเฉลี่ย`,count:`จำนวนนับ`,sum:`ผลรวม`},column:{name:`ชื่อคอลัมน์`,key:`คอลัมน์คีย์: ค่าในแต่ละแถวต้องไม่ซ้ำกัน`,add:`เพิ่มคอลัมน์`,rename:`เปลี่ยนชื่อ`,format:`รูปแบบ`,formats:{text:`ข้อความ`,number:`ตัวเลข`,currency:`สกุลเงิน`,percent:`เปอร์เซ็นต์`,date:`วันที่`,checkbox:`กล่องกาเครื่องหมาย`,list:`รายการดรอปดาวน์`,file:`ไฟล์แนบ`},addOption:`เพิ่มตัวเลือก`,newOption:e=>`เพิ่ม “${e}”`,confirm:`ลบ`,cancel:`ยกเลิก`,hide:`ซ่อนคอลัมน์`,insertLeft:`แทรกคอลัมน์ทางซ้าย`,insertRight:`แทรกคอลัมน์ทางขวา`,remove:`ลบคอลัมน์`,removeAsk:(e,t)=>`ลบ “${e}” และค่าทั้ง ${t.toLocaleString(`th`)} ค่าหรือไม่ คุณเลิกทำได้`,taken:`มีคอลัมน์อื่นใช้ชื่อนี้แล้ว`,empty:`คอลัมน์ต้องมีชื่อ`,newName:e=>e===1?`คอลัมน์`:`คอลัมน์ ${String(e)}`},row:{numbered:e=>`แถว ${String(e)}`,inFile:e=>`แถว ${String(e)} ในไฟล์`,of:(e,t)=>`แถว ${String(e)} จาก ${String(t)}`,hiddenFields:`คอลัมน์ที่ซ่อน`,insertAbove:`แทรกแถวด้านบน`,insertBelow:`แทรกแถวด้านล่าง`,remove:e=>e===1?`ลบแถว`:`ลบ ${String(e)} แถว`,expand:`เปิดแถว`,newRow:`แถวใหม่`,record:`แถว`,previous:`แถวก่อนหน้า`,next:`แถวถัดไป`,close:`ปิด`},cell:{copy:`คัดลอก`,cut:`ตัด`,paste:`วาง`,clear:`ล้าง`,clearContents:`ล้างเนื้อหา`,notNumber:`ไม่ใช่ตัวเลข ใช้ตัวเลขและจุดทศนิยม เช่น 1234.5`,notDate:`ไม่ใช่วันที่ ใช้รูปแบบ 2026-10-14 หรือ 2026-10-14T09:30`,notEmail:`ไม่ใช่ที่อยู่อีเมล`,notUrl:`ที่อยู่ต้องไม่มีช่องว่าง`,open:`เปิด`,left:e=>`${String(e)} ค่าไม่ตรงกับคอลัมน์ จึงไม่ได้ใส่`,pasteHint:`ใช้ ⌘V เพื่อวาง`},files:{notFound:`ไม่พบไฟล์`,insert:`แทรกไฟล์…`,add:`เพิ่มไฟล์`,adding:e=>`กำลังเพิ่ม ${String(e)} ไฟล์…`,tooLarge:(e,t)=>`${e} มีขนาดเกิน ${String(t)} MB จึงไม่ได้เพิ่ม`,failed:e=>`เพิ่ม ${e} ไม่สำเร็จ`,notHere:`เฉพาะคอลัมน์ไฟล์แนบเท่านั้นที่เก็บไฟล์ได้ ตั้งรูปแบบของคอลัมน์เป็นไฟล์แนบก่อน`,remove:`เอาออกจากเซลล์`,of:(e,t)=>`${String(e)} จาก ${String(t)}`,previous:`ไฟล์ก่อนหน้า`,next:`ไฟล์ถัดไป`,open:`เปิดในแท็บใหม่`,close:`ปิด`},review:{count:(e,t,n,r)=>`${e} เปลี่ยน ${Wu(t,n,r)}`,keepAll:`เก็บทั้งหมด`,undoAll:`เลิกทำทั้งหมด`,keep:`เก็บ`,undo:`เลิกทำ`,was:`ก่อนหน้า`,added:e=>`เพิ่มโดย ${e}`,changed:e=>`เปลี่ยนโดย ${e}`,away:`เปลี่ยนไปหลังจากที่คุณดูครั้งล่าสุด`,countAway:(e,t,n)=>`หลังจากที่คุณดูครั้งล่าสุด: เปลี่ยนไป ${Wu(e,t,n)}`,empty:`ว่าง`,next:`ถัดไป`,previous:`ก่อนหน้า`,position:(e,t)=>`${String(e)} จาก ${String(t)}`,conflicts:e=>`${String(e)} เซลล์ถูกเปลี่ยนโดยทั้งสองฝ่าย จึงเก็บของคุณไว้`},date:{placeholder:`2026-10-14, today, Oct 14…`,today:`วันนี้`,previousMonth:`เดือนก่อนหน้า`,nextMonth:`เดือนถัดไป`,clear:`ล้าง`,addTime:`เพิ่มเวลา`,removeTime:`เอาเวลาออก`,time:`เวลา`},empty:{title:`ยังไม่มีแถว`,addRow:`เพิ่มแถว`,paste:`วางแถว`,pasteHint:`คัดลอกแถวใน Excel หรือ Google Sheets แล้วกด ⌘V ที่นี่`,importFile:`นำเข้าไฟล์`,noMatch:`ไม่มีแถวให้แสดง`,noMatchBody:`ตัวกรองซ่อนทุกแถวไว้`,clearFilter:`ล้างตัวกรอง`}},Ku=(e,t,n)=>[e>0?`${String(e)} hücre`:``,t>0?`${String(t)} satır`:``,n>0?`${String(n)} sütun`:``].filter(e=>e!==``).join(`, `),qu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Açılıyor…`,unreadable:`Bu tablo şu anda düzenlenemiyor: dosyası, bir tablonun okuyabileceği CSV değil. Sorunlar aşağıda.`,readOnlyLarge:e=>`Bu tablo ${e} MB: burada yalnızca gösterilir, düzenlenmez.`,untitled:`Adsız`,saved:`Kaydedildi`,saving:`Kaydediliyor…`,unsaved:`Kaydedilmedi`,failed:`Kaydedilemedi`,rows:(e,t)=>e===t?`${t.toLocaleString(`tr`)} satır`:`${t.toLocaleString(`tr`)} satırdan ${e.toLocaleString(`tr`)}`,find:`Bul`,findPlaceholder:`Tabloda bul`,matches:e=>`${String(e)} eşleşme`,types:{text:`Metin`,number:`Sayı`,select:`Açılır liste`,"multi-select":`Çoklu seçim listesi`,date:`Tarih`,checkbox:`Onay kutusu`,url:`Bağlantı`,email:`E-posta`,phone:`Telefon`,file:`Dosya`},auto:{button:e=>`Sırala ve filtre uygula: ${e}`,sortAsc:{text:`A'dan Z'ye sırala`,number:`Küçükten büyüğe sırala`,date:`Eskiden yeniye sırala`,options:`Seçenek sırasına göre sırala`},sortDesc:{text:`Z'den A'ya sırala`,number:`Büyükten küçüğe sırala`,date:`Yeniden eskiye sırala`,options:`Ters seçenek sırasına göre sırala`},search:`Ara`,selectAll:`(Tümünü seç)`,selectFound:`(Tüm arama sonuçlarını seç)`,blanks:`(Boş)`,checked:`İşaretli`,unchecked:`İşaretsiz`,hasFile:`Dosyası var`,more:e=>`${e.toLocaleString(`tr`)} tane daha. Bulmak için arayın.`,none:`Eşleşen değer yok.`,clear:`Filtreyi temizle`,ok:`Tamam`},look:{sorted:e=>`Sıralama: ${e}`,filtered:e=>e.length===1?`Filtre: ${e[0]??``}`:`${String(e.length)} sütunda filtre`,hidden:e=>`${String(e)} sütun gizli`,clear:`Temizle`,note:`Bu sıralamayı ve filtreyi yalnızca siz görürsünüz.`},replace:{label:`Değiştir`,with:`Yeni değer`,one:`Değiştir`,all:`Tümünü değiştir`,done:e=>`${String(e)} hücrede değiştirildi.`},stats:{average:`Ortalama`,count:`Sayım`,sum:`Toplam`},column:{name:`Sütun adı`,key:`Anahtar sütun: her satırın değeri kendine özgüdür`,add:`Sütun ekle`,rename:`Yeniden adlandır`,format:`Biçim`,formats:{text:`Metin`,number:`Sayı`,currency:`Para birimi`,percent:`Yüzde`,date:`Tarih`,checkbox:`Onay kutusu`,list:`Açılır liste`,file:`Ek`},addOption:`Seçenek ekle`,newOption:e=>`“${e}” ekle`,confirm:`Sil`,cancel:`Vazgeç`,hide:`Sütunu gizle`,insertLeft:`Sola sütun ekle`,insertRight:`Sağa sütun ekle`,remove:`Sütunu sil`,removeAsk:(e,t)=>`“${e}” ve içindeki ${t.toLocaleString(`tr`)} değer silinsin mi? Geri alabilirsiniz.`,taken:`Bu ad başka bir sütunda kullanılıyor.`,empty:`Sütunun bir adı olmalı.`,newName:e=>e===1?`Sütun`:`Sütun ${String(e)}`},row:{numbered:e=>`Satır ${String(e)}`,inFile:e=>`Dosyada satır ${String(e)}`,of:(e,t)=>`Satır ${String(e)} / ${String(t)}`,hiddenFields:`Gizli sütunlar`,insertAbove:`Üste satır ekle`,insertBelow:`Alta satır ekle`,remove:e=>e===1?`Satırı sil`:`${String(e)} satırı sil`,expand:`Satırı aç`,newRow:`Yeni satır`,record:`Satır`,previous:`Önceki satır`,next:`Sonraki satır`,close:`Kapat`},cell:{copy:`Kopyala`,cut:`Kes`,paste:`Yapıştır`,clear:`Temizle`,clearContents:`İçeriği temizle`,notNumber:`Sayı değil. Rakamlarla, ondalık için nokta kullanarak yazın: 1234.5`,notDate:`Tarih değil. 2026-10-14 ya da 2026-10-14T09:30 yazın`,notEmail:`E-posta adresi değil`,notUrl:`Adreste boşluk olmaz`,open:`Aç`,left:e=>`${String(e)} değer sütununa uymadığı için dışarıda bırakıldı.`,pasteHint:`Yapıştırmak için ⌘V kullanın.`},files:{notFound:`Bulunamadı`,insert:`Dosya ekle…`,add:`Dosya ekle`,adding:e=>`${String(e)} dosya ekleniyor…`,tooLarge:(e,t)=>`${e} ${String(t)} MB'tan büyük olduğu için eklenmedi.`,failed:e=>`${e} eklenemedi.`,notHere:`Dosyaları yalnızca ek sütunu tutar. Önce sütunun biçimini Ek olarak ayarlayın.`,remove:`Hücreden kaldır`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`Önceki dosya`,next:`Sonraki dosya`,open:`Yeni sekmede aç`,close:`Kapat`},review:{count:(e,t,n,r)=>`${e} değiştirdi: ${Ku(t,n,r)}`,keepAll:`Tümünü koru`,undoAll:`Tümünü geri al`,keep:`Koru`,undo:`Geri al`,was:`Önce`,added:e=>`${e} ekledi`,changed:e=>`${e} değiştirdi`,away:`Son baktığınızdan beri değişti`,countAway:(e,t,n)=>`Son baktığınızdan beri değişen: ${Ku(e,t,n)}`,empty:`boş`,next:`Sonraki`,previous:`Önceki`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} hücreyi ikiniz de değiştirdiniz: sizinkiler korundu.`},date:{placeholder:`2026-10-14, 2026.10.14…`,today:`Bugün`,previousMonth:`Önceki ay`,nextMonth:`Sonraki ay`,clear:`Temizle`,addTime:`Saat ekle`,removeTime:`Saati kaldır`,time:`Saat`},empty:{title:`Henüz satır yok`,addRow:`Satır ekle`,paste:`Satırları yapıştır`,pasteHint:`Satırları Excel'de ya da Google E-Tablolar'da kopyalayın, sonra burada ⌘V'ye basın.`,importFile:`Dosya içe aktar`,noMatch:`Gösterilecek satır yok`,noMatchBody:`Filtre tüm satırları dışarıda bırakıyor.`,clearFilter:`Filtreyi temizle`}},Ju=(e,t,n)=>[e>0?`${String(e)} ô`:``,t>0?`${String(t)} hàng`:``,n>0?`${String(n)} cột`:``].filter(e=>e!==``).join(`, `),Yu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`Đang mở…`,unreadable:`Hiện chưa thể sửa bảng tính này: tệp của nó không phải CSV mà bảng tính đọc được. Đây là chỗ sai.`,readOnlyLarge:e=>`Bảng tính này nặng ${e} MB: ở đây chỉ xem được, không sửa được.`,untitled:`Không có tiêu đề`,saved:`Đã lưu`,saving:`Đang lưu…`,unsaved:`Chưa lưu`,failed:`Không lưu được`,rows:(e,t)=>e===t?`${t.toLocaleString(`vi`)} hàng`:`${e.toLocaleString(`vi`)} / ${t.toLocaleString(`vi`)} hàng`,find:`Tìm`,findPlaceholder:`Tìm trong bảng tính`,matches:e=>`${String(e)} kết quả`,types:{text:`Văn bản`,number:`Số`,select:`Danh sách thả xuống`,"multi-select":`Danh sách chọn nhiều`,date:`Ngày`,checkbox:`Hộp kiểm`,url:`Liên kết`,email:`Email`,phone:`Điện thoại`,file:`Tệp`},auto:{button:e=>`Sắp xếp và lọc ${e}`,sortAsc:{text:`Sắp xếp từ A đến Z`,number:`Sắp xếp từ nhỏ nhất đến lớn nhất`,date:`Sắp xếp từ cũ nhất đến mới nhất`,options:`Sắp xếp theo thứ tự tùy chọn`},sortDesc:{text:`Sắp xếp từ Z đến A`,number:`Sắp xếp từ lớn nhất đến nhỏ nhất`,date:`Sắp xếp từ mới nhất đến cũ nhất`,options:`Sắp xếp theo thứ tự tùy chọn đảo ngược`},search:`Tìm kiếm`,selectAll:`(Chọn tất cả)`,selectFound:`(Chọn tất cả kết quả tìm kiếm)`,blanks:`(Trống)`,checked:`Đã chọn`,unchecked:`Chưa chọn`,hasFile:`Có tệp`,more:e=>`Còn ${e.toLocaleString(`vi`)} giá trị nữa. Hãy tìm kiếm để thấy.`,none:`Không có giá trị nào khớp.`,clear:`Xóa bộ lọc`,ok:`OK`},look:{sorted:e=>`Sắp xếp theo ${e}`,filtered:e=>e.length===1?`Lọc theo ${e[0]??``}`:`Lọc theo ${String(e.length)} cột`,hidden:e=>`Đã ẩn ${String(e)} cột`,clear:`Xóa`,note:`Chỉ bạn thấy cách sắp xếp và lọc này.`},replace:{label:`Thay thế`,with:`Thay thế bằng`,one:`Thay thế`,all:`Thay thế tất cả`,done:e=>`Đã thay thế trong ${String(e)} ô.`},stats:{average:`Trung bình`,count:`Số đếm`,sum:`Tổng`},column:{name:`Tên cột`,key:`Cột khóa: giá trị của mỗi hàng là duy nhất`,add:`Thêm cột`,rename:`Đổi tên`,format:`Định dạng`,formats:{text:`Văn bản`,number:`Số`,currency:`Tiền tệ`,percent:`Phần trăm`,date:`Ngày`,checkbox:`Hộp kiểm`,list:`Danh sách thả xuống`,file:`Tệp đính kèm`},addOption:`Thêm tùy chọn`,newOption:e=>`Thêm “${e}”`,confirm:`Xóa`,cancel:`Hủy`,hide:`Ẩn cột`,insertLeft:`Chèn cột bên trái`,insertRight:`Chèn cột bên phải`,remove:`Xóa cột`,removeAsk:(e,t)=>`Xóa “${e}” và ${t.toLocaleString(`vi`)} giá trị của nó? Bạn có thể hoàn tác.`,taken:`Đã có cột khác mang tên này.`,empty:`Cột cần có tên.`,newName:e=>e===1?`Cột`:`Cột ${String(e)}`},row:{numbered:e=>`Hàng ${String(e)}`,inFile:e=>`Hàng ${String(e)} trong tệp`,of:(e,t)=>`Hàng ${String(e)} / ${String(t)}`,hiddenFields:`Cột ẩn`,insertAbove:`Chèn hàng phía trên`,insertBelow:`Chèn hàng phía dưới`,remove:e=>e===1?`Xóa hàng`:`Xóa ${String(e)} hàng`,expand:`Mở hàng`,newRow:`Hàng mới`,record:`Hàng`,previous:`Hàng trước`,next:`Hàng sau`,close:`Đóng`},cell:{copy:`Sao chép`,cut:`Cắt`,paste:`Dán`,clear:`Xóa`,clearContents:`Xóa nội dung`,notNumber:`Không phải số. Hãy viết chữ số, dùng dấu chấm cho phần thập phân: 1234.5`,notDate:`Không phải ngày. Hãy viết 2026-10-14 hoặc 2026-10-14T09:30`,notEmail:`Không phải địa chỉ email`,notUrl:`Địa chỉ không được có dấu cách`,open:`Mở`,left:e=>`${String(e)} giá trị không hợp với cột của nó nên đã được bỏ qua.`,pasteHint:`Dùng ⌘V để dán.`},files:{notFound:`Không tìm thấy`,insert:`Chèn tệp…`,add:`Thêm tệp`,adding:e=>`Đang thêm ${String(e)} tệp…`,tooLarge:(e,t)=>`${e} lớn hơn ${String(t)} MB nên không được thêm.`,failed:e=>`Không thêm được ${e}.`,notHere:`Chỉ cột tệp đính kèm mới chứa được tệp. Hãy đặt định dạng của cột thành Tệp đính kèm trước.`,remove:`Xóa khỏi ô`,of:(e,t)=>`${String(e)} / ${String(t)}`,previous:`Tệp trước`,next:`Tệp sau`,open:`Mở trong tab mới`,close:`Đóng`},review:{count:(e,t,n,r)=>`${e} đã thay đổi ${Ju(t,n,r)}`,keepAll:`Giữ tất cả`,undoAll:`Hoàn tác tất cả`,keep:`Giữ`,undo:`Hoàn tác`,was:`Trước đó`,added:e=>`Do ${e} thêm`,changed:e=>`Do ${e} thay đổi`,away:`Đã thay đổi từ lần cuối bạn xem`,countAway:(e,t,n)=>`Từ lần cuối bạn xem: ${Ju(e,t,n)} đã thay đổi`,empty:`trống`,next:`Tiếp`,previous:`Trước`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`${String(e)} ô đã bị cả hai bên thay đổi: giữ lại bản của bạn.`},date:{placeholder:`2026-10-14, 2026/10/14…`,today:`Hôm nay`,previousMonth:`Tháng trước`,nextMonth:`Tháng sau`,clear:`Xóa`,addTime:`Thêm giờ`,removeTime:`Bỏ giờ`,time:`Giờ`},empty:{title:`Chưa có hàng nào`,addRow:`Thêm hàng`,paste:`Dán hàng`,pasteHint:`Sao chép các hàng trong Excel hoặc Google Trang tính, rồi nhấn ⌘V tại đây.`,importFile:`Nhập tệp`,noMatch:`Không có hàng nào để hiển thị`,noMatchBody:`Bộ lọc đã loại bỏ mọi hàng.`,clearFilter:`Xóa bộ lọc`}},Xu=(e,t,n)=>[e>0?`${String(e)} 个单元格`:``,t>0?`${String(t)} 行`:``,n>0?`${String(n)} 列`:``].filter(e=>e!==``).join(`、`),Zu={agent:`AllyHub`,agentInline:`AllyHub`,loading:`正在打开…`,unreadable:`这张表暂时无法编辑:它的文件不是可读的 CSV。问题如下。`,readOnlyLarge:e=>`这张表有 ${e} MB,在这里只能查看,不能编辑。`,untitled:`未命名`,saved:`已保存`,saving:`正在保存…`,unsaved:`未保存`,failed:`保存失败`,rows:(e,t)=>e===t?`${String(t)} 行`:`${String(e)} / ${String(t)} 行`,find:`查找`,findPlaceholder:`在表中查找`,matches:e=>`${String(e)} 处`,types:{text:`文本`,number:`数字`,select:`下拉列表`,"multi-select":`多选列表`,date:`日期`,checkbox:`复选框`,url:`链接`,email:`邮箱`,phone:`电话`,file:`文件`},auto:{button:e=>`排序和筛选:${e}`,sortAsc:{text:`从 A 到 Z 排序`,number:`从小到大排序`,date:`从早到晚排序`,options:`按选项顺序排序`},sortDesc:{text:`从 Z 到 A 排序`,number:`从大到小排序`,date:`从晚到早排序`,options:`按选项倒序排序`},search:`搜索`,selectAll:`(全选)`,selectFound:`(全选搜索结果)`,blanks:`(空白)`,checked:`已勾选`,unchecked:`未勾选`,hasFile:`有文件`,more:e=>`还有 ${String(e)} 个,搜索即可找到。`,none:`没有匹配的值。`,clear:`清除筛选`,ok:`确定`},look:{sorted:e=>`按“${e}”排序`,filtered:e=>e.length===1?`按“${e[0]??``}”筛选`:`按 ${String(e.length)} 列筛选`,hidden:e=>`隐藏了 ${String(e)} 列`,clear:`清除`,note:`这个排序和筛选只有你能看到。`},replace:{label:`替换`,with:`替换为`,one:`替换`,all:`全部替换`,done:e=>`替换了 ${String(e)} 个单元格。`},stats:{average:`平均值`,count:`计数`,sum:`求和`},column:{name:`列名`,key:`主键列:每一行的值都不重复`,add:`添加列`,rename:`重命名`,format:`格式`,formats:{text:`文本`,number:`数字`,currency:`货币`,percent:`百分比`,date:`日期`,checkbox:`复选框`,list:`下拉列表`,file:`附件`},addOption:`添加选项`,newOption:e=>`添加“${e}”`,confirm:`删除`,cancel:`取消`,hide:`隐藏列`,insertLeft:`在左侧插入列`,insertRight:`在右侧插入列`,remove:`删除列`,removeAsk:(e,t)=>`删除“${e}”及其 ${String(t)} 个值?可以撤销。`,taken:`已有同名的列。`,empty:`列需要一个名称。`,newName:e=>e===1?`列`:`列 ${String(e)}`},row:{numbered:e=>`第 ${String(e)} 行`,inFile:e=>`文件里的第 ${String(e)} 行`,of:(e,t)=>`第 ${String(e)} 行,共 ${String(t)} 行`,hiddenFields:`隐藏的列`,insertAbove:`在上方插入行`,insertBelow:`在下方插入行`,remove:e=>e===1?`删除行`:`删除 ${String(e)} 行`,expand:`展开行`,newRow:`新行`,record:`行`,previous:`上一行`,next:`下一行`,close:`关闭`},cell:{copy:`复制`,cut:`剪切`,paste:`粘贴`,clear:`清除`,clearContents:`清除内容`,notNumber:`不是数字。请写数字,小数用点:1234.5`,notDate:`不是日期。请写 2026-10-14 或 2026-10-14T09:30`,notEmail:`不是邮箱地址`,notUrl:`地址里不能有空格`,open:`打开`,left:e=>`有 ${String(e)} 个值不符合所在列,没有粘贴。`,pasteHint:`请用 ⌘V 粘贴。`},files:{notFound:`找不到文件`,insert:`插入文件…`,add:`添加文件`,adding:e=>`正在添加 ${String(e)} 个文件…`,tooLarge:(e,t)=>`${e} 超过 ${String(t)} MB,没有添加。`,failed:e=>`${e} 没能添加。`,notHere:`只有附件列能放文件。请先把这一列的格式设为附件。`,remove:`从单元格移除`,of:(e,t)=>`第 ${String(e)} 个,共 ${String(t)} 个`,previous:`上一个文件`,next:`下一个文件`,open:`在新标签页打开`,close:`关闭`},review:{count:(e,t,n,r)=>Au(e,`改动了 ${Xu(t,n,r)}`),keepAll:`全部保留`,undoAll:`全部撤销`,keep:`保留`,undo:`撤销`,was:`之前`,added:e=>Au(e,`新加的`),changed:e=>Au(e,`改的`),away:`你上次查看之后改的`,countAway:(e,t,n)=>`你上次查看之后,改动了 ${Xu(e,t,n)}`,empty:`空`,next:`下一处`,previous:`上一处`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`有 ${String(e)} 个单元格你们都改了:保留了你的。`},date:{placeholder:`2026-10-14、今天、明天…`,today:`今天`,previousMonth:`上个月`,nextMonth:`下个月`,clear:`清除`,addTime:`加上时间`,removeTime:`去掉时间`,time:`时间`},empty:{title:`还没有行`,addRow:`新建一行`,paste:`粘贴几行`,pasteHint:`在 Excel 或 Google 表格里复制几行,再在这里按 ⌘V。`,importFile:`导入文件`,noMatch:`没有可显示的行`,noMatchBody:`筛选把每一行都排除了。`,clearFilter:`清除筛选`}},Qu=(e,t,n)=>[e>0?`${String(e)} 個儲存格`:``,t>0?`${String(t)} 列`:``,n>0?`${String(n)} 欄`:``].filter(e=>e!==``).join(`、`),$u=a({en:pu,"zh-cn":Zu,"zh-tw":{agent:`AllyHub`,agentInline:`AllyHub`,loading:`正在打開…`,unreadable:`目前無法編輯這張工作表:它的檔案不是可讀取的 CSV。問題如下。`,readOnlyLarge:e=>`這張工作表有 ${e} MB,在這裡只能檢視,無法編輯。`,untitled:`未命名`,saved:`已儲存`,saving:`正在儲存…`,unsaved:`未儲存`,failed:`未能儲存`,rows:(e,t)=>e===t?`${t.toLocaleString(`zh-TW`)} 列`:`${e.toLocaleString(`zh-TW`)} / ${t.toLocaleString(`zh-TW`)} 列`,find:`尋找`,findPlaceholder:`在工作表中尋找`,matches:e=>`${String(e)} 個符合項目`,types:{text:`文字`,number:`數值`,select:`下拉式清單`,"multi-select":`多選清單`,date:`日期`,checkbox:`核取方塊`,url:`連結`,email:`電子郵件`,phone:`電話`,file:`檔案`},auto:{button:e=>`排序與篩選:${e}`,sortAsc:{text:`從 A 到 Z 排序`,number:`從最小到最大排序`,date:`從最舊到最新排序`,options:`依選項順序排序`},sortDesc:{text:`從 Z 到 A 排序`,number:`從最大到最小排序`,date:`從最新到最舊排序`,options:`依選項反向順序排序`},search:`搜尋`,selectAll:`(全選)`,selectFound:`(選取所有搜尋結果)`,blanks:`(空格)`,checked:`已勾選`,unchecked:`未勾選`,hasFile:`有檔案`,more:e=>`還有 ${e.toLocaleString(`zh-TW`)} 個,請用搜尋找到它們。`,none:`沒有符合的值。`,clear:`清除篩選`,ok:`確定`},look:{sorted:e=>`依「${e}」排序`,filtered:e=>e.length===1?`依「${e[0]??``}」篩選`:`依 ${String(e.length)} 欄篩選`,hidden:e=>`已隱藏 ${String(e)} 欄`,clear:`清除`,note:`這個排序和篩選只有你看得到。`},replace:{label:`取代`,with:`取代為`,one:`取代`,all:`全部取代`,done:e=>`已在 ${String(e)} 個儲存格中取代。`},stats:{average:`平均值`,count:`項目個數`,sum:`加總`},column:{name:`欄名稱`,key:`主鍵欄:每一列的值都不重複`,add:`新增欄`,rename:`重新命名`,format:`格式`,formats:{text:`文字`,number:`數值`,currency:`貨幣`,percent:`百分比`,date:`日期`,checkbox:`核取方塊`,list:`下拉式清單`,file:`附件`},addOption:`新增選項`,newOption:e=>`新增「${e}」`,confirm:`刪除`,cancel:`取消`,hide:`隱藏欄`,insertLeft:`在左側插入欄`,insertRight:`在右側插入欄`,remove:`刪除欄`,removeAsk:(e,t)=>`要刪除「${e}」及其中的 ${t.toLocaleString(`zh-TW`)} 個值嗎?之後可以還原。`,taken:`已有同名的欄。`,empty:`欄需要一個名稱。`,newName:e=>e===1?`欄`:`欄 ${String(e)}`},row:{numbered:e=>`第 ${String(e)} 列`,inFile:e=>`檔案中的第 ${String(e)} 列`,of:(e,t)=>`第 ${String(e)} 列,共 ${String(t)} 列`,hiddenFields:`隱藏的欄`,insertAbove:`在上方插入列`,insertBelow:`在下方插入列`,remove:e=>e===1?`刪除列`:`刪除 ${String(e)} 列`,expand:`展開列`,newRow:`新列`,record:`列`,previous:`上一列`,next:`下一列`,close:`關閉`},cell:{copy:`拷貝`,cut:`剪下`,paste:`貼上`,clear:`清除`,clearContents:`清除內容`,notNumber:`不是數值。請輸入數字,小數用小數點:1234.5`,notDate:`不是日期。請輸入 2026-10-14 或 2026-10-14T09:30`,notEmail:`不是電子郵件地址`,notUrl:`網址中不能有空格`,open:`打開`,left:e=>`有 ${String(e)} 個值不符合所在欄的格式,因此略過。`,pasteHint:`請按 ⌘V 貼上。`},files:{notFound:`找不到`,insert:`插入檔案…`,add:`新增檔案`,adding:e=>`正在新增 ${String(e)} 個檔案…`,tooLarge:(e,t)=>`${e} 超過 ${String(t)} MB,未新增。`,failed:e=>`無法新增 ${e}。`,notHere:`只有附件欄能放檔案。請先將這一欄的格式設為「附件」。`,remove:`從儲存格移除`,of:(e,t)=>`第 ${String(e)} 個,共 ${String(t)} 個`,previous:`上一個檔案`,next:`下一個檔案`,open:`在新分頁中打開`,close:`關閉`},review:{count:(e,t,n,r)=>Au(e,`修改了 ${Qu(t,n,r)}`),keepAll:`全部保留`,undoAll:`全部還原`,keep:`保留`,undo:`還原`,was:`修改前`,added:e=>Au(`由`,e,`新增`),changed:e=>Au(`由`,e,`修改`),away:`你上次查看後有修改`,countAway:(e,t,n)=>`你上次查看後,修改了 ${Qu(e,t,n)}`,empty:`空白`,next:`下一個`,previous:`上一個`,position:(e,t)=>`${String(e)} / ${String(t)}`,conflicts:e=>`有 ${String(e)} 個儲存格你們兩邊都修改了:已保留你的版本。`},date:{placeholder:`2026-10-14、今天、明天…`,today:`今天`,previousMonth:`上個月`,nextMonth:`下個月`,clear:`清除`,addTime:`加上時間`,removeTime:`移除時間`,time:`時間`},empty:{title:`還沒有任何列`,addRow:`新增一列`,paste:`貼上列`,pasteHint:`在 Excel 或 Google 試算表中拷貝幾列,再到這裡按 ⌘V。`,importFile:`匯入檔案`,noMatch:`沒有可顯示的列`,noMatchBody:`篩選條件排除了所有列。`,clearFilter:`清除篩選`}},ja:Mu,ko:Fu,es:gu,fr:yu,de:du,it:Du,pt:Ru,ru:Uu,tr:qu,vi:Yu,th:Gu,hi:wu});function ed(e,t,n){let r=new Set(e.columns),i=new Set(t.columns),a=n.columns.filter(e=>!(r.has(e)&&!i.has(e)));return t.columns.forEach((e,n)=>{if(a.includes(e)||r.has(e))return;let i=a.length;for(let e=n-1;e>=0;e--){let n=t.columns[e],r=n===void 0?-1:a.indexOf(n);if(r>=0){i=r+1;break}}n===0&&(i=0),a.splice(i,0,e)}),a}var td=(e,t)=>{let n=new Map,r=e.rows[t]??[];return e.columns.forEach((e,t)=>n.set(e,r[t]??``)),n};function nd(e,t,n,r){let i=[],a=e.out.length;for(let o of e.columns){let s=t?.get(o),c=n?.get(o),l=r?.get(o),u;c===void 0?u=l??``:l===void 0?u=c:c===s?u=l:l===s||l===c?u=c:(u=c,e.conflicts.push({kind:`cell`,row:a,column:o,mine:c,theirs:l})),i.push(u)}e.out.push(i)}var rd=(e,t)=>{if(!e||!t)return e!==t;for(let[n,r]of e)if(t.has(n)&&t.get(n)!==r)return!0;return!1};function id(e,t){let n=e.columns.indexOf(t);if(n<0)return;let r=e.rows.map(e=>(e[n]??``).trim());if(!r.some(e=>e===``))return new Set(r).size===r.length?r:void 0}function ad(e,t,n,r,i){let a=e=>new Map(e.map((e,t)=>[e,t])),o=a(i.base),s=a(i.mine),c=a(i.theirs),l=[];for(let e of i.theirs)l.push(e);i.mine.forEach((e,t)=>{if(c.has(e)||o.has(e))return;let n=0;for(let e=t-1;e>=0;e--){let t=i.mine[e],r=t===void 0?-1:l.indexOf(t);if(r>=0){n=r+1;break}}l.splice(n,0,e)});for(let i of l){let a=o.has(i)?td(t,o.get(i)??0):void 0,l=s.has(i)?td(n,s.get(i)??0):void 0,u=c.has(i)?td(r,c.get(i)??0):void 0;if(a&&!l){if(!rd(a,u))continue;e.conflicts.push({kind:`rows`,row:e.out.length})}nd(e,a,l,u)}for(let r of i.mine){if(c.has(r)||!o.has(r))continue;let i=td(t,o.get(r)??0),a=td(n,s.get(r)??0);rd(i,a)&&(e.conflicts.push({kind:`rows`,row:e.out.length}),nd(e,i,a,void 0))}}function od(e,t,n,r){let i=[],a=-1,o=-1;for(let[s,c]of[...t,[n,r]])(s-a>1||c-o>1)&&i.push({side:e,bStart:a+1,bEnd:s,sStart:o+1,sEnd:c}),a=s,o=c;return i}function sd(e,t,n,r){let i=t.columns.filter(e=>n.columns.includes(e)&&r.columns.includes(e)),a=e=>{let t=i.map(t=>e.columns.indexOf(t));return e.rows.map(e=>t.map(t=>e[t]??``).join(`\0`))},o=a(t),c=a(n),l=a(r),u=s(o,c),d=s(o,l),f=new Map(u),p=new Map(d),m=[...od(`mine`,u,o.length,c.length),...od(`theirs`,d,o.length,l.length)].sort((e,t)=>e.bStart-t.bStart||e.bEnd-t.bEnd),h=[];for(let e of m){let t=h[h.length-1];if(t){let n=Math.min(...t.map(e=>e.bStart)),r=Math.max(...t.map(e=>e.bEnd));if(e.bStart<r||e.bStart===r&&e.bStart===e.bEnd&&n===r){t.push(e);continue}}h.push([e])}let g=i=>{let a=f.get(i),o=p.get(i);nd(e,td(t,i),a===void 0?void 0:td(n,a),o===void 0?void 0:td(r,o))},_=0;for(let i of h){let a=Math.min(...i.map(e=>e.bStart)),o=Math.max(...i.map(e=>e.bEnd));for(;_<a;_++)g(_);_=o;let s=e=>{let t=i.filter(t=>t.side===e),n=t[0],r=t[t.length-1];if(n&&r)return cd(n.sStart-(n.bStart-a),r.sEnd+(o-r.bEnd))},u=cd(a,o),d=s(`mine`),m=s(`theirs`);if(d===void 0||m===void 0){let i=d??m??[],a=d===void 0?f:p,o=d===void 0?n:r,s=i.length===u.length;i.forEach((i,c)=>{let l=s?u[c]:void 0,f=l===void 0?void 0:a.get(l),p=l===void 0?void 0:td(t,l),m=f===void 0?void 0:td(o,f),h=td(d===void 0?r:n,i);d===void 0?nd(e,p,m,h):nd(e,p,h,m)})}else if(d.length===u.length&&m.length===u.length)u.forEach((i,a)=>{nd(e,td(t,i),td(n,d[a]??0),td(r,m[a]??0))});else if(ld(c,d,l,m))d.forEach((t,i)=>{nd(e,void 0,td(n,t),td(r,m[i]??0))});else{d.length+m.length>0&&e.conflicts.push({kind:`rows`,row:e.out.length});for(let t of d)nd(e,void 0,td(n,t),void 0);for(let t of m)nd(e,void 0,void 0,td(r,t))}}for(;_<o.length;_++)g(_)}var cd=(e,t)=>{let n=[];for(let r=e;r<t;r++)n.push(r);return n},ld=(e,t,n,r)=>t.length===r.length&&t.every((t,i)=>e[t]===n[r[i]??-1]);function ud(e,t,n,r){let i=ed(e,t,n),a={columns:i,conflicts:[],out:[]},o=r===void 0?void 0:(()=>{let i=id(e,r),a=id(t,r),o=id(n,r);return i&&a&&o?{base:i,mine:a,theirs:o}:void 0})();return o?ad(a,e,t,n,o):sd(a,e,t,n),{data:{columns:i,rows:a.out},conflicts:a.conflicts}}var dd=class{kept=new Map;of(e){let t=this.kept.get(e);if(t)return t;let n=jt(e);return this.keep(e,{csv:n.csv,data:n.data})}keep(e,t){for(this.kept.delete(e),this.kept.set(e,t);this.kept.size>3;){let e=this.kept.keys().next().value;if(e===void 0)break;this.kept.delete(e)}return t}save(e,t){let n=this.of(e),r=kl(t);if(Mt(n.data,r))return;let i=eo(n.csv,r,n.data);return this.keep(i.source,{csv:i,data:r}),i.source}incoming(e,t,n,r){let i=this.of(e).data,a=this.of(t).data,o=kl(n),s=Mt(i,o)?{data:a,conflicts:[]}:ud(i,o,a,r),c=Ll(n,s.data);return{table:c.table,changes:c.changes,conflicts:s.conflicts,dirty:!Mt(a,s.data)}}};function fd(e){return jt(e).problems.filter(e=>e.message.includes(`quoted field`)).map(e=>`line ${String(e.line)}: ${e.message}`)}var pd=e=>e===null?void 0:Da(e).spec.key;function md(e,t,n){if(t===e)return n;if(n===e||n===t)return t;let r=Da(e??``).spec,i=Da(t??``).spec,a=n??``;for(let e of[`title`,`key`])i[e]!==r[e]&&(a=ho(a,e,i[e]));let o=new Set([...Object.keys(r.columns),...Object.keys(i.columns)]);for(let e of o){let t=i.columns[e];JSON.stringify(t)!==JSON.stringify(r.columns[e])&&(a=po(a,e,t))}return a===``&&n===null?null:a}var hd=e=>e.cells.join(`\0`);function gd(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return`${String(e.length)}:${(t>>>0).toString(16)}`}function _d(e,t){let n=new Map(e.rows.map((e,t)=>[e.id,t])),r=t=>{let r=n.get(t),i=r===void 0?void 0:e.rows[r];return i?hd(i):void 0},i=[];for(let e of t){let t=i.length;switch(e.kind){case`cell`:{let t=r(e.id);t!==void 0&&i.push({kind:`cell`,row:t,column:e.column,before:e.before,after:e.after});break}case`row-added`:{let t=r(e.id);t!==void 0&&i.push({kind:`row-added`,row:t});break}case`row-removed`:i.push({kind:`row-removed`,cells:[...e.row.cells],columns:[...e.columns],after:e.after===null?null:r(e.after)??null});break;case`column-added`:i.push({kind:`column-added`,name:e.name});break;case`column-removed`:i.push({kind:`column-removed`,name:e.name,at:e.at,values:[...e.values].flatMap(([e,t])=>{let n=r(e);return n===void 0?[]:[[n,t]]})})}let n=i[t];e.away&&n&&(i[t]={...n,away:!0})}return i}function vd(e,t){let n=new Map;for(let t of e.rows){let e=n.get(hd(t));e?e.push(t.id):n.set(hd(t),[t.id])}let r=e=>n.get(e)?.[0],i=[],a=-1;for(let n of t){let t=i.length;switch(n.kind){case`cell`:{let t=r(n.row),a=e.columns.indexOf(n.column),o=e.rows.find(e=>e.id===t);t!==void 0&&a>=0&&o?.cells[a]===n.after&&i.push({...n,id:t,kind:`cell`});break}case`row-added`:{let e=r(n.row);e!==void 0&&i.push({kind:`row-added`,id:e});break}case`row-removed`:i.push({kind:`row-removed`,row:{id:a--,cells:[...n.cells]},columns:[...n.columns],after:n.after===null?null:r(n.after)??null});break;case`column-added`:e.columns.includes(n.name)&&i.push(n);break;case`column-removed`:if(!e.columns.includes(n.name)){let e=new Map;for(let[t,i]of n.values){let n=r(t);n!==void 0&&e.set(n,i)}i.push({kind:`column-removed`,name:n.name,at:n.at,values:e})}}let o=i[t];n.away&&o&&(i[t]={...o,away:!0})}return i}function yd(e,t,n){let r=jt(e);if(r.problems.length>0)return[];let{table:i,changes:a}=Ll(Ol(r.data),n),o=new Map(i.rows.map((e,n)=>[e.id,t.rows[n]?.id??e.id])),s=e=>o.get(e)??e;return a.map(e=>{switch(e.kind){case`cell`:return{...e,id:s(e.id)};case`row-added`:return{...e,id:s(e.id)};case`row-removed`:return{...e,after:e.after===null?null:s(e.after)};case`column-removed`:return{...e,values:new Map([...e.values].map(([e,t])=>[s(e),t]))};default:return e}}).map(e=>({...e,away:!0}))}function bd(e,t){let n=[...e];for(let e of t){if(e.kind===`cell`){let t=n.findIndex(t=>t.kind===`cell`&&t.id===e.id&&t.column===e.column),r=n[t];if(r?.kind===`cell`){n[t]={...e,before:r.before};continue}}e.kind===`row-added`&&n.some(t=>t.kind===`row-added`&&t.id===e.id)||n.push(e)}return n.filter(e=>e.kind!==`cell`||e.before!==e.after)}var xd=e=>`sheet.review:${e}`,Sd=e=>`sheet.seen:${e}`;function Cd(e,t){let n=typeof t==`object`&&t?t:void 0;return{changes:Array.isArray(e)?e:[],...typeof n?.seen==`string`?{seen:n.seen}:{},...typeof n?.pending==`string`?{pending:n.pending}:{}}}function wd(e){return e.length===0?null:[...e]}function Td(e,t){return{...e.length<=1e6?{seen:e}:{},...t===void 0?{}:{pending:t}}}function Ed({parts:e,strings:t,onClear:n}){return e.length===0?null:(0,V.jsxs)(`span`,{className:`sheet-look`,"data-testid":`sheet-look`,title:t.look.note,children:[(0,V.jsx)(`span`,{className:`sheet-look-text`,children:e.join(` · `)}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-look-clear`,"data-testid":`sheet-look-clear`,onClick:n,children:t.look.clear})]})}function Dd({find:e,onFind:t,count:n,at:r,onStep:i,replacing:a,onReplacing:o,onReplace:s,readOnly:c,strings:l}){let u=(0,B.useRef)(null),[d,f]=(0,B.useState)(``),p=e!==void 0;if((0,B.useEffect)(()=>{p&&u.current?.focus()},[p,a]),!p)return null;let m=(e,n)=>{e.stopPropagation(),!e.nativeEvent.isComposing&&(e.key===`Enter`?(e.preventDefault(),n()):e.key===`Escape`&&(e.preventDefault(),t(void 0)))};return(0,V.jsxs)(`span`,{className:`sheet-finding`,"data-testid":`sheet-find-bar`,children:[(0,V.jsxs)(`span`,{className:`sheet-find`,children:[(0,V.jsx)(Qe,{size:14,"aria-hidden":!0}),(0,V.jsx)(`input`,{ref:u,value:e,placeholder:l.findPlaceholder,"aria-label":l.find,"data-testid":`sheet-find-input`,onChange:e=>{t(e.target.value)},onKeyDown:e=>{m(e,()=>{i(e.shiftKey?-1:1)})}}),e!==``&&(0,V.jsx)(`span`,{className:`sheet-find-count`,children:n===0?l.matches(0):`${String(r+1)}/${String(n)}`}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":l.review.previous,title:l.review.previous,disabled:n===0,onClick:()=>{i(-1)},children:(0,V.jsx)(_,{size:13,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":l.review.next,title:l.review.next,disabled:n===0,onClick:()=>{i(1)},children:(0,V.jsx)(h,{size:13,"aria-hidden":!0})}),!c&&(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":l.replace.label,title:l.replace.label,"aria-pressed":a,"data-testid":`sheet-replace-toggle`,onClick:()=>{o(!a)},children:(0,V.jsx)(Xe,{size:13,"aria-hidden":!0})}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":l.row.close,title:l.row.close,onClick:()=>{t(void 0)},children:(0,V.jsx)(C,{size:13,"aria-hidden":!0})})]}),a&&!c&&(0,V.jsxs)(`span`,{className:`sheet-find`,"data-testid":`sheet-replace`,children:[(0,V.jsx)(`input`,{value:d,placeholder:l.replace.with,"aria-label":l.replace.with,"data-testid":`sheet-replace-input`,onChange:e=>{f(e.target.value)},onKeyDown:e=>{m(e,()=>{s(d,!1)})}}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-find-action`,disabled:n===0,"data-testid":`sheet-replace-one`,onClick:()=>{s(d,!1)},children:l.replace.one}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-find-action`,disabled:n===0,"data-testid":`sheet-replace-all`,onClick:()=>{s(d,!0)},children:l.replace.all})]})]})}function Od(e){return typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent)?`⌘${e}`:`Ctrl+${e}`}var kd=`sheet.csv`,Ad=`sheet.yaml`,jd=`files`,Md=20971520,Nd=28;async function Pd(e,t){try{return(await e[`storage/get`]({key:t})).value}catch{return null}}function Fd(e,t,n){e[`storage/set`]({key:t,value:n}).catch(()=>void 0)}async function Id(e){let t=new Uint8Array(await e.arrayBuffer()),n=``;for(let e=0;e<t.length;e+=32768)n+=String.fromCharCode(...t.subarray(e,e+32768));return btoa(n)}function Ld({bare:e,...t}){let n=d(),r={...t,className:`${e===!0?`sheet-bare `:``}${t.className??``}`},i=r.dir??n?.item.dir;return!n||i===void 0?(0,V.jsx)(Rd,{className:r.className,strings:$u.of(`en`)}):(0,V.jsx)(zd,{...r,dir:i,scope:`${n.project.name}|${i}/${kd}`,language:n.locale,...n.agent?{agent:n.agent.name}:{}},`${n.project.name}|${i}`)}function Rd(e){return(0,V.jsx)(`div`,{className:`sheet-page ${e.className??``}`,"data-testid":`sheet-editor`,"data-state":`loading`,children:(0,V.jsx)(`div`,{className:`sheet-sheet`,children:(0,V.jsx)(`p`,{className:`sheet-message`,children:e.strings.loading})})})}function zd(e){let t=u(),{dir:n,scope:i}=e,a=$u.of(e.language),[o,s]=(0,B.useState)(),[c,l]=(0,B.useState)(),[d,f]=(0,B.useState)(0),[p]=(0,B.useState)(()=>new dd),m=(0,B.useCallback)(()=>{f(e=>e+1)},[]),h=(0,B.useCallback)(e=>{s(t=>t&&{...t,look:e})},[]);if((0,B.useEffect)(()=>{let e={live:!0},a=[];return(async()=>{try{let[o,c,u,d,f]=await Promise.all([r.open(t,`${n}/${kd}`,{report:!1}),r.open(t,`${n}/${Ad}`,{report:!1}),Pd(t,Eo(i)),Pd(t,xd(i)),Pd(t,Sd(i))]);if(a.push(o,c),!e.live){for(let e of a)e.close();return}s({rows:o,spec:c,look:Do(u),review:Cd(d,f)}),l(void 0)}catch(t){e.live&&l(t instanceof Error?t.message:String(t))}})(),()=>{e.live=!1;for(let e of a)e.close()}},[t,n,i]),c!==void 0)return(0,V.jsx)(`div`,{className:`sheet-page ${e.className??``}`,"data-testid":`sheet-editor`,children:(0,V.jsx)(`div`,{className:`sheet-sheet`,children:(0,V.jsx)(`p`,{className:`sheet-message`,role:`alert`,children:c})})});if(!o)return(0,V.jsx)(Rd,{className:e.className,strings:a});let g=o.rows.text,_=e.readOnlyAbove??Md,v=fd(g),y=v.length>0?{text:a.unreadable,lines:v}:g.length>_?{text:a.readOnlyLarge((g.length/1024/1024).toFixed(1)),lines:[]}:void 0;return(0,V.jsx)(Vd,{...e,opened:o,cache:p,strings:a,readOnly:y!==void 0,limit:_,reload:m,onLook:h,...y?{notice:y}:{}},d)}function Bd(e,t){for(let n of[`error`,`saving`,`unsaved`])if(e===n||t===n)return n;return`saved`}function Vd({opened:e,cache:t,dir:n,scope:r,strings:i,readOnly:a,limit:s,reload:c,onLook:l,notice:d,language:p,agent:m,onImport:v,className:x}){let C=u(),{rows:w,spec:T}=e,E=f[o(p)],ee=m??i.agent,[te,ne]=(0,B.useState)(()=>({table:Ol(t.of(w.text).data),texts:{spec:T.version===null?null:T.text}})),D=(0,B.useRef)(te),O=(0,B.useCallback)(e=>{D.current=e,ne(e)},[]),[re,ie]=(0,B.useState)(`saved`),[ae,oe]=(0,B.useState)(),[k,se]=(0,B.useState)(()=>{if(a)return[];let t=e.review,n=w.text,r=vd(te.table,t.changes),i=t.pending!==void 0&&t.pending===gd(n)?n:t.seen;return bd(r,i!==void 0&&i!==n?yd(i,te.table,kl(te.table)):[])}),ce=(0,B.useCallback)(e=>{a||Fd(C,Sd(r),Td(w.text,e))},[C,r,a,w]);(0,B.useEffect)(()=>{ce()},[ce]);let ue=(0,B.useRef)(void 0);(0,B.useEffect)(()=>{if(a)return;let e=wd(_d(te.table,k)),t=JSON.stringify(e);t!==ue.current&&(ue.current=t,Fd(C,xd(r),e))},[C,r,a,te.table,k]);let[de,me]=(0,B.useState)(0);(0,B.useEffect)(()=>{if(ae===void 0)return;let e=window.setTimeout(()=>{oe(void 0)},4e3);return()=>{window.clearTimeout(e)}},[ae]);let _e=(0,B.useRef)([]),ve=(0,B.useRef)([]),ye=(0,B.useRef)(null),j=(0,B.useMemo)(()=>te.texts.spec===null?{columns:{}}:Da(te.texts.spec).spec,[te.texts.spec]),we=(0,B.useMemo)(()=>{let e={},t=[];for(let[n,r]of Object.entries(j.columns))r.width!==void 0&&(e[n]=r.width),r.wrap&&t.push(n);return{...Object.keys(e).length?{widths:e}:{},...t.length?{wrap:t}:{}}},[j]),N=e.look,P=N??we,De=N!==void 0&&!ko(No(N),No(we)),Oe=(0,B.useCallback)(e=>{let t=e!==void 0&&ko(e,we)?void 0:e;Fd(C,Eo(r),t??null),l(t)},[C,r,we,l]);(0,B.useLayoutEffect)(()=>{w.attach({save:e=>{if(a)return;let n=t.save(e,D.current.table);return n!==void 0&&ce(gd(n)),n},take:(e,n)=>{let r=fd(e).length>0||e.length>s;if(a||r){c();return}let i=D.current,o=t.incoming(n,e,i.table,pd(i.texts.spec));O({...i,table:o.table}),ce(),o.changes.length>0&&se(e=>{let t=new Set(o.changes.flatMap(e=>e.kind===`cell`?[`${String(e.id)}:${e.column}`]:[]));return[...e.filter(e=>!(e.kind===`cell`&&t.has(`${String(e.id)}:${e.column}`))),...o.changes].filter(e=>e.kind!==`cell`||e.before!==e.after)}),o.conflicts.length>0&&me(e=>e+o.conflicts.length),o.dirty&&w.edited()}}),T.attach({save:e=>{let t=D.current.texts.spec;if(!(a||t===null||t===e))return t},take:(e,t)=>{let n=D.current,r=T.version===null?null:e,i=md(t===``?null:t,n.texts.spec,r);O({...n,texts:{spec:i}}),i!==r&&i!==null&&T.edited()}})},[w,T,t,a,s,c,ce,O]),(0,B.useEffect)(()=>{let e=()=>{let e=Bd(w.state,T.state);ie(e);let t=w.error??T.error;e===`error`&&t!==void 0&&oe(t),e===`saved`&&ce(),a||C[`editor/state`]({state:e,...e===`error`&&t!==void 0?{message:t}:{}}).catch(()=>void 0)},t=[w.onState(e),T.onState(e)];return()=>{for(let e of t)e()}},[C,w,T,a,ce]),(0,B.useEffect)(()=>{let e=()=>{w.flush(),T.flush()};return window.addEventListener(`beforeunload`,e),()=>{window.removeEventListener(`beforeunload`,e)}},[w,T]);let ke=(0,B.useCallback)((e,t)=>{t.table!==e.table&&w.edited(),t.texts.spec!==e.texts.spec&&(T.edited(),T.flush())},[w,T]),[je,Me]=(0,B.useState)(()=>new Map),Ne=(0,B.useRef)(new Set),Fe=(0,B.useCallback)(e=>{let t=je.get(e);if(t!==void 0)return t;if(!Ne.current.has(e)){Ne.current.add(e);let t=t=>{Me(n=>new Map(n).set(e,t))};C[`files/url`]({path:e}).then(e=>{t(e.url)},()=>{t(`about:invalid`)})}return null},[C,je]),[Ie,Le]=(0,B.useState)(),[ze,Ve]=(0,B.useState)(),F=(0,B.useCallback)((e,t={})=>{if(a||Pl(e))return;let n=D.current,r=Ml(n,e);O(r),t.undoable!==!1&&(_e.current.push({edit:e,selection:Ie}),_e.current.length>500&&_e.current.shift(),ve.current=[]),se(t=>t.filter(t=>!zl(e,t))),ke(n,r)},[a,ke,Ie,O]),He=(0,B.useCallback)(()=>{let e=_e.current.pop();if(!e)return;let t=Nl(e.edit),n=D.current,r=Ml(n,t);O(r),ve.current.push(e),e.selection&&Le(e.selection),ke(n,r)},[ke,O]),Ue=(0,B.useCallback)(()=>{let e=ve.current.pop();if(!e)return;let t=D.current,n=Ml(t,e.edit);O(n),_e.current.push(e),ke(t,n)},[ke,O]),{table:I}=te,We=(0,B.useMemo)(()=>kl(I),[I]),L=I.columns,Ge=To(L,j),R=(0,B.useMemo)(()=>{let e=wo(We,P),t=e.length>0?e:L.slice(0,1);return Ge===void 0||!t.includes(Ge)?t:[Ge,...t.filter(e=>e!==Ge)]},[We,P,L,Ge]),Je=Ge!==void 0&&R[0]===Ge,Ye=(0,B.useMemo)(()=>So(We,j,P),[We,j,P]),{items:Xe,rowItems:Qe,shownIds:z}=(0,B.useMemo)(()=>{let e=[],t=[];for(let n of Ye){let r=I.rows[n];r&&(e.push({row:r,index:n,r:t.length}),t.push(r.id))}return{items:e,rowItems:e.map((e,t)=>t),shownIds:t}},[I.rows,Ye]),$e=(0,B.useMemo)(()=>({rows:z,columns:R}),[z,R]),H=(0,B.useMemo)(()=>{if(!Ie||z.length===0||R.length===0)return;let e=e=>{if(Ie.ids!==z){let t=Ie.ids[e.r],n=t===void 0?-1:z.indexOf(t);if(n>=0)return{r:n,c:Math.min(e.c,R.length-1)}}return Ul(e,z.length,R.length)};return{anchor:e(Ie.selection.anchor),focus:e(Ie.selection.focus)}},[Ie,z,R.length]),U=(0,B.useCallback)(e=>{Le(e===void 0?void 0:{selection:e,ids:z})},[z]),tt=(0,B.useRef)(z);(0,B.useEffect)(()=>{tt.current=z},[z]);let nt=(0,B.useMemo)(()=>new Map(I.rows.map((e,t)=>[e.id,t])),[I.rows]),rt=(0,B.useMemo)(()=>P.widths??{},[P.widths]),it=(0,B.useMemo)(()=>su(j,I),[j,I]),at=(0,B.useMemo)(()=>Xo(j,R,34),[j,R]),ot=L.join(`\0`),st=(0,B.useMemo)(()=>{let e=document.createElement(`canvas`).getContext(`2d`),t=getComputedStyle(document.documentElement).getPropertyValue(`--allyhub-font-ui`).trim();return e&&(e.font=`13px ${t||`system-ui`}`),$o(We,j,e?t=>e.measureText(t).width:e=>e.length*7,E)},[ot,j,E]),ct=(0,B.useMemo)(()=>new Set(P.wrap??[]),[P.wrap]),[lt,ut]=(0,B.useState)(),[dt,ft]=(0,B.useState)(!1),[pt,mt]=(0,B.useState)(0),ht=(0,B.useCallback)(e=>{let t=e?.trim().toLowerCase();if(!t)return[];let n=[],r=R.map(e=>L.indexOf(e));for(let e of z){let i=I.rows[nt.get(e)??-1];i&&R.forEach((a,o)=>{(i.cells[r[o]??-1]??``).toLowerCase().includes(t)&&n.push(`${String(e)}:${a}`)})}return n},[R,L,z,I.rows,nt]),gt=(0,B.useMemo)(()=>ht(lt),[ht,lt]),_t=(0,B.useMemo)(()=>new Set(gt),[gt]),vt=(0,B.useCallback)((e,t)=>{let n=e[t];if(n===void 0)return;let r=n.indexOf(`:`),i=Number(n.slice(0,r)),a=z.indexOf(i),o=R.indexOf(n.slice(r+1));if(a<0||o<0)return;let s={r:a,c:o};U(Hl(s)),ye.current?.reveal(s)},[z,R,U]),yt=(0,B.useCallback)(e=>{ut(e),mt(0),vt(ht(e),0)},[vt,ht]),bt=(0,B.useCallback)(e=>{if(gt.length===0)return;let t=(pt+e+gt.length)%gt.length;mt(t),vt(gt,t)},[gt,pt,vt]),{agentCells:xt,agentRows:St,away:Ct}=(0,B.useMemo)(()=>{let e=new Map,t=new Set,n=new Set;for(let r of k)if(r.kind===`cell`){let t=`${String(r.id)}:${r.column}`;e.set(t,r.before),r.away&&n.add(t)}else r.kind===`row-added`&&(t.add(r.id),r.away&&n.add(`row:${String(r.id)}`));return{agentCells:e,agentRows:t,away:n}},[k]),wt=(0,B.useCallback)(e=>{let t=e.map(e=>Rl(e,D.current.table)).filter(e=>e!==void 0);t.length>0&&F({kind:`batch`,edits:t}),se(t=>t.filter(t=>!e.includes(t)))},[F]),Tt=(0,B.useCallback)(e=>{let t=z[e.r],n=R[e.c],r=t===void 0?void 0:I.rows[nt.get(t)??-1];return r&&n!==void 0?{row:r,column:n}:void 0},[z,R,I.rows,nt]),Dt=(0,B.useCallback)((e,t,n)=>{let r=e.cells[D.current.table.columns.indexOf(t)]??``;F({kind:`cells`,changes:[{id:e.id,column:t,before:r,after:n}]})},[F]),Ot=(0,B.useCallback)(e=>{let t=D.current.texts.spec;return{kind:`spec`,before:t,after:e(t??void 0)}},[]),kt=(0,B.useCallback)((e,t)=>{let n=W(j,e);if(n.options?.some(e=>e.name===t))return;let r={...n,options:[...n.options??[],{name:t}]};F(Ot(t=>po(t,e,r)))},[j,F,Ot]),At=(0,B.useCallback)((e,t,n=1)=>{let r=D.current.table.rows,i;if(t===`end`||e===void 0)i=r[r.length-1]?.id??null;else{let n=z[e.r],a=n===void 0?r.length-1:nt.get(n)??r.length-1;i=t===`above`?r[a-1]?.id??null:r[a]?.id??null}let a=Array.from({length:n},()=>({id:Dl(),cells:L.map(()=>``)})),o=i;return F({kind:`insert`,rows:a.map(e=>{let t={row:e,after:o};return o=e.id,t})}),a.map(e=>e.id)},[z,nt,L,F]),jt=(0,B.useCallback)(e=>new Set(z.slice(e.r0,e.r1+1)),[z]),Mt=(0,B.useCallback)(()=>{for(let e=1;;e++){let t=i.column.newName(e);if(!L.includes(t))return t}},[L,i]),[Nt,Pt]=(0,B.useState)(),[Ft,It]=(0,B.useState)(),Lt=(0,B.useCallback)(e=>{let t=Mt();if(F({kind:`insert-column`,at:e,name:t,values:new Map}),P.columns){let n=Math.min(e,R.length),r=[...R];r.splice(n,0,t),Oe({...P,columns:r})}Pt(t)},[Mt,F,P,R,Oe]),Rt=(0,B.useCallback)((e,t)=>{let n=D.current.texts,r=[{kind:`rename-column`,from:e,to:t}],i=mo(n.spec??void 0,e,t);i!==(n.spec??void 0)&&r.push({kind:`spec`,before:n.spec,after:i||null}),F({kind:`batch`,edits:r}),N&&Oe(jo(N,e,t))},[F,N,Oe]),zt=(0,B.useCallback)((e,t)=>{let n=D.current.table.columns.indexOf(e),r=D.current.table.rows.map(e=>e.cells[n]??``),i=Ko(W(j,e),t,r);F(Ot(t=>po(t,e,i)))},[j,F,Ot]),[Bt,Vt]=(0,B.useState)(),G=H===void 0?void 0:z[H.focus.r],K=Bt===void 0?void 0:G??Bt,q=K===void 0?void 0:I.rows[nt.get(K)??-1],Ht=!a,J=(0,B.useCallback)(async e=>{let{path:t}=await C[`files/upload`]({dir:`${n}/${jd}`,name:e.name,data:await Id(e)});return t.startsWith(`${n}/`)?t.slice(n.length+1):t},[C,n]),Y=(0,B.useCallback)(async(e,t)=>{if(a||t.length===0)return;let n=Tt(e);if(!n)return;let r=W(j,n.column);if(r.type!==`file`){oe(i.files.notHere);return}U(Hl(e)),oe(i.files.adding(t.length));let o=[],s=[];for(let e of t)if(e.size>Nd*1024*1024)s.push(i.files.tooLarge(e.name,Nd));else try{o.push(await J(e))}catch{s.push(i.files.failed(e.name))}if(oe(s.length>0?s.join(` `):void 0),o.length===0)return;let c=D.current.table,l=c.rows.find(e=>e.id===n.row.id);if(!l)return;let u=l.cells[c.columns.indexOf(n.column)]??``;Dt(l,n.column,La([...Ia(u,r.separator),...o],r.separator))},[J,a,Tt,j,i,U,Dt]),Ut=(0,B.useRef)(void 0),Wt=(0,B.useRef)(null),Gt=(0,B.useCallback)(e=>{Ut.current=e,Wt.current?.click()},[]),[Kt,qt]=(0,B.useState)(),Jt=e=>{let t=e?.closest(`[data-cell]`);if(t)return{r:Number(t.dataset.r),c:Number(t.dataset.c)}},Yt=e=>e.dataTransfer.types.includes(`Files`),Xt=e=>{if(!Ht||!Yt(e))return;e.preventDefault();let t=Jt(e.target);e.dataTransfer.dropEffect=t?`copy`:`none`,(t?.r!==Kt?.r||t?.c!==Kt?.c)&&qt(t)},Zt=e=>{e.currentTarget.contains(e.relatedTarget)||qt(void 0)},Qt=e=>{if(!Ht||!Yt(e))return;e.preventDefault(),qt(void 0);let t=Jt(e.target);t&&Y(t,[...e.dataTransfer.files])},[$t,en]=(0,B.useState)(),tn=L.indexOf(Ge??``),nn=(0,B.useCallback)((e,t)=>{let n=Tt(e);if(!n)return;let r=W(j,n.column);if(r.type!==`file`)return;let a=L.indexOf(n.column),o=Zo(r,z.flatMap(e=>{let t=I.rows[nt.get(e)??-1];return t?[{id:e,value:t.cells[a]??``,title:(t.cells[tn]?.trim()??``)||i.row.numbered((nt.get(e)??0)+1)}]:[]})),s=o.findIndex(e=>e.row===n.row.id&&e.at===t);s<0||(U(Hl(e)),en({column:n.column,files:o,at:s}))},[Tt,j,L,z,I.rows,nt,tn,i,U]),rn=(0,B.useRef)(null),an=(0,B.useCallback)(()=>{rn.current?.focus({preventScroll:!0})},[]),on=e=>{let t=e;return!t||t===rn.current||!t.closest(`input, textarea, select, [role=dialog], [role=menu]`)};(0,B.useEffect)(()=>{let e=rn.current,t=e?.parentElement;if(!e||!t||!H)return;let n=t.querySelector(`[data-cell][data-r="${String(H.focus.r)}"][data-c="${String(H.focus.c)}"]`);if(!n)return;let r=n.getBoundingClientRect(),i=t.getBoundingClientRect();e.style.left=`${String(r.left-i.left+8)}px`,e.style.top=`${String(r.top-i.top+8)}px`},[H]);let X=z.length,sn=R.length,cn=(0,B.useCallback)(e=>{ye.current?.reveal(e)},[]),ln=(0,B.useCallback)(e=>{U(e),cn(e.focus)},[cn,U]),un=(0,B.useCallback)((e,t)=>{let n=ze?.cell;if(Ve(void 0),!n)return;let r=Tt(n);r&&(r.row.cells[L.indexOf(r.column)]??``)!==e&&Dt(r.row,r.column,e),H&&t!==`click`&&ln(Gl(H,t===`tab`?`next`:t===`shift-tab`?`previous`:t===`shift-enter`?`up`:`down`,X,sn)),an()},[ze,Tt,L,Dt,H,ln,X,sn,an]),Z=(0,B.useCallback)(e=>{let t=Tt(e);if(!t)return;let n=t.row.cells[L.indexOf(t.column)]??``;Dt(t.row,t.column,n.trim().toLowerCase()===`true`?`false`:`true`)},[Tt,L,Dt]),dn=(0,B.useCallback)(e=>{if(!H)return;let t=Bl(H),n=Kl(I,$e,t);return e&&!a&&F(ql(I,$e,t)),n},[H,I,$e,a,F]),fn=(0,B.useCallback)(e=>{if(a)return;let t=I.rows.length===0&&!H;if(!H&&!t)return;let n=H?Bl(H):{r0:0,r1:0,c0:0,c1:0},r=[],o=I,s=$e;if(t){let t=Math.max(0,...Et(e.replace(/\r?\n$/,``)).map(e=>e.length)),n=[];for(let e=1;I.columns.length+n.length<t;e++){let t=i.column.newName(e);I.columns.includes(t)||n.push(t)}n.forEach((e,t)=>{r.push({kind:`insert-column`,at:I.columns.length+t,name:e,values:new Map})}),o={...I,columns:[...I.columns,...n]},s={rows:[],columns:[...$e.columns,...n]}}let c=Yl(o,j,s,n,e);if(c.options.size>0){let e=D.current.texts.spec??void 0;for(let[t,n]of c.options){let r=W(Da(e??``).spec,t);e=po(e,t,{...r,options:[...r.options??[],...n.map(e=>({name:e}))]})}r.push({kind:`spec`,before:D.current.texts.spec,after:e??null})}r.push(c.edit),F({kind:`batch`,edits:r}),oe(c.skipped>0?i.cell.left(c.skipped):void 0);let l=e.replace(/\r?\n$/,``).split(/\r?\n/);if(l.length!==1||l[0]?.includes(` `)){let e=l.length,t=Math.max(...l.map(e=>e.split(` `).length));U({anchor:{r:n.r0,c:n.c0},focus:{r:n.r0+e-1,c:Math.min(s.columns.length-1,n.c0+t-1)}})}},[H,a,I,j,$e,F,i,U]),pn=e=>{if(ze||e.nativeEvent.isComposing||!on(e.target))return;let t=e.metaKey||e.ctrlKey;if(t&&e.key.toLowerCase()===`z`){e.preventDefault(),e.shiftKey?Ue():He();return}if(t&&e.key.toLowerCase()===`y`){e.preventDefault(),Ue();return}if(t&&e.key.toLowerCase()===`f`){e.preventDefault(),yt(lt??``);return}if(e.ctrlKey&&!e.metaKey&&e.key.toLowerCase()===`h`){e.preventDefault(),yt(lt??``),ft(!0);return}if(X===0||sn===0)return;if(t&&e.key.toLowerCase()===`a`){e.preventDefault(),U({anchor:{r:0,c:0},focus:{r:X-1,c:sn-1}});return}let n=H??Hl({r:0,c:0});if(e.key===` `&&e.shiftKey!==e.ctrlKey&&!e.metaKey){e.preventDefault();let t=Bl(n);U(e.shiftKey?{anchor:{r:t.r0,c:0},focus:{r:t.r1,c:sn-1}}:{anchor:{r:0,c:t.c0},focus:{r:X-1,c:t.c1}});return}let r={ArrowUp:`up`,ArrowDown:`down`,ArrowLeft:`left`,ArrowRight:`right`,Home:`home`,End:`end`,PageUp:`page-up`,PageDown:`page-down`}[e.key];if(r){e.preventDefault(),ln(Wl(n,r,{extend:e.shiftKey,jump:t,rows:X,cols:sn,page:ye.current?.page()??10}));return}if(e.key===`Tab`){e.preventDefault(),ln(Gl(n,e.shiftKey?`previous`:`next`,X,sn));return}if(e.key===`Escape`){let e=Bl(n);lt===void 0?e.r0!==e.r1||e.c0!==e.c1?U(Hl(n.focus)):Bt!==void 0&&Vt(void 0):yt(void 0);return}if(e.key===` `&&!t&&!e.shiftKey){let t=Tt(n.focus),r=t?W(j,t.column):void 0;if(t&&r?.type===`file`&&Jo(r,t.row.cells[L.indexOf(t.column)]??``).length>0){e.preventDefault(),nn(n.focus,0);return}}if(t&&e.key===`Enter`){e.preventDefault();let t=z[n.focus.r];t!==void 0&&Vt(t);return}if(a)return;let i=R[n.focus.c],o=i===void 0?`text`:W(j,i).type;if(e.key===`Enter`||e.key===`F2`){e.preventDefault();let t=Bl(n);if(e.key===`Enter`&&(t.r0!==t.r1||t.c0!==t.c1)){ln(Gl(n,e.shiftKey?`up`:`down`,X,sn));return}o===`checkbox`?Z(n.focus):Ve({cell:n.focus})}else if(e.key===`Backspace`||e.key===`Delete`)e.preventDefault(),F(ql(I,$e,Bl(n)));else if(t&&e.key.toLowerCase()===`d`)e.preventDefault(),F(Xl(I,$e,Bl(n)));else if(e.key===` `&&o===`checkbox`){e.preventDefault();let t=Bl(n);for(let e=t.r0;e<=t.r1;e++)Z({r:e,c:n.focus.c})}},mn=e=>{if(a||e===``||X===0||sn===0)return;let t=H??Hl({r:0,c:0}),n=R[t.focus.c];n!==void 0&&W(j,n).type!==`checkbox`&&(U(Hl(t.focus)),Ve({cell:t.focus,initial:e}))},hn=e=>{if(ze||!on(e.target))return;let t=dn(!1);t!==void 0&&(e.preventDefault(),e.clipboardData.setData(`text/plain`,t))},gn=e=>{if(ze||!on(e.target))return;let t=dn(!0);t!==void 0&&(e.preventDefault(),e.clipboardData.setData(`text/plain`,t))},_n=e=>{if(ze||!on(e.target))return;e.preventDefault();let t=[...e.clipboardData.files];t.length>0&&Ht&&H?Y(H.focus,t):fn(e.clipboardData.getData(`text/plain`))},vn=(0,B.useMemo)(()=>{let e=[];for(let t of k){let n=t.kind===`cell`||t.kind===`row-added`?t.id:void 0,r=n===void 0?-1:z.indexOf(n);if(r<0)continue;let i=t.kind===`cell`?Math.max(0,R.indexOf(t.column)):0;e.push({change:t,r,c:i})}return e.sort((e,t)=>e.r-t.r||e.c-t.c)},[k,z,R]),[yn,bn]=(0,B.useState)(-1),xn=(0,B.useCallback)(e=>{if(vn.length===0)return;let t=(yn+e+vn.length)%vn.length;bn(t);let n=vn[t];if(!n)return;let r={r:n.r,c:n.c};U(Hl(r)),ye.current?.reveal(r)},[vn,yn,U]),[Sn,Cn]=(0,B.useState)(),wn=(0,B.useRef)(void 0),Tn=(0,B.useRef)(!1),En=(0,B.useCallback)(()=>{window.clearTimeout(wn.current),wn.current=window.setTimeout(()=>{Tn.current||Cn(void 0)},160)},[]),Dn=e=>{if(ze||e.buttons!==0)return;let t=e.target;if(t.closest(`.sheet-review-card`))return;let n=t.closest(`[data-cell][data-agent], .sheet-gutter[data-agent]`);if(!n){En();return}let r;if(n.classList.contains(`sheet-gutter`)){let e=Number(n.closest(`[data-row-id]`)?.dataset.rowId);r=k.find(t=>t.kind===`row-added`&&t.id===e)}else{let e=Tt({r:Number(n.dataset.r),c:Number(n.dataset.c)});r=e?k.find(t=>t.kind===`cell`&&t.id===e.row.id&&t.column===e.column):void 0}if(!r){En();return}if(Sn?.change===r){window.clearTimeout(wn.current);return}let i=e.currentTarget.getBoundingClientRect(),a=n.getBoundingClientRect(),o=r;window.clearTimeout(wn.current),wn.current=window.setTimeout(()=>{Cn({change:o,left:Math.max(8,Math.min(a.left-i.left,i.width-268)),top:a.bottom-i.top+4})},Sn?0:280)};(0,B.useEffect)(()=>()=>{window.clearTimeout(wn.current)},[]);let On=Sn&&k.includes(Sn.change)?Sn:void 0,[kn,An]=(0,B.useState)(),jn=(0,B.useCallback)((e,t)=>{e.preventDefault(),H&&Bl(H).r0<=t.r&&t.r<=Bl(H).r1&&Bl(H).c0<=t.c&&t.c<=Bl(H).c1||U(Hl(t)),xs(),An({x:e.clientX,y:e.clientY,cell:t})},[H,U]),Mn=(0,B.useMemo)(()=>({select:e=>{U(e)},edit:(e,t)=>{U(Hl(e)),Ve({cell:e,...t===void 0?{}:{initial:t}})},commit:un,cancel:()=>{Ve(void 0),an()},toggle:Z,addOption:kt,resize:(e,t)=>{let n=W(j,e),r=D.current.texts,i=po(r.spec??void 0,e,{...n,width:t});F({kind:`spec`,before:r.spec,after:i},{undoable:!1}),N&&Oe({...N,widths:{...N.widths??{},[e]:t}})},moveColumn:(e,t)=>{if(Je&&e===Ge)return;let n=Je?Math.max(1,t):t;if(!N?.columns){F({kind:`move-column`,name:e,from:L.indexOf(e),to:L.indexOf(R[n]??e)});return}let r=R.filter(t=>t!==e);r.splice(n,0,e),Oe({...P,columns:r})},moveRows:(e,t)=>{let n=D.current.table.rows.map(e=>e.id),r=new Set(e),i=n.filter(e=>!r.has(e)),a=t===null?i.length:i.indexOf(t),o=[...i];o.splice(a<0?i.length:a,0,...n.filter(e=>r.has(e))),F({kind:`order`,before:n,after:o})},addRow:()=>{let[e]=At(void 0,`end`);window.requestAnimationFrame(()=>{let t=e===void 0?-1:tt.current.indexOf(e);t>=0&&(U(Hl({r:t,c:0})),Ve({cell:{r:t,c:0}}),ye.current?.reveal({r:t,c:0}))})},addColumn:()=>{Lt(L.length)},contextMenu:jn,rename:(e,t)=>{Pt(void 0),t!==void 0&&!L.includes(t)&&Rt(e,t),an()},expand:e=>{let t=z.indexOf(e);t>=0&&U(Hl({r:t,c:H?.focus.c??0})),Vt(e)},openFile:nn,fill:(e,t)=>{F(Xl(I,$e,{...e,r1:t},e.r1-e.r0+1)),U({anchor:{r:e.r0,c:e.c0},focus:{r:t,c:e.c1}})},columnActions:e=>({rename:()=>{Pt(e)},format:t=>{zt(e,t)},hide:()=>{Oe({...P,columns:R.filter(t=>t!==e)})},insert:t=>{let n=L.indexOf(e)+ +(t===`right`);Lt(n)},remove:()=>{let t=L.indexOf(e),n=new Map(D.current.table.rows.map(e=>[e.id,e.cells[t]??``])),r=[...n.values()].filter(e=>e!==``).length;It({title:i.column.removeAsk(e,r),run:()=>{let r=D.current.texts,i=r.spec??void 0;j.columns[e]!==void 0&&(i=po(i,e,void 0)),j.key===e&&(i=ho(i,`key`,void 0)),j.primary===e&&(i=ho(i,`primary`,void 0)),F({kind:`batch`,edits:[{kind:`remove-column`,at:t,name:e,values:n},...i===(r.spec??void 0)?[]:[{kind:`spec`,before:r.spec,after:i===void 0||i===``?null:i}]]})}})}}),focusGrid:()=>{an()}}),[un,Z,kt,j,F,N,Oe,L,R,P,At,Lt,jn,I,$e,i,an,U,Je,Ge,Rt,zt,z,H,nn]),Nn=a?void 0:I.rows.length===0?(0,V.jsxs)(`div`,{className:`sheet-empty`,"data-testid":`sheet-empty`,children:[(0,V.jsx)(`p`,{className:`sheet-empty-title`,children:i.empty.title}),(0,V.jsxs)(`div`,{className:`sheet-empty-actions`,children:[(0,V.jsxs)(he,{size:`sm`,"data-testid":`sheet-empty-add`,onClick:Mn.addRow,children:[(0,V.jsx)(Se,{"aria-hidden":!0}),i.empty.addRow]}),(0,V.jsxs)(he,{variant:`outline`,size:`sm`,onClick:()=>{an(),oe(i.empty.pasteHint)},children:[(0,V.jsx)(Re,{"aria-hidden":!0}),i.empty.paste]}),v&&(0,V.jsxs)(`label`,{className:`sheet-empty-file`,children:[(0,V.jsx)(et,{"aria-hidden":!0,size:14}),i.empty.importFile,(0,V.jsx)(`input`,{type:`file`,accept:`.csv,.tsv,.xlsx`,className:`sheet-empty-input`,onChange:e=>{let t=e.target.files?.[0];e.target.value=``,t&&v(t)}})]})]})]}):Ye.length===0&&P.filter?(0,V.jsxs)(`div`,{className:`sheet-empty`,"data-quiet":``,"data-testid":`sheet-no-match`,children:[(0,V.jsx)(`p`,{className:`sheet-empty-title`,children:i.empty.noMatch}),(0,V.jsx)(`p`,{className:`sheet-empty-body`,children:i.empty.noMatchBody}),(0,V.jsx)(`div`,{className:`sheet-empty-actions`,children:(0,V.jsx)(he,{variant:`outline`,size:`sm`,onClick:()=>{Oe(Po(P))},children:i.empty.clearFilter})})]}):void 0,Pn=(0,B.useMemo)(()=>{if(!De)return[];let e=[],t=N.sort?.[0];t&&JSON.stringify(N.sort)!==JSON.stringify(we.sort??[])&&e.push(i.look.sorted(t.column,t.desc===!0));let n=[...Uo(No(N))].filter(e=>{let t=W(j,e);return JSON.stringify([...Vo(N,e,t)??[]])!==JSON.stringify([...Vo(we,e,t)??[]])});n.length>0&&e.push(i.look.filtered(n));let r=wo(We,we).length-wo(We,N).length;return r>0&&e.push(i.look.hidden(r)),e},[De,N,we,j,We,i]),Fn=(0,B.useCallback)((e,t)=>{let n=W(j,e),r=P.sort?.[0];return(0,V.jsx)(Us,{name:e,column:n,ticked:Vo(P,e,n),sort:r?.column===e?r.desc?`desc`:`asc`:void 0,strings:i,locale:E,trigger:t,values:()=>{let t=No(Ho(P,e,n,void 0)),r=L.indexOf(e),i=So(We,j,t).map(e=>I.rows[e]?.cells[r]??``);return Ro(e,n,i,E)},onSort:t=>{Oe({...P,sort:[{column:e,...t?{desc:!0}:{}}]})},onTicked:t=>{Oe(Ho(P,e,n,t)),an()}})},[j,P,i,E,L,We,I.rows,Oe,an]),In=(0,B.useMemo)(()=>Uo(No(P)),[P]),Ln=P.sort?.[0],Rn=(0,B.useMemo)(()=>Ln===void 0?void 0:{column:Ln.column,desc:Ln.desc===!0},[Ln]),zn=(0,B.useCallback)((e,t)=>{let n=lt?.trim();if(!n||a)return;let r=new RegExp(n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),`gi`),o=t?gt:gt.slice(pt,pt+1),s=D.current.table,c=new Map(s.rows.map(e=>[e.id,e])),l=o.flatMap(t=>{let n=t.indexOf(`:`),i=Number(t.slice(0,n)),a=t.slice(n+1),o=c.get(i)?.cells[s.columns.indexOf(a)]??``,l=o.replace(r,()=>e);return l===o?[]:[{id:i,column:a,before:o,after:l}]});if(l.length===0||(F({kind:`cells`,changes:l}),oe(t?i.replace.done(l.length):void 0),t))return;let u=pt+1>=gt.length,d=u?gt[0]:gt[pt+1];if(d===void 0||d===o[0])return;let f=l[0]?.after.toLowerCase().includes(n.toLowerCase());mt(u?0:f===!0?pt+1:pt),vt([d],0)},[lt,a,gt,pt,F,i,vt]),Bn=(0,B.useMemo)(()=>{if(!H)return;let e=Bl(H);if(e.r0!==e.r1||e.c0!==e.c1)return cu(I,j,$e,e,E)},[H,I,j,$e,E]),Vn=H?Bl(H):void 0,Hn=kn?Tt(kn.cell):void 0,Un=Hn?k.find(e=>e.kind===`cell`&&e.id===Hn.row.id&&e.column===Hn.column):void 0,Wn={cells:k.filter(e=>e.kind===`cell`).length,rows:k.filter(e=>e.kind===`row-added`||e.kind===`row-removed`).length,columns:k.filter(e=>e.kind===`column-added`||e.kind===`column-removed`).length};return(0,V.jsxs)(`div`,{className:`sheet-page ${x??``}`,"data-testid":`sheet-editor`,"data-state":re,lang:E,children:[(0,V.jsxs)(`div`,{className:`sheet-sheet`,children:[d&&(0,V.jsxs)(`div`,{className:`sheet-notice`,role:`note`,"data-testid":`sheet-notice`,children:[(0,V.jsx)(`p`,{children:d.text}),d.lines.map(e=>(0,V.jsx)(`p`,{className:`sheet-notice-line`,children:e},e))]}),(0,V.jsxs)(`div`,{className:`sheet-main`,children:[(0,V.jsxs)(`div`,{className:`sheet-grid-wrap`,onPointerOver:Dn,onPointerLeave:En,onKeyDown:pn,onCopy:hn,onCut:gn,onPaste:_n,onDragOver:Xt,onDragLeave:Zt,onDrop:Qt,children:[Ht&&(0,V.jsx)(`input`,{ref:Wt,type:`file`,multiple:!0,hidden:!0,"data-testid":`sheet-file-input`,onChange:e=>{let t=[...e.target.files??[]];e.target.value=``;let n=Ut.current;n&&Y(n,t)}}),(0,V.jsx)(`textarea`,{ref:rn,className:`sheet-sink`,"aria-label":i.cell.open,tabIndex:-1,"data-testid":`sheet-sink`,onInput:e=>{if(e.nativeEvent.isComposing)return;let t=e.currentTarget.value;e.currentTarget.value=``,mn(t)},onCompositionEnd:e=>{let t=e.data;e.currentTarget.value=``,mn(t)}}),(0,V.jsx)(nu,{ref:ye,spec:it,rowHeight:at,...Kt?{dropping:Kt}:{},allColumns:L,columns:R,widths:rt,fit:st,freeze:P.freeze??+!!Je,wrap:ct,items:Xe,rowItems:Qe,selection:H,editing:ze,readOnly:a,found:_t,current:gt[pt],agentCells:xt,agentRows:St,away:Ct,headerTool:Fn,filtered:In,...Rn?{sortedBy:Rn}:{},...Nt===void 0?{}:{renaming:Nt},...Nn?{empty:Nn}:{},sorted:(P.sort?.length??0)>0,...j.key===void 0?{}:{keyColumn:j.key},strings:i,locale:E,fileUrl:Fe,dir:n,on:Mn}),lt!==void 0&&(0,V.jsx)(`div`,{className:`sheet-find-float`,children:(0,V.jsx)(Dd,{find:lt,onFind:yt,count:gt.length,at:pt,onStep:bt,replacing:dt,onReplacing:ft,onReplace:zn,readOnly:a,strings:i})}),On&&(0,V.jsx)(lu,{change:On.change,at:On,agent:m??i.agentInline,spec:it,locale:E,strings:i,onEnter:()=>{Tn.current=!0,window.clearTimeout(wn.current)},onLeave:()=>{Tn.current=!1,En()},onKeep:()=>{se(e=>e.filter(e=>e!==On.change)),Cn(void 0)},onUndo:()=>{wt([On.change]),Cn(void 0)}}),ae!==void 0&&(0,V.jsx)(`p`,{className:`sheet-toast`,role:`status`,children:ae}),(Wn.cells+Wn.rows+Wn.columns>0||de>0)&&(0,V.jsxs)(`div`,{className:`sheet-review-bar`,"data-testid":`sheet-review-bar`,"data-away":k.length>0&&k.every(e=>e.away)?``:void 0,children:[(0,V.jsxs)(`span`,{className:`sheet-review-text`,children:[Wn.cells+Wn.rows+Wn.columns>0&&(k.every(e=>e.away)?i.review.countAway(Wn.cells,Wn.rows,Wn.columns):i.review.count(ee,Wn.cells,Wn.rows,Wn.columns)),de>0&&(0,V.jsxs)(`span`,{className:`sheet-review-conflict`,children:[` `,i.review.conflicts(de)]})]}),vn.length>0&&(0,V.jsxs)(`span`,{className:`sheet-review-step`,children:[(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":i.review.previous,title:i.review.previous,"data-testid":`sheet-review-previous`,onClick:()=>{xn(-1)},children:(0,V.jsx)(_,{size:14,"aria-hidden":!0})}),(0,V.jsx)(`span`,{className:`sheet-review-position`,children:yn>=0&&yn<vn.length?i.review.position(yn+1,vn.length):String(vn.length)}),(0,V.jsx)(`button`,{type:`button`,className:`sheet-icon-button`,"aria-label":i.review.next,title:i.review.next,"data-testid":`sheet-review-next`,onClick:()=>{xn(1)},children:(0,V.jsx)(h,{size:14,"aria-hidden":!0})})]}),k.length>0&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`button`,{type:`button`,onClick:()=>{wt(k)},children:[(0,V.jsx)(S,{size:13,"aria-hidden":!0}),i.review.undoAll]}),(0,V.jsxs)(`button`,{type:`button`,onClick:()=>{se([]),me(0)},children:[(0,V.jsx)(g,{size:13,"aria-hidden":!0}),i.review.keepAll]})]}),k.length===0&&de>0&&(0,V.jsx)(`button`,{type:`button`,onClick:()=>{me(0)},children:i.review.keep})]})]}),q&&(0,V.jsx)(au,{row:q,columns:R,allColumns:L,spec:j,number:z.includes(q.id)?z.indexOf(q.id)+1:(nt.get(q.id)??0)+1,total:z.includes(q.id)?z.length:I.rows.length,title:q.cells[L.indexOf(To(L,j)??``)]??``,readOnly:a,strings:i,locale:E,fileUrl:Fe,dir:n,onChange:(e,t)=>{Dt(q,e,t)},onAddOption:kt,onOpenFile:(e,t)=>{let n=z.indexOf(q.id),r=R.indexOf(e);n>=0&&r>=0&&nn({r:n,c:r},t)},...Ht?{onAddFiles:e=>{let t=z.indexOf(q.id),n=R.indexOf(e);t>=0&&n>=0&&Gt({r:t,c:n})}}:{},onStep:e=>{let t=z.indexOf(q.id),n=z[t+e];if(n===void 0)return;Vt(n);let r=z.indexOf(n);if(r<0)return;let i={r,c:H?.focus.c??0};U(Hl(i)),cn(i)},onClose:()=>{Vt(void 0),an()}},q.id)]}),(0,V.jsxs)(`footer`,{className:`sheet-status`,"data-testid":`sheet-status`,children:[(0,V.jsx)(`span`,{className:`sheet-count`,"data-testid":`sheet-count`,children:i.rows(z.length,I.rows.length)}),(0,V.jsx)(Ed,{parts:Pn,strings:i,onClear:()=>{Oe(void 0)}}),Bn&&Bn.count>0&&(0,V.jsxs)(`span`,{className:`sheet-stats`,"data-testid":`sheet-stats`,children:[Bn.average!==void 0&&(0,V.jsxs)(`span`,{children:[i.stats.average,` `,(0,V.jsx)(`b`,{children:Bn.average})]}),(0,V.jsxs)(`span`,{children:[i.stats.count,` `,(0,V.jsx)(`b`,{children:Bn.count})]}),Bn.sum!==void 0&&(0,V.jsxs)(`span`,{children:[i.stats.sum,` `,(0,V.jsx)(`b`,{children:Bn.sum})]})]})]})]}),kn&&(0,V.jsxs)(Te,{open:!0,modal:!1,onOpenChange:e=>{e||An(void 0)},children:[(0,V.jsx)(be,{asChild:!0,children:(0,V.jsx)(`span`,{className:`sheet-menu-anchor`,style:{left:kn.x,top:kn.y}})}),(0,V.jsxs)(xe,{align:`start`,className:`sheet-menu`,"data-testid":`sheet-context-menu`,onCloseAutoFocus:e=>{e.preventDefault()},children:[Un?.kind===`cell`&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(M,{disabled:!0,className:`sheet-menu-note`,children:[i.review.was,`:`,` `,Un.before===``?`—`:Ga(W(j,Un.column),Un.before,E)]}),(0,V.jsxs)(M,{onSelect:()=>{se(e=>e.filter(e=>e!==Un))},children:[(0,V.jsx)(g,{"aria-hidden":!0}),i.review.keep]}),(0,V.jsxs)(M,{onSelect:()=>{wt([Un])},children:[(0,V.jsx)(S,{"aria-hidden":!0}),i.review.undo]}),(0,V.jsx)(ge,{})]}),(0,V.jsxs)(M,{onSelect:()=>{let e=dn(!1);e!==void 0&&navigator.clipboard.writeText(e)},children:[(0,V.jsx)(y,{"aria-hidden":!0}),i.cell.copy,(0,V.jsx)(le,{children:Od(`C`)})]}),!a&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(M,{onSelect:()=>{let e=dn(!0);e!==void 0&&navigator.clipboard.writeText(e)},children:[(0,V.jsx)(Ze,{"aria-hidden":!0}),i.cell.cut,(0,V.jsx)(le,{children:Od(`X`)})]}),(0,V.jsxs)(M,{onSelect:()=>{navigator.clipboard.readText().then(fn,()=>{oe(i.cell.pasteHint)})},children:[(0,V.jsx)(Re,{"aria-hidden":!0}),i.cell.paste,(0,V.jsx)(le,{children:Od(`V`)})]}),(0,V.jsxs)(M,{onSelect:()=>{Vn&&F(ql(I,$e,Vn))},children:[(0,V.jsx)(Be,{"aria-hidden":!0}),i.cell.clearContents,(0,V.jsx)(le,{children:`⌫`})]}),Ht&&Hn&&W(j,Hn.column).type===`file`&&(0,V.jsxs)(M,{"data-testid":`sheet-insert-file`,onSelect:()=>{Gt(kn.cell)},children:[(0,V.jsx)(qe,{"aria-hidden":!0}),i.files.insert]}),(0,V.jsx)(ge,{}),(0,V.jsxs)(M,{onSelect:()=>{At(kn.cell,`above`)},children:[(0,V.jsx)(Pe,{"aria-hidden":!0}),i.row.insertAbove]}),(0,V.jsxs)(M,{onSelect:()=>{At(kn.cell,`below`)},children:[(0,V.jsx)(Ae,{"aria-hidden":!0}),i.row.insertBelow]}),(0,V.jsxs)(M,{variant:`destructive`,onSelect:()=>{Vn&&F(Fl(D.current.table,jt(Vn)))},children:[(0,V.jsx)(b,{"aria-hidden":!0}),i.row.remove(Vn?Vn.r1-Vn.r0+1:1)]})]}),(0,V.jsx)(ge,{}),(0,V.jsxs)(M,{onSelect:()=>{let e=z[kn.cell.r];e!==void 0&&Vt(e)},children:[(0,V.jsx)(Ke,{"aria-hidden":!0}),i.row.expand,(0,V.jsx)(le,{children:Od(`↵`)})]})]})]}),$t&&(0,V.jsx)(Ms,{files:$t.files,at:$t.at,dir:n,fileUrl:Fe,strings:i,readOnly:a,onStep:e=>{en({...$t,at:e});let t=z.indexOf($t.files[e]?.row??-1),n=R.indexOf($t.column);t>=0&&n>=0&&ln(Hl({r:t,c:n}))},onRemove:e=>{let t=D.current.table,n=t.rows.find(t=>t.id===e.row);if(!n)return;let r=W(j,$t.column),i=Ia(n.cells[t.columns.indexOf($t.column)]??``,r.separator);i.splice(e.at,1),Dt(n,$t.column,La(i,r.separator)),en(void 0),an()},onClose:()=>{en(void 0),an()}}),(0,V.jsx)(Ee,{open:Ft!==void 0,onOpenChange:e=>{e||It(void 0)},children:(0,V.jsxs)(fe,{className:`sheet-dialog`,showCloseButton:!1,children:[(0,V.jsx)(Ce,{children:(0,V.jsx)(A,{children:Ft?.title})}),(0,V.jsxs)(pe,{children:[(0,V.jsx)(he,{variant:`ghost`,onClick:()=>{It(void 0)},children:i.column.cancel}),(0,V.jsxs)(he,{variant:`destructive`,"data-testid":`sheet-confirm`,onClick:()=>{Ft?.run(),It(void 0)},children:[(0,V.jsx)(b,{"aria-hidden":!0}),i.column.confirm]})]})]})})]})}export{Ld as SheetEditor};