@progress/kendo-react-spreadsheet 6.1.1 → 7.0.0-develop.10

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 (147) hide show
  1. package/FormulaInput.d.ts +9 -0
  2. package/LICENSE.md +1 -1
  3. package/List.d.ts +9 -0
  4. package/NameBox.d.ts +9 -0
  5. package/SheetsBar.d.ts +8 -0
  6. package/{dist/npm/Spreadsheet.d.ts → Spreadsheet.d.ts} +4 -0
  7. package/{dist/npm/SpreadsheetProps.d.ts → SpreadsheetProps.d.ts} +5 -2
  8. package/dist/cdn/js/kendo-react-spreadsheet.js +5 -1
  9. package/index.d.ts +8 -0
  10. package/index.js +5 -0
  11. package/index.mjs +1357 -0
  12. package/{dist/npm/messages.d.ts → messages.d.ts} +4 -0
  13. package/package-metadata.d.ts +9 -0
  14. package/package.json +43 -57
  15. package/{dist/npm/tools → tools}/adjustDecimals.d.ts +4 -0
  16. package/{dist/npm/tools → tools}/align.d.ts +4 -0
  17. package/tools/backgroundColor.d.ts +14 -0
  18. package/tools/bold.d.ts +14 -0
  19. package/tools/cleanFormat.d.ts +15 -0
  20. package/tools/defaultTools.d.ts +9 -0
  21. package/tools/export.d.ts +15 -0
  22. package/tools/fontFamily.d.ts +15 -0
  23. package/{dist/es/tools → tools}/fontSize.d.ts +4 -0
  24. package/tools/format.d.ts +15 -0
  25. package/{dist/es/tools → tools}/gridLines.d.ts +4 -0
  26. package/{dist/es/tools → tools}/index.d.ts +5 -1
  27. package/tools/italic.d.ts +14 -0
  28. package/tools/open.d.ts +15 -0
  29. package/tools/redo.d.ts +14 -0
  30. package/{dist/npm/tools → tools}/tableTools.d.ts +4 -0
  31. package/tools/textColor.d.ts +14 -0
  32. package/{dist/es/tools → tools}/textWrap.d.ts +4 -0
  33. package/tools/underline.d.ts +14 -0
  34. package/tools/undo.d.ts +14 -0
  35. package/{dist/npm/tools → tools}/utils.d.ts +4 -0
  36. package/about.md +0 -3
  37. package/dist/es/FormulaInput.d.ts +0 -5
  38. package/dist/es/FormulaInput.js +0 -116
  39. package/dist/es/List.d.ts +0 -5
  40. package/dist/es/List.js +0 -22
  41. package/dist/es/NameBox.d.ts +0 -5
  42. package/dist/es/NameBox.js +0 -91
  43. package/dist/es/SheetsBar.d.ts +0 -5
  44. package/dist/es/SheetsBar.js +0 -246
  45. package/dist/es/Spreadsheet.d.ts +0 -47
  46. package/dist/es/Spreadsheet.js +0 -286
  47. package/dist/es/SpreadsheetProps.d.ts +0 -189
  48. package/dist/es/SpreadsheetProps.js +0 -2
  49. package/dist/es/main.d.ts +0 -4
  50. package/dist/es/main.js +0 -4
  51. package/dist/es/messages.d.ts +0 -110
  52. package/dist/es/messages.js +0 -310
  53. package/dist/es/package-metadata.d.ts +0 -5
  54. package/dist/es/package-metadata.js +0 -11
  55. package/dist/es/tools/adjustDecimals.d.ts +0 -20
  56. package/dist/es/tools/adjustDecimals.js +0 -39
  57. package/dist/es/tools/align.d.ts +0 -44
  58. package/dist/es/tools/align.js +0 -96
  59. package/dist/es/tools/backgroundColor.d.ts +0 -11
  60. package/dist/es/tools/backgroundColor.js +0 -15
  61. package/dist/es/tools/bold.d.ts +0 -11
  62. package/dist/es/tools/bold.js +0 -9
  63. package/dist/es/tools/cleanFormat.d.ts +0 -11
  64. package/dist/es/tools/cleanFormat.js +0 -17
  65. package/dist/es/tools/defaultTools.d.ts +0 -5
  66. package/dist/es/tools/defaultTools.js +0 -66
  67. package/dist/es/tools/export.d.ts +0 -11
  68. package/dist/es/tools/export.js +0 -19
  69. package/dist/es/tools/fontFamily.d.ts +0 -11
  70. package/dist/es/tools/fontFamily.js +0 -21
  71. package/dist/es/tools/fontSize.js +0 -82
  72. package/dist/es/tools/format.d.ts +0 -11
  73. package/dist/es/tools/format.js +0 -26
  74. package/dist/es/tools/gridLines.js +0 -25
  75. package/dist/es/tools/index.js +0 -18
  76. package/dist/es/tools/italic.d.ts +0 -11
  77. package/dist/es/tools/italic.js +0 -9
  78. package/dist/es/tools/open.d.ts +0 -11
  79. package/dist/es/tools/open.js +0 -36
  80. package/dist/es/tools/redo.d.ts +0 -11
  81. package/dist/es/tools/redo.js +0 -9
  82. package/dist/es/tools/tableTools.d.ts +0 -64
  83. package/dist/es/tools/tableTools.js +0 -102
  84. package/dist/es/tools/textColor.d.ts +0 -11
  85. package/dist/es/tools/textColor.js +0 -15
  86. package/dist/es/tools/textWrap.js +0 -26
  87. package/dist/es/tools/underline.d.ts +0 -11
  88. package/dist/es/tools/underline.js +0 -9
  89. package/dist/es/tools/undo.d.ts +0 -11
  90. package/dist/es/tools/undo.js +0 -9
  91. package/dist/es/tools/utils.d.ts +0 -91
  92. package/dist/es/tools/utils.js +0 -102
  93. package/dist/npm/FormulaInput.d.ts +0 -5
  94. package/dist/npm/FormulaInput.js +0 -119
  95. package/dist/npm/List.d.ts +0 -5
  96. package/dist/npm/List.js +0 -25
  97. package/dist/npm/NameBox.d.ts +0 -5
  98. package/dist/npm/NameBox.js +0 -94
  99. package/dist/npm/SheetsBar.d.ts +0 -5
  100. package/dist/npm/SheetsBar.js +0 -250
  101. package/dist/npm/Spreadsheet.js +0 -289
  102. package/dist/npm/SpreadsheetProps.js +0 -9
  103. package/dist/npm/main.d.ts +0 -4
  104. package/dist/npm/main.js +0 -39
  105. package/dist/npm/messages.js +0 -313
  106. package/dist/npm/package-metadata.d.ts +0 -5
  107. package/dist/npm/package-metadata.js +0 -14
  108. package/dist/npm/tools/adjustDecimals.js +0 -42
  109. package/dist/npm/tools/align.js +0 -100
  110. package/dist/npm/tools/backgroundColor.d.ts +0 -11
  111. package/dist/npm/tools/backgroundColor.js +0 -18
  112. package/dist/npm/tools/bold.d.ts +0 -11
  113. package/dist/npm/tools/bold.js +0 -12
  114. package/dist/npm/tools/cleanFormat.d.ts +0 -11
  115. package/dist/npm/tools/cleanFormat.js +0 -21
  116. package/dist/npm/tools/defaultTools.d.ts +0 -5
  117. package/dist/npm/tools/defaultTools.js +0 -69
  118. package/dist/npm/tools/export.d.ts +0 -11
  119. package/dist/npm/tools/export.js +0 -23
  120. package/dist/npm/tools/fontFamily.d.ts +0 -11
  121. package/dist/npm/tools/fontFamily.js +0 -25
  122. package/dist/npm/tools/fontSize.d.ts +0 -39
  123. package/dist/npm/tools/fontSize.js +0 -86
  124. package/dist/npm/tools/format.d.ts +0 -11
  125. package/dist/npm/tools/format.js +0 -30
  126. package/dist/npm/tools/gridLines.d.ts +0 -15
  127. package/dist/npm/tools/gridLines.js +0 -29
  128. package/dist/npm/tools/index.d.ts +0 -19
  129. package/dist/npm/tools/index.js +0 -34
  130. package/dist/npm/tools/italic.d.ts +0 -11
  131. package/dist/npm/tools/italic.js +0 -12
  132. package/dist/npm/tools/open.d.ts +0 -11
  133. package/dist/npm/tools/open.js +0 -40
  134. package/dist/npm/tools/redo.d.ts +0 -11
  135. package/dist/npm/tools/redo.js +0 -12
  136. package/dist/npm/tools/tableTools.js +0 -105
  137. package/dist/npm/tools/textColor.d.ts +0 -11
  138. package/dist/npm/tools/textColor.js +0 -18
  139. package/dist/npm/tools/textWrap.d.ts +0 -15
  140. package/dist/npm/tools/textWrap.js +0 -30
  141. package/dist/npm/tools/underline.d.ts +0 -11
  142. package/dist/npm/tools/underline.js +0 -12
  143. package/dist/npm/tools/undo.d.ts +0 -11
  144. package/dist/npm/tools/undo.js +0 -12
  145. package/dist/npm/tools/utils.js +0 -108
  146. package/dist/systemjs/kendo-react-spreadsheet.js +0 -1
  147. package/e2e-next/basic.tests.ts +0 -24
