@teppen/react-ui 1.5.13 → 1.5.15

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(),d=f.maxDisplayColCount,l=f.maxDisplayRowCount,p=o.useColumnsContext()[s.isFocus?s.colIndex:0],c=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===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===l-1)return;s.moveDown()}else"F2"===e.key?(e.preventDefault(),a.startEditing()):/^[a-zA-Z0-9]$/.test(e.key)?(e.preventDefault(),e.stopPropagation(),a.startEditing(),setTimeout((function(){u(e.key)}),10)):"Backspace"!==e.key&&"Delete"!==e.key||(e.preventDefault(),e.stopPropagation(),a.startEditing(),setTimeout((function(){u("")}),10))};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[a.isEditing,s.isFocus,c,v]),t.useEffect((function(){a.isEditing&&!p.editable&&a.endEditing()}),[a,p]),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 (/^[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","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,gBACI,gBAAgBC,KAAKV,EAAE/B,MAChC+B,EAAEE,iBACFF,EAAEW,kBACFvB,EAAKqB,eAELG,YAAW,WACT5C,EAA2BgC,EAAE/B,IAC9B,GAAE,KACgB,cAAV+B,EAAE/B,KAAiC,WAAV+B,EAAE/B,MACpC+B,EAAEE,iBACFF,EAAEW,kBACFvB,EAAKqB,eAELG,YAAW,WACT5C,EAA2B,GAC5B,GAAE,IAGT,EAIA,OAFAG,SAAS0C,iBAAiB,UAAWd,GAE9B,WACL5B,SAAS2C,oBAAoB,UAAWf,EAC1C,CACF,GAAG,CAACX,EAAKa,UAAWf,EAAMS,QAASE,EAAUD,IAE7CE,EAAAA,WAAU,WACJV,EAAKa,YAAcR,EAAIsB,UACzB3B,EAAKe,YAET,GAAG,CAACf,EAAMK,IAEHuB,oBACT"}
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("../../../node_modules/tslib/tslib.es6.js"),a=require("react"),t=function(a,t){switch(t.type){case"changeKey":return{key:t.payload.key,asc:!0,isUpdatedData:!1,sortTiming:a.sortTiming+1};case"changeOrder":return a.isUpdatedData?e.__assign(e.__assign({},a),{isUpdatedData:!1,sortTiming:a.sortTiming+1}):e.__assign(e.__assign({},a),{asc:!a.asc,sortTiming:a.sortTiming+1});case"updateData":return e.__assign(e.__assign({},a),{isUpdatedData:!0})}};exports.useSortReducer=function(s){var i,n,r=a.useReducer(t,{key:null!==(i=null==s?void 0:s.key)&&void 0!==i?i:"id",asc:null===(n=null==s?void 0:s.asc)||void 0===n||n,isUpdatedData:!1,sortTiming:0}),c=r[0],d=r[1],u=function(e){d({type:"changeKey",payload:{key:e}})},o=function(){d({type:"changeOrder"})},y=function(){d({type:"updateData"})},g=a.useCallback((function(a){return e.__spreadArray([],a,!0).sort((function(e,a){return e[c.key]<a[c.key]?c.asc?-1:1:e[c.key]>a[c.key]?c.asc?1:-1:0}))}),[c.key,c.asc]);return{state:a.useMemo((function(){return{key:c.key,asc:c.asc,isUpdatedData:c.isUpdatedData}}),[c.key,c.asc,c.isUpdatedData]),actions:a.useMemo((function(){return{changeKey:u,changeOrder:o,updatedData:y,sort:g}}),[g]),sortTiming:c.sortTiming}};
1
+ "use strict";var e=require("../../../node_modules/tslib/tslib.es6.js"),a=require("react"),t=function(a,t){switch(t.type){case"changeKey":return{key:t.payload.key,asc:!0,isUpdatedData:!1,sortTiming:a.sortTiming+1};case"changeOrder":return a.isUpdatedData?e.__assign(e.__assign({},a),{isUpdatedData:!1,sortTiming:a.sortTiming+1}):e.__assign(e.__assign({},a),{asc:!a.asc,sortTiming:a.sortTiming+1});case"updateData":return e.__assign(e.__assign({},a),{isUpdatedData:!0})}};exports.useSortReducer=function(s){var i,n,r=a.useReducer(t,{key:null!==(i=null==s?void 0:s.key)&&void 0!==i?i:"id",asc:null===(n=null==s?void 0:s.asc)||void 0===n||n,isUpdatedData:!1,sortTiming:0}),c=r[0],d=r[1],u=function(e){d({type:"changeKey",payload:{key:e}})},o=function(){d({type:"changeOrder"})},y=function(){d({type:"updateData"})},g=a.useCallback((function(a){return e.__spreadArray([],a,!0).sort((function(e,a){return""===e[c.key]&&""===a[c.key]?0:""===e[c.key]?1:""===a[c.key]?-1:e[c.key]<a[c.key]?c.asc?-1:1:e[c.key]>a[c.key]?c.asc?1:-1:0}))}),[c.key,c.asc]);return{state:a.useMemo((function(){return{key:c.key,asc:c.asc,isUpdatedData:c.isUpdatedData}}),[c.key,c.asc,c.isUpdatedData]),actions:a.useMemo((function(){return{changeKey:u,changeOrder:o,updatedData:y,sort:g}}),[g]),sortTiming:c.sortTiming}};
2
2
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../../../src/table/sort/hooks.ts"],"sourcesContent":["import { useCallback, useMemo, useReducer } from \"react\";\nimport { TReturnSortReducer, TSortReducer } from \"./types\";\nimport { DataObject, DataRecord } from \"../table/type\";\n\nconst reducer: TSortReducer = (state, action) => {\n switch (action.type) {\n case \"changeKey\":\n return {\n key: action.payload.key,\n asc: true,\n isUpdatedData: false,\n sortTiming: state.sortTiming + 1,\n };\n case \"changeOrder\":\n if (state.isUpdatedData) {\n return {\n ...state,\n isUpdatedData: false,\n sortTiming: state.sortTiming + 1,\n };\n } else {\n return { ...state, asc: !state.asc, sortTiming: state.sortTiming + 1 };\n }\n case \"updateData\":\n return { ...state, isUpdatedData: true };\n }\n};\n\nexport function useSortReducer<T extends DataRecord>(initial?: {\n key: string;\n asc?: boolean;\n}): TReturnSortReducer<T> {\n const [state, dispatch] = useReducer(reducer, {\n key: initial?.key ?? \"id\",\n asc: initial?.asc ?? true,\n isUpdatedData: false,\n sortTiming: 0,\n });\n\n const changeKey = (key: string) => {\n dispatch({ type: \"changeKey\", payload: { key } });\n };\n\n const changeOrder = () => {\n dispatch({ type: \"changeOrder\" });\n };\n\n const updatedData = () => {\n dispatch({ type: \"updateData\" });\n };\n\n const sort = useCallback(\n <U extends DataRecord>(rows: DataObject<U>[]) =>\n [...rows].sort((a, b) => {\n if (a[state.key] < b[state.key]) {\n return state.asc ? -1 : 1;\n }\n if (a[state.key] > b[state.key]) {\n return state.asc ? 1 : -1;\n }\n return 0;\n }),\n [state.key, state.asc]\n );\n\n const stateExcludeSortTiming = useMemo(\n () => ({\n key: state.key,\n asc: state.asc,\n isUpdatedData: state.isUpdatedData,\n }),\n [state.key, state.asc, state.isUpdatedData]\n );\n\n const actions = useMemo(\n () => ({ changeKey, changeOrder, updatedData, sort }),\n [sort]\n );\n\n return {\n state: stateExcludeSortTiming,\n actions,\n sortTiming: state.sortTiming,\n };\n}\n"],"names":["reducer","state","action","type","key","payload","asc","isUpdatedData","sortTiming","__assign","initial","_c","useReducer","_a","_b","dispatch","changeKey","changeOrder","updatedData","sort","useCallback","rows","__spreadArray","a","b","useMemo","actions"],"mappings":"0FAIMA,EAAwB,SAACC,EAAOC,GACpC,OAAQA,EAAOC,MACb,IAAK,YACH,MAAO,CACLC,IAAKF,EAAOG,QAAQD,IACpBE,KAAK,EACLC,eAAe,EACfC,WAAYP,EAAMO,WAAa,GAEnC,IAAK,cACH,OAAIP,EAAMM,cACRE,EAAAA,SAAAA,EAAAA,SAAA,GACKR,GAAK,CACRM,eAAe,EACfC,WAAYP,EAAMO,WAAa,IAGjCC,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EAAYR,GAAO,CAAAK,KAAML,EAAMK,IAAKE,WAAYP,EAAMO,WAAa,IAEvE,IAAK,aACH,OAAAC,EAAAA,SAAAA,EAAAA,SAAA,GAAYR,GAAK,CAAEM,eAAe,IAExC,yBAEM,SAA+CG,WAI7CC,EAAoBC,EAAUA,WAACZ,EAAS,CAC5CI,IAAiB,QAAZS,EAAAH,eAAAA,EAASN,WAAG,IAAAS,EAAAA,EAAI,KACrBP,IAAiB,QAAZQ,EAAAJ,eAAAA,EAASJ,WAAG,IAAAQ,GAAAA,EACjBP,eAAe,EACfC,WAAY,IAJPP,EAAKU,EAAA,GAAEI,OAORC,EAAY,SAACZ,GACjBW,EAAS,CAAEZ,KAAM,YAAaE,QAAS,CAAED,IAAGA,IAC9C,EAEMa,EAAc,WAClBF,EAAS,CAAEZ,KAAM,eACnB,EAEMe,EAAc,WAClBH,EAAS,CAAEZ,KAAM,cACnB,EAEMgB,EAAOC,eACX,SAAuBC,GACrB,OAAAC,EAAAA,cAAA,GAAID,GAAM,GAAAF,MAAK,SAACI,EAAGC,GACjB,OAAID,EAAEtB,EAAMG,KAAOoB,EAAEvB,EAAMG,KAClBH,EAAMK,KAAO,EAAI,EAEtBiB,EAAEtB,EAAMG,KAAOoB,EAAEvB,EAAMG,KAClBH,EAAMK,IAAM,GAAK,EAEnB,CACT,GAAE,GACJ,CAACL,EAAMG,IAAKH,EAAMK,MAiBpB,MAAO,CACLL,MAf6BwB,WAC7B,WAAM,MAAC,CACLrB,IAAKH,EAAMG,IACXE,IAAKL,EAAMK,IACXC,cAAeN,EAAMM,cACrB,GACF,CAACN,EAAMG,IAAKH,EAAMK,IAAKL,EAAMM,gBAU7BmB,QAPcD,EAAAA,SACd,WAAM,MAAC,CAAET,UAASA,EAAEC,YAAWA,EAAEC,YAAWA,EAAEC,KAAIA,EAAG,GACrD,CAACA,IAMDX,WAAYP,EAAMO,WAEtB"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../../../src/table/sort/hooks.ts"],"sourcesContent":["import { useCallback, useMemo, useReducer } from \"react\";\nimport { TReturnSortReducer, TSortReducer } from \"./types\";\nimport { DataObject, DataRecord } from \"../table/type\";\n\nconst reducer: TSortReducer = (state, action) => {\n switch (action.type) {\n case \"changeKey\":\n return {\n key: action.payload.key,\n asc: true,\n isUpdatedData: false,\n sortTiming: state.sortTiming + 1,\n };\n case \"changeOrder\":\n if (state.isUpdatedData) {\n return {\n ...state,\n isUpdatedData: false,\n sortTiming: state.sortTiming + 1,\n };\n } else {\n return { ...state, asc: !state.asc, sortTiming: state.sortTiming + 1 };\n }\n case \"updateData\":\n return { ...state, isUpdatedData: true };\n }\n};\n\nexport function useSortReducer<T extends DataRecord>(initial?: {\n key: string;\n asc?: boolean;\n}): TReturnSortReducer<T> {\n const [state, dispatch] = useReducer(reducer, {\n key: initial?.key ?? \"id\",\n asc: initial?.asc ?? true,\n isUpdatedData: false,\n sortTiming: 0,\n });\n\n const changeKey = (key: string) => {\n dispatch({ type: \"changeKey\", payload: { key } });\n };\n\n const changeOrder = () => {\n dispatch({ type: \"changeOrder\" });\n };\n\n const updatedData = () => {\n dispatch({ type: \"updateData\" });\n };\n\n const sort = useCallback(\n <U extends DataRecord>(rows: DataObject<U>[]) =>\n [...rows].sort((a, b) => {\n if (a[state.key] === \"\" && b[state.key] === \"\") {\n return 0;\n } else if (a[state.key] === \"\") {\n return 1;\n } else if (b[state.key] === \"\") {\n return -1;\n }\n\n if (a[state.key] < b[state.key]) {\n return state.asc ? -1 : 1;\n }\n if (a[state.key] > b[state.key]) {\n return state.asc ? 1 : -1;\n }\n return 0;\n }),\n [state.key, state.asc]\n );\n\n const stateExcludeSortTiming = useMemo(\n () => ({\n key: state.key,\n asc: state.asc,\n isUpdatedData: state.isUpdatedData,\n }),\n [state.key, state.asc, state.isUpdatedData]\n );\n\n const actions = useMemo(\n () => ({ changeKey, changeOrder, updatedData, sort }),\n [sort]\n );\n\n return {\n state: stateExcludeSortTiming,\n actions,\n sortTiming: state.sortTiming,\n };\n}\n"],"names":["reducer","state","action","type","key","payload","asc","isUpdatedData","sortTiming","__assign","initial","_c","useReducer","_a","_b","dispatch","changeKey","changeOrder","updatedData","sort","useCallback","rows","__spreadArray","a","b","useMemo","actions"],"mappings":"0FAIMA,EAAwB,SAACC,EAAOC,GACpC,OAAQA,EAAOC,MACb,IAAK,YACH,MAAO,CACLC,IAAKF,EAAOG,QAAQD,IACpBE,KAAK,EACLC,eAAe,EACfC,WAAYP,EAAMO,WAAa,GAEnC,IAAK,cACH,OAAIP,EAAMM,cACRE,EAAAA,SAAAA,EAAAA,SAAA,GACKR,GAAK,CACRM,eAAe,EACfC,WAAYP,EAAMO,WAAa,IAGjCC,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EAAYR,GAAO,CAAAK,KAAML,EAAMK,IAAKE,WAAYP,EAAMO,WAAa,IAEvE,IAAK,aACH,OAAAC,EAAAA,SAAAA,EAAAA,SAAA,GAAYR,GAAK,CAAEM,eAAe,IAExC,yBAEM,SAA+CG,WAI7CC,EAAoBC,EAAUA,WAACZ,EAAS,CAC5CI,IAAiB,QAAZS,EAAAH,eAAAA,EAASN,WAAG,IAAAS,EAAAA,EAAI,KACrBP,IAAiB,QAAZQ,EAAAJ,eAAAA,EAASJ,WAAG,IAAAQ,GAAAA,EACjBP,eAAe,EACfC,WAAY,IAJPP,EAAKU,EAAA,GAAEI,OAORC,EAAY,SAACZ,GACjBW,EAAS,CAAEZ,KAAM,YAAaE,QAAS,CAAED,IAAGA,IAC9C,EAEMa,EAAc,WAClBF,EAAS,CAAEZ,KAAM,eACnB,EAEMe,EAAc,WAClBH,EAAS,CAAEZ,KAAM,cACnB,EAEMgB,EAAOC,eACX,SAAuBC,GACrB,OAAAC,EAAAA,cAAA,GAAID,GAAM,GAAAF,MAAK,SAACI,EAAGC,GACjB,MAAqB,KAAjBD,EAAEtB,EAAMG,MAAgC,KAAjBoB,EAAEvB,EAAMG,KAC1B,EACmB,KAAjBmB,EAAEtB,EAAMG,KACV,EACmB,KAAjBoB,EAAEvB,EAAMG,MACT,EAGNmB,EAAEtB,EAAMG,KAAOoB,EAAEvB,EAAMG,KAClBH,EAAMK,KAAO,EAAI,EAEtBiB,EAAEtB,EAAMG,KAAOoB,EAAEvB,EAAMG,KAClBH,EAAMK,IAAM,GAAK,EAEnB,CACT,GAAE,GACJ,CAACL,EAAMG,IAAKH,EAAMK,MAiBpB,MAAO,CACLL,MAf6BwB,WAC7B,WAAM,MAAC,CACLrB,IAAKH,EAAMG,IACXE,IAAKL,EAAMK,IACXC,cAAeN,EAAMM,cACrB,GACF,CAACN,EAAMG,IAAKH,EAAMK,IAAKL,EAAMM,gBAU7BmB,QAPcD,EAAAA,SACd,WAAM,MAAC,CAAET,UAASA,EAAEC,YAAWA,EAAEC,YAAWA,EAAEC,KAAIA,EAAG,GACrD,CAACA,IAMDX,WAAYP,EAAMO,WAEtB"}
@@ -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 n}from"react";import{useTablePropertyStateContext as r}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,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 o=new Event("input",{bubbles:!0});n.dispatchEvent(o)}};function p(){var p=o(),f=i(),a=r(),d=a.maxDisplayColCount,l=a.maxDisplayRowCount,v=s()[p.isFocus?p.colIndex:0],c=p.isFocus?p.rowIndex:-1,m=p.isFocus?p.colIndex:-1;return n((function(){var e=function(e){if(f.isEditing)"Escape"===e.key&&(e.preventDefault(),f.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===d-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===l-1)return;p.moveDown()}else"F2"===e.key?(e.preventDefault(),f.startEditing()):/^[a-zA-Z0-9]$/.test(e.key)?(e.preventDefault(),e.stopPropagation(),f.startEditing(),setTimeout((function(){u(e.key)}),10)):"Backspace"!==e.key&&"Delete"!==e.key||(e.preventDefault(),e.stopPropagation(),f.startEditing(),setTimeout((function(){u("")}),10))};return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[f.isEditing,p.isFocus,c,m]),n((function(){f.isEditing&&!v.editable&&f.endEditing()}),[f,v]),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 (/^[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","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,gBACI,gBAAgBC,KAAKV,EAAEhC,MAChCgC,EAAEE,iBACFF,EAAEW,kBACFvB,EAAKqB,eAELG,YAAW,WACT7C,EAA2BiC,EAAEhC,IAC9B,GAAE,KACgB,cAAVgC,EAAEhC,KAAiC,WAAVgC,EAAEhC,MACpCgC,EAAEE,iBACFF,EAAEW,kBACFvB,EAAKqB,eAELG,YAAW,WACT7C,EAA2B,GAC5B,GAAE,IAGT,EAIA,OAFAG,SAAS2C,iBAAiB,UAAWd,GAE9B,WACL7B,SAAS4C,oBAAoB,UAAWf,EAC1C,CACF,GAAG,CAACX,EAAKa,UAAWf,EAAMS,QAASE,EAAUD,IAE7CE,GAAU,WACJV,EAAKa,YAAcR,EAAIsB,UACzB3B,EAAKe,YAET,GAAG,CAACf,EAAMK,IAEHuB,OACT"}
@@ -1,2 +1,2 @@
1
- import{__spreadArray as t,__assign as a}from"../../../node_modules/tslib/tslib.es6.js";import{useReducer as e,useCallback as n,useMemo as i}from"react";var r=function(t,e){switch(e.type){case"changeKey":return{key:e.payload.key,asc:!0,isUpdatedData:!1,sortTiming:t.sortTiming+1};case"changeOrder":return t.isUpdatedData?a(a({},t),{isUpdatedData:!1,sortTiming:t.sortTiming+1}):a(a({},t),{asc:!t.asc,sortTiming:t.sortTiming+1});case"updateData":return a(a({},t),{isUpdatedData:!0})}};function s(a){var s,o,c=e(r,{key:null!==(s=null==a?void 0:a.key)&&void 0!==s?s:"id",asc:null===(o=null==a?void 0:a.asc)||void 0===o||o,isUpdatedData:!1,sortTiming:0}),d=c[0],u=c[1],y=function(t){u({type:"changeKey",payload:{key:t}})},p=function(){u({type:"changeOrder"})},g=function(){u({type:"updateData"})},m=n((function(a){return t([],a,!0).sort((function(t,a){return t[d.key]<a[d.key]?d.asc?-1:1:t[d.key]>a[d.key]?d.asc?1:-1:0}))}),[d.key,d.asc]);return{state:i((function(){return{key:d.key,asc:d.asc,isUpdatedData:d.isUpdatedData}}),[d.key,d.asc,d.isUpdatedData]),actions:i((function(){return{changeKey:y,changeOrder:p,updatedData:g,sort:m}}),[m]),sortTiming:d.sortTiming}}export{s as useSortReducer};
1
+ import{__spreadArray as t,__assign as a}from"../../../node_modules/tslib/tslib.es6.js";import{useReducer as e,useCallback as n,useMemo as i}from"react";var r=function(t,e){switch(e.type){case"changeKey":return{key:e.payload.key,asc:!0,isUpdatedData:!1,sortTiming:t.sortTiming+1};case"changeOrder":return t.isUpdatedData?a(a({},t),{isUpdatedData:!1,sortTiming:t.sortTiming+1}):a(a({},t),{asc:!t.asc,sortTiming:t.sortTiming+1});case"updateData":return a(a({},t),{isUpdatedData:!0})}};function s(a){var s,o,c=e(r,{key:null!==(s=null==a?void 0:a.key)&&void 0!==s?s:"id",asc:null===(o=null==a?void 0:a.asc)||void 0===o||o,isUpdatedData:!1,sortTiming:0}),d=c[0],y=c[1],u=function(t){y({type:"changeKey",payload:{key:t}})},p=function(){y({type:"changeOrder"})},k=function(){y({type:"updateData"})},g=n((function(a){return t([],a,!0).sort((function(t,a){return""===t[d.key]&&""===a[d.key]?0:""===t[d.key]?1:""===a[d.key]?-1:t[d.key]<a[d.key]?d.asc?-1:1:t[d.key]>a[d.key]?d.asc?1:-1:0}))}),[d.key,d.asc]);return{state:i((function(){return{key:d.key,asc:d.asc,isUpdatedData:d.isUpdatedData}}),[d.key,d.asc,d.isUpdatedData]),actions:i((function(){return{changeKey:u,changeOrder:p,updatedData:k,sort:g}}),[g]),sortTiming:d.sortTiming}}export{s as useSortReducer};
2
2
  //# sourceMappingURL=hooks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sources":["../../../../../src/table/sort/hooks.ts"],"sourcesContent":["import { useCallback, useMemo, useReducer } from \"react\";\nimport { TReturnSortReducer, TSortReducer } from \"./types\";\nimport { DataObject, DataRecord } from \"../table/type\";\n\nconst reducer: TSortReducer = (state, action) => {\n switch (action.type) {\n case \"changeKey\":\n return {\n key: action.payload.key,\n asc: true,\n isUpdatedData: false,\n sortTiming: state.sortTiming + 1,\n };\n case \"changeOrder\":\n if (state.isUpdatedData) {\n return {\n ...state,\n isUpdatedData: false,\n sortTiming: state.sortTiming + 1,\n };\n } else {\n return { ...state, asc: !state.asc, sortTiming: state.sortTiming + 1 };\n }\n case \"updateData\":\n return { ...state, isUpdatedData: true };\n }\n};\n\nexport function useSortReducer<T extends DataRecord>(initial?: {\n key: string;\n asc?: boolean;\n}): TReturnSortReducer<T> {\n const [state, dispatch] = useReducer(reducer, {\n key: initial?.key ?? \"id\",\n asc: initial?.asc ?? true,\n isUpdatedData: false,\n sortTiming: 0,\n });\n\n const changeKey = (key: string) => {\n dispatch({ type: \"changeKey\", payload: { key } });\n };\n\n const changeOrder = () => {\n dispatch({ type: \"changeOrder\" });\n };\n\n const updatedData = () => {\n dispatch({ type: \"updateData\" });\n };\n\n const sort = useCallback(\n <U extends DataRecord>(rows: DataObject<U>[]) =>\n [...rows].sort((a, b) => {\n if (a[state.key] < b[state.key]) {\n return state.asc ? -1 : 1;\n }\n if (a[state.key] > b[state.key]) {\n return state.asc ? 1 : -1;\n }\n return 0;\n }),\n [state.key, state.asc]\n );\n\n const stateExcludeSortTiming = useMemo(\n () => ({\n key: state.key,\n asc: state.asc,\n isUpdatedData: state.isUpdatedData,\n }),\n [state.key, state.asc, state.isUpdatedData]\n );\n\n const actions = useMemo(\n () => ({ changeKey, changeOrder, updatedData, sort }),\n [sort]\n );\n\n return {\n state: stateExcludeSortTiming,\n actions,\n sortTiming: state.sortTiming,\n };\n}\n"],"names":["reducer","state","action","type","key","payload","asc","isUpdatedData","sortTiming","__assign","useSortReducer","initial","_c","useReducer","_a","_b","dispatch","changeKey","changeOrder","updatedData","sort","useCallback","rows","__spreadArray","a","b","useMemo","actions"],"mappings":"wJAIA,IAAMA,EAAwB,SAACC,EAAOC,GACpC,OAAQA,EAAOC,MACb,IAAK,YACH,MAAO,CACLC,IAAKF,EAAOG,QAAQD,IACpBE,KAAK,EACLC,eAAe,EACfC,WAAYP,EAAMO,WAAa,GAEnC,IAAK,cACH,OAAIP,EAAMM,cACRE,EAAAA,EAAA,GACKR,GAAK,CACRM,eAAe,EACfC,WAAYP,EAAMO,WAAa,IAGjCC,EAAAA,EAAA,CAAA,EAAYR,GAAO,CAAAK,KAAML,EAAMK,IAAKE,WAAYP,EAAMO,WAAa,IAEvE,IAAK,aACH,OAAAC,EAAAA,EAAA,GAAYR,GAAK,CAAEM,eAAe,IAExC,EAEM,SAAUG,EAAqCC,WAI7CC,EAAoBC,EAAWb,EAAS,CAC5CI,IAAiB,QAAZU,EAAAH,eAAAA,EAASP,WAAG,IAAAU,EAAAA,EAAI,KACrBR,IAAiB,QAAZS,EAAAJ,eAAAA,EAASL,WAAG,IAAAS,GAAAA,EACjBR,eAAe,EACfC,WAAY,IAJPP,EAAKW,EAAA,GAAEI,OAORC,EAAY,SAACb,GACjBY,EAAS,CAAEb,KAAM,YAAaE,QAAS,CAAED,IAAGA,IAC9C,EAEMc,EAAc,WAClBF,EAAS,CAAEb,KAAM,eACnB,EAEMgB,EAAc,WAClBH,EAAS,CAAEb,KAAM,cACnB,EAEMiB,EAAOC,GACX,SAAuBC,GACrB,OAAAC,EAAA,GAAID,GAAM,GAAAF,MAAK,SAACI,EAAGC,GACjB,OAAID,EAAEvB,EAAMG,KAAOqB,EAAExB,EAAMG,KAClBH,EAAMK,KAAO,EAAI,EAEtBkB,EAAEvB,EAAMG,KAAOqB,EAAExB,EAAMG,KAClBH,EAAMK,IAAM,GAAK,EAEnB,CACT,GAAE,GACJ,CAACL,EAAMG,IAAKH,EAAMK,MAiBpB,MAAO,CACLL,MAf6ByB,GAC7B,WAAM,MAAC,CACLtB,IAAKH,EAAMG,IACXE,IAAKL,EAAMK,IACXC,cAAeN,EAAMM,cACrB,GACF,CAACN,EAAMG,IAAKH,EAAMK,IAAKL,EAAMM,gBAU7BoB,QAPcD,GACd,WAAM,MAAC,CAAET,UAASA,EAAEC,YAAWA,EAAEC,YAAWA,EAAEC,KAAIA,EAAG,GACrD,CAACA,IAMDZ,WAAYP,EAAMO,WAEtB"}
1
+ {"version":3,"file":"hooks.js","sources":["../../../../../src/table/sort/hooks.ts"],"sourcesContent":["import { useCallback, useMemo, useReducer } from \"react\";\nimport { TReturnSortReducer, TSortReducer } from \"./types\";\nimport { DataObject, DataRecord } from \"../table/type\";\n\nconst reducer: TSortReducer = (state, action) => {\n switch (action.type) {\n case \"changeKey\":\n return {\n key: action.payload.key,\n asc: true,\n isUpdatedData: false,\n sortTiming: state.sortTiming + 1,\n };\n case \"changeOrder\":\n if (state.isUpdatedData) {\n return {\n ...state,\n isUpdatedData: false,\n sortTiming: state.sortTiming + 1,\n };\n } else {\n return { ...state, asc: !state.asc, sortTiming: state.sortTiming + 1 };\n }\n case \"updateData\":\n return { ...state, isUpdatedData: true };\n }\n};\n\nexport function useSortReducer<T extends DataRecord>(initial?: {\n key: string;\n asc?: boolean;\n}): TReturnSortReducer<T> {\n const [state, dispatch] = useReducer(reducer, {\n key: initial?.key ?? \"id\",\n asc: initial?.asc ?? true,\n isUpdatedData: false,\n sortTiming: 0,\n });\n\n const changeKey = (key: string) => {\n dispatch({ type: \"changeKey\", payload: { key } });\n };\n\n const changeOrder = () => {\n dispatch({ type: \"changeOrder\" });\n };\n\n const updatedData = () => {\n dispatch({ type: \"updateData\" });\n };\n\n const sort = useCallback(\n <U extends DataRecord>(rows: DataObject<U>[]) =>\n [...rows].sort((a, b) => {\n if (a[state.key] === \"\" && b[state.key] === \"\") {\n return 0;\n } else if (a[state.key] === \"\") {\n return 1;\n } else if (b[state.key] === \"\") {\n return -1;\n }\n\n if (a[state.key] < b[state.key]) {\n return state.asc ? -1 : 1;\n }\n if (a[state.key] > b[state.key]) {\n return state.asc ? 1 : -1;\n }\n return 0;\n }),\n [state.key, state.asc]\n );\n\n const stateExcludeSortTiming = useMemo(\n () => ({\n key: state.key,\n asc: state.asc,\n isUpdatedData: state.isUpdatedData,\n }),\n [state.key, state.asc, state.isUpdatedData]\n );\n\n const actions = useMemo(\n () => ({ changeKey, changeOrder, updatedData, sort }),\n [sort]\n );\n\n return {\n state: stateExcludeSortTiming,\n actions,\n sortTiming: state.sortTiming,\n };\n}\n"],"names":["reducer","state","action","type","key","payload","asc","isUpdatedData","sortTiming","__assign","useSortReducer","initial","_c","useReducer","_a","_b","dispatch","changeKey","changeOrder","updatedData","sort","useCallback","rows","__spreadArray","a","b","useMemo","actions"],"mappings":"wJAIA,IAAMA,EAAwB,SAACC,EAAOC,GACpC,OAAQA,EAAOC,MACb,IAAK,YACH,MAAO,CACLC,IAAKF,EAAOG,QAAQD,IACpBE,KAAK,EACLC,eAAe,EACfC,WAAYP,EAAMO,WAAa,GAEnC,IAAK,cACH,OAAIP,EAAMM,cACRE,EAAAA,EAAA,GACKR,GAAK,CACRM,eAAe,EACfC,WAAYP,EAAMO,WAAa,IAGjCC,EAAAA,EAAA,CAAA,EAAYR,GAAO,CAAAK,KAAML,EAAMK,IAAKE,WAAYP,EAAMO,WAAa,IAEvE,IAAK,aACH,OAAAC,EAAAA,EAAA,GAAYR,GAAK,CAAEM,eAAe,IAExC,EAEM,SAAUG,EAAqCC,WAI7CC,EAAoBC,EAAWb,EAAS,CAC5CI,IAAiB,QAAZU,EAAAH,eAAAA,EAASP,WAAG,IAAAU,EAAAA,EAAI,KACrBR,IAAiB,QAAZS,EAAAJ,eAAAA,EAASL,WAAG,IAAAS,GAAAA,EACjBR,eAAe,EACfC,WAAY,IAJPP,EAAKW,EAAA,GAAEI,OAORC,EAAY,SAACb,GACjBY,EAAS,CAAEb,KAAM,YAAaE,QAAS,CAAED,IAAGA,IAC9C,EAEMc,EAAc,WAClBF,EAAS,CAAEb,KAAM,eACnB,EAEMgB,EAAc,WAClBH,EAAS,CAAEb,KAAM,cACnB,EAEMiB,EAAOC,GACX,SAAuBC,GACrB,OAAAC,EAAA,GAAID,GAAM,GAAAF,MAAK,SAACI,EAAGC,GACjB,MAAqB,KAAjBD,EAAEvB,EAAMG,MAAgC,KAAjBqB,EAAExB,EAAMG,KAC1B,EACmB,KAAjBoB,EAAEvB,EAAMG,KACV,EACmB,KAAjBqB,EAAExB,EAAMG,MACT,EAGNoB,EAAEvB,EAAMG,KAAOqB,EAAExB,EAAMG,KAClBH,EAAMK,KAAO,EAAI,EAEtBkB,EAAEvB,EAAMG,KAAOqB,EAAExB,EAAMG,KAClBH,EAAMK,IAAM,GAAK,EAEnB,CACT,GAAE,GACJ,CAACL,EAAMG,IAAKH,EAAMK,MAiBpB,MAAO,CACLL,MAf6ByB,GAC7B,WAAM,MAAC,CACLtB,IAAKH,EAAMG,IACXE,IAAKL,EAAMK,IACXC,cAAeN,EAAMM,cACrB,GACF,CAACN,EAAMG,IAAKH,EAAMK,IAAKL,EAAMM,gBAU7BoB,QAPcD,GACd,WAAM,MAAC,CAAET,UAASA,EAAEC,YAAWA,EAAEC,YAAWA,EAAEC,KAAIA,EAAG,GACrD,CAACA,IAMDZ,WAAYP,EAAMO,WAEtB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teppen/react-ui",
3
- "version": "1.5.13",
3
+ "version": "1.5.15",
4
4
  "description": "React UI Component",
5
5
  "main": "dist/cjs/src/index.js",
6
6
  "module": "dist/esm/src/index.js",