@teppen/react-ui 1.5.6 → 1.5.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/cjs/src/icon/cancel-icon.js.map +1 -0
  2. package/dist/cjs/src/icon/edit-icon.js.map +1 -0
  3. package/dist/cjs/src/index.js +1 -1
  4. package/dist/cjs/src/table/cell/hooks.js +2 -0
  5. package/dist/cjs/src/table/cell/hooks.js.map +1 -0
  6. package/dist/cjs/src/table/cell/ui/cell.js +1 -1
  7. package/dist/cjs/src/table/cell/ui/edit-button.js +1 -1
  8. package/dist/cjs/src/table/checkbox/components.js +1 -1
  9. package/dist/cjs/src/table/checkbox/hooks.js.map +1 -1
  10. package/dist/cjs/src/table/checkbox/provider.js.map +1 -1
  11. package/dist/cjs/src/table/edit/ui/base-input.js +1 -1
  12. package/dist/cjs/src/table/edit/ui/editor.js.map +1 -1
  13. package/dist/cjs/src/table/edit/ui/select-input.js +1 -1
  14. package/dist/cjs/src/table/filter/components.js +1 -1
  15. package/dist/cjs/src/table/filter/hooks/selectedFilteringColumn/hooks.js +2 -0
  16. package/dist/cjs/src/table/filter/hooks/selectedFilteringColumn/hooks.js.map +1 -0
  17. package/dist/cjs/src/table/filter/hooks/selectedFilteringColumn/provider.js +2 -0
  18. package/dist/cjs/src/table/filter/hooks/selectedFilteringColumn/provider.js.map +1 -0
  19. package/dist/cjs/src/table/filter/hooks.js.map +1 -1
  20. package/dist/cjs/src/table/filter/provider.js +1 -1
  21. package/dist/cjs/src/table/header/header.js +1 -1
  22. package/dist/cjs/src/table/header/resize-col-width-hook.js +1 -1
  23. package/dist/cjs/src/table/header/resize-col-width-hook.js.map +1 -1
  24. package/dist/cjs/src/table/libs/conditional-formatting.js.map +1 -1
  25. package/dist/cjs/src/table/pagenation/hooks.js.map +1 -1
  26. package/dist/cjs/src/table/paste/hooks.js +1 -1
  27. package/dist/cjs/src/table/paste/hooks.js.map +1 -1
  28. package/dist/cjs/src/table/paste/provider.js +1 -1
  29. package/dist/cjs/src/table/paste/provider.js.map +1 -1
  30. package/dist/cjs/src/table/sheet/components.js +1 -1
  31. package/dist/cjs/src/table/sheet/components.js.map +1 -1
  32. package/dist/cjs/src/table/sheet/providers.js +1 -1
  33. package/dist/cjs/src/table/sort/hooks.js.map +1 -1
  34. package/dist/cjs/src/table/table/base.js +3 -0
  35. package/dist/cjs/src/table/table/hook.js +2 -0
  36. package/dist/cjs/src/table/table/hook.js.map +1 -0
  37. package/dist/esm/src/icon/cancel-icon.js.map +1 -0
  38. package/dist/esm/src/icon/edit-icon.js.map +1 -0
  39. package/dist/esm/src/index.js +1 -1
  40. package/dist/esm/src/table/cell/hooks.js +2 -0
  41. package/dist/esm/src/table/cell/hooks.js.map +1 -0
  42. package/dist/esm/src/table/cell/ui/cell.js +1 -1
  43. package/dist/esm/src/table/cell/ui/edit-button.js +1 -1
  44. package/dist/esm/src/table/checkbox/components.js +1 -1
  45. package/dist/esm/src/table/checkbox/hooks.js.map +1 -1
  46. package/dist/esm/src/table/checkbox/provider.js.map +1 -1
  47. package/dist/esm/src/table/edit/ui/base-input.js +1 -1
  48. package/dist/esm/src/table/edit/ui/editor.js.map +1 -1
  49. package/dist/esm/src/table/edit/ui/select-input.js +1 -1
  50. package/dist/esm/src/table/filter/components.js +1 -1
  51. package/dist/esm/src/table/filter/hooks/selectedFilteringColumn/hooks.js +2 -0
  52. package/dist/esm/src/table/filter/hooks/selectedFilteringColumn/hooks.js.map +1 -0
  53. package/dist/esm/src/table/filter/hooks/selectedFilteringColumn/provider.js +2 -0
  54. package/dist/esm/src/table/filter/hooks/selectedFilteringColumn/provider.js.map +1 -0
  55. package/dist/esm/src/table/filter/hooks.js.map +1 -1
  56. package/dist/esm/src/table/filter/provider.js +1 -1
  57. package/dist/esm/src/table/header/header.js +1 -1
  58. package/dist/esm/src/table/header/resize-col-width-hook.js +1 -1
  59. package/dist/esm/src/table/header/resize-col-width-hook.js.map +1 -1
  60. package/dist/esm/src/table/libs/conditional-formatting.js.map +1 -1
  61. package/dist/esm/src/table/pagenation/hooks.js.map +1 -1
  62. package/dist/esm/src/table/paste/hooks.js +1 -1
  63. package/dist/esm/src/table/paste/hooks.js.map +1 -1
  64. package/dist/esm/src/table/paste/provider.js +1 -1
  65. package/dist/esm/src/table/paste/provider.js.map +1 -1
  66. package/dist/esm/src/table/sheet/components.js +1 -1
  67. package/dist/esm/src/table/sheet/components.js.map +1 -1
  68. package/dist/esm/src/table/sheet/providers.js +1 -1
  69. package/dist/esm/src/table/sort/hooks.js.map +1 -1
  70. package/dist/esm/src/table/table/base.js +3 -0
  71. package/dist/esm/src/table/table/hook.js +2 -0
  72. package/dist/esm/src/table/table/hook.js.map +1 -0
  73. package/package.json +4 -6
  74. package/dist/cjs/src/table/base.js +0 -3
  75. package/dist/cjs/src/table/cancel-icon.js.map +0 -1
  76. package/dist/cjs/src/table/edit-icon.js.map +0 -1
  77. package/dist/cjs/src/table/hook.js +0 -2
  78. package/dist/cjs/src/table/hook.js.map +0 -1
  79. package/dist/esm/src/table/base.js +0 -3
  80. package/dist/esm/src/table/cancel-icon.js.map +0 -1
  81. package/dist/esm/src/table/edit-icon.js.map +0 -1
  82. package/dist/esm/src/table/hook.js +0 -2
  83. package/dist/esm/src/table/hook.js.map +0 -1
  84. /package/dist/cjs/src/{table → icon}/cancel-icon.js +0 -0
  85. /package/dist/cjs/src/{table → icon}/edit-icon.js +0 -0
  86. /package/dist/cjs/src/table/{base.js.map → table/base.js.map} +0 -0
  87. /package/dist/esm/src/{table → icon}/cancel-icon.js +0 -0
  88. /package/dist/esm/src/{table → icon}/edit-icon.js +0 -0
  89. /package/dist/esm/src/table/{base.js.map → table/base.js.map} +0 -0