package/index.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ export { Spreadsheet } from './Spreadsheet';
6
+ export * from './SpreadsheetProps';
7
+ export * from './tools';
8
+ export { Context, Matrix, CalcError, packDate, unpackDate, packTime, unpackTime, serialToDate, dateToSerial, defineFunction, defineAlias, Ref, CellRef, NameRef, RangeRef, UnionRef, NULLREF } from '@progress/kendo-spreadsheet-common';
package/index.js ADDED
@@ -0,0 +1,5 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Vt=require("react"),qt=require("prop-types"),I=require("@progress/kendo-react-buttons"),we=require("@progress/kendo-react-layout"),Re=require("@progress/kendo-react-dialogs"),Jt=require("@progress/kendo-react-popup"),F=require("@progress/kendo-react-common"),p=require("@progress/kendo-svg-icons"),X=require("@progress/kendo-react-dropdowns"),A=require("@progress/kendo-react-intl"),$t=require("@progress/kendo-react-sortable"),N=require("@progress/kendo-spreadsheet-common"),Te=require("@progress/kendo-file-saver"),Fe=require("@progress/kendo-ooxml"),Gt=require("@progress/kendo-react-upload"),Xt=require("@progress/kendo-react-inputs");function ze(t){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(n,a,r.get?r:{enumerable:!0,get:()=>t[a]})}}return n.default=t,Object.freeze(n)}const e=ze(Vt),B=ze(qt),Z=e.forwardRef((t,n)=>{const a=e.useRef(null),r=e.useRef(null);return e.useImperativeHandle(a,()=>({element:r.current,props:t})),e.useImperativeHandle(n,()=>a.current),e.createElement("div",{className:"k-list k-list-md"},e.createElement("div",{className:"k-list-content"},e.createElement("ul",{ref:r,className:"k-spreadsheet-formula-list k-list-ul",onMouseDown:o=>o.preventDefault(),style:{maxHeight:280}},t.data.map(o=>e.createElement("li",{key:o.text,className:"k-list-item",onClick:()=>t.onItemClick(o.value)},e.createElement(F.IconWrap,{name:"formula-fx",icon:p.formulaFxIcon}),e.createElement("span",{className:"k-list-item-text"},o.text))))))});Z.displayName="List";Z.propTypes={};const V=e.forwardRef((t,n)=>{const[a,r]=e.useState(!1),[o,l]=e.useState(0),[d,u]=e.useState([]),s=e.useMemo(()=>({}),[]);s.showPopup=a,s.popupContentKey=o,s.data=d;const C=e.useRef(null),v=e.useRef(null),y=e.useRef(null),b=e.useCallback(()=>{if(y.current&&y.current.element)return y.current.element.querySelector(".k-focus")},[]),w=e.useCallback(()=>{const g=b();g&&g.classList.remove("k-focus")},[]),f=e.useCallback(g=>{const L=Array.from(y.current&&y.current.element.children||[]),z=b();let m;if(z){const S=L.indexOf(z);z.classList.remove("k-focus"),m=L[S+g]?L[S+g]:g===1?L[0]:L[L.length-1]}else m=g===1?L[0]:L[L.length-1];m&&m.classList.add("k-focus")},[]);e.useImperativeHandle(C,()=>({element:v.current,props:t,popup:{open:()=>{r(!0)},close:()=>{r(!1)},position:()=>{l(s.popupContentKey+1)},visible:()=>s.showPopup},list:{get element(){return y.current&&y.current.element},data:g=>{if(g)u(g);else return s.data},value:()=>({}),focus:()=>Array.from(y.current&&y.current.element&&y.current.element.children||[]).indexOf(b()),focusNext:()=>{f(1)},focusPrev:()=>{f(-1)},focusFirst:()=>{const g=y.current&&y.current.element;g&&g.children.item(0)&&(w(),g.children.item(0).classList.add("k-focus"))},focusLast:()=>{const g=y.current&&y.current.element;g&&g.children.length&&(w(),g.children.item(g.children.length-1).classList.add("k-focus"))},itemClick:g=>{s.itemClick=g}}}),[]),e.useImperativeHandle(n,()=>C.current,[]);const k=e.useCallback(g=>{s.itemClick&&s.itemClick(g)},[]);return e.createElement(e.Fragment,null,e.createElement("div",{className:F.classNames("k-spreadsheet-formula-input",t.className),contentEditable:"true",spellCheck:"false",style:{whiteSpace:"pre"},ref:v}),e.createElement(Jt.Popup,{show:a,anchor:v.current,animate:{openDuration:100,closeDuration:100},contentKey:o,popupClass:"k-list-container"},e.createElement(Z,{data:d,ref:y,onItemClick:k})))});V.displayName="FormulaInput";V.propTypes={};const Pe="spreadsheet.bold",Ke="spreadsheet.italic",Be="spreadsheet.underline",Oe="spreadsheet.openFile",Me="spreadsheet.textColor",je="spreadsheet.background",He="spreadsheet.addRowAbove",Ue="spreadsheet.addRowBelow",We="spreadsheet.addColumnLeft",_e="spreadsheet.addColumnRight",Ve="spreadsheet.deleteRow",qe="spreadsheet.deleteColumn",Je="spreadsheet.undo",$e="spreadsheet.redo",Ge="spreadsheet.fontSize",Xe="spreadsheet.fontSizeIncrease",Ze="spreadsheet.fontSizeDecrease",Ye="spreadsheet.fontName",Qe="spreadsheet.cleanFormatting",et="spreadsheet.format",tt="spreadsheet.alignHorizontally",nt="spreadsheet.alignVertically",ot="spreadsheet.align",at="spreadsheet.alignLeft",lt="spreadsheet.alignRight",rt="spreadsheet.alignCenter",st="spreadsheet.center",ct="spreadsheet.alignJustify",it="spreadsheet.justify",ut="spreadsheet.alignTop",dt="spreadsheet.alignMiddle",mt="spreadsheet.alignBottom",pt="spreadsheet.increaseDecimal",ft="spreadsheet.decreaseDecimal",gt="spreadsheet.textWrap",bt="spreadsheet.gridLines",ht="spreadsheet.exportToExcel",yt="spreadsheet.nameBox",Ct="spreadsheet.defaultSheetName",vt="spreadsheet.home",kt="spreadsheet.file",xt="spreadsheet.insert",St="spreadsheet.formatTab",It="spreadsheet.addNewSheet",Et="spreadsheet.error",wt="spreadsheet.ok",Rt="spreadsheet.modifyMerged",Nt="spreadsheet.cannotModifyDisabled",At="spreadsheet.openUnsupported",Dt="spreadsheet.duplicateSheetName",E={[Pe]:"Bold",[Ke]:"Italic",[Be]:"Underline",[Je]:"Undo",[$e]:"Redo",[Ge]:"Font size",[Xe]:"Increase Font size",[Ze]:"Decrease Font size",[Ye]:"Font",[Qe]:"Clean formatting",[et]:"Custom format...",[tt]:"Align horizontally",[nt]:"Align vertically",[ot]:"Align",[at]:"Align left",[lt]:"Align right",[rt]:"Align center",[ct]:"Align justify",[st]:"Center",[it]:"Justify",[ut]:"Align top",[dt]:"Align middle",[mt]:"Align bottom",[pt]:"Increase decimal",[ft]:"Decrease decimal",[Me]:"Text Color",[je]:"Background color",[He]:"Add row above",[Ue]:"Add row below",[We]:"Add column left",[_e]:"Add column right",[Ve]:"Delete row",[qe]:"Delete column",[Oe]:"Open...",[ht]:"Export to Excel",[gt]:"Text Wrap",[bt]:"Toggle gridlines",[yt]:"Name Box",[Ct]:"Sheet",[vt]:"Home",[kt]:"File",[xt]:"Insert",[It]:"Add new sheet",[St]:"Format",[Rt]:"Cannot change part of a merged cell.",[Nt]:"Cannot modify disabled cells.",[At]:"Unsupported format. Please select an .xlsx file.",[Dt]:"There is an existing sheet with this name. Please enter another name.",[Et]:"Error",[wt]:"OK"},c={bold:Pe,italic:Ke,underline:Be,undo:Je,redo:$e,fontSize:Ge,fontSizeIncrease:Xe,fontSizeDecrease:Ze,fontName:Ye,cleanFormatting:Qe,format:et,alignHorizontally:tt,alignVertically:nt,align:ot,alignLeft:at,alignRight:lt,alignCenter:rt,center:st,alignJustify:ct,justify:it,alignTop:ut,alignMiddle:dt,alignBottom:mt,increaseDecimal:pt,decreaseDecimal:ft,textColor:Me,background:je,addRowAbove:He,addRowBelow:Ue,addColumnLeft:We,addColumnRight:_e,deleteRow:Ve,deleteColumn:qe,open:Oe,exportToExcel:ht,textWrap:gt,gridLines:bt,nameBox:yt,defaultSheetName:Ct,file:kt,home:vt,insert:xt,addNewSheet:It,error:Et,ok:wt,modifyMerged:Rt,cannotModifyDisabled:Nt,openUnsupported:At,duplicateSheetName:Dt,formatTab:St},Y=e.forwardRef((t,n)=>{const a=e.useRef(null),r=e.useRef(null),[o,l]=e.useState([]),[d,u]=e.useState(!1),[s,C]=e.useState(""),v=e.useMemo(()=>({}),[]);v.data=o,e.useImperativeHandle(a,()=>({value:m=>{if(m===void 0){const S=r.current&&r.current.value;return S&&(S.name||S)}else C(m||"")}}),[]),e.useImperativeHandle(n,()=>a.current,[]);const y=e.useCallback(m=>{const S=t.nameEditor();S&&S.trigger("delete",{name:m})},[]),b=e.useCallback((m,S)=>{const P=e.createElement(e.Fragment,null,m.props.children,e.createElement("span",{role:"button",className:"k-button-delete",onClick:()=>y(S.dataItem[S.textField]),onMouseDown:x=>x.preventDefault(),onPointerDown:x=>x.preventDefault(),"data-role":"delete"},e.createElement(F.IconWrap,{name:"x",icon:p.xIcon})));return e.cloneElement(m,m.props,P)},[]),w=e.useCallback(m=>e.cloneElement(m,{...m.props},e.createElement("div",null)),[]),f=e.useCallback(m=>{if(m.syntheticEvent&&m.syntheticEvent.type==="change")return;const S=t.nameEditor();S&&(l(S.readData()),u(!0))},[]),k=e.useCallback(()=>{u(!1)},[]),g=e.useCallback(m=>{if(m.syntheticEvent.target.closest("[data-role]"))return;const S=t.nameEditor();if(S&&m.value){const P=m.value.name;P!==s&&(S.trigger("select",{name:P}),C(P))}},[s]),L=e.useCallback(m=>{const S=t.nameEditor();if(S)if(m.key==="Enter"){const P=m.target.value;S.trigger("enter",{value:P}),C(P)}else m.key==="Escape"&&(S.trigger("cancel"),C(v.prevValue))},[]),z=e.useCallback(m=>{v.prevValue=m.value.name},[]);return e.createElement("div",{className:"k-spreadsheet-name-editor",onKeyDown:L},e.createElement(X.ComboBox,{ref:r,title:A.useLocalization().toLanguageString(c.nameBox,E[c.nameBox]),popupSettings:{className:"k-spreadsheet-names-popup"},fillMode:"flat",clearButton:!1,dataItemKey:"name",textField:"name",itemRender:b,data:o,value:s?o.find(m=>m.name===s)||{name:s}:null,onChange:g,opened:d,onOpen:f,onClose:k,onFocus:z,listNoDataRender:w,allowCustom:!0}))});Y.displayName="NameBox";Y.propTypes={};const Zt={onSelect:()=>{},onDelete:()=>{},onEnterEdit:()=>{},onCancelEdit:()=>{},onExitEdit:()=>{},onEdit:()=>{}},Lt=e.createContext(Zt),Yt=t=>{const n=t.dataItem,{onSelect:a,onDelete:r,onEnterEdit:o,onExitEdit:l,onCancelEdit:d,onEdit:u}=e.useContext(Lt),s=e.useCallback(f=>{f.target instanceof HTMLElement&&f.target.nodeName==="INPUT"||a.call(void 0,n,f)},[n,a]),C=e.useCallback(f=>{r.call(void 0,n,f)},[n,r]),v=e.useCallback(f=>{f.target instanceof HTMLElement&&f.target.nodeName==="INPUT"||o.call(void 0,n,f)},[n,o]),y=e.useCallback(f=>{l.call(void 0,n,f)},[n,l]),b=e.useCallback(f=>{f.key==="Enter"?l.call(void 0,n,f):f.key==="Escape"&&d.call(void 0,n,f)},[n,l,d]),w=e.useCallback(f=>{u.call(void 0,{...n,text:f.target.value},f)},[n,u]);return e.createElement("li",{style:t.style,...t.attributes,ref:t.forwardRef,role:"tab",className:F.classNames("k-item k-tabstrip-item",{"k-disabled":t.isDisabled,"k-active k-state-tab-on-top k-spreadsheet-sheets-bar-active":n.active,"k-spreadsheet-sheets-bar-inactive":!n.active,"k-first":n.first,"k-last":n.last}),onClick:s,onDoubleClick:v},n.inEdit?e.createElement("input",{type:"text",className:"k-textbox k-spreadsheet-sheets-editor",value:n.text,onChange:w,maxLength:50,autoFocus:!0,onBlur:y,onKeyDown:b}):e.createElement(e.Fragment,null,e.createElement("span",{className:"k-link"},n.text),n.first&&n.last?null:e.createElement("span",{className:"k-link k-spreadsheet-sheets-remove",onClick:C},e.createElement(F.IconWrap,{name:"x",icon:p.xIcon}))))},Tt=e.forwardRef((t,n)=>{const{children:a,className:r,...o}=t;return e.createElement("ul",{className:F.classNames("k-tabstrip-items k-reset",r),role:"tablist",...o,ref:n},a)});Tt.displayName="TabsList";const Qt=t=>{const{sheets:n,setSheets:a,onSheetSelect:r,onSheetDelete:o,onSheetEdit:l,onSheetReorderEnd:d}=t,[u,s]=e.useState(null),C=e.useRef(!1),v=e.useRef(-1),y=e.useCallback(x=>{a(x.map((D,K,T)=>({...D,first:K===0,last:K===T.length-1})))},[]),b=e.useCallback(x=>{y(x.newState)},[y,d]),w=e.useCallback(x=>{d.call(void 0,x)},[d]),f=e.useCallback(x=>{C.current=!0,v.current=x.prevIndex},[]),k=e.useCallback(x=>{setTimeout(()=>{C.current=!1},50),d.call(void 0,{...x,prevIndex:v.current})},[]),g=e.useCallback((x,D)=>{C.current||r.call(void 0,x,D)},[r]),L=e.useCallback((x,D)=>{D.stopPropagation(),o.call(void 0,x)},[n,o]),z=e.useCallback((x,D)=>{D.stopPropagation(),D.preventDefault();const K=n.map(T=>({...T,active:T.id===x.id,inEdit:T.id===x.id}));a(K),s({...x})},[n]),m=e.useCallback((x,D)=>{D.stopPropagation(),D.preventDefault();const K=n.map(T=>({...T,inEdit:!1,text:T.inEdit&&u?u.text:T.text}));a(K),s(null)},[n,u]),S=e.useCallback((x,D)=>{D.stopPropagation(),D.preventDefault();const K=n.map(j=>({...j,inEdit:!1})),T=n.findIndex(j=>j.id===x.id);a(K),s(null),l.call(void 0,x,T)},[n,l]),P=e.useCallback((x,D)=>{D.stopPropagation(),D.preventDefault();const K=n.map(T=>({...T,text:x.id===T.id?x.text:T.text}));a(K)},[n]);return e.createElement("div",{className:"k-spreadsheet-sheets-items k-tabstrip k-floatwrap k-tabstrip-bottom"},e.createElement("div",{className:"k-tabstrip-items-wrapper k-hstack"},e.createElement(Lt.Provider,{value:{onSelect:g,onDelete:L,onEnterEdit:z,onCancelEdit:m,onExitEdit:S,onEdit:P}},e.createElement($t.Sortable,{idField:"id",data:n,itemUI:Yt,itemsWrapUI:Tt,onDragOver:b,onNavigate:w,onDragStart:f,onDragEnd:k}))))},en=(t,n)=>t.map((a,r,o)=>({text:a.name(),id:F.guid(),first:r===0,last:r===o.length-1,active:a.name()===n})),tn=t=>{const{spreadsheetRef:n}=t,[a,r]=e.useState([]),o=e.useRef((a.find(b=>b.active)||{}).text),l=e.useCallback(()=>{n.current&&(n.current.view.sheetsbar.onSheetSelect(o.current),r(en(n.current.sheets(),o.current)))},[]),d=e.useCallback(()=>{if(n.current){const b=n.current.sheets();b.find(w=>w.name()===o.current)||(o.current=b[b.length-1].name()),l()}},[]);e.useEffect(()=>(n.current&&(n.current.sheets().length&&(o.current=n.current.sheets()[0].name(),l()),n.current.view.bind("update",d)),()=>{n.current&&n.current.view.unbind("update",d)}),[n.current]);const u=e.useCallback(b=>{o.current!==b.text&&(o.current=b.text,l())},[]),s=e.useCallback(()=>{if(n.current){n.current.view.sheetsbar.onAddSelect();const b=n.current.sheets();o.current=b[b.length-1].name(),l()}},[]),C=e.useCallback(b=>{if(n.current){if(o.current===b.text){const w=n.current.sheets(),f=w.findIndex(g=>g.name()===b.text),k=w[f+1]||w[f-1];o.current=k?k.name():""}n.current.view.sheetsbar.onSheetRemove(b.text),l()}},[]),v=e.useCallback((b,w)=>{if(n.current){let f=b.text;const k=n.current.sheets(),g=k[w];if(!f){o.current=g.name(),l();return}if(g&&g.name()===f)return;k.find(L=>L.name()===f)&&(f=g.name()),n.current.view.sheetsbar.onSheetRename(f,w),o.current=f,l()}},[]),y=e.useCallback(b=>{if(n.current){const{prevIndex:w,nextIndex:f}=b;o.current=n.current.sheets()[w].name(),n.current.view.sheetsbar.onSheetReorderEnd({oldIndex:w,newIndex:f}),l()}},[]);return e.createElement("div",{className:"k-spreadsheet-sheets-bar k-header"},e.createElement(I.Button,{fillMode:"flat",icon:"plus",className:"k-spreadsheet-sheets-bar-add",title:A.useLocalization().toLanguageString(c.addNewSheet,E[c.addNewSheet]),svgIcon:p.plusIcon,onClick:s}),e.createElement(Qt,{sheets:a,setSheets:r,onSheetSelect:u,onSheetDelete:C,onSheetEdit:v,onSheetReorderEnd:y}))},Q=t=>{const{spreadsheetRef:n}=t,a=e.useCallback(()=>{n.current&&n.current.saveAsExcel({...n.current.options.excel,saveAs:Te.saveAs,Workbook:Fe.Workbook})},[]);return e.createElement(I.Button,{className:"k-toolbar-button",title:"Export...",icon:"download",fillMode:"flat",svgIcon:p.downloadIcon,onClick:a})};Q.displayName="ExcelExport";const ee=t=>{const{spreadsheetRef:n}=t,a=e.useCallback(o=>{const l=o.target;if(l instanceof Element&&l.parentNode){const d=l.closest(".k-toolbar"),u=d&&d.querySelector(".k-upload input");u&&u.click()}},[]),r=e.useCallback(o=>{const l=o.newState;if(l[0]&&l[0].getRawFile){const d=l[0].getRawFile();n.current&&n.current.executeCommand({command:"OpenCommand",options:{file:d}})}},[]);return e.createElement(e.Fragment,null,e.createElement(I.Button,{className:"k-toolbar-button",title:A.useLocalization().toLanguageString(c.open,E[c.open]),icon:"folder-open",svgIcon:p.folderOpenIcon,fillMode:"flat",onClick:a}),e.createElement("div",{style:{display:"none"}},e.createElement(Gt.Upload,{restrictions:{allowedExtensions:[".xlsx"]},onAdd:r,autoUpload:!1,defaultFiles:[],multiple:!1,accept:".xlsx,.XLSX",withCredentials:!1})))};ee.displayName="Open";const nn=["Arial","Courier New","Georgia","Times New Roman","Trebuchet MS","Verdana"],on="Arial",an=[8,9,10,11,12,13,14,16,18,20,22,24,26,28,36,48,72],ln=12,rn=[{text:"Automatic",value:null},{text:"Text",value:"@"},{text:"Number",value:"#,0.00"},{text:"Percent",value:"0.00%"},{text:"Financial",value:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)'},{text:"Currency",value:"$#,##0.00;[Red]$#,##0.00"},{text:"Date",value:"m/d/yyyy"},{text:"Time",value:"h:mm:ss AM/PM"},{text:"Date time",value:"m/d/yyyy h:mm"},{text:"Duration",value:"[h]:mm:ss"}],te=t=>a=>{const{property:r,icon:o,svgIcon:l,titleKey:d}=t,{spreadsheetRef:u,value:s}=a,C=e.useCallback(()=>{if(u.current){const y={command:"PropertyChangeCommand",options:{property:r,value:!s}};u.current.executeCommand(y)}},[s]);return e.createElement(I.Button,{type:"button",icon:o,svgIcon:l,fillMode:"flat",togglable:!0,onClick:C,selected:s,title:A.useLocalization().toLanguageString(d,E[d])})},Ft=t=>a=>{const{property:r,titleKey:o,...l}=t,{spreadsheetRef:d,value:u}=a,s=e.useCallback(C=>{if(d.current){const v={command:"PropertyChangeCommand",options:{property:r,value:C.value||null}};d.current.executeCommand(v)}},[r]);return e.createElement(Xt.ColorPicker,{onChange:s,onActiveColorClick:s,fillMode:"flat",...l,title:A.useLocalization().toLanguageString(o,E[o]),value:u})},zt=t=>a=>{const{spreadsheetRef:r}=a,o=e.useCallback(()=>{r.current&&r.current.workbook.undoRedoStack[t.action]()},[]);return e.createElement(I.Button,{type:"button",icon:t.icon,svgIcon:t.svgIcon,fillMode:"flat",title:A.useLocalization().toLanguageString(t.titleKey,E[t.titleKey]),onClick:o})},sn={property:"bold",icon:"bold",svgIcon:p.boldIcon,titleKey:c.bold},ne=te(sn);ne.displayName="Bold";const cn={property:"italic",icon:"italic",svgIcon:p.italicIcon,titleKey:c.italic},oe=te(cn);oe.displayName="Italic";const un={property:"underline",icon:"underline",svgIcon:p.underlineIcon,titleKey:c.underline},ae=te(un);ae.displayName="Underline";const le=t=>{const{spreadsheetRef:n,value:a}=t,r=e.useCallback(o=>{if(n.current){const l={command:"PropertyChangeCommand",options:{property:"fontFamily",value:o.value||null}};n.current.executeCommand(l)}},[]);return e.createElement(X.DropDownList,{onChange:r,value:a,data:nn,defaultValue:on,fillMode:"flat",title:A.useLocalization().toLanguageString(c.fontName,E[c.fontName]),leftRightKeysNavigation:!1})};le.displayName="FontFamily";const q=1,J=409,$=t=>typeof t=="string"?parseFloat(t):t,re=t=>{const{spreadsheetRef:n}=t,a=$(t.value),r=e.useCallback(o=>{var u;let l=o.value?$(o.value):a;l=isNaN(l)?a:l,l=Math.min(J,Math.max(q,l));const d={command:"PropertyChangeCommand",options:{property:"fontSize",value:l}};o.nativeEvent.type==="keydown"||o.nativeEvent.type==="focusout"?(u=n.current)==null||u.executeCommand(d):setTimeout(()=>{var s;(s=n.current)==null||s.executeCommand(d)},0)},[a]);return e.createElement(X.ComboBox,{onChange:r,value:a,data:an,defaultValue:ln,allowCustom:!0,fillMode:"flat",title:A.useLocalization().toLanguageString(c.fontSize,E[c.fontSize]),tabIndex:-1,clearButton:!1})};re.displayName="FontSize";const Pt=t=>{const n=a=>{const{property:r,icon:o,svgIcon:l,titleKey:d,step:u}=t,{spreadsheetRef:s}=a,C=$(a.value),v=e.useCallback(()=>{var b;const y={command:"PropertyChangeCommand",options:{property:r,value:Math.min(J,Math.max(q,C+u))}};(b=s.current)==null||b.executeCommand(y)},[C]);return e.createElement(I.Button,{type:"button",icon:o,svgIcon:l,fillMode:"flat",onClick:v,disabled:C+u<q||C+u>J,title:A.useLocalization().toLanguageString(d,E[d])})};return n.displayName=t.displayName,n},Kt=Pt({property:"fontSize",icon:"font-grow",svgIcon:p.fontGrowIcon,titleKey:c.fontSizeIncrease,displayName:"IncreaseFontSize",step:1}),Bt=Pt({property:"fontSize",icon:"font-shrink",svgIcon:p.fontShrinkIcon,titleKey:c.fontSizeDecrease,displayName:"DecreaseFontSize",step:-1}),se=Ft({icon:"foreground-color",svgIcon:p.foregroundColorIcon,view:"palette",property:"color",titleKey:c.textColor,ariaLabel:"Text Color"});se.displayName="TextColor";const ce=Ft({icon:"droplet",svgIcon:p.dropletIcon,view:"palette",property:"background",titleKey:c.background,ariaLabel:"Background"});ce.displayName="BackgroundColor";const H=[{icon:"align-left",svgIcon:p.alignLeftIcon,textKey:c.alignLeft,commandName:"textAlign",value:"left",selected:!1},{icon:"align-center",svgIcon:p.alignCenterIcon,textKey:c.alignCenter,commandName:"textAlign",value:"center",selected:!1},{icon:"align-right",svgIcon:p.alignRightIcon,textKey:c.alignRight,commandName:"textAlign",value:"right",selected:!1},{icon:"align-justify",svgIcon:p.alignJustifyIcon,textKey:c.alignJustify,commandName:"textAlign",value:"justify",selected:!1},{icon:"align-top",svgIcon:p.alignTopIcon,textKey:c.alignTop,commandName:"verticalAlign",value:"top",selected:!1},{icon:"align-middle",svgIcon:p.alignMiddleIcon,textKey:c.alignMiddle,commandName:"verticalAlign",value:"center",selected:!1},{icon:"align-bottom",svgIcon:p.alignBottomIcon,textKey:c.alignBottom,commandName:"verticalAlign",value:"bottom",selected:!1}],dn=[H[0],{...H[1],textKey:c.center},H[2],{...H[3],textKey:c.justify}],mn=H.filter(t=>t.commandName==="verticalAlign"),Ot=t=>{const{value:n,spreadsheetRef:a}=t,{textAlign:r,verticalAlign:o}=n||{},l=A.useLocalization(),d=e.useCallback(s=>{if(a.current){const C=s.item,v={command:"PropertyChangeCommand",options:{property:C.commandName,value:C.value||null}};a.current.executeCommand(v)}},[]);let u=H.slice();return u=u.map(s=>({...s,text:l.toLanguageString(s.textKey,E[s.textKey])})),r&&(u=u.map(s=>s.commandName==="textAlign"?{...s,selected:s.value===r}:s)),o&&(u=u.map(s=>s.commandName==="verticalAlign"?{...s,selected:s.value===o}:s)),e.createElement(I.DropDownButton,{icon:"align-left",svgIcon:p.alignLeftIcon,items:u,fillMode:"flat",onItemClick:d,title:l.toLanguageString(c.align,E[c.align]),text:e.createElement(F.IconWrap,{name:"caret-alt-down",icon:p.caretAltDownIcon})})};Ot.displayName="Alignment";const pn={items:dn,icon:{icon:"align-left",svgIcon:p.alignLeftIcon},displayName:"AlignHorizontally",titleKey:c.alignHorizontally},fn={items:mn,icon:{icon:"align-bottom",svgIcon:p.alignBottomIcon},displayName:"AlignVertically",titleKey:c.alignVertically},Mt=t=>{const n=a=>{const{value:r,spreadsheetRef:o}=a,l=A.useLocalization(),d=e.useCallback(v=>{if(o.current){const y=v.item,b={command:"PropertyChangeCommand",options:{property:y.commandName,value:y.value||null}};o.current.executeCommand(b)}},[]);let u=t.items.slice();u=u.map(v=>({...v,text:l.toLanguageString(v.textKey,E[v.textKey])})),u=u.map(v=>({...v,selected:v.value===r}));const s={...t.icon},C=u.find(v=>v.selected);return C&&(s.icon=C.icon,s.svgIcon=C.svgIcon),e.createElement(I.DropDownButton,{...s,items:u,fillMode:"flat",onItemClick:d,title:l.toLanguageString(t.titleKey,E[t.titleKey]),text:e.createElement(F.IconWrap,{name:"caret-alt-down",icon:p.caretAltDownIcon})})};return n.displayName=t.displayName,n},jt=Mt(pn),Ht=Mt(fn),ie=t=>{const{value:n,spreadsheetRef:a}=t,r=e.useCallback(()=>{if(a.current){const o=a.current.activeSheet();if(o){const u={command:"TextWrapCommand",options:{property:"wrap",value:!o.range(o.activeCell()).wrap()}};a.current.executeCommand(u)}}},[]);return e.createElement(I.Button,{type:"button",togglable:!0,icon:"text-wrap",svgIcon:p.textWrapIcon,fillMode:"flat",title:A.useLocalization().toLanguageString(c.textWrap,E[c.textWrap]),onClick:r,selected:n})};ie.displayName="TextWrap";const ue=t=>{const{value:n,spreadsheetRef:a}=t,r=e.useCallback(()=>{if(a.current){const o=a.current.activeSheet();if(o){const d={command:"GridLinesChangeCommand",options:{property:"gridLines",value:!o.showGridLines()}};a.current.executeCommand(d)}}},[]);return e.createElement(I.Button,{type:"button",togglable:!0,icon:"borders-none",svgIcon:p.bordersNoneIcon,fillMode:"flat",title:A.useLocalization().toLanguageString(c.gridLines,E[c.gridLines]),onClick:r,selected:n})};ue.displayName="GridLines";const de=t=>{const{spreadsheetRef:n}=t,a=e.useCallback(r=>{const o=r.item.value||null;setTimeout(()=>{if(n.current){const l={command:"PropertyChangeCommand",options:{property:"format",value:o}};n.current.executeCommand(l)}},0)},[]);return e.createElement(I.DropDownButton,{icon:"custom-format",svgIcon:p.customFormatIcon,fillMode:"flat",onItemClick:a,items:rn,title:A.useLocalization().toLanguageString(c.format,E[c.format]),text:e.createElement(F.IconWrap,{name:"caret-alt-down"})})};de.displayName="Format";const U=t=>a=>{const{spreadsheetRef:r,value:o}=a,l=e.useCallback(()=>{if(r.current){const d={command:t.command,options:{value:t.value}};r.current.executeCommand(d)}},[]);return e.createElement(I.Button,{type:"button",icon:t.icon,svgIcon:t.svgIcon,fillMode:"flat",title:A.useLocalization().toLanguageString(t.titleKey,E[t.titleKey]),onClick:l,disabled:o&&t.disabled(o)})},gn={command:"AddColumnCommand",value:"left",icon:"table-column-insert-left",svgIcon:p.tableColumnInsertLeftIcon,titleKey:c.addColumnLeft,disabled:t=>t.allCols,displayName:"AddColumnLeft"},bn={command:"AddColumnCommand",value:"right",icon:"table-column-insert-right",svgIcon:p.tableColumnInsertRightIcon,titleKey:c.addColumnRight,disabled:t=>t.allCols,displayName:"AddColumnRight"},hn={command:"AddRowCommand",value:"below",icon:"table-row-insert-below",svgIcon:p.tableRowInsertBelowIcon,titleKey:c.addRowBelow,disabled:t=>t.allRows,displayName:"AddRowBelow"},yn={command:"AddRowCommand",value:"above",icon:"table-row-insert-above",svgIcon:p.tableRowInsertAboveIcon,titleKey:c.addRowAbove,disabled:t=>t.allRows,displayName:"AddRowAbove"},Cn={command:"DeleteColumnCommand",icon:"table-column-delete",svgIcon:p.tableColumnDeleteIcon,titleKey:c.deleteColumn,disabled:t=>t.allCols,displayName:"DeleteColumn"},vn={command:"DeleteRowCommand",icon:"table-row-delete",svgIcon:p.tableRowDeleteIcon,titleKey:c.deleteRow,disabled:t=>t.allRows,displayName:"DeleteRow"},me=U(gn),pe=U(bn),fe=U(hn),ge=U(yn),be=U(Cn),he=U(vn);me.displayName="AddColumnLeft";pe.displayName="AddColumnRight";fe.displayName="AddRowBelow";ge.displayName="AddRowAbove";be.displayName="DeleteColumn";he.displayName="DeleteRow";const kn={action:"undo",icon:"reset",svgIcon:p.arrowRotateCcwIcon,titleKey:c.undo},ye=zt(kn);ye.displayName="Undo";const xn={action:"redo",icon:"reload",svgIcon:p.arrowRotateCwIcon,titleKey:c.redo},Ce=zt(xn);Ce.displayName="Redo";const Ut=t=>a=>{const{icon:r,svgIcon:o,titleKey:l,value:d}=t,{spreadsheetRef:u}=a,s=e.useCallback(()=>{if(u.current){const C={command:"AdjustDecimalsCommand",options:{value:d}};u.current.executeCommand(C)}},[]);return e.createElement(I.Button,{type:"button",icon:r,svgIcon:o,fillMode:"flat",onClick:s,title:A.useLocalization().toLanguageString(l,E[l])})},Sn=Ut({icon:p.decimalIncreaseIcon.name,svgIcon:p.decimalIncreaseIcon,value:1,titleKey:c.increaseDecimal}),In=Ut({icon:p.decimalDecreaseIcon.name,svgIcon:p.decimalDecreaseIcon,value:-1,titleKey:c.decreaseDecimal}),G=[{textKey:c.file,tools:[ee,Q]},{textKey:c.home,selected:!0,tools:[[ye,Ce],I.ToolbarSeparator,le,re,Kt,Bt,I.ToolbarSeparator,[ne,oe,ae],se,I.ToolbarSeparator,ce,I.ToolbarSeparator,jt,Ht,ie,I.ToolbarSeparator,ue]},{textKey:c.insert,tools:[[me,pe,fe,ge],I.ToolbarSeparator,[be,he]]},{textKey:c.formatTab,tools:[de,[In,Sn]]}],Ne={name:"@progress/kendo-react-spreadsheet",productName:"KendoReact",productCodes:["KENDOUIREACT","KENDOUICOMPLETE"],publishDate:1683639393,version:"",licensingDocsUrl:"https://www.telerik.com/kendo-react-ui/my-license/?utm_medium=product&utm_source=kendoreact&utm_campaign=kendo-ui-react-purchase-license-keys-warning"},Ae=["bold","italic","underline","fontFamily","fontSize","color","background","textAlign","verticalAlign","wrap","gridLines"],De={Bold:t=>t.bold,Italic:t=>t.italic,Underline:t=>t.underline,FontFamily:t=>t.fontFamily,FontSize:t=>t.fontSize,IncreaseFontSize:t=>t.fontSize,DecreaseFontSize:t=>t.fontSize,TextColor:t=>t.color,BackgroundColor:t=>t.background,Alignment:t=>({textAlign:t.textAlign,verticalAlign:t.verticalAlign}),AlignHorizontally:t=>t.textAlign,AlignVertically:t=>t.verticalAlign,TextWrap:t=>t.wrap,GridLines:t=>t.gridLines,AddColumnLeft:t=>t.selectedHeaders,AddColumnRight:t=>t.selectedHeaders,AddRowBelow:t=>t.selectedHeaders,AddRowAbove:t=>t.selectedHeaders,DeleteColumn:t=>t.selectedHeaders,DeleteRow:t=>t.selectedHeaders},Le=":not(.k-dropdownlist button):not(.k-combobox button):not(.k-upload-button):not(.k-colorpicker button):not(.k-split-button .k-split-button-arrow)",En=["button"+Le,".k-button-group > button"+Le,".k-dropdownlist",".k-combobox",".k-colorpicker"],ve=e.forwardRef((t,n)=>{F.validatePackage(Ne);const a=F.shouldShowValidationUI(Ne),{toolbar:r=G}=t,o=[];typeof r=="boolean"?o.push(...r?G:[]):o.push(...r);const[l,d]=e.useState(null),[u,s]=e.useState(o.findIndex(i=>i.selected)||0),[C,v]=e.useState(!1),y=e.useRef(null),b=e.useRef(null),w=e.useRef(null),f=e.useRef(null),k=e.useRef(null),[g,L]=e.useState({}),z=e.useRef({});z.current=g;const m=e.useRef({});m.current=t;const S=A.useLocalization(),P=e.useCallback(i=>{m.current.onSelect&&m.current.onSelect.call(void 0,i)},[]),x=e.useCallback(i=>{m.current.onChange&&m.current.onChange.call(void 0,i)},[]),D=e.useCallback(i=>{m.current.onChangeFormat&&m.current.onChangeFormat.call(void 0,i)},[]),K=e.useCallback(i=>{m.current.onExcelImport&&m.current.onExcelImport.call(void 0,i)},[]),T=e.useCallback(i=>{m.current.onExcelExport&&m.current.onExcelExport.call(void 0,i)},[]),j=e.useRef(null);e.useImperativeHandle(j,()=>({element:y.current,get instance(){return k.current},props:t,get view(){return k.current.view},get workbook(){return k.current.workbook},executeCommand(i){var h;(h=k.current)==null||h.executeCommand(i)},fromJSON(i){var h;return(h=k.current)==null?void 0:h.fromJSON(i)},toJSON(){return k.current.toJSON()},saveJSON(){return k.current.saveJSON()},fromFile(i){return k.current.fromFile(i)},saveAsExcel(i){var h;(h=k.current)==null||h.saveAsExcel({...k.current.options.excel,saveAs:Te.saveAs,Workbook:Fe.Workbook,...i})},activeSheet(i){var h;return(h=k.current)==null?void 0:h.activeSheet(i)},sheets(){return k.current.sheets()},refresh(){var i;return(i=k.current)==null?void 0:i.refresh()}}),[t]),e.useImperativeHandle(n,()=>j.current);const Wt=e.useCallback(()=>k.current&&k.current.view.nameEditor,[]),ke=e.useCallback(i=>{const h={};Ae.forEach(R=>{typeof i.range[R]=="function"?h[R]=i.range[R]():R==="gridLines"&&(h[R]=i.range.sheet().showGridLines())}),h.selectedHeaders=i.range.sheet().selectedHeaders(),(Ae.some(R=>h[R]!==z.current[R])||h.selectedHeaders.allCols!==z.current.selectedHeaders.allCols||h.selectedHeaders.allRows!==z.current.selectedHeaders.allRows)&&L(h)},[]),_t=e.useCallback(i=>{const h=i.name,R=c[h];d({title:i.title==="Error"?S.toLanguageString(c.error,E[c.error]||i.title):i.title,message:R?S.toLanguageString(R,E[R]||i.text):i.text,close:i.close})},[]),xe=e.useCallback(()=>{d(null),l==null||l.close()},[l]),W=A.useInternationalization(),Se=A.useLocalization();e.useEffect(()=>{var _;const i={...t.defaultProps,sheets:structuredClone((_=t.defaultProps)==null?void 0:_.sheets),messages:{workbook:{defaultSheetName:Se.toLanguageString(c.defaultSheetName,E[c.defaultSheetName])}},intl:{localeInfo:()=>W.localeInfo(),localeCurrency:()=>W.localeCurrency(),parseDate:(O,M)=>W.parseDate(O,M),toString:(O,M)=>W.toString(O,M),format:(O,...M)=>W.format(O,...M)},formulaBarInputRef:b,formulaCellInputRef:w,nameBoxRef:f},h=new N.SpreadsheetWidget(y.current,i);k.current=h,h.bind("select",P),h.bind("change",x),h.bind("changeFormat",D),h.bind("excelImport",K),h.bind("excelExport",T),h.view.bind("update",ke),h.view.bind("message",_t);const R=h.activeSheet();return R&&ke({range:R.range(R.activeCell())}),v(!0),()=>{h.destroy()}},[]);const Ie=e.useCallback((i,h)=>{const R=e.createElement(i,{spreadsheetRef:k,value:De[i.displayName]?De[i.displayName](g):void 0,key:h});return R.type===I.ToolbarSeparator?e.createElement(i,{key:h}):R},[g]);let Ee=null;return o.length&&(Ee=e.createElement(we.TabStrip,{selected:u,animation:!1,className:"k-floatwrap k-spreadsheet-tabstrip",style:{minHeight:"auto"},onSelect:i=>s(i.selected)},o.map(i=>{const h=i.textKey?Se.toLanguageString(i.textKey,E[i.textKey]):i.text;return e.createElement(we.TabStripTab,{key:i.textKey||i.text,title:h},e.createElement(I.Toolbar,{buttons:En,className:"k-spreadsheet-toolbar"},i.tools.map((R,_)=>Array.isArray(R)?e.createElement(I.ButtonGroup,{key:_},R.map((O,M)=>Ie(O,M))):Ie(R,_))))}))),e.createElement("div",{ref:y,style:t.style,className:F.classNames("k-widget k-spreadsheet",t.className),role:"application"},Ee,e.createElement("div",{className:"k-spreadsheet-action-bar"},e.createElement(Y,{ref:f,nameEditor:Wt}),e.createElement("div",{className:"k-spreadsheet-formula-bar"},e.createElement(F.IconWrap,{name:"formula-fx",icon:p.formulaFxIcon}),e.createElement(V,{ref:b}))),e.createElement("div",{className:"k-spreadsheet-view"},e.createElement("div",{className:"k-spreadsheet-fixed-container"}),e.createElement("div",{className:"k-spreadsheet-scroller"},e.createElement("div",{className:"k-spreadsheet-view-size"})),e.createElement("div",{tabIndex:0,className:"k-spreadsheet-clipboard",contentEditable:"true"}),e.createElement(V,{ref:w,className:"k-spreadsheet-cell-editor"})),e.createElement(tn,{spreadsheetRef:k}),l&&e.createElement(Re.Dialog,{title:l.title,onClose:xe},e.createElement("div",null,l.message),e.createElement(Re.DialogActionsBar,{layout:"start"},e.createElement(I.Button,{themeColor:"primary",onClick:xe,autoFocus:!0},S.toLanguageString(c.ok,E[c.ok])))),a&&e.createElement(F.WatermarkOverlay,null))});ve.displayName="KendoReactSpreadsheet";ve.propTypes={className:B.string,defaultProps:B.any,toolbar:B.oneOfType([B.bool,B.arrayOf(B.any)]),style:B.object,onSelect:B.func,onChange:B.func,onChangeFormat:B.func,onExcelImport:B.func,onExcelExport:B.func};const wn=t=>{const{spreadsheetRef:n}=t,a=e.useCallback(()=>{n.current&&n.current.executeCommand({command:"PropertyCleanCommand"})},[]);return e.createElement(I.Button,{type:"button",icon:"clean-css",svgIcon:p.clearCssIcon,fillMode:"flat",onClick:a,title:A.useLocalization().toLanguageString(c.cleanFormatting,E[c.cleanFormatting])})};Object.defineProperty(exports,"CalcError",{enumerable:!0,get:()=>N.CalcError});Object.defineProperty(exports,"CellRef",{enumerable:!0,get:()=>N.CellRef});Object.defineProperty(exports,"Context",{enumerable:!0,get:()=>N.Context});Object.defineProperty(exports,"Matrix",{enumerable:!0,get:()=>N.Matrix});Object.defineProperty(exports,"NULLREF",{enumerable:!0,get:()=>N.NULLREF});Object.defineProperty(exports,"NameRef",{enumerable:!0,get:()=>N.NameRef});Object.defineProperty(exports,"Range",{enumerable:!0,get:()=>N.Range});Object.defineProperty(exports,"RangeRef",{enumerable:!0,get:()=>N.RangeRef});Object.defineProperty(exports,"Ref",{enumerable:!0,get:()=>N.Ref});Object.defineProperty(exports,"Sheet",{enumerable:!0,get:()=>N.Sheet});Object.defineProperty(exports,"SpreadsheetWidget",{enumerable:!0,get:()=>N.SpreadsheetWidget});Object.defineProperty(exports,"UnionRef",{enumerable:!0,get:()=>N.UnionRef});Object.defineProperty(exports,"View",{enumerable:!0,get:()=>N.View});Object.defineProperty(exports,"Workbook",{enumerable:!0,get:()=>N.Workbook});Object.defineProperty(exports,"dateToSerial",{enumerable:!0,get:()=>N.dateToSerial});Object.defineProperty(exports,"defineAlias",{enumerable:!0,get:()=>N.defineAlias});Object.defineProperty(exports,"defineFunction",{enumerable:!0,get:()=>N.defineFunction});Object.defineProperty(exports,"packDate",{enumerable:!0,get:()=>N.packDate});Object.defineProperty(exports,"packTime",{enumerable:!0,get:()=>N.packTime});Object.defineProperty(exports,"serialToDate",{enumerable:!0,get:()=>N.serialToDate});Object.defineProperty(exports,"unpackDate",{enumerable:!0,get:()=>N.unpackDate});Object.defineProperty(exports,"unpackTime",{enumerable:!0,get:()=>N.unpackTime});exports.AddColumnLeft=me;exports.AddColumnRight=pe;exports.AddRowAbove=ge;exports.AddRowBelow=fe;exports.AlignHorizontally=jt;exports.AlignVertically=Ht;exports.Alignment=Ot;exports.BackgroundColor=ce;exports.Bold=ne;exports.CleanFormatting=wn;exports.DecreaseFontSize=Bt;exports.DeleteColumn=be;exports.DeleteRow=he;exports.ExcelExport=Q;exports.FontFamily=le;exports.FontSize=re;exports.Format=de;exports.GridLines=ue;exports.IncreaseFontSize=Kt;exports.Italic=oe;exports.Open=ee;exports.Redo=Ce;exports.Spreadsheet=ve;exports.TextColor=se;exports.TextWrap=ie;exports.Underline=ae;exports.Undo=ye;exports.defaultTabs=G;