uangcermat-web-toolkit-v2 0.2.26 → 0.2.27

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/build/index.css CHANGED
@@ -351230,6 +351230,9 @@
351230
351230
  .text-\[10px\] {
351231
351231
  font-size: 10px;
351232
351232
  }
351233
+ .text-\[12px\] {
351234
+ font-size: 12px;
351235
+ }
351233
351236
  .text-\[6px\] {
351234
351237
  font-size: 6px;
351235
351238
  }
@@ -9,5 +9,5 @@
9
9
  height: 100vh;
10
10
  width: 100%;
11
11
  }
12
- `;m.GlobalWorkerOptions.workerSrc=new URL("pdfjs-dist/build/pdf.worker.min.js","undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("src/components/Preview/BasePreview.js",document.baseURI).href).toString(),module.exports=function({files:n,isOpen:x,onClose:g,onClickDownload:w,containerFooterStyles:j,isShowPageIndicator:b=!0,ofLabel:p,indicatorLabelStyles:v,isDownloadable:y=!0,isRotateable:N=!0,isZoomable:S=!0,iconRotateLeftContainerStyles:k,iconRotateLeftStyles:M,iconRotateLeftName:C,iconRotateRightContainerStyles:q,iconRotateRightStyles:O,iconRotateRighttName:R,iconMinusContainerStyles:B,iconMinusStyles:P,iconMinusName:_,iconPlusContainerStyles:z,iconPlusStyles:L,iconPlusName:F,iconDownloadContainerStyles:I,iconDownloadStyles:D,iconDownloadName:T,containerPrevStyles:U,iconPrevStyles:$,iconPrevName:G,containerNextStyles:A,iconNextStyles:E,iconNextName:W,containerPreviewStyles:H,iconPreviewStyles:V,iconPreviewName:Z,previewLabel:J,overlayContainerStyles:K,headerContainerStyles:Q,footerContainerStyles:X,separatorStyles:Y}){const[ee,te]=i.useState(),[se,le]=i.useState(!1),ie=i.useRef(null),[re,ne]=i.useState(""),[ae,oe]=i.useState(!0),[ce,de]=i.useState(null),[ue,me]=i.useState(0),[fe,xe]=i.useState(0),[he,ge]=i.useState(1),we=i.useRef(null),je=()=>{ne("grabbing")},be=()=>{ne("grab")},pe=()=>{ne("grab"),oe(!1)},ve=()=>{ne("default"),oe(!0)},ye=()=>{var e;null===(e=we.current)||void 0===e||e.resetTransform(),te(void 0),ne(""),oe(!0),de(null),me(0),ge(1),g()};i.useEffect((()=>{if(ce){const e=ie.current;if(e){const t=1,s=e.getContext("2d");m.getDocument(n[0]).promise.then((l=>{l.getPage(he).then((l=>{const i=l.getViewport({scale:t});e.width=i.width,e.height=i.height,l.render({canvasContext:s,viewport:i})}))}))}}}),[ee,ce,he]),i.useEffect((()=>{const t=()=>e.__awaiter(this,void 0,void 0,(function*(){const t=new FileReader;t.onload=t=>e.__awaiter(this,void 0,void 0,(function*(){var e;const s=new Uint8Array(null===(e=t.target)||void 0===e?void 0:e.result);de(s)}));const s=yield fetch(n[0]).then((e=>e.blob()));t.readAsArrayBuffer(s)}));if(n&&x){const e=a.isImage(n[0])?"image":"document";if("image"===e)return te(e),n.map((e=>a.isImage(e)?"image":"document")).includes("document")&&le(!0),void me(n.length);t(),te("document"),m.getDocument(n[0]).promise.then((e=>{const t=e.numPages;me(t)}))}}),[n,x]);const Ne=e=>t.jsx(t.Fragment,{children:t.jsx(d.default,{label:`${he} ${p||"of"} ${e}`,className:f.twMerge("text-light-whiteSolid text-sm font-normal",v)})});return t.jsx(t.Fragment,{children:x&&ee?t.jsx("div",Object.assign({className:"flex flex-col fixed top-0 left-0 right-0 bottom-0 min-w-full min-h-screen z-[1000]"},{children:t.jsxs("div",Object.assign({className:"relative w-full h-full flex flex-col flex-grow"},{children:[t.jsx("div",{className:f.twMerge("fixed min-w-full min-h-screen bg-dark-blackCoral opacity-70 z-10",K)}),se?null:t.jsx(t.Fragment,{children:t.jsx(r.TransformWrapper,Object.assign({ref:we,disabled:ae,wheel:{smoothStep:.007}},{children:({zoomIn:e,zoomOut:i,resetTransform:a})=>t.jsxs(t.Fragment,{children:[t.jsx("div",Object.assign({className:"absolute top-0 left-0 flex flex-row w-full z-30"},{children:t.jsxs("div",Object.assign({className:f.twMerge("relative w-full min-h-[56px] flex flex-row py-3 px-4",Q)},{children:[t.jsx("div",{className:"absolute top-0 left-0 w-full h-full bg-dark-blackCoral opacity-80 z-10"}),t.jsx(o.default,{label:J||"Preview",leftIcon:Z||"arrowbackleft",leftIconStyles:f.twMerge("fill-light-whiteSolid w-4 h-4 mr-4",V),onClick:ye,className:f.twMerge("bg-transparent border-none font-semibold text-base px-2 h-8 z-30 hover:bg-transparent",H)})]}))})),t.jsx("div",Object.assign({className:"flex flex-1 items-center justify-center w-full z-20"},{children:t.jsx(h,{children:t.jsx(r.TransformComponent,{children:t.jsx("div",Object.assign({className:"flex items-center justify-center w-full h-hull",onClick:()=>{ae&&ye()}},{children:t.jsx("div",Object.assign({className:s.default("max-w-[480px] max-h-[580px] flex items-center justify-center origin-center"),onMouseDown:je,onMouseUp:be,onMouseEnter:pe,onMouseLeave:ve,style:{cursor:re,transform:`rotate(${fe}deg)`}},{children:"image"===ee?t.jsx("img",{src:n[he-1],className:"object-cover max-w-full h-auto"}):t.jsx("canvas",{ref:ie,className:"w-full h-auto"},he)}))}))})})})),(n.length>1||ue>1)&&t.jsxs(t.Fragment,{children:[t.jsx("div",Object.assign({className:f.twMerge("absolute left-2 top-[50%] translate-y-[-50%] flex flex-row items-center min-h-[40px] z-30",1!==he?"visible":"invisible")},{children:t.jsx(c.default,{variant:"secondary",iconName:G||"chevronleft",iconStyles:f.twMerge("w-2 h-2",$),className:f.twMerge("",U),onClick:()=>{a(),1!==he&&(xe(0),ge(he-1))},isDisabledRipple:!0})})),t.jsx("div",Object.assign({className:f.twMerge("absolute right-2 top-[50%] translate-y-[-50%] flex flex-row items-center min-h-[40px] z-30",he!==ue?"visible":"invisible")},{children:t.jsx(c.default,{variant:"secondary",iconName:W||"chevronright",iconStyles:f.twMerge("w-2 h-2",E),className:f.twMerge("",A),onClick:()=>{a(),he!==ue&&(xe(0),ge(he+1))},isDisabledRipple:!0})}))]}),t.jsx("div",Object.assign({className:f.twMerge("absolute bottom-4 left-[50%] translate-x-[-50%] flex flex-row items-center min-h-[40px] z-30 rounded-full overflow-hidden",X)},{children:t.jsxs("div",Object.assign({className:"relative w-full h-full flex flex-row"},{children:[t.jsx("div",{className:f.twMerge("absolute top-0 left-0 w-full h-full bg-dark-blackCoral opacity-80 z-10",j)}),t.jsxs("div",Object.assign({className:"flex flex-row w-full h-full items-center p-2 z-20"},{children:[b&&t.jsxs(t.Fragment,{children:["document"===ee&&ue>1&&Ne(ue),"image"===ee&&n.length>1&&Ne(n.length)]}),N?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:f.twMerge("w-[1px] h-8 bg-dark-bermudaGray mx-3",Y)}),t.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-4"},{children:[t.jsx("div",Object.assign({className:f.twMerge("flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer",k),onClick:()=>{a(),xe((e=>e-90))}},{children:t.jsx(u,{name:C||"rotateLeft",className:f.twMerge("fill-light-whiteSolid w-[15px] h-[15px]",M)})})),t.jsx("div",Object.assign({className:f.twMerge("flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer",q),onClick:()=>{a(),xe((e=>e+90))}},{children:t.jsx(u,{name:R||"rotateRight",className:f.twMerge("fill-light-whiteSolid w-[15px] h-[15px]",O)})}))]}))]}):null,S?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:f.twMerge("w-[1px] h-8 bg-dark-bermudaGray mx-3",Y)}),t.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-4"},{children:[t.jsx("div",Object.assign({className:f.twMerge("flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer",B),onClick:()=>i()},{children:t.jsx(u,{name:_||"minus",className:f.twMerge("fill-light-whiteSolid w-3 h-3",P)})})),t.jsx("div",Object.assign({className:f.twMerge("flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer",z),onClick:()=>e()},{children:t.jsx(u,{name:F||"plus",className:f.twMerge("fill-light-whiteSolid w-3 h-3",L)})}))]}))]}):null,y?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:f.twMerge("w-[1px] h-8 bg-dark-bermudaGray mx-3",Y)}),t.jsx("div",Object.assign({className:f.twMerge("flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer",I),onClick:()=>{w?w("document"===ee?n[0]:n[he-1]):new l({url:"document"===ee?`${n[0]}?x-request=xhr`:`${n[he-1]}?x-request=xhr`}).catch((()=>{window.open(n[0],"_blank")}))}},{children:t.jsx(u,{name:T||"download",className:f.twMerge("fill-light-whiteSolid w-[15px] h-[15px]",D)})}))]}):null]}))]}))}))]})}))})]}))})):null})};
12
+ `;m.GlobalWorkerOptions.workerSrc=new URL("pdfjs-dist/build/pdf.worker.min.js","undefined"==typeof document?new(require("url").URL)("file:"+__filename).href:document.currentScript&&document.currentScript.src||new URL("src/components/Preview/BasePreview.js",document.baseURI).href).toString(),module.exports=function({files:n,isOpen:x,onClose:g,onClickDownload:w,containerFooterStyles:j,isShowPageIndicator:b=!0,ofLabel:p,indicatorLabelStyles:v,isDownloadable:y=!0,isRotateable:N=!0,isZoomable:S=!0,iconRotateLeftContainerStyles:k,iconRotateLeftStyles:M,iconRotateLeftName:C,iconRotateRightContainerStyles:q,iconRotateRightStyles:O,iconRotateRighttName:R,iconMinusContainerStyles:B,iconMinusStyles:P,iconMinusName:_,iconPlusContainerStyles:z,iconPlusStyles:L,iconPlusName:F,iconDownloadContainerStyles:I,iconDownloadStyles:D,iconDownloadName:T,containerPrevStyles:U,iconPrevStyles:$,iconPrevName:G,containerNextStyles:A,iconNextStyles:E,iconNextName:W,containerPreviewStyles:H,iconPreviewStyles:V,iconPreviewName:Z,previewLabel:J,overlayContainerStyles:K,headerContainerStyles:Q,footerContainerStyles:X,separatorStyles:Y}){const[ee,te]=i.useState(),[se,le]=i.useState(!1),ie=i.useRef(null),[re,ne]=i.useState(""),[ae,oe]=i.useState(!0),[ce,de]=i.useState(null),[ue,me]=i.useState(0),[fe,xe]=i.useState(0),[he,ge]=i.useState(1),we=i.useRef(null),je=()=>{ne("grabbing")},be=()=>{ne("grab")},pe=()=>{ne("grab"),oe(!1)},ve=()=>{ne("default"),oe(!0)},ye=()=>{var e;null===(e=we.current)||void 0===e||e.resetTransform(),te(void 0),ne(""),oe(!0),de(null),me(0),ge(1),g()};i.useEffect((()=>{if(ce){const e=ie.current;if(e){const t=1,s=e.getContext("2d");m.getDocument(n[0]).promise.then((l=>{l.getPage(he).then((l=>{const i=l.getViewport({scale:t});e.width=i.width,e.height=i.height,l.render({canvasContext:s,viewport:i})}))}))}}}),[ee,ce,he]),i.useEffect((()=>{const t=()=>e.__awaiter(this,void 0,void 0,(function*(){const t=new FileReader;t.onload=t=>e.__awaiter(this,void 0,void 0,(function*(){var e;const s=new Uint8Array(null===(e=t.target)||void 0===e?void 0:e.result);de(s)}));const s=yield fetch(n[0]).then((e=>e.blob()));t.readAsArrayBuffer(s)}));if(n&&x){const e=a.isImage(n[0])?"image":"document";if("image"===e)return te(e),n.map((e=>a.isImage(e)?"image":"document")).includes("document")&&le(!0),void me(n.length);t(),te("document"),m.getDocument(n[0]).promise.then((e=>{const t=e.numPages;me(t)}))}}),[n,x]);const Ne=e=>t.jsx(t.Fragment,{children:t.jsx(d.default,{label:`${he} ${p||"of"} ${e}`,className:f.twMerge("text-light-whiteSolid text-sm font-normal",v)})});return t.jsx(t.Fragment,{children:x&&ee?t.jsx("div",Object.assign({className:"flex flex-col fixed top-0 left-0 right-0 bottom-0 min-w-full min-h-screen z-[1000]"},{children:t.jsxs("div",Object.assign({className:"relative w-full h-full flex flex-col flex-grow"},{children:[t.jsx("div",{className:f.twMerge("fixed min-w-full min-h-screen bg-dark-blackCoral opacity-70 z-10",K)}),se?null:t.jsx(t.Fragment,{children:t.jsx(r.TransformWrapper,Object.assign({ref:we,disabled:ae,wheel:{smoothStep:.007}},{children:({zoomIn:e,zoomOut:i,resetTransform:a})=>t.jsxs(t.Fragment,{children:[t.jsx("div",Object.assign({className:"absolute top-0 left-0 flex flex-row w-full z-30"},{children:t.jsxs("div",Object.assign({className:f.twMerge("relative w-full min-h-[56px] flex flex-row py-3 px-4",Q)},{children:[t.jsx("div",{className:"absolute top-0 left-0 w-full h-full bg-dark-blackCoral opacity-80 z-10"}),t.jsx(o.default,{label:J||"Preview",leftIcon:Z||"arrowbackleft",leftIconStyles:f.twMerge("fill-light-whiteSolid w-4 h-4 mr-4",V),onClick:ye,className:f.twMerge("bg-transparent border-none font-semibold text-base px-2 h-8 z-30 hover:bg-transparent",H)})]}))})),t.jsx("div",Object.assign({className:"flex flex-1 items-center justify-center w-full z-20"},{children:t.jsx(h,{children:t.jsx(r.TransformComponent,{children:t.jsx("div",Object.assign({className:"flex items-center justify-center w-full h-hull",onClick:()=>{ae&&ye()}},{children:t.jsx("div",Object.assign({className:s.default("max-w-[480px] max-h-[580px] flex items-center justify-center origin-center"),onMouseDown:je,onMouseUp:be,onMouseEnter:pe,onMouseLeave:ve,style:{cursor:re,transform:`rotate(${fe}deg)`}},{children:"image"===ee?t.jsx("img",{src:n[he-1],className:"object-cover max-w-full h-auto"}):t.jsx("canvas",{ref:ie,className:"w-full h-auto"},he)}))}))})})})),(n.length>1||ue>1)&&t.jsxs(t.Fragment,{children:[t.jsx("div",Object.assign({className:f.twMerge("absolute left-2 top-[50%] translate-y-[-50%] flex flex-row items-center min-h-[40px] z-30",1!==he?"visible":"invisible")},{children:t.jsx(c.default,{variant:"secondary",iconName:G||"chevronleft",iconStyles:f.twMerge("w-2 h-2",$),className:f.twMerge("",U),onClick:()=>{a(),1!==he&&(xe(0),ge(he-1))},isDisabledRipple:!0})})),t.jsx("div",Object.assign({className:f.twMerge("absolute right-2 top-[50%] translate-y-[-50%] flex flex-row items-center min-h-[40px] z-30",he!==ue?"visible":"invisible")},{children:t.jsx(c.default,{variant:"secondary",iconName:W||"chevronright",iconStyles:f.twMerge("w-2 h-2",E),className:f.twMerge("",A),onClick:()=>{a(),he!==ue&&(xe(0),ge(he+1))},isDisabledRipple:!0})}))]}),t.jsx("div",Object.assign({className:f.twMerge("absolute bottom-4 left-[50%] translate-x-[-50%] flex flex-row items-center min-h-[40px] z-30 rounded-full overflow-hidden",X)},{children:t.jsxs("div",Object.assign({className:"relative w-full h-full flex flex-row"},{children:[t.jsx("div",{className:f.twMerge("absolute top-0 left-0 w-full h-full bg-dark-blackCoral opacity-80 z-10",j)}),t.jsxs("div",Object.assign({className:"flex flex-row w-full h-full items-center p-2 z-20"},{children:[b&&t.jsxs(t.Fragment,{children:["document"===ee&&ue>1&&Ne(ue),"image"===ee&&n.length>1&&Ne(n.length)]}),N?t.jsxs(t.Fragment,{children:[("document"===ee&&ue>1||"image"===ee&&n.length>1)&&t.jsx("div",{className:f.twMerge("w-[1px] h-8 bg-dark-bermudaGray mx-3",Y)}),t.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-4"},{children:[t.jsx("div",Object.assign({className:f.twMerge("flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer",k),onClick:()=>{a(),xe((e=>e-90))}},{children:t.jsx(u,{name:C||"rotateLeft",className:f.twMerge("fill-light-whiteSolid w-[15px] h-[15px]",M)})})),t.jsx("div",Object.assign({className:f.twMerge("flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer",q),onClick:()=>{a(),xe((e=>e+90))}},{children:t.jsx(u,{name:R||"rotateRight",className:f.twMerge("fill-light-whiteSolid w-[15px] h-[15px]",O)})}))]}))]}):null,S?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:f.twMerge("w-[1px] h-8 bg-dark-bermudaGray mx-3",Y)}),t.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-4"},{children:[t.jsx("div",Object.assign({className:f.twMerge("flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer",B),onClick:()=>i()},{children:t.jsx(u,{name:_||"minus",className:f.twMerge("fill-light-whiteSolid w-3 h-3",P)})})),t.jsx("div",Object.assign({className:f.twMerge("flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer",z),onClick:()=>e()},{children:t.jsx(u,{name:F||"plus",className:f.twMerge("fill-light-whiteSolid w-3 h-3",L)})}))]}))]}):null,y?t.jsxs(t.Fragment,{children:[t.jsx("div",{className:f.twMerge("w-[1px] h-8 bg-dark-bermudaGray mx-3",Y)}),t.jsx("div",Object.assign({className:f.twMerge("flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer",I),onClick:()=>{w?w("document"===ee?n[0]:n[he-1]):new l({url:"document"===ee?`${n[0]}?x-request=xhr`:`${n[he-1]}?x-request=xhr`}).catch((()=>{window.open(n[0],"_blank")}))}},{children:t.jsx(u,{name:T||"download",className:f.twMerge("fill-light-whiteSolid w-[15px] h-[15px]",D)})}))]}):null]}))]}))}))]})}))})]}))})):null})};
13
13
  //# sourceMappingURL=BasePreview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BasePreview.js","sources":["../../../../src/components/Preview/BasePreview.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport JsFileDownloader from 'js-file-downloader';\nimport { useEffect, useRef, useState } from 'react';\nimport { pdfjs } from 'react-pdf';\nimport { TransformComponent, TransformWrapper } from 'react-zoom-pan-pinch';\nimport styled from 'styled-components';\nimport { twMerge } from 'tailwind-merge';\n\nimport { isImage } from '../../utils/isImage';\nimport { BaseButton, BaseButtonIcon } from '../Button';\nimport { Icon } from '../Icon';\nimport { BaseText } from '../Text';\nimport type { BasePreviewInterface } from './BasePreview.type';\n\nconst CustomWrapper = styled.div`\n align-items: center;\n display: flex;\n height: 100vh;\n justify-content: center;\n width: 100%;\n\n div:first-child {\n height: 100vh;\n width: 100%;\n }\n`;\n\npdfjs.GlobalWorkerOptions.workerSrc = new URL(\n 'pdfjs-dist/build/pdf.worker.min.js',\n import.meta.url\n).toString();\n\ntype FileType = 'image' | 'document';\n\nfunction BasePreview({\n files,\n isOpen,\n onClose,\n onClickDownload,\n containerFooterStyles,\n isShowPageIndicator = true,\n ofLabel,\n indicatorLabelStyles,\n isDownloadable = true,\n isRotateable = true,\n isZoomable = true,\n iconRotateLeftContainerStyles,\n iconRotateLeftStyles,\n iconRotateLeftName,\n iconRotateRightContainerStyles,\n iconRotateRightStyles,\n iconRotateRighttName,\n iconMinusContainerStyles,\n iconMinusStyles,\n iconMinusName,\n iconPlusContainerStyles,\n iconPlusStyles,\n iconPlusName,\n iconDownloadContainerStyles,\n iconDownloadStyles,\n iconDownloadName,\n containerPrevStyles,\n iconPrevStyles,\n iconPrevName,\n containerNextStyles,\n iconNextStyles,\n iconNextName,\n containerPreviewStyles,\n iconPreviewStyles,\n iconPreviewName,\n previewLabel,\n overlayContainerStyles,\n headerContainerStyles,\n footerContainerStyles,\n separatorStyles\n}: BasePreviewInterface) {\n const [type, setType] = useState<FileType | undefined>();\n const [isFileNotValid, setIsFielNotValid] = useState<boolean>(false);\n\n // state and red for type document\n const canvasRef = useRef(null);\n const [cursorStyle, setCursorStyle] = useState('');\n const [isDisabled, setIsDisabled] = useState<boolean>(true);\n const [pdfData, setPdfData] = useState<Uint8Array | null>(null);\n const [totalPages, setTotalPages] = useState<number>(0);\n const [rotateDeg, setRotateDeg] = useState<number>(0);\n\n const [indexNum, setIndexNum] = useState<number>(1);\n const previewRef = useRef(null);\n\n const resetState = () => {\n setType(undefined);\n setCursorStyle('');\n setIsDisabled(true);\n setPdfData(null);\n setTotalPages(0);\n setIndexNum(1);\n };\n\n const handleMouseDown = () => {\n setCursorStyle('grabbing');\n };\n\n const handleMouseUp = () => {\n setCursorStyle('grab');\n };\n\n const handleMouseEnter = () => {\n setCursorStyle('grab');\n setIsDisabled(false);\n };\n\n const handleMouseLeave = () => {\n setCursorStyle('default');\n setIsDisabled(true);\n };\n\n const onDownloadFile = () => {\n if (onClickDownload) {\n if (type === 'document') {\n onClickDownload(files[0]);\n } else {\n onClickDownload(files[indexNum - 1]);\n }\n } else {\n new JsFileDownloader({\n url:\n type === 'document' ? `${files[0]}?x-request=xhr` : `${files[indexNum - 1]}?x-request=xhr`\n }).catch(() => {\n window.open(files[0], '_blank');\n });\n }\n };\n\n const handlePrev = () => {\n if (indexNum === 1) return;\n\n setRotateDeg(0);\n setIndexNum(indexNum - 1);\n };\n\n const handleNext = () => {\n if (indexNum === totalPages) return;\n\n setRotateDeg(0);\n setIndexNum(indexNum + 1);\n };\n\n const handleClose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (previewRef.current as any)?.resetTransform();\n resetState();\n onClose();\n };\n\n useEffect(() => {\n if (pdfData) {\n const canvas = canvasRef.current;\n if (canvas) {\n const scale = 1;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const context = (canvas as any).getContext('2d');\n pdfjs.getDocument(files[0]).promise.then((pdf) => {\n pdf.getPage(indexNum).then((page) => {\n const viewport = page.getViewport({ scale });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (canvas as any).width = viewport.width;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (canvas as any).height = viewport.height;\n page.render({\n canvasContext: context,\n viewport: viewport\n });\n });\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [type, pdfData, indexNum]);\n\n useEffect(() => {\n const getDocument = async () => {\n const reader = new FileReader();\n reader.onload = async (event) => {\n const pdfData = new Uint8Array(event.target?.result as ArrayBufferLike);\n setPdfData(pdfData);\n };\n const blob = await fetch(files[0]).then((r) => r.blob());\n reader.readAsArrayBuffer(blob);\n };\n\n const getImage = () => {\n const tempFiles = files.map((file) => (isImage(file) ? 'image' : 'document'));\n\n if (tempFiles.includes('document')) {\n setIsFielNotValid(true);\n }\n\n setTotalPages(files.length);\n };\n\n if (files && isOpen) {\n const tempType = isImage(files[0]) ? 'image' : 'document';\n\n if (tempType === 'image') {\n setType(tempType);\n getImage();\n return;\n }\n\n getDocument();\n setType('document');\n\n pdfjs.getDocument(files[0]).promise.then((pdf) => {\n const totalPages = pdf.numPages;\n setTotalPages(totalPages);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [files, isOpen]);\n\n const renderPageIndicator = (total: number) => (\n <>\n <BaseText\n label={`${indexNum} ${ofLabel || 'of'} ${total}`}\n className={twMerge('text-light-whiteSolid text-sm font-normal', indicatorLabelStyles)}\n />\n </>\n );\n\n return (\n <>\n {isOpen && type ? (\n <div className='flex flex-col fixed top-0 left-0 right-0 bottom-0 min-w-full min-h-screen z-[1000]'>\n <div className='relative w-full h-full flex flex-col flex-grow'>\n {/* Overlay */}\n <div\n className={twMerge(\n 'fixed min-w-full min-h-screen bg-dark-blackCoral opacity-70 z-10',\n overlayContainerStyles\n )}\n />\n\n {!isFileNotValid ? (\n <>\n {/* Body */}\n <TransformWrapper\n ref={previewRef}\n disabled={isDisabled}\n wheel={{ smoothStep: 0.007 }}\n >\n {/* eslint-disable-next-line sonarjs/cognitive-complexity */}\n {({ zoomIn, zoomOut, resetTransform }) => (\n <>\n {/* Header */}\n <div className='absolute top-0 left-0 flex flex-row w-full z-30'>\n <div\n className={twMerge(\n 'relative w-full min-h-[56px] flex flex-row py-3 px-4',\n headerContainerStyles\n )}\n >\n <div className='absolute top-0 left-0 w-full h-full bg-dark-blackCoral opacity-80 z-10' />\n <BaseButton\n label={previewLabel || 'Preview'}\n leftIcon={iconPreviewName || 'arrowbackleft'}\n leftIconStyles={twMerge(\n 'fill-light-whiteSolid w-4 h-4 mr-4',\n iconPreviewStyles\n )}\n onClick={handleClose}\n className={twMerge(\n 'bg-transparent border-none font-semibold text-base px-2 h-8 z-30 hover:bg-transparent',\n containerPreviewStyles\n )}\n />\n </div>\n </div>\n <div className='flex flex-1 items-center justify-center w-full z-20'>\n <CustomWrapper>\n <TransformComponent>\n <div\n className='flex items-center justify-center w-full h-hull'\n onClick={() => {\n if (isDisabled) handleClose();\n }}\n >\n <div\n className={classNames(\n 'max-w-[480px] max-h-[580px] flex items-center justify-center origin-center'\n )}\n onMouseDown={handleMouseDown}\n onMouseUp={handleMouseUp}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n style={{\n cursor: cursorStyle,\n transform: `rotate(${rotateDeg}deg)`\n }}\n >\n {type === 'image' ? (\n <img\n src={files[indexNum - 1]}\n className='object-cover max-w-full h-auto'\n />\n ) : (\n <canvas\n key={indexNum}\n ref={canvasRef}\n className='w-full h-auto'\n />\n )}\n </div>\n </div>\n </TransformComponent>\n </CustomWrapper>\n </div>\n\n {(files.length > 1 || totalPages > 1) && (\n <>\n <div\n className={twMerge(\n 'absolute left-2 top-[50%] translate-y-[-50%] flex flex-row items-center min-h-[40px] z-30',\n indexNum !== 1 ? 'visible' : 'invisible'\n )}\n >\n <BaseButtonIcon\n variant='secondary'\n iconName={iconPrevName || 'chevronleft'}\n iconStyles={twMerge('w-2 h-2', iconPrevStyles)}\n className={twMerge('', containerPrevStyles)}\n onClick={() => {\n resetTransform();\n handlePrev();\n }}\n isDisabledRipple\n />\n </div>\n <div\n className={twMerge(\n 'absolute right-2 top-[50%] translate-y-[-50%] flex flex-row items-center min-h-[40px] z-30',\n indexNum !== totalPages ? 'visible' : 'invisible'\n )}\n >\n <BaseButtonIcon\n variant='secondary'\n iconName={iconNextName || 'chevronright'}\n iconStyles={twMerge('w-2 h-2', iconNextStyles)}\n className={twMerge('', containerNextStyles)}\n onClick={() => {\n resetTransform();\n handleNext();\n }}\n isDisabledRipple\n />\n </div>\n </>\n )}\n\n {/* Footer */}\n <div\n className={twMerge(\n 'absolute bottom-4 left-[50%] translate-x-[-50%] flex flex-row items-center min-h-[40px] z-30 rounded-full overflow-hidden',\n footerContainerStyles\n )}\n >\n <div className='relative w-full h-full flex flex-row'>\n <div\n className={twMerge(\n 'absolute top-0 left-0 w-full h-full bg-dark-blackCoral opacity-80 z-10',\n containerFooterStyles\n )}\n />\n <div className='flex flex-row w-full h-full items-center p-2 z-20'>\n {isShowPageIndicator && (\n <>\n {type === 'document' &&\n totalPages > 1 &&\n renderPageIndicator(totalPages)}\n {type === 'image' &&\n files.length > 1 &&\n renderPageIndicator(files.length)}\n </>\n )}\n {isRotateable ? (\n <>\n <div\n className={twMerge(\n 'w-[1px] h-8 bg-dark-bermudaGray mx-3',\n separatorStyles\n )}\n />\n <div className='flex flex-row items-center gap-x-4'>\n <div\n className={twMerge(\n // eslint-disable-next-line sonarjs/no-duplicate-string\n 'flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer',\n iconRotateLeftContainerStyles\n )}\n onClick={() => {\n resetTransform();\n setRotateDeg((prev) => prev - 90);\n }}\n >\n <Icon\n name={iconRotateLeftName || 'rotateLeft'}\n className={twMerge(\n 'fill-light-whiteSolid w-[15px] h-[15px]',\n iconRotateLeftStyles\n )}\n />\n </div>\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer',\n iconRotateRightContainerStyles\n )}\n onClick={() => {\n resetTransform();\n setRotateDeg((prev) => prev + 90);\n }}\n >\n <Icon\n name={iconRotateRighttName || 'rotateRight'}\n className={twMerge(\n 'fill-light-whiteSolid w-[15px] h-[15px]',\n iconRotateRightStyles\n )}\n />\n </div>\n </div>\n </>\n ) : null}\n {isZoomable ? (\n <>\n <div\n className={twMerge(\n 'w-[1px] h-8 bg-dark-bermudaGray mx-3',\n separatorStyles\n )}\n />\n <div className='flex flex-row items-center gap-x-4'>\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer',\n iconMinusContainerStyles\n )}\n onClick={() => zoomOut()}\n >\n <Icon\n name={iconMinusName || 'minus'}\n className={twMerge(\n 'fill-light-whiteSolid w-3 h-3',\n iconMinusStyles\n )}\n />\n </div>\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer',\n iconPlusContainerStyles\n )}\n onClick={() => zoomIn()}\n >\n <Icon\n name={iconPlusName || 'plus'}\n className={twMerge(\n 'fill-light-whiteSolid w-3 h-3',\n iconPlusStyles\n )}\n />\n </div>\n </div>\n </>\n ) : null}\n {isDownloadable ? (\n <>\n <div\n className={twMerge(\n 'w-[1px] h-8 bg-dark-bermudaGray mx-3',\n separatorStyles\n )}\n />\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer',\n iconDownloadContainerStyles\n )}\n onClick={() => onDownloadFile()}\n >\n <Icon\n name={iconDownloadName || 'download'}\n className={twMerge(\n 'fill-light-whiteSolid w-[15px] h-[15px]',\n iconDownloadStyles\n )}\n />\n </div>\n </>\n ) : null}\n </div>\n </div>\n </div>\n </>\n )}\n </TransformWrapper>\n </>\n ) : null}\n </div>\n </div>\n ) : null}\n </>\n );\n}\n\nexport default BasePreview;\n"],"names":["CustomWrapper","styled","div","pdfjs","GlobalWorkerOptions","workerSrc","URL","document","require","__filename","href","currentScript","src","baseURI","toString","files","isOpen","onClose","onClickDownload","containerFooterStyles","isShowPageIndicator","ofLabel","indicatorLabelStyles","isDownloadable","isRotateable","isZoomable","iconRotateLeftContainerStyles","iconRotateLeftStyles","iconRotateLeftName","iconRotateRightContainerStyles","iconRotateRightStyles","iconRotateRighttName","iconMinusContainerStyles","iconMinusStyles","iconMinusName","iconPlusContainerStyles","iconPlusStyles","iconPlusName","iconDownloadContainerStyles","iconDownloadStyles","iconDownloadName","containerPrevStyles","iconPrevStyles","iconPrevName","containerNextStyles","iconNextStyles","iconNextName","containerPreviewStyles","iconPreviewStyles","iconPreviewName","previewLabel","overlayContainerStyles","headerContainerStyles","footerContainerStyles","separatorStyles","type","setType","useState","isFileNotValid","setIsFielNotValid","canvasRef","useRef","cursorStyle","setCursorStyle","isDisabled","setIsDisabled","pdfData","setPdfData","totalPages","setTotalPages","rotateDeg","setRotateDeg","indexNum","setIndexNum","previewRef","handleMouseDown","handleMouseUp","handleMouseEnter","handleMouseLeave","handleClose","_a","current","resetTransform","undefined","useEffect","canvas","scale","context","getContext","getDocument","promise","then","pdf","getPage","page","viewport","getViewport","width","height","render","canvasContext","__awaiter","this","reader","FileReader","onload","event","Uint8Array","target","result","blob","fetch","r","readAsArrayBuffer","tempType","isImage","map","file","includes","length","numPages","renderPageIndicator","total","_jsx","_Fragment","children","BaseText","label","className","twMerge","_jsxs","jsx","TransformWrapper","Object","assign","ref","disabled","wheel","smoothStep","zoomIn","zoomOut","Fragment","jsxs","BaseButton","leftIcon","leftIconStyles","onClick","TransformComponent","classNames","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","style","cursor","transform","BaseButtonIcon","variant","iconName","iconStyles","isDisabledRipple","prev","Icon","name","JsFileDownloader","url","catch","window","open"],"mappings":"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"}
