@teppen/react-ui 1.5.14 → 1.5.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var e=require("react/jsx-runtime"),n=require("react"),t=require("../../../icon/cancel-icon.js");exports.CellInput=function(r){var u=n.useRef(null);return n.useEffect((function(){u.current&&u.current.focus()}),[u]),e.jsxs("div",{className:"flex justify-between gap-1 w-full items-center",onClick:function(e){e.preventDefault(),e.stopPropagation()},children:[e.jsx("input",{ref:u,className:"w-full py-1 px-2 bg-white text-gray-900",type:"text",value:r.value,onChange:r.onChange,onBlur:r.onBlur,onKeyUp:function(e){e.preventDefault(),"Enter"===e.key?e.target.blur():"Escape"===e.key&&(r.reset(),r.endEditing())}}),e.jsx("button",{onMouseDown:function(e){e.preventDefault(),e.stopPropagation(),setTimeout((function(){r.reset(),r.endEditing()}),300)},children:e.jsx(t.CancelIcon,{size:16})})]})};
2
+ "use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("../../../icon/cancel-icon.js");exports.CellInput=function(r){var u=t.useRef(null);return t.useEffect((function(){u.current&&u.current.focus()}),[u]),e.jsxs("div",{className:"flex justify-between gap-1 w-full items-center",onClick:function(e){e.preventDefault(),e.stopPropagation()},children:[e.jsx("input",{id:"edit-input",ref:u,className:"w-full py-1 px-2 bg-white text-gray-900",type:"text",value:r.value,onChange:r.onChange,onBlur:r.onBlur,onKeyUp:function(e){e.preventDefault(),"Enter"===e.key?e.target.blur():"Escape"===e.key&&(r.reset(),r.endEditing())}}),e.jsx("button",{onMouseDown:function(e){e.preventDefault(),e.stopPropagation(),setTimeout((function(){r.reset(),r.endEditing()}),300)},children:e.jsx(n.CancelIcon,{size:16})})]})};
3
3
  //# sourceMappingURL=base-input.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),t=require("react"),r=require("../../table-property/provider.js"),n=require("../../focus/provider.js"),i=require("../../edit/provider.js"),o=require("../../sheet/providers.js");exports.KeyboardSetting=function(){var s=n.useFocusContext(),u=i.useEditContext(),f=r.useTablePropertyStateContext(),d=f.maxDisplayColCount,a=f.maxDisplayRowCount,c=o.useColumnsContext()[s.isFocus?s.colIndex:0],l=s.isFocus?s.rowIndex:-1,v=s.isFocus?s.colIndex:-1;return t.useEffect((function(){var e=function(e){if(u.isEditing)"Escape"===e.key&&(e.preventDefault(),u.endEditing());else if(s.isFocus)if("Enter"===e.key)e.preventDefault(),s.moveDown();else if("Escape"===e.key)e.preventDefault(),s.unfocus();else if("ArrowRight"===e.key){if(e.preventDefault(),s.colIndex===d-1)return;s.moveRight()}else if("ArrowLeft"===e.key){if(e.preventDefault(),0===s.colIndex)return;s.moveLeft()}else if("ArrowUp"===e.key){if(e.preventDefault(),0===s.rowIndex)return;s.moveUp()}else if("ArrowDown"===e.key){if(e.preventDefault(),s.rowIndex===a-1)return;s.moveDown()}else"F2"===e.key&&(e.preventDefault(),u.startEditing())};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[u.isEditing,s.isFocus,l,v]),t.useEffect((function(){u.isEditing&&!c.editable&&u.endEditing()}),[u,c]),e.jsx(e.Fragment,{})};
