@teppen/react-ui 1.8.8 → 1.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var e=require("react/jsx-runtime"),o=require("../hooks.js");exports.TableCell=function(n){var s=o.useCell(n.id,n.row),l=s.type,t=s.component,i=s.onDoubleClick,c=s.onMouseDown,r=s.onMouseEnter;return e.jsx("td",{id:n.id,className:"".concat(n.cellFormatClassName," select-none"),onDoubleClick:n.isExistOnClickRow?void 0:i,onMouseDown:c,onMouseEnter:r,children:e.jsx("div",{className:"flex items-center gap-3 min-h-10 w-fit p-2 cursor-default",onClick:function(e){e.stopPropagation()},children:"component"===l?t:e.jsx("div",{onDoubleClick:i,children:e.jsx("p",{className:"cell-data text-left whitespace-nowrap",children:t})})})})};
2
+ "use strict";var e=require("react/jsx-runtime"),o=require("../../id/provider.js"),l=require("../hooks.js");exports.TableCell=function(n){var s=o.useTableIdGenerator(),i=l.useCell(n.id,n.row),r=i.type,t=i.component,a=i.onDoubleClick,c=i.onMouseDown,u=i.onMouseEnter,d=s.extractCellIndexFromId(n.id);d[0];var m=d[1];return e.jsx("td",{id:n.id,className:"table-col-".concat(m," ").concat(n.cellFormatClassName),onDoubleClick:n.isExistOnClickRow?void 0:a,onMouseDown:c,onMouseEnter:u,children:e.jsx("div",{className:"flex items-center gap-3 min-h-10 w-fit max-w-full p-2 cursor-default",onClick:function(e){e.stopPropagation()},children:"component"===r?t:e.jsx("div",{onDoubleClick:a,className:"max-w-full",children:e.jsx("p",{className:"text-left max-w-full select-none overflow-hidden whitespace-nowrap text-ellipsis",children:t})})})})};
3
3
  //# sourceMappingURL=cell.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use strict";var e=require("react/jsx-runtime"),t=require("../../constant.js"),r=require("./context.js"),i=require("./reducer.js");var n=function(e){return e.reduce((function(e,r){return e[r.key]={colWidth:r.initialWidth||t.DEFAULT_COL_WIDTH,minWidth:r.minWidth||t.DEFAULT_MIN_COL_WIDTH},e}),{})};exports.ColumnsWidthProvider=function(t){var u=i.useColumnsWidthReducer(n(t.initialState)),o=u.state,d=u.action;return e.jsx(r.ColumnsWidthStateContext.Provider,{value:o,children:e.jsx(r.ColumnsWidthActionContext.Provider,{value:d,children:t.children})})};
2
+ "use strict";var e=require("react/jsx-runtime"),t=require("../../constant.js"),i=require("./context.js"),r=require("./reducer.js");var n=function(e){return e.reduce((function(e,i,r){return e[i.key]={colWidth:i.initialWidth||t.DEFAULT_COL_WIDTH,minWidth:i.minWidth||t.DEFAULT_MIN_COL_WIDTH,index:r},e}),{})};exports.ColumnsWidthProvider=function(t){var u=r.useColumnsWidthReducer(n(t.initialState)),d=u.state,o=u.action;return e.jsx(i.ColumnsWidthStateContext.Provider,{value:d,children:e.jsx(i.ColumnsWidthActionContext.Provider,{value:o,children:t.children})})};
3
3
  //# sourceMappingURL=provider.js.map
