uangcermat-web-toolkit-v2 0.2.28 → 0.2.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { SidebarFooterInterface, SidebarHeaderInterface, SidebarInterface, SidebarPopoverInterface, SidebarUserProfileInterface } from './Sidebar.type';
3
3
  declare const Sidebar: {
4
- ({ activeId, activeParent, data, isCollapsed, notificationCountContainerStyles, notificationCountTextStyles, containerStyles, itemMenuContainerStyles, itemMenuIconStyles, itemMenuTitleStyles, itemMenuActiveBgColor, itemSubMenuContainerStyles, itemSubMenuActiveTextColor, toggleButtonContainerStyles, toggleIconOpenName, toggleIconCloseName, toggleIconStyles, onClickCollapsible, onClickNav, children }: SidebarInterface): import("react/jsx-runtime").JSX.Element;
4
+ ({ activeId, activeParent, data, isCollapsed, notificationCountContainerStyles, notificationCountTextStyles, containerStyles, itemMenuContainerStyles, itemMenuIconStyles, itemMenuTitleStyles, itemMenuActiveBgColor, itemSubMenuTitleStyles, itemSubMenuContainerStyles, itemSubMenuActiveTextColor, toggleButtonContainerStyles, toggleIconOpenName, toggleIconCloseName, toggleIconStyles, onClickCollapsible, onClickNav, children }: SidebarInterface): import("react/jsx-runtime").JSX.Element;
5
5
  Popover: {
6
6
  ({ isCollapsed, label, labelStyles, icon, iconStyles, notificationCount, notificationCountContainerStyles, notificationCountTextStyles, position, iconTriangleStyles, iconTriangleContainerStyles, panelContainerStyles, offsetX, offsetY, containerStyles, isAutoFlip, children }: SidebarPopoverInterface): import("react/jsx-runtime").JSX.Element;
7
7
  displayName: string;
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react/jsx-runtime"),t=require("../../../node_modules/classnames/index.js"),a=require("react");require("../../components/Avatar/Avatar.js"),require("../../components/Backdrop/Backdrop.js"),require("../../components/Badge/Badge.js");var s=require("../../components/Badge/BaseBadge.js"),n=require("../../components/Text/BaseText.js");require("../../components/Text/Text.js"),require("../../components/Breadcrumbs/BaseBreadcrumbs.js"),require("../../components/Breadcrumbs/Breadcrumbs.js"),require("../../components/Button/ButtonHyperlink.js");var o=require("../../components/Button/BaseButton.js"),l=require("../../components/Button/BaseButtonIcon.js");require("../../components/Button/Button.js"),require("../../components/Button/ButtonConfirmation.js"),require("../../components/Button/ButtonLink.js"),require("../../components/Button/ButtonRipple.js"),require("../../../_virtual/_tslib.js"),require("../../styles/Colors.js"),require("../../components/Card/InfoCard.js"),require("../../components/Checkbox/Checkbox.js");var i=require("../../components/Icon/Icon.js");require("../../components/CheckPicker/BaseInfiniteCheckPicker.js"),require("../../components/CheckPicker/CheckPicker.js"),require("../../components/Container/BaseCollapsibleContainer.js"),require("../../components/DatePicker/DatePicker.js"),require("../../components/DatePicker/DatePickerRange.js"),require("../../components/DatePicker/DatePickerTime.js"),require("../../components/Heading/Heading.js"),require("../../components/IconProduct/IconProduct.js"),require("../../components/Image/Image.js"),require("../../components/LoadingIndicator/LoadingIndicator.js"),require("../../components/LoadingIndicator/LoadingIndicatorBox.js"),require("../../styles/BorderRadius.js"),require("../../styles/Spacing.js"),require("../../components/MessageBox/MessageBox.js"),require("../../components/Modal/BaseModal.js"),require("../../components/Modal/Modal.js");var r=require("../../components/Popover/BasePopover.js");require("../../components/Preview/BasePreview.js"),require("../../components/ProgressBar/ProgressBar.js"),require("../../components/ProgressIndicator/ProgressIndicator.js"),require("../../components/RadioButton/RadioButton.js"),require("../../components/SelectPicker/BaseInfiniteSelectPicker.js"),require("../../components/SelectPicker/SelectPicker.js"),require("../../components/Table/TablePage.js"),require("../../components/Table/TableResponsive.js"),require("../../components/Tabs/BaseAccordionTabs.js"),require("../../components/Tabs/Tabs.js"),require("../../components/Textarea/Textarea.js"),require("../../components/TextInput/TextInput.js"),require("../../components/TimePicker/TimePicker.js"),require("../../../node_modules/react-hot-toast/dist/index.mjs.js"),require("../../components/ToggleButton/ToggleButton.js"),require("../../components/Tooltip/BaseTooltip.js"),require("../../components/Uploader/BaseUploader.js");var c=require("../../utils/getChildrenOnDisplayName.js"),u=require("../../../node_modules/tailwind-merge/dist/lib/tw-merge.mjs.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=d(a);const x=()=>e.jsx("div",{className:"w-full h-[1px] bg-sidebar-separator-default"}),g=({id:o,title:l,titleStyles:r,icon:c,iconStyles:d,subMenu:x,isCollapsed:g,activeId:f,selectedId:b,notificationCountContainerStyles:p,notificationCountTextStyles:j,itemMenuContainerStyles:h,itemMenuActiveContainerStyles:v,itemMenuActiveBgColor:w,itemSubMenuContainerStyles:y,itemSubMenuActiveContainerStyles:C,itemSubMenuActiveTextColor:k,onClickCollapsible:S,onExpand:N,onClickNav:M,notifcationCount:A})=>{const B=b===o,[P,q]=m.default.useState(!1),[O,I]=m.default.useState(!1),[T,L]=m.default.useState(!1);return a.useEffect((()=>{g?q(!1):setTimeout((()=>{q(!0)}),200)}),[g]),e.jsxs("div",Object.assign({className:u.twMerge(`overflow-hidden hover:bg-sidebar-menu-background-hover rounded-lg ${B?v||"bg-sidebar-menu-background-active":"bg-transparent"}`,h),style:{backgroundColor:B?w:void 0}},{children:[e.jsx("button",Object.assign({onClick:()=>{P||B||S(),N(B?"":o)},className:"relative w-full pl-3 pr-4 bg-transparent min-h-8",onMouseDown:()=>L(!0),onMouseUp:()=>L(!1),onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1)},{children:e.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-2"},{children:[e.jsx("div",Object.assign({className:"w-4 h-4"},{children:e.jsx(i,{name:c,className:u.twMerge(t.default("w-4 h-4 fill-sidebar-menu-textAndIcon-default",O&&"fill-sidebar-menu-textAndIcon-hover",T&&"fill-sidebar-menu-textAndIcon-active"),d)})})),P&&e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:l,className:u.twMerge(t.default("text-sidebar-menu-textAndIcon-default text-sm text-left w-full line-clamp-1",O&&"text-sidebar-menu-textAndIcon-hover",T&&"text-sidebar-menu-textAndIcon-active"),r)})})),!!A&&e.jsx(s,{label:A.toString(),labelStyles:u.twMerge("text-[10px] text-sidebar-notificationBadge-textAndIcon-default",j),containerStyles:u.twMerge(t.default("flex items-center justify-center min-w-[16px] h-4 rounded-full p-0.5 bg-sidebar-notificationBadge-background-default",`${!P&&"absolute right-0 top-0"}`),p)})]}))})),e.jsx("div",Object.assign({className:"flex flex-col overflow-hidden transition-[max-height] duration-500 ease-in-out "+(B&&P?"max-h-screen bg-sidebar-submenu-background-default":"max-h-0 "),style:{backgroundColor:B&&P?w:"transparent"}},{children:x.map(((t,a)=>e.jsx("button",Object.assign({onClick:()=>M(t),className:u.twMerge("\n flex flex-1 py-2 \n bg-sidebar-submenu-background-default active:bg-sidebar-submenu-background-active hover:bg-sidebar-submenu-background-hover \n text-sidebar-submenu-textAndIcon-default active:text-sidebar-submenu-textAndIcon-active hover:text-sidebar-submenu-textAndIcon-hover \n pl-8 "+(t.navLink===f?`pl-11 ${C||"text-sidebar-submenu-textAndIcon-active"}`:""),y),style:{color:t.navLink===f?k:void 0}},{children:e.jsx(n.default,{label:t.title,className:`text-xs text-left line-clamp-1 w-full ${t.navLink===f?"font-semibold":"font-normal"} `})}),a)))}))]}))},f=({activeId:t,activeParent:s,data:n,isCollapsed:o,notificationCountContainerStyles:i,notificationCountTextStyles:r,containerStyles:d,itemMenuContainerStyles:x,itemMenuIconStyles:f,itemMenuTitleStyles:b,itemMenuActiveBgColor:p,itemSubMenuContainerStyles:j,itemSubMenuActiveTextColor:h,toggleButtonContainerStyles:v,toggleIconOpenName:w,toggleIconCloseName:y,toggleIconStyles:C,onClickCollapsible:k,onClickNav:S,children:N})=>{const M=c.getChildrenOnDisplayName(N,"Header"),A=c.getChildrenOnDisplayName(N,"Footer"),B=c.getChildrenOnDisplayName(N,"UserProfile"),[P,q]=m.default.useState(s),O=a.Children.toArray(N);return e.jsxs("div",Object.assign({className:u.twMerge("flex flex-col relative h-full px-2 pb-2 ease-in-out duration-300 w-[220px] bg-sidebar-background-default",d)},{children:[M,e.jsx(l.default,{variant:"tertiary",onClick:()=>k(),iconName:o?y||"chevronDoubleArrowRight":w||"chevronDoubleArrowLeft",iconStyles:u.twMerge("w-[7.5px] h-[7.5px]",C),className:u.twMerge("w-6 h-6 absolute top-14 -right-3",v)}),e.jsx("div",Object.assign({className:"flex flex-col flex-1 mb-4 overflow-auto scrollbar scrollbar-none"},{children:e.jsx("div",Object.assign({className:"flex flex-col justify-start flex-1"},{children:n.map(((a,s)=>e.jsx(g,{selectedId:P,id:a.id,title:a.title,icon:a.icon,permission:a.permission,isCollapsed:o,activeId:t,subMenu:a.subMenu,onClickCollapsible:()=>k(),onExpand:e=>q(e),onClickNav:e=>S(e),notifcationCount:a.notifcationCount,notificationCountContainerStyles:i,notificationCountTextStyles:r,itemMenuActiveBgColor:p,itemMenuContainerStyles:x,itemSubMenuActiveTextColor:h,itemSubMenuContainerStyles:j,iconStyles:f,titleStyles:b},s)))}))})),e.jsx("div",Object.assign({className:"mb-2"},{children:a.Children.map(O,((t,a)=>{const s=c.getChildrenOnDisplayName(t,"Popover");return e.jsx("div",Object.assign({className:"w-full"},{children:s}),a)}))})),B,A]}))},b=({isCollapsed:o,label:l,labelStyles:d,icon:x,iconStyles:g,notificationCount:f,notificationCountContainerStyles:b,notificationCountTextStyles:p,position:j,iconTriangleStyles:h,iconTriangleContainerStyles:v,panelContainerStyles:w,offsetX:y,offsetY:C,containerStyles:k,isAutoFlip:S,children:N})=>{const[M,A]=m.default.useState(!1),[B,P]=m.default.useState(!1),[q,O]=m.default.useState(!1);return a.useEffect((()=>{o?A(!1):setTimeout((()=>{A(!0)}),200)}),[o]),e.jsx(r,Object.assign({position:j||"right-start",iconTriangleStyles:h,iconTriangleContainerStyles:v,panelContainerStyles:w,offsetX:y,offsetY:C,isAutoFlip:S},{children:({open:a,close:o})=>e.jsxs(e.Fragment,{children:[e.jsx(r.Button,{children:e.jsxs("button",Object.assign({className:u.twMerge(t.default("\n h-8 pr-4 pl-3 w-full relative flex flex-row items-center rounded-lg gap-x-2\n bg-sidebar-notificationButton-background-default active:bg-sidebar-notificationButton-background-active hover:bg-sidebar-notificationButton-background-hover\n text-sidebar-notificationButton-textAndIcon-default active:text-sidebar-notificationButton-textAndIcon-active hover:text-sidebar-notificationButton-textAndIcon-hover\n ",a&&"bg-sidebar-profile-background-active text-sidebar-profile-text-active"),k),onMouseDown:()=>O(!0),onMouseUp:()=>O(!1),onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},{children:[e.jsx("div",Object.assign({className:"w-4 h-4"},{children:e.jsx(i,{name:x,className:u.twMerge(t.default("w-4 h-4 fill-sidebar-notificationButton-textAndIcon-default",B&&"fill-sidebar-notificationButton-textAndIcon-hover",q&&"fill-sidebar-notificationButton-textAndIcon-active"),g)})})),M&&e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:l,className:u.twMerge("text-sm text-left line-clamp-1 w-full",d)})})),!!f&&e.jsx(s,{label:f.toString(),labelStyles:u.twMerge("text-[10px] text-sidebar-notificationBadge-textAndIcon-default",p),containerStyles:u.twMerge(t.default("flex items-center justify-center bg-sidebar-notificationBadge-background-default min-w-[16px] h-4 rounded-full p-0.5",`${!M&&"absolute right-0 top-0"}`),b)})]}))}),e.jsx(r.Panel,{children:c.getChildrenOnDisplayName("function"==typeof N?N({open:a,close:o}):N,"PopoverPanel")})]})}))};b.displayName="Popover",f.Popover=b;const p=({children:t})=>e.jsx(e.Fragment,{children:t});p.displayName="PopoverPanel",f.PopoverPanel=p;const j=({isCollapsed:t,appLogoClosed:s,appLogoClosedStyles:n,appLogoOpened:o,appLogoOpenedStyles:l,containerStyles:i,onClickHeaderSidebar:r,children:c})=>{const[d,x]=m.default.useState(!1);return a.useEffect((()=>{t?x(!1):setTimeout((()=>{x(!0)}),200)}),[t]),e.jsx(e.Fragment,{children:c||e.jsx("div",Object.assign({className:u.twMerge("flex flex-row items-center h-14 gap-x-2 p-2 cursor-pointer",i),onClick:()=>null==r?void 0:r()},{children:d?e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx("img",{src:o||"https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGc.svg",className:u.twMerge("w-[113px] h-7",l)})})):e.jsx("img",{src:s||"https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGcSquare.svg",className:u.twMerge("w-[22px] h-[22px]",n)})}))})};j.displayName="Header",f.Header=j;const h=({isCollapsed:s,userLabel:o,userLabelStyles:l,userAvatar:c,userAvatarFallback:d,userAvatarFallbackStyles:g,userAvatarStyles:f,containerStyles:b,panelContainerStyles:p,titleAtPanel:j,titleAtPanelStyles:h,userAvatarAtPanel:v,userAvatarAtPanelStyles:w,userAvatarFallbackAtPanel:y,userAvatarFallbackAtPanelStyles:C,userLabelAtPanel:k,userLabelAtPanelStyles:S,userEmailAtPanel:N,userEmailAtPanelStyles:M,manageAccountLabelAtPanel:A,manageAccountLabelAtPanelStyles:B,iconManageAccountAtPanel:P,iconManageAccountAtPanelStyles:q,onClickManageAccount:O,manageAccountContainerStyles:I,translationLabelAtPanel:T,translationLabelAtPanelStyles:L,iconTranslationAtPanel:F,iconTranslationAtPanelStyles:D,onClickTranslation:E,translationContainerStyles:H,logoutLabelAtPanel:R,logoutLabelAtPanelStyles:U,iconLogoutAtPanel:z,iconLogoutAtPanelStyles:G,onClickLogout:V,children:$,offsetX:_,offsetY:X,position:Y,isAutoFlip:J})=>{const[K,Q]=m.default.useState(!1);return a.useEffect((()=>{s?Q(!1):setTimeout((()=>{Q(!0)}),200)}),[s]),e.jsx(e.Fragment,{children:$||e.jsxs("div",Object.assign({className:u.twMerge("flex flex-col w-full")},{children:[e.jsx(x,{}),e.jsx("div",Object.assign({className:"relative min-h-[56px] flex items-center w-full"},{children:e.jsx(r,Object.assign({offsetX:_,offsetY:X,isAutoFlip:J,panelContainerStyles:p,containerStyles:"w-full",position:Y},{children:({open:a,close:s})=>e.jsxs(e.Fragment,{children:[e.jsx(r.Button,{children:e.jsxs("div",Object.assign({className:u.twMerge(t.default("\n w-full flex flex-row items-center h-10 gap-x-2 p-2 rounded-lg \n bg-sidebar-profile-background-default active:bg-sidebar-profile-background-active hover:bg-sidebar-profile-background-hover \n text-sidebar-profile-text-default active:text-sidebar-profile-text-active hover:text-sidebar-profile-text-hover\n cursor-pointer\n ",a&&"bg-sidebar-profile-background-active text-sidebar-profile-text-active"),b)},{children:[c?e.jsx("img",{src:c||"https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/avatar.png",className:u.twMerge("w-6 h-6 bg-sidebar-avatar-background-default rounded overflow-hidden object-cover",f)}):e.jsx("div",Object.assign({className:u.twMerge("flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded",f)},{children:e.jsx(n.default,{label:d,className:u.twMerge("font-semibold text-sidebar-avatar-text-default text-[10px]",g)})})),K&&e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:o||"",className:u.twMerge("line-clamp-1 w-full text-left",l)})}))]}))}),e.jsx(r.Panel,{children:e.jsxs("div",Object.assign({className:u.twMerge("flex flex-col py-3 bg-dark-solitude rounded min-w-[240px]",p)},{children:[e.jsx("div",Object.assign({className:"px-4"},{children:e.jsx(n.default,{label:j||"Account",className:u.twMerge("text-sm font-semibold text-dark-blackCoral",h)})})),e.jsxs("div",Object.assign({className:"flex flex-row items-center px-4 mt-2 gap-x-2"},{children:[v?e.jsx("img",{src:v||"https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/avatar.png",className:u.twMerge("w-8 h-8 bg-sidebar-avatar-background-default rounded overflow-hidden object-cover",w)}):e.jsx("div",Object.assign({className:u.twMerge("flex items-center justify-center w-8 h-8 bg-sidebar-avatar-background-default rounded",w)},{children:e.jsx(n.default,{label:y,className:u.twMerge("font-semibold text-sidebar-avatar-text-default text-[10px]",C)})})),e.jsxs("div",Object.assign({className:"flex flex-col"},{children:[e.jsx(n.default,{label:k||"",className:u.twMerge("w-full line-clamp-1 font-normal text-sm text-dark-blackCoral",S)}),e.jsx(n.default,{label:N||"",className:u.twMerge("w-full line-clamp-1 font-normal text-[10px] text-dark-gumbo",M)})]}))]})),e.jsxs("button",Object.assign({className:u.twMerge("flex flex-row items-center px-4 gap-x-2 mt-3 bg-transparent",I),onClick:()=>{s(),null==O||O()}},{children:[e.jsx(i,{name:P||"configuration",className:u.twMerge("w-4 h-4 fill-dark-gumbo",q)}),e.jsx(n.default,{label:A||"Manage Account",className:u.twMerge("text-sm font-normal text-dark-blackCoral",B)})]})),e.jsxs("button",Object.assign({className:u.twMerge("flex flex-row items-center px-4 gap-x-2 mt-3 mb-4 bg-transparent",H),onClick:()=>{s(),null==E||E()}},{children:[e.jsx(i,{name:F||"language",className:u.twMerge("w-4 h-4 fill-dark-gumbo",D)}),e.jsx(n.default,{label:T||"Translate Page",className:u.twMerge("text-sm font-normal text-dark-blackCoral",L)})]})),e.jsx("div",{className:"h-[1px] w-full bg-dark-silver"}),e.jsxs("button",Object.assign({className:"flex flex-row items-center px-4 gap-x-2 mt-3 mb-0.5 bg-transparent",onClick:()=>{s(),null==V||V()}},{children:[e.jsx(i,{name:z||"logout",className:u.twMerge("w-4 h-4 fill-dark-gumbo",G)}),e.jsx(n.default,{label:R||"Logout",className:u.twMerge("text-sm font-normal text-dark-blackCoral",U)})]}))]}))})]})}))})),e.jsx(x,{})]}))})};h.displayName="UserProfile",f.UserProfile=h;const v=({isCollapsed:s,isShowCompanyProfile:l,companyName:i,companyNameStyles:r,companyLogo:c,companyLogoStyles:d,companyLogoFallback:x,companlogoFallbackStyles:g,companyLogoContainerStyles:f,isShowButtonChangeCompany:b,buttonChangeCompanyOnClick:p,buttonChangeCompanyLabel:j,buttonChangeCompanyStyles:h,buttonChangeCompanyIconName:v,buttonChangeCompanyIconStyles:w,appName:y,appVersion:C,children:k})=>{const[S,N]=m.default.useState(!1);return a.useEffect((()=>{s?N(!1):setTimeout((()=>{N(!0)}),200)}),[s]),e.jsx(e.Fragment,{children:k||e.jsxs("div",Object.assign({className:"px-2 pt-2"},{children:[l&&e.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-2"},{children:[c?e.jsx("div",Object.assign({className:u.twMerge("flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded",f)},{children:e.jsx("img",{src:c||"https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGcSquare.svg",className:u.twMerge("w-4 h-4",d)})})):e.jsx("div",Object.assign({className:u.twMerge("flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded",f)},{children:e.jsx(n.default,{label:x,className:u.twMerge("font-semibold text-sidebar-avatar-text-default text-[10px]",g)})})),S&&e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:i||"Gajicermat",className:u.twMerge("text-sidebar-companyNameText-default text-xs line-clamp-2",r)})}))]})),b&&e.jsx("div",Object.assign({className:"flex flex-row items-center w-full h-14"},{children:e.jsx(o.default,{variant:"secondary",onClick:()=>null==p?void 0:p(),label:S?j||"Select Company":"",className:u.twMerge(t.default("flex items-center justify-center p-0 h-6 ml-0",S?"w-full":"w-6"),h),rightIcon:S?void 0:v||"refresh",rightIconStyles:u.twMerge("ml-0 w-3 h-3",w)})})),e.jsx("div",Object.assign({className:"flex flex-row items-center w-full mt-2 gap-x-2 min-h-4"},{children:S?e.jsxs(e.Fragment,{children:[e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:y||"© Gajicermat Digital Mandiri",className:"text-sidebar-appVersionText-default text-[10px] line-clamp-1 w-full text-right font-normal"})})),e.jsx("div",{className:"w-[1px] h-3 bg-sidebar-appVersionText-default"}),e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:C||"Version 0.0.0",className:"text-sidebar-appVersionText-default text-[10px] line-clamp-1 w-full text-left font-normal"})}))]}):e.jsx("div",{className:"w-[1px] h-3 "})}))]}))})};v.displayName="Footer",f.Footer=v,module.exports=f;
1
+ "use strict";var e=require("react/jsx-runtime"),t=require("../../../node_modules/classnames/index.js"),a=require("react");require("../../components/Avatar/Avatar.js"),require("../../components/Backdrop/Backdrop.js"),require("../../components/Badge/Badge.js");var s=require("../../components/Badge/BaseBadge.js"),n=require("../../components/Text/BaseText.js");require("../../components/Text/Text.js"),require("../../components/Breadcrumbs/BaseBreadcrumbs.js"),require("../../components/Breadcrumbs/Breadcrumbs.js"),require("../../components/Button/ButtonHyperlink.js");var l=require("../../components/Button/BaseButton.js"),o=require("../../components/Button/BaseButtonIcon.js");require("../../components/Button/Button.js"),require("../../components/Button/ButtonConfirmation.js"),require("../../components/Button/ButtonLink.js"),require("../../components/Button/ButtonRipple.js"),require("../../../_virtual/_tslib.js"),require("../../styles/Colors.js"),require("../../components/Card/InfoCard.js"),require("../../components/Checkbox/Checkbox.js");var i=require("../../components/Icon/Icon.js");require("../../components/CheckPicker/BaseInfiniteCheckPicker.js"),require("../../components/CheckPicker/CheckPicker.js"),require("../../components/Container/BaseCollapsibleContainer.js"),require("../../components/DatePicker/DatePicker.js"),require("../../components/DatePicker/DatePickerRange.js"),require("../../components/DatePicker/DatePickerTime.js"),require("../../components/Heading/Heading.js"),require("../../components/IconProduct/IconProduct.js"),require("../../components/Image/Image.js"),require("../../components/LoadingIndicator/LoadingIndicator.js"),require("../../components/LoadingIndicator/LoadingIndicatorBox.js"),require("../../styles/BorderRadius.js"),require("../../styles/Spacing.js"),require("../../components/MessageBox/MessageBox.js"),require("../../components/Modal/BaseModal.js"),require("../../components/Modal/Modal.js");var r=require("../../components/Popover/BasePopover.js");require("../../components/Preview/BasePreview.js"),require("../../components/ProgressBar/ProgressBar.js"),require("../../components/ProgressIndicator/ProgressIndicator.js"),require("../../components/RadioButton/RadioButton.js"),require("../../components/SelectPicker/BaseInfiniteSelectPicker.js"),require("../../components/SelectPicker/SelectPicker.js"),require("../../components/Table/TablePage.js"),require("../../components/Table/TableResponsive.js"),require("../../components/Tabs/BaseAccordionTabs.js"),require("../../components/Tabs/Tabs.js"),require("../../components/Textarea/Textarea.js"),require("../../components/TextInput/TextInput.js"),require("../../components/TimePicker/TimePicker.js"),require("../../../node_modules/react-hot-toast/dist/index.mjs.js"),require("../../components/ToggleButton/ToggleButton.js"),require("../../components/Tooltip/BaseTooltip.js"),require("../../components/Uploader/BaseUploader.js");var c=require("../../utils/getChildrenOnDisplayName.js"),u=require("../../../node_modules/tailwind-merge/dist/lib/tw-merge.mjs.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=d(a);const x=()=>e.jsx("div",{className:"w-full h-[1px] bg-sidebar-separator-default"}),g=({id:l,title:o,titleStyles:r,icon:c,iconStyles:d,subMenu:x,subMenuTitleStyles:g,isCollapsed:b,activeId:f,selectedId:p,notificationCountContainerStyles:j,notificationCountTextStyles:h,itemMenuContainerStyles:v,itemMenuActiveContainerStyles:w,itemMenuActiveBgColor:y,itemSubMenuContainerStyles:C,itemSubMenuActiveContainerStyles:S,itemSubMenuActiveTextColor:k,onClickCollapsible:N,onExpand:M,onClickNav:A,notifcationCount:B})=>{const P=p===l,[q,O]=m.default.useState(!1),[T,I]=m.default.useState(!1),[L,F]=m.default.useState(!1);return a.useEffect((()=>{b?O(!1):setTimeout((()=>{O(!0)}),200)}),[b]),e.jsxs("div",Object.assign({className:u.twMerge(`overflow-hidden hover:bg-sidebar-menu-background-hover rounded-lg ${P?w||"bg-sidebar-menu-background-active":"bg-transparent"}`,v),style:{backgroundColor:P?y:void 0}},{children:[e.jsx("button",Object.assign({onClick:()=>{q||P||N(),M(P?"":l)},className:"relative w-full pl-3 pr-4 bg-transparent min-h-8",onMouseDown:()=>F(!0),onMouseUp:()=>F(!1),onMouseEnter:()=>I(!0),onMouseLeave:()=>I(!1)},{children:e.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-2"},{children:[e.jsx("div",Object.assign({className:"w-4 h-4"},{children:e.jsx(i,{name:c,className:u.twMerge(t.default("w-4 h-4 fill-sidebar-menu-textAndIcon-default",T&&"fill-sidebar-menu-textAndIcon-hover",L&&"fill-sidebar-menu-textAndIcon-active"),d)})})),q&&e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:o,className:u.twMerge(t.default("text-sidebar-menu-textAndIcon-default text-sm text-left w-full line-clamp-1",T&&"text-sidebar-menu-textAndIcon-hover",L&&"text-sidebar-menu-textAndIcon-active"),r)})})),!!B&&e.jsx(s,{label:B.toString(),labelStyles:u.twMerge("text-[10px] text-sidebar-notificationBadge-textAndIcon-default",h),containerStyles:u.twMerge(t.default("flex items-center justify-center min-w-[16px] h-4 rounded-full p-0.5 bg-sidebar-notificationBadge-background-default",`${!q&&"absolute right-0 top-0"}`),j)})]}))})),e.jsx("div",Object.assign({className:"flex flex-col overflow-hidden transition-[max-height] duration-500 ease-in-out "+(P&&q?"max-h-screen bg-sidebar-submenu-background-default":"max-h-0 "),style:{backgroundColor:P&&q?y:"transparent"}},{children:x.map(((a,s)=>e.jsx("button",Object.assign({onClick:()=>A(a),className:u.twMerge("\n flex flex-1 py-2 \n bg-sidebar-submenu-background-default active:bg-sidebar-submenu-background-active hover:bg-sidebar-submenu-background-hover \n text-sidebar-submenu-textAndIcon-default active:text-sidebar-submenu-textAndIcon-active hover:text-sidebar-submenu-textAndIcon-hover \n pl-8 "+(a.navLink===f?`pl-11 ${S||"text-sidebar-submenu-textAndIcon-active"}`:""),C),style:{color:a.navLink===f?k:void 0}},{children:e.jsx(n.default,{label:a.title,className:u.twMerge(t.default("text-xs text-left line-clamp-1 w-full",a.navLink===f?"font-semibold":"font-normal",g))})}),s)))}))]}))},b=({activeId:t,activeParent:s,data:n,isCollapsed:l,notificationCountContainerStyles:i,notificationCountTextStyles:r,containerStyles:d,itemMenuContainerStyles:x,itemMenuIconStyles:b,itemMenuTitleStyles:f,itemMenuActiveBgColor:p,itemSubMenuTitleStyles:j,itemSubMenuContainerStyles:h,itemSubMenuActiveTextColor:v,toggleButtonContainerStyles:w,toggleIconOpenName:y,toggleIconCloseName:C,toggleIconStyles:S,onClickCollapsible:k,onClickNav:N,children:M})=>{const A=c.getChildrenOnDisplayName(M,"Header"),B=c.getChildrenOnDisplayName(M,"Footer"),P=c.getChildrenOnDisplayName(M,"UserProfile"),[q,O]=m.default.useState(s),T=a.Children.toArray(M);return e.jsxs("div",Object.assign({className:u.twMerge("flex flex-col relative h-full px-2 pb-2 ease-in-out duration-300 w-[220px] bg-sidebar-background-default",d)},{children:[A,e.jsx(o.default,{variant:"tertiary",onClick:()=>k(),iconName:l?C||"chevronDoubleArrowRight":y||"chevronDoubleArrowLeft",iconStyles:u.twMerge("w-[7.5px] h-[7.5px]",S),className:u.twMerge("w-6 h-6 absolute top-14 -right-3",w)}),e.jsx("div",Object.assign({className:"flex flex-col flex-1 mb-4 overflow-auto scrollbar scrollbar-none"},{children:e.jsx("div",Object.assign({className:"flex flex-col justify-start flex-1"},{children:n.map(((a,s)=>e.jsx(g,{selectedId:q,id:a.id,title:a.title,icon:a.icon,permission:a.permission,isCollapsed:l,activeId:t,subMenu:a.subMenu,onClickCollapsible:()=>k(),onExpand:e=>O(e),onClickNav:e=>N(e),notifcationCount:a.notifcationCount,notificationCountContainerStyles:i,notificationCountTextStyles:r,itemMenuActiveBgColor:p,itemMenuContainerStyles:x,itemSubMenuActiveTextColor:v,itemSubMenuContainerStyles:h,iconStyles:b,titleStyles:f,subMenuTitleStyles:j},s)))}))})),e.jsx("div",Object.assign({className:"mb-2"},{children:a.Children.map(T,((t,a)=>{const s=c.getChildrenOnDisplayName(t,"Popover");return e.jsx("div",Object.assign({className:"w-full"},{children:s}),a)}))})),P,B]}))},f=({isCollapsed:l,label:o,labelStyles:d,icon:x,iconStyles:g,notificationCount:b,notificationCountContainerStyles:f,notificationCountTextStyles:p,position:j,iconTriangleStyles:h,iconTriangleContainerStyles:v,panelContainerStyles:w,offsetX:y,offsetY:C,containerStyles:S,isAutoFlip:k,children:N})=>{const[M,A]=m.default.useState(!1),[B,P]=m.default.useState(!1),[q,O]=m.default.useState(!1);return a.useEffect((()=>{l?A(!1):setTimeout((()=>{A(!0)}),200)}),[l]),e.jsx(r,Object.assign({position:j||"right-start",iconTriangleStyles:h,iconTriangleContainerStyles:v,panelContainerStyles:w,offsetX:y,offsetY:C,isAutoFlip:k},{children:({open:a,close:l})=>e.jsxs(e.Fragment,{children:[e.jsx(r.Button,{children:e.jsxs("button",Object.assign({className:u.twMerge(t.default("\n h-8 pr-4 pl-3 w-full relative flex flex-row items-center rounded-lg gap-x-2\n bg-sidebar-notificationButton-background-default active:bg-sidebar-notificationButton-background-active hover:bg-sidebar-notificationButton-background-hover\n text-sidebar-notificationButton-textAndIcon-default active:text-sidebar-notificationButton-textAndIcon-active hover:text-sidebar-notificationButton-textAndIcon-hover\n ",a&&"bg-sidebar-profile-background-active text-sidebar-profile-text-active"),S),onMouseDown:()=>O(!0),onMouseUp:()=>O(!1),onMouseEnter:()=>P(!0),onMouseLeave:()=>P(!1)},{children:[e.jsx("div",Object.assign({className:"w-4 h-4"},{children:e.jsx(i,{name:x,className:u.twMerge(t.default("w-4 h-4 fill-sidebar-notificationButton-textAndIcon-default",B&&"fill-sidebar-notificationButton-textAndIcon-hover",q&&"fill-sidebar-notificationButton-textAndIcon-active"),g)})})),M&&e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:o,className:u.twMerge("text-sm text-left line-clamp-1 w-full",d)})})),!!b&&e.jsx(s,{label:b.toString(),labelStyles:u.twMerge("text-[10px] text-sidebar-notificationBadge-textAndIcon-default",p),containerStyles:u.twMerge(t.default("flex items-center justify-center bg-sidebar-notificationBadge-background-default min-w-[16px] h-4 rounded-full p-0.5",`${!M&&"absolute right-0 top-0"}`),f)})]}))}),e.jsx(r.Panel,{children:c.getChildrenOnDisplayName("function"==typeof N?N({open:a,close:l}):N,"PopoverPanel")})]})}))};f.displayName="Popover",b.Popover=f;const p=({children:t})=>e.jsx(e.Fragment,{children:t});p.displayName="PopoverPanel",b.PopoverPanel=p;const j=({isCollapsed:t,appLogoClosed:s,appLogoClosedStyles:n,appLogoOpened:l,appLogoOpenedStyles:o,containerStyles:i,onClickHeaderSidebar:r,children:c})=>{const[d,x]=m.default.useState(!1);return a.useEffect((()=>{t?x(!1):setTimeout((()=>{x(!0)}),200)}),[t]),e.jsx(e.Fragment,{children:c||e.jsx("div",Object.assign({className:u.twMerge("flex flex-row items-center h-14 gap-x-2 p-2 cursor-pointer",i),onClick:()=>null==r?void 0:r()},{children:d?e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx("img",{src:l||"https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGc.svg",className:u.twMerge("w-[113px] h-7",o)})})):e.jsx("img",{src:s||"https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGcSquare.svg",className:u.twMerge("w-[22px] h-[22px]",n)})}))})};j.displayName="Header",b.Header=j;const h=({isCollapsed:s,userLabel:l,userLabelStyles:o,userAvatar:c,userAvatarFallback:d,userAvatarFallbackStyles:g,userAvatarStyles:b,containerStyles:f,panelContainerStyles:p,titleAtPanel:j,titleAtPanelStyles:h,userAvatarAtPanel:v,userAvatarAtPanelStyles:w,userAvatarFallbackAtPanel:y,userAvatarFallbackAtPanelStyles:C,userLabelAtPanel:S,userLabelAtPanelStyles:k,userEmailAtPanel:N,userEmailAtPanelStyles:M,manageAccountLabelAtPanel:A,manageAccountLabelAtPanelStyles:B,iconManageAccountAtPanel:P,iconManageAccountAtPanelStyles:q,onClickManageAccount:O,manageAccountContainerStyles:T,translationLabelAtPanel:I,translationLabelAtPanelStyles:L,iconTranslationAtPanel:F,iconTranslationAtPanelStyles:D,onClickTranslation:E,translationContainerStyles:H,logoutLabelAtPanel:R,logoutLabelAtPanelStyles:U,iconLogoutAtPanel:z,iconLogoutAtPanelStyles:G,onClickLogout:V,children:_,offsetX:X,offsetY:Y,position:$,isAutoFlip:J})=>{const[K,Q]=m.default.useState(!1);return a.useEffect((()=>{s?Q(!1):setTimeout((()=>{Q(!0)}),200)}),[s]),e.jsx(e.Fragment,{children:_||e.jsxs("div",Object.assign({className:u.twMerge("flex flex-col w-full")},{children:[e.jsx(x,{}),e.jsx("div",Object.assign({className:"relative min-h-[56px] flex items-center w-full"},{children:e.jsx(r,Object.assign({offsetX:X,offsetY:Y,isAutoFlip:J,panelContainerStyles:p,containerStyles:"w-full",position:$},{children:({open:a,close:s})=>e.jsxs(e.Fragment,{children:[e.jsx(r.Button,{children:e.jsxs("div",Object.assign({className:u.twMerge(t.default("\n w-full flex flex-row items-center h-10 gap-x-2 p-2 rounded-lg \n bg-sidebar-profile-background-default active:bg-sidebar-profile-background-active hover:bg-sidebar-profile-background-hover \n text-sidebar-profile-text-default active:text-sidebar-profile-text-active hover:text-sidebar-profile-text-hover\n cursor-pointer\n ",a&&"bg-sidebar-profile-background-active text-sidebar-profile-text-active"),f)},{children:[c?e.jsx("img",{src:c||"https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/avatar.png",className:u.twMerge("w-6 h-6 bg-sidebar-avatar-background-default rounded overflow-hidden object-cover",b)}):e.jsx("div",Object.assign({className:u.twMerge("flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded",b)},{children:e.jsx(n.default,{label:d,className:u.twMerge("font-semibold text-sidebar-avatar-text-default text-[10px]",g)})})),K&&e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:l||"",className:u.twMerge("line-clamp-1 w-full text-left",o)})}))]}))}),e.jsx(r.Panel,{children:e.jsxs("div",Object.assign({className:u.twMerge("flex flex-col py-3 bg-dark-solitude rounded min-w-[240px]",p)},{children:[e.jsx("div",Object.assign({className:"px-4"},{children:e.jsx(n.default,{label:j||"Account",className:u.twMerge("text-sm font-semibold text-dark-blackCoral",h)})})),e.jsxs("div",Object.assign({className:"flex flex-row items-center px-4 mt-2 gap-x-2"},{children:[v?e.jsx("img",{src:v||"https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/avatar.png",className:u.twMerge("w-8 h-8 bg-sidebar-avatar-background-default rounded overflow-hidden object-cover",w)}):e.jsx("div",Object.assign({className:u.twMerge("flex items-center justify-center w-8 h-8 bg-sidebar-avatar-background-default rounded",w)},{children:e.jsx(n.default,{label:y,className:u.twMerge("font-semibold text-sidebar-avatar-text-default text-[10px]",C)})})),e.jsxs("div",Object.assign({className:"flex flex-col"},{children:[e.jsx(n.default,{label:S||"",className:u.twMerge("w-full line-clamp-1 font-normal text-sm text-dark-blackCoral",k)}),e.jsx(n.default,{label:N||"",className:u.twMerge("w-full line-clamp-1 font-normal text-[10px] text-dark-gumbo",M)})]}))]})),e.jsxs("button",Object.assign({className:u.twMerge("flex flex-row items-center px-4 gap-x-2 mt-3 bg-transparent",T),onClick:()=>{s(),null==O||O()}},{children:[e.jsx(i,{name:P||"configuration",className:u.twMerge("w-4 h-4 fill-dark-gumbo",q)}),e.jsx(n.default,{label:A||"Manage Account",className:u.twMerge("text-sm font-normal text-dark-blackCoral",B)})]})),e.jsxs("button",Object.assign({className:u.twMerge("flex flex-row items-center px-4 gap-x-2 mt-3 mb-4 bg-transparent",H),onClick:()=>{s(),null==E||E()}},{children:[e.jsx(i,{name:F||"language",className:u.twMerge("w-4 h-4 fill-dark-gumbo",D)}),e.jsx(n.default,{label:I||"Translate Page",className:u.twMerge("text-sm font-normal text-dark-blackCoral",L)})]})),e.jsx("div",{className:"h-[1px] w-full bg-dark-silver"}),e.jsxs("button",Object.assign({className:"flex flex-row items-center px-4 gap-x-2 mt-3 mb-0.5 bg-transparent",onClick:()=>{s(),null==V||V()}},{children:[e.jsx(i,{name:z||"logout",className:u.twMerge("w-4 h-4 fill-dark-gumbo",G)}),e.jsx(n.default,{label:R||"Logout",className:u.twMerge("text-sm font-normal text-dark-blackCoral",U)})]}))]}))})]})}))})),e.jsx(x,{})]}))})};h.displayName="UserProfile",b.UserProfile=h;const v=({isCollapsed:s,isShowCompanyProfile:o,companyName:i,companyNameStyles:r,companyLogo:c,companyLogoStyles:d,companyLogoFallback:x,companlogoFallbackStyles:g,companyLogoContainerStyles:b,isShowButtonChangeCompany:f,buttonChangeCompanyOnClick:p,buttonChangeCompanyLabel:j,buttonChangeCompanyStyles:h,buttonChangeCompanyIconName:v,buttonChangeCompanyIconStyles:w,appName:y,appVersion:C,children:S})=>{const[k,N]=m.default.useState(!1);return a.useEffect((()=>{s?N(!1):setTimeout((()=>{N(!0)}),200)}),[s]),e.jsx(e.Fragment,{children:S||e.jsxs("div",Object.assign({className:"px-2 pt-2"},{children:[o&&e.jsxs("div",Object.assign({className:"flex flex-row items-center gap-x-2"},{children:[c?e.jsx("div",Object.assign({className:u.twMerge("flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded",b)},{children:e.jsx("img",{src:c||"https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGcSquare.svg",className:u.twMerge("w-4 h-4",d)})})):e.jsx("div",Object.assign({className:u.twMerge("flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded",b)},{children:e.jsx(n.default,{label:x,className:u.twMerge("font-semibold text-sidebar-avatar-text-default text-[10px]",g)})})),k&&e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:i||"Gajicermat",className:u.twMerge("text-sidebar-companyNameText-default text-xs line-clamp-2",r)})}))]})),f&&e.jsx("div",Object.assign({className:"flex flex-row items-center w-full h-14"},{children:e.jsx(l.default,{variant:"secondary",onClick:()=>null==p?void 0:p(),label:k?j||"Select Company":"",className:u.twMerge(t.default("flex items-center justify-center p-0 h-6 ml-0",k?"w-full":"w-6"),h),rightIcon:k?void 0:v||"refresh",rightIconStyles:u.twMerge("ml-0 w-3 h-3",w)})})),e.jsx("div",Object.assign({className:"flex flex-row items-center w-full mt-2 gap-x-2 min-h-4"},{children:k?e.jsxs(e.Fragment,{children:[e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:y||"© Gajicermat Digital Mandiri",className:"text-sidebar-appVersionText-default text-[10px] line-clamp-1 w-full text-right font-normal"})})),e.jsx("div",{className:"w-[1px] h-3 bg-sidebar-appVersionText-default"}),e.jsx("div",Object.assign({className:"flex flex-1"},{children:e.jsx(n.default,{label:C||"Version 0.0.0",className:"text-sidebar-appVersionText-default text-[10px] line-clamp-1 w-full text-left font-normal"})}))]}):e.jsx("div",{className:"w-[1px] h-3 "})}))]}))})};v.displayName="Footer",b.Footer=v,module.exports=b;
2
2
  //# sourceMappingURL=Sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sources":["../../../../src/blocks/Sidebar/Sidebar.tsx"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\nimport classNames from 'classnames';\nimport React, { Children, useEffect } from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nimport {\n BaseBadge,\n BaseButton,\n BaseButtonIcon,\n BasePopover,\n BaseText,\n Icon\n} from '../../components';\nimport { getChildrenOnDisplayName } from '../../utils/getChildrenOnDisplayName';\nimport {\n SidebarFooterInterface,\n SidebarHeaderInterface,\n SidebarInterface,\n SidebarMenuExtendedInterface,\n SidebarMenuInterface,\n SidebarPopoverInterface,\n SidebarUserProfileInterface\n} from './Sidebar.type';\n\nconst Divider = () => <div className='w-full h-[1px] bg-sidebar-separator-default' />;\n\n// TODO: tidy up interface\nconst SidebarMenu = ({\n id,\n title,\n titleStyles,\n icon,\n iconStyles,\n subMenu,\n isCollapsed,\n activeId,\n selectedId,\n notificationCountContainerStyles,\n notificationCountTextStyles,\n itemMenuContainerStyles,\n itemMenuActiveContainerStyles,\n itemMenuActiveBgColor,\n itemSubMenuContainerStyles,\n itemSubMenuActiveContainerStyles,\n itemSubMenuActiveTextColor,\n onClickCollapsible,\n onExpand,\n onClickNav,\n notifcationCount\n}: SidebarMenuInterface & SidebarMenuExtendedInterface) => {\n const expanded = selectedId === id;\n const [isShow, setIsShow] = React.useState<boolean>(false);\n const [isMenuMouseEnter, setIsMenuMouseEnter] = React.useState<boolean>(false);\n const [isMenuMouseDown, setIsMenuMouseDown] = React.useState<boolean>(false);\n\n useEffect(() => {\n if (!isCollapsed) {\n setTimeout(() => {\n setIsShow(true);\n }, 200);\n } else {\n setIsShow(false);\n }\n }, [isCollapsed]);\n\n return (\n <div\n className={twMerge(\n `overflow-hidden hover:bg-sidebar-menu-background-hover rounded-lg ${\n expanded\n ? itemMenuActiveContainerStyles || 'bg-sidebar-menu-background-active'\n : 'bg-transparent'\n }`,\n itemMenuContainerStyles\n )}\n style={{ backgroundColor: expanded ? itemMenuActiveBgColor : undefined }}\n >\n <button\n onClick={() => {\n if (!isShow && !expanded) onClickCollapsible();\n\n if (expanded) {\n onExpand('');\n return;\n }\n\n onExpand(id);\n }}\n className='relative w-full pl-3 pr-4 bg-transparent min-h-8'\n onMouseDown={() => setIsMenuMouseDown(true)}\n onMouseUp={() => setIsMenuMouseDown(false)}\n onMouseEnter={() => setIsMenuMouseEnter(true)}\n onMouseLeave={() => setIsMenuMouseEnter(false)}\n >\n <div className='flex flex-row items-center gap-x-2'>\n <div className='w-4 h-4'>\n <Icon\n name={icon}\n className={twMerge(\n classNames(\n 'w-4 h-4 fill-sidebar-menu-textAndIcon-default',\n isMenuMouseEnter && 'fill-sidebar-menu-textAndIcon-hover',\n isMenuMouseDown && 'fill-sidebar-menu-textAndIcon-active'\n ),\n iconStyles\n )}\n />\n </div>\n {isShow && (\n <div className='flex flex-1'>\n <BaseText\n label={title}\n className={twMerge(\n classNames(\n 'text-sidebar-menu-textAndIcon-default text-sm text-left w-full line-clamp-1',\n isMenuMouseEnter && 'text-sidebar-menu-textAndIcon-hover',\n isMenuMouseDown && 'text-sidebar-menu-textAndIcon-active'\n ),\n titleStyles\n )}\n />\n </div>\n )}\n {!!notifcationCount && (\n <BaseBadge\n label={notifcationCount.toString()}\n labelStyles={twMerge(\n 'text-[10px] text-sidebar-notificationBadge-textAndIcon-default',\n notificationCountTextStyles\n )}\n containerStyles={twMerge(\n classNames(\n 'flex items-center justify-center min-w-[16px] h-4 rounded-full p-0.5 bg-sidebar-notificationBadge-background-default',\n `${!isShow && 'absolute right-0 top-0'}`\n ),\n notificationCountContainerStyles\n )}\n />\n )}\n </div>\n </button>\n\n <div\n className={`flex flex-col overflow-hidden transition-[max-height] duration-500 ease-in-out ${\n expanded && isShow ? 'max-h-screen bg-sidebar-submenu-background-default' : 'max-h-0 '\n }`}\n style={{ backgroundColor: expanded && isShow ? itemMenuActiveBgColor : 'transparent' }}\n >\n {subMenu.map((item, index) => (\n <button\n key={index}\n onClick={() => onClickNav(item)}\n className={twMerge(\n `\n flex flex-1 py-2 \n bg-sidebar-submenu-background-default active:bg-sidebar-submenu-background-active hover:bg-sidebar-submenu-background-hover \n text-sidebar-submenu-textAndIcon-default active:text-sidebar-submenu-textAndIcon-active hover:text-sidebar-submenu-textAndIcon-hover \n pl-8 ${\n item.navLink === activeId\n ? `pl-11 ${\n itemSubMenuActiveContainerStyles || 'text-sidebar-submenu-textAndIcon-active'\n }`\n : ''\n }`,\n itemSubMenuContainerStyles\n )}\n style={{ color: item.navLink === activeId ? itemSubMenuActiveTextColor : undefined }}\n >\n <BaseText\n label={item.title}\n className={`text-xs text-left line-clamp-1 w-full ${\n item.navLink === activeId ? 'font-semibold' : 'font-normal'\n } `}\n />\n </button>\n ))}\n </div>\n </div>\n );\n};\n\nconst Sidebar = ({\n activeId,\n activeParent,\n data,\n isCollapsed,\n notificationCountContainerStyles,\n notificationCountTextStyles,\n containerStyles,\n itemMenuContainerStyles,\n itemMenuIconStyles,\n itemMenuTitleStyles,\n itemMenuActiveBgColor,\n itemSubMenuContainerStyles,\n itemSubMenuActiveTextColor,\n toggleButtonContainerStyles,\n toggleIconOpenName,\n toggleIconCloseName,\n toggleIconStyles,\n onClickCollapsible,\n onClickNav,\n children\n}: SidebarInterface) => {\n const header = getChildrenOnDisplayName(children, 'Header');\n const footer = getChildrenOnDisplayName(children, 'Footer');\n const userProfile = getChildrenOnDisplayName(children, 'UserProfile');\n\n const [selectedId, setSelectedId] = React.useState<string>(activeParent);\n\n const arrayChildren = Children.toArray(children);\n\n return (\n <div\n className={twMerge(\n 'flex flex-col relative h-full px-2 pb-2 ease-in-out duration-300 w-[220px] bg-sidebar-background-default',\n containerStyles\n )}\n >\n {/* Header */}\n {header}\n\n <BaseButtonIcon\n variant='tertiary'\n onClick={() => onClickCollapsible()}\n iconName={\n isCollapsed\n ? toggleIconCloseName || 'chevronDoubleArrowRight'\n : toggleIconOpenName || 'chevronDoubleArrowLeft'\n }\n iconStyles={twMerge('w-[7.5px] h-[7.5px]', toggleIconStyles)}\n className={twMerge('w-6 h-6 absolute top-14 -right-3', toggleButtonContainerStyles)}\n />\n\n {/* Content */}\n <div className='flex flex-col flex-1 mb-4 overflow-auto scrollbar scrollbar-none'>\n <div className='flex flex-col justify-start flex-1'>\n {data.map((item, index) => (\n <SidebarMenu\n key={index}\n selectedId={selectedId}\n id={item.id}\n title={item.title}\n icon={item.icon}\n permission={item.permission}\n isCollapsed={isCollapsed}\n activeId={activeId}\n subMenu={item.subMenu}\n onClickCollapsible={() => onClickCollapsible()}\n onExpand={(id) => setSelectedId(id)}\n onClickNav={(navLink) => onClickNav(navLink)}\n notifcationCount={item.notifcationCount}\n notificationCountContainerStyles={notificationCountContainerStyles}\n notificationCountTextStyles={notificationCountTextStyles}\n itemMenuActiveBgColor={itemMenuActiveBgColor}\n itemMenuContainerStyles={itemMenuContainerStyles}\n itemSubMenuActiveTextColor={itemSubMenuActiveTextColor}\n itemSubMenuContainerStyles={itemSubMenuContainerStyles}\n iconStyles={itemMenuIconStyles}\n titleStyles={itemMenuTitleStyles}\n />\n ))}\n </div>\n </div>\n\n <div className='mb-2'>\n {Children.map(arrayChildren, (item, index) => {\n const child = getChildrenOnDisplayName(item, 'Popover');\n return (\n <div key={index} className='w-full'>\n {child}\n </div>\n );\n })}\n </div>\n\n {/* User */}\n {userProfile}\n\n {/* Company */}\n {footer}\n </div>\n );\n};\n\nconst Popover = ({\n isCollapsed,\n label,\n labelStyles,\n icon,\n iconStyles,\n notificationCount,\n notificationCountContainerStyles,\n notificationCountTextStyles,\n position,\n iconTriangleStyles,\n iconTriangleContainerStyles,\n panelContainerStyles,\n offsetX,\n offsetY,\n containerStyles,\n isAutoFlip,\n children\n}: SidebarPopoverInterface) => {\n const [isShow, setIsShow] = React.useState<boolean>(false);\n const [isMouseEnter, setIsMouseEnter] = React.useState<boolean>(false);\n const [isMouseDown, setIsMouseDown] = React.useState<boolean>(false);\n\n useEffect(() => {\n if (!isCollapsed) {\n setTimeout(() => {\n setIsShow(true);\n }, 200);\n } else {\n setIsShow(false);\n }\n }, [isCollapsed]);\n\n return (\n <BasePopover\n position={position || 'right-start'}\n iconTriangleStyles={iconTriangleStyles}\n iconTriangleContainerStyles={iconTriangleContainerStyles}\n panelContainerStyles={panelContainerStyles}\n offsetX={offsetX}\n offsetY={offsetY}\n isAutoFlip={isAutoFlip}\n >\n {({ open, close }) => {\n return (\n <>\n <BasePopover.Button>\n <button\n className={twMerge(\n classNames(\n `\n h-8 pr-4 pl-3 w-full relative flex flex-row items-center rounded-lg gap-x-2\n bg-sidebar-notificationButton-background-default active:bg-sidebar-notificationButton-background-active hover:bg-sidebar-notificationButton-background-hover\n text-sidebar-notificationButton-textAndIcon-default active:text-sidebar-notificationButton-textAndIcon-active hover:text-sidebar-notificationButton-textAndIcon-hover\n `,\n open && 'bg-sidebar-profile-background-active text-sidebar-profile-text-active'\n ),\n containerStyles\n )}\n onMouseDown={() => setIsMouseDown(true)}\n onMouseUp={() => setIsMouseDown(false)}\n onMouseEnter={() => setIsMouseEnter(true)}\n onMouseLeave={() => setIsMouseEnter(false)}\n >\n <div className='w-4 h-4'>\n <Icon\n name={icon}\n className={twMerge(\n classNames(\n 'w-4 h-4 fill-sidebar-notificationButton-textAndIcon-default',\n isMouseEnter && 'fill-sidebar-notificationButton-textAndIcon-hover',\n isMouseDown && 'fill-sidebar-notificationButton-textAndIcon-active'\n ),\n iconStyles\n )}\n />\n </div>\n {isShow && (\n <div className='flex flex-1'>\n <BaseText\n label={label}\n className={twMerge('text-sm text-left line-clamp-1 w-full', labelStyles)}\n />\n </div>\n )}\n {!!notificationCount && (\n <BaseBadge\n label={notificationCount.toString()}\n labelStyles={twMerge(\n 'text-[10px] text-sidebar-notificationBadge-textAndIcon-default',\n notificationCountTextStyles\n )}\n containerStyles={twMerge(\n classNames(\n 'flex items-center justify-center bg-sidebar-notificationBadge-background-default min-w-[16px] h-4 rounded-full p-0.5',\n `${!isShow && 'absolute right-0 top-0'}`\n ),\n notificationCountContainerStyles\n )}\n />\n )}\n </button>\n </BasePopover.Button>\n <BasePopover.Panel>\n {getChildrenOnDisplayName(\n typeof children === 'function' ? children({ open, close }) : children,\n 'PopoverPanel'\n )}\n </BasePopover.Panel>\n </>\n );\n }}\n </BasePopover>\n );\n};\nPopover.displayName = 'Popover';\nSidebar.Popover = Popover;\n\nconst PopoverPanel = ({ children }: { children: React.ReactNode }) => {\n return <>{children}</>;\n};\nPopoverPanel.displayName = 'PopoverPanel';\nSidebar.PopoverPanel = PopoverPanel;\n\nconst Header = ({\n isCollapsed,\n appLogoClosed,\n appLogoClosedStyles,\n appLogoOpened,\n appLogoOpenedStyles,\n containerStyles,\n onClickHeaderSidebar,\n children\n}: SidebarHeaderInterface) => {\n // TODO: create hooks for code below\n const [isShow, setIsShow] = React.useState<boolean>(false);\n useEffect(() => {\n if (!isCollapsed) {\n setTimeout(() => {\n setIsShow(true);\n }, 200);\n } else {\n setIsShow(false);\n }\n }, [isCollapsed]);\n\n return (\n <>\n {children ? (\n children\n ) : (\n <div\n className={twMerge(\n 'flex flex-row items-center h-14 gap-x-2 p-2 cursor-pointer',\n containerStyles\n )}\n onClick={() => onClickHeaderSidebar?.()}\n >\n {isShow ? (\n <div className='flex flex-1'>\n <img\n src={\n appLogoOpened ||\n 'https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGc.svg'\n }\n className={twMerge('w-[113px] h-7', appLogoOpenedStyles)}\n />\n </div>\n ) : (\n <img\n src={\n appLogoClosed ||\n 'https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGcSquare.svg'\n }\n className={twMerge('w-[22px] h-[22px]', appLogoClosedStyles)}\n />\n )}\n </div>\n )}\n </>\n );\n};\nHeader.displayName = 'Header';\nSidebar.Header = Header;\n\nconst UserProfile = ({\n isCollapsed,\n userLabel,\n userLabelStyles,\n userAvatar,\n userAvatarFallback,\n userAvatarFallbackStyles,\n userAvatarStyles,\n containerStyles,\n // Panel\n panelContainerStyles,\n titleAtPanel,\n titleAtPanelStyles,\n userAvatarAtPanel,\n userAvatarAtPanelStyles,\n userAvatarFallbackAtPanel,\n userAvatarFallbackAtPanelStyles,\n userLabelAtPanel,\n userLabelAtPanelStyles,\n userEmailAtPanel,\n userEmailAtPanelStyles,\n manageAccountLabelAtPanel,\n manageAccountLabelAtPanelStyles,\n iconManageAccountAtPanel,\n iconManageAccountAtPanelStyles,\n onClickManageAccount,\n manageAccountContainerStyles,\n translationLabelAtPanel,\n translationLabelAtPanelStyles,\n iconTranslationAtPanel,\n iconTranslationAtPanelStyles,\n onClickTranslation,\n translationContainerStyles,\n logoutLabelAtPanel,\n logoutLabelAtPanelStyles,\n iconLogoutAtPanel,\n iconLogoutAtPanelStyles,\n onClickLogout,\n children,\n offsetX,\n offsetY,\n position,\n isAutoFlip\n}: // eslint-disable-next-line sonarjs/cognitive-complexity\nSidebarUserProfileInterface) => {\n const [isShow, setIsShow] = React.useState<boolean>(false);\n useEffect(() => {\n if (!isCollapsed) {\n setTimeout(() => {\n setIsShow(true);\n }, 200);\n } else {\n setIsShow(false);\n }\n }, [isCollapsed]);\n\n return (\n <>\n {children ? (\n children\n ) : (\n <div className={twMerge('flex flex-col w-full')}>\n <Divider />\n <div className='relative min-h-[56px] flex items-center w-full'>\n <BasePopover\n offsetX={offsetX}\n offsetY={offsetY}\n isAutoFlip={isAutoFlip}\n panelContainerStyles={panelContainerStyles}\n containerStyles='w-full'\n position={position}\n >\n {/* eslint-disable-next-line sonarjs/cognitive-complexity */}\n {({ open, close }) => {\n return (\n <>\n <BasePopover.Button>\n <div\n className={twMerge(\n classNames(\n `\n w-full flex flex-row items-center h-10 gap-x-2 p-2 rounded-lg \n bg-sidebar-profile-background-default active:bg-sidebar-profile-background-active hover:bg-sidebar-profile-background-hover \n text-sidebar-profile-text-default active:text-sidebar-profile-text-active hover:text-sidebar-profile-text-hover\n cursor-pointer\n `,\n open &&\n 'bg-sidebar-profile-background-active text-sidebar-profile-text-active'\n ),\n containerStyles\n )}\n >\n {userAvatar ? (\n <img\n src={\n userAvatar ||\n 'https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/avatar.png'\n }\n className={twMerge(\n 'w-6 h-6 bg-sidebar-avatar-background-default rounded overflow-hidden object-cover',\n userAvatarStyles\n )}\n />\n ) : (\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded',\n userAvatarStyles\n )}\n >\n <BaseText\n label={userAvatarFallback}\n className={twMerge(\n 'font-semibold text-sidebar-avatar-text-default text-[10px]',\n userAvatarFallbackStyles\n )}\n />\n </div>\n )}\n\n {isShow && (\n <div className='flex flex-1'>\n <BaseText\n label={userLabel || ''}\n className={twMerge('line-clamp-1 w-full text-left', userLabelStyles)}\n />\n </div>\n )}\n </div>\n </BasePopover.Button>\n <BasePopover.Panel>\n <div\n className={twMerge(\n 'flex flex-col py-3 bg-dark-solitude rounded min-w-[240px]',\n panelContainerStyles\n )}\n >\n <div className='px-4'>\n <BaseText\n label={titleAtPanel || 'Account'}\n className={twMerge(\n 'text-sm font-semibold text-dark-blackCoral',\n titleAtPanelStyles\n )}\n />\n </div>\n <div className='flex flex-row items-center px-4 mt-2 gap-x-2'>\n {userAvatarAtPanel ? (\n <img\n src={\n userAvatarAtPanel ||\n 'https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/avatar.png'\n }\n className={twMerge(\n 'w-8 h-8 bg-sidebar-avatar-background-default rounded overflow-hidden object-cover',\n userAvatarAtPanelStyles\n )}\n />\n ) : (\n <div\n className={twMerge(\n 'flex items-center justify-center w-8 h-8 bg-sidebar-avatar-background-default rounded',\n userAvatarAtPanelStyles\n )}\n >\n <BaseText\n label={userAvatarFallbackAtPanel}\n className={twMerge(\n 'font-semibold text-sidebar-avatar-text-default text-[10px]',\n userAvatarFallbackAtPanelStyles\n )}\n />\n </div>\n )}\n\n <div className='flex flex-col'>\n <BaseText\n label={userLabelAtPanel || ''}\n className={twMerge(\n 'w-full line-clamp-1 font-normal text-sm text-dark-blackCoral',\n userLabelAtPanelStyles\n )}\n />\n <BaseText\n label={userEmailAtPanel || ''}\n className={twMerge(\n 'w-full line-clamp-1 font-normal text-[10px] text-dark-gumbo',\n userEmailAtPanelStyles\n )}\n />\n </div>\n </div>\n <button\n className={twMerge(\n 'flex flex-row items-center px-4 gap-x-2 mt-3 bg-transparent',\n manageAccountContainerStyles\n )}\n onClick={() => {\n close();\n onClickManageAccount?.();\n }}\n >\n <Icon\n name={iconManageAccountAtPanel || 'configuration'}\n className={twMerge(\n 'w-4 h-4 fill-dark-gumbo',\n iconManageAccountAtPanelStyles\n )}\n />\n <BaseText\n label={manageAccountLabelAtPanel || 'Manage Account'}\n className={twMerge(\n 'text-sm font-normal text-dark-blackCoral',\n manageAccountLabelAtPanelStyles\n )}\n />\n </button>\n <button\n className={twMerge(\n 'flex flex-row items-center px-4 gap-x-2 mt-3 mb-4 bg-transparent',\n translationContainerStyles\n )}\n onClick={() => {\n close();\n onClickTranslation?.();\n }}\n >\n <Icon\n name={iconTranslationAtPanel || 'language'}\n className={twMerge(\n 'w-4 h-4 fill-dark-gumbo',\n iconTranslationAtPanelStyles\n )}\n />\n <BaseText\n label={translationLabelAtPanel || 'Translate Page'}\n className={twMerge(\n 'text-sm font-normal text-dark-blackCoral',\n translationLabelAtPanelStyles\n )}\n />\n </button>\n <div className='h-[1px] w-full bg-dark-silver' />\n <button\n className='flex flex-row items-center px-4 gap-x-2 mt-3 mb-0.5 bg-transparent'\n onClick={() => {\n close();\n onClickLogout?.();\n }}\n >\n <Icon\n name={iconLogoutAtPanel || 'logout'}\n className={twMerge('w-4 h-4 fill-dark-gumbo', iconLogoutAtPanelStyles)}\n />\n <BaseText\n label={logoutLabelAtPanel || 'Logout'}\n className={twMerge(\n 'text-sm font-normal text-dark-blackCoral',\n logoutLabelAtPanelStyles\n )}\n />\n </button>\n </div>\n </BasePopover.Panel>\n </>\n );\n }}\n </BasePopover>\n </div>\n <Divider />\n </div>\n )}\n </>\n );\n};\nUserProfile.displayName = 'UserProfile';\nSidebar.UserProfile = UserProfile;\n\nconst Footer = ({\n isCollapsed,\n isShowCompanyProfile,\n companyName,\n companyNameStyles,\n companyLogo,\n companyLogoStyles,\n companyLogoFallback,\n companlogoFallbackStyles,\n companyLogoContainerStyles,\n isShowButtonChangeCompany,\n buttonChangeCompanyOnClick,\n buttonChangeCompanyLabel,\n buttonChangeCompanyStyles,\n buttonChangeCompanyIconName,\n buttonChangeCompanyIconStyles,\n appName,\n appVersion,\n children\n}: // eslint-disable-next-line sonarjs/cognitive-complexity\nSidebarFooterInterface) => {\n const [isShow, setIsShow] = React.useState<boolean>(false);\n useEffect(() => {\n if (!isCollapsed) {\n setTimeout(() => {\n setIsShow(true);\n }, 200);\n } else {\n setIsShow(false);\n }\n }, [isCollapsed]);\n\n return (\n <>\n {children ? (\n children\n ) : (\n <div className='px-2 pt-2'>\n {isShowCompanyProfile && (\n <div className='flex flex-row items-center gap-x-2'>\n {companyLogo ? (\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded',\n companyLogoContainerStyles\n )}\n >\n <img\n src={\n companyLogo ||\n 'https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGcSquare.svg'\n }\n className={twMerge('w-4 h-4', companyLogoStyles)}\n />\n </div>\n ) : (\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded',\n companyLogoContainerStyles\n )}\n >\n <BaseText\n label={companyLogoFallback}\n className={twMerge(\n 'font-semibold text-sidebar-avatar-text-default text-[10px]',\n companlogoFallbackStyles\n )}\n />\n </div>\n )}\n {isShow && (\n <div className='flex flex-1'>\n <BaseText\n label={companyName || 'Gajicermat'}\n className={twMerge(\n 'text-sidebar-companyNameText-default text-xs line-clamp-2',\n companyNameStyles\n )}\n />\n </div>\n )}\n </div>\n )}\n\n {isShowButtonChangeCompany && (\n <div className='flex flex-row items-center w-full h-14'>\n <BaseButton\n variant='secondary'\n onClick={() => buttonChangeCompanyOnClick?.()}\n label={isShow ? buttonChangeCompanyLabel || 'Select Company' : ''}\n className={twMerge(\n classNames(\n 'flex items-center justify-center p-0 h-6 ml-0',\n isShow ? 'w-full' : 'w-6'\n ),\n buttonChangeCompanyStyles\n )}\n rightIcon={isShow ? undefined : buttonChangeCompanyIconName || 'refresh'}\n rightIconStyles={twMerge('ml-0 w-3 h-3', buttonChangeCompanyIconStyles)}\n />\n </div>\n )}\n\n <div className='flex flex-row items-center w-full mt-2 gap-x-2 min-h-4'>\n {isShow ? (\n <>\n <div className='flex flex-1'>\n <BaseText\n label={appName || '© Gajicermat Digital Mandiri'}\n className='text-sidebar-appVersionText-default text-[10px] line-clamp-1 w-full text-right font-normal'\n />\n </div>\n <div className='w-[1px] h-3 bg-sidebar-appVersionText-default' />\n <div className='flex flex-1'>\n <BaseText\n label={appVersion || 'Version 0.0.0'}\n className='text-sidebar-appVersionText-default text-[10px] line-clamp-1 w-full text-left font-normal'\n />\n </div>\n </>\n ) : (\n <div className='w-[1px] h-3 ' />\n )}\n </div>\n </div>\n )}\n </>\n );\n};\nFooter.displayName = 'Footer';\nSidebar.Footer = Footer;\n\nexport default Sidebar;\n"],"names":["Divider","_jsx","className","SidebarMenu","id","title","titleStyles","icon","iconStyles","subMenu","isCollapsed","activeId","selectedId","notificationCountContainerStyles","notificationCountTextStyles","itemMenuContainerStyles","itemMenuActiveContainerStyles","itemMenuActiveBgColor","itemSubMenuContainerStyles","itemSubMenuActiveContainerStyles","itemSubMenuActiveTextColor","onClickCollapsible","onExpand","onClickNav","notifcationCount","expanded","isShow","setIsShow","React","useState","isMenuMouseEnter","setIsMenuMouseEnter","isMenuMouseDown","setIsMenuMouseDown","useEffect","setTimeout","_jsxs","jsxs","Object","assign","twMerge","style","backgroundColor","undefined","children","onClick","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","jsx","Icon","name","classNames","BaseText","label","BaseBadge","toString","labelStyles","containerStyles","map","item","index","navLink","color","Sidebar","activeParent","data","itemMenuIconStyles","itemMenuTitleStyles","toggleButtonContainerStyles","toggleIconOpenName","toggleIconCloseName","toggleIconStyles","header","getChildrenOnDisplayName","footer","userProfile","setSelectedId","arrayChildren","Children","toArray","BaseButtonIcon","variant","iconName","permission","child","Popover","notificationCount","position","iconTriangleStyles","iconTriangleContainerStyles","panelContainerStyles","offsetX","offsetY","isAutoFlip","isMouseEnter","setIsMouseEnter","isMouseDown","setIsMouseDown","BasePopover","open","close","_Fragment","Button","Panel","displayName","PopoverPanel","Fragment","Header","appLogoClosed","appLogoClosedStyles","appLogoOpened","appLogoOpenedStyles","onClickHeaderSidebar","src","UserProfile","userLabel","userLabelStyles","userAvatar","userAvatarFallback","userAvatarFallbackStyles","userAvatarStyles","titleAtPanel","titleAtPanelStyles","userAvatarAtPanel","userAvatarAtPanelStyles","userAvatarFallbackAtPanel","userAvatarFallbackAtPanelStyles","userLabelAtPanel","userLabelAtPanelStyles","userEmailAtPanel","userEmailAtPanelStyles","manageAccountLabelAtPanel","manageAccountLabelAtPanelStyles","iconManageAccountAtPanel","iconManageAccountAtPanelStyles","onClickManageAccount","manageAccountContainerStyles","translationLabelAtPanel","translationLabelAtPanelStyles","iconTranslationAtPanel","iconTranslationAtPanelStyles","onClickTranslation","translationContainerStyles","logoutLabelAtPanel","logoutLabelAtPanelStyles","iconLogoutAtPanel","iconLogoutAtPanelStyles","onClickLogout","Footer","isShowCompanyProfile","companyName","companyNameStyles","companyLogo","companyLogoStyles","companyLogoFallback","companlogoFallbackStyles","companyLogoContainerStyles","isShowButtonChangeCompany","buttonChangeCompanyOnClick","buttonChangeCompanyLabel","buttonChangeCompanyStyles","buttonChangeCompanyIconName","buttonChangeCompanyIconStyles","appName","appVersion","BaseButton","rightIcon","rightIconStyles"],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sources":["../../../../src/blocks/Sidebar/Sidebar.tsx"],"sourcesContent":["/* eslint-disable sonarjs/no-identical-functions */\nimport classNames from 'classnames';\nimport React, { Children, useEffect } from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nimport {\n BaseBadge,\n BaseButton,\n BaseButtonIcon,\n BasePopover,\n BaseText,\n Icon\n} from '../../components';\nimport { getChildrenOnDisplayName } from '../../utils/getChildrenOnDisplayName';\nimport {\n SidebarFooterInterface,\n SidebarHeaderInterface,\n SidebarInterface,\n SidebarMenuExtendedInterface,\n SidebarMenuInterface,\n SidebarPopoverInterface,\n SidebarUserProfileInterface\n} from './Sidebar.type';\n\nconst Divider = () => <div className='w-full h-[1px] bg-sidebar-separator-default' />;\n\n// TODO: tidy up interface\nconst SidebarMenu = ({\n id,\n title,\n titleStyles,\n icon,\n iconStyles,\n subMenu,\n subMenuTitleStyles,\n isCollapsed,\n activeId,\n selectedId,\n notificationCountContainerStyles,\n notificationCountTextStyles,\n itemMenuContainerStyles,\n itemMenuActiveContainerStyles,\n itemMenuActiveBgColor,\n itemSubMenuContainerStyles,\n itemSubMenuActiveContainerStyles,\n itemSubMenuActiveTextColor,\n onClickCollapsible,\n onExpand,\n onClickNav,\n notifcationCount\n}: SidebarMenuInterface & SidebarMenuExtendedInterface) => {\n const expanded = selectedId === id;\n const [isShow, setIsShow] = React.useState<boolean>(false);\n const [isMenuMouseEnter, setIsMenuMouseEnter] = React.useState<boolean>(false);\n const [isMenuMouseDown, setIsMenuMouseDown] = React.useState<boolean>(false);\n\n useEffect(() => {\n if (!isCollapsed) {\n setTimeout(() => {\n setIsShow(true);\n }, 200);\n } else {\n setIsShow(false);\n }\n }, [isCollapsed]);\n\n return (\n <div\n className={twMerge(\n `overflow-hidden hover:bg-sidebar-menu-background-hover rounded-lg ${\n expanded\n ? itemMenuActiveContainerStyles || 'bg-sidebar-menu-background-active'\n : 'bg-transparent'\n }`,\n itemMenuContainerStyles\n )}\n style={{ backgroundColor: expanded ? itemMenuActiveBgColor : undefined }}\n >\n <button\n onClick={() => {\n if (!isShow && !expanded) onClickCollapsible();\n\n if (expanded) {\n onExpand('');\n return;\n }\n\n onExpand(id);\n }}\n className='relative w-full pl-3 pr-4 bg-transparent min-h-8'\n onMouseDown={() => setIsMenuMouseDown(true)}\n onMouseUp={() => setIsMenuMouseDown(false)}\n onMouseEnter={() => setIsMenuMouseEnter(true)}\n onMouseLeave={() => setIsMenuMouseEnter(false)}\n >\n <div className='flex flex-row items-center gap-x-2'>\n <div className='w-4 h-4'>\n <Icon\n name={icon}\n className={twMerge(\n classNames(\n 'w-4 h-4 fill-sidebar-menu-textAndIcon-default',\n isMenuMouseEnter && 'fill-sidebar-menu-textAndIcon-hover',\n isMenuMouseDown && 'fill-sidebar-menu-textAndIcon-active'\n ),\n iconStyles\n )}\n />\n </div>\n {isShow && (\n <div className='flex flex-1'>\n <BaseText\n label={title}\n className={twMerge(\n classNames(\n 'text-sidebar-menu-textAndIcon-default text-sm text-left w-full line-clamp-1',\n isMenuMouseEnter && 'text-sidebar-menu-textAndIcon-hover',\n isMenuMouseDown && 'text-sidebar-menu-textAndIcon-active'\n ),\n titleStyles\n )}\n />\n </div>\n )}\n {!!notifcationCount && (\n <BaseBadge\n label={notifcationCount.toString()}\n labelStyles={twMerge(\n 'text-[10px] text-sidebar-notificationBadge-textAndIcon-default',\n notificationCountTextStyles\n )}\n containerStyles={twMerge(\n classNames(\n 'flex items-center justify-center min-w-[16px] h-4 rounded-full p-0.5 bg-sidebar-notificationBadge-background-default',\n `${!isShow && 'absolute right-0 top-0'}`\n ),\n notificationCountContainerStyles\n )}\n />\n )}\n </div>\n </button>\n\n <div\n className={`flex flex-col overflow-hidden transition-[max-height] duration-500 ease-in-out ${\n expanded && isShow ? 'max-h-screen bg-sidebar-submenu-background-default' : 'max-h-0 '\n }`}\n style={{ backgroundColor: expanded && isShow ? itemMenuActiveBgColor : 'transparent' }}\n >\n {subMenu.map((item, index) => (\n <button\n key={index}\n onClick={() => onClickNav(item)}\n className={twMerge(\n `\n flex flex-1 py-2 \n bg-sidebar-submenu-background-default active:bg-sidebar-submenu-background-active hover:bg-sidebar-submenu-background-hover \n text-sidebar-submenu-textAndIcon-default active:text-sidebar-submenu-textAndIcon-active hover:text-sidebar-submenu-textAndIcon-hover \n pl-8 ${\n item.navLink === activeId\n ? `pl-11 ${\n itemSubMenuActiveContainerStyles || 'text-sidebar-submenu-textAndIcon-active'\n }`\n : ''\n }`,\n itemSubMenuContainerStyles\n )}\n style={{ color: item.navLink === activeId ? itemSubMenuActiveTextColor : undefined }}\n >\n <BaseText\n label={item.title}\n className={twMerge(\n classNames(\n 'text-xs text-left line-clamp-1 w-full',\n item.navLink === activeId ? 'font-semibold' : 'font-normal',\n subMenuTitleStyles\n )\n )}\n />\n </button>\n ))}\n </div>\n </div>\n );\n};\n\nconst Sidebar = ({\n activeId,\n activeParent,\n data,\n isCollapsed,\n notificationCountContainerStyles,\n notificationCountTextStyles,\n containerStyles,\n itemMenuContainerStyles,\n itemMenuIconStyles,\n itemMenuTitleStyles,\n itemMenuActiveBgColor,\n itemSubMenuTitleStyles,\n itemSubMenuContainerStyles,\n itemSubMenuActiveTextColor,\n toggleButtonContainerStyles,\n toggleIconOpenName,\n toggleIconCloseName,\n toggleIconStyles,\n onClickCollapsible,\n onClickNav,\n children\n}: SidebarInterface) => {\n const header = getChildrenOnDisplayName(children, 'Header');\n const footer = getChildrenOnDisplayName(children, 'Footer');\n const userProfile = getChildrenOnDisplayName(children, 'UserProfile');\n\n const [selectedId, setSelectedId] = React.useState<string>(activeParent);\n\n const arrayChildren = Children.toArray(children);\n\n return (\n <div\n className={twMerge(\n 'flex flex-col relative h-full px-2 pb-2 ease-in-out duration-300 w-[220px] bg-sidebar-background-default',\n containerStyles\n )}\n >\n {/* Header */}\n {header}\n\n <BaseButtonIcon\n variant='tertiary'\n onClick={() => onClickCollapsible()}\n iconName={\n isCollapsed\n ? toggleIconCloseName || 'chevronDoubleArrowRight'\n : toggleIconOpenName || 'chevronDoubleArrowLeft'\n }\n iconStyles={twMerge('w-[7.5px] h-[7.5px]', toggleIconStyles)}\n className={twMerge('w-6 h-6 absolute top-14 -right-3', toggleButtonContainerStyles)}\n />\n\n {/* Content */}\n <div className='flex flex-col flex-1 mb-4 overflow-auto scrollbar scrollbar-none'>\n <div className='flex flex-col justify-start flex-1'>\n {data.map((item, index) => (\n <SidebarMenu\n key={index}\n selectedId={selectedId}\n id={item.id}\n title={item.title}\n icon={item.icon}\n permission={item.permission}\n isCollapsed={isCollapsed}\n activeId={activeId}\n subMenu={item.subMenu}\n onClickCollapsible={() => onClickCollapsible()}\n onExpand={(id) => setSelectedId(id)}\n onClickNav={(navLink) => onClickNav(navLink)}\n notifcationCount={item.notifcationCount}\n notificationCountContainerStyles={notificationCountContainerStyles}\n notificationCountTextStyles={notificationCountTextStyles}\n itemMenuActiveBgColor={itemMenuActiveBgColor}\n itemMenuContainerStyles={itemMenuContainerStyles}\n itemSubMenuActiveTextColor={itemSubMenuActiveTextColor}\n itemSubMenuContainerStyles={itemSubMenuContainerStyles}\n iconStyles={itemMenuIconStyles}\n titleStyles={itemMenuTitleStyles}\n subMenuTitleStyles={itemSubMenuTitleStyles}\n />\n ))}\n </div>\n </div>\n\n <div className='mb-2'>\n {Children.map(arrayChildren, (item, index) => {\n const child = getChildrenOnDisplayName(item, 'Popover');\n return (\n <div key={index} className='w-full'>\n {child}\n </div>\n );\n })}\n </div>\n\n {/* User */}\n {userProfile}\n\n {/* Company */}\n {footer}\n </div>\n );\n};\n\nconst Popover = ({\n isCollapsed,\n label,\n labelStyles,\n icon,\n iconStyles,\n notificationCount,\n notificationCountContainerStyles,\n notificationCountTextStyles,\n position,\n iconTriangleStyles,\n iconTriangleContainerStyles,\n panelContainerStyles,\n offsetX,\n offsetY,\n containerStyles,\n isAutoFlip,\n children\n}: SidebarPopoverInterface) => {\n const [isShow, setIsShow] = React.useState<boolean>(false);\n const [isMouseEnter, setIsMouseEnter] = React.useState<boolean>(false);\n const [isMouseDown, setIsMouseDown] = React.useState<boolean>(false);\n\n useEffect(() => {\n if (!isCollapsed) {\n setTimeout(() => {\n setIsShow(true);\n }, 200);\n } else {\n setIsShow(false);\n }\n }, [isCollapsed]);\n\n return (\n <BasePopover\n position={position || 'right-start'}\n iconTriangleStyles={iconTriangleStyles}\n iconTriangleContainerStyles={iconTriangleContainerStyles}\n panelContainerStyles={panelContainerStyles}\n offsetX={offsetX}\n offsetY={offsetY}\n isAutoFlip={isAutoFlip}\n >\n {({ open, close }) => {\n return (\n <>\n <BasePopover.Button>\n <button\n className={twMerge(\n classNames(\n `\n h-8 pr-4 pl-3 w-full relative flex flex-row items-center rounded-lg gap-x-2\n bg-sidebar-notificationButton-background-default active:bg-sidebar-notificationButton-background-active hover:bg-sidebar-notificationButton-background-hover\n text-sidebar-notificationButton-textAndIcon-default active:text-sidebar-notificationButton-textAndIcon-active hover:text-sidebar-notificationButton-textAndIcon-hover\n `,\n open && 'bg-sidebar-profile-background-active text-sidebar-profile-text-active'\n ),\n containerStyles\n )}\n onMouseDown={() => setIsMouseDown(true)}\n onMouseUp={() => setIsMouseDown(false)}\n onMouseEnter={() => setIsMouseEnter(true)}\n onMouseLeave={() => setIsMouseEnter(false)}\n >\n <div className='w-4 h-4'>\n <Icon\n name={icon}\n className={twMerge(\n classNames(\n 'w-4 h-4 fill-sidebar-notificationButton-textAndIcon-default',\n isMouseEnter && 'fill-sidebar-notificationButton-textAndIcon-hover',\n isMouseDown && 'fill-sidebar-notificationButton-textAndIcon-active'\n ),\n iconStyles\n )}\n />\n </div>\n {isShow && (\n <div className='flex flex-1'>\n <BaseText\n label={label}\n className={twMerge('text-sm text-left line-clamp-1 w-full', labelStyles)}\n />\n </div>\n )}\n {!!notificationCount && (\n <BaseBadge\n label={notificationCount.toString()}\n labelStyles={twMerge(\n 'text-[10px] text-sidebar-notificationBadge-textAndIcon-default',\n notificationCountTextStyles\n )}\n containerStyles={twMerge(\n classNames(\n 'flex items-center justify-center bg-sidebar-notificationBadge-background-default min-w-[16px] h-4 rounded-full p-0.5',\n `${!isShow && 'absolute right-0 top-0'}`\n ),\n notificationCountContainerStyles\n )}\n />\n )}\n </button>\n </BasePopover.Button>\n <BasePopover.Panel>\n {getChildrenOnDisplayName(\n typeof children === 'function' ? children({ open, close }) : children,\n 'PopoverPanel'\n )}\n </BasePopover.Panel>\n </>\n );\n }}\n </BasePopover>\n );\n};\nPopover.displayName = 'Popover';\nSidebar.Popover = Popover;\n\nconst PopoverPanel = ({ children }: { children: React.ReactNode }) => {\n return <>{children}</>;\n};\nPopoverPanel.displayName = 'PopoverPanel';\nSidebar.PopoverPanel = PopoverPanel;\n\nconst Header = ({\n isCollapsed,\n appLogoClosed,\n appLogoClosedStyles,\n appLogoOpened,\n appLogoOpenedStyles,\n containerStyles,\n onClickHeaderSidebar,\n children\n}: SidebarHeaderInterface) => {\n // TODO: create hooks for code below\n const [isShow, setIsShow] = React.useState<boolean>(false);\n useEffect(() => {\n if (!isCollapsed) {\n setTimeout(() => {\n setIsShow(true);\n }, 200);\n } else {\n setIsShow(false);\n }\n }, [isCollapsed]);\n\n return (\n <>\n {children ? (\n children\n ) : (\n <div\n className={twMerge(\n 'flex flex-row items-center h-14 gap-x-2 p-2 cursor-pointer',\n containerStyles\n )}\n onClick={() => onClickHeaderSidebar?.()}\n >\n {isShow ? (\n <div className='flex flex-1'>\n <img\n src={\n appLogoOpened ||\n 'https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGc.svg'\n }\n className={twMerge('w-[113px] h-7', appLogoOpenedStyles)}\n />\n </div>\n ) : (\n <img\n src={\n appLogoClosed ||\n 'https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGcSquare.svg'\n }\n className={twMerge('w-[22px] h-[22px]', appLogoClosedStyles)}\n />\n )}\n </div>\n )}\n </>\n );\n};\nHeader.displayName = 'Header';\nSidebar.Header = Header;\n\nconst UserProfile = ({\n isCollapsed,\n userLabel,\n userLabelStyles,\n userAvatar,\n userAvatarFallback,\n userAvatarFallbackStyles,\n userAvatarStyles,\n containerStyles,\n // Panel\n panelContainerStyles,\n titleAtPanel,\n titleAtPanelStyles,\n userAvatarAtPanel,\n userAvatarAtPanelStyles,\n userAvatarFallbackAtPanel,\n userAvatarFallbackAtPanelStyles,\n userLabelAtPanel,\n userLabelAtPanelStyles,\n userEmailAtPanel,\n userEmailAtPanelStyles,\n manageAccountLabelAtPanel,\n manageAccountLabelAtPanelStyles,\n iconManageAccountAtPanel,\n iconManageAccountAtPanelStyles,\n onClickManageAccount,\n manageAccountContainerStyles,\n translationLabelAtPanel,\n translationLabelAtPanelStyles,\n iconTranslationAtPanel,\n iconTranslationAtPanelStyles,\n onClickTranslation,\n translationContainerStyles,\n logoutLabelAtPanel,\n logoutLabelAtPanelStyles,\n iconLogoutAtPanel,\n iconLogoutAtPanelStyles,\n onClickLogout,\n children,\n offsetX,\n offsetY,\n position,\n isAutoFlip\n}: // eslint-disable-next-line sonarjs/cognitive-complexity\nSidebarUserProfileInterface) => {\n const [isShow, setIsShow] = React.useState<boolean>(false);\n useEffect(() => {\n if (!isCollapsed) {\n setTimeout(() => {\n setIsShow(true);\n }, 200);\n } else {\n setIsShow(false);\n }\n }, [isCollapsed]);\n\n return (\n <>\n {children ? (\n children\n ) : (\n <div className={twMerge('flex flex-col w-full')}>\n <Divider />\n <div className='relative min-h-[56px] flex items-center w-full'>\n <BasePopover\n offsetX={offsetX}\n offsetY={offsetY}\n isAutoFlip={isAutoFlip}\n panelContainerStyles={panelContainerStyles}\n containerStyles='w-full'\n position={position}\n >\n {/* eslint-disable-next-line sonarjs/cognitive-complexity */}\n {({ open, close }) => {\n return (\n <>\n <BasePopover.Button>\n <div\n className={twMerge(\n classNames(\n `\n w-full flex flex-row items-center h-10 gap-x-2 p-2 rounded-lg \n bg-sidebar-profile-background-default active:bg-sidebar-profile-background-active hover:bg-sidebar-profile-background-hover \n text-sidebar-profile-text-default active:text-sidebar-profile-text-active hover:text-sidebar-profile-text-hover\n cursor-pointer\n `,\n open &&\n 'bg-sidebar-profile-background-active text-sidebar-profile-text-active'\n ),\n containerStyles\n )}\n >\n {userAvatar ? (\n <img\n src={\n userAvatar ||\n 'https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/avatar.png'\n }\n className={twMerge(\n 'w-6 h-6 bg-sidebar-avatar-background-default rounded overflow-hidden object-cover',\n userAvatarStyles\n )}\n />\n ) : (\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded',\n userAvatarStyles\n )}\n >\n <BaseText\n label={userAvatarFallback}\n className={twMerge(\n 'font-semibold text-sidebar-avatar-text-default text-[10px]',\n userAvatarFallbackStyles\n )}\n />\n </div>\n )}\n\n {isShow && (\n <div className='flex flex-1'>\n <BaseText\n label={userLabel || ''}\n className={twMerge('line-clamp-1 w-full text-left', userLabelStyles)}\n />\n </div>\n )}\n </div>\n </BasePopover.Button>\n <BasePopover.Panel>\n <div\n className={twMerge(\n 'flex flex-col py-3 bg-dark-solitude rounded min-w-[240px]',\n panelContainerStyles\n )}\n >\n <div className='px-4'>\n <BaseText\n label={titleAtPanel || 'Account'}\n className={twMerge(\n 'text-sm font-semibold text-dark-blackCoral',\n titleAtPanelStyles\n )}\n />\n </div>\n <div className='flex flex-row items-center px-4 mt-2 gap-x-2'>\n {userAvatarAtPanel ? (\n <img\n src={\n userAvatarAtPanel ||\n 'https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/avatar.png'\n }\n className={twMerge(\n 'w-8 h-8 bg-sidebar-avatar-background-default rounded overflow-hidden object-cover',\n userAvatarAtPanelStyles\n )}\n />\n ) : (\n <div\n className={twMerge(\n 'flex items-center justify-center w-8 h-8 bg-sidebar-avatar-background-default rounded',\n userAvatarAtPanelStyles\n )}\n >\n <BaseText\n label={userAvatarFallbackAtPanel}\n className={twMerge(\n 'font-semibold text-sidebar-avatar-text-default text-[10px]',\n userAvatarFallbackAtPanelStyles\n )}\n />\n </div>\n )}\n\n <div className='flex flex-col'>\n <BaseText\n label={userLabelAtPanel || ''}\n className={twMerge(\n 'w-full line-clamp-1 font-normal text-sm text-dark-blackCoral',\n userLabelAtPanelStyles\n )}\n />\n <BaseText\n label={userEmailAtPanel || ''}\n className={twMerge(\n 'w-full line-clamp-1 font-normal text-[10px] text-dark-gumbo',\n userEmailAtPanelStyles\n )}\n />\n </div>\n </div>\n <button\n className={twMerge(\n 'flex flex-row items-center px-4 gap-x-2 mt-3 bg-transparent',\n manageAccountContainerStyles\n )}\n onClick={() => {\n close();\n onClickManageAccount?.();\n }}\n >\n <Icon\n name={iconManageAccountAtPanel || 'configuration'}\n className={twMerge(\n 'w-4 h-4 fill-dark-gumbo',\n iconManageAccountAtPanelStyles\n )}\n />\n <BaseText\n label={manageAccountLabelAtPanel || 'Manage Account'}\n className={twMerge(\n 'text-sm font-normal text-dark-blackCoral',\n manageAccountLabelAtPanelStyles\n )}\n />\n </button>\n <button\n className={twMerge(\n 'flex flex-row items-center px-4 gap-x-2 mt-3 mb-4 bg-transparent',\n translationContainerStyles\n )}\n onClick={() => {\n close();\n onClickTranslation?.();\n }}\n >\n <Icon\n name={iconTranslationAtPanel || 'language'}\n className={twMerge(\n 'w-4 h-4 fill-dark-gumbo',\n iconTranslationAtPanelStyles\n )}\n />\n <BaseText\n label={translationLabelAtPanel || 'Translate Page'}\n className={twMerge(\n 'text-sm font-normal text-dark-blackCoral',\n translationLabelAtPanelStyles\n )}\n />\n </button>\n <div className='h-[1px] w-full bg-dark-silver' />\n <button\n className='flex flex-row items-center px-4 gap-x-2 mt-3 mb-0.5 bg-transparent'\n onClick={() => {\n close();\n onClickLogout?.();\n }}\n >\n <Icon\n name={iconLogoutAtPanel || 'logout'}\n className={twMerge('w-4 h-4 fill-dark-gumbo', iconLogoutAtPanelStyles)}\n />\n <BaseText\n label={logoutLabelAtPanel || 'Logout'}\n className={twMerge(\n 'text-sm font-normal text-dark-blackCoral',\n logoutLabelAtPanelStyles\n )}\n />\n </button>\n </div>\n </BasePopover.Panel>\n </>\n );\n }}\n </BasePopover>\n </div>\n <Divider />\n </div>\n )}\n </>\n );\n};\nUserProfile.displayName = 'UserProfile';\nSidebar.UserProfile = UserProfile;\n\nconst Footer = ({\n isCollapsed,\n isShowCompanyProfile,\n companyName,\n companyNameStyles,\n companyLogo,\n companyLogoStyles,\n companyLogoFallback,\n companlogoFallbackStyles,\n companyLogoContainerStyles,\n isShowButtonChangeCompany,\n buttonChangeCompanyOnClick,\n buttonChangeCompanyLabel,\n buttonChangeCompanyStyles,\n buttonChangeCompanyIconName,\n buttonChangeCompanyIconStyles,\n appName,\n appVersion,\n children\n}: // eslint-disable-next-line sonarjs/cognitive-complexity\nSidebarFooterInterface) => {\n const [isShow, setIsShow] = React.useState<boolean>(false);\n useEffect(() => {\n if (!isCollapsed) {\n setTimeout(() => {\n setIsShow(true);\n }, 200);\n } else {\n setIsShow(false);\n }\n }, [isCollapsed]);\n\n return (\n <>\n {children ? (\n children\n ) : (\n <div className='px-2 pt-2'>\n {isShowCompanyProfile && (\n <div className='flex flex-row items-center gap-x-2'>\n {companyLogo ? (\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded',\n companyLogoContainerStyles\n )}\n >\n <img\n src={\n companyLogo ||\n 'https://s3.ap-southeast-1.amazonaws.com/assets.frontend/new-toolkit/logoGcSquare.svg'\n }\n className={twMerge('w-4 h-4', companyLogoStyles)}\n />\n </div>\n ) : (\n <div\n className={twMerge(\n 'flex items-center justify-center w-6 h-6 bg-sidebar-avatar-background-default rounded',\n companyLogoContainerStyles\n )}\n >\n <BaseText\n label={companyLogoFallback}\n className={twMerge(\n 'font-semibold text-sidebar-avatar-text-default text-[10px]',\n companlogoFallbackStyles\n )}\n />\n </div>\n )}\n {isShow && (\n <div className='flex flex-1'>\n <BaseText\n label={companyName || 'Gajicermat'}\n className={twMerge(\n 'text-sidebar-companyNameText-default text-xs line-clamp-2',\n companyNameStyles\n )}\n />\n </div>\n )}\n </div>\n )}\n\n {isShowButtonChangeCompany && (\n <div className='flex flex-row items-center w-full h-14'>\n <BaseButton\n variant='secondary'\n onClick={() => buttonChangeCompanyOnClick?.()}\n label={isShow ? buttonChangeCompanyLabel || 'Select Company' : ''}\n className={twMerge(\n classNames(\n 'flex items-center justify-center p-0 h-6 ml-0',\n isShow ? 'w-full' : 'w-6'\n ),\n buttonChangeCompanyStyles\n )}\n rightIcon={isShow ? undefined : buttonChangeCompanyIconName || 'refresh'}\n rightIconStyles={twMerge('ml-0 w-3 h-3', buttonChangeCompanyIconStyles)}\n />\n </div>\n )}\n\n <div className='flex flex-row items-center w-full mt-2 gap-x-2 min-h-4'>\n {isShow ? (\n <>\n <div className='flex flex-1'>\n <BaseText\n label={appName || '© Gajicermat Digital Mandiri'}\n className='text-sidebar-appVersionText-default text-[10px] line-clamp-1 w-full text-right font-normal'\n />\n </div>\n <div className='w-[1px] h-3 bg-sidebar-appVersionText-default' />\n <div className='flex flex-1'>\n <BaseText\n label={appVersion || 'Version 0.0.0'}\n className='text-sidebar-appVersionText-default text-[10px] line-clamp-1 w-full text-left font-normal'\n />\n </div>\n </>\n ) : (\n <div className='w-[1px] h-3 ' />\n )}\n </div>\n </div>\n )}\n </>\n );\n};\nFooter.displayName = 'Footer';\nSidebar.Footer = Footer;\n\nexport default Sidebar;\n"],"names":["Divider","_jsx","className","SidebarMenu","id","title","titleStyles","icon","iconStyles","subMenu","subMenuTitleStyles","isCollapsed","activeId","selectedId","notificationCountContainerStyles","notificationCountTextStyles","itemMenuContainerStyles","itemMenuActiveContainerStyles","itemMenuActiveBgColor","itemSubMenuContainerStyles","itemSubMenuActiveContainerStyles","itemSubMenuActiveTextColor","onClickCollapsible","onExpand","onClickNav","notifcationCount","expanded","isShow","setIsShow","React","useState","isMenuMouseEnter","setIsMenuMouseEnter","isMenuMouseDown","setIsMenuMouseDown","useEffect","setTimeout","_jsxs","jsxs","Object","assign","twMerge","style","backgroundColor","undefined","children","onClick","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","jsx","Icon","name","classNames","BaseText","label","BaseBadge","toString","labelStyles","containerStyles","map","item","index","navLink","color","Sidebar","activeParent","data","itemMenuIconStyles","itemMenuTitleStyles","itemSubMenuTitleStyles","toggleButtonContainerStyles","toggleIconOpenName","toggleIconCloseName","toggleIconStyles","header","getChildrenOnDisplayName","footer","userProfile","setSelectedId","arrayChildren","Children","toArray","BaseButtonIcon","variant","iconName","permission","child","Popover","notificationCount","position","iconTriangleStyles","iconTriangleContainerStyles","panelContainerStyles","offsetX","offsetY","isAutoFlip","isMouseEnter","setIsMouseEnter","isMouseDown","setIsMouseDown","BasePopover","open","close","_Fragment","Button","Panel","displayName","PopoverPanel","Fragment","Header","appLogoClosed","appLogoClosedStyles","appLogoOpened","appLogoOpenedStyles","onClickHeaderSidebar","src","UserProfile","userLabel","userLabelStyles","userAvatar","userAvatarFallback","userAvatarFallbackStyles","userAvatarStyles","titleAtPanel","titleAtPanelStyles","userAvatarAtPanel","userAvatarAtPanelStyles","userAvatarFallbackAtPanel","userAvatarFallbackAtPanelStyles","userLabelAtPanel","userLabelAtPanelStyles","userEmailAtPanel","userEmailAtPanelStyles","manageAccountLabelAtPanel","manageAccountLabelAtPanelStyles","iconManageAccountAtPanel","iconManageAccountAtPanelStyles","onClickManageAccount","manageAccountContainerStyles","translationLabelAtPanel","translationLabelAtPanelStyles","iconTranslationAtPanel","iconTranslationAtPanelStyles","onClickTranslation","translationContainerStyles","logoutLabelAtPanel","logoutLabelAtPanelStyles","iconLogoutAtPanel","iconLogoutAtPanelStyles","onClickLogout","Footer","isShowCompanyProfile","companyName","companyNameStyles","companyLogo","companyLogoStyles","companyLogoFallback","companlogoFallbackStyles","companyLogoContainerStyles","isShowButtonChangeCompany","buttonChangeCompanyOnClick","buttonChangeCompanyLabel","buttonChangeCompanyStyles","buttonChangeCompanyIconName","buttonChangeCompanyIconStyles","appName","appVersion","BaseButton","rightIcon","rightIconStyles"],"mappings":"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"}