1
+ {"version":3,"file":"BasePreview.js","sources":["../../../../src/components/Preview/BasePreview.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport JsFileDownloader from 'js-file-downloader';\nimport { useEffect, useRef, useState } from 'react';\nimport { pdfjs } from 'react-pdf';\nimport { TransformComponent, TransformWrapper } from 'react-zoom-pan-pinch';\nimport styled from 'styled-components';\nimport { twMerge } from 'tailwind-merge';\n\nimport { isImage } from '../../utils/isImage';\nimport { BaseButton, BaseButtonIcon } from '../Button';\nimport { Icon } from '../Icon';\nimport { BaseText } from '../Text';\nimport type { BasePreviewInterface } from './BasePreview.type';\n\nconst CustomWrapper = styled.div`\n align-items: center;\n display: flex;\n height: 100vh;\n justify-content: center;\n width: 100%;\n\n div:first-child {\n height: 100vh;\n width: 100%;\n }\n`;\n\npdfjs.GlobalWorkerOptions.workerSrc = new URL(\n 'pdfjs-dist/build/pdf.worker.min.js',\n import.meta.url\n).toString();\n\ntype FileType = 'image' | 'document';\n\nfunction BasePreview({\n files,\n isOpen,\n onClose,\n onClickDownload,\n containerFooterStyles,\n isShowPageIndicator = true,\n ofLabel,\n indicatorLabelStyles,\n isDownloadable = true,\n isRotateable = true,\n isZoomable = true,\n iconRotateLeftContainerStyles,\n iconRotateLeftStyles,\n iconRotateLeftName,\n iconRotateRightContainerStyles,\n iconRotateRightStyles,\n iconRotateRighttName,\n iconMinusContainerStyles,\n iconMinusStyles,\n iconMinusName,\n iconPlusContainerStyles,\n iconPlusStyles,\n iconPlusName,\n iconDownloadContainerStyles,\n iconDownloadStyles,\n iconDownloadName,\n containerPrevStyles,\n iconPrevStyles,\n iconPrevName,\n containerNextStyles,\n iconNextStyles,\n iconNextName,\n containerPreviewStyles,\n iconPreviewStyles,\n iconPreviewName,\n previewLabel,\n overlayContainerStyles,\n headerContainerStyles,\n footerContainerStyles,\n separatorStyles\n}: BasePreviewInterface) {\n const [type, setType] = useState<FileType | undefined>();\n const [isFileNotValid, setIsFielNotValid] = useState<boolean>(false);\n\n // state and red for type document\n const canvasRef = useRef(null);\n const [cursorStyle, setCursorStyle] = useState('');\n const [isDisabled, setIsDisabled] = useState<boolean>(true);\n const [pdfData, setPdfData] = useState<Uint8Array | null>(null);\n const [totalPages, setTotalPages] = useState<number>(0);\n const [rotateDeg, setRotateDeg] = useState<number>(0);\n\n const [indexNum, setIndexNum] = useState<number>(1);\n const previewRef = useRef(null);\n\n const resetState = () => {\n setType(undefined);\n setCursorStyle('');\n setIsDisabled(true);\n setPdfData(null);\n setTotalPages(0);\n setIndexNum(1);\n };\n\n const handleMouseDown = () => {\n setCursorStyle('grabbing');\n };\n\n const handleMouseUp = () => {\n setCursorStyle('grab');\n };\n\n const handleMouseEnter = () => {\n setCursorStyle('grab');\n setIsDisabled(false);\n };\n\n const handleMouseLeave = () => {\n setCursorStyle('default');\n setIsDisabled(true);\n };\n\n const onDownloadFile = () => {\n if (onClickDownload) {\n if (type === 'document') {\n onClickDownload(files[0]);\n } else {\n onClickDownload(files[indexNum - 1]);\n }\n } else {\n new JsFileDownloader({\n url:\n type === 'document' ? `${files[0]}?x-request=xhr` : `${files[indexNum - 1]}?x-request=xhr`\n }).catch(() => {\n window.open(files[0], '_blank');\n });\n }\n };\n\n const handlePrev = () => {\n if (indexNum === 1) return;\n\n setRotateDeg(0);\n setIndexNum(indexNum - 1);\n };\n\n const handleNext = () => {\n if (indexNum === totalPages) return;\n\n setRotateDeg(0);\n setIndexNum(indexNum + 1);\n };\n\n const handleClose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (previewRef.current as any)?.resetTransform();\n resetState();\n onClose();\n };\n\n useEffect(() => {\n if (pdfData) {\n const canvas = canvasRef.current;\n if (canvas) {\n const scale = 1;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const context = (canvas as any).getContext('2d');\n pdfjs.getDocument(files[0]).promise.then((pdf) => {\n pdf.getPage(indexNum).then((page) => {\n const viewport = page.getViewport({ scale });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (canvas as any).width = viewport.width;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (canvas as any).height = viewport.height;\n page.render({\n canvasContext: context,\n viewport: viewport\n });\n });\n });\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [type, pdfData, indexNum]);\n\n useEffect(() => {\n const getDocument = async () => {\n const reader = new FileReader();\n reader.onload = async (event) => {\n const pdfData = new Uint8Array(event.target?.result as ArrayBufferLike);\n setPdfData(pdfData);\n };\n const blob = await fetch(files[0]).then((r) => r.blob());\n reader.readAsArrayBuffer(blob);\n };\n\n const getImage = () => {\n const tempFiles = files.map((file) => (isImage(file) ? 'image' : 'document'));\n\n if (tempFiles.includes('document')) {\n setIsFielNotValid(true);\n }\n\n setTotalPages(files.length);\n };\n\n if (files && isOpen) {\n const tempType = isImage(files[0]) ? 'image' : 'document';\n\n if (tempType === 'image') {\n setType(tempType);\n getImage();\n return;\n }\n\n getDocument();\n setType('document');\n\n pdfjs.getDocument(files[0]).promise.then((pdf) => {\n const totalPages = pdf.numPages;\n setTotalPages(totalPages);\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [files, isOpen]);\n\n const renderPageIndicator = (total: number) => (\n <>\n <BaseText\n label={`${indexNum} ${ofLabel || 'of'} ${total}`}\n className={twMerge('text-light-whiteSolid text-sm font-normal', indicatorLabelStyles)}\n />\n </>\n );\n\n return (\n <>\n {isOpen && type ? (\n <div className='flex flex-col fixed top-0 left-0 right-0 bottom-0 min-w-full min-h-screen z-[1000]'>\n <div className='relative w-full h-full flex flex-col flex-grow'>\n {/* Overlay */}\n <div\n className={twMerge(\n 'fixed min-w-full min-h-screen bg-dark-blackCoral opacity-70 z-10',\n overlayContainerStyles\n )}\n />\n\n {!isFileNotValid ? (\n <>\n {/* Body */}\n <TransformWrapper\n ref={previewRef}\n disabled={isDisabled}\n wheel={{ smoothStep: 0.007 }}\n >\n {/* eslint-disable-next-line sonarjs/cognitive-complexity */}\n {({ zoomIn, zoomOut, resetTransform }) => (\n <>\n {/* Header */}\n <div className='absolute top-0 left-0 flex flex-row w-full z-30'>\n <div\n className={twMerge(\n 'relative w-full min-h-[56px] flex flex-row py-3 px-4',\n headerContainerStyles\n )}\n >\n <div className='absolute top-0 left-0 w-full h-full bg-dark-blackCoral opacity-80 z-10' />\n <BaseButton\n label={previewLabel || 'Preview'}\n leftIcon={iconPreviewName || 'arrowbackleft'}\n leftIconStyles={twMerge(\n 'fill-light-whiteSolid w-4 h-4 mr-4',\n iconPreviewStyles\n )}\n onClick={handleClose}\n className={twMerge(\n 'bg-transparent border-none font-semibold text-base px-2 h-8 z-30 hover:bg-transparent',\n containerPreviewStyles\n )}\n />\n </div>\n </div>\n <div className='flex flex-1 items-center justify-center w-full z-20'>\n <CustomWrapper>\n <TransformComponent>\n <div\n className='flex items-center justify-center w-full h-hull'\n onClick={() => {\n if (isDisabled) handleClose();\n }}\n >\n <div\n className={classNames(\n 'max-w-[480px] max-h-[580px] flex items-center justify-center origin-center'\n )}\n onMouseDown={handleMouseDown}\n onMouseUp={handleMouseUp}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n style={{\n cursor: cursorStyle,\n transform: `rotate(${rotateDeg}deg)`\n }}\n >\n {type === 'image' ? (\n <img\n src={files[indexNum - 1]}\n className='object-cover max-w-full h-auto'\n />\n ) : (\n <canvas\n key={indexNum}\n ref={canvasRef}\n className='w-full h-auto'\n />\n )}\n </div>\n </div>\n </TransformComponent>\n </CustomWrapper>\n </div>\n\n {(files.length > 1 || totalPages > 1) && (\n <>\n <div\n className={twMerge(\n 'absolute left-2 top-[50%] translate-y-[-50%] flex flex-row items-center min-h-[40px] z-30',\n indexNum !== 1 ? 'visible' : 'invisible'\n )}\n >\n <BaseButtonIcon\n variant='secondary'\n iconName={iconPrevName || 'chevronleft'}\n iconStyles={twMerge('w-2 h-2', iconPrevStyles)}\n className={twMerge('', containerPrevStyles)}\n onClick={() => {\n resetTransform();\n handlePrev();\n }}\n isDisabledRipple\n />\n </div>\n <div\n className={twMerge(\n 'absolute right-2 top-[50%] translate-y-[-50%] flex flex-row items-center min-h-[40px] z-30',\n indexNum !== totalPages ? 'visible' : 'invisible'\n )}\n >\n <BaseButtonIcon\n variant='secondary'\n iconName={iconNextName || 'chevronright'}\n iconStyles={twMerge('w-2 h-2', iconNextStyles)}\n className={twMerge('', containerNextStyles)}\n onClick={() => {\n resetTransform();\n handleNext();\n }}\n isDisabledRipple\n />\n </div>\n </>\n )}\n\n {/* Footer */}\n <div\n className={twMerge(\n 'absolute bottom-4 left-[50%] translate-x-[-50%] flex flex-row items-center min-h-[40px] z-30 rounded-full overflow-hidden',\n footerContainerStyles\n )}\n >\n <div className='relative w-full h-full flex flex-row'>\n <div\n className={twMerge(\n 'absolute top-0 left-0 w-full h-full bg-dark-blackCoral opacity-80 z-10',\n containerFooterStyles\n )}\n />\n <div className='flex flex-row w-full h-full items-center p-2 z-20'>\n {isShowPageIndicator && (\n <>\n {type === 'document' &&\n totalPages > 1 &&\n renderPageIndicator(totalPages)}\n {type === 'image' &&\n files.length > 1 &&\n renderPageIndicator(files.length)}\n </>\n )}\n {isRotateable ? (\n <>\n {((type === 'document' && totalPages > 1) ||\n (type === 'image' && files.length > 1)) && (\n <div\n className={twMerge(\n 'w-[1px] h-8 bg-dark-bermudaGray mx-3',\n separatorStyles\n )}\n />\n )}\n <div className='flex flex-row items-center gap-x-4'>\n <div\n className={twMerge(\n // eslint-disable-next-line sonarjs/no-duplicate-string\n 'flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer',\n iconRotateLeftContainerStyles\n )}\n onClick={() => {\n resetTransform();\n setRotateDeg((prev) => prev - 90);\n }}\n >\n <Icon\n name={iconRotateLeftName || 'rotateLeft'}\n className={twMerge(\n 'fill-light-whiteSolid w-[15px] h-[15px]',\n iconRotateLeftStyles\n )}\n />\n </div>\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer',\n iconRotateRightContainerStyles\n )}\n onClick={() => {\n resetTransform();\n setRotateDeg((prev) => prev + 90);\n }}\n >\n <Icon\n name={iconRotateRighttName || 'rotateRight'}\n className={twMerge(\n 'fill-light-whiteSolid w-[15px] h-[15px]',\n iconRotateRightStyles\n )}\n />\n </div>\n </div>\n </>\n ) : null}\n {isZoomable ? (\n <>\n <div\n className={twMerge(\n 'w-[1px] h-8 bg-dark-bermudaGray mx-3',\n separatorStyles\n )}\n />\n <div className='flex flex-row items-center gap-x-4'>\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer',\n iconMinusContainerStyles\n )}\n onClick={() => zoomOut()}\n >\n <Icon\n name={iconMinusName || 'minus'}\n className={twMerge(\n 'fill-light-whiteSolid w-3 h-3',\n iconMinusStyles\n )}\n />\n </div>\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer',\n iconPlusContainerStyles\n )}\n onClick={() => zoomIn()}\n >\n <Icon\n name={iconPlusName || 'plus'}\n className={twMerge(\n 'fill-light-whiteSolid w-3 h-3',\n iconPlusStyles\n )}\n />\n </div>\n </div>\n </>\n ) : null}\n {isDownloadable ? (\n <>\n <div\n className={twMerge(\n 'w-[1px] h-8 bg-dark-bermudaGray mx-3',\n separatorStyles\n )}\n />\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-dark-blackCoral rounded-full cursor-pointer',\n iconDownloadContainerStyles\n )}\n onClick={() => onDownloadFile()}\n >\n <Icon\n name={iconDownloadName || 'download'}\n className={twMerge(\n 'fill-light-whiteSolid w-[15px] h-[15px]',\n iconDownloadStyles\n )}\n />\n </div>\n </>\n ) : null}\n </div>\n </div>\n </div>\n </>\n )}\n </TransformWrapper>\n </>\n ) : null}\n </div>\n </div>\n ) : null}\n </>\n );\n}\n\nexport default BasePreview;\n"],"names":["CustomWrapper","styled","div","pdfjs","GlobalWorkerOptions","workerSrc","URL","document","require","__filename","href","currentScript","src","baseURI","toString","files","isOpen","onClose","onClickDownload","containerFooterStyles","isShowPageIndicator","ofLabel","indicatorLabelStyles","isDownloadable","isRotateable","isZoomable","iconRotateLeftContainerStyles","iconRotateLeftStyles","iconRotateLeftName","iconRotateRightContainerStyles","iconRotateRightStyles","iconRotateRighttName","iconMinusContainerStyles","iconMinusStyles","iconMinusName","iconPlusContainerStyles","iconPlusStyles","iconPlusName","iconDownloadContainerStyles","iconDownloadStyles","iconDownloadName","containerPrevStyles","iconPrevStyles","iconPrevName","containerNextStyles","iconNextStyles","iconNextName","containerPreviewStyles","iconPreviewStyles","iconPreviewName","previewLabel","overlayContainerStyles","headerContainerStyles","footerContainerStyles","separatorStyles","type","setType","useState","isFileNotValid","setIsFielNotValid","canvasRef","useRef","cursorStyle","setCursorStyle","isDisabled","setIsDisabled","pdfData","setPdfData","totalPages","setTotalPages","rotateDeg","setRotateDeg","indexNum","setIndexNum","previewRef","handleMouseDown","handleMouseUp","handleMouseEnter","handleMouseLeave","handleClose","_a","current","resetTransform","undefined","useEffect","canvas","scale","context","getContext","getDocument","promise","then","pdf","getPage","page","viewport","getViewport","width","height","render","canvasContext","__awaiter","this","reader","FileReader","onload","event","Uint8Array","target","result","blob","fetch","r","readAsArrayBuffer","tempType","isImage","map","file","includes","length","numPages","renderPageIndicator","total","_jsx","_Fragment","children","BaseText","label","className","twMerge","_jsxs","jsx","TransformWrapper","Object","assign","ref","disabled","wheel","smoothStep","zoomIn","zoomOut","Fragment","jsxs","BaseButton","leftIcon","leftIconStyles","onClick","TransformComponent","classNames","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","style","cursor","transform","BaseButtonIcon","variant","iconName","iconStyles","isDisabledRipple","prev","Icon","name","JsFileDownloader","url","catch","window","open"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("react"),o=require("../../../node_modules/@formkit/auto-animate/index.mjs.js"),n=require("../../../node_modules/classnames/index.js"),a=require("../../../node_modules/prop-types/index.js"),s=require("../../../node_modules/react-table/index.js");require("../../../node_modules/react-table-sticky/build/index.js");var l=require("styled-components"),i=require("../../hooks/useDidMountEffect.js");require("../../../node_modules/react-query/es/react/setBatchUpdatesFn.js"),require("../../../node_modules/react-query/es/react/setLogger.js");var d=require("../../styles/Colors.js"),c=require("../../utils/freezeColumn.js"),u=require("../../utils/getChildrenOnDisplayName.js");require("../Badge/Badge.js");var b=require("../Badge/BaseBadge.js"),h=require("../Text/BaseText.js"),p=require("../Text/Text.js");require("../Button/ButtonHyperlink.js");var g=require("../Button/BaseButton.js");require("../Button/BaseButtonIcon.js"),require("../Button/Button.js"),require("../Button/ButtonConfirmation.js"),require("../Button/ButtonLink.js"),require("../Button/ButtonRipple.js");var x=require("../LoadingIndicator/LoadingIndicator.js");require("../LoadingIndicator/LoadingIndicatorBox.js");var m=require("../Menu/BaseMenuDropdown.js"),f=require("../Pagination/BasePagination.js"),y=require("../SwitchPicker/BaseSwitchPicker.js"),v=require("./TableBase.js"),j=require("../../../node_modules/tailwind-merge/dist/lib/tw-merge.mjs.js"),S=require("../../../_virtual/index5.js");function w(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var C=w(l);const k={pageIndex:0,pageSize:10,textAlign:"left"},I=C.default.div`
1
+ "use strict";var e=require("../../../_virtual/_tslib.js"),t=require("react/jsx-runtime"),r=require("react"),o=require("../../../node_modules/@formkit/auto-animate/index.mjs.js"),n=require("../../../node_modules/classnames/index.js"),a=require("../../../node_modules/prop-types/index.js"),s=require("../../../node_modules/react-table/index.js");require("../../../node_modules/react-table-sticky/build/index.js");var l=require("styled-components"),i=require("../../hooks/useDidMountEffect.js");require("../../../node_modules/react-query/es/react/setBatchUpdatesFn.js"),require("../../../node_modules/react-query/es/react/setLogger.js");var d=require("../../styles/Colors.js"),c=require("../../utils/freezeColumn.js"),u=require("../../utils/getChildrenOnDisplayName.js");require("../Badge/Badge.js");var b=require("../Badge/BaseBadge.js"),h=require("../Text/BaseText.js"),g=require("../Text/Text.js");require("../Button/ButtonHyperlink.js");var p=require("../Button/BaseButton.js");require("../Button/BaseButtonIcon.js"),require("../Button/Button.js"),require("../Button/ButtonConfirmation.js"),require("../Button/ButtonLink.js"),require("../Button/ButtonRipple.js");var x=require("../LoadingIndicator/LoadingIndicator.js");require("../LoadingIndicator/LoadingIndicatorBox.js");var m=require("../Menu/BaseMenuDropdown.js"),f=require("../Pagination/BasePagination.js"),y=require("../SwitchPicker/BaseSwitchPicker.js"),v=require("./TableBase.js"),j=require("../../../node_modules/tailwind-merge/dist/lib/tw-merge.mjs.js"),S=require("../../../_virtual/index5.js");function w(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var C=w(l);const k={pageIndex:0,pageSize:10,textAlign:"left"},I=C.default.div`
2
2
  bottom: 0;
3
3
  display: flex;
4
4
  flex-direction: column;
@@ -42,7 +42,7 @@
42
42
  cursor: pointer;
43
43
  :hover {
44
44
  p {
45
- font-family: ${p.fontFamilyMapper["semi-bold"]};
45
+ font-family: ${g.fontFamilyMapper["semi-bold"]};
46
46
  }
47
47
  }
48
48
  td {
@@ -132,7 +132,7 @@
132
132
  }
133
133
  `}}
134
134
  }
135
- `,H=C.default(p.default)`
135
+ `,H=C.default(g.default)`
136
136
  -webkit-box-orient: vertical;
137
137
  -webkit-line-clamp: 2;
138
138
  color: ${({isEmpty:e,color:t})=>t||(e?"var(--tableResponsive-body-text-notSpecifiedAndNone)":"var(--tableResponsive-body-text-default)")};
@@ -140,5 +140,5 @@
140
140
  line-height: 16px;
141
141
  overflow: hidden;
142
142
  white-space: normal;
143
- `,R=a=>{var{getCellProps:l=v.defaultPropGetter,pageIndex:p=k.pageIndex,pageSize:g=k.pageSize,emptyTableHeight:w=200,onClickRow:C,variant:T="regular",isSelectable:R=!1,freezedColumn:q=0,freezeHeader:z=!1,hideRowIndex:N=!1,tableHeight:P=400}=a,L=e.__rest(a,["getCellProps","pageIndex","pageSize","emptyTableHeight","onClickRow","variant","isSelectable","freezedColumn","freezeHeader","hideRowIndex","tableHeight"]);const{onPageChange:_,isHidePagination:D,isHideTable:$,isHideItemShownDropdown:G,isHideShowColumnDropdown:U,isHideSelectedAmount:F,totalData:V,totalPage:W,isManualSort:J,itemShownLabel:K,selectedAmountValue:Q,selectedAmountLabel:X,selectedAmountBadgeStyles:Y,itemShownLabelStyles:Z,itemShownDropdown:ee,showColumnDropdown:te,onSort:re,isRefetchData:oe,loadingContainerStyles:ne}=L,ae=v.tableSizeMapper[T].charTotal,se=r.useMemo((()=>L.data),[L.data]),le=r.useMemo((()=>c({header:L.header,freezedColumn:q})),[q,L.header]),ie=r.useMemo((()=>L.sortBy&&J?[L.sortBy]:[]),[L.sortBy,J]),de=r.useRef(),ce=r.useRef(),[ue,be]=r.useState(0),he=r.useMemo((()=>{let e;return L.header&&(e=L.header.reduce(((e,t)=>e+(t.width||150)),0),L.rowActions&&(e+=100),N||(e+=40),R||(e+=48)),e}),[L.header,N,L.rowActions,R]),[pe,ge]=r.useState(D?void 0:Math.ceil(V/g)),[xe,me]=r.useState(0);r.useEffect((()=>{de.current&&o.default(de.current)}),[de]),r.useEffect((()=>{const e=new ResizeObserver((e=>{for(const t of e)be(t.contentRect.width)}));return ce.current&&e.observe(ce.current),()=>{ce.current&&e.unobserve(ce.current)}}),[]);const{canNextPage:fe,canPreviousPage:ye,getTableProps:ve,getTableBodyProps:je,gotoPage:Se,headerGroups:we,nextPage:Ce,page:ke,pageCount:Ie,prepareRow:Te,previousPage:Oe,selectedFlatRows:Ae,setHiddenColumns:Ee,state:{pageIndex:Be,pageSize:Me,sortBy:[He]}}=s.reactTableExports.useTable({columns:le,data:se,manualSortBy:J,manualPagination:!D,pageCount:pe,initialState:{sortBy:ie,pageIndex:D?k.pageIndex:p,pageSize:g,hiddenColumns:[],selectedRowIds:L.initialCheckedRows?(()=>{const e={},t=L.initialCheckedRows;return t&&t.forEach((t=>{const r=se.findIndex((e=>e.id===t));e[r.toString()]=!0})),e})():{"-1":!0}}},s.reactTableExports.useBlockLayout,s.reactTableExports.useSortBy,s.reactTableExports.usePagination,s.reactTableExports.useRowSelect,S.__exports.useSticky,(e=>v.tableHooks({hooks:e,isSelectable:R,hideRowIndex:N,rowIndexAlign:L.rowIndexAlign,variant:T,actionLabel:L.actionLabel,rowActions:L.rowActions,freezedColumn:q,checkedColor:L.checkedColor,totalMaxChecked:L.totalMaxChecked}))),Re=r.useMemo((()=>D?0:Me*Be),[D,Be,Me]);i.useDidMountEffect((()=>{"function"==typeof L.onSelectedRow&&R&&L.onSelectedRow(Ae)}),[L.onSelectedRow,Ae]),r.useEffect((()=>{var e;if(Ae){const t=Ae.map((e=>e.original.id));null===(e=L.onCheckedRow)||void 0===e||e.call(L,t)}}),[Ae]),r.useEffect((()=>{L.hiddenColumns&&Ee(L.hiddenColumns||[])}),[L.hiddenColumns,Ee]),r.useEffect((()=>{"function"==typeof _&&_({pageIndex:Be,pageSize:Me})}),[Be,Me]),r.useEffect((()=>{D||ge(Math.ceil(V/Me))}),[Me,V,D]),r.useEffect((()=>{"function"==typeof re&&re({sortBy:He})}),[re,He]),r.useEffect((()=>{const e=[];ke.forEach((t=>{t.cells.forEach((t=>{Array.isArray(t.value)&&e.push(t.value.length)}))}));const t=e.length>0?Math.max(...e):0;me(t)}),[ke]);const qe=(!!q||!!z)&&he>ue,ze=0===se.length,Ne=u.getChildrenOnDisplayName(L.children,"ListTabs"),Pe=u.getChildrenOnDisplayName(L.children,"MidTabs"),Le=u.getChildrenOnDisplayName(L.children,"ItemContent");return t.jsxs("div",Object.assign({className:"flex flex-col w-full h-full"},{children:[t.jsxs("div",Object.assign({ref:de,className:j.twMerge("flex flex-col w-full bg-accordionTabs-container-background-default mb-3 rounded-lg p-2",L.headerContainerStyles)},{children:[t.jsxs("div",Object.assign({className:"flex flex-row items-center w-full gap-x-1"},{children:[t.jsx("div",Object.assign({className:"flex flex-1"},{children:Ne})),Pe&&t.jsx(t.Fragment,{children:Pe}),!D&&Ie>0&&t.jsx("div",{children:t.jsx(f,Object.assign({canPreviousPage:ye,canNextPage:fe,totalData:D?se.length:V,pageIndex:Be,onClickPage:{first:()=>Se(0),prev:Oe,next:Ce,last:()=>Se(Ie-1),gotoPage:e=>Se(e)},totalPage:W||Ie,isShowPagination:!0},L.pagination))}),!G&&!!ee&&t.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-2"},{children:[t.jsx(h.default,{label:K||"Item Shown",className:j.twMerge("font-normal text-dark-gumbo",Z)}),t.jsx(m,Object.assign({},ee))]})),!U&&!!te&&t.jsx("div",{children:t.jsx(y,Object.assign({},te))}),!F&&R&&t.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-2"},{children:[t.jsx(h.default,{label:X||"Selected Items",className:"font-normal text-dark-gumbo"}),t.jsx(b,{label:`${Q}`,containerStyles:j.twMerge("bg-dark-bermudaGray",Y)})]}))]})),Le]})),t.jsx("div",Object.assign({className:($?"hidden":"flex")+" flex-1 relative w-full h-full overflow-auto z-10"},{children:t.jsxs(I,{children:[t.jsx(M,Object.assign({ref:ce,$isOverflowAuto:!qe,$isLoading:L.isLoading,$isEmpty:ze,tableHeight:P,rowEvenColor:L.rowEvenColor,rowOddColor:L.rowOddColor,variant:T,className:j.twMerge("w-full h-full",L.tableContainerStyles)},{children:t.jsxs(B,Object.assign({},ve(),{freezeHeader:z,variant:T,"data-test-id":L.dataTestId,rowOddColor:L.rowOddColor,rowEvenColor:L.rowEvenColor},{children:[oe&&t.jsx("div",Object.assign({className:j.twMerge("absolute top-0 flex flex-1 items-center justify-center w-full h-full bg-light-whiteSolid z-20",ne)},{children:t.jsx(x,{size:"small"})})),t.jsx(A,{headerGroups:we,variant:T,freezeHeader:z,textSortedStyles:L.textSortedStyles,textUnsortedStyles:L.textUnsortedStyles,iconSortedStyles:L.iconSortedStyles,iconUnsortedStyles:L.iconUnsortedStyles,headerStyles:L.headerStyles,childHeaderStyles:L.childHeaderStyles}),t.jsx(E,Object.assign({},je(),{children:ke.map(((o,a)=>{Te(o);const s=()=>C&&C(o.original),i=o.getRowProps(),{key:d}=i,c=e.__rest(i,["key"]);return r.createElement("tr",Object.assign({},c,{key:d||a,style:{display:"flex",width:"auto"}}),o.cells.map(((a,i)=>{const d=a.getCellProps(l(a)),{key:c,checkboxIsDisabled:u}=d,b=e.__rest(d,["key","checkboxIsDisabled"]);return r.createElement("td",Object.assign({},b,{key:c||a.row.id,className:j.twMerge(n.default(!!a.column.parent&&"border border-t-0 border-b-0 border-solid border-dark-solitude",o.cells[i+1]&&o.cells[i-1]&&!!o.cells[i+1].column.parent&&!!o.cells[i-1].column.parent&&"border-l-0",o.cells[i+1]&&o.cells[i-1]&&!!o.cells[i+1].column.parent&&!o.cells[i-1].column.parent&&"border-r-0",o.cells[i+1]&&o.cells[i-1]&&!o.cells[i+1].column.parent&&!!o.cells[i-1].column.parent&&"border-l-0",o.cells[i+1]&&o.cells[i-1]&&!!o.cells[i+1].column.parent&&!!o.cells[i-1].column.parent&&o.cells[i-1].column.parent.id!==a.column.parent.id&&"border-r-0",!o.cells[i+1]&&"border-l-0"))}),"custom"===a.column.type?t.jsx(v.CellContainerContentStyled,Object.assign({variant:T,isBaseline:!0,onClick:a.column.disableClick?null:s},{children:a.render("Cell",Object.assign({numberAddition:Re},"selectable"===a.column.accessor?{checkboxIsDisabled:u}:{}))})):t.jsx(t.Fragment,{children:Array.isArray(a.value)?a.value.map(((e,r)=>t.jsx(v.CellContainerContentStyled,Object.assign({variant:T,isBaseline:!0,countArrayValue:xe,isColSpan:!0,onClick:a.column.disableClick?null:s},{children:t.jsx(H,Object.assign({isEmpty:!e,textAlign:a.column.textAlign||k.textAlign,label:a.column.isCanShowEmptyCell?e:e||"-",variant:"small",ellipsis:!!a.value&&a.value.length>=ae},a.column.textStyle))}),r))):t.jsx(v.CellContainerContentStyled,Object.assign({variant:T,isBaseline:!0,onClick:a.column.disableClick?null:s},{children:t.jsx(H,Object.assign({isEmpty:!a.value,textAlign:a.column.textAlign||k.textAlign,label:a.column.isCanShowEmptyCell?a.value:a.value||"-",variant:"small",ellipsis:!!a.value&&a.value.length>=ae},a.column.textStyle))}))}))})))}))}))]}))})),ze&&!L.isLoading&&t.jsx(O,{children:t.jsx(v.EmptyData,{emptyTableHeight:w,noRecordLabel:L.noRecordLabel,noRecordComponent:L.noRecordComponent})}),L.isLoading&&t.jsx(O,{children:t.jsx(x,{size:"small",color:L.loadingColor?L.loadingColor:d.ColorBlue.yaleBlue,secondaryColor:L.loadingSecondaryColor?L.loadingSecondaryColor:d.ColorBlue.lapisLazuli})})]})}))]}))},q=({children:e})=>{const o=r.Children.toArray(e);return t.jsx("div",Object.assign({className:"flex flex-row w-full"},{children:r.Children.map(o,((e,r)=>{const o=u.getChildrenOnDisplayName(e,"ItemTabs");return t.jsx("div",Object.assign({className:"flex flex-row items-center"},{children:o}),r)}))}))};q.displayName="ListTabs",R.ListTabs=q;const z=({children:e,containerStyles:r})=>t.jsx(t.Fragment,{children:e?t.jsx("div",Object.assign({className:j.twMerge("flex flex-row flex-1",r)},{children:e})):null});z.displayName="MidTabs",R.MidTabs=z;const N=o=>{var{children:a,isActive:s}=o,l=e.__rest(o,["children","isActive"]);const[i,d]=r.useState(!1),[c,u]=r.useState(!1),b=r.useRef(null);return r.useEffect((()=>{const e=()=>{u(!1),b.current&&!b.current.matches(":hover")&&d(!1)};return c&&document.addEventListener("mouseup",e),()=>{document.removeEventListener("mouseup",e)}}),[c]),t.jsx(t.Fragment,{children:a||t.jsx("div",Object.assign({ref:b,onMouseDown:()=>u(!0),onMouseEnter:()=>d(!0),onMouseLeave:()=>{c||d(!1)}},{children:t.jsx(g.default,Object.assign({},l,{leftIconStyles:j.twMerge(n.default("fill-accordionTabs-button-textAndIcon-default",i&&"fill-accordionTabs-button-textAndIcon-hover",(c||s)&&"fill-accordionTabs-button-textAndIcon-active"),l.leftIconStyles),rightIcon:s?"chevronup":l.rightIcon||"chevrondown",rightIconStyles:j.twMerge(n.default("fill-accordionTabs-button-textAndIcon-default",i&&"fill-accordionTabs-button-textAndIcon-hover",(c||s)&&"fill-accordionTabs-button-textAndIcon-active"),l.rightIconStyles),className:j.twMerge(n.default("\n bg-accordionTabs-button-background-default active:bg-accordionTabs-button-background-active hover:bg-accordionTabs-button-background-hover \n border-accordionTabs-button-border-default active:border-accordionTabs-button-border-active hover:border-accordionTabs-button-border-hover \n text-accordionTabs-button-textAndIcon-default active:text-accordionTabs-button-textAndIcon-active hover:text-accordionTabs-button-textAndIcon-hover\n ",s&&"\n bg-accordionTabs-button-background-active hover:bg-accordionTabs-button-background-active \n border-accordionTabs-button-border-active hover:border-accordionTabs-button-border-active \n text-accordionTabs-button-textAndIcon-active hover:text-accordionTabs-button-textAndIcon-active\n "),l.className)}))}))})};N.displayName="ItemTabs",R.ItemTabs=N;const P=({children:e})=>t.jsx(t.Fragment,{children:e});P.displayName="ItemContent",R.ItemContent=P,R.prototype={pageSize:a.propTypesExports.number,emptyTableHeight:a.propTypesExports.number,onClickRow:a.propTypesExports.func,variant:a.propTypesExports.string,isSelectable:a.propTypesExports.bool,freezedColumn:a.propTypesExports.number,freezeHeader:a.propTypesExports.bool,hideRowIndex:a.propTypesExports.bool,tableHeight:a.propTypesExports.number},module.exports=R;
143
+ `,R=a=>{var{getCellProps:l=v.defaultPropGetter,pageIndex:g=k.pageIndex,pageSize:p=k.pageSize,emptyTableHeight:w=200,onClickRow:C,variant:T="regular",isSelectable:R=!1,freezedColumn:q=0,freezeHeader:z=!1,hideRowIndex:N=!1,tableHeight:P=400}=a,L=e.__rest(a,["getCellProps","pageIndex","pageSize","emptyTableHeight","onClickRow","variant","isSelectable","freezedColumn","freezeHeader","hideRowIndex","tableHeight"]);const{onPageChange:_,isHidePagination:D,isHideTable:$,isHideItemShownDropdown:G,isHideShowColumnDropdown:U,isHideSelectedAmount:F,totalData:V,totalPage:W,isManualSort:J,itemShownLabel:K,selectedAmountValue:Q,selectedAmountLabel:X,selectedAmountLabelStyles:Y,selectedAmountBadgeStyles:Z,itemShownLabelStyles:ee,itemShownDropdown:te,showColumnDropdown:re,onSort:oe,isRefetchData:ne,loadingContainerStyles:ae}=L,se=v.tableSizeMapper[T].charTotal,le=r.useMemo((()=>L.data),[L.data]),ie=r.useMemo((()=>c({header:L.header,freezedColumn:q})),[q,L.header]),de=r.useMemo((()=>L.sortBy&&J?[L.sortBy]:[]),[L.sortBy,J]),ce=r.useRef(),ue=r.useRef(),[be,he]=r.useState(0),ge=r.useMemo((()=>{let e;return L.header&&(e=L.header.reduce(((e,t)=>e+(t.width||150)),0),L.rowActions&&(e+=100),N||(e+=40),R||(e+=48)),e}),[L.header,N,L.rowActions,R]),[pe,xe]=r.useState(D?void 0:Math.ceil(V/p)),[me,fe]=r.useState(0);r.useEffect((()=>{ce.current&&o.default(ce.current)}),[ce]),r.useEffect((()=>{const e=new ResizeObserver((e=>{for(const t of e)he(t.contentRect.width)}));return ue.current&&e.observe(ue.current),()=>{ue.current&&e.unobserve(ue.current)}}),[]);const{canNextPage:ye,canPreviousPage:ve,getTableProps:je,getTableBodyProps:Se,gotoPage:we,headerGroups:Ce,nextPage:ke,page:Ie,pageCount:Te,prepareRow:Oe,previousPage:Ae,selectedFlatRows:Ee,setHiddenColumns:Be,state:{pageIndex:Me,pageSize:He,sortBy:[Re]}}=s.reactTableExports.useTable({columns:ie,data:le,manualSortBy:J,manualPagination:!D,pageCount:pe,initialState:{sortBy:de,pageIndex:D?k.pageIndex:g,pageSize:p,hiddenColumns:[],selectedRowIds:L.initialCheckedRows?(()=>{const e={},t=L.initialCheckedRows;return t&&t.forEach((t=>{const r=le.findIndex((e=>e.id===t));e[r.toString()]=!0})),e})():{"-1":!0}}},s.reactTableExports.useBlockLayout,s.reactTableExports.useSortBy,s.reactTableExports.usePagination,s.reactTableExports.useRowSelect,S.__exports.useSticky,(e=>v.tableHooks({hooks:e,isSelectable:R,hideRowIndex:N,rowIndexAlign:L.rowIndexAlign,variant:T,actionLabel:L.actionLabel,rowActions:L.rowActions,freezedColumn:q,checkedColor:L.checkedColor,totalMaxChecked:L.totalMaxChecked}))),qe=r.useMemo((()=>D?0:He*Me),[D,Me,He]);i.useDidMountEffect((()=>{"function"==typeof L.onSelectedRow&&R&&L.onSelectedRow(Ee)}),[L.onSelectedRow,Ee]),r.useEffect((()=>{var e;if(Ee){const t=Ee.map((e=>e.original.id));null===(e=L.onCheckedRow)||void 0===e||e.call(L,t)}}),[Ee]),r.useEffect((()=>{L.hiddenColumns&&Be(L.hiddenColumns||[])}),[L.hiddenColumns,Be]),r.useEffect((()=>{"function"==typeof _&&_({pageIndex:Me,pageSize:He})}),[Me,He]),r.useEffect((()=>{D||xe(Math.ceil(V/He))}),[He,V,D]),r.useEffect((()=>{"function"==typeof oe&&oe({sortBy:Re})}),[oe,Re]),r.useEffect((()=>{const e=[];Ie.forEach((t=>{t.cells.forEach((t=>{Array.isArray(t.value)&&e.push(t.value.length)}))}));const t=e.length>0?Math.max(...e):0;fe(t)}),[Ie]);const ze=(!!q||!!z)&&ge>be,Ne=0===le.length,Pe=u.getChildrenOnDisplayName(L.children,"ListTabs"),Le=u.getChildrenOnDisplayName(L.children,"MidTabs"),_e=u.getChildrenOnDisplayName(L.children,"ItemContent");return t.jsxs("div",Object.assign({className:"flex flex-col w-full h-full"},{children:[t.jsxs("div",Object.assign({ref:ce,className:j.twMerge("flex flex-col w-full bg-accordionTabs-container-background-default mb-3 rounded-lg p-2",L.headerContainerStyles)},{children:[t.jsxs("div",Object.assign({className:"flex flex-row items-center w-full gap-x-1"},{children:[t.jsx("div",Object.assign({className:"flex flex-1"},{children:Pe})),Le&&t.jsx(t.Fragment,{children:Le}),!D&&Te>0&&t.jsx("div",{children:t.jsx(f,Object.assign({canPreviousPage:ve,canNextPage:ye,totalData:D?le.length:V,pageIndex:Me,onClickPage:{first:()=>we(0),prev:Ae,next:ke,last:()=>we(Te-1),gotoPage:e=>we(e)},totalPage:W||Te,isShowPagination:!0},L.pagination))}),!G&&!!te&&t.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-2"},{children:[t.jsx(h.default,{label:K||"Item Shown",className:j.twMerge("font-normal text-dark-gumbo",ee)}),t.jsx(m,Object.assign({},te))]})),!U&&!!re&&t.jsx("div",{children:t.jsx(y,Object.assign({},re))}),!F&&R&&t.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-2"},{children:[t.jsx(h.default,{label:X||"Selected Items",className:j.twMerge("font-normal text-dark-gumbo",Y)}),t.jsx(b,{label:`${Q}`,containerStyles:j.twMerge("bg-dark-bermudaGray",Z)})]}))]})),_e]})),t.jsx("div",Object.assign({className:($?"hidden":"flex")+" flex-1 relative w-full h-full overflow-auto z-10"},{children:t.jsxs(I,{children:[t.jsx(M,Object.assign({ref:ue,$isOverflowAuto:!ze,$isLoading:L.isLoading,$isEmpty:Ne,tableHeight:P,rowEvenColor:L.rowEvenColor,rowOddColor:L.rowOddColor,variant:T,className:j.twMerge("w-full h-full",L.tableContainerStyles)},{children:t.jsxs(B,Object.assign({},je(),{freezeHeader:z,variant:T,"data-test-id":L.dataTestId,rowOddColor:L.rowOddColor,rowEvenColor:L.rowEvenColor},{children:[ne&&t.jsx("div",Object.assign({className:j.twMerge("absolute top-0 flex flex-1 items-center justify-center w-full h-full bg-light-whiteSolid z-20",ae)},{children:t.jsx(x,{size:"small"})})),t.jsx(A,{headerGroups:Ce,variant:T,freezeHeader:z,textSortedStyles:L.textSortedStyles,textUnsortedStyles:L.textUnsortedStyles,iconSortedStyles:L.iconSortedStyles,iconUnsortedStyles:L.iconUnsortedStyles,headerStyles:L.headerStyles,childHeaderStyles:L.childHeaderStyles}),t.jsx(E,Object.assign({},Se(),{children:Ie.map(((o,a)=>{Oe(o);const s=()=>C&&C(o.original),i=o.getRowProps(),{key:d}=i,c=e.__rest(i,["key"]);return r.createElement("tr",Object.assign({},c,{key:d||a,style:{display:"flex",width:"auto"}}),o.cells.map(((a,i)=>{const d=a.getCellProps(l(a)),{key:c,checkboxIsDisabled:u}=d,b=e.__rest(d,["key","checkboxIsDisabled"]);return r.createElement("td",Object.assign({},b,{key:c||a.row.id,className:j.twMerge(n.default(!!a.column.parent&&"border border-t-0 border-b-0 border-solid border-dark-solitude",o.cells[i+1]&&o.cells[i-1]&&!!o.cells[i+1].column.parent&&!!o.cells[i-1].column.parent&&"border-l-0",o.cells[i+1]&&o.cells[i-1]&&!!o.cells[i+1].column.parent&&!o.cells[i-1].column.parent&&"border-r-0",o.cells[i+1]&&o.cells[i-1]&&!o.cells[i+1].column.parent&&!!o.cells[i-1].column.parent&&"border-l-0",o.cells[i+1]&&o.cells[i-1]&&!!o.cells[i+1].column.parent&&!!o.cells[i-1].column.parent&&o.cells[i-1].column.parent.id!==a.column.parent.id&&"border-r-0",!o.cells[i+1]&&"border-l-0"))}),"custom"===a.column.type?t.jsx(v.CellContainerContentStyled,Object.assign({variant:T,isBaseline:!0,onClick:a.column.disableClick?null:s},{children:a.render("Cell",Object.assign({numberAddition:qe},"selectable"===a.column.accessor?{checkboxIsDisabled:u}:{}))})):t.jsx(t.Fragment,{children:Array.isArray(a.value)?a.value.map(((e,r)=>t.jsx(v.CellContainerContentStyled,Object.assign({variant:T,isBaseline:!0,countArrayValue:me,isColSpan:!0,onClick:a.column.disableClick?null:s},{children:t.jsx(H,Object.assign({isEmpty:!e,textAlign:a.column.textAlign||k.textAlign,label:a.column.isCanShowEmptyCell?e:e||"-",variant:"small",ellipsis:!!a.value&&a.value.length>=se},a.column.textStyle))}),r))):t.jsx(v.CellContainerContentStyled,Object.assign({variant:T,isBaseline:!0,onClick:a.column.disableClick?null:s},{children:t.jsx(H,Object.assign({isEmpty:!a.value,textAlign:a.column.textAlign||k.textAlign,label:a.column.isCanShowEmptyCell?a.value:a.value||"-",variant:"small",ellipsis:!!a.value&&a.value.length>=se},a.column.textStyle))}))}))})))}))}))]}))})),Ne&&!L.isLoading&&t.jsx(O,{children:t.jsx(v.EmptyData,{emptyTableHeight:w,noRecordLabel:L.noRecordLabel,noRecordComponent:L.noRecordComponent})}),L.isLoading&&t.jsx(O,{children:t.jsx(x,{size:"small",color:L.loadingColor?L.loadingColor:d.ColorBlue.yaleBlue,secondaryColor:L.loadingSecondaryColor?L.loadingSecondaryColor:d.ColorBlue.lapisLazuli})})]})}))]}))},q=({children:e})=>{const o=r.Children.toArray(e);return t.jsx("div",Object.assign({className:"flex flex-row w-full"},{children:r.Children.map(o,((e,r)=>{const o=u.getChildrenOnDisplayName(e,"ItemTabs");return t.jsx("div",Object.assign({className:"flex flex-row items-center"},{children:o}),r)}))}))};q.displayName="ListTabs",R.ListTabs=q;const z=({children:e,containerStyles:r})=>t.jsx(t.Fragment,{children:e?t.jsx("div",Object.assign({className:j.twMerge("flex flex-row flex-1",r)},{children:e})):null});z.displayName="MidTabs",R.MidTabs=z;const N=o=>{var{children:a,isActive:s}=o,l=e.__rest(o,["children","isActive"]);const[i,d]=r.useState(!1),[c,u]=r.useState(!1),b=r.useRef(null);return r.useEffect((()=>{const e=()=>{u(!1),b.current&&!b.current.matches(":hover")&&d(!1)};return c&&document.addEventListener("mouseup",e),()=>{document.removeEventListener("mouseup",e)}}),[c]),t.jsx(t.Fragment,{children:a||t.jsx("div",Object.assign({ref:b,onMouseDown:()=>u(!0),onMouseEnter:()=>d(!0),onMouseLeave:()=>{c||d(!1)}},{children:t.jsx(p.default,Object.assign({},l,{leftIconStyles:j.twMerge(n.default("fill-accordionTabs-button-textAndIcon-default",i&&"fill-accordionTabs-button-textAndIcon-hover",(c||s)&&"fill-accordionTabs-button-textAndIcon-active"),l.leftIconStyles),rightIcon:s?"chevronup":l.rightIcon||"chevrondown",rightIconStyles:j.twMerge(n.default("fill-accordionTabs-button-textAndIcon-default",i&&"fill-accordionTabs-button-textAndIcon-hover",(c||s)&&"fill-accordionTabs-button-textAndIcon-active"),l.rightIconStyles),className:j.twMerge(n.default("\n bg-accordionTabs-button-background-default active:bg-accordionTabs-button-background-active hover:bg-accordionTabs-button-background-hover \n border-accordionTabs-button-border-default active:border-accordionTabs-button-border-active hover:border-accordionTabs-button-border-hover \n text-accordionTabs-button-textAndIcon-default active:text-accordionTabs-button-textAndIcon-active hover:text-accordionTabs-button-textAndIcon-hover\n ",s&&"\n bg-accordionTabs-button-background-active hover:bg-accordionTabs-button-background-active \n border-accordionTabs-button-border-active hover:border-accordionTabs-button-border-active \n text-accordionTabs-button-textAndIcon-active hover:text-accordionTabs-button-textAndIcon-active\n "),l.className)}))}))})};N.displayName="ItemTabs",R.ItemTabs=N;const P=({children:e})=>t.jsx(t.Fragment,{children:e});P.displayName="ItemContent",R.ItemContent=P,R.prototype={pageSize:a.propTypesExports.number,emptyTableHeight:a.propTypesExports.number,onClickRow:a.propTypesExports.func,variant:a.propTypesExports.string,isSelectable:a.propTypesExports.bool,freezedColumn:a.propTypesExports.number,freezeHeader:a.propTypesExports.bool,hideRowIndex:a.propTypesExports.bool,tableHeight:a.propTypesExports.number},module.exports=R;
144
144
  //# sourceMappingURL=TableResponsive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableResponsive.js","sources":["../../../../src/components/Table/TableResponsive.tsx"],"sourcesContent":["import autoAnimate from '@formkit/auto-animate';\nimport classNames from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport { Children, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n HeaderGroup,\n TableCellProps,\n useBlockLayout,\n usePagination,\n useRowSelect,\n useSortBy,\n useTable\n} from 'react-table';\nimport { useSticky } from 'react-table-sticky';\nimport styled, { css } from 'styled-components';\nimport { twMerge } from 'tailwind-merge';\n\nimport { useDidMountEffect } from '../../hooks';\nimport { ColorBlue, ColorLight } from '../../styles/Colors';\nimport freezeColumn from '../../utils/freezeColumn';\nimport { getChildrenOnDisplayName } from '../../utils/getChildrenOnDisplayName';\nimport { BaseBadge } from '../Badge';\nimport { BaseButton } from '../Button';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { BaseMenuDropdown } from '../Menu';\nimport { BasePagination } from '../Pagination';\nimport { BaseSwitchPicker } from '../SwitchPicker';\nimport { BaseText, fontFamilyMapper, Text, TextAlign } from '../Text';\nimport { TableHeaderInterface, TableResponsiveInterface, TableVariantInterface } from './';\nimport { TableStyleInterface } from './Table.type';\nimport {\n CellContainerContentStyled,\n CellContainerHeaderStyled,\n defaultPropGetter,\n EmptyData,\n getIsExcludedSortable,\n SortIcon,\n tableHooks,\n tableSizeMapper\n} from './TableBase';\nimport {\n TableResponsiveContainerStyledProps,\n TableResponsiveItemContentInterface,\n TableResponsiveItemTabsInterface,\n TableResponsiveListTabsInterface,\n TableResponsiveMidTabsInterface\n} from './TableResponsive.type';\n\nconst defaultValue: {\n pageIndex: number;\n pageSize: number;\n textAlign: TextAlign;\n} = {\n pageIndex: 0,\n pageSize: 10,\n textAlign: 'left'\n};\n\nconst TableResponsiveContainerStyled = styled.div`\n bottom: 0;\n display: flex;\n flex-direction: column;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n`;\n\nconst TableHeaderStyled = styled.thead<{ headerGroupsLength?: number }>`\n tr {\n box-shadow: 0px 1px 1px 0px rgb(0 0 0 / 25%);\n clip-path: inset(-10px 0px);\n margin-top: -2px;\n :first-child {\n th {\n display: flex !important;\n }\n }\n z-index: 4;\n }\n th {\n box-sizing: border-box !important;\n min-height: ${({ headerGroupsLength }) => `${headerGroupsLength * 28}px`} !important;\n :last-child {\n border-right: 0;\n flex: 1;\n }\n p {\n letter-spacing: 0px !important;\n line-height: 12px !important;\n width: auto;\n }\n }\n`;\n\nconst TableLoadingAndEmptyContainerStyled = styled.div`\n align-items: center;\n display: flex;\n height: 100%;\n justify-content: center;\n width: 100%;\n`;\n\nconst TableHeader = (props: TableHeaderInterface) => {\n const isIdHasPlaceholder = (id: string) => {\n return id.includes('placeholder');\n };\n\n const splitByPlaceholder = (id: string) => {\n return id.split('_placeholder_');\n };\n\n useMemo(() => {\n const hg = props.headerGroups.slice();\n if (hg.length > 1) {\n const dataHg: Array<HeaderGroup> = hg;\n for (let i = 0; i !== dataHg.length; i++) {\n if (dataHg[i].headers.length > 1) {\n for (let j = 0; j < dataHg[i].headers.length; j++) {\n if (isIdHasPlaceholder(dataHg[i].headers[j].id)) {\n const index = splitByPlaceholder(dataHg[i].headers[j].id)[1];\n dataHg[i].headers[j] = dataHg[i + 1].headers[parseInt(index)];\n }\n }\n }\n }\n\n return dataHg;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.headerGroups]);\n\n const { key, ...headerGroupProps } = props.headerGroups[0].getHeaderGroupProps();\n\n return (\n <>\n <TableHeaderStyled headerGroupsLength={props.headerGroups.length}>\n <tr\n {...headerGroupProps}\n key={key}\n style={{\n display: 'flex',\n width: 'auto',\n backgroundColor: ColorLight.whiteSmoke,\n minHeight: 28 * props.headerGroups.length\n }}\n >\n {/* eslint-disable-next-line sonarjs/cognitive-complexity */}\n {props.headerGroups[0].headers.map((column, indexHeaderGroups) => (\n <th\n {...column.getHeaderProps(\n getIsExcludedSortable(column) && column.getSortByToggleProps()\n )}\n className={twMerge(\n classNames(\n 'flex flex-col',\n twMerge('bg-tableResponsive-header-background-colspan', props.headerStyles),\n column.columns &&\n 'border border-t-0 border-b-0 border-solid border-dark-solitude',\n props.headerGroups[0].headers[indexHeaderGroups - 1] &&\n props.headerGroups[0].headers[indexHeaderGroups - 1].columns &&\n 'border-l-0'\n )\n )}\n key={column.id}\n >\n <CellContainerHeaderStyled\n textAlign={column.textAlign || defaultValue.textAlign}\n variant={props.variant}\n style={{ minHeight: !column.columns ? 28 * props.headerGroups.length : 28 }}\n >\n <div className={classNames('flex flex-row items-center p-2')}>\n {typeof column.Header.valueOf() !== 'string' ? (\n column.render('Header')\n ) : (\n <>\n <BaseText\n label={column.Header.toString()}\n className={classNames(\n 'text-xs font-normal text-center',\n column.isSorted\n ? twMerge(\n 'text-tableResponsive-header-textAndIcon-active',\n props.textSortedStyles\n )\n : twMerge(\n 'text-tableResponsive-header-textAndIcon-default',\n props.textUnsortedStyles\n )\n )}\n />\n {!column.columns && (\n <span\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n }}\n >\n {!column.disableSortBy && (\n <SortIcon\n isSorted={column.isSorted}\n isSortedDesc={column.isSortedDesc}\n iconSortedStyles={props.iconSortedStyles}\n iconUnsortedStyles={props.iconUnsortedStyles}\n />\n )}\n </span>\n )}\n </>\n )}\n </div>\n </CellContainerHeaderStyled>\n {column.columns && (\n <div\n className={twMerge(\n 'flex flex-row bg-tableResponsive-header-background-underColspan',\n props.childHeaderStyles\n )}\n >\n {column.columns.map((item) => {\n return (\n <CellContainerHeaderStyled\n key={item.Header.toString()}\n textAlign={item.textAlign || defaultValue.textAlign}\n variant={props.variant}\n style={{ minHeight: 28 }}\n >\n <div\n className={classNames('flex flex-row items-center p-2')}\n style={{ minHeight: 28, minWidth: item.width }}\n >\n <BaseText\n label={item.Header.toString()}\n className={classNames(\n 'text-[10px] font-normal text-center',\n column.isSorted\n ? twMerge(\n 'text-tableResponsive-header-textAndIcon-default',\n props.textSortedStyles\n )\n : twMerge(\n 'text-tableResponsive-header-textAndIcon-default',\n props.textUnsortedStyles\n )\n )}\n />\n {!column.columns && (\n <span\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n }}\n >\n {!column.disableSortBy && (\n <SortIcon\n isSorted={column.isSorted}\n isSortedDesc={column.isSortedDesc}\n iconSortedStyles={props.iconSortedStyles}\n iconUnsortedStyles={props.iconUnsortedStyles}\n />\n )}\n </span>\n )}\n </div>\n </CellContainerHeaderStyled>\n );\n })}\n </div>\n )}\n </th>\n ))}\n </tr>\n </TableHeaderStyled>\n </>\n );\n};\n\nconst TableBodyStyled = styled.tbody`\n tr {\n cursor: pointer;\n :hover {\n p {\n font-family: ${fontFamilyMapper['semi-bold']};\n }\n }\n td {\n box-sizing: border-box !important;\n :last-child {\n border-right: 0;\n }\n }\n z-index: 10;\n }\n`;\n\ninterface TableStyledInterface extends TableVariantInterface, TableStyleInterface {\n freezeHeader?: boolean;\n}\n\ninterface CustomCellProps extends TableCellProps {\n checkboxIsDisabled?: boolean;\n}\n\nconst TableStyled = styled.table<TableStyledInterface>`\n border-spacing: 0;\n thead:first-child {\n ${({ freezeHeader }) =>\n freezeHeader && 'position: sticky !important; top: 0 !important; z-index: 35 !important'}\n }\n tbody:first-child {\n ${({ freezeHeader }) => freezeHeader && 'height: (100% - 82px)'}\n }\n width: 100%;\n td {\n max-height: ${({ variant }) => tableSizeMapper[variant].tdMaxHeight};\n min-height: ${({ variant }) => tableSizeMapper[variant].tdMinHeight};\n :last-child {\n border-right: 0;\n flex: 1;\n }\n }\n tr {\n :nth-child(odd) {\n background-color: ${({ rowEvenColor }) => rowEvenColor};\n }\n :nth-child(even) {\n background-color: ${({ rowOddColor }) => rowOddColor};\n }\n :last-child {\n td {\n border-bottom: 0;\n }\n }\n }\n`;\n\nconst TableContainerStyled = styled.div<TableResponsiveContainerStyledProps>`\n overflow: hidden;\n width: 100%;\n\n ${({ $isLoading, $isEmpty }) => {\n if ($isLoading) {\n return css`\n display: flex;\n height: 0px;\n opacity: 0.5;\n overflow: hidden;\n pointer-events: none;\n width: 0px;\n `;\n }\n\n if ($isEmpty) {\n return css`\n display: flex;\n height: 60px;\n width: 100%;\n `;\n }\n\n return css`\n display: flex;\n flex: 1;\n flex-direction: column;\n height: 100%;\n overflow: auto;\n `;\n }}\n\n table {\n tr {\n :last-child {\n td {\n border-bottom: 0;\n }\n }\n :nth-child(odd) {\n td {\n background-color: ${({ rowOddColor }) =>\n rowOddColor || 'var(--tableResponsive-body-background-odd)'};\n }\n }\n :nth-child(even) {\n td {\n background-color: ${({ rowEvenColor }) =>\n rowEvenColor || 'var(--tableResponsive-body-background-even)'};\n }\n }\n }\n\n ${({ $isOverflowAuto }) => {\n if (!$isOverflowAuto) {\n return css`\n [data-sticky-td] {\n box-shadow: 4px 0px 6px -1px rgba(0, 0, 0, 0.16);\n clip-path: inset(-1px -15px -1px 0px);\n }\n `;\n }\n }}\n }\n`;\n\nconst TextStyled = styled(Text)<{ isEmpty: boolean }>`\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n color: ${({ isEmpty, color }) =>\n color\n ? color\n : isEmpty\n ? 'var(--tableResponsive-body-text-notSpecifiedAndNone)'\n : 'var(--tableResponsive-body-text-default)'};\n display: -webkit-box;\n line-height: 16px;\n overflow: hidden;\n white-space: normal;\n`;\n\n// TableResponsive.defaultProps = {\n// pageSize: defaultValue.pageSize,\n// pageIndex: defaultValue.pageIndex,\n// emptyTableHeight: 200,\n// onClickRow: undefined,\n// variant: 'regular',\n// isSelectable: false,\n// freezedColumn: 0,\n// freezeHeader: false,\n// hideRowIndex: false,\n// tableHeight: 400\n// };\n\n// eslint-disable-next-line sonarjs/cognitive-complexity\nconst TableResponsive = ({\n getCellProps = defaultPropGetter,\n pageIndex: tablePageIndex = defaultValue.pageIndex,\n pageSize: tablePageSize = defaultValue.pageSize,\n emptyTableHeight = 200,\n onClickRow = undefined,\n variant = 'regular',\n isSelectable = false,\n freezedColumn = 0,\n freezeHeader = false,\n hideRowIndex = false,\n tableHeight = 400,\n ...props\n}: // eslint-disable-next-line sonarjs/cognitive-complexity\nTableResponsiveInterface) => {\n // FIXME: pindahin logic di component ke custom hooks\n const {\n onPageChange,\n isHidePagination,\n isHideTable,\n isHideItemShownDropdown,\n isHideShowColumnDropdown,\n isHideSelectedAmount,\n totalData,\n totalPage,\n isManualSort,\n itemShownLabel,\n selectedAmountValue,\n selectedAmountLabel,\n selectedAmountBadgeStyles,\n itemShownLabelStyles,\n itemShownDropdown,\n showColumnDropdown,\n onSort,\n isRefetchData,\n loadingContainerStyles\n } = props;\n const charTotal = tableSizeMapper[variant].charTotal;\n const data = useMemo(() => props.data, [props.data]);\n const columns = useMemo(\n () => freezeColumn({ header: props.header, freezedColumn: freezedColumn }),\n [freezedColumn, props.header]\n );\n\n const sortBy = useMemo(() => {\n if (props.sortBy && isManualSort) return [props.sortBy];\n return [];\n }, [props.sortBy, isManualSort]);\n\n const parentRef = useRef<HTMLDivElement>();\n const tableRef = useRef<HTMLDivElement>();\n\n const [totalWidthOfContainer, setTotalWidhtOfContainer] = useState<number>(0);\n\n const totalWidthfColumn = useMemo(() => {\n let temp;\n if (props.header) {\n temp = props.header.reduce((e, c) => {\n return e + (c.width || 150);\n }, 0);\n\n if (props.rowActions) {\n temp += 100;\n }\n\n if (!hideRowIndex) {\n temp += 40;\n }\n\n if (!isSelectable) {\n temp += 48;\n }\n }\n return temp;\n }, [props.header, hideRowIndex, props.rowActions, isSelectable]);\n\n const [pageCountState, setPageCountState] = useState(\n !isHidePagination ? Math.ceil(totalData / tablePageSize) : undefined\n );\n const [countCellSpan, setCountCellSpan] = useState<number>(0);\n\n const selectedIdRows = () => {\n const temp: { [key: string]: boolean } = {};\n const rows = props.initialCheckedRows;\n if (rows) {\n rows.forEach((row) => {\n const index = data.findIndex((e: { id: string }) => e.id === row);\n temp[index.toString()] = true;\n });\n }\n return temp;\n };\n\n useEffect(() => {\n if (parentRef.current) {\n autoAnimate(parentRef.current);\n }\n }, [parentRef]);\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n setTotalWidhtOfContainer(entry.contentRect.width);\n }\n });\n\n if (tableRef.current) {\n resizeObserver.observe(tableRef.current);\n }\n\n return () => {\n if (tableRef.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n resizeObserver.unobserve(tableRef.current);\n }\n };\n }, []);\n\n const {\n canNextPage,\n canPreviousPage,\n getTableProps,\n getTableBodyProps,\n gotoPage,\n headerGroups,\n nextPage,\n page,\n pageCount,\n prepareRow,\n previousPage,\n selectedFlatRows,\n setHiddenColumns,\n state: {\n pageIndex,\n pageSize,\n sortBy: [sortByState]\n }\n } = useTable(\n {\n columns,\n data,\n manualSortBy: isManualSort,\n manualPagination: !isHidePagination,\n pageCount: pageCountState,\n initialState: {\n sortBy,\n pageIndex: !isHidePagination ? tablePageIndex : defaultValue.pageIndex,\n pageSize: tablePageSize,\n hiddenColumns: [],\n selectedRowIds: props.initialCheckedRows ? selectedIdRows() : { '-1': true }\n }\n },\n useBlockLayout,\n useSortBy,\n usePagination,\n useRowSelect,\n useSticky,\n (hooks) =>\n tableHooks({\n hooks,\n isSelectable: isSelectable,\n hideRowIndex: hideRowIndex,\n rowIndexAlign: props.rowIndexAlign,\n variant: variant,\n actionLabel: props.actionLabel,\n rowActions: props.rowActions,\n freezedColumn: freezedColumn,\n checkedColor: props.checkedColor,\n totalMaxChecked: props.totalMaxChecked\n })\n );\n\n const indexRowAddition = useMemo(() => {\n if (isHidePagination) return 0;\n return pageSize * pageIndex;\n }, [isHidePagination, pageIndex, pageSize]);\n\n useDidMountEffect(() => {\n if (typeof props.onSelectedRow === 'function' && isSelectable) {\n props.onSelectedRow(selectedFlatRows);\n }\n }, [props.onSelectedRow, selectedFlatRows]);\n\n useEffect(() => {\n if (selectedFlatRows) {\n const temp = selectedFlatRows.map((item) => item.original.id);\n props.onCheckedRow?.(temp);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedFlatRows]);\n\n // FIXME: find better implementation for hidden columns\n useEffect(() => {\n if (props.hiddenColumns) setHiddenColumns(props.hiddenColumns || []);\n }, [props.hiddenColumns, setHiddenColumns]);\n\n useEffect(() => {\n if (typeof onPageChange === 'function') {\n onPageChange({ pageIndex, pageSize });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pageIndex, pageSize]);\n\n useEffect(() => {\n if (!isHidePagination) {\n setPageCountState(Math.ceil(totalData / pageSize));\n }\n }, [pageSize, totalData, isHidePagination]);\n\n useEffect(() => {\n if (typeof onSort === 'function') {\n onSort({ sortBy: sortByState });\n }\n }, [onSort, sortByState]);\n\n useEffect(() => {\n const filterHasArray: Array<number> = [];\n page.forEach((row) => {\n row.cells.forEach((item) => {\n if (Array.isArray(item.value)) {\n filterHasArray.push(item.value.length);\n }\n });\n });\n const countCellData = filterHasArray.length > 0 ? Math.max(...filterHasArray) : 0;\n setCountCellSpan(countCellData);\n }, [page]);\n\n const isOverflowAuto =\n (!!freezedColumn || !!freezeHeader) && totalWidthfColumn > totalWidthOfContainer;\n const isEmpty = data.length === 0;\n\n const listTabs = getChildrenOnDisplayName(props.children, 'ListTabs');\n const midTabs = getChildrenOnDisplayName(props.children, 'MidTabs');\n const itemContent = getChildrenOnDisplayName(props.children, 'ItemContent');\n\n return (\n <div className='flex flex-col w-full h-full'>\n {/* Layout Header */}\n <div\n ref={parentRef}\n className={twMerge(\n 'flex flex-col w-full bg-accordionTabs-container-background-default mb-3 rounded-lg p-2',\n props.headerContainerStyles\n )}\n >\n <div className='flex flex-row items-center w-full gap-x-1'>\n <div className='flex flex-1'>{listTabs}</div>\n {midTabs && <>{midTabs}</>}\n {!isHidePagination && pageCount > 0 && (\n <div>\n <BasePagination\n canPreviousPage={canPreviousPage}\n canNextPage={canNextPage}\n totalData={!isHidePagination ? totalData : data.length}\n pageIndex={pageIndex}\n onClickPage={{\n first: () => gotoPage(0),\n prev: previousPage,\n next: nextPage,\n last: () => gotoPage(pageCount - 1),\n gotoPage: (page) => gotoPage(page)\n }}\n totalPage={totalPage || pageCount}\n isShowPagination={true}\n {...props.pagination}\n />\n </div>\n )}\n\n {!isHideItemShownDropdown && !!itemShownDropdown && (\n <div className='flex flex-row items-center gap-x-2'>\n <BaseText\n label={itemShownLabel || 'Item Shown'}\n className={twMerge('font-normal text-dark-gumbo', itemShownLabelStyles)}\n />\n <BaseMenuDropdown {...itemShownDropdown} />\n </div>\n )}\n\n {!isHideShowColumnDropdown && !!showColumnDropdown && (\n <div>\n <BaseSwitchPicker {...showColumnDropdown} />\n </div>\n )}\n\n {!isHideSelectedAmount && isSelectable && (\n <div className='flex flex-row items-center gap-x-2'>\n <BaseText\n label={selectedAmountLabel || 'Selected Items'}\n className={'font-normal text-dark-gumbo'}\n />\n <BaseBadge\n label={`${selectedAmountValue}`}\n containerStyles={twMerge('bg-dark-bermudaGray', selectedAmountBadgeStyles)}\n />\n </div>\n )}\n </div>\n\n {itemContent}\n </div>\n\n {/* Layout Content/Body */}\n <div\n className={`${\n isHideTable ? 'hidden' : 'flex'\n } flex-1 relative w-full h-full overflow-auto z-10`}\n >\n <TableResponsiveContainerStyled>\n <TableContainerStyled\n ref={tableRef}\n $isOverflowAuto={!isOverflowAuto}\n $isLoading={props.isLoading}\n $isEmpty={isEmpty}\n tableHeight={tableHeight}\n rowEvenColor={props.rowEvenColor}\n rowOddColor={props.rowOddColor}\n variant={variant}\n className={twMerge('w-full h-full', props.tableContainerStyles)}\n >\n <TableStyled\n {...getTableProps()}\n freezeHeader={freezeHeader}\n variant={variant}\n data-test-id={props.dataTestId}\n rowOddColor={props.rowOddColor}\n rowEvenColor={props.rowEvenColor}\n >\n {isRefetchData && (\n <div\n className={twMerge(\n 'absolute top-0 flex flex-1 items-center justify-center w-full h-full bg-light-whiteSolid z-20',\n loadingContainerStyles\n )}\n >\n <LoadingIndicator size='small' />\n </div>\n )}\n <TableHeader\n headerGroups={headerGroups}\n variant={variant}\n freezeHeader={freezeHeader}\n textSortedStyles={props.textSortedStyles}\n textUnsortedStyles={props.textUnsortedStyles}\n iconSortedStyles={props.iconSortedStyles}\n iconUnsortedStyles={props.iconUnsortedStyles}\n headerStyles={props.headerStyles}\n childHeaderStyles={props.childHeaderStyles}\n />\n <TableBodyStyled {...getTableBodyProps()}>\n {\n // eslint-disable-next-line sonarjs/cognitive-complexity\n page.map((row, i) => {\n prepareRow(row);\n const onClick = () => onClickRow && onClickRow(row.original);\n const { key, ...rowProps } = row.getRowProps();\n\n return (\n <tr\n {...rowProps}\n key={key || i}\n style={{\n display: 'flex',\n width: 'auto'\n }}\n >\n {row.cells.map((cell, indexCell) => {\n const { key, checkboxIsDisabled, ...restCellProps } = cell.getCellProps(\n getCellProps(cell)\n ) as CustomCellProps;\n return (\n <td\n {...restCellProps}\n key={key || cell.row.id}\n className={twMerge(\n classNames(\n !!cell.column.parent &&\n 'border border-t-0 border-b-0 border-solid border-dark-solitude',\n row.cells[indexCell + 1] &&\n row.cells[indexCell - 1] &&\n !!row.cells[indexCell + 1].column.parent &&\n !!row.cells[indexCell - 1].column.parent &&\n 'border-l-0',\n row.cells[indexCell + 1] &&\n row.cells[indexCell - 1] &&\n !!row.cells[indexCell + 1].column.parent &&\n !row.cells[indexCell - 1].column.parent &&\n 'border-r-0',\n row.cells[indexCell + 1] &&\n row.cells[indexCell - 1] &&\n !row.cells[indexCell + 1].column.parent &&\n !!row.cells[indexCell - 1].column.parent &&\n 'border-l-0',\n row.cells[indexCell + 1] &&\n row.cells[indexCell - 1] &&\n !!row.cells[indexCell + 1].column.parent &&\n !!row.cells[indexCell - 1].column.parent &&\n row.cells[indexCell - 1].column.parent.id !==\n cell.column.parent.id &&\n 'border-r-0',\n !row.cells[indexCell + 1] && 'border-l-0'\n )\n )}\n >\n {cell.column.type === 'custom' ? (\n <CellContainerContentStyled\n variant={variant}\n isBaseline\n onClick={cell.column.disableClick ? null : onClick}\n >\n {cell.render('Cell', {\n numberAddition: indexRowAddition,\n ...(cell.column.accessor === 'selectable'\n ? { checkboxIsDisabled }\n : {})\n })}\n </CellContainerContentStyled>\n ) : (\n <>\n {Array.isArray(cell.value) ? (\n cell.value.map((valueCell, index) => (\n <CellContainerContentStyled\n variant={variant}\n key={index}\n isBaseline\n countArrayValue={countCellSpan}\n isColSpan\n onClick={cell.column.disableClick ? null : onClick}\n >\n <TextStyled\n isEmpty={!valueCell}\n textAlign={\n cell.column.textAlign || defaultValue.textAlign\n }\n label={\n cell.column.isCanShowEmptyCell\n ? valueCell\n : valueCell || '-'\n }\n variant='small'\n ellipsis={\n cell.value ? cell.value.length >= charTotal : false\n }\n {...cell.column.textStyle}\n />\n </CellContainerContentStyled>\n ))\n ) : (\n <CellContainerContentStyled\n variant={variant}\n isBaseline\n onClick={cell.column.disableClick ? null : onClick}\n >\n <TextStyled\n isEmpty={!cell.value}\n textAlign={cell.column.textAlign || defaultValue.textAlign}\n label={\n cell.column.isCanShowEmptyCell\n ? cell.value\n : cell.value || '-'\n }\n variant='small'\n ellipsis={\n cell.value ? cell.value.length >= charTotal : false\n }\n {...cell.column.textStyle}\n />\n </CellContainerContentStyled>\n )}\n </>\n )}\n </td>\n );\n })}\n </tr>\n );\n })\n }\n </TableBodyStyled>\n </TableStyled>\n </TableContainerStyled>\n\n {isEmpty && !props.isLoading && (\n <TableLoadingAndEmptyContainerStyled>\n <EmptyData\n emptyTableHeight={emptyTableHeight}\n noRecordLabel={props.noRecordLabel}\n noRecordComponent={props.noRecordComponent}\n />\n </TableLoadingAndEmptyContainerStyled>\n )}\n\n {props.isLoading && (\n <TableLoadingAndEmptyContainerStyled>\n <LoadingIndicator\n size='small'\n color={props.loadingColor ? props.loadingColor : ColorBlue.yaleBlue}\n secondaryColor={\n props.loadingSecondaryColor ? props.loadingSecondaryColor : ColorBlue.lapisLazuli\n }\n />\n </TableLoadingAndEmptyContainerStyled>\n )}\n </TableResponsiveContainerStyled>\n </div>\n </div>\n );\n};\n\nconst ListTabs = ({ children }: TableResponsiveListTabsInterface) => {\n const arrListTabs = Children.toArray(children);\n return (\n <div className='flex flex-row w-full'>\n {Children.map(arrListTabs, (item, index) => {\n const tab = getChildrenOnDisplayName(item, 'ItemTabs');\n return (\n <div key={index} className='flex flex-row items-center'>\n {tab}\n </div>\n );\n })}\n </div>\n );\n};\nListTabs.displayName = 'ListTabs';\nTableResponsive.ListTabs = ListTabs;\n\nconst MidTabs = ({ children, containerStyles }: TableResponsiveMidTabsInterface) => {\n return (\n <>\n {children ? (\n <div className={twMerge('flex flex-row flex-1', containerStyles)}>{children}</div>\n ) : null}\n </>\n );\n};\nMidTabs.displayName = 'MidTabs';\nTableResponsive.MidTabs = MidTabs;\n\nconst ItemTabs = ({ children, isActive, ...props }: TableResponsiveItemTabsInterface) => {\n const [isMouseEnter, setIsMouseEnter] = useState<boolean>(false);\n const [isMouseDown, setIsMouseDown] = useState<boolean>(false);\n const containerRef = useRef(null);\n\n useEffect(() => {\n const handleMouseUp = () => {\n setIsMouseDown(false);\n if (containerRef.current && !containerRef.current.matches(':hover')) {\n setIsMouseEnter(false);\n }\n };\n\n if (isMouseDown) {\n document.addEventListener('mouseup', handleMouseUp);\n }\n return () => {\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [isMouseDown]);\n\n return (\n <>\n {children ? (\n children\n ) : (\n <div\n ref={containerRef}\n onMouseDown={() => setIsMouseDown(true)}\n onMouseEnter={() => setIsMouseEnter(true)}\n onMouseLeave={() => {\n if (!isMouseDown) {\n setIsMouseEnter(false);\n }\n }}\n >\n <BaseButton\n {...props}\n leftIconStyles={twMerge(\n classNames(\n 'fill-accordionTabs-button-textAndIcon-default',\n isMouseEnter && 'fill-accordionTabs-button-textAndIcon-hover',\n (isMouseDown || isActive) && 'fill-accordionTabs-button-textAndIcon-active'\n ),\n props.leftIconStyles\n )}\n rightIcon={isActive ? 'chevronup' : props.rightIcon || 'chevrondown'}\n rightIconStyles={twMerge(\n classNames(\n 'fill-accordionTabs-button-textAndIcon-default',\n isMouseEnter && 'fill-accordionTabs-button-textAndIcon-hover',\n (isMouseDown || isActive) && 'fill-accordionTabs-button-textAndIcon-active'\n ),\n props.rightIconStyles\n )}\n className={twMerge(\n classNames(\n `\n bg-accordionTabs-button-background-default active:bg-accordionTabs-button-background-active hover:bg-accordionTabs-button-background-hover \n border-accordionTabs-button-border-default active:border-accordionTabs-button-border-active hover:border-accordionTabs-button-border-hover \n text-accordionTabs-button-textAndIcon-default active:text-accordionTabs-button-textAndIcon-active hover:text-accordionTabs-button-textAndIcon-hover\n `,\n isActive &&\n `\n bg-accordionTabs-button-background-active hover:bg-accordionTabs-button-background-active \n border-accordionTabs-button-border-active hover:border-accordionTabs-button-border-active \n text-accordionTabs-button-textAndIcon-active hover:text-accordionTabs-button-textAndIcon-active\n `\n ),\n props.className\n )}\n />\n </div>\n )}\n </>\n );\n};\nItemTabs.displayName = 'ItemTabs';\nTableResponsive.ItemTabs = ItemTabs;\n\nconst ItemContent = ({ children }: TableResponsiveItemContentInterface) => {\n return <>{children}</>;\n};\nItemContent.displayName = 'ItemContent';\nTableResponsive.ItemContent = ItemContent;\n\nTableResponsive.prototype = {\n pageSize: PropTypes.number,\n emptyTableHeight: PropTypes.number,\n onClickRow: PropTypes.func,\n variant: PropTypes.string,\n isSelectable: PropTypes.bool,\n freezedColumn: PropTypes.number,\n freezeHeader: PropTypes.bool,\n hideRowIndex: PropTypes.bool,\n tableHeight: PropTypes.number\n};\n\nexport default TableResponsive;\n"],"names":["defaultValue","pageIndex","pageSize","textAlign","TableResponsiveContainerStyled","styled","div","TableHeaderStyled","thead","headerGroupsLength","TableLoadingAndEmptyContainerStyled","TableHeader","props","splitByPlaceholder","id","split","useMemo","hg","headerGroups","slice","length","dataHg","i","headers","j","includes","index","parseInt","_a","getHeaderGroupProps","key","headerGroupProps","__rest","_jsx","jsx","children","_createElement","style","display","width","backgroundColor","ColorLight","whiteSmoke","minHeight","map","column","indexHeaderGroups","createElement","Object","assign","getHeaderProps","getIsExcludedSortable","getSortByToggleProps","className","twMerge","classNames","headerStyles","columns","CellContainerHeaderStyled","variant","Header","valueOf","render","_jsxs","_Fragment","Fragment","BaseText","label","toString","isSorted","textSortedStyles","textUnsortedStyles","justifyContent","alignItems","disableSortBy","SortIcon","isSortedDesc","iconSortedStyles","iconUnsortedStyles","childHeaderStyles","item","jsxs","minWidth","TableBodyStyled","tbody","fontFamilyMapper","TableStyled","table","freezeHeader","tableSizeMapper","tdMaxHeight","tdMinHeight","rowEvenColor","rowOddColor","TableContainerStyled","$isLoading","$isEmpty","css","$isOverflowAuto","TextStyled","Text","isEmpty","color","TableResponsive","getCellProps","defaultPropGetter","tablePageIndex","tablePageSize","emptyTableHeight","onClickRow","isSelectable","freezedColumn","hideRowIndex","tableHeight","onPageChange","isHidePagination","isHideTable","isHideItemShownDropdown","isHideShowColumnDropdown","isHideSelectedAmount","totalData","totalPage","isManualSort","itemShownLabel","selectedAmountValue","selectedAmountLabel","selectedAmountBadgeStyles","itemShownLabelStyles","itemShownDropdown","showColumnDropdown","onSort","isRefetchData","loadingContainerStyles","charTotal","data","freezeColumn","header","sortBy","parentRef","useRef","tableRef","totalWidthOfContainer","setTotalWidhtOfContainer","useState","totalWidthfColumn","temp","reduce","e","c","rowActions","pageCountState","setPageCountState","undefined","Math","ceil","countCellSpan","setCountCellSpan","useEffect","current","autoAnimate","resizeObserver","ResizeObserver","entries","entry","contentRect","observe","unobserve","canNextPage","canPreviousPage","getTableProps","getTableBodyProps","gotoPage","nextPage","page","pageCount","prepareRow","previousPage","selectedFlatRows","setHiddenColumns","state","sortByState","useTable","manualSortBy","manualPagination","initialState","hiddenColumns","selectedRowIds","initialCheckedRows","rows","forEach","row","findIndex","selectedIdRows","useBlockLayout","useSortBy","usePagination","reactTableExports","useRowSelect","useSticky","hooks","tableHooks","rowIndexAlign","actionLabel","checkedColor","totalMaxChecked","indexRowAddition","useDidMountEffect","onSelectedRow","original","onCheckedRow","call","filterHasArray","cells","Array","isArray","value","push","countCellData","max","isOverflowAuto","listTabs","getChildrenOnDisplayName","midTabs","itemContent","ref","headerContainerStyles","BasePagination","onClickPage","first","prev","next","last","isShowPagination","pagination","BaseMenuDropdown","BaseSwitchPicker","BaseBadge","containerStyles","isLoading","tableContainerStyles","dataTestId","LoadingIndicator","size","onClick","getRowProps","rowProps","cell","indexCell","checkboxIsDisabled","restCellProps","parent","type","CellContainerContentStyled","isBaseline","disableClick","numberAddition","accessor","valueCell","countArrayValue","isColSpan","isCanShowEmptyCell","ellipsis","textStyle","EmptyData","noRecordLabel","noRecordComponent","loadingColor","ColorBlue","yaleBlue","secondaryColor","loadingSecondaryColor","lapisLazuli","ListTabs","arrListTabs","Children","toArray","tab","displayName","MidTabs","ItemTabs","isActive","isMouseEnter","setIsMouseEnter","isMouseDown","setIsMouseDown","containerRef","handleMouseUp","matches","document","addEventListener","removeEventListener","onMouseDown","onMouseEnter","onMouseLeave","BaseButton","leftIconStyles","rightIcon","rightIconStyles","ItemContent","prototype","PropTypes.number","propTypesExports","number","PropTypes.func","func","PropTypes.string","string","PropTypes.bool","bool"],"mappings":"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"}
1
+ {"version":3,"file":"TableResponsive.js","sources":["../../../../src/components/Table/TableResponsive.tsx"],"sourcesContent":["import autoAnimate from '@formkit/auto-animate';\nimport classNames from 'classnames';\nimport * as PropTypes from 'prop-types';\nimport { Children, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n HeaderGroup,\n TableCellProps,\n useBlockLayout,\n usePagination,\n useRowSelect,\n useSortBy,\n useTable\n} from 'react-table';\nimport { useSticky } from 'react-table-sticky';\nimport styled, { css } from 'styled-components';\nimport { twMerge } from 'tailwind-merge';\n\nimport { useDidMountEffect } from '../../hooks';\nimport { ColorBlue, ColorLight } from '../../styles/Colors';\nimport freezeColumn from '../../utils/freezeColumn';\nimport { getChildrenOnDisplayName } from '../../utils/getChildrenOnDisplayName';\nimport { BaseBadge } from '../Badge';\nimport { BaseButton } from '../Button';\nimport { LoadingIndicator } from '../LoadingIndicator';\nimport { BaseMenuDropdown } from '../Menu';\nimport { BasePagination } from '../Pagination';\nimport { BaseSwitchPicker } from '../SwitchPicker';\nimport { BaseText, fontFamilyMapper, Text, TextAlign } from '../Text';\nimport { TableHeaderInterface, TableResponsiveInterface, TableVariantInterface } from './';\nimport { TableStyleInterface } from './Table.type';\nimport {\n CellContainerContentStyled,\n CellContainerHeaderStyled,\n defaultPropGetter,\n EmptyData,\n getIsExcludedSortable,\n SortIcon,\n tableHooks,\n tableSizeMapper\n} from './TableBase';\nimport {\n TableResponsiveContainerStyledProps,\n TableResponsiveItemContentInterface,\n TableResponsiveItemTabsInterface,\n TableResponsiveListTabsInterface,\n TableResponsiveMidTabsInterface\n} from './TableResponsive.type';\n\nconst defaultValue: {\n pageIndex: number;\n pageSize: number;\n textAlign: TextAlign;\n} = {\n pageIndex: 0,\n pageSize: 10,\n textAlign: 'left'\n};\n\nconst TableResponsiveContainerStyled = styled.div`\n bottom: 0;\n display: flex;\n flex-direction: column;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n`;\n\nconst TableHeaderStyled = styled.thead<{ headerGroupsLength?: number }>`\n tr {\n box-shadow: 0px 1px 1px 0px rgb(0 0 0 / 25%);\n clip-path: inset(-10px 0px);\n margin-top: -2px;\n :first-child {\n th {\n display: flex !important;\n }\n }\n z-index: 4;\n }\n th {\n box-sizing: border-box !important;\n min-height: ${({ headerGroupsLength }) => `${headerGroupsLength * 28}px`} !important;\n :last-child {\n border-right: 0;\n flex: 1;\n }\n p {\n letter-spacing: 0px !important;\n line-height: 12px !important;\n width: auto;\n }\n }\n`;\n\nconst TableLoadingAndEmptyContainerStyled = styled.div`\n align-items: center;\n display: flex;\n height: 100%;\n justify-content: center;\n width: 100%;\n`;\n\nconst TableHeader = (props: TableHeaderInterface) => {\n const isIdHasPlaceholder = (id: string) => {\n return id.includes('placeholder');\n };\n\n const splitByPlaceholder = (id: string) => {\n return id.split('_placeholder_');\n };\n\n useMemo(() => {\n const hg = props.headerGroups.slice();\n if (hg.length > 1) {\n const dataHg: Array<HeaderGroup> = hg;\n for (let i = 0; i !== dataHg.length; i++) {\n if (dataHg[i].headers.length > 1) {\n for (let j = 0; j < dataHg[i].headers.length; j++) {\n if (isIdHasPlaceholder(dataHg[i].headers[j].id)) {\n const index = splitByPlaceholder(dataHg[i].headers[j].id)[1];\n dataHg[i].headers[j] = dataHg[i + 1].headers[parseInt(index)];\n }\n }\n }\n }\n\n return dataHg;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.headerGroups]);\n\n const { key, ...headerGroupProps } = props.headerGroups[0].getHeaderGroupProps();\n\n return (\n <>\n <TableHeaderStyled headerGroupsLength={props.headerGroups.length}>\n <tr\n {...headerGroupProps}\n key={key}\n style={{\n display: 'flex',\n width: 'auto',\n backgroundColor: ColorLight.whiteSmoke,\n minHeight: 28 * props.headerGroups.length\n }}\n >\n {/* eslint-disable-next-line sonarjs/cognitive-complexity */}\n {props.headerGroups[0].headers.map((column, indexHeaderGroups) => (\n <th\n {...column.getHeaderProps(\n getIsExcludedSortable(column) && column.getSortByToggleProps()\n )}\n className={twMerge(\n classNames(\n 'flex flex-col',\n twMerge('bg-tableResponsive-header-background-colspan', props.headerStyles),\n column.columns &&\n 'border border-t-0 border-b-0 border-solid border-dark-solitude',\n props.headerGroups[0].headers[indexHeaderGroups - 1] &&\n props.headerGroups[0].headers[indexHeaderGroups - 1].columns &&\n 'border-l-0'\n )\n )}\n key={column.id}\n >\n <CellContainerHeaderStyled\n textAlign={column.textAlign || defaultValue.textAlign}\n variant={props.variant}\n style={{ minHeight: !column.columns ? 28 * props.headerGroups.length : 28 }}\n >\n <div className={classNames('flex flex-row items-center p-2')}>\n {typeof column.Header.valueOf() !== 'string' ? (\n column.render('Header')\n ) : (\n <>\n <BaseText\n label={column.Header.toString()}\n className={classNames(\n 'text-xs font-normal text-center',\n column.isSorted\n ? twMerge(\n 'text-tableResponsive-header-textAndIcon-active',\n props.textSortedStyles\n )\n : twMerge(\n 'text-tableResponsive-header-textAndIcon-default',\n props.textUnsortedStyles\n )\n )}\n />\n {!column.columns && (\n <span\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n }}\n >\n {!column.disableSortBy && (\n <SortIcon\n isSorted={column.isSorted}\n isSortedDesc={column.isSortedDesc}\n iconSortedStyles={props.iconSortedStyles}\n iconUnsortedStyles={props.iconUnsortedStyles}\n />\n )}\n </span>\n )}\n </>\n )}\n </div>\n </CellContainerHeaderStyled>\n {column.columns && (\n <div\n className={twMerge(\n 'flex flex-row bg-tableResponsive-header-background-underColspan',\n props.childHeaderStyles\n )}\n >\n {column.columns.map((item) => {\n return (\n <CellContainerHeaderStyled\n key={item.Header.toString()}\n textAlign={item.textAlign || defaultValue.textAlign}\n variant={props.variant}\n style={{ minHeight: 28 }}\n >\n <div\n className={classNames('flex flex-row items-center p-2')}\n style={{ minHeight: 28, minWidth: item.width }}\n >\n <BaseText\n label={item.Header.toString()}\n className={classNames(\n 'text-[10px] font-normal text-center',\n column.isSorted\n ? twMerge(\n 'text-tableResponsive-header-textAndIcon-default',\n props.textSortedStyles\n )\n : twMerge(\n 'text-tableResponsive-header-textAndIcon-default',\n props.textUnsortedStyles\n )\n )}\n />\n {!column.columns && (\n <span\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n }}\n >\n {!column.disableSortBy && (\n <SortIcon\n isSorted={column.isSorted}\n isSortedDesc={column.isSortedDesc}\n iconSortedStyles={props.iconSortedStyles}\n iconUnsortedStyles={props.iconUnsortedStyles}\n />\n )}\n </span>\n )}\n </div>\n </CellContainerHeaderStyled>\n );\n })}\n </div>\n )}\n </th>\n ))}\n </tr>\n </TableHeaderStyled>\n </>\n );\n};\n\nconst TableBodyStyled = styled.tbody`\n tr {\n cursor: pointer;\n :hover {\n p {\n font-family: ${fontFamilyMapper['semi-bold']};\n }\n }\n td {\n box-sizing: border-box !important;\n :last-child {\n border-right: 0;\n }\n }\n z-index: 10;\n }\n`;\n\ninterface TableStyledInterface extends TableVariantInterface, TableStyleInterface {\n freezeHeader?: boolean;\n}\n\ninterface CustomCellProps extends TableCellProps {\n checkboxIsDisabled?: boolean;\n}\n\nconst TableStyled = styled.table<TableStyledInterface>`\n border-spacing: 0;\n thead:first-child {\n ${({ freezeHeader }) =>\n freezeHeader && 'position: sticky !important; top: 0 !important; z-index: 35 !important'}\n }\n tbody:first-child {\n ${({ freezeHeader }) => freezeHeader && 'height: (100% - 82px)'}\n }\n width: 100%;\n td {\n max-height: ${({ variant }) => tableSizeMapper[variant].tdMaxHeight};\n min-height: ${({ variant }) => tableSizeMapper[variant].tdMinHeight};\n :last-child {\n border-right: 0;\n flex: 1;\n }\n }\n tr {\n :nth-child(odd) {\n background-color: ${({ rowEvenColor }) => rowEvenColor};\n }\n :nth-child(even) {\n background-color: ${({ rowOddColor }) => rowOddColor};\n }\n :last-child {\n td {\n border-bottom: 0;\n }\n }\n }\n`;\n\nconst TableContainerStyled = styled.div<TableResponsiveContainerStyledProps>`\n overflow: hidden;\n width: 100%;\n\n ${({ $isLoading, $isEmpty }) => {\n if ($isLoading) {\n return css`\n display: flex;\n height: 0px;\n opacity: 0.5;\n overflow: hidden;\n pointer-events: none;\n width: 0px;\n `;\n }\n\n if ($isEmpty) {\n return css`\n display: flex;\n height: 60px;\n width: 100%;\n `;\n }\n\n return css`\n display: flex;\n flex: 1;\n flex-direction: column;\n height: 100%;\n overflow: auto;\n `;\n }}\n\n table {\n tr {\n :last-child {\n td {\n border-bottom: 0;\n }\n }\n :nth-child(odd) {\n td {\n background-color: ${({ rowOddColor }) =>\n rowOddColor || 'var(--tableResponsive-body-background-odd)'};\n }\n }\n :nth-child(even) {\n td {\n background-color: ${({ rowEvenColor }) =>\n rowEvenColor || 'var(--tableResponsive-body-background-even)'};\n }\n }\n }\n\n ${({ $isOverflowAuto }) => {\n if (!$isOverflowAuto) {\n return css`\n [data-sticky-td] {\n box-shadow: 4px 0px 6px -1px rgba(0, 0, 0, 0.16);\n clip-path: inset(-1px -15px -1px 0px);\n }\n `;\n }\n }}\n }\n`;\n\nconst TextStyled = styled(Text)<{ isEmpty: boolean }>`\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n color: ${({ isEmpty, color }) =>\n color\n ? color\n : isEmpty\n ? 'var(--tableResponsive-body-text-notSpecifiedAndNone)'\n : 'var(--tableResponsive-body-text-default)'};\n display: -webkit-box;\n line-height: 16px;\n overflow: hidden;\n white-space: normal;\n`;\n\n// TableResponsive.defaultProps = {\n// pageSize: defaultValue.pageSize,\n// pageIndex: defaultValue.pageIndex,\n// emptyTableHeight: 200,\n// onClickRow: undefined,\n// variant: 'regular',\n// isSelectable: false,\n// freezedColumn: 0,\n// freezeHeader: false,\n// hideRowIndex: false,\n// tableHeight: 400\n// };\n\n// eslint-disable-next-line sonarjs/cognitive-complexity\nconst TableResponsive = ({\n getCellProps = defaultPropGetter,\n pageIndex: tablePageIndex = defaultValue.pageIndex,\n pageSize: tablePageSize = defaultValue.pageSize,\n emptyTableHeight = 200,\n onClickRow = undefined,\n variant = 'regular',\n isSelectable = false,\n freezedColumn = 0,\n freezeHeader = false,\n hideRowIndex = false,\n tableHeight = 400,\n ...props\n}: // eslint-disable-next-line sonarjs/cognitive-complexity\nTableResponsiveInterface) => {\n // FIXME: pindahin logic di component ke custom hooks\n const {\n onPageChange,\n isHidePagination,\n isHideTable,\n isHideItemShownDropdown,\n isHideShowColumnDropdown,\n isHideSelectedAmount,\n totalData,\n totalPage,\n isManualSort,\n itemShownLabel,\n selectedAmountValue,\n selectedAmountLabel,\n selectedAmountLabelStyles,\n selectedAmountBadgeStyles,\n itemShownLabelStyles,\n itemShownDropdown,\n showColumnDropdown,\n onSort,\n isRefetchData,\n loadingContainerStyles\n } = props;\n const charTotal = tableSizeMapper[variant].charTotal;\n const data = useMemo(() => props.data, [props.data]);\n const columns = useMemo(\n () => freezeColumn({ header: props.header, freezedColumn: freezedColumn }),\n [freezedColumn, props.header]\n );\n\n const sortBy = useMemo(() => {\n if (props.sortBy && isManualSort) return [props.sortBy];\n return [];\n }, [props.sortBy, isManualSort]);\n\n const parentRef = useRef<HTMLDivElement>();\n const tableRef = useRef<HTMLDivElement>();\n\n const [totalWidthOfContainer, setTotalWidhtOfContainer] = useState<number>(0);\n\n const totalWidthfColumn = useMemo(() => {\n let temp;\n if (props.header) {\n temp = props.header.reduce((e, c) => {\n return e + (c.width || 150);\n }, 0);\n\n if (props.rowActions) {\n temp += 100;\n }\n\n if (!hideRowIndex) {\n temp += 40;\n }\n\n if (!isSelectable) {\n temp += 48;\n }\n }\n return temp;\n }, [props.header, hideRowIndex, props.rowActions, isSelectable]);\n\n const [pageCountState, setPageCountState] = useState(\n !isHidePagination ? Math.ceil(totalData / tablePageSize) : undefined\n );\n const [countCellSpan, setCountCellSpan] = useState<number>(0);\n\n const selectedIdRows = () => {\n const temp: { [key: string]: boolean } = {};\n const rows = props.initialCheckedRows;\n if (rows) {\n rows.forEach((row) => {\n const index = data.findIndex((e: { id: string }) => e.id === row);\n temp[index.toString()] = true;\n });\n }\n return temp;\n };\n\n useEffect(() => {\n if (parentRef.current) {\n autoAnimate(parentRef.current);\n }\n }, [parentRef]);\n\n useEffect(() => {\n const resizeObserver = new ResizeObserver((entries) => {\n for (const entry of entries) {\n setTotalWidhtOfContainer(entry.contentRect.width);\n }\n });\n\n if (tableRef.current) {\n resizeObserver.observe(tableRef.current);\n }\n\n return () => {\n if (tableRef.current) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n resizeObserver.unobserve(tableRef.current);\n }\n };\n }, []);\n\n const {\n canNextPage,\n canPreviousPage,\n getTableProps,\n getTableBodyProps,\n gotoPage,\n headerGroups,\n nextPage,\n page,\n pageCount,\n prepareRow,\n previousPage,\n selectedFlatRows,\n setHiddenColumns,\n state: {\n pageIndex,\n pageSize,\n sortBy: [sortByState]\n }\n } = useTable(\n {\n columns,\n data,\n manualSortBy: isManualSort,\n manualPagination: !isHidePagination,\n pageCount: pageCountState,\n initialState: {\n sortBy,\n pageIndex: !isHidePagination ? tablePageIndex : defaultValue.pageIndex,\n pageSize: tablePageSize,\n hiddenColumns: [],\n selectedRowIds: props.initialCheckedRows ? selectedIdRows() : { '-1': true }\n }\n },\n useBlockLayout,\n useSortBy,\n usePagination,\n useRowSelect,\n useSticky,\n (hooks) =>\n tableHooks({\n hooks,\n isSelectable: isSelectable,\n hideRowIndex: hideRowIndex,\n rowIndexAlign: props.rowIndexAlign,\n variant: variant,\n actionLabel: props.actionLabel,\n rowActions: props.rowActions,\n freezedColumn: freezedColumn,\n checkedColor: props.checkedColor,\n totalMaxChecked: props.totalMaxChecked\n })\n );\n\n const indexRowAddition = useMemo(() => {\n if (isHidePagination) return 0;\n return pageSize * pageIndex;\n }, [isHidePagination, pageIndex, pageSize]);\n\n useDidMountEffect(() => {\n if (typeof props.onSelectedRow === 'function' && isSelectable) {\n props.onSelectedRow(selectedFlatRows);\n }\n }, [props.onSelectedRow, selectedFlatRows]);\n\n useEffect(() => {\n if (selectedFlatRows) {\n const temp = selectedFlatRows.map((item) => item.original.id);\n props.onCheckedRow?.(temp);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selectedFlatRows]);\n\n // FIXME: find better implementation for hidden columns\n useEffect(() => {\n if (props.hiddenColumns) setHiddenColumns(props.hiddenColumns || []);\n }, [props.hiddenColumns, setHiddenColumns]);\n\n useEffect(() => {\n if (typeof onPageChange === 'function') {\n onPageChange({ pageIndex, pageSize });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pageIndex, pageSize]);\n\n useEffect(() => {\n if (!isHidePagination) {\n setPageCountState(Math.ceil(totalData / pageSize));\n }\n }, [pageSize, totalData, isHidePagination]);\n\n useEffect(() => {\n if (typeof onSort === 'function') {\n onSort({ sortBy: sortByState });\n }\n }, [onSort, sortByState]);\n\n useEffect(() => {\n const filterHasArray: Array<number> = [];\n page.forEach((row) => {\n row.cells.forEach((item) => {\n if (Array.isArray(item.value)) {\n filterHasArray.push(item.value.length);\n }\n });\n });\n const countCellData = filterHasArray.length > 0 ? Math.max(...filterHasArray) : 0;\n setCountCellSpan(countCellData);\n }, [page]);\n\n const isOverflowAuto =\n (!!freezedColumn || !!freezeHeader) && totalWidthfColumn > totalWidthOfContainer;\n const isEmpty = data.length === 0;\n\n const listTabs = getChildrenOnDisplayName(props.children, 'ListTabs');\n const midTabs = getChildrenOnDisplayName(props.children, 'MidTabs');\n const itemContent = getChildrenOnDisplayName(props.children, 'ItemContent');\n\n return (\n <div className='flex flex-col w-full h-full'>\n {/* Layout Header */}\n <div\n ref={parentRef}\n className={twMerge(\n 'flex flex-col w-full bg-accordionTabs-container-background-default mb-3 rounded-lg p-2',\n props.headerContainerStyles\n )}\n >\n <div className='flex flex-row items-center w-full gap-x-1'>\n <div className='flex flex-1'>{listTabs}</div>\n {midTabs && <>{midTabs}</>}\n {!isHidePagination && pageCount > 0 && (\n <div>\n <BasePagination\n canPreviousPage={canPreviousPage}\n canNextPage={canNextPage}\n totalData={!isHidePagination ? totalData : data.length}\n pageIndex={pageIndex}\n onClickPage={{\n first: () => gotoPage(0),\n prev: previousPage,\n next: nextPage,\n last: () => gotoPage(pageCount - 1),\n gotoPage: (page) => gotoPage(page)\n }}\n totalPage={totalPage || pageCount}\n isShowPagination={true}\n {...props.pagination}\n />\n </div>\n )}\n\n {!isHideItemShownDropdown && !!itemShownDropdown && (\n <div className='flex flex-row items-center gap-x-2'>\n <BaseText\n label={itemShownLabel || 'Item Shown'}\n className={twMerge('font-normal text-dark-gumbo', itemShownLabelStyles)}\n />\n <BaseMenuDropdown {...itemShownDropdown} />\n </div>\n )}\n\n {!isHideShowColumnDropdown && !!showColumnDropdown && (\n <div>\n <BaseSwitchPicker {...showColumnDropdown} />\n </div>\n )}\n\n {!isHideSelectedAmount && isSelectable && (\n <div className='flex flex-row items-center gap-x-2'>\n <BaseText\n label={selectedAmountLabel || 'Selected Items'}\n className={twMerge('font-normal text-dark-gumbo', selectedAmountLabelStyles)}\n />\n <BaseBadge\n label={`${selectedAmountValue}`}\n containerStyles={twMerge('bg-dark-bermudaGray', selectedAmountBadgeStyles)}\n />\n </div>\n )}\n </div>\n\n {itemContent}\n </div>\n\n {/* Layout Content/Body */}\n <div\n className={`${\n isHideTable ? 'hidden' : 'flex'\n } flex-1 relative w-full h-full overflow-auto z-10`}\n >\n <TableResponsiveContainerStyled>\n <TableContainerStyled\n ref={tableRef}\n $isOverflowAuto={!isOverflowAuto}\n $isLoading={props.isLoading}\n $isEmpty={isEmpty}\n tableHeight={tableHeight}\n rowEvenColor={props.rowEvenColor}\n rowOddColor={props.rowOddColor}\n variant={variant}\n className={twMerge('w-full h-full', props.tableContainerStyles)}\n >\n <TableStyled\n {...getTableProps()}\n freezeHeader={freezeHeader}\n variant={variant}\n data-test-id={props.dataTestId}\n rowOddColor={props.rowOddColor}\n rowEvenColor={props.rowEvenColor}\n >\n {isRefetchData && (\n <div\n className={twMerge(\n 'absolute top-0 flex flex-1 items-center justify-center w-full h-full bg-light-whiteSolid z-20',\n loadingContainerStyles\n )}\n >\n <LoadingIndicator size='small' />\n </div>\n )}\n <TableHeader\n headerGroups={headerGroups}\n variant={variant}\n freezeHeader={freezeHeader}\n textSortedStyles={props.textSortedStyles}\n textUnsortedStyles={props.textUnsortedStyles}\n iconSortedStyles={props.iconSortedStyles}\n iconUnsortedStyles={props.iconUnsortedStyles}\n headerStyles={props.headerStyles}\n childHeaderStyles={props.childHeaderStyles}\n />\n <TableBodyStyled {...getTableBodyProps()}>\n {\n // eslint-disable-next-line sonarjs/cognitive-complexity\n page.map((row, i) => {\n prepareRow(row);\n const onClick = () => onClickRow && onClickRow(row.original);\n const { key, ...rowProps } = row.getRowProps();\n\n return (\n <tr\n {...rowProps}\n key={key || i}\n style={{\n display: 'flex',\n width: 'auto'\n }}\n >\n {row.cells.map((cell, indexCell) => {\n const { key, checkboxIsDisabled, ...restCellProps } = cell.getCellProps(\n getCellProps(cell)\n ) as CustomCellProps;\n return (\n <td\n {...restCellProps}\n key={key || cell.row.id}\n className={twMerge(\n classNames(\n !!cell.column.parent &&\n 'border border-t-0 border-b-0 border-solid border-dark-solitude',\n row.cells[indexCell + 1] &&\n row.cells[indexCell - 1] &&\n !!row.cells[indexCell + 1].column.parent &&\n !!row.cells[indexCell - 1].column.parent &&\n 'border-l-0',\n row.cells[indexCell + 1] &&\n row.cells[indexCell - 1] &&\n !!row.cells[indexCell + 1].column.parent &&\n !row.cells[indexCell - 1].column.parent &&\n 'border-r-0',\n row.cells[indexCell + 1] &&\n row.cells[indexCell - 1] &&\n !row.cells[indexCell + 1].column.parent &&\n !!row.cells[indexCell - 1].column.parent &&\n 'border-l-0',\n row.cells[indexCell + 1] &&\n row.cells[indexCell - 1] &&\n !!row.cells[indexCell + 1].column.parent &&\n !!row.cells[indexCell - 1].column.parent &&\n row.cells[indexCell - 1].column.parent.id !==\n cell.column.parent.id &&\n 'border-r-0',\n !row.cells[indexCell + 1] && 'border-l-0'\n )\n )}\n >\n {cell.column.type === 'custom' ? (\n <CellContainerContentStyled\n variant={variant}\n isBaseline\n onClick={cell.column.disableClick ? null : onClick}\n >\n {cell.render('Cell', {\n numberAddition: indexRowAddition,\n ...(cell.column.accessor === 'selectable'\n ? { checkboxIsDisabled }\n : {})\n })}\n </CellContainerContentStyled>\n ) : (\n <>\n {Array.isArray(cell.value) ? (\n cell.value.map((valueCell, index) => (\n <CellContainerContentStyled\n variant={variant}\n key={index}\n isBaseline\n countArrayValue={countCellSpan}\n isColSpan\n onClick={cell.column.disableClick ? null : onClick}\n >\n <TextStyled\n isEmpty={!valueCell}\n textAlign={\n cell.column.textAlign || defaultValue.textAlign\n }\n label={\n cell.column.isCanShowEmptyCell\n ? valueCell\n : valueCell || '-'\n }\n variant='small'\n ellipsis={\n cell.value ? cell.value.length >= charTotal : false\n }\n {...cell.column.textStyle}\n />\n </CellContainerContentStyled>\n ))\n ) : (\n <CellContainerContentStyled\n variant={variant}\n isBaseline\n onClick={cell.column.disableClick ? null : onClick}\n >\n <TextStyled\n isEmpty={!cell.value}\n textAlign={cell.column.textAlign || defaultValue.textAlign}\n label={\n cell.column.isCanShowEmptyCell\n ? cell.value\n : cell.value || '-'\n }\n variant='small'\n ellipsis={\n cell.value ? cell.value.length >= charTotal : false\n }\n {...cell.column.textStyle}\n />\n </CellContainerContentStyled>\n )}\n </>\n )}\n </td>\n );\n })}\n </tr>\n );\n })\n }\n </TableBodyStyled>\n </TableStyled>\n </TableContainerStyled>\n\n {isEmpty && !props.isLoading && (\n <TableLoadingAndEmptyContainerStyled>\n <EmptyData\n emptyTableHeight={emptyTableHeight}\n noRecordLabel={props.noRecordLabel}\n noRecordComponent={props.noRecordComponent}\n />\n </TableLoadingAndEmptyContainerStyled>\n )}\n\n {props.isLoading && (\n <TableLoadingAndEmptyContainerStyled>\n <LoadingIndicator\n size='small'\n color={props.loadingColor ? props.loadingColor : ColorBlue.yaleBlue}\n secondaryColor={\n props.loadingSecondaryColor ? props.loadingSecondaryColor : ColorBlue.lapisLazuli\n }\n />\n </TableLoadingAndEmptyContainerStyled>\n )}\n </TableResponsiveContainerStyled>\n </div>\n </div>\n );\n};\n\nconst ListTabs = ({ children }: TableResponsiveListTabsInterface) => {\n const arrListTabs = Children.toArray(children);\n return (\n <div className='flex flex-row w-full'>\n {Children.map(arrListTabs, (item, index) => {\n const tab = getChildrenOnDisplayName(item, 'ItemTabs');\n return (\n <div key={index} className='flex flex-row items-center'>\n {tab}\n </div>\n );\n })}\n </div>\n );\n};\nListTabs.displayName = 'ListTabs';\nTableResponsive.ListTabs = ListTabs;\n\nconst MidTabs = ({ children, containerStyles }: TableResponsiveMidTabsInterface) => {\n return (\n <>\n {children ? (\n <div className={twMerge('flex flex-row flex-1', containerStyles)}>{children}</div>\n ) : null}\n </>\n );\n};\nMidTabs.displayName = 'MidTabs';\nTableResponsive.MidTabs = MidTabs;\n\nconst ItemTabs = ({ children, isActive, ...props }: TableResponsiveItemTabsInterface) => {\n const [isMouseEnter, setIsMouseEnter] = useState<boolean>(false);\n const [isMouseDown, setIsMouseDown] = useState<boolean>(false);\n const containerRef = useRef(null);\n\n useEffect(() => {\n const handleMouseUp = () => {\n setIsMouseDown(false);\n if (containerRef.current && !containerRef.current.matches(':hover')) {\n setIsMouseEnter(false);\n }\n };\n\n if (isMouseDown) {\n document.addEventListener('mouseup', handleMouseUp);\n }\n return () => {\n document.removeEventListener('mouseup', handleMouseUp);\n };\n }, [isMouseDown]);\n\n return (\n <>\n {children ? (\n children\n ) : (\n <div\n ref={containerRef}\n onMouseDown={() => setIsMouseDown(true)}\n onMouseEnter={() => setIsMouseEnter(true)}\n onMouseLeave={() => {\n if (!isMouseDown) {\n setIsMouseEnter(false);\n }\n }}\n >\n <BaseButton\n {...props}\n leftIconStyles={twMerge(\n classNames(\n 'fill-accordionTabs-button-textAndIcon-default',\n isMouseEnter && 'fill-accordionTabs-button-textAndIcon-hover',\n (isMouseDown || isActive) && 'fill-accordionTabs-button-textAndIcon-active'\n ),\n props.leftIconStyles\n )}\n rightIcon={isActive ? 'chevronup' : props.rightIcon || 'chevrondown'}\n rightIconStyles={twMerge(\n classNames(\n 'fill-accordionTabs-button-textAndIcon-default',\n isMouseEnter && 'fill-accordionTabs-button-textAndIcon-hover',\n (isMouseDown || isActive) && 'fill-accordionTabs-button-textAndIcon-active'\n ),\n props.rightIconStyles\n )}\n className={twMerge(\n classNames(\n `\n bg-accordionTabs-button-background-default active:bg-accordionTabs-button-background-active hover:bg-accordionTabs-button-background-hover \n border-accordionTabs-button-border-default active:border-accordionTabs-button-border-active hover:border-accordionTabs-button-border-hover \n text-accordionTabs-button-textAndIcon-default active:text-accordionTabs-button-textAndIcon-active hover:text-accordionTabs-button-textAndIcon-hover\n `,\n isActive &&\n `\n bg-accordionTabs-button-background-active hover:bg-accordionTabs-button-background-active \n border-accordionTabs-button-border-active hover:border-accordionTabs-button-border-active \n text-accordionTabs-button-textAndIcon-active hover:text-accordionTabs-button-textAndIcon-active\n `\n ),\n props.className\n )}\n />\n </div>\n )}\n </>\n );\n};\nItemTabs.displayName = 'ItemTabs';\nTableResponsive.ItemTabs = ItemTabs;\n\nconst ItemContent = ({ children }: TableResponsiveItemContentInterface) => {\n return <>{children}</>;\n};\nItemContent.displayName = 'ItemContent';\nTableResponsive.ItemContent = ItemContent;\n\nTableResponsive.prototype = {\n pageSize: PropTypes.number,\n emptyTableHeight: PropTypes.number,\n onClickRow: PropTypes.func,\n variant: PropTypes.string,\n isSelectable: PropTypes.bool,\n freezedColumn: PropTypes.number,\n freezeHeader: PropTypes.bool,\n hideRowIndex: PropTypes.bool,\n tableHeight: PropTypes.number\n};\n\nexport default TableResponsive;\n"],"names":["defaultValue","pageIndex","pageSize","textAlign","TableResponsiveContainerStyled","styled","div","TableHeaderStyled","thead","headerGroupsLength","TableLoadingAndEmptyContainerStyled","TableHeader","props","splitByPlaceholder","id","split","useMemo","hg","headerGroups","slice","length","dataHg","i","headers","j","includes","index","parseInt","_a","getHeaderGroupProps","key","headerGroupProps","__rest","_jsx","jsx","children","_createElement","style","display","width","backgroundColor","ColorLight","whiteSmoke","minHeight","map","column","indexHeaderGroups","createElement","Object","assign","getHeaderProps","getIsExcludedSortable","getSortByToggleProps","className","twMerge","classNames","headerStyles","columns","CellContainerHeaderStyled","variant","Header","valueOf","render","_jsxs","_Fragment","Fragment","BaseText","label","toString","isSorted","textSortedStyles","textUnsortedStyles","justifyContent","alignItems","disableSortBy","SortIcon","isSortedDesc","iconSortedStyles","iconUnsortedStyles","childHeaderStyles","item","jsxs","minWidth","TableBodyStyled","tbody","fontFamilyMapper","TableStyled","table","freezeHeader","tableSizeMapper","tdMaxHeight","tdMinHeight","rowEvenColor","rowOddColor","TableContainerStyled","$isLoading","$isEmpty","css","$isOverflowAuto","TextStyled","Text","isEmpty","color","TableResponsive","getCellProps","defaultPropGetter","tablePageIndex","tablePageSize","emptyTableHeight","onClickRow","isSelectable","freezedColumn","hideRowIndex","tableHeight","onPageChange","isHidePagination","isHideTable","isHideItemShownDropdown","isHideShowColumnDropdown","isHideSelectedAmount","totalData","totalPage","isManualSort","itemShownLabel","selectedAmountValue","selectedAmountLabel","selectedAmountLabelStyles","selectedAmountBadgeStyles","itemShownLabelStyles","itemShownDropdown","showColumnDropdown","onSort","isRefetchData","loadingContainerStyles","charTotal","data","freezeColumn","header","sortBy","parentRef","useRef","tableRef","totalWidthOfContainer","setTotalWidhtOfContainer","useState","totalWidthfColumn","temp","reduce","e","c","rowActions","pageCountState","setPageCountState","undefined","Math","ceil","countCellSpan","setCountCellSpan","useEffect","current","autoAnimate","resizeObserver","ResizeObserver","entries","entry","contentRect","observe","unobserve","canNextPage","canPreviousPage","getTableProps","getTableBodyProps","gotoPage","nextPage","page","pageCount","prepareRow","previousPage","selectedFlatRows","setHiddenColumns","state","sortByState","useTable","manualSortBy","manualPagination","initialState","hiddenColumns","selectedRowIds","initialCheckedRows","rows","forEach","row","findIndex","selectedIdRows","useBlockLayout","useSortBy","usePagination","reactTableExports","useRowSelect","useSticky","hooks","tableHooks","rowIndexAlign","actionLabel","checkedColor","totalMaxChecked","indexRowAddition","useDidMountEffect","onSelectedRow","original","onCheckedRow","call","filterHasArray","cells","Array","isArray","value","push","countCellData","max","isOverflowAuto","listTabs","getChildrenOnDisplayName","midTabs","itemContent","ref","headerContainerStyles","BasePagination","onClickPage","first","prev","next","last","isShowPagination","pagination","BaseMenuDropdown","BaseSwitchPicker","BaseBadge","containerStyles","isLoading","tableContainerStyles","dataTestId","LoadingIndicator","size","onClick","getRowProps","rowProps","cell","indexCell","checkboxIsDisabled","restCellProps","parent","type","CellContainerContentStyled","isBaseline","disableClick","numberAddition","accessor","valueCell","countArrayValue","isColSpan","isCanShowEmptyCell","ellipsis","textStyle","EmptyData","noRecordLabel","noRecordComponent","loadingColor","ColorBlue","yaleBlue","secondaryColor","loadingSecondaryColor","lapisLazuli","ListTabs","arrListTabs","Children","toArray","tab","displayName","MidTabs","ItemTabs","isActive","isMouseEnter","setIsMouseEnter","isMouseDown","setIsMouseDown","containerRef","handleMouseUp","matches","document","addEventListener","removeEventListener","onMouseDown","onMouseEnter","onMouseLeave","BaseButton","leftIconStyles","rightIcon","rightIconStyles","ItemContent","prototype","PropTypes.number","propTypesExports","number","PropTypes.func","func","PropTypes.string","string","PropTypes.bool","bool"],"mappings":"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"}
@@ -46,6 +46,7 @@ export interface TableResponsiveInterface extends TableInterface {
46
46
  headerContainerStyles?: string;
47
47
  headerStyles?: string;
48
48
  childHeaderStyles?: string;
49
+ selectedAmountLabelStyles?: string;
49
50
  }
50
51
  export type TableResponsiveListTabsInterface = {
51
52
  children?: React.ReactNode;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uangcermat-web-toolkit-v2",
3
- "version": "0.2.26",
3
+ "version": "0.2.27",
4
4
  "outputDir": "build",
5
5
  "main": "build/src/index.js",
6
6
  "types": "build/src/index.d.ts",