@@ -1,2 +1,2 @@
1
- "use strict";var t=require("../../../../node_modules/tslib/tslib.es6.js"),n=require("react"),e=require("../../constant.js"),s=function(n,e){var s,i;switch(e.type){case"init":return e.payload.columnsWidth;case"setMinWidth":return t.__assign(t.__assign({},n),((s={})[e.payload.key]=t.__assign(t.__assign({},n[e.payload.key]),{minWidth:e.payload.minWidth}),s));case"set":return t.__assign(t.__assign({},n),((i={})[e.payload.key]=t.__assign(t.__assign({},n[e.payload.key]),{colWidth:e.payload.colWidth}),i));default:return n}};exports.columnsWidthReducer=s,exports.useColumnsWidthReducer=function(t){var i=n.useReducer(s,t),o=i[0],a=i[1];return{state:n.useMemo((function(){return{getColumnWidth:function(t){var n=o[t];return n?n.colWidth:(console.warn("Column width state not found: ".concat(t)),e.DEFAULT_COL_WIDTH)},getColumnMinWidth:function(t){var n=o[t];return n?n.minWidth:(console.warn("Column width state not found: ".concat(t)),e.DEFAULT_MIN_COL_WIDTH)}}}),[o]),action:n.useMemo((function(){return{setColWidth:function(t,n){a({type:"set",payload:{key:t,colWidth:n}})}}}),[])}};
1
+ "use strict";var t=require("../../../../node_modules/tslib/tslib.es6.js"),n=require("react"),e=require("../../constant.js"),o=function(n,e){var o,c;switch(e.type){case"init":return e.payload.columnsWidth;case"setMinWidth":return t.__assign(t.__assign({},n),((o={})[e.payload.key]=t.__assign(t.__assign({},n[e.payload.key]),{minWidth:e.payload.minWidth}),o));case"set":return t.__assign(t.__assign({},n),((c={})[e.payload.key]=t.__assign(t.__assign({},n[e.payload.key]),{colWidth:e.payload.colWidth}),c));default:return n}};exports.columnsWidthReducer=o,exports.useColumnsWidthReducer=function(t){var c=n.useReducer(o,t),i=c[0],a=c[1],u=n.useRef(null),r=n.useMemo((function(){return{getColumnWidth:function(t){var n=i[t];return n?n.colWidth:(console.warn("Column width state not found: ".concat(t)),e.DEFAULT_COL_WIDTH)},getColumnMinWidth:function(t){var n=i[t];return n?n.minWidth:(console.warn("Column width state not found: ".concat(t)),e.DEFAULT_MIN_COL_WIDTH)}}}),[i]),s=n.useMemo((function(){return{setColWidth:function(t,n){u.current=t,a({type:"set",payload:{key:t,colWidth:n}})}}}),[]);return n.useLayoutEffect((function(){if(u.current){var t=u.current,n=setTimeout((function(){var n,e,o;n=i[t].colWidth,e=i[t].index,o="table-col-".concat(e),document.querySelectorAll(".".concat(o)).forEach((function(t){t.setAttribute("style","width: ".concat(n,"px; min-width: ").concat(n,"px; max-width: ").concat(n,"px;"))}))}),200);return function(){clearTimeout(n)}}Object.keys(i).forEach((function(t){var n=i[t].colWidth,e=i[t].index,o="table-col-".concat(e);document.querySelectorAll(".".concat(o)).forEach((function(t){t.setAttribute("style","width: ".concat(n,"px; min-width: ").concat(n,"px; max-width: ").concat(n,"px;"))}))}))}),[i]),{state:r,action:s}};
2
2
  //# sourceMappingURL=reducer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../../../../src/table/header/columns-width/reducer.ts"],"sourcesContent":["import { useMemo, useReducer } from \"react\";\nimport { TColumnsWidthHook, TColumnsWidthReducer } from \"./type\";\nimport { DEFAULT_COL_WIDTH, DEFAULT_MIN_COL_WIDTH } from \"../../constant\";\n\nexport const columnsWidthReducer: TColumnsWidthReducer = (state, action) => {\n switch (action.type) {\n case \"init\":\n return action.payload.columnsWidth;\n case \"setMinWidth\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n minWidth: action.payload.minWidth,\n },\n };\n case \"set\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n colWidth: action.payload.colWidth,\n },\n };\n default:\n return state;\n }\n};\n\nexport const useColumnsWidthReducer: TColumnsWidthHook = (initialState) => {\n const [state, dispatch] = useReducer(columnsWidthReducer, initialState);\n\n const stateActions = useMemo(\n () => ({\n getColumnWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_COL_WIDTH;\n }\n\n return s.colWidth;\n },\n getColumnMinWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_MIN_COL_WIDTH;\n }\n\n return s.minWidth;\n },\n }),\n [state]\n );\n\n const action = useMemo(\n () => ({\n setColWidth: (key: string, colWidth: number) => {\n dispatch({ type: \"set\", payload: { key, colWidth } });\n },\n }),\n []\n );\n\n return { state: stateActions, action };\n};\n"],"names":["columnsWidthReducer","state","action","type","payload","columnsWidth","__assign","_a","key","minWidth","_b","colWidth","initialState","useReducer","dispatch","useMemo","getColumnWidth","s","console","warn","DEFAULT_COL_WIDTH","getColumnMinWidth","DEFAULT_MIN_COL_WIDTH","setColWidth"],"mappings":"4HAIaA,EAA4C,SAACC,EAAOC,WAC/D,OAAQA,EAAOC,MACb,IAAK,OACH,OAAOD,EAAOE,QAAQC,aACxB,IAAK,cACH,OACKC,EAAAA,SAAAA,EAAAA,SAAA,GAAAL,KACFM,EAAA,IAAAL,EAAOE,QAAQI,KAAGF,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BC,SAAUP,EAAOE,QAAQK,WAE3BF,IACJ,IAAK,MACH,OACKD,EAAAA,SAAAA,EAAAA,SAAA,GAAAL,KACFS,EAAA,IAAAR,EAAOE,QAAQI,KAAGF,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BG,SAAUT,EAAOE,QAAQO,WAE3BD,IACJ,QACE,OAAOT,EAEb,+DAEyD,SAACW,GAClD,IAAAL,EAAoBM,EAAAA,WAAWb,EAAqBY,GAAnDX,EAAKM,EAAA,GAAEO,OAqCd,MAAO,CAAEb,MAnCYc,WACnB,WAAM,MAAC,CACLC,eAAgB,SAACR,GACf,IAAMS,EAAIhB,EAAMO,GAEhB,OAAKS,EAKEA,EAAEN,UAJPO,QAAQC,KAAK,wCAAiCX,IACvCY,oBAIV,EACDC,kBAAmB,SAACb,GAClB,IAAMS,EAAIhB,EAAMO,GAEhB,OAAKS,EAKEA,EAAER,UAJPS,QAAQC,KAAK,wCAAiCX,IACvCc,wBAIV,EACD,GACF,CAACrB,IAY2BC,OATfa,WACb,WAAM,MAAC,CACLQ,YAAa,SAACf,EAAaG,GACzBG,EAAS,CAAEX,KAAM,MAAOC,QAAS,CAAEI,MAAKG,aACzC,EAHG,GAKN,IAIJ"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../../../../src/table/header/columns-width/reducer.ts"],"sourcesContent":["import { useMemo, useReducer, useRef, useLayoutEffect } from \"react\";\nimport { TColumnsWidthHook, TColumnsWidthReducer } from \"./type\";\nimport { DEFAULT_COL_WIDTH, DEFAULT_MIN_COL_WIDTH } from \"../../constant\";\n\nexport const columnsWidthReducer: TColumnsWidthReducer = (state, action) => {\n switch (action.type) {\n case \"init\":\n return action.payload.columnsWidth;\n case \"setMinWidth\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n minWidth: action.payload.minWidth,\n },\n };\n case \"set\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n colWidth: action.payload.colWidth,\n },\n };\n default:\n return state;\n }\n};\n\nexport const useColumnsWidthReducer: TColumnsWidthHook = (initialState) => {\n const [state, dispatch] = useReducer(columnsWidthReducer, initialState);\n const updateKeyRef = useRef<string | null>(null);\n\n const stateActions = useMemo(\n () => ({\n getColumnWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_COL_WIDTH;\n }\n\n return s.colWidth;\n },\n getColumnMinWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_MIN_COL_WIDTH;\n }\n\n return s.minWidth;\n },\n }),\n [state]\n );\n\n const action = useMemo(\n () => ({\n setColWidth: (key: string, colWidth: number) => {\n updateKeyRef.current = key;\n dispatch({ type: \"set\", payload: { key, colWidth } });\n },\n }),\n []\n );\n\n useLayoutEffect(() => {\n if (updateKeyRef.current) {\n const key = updateKeyRef.current;\n\n const updateColWidth = () => {\n const colWidth = state[key].colWidth;\n const index = state[key].index;\n\n const className = `table-col-${index}`;\n const colElements = document.querySelectorAll(`.${className}`);\n colElements.forEach((colElement) => {\n colElement.setAttribute(\n \"style\",\n `width: ${colWidth}px; min-width: ${colWidth}px; max-width: ${colWidth}px;`\n );\n });\n };\n\n const timer = setTimeout(() => {\n updateColWidth();\n }, 200);\n\n return () => {\n clearTimeout(timer);\n };\n } else {\n Object.keys(state).forEach((key) => {\n const colWidth = state[key].colWidth;\n const index = state[key].index;\n\n const className = `table-col-${index}`;\n const colElements = document.querySelectorAll(`.${className}`);\n colElements.forEach((colElement) => {\n colElement.setAttribute(\n \"style\",\n `width: ${colWidth}px; min-width: ${colWidth}px; max-width: ${colWidth}px;`\n );\n });\n });\n }\n }, [state]);\n\n return { state: stateActions, action };\n};\n"],"names":["columnsWidthReducer","state","action","type","payload","columnsWidth","__assign","_a","key","minWidth","_b","colWidth","initialState","useReducer","dispatch","updateKeyRef","useRef","stateActions","useMemo","getColumnWidth","s","console","warn","DEFAULT_COL_WIDTH","getColumnMinWidth","DEFAULT_MIN_COL_WIDTH","setColWidth","current","useLayoutEffect","key_1","timer_1","setTimeout","index","className","concat","document","querySelectorAll","forEach","colElement","setAttribute","clearTimeout","Object","keys"],"mappings":"4HAIaA,EAA4C,SAACC,EAAOC,WAC/D,OAAQA,EAAOC,MACb,IAAK,OACH,OAAOD,EAAOE,QAAQC,aACxB,IAAK,cACH,OACKC,EAAAA,SAAAA,EAAAA,SAAA,GAAAL,KACFM,EAAA,IAAAL,EAAOE,QAAQI,KAAGF,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BC,SAAUP,EAAOE,QAAQK,WAE3BF,IACJ,IAAK,MACH,OACKD,EAAAA,SAAAA,EAAAA,SAAA,GAAAL,KACFS,EAAA,IAAAR,EAAOE,QAAQI,KAAGF,EAAAA,SAAAA,EAAAA,SAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BG,SAAUT,EAAOE,QAAQO,WAE3BD,IACJ,QACE,OAAOT,EAEb,+DAEyD,SAACW,GAClD,IAAAL,EAAoBM,EAAAA,WAAWb,EAAqBY,GAAnDX,EAAKM,EAAA,GAAEO,OACRC,EAAeC,SAAsB,MAErCC,EAAeC,WACnB,WAAM,MAAC,CACLC,eAAgB,SAACX,GACf,IAAMY,EAAInB,EAAMO,GAEhB,OAAKY,EAKEA,EAAET,UAJPU,QAAQC,KAAK,wCAAiCd,IACvCe,oBAIV,EACDC,kBAAmB,SAAChB,GAClB,IAAMY,EAAInB,EAAMO,GAEhB,OAAKY,EAKEA,EAAEX,UAJPY,QAAQC,KAAK,wCAAiCd,IACvCiB,wBAIV,EACD,GACF,CAACxB,IAGGC,EAASgB,WACb,WAAM,MAAC,CACLQ,YAAa,SAAClB,EAAaG,GACzBI,EAAaY,QAAUnB,EACvBM,EAAS,CAAEX,KAAM,MAAOC,QAAS,CAAEI,MAAKG,aACzC,EAJG,GAMN,IA6CF,OA1CAiB,EAAAA,iBAAgB,WACd,GAAIb,EAAaY,QAAS,CACxB,IAAME,EAAMd,EAAaY,QAgBnBG,EAAQC,YAAW,WAdF,IACfpB,EACAqB,EAEAC,EAHAtB,EAAWV,EAAM4B,GAAKlB,SACtBqB,EAAQ/B,EAAM4B,GAAKG,MAEnBC,EAAY,aAAaC,OAAAF,GACXG,SAASC,iBAAiB,IAAIF,OAAAD,IACtCI,SAAQ,SAACC,GACnBA,EAAWC,aACT,QACA,UAAAL,OAAUvB,EAAQ,mBAAAuB,OAAkBvB,EAAQ,mBAAAuB,OAAkBvB,EAAQ,OAE1E,GAKD,GAAE,KAEH,OAAO,WACL6B,aAAaV,EACf,CACD,CACCW,OAAOC,KAAKzC,GAAOoC,SAAQ,SAAC7B,GAC1B,IAAMG,EAAWV,EAAMO,GAAKG,SACtBqB,EAAQ/B,EAAMO,GAAKwB,MAEnBC,EAAY,aAAaC,OAAAF,GACXG,SAASC,iBAAiB,IAAIF,OAAAD,IACtCI,SAAQ,SAACC,GACnBA,EAAWC,aACT,QACA,UAAAL,OAAUvB,EAAQ,mBAAAuB,OAAkBvB,EAAQ,mBAAAuB,OAAkBvB,EAAQ,OAE1E,GACF,GAEJ,GAAG,CAACV,IAEG,CAAEA,MAAOgB,EAAcf,OAAMA,EACtC"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{jsx as o}from"react/jsx-runtime";import{useCell as e}from"../hooks.js";function n(n){var t=e(n.id,n.row),i=t.type,c=t.component,l=t.onDoubleClick,r=t.onMouseDown,s=t.onMouseEnter;return o("td",{id:n.id,className:"".concat(n.cellFormatClassName," select-none"),onDoubleClick:n.isExistOnClickRow?void 0:l,onMouseDown:r,onMouseEnter:s,children:o("div",{className:"flex items-center gap-3 min-h-10 w-fit p-2 cursor-default",onClick:function(o){o.stopPropagation()},children:"component"===i?c:o("div",{onDoubleClick:l,children:o("p",{className:"cell-data text-left whitespace-nowrap",children:c})})})})}export{n as TableCell};
