@lax-wp/design-system 0.14.35 → 0.14.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/data-display/infinite-table/CellContextMenuPortal.cjs.js +2 -0
- package/dist/components/data-display/infinite-table/CellContextMenuPortal.cjs.js.map +1 -0
- package/dist/components/data-display/infinite-table/CellContextMenuPortal.d.ts +28 -0
- package/dist/components/data-display/infinite-table/CellContextMenuPortal.es.js +226 -0
- package/dist/components/data-display/infinite-table/CellContextMenuPortal.es.js.map +1 -0
- package/dist/components/data-display/infinite-table/body/cell/DataCell.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/body/cell/DataCell.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/body/cell/DataCell.es.js +169 -151
- package/dist/components/data-display/infinite-table/body/cell/DataCell.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/constants.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/constants.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/constants.d.ts +8 -0
- package/dist/components/data-display/infinite-table/constants.es.js +24 -20
- package/dist/components/data-display/infinite-table/constants.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/context.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/context.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/context.d.ts +5 -1
- package/dist/components/data-display/infinite-table/context.es.js +5 -2
- package/dist/components/data-display/infinite-table/context.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/copy-text.cjs.js +3 -0
- package/dist/components/data-display/infinite-table/copy-text.cjs.js.map +1 -0
- package/dist/components/data-display/infinite-table/copy-text.d.ts +13 -0
- package/dist/components/data-display/infinite-table/copy-text.es.js +19 -0
- package/dist/components/data-display/infinite-table/copy-text.es.js.map +1 -0
- package/dist/components/data-display/infinite-table/index.cjs.js +1 -1
- package/dist/components/data-display/infinite-table/index.cjs.js.map +1 -1
- package/dist/components/data-display/infinite-table/index.d.ts +1 -1
- package/dist/components/data-display/infinite-table/index.es.js +518 -497
- package/dist/components/data-display/infinite-table/index.es.js.map +1 -1
- package/dist/components/data-display/infinite-table/types.d.ts +69 -0
- package/dist/components/forms/currency-input/CurrencyInputField.cjs.js +1 -1
- package/dist/components/forms/currency-input/CurrencyInputField.cjs.js.map +1 -1
- package/dist/components/forms/currency-input/CurrencyInputField.es.js +24 -24
- package/dist/components/forms/currency-input/CurrencyInputField.es.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/providers/design-system-provider/types.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),Ss=require("../../../hooks/useCheckbox.cjs.js"),ws=require("../../../providers/design-system-provider/hooks.cjs.js"),Ce=require("../../../utils/table.cjs.js"),Et=require("../../button/Button.cjs.js"),bs=require("../../floating-bar/FloatingBar.cjs.js"),xe=require("../typography/Typography.cjs.js"),k=require("@dnd-kit/core"),l=require("react"),ps=require("react-virtualized-auto-sizer"),Fs=require("react-dom"),kt=require("react-table"),Ts=require("./body/index.cjs.js"),Dt=require("./validateCell.cjs.js"),ys=require("./body/rows/row.cjs.js"),Rs=require("./context.cjs.js"),Os=require("./CurrencyDropdownPortal.cjs.js"),js=require("./head/index.cjs.js"),Es=require("./PendingEditsFloatingBar.cjs.js"),h=require("./constants.cjs.js"),Nt=require("./useRowHeight.cjs.js"),ks=require("../empty-state/NoDataFoundWidgets.cjs.js"),Ds=require("../empty-state/NoDataFound.cjs.js"),Ns=require("../../icon/icons.generated.cjs.js"),As=ps.AutoSizer,At="Create Column",_s=(I,T)=>`button-admin-${I.toLowerCase().trim().replace(/\s+/g,"-").replace(/[^a-z0-9-_]/g,"")||T}`,Is=l.memo(({tableKey:I,searchConfig:T={search:"",handleSearch:()=>null,allowAStarSearch:!1},filterConfig:a={columnFilters:[],onFilter:()=>null,onRemoveFilter:()=>null,onClearFilter:()=>null,onResetFilter:()=>Promise.resolve({}),asyncRowOptionsFilter:()=>Promise.resolve({})},sortConfig:m={onSort:()=>null,columnSort:{field:"",order:""},onRemoveSort:()=>null},headerConfig:i={showExportButton:null,showFilters:!0,showSorts:!0,showSearch:!0,showTableView:!0,showTableViewAsModal:!1,content:null,postContent:null,preContent:null,isLoading:!1,showDivider:!1},hoverConfig:_t=null,columns:R,modelName:G,enableMasterDataEnumSuggestions:X=!1,agreementId:Y,enumSuggestionsExtraParams:Z,enumSuggestionsData:Q,data:f=[],onRowClick:It,showHeader:Se,showSubHeader:Mt=!0,tableActions:Pe,rowOptions:q,hideRowOptionWidth:qe,checkboxUtilities:M,isLoading:K=!1,onScroll:Lt,onScrolling:gt,isColumnConfigurable:ee,onAddColumnClick:te,emptyMessage:We,noDataWidget:He,buttons:$e,onEditColumnClick:ze,onDeleteColumnClick:Ue,onRowTooltipClick:Vt,tooltiptext:Bt,cascadingTableConfig:Ct,originalsOnly:Pt,disableOptionsForRowIndex:qt,tableHeightClass:le="h-[calc(100vh-220px)]",getFullRowDataOnClick:Wt,selectedRowId:Ht=null,onRowEdit:D,onBulkRowEdit:L,inlineEditColumns:$t,isResizable:zt=!0,paginationConfig:se,dndSortableUtils:re,multipleContexts:Je,withSortable:we,withDraggable:Ut,enableRootDrag:Jt,pageSize:Gt=h.DEFAULT_PAGE_SIZE,onCascadingRowExpand:Xt,totalItems:Ge,showRecordCount:be=!1,getInnerRowData:Yt,maxLevel:Zt,expandedRows:Qt={},setExpandedRows:Kt,showNewItem:el,rawData:Xe,dragConfig:tl,isOverlayLoading:ll,style:sl={},floatingBarConfig:pe,rowWrapper:rl,rowLinkConfig:nl,isCellClickDisabled:al,setHeaderOnParent:Fe,optimizeTable:ol=!1,multiSelectConfig:cl,headerContextOptions:il,showHeaderContextOptions:ul,setShowHeaderContextOptions:dl,showDataTypeIcon:hl=!1,rowAdditionalActions:ne,rowAdditionalActionsWidth:Te,setVisibleHeaders:ye,cellEditing:ml=null,cellEditingValue:fl=null,allowInlineEdit:vl=!1,onFieldOperationFlow:xl,fieldOperationLoading:g=null,onTableActionsReady:Re,onPendingEditsChange:Ye,onCancelPendingEdits:V})=>{const c=ws.useTableConfig(),Sl=Nt.getRowSlotHeight(Nt.useRowHeight()),wl=!!T?.search,Ze=a?.columnFilters?.length>0,W=wl||Ze,bl=!!M,y=c?.getTableView?.(I)??null,[p,H]=l.useState(y||null),N=!Ce.canEditTableView(p,c?.getUserId?.()),[Oe,je]=l.useState(!1),[Ee,Qe]=l.useState(!1),[pl,Ke]=l.useState(null),[S,ke]=l.useState(R),et=(f.length===0||!S.length)&&!K,[tt,ae]=l.useState(null),[Fl,Tl]=l.useState(!1),[yl,Rl]=l.useState(null),[Ol,jl]=l.useState(!1),[El,oe]=l.useState(null),[kl,ce]=l.useState(null),[Dl,lt]=l.useState({}),[$,De]=l.useState(null),[Nl,st]=l.useState(!1),[O,Al]=l.useState(0),Ne=l.useRef(null),Ae=l.useRef(null),[rt,_l]=l.useState({width:0,height:0}),[Il,B]=l.useState(null),[j,nt]=l.useState(null),[Ml,at]=l.useState(null),[ot,ct]=l.useState(null),[_e,z]=l.useState({}),Ie=l.useRef(!1),ie=l.useRef(!1),Me=l.useRef(p);Me.current=p;const it=l.useRef(c);it.current=c;const ut=l.useRef(R);ut.current=R;const ue=l.useRef(a);ue.current=a;const dt=l.useRef(null),ht=l.useRef(()=>({})),mt=l.useRef(()=>({})),[d,E]=l.useState({}),Le=l.useCallback((e,t,s)=>{E(n=>{const o=n[e]?.[t];let u=s.validationError;if(u===void 0){const w=S.find(v=>v.key===t);if(w){const v=Dt.validateCellValue(s.value,w);u=v.isValid?null:v.error||"Invalid"}else u=o?.validationError??null}return{...n,[e]:{...n[e]||{},[t]:{...s,validationError:u??null}}}})},[S]),ft=l.useCallback(()=>Object.values(d).some(e=>Object.keys(e).length>0),[d]);l.useEffect(()=>{Re&&Re({addPendingEdit:Le,hasPendingEdits:ft})},[Re,Le,ft]);const Ll=l.useCallback((e,t)=>{E(s=>{const n={...s};if(n[e]){const{[t]:o,...u}=n[e];Object.keys(u).length===0?delete n[e]:n[e]=u}return n})},[]),gl=l.useCallback((e,t)=>d[e]?.[t],[d]),Vl=l.useCallback((e,t)=>!!d[e]?.[t],[d]),vt=l.useCallback(()=>{g||(V&&Object.keys(d).length>0&&V(d),E({}),z({}),B(null))},[g,V,d]),C=l.useCallback((e,t,s)=>{setTimeout(()=>{c?.dispatchEvent?.("SCROLL_TO_TABLE_ROW",{rowIndex:s});const n=S.findIndex(o=>o.key===t);setTimeout(()=>{const o=document.querySelector(`[${h.DATA_ROW_ID_ATTR}="${e}"] [${h.DATA_COLUMN_KEY_ATTR}="${t}"]`);if(o)o.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});else if(n>0){const u=document.querySelector(h.OS_VIEWPORT_SELECTOR);if(u){let w=0;for(let v=0;v<n;v++){const F=S[v];F?.sticky||(w+=F?.width||h.SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK)}w=Math.max(0,w-h.SCROLL_TO_CELL_LEFT_OFFSET),u.scrollTo({left:w,behavior:"smooth"})}}B({rowId:e,columnKey:t})},350)},100)},[S,c]),U=l.useCallback(e=>{let t=!1,s=null;const n={},o=new Set;return Object.entries(e).forEach(([u,w])=>{n[u]={},Object.entries(w).forEach(([v,F])=>{const _=S.find(b=>b.key===v),x=Dt.validateCellValue(F.value,_);x.isValid?n[u][v]={...F,validationError:null}:(t=!0,x.error&&o.add(x.error),s||(s={rowId:u,columnKey:v}),n[u][v]={...F,validationError:x.error})})}),{hasErrors:t,updatedEdits:n,firstError:s,errorTypes:o}},[S]),de=l.useCallback(e=>{const t=e.has("Field required"),s=e.size>(t?1:0);return t&&s?"Missing required field(s) and invalid format detected. Please review highlighted field(s).":t?"Missing required field(s). Please review highlighted field(s).":"Invalid field value(s). Please review highlighted field(s)."},[]),xt=l.useCallback(()=>{const{hasErrors:e,updatedEdits:t,firstError:s,errorTypes:n}=U(d);if(e){if(E(t),c?.showNotification?.("error",de(n)),s){const u=f.findIndex(w=>w.id===s.rowId);C(s.rowId,s.columnKey,u)}return}const o=[];Object.entries(d).forEach(([u,w])=>{const v=f.find(F=>F.id===u);if(v){const F={...v},_={};Object.entries(w).forEach(([x,b])=>{F[x]=b.value,_[x]={value:b.value,meta:b.meta}}),o.push({...F,__editedFields:_})}}),o.length>0&&(L?L(o):D&&D(null,null,null,null,null,{isBulk:!0,rows:o})),E({}),z({}),B(null)},[d,f,D,L,U,de,C,c]),Bl=l.useCallback(e=>{if(g)return;const t=d[e];t&&V&&V({[e]:t}),E(s=>{const n={...s};return delete n[e],n}),z(s=>{const n={...s};return Object.keys(n).forEach(o=>{o.startsWith(`${e}-`)&&delete n[o]}),n}),B(null)},[g,V,d]),Cl=l.useCallback(e=>{const t=d[e];if(!t||Object.keys(t).length===0)return;const{hasErrors:s,updatedEdits:n,firstError:o,errorTypes:u}=U({[e]:t});if(s){if(E(x=>({...x,[e]:n[e]})),c?.showNotification?.("error",de(u)),o){const x=f.findIndex(b=>b.id===o.rowId);C(o.rowId,o.columnKey,x)}return}const w=f.find(x=>x.id===e);if(!w)return;const v={...w},F={};Object.entries(t).forEach(([x,b])=>{v[x]=b.value,F[x]={value:b.value,meta:b.meta}});const _={...v,__editedFields:F};L?L([_]):D&&D(null,null,null,null,null,{isBulk:!0,rows:[_]}),E(x=>{const b={...x};return delete b[e],b}),z(x=>{const b={...x};return Object.keys(b).forEach(jt=>{jt.startsWith(`${e}-`)&&delete b[jt]}),b}),B(null)},[d,f,D,L,U,de,C,c]),P=l.useMemo(()=>Object.values(d).reduce((e,t)=>e+Object.keys(t).length,0),[d]);l.useEffect(()=>{Ye?.(P>0,P)},[P,Ye]);const Pl=l.useMemo(()=>{const e=[];return Object.entries(d).forEach(([t,s])=>{const n=f.findIndex(o=>o.id===t);Object.entries(s).forEach(([o,u])=>{const w=S.find(v=>v.key===o);e.push({rowId:t,columnKey:o,fieldName:w?.Header||w?.display_name||o,value:u.value,originalValue:u.originalValue,meta:u.meta,originalMeta:u.originalMeta,rowIndex:n})})}),e},[d,S,f]),ql=l.useMemo(()=>{const e=new Map;return Object.entries(d).forEach(([t,s])=>{const n=f.findIndex(o=>o.id===t);e.set(t,{rowId:t,rowIndex:n,editCount:Object.keys(s).length})}),Array.from(e.values()).sort((t,s)=>t.rowIndex-s.rowIndex)},[d,f]),Wl=l.useCallback(e=>nt(e),[]),he=l.useCallback(()=>nt(null),[]),Hl=l.useCallback((e,t)=>{at({value:e,reference:t}),j?.onSelected&&j.onSelected(e,t),he()},[j,he]),$l=l.useCallback(()=>at(null),[]),zl=l.useCallback(e=>ct(e),[]),St=l.useCallback(()=>ct(null),[]),Ul=l.useCallback((e,t)=>{z(s=>({...s,[e]:t}))},[]),Jl=l.useCallback(e=>_e[e],[_e]),Gl=l.useMemo(()=>{const e=le.match(/h-\[(\d+px)\]/);if(e)return e[1];const t=le.match(/h-\[(calc\(.+\))\]/);if(t)return t[1].replace(/([+-])/g," $1 ").replace(/\s+/g," ")},[le]),Xl={isEmpty:et,isFilters:W,isColumnConfigurable:ee,handleOnClick:te,emptyMessage:We,buttons:$e,noDataWidget:He},Yl=c?.t?.(At)??At,me=W?"No Results Found":We||"No Data Found",Zl=typeof me=="string"?c?.t?.(me)??me:me,wt={__isLoading:!0},Ql=new Array(1).fill(wt),Kl=new Array(Gt).fill(wt),J=l.useMemo(()=>S.filter(e=>!!e?.visible),[S]),es=kt.useTable({columns:ol?J:S,data:[...f,...K?f?.length?Ql:Kl:[]],defaultColumn:{minWidth:h.DEFAULT_COLUMN_MIN_WIDTH,width:h.DEFAULT_COLUMN_WIDTH,maxWidth:h.DEFAULT_COLUMN_MAX_WIDTH}},kt.useResizeColumns),{getTableProps:bt,getTableBodyProps:pt,headerGroups:fe,prepareRow:Ft,rows:A}=es;dt.current=fe;const ts=JSON.stringify(fe[0]?.headers?.map(e=>e?.Header));l.useEffect(()=>{if(ye){const e=dt.current;ye?.(e?.[0]?.headers?.map(t=>t?.Header)??[])}},[ts,ye]);const{checkboxConfig:Tt}=Ss.useCheckbox({rows:A,checkedIds:M?.checkedIds,isCheckAllDisabled:M?.isCheckAllDisabled,selectionDisabledRowIds:M?.selectionDisabledRowIds,rawData:Xe,onAllChecked:jl,setCheckedIds:M?.setCheckedIds,checkboxMetadata:M?.checkboxMetadata}),ls=k.useSensors(k.useSensor(k.MouseSensor,{activationConstraint:{distance:h.DND_ACTIVATION_DISTANCE}}),k.useSensor(k.TouchSensor,{activationConstraint:{distance:h.DND_ACTIVATION_DISTANCE}})),ss={easing:h.DROP_ANIMATION_EASING,duration:h.DROP_ANIMATION_DURATION};function rs(){return!Je?.length||!we?A:Je.reduce((e,t)=>(e[t]=A.filter(s=>s.original?.type===t),e),{})}mt.current=rs;const ns=e=>{const{active:t}=e;De(A.find(s=>s.original?.id===t?.id)??null)},as=e=>{const{active:t,over:s}=e;s&&(re?.checkDndDragEnd&&re.checkDndDragEnd(t,s,Dl,n=>{lt(n),st(!0),re.onDragSuccess?.({draggedId:t.id,droppedId:s.id,draggedType:t.data.current?.type,droppedType:s.data.current?.type,updatedList:n,cb:()=>st(!1)})}),De(null))},os=()=>De(null),cs=e=>{!m?.onSort&&!a?.onFilter||ae(tt===e?null:e)},is=e=>{Rl(e),Tl(!Fl),ae(null)},ge=l.useCallback(()=>{m?.onRemoveSort?m.onRemoveSort():m?.onSort&&m.onSort("","")},[m]),ve=l.useCallback((e=null)=>{Ke(e),je(t=>e?!0:!t)},[]),Ve=l.useCallback(()=>Qe(e=>!e),[]),us=()=>{const e=fe[0]?.headers?.filter(t=>t?.visible!==!1);for(let t=0;t<e.length;t++)if(e[t].sticky)return t-1;return e.length-1},ds=l.useCallback(e=>{let t=0;for(let s=e+1;s<J.length;s++)J[s].visible!==!1&&(t+=J[s].width??0);return ne&&(t+=Te||h.ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH),q&&(t+=qe?0:h.ROW_OPTIONS_COLUMN_WIDTH),t},[J,Te,qe,ne,q]),yt=()=>{const e=c?.getUserId?.();return{...p||{},name:p?.name||"Untitled View",created_by:p?.created_by||e,filters:p?.filters||a?.columnFilters,id:p?.id||"untitled-view",table_key:p?.table_key||I,columns:p?.columns||R?.map((t,s)=>({name:t.Header,width:t.width,visible:t.visible,sticky:t.sticky,order:s+1,display_name:t.Header,sequence:s+1,Header:t.Header}))}};ht.current=yt;const hs=(e,t)=>{const s=yt();H({...s,columns:s?.columns?.map(n=>n.name===e?{...n,width:t}:n),unsaved:N?s?.unsaved:!0})};l.useEffect(()=>{if(a?.columnFilters?.length>0&&je(!0),N)return;const e=Me.current;if(JSON.stringify(e?.filters||[])!==JSON.stringify(a?.columnFilters||[])){const t=(e?.filters?.length??0)>0,s=a?.columnFilters?.length>0;if(!(t&&!s&&!ie.current)){const o=ht.current();H({...o,filters:JSON.parse(JSON.stringify(a?.columnFilters||[])),unsaved:!0})}ie.current=!1}},[a?.columnFilters,N]);const ms=l.useCallback(e=>{ie.current=!0,a?.onRemoveFilter?.(e)},[a?.onRemoveFilter]),fs=l.useCallback(()=>{ie.current=!0,a?.onClearFilter?.()},[a?.onClearFilter]);l.useEffect(()=>{m?.columnSort?.field?(Qe(!0),m.columnSort.order==="asc"?(oe(m.columnSort.field),ce(null)):m.columnSort.order==="desc"&&(ce(m.columnSort.field),oe(null))):(oe(null),ce(null))},[m?.columnSort?.field,m?.columnSort?.order]),l.useEffect(()=>{ke(Ce.mergeViewColumnsWithTableColumns(Me.current?.columns||[],R))},[R]),l.useEffect(()=>{p?.unsaved&&it.current?.persistTableView?.(p)},[p]),l.useEffect(()=>{lt(mt.current())},[A.length]),l.useEffect(()=>{H(y||null),y?.columns&&ke(Ce.mergeViewColumnsWithTableColumns(y?.columns||[],ut.current)),y?.filters&&y.filters.length>0&&!Ie.current?(requestAnimationFrame(()=>{ue.current?.onFilter?.(y.filters)}),Ie.current=!0):y?.filters&&Ie.current&&JSON.stringify(y.filters)!==JSON.stringify(ue.current?.columnFilters)&&ue.current?.onFilter?.(y.filters)},[y]),l.useEffect(()=>{if(Ne.current){const e=new ResizeObserver(t=>Al(t[0].contentRect.width));return e.observe(Ne.current),()=>e.disconnect()}},[]),l.useEffect(()=>{if(!Ae.current)return;const e=new ResizeObserver(t=>{const{width:s,height:n}=t[0].contentRect;_l({width:s,height:n})});return e.observe(Ae.current),()=>e.disconnect()},[]);const Rt=r.jsx(js.Head,{isResizable:zt,headerGroups:fe,isCheckbox:bl,checkboxConfig:Tt,isAllChecked:Ol,showHeaderOptions:tt??"",setShowHeaderOptions:ae,isShowSortArrowAsc:El,isShowSortArrowDesc:kl,onSort:m?.onSort,onFilter:a?.onFilter,toggleHeaderOption:cs,setIsShowSortArrowAsc:oe,setIsShowSortArrowDesc:ce,toggleDataFilterModal:ve,rowOptions:Array.isArray(q)?q:[],isColumnConfigurable:ee??!1,onAddColumnClick:te,onEditColumnClick:ze,onDeleteColumnClick:Ue,tableActions:Pe||null,isLoading:K,rowAdditionalActions:ne??null,showPendingEditsColumn:P>0}),Ot=r.jsxs(r.Fragment,{children:[Nl||ll?r.jsx("div",{className:"absolute left-0 top-0 w-full h-full z-40 flex items-center justify-center bg-neutral-100 dark:bg-black-700"}):null,r.jsx("div",{...bt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 h-full bg-white dark:bg-black-800",children:et?r.jsxs("div",{className:"z-10",children:[Rt,r.jsx("div",{className:"absolute w-full",children:c?.renderEmpty?c.renderEmpty(Xl):r.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-[12rem] text-neutral-900 dark:text-neutral-200 mt-8",children:[He&&!W?r.jsx(ks.NoDataFoundWidgets,{widgetType:"TABLE"}):r.jsx(Ds.NoDataFound,{text:Zl}),ee&&!W?r.jsx("div",{className:"my-4",children:r.jsxs(Et,{id:"btn-table-shell-create-column",status:"primary",appearance:"ghost",onClick:te,children:[r.jsx(Ns.Add2Icon,{className:"text-white dark:text-white"})," ",Yl]})}):null,!W&&$e?.map((e,t)=>r.jsx(Et,{status:"secondary",id:_s(e.label,t),onClick:e.onClick,children:c?.t?.(e.label)??e.label},`${e.label}-${t}`))]})})]}):r.jsx(As,{style:{width:"100%",height:"100%"},renderProp:({width:e,height:t})=>{const s=e>0?e:rt.width,n=t>0?t:rt.height;return s>0&&n>0?r.jsx(Ts.Body,{getTableBodyProps:pt,rows:A,prepareRow:Ft,isLoading:K,onScroll:Lt,onScrolling:gt,columns:R,width:s,height:n,withSortable:we,allowAstarSearch:T?.allowAStarSearch||!1}):null}})})]}),vs=l.forwardRef((e,t)=>r.jsxs("div",{className:"h-full w-full",...e,ref:t,children:[Rt,r.jsx("div",{className:"relative w-full h-full",children:e?.children})]})),xs=l.forwardRef((e,t)=>r.jsx("div",{className:"h-full w-full",...e,ref:t,children:r.jsx("div",{className:"relative w-full h-full",children:e?.children})})),Be=l.useMemo(()=>c?.renderTableHeader?c.renderTableHeader({tableKey:I,search:T?.search,handleSearch:T?.handleSearch,toggleShowFilters:ve,toggleShowSorts:Ve,filterCounts:a?.columnFilters?.length,columns:R,columnFilters:a?.columnFilters,setSelectedTableView:H,selectedTableView:p,enableTableView:i?.showTableView,modelName:G,enableMasterDataEnumSuggestions:X,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,onFilter:a?.onFilter,data:Q??f,tableHeaders:S,showTableViewAsModal:i?.showTableViewAsModal,additionalOptions:i?.additionalOptions,inlineActions:i?.inlineActions,showFilters:i?.showFilters,showSorts:i?.showSorts,showSearch:i?.showSearch,isLoading:!!i?.isLoading,setTableHeaders:ke,allowAStarSearch:!!T?.allowAStarSearch,withContent:!!i?.content,setShowFilters:je,sort:m?.columnSort,onSort:m?.onSort,onRemoveSort:ge,showExportButton:i?.showExportButton,onExportClick:i?.onExportClick,agreementId:Y,enumSuggestionsExtraParams:Z}):null,[I,T?.search,T?.handleSearch,ve,Ve,a?.columnFilters,R,H,p,i,G,a?.onRemoveFilter,a?.onClearFilter,a?.onFilter,f,Q,S,m?.columnSort,m?.onSort,ge,c,T?.allowAStarSearch,X,Y,Z]);return l.useEffect(()=>{Fe&&Fe(Be)},[Be,Fe]),r.jsxs(Rs.TableContext.Provider,{value:{tableWrapper:vs,tableBodyWrapper:xs,lastNonStickyColumnIndex:us,search:T?.search,columnFilters:a?.columnFilters,onRowClick:It,onSort:m?.onSort,onFilter:a?.onFilter,toggleShowFilters:ve,toggleShowSorts:Ve,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,rowOptions:q,checkboxConfig:Tt,onResetFilter:a?.onResetFilter,isColumnConfigurable:ee,onAddColumnClick:te,onEditColumnClick:ze,onDeleteColumnClick:Ue,onRowTooltipClick:Vt,tooltiptext:Bt,cascadingTableConfig:Ct,activeInlineEdit:Il,setActiveInlineEdit:B,originalsOnly:Pt,disableOptionsForRowIndex:qt,getFullRowDataOnClick:Wt,selectedRowId:Ht,getSumOfNextVisibleColumnWidth:ds,onRowEdit:D,inlineEditColumns:$t,tableActions:Pe,dndSortableUtils:re,withSortable:we,withDraggable:Ut,onCascadingRowExpand:Xt,getInnerRowData:Yt,tableHeaders:S,maxLevel:Zt,expandedRows:Qt,setExpandedRows:Kt,showNewItem:el,rawData:Xe,dragConfig:tl,rowWrapper:rl,rowLinkConfig:nl,isCellClickDisabled:al,asyncRowOptionsFilter:a?.asyncRowOptionsFilter,handleUpdateColumnWidth:hs,isTableViewReadOnly:N,multiSelectConfig:cl,headerContextOptions:il,showHeaderContextOptions:ul,setShowHeaderContextOptions:dl,headerDivWidth:O,showDataTypeIcon:hl,rowAdditionalActions:ne,hoverConfig:_t,rowAdditionalActionsWidth:Te,cellEditing:ml,cellEditingValue:fl,openMasterDataModal:Wl,closeMasterDataModal:he,selectedMasterData:Ml,clearSelectedMasterData:$l,allowInlineEdit:vl,openCurrencyDropdown:zl,closeCurrencyDropdown:St,currencyDropdownConfig:ot,selectedCurrenciesMap:_e,setCurrencyForCell:Ul,getCurrencyForCell:Jl,pendingEdits:d,addPendingEdit:Le,removePendingEdit:Ll,getPendingEdit:gl,hasPendingEdit:Vl,clearAllPendingEdits:vt,saveAllPendingEdits:xt,clearRowPendingEdits:Bl,saveRowPendingEdits:Cl,pendingEditsCount:P,scrollToCell:C,onFieldOperationFlow:xl,fieldOperationLoading:g,validateAllPendingEdits:U},children:[Se?r.jsxs("div",{ref:Ne,className:`mb-2 flex w-full min-w-0 gap-2 justify-end dark:bg-black-800 ${O<h.TOOLBAR_FIRST_BREAKPOINT?"flex-col items-stretch":"flex-row flex-wrap items-center"}`,children:[r.jsxs("div",{className:`flex items-center gap-x-2 gap-y-1 ${O<h.TOOLBAR_FIRST_BREAKPOINT?"w-full flex-wrap":""} ${i?.content?"min-w-0 flex-1":"shrink-0"}`,children:[i?.content?r.jsx("div",{className:`min-w-0 ${O<h.TOOLBAR_FIRST_BREAKPOINT?"w-full":"flex-1"}`,children:i.content}):null,be?r.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[r.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),r.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),r.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),r.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),r.jsx(xe.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Ge??f.length).toLocaleString()}),r.jsx(xe.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):i?.preContent?r.jsx("div",{className:"flex min-w-0 shrink-0 justify-start items-center",children:i.preContent}):null]}),r.jsxs("div",{className:`flex min-w-0 items-center justify-end ${O<h.TOOLBAR_FIRST_BREAKPOINT?"w-full":i?.content?"shrink-0":"flex-1"} ${O<h.TOOLBAR_SECOND_BREAKPOINT?"flex-col":"flex-row flex-wrap"} ${i?.postContent?"gap-2":""}`,children:[be&&i?.preContent?r.jsx("div",{className:"flex w-full justify-start items-center",children:i.preContent}):null,r.jsx("div",{className:`flex justify-end items-center min-w-0 ${O<h.TOOLBAR_SECOND_BREAKPOINT||O<h.TOOLBAR_FIRST_BREAKPOINT?"w-full":""}`,children:Be}),i?.postContent?r.jsx("div",{className:`flex justify-end items-center ${O<h.TOOLBAR_SECOND_BREAKPOINT?"w-full":""}`,children:i.postContent}):null]})]}):null,i?.showDivider?r.jsx("div",{className:"border-b pb-2 w-full dark:bg-black-800"}):null,Mt&&(Oe||Ee)?r.jsx("div",{className:"flex justify-between items-center pb-4 dark:bg-black-800",children:r.jsxs("div",{className:"flex gap-2 items-center",children:[Ee&&c?.renderSortItem?c.renderSortItem({sort:m?.columnSort,onRemoveSort:ge,onSort:m?.onSort,tableHeaders:S,data:f,disabled:N}):null,Oe&&Ee&&m?.columnSort?.field!==""?r.jsx("div",{className:"h-8 w-[1px] flex-shrink-0 bg-neutral-200"}):null,Oe?r.jsxs("div",{className:"flex gap-2 items-center",children:[(Ze||a?.onResetFilter)&&c?.renderActiveFilters&&c.renderActiveFilters({filters:a?.columnFilters,onRemoveFilter:ms,onClearFilter:fs,onResetFilter:a?.onResetFilter,onFilter:a?.onFilter,tableHeaders:S,columnFilters:a?.columnFilters,modelName:G,enableMasterDataEnumSuggestions:X,noSpacing:!0,notionStyle:a?.notionStyle,context:a?.context,data:Q??f,agreementId:Y,enumSuggestionsExtraParams:Z,disabled:N}),c?.renderFilterButtons&&c.renderFilterButtons({onClearFilter:a?.onClearFilter,onClose:is,modelName:G,enableMasterDataEnumSuggestions:X,defaultFilterColumn:pl,resetDefaultFilterColumn:()=>Ke(null),column:yl,onFilter:a?.onFilter,tableHeaders:S,columnFilters:a?.columnFilters,data:Q??f,notionStyle:a?.notionStyle,context:a?.context,agreementId:Y,enumSuggestionsExtraParams:Z,disabled:N})]}):null]})}):null,pe&&Object.keys(pe).length?r.jsx(bs.FloatingBar,{...pe}):null,!Se&&be?r.jsxs("div",{className:"flex items-center gap-1.5 mb-2",children:[r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[r.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),r.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),r.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),r.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),r.jsx(xe.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Ge??f.length).toLocaleString()}),r.jsx(xe.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):!Se&&i?.preContent?r.jsx("div",{className:"flex items-center mb-2",children:i.preContent}):null,r.jsx("div",{ref:Ae,className:`w-full ${se?"h-auto":le} rounded-lg relative border overflow-x-hidden`,style:{...se?{height:f?.length>0?`${(f?.length+1)*Sl+4}px`:"350px"}:{height:Gl},...sl},children:Jt?Ot:r.jsxs(k.DndContext,{sensors:ls,onDragEnd:as,onDragStart:ns,onDragCancel:os,collisionDetection:k.closestCorners,children:[Ot,$?Fs.createPortal(r.jsx(k.DragOverlay,{adjustScale:!0,dropAnimation:ss,children:r.jsx("table",{...bt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 bg-white dark:bg-black-700 table-auto border-collapse",children:r.jsxs("tbody",{...pt(),className:"bg-transparent divide-y divide-neutral-200",children:[void Ft($),r.jsx(ys.Row,{row:$,index:A?.findIndex(e=>e.id===$.original.id)},$.original.id)]})})}),document.getElementById("full-screen-container")||document.body):null]})}),se&&c?.renderPagination?c.renderPagination(se):null,c?.renderMasterDataModal&&c.renderMasterDataModal({isVisible:!!j,onSelected:Hl,onClose:he,masterDataColumnName:j?.masterDataColumnName,masterDataFormula:j?.masterDataFormula,masterDataFilters:j?.masterDataFilters,masterDataName:j?.masterDataName,masterDataId:j?.masterDataName,showFilters:!0}),r.jsx(Os.CurrencyDropdownPortal,{config:ot,onClose:St}),r.jsx(Es.PendingEditsFloatingBar,{pendingEditsCount:P,pendingEditsList:Pl,rowsWithPendingEdits:ql,fieldOperationLoading:g,onClearAll:vt,onSaveAll:xt,onScrollToCell:C})]})});exports.InfiniteTable=Is;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),Ts=require("../../../hooks/useCheckbox.cjs.js"),ys=require("../../../providers/design-system-provider/hooks.cjs.js"),Pe=require("../../../utils/table.cjs.js"),Nt=require("../../button/Button.cjs.js"),Rs=require("../../floating-bar/FloatingBar.cjs.js"),ve=require("../typography/Typography.cjs.js"),E=require("@dnd-kit/core"),l=require("react"),Os=require("react-virtualized-auto-sizer"),js=require("react-dom"),At=require("react-table"),ks=require("./body/index.cjs.js"),_t=require("./validateCell.cjs.js"),Es=require("./body/rows/row.cjs.js"),Ds=require("./context.cjs.js"),Ns=require("./CellContextMenuPortal.cjs.js"),As=require("./CurrencyDropdownPortal.cjs.js"),_s=require("./head/index.cjs.js"),Is=require("./PendingEditsFloatingBar.cjs.js"),m=require("./constants.cjs.js"),It=require("./useRowHeight.cjs.js"),Ms=require("../empty-state/NoDataFoundWidgets.cjs.js"),Ls=require("../empty-state/NoDataFound.cjs.js"),gs=require("../../icon/icons.generated.cjs.js"),Cs=Os.AutoSizer,Mt="Create Column",Vs=(I,T)=>`button-admin-${I.toLowerCase().trim().replace(/\s+/g,"-").replace(/[^a-z0-9-_]/g,"")||T}`,Bs=l.memo(({tableKey:I,searchConfig:T={search:"",handleSearch:()=>null,allowAStarSearch:!1},filterConfig:a={columnFilters:[],onFilter:()=>null,onRemoveFilter:()=>null,onClearFilter:()=>null,onResetFilter:()=>Promise.resolve({}),asyncRowOptionsFilter:()=>Promise.resolve({})},sortConfig:f={onSort:()=>null,columnSort:{field:"",order:""},onRemoveSort:()=>null},headerConfig:i={showExportButton:null,showFilters:!0,showSorts:!0,showSearch:!0,showTableView:!0,showTableViewAsModal:!1,content:null,postContent:null,preContent:null,isLoading:!1,showDivider:!1},hoverConfig:Lt=null,columns:R,modelName:G,enableMasterDataEnumSuggestions:X=!1,agreementId:Y,enumSuggestionsExtraParams:Z,enumSuggestionsData:Q,data:d=[],onRowClick:gt,showHeader:we,showSubHeader:Ct=!0,tableActions:qe,rowOptions:M,hideRowOptionWidth:We,checkboxUtilities:L,isLoading:K=!1,onScroll:Vt,onScrolling:Bt,isColumnConfigurable:ee,onAddColumnClick:te,emptyMessage:He,noDataWidget:$e,buttons:ze,onEditColumnClick:Ue,onDeleteColumnClick:Je,onRowTooltipClick:Pt,tooltiptext:qt,cascadingTableConfig:Wt,originalsOnly:Ht,disableOptionsForRowIndex:$t,tableHeightClass:le="h-[calc(100vh-220px)]",getFullRowDataOnClick:zt,selectedRowId:Ut=null,onRowEdit:D,onBulkRowEdit:g,inlineEditColumns:Jt,isResizable:Gt=!0,paginationConfig:se,dndSortableUtils:re,multipleContexts:Ge,withSortable:Se,withDraggable:Xt,enableRootDrag:Yt,pageSize:Zt=m.DEFAULT_PAGE_SIZE,onCascadingRowExpand:Qt,totalItems:Xe,showRecordCount:be=!1,getInnerRowData:Kt,maxLevel:el,expandedRows:tl={},setExpandedRows:ll,showNewItem:sl,rawData:Ye,dragConfig:rl,isOverlayLoading:nl,style:al={},floatingBarConfig:pe,rowWrapper:ol,rowLinkConfig:cl,isCellClickDisabled:il,setHeaderOnParent:Fe,optimizeTable:ul=!1,multiSelectConfig:dl,cellContextMenuConfig:Ze,headerContextOptions:hl,showHeaderContextOptions:ml,setShowHeaderContextOptions:fl,showDataTypeIcon:xl=!1,rowAdditionalActions:ne,rowAdditionalActionsWidth:Te,setVisibleHeaders:ye,cellEditing:vl=null,cellEditingValue:wl=null,allowInlineEdit:Sl=!1,onFieldOperationFlow:bl,fieldOperationLoading:C=null,onTableActionsReady:Re,onPendingEditsChange:Qe,onCancelPendingEdits:V})=>{const c=ys.useTableConfig(),pl=It.getRowSlotHeight(It.useRowHeight()),Fl=!!T?.search,Ke=a?.columnFilters?.length>0,W=Fl||Ke,Tl=!!L,y=c?.getTableView?.(I)??null,[p,H]=l.useState(y||null),N=!Pe.canEditTableView(p,c?.getUserId?.()),[Oe,je]=l.useState(!1),[ke,et]=l.useState(!1),[yl,tt]=l.useState(null),[v,Ee]=l.useState(R),lt=(d.length===0||!v.length)&&!K,[st,ae]=l.useState(null),[Rl,Ol]=l.useState(!1),[jl,kl]=l.useState(null),[El,Dl]=l.useState(!1),[Nl,oe]=l.useState(null),[Al,ce]=l.useState(null),[_l,rt]=l.useState({}),[$,De]=l.useState(null),[Il,nt]=l.useState(!1),[O,Ml]=l.useState(0),Ne=l.useRef(null),Ae=l.useRef(null),[at,Ll]=l.useState({width:0,height:0}),[gl,B]=l.useState(null),[j,ot]=l.useState(null),[Cl,ct]=l.useState(null),[it,ut]=l.useState(null),[Vl,dt]=l.useState(null),[_e,z]=l.useState({}),Ie=l.useRef(!1),ie=l.useRef(!1),Me=l.useRef(p);Me.current=p;const ht=l.useRef(c);ht.current=c;const mt=l.useRef(R);mt.current=R;const ue=l.useRef(a);ue.current=a;const ft=l.useRef(null),xt=l.useRef(()=>({})),vt=l.useRef(()=>({})),[h,k]=l.useState({}),Le=l.useCallback((e,t,r)=>{k(n=>{const o=n[e]?.[t];let u=r.validationError;if(u===void 0){const S=v.find(x=>x.key===t);if(S){const x=_t.validateCellValue(r.value,S);u=x.isValid?null:x.error||"Invalid"}else u=o?.validationError??null}return{...n,[e]:{...n[e]||{},[t]:{...r,validationError:u??null}}}})},[v]),wt=l.useCallback(()=>Object.values(h).some(e=>Object.keys(e).length>0),[h]);l.useEffect(()=>{Re&&Re({addPendingEdit:Le,hasPendingEdits:wt})},[Re,Le,wt]);const Bl=l.useCallback((e,t)=>{k(r=>{const n={...r};if(n[e]){const{[t]:o,...u}=n[e];Object.keys(u).length===0?delete n[e]:n[e]=u}return n})},[]),Pl=l.useCallback((e,t)=>h[e]?.[t],[h]),ql=l.useCallback((e,t)=>!!h[e]?.[t],[h]),St=l.useCallback(()=>{C||(V&&Object.keys(h).length>0&&V(h),k({}),z({}),B(null))},[C,V,h]),P=l.useCallback((e,t,r)=>{setTimeout(()=>{c?.dispatchEvent?.("SCROLL_TO_TABLE_ROW",{rowIndex:r});const n=v.findIndex(o=>o.key===t);setTimeout(()=>{const o=document.querySelector(`[${m.DATA_ROW_ID_ATTR}="${e}"] [${m.DATA_COLUMN_KEY_ATTR}="${t}"]`);if(o)o.scrollIntoView({behavior:"smooth",block:"center",inline:"center"});else if(n>0){const u=document.querySelector(m.OS_VIEWPORT_SELECTOR);if(u){let S=0;for(let x=0;x<n;x++){const F=v[x];F?.sticky||(S+=F?.width||m.SCROLL_TO_CELL_COLUMN_WIDTH_FALLBACK)}S=Math.max(0,S-m.SCROLL_TO_CELL_LEFT_OFFSET),u.scrollTo({left:S,behavior:"smooth"})}}B({rowId:e,columnKey:t})},350)},100)},[v,c]),U=l.useCallback(e=>{let t=!1,r=null;const n={},o=new Set;return Object.entries(e).forEach(([u,S])=>{n[u]={},Object.entries(S).forEach(([x,F])=>{const _=v.find(b=>b.key===x),w=_t.validateCellValue(F.value,_);w.isValid?n[u][x]={...F,validationError:null}:(t=!0,w.error&&o.add(w.error),r||(r={rowId:u,columnKey:x}),n[u][x]={...F,validationError:w.error})})}),{hasErrors:t,updatedEdits:n,firstError:r,errorTypes:o}},[v]),de=l.useCallback(e=>{const t=e.has("Field required"),r=e.size>(t?1:0);return t&&r?"Missing required field(s) and invalid format detected. Please review highlighted field(s).":t?"Missing required field(s). Please review highlighted field(s).":"Invalid field value(s). Please review highlighted field(s)."},[]),bt=l.useCallback(()=>{const{hasErrors:e,updatedEdits:t,firstError:r,errorTypes:n}=U(h);if(e){if(k(t),c?.showNotification?.("error",de(n)),r){const u=d.findIndex(S=>S.id===r.rowId);P(r.rowId,r.columnKey,u)}return}const o=[];Object.entries(h).forEach(([u,S])=>{const x=d.find(F=>F.id===u);if(x){const F={...x},_={};Object.entries(S).forEach(([w,b])=>{F[w]=b.value,_[w]={value:b.value,meta:b.meta}}),o.push({...F,__editedFields:_})}}),o.length>0&&(g?g(o):D&&D(null,null,null,null,null,{isBulk:!0,rows:o})),k({}),z({}),B(null)},[h,d,D,g,U,de,P,c]),Wl=l.useCallback(e=>{if(C)return;const t=h[e];t&&V&&V({[e]:t}),k(r=>{const n={...r};return delete n[e],n}),z(r=>{const n={...r};return Object.keys(n).forEach(o=>{o.startsWith(`${e}-`)&&delete n[o]}),n}),B(null)},[C,V,h]),Hl=l.useCallback(e=>{const t=h[e];if(!t||Object.keys(t).length===0)return;const{hasErrors:r,updatedEdits:n,firstError:o,errorTypes:u}=U({[e]:t});if(r){if(k(w=>({...w,[e]:n[e]})),c?.showNotification?.("error",de(u)),o){const w=d.findIndex(b=>b.id===o.rowId);P(o.rowId,o.columnKey,w)}return}const S=d.find(w=>w.id===e);if(!S)return;const x={...S},F={};Object.entries(t).forEach(([w,b])=>{x[w]=b.value,F[w]={value:b.value,meta:b.meta}});const _={...x,__editedFields:F};g?g([_]):D&&D(null,null,null,null,null,{isBulk:!0,rows:[_]}),k(w=>{const b={...w};return delete b[e],b}),z(w=>{const b={...w};return Object.keys(b).forEach(Dt=>{Dt.startsWith(`${e}-`)&&delete b[Dt]}),b}),B(null)},[h,d,D,g,U,de,P,c]),q=l.useMemo(()=>Object.values(h).reduce((e,t)=>e+Object.keys(t).length,0),[h]);l.useEffect(()=>{Qe?.(q>0,q)},[q,Qe]);const $l=l.useMemo(()=>{const e=[];return Object.entries(h).forEach(([t,r])=>{const n=d.findIndex(o=>o.id===t);Object.entries(r).forEach(([o,u])=>{const S=v.find(x=>x.key===o);e.push({rowId:t,columnKey:o,fieldName:S?.Header||S?.display_name||o,value:u.value,originalValue:u.originalValue,meta:u.meta,originalMeta:u.originalMeta,rowIndex:n})})}),e},[h,v,d]),zl=l.useMemo(()=>{const e=new Map;return Object.entries(h).forEach(([t,r])=>{const n=d.findIndex(o=>o.id===t);e.set(t,{rowId:t,rowIndex:n,editCount:Object.keys(r).length})}),Array.from(e.values()).sort((t,r)=>t.rowIndex-r.rowIndex)},[h,d]),Ul=l.useCallback(e=>ot(e),[]),he=l.useCallback(()=>ot(null),[]),Jl=l.useCallback((e,t)=>{ct({value:e,reference:t}),j?.onSelected&&j.onSelected(e,t),he()},[j,he]),Gl=l.useCallback(()=>ct(null),[]),Xl=l.useCallback(e=>ut(e),[]),pt=l.useCallback(()=>ut(null),[]),Yl=l.useCallback(e=>dt(e),[]),Ft=l.useCallback(()=>dt(null),[]),Zl=l.useCallback((e,t)=>{z(r=>({...r,[e]:t}))},[]),Ql=l.useCallback(e=>_e[e],[_e]),Kl=l.useMemo(()=>{const e=le.match(/h-\[(\d+px)\]/);if(e)return e[1];const t=le.match(/h-\[(calc\(.+\))\]/);if(t)return t[1].replace(/([+-])/g," $1 ").replace(/\s+/g," ")},[le]),es={isEmpty:lt,isFilters:W,isColumnConfigurable:ee,handleOnClick:te,emptyMessage:He,buttons:ze,noDataWidget:$e},ts=c?.t?.(Mt)??Mt,me=W?"No Results Found":He||"No Data Found",ls=typeof me=="string"?c?.t?.(me)??me:me,Tt={__isLoading:!0},ss=new Array(1).fill(Tt),rs=new Array(Zt).fill(Tt),J=l.useMemo(()=>v.filter(e=>!!e?.visible),[v]),ns=At.useTable({columns:ul?J:v,data:[...d,...K?d?.length?ss:rs:[]],defaultColumn:{minWidth:m.DEFAULT_COLUMN_MIN_WIDTH,width:m.DEFAULT_COLUMN_WIDTH,maxWidth:m.DEFAULT_COLUMN_MAX_WIDTH}},At.useResizeColumns),{getTableProps:yt,getTableBodyProps:Rt,headerGroups:fe,prepareRow:Ot,rows:A}=ns;ft.current=fe;const as=JSON.stringify(fe[0]?.headers?.map(e=>e?.Header));l.useEffect(()=>{if(ye){const e=ft.current;ye?.(e?.[0]?.headers?.map(t=>t?.Header)??[])}},[as,ye]);const{checkboxConfig:ge}=Ts.useCheckbox({rows:A,checkedIds:L?.checkedIds,isCheckAllDisabled:L?.isCheckAllDisabled,selectionDisabledRowIds:L?.selectionDisabledRowIds,rawData:Ye,onAllChecked:Dl,setCheckedIds:L?.setCheckedIds,checkboxMetadata:L?.checkboxMetadata}),os=E.useSensors(E.useSensor(E.MouseSensor,{activationConstraint:{distance:m.DND_ACTIVATION_DISTANCE}}),E.useSensor(E.TouchSensor,{activationConstraint:{distance:m.DND_ACTIVATION_DISTANCE}})),cs={easing:m.DROP_ANIMATION_EASING,duration:m.DROP_ANIMATION_DURATION};function is(){return!Ge?.length||!Se?A:Ge.reduce((e,t)=>(e[t]=A.filter(r=>r.original?.type===t),e),{})}vt.current=is;const us=e=>{const{active:t}=e;De(A.find(r=>r.original?.id===t?.id)??null)},ds=e=>{const{active:t,over:r}=e;r&&(re?.checkDndDragEnd&&re.checkDndDragEnd(t,r,_l,n=>{rt(n),nt(!0),re.onDragSuccess?.({draggedId:t.id,droppedId:r.id,draggedType:t.data.current?.type,droppedType:r.data.current?.type,updatedList:n,cb:()=>nt(!1)})}),De(null))},hs=()=>De(null),ms=e=>{!f?.onSort&&!a?.onFilter||ae(st===e?null:e)},fs=e=>{kl(e),Ol(!Rl),ae(null)},Ce=l.useCallback(()=>{f?.onRemoveSort?f.onRemoveSort():f?.onSort&&f.onSort("","")},[f]),xe=l.useCallback((e=null)=>{tt(e),je(t=>e?!0:!t)},[]),Ve=l.useCallback(()=>et(e=>!e),[]),xs=()=>{const e=fe[0]?.headers?.filter(t=>t?.visible!==!1);for(let t=0;t<e.length;t++)if(e[t].sticky)return t-1;return e.length-1},vs=l.useCallback(e=>{let t=0;for(let r=e+1;r<J.length;r++)J[r].visible!==!1&&(t+=J[r].width??0);return ne&&(t+=Te||m.ROW_ADDITIONAL_ACTIONS_DEFAULT_WIDTH),M&&(t+=We?0:m.ROW_OPTIONS_COLUMN_WIDTH),t},[J,Te,We,ne,M]),jt=()=>{const e=c?.getUserId?.();return{...p||{},name:p?.name||"Untitled View",created_by:p?.created_by||e,filters:p?.filters||a?.columnFilters,id:p?.id||"untitled-view",table_key:p?.table_key||I,columns:p?.columns||R?.map((t,r)=>({name:t.Header,width:t.width,visible:t.visible,sticky:t.sticky,order:r+1,display_name:t.Header,sequence:r+1,Header:t.Header}))}};xt.current=jt;const ws=(e,t)=>{const r=jt();H({...r,columns:r?.columns?.map(n=>n.name===e?{...n,width:t}:n),unsaved:N?r?.unsaved:!0})};l.useEffect(()=>{if(a?.columnFilters?.length>0&&je(!0),N)return;const e=Me.current;if(JSON.stringify(e?.filters||[])!==JSON.stringify(a?.columnFilters||[])){const t=(e?.filters?.length??0)>0,r=a?.columnFilters?.length>0;if(!(t&&!r&&!ie.current)){const o=xt.current();H({...o,filters:JSON.parse(JSON.stringify(a?.columnFilters||[])),unsaved:!0})}ie.current=!1}},[a?.columnFilters,N]);const Ss=l.useCallback(e=>{ie.current=!0,a?.onRemoveFilter?.(e)},[a?.onRemoveFilter]),bs=l.useCallback(()=>{ie.current=!0,a?.onClearFilter?.()},[a?.onClearFilter]);l.useEffect(()=>{f?.columnSort?.field?(et(!0),f.columnSort.order==="asc"?(oe(f.columnSort.field),ce(null)):f.columnSort.order==="desc"&&(ce(f.columnSort.field),oe(null))):(oe(null),ce(null))},[f?.columnSort?.field,f?.columnSort?.order]),l.useEffect(()=>{Ee(Pe.mergeViewColumnsWithTableColumns(Me.current?.columns||[],R))},[R]),l.useEffect(()=>{p?.unsaved&&ht.current?.persistTableView?.(p)},[p]),l.useEffect(()=>{rt(vt.current())},[A.length]),l.useEffect(()=>{H(y||null),y?.columns&&Ee(Pe.mergeViewColumnsWithTableColumns(y?.columns||[],mt.current)),y?.filters&&y.filters.length>0&&!Ie.current?(requestAnimationFrame(()=>{ue.current?.onFilter?.(y.filters)}),Ie.current=!0):y?.filters&&Ie.current&&JSON.stringify(y.filters)!==JSON.stringify(ue.current?.columnFilters)&&ue.current?.onFilter?.(y.filters)},[y]),l.useEffect(()=>{if(Ne.current){const e=new ResizeObserver(t=>Ml(t[0].contentRect.width));return e.observe(Ne.current),()=>e.disconnect()}},[]),l.useEffect(()=>{if(!Ae.current)return;const e=new ResizeObserver(t=>{const{width:r,height:n}=t[0].contentRect;Ll({width:r,height:n})});return e.observe(Ae.current),()=>e.disconnect()},[]);const kt=s.jsx(_s.Head,{isResizable:Gt,headerGroups:fe,isCheckbox:Tl,checkboxConfig:ge,isAllChecked:El,showHeaderOptions:st??"",setShowHeaderOptions:ae,isShowSortArrowAsc:Nl,isShowSortArrowDesc:Al,onSort:f?.onSort,onFilter:a?.onFilter,toggleHeaderOption:ms,setIsShowSortArrowAsc:oe,setIsShowSortArrowDesc:ce,toggleDataFilterModal:xe,rowOptions:Array.isArray(M)?M:[],isColumnConfigurable:ee??!1,onAddColumnClick:te,onEditColumnClick:Ue,onDeleteColumnClick:Je,tableActions:qe||null,isLoading:K,rowAdditionalActions:ne??null,showPendingEditsColumn:q>0}),Et=s.jsxs(s.Fragment,{children:[Il||nl?s.jsx("div",{className:"absolute left-0 top-0 w-full h-full z-40 flex items-center justify-center bg-neutral-100 dark:bg-black-700"}):null,s.jsx("div",{...yt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 h-full bg-white dark:bg-black-800",children:lt?s.jsxs("div",{className:"z-10",children:[kt,s.jsx("div",{className:"absolute w-full",children:c?.renderEmpty?c.renderEmpty(es):s.jsxs("div",{className:"flex flex-col items-center justify-center w-full h-[12rem] text-neutral-900 dark:text-neutral-200 mt-8",children:[$e&&!W?s.jsx(Ms.NoDataFoundWidgets,{widgetType:"TABLE"}):s.jsx(Ls.NoDataFound,{text:ls}),ee&&!W?s.jsx("div",{className:"my-4",children:s.jsxs(Nt,{id:"btn-table-shell-create-column",status:"primary",appearance:"ghost",onClick:te,children:[s.jsx(gs.Add2Icon,{className:"text-white dark:text-white"})," ",ts]})}):null,!W&&ze?.map((e,t)=>s.jsx(Nt,{status:"secondary",id:Vs(e.label,t),onClick:e.onClick,children:c?.t?.(e.label)??e.label},`${e.label}-${t}`))]})})]}):s.jsx(Cs,{style:{width:"100%",height:"100%"},renderProp:({width:e,height:t})=>{const r=e>0?e:at.width,n=t>0?t:at.height;return r>0&&n>0?s.jsx(ks.Body,{getTableBodyProps:Rt,rows:A,prepareRow:Ot,isLoading:K,onScroll:Vt,onScrolling:Bt,columns:R,width:r,height:n,withSortable:Se,allowAstarSearch:T?.allowAStarSearch||!1}):null}})})]}),ps=l.forwardRef((e,t)=>s.jsxs("div",{className:"h-full w-full",...e,ref:t,children:[kt,s.jsx("div",{className:"relative w-full h-full",children:e?.children})]})),Fs=l.forwardRef((e,t)=>s.jsx("div",{className:"h-full w-full",...e,ref:t,children:s.jsx("div",{className:"relative w-full h-full",children:e?.children})})),Be=l.useMemo(()=>c?.renderTableHeader?c.renderTableHeader({tableKey:I,search:T?.search,handleSearch:T?.handleSearch,toggleShowFilters:xe,toggleShowSorts:Ve,filterCounts:a?.columnFilters?.length,columns:R,columnFilters:a?.columnFilters,setSelectedTableView:H,selectedTableView:p,enableTableView:i?.showTableView,modelName:G,enableMasterDataEnumSuggestions:X,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,onFilter:a?.onFilter,data:Q??d,tableHeaders:v,showTableViewAsModal:i?.showTableViewAsModal,additionalOptions:i?.additionalOptions,inlineActions:i?.inlineActions,showFilters:i?.showFilters,showSorts:i?.showSorts,showSearch:i?.showSearch,isLoading:!!i?.isLoading,setTableHeaders:Ee,allowAStarSearch:!!T?.allowAStarSearch,withContent:!!i?.content,setShowFilters:je,sort:f?.columnSort,onSort:f?.onSort,onRemoveSort:Ce,showExportButton:i?.showExportButton,onExportClick:i?.onExportClick,agreementId:Y,enumSuggestionsExtraParams:Z}):null,[I,T?.search,T?.handleSearch,xe,Ve,a?.columnFilters,R,H,p,i,G,a?.onRemoveFilter,a?.onClearFilter,a?.onFilter,d,Q,v,f?.columnSort,f?.onSort,Ce,c,T?.allowAStarSearch,X,Y,Z]);return l.useEffect(()=>{Fe&&Fe(Be)},[Be,Fe]),s.jsxs(Ds.TableContext.Provider,{value:{tableWrapper:ps,tableBodyWrapper:Fs,lastNonStickyColumnIndex:xs,search:T?.search,columnFilters:a?.columnFilters,onRowClick:gt,onSort:f?.onSort,onFilter:a?.onFilter,toggleShowFilters:xe,toggleShowSorts:Ve,onRemoveFilter:a?.onRemoveFilter,onClearFilter:a?.onClearFilter,rowOptions:M,checkboxConfig:ge,onResetFilter:a?.onResetFilter,isColumnConfigurable:ee,onAddColumnClick:te,onEditColumnClick:Ue,onDeleteColumnClick:Je,onRowTooltipClick:Pt,tooltiptext:qt,cascadingTableConfig:Wt,activeInlineEdit:gl,setActiveInlineEdit:B,originalsOnly:Ht,disableOptionsForRowIndex:$t,getFullRowDataOnClick:zt,selectedRowId:Ut,getSumOfNextVisibleColumnWidth:vs,onRowEdit:D,inlineEditColumns:Jt,tableActions:qe,dndSortableUtils:re,withSortable:Se,withDraggable:Xt,onCascadingRowExpand:Qt,getInnerRowData:Kt,tableHeaders:v,maxLevel:el,expandedRows:tl,setExpandedRows:ll,showNewItem:sl,rawData:Ye,dragConfig:rl,rowWrapper:ol,rowLinkConfig:cl,isCellClickDisabled:il,asyncRowOptionsFilter:a?.asyncRowOptionsFilter,handleUpdateColumnWidth:ws,isTableViewReadOnly:N,multiSelectConfig:dl,cellContextMenuConfig:Ze,openCellContextMenu:Yl,closeCellContextMenu:Ft,headerContextOptions:hl,showHeaderContextOptions:ml,setShowHeaderContextOptions:fl,headerDivWidth:O,showDataTypeIcon:xl,rowAdditionalActions:ne,hoverConfig:Lt,rowAdditionalActionsWidth:Te,cellEditing:vl,cellEditingValue:wl,openMasterDataModal:Ul,closeMasterDataModal:he,selectedMasterData:Cl,clearSelectedMasterData:Gl,allowInlineEdit:Sl,openCurrencyDropdown:Xl,closeCurrencyDropdown:pt,currencyDropdownConfig:it,selectedCurrenciesMap:_e,setCurrencyForCell:Zl,getCurrencyForCell:Ql,pendingEdits:h,addPendingEdit:Le,removePendingEdit:Bl,getPendingEdit:Pl,hasPendingEdit:ql,clearAllPendingEdits:St,saveAllPendingEdits:bt,clearRowPendingEdits:Wl,saveRowPendingEdits:Hl,pendingEditsCount:q,scrollToCell:P,onFieldOperationFlow:bl,fieldOperationLoading:C,validateAllPendingEdits:U},children:[we?s.jsxs("div",{ref:Ne,className:`mb-2 flex w-full min-w-0 gap-2 justify-end dark:bg-black-800 ${O<m.TOOLBAR_FIRST_BREAKPOINT?"flex-col items-stretch":"flex-row flex-wrap items-center"}`,children:[s.jsxs("div",{className:`flex items-center gap-x-2 gap-y-1 ${O<m.TOOLBAR_FIRST_BREAKPOINT?"w-full flex-wrap":""} ${i?.content?"min-w-0 flex-1":"shrink-0"}`,children:[i?.content?s.jsx("div",{className:`min-w-0 ${O<m.TOOLBAR_FIRST_BREAKPOINT?"w-full":"flex-1"}`,children:i.content}):null,be?s.jsxs("div",{className:"flex items-center gap-1.5 shrink-0",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[s.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),s.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),s.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),s.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),s.jsx(ve.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Xe??d.length).toLocaleString()}),s.jsx(ve.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):i?.preContent?s.jsx("div",{className:"flex min-w-0 shrink-0 justify-start items-center",children:i.preContent}):null]}),s.jsxs("div",{className:`flex min-w-0 items-center justify-end ${O<m.TOOLBAR_FIRST_BREAKPOINT?"w-full":i?.content?"shrink-0":"flex-1"} ${O<m.TOOLBAR_SECOND_BREAKPOINT?"flex-col":"flex-row flex-wrap"} ${i?.postContent?"gap-2":""}`,children:[be&&i?.preContent?s.jsx("div",{className:"flex w-full justify-start items-center",children:i.preContent}):null,s.jsx("div",{className:`flex justify-end items-center min-w-0 ${O<m.TOOLBAR_SECOND_BREAKPOINT||O<m.TOOLBAR_FIRST_BREAKPOINT?"w-full":""}`,children:Be}),i?.postContent?s.jsx("div",{className:`flex justify-end items-center ${O<m.TOOLBAR_SECOND_BREAKPOINT?"w-full":""}`,children:i.postContent}):null]})]}):null,i?.showDivider?s.jsx("div",{className:"border-b pb-2 w-full dark:bg-black-800"}):null,Ct&&(Oe||ke)?s.jsx("div",{className:"flex justify-between items-center pb-4 dark:bg-black-800",children:s.jsxs("div",{className:"flex gap-2 items-center",children:[ke&&c?.renderSortItem?c.renderSortItem({sort:f?.columnSort,onRemoveSort:Ce,onSort:f?.onSort,tableHeaders:v,data:d,disabled:N}):null,Oe&&ke&&f?.columnSort?.field!==""?s.jsx("div",{className:"h-8 w-[1px] flex-shrink-0 bg-neutral-200"}):null,Oe?s.jsxs("div",{className:"flex gap-2 items-center",children:[(Ke||a?.onResetFilter)&&c?.renderActiveFilters&&c.renderActiveFilters({filters:a?.columnFilters,onRemoveFilter:Ss,onClearFilter:bs,onResetFilter:a?.onResetFilter,onFilter:a?.onFilter,tableHeaders:v,columnFilters:a?.columnFilters,modelName:G,enableMasterDataEnumSuggestions:X,noSpacing:!0,notionStyle:a?.notionStyle,context:a?.context,data:Q??d,agreementId:Y,enumSuggestionsExtraParams:Z,disabled:N}),c?.renderFilterButtons&&c.renderFilterButtons({onClearFilter:a?.onClearFilter,onClose:fs,modelName:G,enableMasterDataEnumSuggestions:X,defaultFilterColumn:yl,resetDefaultFilterColumn:()=>tt(null),column:jl,onFilter:a?.onFilter,tableHeaders:v,columnFilters:a?.columnFilters,data:Q??d,notionStyle:a?.notionStyle,context:a?.context,agreementId:Y,enumSuggestionsExtraParams:Z,disabled:N})]}):null]})}):null,pe&&Object.keys(pe).length?s.jsx(Rs.FloatingBar,{...pe}):null,!we&&be?s.jsxs("div",{className:"flex items-center gap-1.5 mb-2",children:[s.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-neutral-500 dark:text-neutral-400 flex-shrink-0","aria-hidden":!0,children:[s.jsx("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),s.jsx("path",{d:"M3 5v4c0 1.66 4.03 3 9 3s9-1.34 9-3V5"}),s.jsx("path",{d:"M3 9v4c0 1.66 4.03 3 9 3s9-1.34 9-3V9"}),s.jsx("path",{d:"M3 13v4c0 1.66 4.03 3 9 3s9-1.34 9-3v-4"})]}),s.jsx(ve.Typography,{size:"small",variant:"semibold",appearance:"title",children:(Xe??d.length).toLocaleString()}),s.jsx(ve.Typography,{size:"small",variant:"regular",appearance:"subtitle",children:"total records"})]}):!we&&i?.preContent?s.jsx("div",{className:"flex items-center mb-2",children:i.preContent}):null,s.jsx("div",{ref:Ae,className:`w-full ${se?"h-auto":le} rounded-lg relative border overflow-x-hidden`,style:{...se?{height:d?.length>0?`${(d?.length+1)*pl+4}px`:"350px"}:{height:Kl},...al},children:Yt?Et:s.jsxs(E.DndContext,{sensors:os,onDragEnd:ds,onDragStart:us,onDragCancel:hs,collisionDetection:E.closestCorners,children:[Et,$?js.createPortal(s.jsx(E.DragOverlay,{adjustScale:!0,dropAnimation:cs,children:s.jsx("table",{...yt(),className:"w-full text-sm text-left text-neutral-500 dark:text-neutral-200 bg-white dark:bg-black-700 table-auto border-collapse",children:s.jsxs("tbody",{...Rt(),className:"bg-transparent divide-y divide-neutral-200",children:[void Ot($),s.jsx(Es.Row,{row:$,index:A?.findIndex(e=>e.id===$.original.id)},$.original.id)]})})}),document.getElementById("full-screen-container")||document.body):null]})}),se&&c?.renderPagination?c.renderPagination(se):null,c?.renderMasterDataModal&&c.renderMasterDataModal({isVisible:!!j,onSelected:Jl,onClose:he,masterDataColumnName:j?.masterDataColumnName,masterDataFormula:j?.masterDataFormula,masterDataFilters:j?.masterDataFilters,masterDataName:j?.masterDataName,masterDataId:j?.masterDataName,showFilters:!0}),s.jsx(As.CurrencyDropdownPortal,{config:it,onClose:pt}),s.jsx(Ns.CellContextMenuPortal,{state:Vl,config:Ze,rowOptions:M,asyncRowOptionsFilter:a?.asyncRowOptionsFilter,checkedIds:ge?.checkedIds,rows:d,columns:v,onClose:Ft}),s.jsx(Is.PendingEditsFloatingBar,{pendingEditsCount:q,pendingEditsList:$l,rowsWithPendingEdits:zl,fieldOperationLoading:C,onClearAll:St,onSaveAll:bt,onScrollToCell:P})]})});exports.InfiniteTable=Bs;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|