@@ -28,6 +28,7 @@ export type SidebarMenuInterface = {
28
28
  icon: IconType;
29
29
  iconStyles?: string;
30
30
  subMenu?: Array<SidebarMenuDefaultInterface>;
31
+ subMenuTitleStyles?: string;
31
32
  notifcationCount?: number;
32
33
  } & SidebarMenuDefaultInterface;
33
34
  export type SidebarHeaderInterface = {
@@ -134,6 +135,7 @@ export type SidebarInterface = {
134
135
  itemMenuTitleStyles?: string;
135
136
  itemMenuIconStyles?: string;
136
137
  itemMenuActiveBgColor?: string;
138
+ itemSubMenuTitleStyles?: string;
137
139
  itemSubMenuContainerStyles?: string;
138
140
  itemSubMenuActiveTextColor?: string;
139
141
  notificationCountContainerStyles?: string;
@@ -76,6 +76,7 @@ export interface TableInterface extends TableVariantInterface, TableHooksBaseInt
76
76
  sortBy?: SortingRule;
77
77
  onSort?: SortHandler;
78
78
  getCellProps?: (cell: Cell<any, any>) => Record<string, unknown>;
79
+ isSelectionDisabled?: boolean;
79
80
  activePageColor?: string;
80
81
  textSortedStyles?: string;
81
82
  textUnsortedStyles?: string;
@@ -39,8 +39,9 @@ interface TableHooksInterface extends TableHooksBaseInterface, TableVariantInter
39
39
  rowActions?: ({ rowData, index }: RowActionsInterface) => React.ReactNode;
40
40
  checkedColor?: string;
41
41
  totalMaxChecked?: number;
42
+ isSelectionDisabled?: boolean;
42
43
  }
43
- export declare const tableHooks: ({ hooks, actionLabel, isSelectable, hideRowIndex, rowIndexAlign, variant, rowActions, freezedColumn, checkedColor, totalMaxChecked }: TableHooksInterface) => void;
44
+ export declare const tableHooks: ({ hooks, actionLabel, isSelectable, hideRowIndex, rowIndexAlign, variant, rowActions, freezedColumn, checkedColor, totalMaxChecked, isSelectionDisabled }: TableHooksInterface) => void;
44
45
  export declare const EmptyData: (props: EmptyDataInterface) => import("react/jsx-runtime").JSX.Element;
45
46
  export declare const TableLoaderContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
46
47
  export declare const defaultPropGetter: () => {};
@@ -16,5 +16,5 @@
16
16
  `,y=g.default.div`
17
17
  display: flex;
18
18
  justify-content: center;
19
- `;exports.CellContainerBaseStyled=h,exports.CellContainerContentStyled=b,exports.CellContainerHeaderStyled=m,exports.EmptyData=e=>t.jsx(v,Object.assign({},e,{children:e.noRecordComponent?t.jsx(t.Fragment,{children:e.noRecordComponent()}):t.jsxs(t.Fragment,{children:[t.jsx(a,{name:"norecord",size:"extra-large"}),t.jsx("div",Object.assign({style:{marginTop:i.MarginType["extra-small"]}},{children:t.jsx(c.default,{label:e.noRecordLabel||"No records found",fontWeight:"regular",variant:"medium"})}))]})})),exports.SortIcon=({isSorted:e,isSortedDesc:l,iconSortedStyles:n,iconUnsortedStyles:r})=>e?l?t.jsx(a,{name:"chevrondown",className:x.twMerge("fill-tableResponsive-header-textAndIcon-active h-3",n)}):t.jsx(a,{name:"chevronup",className:x.twMerge("fill-tableResponsive-header-textAndIcon-active h-3",n)}):t.jsx(a,{name:"sort",className:x.twMerge("fill-tableResponsive-header-textAndIcon-default h-3",r)}),exports.TableLoaderContainer=y,exports.contentAlignmentMapper=f,exports.defaultPropGetter=()=>({}),exports.getIsExcludedSortable=e=>{if(e.columns)return!1;switch(e.accessor){case"action":case"selectable":return!1;default:return!0}},exports.tableHooks=({hooks:e,actionLabel:l,isSelectable:n,hideRowIndex:r,rowIndexAlign:i,variant:s,rowActions:a,freezedColumn:x,checkedColor:u,totalMaxChecked:g})=>{const f="left";e.visibleColumns.push((e=>{const h=[];if(n){const e={id:"selection",width:28,type:"custom",accessor:"selectable",disableClick:!0,disableSortBy:!0,textAlign:"center",Header:({getToggleAllRowsSelectedProps:e,rows:l})=>{const n=l,r=n.filter((e=>{var t;return!(null===(t=e.original)||void 0===t?void 0:t.disableSelect)})),i=n&&n.length?n.filter((e=>!0===e.isSelected)).length:0;return t.jsx(j,Object.assign({},e(),{indeterminate:!0,checked:!!i||!1,color:u||o.ColorBlue.buttonBlue,onChange:()=>{i>g?r.forEach(((e,t)=>{var l;null===(l=e.toggleRowSelected)||void 0===l||l.call(e,t<g)})):i>0?r.forEach((e=>{var t;return null===(t=e.toggleRowSelected)||void 0===t?void 0:t.call(e,!1)})):r.slice(0,g).forEach((e=>{var t;return null===(t=e.toggleRowSelected)||void 0===t?void 0:t.call(e,!0)}))}}))},Cell:({row:e,checkboxIsDisabled:l,selectedFlatRows:n})=>{const r=l||n.length>=g&&!e.isSelected;return t.jsx(j,Object.assign({},e.getToggleRowSelectedProps(),{color:u||o.ColorBlue.buttonBlue,isDisabled:r}))}};x&&(e.sticky="left"),h.push(e)}if(!r){const e={Header:()=>t.jsx(d.default,{label:"No.",className:"text-[10px] font-normal w-full text-left text-tableResponsive-header-textAndIcon-default"}),id:"index",width:40,disableSortBy:!0,type:"custom",accessor:"index",textAlign:i||f,Cell:({row:e,rows:l,numberAddition:n=0})=>{const r=l.findIndex((t=>t.index===e.index));return t.jsx(d.default,{label:r+1+n,className:"text-xs leading-[14px] font-normal w-full text-left "})}};x&&(e.sticky="left"),h.push(e)}if(a){const e={Header:()=>t.jsx(c.default,{label:null!=l?l:"Action",variant:p[s].fontSize,fontWeight:"semi-bold",textAlign:i||f}),id:"actionRow",width:100,accessor:"action",type:"custom",disableClick:!0,disableSortBy:!0,Cell:({row:e})=>a({rowData:e.original,index:e.index})};x&&(e.sticky="left"),h.push(e)}return[...h,...e]}))},exports.tableSizeMapper=p;
19
+ `;exports.CellContainerBaseStyled=h,exports.CellContainerContentStyled=b,exports.CellContainerHeaderStyled=m,exports.EmptyData=e=>t.jsx(v,Object.assign({},e,{children:e.noRecordComponent?t.jsx(t.Fragment,{children:e.noRecordComponent()}):t.jsxs(t.Fragment,{children:[t.jsx(a,{name:"norecord",size:"extra-large"}),t.jsx("div",Object.assign({style:{marginTop:i.MarginType["extra-small"]}},{children:t.jsx(c.default,{label:e.noRecordLabel||"No records found",fontWeight:"regular",variant:"medium"})}))]})})),exports.SortIcon=({isSorted:e,isSortedDesc:l,iconSortedStyles:n,iconUnsortedStyles:r})=>e?l?t.jsx(a,{name:"chevrondown",className:x.twMerge("fill-tableResponsive-header-textAndIcon-active h-3",n)}):t.jsx(a,{name:"chevronup",className:x.twMerge("fill-tableResponsive-header-textAndIcon-active h-3",n)}):t.jsx(a,{name:"sort",className:x.twMerge("fill-tableResponsive-header-textAndIcon-default h-3",r)}),exports.TableLoaderContainer=y,exports.contentAlignmentMapper=f,exports.defaultPropGetter=()=>({}),exports.getIsExcludedSortable=e=>{if(e.columns)return!1;switch(e.accessor){case"action":case"selectable":return!1;default:return!0}},exports.tableHooks=({hooks:e,actionLabel:l,isSelectable:n,hideRowIndex:r,rowIndexAlign:i,variant:s,rowActions:a,freezedColumn:x,checkedColor:u,totalMaxChecked:g,isSelectionDisabled:f})=>{const h="left";e.visibleColumns.push((e=>{const m=[];if(n){const e={id:"selection",width:28,type:"custom",accessor:"selectable",disableClick:!0,disableSortBy:!0,textAlign:"center",Header:({getToggleAllRowsSelectedProps:e,rows:l})=>{const n=l,r=n.filter((e=>{var t;return!(null===(t=e.original)||void 0===t?void 0:t.disableSelect)})),i=n&&n.length?n.filter((e=>!0===e.isSelected)).length:0;return t.jsx(j,Object.assign({},e(),{indeterminate:!0,checked:!!i||!1,color:u||o.ColorBlue.buttonBlue,onChange:()=>{i>g?r.forEach(((e,t)=>{var l;null===(l=e.toggleRowSelected)||void 0===l||l.call(e,t<g)})):i>0?r.forEach((e=>{var t;return null===(t=e.toggleRowSelected)||void 0===t?void 0:t.call(e,!1)})):r.slice(0,g).forEach((e=>{var t;return null===(t=e.toggleRowSelected)||void 0===t?void 0:t.call(e,!0)}))}}))},Cell:({row:e,checkboxIsDisabled:l,selectedFlatRows:n})=>{const r=f||l||n.length>=g&&!e.isSelected;return t.jsx(j,Object.assign({},e.getToggleRowSelectedProps(),{color:u||o.ColorBlue.buttonBlue,isDisabled:r}))}};x&&(e.sticky="left"),m.push(e)}if(!r){const e={Header:()=>t.jsx(d.default,{label:"No.",className:"text-[10px] font-normal w-full text-left text-tableResponsive-header-textAndIcon-default"}),id:"index",width:40,disableSortBy:!0,type:"custom",accessor:"index",textAlign:i||h,Cell:({row:e,rows:l,numberAddition:n=0})=>{const r=l.findIndex((t=>t.index===e.index));return t.jsx(d.default,{label:r+1+n,className:"text-xs leading-[14px] font-normal w-full text-left "})}};x&&(e.sticky="left"),m.push(e)}if(a){const e={Header:()=>t.jsx(c.default,{label:null!=l?l:"Action",variant:p[s].fontSize,fontWeight:"semi-bold",textAlign:i||h}),id:"actionRow",width:100,accessor:"action",type:"custom",disableClick:!0,disableSortBy:!0,Cell:({row:e})=>a({rowData:e.original,index:e.index})};x&&(e.sticky="left"),m.push(e)}return[...m,...e]}))},exports.tableSizeMapper=p;
20
20
  //# sourceMappingURL=TableBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableBase.js","sources":["../../../../src/components/Table/TableBase.tsx"],"sourcesContent":["// FIXME NEW : fix hiderowindex not working\nimport React, { ChangeEvent, forwardRef, useEffect, useRef } from 'react';\nimport { Column, HeaderGroup, Hooks } from 'react-table';\nimport styled from 'styled-components';\nimport { twMerge } from 'tailwind-merge';\n\nimport { useCombinedRefs } from '../../hooks/useCombinedRefs';\nimport { ColorBlue, MarginType, PaddingType } from '../../styles/index';\nimport { Checkbox } from '../Checkbox';\nimport { Icon } from '../Icon';\nimport { BaseText, Text, TextAlign, TextVariantType } from '../Text';\nimport {\n EmptyDataInterface,\n RowActionsInterface,\n TableHooksBaseInterface,\n TableVariantInterface,\n TableVariantType\n} from './Table.type';\n\nexport const contentAlignmentMapper = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end'\n};\n\nexport const tableSizeMapper: Record<\n string,\n {\n tdHeight: string;\n tdMinHeight: string;\n tdMaxHeight: string;\n tdPadding: string;\n tdPadding68: string;\n thHeight: string;\n charTotal: number;\n fontSize: TextVariantType;\n }\n> = {\n small: {\n tdMinHeight: '32px',\n tdMaxHeight: '48px',\n tdHeight: '48px',\n tdPadding: '8px',\n tdPadding68: '6px 8px',\n thHeight: '42px',\n charTotal: 40,\n fontSize: 'large'\n },\n regular: {\n tdMinHeight: '30px',\n tdMaxHeight: 'max-content',\n tdHeight: '56px',\n tdPadding: '8px',\n tdPadding68: '6px 8px',\n thHeight: '50px',\n charTotal: 77,\n fontSize: 'large'\n }\n};\n\ninterface CellContainerInterface {\n textAlign?: TextAlign;\n isBaseline?: boolean;\n countArrayValue?: number;\n variant: TableVariantType;\n isColSpan?: boolean;\n}\n\nexport const CellContainerBaseStyled = styled.div`\n align-items: ${({ isBaseline }: CellContainerInterface) => (isBaseline ? 'baseline' : 'center')};\n display: flex;\n flex: 1;\n height: ${({ countArrayValue }: CellContainerInterface) =>\n countArrayValue ? `${countArrayValue * 10}px` : '100%'};\n justify-content: ${({ textAlign }: CellContainerInterface) =>\n contentAlignmentMapper[textAlign] || 'center'};\n`;\n\nexport const CellContainerHeaderStyled = styled(CellContainerBaseStyled)``;\n\nexport const CellContainerContentStyled = styled(CellContainerBaseStyled)`\n padding: ${({ variant }: CellContainerInterface) => tableSizeMapper[variant].tdPadding68};\n`;\n\nexport const SortIcon = ({\n isSorted,\n isSortedDesc,\n iconSortedStyles,\n iconUnsortedStyles\n}: {\n isSorted: boolean;\n isSortedDesc: boolean;\n iconSortedStyles?: string;\n iconUnsortedStyles?: string;\n}) => {\n if (!isSorted)\n return (\n <Icon\n name='sort'\n className={twMerge(\n 'fill-tableResponsive-header-textAndIcon-default h-3',\n iconUnsortedStyles\n )}\n />\n );\n\n if (isSortedDesc) {\n return (\n <Icon\n name='chevrondown'\n className={twMerge('fill-tableResponsive-header-textAndIcon-active h-3', iconSortedStyles)}\n />\n );\n } else {\n return (\n <Icon\n name='chevronup'\n className={twMerge('fill-tableResponsive-header-textAndIcon-active h-3', iconSortedStyles)}\n />\n );\n }\n};\n\nexport const getIsExcludedSortable = (column: HeaderGroup) => {\n if (column.columns) return false;\n\n switch (column.accessor) {\n case 'action':\n return false;\n case 'selectable':\n return false;\n default:\n return true;\n }\n};\n\nconst IndeterminateCheckbox = forwardRef(\n (\n {\n onChange,\n indeterminate,\n checked,\n color,\n ...rest\n }: {\n onChange?: (e: ChangeEvent<Element>) => void;\n children?: React.ReactNode;\n indeterminate?: boolean;\n checked?: boolean;\n color?: string;\n isDisabled?: boolean;\n },\n ref: React.Ref<HTMLInputElement>\n ) => {\n const defaultRef = useRef();\n const resolvedRef = useCombinedRefs(ref, defaultRef);\n\n useEffect(() => {\n resolvedRef.current.indeterminate = indeterminate;\n }, [resolvedRef, indeterminate]);\n\n return (\n <Checkbox\n {...rest}\n ref={resolvedRef}\n checked={checked}\n variant='small'\n indeterminate={indeterminate}\n onChange={onChange}\n color={color}\n />\n );\n }\n);\nIndeterminateCheckbox.displayName = 'Checkbox';\n\ninterface TableHooksInterface extends TableHooksBaseInterface, TableVariantInterface {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n hooks: Hooks<any>;\n rowActions?: ({ rowData, index }: RowActionsInterface) => React.ReactNode;\n checkedColor?: string;\n totalMaxChecked?: number;\n}\n\nexport const tableHooks = ({\n hooks,\n actionLabel,\n isSelectable,\n hideRowIndex,\n rowIndexAlign,\n variant,\n rowActions,\n freezedColumn,\n checkedColor,\n totalMaxChecked\n}: TableHooksInterface) => {\n const defaultValue: {\n textAlign: TextAlign;\n } = {\n textAlign: 'left'\n };\n // eslint-disable-next-line sonarjs/cognitive-complexity\n hooks.visibleColumns.push((visibleColumns) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const newColumns: Array<Column<any>> = [];\n\n if (isSelectable) {\n const columnTmp: Column = {\n id: 'selection',\n width: 28,\n type: 'custom',\n accessor: 'selectable',\n disableClick: true,\n disableSortBy: true,\n textAlign: 'center',\n // FIXME: this issue is expected from current react-table lib\n // eslint-disable-next-line react/prop-types,react/display-name\n Header: ({ getToggleAllRowsSelectedProps, rows }) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const currentRows = rows as Array<Record<any, any>>;\n const changeableRows = currentRows.filter((row) => !row.original?.disableSelect);\n const totalChecked =\n currentRows && currentRows.length\n ? currentRows.filter((row) => row.isSelected === true).length\n : 0;\n\n return (\n <IndeterminateCheckbox\n {...getToggleAllRowsSelectedProps()}\n // indeterminate={totalChecked !== changeableRows.length}\n indeterminate\n checked={!!totalChecked || false}\n color={checkedColor || ColorBlue.buttonBlue}\n onChange={() => {\n if (totalChecked > totalMaxChecked) {\n changeableRows.forEach((row, index) => {\n row.toggleRowSelected?.(index < totalMaxChecked);\n });\n } else if (totalChecked > 0) {\n changeableRows.forEach((row) => row.toggleRowSelected?.(false));\n } else {\n changeableRows\n .slice(0, totalMaxChecked)\n .forEach((row) => row.toggleRowSelected?.(true));\n }\n }}\n />\n );\n },\n // eslint-disable-next-line react/prop-types,react/display-name\n Cell: ({ row, checkboxIsDisabled, selectedFlatRows }) => {\n const isDisabled =\n // eslint-disable-next-line react/prop-types\n checkboxIsDisabled || (selectedFlatRows.length >= totalMaxChecked && !row.isSelected);\n return (\n <IndeterminateCheckbox\n // eslint-disable-next-line react/prop-types\n {...row.getToggleRowSelectedProps()}\n color={checkedColor || ColorBlue.buttonBlue}\n isDisabled={isDisabled}\n />\n );\n }\n };\n if (freezedColumn) columnTmp.sticky = 'left';\n newColumns.push(columnTmp);\n }\n if (!hideRowIndex) {\n const columnTmp: Column = {\n // eslint-disable-next-line react/display-name\n Header: () => (\n <BaseText\n label={'No.'}\n className='text-[10px] font-normal w-full text-left text-tableResponsive-header-textAndIcon-default'\n />\n ),\n id: 'index',\n width: 40,\n disableSortBy: true,\n type: 'custom',\n accessor: 'index',\n textAlign: rowIndexAlign || defaultValue.textAlign,\n // eslint-disable-next-line react/display-name, react/prop-types\n Cell: ({ row, rows, numberAddition = 0 }) => {\n // eslint-disable-next-line react/prop-types\n const index = rows.findIndex((data) => data.index === row.index);\n return (\n <BaseText\n label={index + 1 + numberAddition}\n className='text-xs leading-[14px] font-normal w-full text-left '\n />\n );\n }\n };\n if (freezedColumn) columnTmp.sticky = 'left';\n newColumns.push(columnTmp);\n }\n if (rowActions) {\n const columnTmp: Column = {\n // eslint-disable-next-line react/display-name\n Header: () => (\n <Text\n label={actionLabel ?? 'Action'}\n variant={tableSizeMapper[variant].fontSize}\n fontWeight='semi-bold'\n textAlign={rowIndexAlign || defaultValue.textAlign}\n />\n ),\n id: 'actionRow',\n width: 100,\n accessor: 'action',\n type: 'custom',\n disableClick: true,\n disableSortBy: true,\n // FIXME NEW : change any to proper type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Cell: ({ row }) => rowActions({ rowData: row.original, index: row.index }) as any\n };\n if (freezedColumn) columnTmp.sticky = 'left';\n newColumns.push(columnTmp);\n }\n return [...newColumns, ...visibleColumns];\n });\n};\n\nconst EmptyDataStyled = styled.div`\n align-items: center;\n display: flex;\n flex-direction: column;\n height: ${(props: EmptyDataInterface) => `${props.emptyTableHeight}px` || '300px'};\n justify-content: center;\n padding: ${PaddingType.large};\n`;\n\nexport const EmptyData = (props: EmptyDataInterface) => {\n return (\n <EmptyDataStyled {...props}>\n {props.noRecordComponent ? (\n <>{props.noRecordComponent()}</>\n ) : (\n <>\n <Icon name='norecord' size='extra-large' />\n <div style={{ marginTop: MarginType['extra-small'] }}>\n <Text\n label={props.noRecordLabel || 'No records found'}\n fontWeight='regular'\n variant='medium'\n />\n </div>\n </>\n )}\n </EmptyDataStyled>\n );\n};\n\nexport const TableLoaderContainer = styled.div`\n display: flex;\n justify-content: center;\n`;\n\nexport const defaultPropGetter = () => ({});\n"],"names":["contentAlignmentMapper","left","center","right","tableSizeMapper","small","tdMinHeight","tdMaxHeight","tdHeight","tdPadding","tdPadding68","thHeight","charTotal","fontSize","regular","CellContainerBaseStyled","styled","div","isBaseline","countArrayValue","textAlign","CellContainerHeaderStyled","CellContainerContentStyled","variant","IndeterminateCheckbox","forwardRef","_a","ref","onChange","indeterminate","checked","color","rest","__rest","defaultRef","useRef","resolvedRef","useCombinedRefs","useEffect","current","_jsx","jsx","Checkbox","Object","assign","displayName","EmptyDataStyled","props","emptyTableHeight","PaddingType","large","TableLoaderContainer","children","noRecordComponent","_Fragment","_jsxs","Icon","name","size","style","marginTop","MarginType","Text","label","noRecordLabel","fontWeight","isSorted","isSortedDesc","iconSortedStyles","iconUnsortedStyles","className","twMerge","column","columns","accessor","hooks","actionLabel","isSelectable","hideRowIndex","rowIndexAlign","rowActions","freezedColumn","checkedColor","totalMaxChecked","defaultValue","visibleColumns","push","newColumns","columnTmp","id","width","type","disableClick","disableSortBy","Header","getToggleAllRowsSelectedProps","rows","currentRows","changeableRows","filter","row","original","disableSelect","totalChecked","length","isSelected","ColorBlue","buttonBlue","forEach","index","toggleRowSelected","call","slice","Cell","checkboxIsDisabled","selectedFlatRows","isDisabled","getToggleRowSelectedProps","sticky","BaseText","numberAddition","findIndex","data","rowData"],"mappings":"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"}
1
+ {"version":3,"file":"TableBase.js","sources":["../../../../src/components/Table/TableBase.tsx"],"sourcesContent":["// FIXME NEW : fix hiderowindex not working\nimport React, { ChangeEvent, forwardRef, useEffect, useRef } from 'react';\nimport { Column, HeaderGroup, Hooks } from 'react-table';\nimport styled from 'styled-components';\nimport { twMerge } from 'tailwind-merge';\n\nimport { useCombinedRefs } from '../../hooks/useCombinedRefs';\nimport { ColorBlue, MarginType, PaddingType } from '../../styles/index';\nimport { Checkbox } from '../Checkbox';\nimport { Icon } from '../Icon';\nimport { BaseText, Text, TextAlign, TextVariantType } from '../Text';\nimport {\n EmptyDataInterface,\n RowActionsInterface,\n TableHooksBaseInterface,\n TableVariantInterface,\n TableVariantType\n} from './Table.type';\n\nexport const contentAlignmentMapper = {\n left: 'flex-start',\n center: 'center',\n right: 'flex-end'\n};\n\nexport const tableSizeMapper: Record<\n string,\n {\n tdHeight: string;\n tdMinHeight: string;\n tdMaxHeight: string;\n tdPadding: string;\n tdPadding68: string;\n thHeight: string;\n charTotal: number;\n fontSize: TextVariantType;\n }\n> = {\n small: {\n tdMinHeight: '32px',\n tdMaxHeight: '48px',\n tdHeight: '48px',\n tdPadding: '8px',\n tdPadding68: '6px 8px',\n thHeight: '42px',\n charTotal: 40,\n fontSize: 'large'\n },\n regular: {\n tdMinHeight: '30px',\n tdMaxHeight: 'max-content',\n tdHeight: '56px',\n tdPadding: '8px',\n tdPadding68: '6px 8px',\n thHeight: '50px',\n charTotal: 77,\n fontSize: 'large'\n }\n};\n\ninterface CellContainerInterface {\n textAlign?: TextAlign;\n isBaseline?: boolean;\n countArrayValue?: number;\n variant: TableVariantType;\n isColSpan?: boolean;\n}\n\nexport const CellContainerBaseStyled = styled.div`\n align-items: ${({ isBaseline }: CellContainerInterface) => (isBaseline ? 'baseline' : 'center')};\n display: flex;\n flex: 1;\n height: ${({ countArrayValue }: CellContainerInterface) =>\n countArrayValue ? `${countArrayValue * 10}px` : '100%'};\n justify-content: ${({ textAlign }: CellContainerInterface) =>\n contentAlignmentMapper[textAlign] || 'center'};\n`;\n\nexport const CellContainerHeaderStyled = styled(CellContainerBaseStyled)``;\n\nexport const CellContainerContentStyled = styled(CellContainerBaseStyled)`\n padding: ${({ variant }: CellContainerInterface) => tableSizeMapper[variant].tdPadding68};\n`;\n\nexport const SortIcon = ({\n isSorted,\n isSortedDesc,\n iconSortedStyles,\n iconUnsortedStyles\n}: {\n isSorted: boolean;\n isSortedDesc: boolean;\n iconSortedStyles?: string;\n iconUnsortedStyles?: string;\n}) => {\n if (!isSorted)\n return (\n <Icon\n name='sort'\n className={twMerge(\n 'fill-tableResponsive-header-textAndIcon-default h-3',\n iconUnsortedStyles\n )}\n />\n );\n\n if (isSortedDesc) {\n return (\n <Icon\n name='chevrondown'\n className={twMerge('fill-tableResponsive-header-textAndIcon-active h-3', iconSortedStyles)}\n />\n );\n } else {\n return (\n <Icon\n name='chevronup'\n className={twMerge('fill-tableResponsive-header-textAndIcon-active h-3', iconSortedStyles)}\n />\n );\n }\n};\n\nexport const getIsExcludedSortable = (column: HeaderGroup) => {\n if (column.columns) return false;\n\n switch (column.accessor) {\n case 'action':\n return false;\n case 'selectable':\n return false;\n default:\n return true;\n }\n};\n\nconst IndeterminateCheckbox = forwardRef(\n (\n {\n onChange,\n indeterminate,\n checked,\n color,\n ...rest\n }: {\n onChange?: (e: ChangeEvent<Element>) => void;\n children?: React.ReactNode;\n indeterminate?: boolean;\n checked?: boolean;\n color?: string;\n isDisabled?: boolean;\n },\n ref: React.Ref<HTMLInputElement>\n ) => {\n const defaultRef = useRef();\n const resolvedRef = useCombinedRefs(ref, defaultRef);\n\n useEffect(() => {\n resolvedRef.current.indeterminate = indeterminate;\n }, [resolvedRef, indeterminate]);\n\n return (\n <Checkbox\n {...rest}\n ref={resolvedRef}\n checked={checked}\n variant='small'\n indeterminate={indeterminate}\n onChange={onChange}\n color={color}\n />\n );\n }\n);\nIndeterminateCheckbox.displayName = 'Checkbox';\n\ninterface TableHooksInterface extends TableHooksBaseInterface, TableVariantInterface {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n hooks: Hooks<any>;\n rowActions?: ({ rowData, index }: RowActionsInterface) => React.ReactNode;\n checkedColor?: string;\n totalMaxChecked?: number;\n isSelectionDisabled?: boolean;\n}\n\nexport const tableHooks = ({\n hooks,\n actionLabel,\n isSelectable,\n hideRowIndex,\n rowIndexAlign,\n variant,\n rowActions,\n freezedColumn,\n checkedColor,\n totalMaxChecked,\n isSelectionDisabled\n}: TableHooksInterface) => {\n const defaultValue: {\n textAlign: TextAlign;\n } = {\n textAlign: 'left'\n };\n // eslint-disable-next-line sonarjs/cognitive-complexity\n hooks.visibleColumns.push((visibleColumns) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const newColumns: Array<Column<any>> = [];\n\n if (isSelectable) {\n const columnTmp: Column = {\n id: 'selection',\n width: 28,\n type: 'custom',\n accessor: 'selectable',\n disableClick: true,\n disableSortBy: true,\n textAlign: 'center',\n // FIXME: this issue is expected from current react-table lib\n // eslint-disable-next-line react/prop-types,react/display-name\n Header: ({ getToggleAllRowsSelectedProps, rows }) => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const currentRows = rows as Array<Record<any, any>>;\n const changeableRows = currentRows.filter((row) => !row.original?.disableSelect);\n const totalChecked =\n currentRows && currentRows.length\n ? currentRows.filter((row) => row.isSelected === true).length\n : 0;\n\n return (\n <IndeterminateCheckbox\n {...getToggleAllRowsSelectedProps()}\n // indeterminate={totalChecked !== changeableRows.length}\n indeterminate\n checked={!!totalChecked || false}\n color={checkedColor || ColorBlue.buttonBlue}\n onChange={() => {\n if (totalChecked > totalMaxChecked) {\n changeableRows.forEach((row, index) => {\n row.toggleRowSelected?.(index < totalMaxChecked);\n });\n } else if (totalChecked > 0) {\n changeableRows.forEach((row) => row.toggleRowSelected?.(false));\n } else {\n changeableRows\n .slice(0, totalMaxChecked)\n .forEach((row) => row.toggleRowSelected?.(true));\n }\n }}\n />\n );\n },\n // eslint-disable-next-line react/prop-types,react/display-name\n Cell: ({ row, checkboxIsDisabled, selectedFlatRows }) => {\n const isDisabled =\n isSelectionDisabled ||\n checkboxIsDisabled ||\n // eslint-disable-next-line react/prop-types\n (selectedFlatRows.length >= totalMaxChecked && !row.isSelected);\n return (\n <IndeterminateCheckbox\n // eslint-disable-next-line react/prop-types\n {...row.getToggleRowSelectedProps()}\n color={checkedColor || ColorBlue.buttonBlue}\n isDisabled={isDisabled}\n />\n );\n }\n };\n if (freezedColumn) columnTmp.sticky = 'left';\n newColumns.push(columnTmp);\n }\n if (!hideRowIndex) {\n const columnTmp: Column = {\n // eslint-disable-next-line react/display-name\n Header: () => (\n <BaseText\n label={'No.'}\n className='text-[10px] font-normal w-full text-left text-tableResponsive-header-textAndIcon-default'\n />\n ),\n id: 'index',\n width: 40,\n disableSortBy: true,\n type: 'custom',\n accessor: 'index',\n textAlign: rowIndexAlign || defaultValue.textAlign,\n // eslint-disable-next-line react/display-name, react/prop-types\n Cell: ({ row, rows, numberAddition = 0 }) => {\n // eslint-disable-next-line react/prop-types\n const index = rows.findIndex((data) => data.index === row.index);\n return (\n <BaseText\n label={index + 1 + numberAddition}\n className='text-xs leading-[14px] font-normal w-full text-left '\n />\n );\n }\n };\n if (freezedColumn) columnTmp.sticky = 'left';\n newColumns.push(columnTmp);\n }\n if (rowActions) {\n const columnTmp: Column = {\n // eslint-disable-next-line react/display-name\n Header: () => (\n <Text\n label={actionLabel ?? 'Action'}\n variant={tableSizeMapper[variant].fontSize}\n fontWeight='semi-bold'\n textAlign={rowIndexAlign || defaultValue.textAlign}\n />\n ),\n id: 'actionRow',\n width: 100,\n accessor: 'action',\n type: 'custom',\n disableClick: true,\n disableSortBy: true,\n // FIXME NEW : change any to proper type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Cell: ({ row }) => rowActions({ rowData: row.original, index: row.index }) as any\n };\n if (freezedColumn) columnTmp.sticky = 'left';\n newColumns.push(columnTmp);\n }\n return [...newColumns, ...visibleColumns];\n });\n};\n\nconst EmptyDataStyled = styled.div`\n align-items: center;\n display: flex;\n flex-direction: column;\n height: ${(props: EmptyDataInterface) => `${props.emptyTableHeight}px` || '300px'};\n justify-content: center;\n padding: ${PaddingType.large};\n`;\n\nexport const EmptyData = (props: EmptyDataInterface) => {\n return (\n <EmptyDataStyled {...props}>\n {props.noRecordComponent ? (\n <>{props.noRecordComponent()}</>\n ) : (\n <>\n <Icon name='norecord' size='extra-large' />\n <div style={{ marginTop: MarginType['extra-small'] }}>\n <Text\n label={props.noRecordLabel || 'No records found'}\n fontWeight='regular'\n variant='medium'\n />\n </div>\n </>\n )}\n </EmptyDataStyled>\n );\n};\n\nexport const TableLoaderContainer = styled.div`\n display: flex;\n justify-content: center;\n`;\n\nexport const defaultPropGetter = () => ({});\n"],"names":["contentAlignmentMapper","left","center","right","tableSizeMapper","small","tdMinHeight","tdMaxHeight","tdHeight","tdPadding","tdPadding68","thHeight","charTotal","fontSize","regular","CellContainerBaseStyled","styled","div","isBaseline","countArrayValue","textAlign","CellContainerHeaderStyled","CellContainerContentStyled","variant","IndeterminateCheckbox","forwardRef","_a","ref","onChange","indeterminate","checked","color","rest","__rest","defaultRef","useRef","resolvedRef","useCombinedRefs","useEffect","current","_jsx","jsx","Checkbox","Object","assign","displayName","EmptyDataStyled","props","emptyTableHeight","PaddingType","large","TableLoaderContainer","children","noRecordComponent","_Fragment","_jsxs","Icon","name","size","style","marginTop","MarginType","Text","label","noRecordLabel","fontWeight","isSorted","isSortedDesc","iconSortedStyles","iconUnsortedStyles","className","twMerge","column","columns","accessor","hooks","actionLabel","isSelectable","hideRowIndex","rowIndexAlign","rowActions","freezedColumn","checkedColor","totalMaxChecked","isSelectionDisabled","defaultValue","visibleColumns","push","newColumns","columnTmp","id","width","type","disableClick","disableSortBy","Header","getToggleAllRowsSelectedProps","rows","currentRows","changeableRows","filter","row","original","disableSelect","totalChecked","length","isSelected","ColorBlue","buttonBlue","forEach","index","toggleRowSelected","call","slice","Cell","checkboxIsDisabled","selectedFlatRows","isDisabled","getToggleRowSelectedProps","sticky","BaseText","numberAddition","findIndex","data","rowData"],"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("react-query");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"),s=require("../../../node_modules/prop-types/index.js"),a=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("react-query");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`
2
2
  bottom: 0;
3
3
  display: flex;
4
4
  flex-direction: column;
@@ -37,7 +37,7 @@
37
37
  height: 100%;
38
38
  justify-content: center;
39
39
  width: 100%;
40
- `,A=o=>{const a=e=>e.split("_placeholder_");r.useMemo((()=>{const e=o.headerGroups.slice();if(e.length>1){const t=e;for(let e=0;e!==t.length;e++)if(t[e].headers.length>1)for(let r=0;r<t[e].headers.length;r++)if(t[e].headers[r].id.includes("placeholder")){const o=a(t[e].headers[r].id)[1];t[e].headers[r]=t[e+1].headers[parseInt(o)]}return t}}),[o.headerGroups]);const s=o.headerGroups[0].getHeaderGroupProps(),{key:l}=s,i=e.__rest(s,["key"]);return t.jsx(t.Fragment,{children:t.jsx(T,Object.assign({headerGroupsLength:o.headerGroups.length},{children:r.createElement("tr",Object.assign({},i,{key:l,style:{display:"flex",width:"auto",backgroundColor:d.ColorLight.whiteSmoke,minHeight:28*o.headerGroups.length}}),o.headerGroups[0].headers.map(((e,a)=>r.createElement("th",Object.assign({},e.getHeaderProps(v.getIsExcludedSortable(e)&&e.getSortByToggleProps()),{className:j.twMerge(n.default("flex flex-col",j.twMerge("bg-tableResponsive-header-background-colspan",o.headerStyles),e.columns&&"border border-t-0 border-b-0 border-solid border-dark-solitude",o.headerGroups[0].headers[a-1]&&o.headerGroups[0].headers[a-1].columns&&"border-l-0")),key:e.id}),t.jsx(v.CellContainerHeaderStyled,Object.assign({textAlign:e.textAlign||k.textAlign,variant:o.variant,style:{minHeight:e.columns?28:28*o.headerGroups.length}},{children:t.jsx("div",Object.assign({className:n.default("flex flex-row items-center p-2")},{children:"string"!=typeof e.Header.valueOf()?e.render("Header"):t.jsxs(t.Fragment,{children:[t.jsx(h.default,{label:e.Header.toString(),className:n.default("text-xs font-normal text-center",e.isSorted?j.twMerge("text-tableResponsive-header-textAndIcon-active",o.textSortedStyles):j.twMerge("text-tableResponsive-header-textAndIcon-default",o.textUnsortedStyles))}),!e.columns&&t.jsx("span",Object.assign({style:{display:"flex",justifyContent:"center",alignItems:"center"}},{children:!e.disableSortBy&&t.jsx(v.SortIcon,{isSorted:e.isSorted,isSortedDesc:e.isSortedDesc,iconSortedStyles:o.iconSortedStyles,iconUnsortedStyles:o.iconUnsortedStyles})}))]})}))})),e.columns&&t.jsx("div",Object.assign({className:j.twMerge("flex flex-row bg-tableResponsive-header-background-underColspan",o.childHeaderStyles)},{children:e.columns.map((r=>t.jsx(v.CellContainerHeaderStyled,Object.assign({textAlign:r.textAlign||k.textAlign,variant:o.variant,style:{minHeight:28}},{children:t.jsxs("div",Object.assign({className:n.default("flex flex-row items-center p-2"),style:{minHeight:28,minWidth:r.width}},{children:[t.jsx(h.default,{label:r.Header.toString(),className:n.default("text-[10px] font-normal text-center",e.isSorted?j.twMerge("text-tableResponsive-header-textAndIcon-default",o.textSortedStyles):j.twMerge("text-tableResponsive-header-textAndIcon-default",o.textUnsortedStyles))}),!e.columns&&t.jsx("span",Object.assign({style:{display:"flex",justifyContent:"center",alignItems:"center"}},{children:!e.disableSortBy&&t.jsx(v.SortIcon,{isSorted:e.isSorted,isSortedDesc:e.isSortedDesc,iconSortedStyles:o.iconSortedStyles,iconUnsortedStyles:o.iconUnsortedStyles})}))]}))}),r.Header.toString())))}))))))}))})},E=C.default.tbody`
40
+ `,A=o=>{const s=e=>e.split("_placeholder_");r.useMemo((()=>{const e=o.headerGroups.slice();if(e.length>1){const t=e;for(let e=0;e!==t.length;e++)if(t[e].headers.length>1)for(let r=0;r<t[e].headers.length;r++)if(t[e].headers[r].id.includes("placeholder")){const o=s(t[e].headers[r].id)[1];t[e].headers[r]=t[e+1].headers[parseInt(o)]}return t}}),[o.headerGroups]);const a=o.headerGroups[0].getHeaderGroupProps(),{key:l}=a,i=e.__rest(a,["key"]);return t.jsx(t.Fragment,{children:t.jsx(T,Object.assign({headerGroupsLength:o.headerGroups.length},{children:r.createElement("tr",Object.assign({},i,{key:l,style:{display:"flex",width:"auto",backgroundColor:d.ColorLight.whiteSmoke,minHeight:28*o.headerGroups.length}}),o.headerGroups[0].headers.map(((e,s)=>r.createElement("th",Object.assign({},e.getHeaderProps(v.getIsExcludedSortable(e)&&e.getSortByToggleProps()),{className:j.twMerge(n.default("flex flex-col",j.twMerge("bg-tableResponsive-header-background-colspan",o.headerStyles),e.columns&&"border border-t-0 border-b-0 border-solid border-dark-solitude",o.headerGroups[0].headers[s-1]&&o.headerGroups[0].headers[s-1].columns&&"border-l-0")),key:e.id}),t.jsx(v.CellContainerHeaderStyled,Object.assign({textAlign:e.textAlign||k.textAlign,variant:o.variant,style:{minHeight:e.columns?28:28*o.headerGroups.length}},{children:t.jsx("div",Object.assign({className:n.default("flex flex-row items-center p-2")},{children:"string"!=typeof e.Header.valueOf()?e.render("Header"):t.jsxs(t.Fragment,{children:[t.jsx(h.default,{label:e.Header.toString(),className:n.default("text-xs font-normal text-center",e.isSorted?j.twMerge("text-tableResponsive-header-textAndIcon-active",o.textSortedStyles):j.twMerge("text-tableResponsive-header-textAndIcon-default",o.textUnsortedStyles))}),!e.columns&&t.jsx("span",Object.assign({style:{display:"flex",justifyContent:"center",alignItems:"center"}},{children:!e.disableSortBy&&t.jsx(v.SortIcon,{isSorted:e.isSorted,isSortedDesc:e.isSortedDesc,iconSortedStyles:o.iconSortedStyles,iconUnsortedStyles:o.iconUnsortedStyles})}))]})}))})),e.columns&&t.jsx("div",Object.assign({className:j.twMerge("flex flex-row bg-tableResponsive-header-background-underColspan",o.childHeaderStyles)},{children:e.columns.map((r=>t.jsx(v.CellContainerHeaderStyled,Object.assign({textAlign:r.textAlign||k.textAlign,variant:o.variant,style:{minHeight:28}},{children:t.jsxs("div",Object.assign({className:n.default("flex flex-row items-center p-2"),style:{minHeight:28,minWidth:r.width}},{children:[t.jsx(h.default,{label:r.Header.toString(),className:n.default("text-[10px] font-normal text-center",e.isSorted?j.twMerge("text-tableResponsive-header-textAndIcon-default",o.textSortedStyles):j.twMerge("text-tableResponsive-header-textAndIcon-default",o.textUnsortedStyles))}),!e.columns&&t.jsx("span",Object.assign({style:{display:"flex",justifyContent:"center",alignItems:"center"}},{children:!e.disableSortBy&&t.jsx(v.SortIcon,{isSorted:e.isSorted,isSortedDesc:e.isSortedDesc,iconSortedStyles:o.iconSortedStyles,iconUnsortedStyles:o.iconUnsortedStyles})}))]}))}),r.Header.toString())))}))))))}))})},E=C.default.tbody`
41
41
  tr {
42
42
  cursor: pointer;
43
43
  :hover {
@@ -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:z=0,freezeHeader:N=!1,hideRowIndex:q=!1,tableHeight:P=400}=a,L=e.__rest(a,["getCellProps","pageIndex","pageSize","emptyTableHeight","onClickRow","variant","isSelectable","freezedColumn","freezeHeader","hideRowIndex","tableHeight"]);const{onPageChange:D,isHidePagination:_,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:z})),[z,L.header]),de=r.useMemo((()=>L.sortBy&&J?[L.sortBy]:[]),[L.sortBy,J]),ce=r.useRef(),ue=r.useRef(),[be,he]=r.useState(0),pe=r.useMemo((()=>{let e;return L.header&&(e=L.header.reduce(((e,t)=>e+(t.width||150)),0),L.rowActions&&(e+=100),q||(e+=40),R||(e+=48)),e}),[L.header,q,L.rowActions,R]),[ge,xe]=r.useState(_?void 0:Math.ceil(V/g)),[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:!_,pageCount:ge,initialState:{sortBy:de,pageIndex:_?k.pageIndex:p,pageSize:g,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:q,rowIndexAlign:L.rowIndexAlign,variant:T,actionLabel:L.actionLabel,rowActions:L.rowActions,freezedColumn:z,checkedColor:L.checkedColor,totalMaxChecked:L.totalMaxChecked}))),ze=r.useMemo((()=>_?0:He*Me),[_,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 D&&D({pageIndex:Me,pageSize:He})}),[Me,He]),r.useEffect((()=>{_||xe(Math.ceil(V/He))}),[He,V,_]),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 Ne=(!!z||!!N)&&pe>be,qe=0===le.length,Pe=u.getChildrenOnDisplayName(L.children,"ListTabs"),Le=u.getChildrenOnDisplayName(L.children,"MidTabs"),De=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}),!_&&Te>0&&t.jsx("div",{children:t.jsx(f,Object.assign({canPreviousPage:ve,canNextPage:ye,totalData:_?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)})]}))]})),De]})),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:!Ne,$isLoading:L.isLoading,$isEmpty:qe,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:N,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:N,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:ze},"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))}))}))})))}))}))]}))})),qe&&!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})})]})}))]}))},z=({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)}))}))};z.displayName="ListTabs",R.ListTabs=z;const N=({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});N.displayName="MidTabs",R.MidTabs=N;const q=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)}))}))})};q.displayName="ItemTabs",R.ItemTabs=q;const P=({children:e})=>{const n=r.useRef(null);return r.useEffect((()=>{n.current&&o.default(n.current)}),[n]),t.jsx("div",Object.assign({ref:n},{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=s=>{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:z=0,freezeHeader:N=!1,hideRowIndex:q=!1,tableHeight:P=400}=s,L=e.__rest(s,["getCellProps","pageIndex","pageSize","emptyTableHeight","onClickRow","variant","isSelectable","freezedColumn","freezeHeader","hideRowIndex","tableHeight"]);const{onPageChange:D,isHidePagination:_,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:se}=L,ae=v.tableSizeMapper[T].charTotal,le=r.useMemo((()=>L.data),[L.data]),ie=r.useMemo((()=>c({header:L.header,freezedColumn:z})),[z,L.header]),de=r.useMemo((()=>L.sortBy&&J?[L.sortBy]:[]),[L.sortBy,J]),ce=r.useRef(),ue=r.useRef(),[be,he]=r.useState(0),pe=r.useMemo((()=>{let e;return L.header&&(e=L.header.reduce(((e,t)=>e+(t.width||150)),0),L.rowActions&&(e+=100),q||(e+=40),R||(e+=48)),e}),[L.header,q,L.rowActions,R]),[ge,xe]=r.useState(_?void 0:Math.ceil(V/g)),[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]}}=a.reactTableExports.useTable({columns:ie,data:le,manualSortBy:J,manualPagination:!_,pageCount:ge,initialState:{sortBy:de,pageIndex:_?k.pageIndex:p,pageSize:g,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}}},a.reactTableExports.useBlockLayout,a.reactTableExports.useSortBy,a.reactTableExports.usePagination,a.reactTableExports.useRowSelect,S.__exports.useSticky,(e=>v.tableHooks({hooks:e,isSelectable:R,hideRowIndex:q,rowIndexAlign:L.rowIndexAlign,variant:T,actionLabel:L.actionLabel,rowActions:L.rowActions,freezedColumn:z,checkedColor:L.checkedColor,totalMaxChecked:L.totalMaxChecked,isSelectionDisabled:L.isSelectionDisabled}))),ze=r.useMemo((()=>_?0:He*Me),[_,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 D&&D({pageIndex:Me,pageSize:He})}),[Me,He]),r.useEffect((()=>{_||xe(Math.ceil(V/He))}),[He,V,_]),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 Ne=(!!z||!!N)&&pe>be,qe=0===le.length,Pe=u.getChildrenOnDisplayName(L.children,"ListTabs"),Le=u.getChildrenOnDisplayName(L.children,"MidTabs"),De=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}),!_&&Te>0&&t.jsx("div",{children:t.jsx(f,Object.assign({canPreviousPage:ve,canNextPage:ye,totalData:_?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)})]}))]})),De]})),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:!Ne,$isLoading:L.isLoading,$isEmpty:qe,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:N,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",se)},{children:t.jsx(x,{size:"small"})})),t.jsx(A,{headerGroups:Ce,variant:T,freezeHeader:N,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,s)=>{Oe(o);const a=()=>C&&C(o.original),i=o.getRowProps(),{key:d}=i,c=e.__rest(i,["key"]);return r.createElement("tr",Object.assign({},c,{key:d||s,style:{display:"flex",width:"auto"}}),o.cells.map(((s,i)=>{const d=s.getCellProps(l(s)),{key:c,checkboxIsDisabled:u}=d,b=e.__rest(d,["key","checkboxIsDisabled"]);return r.createElement("td",Object.assign({},b,{key:c||s.row.id,className:j.twMerge(n.default(!!s.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!==s.column.parent.id&&"border-r-0",!o.cells[i+1]&&"border-l-0"))}),"custom"===s.column.type?t.jsx(v.CellContainerContentStyled,Object.assign({variant:T,isBaseline:!0,onClick:s.column.disableClick?null:a},{children:s.render("Cell",Object.assign({numberAddition:ze},"selectable"===s.column.accessor?{checkboxIsDisabled:u}:{}))})):t.jsx(t.Fragment,{children:Array.isArray(s.value)?s.value.map(((e,r)=>t.jsx(v.CellContainerContentStyled,Object.assign({variant:T,isBaseline:!0,countArrayValue:me,isColSpan:!0,onClick:s.column.disableClick?null:a},{children:t.jsx(H,Object.assign({isEmpty:!e,textAlign:s.column.textAlign||k.textAlign,label:s.column.isCanShowEmptyCell?e:e||"-",variant:"small",ellipsis:!!s.value&&s.value.length>=ae},s.column.textStyle))}),r))):t.jsx(v.CellContainerContentStyled,Object.assign({variant:T,isBaseline:!0,onClick:s.column.disableClick?null:a},{children:t.jsx(H,Object.assign({isEmpty:!s.value,textAlign:s.column.textAlign||k.textAlign,label:s.column.isCanShowEmptyCell?s.value:s.value||"-",variant:"small",ellipsis:!!s.value&&s.value.length>=ae},s.column.textStyle))}))}))})))}))}))]}))})),qe&&!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})})]})}))]}))},z=({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)}))}))};z.displayName="ListTabs",R.ListTabs=z;const N=({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});N.displayName="MidTabs",R.MidTabs=N;const q=o=>{var{children:s,isActive:a}=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:s||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||a)&&"fill-accordionTabs-button-textAndIcon-active"),l.leftIconStyles),rightIcon:a?"chevronup":l.rightIcon||"chevrondown",rightIconStyles:j.twMerge(n.default("fill-accordionTabs-button-textAndIcon-default",i&&"fill-accordionTabs-button-textAndIcon-hover",(c||a)&&"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 ",a&&"\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)}))}))})};q.displayName="ItemTabs",R.ItemTabs=q;const P=({children:e})=>{const n=r.useRef(null);return r.useEffect((()=>{n.current&&o.default(n.current)}),[n]),t.jsx("div",Object.assign({ref:n},{children:e}))};P.displayName="ItemContent",R.ItemContent=P,R.prototype={pageSize:s.propTypesExports.number,emptyTableHeight:s.propTypesExports.number,onClickRow:s.propTypesExports.func,variant:s.propTypesExports.string,isSelectable:s.propTypesExports.bool,freezedColumn:s.propTypesExports.number,freezeHeader:s.propTypesExports.bool,hideRowIndex:s.propTypesExports.bool,tableHeight:s.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 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 const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (contentRef.current) {\n autoAnimate(contentRef.current);\n }\n }, [contentRef]);\n\n return <div ref={contentRef}>{children}</div>;\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","contentRef","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 isSelectionDisabled: props.isSelectionDisabled\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 const contentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (contentRef.current) {\n autoAnimate(contentRef.current);\n }\n }, [contentRef]);\n\n return <div ref={contentRef}>{children}</div>;\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","isSelectionDisabled","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","contentRef","prototype","PropTypes.number","propTypesExports","number","PropTypes.func","func","PropTypes.string","string","PropTypes.bool","bool"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uangcermat-web-toolkit-v2",
3
- "version": "0.2.28",
3
+ "version": "0.2.30",
4
4
  "outputDir": "build",
5
5
  "main": "build/src/index.js",
6
6
  "types": "build/src/index.d.ts",