2
+ import{jsx as o}from"react/jsx-runtime";import{useTableIdGenerator as e}from"../../id/provider.js";import{useCell as n}from"../hooks.js";function l(l){var t=e(),i=n(l.id,l.row),r=i.type,c=i.component,a=i.onDoubleClick,s=i.onMouseDown,m=i.onMouseEnter,d=t.extractCellIndexFromId(l.id);d[0];var p=d[1];return o("td",{id:l.id,className:"table-col-".concat(p," ").concat(l.cellFormatClassName),onDoubleClick:l.isExistOnClickRow?void 0:a,onMouseDown:s,onMouseEnter:m,children:o("div",{className:"flex items-center gap-3 min-h-10 w-fit max-w-full p-2 cursor-default",onClick:function(o){o.stopPropagation()},children:"component"===r?c:o("div",{onDoubleClick:a,className:"max-w-full",children:o("p",{className:"text-left max-w-full select-none overflow-hidden whitespace-nowrap text-ellipsis",children:c})})})})}export{l as TableCell};
3
3
  //# sourceMappingURL=cell.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{jsx as r}from"react/jsx-runtime";import{DEFAULT_COL_WIDTH as t,DEFAULT_MIN_COL_WIDTH as i}from"../../constant.js";import{ColumnsWidthStateContext as e,ColumnsWidthActionContext as n}from"./context.js";import{useColumnsWidthReducer as o}from"./reducer.js";function c(t){var i=o(a(t.initialState)),c=i.state,d=i.action;return r(e.Provider,{value:c,children:r(n.Provider,{value:d,children:t.children})})}var a=function(r){return r.reduce((function(r,e){return r[e.key]={colWidth:e.initialWidth||t,minWidth:e.minWidth||i},r}),{})};export{c as ColumnsWidthProvider};