@@ -1,3 +0,0 @@
1
- "use client";
2
- "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"),t=require("./pagenation/providers.js"),s=require("./pagenation/components.js"),n=require("./filter/provider.js"),l=require("./filter/components.js");require("./sort/icon.js");var a=require("./sort/provider.js"),d=require("./sheet/providers.js"),c=require("./focus/provider.js"),x=require("./checkbox/provider.js"),u=require("./checkbox/components.js"),j=require("./libs/id-generator.js"),h=require("./edit/provider.js"),p=require("./table-property/provider.js"),g=require("./operation/components/keyboard-setting.js"),m=require("./sheet/components.js"),v=require("./paste/provider.js"),b=require("./libs/conditional-formatting.js"),w=require("./edit/ui/editor.js");function y(e){var t=o.useTable(e),a=t.cols,d=t.rowMaps,c=t.pageRowIds,x=n.useFilterContext().selectedFilterKey,h=v.usePasteActionContext().onPaste;return r.jsxs("div",{className:"w-full",children:[r.jsx("div",{className:"flex justify-end mb-1 mr-3",children:r.jsx(l.TableFilterRemoveButton,{children:r.jsx("p",{className:"text-xs underline text-gray-500 hover:text-gray-700",children:"全てのフィルタリング条件を解除する"})})}),r.jsxs("div",{id:"table-frame",className:"relative h-full max-w-full max-h-[80vh] border border-gray-200 rounded-md overflow-auto",children:[r.jsx(w.Editor,{rowMaps:d,pageRowIds:c}),r.jsxs("table",{className:"table",onPaste:function(e){e.preventDefault();var r=e.clipboardData.getData("Text");h(r.replace(/\t/g,",").trim().replace(/\r\n/g,"\n").split("\n").map((function(e){return e.split(",")})))},children:[r.jsx("thead",{children:r.jsxs("tr",{className:"sticky top-0 border-gray-200 z-20 bg-gray-200 text-gray-600 h-[32px]",children:[e.checkbox&&r.jsx("th",{children:r.jsx(u.AllCheckbox,{rows:e.rows})}),a.map((function(e,o){return r.jsx(i.TableHeaderElement,{id:j.IdGenerator.getTableColId(o),columnKey:e.key},e.key)}))]})}),r.jsxs("tbody",{children:[!!x&&r.jsx("tr",{children:r.jsx("td",{colSpan:a.length,className:"sticky top-8 left-0 bg-gray-300 w-full shadow-lg rounded-b-2xl z-20 p-0 overflow-hidden",children:r.jsx(l.TableFilterForm,{})})}),0===c.length&&r.jsx("tr",{children:r.jsx("td",{colSpan:a.length,className:"py-5",children:r.jsx("p",{className:"text-center font-bold text-lg",children:"NO DATA"})})}),c.map((function(o,i){return r.jsx(m.Row,{existCheckbox:!!e.checkbox,rowIndex:i,dataString:d[o].stringValue,cols:e.cols,onClickRow:e.onClickRow,applyRowFormatting:e.applyRowFormatting,conditionalFormattingString:b.generateFormattingString(d[o].data,a,e.conditionalFormattings),onUpdateRow:e.onUpdateRow},o)}))]})]})]}),r.jsxs("div",{className:"mt-1",children:[r.jsx(s.DisplayRange,{}),r.jsx("div",{className:"mt-2",children:r.jsx(s.Pagenation,{})})]})]})}module.exports=function(o){var i,s,l;return r.jsx(n.FilterProvider,{children:r.jsx(a.SortProvider,{initialCondition:null===(i=o.initialCondition)||void 0===i?void 0:i.sort,children:r.jsx(t.PagenationProvider,{rowCount:o.rows.length,perPage:null===(l=null===(s=o.initialCondition)||void 0===s?void 0:s.pagenation)||void 0===l?void 0:l.rowCountPerPage,children:r.jsx(x.CheckboxProvider,{checkbox:o.checkbox,children:r.jsx(x.CheckboxStatusProvider,{checkboxCount:o.rows.length,children:r.jsx(d.ColumnsProvider,{cols:o.cols,errorHandler:o.errorHandler,children:r.jsx(c.FocusProvider,{children:r.jsx(h.EditProvider,{children:r.jsx(p.TablePropertyProvider,{children:r.jsxs(v.PasteProvider,{rows:o.rows,cols:o.cols,colValidators:{},onUpdateRowFunction:o.onUpdateRow,children:[r.jsx(g.KeyboardSetting,{}),r.jsx(y,e.__assign({},o))]})})})})})})})})})})};
3
- //# sourceMappingURL=base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cancel-icon.js","sources":["../../../../src/table/cancel-icon.tsx"],"sourcesContent":["import { MdOutlineCancel } from \"react-icons/md\";\n\ntype TPropsCancelIcon = {\n size: number;\n};\n\nexport function CancelIcon(props: TPropsCancelIcon) {\n return <MdOutlineCancel size={`${props.size}px`} />;\n}\n"],"names":["props","_jsx","MdOutlineCancel","size","concat"],"mappings":"2HAMM,SAAqBA,GACzB,OAAOC,MAACC,EAAAA,gBAAe,CAACC,KAAM,GAAGC,OAAAJ,EAAMG,KAAQ,OACjD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"edit-icon.js","sources":["../../../../src/table/edit-icon.tsx"],"sourcesContent":["import { LiaEdit } from \"react-icons/lia\";\n\ntype TPropsEditIcon = {\n size: number;\n};\n\nexport function EditIcon(props: TPropsEditIcon) {\n return <LiaEdit size={`${props.size}px`} />;\n}\n"],"names":["props","_jsx","LiaEdit","size","concat"],"mappings":"0HAMM,SAAmBA,GACvB,OAAOC,MAACC,EAAAA,QAAO,CAACC,KAAM,GAAGC,OAAAJ,EAAMG,KAAQ,OACzC"}
@@ -1,2 +0,0 @@
1
- "use strict";var e=require("react"),t=require("./pagenation/providers.js");require("react/jsx-runtime");var r=require("./filter/provider.js");require("./filter/constants.js");var o=require("./sheet/providers.js"),n=require("./focus/provider.js"),u=require("./checkbox/provider.js"),s=require("./edit/provider.js"),i=require("./sort/provider.js"),c=require("./table-property/provider.js"),a=require("./paste/provider.js");exports.useCell=function(t,r){var u,i,c=n.useFocusActionContext(),a=s.useEditActionContext(),l=o.useColumnsContext()[r],f=o.useRowContext(),d=f[l.key],p="select"===l.type?null===(i=null===(u=l.options)||void 0===u?void 0:u.find((function(e){return e.value===d})))||void 0===i?void 0:i.label:d,v=e.useMemo((function(){return l.editable?p:l.render?l.render(d,f):p}),[l.editable,p,d,f]);return{type:!l.editable&&l.render?"component":l.type,component:v,focusAtCell:e.useCallback((function(){c.move(t,r),c.focus(t,r)}),[c,t,r]),onDoubleClickCellToEdit:e.useCallback((function(e){e.preventDefault(),c.move(t,r),c.focus(t,r),a.startEditing()}),[c,a,t,r])}},exports.useTable=function(o){var n=r.useFilterContext().filter,s=i.useSortActionContext(),l=s.sort,f=s.updatedData,d=i.useSortTimingContext(),p=t.usePageContext(),v=p.setRowCount,C=p.pageFilter,x=u.useCheckboxStatusContext().dispatchCheckboxStatus,h=a.usePasteActionContext().setRows,b=c.useTablePropertyActionContext(),m=b.setMaxDisplayColCount,g=b.setMaxDisplayRowCount,w=e.useMemo((function(){return n(o.rows)}),[n,d,o.rows.length]);e.useEffect((function(){v(w.length)}),[w.length]);var k=e.useMemo((function(){return o.checkbox?o.rows.filter((function(e){var t;return null===(t=o.checkbox)||void 0===t?void 0:t.checked(e)})):[]}),[o.checkbox,o.rows]);e.useEffect((function(){x({type:"SET",payload:{checkedRecords:k}})}),[k]);var j=e.useMemo((function(){return l(w)}),[w,d]);e.useEffect((function(){f()}),[o.rows]);var q=e.useMemo((function(){return C(j)}),[C,j]),y=e.useMemo((function(){return q.map((function(e){return e.id}))}),[q]),M=e.useMemo((function(){return new Set(y)}),[y]),E=e.useMemo((function(){return o.rows.filter((function(e){return M.has(e.id)})).reduce((function(e,t){var r=Object.keys(t).sort().reduce((function(e,r){return e[r]=t[r],e}),{});return e[t.id]={data:r,stringValue:JSON.stringify(r)},e}),{})}),[o.rows,M]);return e.useEffect((function(){m(o.cols.length)}),[o.cols.length]),e.useEffect((function(){g(y.length)}),[y.length]),e.useEffect((function(){h(y.map((function(e){return E[e].data})))}),[E]),{cols:o.cols,rowMaps:E,pageRowIds:y}};
2
- //# sourceMappingURL=hook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook.js","sources":["../../../../src/table/hook.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo } from \"react\";\nimport { DataObject, DataRecord, TColumnType, TPropsTable } from \"./type\";\nimport { usePageContext } from \"./pagenation/providers\";\nimport { useFilterContext } from \"./filter\";\nimport { useFocusActionContext } from \"./focus/provider\";\nimport { useCheckboxStatusContext } from \"./checkbox/provider\";\nimport { useEditActionContext } from \"./edit/provider\";\nimport { useSortActionContext, useSortTimingContext } from \"./sort/provider\";\nimport { useTablePropertyActionContext } from \"./table-property/provider\";\nimport { usePasteActionContext } from \"./paste/provider\";\nimport { useColumnsContext, useRowContext } from \"./sheet/providers\";\n\nexport function useTable<T extends DataRecord>(props: TPropsTable<T>) {\n const { filter } = useFilterContext();\n const { sort, updatedData } = useSortActionContext();\n const sortTiming = useSortTimingContext();\n const { setRowCount, pageFilter } = usePageContext();\n const { dispatchCheckboxStatus } = useCheckboxStatusContext();\n const { setRows } = usePasteActionContext();\n const { setMaxDisplayColCount, setMaxDisplayRowCount } =\n useTablePropertyActionContext();\n\n const filteredRows = useMemo(\n () => filter(props.rows),\n [filter, sortTiming, props.rows.length]\n );\n\n useEffect(() => {\n setRowCount(filteredRows.length);\n }, [filteredRows.length]);\n\n const checkBoxes = useMemo(() => {\n if (!props.checkbox) {\n return [];\n }\n\n return props.rows.filter((row) => props.checkbox?.checked(row));\n }, [props.checkbox, props.rows]);\n\n useEffect(() => {\n dispatchCheckboxStatus({\n type: \"SET\",\n payload: { checkedRecords: checkBoxes },\n });\n }, [checkBoxes]);\n\n const sortedRows = useMemo(\n () => sort(filteredRows),\n [filteredRows, sortTiming]\n );\n\n useEffect(() => {\n updatedData();\n }, [props.rows]);\n\n const pageRows = useMemo(\n () => pageFilter(sortedRows),\n [pageFilter, sortedRows]\n );\n\n const pageRowIds = useMemo(() => pageRows.map((row) => row.id), [pageRows]);\n const pageRowIdSets = useMemo(() => new Set(pageRowIds), [pageRowIds]);\n\n const rowMaps = useMemo(\n () =>\n props.rows\n .filter((row) => pageRowIdSets.has(row.id))\n .reduce((acc, row) => {\n const rowSortedByKey = Object.keys(row)\n .sort()\n .reduce((acc, key) => {\n acc[key] = row[key];\n return acc;\n }, {} as { [key: string]: string | number });\n\n acc[row.id] = {\n data: rowSortedByKey,\n stringValue: JSON.stringify(rowSortedByKey),\n };\n return acc;\n }, {} as { [id: string | number]: { data: DataObject<any>; stringValue: string } }),\n [props.rows, pageRowIdSets]\n );\n\n useEffect(() => {\n setMaxDisplayColCount(props.cols.length);\n }, [props.cols.length]);\n\n useEffect(() => {\n setMaxDisplayRowCount(pageRowIds.length);\n }, [pageRowIds.length]);\n\n useEffect(() => {\n setRows(pageRowIds.map((id) => rowMaps[id].data));\n }, [rowMaps]);\n\n return {\n cols: props.cols,\n rowMaps,\n pageRowIds,\n };\n}\n\nexport function useCell(rowIndex: number, colIndex: number) {\n const focus = useFocusActionContext();\n const editAction = useEditActionContext();\n const col = useColumnsContext()[colIndex];\n const row = useRowContext();\n const value = row[col.key as string];\n\n const label =\n col.type === \"select\"\n ? col.options?.find((op) => op.value === value)?.label\n : value;\n\n const component = useMemo(() => {\n if (col.editable) {\n return label;\n } else {\n return col.render ? col.render(value as never, row) : label;\n }\n }, [col.editable, label, value, row]);\n\n const type: TColumnType | \"component\" =\n !col.editable && col.render ? \"component\" : col.type;\n\n const focusAtCell = useCallback(() => {\n focus.move(rowIndex, colIndex);\n focus.focus(rowIndex, colIndex);\n }, [focus, rowIndex, colIndex]);\n\n const onDoubleClickCellToEdit: React.MouseEventHandler<HTMLDivElement> =\n useCallback(\n (e) => {\n e.preventDefault();\n focus.move(rowIndex, colIndex);\n focus.focus(rowIndex, colIndex);\n editAction.startEditing();\n },\n [focus, editAction, rowIndex, colIndex]\n );\n\n return {\n type,\n component,\n focusAtCell,\n onDoubleClickCellToEdit,\n };\n}\n"],"names":["rowIndex","colIndex","focus","useFocusActionContext","editAction","useEditActionContext","col","useColumnsContext","row","useRowContext","value","key","label","type","_a","options","find","op","_b","component","useMemo","editable","render","focusAtCell","useCallback","move","onDoubleClickCellToEdit","e","preventDefault","startEditing","props","filter","useFilterContext","useSortActionContext","sort","updatedData","sortTiming","useSortTimingContext","usePageContext","setRowCount","pageFilter","dispatchCheckboxStatus","useCheckboxStatusContext","setRows","usePasteActionContext","_c","useTablePropertyActionContext","setMaxDisplayColCount","setMaxDisplayRowCount","filteredRows","rows","length","useEffect","checkBoxes","checkbox","checked","payload","checkedRecords","sortedRows","pageRows","pageRowIds","map","id","pageRowIdSets","Set","rowMaps","has","reduce","acc","rowSortedByKey","Object","keys","data","stringValue","JSON","stringify","cols"],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- "use client";
2
- 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 t}from"./hook.js";import{TableHeaderElement as i}from"./header/header.js";import{PagenationProvider as n}from"./pagenation/providers.js";import{DisplayRange as l,Pagenation as a}from"./pagenation/components.js";import{FilterProvider as d,useFilterContext as s}from"./filter/provider.js";import{TableFilterRemoveButton as c,TableFilterForm as m}from"./filter/components.js";import"./sort/icon.js";import{SortProvider as p}from"./sort/provider.js";import{ColumnsProvider as h}from"./sheet/providers.js";import{FocusProvider as f}from"./focus/provider.js";import{CheckboxProvider as g,CheckboxStatusProvider as u}from"./checkbox/provider.js";import{AllCheckbox as v}from"./checkbox/components.js";import{IdGenerator as b}from"./libs/id-generator.js";import{EditProvider as w}from"./edit/provider.js";import{TablePropertyProvider as x}from"./table-property/provider.js";import{KeyboardSetting as j}from"./operation/components/keyboard-setting.js";import{Row as y}from"./sheet/components.js";import{PasteProvider as k,usePasteActionContext as N}from"./paste/provider.js";import{generateFormattingString as C}from"./libs/conditional-formatting.js";import{Editor as R}from"./edit/ui/editor.js";function F(t){var i,l,a;return r(d,{children:r(p,{initialCondition:null===(i=t.initialCondition)||void 0===i?void 0:i.sort,children:r(n,{rowCount:t.rows.length,perPage:null===(a=null===(l=t.initialCondition)||void 0===l?void 0:l.pagenation)||void 0===a?void 0:a.rowCountPerPage,children:r(g,{checkbox:t.checkbox,children:r(u,{checkboxCount:t.rows.length,children:r(h,{cols:t.cols,errorHandler:t.errorHandler,children:r(f,{children:r(w,{children:r(x,{children:e(k,{rows:t.rows,cols:t.cols,colValidators:{},onUpdateRowFunction:t.onUpdateRow,children:[r(j,{}),r(P,o({},t))]})})})})})})})})})})}function P(o){var n=t(o),d=n.cols,p=n.rowMaps,h=n.pageRowIds,f=s().selectedFilterKey,g=N().onPaste;return e("div",{className:"w-full",children:[r("div",{className:"flex justify-end mb-1 mr-3",children:r(c,{children:r("p",{className:"text-xs underline text-gray-500 hover:text-gray-700",children:"全てのフィルタリング条件を解除する"})})}),e("div",{id:"table-frame",className:"relative h-full max-w-full max-h-[80vh] border border-gray-200 rounded-md overflow-auto",children:[r(R,{rowMaps:p,pageRowIds:h}),e("table",{className:"table",onPaste:function(o){o.preventDefault();var r=o.clipboardData.getData("Text");g(r.replace(/\t/g,",").trim().replace(/\r\n/g,"\n").split("\n").map((function(o){return o.split(",")})))},children:[r("thead",{children:e("tr",{className:"sticky top-0 border-gray-200 z-20 bg-gray-200 text-gray-600 h-[32px]",children:[o.checkbox&&r("th",{children:r(v,{rows:o.rows})}),d.map((function(o,e){return r(i,{id:b.getTableColId(e),columnKey:o.key},o.key)}))]})}),e("tbody",{children:[!!f&&r("tr",{children:r("td",{colSpan:d.length,className:"sticky top-8 left-0 bg-gray-300 w-full shadow-lg rounded-b-2xl z-20 p-0 overflow-hidden",children:r(m,{})})}),0===h.length&&r("tr",{children:r("td",{colSpan:d.length,className:"py-5",children:r("p",{className:"text-center font-bold text-lg",children:"NO DATA"})})}),h.map((function(e,t){return r(y,{existCheckbox:!!o.checkbox,rowIndex:t,dataString:p[e].stringValue,cols:o.cols,onClickRow:o.onClickRow,applyRowFormatting:o.applyRowFormatting,conditionalFormattingString:C(p[e].data,d,o.conditionalFormattings),onUpdateRow:o.onUpdateRow},e)}))]})]})]}),e("div",{className:"mt-1",children:[r(l,{}),r("div",{className:"mt-2",children:r(a,{})})]})]})}export{F as default};
3
- //# sourceMappingURL=base.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cancel-icon.js","sources":["../../../../src/table/cancel-icon.tsx"],"sourcesContent":["import { MdOutlineCancel } from \"react-icons/md\";\n\ntype TPropsCancelIcon = {\n size: number;\n};\n\nexport function CancelIcon(props: TPropsCancelIcon) {\n return <MdOutlineCancel size={`${props.size}px`} />;\n}\n"],"names":["CancelIcon","props","_jsx","MdOutlineCancel","size","concat"],"mappings":"qHAMM,SAAUA,EAAWC,GACzB,OAAOC,EAACC,EAAe,CAACC,KAAM,GAAGC,OAAAJ,EAAMG,KAAQ,OACjD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"edit-icon.js","sources":["../../../../src/table/edit-icon.tsx"],"sourcesContent":["import { LiaEdit } from \"react-icons/lia\";\n\ntype TPropsEditIcon = {\n size: number;\n};\n\nexport function EditIcon(props: TPropsEditIcon) {\n return <LiaEdit size={`${props.size}px`} />;\n}\n"],"names":["EditIcon","props","_jsx","LiaEdit","size","concat"],"mappings":"8GAMM,SAAUA,EAASC,GACvB,OAAOC,EAACC,EAAO,CAACC,KAAM,GAAGC,OAAAJ,EAAMG,KAAQ,OACzC"}
@@ -1,2 +0,0 @@
1
- import{useMemo as t,useEffect as r,useCallback as o}from"react";import{usePageContext as e}from"./pagenation/providers.js";import"react/jsx-runtime";import{useFilterContext as n}from"./filter/provider.js";import"./filter/constants.js";import{useColumnsContext as i,useRowContext as u}from"./sheet/providers.js";import{useFocusActionContext as c}from"./focus/provider.js";import{useCheckboxStatusContext as s}from"./checkbox/provider.js";import{useEditActionContext as f}from"./edit/provider.js";import{useSortActionContext as p,useSortTimingContext as a}from"./sort/provider.js";import{useTablePropertyActionContext as l}from"./table-property/provider.js";import{usePasteActionContext as d}from"./paste/provider.js";function m(o){var i=n().filter,u=p(),c=u.sort,f=u.updatedData,m=a(),v=e(),h=v.setRowCount,g=v.pageFilter,w=s().dispatchCheckboxStatus,b=d().setRows,j=l(),y=j.setMaxDisplayColCount,k=j.setMaxDisplayRowCount,x=t((function(){return i(o.rows)}),[i,m,o.rows.length]);r((function(){h(x.length)}),[x.length]);var C=t((function(){return o.checkbox?o.rows.filter((function(t){var r;return null===(r=o.checkbox)||void 0===r?void 0:r.checked(t)})):[]}),[o.checkbox,o.rows]);r((function(){w({type:"SET",payload:{checkedRecords:C}})}),[C]);var D=t((function(){return c(x)}),[x,m]);r((function(){f()}),[o.rows]);var R=t((function(){return g(D)}),[g,D]),S=t((function(){return R.map((function(t){return t.id}))}),[R]),E=t((function(){return new Set(S)}),[S]),M=t((function(){return o.rows.filter((function(t){return E.has(t.id)})).reduce((function(t,r){var o=Object.keys(r).sort().reduce((function(t,o){return t[o]=r[o],t}),{});return t[r.id]={data:o,stringValue:JSON.stringify(o)},t}),{})}),[o.rows,E]);return r((function(){y(o.cols.length)}),[o.cols.length]),r((function(){k(S.length)}),[S.length]),r((function(){b(S.map((function(t){return M[t].data})))}),[M]),{cols:o.cols,rowMaps:M,pageRowIds:S}}function v(r,e){var n,s,p=c(),a=f(),l=i()[e],d=u(),m=d[l.key],v="select"===l.type?null===(s=null===(n=l.options)||void 0===n?void 0:n.find((function(t){return t.value===m})))||void 0===s?void 0:s.label:m,h=t((function(){return l.editable?v:l.render?l.render(m,d):v}),[l.editable,v,m,d]);return{type:!l.editable&&l.render?"component":l.type,component:h,focusAtCell:o((function(){p.move(r,e),p.focus(r,e)}),[p,r,e]),onDoubleClickCellToEdit:o((function(t){t.preventDefault(),p.move(r,e),p.focus(r,e),a.startEditing()}),[p,a,r,e])}}export{v as useCell,m as useTable};
2
- //# sourceMappingURL=hook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook.js","sources":["../../../../src/table/hook.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo } from \"react\";\nimport { DataObject, DataRecord, TColumnType, TPropsTable } from \"./type\";\nimport { usePageContext } from \"./pagenation/providers\";\nimport { useFilterContext } from \"./filter\";\nimport { useFocusActionContext } from \"./focus/provider\";\nimport { useCheckboxStatusContext } from \"./checkbox/provider\";\nimport { useEditActionContext } from \"./edit/provider\";\nimport { useSortActionContext, useSortTimingContext } from \"./sort/provider\";\nimport { useTablePropertyActionContext } from \"./table-property/provider\";\nimport { usePasteActionContext } from \"./paste/provider\";\nimport { useColumnsContext, useRowContext } from \"./sheet/providers\";\n\nexport function useTable<T extends DataRecord>(props: TPropsTable<T>) {\n const { filter } = useFilterContext();\n const { sort, updatedData } = useSortActionContext();\n const sortTiming = useSortTimingContext();\n const { setRowCount, pageFilter } = usePageContext();\n const { dispatchCheckboxStatus } = useCheckboxStatusContext();\n const { setRows } = usePasteActionContext();\n const { setMaxDisplayColCount, setMaxDisplayRowCount } =\n useTablePropertyActionContext();\n\n const filteredRows = useMemo(\n () => filter(props.rows),\n [filter, sortTiming, props.rows.length]\n );\n\n useEffect(() => {\n setRowCount(filteredRows.length);\n }, [filteredRows.length]);\n\n const checkBoxes = useMemo(() => {\n if (!props.checkbox) {\n return [];\n }\n\n return props.rows.filter((row) => props.checkbox?.checked(row));\n }, [props.checkbox, props.rows]);\n\n useEffect(() => {\n dispatchCheckboxStatus({\n type: \"SET\",\n payload: { checkedRecords: checkBoxes },\n });\n }, [checkBoxes]);\n\n const sortedRows = useMemo(\n () => sort(filteredRows),\n [filteredRows, sortTiming]\n );\n\n useEffect(() => {\n updatedData();\n }, [props.rows]);\n\n const pageRows = useMemo(\n () => pageFilter(sortedRows),\n [pageFilter, sortedRows]\n );\n\n const pageRowIds = useMemo(() => pageRows.map((row) => row.id), [pageRows]);\n const pageRowIdSets = useMemo(() => new Set(pageRowIds), [pageRowIds]);\n\n const rowMaps = useMemo(\n () =>\n props.rows\n .filter((row) => pageRowIdSets.has(row.id))\n .reduce((acc, row) => {\n const rowSortedByKey = Object.keys(row)\n .sort()\n .reduce((acc, key) => {\n acc[key] = row[key];\n return acc;\n }, {} as { [key: string]: string | number });\n\n acc[row.id] = {\n data: rowSortedByKey,\n stringValue: JSON.stringify(rowSortedByKey),\n };\n return acc;\n }, {} as { [id: string | number]: { data: DataObject<any>; stringValue: string } }),\n [props.rows, pageRowIdSets]\n );\n\n useEffect(() => {\n setMaxDisplayColCount(props.cols.length);\n }, [props.cols.length]);\n\n useEffect(() => {\n setMaxDisplayRowCount(pageRowIds.length);\n }, [pageRowIds.length]);\n\n useEffect(() => {\n setRows(pageRowIds.map((id) => rowMaps[id].data));\n }, [rowMaps]);\n\n return {\n cols: props.cols,\n rowMaps,\n pageRowIds,\n };\n}\n\nexport function useCell(rowIndex: number, colIndex: number) {\n const focus = useFocusActionContext();\n const editAction = useEditActionContext();\n const col = useColumnsContext()[colIndex];\n const row = useRowContext();\n const value = row[col.key as string];\n\n const label =\n col.type === \"select\"\n ? col.options?.find((op) => op.value === value)?.label\n : value;\n\n const component = useMemo(() => {\n if (col.editable) {\n return label;\n } else {\n return col.render ? col.render(value as never, row) : label;\n }\n }, [col.editable, label, value, row]);\n\n const type: TColumnType | \"component\" =\n !col.editable && col.render ? \"component\" : col.type;\n\n const focusAtCell = useCallback(() => {\n focus.move(rowIndex, colIndex);\n focus.focus(rowIndex, colIndex);\n }, [focus, rowIndex, colIndex]);\n\n const onDoubleClickCellToEdit: React.MouseEventHandler<HTMLDivElement> =\n useCallback(\n (e) => {\n e.preventDefault();\n focus.move(rowIndex, colIndex);\n focus.focus(rowIndex, colIndex);\n editAction.startEditing();\n },\n [focus, editAction, rowIndex, colIndex]\n );\n\n return {\n type,\n component,\n focusAtCell,\n onDoubleClickCellToEdit,\n };\n}\n"],"names":["useTable","props","filter","useFilterContext","_a","useSortActionContext","sort","updatedData","sortTiming","useSortTimingContext","_b","usePageContext","setRowCount","pageFilter","dispatchCheckboxStatus","useCheckboxStatusContext","setRows","usePasteActionContext","_c","useTablePropertyActionContext","setMaxDisplayColCount","setMaxDisplayRowCount","filteredRows","useMemo","rows","length","useEffect","checkBoxes","checkbox","row","checked","type","payload","checkedRecords","sortedRows","pageRows","pageRowIds","map","id","pageRowIdSets","Set","rowMaps","has","reduce","acc","rowSortedByKey","Object","keys","key","data","stringValue","JSON","stringify","cols","useCell","rowIndex","colIndex","focus","useFocusActionContext","editAction","useEditActionContext","col","useColumnsContext","useRowContext","value","label","options","find","op","component","editable","render","focusAtCell","useCallback","move","onDoubleClickCellToEdit","e","preventDefault","startEditing"],"mappings":"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"}
File without changes
File without changes
File without changes
File without changes