@teppen/react-ui 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/cjs/src/table/edit/ui/base-input.js +1 -1
- package/dist/cjs/src/table/edit/ui/base-input.js.map +1 -1
- package/dist/cjs/src/table/paste/hooks.js +1 -1
- package/dist/cjs/src/table/paste/hooks.js.map +1 -1
- package/dist/cjs/src/table/table/base.js +1 -1
- package/dist/cjs/src/table/table/base.js.map +1 -1
- package/dist/esm/src/table/edit/ui/base-input.js +1 -1
- package/dist/esm/src/table/edit/ui/base-input.js.map +1 -1
- package/dist/esm/src/table/paste/hooks.js +1 -1
- package/dist/esm/src/table/paste/hooks.js.map +1 -1
- package/dist/esm/src/table/table/base.js +1 -1
- package/dist/esm/src/table/table/base.js.map +1 -1
- package/dist/index.d.ts +6 -3
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -158,7 +158,7 @@ const App = () => {
|
|
|
158
158
|
key: "id",
|
|
159
159
|
asc: true,
|
|
160
160
|
},
|
|
161
|
-
|
|
161
|
+
pagination: {
|
|
162
162
|
rowCountPerPage: 50,
|
|
163
163
|
},
|
|
164
164
|
}}
|
|
@@ -290,12 +290,14 @@ In `initialCondition`, you can set initial values for each function. This is opt
|
|
|
290
290
|
```ts
|
|
291
291
|
type TInitialCondition = {
|
|
292
292
|
sort?: { key: string; asc?: boolean };
|
|
293
|
-
|
|
293
|
+
pagination?: {
|
|
294
294
|
rowCountPerPage?: 20 | 50 | 100 | "all";
|
|
295
295
|
};
|
|
296
296
|
};
|
|
297
297
|
```
|
|
298
298
|
|
|
299
|
+
※ `pagenation` (the earlier spelling) still works but is deprecated. If both are set, `pagination` is used.
|
|
300
|
+
|
|
299
301
|
##### onClickRow
|
|
300
302
|
|
|
301
303
|
In `onClickRow`, you may define the behavior when a row is clicked. This is optional.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";"use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("../../../icon/cancel-icon.js"),r=require("../../id/provider.js");exports.CellInput=function(u){var
|
|
1
|
+
"use client";"use strict";var e=require("react/jsx-runtime"),t=require("react"),n=require("../../../icon/cancel-icon.js"),r=require("../../id/provider.js"),i=require("../../operation/event-target.js");exports.CellInput=function(u){var o,s=r.useTableIdGenerator(),a=t.useRef(null);return t.useEffect((function(){a.current&&a.current.focus()}),[a]),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:s.getEditorId(),ref:a,className:"w-full py-1 px-2 bg-white text-gray-900",type:null!==(o=u.type)&&void 0!==o?o:"text",value:u.value,onChange:u.onChange,onBlur:u.onBlur,onKeyDown:function(e){i.isComposingKey(e.nativeEvent)||("Enter"===e.key?(e.preventDefault(),e.target.blur()):"Escape"===e.key&&(e.preventDefault(),u.reset(),u.endEditing()))}}),e.jsx("button",{className:"cursor-pointer",onMouseDown:function(e){e.preventDefault(),e.stopPropagation(),setTimeout((function(){u.reset(),u.endEditing()}),300)},children:e.jsx(n.CancelIcon,{size:16})})]})};
|
|
2
2
|
//# sourceMappingURL=base-input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-input.js","sources":["../../../../../../src/table/edit/ui/base-input.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef } from \"react\";\nimport { CancelIcon } from \"../../../icon/cancel-icon\";\nimport { useTableIdGenerator } from \"../../id\";\n\nexport function CellInput(props: {\n type?: \"text\";\n value: string | number;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onBlur: (e: React.FocusEvent<HTMLInputElement>) => void;\n reset: () => void;\n endEditing: () => void;\n}) {\n const IdGenerator = useTableIdGenerator();\n const ref = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, [ref]);\n\n return (\n <div\n className={`flex justify-between gap-1 w-full items-center`}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <input\n id={IdGenerator.getEditorId()}\n ref={ref}\n className=\"w-full py-1 px-2 bg-white text-gray-900\"\n type={props.type ?? \"text\"}\n value={props.value}\n onChange={props.onChange}\n onBlur={props.onBlur}\n
|
|
1
|
+
{"version":3,"file":"base-input.js","sources":["../../../../../../src/table/edit/ui/base-input.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef } from \"react\";\nimport { CancelIcon } from \"../../../icon/cancel-icon\";\nimport { useTableIdGenerator } from \"../../id\";\nimport { isComposingKey } from \"../../operation/event-target\";\n\nexport function CellInput(props: {\n type?: \"text\";\n value: string | number;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onBlur: (e: React.FocusEvent<HTMLInputElement>) => void;\n reset: () => void;\n endEditing: () => void;\n}) {\n const IdGenerator = useTableIdGenerator();\n const ref = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, [ref]);\n\n return (\n <div\n className={`flex justify-between gap-1 w-full items-center`}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <input\n id={IdGenerator.getEditorId()}\n ref={ref}\n className=\"w-full py-1 px-2 bg-white text-gray-900\"\n type={props.type ?? \"text\"}\n value={props.value}\n onChange={props.onChange}\n onBlur={props.onBlur}\n // Handled on keydown so that keys used by an IME (e.g. Enter to\n // confirm or Escape to cancel Japanese conversion) can be told apart\n // and ignored; on keyup they look like plain Enter / Escape.\n onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isComposingKey(e.nativeEvent)) {\n return;\n }\n\n if (e.key === \"Enter\") {\n e.preventDefault();\n (e.target as HTMLInputElement).blur();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n props.reset();\n props.endEditing();\n }\n }}\n />\n <button\n className=\"cursor-pointer\"\n onMouseDown={(e) => {\n e.preventDefault();\n e.stopPropagation();\n setTimeout(() => {\n props.reset();\n props.endEditing();\n }, 300);\n }}\n >\n <CancelIcon size={16} />\n </button>\n </div>\n );\n}\n"],"names":["props","IdGenerator","useTableIdGenerator","ref","useRef","useEffect","current","focus","_jsxs","className","onClick","e","preventDefault","stopPropagation","_jsx","id","getEditorId","type","_a","value","onChange","onBlur","onKeyDown","isComposingKey","nativeEvent","key","target","blur","reset","endEditing","onMouseDown","setTimeout","children","CancelIcon","size"],"mappings":"2NAOM,SAAoBA,SAQlBC,EAAcC,EAAAA,sBACdC,EAAMC,EAAAA,OAAyB,MAQrC,OANAC,EAAAA,WAAU,WACJF,EAAIG,SACNH,EAAIG,QAAQC,OAEhB,GAAG,CAACJ,IAGFK,EAAAA,YACEC,UAAW,iDACXC,QAAS,SAACC,GACRA,EAAEC,iBACFD,EAAEE,iBACJ,YAEAC,EAAAA,IAAA,QAAA,CACEC,GAAId,EAAYe,cAChBb,IAAKA,EACLM,UAAU,0CACVQ,aAAMC,EAAAlB,EAAMiB,oBAAQ,OACpBE,MAAOnB,EAAMmB,MACbC,SAAUpB,EAAMoB,SAChBC,OAAQrB,EAAMqB,OAIdC,UAAW,SAACX,GACNY,EAAAA,eAAeZ,EAAEa,eAIP,UAAVb,EAAEc,KACJd,EAAEC,iBACDD,EAAEe,OAA4BC,QACZ,WAAVhB,EAAEc,MACXd,EAAEC,iBACFZ,EAAM4B,QACN5B,EAAM6B,cAEV,IAEFf,EAAAA,IAAA,SAAA,CACEL,UAAU,iBACVqB,YAAa,SAACnB,GACZA,EAAEC,iBACFD,EAAEE,kBACFkB,YAAW,WACT/B,EAAM4B,QACN5B,EAAM6B,YACR,GAAG,IACL,EAACG,SAEDlB,EAAAA,IAACmB,aAAU,CAACC,KAAM,SAI1B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("../../../node_modules/tslib/tslib.es6.js"),t=require("react"),r=require("../sheet/providers.js"),a=require("../range/provider.js"),n=require("./logic.js"),s=require("./parse.js"),o=require("../operation/event-target.js");exports.usePasteReducer=function(i){var u=a.useRangeActionContext().setRange,c=r.useColumnValidatesContext(),
|
|
1
|
+
"use strict";var e=require("../../../node_modules/tslib/tslib.es6.js"),t=require("react"),r=require("../sheet/providers.js"),a=require("../range/provider.js"),n=require("./logic.js"),s=require("./parse.js"),o=require("../operation/event-target.js");exports.usePasteReducer=function(i){var u=a.useRangeActionContext().setRange,c=r.useColumnValidatesContext(),d=a.useRangeStateContext(),l=t.useRef(i.rows),g=t.useRef(e.__assign(e.__assign({},i),{validators:c,range:d}));t.useEffect((function(){g.current=e.__assign(e.__assign({},i),{validators:c,range:d})}));var p=t.useCallback((function(e){l.current=e}),[]),x=t.useCallback((function(e){var t=g.current,r=t.cols,a=t.validators,s=t.range,o=t.onUpdateRowFunction,i=t.onPasteError;if(s.isSelecting&&o){var c=n.paste({pasteData:e,pasteArea:{start:{rowIndex:Math.min(s.start.rowIndex,s.end.rowIndex),colIndex:Math.min(s.start.colIndex,s.end.colIndex)},end:{rowIndex:Math.max(s.start.rowIndex,s.end.rowIndex),colIndex:Math.max(s.start.colIndex,s.end.colIndex)}},currentRows:l.current,currentCols:r,validators:a});if(c.isError){if("ValidationError"===c.type||"NoPasteData"===c.type)return;var d={type:c.type,message:c.message};i?i(d):alert(d.message)}else c.updateArgument.forEach((function(e){var t=e.newRow,r=e.oldRow;o(t,r)})),u(c.pasteRange)}}),[u]);return t.useEffect((function(){var e=function(e){var t=g.current,r=t.range,a=t.onUpdateRowFunction;r.isSelecting&&a&&(o.isTextEntryTarget(e.target)||e.clipboardData&&(e.preventDefault(),x(s.parseClipboardText(e.clipboardData.getData("Text")))))};return document.addEventListener("paste",e),function(){document.removeEventListener("paste",e)}}),[x]),t.useMemo((function(){return{setRows:p,onPaste:x}}),[p,x])};
|
|
2
2
|
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../../../src/table/paste/hooks.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { TPasteHookArguments, TPasteReducerReturn } from \"./types\";\nimport { useColumnValidatesContext } from \"../sheet/providers\";\nimport { useRangeActionContext, useRangeStateContext } from \"../range/provider\";\nimport { paste } from \"./logic\";\nimport { parseClipboardText } from \"./parse\";\nimport { isTextEntryTarget } from \"../operation/event-target\";\n\nexport function usePasteReducer(args: TPasteHookArguments): TPasteReducerReturn {\n const { setRange } = useRangeActionContext();\n const validators = useColumnValidatesContext();\n const range = useRangeStateContext();\n const rowsRef = useRef(args.rows);\n\n // Read the latest props when a paste happens, so callbacks passed in later\n // renders are the ones that get called.\n const latest = useRef({ ...args, validators, range });\n useEffect(() => {\n latest.current = { ...args, validators, range };\n });\n\n const setRows = useCallback((rows: any[]) => {\n rowsRef.current = rows;\n }, []);\n\n const onPaste = useCallback(\n (pasteData: string[][]) => {\n const { cols, validators, range, onUpdateRowFunction, onPasteError } =\n latest.current;\n\n if (!range.isSelecting || !onUpdateRowFunction) {\n return;\n }\n\n const res = paste({\n pasteData,\n pasteArea: { start: range.start, end: range.end },\n currentRows: rowsRef.current,\n currentCols: cols,\n validators,\n });\n\n if (res.isError) {\n // Validation errors are already reported by the column validators.\n if (res.type === \"ValidationError\" || res.type === \"NoPasteData\") {\n return;\n }\n\n const error = { type: res.type, message: res.message };\n if (onPasteError) {\n onPasteError(error);\n } else {\n alert(error.message);\n }\n return;\n }\n\n res.updateArgument.forEach(({ newRow, oldRow }) => {\n onUpdateRowFunction(newRow, oldRow);\n });\n setRange(res.pasteRange);\n },\n [setRange]\n );\n\n useEffect(() => {\n const listener = (e: ClipboardEvent) => {\n const { range, onUpdateRowFunction } = latest.current;\n\n if (!range.isSelecting || !onUpdateRowFunction) {\n return;\n }\n\n // Leave pastes into text fields (including the cell editor) to them.\n if (isTextEntryTarget(e.target)) {\n return;\n }\n\n if (e.clipboardData) {\n e.preventDefault();\n onPaste(parseClipboardText(e.clipboardData.getData(\"Text\")));\n }\n };\n\n document.addEventListener(\"paste\", listener);\n\n return () => {\n document.removeEventListener(\"paste\", listener);\n };\n }, [onPaste]);\n\n return useMemo(() => ({ setRows, onPaste }), [setRows, onPaste]);\n}\n"],"names":["args","setRange","useRangeActionContext","validators","useColumnValidatesContext","range","useRangeStateContext","rowsRef","useRef","rows","latest","__assign","useEffect","current","setRows","useCallback","onPaste","pasteData","_a","cols","onUpdateRowFunction","onPasteError","isSelecting","res","paste","pasteArea","start","end","currentRows","currentCols","isError","type","error","message","alert","updateArgument","forEach","newRow","oldRow","pasteRange","listener","e","isTextEntryTarget","target","clipboardData","preventDefault","parseClipboardText","getData","document","addEventListener","removeEventListener","useMemo"],"mappings":"iRAQM,SAA0BA,GACtB,IAAAC,EAAaC,EAAAA,iCACfC,EAAaC,EAAAA,4BACbC,EAAQC,EAAAA,uBACRC,EAAUC,EAAAA,OAAOR,EAAKS,MAItBC,EAASF,EAAAA,OAAMG,WAAAA,EAAAA,SAAA,CAAA,EAAMX,GAAI,CAAEG,WAAUA,EAAEE,MAAKA,KAClDO,EAAAA,WAAU,WACRF,EAAOG,QAAOF,WAAAA,EAAAA,SAAA,CAAA,EAAQX,GAAI,CAAEG,WAAUA,EAAEE,MAAKA,GAC/C,IAEA,IAAMS,EAAUC,eAAY,SAACN,GAC3BF,EAAQM,QAAUJ,CACpB,GAAG,IAEGO,EAAUD,eACd,SAACE,GACO,IAAAC,EACJR,EAAOG,QADDM,SAAMhB,eAAYE,UAAOe,wBAAqBC,iBAGtD,GAAKhB,EAAMiB,aAAgBF,EAA3B,CAIA,IAAMG,EAAMC,EAAAA,MAAM,CAChBP,UAASA,
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../../../../../src/table/paste/hooks.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { TPasteHookArguments, TPasteReducerReturn } from \"./types\";\nimport { useColumnValidatesContext } from \"../sheet/providers\";\nimport { useRangeActionContext, useRangeStateContext } from \"../range/provider\";\nimport { paste } from \"./logic\";\nimport { parseClipboardText } from \"./parse\";\nimport { isTextEntryTarget } from \"../operation/event-target\";\n\nexport function usePasteReducer(args: TPasteHookArguments): TPasteReducerReturn {\n const { setRange } = useRangeActionContext();\n const validators = useColumnValidatesContext();\n const range = useRangeStateContext();\n const rowsRef = useRef(args.rows);\n\n // Read the latest props when a paste happens, so callbacks passed in later\n // renders are the ones that get called.\n const latest = useRef({ ...args, validators, range });\n useEffect(() => {\n latest.current = { ...args, validators, range };\n });\n\n const setRows = useCallback((rows: any[]) => {\n rowsRef.current = rows;\n }, []);\n\n const onPaste = useCallback(\n (pasteData: string[][]) => {\n const { cols, validators, range, onUpdateRowFunction, onPasteError } =\n latest.current;\n\n if (!range.isSelecting || !onUpdateRowFunction) {\n return;\n }\n\n const res = paste({\n pasteData,\n // The selection may have been made bottom-up or right-to-left, so\n // paste from its top-left cell.\n pasteArea: {\n start: {\n rowIndex: Math.min(range.start.rowIndex, range.end.rowIndex),\n colIndex: Math.min(range.start.colIndex, range.end.colIndex),\n },\n end: {\n rowIndex: Math.max(range.start.rowIndex, range.end.rowIndex),\n colIndex: Math.max(range.start.colIndex, range.end.colIndex),\n },\n },\n currentRows: rowsRef.current,\n currentCols: cols,\n validators,\n });\n\n if (res.isError) {\n // Validation errors are already reported by the column validators.\n if (res.type === \"ValidationError\" || res.type === \"NoPasteData\") {\n return;\n }\n\n const error = { type: res.type, message: res.message };\n if (onPasteError) {\n onPasteError(error);\n } else {\n alert(error.message);\n }\n return;\n }\n\n res.updateArgument.forEach(({ newRow, oldRow }) => {\n onUpdateRowFunction(newRow, oldRow);\n });\n setRange(res.pasteRange);\n },\n [setRange]\n );\n\n useEffect(() => {\n const listener = (e: ClipboardEvent) => {\n const { range, onUpdateRowFunction } = latest.current;\n\n if (!range.isSelecting || !onUpdateRowFunction) {\n return;\n }\n\n // Leave pastes into text fields (including the cell editor) to them.\n if (isTextEntryTarget(e.target)) {\n return;\n }\n\n if (e.clipboardData) {\n e.preventDefault();\n onPaste(parseClipboardText(e.clipboardData.getData(\"Text\")));\n }\n };\n\n document.addEventListener(\"paste\", listener);\n\n return () => {\n document.removeEventListener(\"paste\", listener);\n };\n }, [onPaste]);\n\n return useMemo(() => ({ setRows, onPaste }), [setRows, onPaste]);\n}\n"],"names":["args","setRange","useRangeActionContext","validators","useColumnValidatesContext","range","useRangeStateContext","rowsRef","useRef","rows","latest","__assign","useEffect","current","setRows","useCallback","onPaste","pasteData","_a","cols","onUpdateRowFunction","onPasteError","isSelecting","res","paste","pasteArea","start","rowIndex","Math","min","end","colIndex","max","currentRows","currentCols","isError","type","error","message","alert","updateArgument","forEach","newRow","oldRow","pasteRange","listener","e","isTextEntryTarget","target","clipboardData","preventDefault","parseClipboardText","getData","document","addEventListener","removeEventListener","useMemo"],"mappings":"iRAQM,SAA0BA,GACtB,IAAAC,EAAaC,EAAAA,iCACfC,EAAaC,EAAAA,4BACbC,EAAQC,EAAAA,uBACRC,EAAUC,EAAAA,OAAOR,EAAKS,MAItBC,EAASF,EAAAA,OAAMG,WAAAA,EAAAA,SAAA,CAAA,EAAMX,GAAI,CAAEG,WAAUA,EAAEE,MAAKA,KAClDO,EAAAA,WAAU,WACRF,EAAOG,QAAOF,WAAAA,EAAAA,SAAA,CAAA,EAAQX,GAAI,CAAEG,WAAUA,EAAEE,MAAKA,GAC/C,IAEA,IAAMS,EAAUC,eAAY,SAACN,GAC3BF,EAAQM,QAAUJ,CACpB,GAAG,IAEGO,EAAUD,eACd,SAACE,GACO,IAAAC,EACJR,EAAOG,QADDM,SAAMhB,eAAYE,UAAOe,wBAAqBC,iBAGtD,GAAKhB,EAAMiB,aAAgBF,EAA3B,CAIA,IAAMG,EAAMC,EAAAA,MAAM,CAChBP,UAASA,EAGTQ,UAAW,CACTC,MAAO,CACLC,SAAUC,KAAKC,IAAIxB,EAAMqB,MAAMC,SAAUtB,EAAMyB,IAAIH,UACnDI,SAAUH,KAAKC,IAAIxB,EAAMqB,MAAMK,SAAU1B,EAAMyB,IAAIC,WAErDD,IAAK,CACHH,SAAUC,KAAKI,IAAI3B,EAAMqB,MAAMC,SAAUtB,EAAMyB,IAAIH,UACnDI,SAAUH,KAAKI,IAAI3B,EAAMqB,MAAMK,SAAU1B,EAAMyB,IAAIC,YAGvDE,YAAa1B,EAAQM,QACrBqB,YAAaf,EACbhB,WAAUA,IAGZ,GAAIoB,EAAIY,QAAR,CAEE,GAAiB,oBAAbZ,EAAIa,MAA2C,gBAAbb,EAAIa,KACxC,OAGF,IAAMC,EAAQ,CAAED,KAAMb,EAAIa,KAAME,QAASf,EAAIe,SACzCjB,EACFA,EAAagB,GAEbE,MAAMF,EAAMC,QAGhB,MAEAf,EAAIiB,eAAeC,SAAQ,SAACvB,OAAEwB,EAAMxB,EAAAwB,OAAEC,EAAMzB,EAAAyB,OAC1CvB,EAAoBsB,EAAQC,EAC9B,IACA1C,EAASsB,EAAIqB,WAvCb,CAwCF,GACA,CAAC3C,IA6BH,OA1BAW,EAAAA,WAAU,WACR,IAAMiC,EAAW,SAACC,GACV,IAAA5B,EAAiCR,EAAOG,QAAtCR,EAAKa,EAAAb,MAAEe,EAAmBF,EAAAE,oBAE7Bf,EAAMiB,aAAgBF,IAKvB2B,EAAAA,kBAAkBD,EAAEE,SAIpBF,EAAEG,gBACJH,EAAEI,iBACFlC,EAAQmC,EAAAA,mBAAmBL,EAAEG,cAAcG,QAAQ,WAEvD,EAIA,OAFAC,SAASC,iBAAiB,QAAST,GAE5B,WACLQ,SAASE,oBAAoB,QAASV,EACxC,CACF,GAAG,CAAC7B,IAEGwC,EAAAA,SAAQ,WAAM,OAAG1C,QAAOA,EAAEE,QAAOA,EAAnB,GAAwB,CAACF,EAASE,GACzD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";"use strict";var e=require("../../../node_modules/tslib/tslib.es6.js"),r=require("react/jsx-runtime"),o=require("./hook.js"),i=require("../header/header.js"),s=require("../pagenation/providers.js"),
|
|
1
|
+
"use client";"use strict";var e=require("../../../node_modules/tslib/tslib.es6.js"),r=require("react/jsx-runtime"),o=require("./hook.js"),i=require("../header/header.js"),s=require("../pagenation/providers.js"),n=require("../pagenation/components.js");require("../filter-v2/context.js");var t=require("../filter-v2/provider.js");require("../sort/icon.js");var d=require("../sort/provider.js"),a=require("../sheet/providers.js"),l=require("../checkbox/provider.js"),c=require("../edit/provider.js"),x=require("../table-property/provider.js"),j=require("../operation/components/keyboard-setting.js"),u=require("../sheet/components.js"),h=require("../paste/provider.js"),p=require("../libs/conditional-formatting.js"),v=require("../edit/ui/editor.js"),m=require("../range/provider.js"),g=require("../copy/provider.js"),b=require("../copy/components.js"),q=require("../id/provider.js"),w=require("../header/header-v2.js");require("../header/columns-width/context.js");var P=require("../header/columns-width/provider.js");require("../header/x-scroll-position/context.js");var C=require("../header/x-scroll-position/provider.js"),k=require("../frame/frame.js"),y=require("./component-provider/provider.js"),S=require("../../select-box/provider.js");function f(e){var s=o.useTable(e),t=s.cols,d=s.rowMaps,a=s.pageRowIds,l=q.useTableIdGenerator(),c=y.useGenerateSortButton();return r.jsxs("div",{className:"w-full max-w-full max-h-full",children:[r.jsxs("div",{children:[r.jsx(w.TableHeader,{cols:t,checkbox:!!e.checkbox,rows:e.rows,maxWidth:e.maxWidth,generateSortButton:c}),r.jsx(P.ColumnsWidthStyle,{scopeId:l.getTableId()}),r.jsx(S.SelectBoxProvider,{children:r.jsxs(k.Frame,{id:l.getTableId(),maxHeight:e.maxHeight,maxWidth:e.maxWidth,displayScroll:!1,children:[r.jsxs("table",{className:"table",children:[r.jsx("thead",{children:r.jsxs("tr",{children:[e.checkbox&&r.jsx("th",{className:"p-px"}),t.map((function(e){return r.jsx(i.TableHeaderElement,{keyname:e.key.toString()},e.key.toString())}))]})}),r.jsxs("tbody",{children:[0===a.length&&r.jsx("tr",{children:r.jsx("td",{colSpan:t.length+(e.checkbox?1:0),className:"px-px py-5",children:r.jsx("p",{className:"text-center font-bold text-lg",children:"NO DATA"})})}),a.map((function(o,i){return r.jsx(u.Row,{existCheckbox:!!e.checkbox,rowIndex:i,row:d[o].data,cols:e.cols,onClickRow:e.onClickRow,applyRowFormatting:e.applyRowFormatting,conditionalFormattingString:p.generateFormattingString(d[o].data,t,e.conditionalFormattings)},o)}))]})]}),r.jsx(m.TestRange,{}),r.jsx(v.Editor,{rowMaps:d,pageRowIds:a})]})})]}),r.jsxs("div",{className:"mt-1",children:[r.jsx(n.DisplayRange,{}),r.jsx("div",{className:"mt-2",children:r.jsx(n.Pagenation,{})})]})]})}module.exports=function(o){var i,n,u,p,v,w;return r.jsx(y.ComponentProvider,{children:r.jsx(q.TableIdGeneratorProvider,{id:o.id,children:r.jsx(P.ColumnsWidthProvider,{cols:o.cols,children:r.jsx(t.FilterProvider,{initialConditions:[],children:r.jsx(d.SortProvider,{initialCondition:null===(i=o.initialCondition)||void 0===i?void 0:i.sort,children:r.jsx(s.PagenationProvider,{rowCount:o.rows.length,perPage:null===(v=null!==(u=null===(n=o.initialCondition)||void 0===n?void 0:n.pagination)&&void 0!==u?u:null===(p=o.initialCondition)||void 0===p?void 0:p.pagenation)||void 0===v?void 0:v.rowCountPerPage,children:r.jsx(l.CheckboxProvider,{checkbox:o.checkbox,children:r.jsx(l.CheckboxStatusProvider,{checkboxCount:o.rows.length,children:r.jsx(a.ColumnsProvider,{cols:o.cols,errorHandler:o.errorHandler,children:r.jsx(c.EditProvider,{children:r.jsx(x.TablePropertyProvider,{children:r.jsx(m.RangeProvider,{children:r.jsxs(g.CopyProvider,{rows:o.rows,cols:o.cols,children:[r.jsx(b.CopiedMessage,{}),r.jsxs(h.PasteProvider,{rows:o.rows,cols:o.cols,onUpdateRowFunction:o.onUpdateRow,onPasteError:o.onPasteError,children:[r.jsx(j.KeyboardSetting,{enableDeprecatedCopy:null===(w=o.deprecatedOptions)||void 0===w?void 0:w.enableDeprecatedCopy}),r.jsx(C.ScrollXPositionProvider,{children:r.jsx(f,e.__assign({},o))})]})]})})})})})})})})})})})})})};
|
|
2
2
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sources":["../../../../../src/table/table/base.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTable } from \"./hook\";\nimport { TableHeaderElement } from \"../header/header\";\nimport {\n DataRecord,\n TConditionalFormatting,\n TPropsTable,\n TTableColumn,\n} from \"./type\";\nimport { PagenationProvider, DisplayRange, Pagenation } from \"../pagenation\";\nimport { FilterProvider } from \"../filter-v2\";\nimport { SortProvider } from \"../sort\";\nimport { ColumnsProvider } from \"../sheet/providers\";\nimport { CheckboxProvider, CheckboxStatusProvider } from \"../checkbox/provider\";\nimport { EditProvider } from \"../edit/provider\";\nimport { TablePropertyProvider } from \"../table-property/provider\";\nimport { KeyboardSetting } from \"../operation/components/keyboard-setting\";\nimport { Row } from \"../sheet/components\";\nimport { PasteProvider } from \"../paste/provider\";\nimport { generateFormattingString } from \"../libs/conditional-formatting\";\nimport { Editor } from \"../edit/ui/editor\";\nimport { RangeProvider, TestRange } from \"../range/provider\";\nimport { CopyProvider } from \"../copy/provider\";\nimport { CopiedMessage } from \"../copy/components\";\nimport { TableIdGeneratorProvider, useTableIdGenerator } from \"../id\";\nimport { TableHeader } from \"../header/header-v2\";\nimport {\n ColumnsWidthProvider,\n ColumnsWidthStyle,\n ScrollXPositionProvider,\n} from \"../header\";\nimport { Frame } from \"../frame\";\nimport { ComponentProvider } from \"./component-provider\";\nimport { useGenerateSortButton } from \"./component-provider/provider\";\nimport { SelectBoxProvider } from \"../../select-box/provider\";\n\nexport default function Table<T extends DataRecord>(props: TPropsTable<T>) {\n return (\n <ComponentProvider>\n <TableIdGeneratorProvider id={props.id}>\n <ColumnsWidthProvider cols={props.cols as TTableColumn<DataRecord>[]}>\n <FilterProvider initialConditions={[]}>\n <SortProvider initialCondition={props.initialCondition?.sort}>\n <PagenationProvider\n rowCount={props.rows.length}\n perPage={props.initialCondition?.pagenation?.rowCountPerPage}\n >\n <CheckboxProvider checkbox={props.checkbox}>\n <CheckboxStatusProvider checkboxCount={props.rows.length}>\n <ColumnsProvider\n cols={props.cols}\n errorHandler={props.errorHandler}\n >\n <EditProvider>\n <TablePropertyProvider>\n <RangeProvider>\n <CopyProvider rows={props.rows} cols={props.cols}>\n <CopiedMessage />\n <PasteProvider\n rows={props.rows}\n cols={props.cols}\n onUpdateRowFunction={props.onUpdateRow}\n onPasteError={props.onPasteError}\n >\n <KeyboardSetting\n enableDeprecatedCopy={\n props.deprecatedOptions\n ?.enableDeprecatedCopy\n }\n />\n <ScrollXPositionProvider>\n <BaseTable {...props} />\n </ScrollXPositionProvider>\n </PasteProvider>\n </CopyProvider>\n </RangeProvider>\n </TablePropertyProvider>\n </EditProvider>\n </ColumnsProvider>\n </CheckboxStatusProvider>\n </CheckboxProvider>\n </PagenationProvider>\n </SortProvider>\n </FilterProvider>\n </ColumnsWidthProvider>\n </TableIdGeneratorProvider>\n </ComponentProvider>\n );\n}\n\nfunction BaseTable<T extends DataRecord>(props: TPropsTable<T>) {\n const { cols, rowMaps, pageRowIds } = useTable<T>(props);\n const IdGenerator = useTableIdGenerator();\n const generateSortButton = useGenerateSortButton();\n\n return (\n <div className=\"w-full max-w-full max-h-full\">\n <div>\n <TableHeader\n cols={cols}\n checkbox={!!props.checkbox}\n rows={props.rows}\n maxWidth={props.maxWidth}\n generateSortButton={generateSortButton}\n />\n\n <ColumnsWidthStyle scopeId={IdGenerator.getTableId()} />\n <SelectBoxProvider>\n <Frame\n id={IdGenerator.getTableId()}\n maxHeight={props.maxHeight}\n maxWidth={props.maxWidth}\n displayScroll={false}\n >\n <table className={`table`}>\n <thead>\n <tr>\n {props.checkbox && <th className=\"p-px\"></th>}\n {cols.map((col) => (\n <TableHeaderElement\n key={col.key.toString()}\n keyname={col.key.toString()}\n />\n ))}\n </tr>\n </thead>\n <tbody>\n {pageRowIds.length === 0 && (\n <tr>\n <td\n colSpan={cols.length + (props.checkbox ? 1 : 0)}\n className=\"px-px py-5\"\n >\n <p className=\"text-center font-bold text-lg\">NO DATA</p>\n </td>\n </tr>\n )}\n {pageRowIds.map((rowId, i) => (\n <Row\n key={rowId}\n existCheckbox={!!props.checkbox}\n rowIndex={i}\n row={rowMaps[rowId].data}\n cols={props.cols as TTableColumn<DataRecord>[]}\n onClickRow={props.onClickRow}\n applyRowFormatting={props.applyRowFormatting}\n conditionalFormattingString={generateFormattingString(\n rowMaps[rowId].data,\n cols as TTableColumn<DataRecord>[],\n props.conditionalFormattings as TConditionalFormatting<DataRecord>[]\n )}\n />\n ))}\n </tbody>\n </table>\n <TestRange />\n <Editor rowMaps={rowMaps} pageRowIds={pageRowIds} />\n </Frame>\n </SelectBoxProvider>\n </div>\n <div className=\"mt-1\">\n <DisplayRange />\n <div className=\"mt-2\">\n <Pagenation />\n </div>\n </div>\n </div>\n );\n}\n"],"names":["BaseTable","props","_a","useTable","cols","rowMaps","pageRowIds","IdGenerator","useTableIdGenerator","generateSortButton","useGenerateSortButton","_jsxs","className","children","_jsx","TableHeader","checkbox","rows","maxWidth","ColumnsWidthStyle","scopeId","getTableId","SelectBoxProvider","Frame","id","maxHeight","displayScroll","map","col","TableHeaderElement","keyname","key","toString","length","colSpan","rowId","i","Row","existCheckbox","rowIndex","row","data","onClickRow","applyRowFormatting","conditionalFormattingString","generateFormattingString","conditionalFormattings","TestRange","Editor","DisplayRange","Pagenation","ComponentProvider","TableIdGeneratorProvider","ColumnsWidthProvider","FilterProvider","initialConditions","SortProvider","initialCondition","sort","PagenationProvider","rowCount","perPage","_c","_b","pagenation","rowCountPerPage","CheckboxProvider","CheckboxStatusProvider","checkboxCount","ColumnsProvider","errorHandler","EditProvider","TablePropertyProvider","RangeProvider","CopyProvider","CopiedMessage","PasteProvider","onUpdateRowFunction","onUpdateRow","onPasteError","KeyboardSetting","enableDeprecatedCopy","deprecatedOptions","_d","ScrollXPositionProvider","__assign"],"mappings":"2tCA2FA,SAASA,EAAgCC,GACjC,IAAAC,EAAgCC,EAAAA,SAAYF,GAA1CG,EAAIF,EAAAE,KAAEC,EAAOH,EAAAG,QAAEC,eACjBC,EAAcC,EAAAA,sBACdC,EAAqBC,EAAAA,wBAE3B,OACEC,OAAA,MAAA,CAAKC,UAAU,+BAA8BC,SAAA,CAC3CF,EAAAA,KAAA,MAAA,CAAAE,SAAA,CACEC,EAAAA,IAACC,EAAAA,YAAW,CACVX,KAAMA,EACNY,WAAYf,EAAMe,SAClBC,KAAMhB,EAAMgB,KACZC,SAAUjB,EAAMiB,SAChBT,mBAAoBA,IAGtBK,MAACK,EAAAA,mBAAkBC,QAASb,EAAYc,eACxCP,EAAAA,IAACQ,EAAAA,kBAAiB,CAAAT,SAChBF,EAAAA,KAACY,QAAK,CACJC,GAAIjB,EAAYc,aAChBI,UAAWxB,EAAMwB,UACjBP,SAAUjB,EAAMiB,SAChBQ,eAAe,YAEff,EAAAA,KAAA,QAAA,CAAOC,UAAW,QAAOC,SAAA,CACvBC,EAAAA,IAAA,QAAA,CAAAD,SACEF,EAAAA,KAAA,KAAA,CAAAE,SAAA,CACGZ,EAAMe,UAAYF,EAAAA,IAAA,KAAA,CAAIF,UAAU,SAChCR,EAAKuB,KAAI,SAACC,GAAQ,OACjBd,MAACe,EAAAA,mBAAkB,CAEjBC,QAASF,EAAIG,IAAIC,YADZJ,EAAIG,IAAIC,WAFE,SAQvBrB,EAAAA,KAAA,QAAA,CAAAE,SAAA,CACyB,IAAtBP,EAAW2B,QACVnB,EAAAA,mBACEA,MAAA,KAAA,CACEoB,QAAS9B,EAAK6B,QAAUhC,EAAMe,SAAW,EAAI,GAC7CJ,UAAU,aAAYC,SAEtBC,MAAA,IAAA,CAAGF,UAAU,gCAA+BC,SAAA,gBAIjDP,EAAWqB,KAAI,SAACQ,EAAOC,GAAM,OAC5BtB,EAAAA,IAACuB,EAAAA,IAAG,CAEFC,gBAAiBrC,EAAMe,SACvBuB,SAAUH,EACVI,IAAKnC,EAAQ8B,GAAOM,KACpBrC,KAAMH,EAAMG,KACZsC,WAAYzC,EAAMyC,WAClBC,mBAAoB1C,EAAM0C,mBAC1BC,4BAA6BC,EAAAA,yBAC3BxC,EAAQ8B,GAAOM,KACfrC,EACAH,EAAM6C,yBAVHX,EAFqB,UAkBlCrB,EAAAA,IAACiC,EAAAA,UAAS,CAAA,GACVjC,EAAAA,IAACkC,EAAAA,OAAM,CAAC3C,QAASA,EAASC,WAAYA,YAI5CK,EAAAA,KAAA,MAAA,CAAKC,UAAU,OAAMC,SAAA,CACnBC,EAAAA,IAACmC,EAAAA,aAAY,CAAA,GACbnC,EAAAA,IAAA,MAAA,CAAKF,UAAU,OAAMC,SACnBC,EAAAA,IAACoC,EAAAA,WAAU,CAAA,UAKrB,gBApIc,SAAsCjD,eAClD,OACEa,EAAAA,IAACqC,EAAAA,kBAAiB,CAAAtC,SAChBC,EAAAA,IAACsC,2BAAwB,CAAC5B,GAAIvB,EAAMuB,GAAEX,SACpCC,EAAAA,IAACuC,EAAAA,qBAAoB,CAACjD,KAAMH,EAAMG,KAAkCS,SAClEC,EAAAA,IAACwC,iBAAc,CAACC,kBAAmB,YACjCzC,EAAAA,IAAC0C,EAAAA,cAAaC,iBAAwC,UAAtBxD,EAAMwD,wBAAgB,IAAAvD,OAAA,EAAAA,EAAEwD,cACtD5C,EAAAA,IAAC6C,sBACCC,SAAU3D,EAAMgB,KAAKgB,OACrB4B,gBAASC,EAAsB,UAAtB7D,EAAMwD,wBAAgB,IAAAM,OAAA,EAAAA,EAAEC,iCAAYC,gBAAepD,SAE5DC,MAACoD,EAAAA,iBAAgB,CAAClD,SAAUf,EAAMe,SAAQH,SACxCC,MAACqD,EAAAA,uBAAsB,CAACC,cAAenE,EAAMgB,KAAKgB,OAAMpB,SACtDC,EAAAA,IAACuD,EAAAA,gBAAe,CACdjE,KAAMH,EAAMG,KACZkE,aAAcrE,EAAMqE,sBAEpBxD,MAACyD,EAAAA,uBACCzD,EAAAA,IAAC0D,EAAAA,gCACC1D,EAAAA,IAAC2D,EAAAA,wBACC9D,EAAAA,KAAC+D,EAAAA,cAAazD,KAAMhB,EAAMgB,KAAMb,KAAMH,EAAMG,eAC1CU,MAAC6D,EAAAA,kBACDhE,EAAAA,KAACiE,EAAAA,cAAa,CACZ3D,KAAMhB,EAAMgB,KACZb,KAAMH,EAAMG,KACZyE,oBAAqB5E,EAAM6E,YAC3BC,aAAc9E,EAAM8E,uBAEpBjE,EAAAA,IAACkE,EAAAA,iBACCC,qBACyB,UAAvBhF,EAAMiF,yBAAiB,IAAAC,OAAA,EAAAA,EACnBF,uBAGRnE,MAACsE,EAAAA,wBAAuB,CAAAvE,SACtBC,EAAAA,IAACd,EAASqF,WAAA,CAAA,EAAKpF,mCAiBjD"}
|
|
1
|
+
{"version":3,"file":"base.js","sources":["../../../../../src/table/table/base.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTable } from \"./hook\";\nimport { TableHeaderElement } from \"../header/header\";\nimport {\n DataRecord,\n TConditionalFormatting,\n TPropsTable,\n TTableColumn,\n} from \"./type\";\nimport { PagenationProvider, DisplayRange, Pagenation } from \"../pagenation\";\nimport { FilterProvider } from \"../filter-v2\";\nimport { SortProvider } from \"../sort\";\nimport { ColumnsProvider } from \"../sheet/providers\";\nimport { CheckboxProvider, CheckboxStatusProvider } from \"../checkbox/provider\";\nimport { EditProvider } from \"../edit/provider\";\nimport { TablePropertyProvider } from \"../table-property/provider\";\nimport { KeyboardSetting } from \"../operation/components/keyboard-setting\";\nimport { Row } from \"../sheet/components\";\nimport { PasteProvider } from \"../paste/provider\";\nimport { generateFormattingString } from \"../libs/conditional-formatting\";\nimport { Editor } from \"../edit/ui/editor\";\nimport { RangeProvider, TestRange } from \"../range/provider\";\nimport { CopyProvider } from \"../copy/provider\";\nimport { CopiedMessage } from \"../copy/components\";\nimport { TableIdGeneratorProvider, useTableIdGenerator } from \"../id\";\nimport { TableHeader } from \"../header/header-v2\";\nimport {\n ColumnsWidthProvider,\n ColumnsWidthStyle,\n ScrollXPositionProvider,\n} from \"../header\";\nimport { Frame } from \"../frame\";\nimport { ComponentProvider } from \"./component-provider\";\nimport { useGenerateSortButton } from \"./component-provider/provider\";\nimport { SelectBoxProvider } from \"../../select-box/provider\";\n\nexport default function Table<T extends DataRecord>(props: TPropsTable<T>) {\n return (\n <ComponentProvider>\n <TableIdGeneratorProvider id={props.id}>\n <ColumnsWidthProvider cols={props.cols as TTableColumn<DataRecord>[]}>\n <FilterProvider initialConditions={[]}>\n <SortProvider initialCondition={props.initialCondition?.sort}>\n <PagenationProvider\n rowCount={props.rows.length}\n perPage={\n (\n props.initialCondition?.pagination ??\n props.initialCondition?.pagenation\n )?.rowCountPerPage\n }\n >\n <CheckboxProvider checkbox={props.checkbox}>\n <CheckboxStatusProvider checkboxCount={props.rows.length}>\n <ColumnsProvider\n cols={props.cols}\n errorHandler={props.errorHandler}\n >\n <EditProvider>\n <TablePropertyProvider>\n <RangeProvider>\n <CopyProvider rows={props.rows} cols={props.cols}>\n <CopiedMessage />\n <PasteProvider\n rows={props.rows}\n cols={props.cols}\n onUpdateRowFunction={props.onUpdateRow}\n onPasteError={props.onPasteError}\n >\n <KeyboardSetting\n enableDeprecatedCopy={\n props.deprecatedOptions\n ?.enableDeprecatedCopy\n }\n />\n <ScrollXPositionProvider>\n <BaseTable {...props} />\n </ScrollXPositionProvider>\n </PasteProvider>\n </CopyProvider>\n </RangeProvider>\n </TablePropertyProvider>\n </EditProvider>\n </ColumnsProvider>\n </CheckboxStatusProvider>\n </CheckboxProvider>\n </PagenationProvider>\n </SortProvider>\n </FilterProvider>\n </ColumnsWidthProvider>\n </TableIdGeneratorProvider>\n </ComponentProvider>\n );\n}\n\nfunction BaseTable<T extends DataRecord>(props: TPropsTable<T>) {\n const { cols, rowMaps, pageRowIds } = useTable<T>(props);\n const IdGenerator = useTableIdGenerator();\n const generateSortButton = useGenerateSortButton();\n\n return (\n <div className=\"w-full max-w-full max-h-full\">\n <div>\n <TableHeader\n cols={cols}\n checkbox={!!props.checkbox}\n rows={props.rows}\n maxWidth={props.maxWidth}\n generateSortButton={generateSortButton}\n />\n\n <ColumnsWidthStyle scopeId={IdGenerator.getTableId()} />\n <SelectBoxProvider>\n <Frame\n id={IdGenerator.getTableId()}\n maxHeight={props.maxHeight}\n maxWidth={props.maxWidth}\n displayScroll={false}\n >\n <table className={`table`}>\n <thead>\n <tr>\n {props.checkbox && <th className=\"p-px\"></th>}\n {cols.map((col) => (\n <TableHeaderElement\n key={col.key.toString()}\n keyname={col.key.toString()}\n />\n ))}\n </tr>\n </thead>\n <tbody>\n {pageRowIds.length === 0 && (\n <tr>\n <td\n colSpan={cols.length + (props.checkbox ? 1 : 0)}\n className=\"px-px py-5\"\n >\n <p className=\"text-center font-bold text-lg\">NO DATA</p>\n </td>\n </tr>\n )}\n {pageRowIds.map((rowId, i) => (\n <Row\n key={rowId}\n existCheckbox={!!props.checkbox}\n rowIndex={i}\n row={rowMaps[rowId].data}\n cols={props.cols as TTableColumn<DataRecord>[]}\n onClickRow={props.onClickRow}\n applyRowFormatting={props.applyRowFormatting}\n conditionalFormattingString={generateFormattingString(\n rowMaps[rowId].data,\n cols as TTableColumn<DataRecord>[],\n props.conditionalFormattings as TConditionalFormatting<DataRecord>[]\n )}\n />\n ))}\n </tbody>\n </table>\n <TestRange />\n <Editor rowMaps={rowMaps} pageRowIds={pageRowIds} />\n </Frame>\n </SelectBoxProvider>\n </div>\n <div className=\"mt-1\">\n <DisplayRange />\n <div className=\"mt-2\">\n <Pagenation />\n </div>\n </div>\n </div>\n );\n}\n"],"names":["BaseTable","props","_a","useTable","cols","rowMaps","pageRowIds","IdGenerator","useTableIdGenerator","generateSortButton","useGenerateSortButton","_jsxs","className","children","_jsx","TableHeader","checkbox","rows","maxWidth","ColumnsWidthStyle","scopeId","getTableId","SelectBoxProvider","Frame","id","maxHeight","displayScroll","map","col","TableHeaderElement","keyname","key","toString","length","colSpan","rowId","i","Row","existCheckbox","rowIndex","row","data","onClickRow","applyRowFormatting","conditionalFormattingString","generateFormattingString","conditionalFormattings","TestRange","Editor","DisplayRange","Pagenation","ComponentProvider","TableIdGeneratorProvider","ColumnsWidthProvider","FilterProvider","initialConditions","SortProvider","initialCondition","sort","PagenationProvider","rowCount","perPage","_e","_c","_b","pagination","_d","pagenation","rowCountPerPage","CheckboxProvider","CheckboxStatusProvider","checkboxCount","ColumnsProvider","errorHandler","EditProvider","TablePropertyProvider","RangeProvider","CopyProvider","CopiedMessage","PasteProvider","onUpdateRowFunction","onUpdateRow","onPasteError","KeyboardSetting","enableDeprecatedCopy","_f","deprecatedOptions","ScrollXPositionProvider","__assign"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";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";import{useTableIdGenerator as i}from"../../id/provider.js";function
|
|
1
|
+
"use client";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";import{useTableIdGenerator as i}from"../../id/provider.js";import{isComposingKey as u}from"../../operation/event-target.js";function a(a){var l,c=i(),p=n(null);return r((function(){p.current&&p.current.focus()}),[p]),e("div",{className:"flex justify-between gap-1 w-full items-center",onClick:function(e){e.preventDefault(),e.stopPropagation()},children:[t("input",{id:c.getEditorId(),ref:p,className:"w-full py-1 px-2 bg-white text-gray-900",type:null!==(l=a.type)&&void 0!==l?l:"text",value:a.value,onChange:a.onChange,onBlur:a.onBlur,onKeyDown:function(e){u(e.nativeEvent)||("Enter"===e.key?(e.preventDefault(),e.target.blur()):"Escape"===e.key&&(e.preventDefault(),a.reset(),a.endEditing()))}}),t("button",{className:"cursor-pointer",onMouseDown:function(e){e.preventDefault(),e.stopPropagation(),setTimeout((function(){a.reset(),a.endEditing()}),300)},children:t(o,{size:16})})]})}export{a as CellInput};
|
|
2
2
|
//# sourceMappingURL=base-input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-input.js","sources":["../../../../../../src/table/edit/ui/base-input.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef } from \"react\";\nimport { CancelIcon } from \"../../../icon/cancel-icon\";\nimport { useTableIdGenerator } from \"../../id\";\n\nexport function CellInput(props: {\n type?: \"text\";\n value: string | number;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onBlur: (e: React.FocusEvent<HTMLInputElement>) => void;\n reset: () => void;\n endEditing: () => void;\n}) {\n const IdGenerator = useTableIdGenerator();\n const ref = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, [ref]);\n\n return (\n <div\n className={`flex justify-between gap-1 w-full items-center`}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <input\n id={IdGenerator.getEditorId()}\n ref={ref}\n className=\"w-full py-1 px-2 bg-white text-gray-900\"\n type={props.type ?? \"text\"}\n value={props.value}\n onChange={props.onChange}\n onBlur={props.onBlur}\n
|
|
1
|
+
{"version":3,"file":"base-input.js","sources":["../../../../../../src/table/edit/ui/base-input.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useRef } from \"react\";\nimport { CancelIcon } from \"../../../icon/cancel-icon\";\nimport { useTableIdGenerator } from \"../../id\";\nimport { isComposingKey } from \"../../operation/event-target\";\n\nexport function CellInput(props: {\n type?: \"text\";\n value: string | number;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onBlur: (e: React.FocusEvent<HTMLInputElement>) => void;\n reset: () => void;\n endEditing: () => void;\n}) {\n const IdGenerator = useTableIdGenerator();\n const ref = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (ref.current) {\n ref.current.focus();\n }\n }, [ref]);\n\n return (\n <div\n className={`flex justify-between gap-1 w-full items-center`}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n }}\n >\n <input\n id={IdGenerator.getEditorId()}\n ref={ref}\n className=\"w-full py-1 px-2 bg-white text-gray-900\"\n type={props.type ?? \"text\"}\n value={props.value}\n onChange={props.onChange}\n onBlur={props.onBlur}\n // Handled on keydown so that keys used by an IME (e.g. Enter to\n // confirm or Escape to cancel Japanese conversion) can be told apart\n // and ignored; on keyup they look like plain Enter / Escape.\n onKeyDown={(e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isComposingKey(e.nativeEvent)) {\n return;\n }\n\n if (e.key === \"Enter\") {\n e.preventDefault();\n (e.target as HTMLInputElement).blur();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\n props.reset();\n props.endEditing();\n }\n }}\n />\n <button\n className=\"cursor-pointer\"\n onMouseDown={(e) => {\n e.preventDefault();\n e.stopPropagation();\n setTimeout(() => {\n props.reset();\n props.endEditing();\n }, 300);\n }}\n >\n <CancelIcon size={16} />\n </button>\n </div>\n );\n}\n"],"names":["CellInput","props","IdGenerator","useTableIdGenerator","ref","useRef","useEffect","current","focus","_jsxs","className","onClick","e","preventDefault","stopPropagation","_jsx","id","getEditorId","type","_a","value","onChange","onBlur","onKeyDown","isComposingKey","nativeEvent","key","target","blur","reset","endEditing","onMouseDown","setTimeout","children","CancelIcon","size"],"mappings":"mSAOM,SAAUA,EAAUC,SAQlBC,EAAcC,IACdC,EAAMC,EAAyB,MAQrC,OANAC,GAAU,WACJF,EAAIG,SACNH,EAAIG,QAAQC,OAEhB,GAAG,CAACJ,IAGFK,SACEC,UAAW,iDACXC,QAAS,SAACC,GACRA,EAAEC,iBACFD,EAAEE,iBACJ,YAEAC,EAAA,QAAA,CACEC,GAAId,EAAYe,cAChBb,IAAKA,EACLM,UAAU,0CACVQ,aAAMC,EAAAlB,EAAMiB,oBAAQ,OACpBE,MAAOnB,EAAMmB,MACbC,SAAUpB,EAAMoB,SAChBC,OAAQrB,EAAMqB,OAIdC,UAAW,SAACX,GACNY,EAAeZ,EAAEa,eAIP,UAAVb,EAAEc,KACJd,EAAEC,iBACDD,EAAEe,OAA4BC,QACZ,WAAVhB,EAAEc,MACXd,EAAEC,iBACFZ,EAAM4B,QACN5B,EAAM6B,cAEV,IAEFf,EAAA,SAAA,CACEL,UAAU,iBACVqB,YAAa,SAACnB,GACZA,EAAEC,iBACFD,EAAEE,kBACFkB,YAAW,WACT/B,EAAM4B,QACN5B,EAAM6B,YACR,GAAG,IACL,EAACG,SAEDlB,EAACmB,EAAU,CAACC,KAAM,SAI1B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__assign as
|
|
1
|
+
import{__assign as e}from"../../../node_modules/tslib/tslib.es6.js";import{useRef as t,useEffect as r,useCallback as n,useMemo as o}from"react";import{useColumnValidatesContext as a}from"../sheet/providers.js";import{useRangeActionContext as s,useRangeStateContext as i}from"../range/provider.js";import{paste as d}from"./logic.js";import{parseClipboardText as c}from"./parse.js";import{isTextEntryTarget as u}from"../operation/event-target.js";function p(p){var m=s().setRange,l=a(),f=i(),v=t(p.rows),g=t(e(e({},p),{validators:l,range:f}));r((function(){g.current=e(e({},p),{validators:l,range:f})}));var x=n((function(e){v.current=e}),[]),w=n((function(e){var t=g.current,r=t.cols,n=t.validators,o=t.range,a=t.onUpdateRowFunction,s=t.onPasteError;if(o.isSelecting&&a){var i=d({pasteData:e,pasteArea:{start:{rowIndex:Math.min(o.start.rowIndex,o.end.rowIndex),colIndex:Math.min(o.start.colIndex,o.end.colIndex)},end:{rowIndex:Math.max(o.start.rowIndex,o.end.rowIndex),colIndex:Math.max(o.start.colIndex,o.end.colIndex)}},currentRows:v.current,currentCols:r,validators:n});if(i.isError){if("ValidationError"===i.type||"NoPasteData"===i.type)return;var c={type:i.type,message:i.message};s?s(c):alert(c.message)}else i.updateArgument.forEach((function(e){var t=e.newRow,r=e.oldRow;a(t,r)})),m(i.pasteRange)}}),[m]);return r((function(){var e=function(e){var t=g.current,r=t.range,n=t.onUpdateRowFunction;r.isSelecting&&n&&(u(e.target)||e.clipboardData&&(e.preventDefault(),w(c(e.clipboardData.getData("Text")))))};return document.addEventListener("paste",e),function(){document.removeEventListener("paste",e)}}),[w]),o((function(){return{setRows:x,onPaste:w}}),[x,w])}export{p as usePasteReducer};
|
|
2
2
|
//# sourceMappingURL=hooks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sources":["../../../../../src/table/paste/hooks.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { TPasteHookArguments, TPasteReducerReturn } from \"./types\";\nimport { useColumnValidatesContext } from \"../sheet/providers\";\nimport { useRangeActionContext, useRangeStateContext } from \"../range/provider\";\nimport { paste } from \"./logic\";\nimport { parseClipboardText } from \"./parse\";\nimport { isTextEntryTarget } from \"../operation/event-target\";\n\nexport function usePasteReducer(args: TPasteHookArguments): TPasteReducerReturn {\n const { setRange } = useRangeActionContext();\n const validators = useColumnValidatesContext();\n const range = useRangeStateContext();\n const rowsRef = useRef(args.rows);\n\n // Read the latest props when a paste happens, so callbacks passed in later\n // renders are the ones that get called.\n const latest = useRef({ ...args, validators, range });\n useEffect(() => {\n latest.current = { ...args, validators, range };\n });\n\n const setRows = useCallback((rows: any[]) => {\n rowsRef.current = rows;\n }, []);\n\n const onPaste = useCallback(\n (pasteData: string[][]) => {\n const { cols, validators, range, onUpdateRowFunction, onPasteError } =\n latest.current;\n\n if (!range.isSelecting || !onUpdateRowFunction) {\n return;\n }\n\n const res = paste({\n pasteData,\n pasteArea: { start: range.start, end: range.end },\n currentRows: rowsRef.current,\n currentCols: cols,\n validators,\n });\n\n if (res.isError) {\n // Validation errors are already reported by the column validators.\n if (res.type === \"ValidationError\" || res.type === \"NoPasteData\") {\n return;\n }\n\n const error = { type: res.type, message: res.message };\n if (onPasteError) {\n onPasteError(error);\n } else {\n alert(error.message);\n }\n return;\n }\n\n res.updateArgument.forEach(({ newRow, oldRow }) => {\n onUpdateRowFunction(newRow, oldRow);\n });\n setRange(res.pasteRange);\n },\n [setRange]\n );\n\n useEffect(() => {\n const listener = (e: ClipboardEvent) => {\n const { range, onUpdateRowFunction } = latest.current;\n\n if (!range.isSelecting || !onUpdateRowFunction) {\n return;\n }\n\n // Leave pastes into text fields (including the cell editor) to them.\n if (isTextEntryTarget(e.target)) {\n return;\n }\n\n if (e.clipboardData) {\n e.preventDefault();\n onPaste(parseClipboardText(e.clipboardData.getData(\"Text\")));\n }\n };\n\n document.addEventListener(\"paste\", listener);\n\n return () => {\n document.removeEventListener(\"paste\", listener);\n };\n }, [onPaste]);\n\n return useMemo(() => ({ setRows, onPaste }), [setRows, onPaste]);\n}\n"],"names":["usePasteReducer","args","setRange","useRangeActionContext","validators","useColumnValidatesContext","range","useRangeStateContext","rowsRef","useRef","rows","latest","__assign","useEffect","current","setRows","useCallback","onPaste","pasteData","_a","cols","onUpdateRowFunction","onPasteError","isSelecting","res","paste","pasteArea","start","end","currentRows","currentCols","isError","type","error","message","alert","updateArgument","forEach","newRow","oldRow","pasteRange","listener","e","isTextEntryTarget","target","clipboardData","preventDefault","parseClipboardText","getData","document","addEventListener","removeEventListener","useMemo"],"mappings":"6bAQM,SAAUA,EAAgBC,GACtB,IAAAC,EAAaC,aACfC,EAAaC,IACbC,EAAQC,IACRC,EAAUC,EAAOR,EAAKS,MAItBC,EAASF,EAAMG,EAAAA,EAAA,CAAA,EAAMX,GAAI,CAAEG,WAAUA,EAAEE,MAAKA,KAClDO,GAAU,WACRF,EAAOG,QAAOF,EAAAA,EAAA,CAAA,EAAQX,GAAI,CAAEG,WAAUA,EAAEE,MAAKA,GAC/C,IAEA,IAAMS,EAAUC,GAAY,SAACN,GAC3BF,EAAQM,QAAUJ,CACpB,GAAG,IAEGO,EAAUD,GACd,SAACE,GACO,IAAAC,EACJR,EAAOG,QADDM,SAAMhB,eAAYE,UAAOe,wBAAqBC,iBAGtD,GAAKhB,EAAMiB,aAAgBF,EAA3B,CAIA,IAAMG,EAAMC,EAAM,CAChBP,UAASA,
|
|
1
|
+
{"version":3,"file":"hooks.js","sources":["../../../../../src/table/paste/hooks.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef } from \"react\";\nimport { TPasteHookArguments, TPasteReducerReturn } from \"./types\";\nimport { useColumnValidatesContext } from \"../sheet/providers\";\nimport { useRangeActionContext, useRangeStateContext } from \"../range/provider\";\nimport { paste } from \"./logic\";\nimport { parseClipboardText } from \"./parse\";\nimport { isTextEntryTarget } from \"../operation/event-target\";\n\nexport function usePasteReducer(args: TPasteHookArguments): TPasteReducerReturn {\n const { setRange } = useRangeActionContext();\n const validators = useColumnValidatesContext();\n const range = useRangeStateContext();\n const rowsRef = useRef(args.rows);\n\n // Read the latest props when a paste happens, so callbacks passed in later\n // renders are the ones that get called.\n const latest = useRef({ ...args, validators, range });\n useEffect(() => {\n latest.current = { ...args, validators, range };\n });\n\n const setRows = useCallback((rows: any[]) => {\n rowsRef.current = rows;\n }, []);\n\n const onPaste = useCallback(\n (pasteData: string[][]) => {\n const { cols, validators, range, onUpdateRowFunction, onPasteError } =\n latest.current;\n\n if (!range.isSelecting || !onUpdateRowFunction) {\n return;\n }\n\n const res = paste({\n pasteData,\n // The selection may have been made bottom-up or right-to-left, so\n // paste from its top-left cell.\n pasteArea: {\n start: {\n rowIndex: Math.min(range.start.rowIndex, range.end.rowIndex),\n colIndex: Math.min(range.start.colIndex, range.end.colIndex),\n },\n end: {\n rowIndex: Math.max(range.start.rowIndex, range.end.rowIndex),\n colIndex: Math.max(range.start.colIndex, range.end.colIndex),\n },\n },\n currentRows: rowsRef.current,\n currentCols: cols,\n validators,\n });\n\n if (res.isError) {\n // Validation errors are already reported by the column validators.\n if (res.type === \"ValidationError\" || res.type === \"NoPasteData\") {\n return;\n }\n\n const error = { type: res.type, message: res.message };\n if (onPasteError) {\n onPasteError(error);\n } else {\n alert(error.message);\n }\n return;\n }\n\n res.updateArgument.forEach(({ newRow, oldRow }) => {\n onUpdateRowFunction(newRow, oldRow);\n });\n setRange(res.pasteRange);\n },\n [setRange]\n );\n\n useEffect(() => {\n const listener = (e: ClipboardEvent) => {\n const { range, onUpdateRowFunction } = latest.current;\n\n if (!range.isSelecting || !onUpdateRowFunction) {\n return;\n }\n\n // Leave pastes into text fields (including the cell editor) to them.\n if (isTextEntryTarget(e.target)) {\n return;\n }\n\n if (e.clipboardData) {\n e.preventDefault();\n onPaste(parseClipboardText(e.clipboardData.getData(\"Text\")));\n }\n };\n\n document.addEventListener(\"paste\", listener);\n\n return () => {\n document.removeEventListener(\"paste\", listener);\n };\n }, [onPaste]);\n\n return useMemo(() => ({ setRows, onPaste }), [setRows, onPaste]);\n}\n"],"names":["usePasteReducer","args","setRange","useRangeActionContext","validators","useColumnValidatesContext","range","useRangeStateContext","rowsRef","useRef","rows","latest","__assign","useEffect","current","setRows","useCallback","onPaste","pasteData","_a","cols","onUpdateRowFunction","onPasteError","isSelecting","res","paste","pasteArea","start","rowIndex","Math","min","end","colIndex","max","currentRows","currentCols","isError","type","error","message","alert","updateArgument","forEach","newRow","oldRow","pasteRange","listener","e","isTextEntryTarget","target","clipboardData","preventDefault","parseClipboardText","getData","document","addEventListener","removeEventListener","useMemo"],"mappings":"6bAQM,SAAUA,EAAgBC,GACtB,IAAAC,EAAaC,aACfC,EAAaC,IACbC,EAAQC,IACRC,EAAUC,EAAOR,EAAKS,MAItBC,EAASF,EAAMG,EAAAA,EAAA,CAAA,EAAMX,GAAI,CAAEG,WAAUA,EAAEE,MAAKA,KAClDO,GAAU,WACRF,EAAOG,QAAOF,EAAAA,EAAA,CAAA,EAAQX,GAAI,CAAEG,WAAUA,EAAEE,MAAKA,GAC/C,IAEA,IAAMS,EAAUC,GAAY,SAACN,GAC3BF,EAAQM,QAAUJ,CACpB,GAAG,IAEGO,EAAUD,GACd,SAACE,GACO,IAAAC,EACJR,EAAOG,QADDM,SAAMhB,eAAYE,UAAOe,wBAAqBC,iBAGtD,GAAKhB,EAAMiB,aAAgBF,EAA3B,CAIA,IAAMG,EAAMC,EAAM,CAChBP,UAASA,EAGTQ,UAAW,CACTC,MAAO,CACLC,SAAUC,KAAKC,IAAIxB,EAAMqB,MAAMC,SAAUtB,EAAMyB,IAAIH,UACnDI,SAAUH,KAAKC,IAAIxB,EAAMqB,MAAMK,SAAU1B,EAAMyB,IAAIC,WAErDD,IAAK,CACHH,SAAUC,KAAKI,IAAI3B,EAAMqB,MAAMC,SAAUtB,EAAMyB,IAAIH,UACnDI,SAAUH,KAAKI,IAAI3B,EAAMqB,MAAMK,SAAU1B,EAAMyB,IAAIC,YAGvDE,YAAa1B,EAAQM,QACrBqB,YAAaf,EACbhB,WAAUA,IAGZ,GAAIoB,EAAIY,QAAR,CAEE,GAAiB,oBAAbZ,EAAIa,MAA2C,gBAAbb,EAAIa,KACxC,OAGF,IAAMC,EAAQ,CAAED,KAAMb,EAAIa,KAAME,QAASf,EAAIe,SACzCjB,EACFA,EAAagB,GAEbE,MAAMF,EAAMC,QAGhB,MAEAf,EAAIiB,eAAeC,SAAQ,SAACvB,OAAEwB,EAAMxB,EAAAwB,OAAEC,EAAMzB,EAAAyB,OAC1CvB,EAAoBsB,EAAQC,EAC9B,IACA1C,EAASsB,EAAIqB,WAvCb,CAwCF,GACA,CAAC3C,IA6BH,OA1BAW,GAAU,WACR,IAAMiC,EAAW,SAACC,GACV,IAAA5B,EAAiCR,EAAOG,QAAtCR,EAAKa,EAAAb,MAAEe,EAAmBF,EAAAE,oBAE7Bf,EAAMiB,aAAgBF,IAKvB2B,EAAkBD,EAAEE,SAIpBF,EAAEG,gBACJH,EAAEI,iBACFlC,EAAQmC,EAAmBL,EAAEG,cAAcG,QAAQ,WAEvD,EAIA,OAFAC,SAASC,iBAAiB,QAAST,GAE5B,WACLQ,SAASE,oBAAoB,QAASV,EACxC,CACF,GAAG,CAAC7B,IAEGwC,GAAQ,WAAM,OAAG1C,QAAOA,EAAEE,QAAOA,EAAnB,GAAwB,CAACF,EAASE,GACzD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{__assign as o}from"../../../node_modules/tslib/tslib.es6.js";import{jsx as r,jsxs as e}from"react/jsx-runtime";import{useTable as i}from"./hook.js";import{TableHeaderElement as t}from"../header/header.js";import{PagenationProvider as n}from"../pagenation/providers.js";import{DisplayRange as d,Pagenation as l}from"../pagenation/components.js";import"../filter-v2/context.js";import{FilterProvider as s}from"../filter-v2/provider.js";import"../sort/icon.js";import{SortProvider as c}from"../sort/provider.js";import{ColumnsProvider as a}from"../sheet/providers.js";import{CheckboxProvider as m,CheckboxStatusProvider as p}from"../checkbox/provider.js";import{EditProvider as h}from"../edit/provider.js";import{TablePropertyProvider as f}from"../table-property/provider.js";import{KeyboardSetting as v}from"../operation/components/keyboard-setting.js";import{Row as x}from"../sheet/components.js";import{PasteProvider as j}from"../paste/provider.js";import{generateFormattingString as
|
|
1
|
+
"use client";import{__assign as o}from"../../../node_modules/tslib/tslib.es6.js";import{jsx as r,jsxs as e}from"react/jsx-runtime";import{useTable as i}from"./hook.js";import{TableHeaderElement as t}from"../header/header.js";import{PagenationProvider as n}from"../pagenation/providers.js";import{DisplayRange as d,Pagenation as l}from"../pagenation/components.js";import"../filter-v2/context.js";import{FilterProvider as s}from"../filter-v2/provider.js";import"../sort/icon.js";import{SortProvider as c}from"../sort/provider.js";import{ColumnsProvider as a}from"../sheet/providers.js";import{CheckboxProvider as m,CheckboxStatusProvider as p}from"../checkbox/provider.js";import{EditProvider as h}from"../edit/provider.js";import{TablePropertyProvider as f}from"../table-property/provider.js";import{KeyboardSetting as v}from"../operation/components/keyboard-setting.js";import{Row as x}from"../sheet/components.js";import{PasteProvider as j}from"../paste/provider.js";import{generateFormattingString as u}from"../libs/conditional-formatting.js";import{Editor as g}from"../edit/ui/editor.js";import{RangeProvider as w,TestRange as b}from"../range/provider.js";import{CopyProvider as k}from"../copy/provider.js";import{CopiedMessage as y}from"../copy/components.js";import{TableIdGeneratorProvider as C,useTableIdGenerator as N}from"../id/provider.js";import{TableHeader as R}from"../header/header-v2.js";import"../header/columns-width/context.js";import{ColumnsWidthProvider as I,ColumnsWidthStyle as S}from"../header/columns-width/provider.js";import"../header/x-scroll-position/context.js";import{ScrollXPositionProvider as F}from"../header/x-scroll-position/provider.js";import{Frame as P}from"../frame/frame.js";import{ComponentProvider as H,useGenerateSortButton as W}from"./component-provider/provider.js";import{SelectBoxProvider as D}from"../../select-box/provider.js";function T(i){var t,d,l,x,u,g;return r(H,{children:r(C,{id:i.id,children:r(I,{cols:i.cols,children:r(s,{initialConditions:[],children:r(c,{initialCondition:null===(t=i.initialCondition)||void 0===t?void 0:t.sort,children:r(n,{rowCount:i.rows.length,perPage:null===(u=null!==(l=null===(d=i.initialCondition)||void 0===d?void 0:d.pagination)&&void 0!==l?l:null===(x=i.initialCondition)||void 0===x?void 0:x.pagenation)||void 0===u?void 0:u.rowCountPerPage,children:r(m,{checkbox:i.checkbox,children:r(p,{checkboxCount:i.rows.length,children:r(a,{cols:i.cols,errorHandler:i.errorHandler,children:r(h,{children:r(f,{children:r(w,{children:e(k,{rows:i.rows,cols:i.cols,children:[r(y,{}),e(j,{rows:i.rows,cols:i.cols,onUpdateRowFunction:i.onUpdateRow,onPasteError:i.onPasteError,children:[r(v,{enableDeprecatedCopy:null===(g=i.deprecatedOptions)||void 0===g?void 0:g.enableDeprecatedCopy}),r(F,{children:r(A,o({},i))})]})]})})})})})})})})})})})})})}function A(o){var n=i(o),s=n.cols,c=n.rowMaps,a=n.pageRowIds,m=N(),p=W();return e("div",{className:"w-full max-w-full max-h-full",children:[e("div",{children:[r(R,{cols:s,checkbox:!!o.checkbox,rows:o.rows,maxWidth:o.maxWidth,generateSortButton:p}),r(S,{scopeId:m.getTableId()}),r(D,{children:e(P,{id:m.getTableId(),maxHeight:o.maxHeight,maxWidth:o.maxWidth,displayScroll:!1,children:[e("table",{className:"table",children:[r("thead",{children:e("tr",{children:[o.checkbox&&r("th",{className:"p-px"}),s.map((function(o){return r(t,{keyname:o.key.toString()},o.key.toString())}))]})}),e("tbody",{children:[0===a.length&&r("tr",{children:r("td",{colSpan:s.length+(o.checkbox?1:0),className:"px-px py-5",children:r("p",{className:"text-center font-bold text-lg",children:"NO DATA"})})}),a.map((function(e,i){return r(x,{existCheckbox:!!o.checkbox,rowIndex:i,row:c[e].data,cols:o.cols,onClickRow:o.onClickRow,applyRowFormatting:o.applyRowFormatting,conditionalFormattingString:u(c[e].data,s,o.conditionalFormattings)},e)}))]})]}),r(b,{}),r(g,{rowMaps:c,pageRowIds:a})]})})]}),e("div",{className:"mt-1",children:[r(d,{}),r("div",{className:"mt-2",children:r(l,{})})]})]})}export{T as default};
|
|
2
2
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sources":["../../../../../src/table/table/base.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTable } from \"./hook\";\nimport { TableHeaderElement } from \"../header/header\";\nimport {\n DataRecord,\n TConditionalFormatting,\n TPropsTable,\n TTableColumn,\n} from \"./type\";\nimport { PagenationProvider, DisplayRange, Pagenation } from \"../pagenation\";\nimport { FilterProvider } from \"../filter-v2\";\nimport { SortProvider } from \"../sort\";\nimport { ColumnsProvider } from \"../sheet/providers\";\nimport { CheckboxProvider, CheckboxStatusProvider } from \"../checkbox/provider\";\nimport { EditProvider } from \"../edit/provider\";\nimport { TablePropertyProvider } from \"../table-property/provider\";\nimport { KeyboardSetting } from \"../operation/components/keyboard-setting\";\nimport { Row } from \"../sheet/components\";\nimport { PasteProvider } from \"../paste/provider\";\nimport { generateFormattingString } from \"../libs/conditional-formatting\";\nimport { Editor } from \"../edit/ui/editor\";\nimport { RangeProvider, TestRange } from \"../range/provider\";\nimport { CopyProvider } from \"../copy/provider\";\nimport { CopiedMessage } from \"../copy/components\";\nimport { TableIdGeneratorProvider, useTableIdGenerator } from \"../id\";\nimport { TableHeader } from \"../header/header-v2\";\nimport {\n ColumnsWidthProvider,\n ColumnsWidthStyle,\n ScrollXPositionProvider,\n} from \"../header\";\nimport { Frame } from \"../frame\";\nimport { ComponentProvider } from \"./component-provider\";\nimport { useGenerateSortButton } from \"./component-provider/provider\";\nimport { SelectBoxProvider } from \"../../select-box/provider\";\n\nexport default function Table<T extends DataRecord>(props: TPropsTable<T>) {\n return (\n <ComponentProvider>\n <TableIdGeneratorProvider id={props.id}>\n <ColumnsWidthProvider cols={props.cols as TTableColumn<DataRecord>[]}>\n <FilterProvider initialConditions={[]}>\n <SortProvider initialCondition={props.initialCondition?.sort}>\n <PagenationProvider\n rowCount={props.rows.length}\n perPage={props.initialCondition?.pagenation?.rowCountPerPage}\n >\n <CheckboxProvider checkbox={props.checkbox}>\n <CheckboxStatusProvider checkboxCount={props.rows.length}>\n <ColumnsProvider\n cols={props.cols}\n errorHandler={props.errorHandler}\n >\n <EditProvider>\n <TablePropertyProvider>\n <RangeProvider>\n <CopyProvider rows={props.rows} cols={props.cols}>\n <CopiedMessage />\n <PasteProvider\n rows={props.rows}\n cols={props.cols}\n onUpdateRowFunction={props.onUpdateRow}\n onPasteError={props.onPasteError}\n >\n <KeyboardSetting\n enableDeprecatedCopy={\n props.deprecatedOptions\n ?.enableDeprecatedCopy\n }\n />\n <ScrollXPositionProvider>\n <BaseTable {...props} />\n </ScrollXPositionProvider>\n </PasteProvider>\n </CopyProvider>\n </RangeProvider>\n </TablePropertyProvider>\n </EditProvider>\n </ColumnsProvider>\n </CheckboxStatusProvider>\n </CheckboxProvider>\n </PagenationProvider>\n </SortProvider>\n </FilterProvider>\n </ColumnsWidthProvider>\n </TableIdGeneratorProvider>\n </ComponentProvider>\n );\n}\n\nfunction BaseTable<T extends DataRecord>(props: TPropsTable<T>) {\n const { cols, rowMaps, pageRowIds } = useTable<T>(props);\n const IdGenerator = useTableIdGenerator();\n const generateSortButton = useGenerateSortButton();\n\n return (\n <div className=\"w-full max-w-full max-h-full\">\n <div>\n <TableHeader\n cols={cols}\n checkbox={!!props.checkbox}\n rows={props.rows}\n maxWidth={props.maxWidth}\n generateSortButton={generateSortButton}\n />\n\n <ColumnsWidthStyle scopeId={IdGenerator.getTableId()} />\n <SelectBoxProvider>\n <Frame\n id={IdGenerator.getTableId()}\n maxHeight={props.maxHeight}\n maxWidth={props.maxWidth}\n displayScroll={false}\n >\n <table className={`table`}>\n <thead>\n <tr>\n {props.checkbox && <th className=\"p-px\"></th>}\n {cols.map((col) => (\n <TableHeaderElement\n key={col.key.toString()}\n keyname={col.key.toString()}\n />\n ))}\n </tr>\n </thead>\n <tbody>\n {pageRowIds.length === 0 && (\n <tr>\n <td\n colSpan={cols.length + (props.checkbox ? 1 : 0)}\n className=\"px-px py-5\"\n >\n <p className=\"text-center font-bold text-lg\">NO DATA</p>\n </td>\n </tr>\n )}\n {pageRowIds.map((rowId, i) => (\n <Row\n key={rowId}\n existCheckbox={!!props.checkbox}\n rowIndex={i}\n row={rowMaps[rowId].data}\n cols={props.cols as TTableColumn<DataRecord>[]}\n onClickRow={props.onClickRow}\n applyRowFormatting={props.applyRowFormatting}\n conditionalFormattingString={generateFormattingString(\n rowMaps[rowId].data,\n cols as TTableColumn<DataRecord>[],\n props.conditionalFormattings as TConditionalFormatting<DataRecord>[]\n )}\n />\n ))}\n </tbody>\n </table>\n <TestRange />\n <Editor rowMaps={rowMaps} pageRowIds={pageRowIds} />\n </Frame>\n </SelectBoxProvider>\n </div>\n <div className=\"mt-1\">\n <DisplayRange />\n <div className=\"mt-2\">\n <Pagenation />\n </div>\n </div>\n </div>\n );\n}\n"],"names":["Table","props","_jsx","ComponentProvider","children","TableIdGeneratorProvider","id","ColumnsWidthProvider","cols","FilterProvider","initialConditions","SortProvider","initialCondition","_a","sort","PagenationProvider","rowCount","rows","length","perPage","_c","_b","pagenation","rowCountPerPage","CheckboxProvider","checkbox","CheckboxStatusProvider","checkboxCount","ColumnsProvider","errorHandler","EditProvider","TablePropertyProvider","RangeProvider","_jsxs","CopyProvider","CopiedMessage","PasteProvider","onUpdateRowFunction","onUpdateRow","onPasteError","KeyboardSetting","enableDeprecatedCopy","deprecatedOptions","_d","ScrollXPositionProvider","BaseTable","__assign","useTable","rowMaps","pageRowIds","IdGenerator","useTableIdGenerator","generateSortButton","useGenerateSortButton","className","TableHeader","maxWidth","ColumnsWidthStyle","scopeId","getTableId","SelectBoxProvider","Frame","maxHeight","displayScroll","map","col","TableHeaderElement","keyname","key","toString","colSpan","rowId","i","Row","existCheckbox","rowIndex","row","data","onClickRow","applyRowFormatting","conditionalFormattingString","generateFormattingString","conditionalFormattings","TestRange","Editor","DisplayRange","Pagenation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base.js","sources":["../../../../../src/table/table/base.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTable } from \"./hook\";\nimport { TableHeaderElement } from \"../header/header\";\nimport {\n DataRecord,\n TConditionalFormatting,\n TPropsTable,\n TTableColumn,\n} from \"./type\";\nimport { PagenationProvider, DisplayRange, Pagenation } from \"../pagenation\";\nimport { FilterProvider } from \"../filter-v2\";\nimport { SortProvider } from \"../sort\";\nimport { ColumnsProvider } from \"../sheet/providers\";\nimport { CheckboxProvider, CheckboxStatusProvider } from \"../checkbox/provider\";\nimport { EditProvider } from \"../edit/provider\";\nimport { TablePropertyProvider } from \"../table-property/provider\";\nimport { KeyboardSetting } from \"../operation/components/keyboard-setting\";\nimport { Row } from \"../sheet/components\";\nimport { PasteProvider } from \"../paste/provider\";\nimport { generateFormattingString } from \"../libs/conditional-formatting\";\nimport { Editor } from \"../edit/ui/editor\";\nimport { RangeProvider, TestRange } from \"../range/provider\";\nimport { CopyProvider } from \"../copy/provider\";\nimport { CopiedMessage } from \"../copy/components\";\nimport { TableIdGeneratorProvider, useTableIdGenerator } from \"../id\";\nimport { TableHeader } from \"../header/header-v2\";\nimport {\n ColumnsWidthProvider,\n ColumnsWidthStyle,\n ScrollXPositionProvider,\n} from \"../header\";\nimport { Frame } from \"../frame\";\nimport { ComponentProvider } from \"./component-provider\";\nimport { useGenerateSortButton } from \"./component-provider/provider\";\nimport { SelectBoxProvider } from \"../../select-box/provider\";\n\nexport default function Table<T extends DataRecord>(props: TPropsTable<T>) {\n return (\n <ComponentProvider>\n <TableIdGeneratorProvider id={props.id}>\n <ColumnsWidthProvider cols={props.cols as TTableColumn<DataRecord>[]}>\n <FilterProvider initialConditions={[]}>\n <SortProvider initialCondition={props.initialCondition?.sort}>\n <PagenationProvider\n rowCount={props.rows.length}\n perPage={\n (\n props.initialCondition?.pagination ??\n props.initialCondition?.pagenation\n )?.rowCountPerPage\n }\n >\n <CheckboxProvider checkbox={props.checkbox}>\n <CheckboxStatusProvider checkboxCount={props.rows.length}>\n <ColumnsProvider\n cols={props.cols}\n errorHandler={props.errorHandler}\n >\n <EditProvider>\n <TablePropertyProvider>\n <RangeProvider>\n <CopyProvider rows={props.rows} cols={props.cols}>\n <CopiedMessage />\n <PasteProvider\n rows={props.rows}\n cols={props.cols}\n onUpdateRowFunction={props.onUpdateRow}\n onPasteError={props.onPasteError}\n >\n <KeyboardSetting\n enableDeprecatedCopy={\n props.deprecatedOptions\n ?.enableDeprecatedCopy\n }\n />\n <ScrollXPositionProvider>\n <BaseTable {...props} />\n </ScrollXPositionProvider>\n </PasteProvider>\n </CopyProvider>\n </RangeProvider>\n </TablePropertyProvider>\n </EditProvider>\n </ColumnsProvider>\n </CheckboxStatusProvider>\n </CheckboxProvider>\n </PagenationProvider>\n </SortProvider>\n </FilterProvider>\n </ColumnsWidthProvider>\n </TableIdGeneratorProvider>\n </ComponentProvider>\n );\n}\n\nfunction BaseTable<T extends DataRecord>(props: TPropsTable<T>) {\n const { cols, rowMaps, pageRowIds } = useTable<T>(props);\n const IdGenerator = useTableIdGenerator();\n const generateSortButton = useGenerateSortButton();\n\n return (\n <div className=\"w-full max-w-full max-h-full\">\n <div>\n <TableHeader\n cols={cols}\n checkbox={!!props.checkbox}\n rows={props.rows}\n maxWidth={props.maxWidth}\n generateSortButton={generateSortButton}\n />\n\n <ColumnsWidthStyle scopeId={IdGenerator.getTableId()} />\n <SelectBoxProvider>\n <Frame\n id={IdGenerator.getTableId()}\n maxHeight={props.maxHeight}\n maxWidth={props.maxWidth}\n displayScroll={false}\n >\n <table className={`table`}>\n <thead>\n <tr>\n {props.checkbox && <th className=\"p-px\"></th>}\n {cols.map((col) => (\n <TableHeaderElement\n key={col.key.toString()}\n keyname={col.key.toString()}\n />\n ))}\n </tr>\n </thead>\n <tbody>\n {pageRowIds.length === 0 && (\n <tr>\n <td\n colSpan={cols.length + (props.checkbox ? 1 : 0)}\n className=\"px-px py-5\"\n >\n <p className=\"text-center font-bold text-lg\">NO DATA</p>\n </td>\n </tr>\n )}\n {pageRowIds.map((rowId, i) => (\n <Row\n key={rowId}\n existCheckbox={!!props.checkbox}\n rowIndex={i}\n row={rowMaps[rowId].data}\n cols={props.cols as TTableColumn<DataRecord>[]}\n onClickRow={props.onClickRow}\n applyRowFormatting={props.applyRowFormatting}\n conditionalFormattingString={generateFormattingString(\n rowMaps[rowId].data,\n cols as TTableColumn<DataRecord>[],\n props.conditionalFormattings as TConditionalFormatting<DataRecord>[]\n )}\n />\n ))}\n </tbody>\n </table>\n <TestRange />\n <Editor rowMaps={rowMaps} pageRowIds={pageRowIds} />\n </Frame>\n </SelectBoxProvider>\n </div>\n <div className=\"mt-1\">\n <DisplayRange />\n <div className=\"mt-2\">\n <Pagenation />\n </div>\n </div>\n </div>\n );\n}\n"],"names":["Table","props","_jsx","ComponentProvider","children","TableIdGeneratorProvider","id","ColumnsWidthProvider","cols","FilterProvider","initialConditions","SortProvider","initialCondition","_a","sort","PagenationProvider","rowCount","rows","length","perPage","_e","_c","_b","pagination","_d","pagenation","rowCountPerPage","CheckboxProvider","checkbox","CheckboxStatusProvider","checkboxCount","ColumnsProvider","errorHandler","EditProvider","TablePropertyProvider","RangeProvider","_jsxs","CopyProvider","CopiedMessage","PasteProvider","onUpdateRowFunction","onUpdateRow","onPasteError","KeyboardSetting","enableDeprecatedCopy","_f","deprecatedOptions","ScrollXPositionProvider","BaseTable","__assign","useTable","rowMaps","pageRowIds","IdGenerator","useTableIdGenerator","generateSortButton","useGenerateSortButton","className","TableHeader","maxWidth","ColumnsWidthStyle","scopeId","getTableId","SelectBoxProvider","Frame","maxHeight","displayScroll","map","col","TableHeaderElement","keyname","key","toString","colSpan","rowId","i","Row","existCheckbox","rowIndex","row","data","onClickRow","applyRowFormatting","conditionalFormattingString","generateFormattingString","conditionalFormattings","TestRange","Editor","DisplayRange","Pagenation"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -143,6 +143,9 @@ type TConditionalFormatting<T extends DataRecord> = {
|
|
|
143
143
|
style: TailwindCssStyle;
|
|
144
144
|
};
|
|
145
145
|
type TailwindCssStyle = string;
|
|
146
|
+
type TPaginationCondition = {
|
|
147
|
+
rowCountPerPage?: 20 | 50 | 100 | "all";
|
|
148
|
+
};
|
|
146
149
|
type TPropsTable<T extends DataRecord> = {
|
|
147
150
|
id?: string;
|
|
148
151
|
cols: TTableColumn<T>[];
|
|
@@ -156,9 +159,9 @@ type TPropsTable<T extends DataRecord> = {
|
|
|
156
159
|
key: string;
|
|
157
160
|
asc?: boolean;
|
|
158
161
|
};
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
+
pagination?: TPaginationCondition;
|
|
163
|
+
/** @deprecated Use `pagination`. Kept for compatibility. */
|
|
164
|
+
pagenation?: TPaginationCondition;
|
|
162
165
|
};
|
|
163
166
|
applyRowFormatting?: (row: DataObject<T>) => TailwindCssStyle;
|
|
164
167
|
conditionalFormattings?: TConditionalFormatting<T>[];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teppen/react-ui",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "React UI Component",
|
|
5
5
|
"main": "dist/cjs/src/index.js",
|
|
6
6
|
"module": "dist/esm/src/index.js",
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"storybook": "storybook dev -p 6006",
|
|
12
12
|
"build-storybook": "storybook build",
|
|
13
13
|
"test": "jest",
|
|
14
|
-
"test:lint": "tsc --noEmit"
|
|
14
|
+
"test:lint": "tsc --noEmit",
|
|
15
|
+
"test:package": "npm run rollup && node scripts/check-package.mjs"
|
|
15
16
|
},
|
|
16
17
|
"author": "Yasufumi Kamiyama <yk.iteppen@gmail.com>",
|
|
17
18
|
"license": "MIT",
|