2
+ import{jsx as r}from"react/jsx-runtime";import{DEFAULT_COL_WIDTH as t,DEFAULT_MIN_COL_WIDTH as i}from"../../constant.js";import{ColumnsWidthStateContext as e,ColumnsWidthActionContext as n}from"./context.js";import{useColumnsWidthReducer as o}from"./reducer.js";function c(t){var i=o(d(t.initialState)),c=i.state,a=i.action;return r(e.Provider,{value:c,children:r(n.Provider,{value:a,children:t.children})})}var d=function(r){return r.reduce((function(r,e,n){return r[e.key]={colWidth:e.initialWidth||t,minWidth:e.minWidth||i,index:n},r}),{})};export{c as ColumnsWidthProvider};
3
3
  //# sourceMappingURL=provider.js.map
@@ -1,2 +1,2 @@
1
- import{__assign as t}from"../../../../node_modules/tslib/tslib.es6.js";import{useReducer as n,useMemo as o}from"react";import{DEFAULT_COL_WIDTH as e,DEFAULT_MIN_COL_WIDTH as a}from"../../constant.js";var i=function(n,o){var e,a;switch(o.type){case"init":return o.payload.columnsWidth;case"setMinWidth":return t(t({},n),((e={})[o.payload.key]=t(t({},n[o.payload.key]),{minWidth:o.payload.minWidth}),e));case"set":return t(t({},n),((a={})[o.payload.key]=t(t({},n[o.payload.key]),{colWidth:o.payload.colWidth}),a));default:return n}},r=function(t){var r=n(i,t),d=r[0],c=r[1];return{state:o((function(){return{getColumnWidth:function(t){var n=d[t];return n?n.colWidth:(console.warn("Column width state not found: ".concat(t)),e)},getColumnMinWidth:function(t){var n=d[t];return n?n.minWidth:(console.warn("Column width state not found: ".concat(t)),a)}}}),[d]),action:o((function(){return{setColWidth:function(t,n){c({type:"set",payload:{key:t,colWidth:n}})}}}),[])}};export{i as columnsWidthReducer,r as useColumnsWidthReducer};
1
+ import{__assign as t}from"../../../../node_modules/tslib/tslib.es6.js";import{useReducer as n,useRef as o,useMemo as c,useLayoutEffect as e}from"react";import{DEFAULT_COL_WIDTH as i,DEFAULT_MIN_COL_WIDTH as a}from"../../constant.js";var r=function(n,o){var c,e;switch(o.type){case"init":return o.payload.columnsWidth;case"setMinWidth":return t(t({},n),((c={})[o.payload.key]=t(t({},n[o.payload.key]),{minWidth:o.payload.minWidth}),c));case"set":return t(t({},n),((e={})[o.payload.key]=t(t({},n[o.payload.key]),{colWidth:o.payload.colWidth}),e));default:return n}},u=function(t){var u=n(r,t),l=u[0],d=u[1],s=o(null),h=c((function(){return{getColumnWidth:function(t){var n=l[t];return n?n.colWidth:(console.warn("Column width state not found: ".concat(t)),i)},getColumnMinWidth:function(t){var n=l[t];return n?n.minWidth:(console.warn("Column width state not found: ".concat(t)),a)}}}),[l]),f=c((function(){return{setColWidth:function(t,n){s.current=t,d({type:"set",payload:{key:t,colWidth:n}})}}}),[]);return e((function(){if(s.current){var t=s.current,n=setTimeout((function(){var n,o,c;n=l[t].colWidth,o=l[t].index,c="table-col-".concat(o),document.querySelectorAll(".".concat(c)).forEach((function(t){t.setAttribute("style","width: ".concat(n,"px; min-width: ").concat(n,"px; max-width: ").concat(n,"px;"))}))}),200);return function(){clearTimeout(n)}}Object.keys(l).forEach((function(t){var n=l[t].colWidth,o=l[t].index,c="table-col-".concat(o);document.querySelectorAll(".".concat(c)).forEach((function(t){t.setAttribute("style","width: ".concat(n,"px; min-width: ").concat(n,"px; max-width: ").concat(n,"px;"))}))}))}),[l]),{state:h,action:f}};export{r as columnsWidthReducer,u as useColumnsWidthReducer};
2
2
  //# sourceMappingURL=reducer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../../../../src/table/header/columns-width/reducer.ts"],"sourcesContent":["import { useMemo, useReducer } from \"react\";\nimport { TColumnsWidthHook, TColumnsWidthReducer } from \"./type\";\nimport { DEFAULT_COL_WIDTH, DEFAULT_MIN_COL_WIDTH } from \"../../constant\";\n\nexport const columnsWidthReducer: TColumnsWidthReducer = (state, action) => {\n switch (action.type) {\n case \"init\":\n return action.payload.columnsWidth;\n case \"setMinWidth\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n minWidth: action.payload.minWidth,\n },\n };\n case \"set\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n colWidth: action.payload.colWidth,\n },\n };\n default:\n return state;\n }\n};\n\nexport const useColumnsWidthReducer: TColumnsWidthHook = (initialState) => {\n const [state, dispatch] = useReducer(columnsWidthReducer, initialState);\n\n const stateActions = useMemo(\n () => ({\n getColumnWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_COL_WIDTH;\n }\n\n return s.colWidth;\n },\n getColumnMinWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_MIN_COL_WIDTH;\n }\n\n return s.minWidth;\n },\n }),\n [state]\n );\n\n const action = useMemo(\n () => ({\n setColWidth: (key: string, colWidth: number) => {\n dispatch({ type: \"set\", payload: { key, colWidth } });\n },\n }),\n []\n );\n\n return { state: stateActions, action };\n};\n"],"names":["columnsWidthReducer","state","action","type","payload","columnsWidth","__assign","_a","key","minWidth","_b","colWidth","useColumnsWidthReducer","initialState","useReducer","dispatch","useMemo","getColumnWidth","s","console","warn","DEFAULT_COL_WIDTH","getColumnMinWidth","DEFAULT_MIN_COL_WIDTH","setColWidth"],"mappings":"wMAIa,IAAAA,EAA4C,SAACC,EAAOC,WAC/D,OAAQA,EAAOC,MACb,IAAK,OACH,OAAOD,EAAOE,QAAQC,aACxB,IAAK,cACH,OACKC,EAAAA,EAAA,GAAAL,KACFM,EAAA,IAAAL,EAAOE,QAAQI,KAAGF,EAAAA,EAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BC,SAAUP,EAAOE,QAAQK,WAE3BF,IACJ,IAAK,MACH,OACKD,EAAAA,EAAA,GAAAL,KACFS,EAAA,IAAAR,EAAOE,QAAQI,KAAGF,EAAAA,EAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BG,SAAUT,EAAOE,QAAQO,WAE3BD,IACJ,QACE,OAAOT,EAEb,EAEaW,EAA4C,SAACC,GAClD,IAAAN,EAAoBO,EAAWd,EAAqBa,GAAnDZ,EAAKM,EAAA,GAAEQ,OAqCd,MAAO,CAAEd,MAnCYe,GACnB,WAAM,MAAC,CACLC,eAAgB,SAACT,GACf,IAAMU,EAAIjB,EAAMO,GAEhB,OAAKU,EAKEA,EAAEP,UAJPQ,QAAQC,KAAK,wCAAiCZ,IACvCa,EAIV,EACDC,kBAAmB,SAACd,GAClB,IAAMU,EAAIjB,EAAMO,GAEhB,OAAKU,EAKEA,EAAET,UAJPU,QAAQC,KAAK,wCAAiCZ,IACvCe,EAIV,EACD,GACF,CAACtB,IAY2BC,OATfc,GACb,WAAM,MAAC,CACLQ,YAAa,SAAChB,EAAaG,GACzBI,EAAS,CAAEZ,KAAM,MAAOC,QAAS,CAAEI,MAAKG,aACzC,EAHG,GAKN,IAIJ"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../../../../src/table/header/columns-width/reducer.ts"],"sourcesContent":["import { useMemo, useReducer, useRef, useLayoutEffect } from \"react\";\nimport { TColumnsWidthHook, TColumnsWidthReducer } from \"./type\";\nimport { DEFAULT_COL_WIDTH, DEFAULT_MIN_COL_WIDTH } from \"../../constant\";\n\nexport const columnsWidthReducer: TColumnsWidthReducer = (state, action) => {\n switch (action.type) {\n case \"init\":\n return action.payload.columnsWidth;\n case \"setMinWidth\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n minWidth: action.payload.minWidth,\n },\n };\n case \"set\":\n return {\n ...state,\n [action.payload.key]: {\n ...state[action.payload.key],\n colWidth: action.payload.colWidth,\n },\n };\n default:\n return state;\n }\n};\n\nexport const useColumnsWidthReducer: TColumnsWidthHook = (initialState) => {\n const [state, dispatch] = useReducer(columnsWidthReducer, initialState);\n const updateKeyRef = useRef<string | null>(null);\n\n const stateActions = useMemo(\n () => ({\n getColumnWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_COL_WIDTH;\n }\n\n return s.colWidth;\n },\n getColumnMinWidth: (key: string) => {\n const s = state[key];\n\n if (!s) {\n console.warn(`Column width state not found: ${key}`);\n return DEFAULT_MIN_COL_WIDTH;\n }\n\n return s.minWidth;\n },\n }),\n [state]\n );\n\n const action = useMemo(\n () => ({\n setColWidth: (key: string, colWidth: number) => {\n updateKeyRef.current = key;\n dispatch({ type: \"set\", payload: { key, colWidth } });\n },\n }),\n []\n );\n\n useLayoutEffect(() => {\n if (updateKeyRef.current) {\n const key = updateKeyRef.current;\n\n const updateColWidth = () => {\n const colWidth = state[key].colWidth;\n const index = state[key].index;\n\n const className = `table-col-${index}`;\n const colElements = document.querySelectorAll(`.${className}`);\n colElements.forEach((colElement) => {\n colElement.setAttribute(\n \"style\",\n `width: ${colWidth}px; min-width: ${colWidth}px; max-width: ${colWidth}px;`\n );\n });\n };\n\n const timer = setTimeout(() => {\n updateColWidth();\n }, 200);\n\n return () => {\n clearTimeout(timer);\n };\n } else {\n Object.keys(state).forEach((key) => {\n const colWidth = state[key].colWidth;\n const index = state[key].index;\n\n const className = `table-col-${index}`;\n const colElements = document.querySelectorAll(`.${className}`);\n colElements.forEach((colElement) => {\n colElement.setAttribute(\n \"style\",\n `width: ${colWidth}px; min-width: ${colWidth}px; max-width: ${colWidth}px;`\n );\n });\n });\n }\n }, [state]);\n\n return { state: stateActions, action };\n};\n"],"names":["columnsWidthReducer","state","action","type","payload","columnsWidth","__assign","_a","key","minWidth","_b","colWidth","useColumnsWidthReducer","initialState","useReducer","dispatch","updateKeyRef","useRef","stateActions","useMemo","getColumnWidth","s","console","warn","DEFAULT_COL_WIDTH","getColumnMinWidth","DEFAULT_MIN_COL_WIDTH","setColWidth","current","useLayoutEffect","key_1","timer_1","setTimeout","index","className","concat","document","querySelectorAll","forEach","colElement","setAttribute","clearTimeout","Object","keys"],"mappings":"yOAIa,IAAAA,EAA4C,SAACC,EAAOC,WAC/D,OAAQA,EAAOC,MACb,IAAK,OACH,OAAOD,EAAOE,QAAQC,aACxB,IAAK,cACH,OACKC,EAAAA,EAAA,GAAAL,KACFM,EAAA,IAAAL,EAAOE,QAAQI,KAAGF,EAAAA,EAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BC,SAAUP,EAAOE,QAAQK,WAE3BF,IACJ,IAAK,MACH,OACKD,EAAAA,EAAA,GAAAL,KACFS,EAAA,IAAAR,EAAOE,QAAQI,KAAGF,EAAAA,EAAA,CAAA,EACdL,EAAMC,EAAOE,QAAQI,MAAI,CAC5BG,SAAUT,EAAOE,QAAQO,WAE3BD,IACJ,QACE,OAAOT,EAEb,EAEaW,EAA4C,SAACC,GAClD,IAAAN,EAAoBO,EAAWd,EAAqBa,GAAnDZ,EAAKM,EAAA,GAAEQ,OACRC,EAAeC,EAAsB,MAErCC,EAAeC,GACnB,WAAM,MAAC,CACLC,eAAgB,SAACZ,GACf,IAAMa,EAAIpB,EAAMO,GAEhB,OAAKa,EAKEA,EAAEV,UAJPW,QAAQC,KAAK,wCAAiCf,IACvCgB,EAIV,EACDC,kBAAmB,SAACjB,GAClB,IAAMa,EAAIpB,EAAMO,GAEhB,OAAKa,EAKEA,EAAEZ,UAJPa,QAAQC,KAAK,wCAAiCf,IACvCkB,EAIV,EACD,GACF,CAACzB,IAGGC,EAASiB,GACb,WAAM,MAAC,CACLQ,YAAa,SAACnB,EAAaG,GACzBK,EAAaY,QAAUpB,EACvBO,EAAS,CAAEZ,KAAM,MAAOC,QAAS,CAAEI,MAAKG,aACzC,EAJG,GAMN,IA6CF,OA1CAkB,GAAgB,WACd,GAAIb,EAAaY,QAAS,CACxB,IAAME,EAAMd,EAAaY,QAgBnBG,EAAQC,YAAW,WAdF,IACfrB,EACAsB,EAEAC,EAHAvB,EAAWV,EAAM6B,GAAKnB,SACtBsB,EAAQhC,EAAM6B,GAAKG,MAEnBC,EAAY,aAAaC,OAAAF,GACXG,SAASC,iBAAiB,IAAIF,OAAAD,IACtCI,SAAQ,SAACC,GACnBA,EAAWC,aACT,QACA,UAAAL,OAAUxB,EAAQ,mBAAAwB,OAAkBxB,EAAQ,mBAAAwB,OAAkBxB,EAAQ,OAE1E,GAKD,GAAE,KAEH,OAAO,WACL8B,aAAaV,EACf,CACD,CACCW,OAAOC,KAAK1C,GAAOqC,SAAQ,SAAC9B,GAC1B,IAAMG,EAAWV,EAAMO,GAAKG,SACtBsB,EAAQhC,EAAMO,GAAKyB,MAEnBC,EAAY,aAAaC,OAAAF,GACXG,SAASC,iBAAiB,IAAIF,OAAAD,IACtCI,SAAQ,SAACC,GACnBA,EAAWC,aACT,QACA,UAAAL,OAAUxB,EAAQ,mBAAAwB,OAAkBxB,EAAQ,mBAAAwB,OAAkBxB,EAAQ,OAE1E,GACF,GAEJ,GAAG,CAACV,IAEG,CAAEA,MAAOiB,EAAchB,OAAMA,EACtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teppen/react-ui",
3
- "version": "1.8.8",
3
+ "version": "1.8.9",
4
4
  "description": "React UI Component",
5
5
  "main": "dist/cjs/src/index.js",
6
6
  "module": "dist/esm/src/index.js",