1
+ "use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("../../table-property/provider.js"),r=require("../../focus/provider.js"),i=require("../../edit/provider.js"),o=require("../../sheet/providers.js"),u=function(e){var t,n=document.getElementById("edit-input");if(n){var r=null===(t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value"))||void 0===t?void 0:t.set;r&&r.call(n,e);var i=new Event("input",{bubbles:!0});n.dispatchEvent(i)}};exports.KeyboardSetting=function(){var s=r.useFocusContext(),a=i.useEditContext(),f=n.useTablePropertyStateContext(),l=f.maxDisplayColCount,d=f.maxDisplayRowCount,c=o.useColumnsContext()[s.isFocus?s.colIndex:0],p=s.isFocus?s.rowIndex:-1,v=s.isFocus?s.colIndex:-1;return t.useEffect((function(){var e=function(e){if(a.isEditing)"Escape"===e.key&&(e.preventDefault(),a.endEditing());else if(s.isFocus)if("Enter"===e.key)e.preventDefault(),s.moveDown();else if("Escape"===e.key)e.preventDefault(),s.unfocus();else if("ArrowRight"===e.key){if(e.preventDefault(),s.colIndex===l-1)return;s.moveRight()}else if("ArrowLeft"===e.key){if(e.preventDefault(),0===s.colIndex)return;s.moveLeft()}else if("ArrowUp"===e.key){if(e.preventDefault(),0===s.rowIndex)return;s.moveUp()}else if("ArrowDown"===e.key){if(e.preventDefault(),s.rowIndex===d-1)return;s.moveDown()}else"F2"===e.key?(e.preventDefault(),a.startEditing()):e.altKey||e.ctrlKey||!/^[a-zA-Z0-9]$/.test(e.key)?"Backspace"!==e.key&&"Delete"!==e.key||(e.preventDefault(),e.stopPropagation(),a.startEditing(),setTimeout((function(){u("")}),10)):(e.preventDefault(),e.stopPropagation(),a.startEditing(),setTimeout((function(){u(e.key)}),10))};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[a.isEditing,s.isFocus,p,v]),t.useEffect((function(){a.isEditing&&!c.editable&&a.endEditing()}),[a,c]),e.jsx(e.Fragment,{})};
2
2
  //# sourceMappingURL=keyboard-setting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard-setting.js","sources":["../../../../../../src/table/operation/components/keyboard-setting.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useTablePropertyStateContext } from \"../../table-property/provider\";\nimport { useFocusContext } from \"../../focus/provider\";\nimport { useEditContext } from \"../../edit/provider\";\nimport { useColumnsContext } from \"../../sheet/providers\";\n\nexport function KeyboardSetting() {\n const focus = useFocusContext();\n const edit = useEditContext();\n const { maxDisplayColCount, maxDisplayRowCount } =\n useTablePropertyStateContext();\n const col = useColumnsContext()[focus.isFocus ? focus.colIndex : 0];\n\n const rowIndex = focus.isFocus ? focus.rowIndex : -1;\n const colIndex = focus.isFocus ? focus.colIndex : -1;\n\n useEffect(() => {\n const listener = (e: KeyboardEvent) => {\n if (edit.isEditing) {\n if (e.key === \"Escape\") {\n e.preventDefault();\n edit.endEditing();\n }\n } else if (focus.isFocus) {\n if (e.key === \"Enter\") {\n e.preventDefault();\n focus.moveDown();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n focus.unfocus();\n } else if (e.key === \"ArrowRight\") {\n e.preventDefault();\n\n if (focus.colIndex === maxDisplayColCount - 1) return;\n\n focus.moveRight();\n } else if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n\n if (focus.colIndex === 0) return;\n\n focus.moveLeft();\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n\n if (focus.rowIndex === 0) return;\n\n focus.moveUp();\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n\n if (focus.rowIndex === maxDisplayRowCount - 1) return;\n\n focus.moveDown();\n } else if (e.key === \"F2\") {\n e.preventDefault();\n edit.startEditing();\n }\n }\n };\n\n document.addEventListener(\"keydown\", listener);\n\n return () => {\n document.removeEventListener(\"keydown\", listener);\n };\n }, [edit.isEditing, focus.isFocus, rowIndex, colIndex]);\n\n useEffect(() => {\n if (edit.isEditing && !col.editable) {\n edit.endEditing();\n }\n }, [edit, col]);\n\n return <></>;\n}\n"],"names":["focus","useFocusContext","edit","useEditContext","_a","useTablePropertyStateContext","maxDisplayColCount","maxDisplayRowCount","col","useColumnsContext","isFocus","colIndex","rowIndex","useEffect","listener","e","isEditing","key","preventDefault","endEditing","moveDown","unfocus","moveRight","moveLeft","moveUp","startEditing","document","addEventListener","removeEventListener","editable","_jsx"],"mappings":"mQAOE,IAAMA,EAAQC,EAAAA,kBACRC,EAAOC,EAAAA,iBACPC,EACJC,EAA4BA,+BADtBC,EAAkBF,EAAAE,mBAAEC,EAAkBH,EAAAG,mBAExCC,EAAMC,EAAiBA,oBAAGT,EAAMU,QAAUV,EAAMW,SAAW,GAE3DC,EAAWZ,EAAMU,QAAUV,EAAMY,UAAY,EAC7CD,EAAWX,EAAMU,QAAUV,EAAMW,UAAY,EA4DnD,OA1DAE,EAAAA,WAAU,WACR,IAAMC,EAAW,SAACC,GAChB,GAAIb,EAAKc,UACO,WAAVD,EAAEE,MACJF,EAAEG,iBACFhB,EAAKiB,mBAEF,GAAInB,EAAMU,QACf,GAAc,UAAVK,EAAEE,IACJF,EAAEG,iBACFlB,EAAMoB,gBACD,GAAc,WAAVL,EAAEE,IACXF,EAAEG,iBACFlB,EAAMqB,eACD,GAAc,eAAVN,EAAEE,IAAsB,CAGjC,GAFAF,EAAEG,iBAEElB,EAAMW,WAAaL,EAAqB,EAAG,OAE/CN,EAAMsB,WACP,MAAM,GAAc,cAAVP,EAAEE,IAAqB,CAGhC,GAFAF,EAAEG,iBAEqB,IAAnBlB,EAAMW,SAAgB,OAE1BX,EAAMuB,UACP,MAAM,GAAc,YAAVR,EAAEE,IAAmB,CAG9B,GAFAF,EAAEG,iBAEqB,IAAnBlB,EAAMY,SAAgB,OAE1BZ,EAAMwB,QACP,MAAM,GAAc,cAAVT,EAAEE,IAAqB,CAGhC,GAFAF,EAAEG,iBAEElB,EAAMY,WAAaL,EAAqB,EAAG,OAE/CP,EAAMoB,UACP,KAAoB,OAAVL,EAAEE,MACXF,EAAEG,iBACFhB,EAAKuB,eAGX,EAIA,OAFAC,SAASC,iBAAiB,UAAWb,GAE9B,WACLY,SAASE,oBAAoB,UAAWd,EAC1C,CACF,GAAG,CAACZ,EAAKc,UAAWhB,EAAMU,QAASE,EAAUD,IAE7CE,EAAAA,WAAU,WACJX,EAAKc,YAAcR,EAAIqB,UACzB3B,EAAKiB,YAET,GAAG,CAACjB,EAAMM,IAEHsB,oBACT"}
1
+ {"version":3,"file":"keyboard-setting.js","sources":["../../../../../../src/table/operation/components/keyboard-setting.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useTablePropertyStateContext } from \"../../table-property/provider\";\nimport { useFocusContext } from \"../../focus/provider\";\nimport { useEditContext } from \"../../edit/provider\";\nimport { useColumnsContext } from \"../../sheet/providers\";\n\nconst setInitialValueToInputForm = (key: string) => {\n const inputElement = document.getElementById(\"edit-input\");\n if (inputElement) {\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n window.HTMLInputElement.prototype,\n \"value\"\n )?.set;\n\n if (nativeInputValueSetter) {\n nativeInputValueSetter.call(inputElement, key);\n }\n\n const ev = new Event(\"input\", { bubbles: true });\n inputElement.dispatchEvent(ev);\n }\n};\n\nexport function KeyboardSetting() {\n const focus = useFocusContext();\n const edit = useEditContext();\n const { maxDisplayColCount, maxDisplayRowCount } =\n useTablePropertyStateContext();\n const col = useColumnsContext()[focus.isFocus ? focus.colIndex : 0];\n\n const rowIndex = focus.isFocus ? focus.rowIndex : -1;\n const colIndex = focus.isFocus ? focus.colIndex : -1;\n\n useEffect(() => {\n const listener = (e: KeyboardEvent) => {\n if (edit.isEditing) {\n if (e.key === \"Escape\") {\n e.preventDefault();\n edit.endEditing();\n }\n } else if (focus.isFocus) {\n if (e.key === \"Enter\") {\n e.preventDefault();\n focus.moveDown();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n focus.unfocus();\n } else if (e.key === \"ArrowRight\") {\n e.preventDefault();\n\n if (focus.colIndex === maxDisplayColCount - 1) return;\n\n focus.moveRight();\n } else if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n\n if (focus.colIndex === 0) return;\n\n focus.moveLeft();\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n\n if (focus.rowIndex === 0) return;\n\n focus.moveUp();\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n\n if (focus.rowIndex === maxDisplayRowCount - 1) return;\n\n focus.moveDown();\n } else if (e.key === \"F2\") {\n e.preventDefault();\n edit.startEditing();\n } else if (!e.altKey && !e.ctrlKey && /^[a-zA-Z0-9]$/.test(e.key)) {\n e.preventDefault();\n e.stopPropagation();\n edit.startEditing();\n\n setTimeout(() => {\n setInitialValueToInputForm(e.key);\n }, 10);\n } else if (e.key === \"Backspace\" || e.key === \"Delete\") {\n e.preventDefault();\n e.stopPropagation();\n edit.startEditing();\n\n setTimeout(() => {\n setInitialValueToInputForm(\"\");\n }, 10);\n }\n }\n };\n\n document.addEventListener(\"keydown\", listener);\n\n return () => {\n document.removeEventListener(\"keydown\", listener);\n };\n }, [edit.isEditing, focus.isFocus, rowIndex, colIndex]);\n\n useEffect(() => {\n if (edit.isEditing && !col.editable) {\n edit.endEditing();\n }\n }, [edit, col]);\n\n return <></>;\n}\n"],"names":["setInitialValueToInputForm","key","inputElement","document","getElementById","nativeInputValueSetter","_a","Object","getOwnPropertyDescriptor","window","HTMLInputElement","prototype","set","call","ev","Event","bubbles","dispatchEvent","focus","useFocusContext","edit","useEditContext","useTablePropertyStateContext","maxDisplayColCount","maxDisplayRowCount","col","useColumnsContext","isFocus","colIndex","rowIndex","useEffect","listener","e","isEditing","preventDefault","endEditing","moveDown","unfocus","moveRight","moveLeft","moveUp","startEditing","altKey","ctrlKey","test","stopPropagation","setTimeout","addEventListener","removeEventListener","editable","_jsx"],"mappings":"gOAMMA,EAA6B,SAACC,SAC5BC,EAAeC,SAASC,eAAe,cAC7C,GAAIF,EAAc,CAChB,IAAMG,EAGL,QAH8BC,EAAAC,OAAOC,yBACpCC,OAAOC,iBAAiBC,UACxB,gBACD,IAAAL,OAAA,EAAAA,EAAEM,IAECP,GACFA,EAAuBQ,KAAKX,EAAcD,GAG5C,IAAMa,EAAK,IAAIC,MAAM,QAAS,CAAEC,SAAS,IACzCd,EAAae,cAAcH,EAC5B,CACH,qCAGE,IAAMI,EAAQC,EAAAA,kBACRC,EAAOC,EAAAA,iBACPf,EACJgB,EAA4BA,+BADtBC,EAAkBjB,EAAAiB,mBAAEC,EAAkBlB,EAAAkB,mBAExCC,EAAMC,EAAiBA,oBAAGR,EAAMS,QAAUT,EAAMU,SAAW,GAE3DC,EAAWX,EAAMS,QAAUT,EAAMW,UAAY,EAC7CD,EAAWV,EAAMS,QAAUT,EAAMU,UAAY,EA4EnD,OA1EAE,EAAAA,WAAU,WACR,IAAMC,EAAW,SAACC,GAChB,GAAIZ,EAAKa,UACO,WAAVD,EAAE/B,MACJ+B,EAAEE,iBACFd,EAAKe,mBAEF,GAAIjB,EAAMS,QACf,GAAc,UAAVK,EAAE/B,IACJ+B,EAAEE,iBACFhB,EAAMkB,gBACD,GAAc,WAAVJ,EAAE/B,IACX+B,EAAEE,iBACFhB,EAAMmB,eACD,GAAc,eAAVL,EAAE/B,IAAsB,CAGjC,GAFA+B,EAAEE,iBAEEhB,EAAMU,WAAaL,EAAqB,EAAG,OAE/CL,EAAMoB,WACP,MAAM,GAAc,cAAVN,EAAE/B,IAAqB,CAGhC,GAFA+B,EAAEE,iBAEqB,IAAnBhB,EAAMU,SAAgB,OAE1BV,EAAMqB,UACP,MAAM,GAAc,YAAVP,EAAE/B,IAAmB,CAG9B,GAFA+B,EAAEE,iBAEqB,IAAnBhB,EAAMW,SAAgB,OAE1BX,EAAMsB,QACP,MAAM,GAAc,cAAVR,EAAE/B,IAAqB,CAGhC,GAFA+B,EAAEE,iBAEEhB,EAAMW,WAAaL,EAAqB,EAAG,OAE/CN,EAAMkB,UACP,KAAoB,OAAVJ,EAAE/B,KACX+B,EAAEE,iBACFd,EAAKqB,gBACKT,EAAEU,QAAWV,EAAEW,UAAW,gBAAgBC,KAAKZ,EAAE/B,KAQxC,cAAV+B,EAAE/B,KAAiC,WAAV+B,EAAE/B,MACpC+B,EAAEE,iBACFF,EAAEa,kBACFzB,EAAKqB,eAELK,YAAW,WACT9C,EAA2B,GAC5B,GAAE,MAdHgC,EAAEE,iBACFF,EAAEa,kBACFzB,EAAKqB,eAELK,YAAW,WACT9C,EAA2BgC,EAAE/B,IAC9B,GAAE,IAWT,EAIA,OAFAE,SAAS4C,iBAAiB,UAAWhB,GAE9B,WACL5B,SAAS6C,oBAAoB,UAAWjB,EAC1C,CACF,GAAG,CAACX,EAAKa,UAAWf,EAAMS,QAASE,EAAUD,IAE7CE,EAAAA,WAAU,WACJV,EAAKa,YAAcR,EAAIwB,UACzB7B,EAAKe,YAET,GAAG,CAACf,EAAMK,IAEHyB,oBACT"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as n,useEffect as r}from"react";import{CancelIcon as o}from"../../../icon/cancel-icon.js";function i(i){var u=n(null);return r((function(){u.current&&u.current.focus()}),[u]),e("div",{className:"flex justify-between gap-1 w-full items-center",onClick:function(e){e.preventDefault(),e.stopPropagation()},children:[t("input",{ref:u,className:"w-full py-1 px-2 bg-white text-gray-900",type:"text",value:i.value,onChange:i.onChange,onBlur:i.onBlur,onKeyUp:function(e){e.preventDefault(),"Enter"===e.key?e.target.blur():"Escape"===e.key&&(i.reset(),i.endEditing())}}),t("button",{onMouseDown:function(e){e.preventDefault(),e.stopPropagation(),setTimeout((function(){i.reset(),i.endEditing()}),300)},children:t(o,{size:16})})]})}export{i as CellInput};
2
+ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as n,useEffect as r}from"react";import{CancelIcon as o}from"../../../icon/cancel-icon.js";function i(i){var u=n(null);return r((function(){u.current&&u.current.focus()}),[u]),e("div",{className:"flex justify-between gap-1 w-full items-center",onClick:function(e){e.preventDefault(),e.stopPropagation()},children:[t("input",{id:"edit-input",ref:u,className:"w-full py-1 px-2 bg-white text-gray-900",type:"text",value:i.value,onChange:i.onChange,onBlur:i.onBlur,onKeyUp:function(e){e.preventDefault(),"Enter"===e.key?e.target.blur():"Escape"===e.key&&(i.reset(),i.endEditing())}}),t("button",{onMouseDown:function(e){e.preventDefault(),e.stopPropagation(),setTimeout((function(){i.reset(),i.endEditing()}),300)},children:t(o,{size:16})})]})}export{i as CellInput};
3
3
  //# sourceMappingURL=base-input.js.map
@@ -1,2 +1,2 @@
1
- import{jsx as e,Fragment as r}from"react/jsx-runtime";import{useEffect as t}from"react";import{useTablePropertyStateContext as o}from"../../table-property/provider.js";import{useFocusContext as i}from"../../focus/provider.js";import{useEditContext as n}from"../../edit/provider.js";import{useColumnsContext as s}from"../../sheet/providers.js";function f(){var f=i(),u=n(),d=o(),p=d.maxDisplayColCount,l=d.maxDisplayRowCount,m=s()[f.isFocus?f.colIndex:0],a=f.isFocus?f.rowIndex:-1,c=f.isFocus?f.colIndex:-1;return t((function(){var e=function(e){if(u.isEditing)"Escape"===e.key&&(e.preventDefault(),u.endEditing());else if(f.isFocus)if("Enter"===e.key)e.preventDefault(),f.moveDown();else if("Escape"===e.key)e.preventDefault(),f.unfocus();else if("ArrowRight"===e.key){if(e.preventDefault(),f.colIndex===p-1)return;f.moveRight()}else if("ArrowLeft"===e.key){if(e.preventDefault(),0===f.colIndex)return;f.moveLeft()}else if("ArrowUp"===e.key){if(e.preventDefault(),0===f.rowIndex)return;f.moveUp()}else if("ArrowDown"===e.key){if(e.preventDefault(),f.rowIndex===l-1)return;f.moveDown()}else"F2"===e.key&&(e.preventDefault(),u.startEditing())};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[u.isEditing,f.isFocus,a,c]),t((function(){u.isEditing&&!m.editable&&u.endEditing()}),[u,m]),e(r,{})}export{f as KeyboardSetting};
1
+ import{jsx as e,Fragment as t}from"react/jsx-runtime";import{useEffect as r}from"react";import{useTablePropertyStateContext as n}from"../../table-property/provider.js";import{useFocusContext as o}from"../../focus/provider.js";import{useEditContext as i}from"../../edit/provider.js";import{useColumnsContext as s}from"../../sheet/providers.js";var u=function(e){var t,r=document.getElementById("edit-input");if(r){var n=null===(t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value"))||void 0===t?void 0:t.set;n&&n.call(r,e);var o=new Event("input",{bubbles:!0});r.dispatchEvent(o)}};function p(){var p=o(),a=i(),f=n(),l=f.maxDisplayColCount,d=f.maxDisplayRowCount,c=s()[p.isFocus?p.colIndex:0],v=p.isFocus?p.rowIndex:-1,m=p.isFocus?p.colIndex:-1;return r((function(){var e=function(e){if(a.isEditing)"Escape"===e.key&&(e.preventDefault(),a.endEditing());else if(p.isFocus)if("Enter"===e.key)e.preventDefault(),p.moveDown();else if("Escape"===e.key)e.preventDefault(),p.unfocus();else if("ArrowRight"===e.key){if(e.preventDefault(),p.colIndex===l-1)return;p.moveRight()}else if("ArrowLeft"===e.key){if(e.preventDefault(),0===p.colIndex)return;p.moveLeft()}else if("ArrowUp"===e.key){if(e.preventDefault(),0===p.rowIndex)return;p.moveUp()}else if("ArrowDown"===e.key){if(e.preventDefault(),p.rowIndex===d-1)return;p.moveDown()}else"F2"===e.key?(e.preventDefault(),a.startEditing()):e.altKey||e.ctrlKey||!/^[a-zA-Z0-9]$/.test(e.key)?"Backspace"!==e.key&&"Delete"!==e.key||(e.preventDefault(),e.stopPropagation(),a.startEditing(),setTimeout((function(){u("")}),10)):(e.preventDefault(),e.stopPropagation(),a.startEditing(),setTimeout((function(){u(e.key)}),10))};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[a.isEditing,p.isFocus,v,m]),r((function(){a.isEditing&&!c.editable&&a.endEditing()}),[a,c]),e(t,{})}export{p as KeyboardSetting};
2
2
  //# sourceMappingURL=keyboard-setting.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard-setting.js","sources":["../../../../../../src/table/operation/components/keyboard-setting.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useTablePropertyStateContext } from \"../../table-property/provider\";\nimport { useFocusContext } from \"../../focus/provider\";\nimport { useEditContext } from \"../../edit/provider\";\nimport { useColumnsContext } from \"../../sheet/providers\";\n\nexport function KeyboardSetting() {\n const focus = useFocusContext();\n const edit = useEditContext();\n const { maxDisplayColCount, maxDisplayRowCount } =\n useTablePropertyStateContext();\n const col = useColumnsContext()[focus.isFocus ? focus.colIndex : 0];\n\n const rowIndex = focus.isFocus ? focus.rowIndex : -1;\n const colIndex = focus.isFocus ? focus.colIndex : -1;\n\n useEffect(() => {\n const listener = (e: KeyboardEvent) => {\n if (edit.isEditing) {\n if (e.key === \"Escape\") {\n e.preventDefault();\n edit.endEditing();\n }\n } else if (focus.isFocus) {\n if (e.key === \"Enter\") {\n e.preventDefault();\n focus.moveDown();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n focus.unfocus();\n } else if (e.key === \"ArrowRight\") {\n e.preventDefault();\n\n if (focus.colIndex === maxDisplayColCount - 1) return;\n\n focus.moveRight();\n } else if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n\n if (focus.colIndex === 0) return;\n\n focus.moveLeft();\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n\n if (focus.rowIndex === 0) return;\n\n focus.moveUp();\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n\n if (focus.rowIndex === maxDisplayRowCount - 1) return;\n\n focus.moveDown();\n } else if (e.key === \"F2\") {\n e.preventDefault();\n edit.startEditing();\n }\n }\n };\n\n document.addEventListener(\"keydown\", listener);\n\n return () => {\n document.removeEventListener(\"keydown\", listener);\n };\n }, [edit.isEditing, focus.isFocus, rowIndex, colIndex]);\n\n useEffect(() => {\n if (edit.isEditing && !col.editable) {\n edit.endEditing();\n }\n }, [edit, col]);\n\n return <></>;\n}\n"],"names":["KeyboardSetting","focus","useFocusContext","edit","useEditContext","_a","useTablePropertyStateContext","maxDisplayColCount","maxDisplayRowCount","col","useColumnsContext","isFocus","colIndex","rowIndex","useEffect","listener","e","isEditing","key","preventDefault","endEditing","moveDown","unfocus","moveRight","moveLeft","moveUp","startEditing","document","addEventListener","removeEventListener","editable","_jsx"],"mappings":"gWAMgBA,IACd,IAAMC,EAAQC,IACRC,EAAOC,IACPC,EACJC,IADMC,EAAkBF,EAAAE,mBAAEC,EAAkBH,EAAAG,mBAExCC,EAAMC,IAAoBT,EAAMU,QAAUV,EAAMW,SAAW,GAE3DC,EAAWZ,EAAMU,QAAUV,EAAMY,UAAY,EAC7CD,EAAWX,EAAMU,QAAUV,EAAMW,UAAY,EA4DnD,OA1DAE,GAAU,WACR,IAAMC,EAAW,SAACC,GAChB,GAAIb,EAAKc,UACO,WAAVD,EAAEE,MACJF,EAAEG,iBACFhB,EAAKiB,mBAEF,GAAInB,EAAMU,QACf,GAAc,UAAVK,EAAEE,IACJF,EAAEG,iBACFlB,EAAMoB,gBACD,GAAc,WAAVL,EAAEE,IACXF,EAAEG,iBACFlB,EAAMqB,eACD,GAAc,eAAVN,EAAEE,IAAsB,CAGjC,GAFAF,EAAEG,iBAEElB,EAAMW,WAAaL,EAAqB,EAAG,OAE/CN,EAAMsB,WACP,MAAM,GAAc,cAAVP,EAAEE,IAAqB,CAGhC,GAFAF,EAAEG,iBAEqB,IAAnBlB,EAAMW,SAAgB,OAE1BX,EAAMuB,UACP,MAAM,GAAc,YAAVR,EAAEE,IAAmB,CAG9B,GAFAF,EAAEG,iBAEqB,IAAnBlB,EAAMY,SAAgB,OAE1BZ,EAAMwB,QACP,MAAM,GAAc,cAAVT,EAAEE,IAAqB,CAGhC,GAFAF,EAAEG,iBAEElB,EAAMY,WAAaL,EAAqB,EAAG,OAE/CP,EAAMoB,UACP,KAAoB,OAAVL,EAAEE,MACXF,EAAEG,iBACFhB,EAAKuB,eAGX,EAIA,OAFAC,SAASC,iBAAiB,UAAWb,GAE9B,WACLY,SAASE,oBAAoB,UAAWd,EAC1C,CACF,GAAG,CAACZ,EAAKc,UAAWhB,EAAMU,QAASE,EAAUD,IAE7CE,GAAU,WACJX,EAAKc,YAAcR,EAAIqB,UACzB3B,EAAKiB,YAET,GAAG,CAACjB,EAAMM,IAEHsB,OACT"}
1
+ {"version":3,"file":"keyboard-setting.js","sources":["../../../../../../src/table/operation/components/keyboard-setting.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useTablePropertyStateContext } from \"../../table-property/provider\";\nimport { useFocusContext } from \"../../focus/provider\";\nimport { useEditContext } from \"../../edit/provider\";\nimport { useColumnsContext } from \"../../sheet/providers\";\n\nconst setInitialValueToInputForm = (key: string) => {\n const inputElement = document.getElementById(\"edit-input\");\n if (inputElement) {\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n window.HTMLInputElement.prototype,\n \"value\"\n )?.set;\n\n if (nativeInputValueSetter) {\n nativeInputValueSetter.call(inputElement, key);\n }\n\n const ev = new Event(\"input\", { bubbles: true });\n inputElement.dispatchEvent(ev);\n }\n};\n\nexport function KeyboardSetting() {\n const focus = useFocusContext();\n const edit = useEditContext();\n const { maxDisplayColCount, maxDisplayRowCount } =\n useTablePropertyStateContext();\n const col = useColumnsContext()[focus.isFocus ? focus.colIndex : 0];\n\n const rowIndex = focus.isFocus ? focus.rowIndex : -1;\n const colIndex = focus.isFocus ? focus.colIndex : -1;\n\n useEffect(() => {\n const listener = (e: KeyboardEvent) => {\n if (edit.isEditing) {\n if (e.key === \"Escape\") {\n e.preventDefault();\n edit.endEditing();\n }\n } else if (focus.isFocus) {\n if (e.key === \"Enter\") {\n e.preventDefault();\n focus.moveDown();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n focus.unfocus();\n } else if (e.key === \"ArrowRight\") {\n e.preventDefault();\n\n if (focus.colIndex === maxDisplayColCount - 1) return;\n\n focus.moveRight();\n } else if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n\n if (focus.colIndex === 0) return;\n\n focus.moveLeft();\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n\n if (focus.rowIndex === 0) return;\n\n focus.moveUp();\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n\n if (focus.rowIndex === maxDisplayRowCount - 1) return;\n\n focus.moveDown();\n } else if (e.key === \"F2\") {\n e.preventDefault();\n edit.startEditing();\n } else if (!e.altKey && !e.ctrlKey && /^[a-zA-Z0-9]$/.test(e.key)) {\n e.preventDefault();\n e.stopPropagation();\n edit.startEditing();\n\n setTimeout(() => {\n setInitialValueToInputForm(e.key);\n }, 10);\n } else if (e.key === \"Backspace\" || e.key === \"Delete\") {\n e.preventDefault();\n e.stopPropagation();\n edit.startEditing();\n\n setTimeout(() => {\n setInitialValueToInputForm(\"\");\n }, 10);\n }\n }\n };\n\n document.addEventListener(\"keydown\", listener);\n\n return () => {\n document.removeEventListener(\"keydown\", listener);\n };\n }, [edit.isEditing, focus.isFocus, rowIndex, colIndex]);\n\n useEffect(() => {\n if (edit.isEditing && !col.editable) {\n edit.endEditing();\n }\n }, [edit, col]);\n\n return <></>;\n}\n"],"names":["setInitialValueToInputForm","key","inputElement","document","getElementById","nativeInputValueSetter","_a","Object","getOwnPropertyDescriptor","window","HTMLInputElement","prototype","set","call","ev","Event","bubbles","dispatchEvent","KeyboardSetting","focus","useFocusContext","edit","useEditContext","useTablePropertyStateContext","maxDisplayColCount","maxDisplayRowCount","col","useColumnsContext","isFocus","colIndex","rowIndex","useEffect","listener","e","isEditing","preventDefault","endEditing","moveDown","unfocus","moveRight","moveLeft","moveUp","startEditing","altKey","ctrlKey","test","stopPropagation","setTimeout","addEventListener","removeEventListener","editable","_jsx"],"mappings":"uVAMA,IAAMA,EAA6B,SAACC,SAC5BC,EAAeC,SAASC,eAAe,cAC7C,GAAIF,EAAc,CAChB,IAAMG,EAGL,QAH8BC,EAAAC,OAAOC,yBACpCC,OAAOC,iBAAiBC,UACxB,gBACD,IAAAL,OAAA,EAAAA,EAAEM,IAECP,GACFA,EAAuBQ,KAAKX,EAAcD,GAG5C,IAAMa,EAAK,IAAIC,MAAM,QAAS,CAAEC,SAAS,IACzCd,EAAae,cAAcH,EAC5B,CACH,WAEgBI,IACd,IAAMC,EAAQC,IACRC,EAAOC,IACPhB,EACJiB,IADMC,EAAkBlB,EAAAkB,mBAAEC,EAAkBnB,EAAAmB,mBAExCC,EAAMC,IAAoBR,EAAMS,QAAUT,EAAMU,SAAW,GAE3DC,EAAWX,EAAMS,QAAUT,EAAMW,UAAY,EAC7CD,EAAWV,EAAMS,QAAUT,EAAMU,UAAY,EA4EnD,OA1EAE,GAAU,WACR,IAAMC,EAAW,SAACC,GAChB,GAAIZ,EAAKa,UACO,WAAVD,EAAEhC,MACJgC,EAAEE,iBACFd,EAAKe,mBAEF,GAAIjB,EAAMS,QACf,GAAc,UAAVK,EAAEhC,IACJgC,EAAEE,iBACFhB,EAAMkB,gBACD,GAAc,WAAVJ,EAAEhC,IACXgC,EAAEE,iBACFhB,EAAMmB,eACD,GAAc,eAAVL,EAAEhC,IAAsB,CAGjC,GAFAgC,EAAEE,iBAEEhB,EAAMU,WAAaL,EAAqB,EAAG,OAE/CL,EAAMoB,WACP,MAAM,GAAc,cAAVN,EAAEhC,IAAqB,CAGhC,GAFAgC,EAAEE,iBAEqB,IAAnBhB,EAAMU,SAAgB,OAE1BV,EAAMqB,UACP,MAAM,GAAc,YAAVP,EAAEhC,IAAmB,CAG9B,GAFAgC,EAAEE,iBAEqB,IAAnBhB,EAAMW,SAAgB,OAE1BX,EAAMsB,QACP,MAAM,GAAc,cAAVR,EAAEhC,IAAqB,CAGhC,GAFAgC,EAAEE,iBAEEhB,EAAMW,WAAaL,EAAqB,EAAG,OAE/CN,EAAMkB,UACP,KAAoB,OAAVJ,EAAEhC,KACXgC,EAAEE,iBACFd,EAAKqB,gBACKT,EAAEU,QAAWV,EAAEW,UAAW,gBAAgBC,KAAKZ,EAAEhC,KAQxC,cAAVgC,EAAEhC,KAAiC,WAAVgC,EAAEhC,MACpCgC,EAAEE,iBACFF,EAAEa,kBACFzB,EAAKqB,eAELK,YAAW,WACT/C,EAA2B,GAC5B,GAAE,MAdHiC,EAAEE,iBACFF,EAAEa,kBACFzB,EAAKqB,eAELK,YAAW,WACT/C,EAA2BiC,EAAEhC,IAC9B,GAAE,IAWT,EAIA,OAFAE,SAAS6C,iBAAiB,UAAWhB,GAE9B,WACL7B,SAAS8C,oBAAoB,UAAWjB,EAC1C,CACF,GAAG,CAACX,EAAKa,UAAWf,EAAMS,QAASE,EAAUD,IAE7CE,GAAU,WACJV,EAAKa,YAAcR,EAAIwB,UACzB7B,EAAKe,YAET,GAAG,CAACf,EAAMK,IAEHyB,OACT"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teppen/react-ui",
3
- "version": "1.5.14",
3
+ "version": "1.5.16",
4
4
  "description": "React UI Component",
5
5
  "main": "dist/cjs/src/index.js",
6
6
  "module": "dist/esm/src/index.js",