@primereact/headless 11.0.0-rc.1 → 11.0.0-rc.2
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/accordion/index.mjs +1 -2
- package/animateonscroll/index.mjs +1 -2
- package/autocomplete/index.mjs +1 -2
- package/avatar/index.mjs +1 -2
- package/avatargroup/index.mjs +0 -1
- package/badge/index.mjs +1 -2
- package/breadcrumb/index.mjs +0 -1
- package/button/index.mjs +0 -1
- package/card/index.mjs +0 -1
- package/carousel/index.mjs +1 -2
- package/carousel/useCarousel.d.ts +28 -15
- package/checkbox/index.mjs +1 -2
- package/checkboxgroup/index.mjs +1 -2
- package/chip/index.mjs +1 -2
- package/collapsible/index.mjs +1 -2
- package/compare/index.mjs +1 -2
- package/contextmenu/index.mjs +1 -2
- package/contextmenu/submenu/index.mjs +0 -1
- package/datatable/features/index.mjs +8 -9
- package/datatable/features/useDataTableExport.d.ts +1 -1
- package/datatable/features/useDataTableKeyboard.d.ts +1 -1
- package/datatable/features/useDataTableSelection.d.ts +4 -4
- package/datatable/index.mjs +8 -9
- package/datatable/useDataTable.d.ts +2 -2
- package/datatable/utils/index.mjs +0 -1
- package/dataview/index.mjs +1 -2
- package/datepicker/index.mjs +1 -2
- package/dialog/index.mjs +1 -2
- package/dialog/useDialog.d.ts +12 -12
- package/divider/index.mjs +0 -1
- package/divider/useDivider.d.ts +1 -1
- package/dnd/index.mjs +1 -2
- package/drawer/index.mjs +1 -2
- package/fieldset/index.mjs +1 -2
- package/fileupload/index.mjs +1 -2
- package/fileupload/useFileUpload.d.ts +3 -0
- package/floatlabel/index.mjs +0 -1
- package/fluid/index.mjs +0 -1
- package/focustrap/index.mjs +1 -2
- package/gallery/index.mjs +1 -2
- package/gallery/item/index.mjs +1 -2
- package/gallery/useGallery.d.ts +17 -9
- package/iconfield/index.mjs +0 -1
- package/iftalabel/index.mjs +0 -1
- package/inplace/index.mjs +1 -2
- package/inplace/useInplace.d.ts +18 -6
- package/inputcolor/colorManager.d.ts +1 -1
- package/inputcolor/index.mjs +1 -2
- package/inputgroup/index.mjs +0 -1
- package/inputnumber/index.mjs +1 -2
- package/inputotp/index.mjs +1 -2
- package/inputpassword/index.mjs +1 -2
- package/inputtags/index.mjs +1 -2
- package/inputtext/index.mjs +1 -2
- package/knob/index.mjs +1 -2
- package/label/index.mjs +0 -1
- package/listbox/index.mjs +1 -2
- package/menu/checkboxitem/index.mjs +1 -2
- package/menu/index.mjs +1 -2
- package/menu/radioitem/index.mjs +1 -2
- package/menu/submenu/index.mjs +1 -2
- package/message/index.mjs +1 -2
- package/metergroup/index.mjs +1 -2
- package/navigationmenu/index.mjs +1 -2
- package/orderlist/index.mjs +1 -2
- package/orderlist/useOrderList.d.ts +1 -0
- package/organizationchart/index.mjs +1 -2
- package/overlaybadge/index.mjs +0 -1
- package/package.json +9 -7
- package/paginator/index.mjs +1 -2
- package/paginator/usePaginator.d.ts +1 -1
- package/panel/index.mjs +1 -2
- package/picklist/index.mjs +1 -2
- package/popover/index.mjs +1 -2
- package/portal/index.mjs +0 -1
- package/positioner/index.mjs +1 -2
- package/positioner/usePositioner.anchor.d.ts +2 -2
- package/positioner/usePositioner.fallback.d.ts +2 -2
- package/progressbar/index.mjs +1 -2
- package/progressspinner/index.mjs +1 -2
- package/radiobutton/index.mjs +1 -2
- package/radiobuttongroup/index.mjs +1 -2
- package/rating/index.mjs +1 -2
- package/scrollarea/index.mjs +1 -2
- package/scrollarea/useScrollArea.d.ts +1 -1
- package/select/index.mjs +1 -2
- package/sidebar/index.mjs +1 -2
- package/sidebar/useSidebar.d.ts +30 -4
- package/sidebar/useSidebarLayout.d.ts +4 -4
- package/sidebar/useSidebarMenuItem.d.ts +0 -1
- package/skeleton/index.mjs +0 -1
- package/slider/index.mjs +1 -2
- package/speeddial/index.mjs +1 -2
- package/splitter/index.mjs +1 -2
- package/stepper/index.mjs +1 -2
- package/styleclass/index.mjs +1 -2
- package/tabs/index.mjs +1 -2
- package/tag/index.mjs +0 -1
- package/terminal/index.mjs +1 -2
- package/textarea/index.mjs +1 -2
- package/timeline/index.mjs +0 -1
- package/toast/index.mjs +1 -2
- package/toaster/index.mjs +1 -2
- package/togglebutton/index.mjs +1 -2
- package/togglebuttongroup/index.mjs +1 -2
- package/toggleswitch/index.mjs +1 -2
- package/toolbar/index.mjs +0 -1
- package/tooltip/index.mjs +1 -2
- package/tooltipmanager/index.mjs +1 -2
- package/tree/index.mjs +1 -2
- package/tree/useTree.d.ts +4 -4
- package/tree/useTreeDragDrop.d.ts +2 -2
- package/tree/useTreeFlatten.d.ts +1 -1
- package/tree/useTreeSelection.d.ts +3 -3
- package/accordion/index.mjs.map +0 -1
- package/accordion/useAccordion.test.d.ts +0 -0
- package/animateonscroll/index.mjs.map +0 -1
- package/animateonscroll/useAnimateOnScroll.test.d.ts +0 -0
- package/autocomplete/index.mjs.map +0 -1
- package/autocomplete/useAutoComplete.test.d.ts +0 -0
- package/avatar/index.mjs.map +0 -1
- package/avatar/useAvatar.test.d.ts +0 -0
- package/avatargroup/index.mjs.map +0 -1
- package/badge/index.mjs.map +0 -1
- package/badge/useBadge.test.d.ts +0 -0
- package/breadcrumb/index.mjs.map +0 -1
- package/breadcrumb/useBreadcrumb.test.d.ts +0 -0
- package/button/index.mjs.map +0 -1
- package/button/useButton.test.d.ts +0 -0
- package/card/index.mjs.map +0 -1
- package/card/useCard.test.d.ts +0 -0
- package/carousel/index.mjs.map +0 -1
- package/carousel/useCarousel.test.d.ts +0 -0
- package/checkbox/index.mjs.map +0 -1
- package/checkbox/useCheckbox.test.d.ts +0 -0
- package/checkboxgroup/index.mjs.map +0 -1
- package/checkboxgroup/useCheckboxGroup.test.d.ts +0 -0
- package/chip/index.mjs.map +0 -1
- package/chip/useChip.test.d.ts +0 -0
- package/collapsible/index.mjs.map +0 -1
- package/collapsible/useCollapsible.test.d.ts +0 -0
- package/compare/index.mjs.map +0 -1
- package/compare/useCompare.test.d.ts +0 -0
- package/contextmenu/index.mjs.map +0 -1
- package/contextmenu/submenu/index.mjs.map +0 -1
- package/contextmenu/useContextMenu.test.d.ts +0 -0
- package/datatable/features/index.mjs.map +0 -1
- package/datatable/index.mjs.map +0 -1
- package/datatable/utils/index.mjs.map +0 -1
- package/dataview/index.mjs.map +0 -1
- package/dataview/useDataView.test.d.ts +0 -0
- package/datepicker/index.mjs.map +0 -1
- package/datepicker/useDatePicker.test.d.ts +0 -0
- package/dialog/index.mjs.map +0 -1
- package/dialog/useDialog.test.d.ts +0 -0
- package/divider/index.mjs.map +0 -1
- package/divider/useDivider.test.d.ts +0 -0
- package/dnd/index.mjs.map +0 -1
- package/drawer/index.mjs.map +0 -1
- package/drawer/useDrawer.test.d.ts +0 -0
- package/fieldset/index.mjs.map +0 -1
- package/fieldset/useFieldset.test.d.ts +0 -0
- package/fileupload/index.mjs.map +0 -1
- package/fileupload/useFileUpload.test.d.ts +0 -0
- package/floatlabel/index.mjs.map +0 -1
- package/floatlabel/useFloatLabel.test.d.ts +0 -0
- package/fluid/index.mjs.map +0 -1
- package/fluid/useFluid.test.d.ts +0 -0
- package/focustrap/index.mjs.map +0 -1
- package/focustrap/useFocusTrap.test.d.ts +0 -0
- package/gallery/index.mjs.map +0 -1
- package/gallery/item/index.mjs.map +0 -1
- package/gallery/useGallery.test.d.ts +0 -0
- package/iconfield/index.mjs.map +0 -1
- package/iconfield/useIconField.test.d.ts +0 -0
- package/iftalabel/index.mjs.map +0 -1
- package/iftalabel/useIftaLabel.test.d.ts +0 -0
- package/inplace/index.mjs.map +0 -1
- package/inplace/useInplace.test.d.ts +0 -0
- package/inputcolor/index.mjs.map +0 -1
- package/inputcolor/useInputColor.test.d.ts +0 -0
- package/inputgroup/index.mjs.map +0 -1
- package/inputgroup/useInputGroup.test.d.ts +0 -0
- package/inputnumber/index.mjs.map +0 -1
- package/inputnumber/useInputNumber.test.d.ts +0 -0
- package/inputotp/index.mjs.map +0 -1
- package/inputotp/useInputOtp.test.d.ts +0 -0
- package/inputpassword/index.mjs.map +0 -1
- package/inputpassword/useInputPassword.test.d.ts +0 -0
- package/inputtags/index.mjs.map +0 -1
- package/inputtags/useInputTags.test.d.ts +0 -0
- package/inputtext/index.mjs.map +0 -1
- package/inputtext/useInputText.test.d.ts +0 -0
- package/knob/index.mjs.map +0 -1
- package/knob/useKnob.test.d.ts +0 -0
- package/label/index.mjs.map +0 -1
- package/label/useLabel.test.d.ts +0 -0
- package/listbox/index.mjs.map +0 -1
- package/listbox/useListbox.test.d.ts +0 -0
- package/menu/checkboxitem/index.mjs.map +0 -1
- package/menu/index.mjs.map +0 -1
- package/menu/radioitem/index.mjs.map +0 -1
- package/menu/submenu/index.mjs.map +0 -1
- package/menu/useMenu.test.d.ts +0 -0
- package/message/index.mjs.map +0 -1
- package/message/useMessage.test.d.ts +0 -0
- package/metergroup/index.mjs.map +0 -1
- package/metergroup/useMeterGroup.test.d.ts +0 -0
- package/navigationmenu/index.mjs.map +0 -1
- package/navigationmenu/useNavigationMenu.test.d.ts +0 -0
- package/orderlist/index.mjs.map +0 -1
- package/organizationchart/index.mjs.map +0 -1
- package/organizationchart/useOrganizationChart.test.d.ts +0 -0
- package/overlaybadge/index.mjs.map +0 -1
- package/overlaybadge/useOverlayBadge.test.d.ts +0 -0
- package/paginator/index.mjs.map +0 -1
- package/paginator/usePaginator.test.d.ts +0 -0
- package/panel/index.mjs.map +0 -1
- package/panel/usePanel.test.d.ts +0 -0
- package/picklist/index.mjs.map +0 -1
- package/popover/index.mjs.map +0 -1
- package/popover/usePopover.test.d.ts +0 -0
- package/portal/index.mjs.map +0 -1
- package/portal/usePortal.test.d.ts +0 -0
- package/positioner/index.mjs.map +0 -1
- package/positioner/usePositioner.test.d.ts +0 -0
- package/progressbar/index.mjs.map +0 -1
- package/progressbar/useProgressBar.test.d.ts +0 -0
- package/progressspinner/index.mjs.map +0 -1
- package/radiobutton/index.mjs.map +0 -1
- package/radiobutton/useRadioButton.test.d.ts +0 -0
- package/radiobuttongroup/index.mjs.map +0 -1
- package/radiobuttongroup/useRadioButtonGroup.test.d.ts +0 -0
- package/rating/index.mjs.map +0 -1
- package/scrollarea/index.mjs.map +0 -1
- package/scrollarea/useScrollArea.test.d.ts +0 -0
- package/select/index.mjs.map +0 -1
- package/select/useSelect.test.d.ts +0 -1
- package/sidebar/index.mjs.map +0 -1
- package/skeleton/index.mjs.map +0 -1
- package/skeleton/useSkeleton.test.d.ts +0 -0
- package/slider/index.mjs.map +0 -1
- package/slider/useSlider.test.d.ts +0 -0
- package/speeddial/index.mjs.map +0 -1
- package/speeddial/useSpeedDial.test.d.ts +0 -0
- package/splitter/index.mjs.map +0 -1
- package/splitter/useSplitter.test.d.ts +0 -0
- package/stepper/index.mjs.map +0 -1
- package/stepper/useStepper.test.d.ts +0 -0
- package/styleclass/index.mjs.map +0 -1
- package/styleclass/useStyleClass.test.d.ts +0 -0
- package/tabs/index.mjs.map +0 -1
- package/tabs/useTabs.test.d.ts +0 -0
- package/tag/index.mjs.map +0 -1
- package/tag/useTag.test.d.ts +0 -0
- package/terminal/index.mjs.map +0 -1
- package/terminal/useTerminal.test.d.ts +0 -0
- package/textarea/index.mjs.map +0 -1
- package/textarea/useTextarea.test.d.ts +0 -0
- package/timeline/index.mjs.map +0 -1
- package/timeline/useTimeline.test.d.ts +0 -0
- package/toast/index.mjs.map +0 -1
- package/toast/useToast.test.d.ts +0 -0
- package/toaster/index.mjs.map +0 -1
- package/toaster/useToaster.test.d.ts +0 -0
- package/togglebutton/index.mjs.map +0 -1
- package/togglebutton/useToggle.test.d.ts +0 -0
- package/togglebuttongroup/index.mjs.map +0 -1
- package/togglebuttongroup/useToggleButtonGroup.test.d.ts +0 -0
- package/toggleswitch/index.mjs.map +0 -1
- package/toggleswitch/useToggleSwitch.test.d.ts +0 -0
- package/toolbar/index.mjs.map +0 -1
- package/toolbar/useToolbar.test.d.ts +0 -0
- package/tooltip/index.mjs.map +0 -1
- package/tooltip/useTooltip.test.d.ts +0 -0
- package/tooltipmanager/index.mjs.map +0 -1
- package/tooltipmanager/useTooltipManager.test.d.ts +0 -0
- package/tree/index.mjs.map +0 -1
- package/tree/useTree.test.d.ts +0 -0
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
${p} > thead > tr > th:nth-child(${
|
|
3
|
-
${p} > tbody > tr > td:nth-child(${
|
|
4
|
-
${p} > tfoot > tr > td:nth-child(${
|
|
5
|
-
width: ${
|
|
6
|
-
max-width: ${
|
|
1
|
+
import*as U from"react";var we=Object.freeze({});function Ke(e){let{reorderableColumns:t=!1}=e,a=U.useRef(-1),l=U.useRef(null),o=U.useRef(-1),s=U.useRef(0),r=U.useRef(null),n=U.useRef(null),T=U.useRef(null),h=U.useRef(new Map),E=U.useRef(-1),M=U.useRef(null),C=U.useCallback((R,b)=>(h.current.set(R,b),()=>{h.current.delete(R),E.current===R&&(E.current=-1,M.current=null)}),[]),m=U.useCallback((R,b)=>{let k=E.current,L=M.current;k===R&&L===b||(k!==-1&&k!==R&&h.current.get(k)?.(null),h.current.get(R)?.({side:b}),E.current=R,M.current=b)},[]),v=U.useCallback(()=>{let R=E.current;R!==-1&&(h.current.get(R)?.(null),E.current=-1,M.current=null)},[]),u=U.useCallback((R,b)=>{t&&(a.current=b,l.current=R.currentTarget,R.dataTransfer.effectAllowed="move",R.dataTransfer.setData("text/plain",String(b)))},[t]),c=U.useCallback((R,b)=>{if(!t||a.current===-1||a.current===b)return;R.preventDefault(),R.dataTransfer.dropEffect="move";let L=R.currentTarget.getBoundingClientRect(),A=R.clientX>L.left+L.width/2?"end":"start";s.current=A==="end"?1:-1,o.current=b,m(b,A);let N=r.current,z=n.current,w=T.current;if(N&&z&&w){let S=w.getBoundingClientRect(),O=N.offsetHeight,D=N.offsetWidth,P=L.left-S.left,W=A==="end"?P+L.width-Math.ceil(D/2):P-Math.ceil(D/2);N.style.top=L.top-S.top-O+1+"px",N.style.left=W+"px",z.style.top=L.top-S.top+L.height+"px",z.style.left=W+"px",N.style.display="block",z.style.display="block"}},[t,m]),f=U.useCallback((R,b)=>{!t||a.current===-1||(R.preventDefault(),o.current=b)},[t]),x=U.useCallback(()=>{r.current&&(r.current.style.display="none"),n.current&&(n.current.style.display="none")},[]),K=U.useCallback(R=>{},[t]),F=U.useCallback((R,b)=>{if(!t||a.current===-1)return;R.preventDefault();let k=a.current,L=b,A=s.current,N=k!==L;N&&(L-k===1&&A===-1||L-k===-1&&A===1)&&(N=!1),N&&(L<k&&A===1&&L++,L>k&&A===-1&&L--,e.onColumnReorder?.({originalEvent:R.nativeEvent,dragIndex:k,dropIndex:L})),x(),v(),a.current=-1,o.current=-1,s.current=0,l.current=null},[t,e.onColumnReorder,v,x]),i=U.useCallback(R=>{t&&(x(),v(),a.current=-1,o.current=-1,s.current=0,l.current=null)},[t,v,x]),p=U.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder",style:{cursor:"grab",userSelect:"none"}}),[]),d=U.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder-indicator-up",ref:R=>{r.current=R}}),[]),g=U.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder-indicator-down",ref:R=>{n.current=R}}),[]),y=U.useCallback(R=>{T.current=R},[]),I=U.useMemo(()=>({onDragStart:u,onDragOver:c,onDragEnter:f,onDragLeave:K,onDrop:F,onDragEnd:i,registerDropTarget:C,getColumnReorderHandleProps:p,getColumnReorderIndicatorUpProps:d,getColumnReorderIndicatorDownProps:g}),[u,c,f,K,F,i,C,p,d,g]);return{state:we,exposes:I,registerRoot:y}}import*as $ from"react";var Fe=Object.freeze({}),ee=15;function Oe(e){let{resizableColumns:t=!1,columnResizeMode:a="fit"}=e,l=$.useRef(null),o=$.useRef(null),s=$.useCallback(u=>{o.current=u},[]),r=$.useRef(null),n=$.useCallback((u,c)=>{if(typeof document>"u")return;if(!r.current){let K=document.createElement("style");K.setAttribute("data-primereact-datatable-resize",""),document.head.appendChild(K),r.current=K}let f=u.getAttribute("data-resize-id");f||(f=`dt-resize-${Math.random().toString(36).slice(2,9)}`,u.setAttribute("data-resize-id",f));let x=c.map((K,F)=>{let i=F+1,p=`table[data-resize-id="${f}"]`;return`
|
|
2
|
+
${p} > thead > tr > th:nth-child(${i}),
|
|
3
|
+
${p} > tbody > tr > td:nth-child(${i}),
|
|
4
|
+
${p} > tfoot > tr > td:nth-child(${i}) {
|
|
5
|
+
width: ${K}px !important;
|
|
6
|
+
max-width: ${K}px !important;
|
|
7
7
|
}
|
|
8
8
|
`}).join(`
|
|
9
|
-
`);
|
|
10
|
-
`);if(typeof document=="undefined"||typeof URL=="undefined"||typeof Blob=="undefined")return;let h=new Blob([g],{type:"text/csv;charset=utf-8;"}),S=URL.createObjectURL(h),s=document.createElement("a");s.setAttribute("href",S),s.setAttribute("download",`${a}.csv`),s.style.display="none",document.body.appendChild(s);try{s.click()}finally{s.parentNode===document.body&&document.body.removeChild(s),URL.revokeObjectURL(S)}},[e.data,e.dataKey,e.selectedKeys]),r=ie.useMemo(()=>({exportCSV:t}),[t]);return{state:qe,exposes:r}}import{useFilter as Qe}from"@primereact/hooks/use-filter";import*as _ from"react";var Ze={Contains:"contains",NotContains:"notContains",StartsWith:"startsWith",EndsWith:"endsWith",Equals:"equals",NotEquals:"notEquals",In:"in",Between:"between",Lt:"lt",Lte:"lte",Gt:"gt",Gte:"gte",DateIs:"dateIs",DateIsNot:"dateIsNot",DateBefore:"dateBefore",DateAfter:"dateAfter",Custom:"custom"},et={And:"and",Or:"or"},xe=Object.freeze({});function tt(e){var X,$,Z,q;let{data:t=[],lazy:r=!1,globalFilterFields:i=[]}=e,c=e.filters!==void 0,[l,a]=_.useState((X=e.defaultFilters)!=null?X:xe),n=c?($=e.filters)!=null?$:xe:l;_.useEffect(()=>{c&&e.filters&&a(e.filters)},[c,e.filters]);let f=(Z=e.globalFilter)!=null?Z:null,M=(q=e.filterDelay)!=null?q:0,[E,d]=_.useState(n),[g,h]=_.useState(f);_.useEffect(()=>{if(M<=0){d(n),h(f);return}let P=setTimeout(()=>{d(n),h(f)},M);return()=>clearTimeout(P)},[n,f,M]);let S=M>0?E:n,s=M>0?g:f,b=_.useCallback((P,w)=>{var O;c||a(w),(O=e.onFilter)==null||O.call(e,{originalEvent:P,filters:w})},[c,e.onFilter]),m=_.useCallback((P,w,O)=>{let K=W(N({},n),{[w]:O});b(P,K)},[n,b]),D=_.useCallback((P,w)=>{var A,z,Y,V;let O=n[w],K=N({},n);if(O&&typeof O=="object"&&O!==null&&"constraints"in O){let te=O;K[w]={operator:(A=te.operator)!=null?A:"and",constraints:[{value:null,matchMode:(V=(Y=(z=te.constraints)==null?void 0:z[0])==null?void 0:Y.matchMode)!=null?V:"contains"}]}}else O&&typeof O=="object"&&O!==null&&"matchMode"in O?K[w]={value:null,matchMode:O.matchMode}:delete K[w];b(P,K)},[n,b]),L=_.useCallback(P=>{b(P,{})},[b]),U=_.useCallback((P,w,O="contains")=>{var z,Y;let K=n[w],A=N({},n);if(K&&typeof K=="object"&&K!==null&&"constraints"in K){let V=K,te=[...(z=V.constraints)!=null?z:[],{value:null,matchMode:O}];A[w]=W(N({},V),{constraints:te})}else{let V=K&&typeof K=="object"&&"value"in K?K.value:null,te=K&&typeof K=="object"&&"matchMode"in K&&(Y=K.matchMode)!=null?Y:"contains";A[w]={operator:"and",constraints:[{value:V,matchMode:te},{value:null,matchMode:O}]}}b(P,A)},[n,b]),T=_.useCallback((P,w,O)=>{var V;let K=n[w];if(!K||typeof K!="object"||!("constraints"in K))return;let A=K,z=((V=A.constraints)!=null?V:[]).filter((te,se)=>se!==O);if(z.length===0)return;let Y=W(N({},n),{[w]:W(N({},A),{constraints:z})});b(P,Y)},[n,b]),p=_.useCallback((P,w,O)=>{var z;let K=n[w],A=N({},n);if(K&&typeof K=="object"&&K!==null&&"constraints"in K)A[w]=W(N({},K),{operator:O});else{let Y=K&&typeof K=="object"&&"value"in K?K.value:null,V=K&&typeof K=="object"&&"matchMode"in K&&(z=K.matchMode)!=null?z:"contains";A[w]={operator:O,constraints:[{value:Y,matchMode:V}]}}b(P,A)},[n,b]),C=_.useCallback((P,w,O,K,A)=>{var se;let z=n[w];if(!z||typeof z!="object"||!("constraints"in z))return;let Y=z,V=[...(se=Y.constraints)!=null?se:[]];O>=0&&O<V.length&&(V[O]={value:K,matchMode:A!=null?A:V[O].matchMode});let te=W(N({},n),{[w]:W(N({},Y),{constraints:V})});b(P,te)},[n,b]),o=_.useCallback((P,w,O,K)=>{var te;let A=n[w];if(!A||typeof A!="object"||!("constraints"in A))return;let z=A,Y=[...(te=z.constraints)!=null?te:[]];O>=0&&O<Y.length&&(Y[O]=W(N({},Y[O]),{matchMode:K}));let V=W(N({},n),{[w]:W(N({},z),{constraints:Y})});b(P,V)},[n,b]),R=_.useCallback(P=>{var O;let w=n[P];return w?typeof w=="object"&&w!==null&&"constraints"in w?((O=w.constraints)!=null?O:[]).some(A=>A.value!==null&&A.value!==void 0&&A.value!==""):typeof w=="object"&&w!==null&&"value"in w?w.value!==null&&w.value!==void 0&&w.value!=="":w!=null&&w!=="":!1},[n]),u=_.useCallback(()=>f?!0:Object.keys(n).some(P=>R(P)),[n,f,R]),y=_.useCallback(P=>{let w=n[P];return w?typeof w=="object"&&w!==null?w:{value:w,matchMode:"contains"}:{value:null,matchMode:"contains"}},[n]),v=_.useMemo(()=>{var w,O;let P=[];for(let K of Object.keys(S)){if(K==="global")continue;let A=S[K];if(A){if(typeof A=="object"&&A!==null){let z=A;if(z.constraints&&z.constraints.length>0){P.push({field:K,operator:(w=z.operator)!=null?w:"and",constraints:z.constraints.map(Y=>{var V;return{value:Y.value,matchMode:(V=Y.matchMode)!=null?V:"contains"}})});continue}if("value"in z||"matchMode"in z){P.push({field:K,value:z.value,matchMode:(O=z.matchMode)!=null?O:"contains"});continue}}P.push({field:K,value:A,matchMode:"contains"})}}return s&&i.length>0&&P.push({field:i,value:s,matchMode:"contains"}),P},[S,s,i]),k=Qe({data:t,rules:v,lazy:r}).filteredData,x=_.useMemo(()=>({filters:n,globalFilter:f}),[n,f]),I=_.useCallback((P,w="row")=>N({"data-scope":"datatable","data-part":"filter","data-display":w},R(P)?{"data-active":""}:void 0),[R]),H=_.useMemo(()=>({setFieldFilter:m,clearFieldFilter:D,clearAllFilters:L,addConstraint:U,removeConstraint:T,setOperator:p,setConstraintValue:C,setConstraintMatchMode:o,hasFilterValue:R,isFiltered:u,getFieldFilterMeta:y,getFilterRootProps:I}),[m,D,L,U,T,p,C,o,R,u,y,I]);return{filteredData:k,state:x,exposes:H}}import{resolveFieldData as nt}from"@primeuix/utils";import*as ue from"react";function rt(e){let{data:t,groupField:r}=e,i=ue.useMemo(()=>{if(!r)return;let a=new Map;if(t.length===0)return a;let n=[],f,M=0;for(let E=0;E<t.length;E++){let d=nt(t[E],r);E===0?(f=d,M=0):d!==f&&(n.push({start:M,end:E-1,value:f}),f=d,M=E)}n.push({start:M,end:t.length-1,value:f});for(let E=0;E<n.length;E++){let d=n[E],g=d.end-d.start+1;for(let h=d.start;h<=d.end;h++)a.set(h,{isGroupStart:h===d.start,isGroupEnd:h===d.end,groupValue:d.value,groupCount:g,groupIndex:E})}return a},[t,r]),c=ue.useMemo(()=>({}),[]);return{state:ue.useMemo(()=>({groupMetaMap:i}),[i]),exposes:c}}import*as ne from"react";function at(e){var U,T,p,C,o;let{data:t,lazy:r,paginator:i}=e,c=e.page!==void 0,l=e.rows!==void 0,[a,n]=ne.useState((U=e.defaultPage)!=null?U:0),[f,M]=ne.useState((T=e.defaultRows)!=null?T:10),E=c?(p=e.page)!=null?p:0:a,d=l?(C=e.rows)!=null?C:10:f,g=r?(o=e.totalRecords)!=null?o:0:t.length,h=Math.max(1,Math.ceil(g/d)),S=E*d;ne.useEffect(()=>{!c&&E>=h&&h>0&&n(h-1)},[h,E,c]);let s=ne.useMemo(()=>!i||r?t:t.slice(S,S+d),[t,i,r,S,d]),b=ne.useCallback((R,u)=>{var v;if(u<0||u>=h)return;c||n(u);let y=u*d;(v=e.onPageChange)==null||v.call(e,{originalEvent:R,page:u,rows:d,first:y,pageCount:h})},[h,d,c,e.onPageChange]),m=ne.useCallback((R,u)=>{var v;if(u<=0)return;l||M(u),c||n(0);let y=Math.max(1,Math.ceil(g/u));(v=e.onPageChange)==null||v.call(e,{originalEvent:R,page:0,rows:u,first:0,pageCount:y})},[g,l,c,e.onPageChange]),D=ne.useMemo(()=>({page:E,rows:d,first:S,pageCount:h,totalRecords:g,onPageChange:b,onRowsChange:m}),[E,d,S,h,g,b,m]),L=ne.useMemo(()=>({page:E,rows:d,first:S,pageCount:h,totalRecords:g}),[E,d,S,h,g]);return{paginatedData:s,state:L,exposes:D}}import*as Q from"react";var lt=Object.freeze({}),pe="data-dragpoint-top",he="data-dragpoint-bottom";function de(e){e&&(e.removeAttribute(pe),e.removeAttribute(he))}function ot(e){let{reorderableRows:t=!1}=e,r=Q.useRef(-1),i=Q.useRef(-1),c=Q.useRef(null),l=Q.useCallback((S,s)=>{t&&(r.current=s,S.dataTransfer.effectAllowed="move",S.dataTransfer.setData("text/plain",String(s)))},[t]),a=Q.useCallback((S,s)=>{if(!t||r.current===-1||r.current===s)return;S.preventDefault(),S.dataTransfer.dropEffect="move";let b=S.currentTarget,m=b.getBoundingClientRect(),D=m.top+m.height/2;c.current&&c.current!==b&&de(c.current),S.clientY<D?(b.setAttribute(pe,""),b.removeAttribute(he),i.current=s):(b.setAttribute(he,""),b.removeAttribute(pe),i.current=s+1),c.current=b},[t]),n=Q.useCallback(S=>{if(!t)return;let s=S.currentTarget;de(s),c.current===s&&(c.current=null)},[t]),f=Q.useCallback(S=>{var D,L;if(!t||r.current===-1)return;S.preventDefault();let s=(D=e.data)!=null?D:[],b=r.current,m=i.current;if(m>b&&(m-=1),m!==b&&m>=0&&m<=s.length){let U=[...s],[T]=U.splice(b,1);U.splice(m,0,T),(L=e.onRowReorder)==null||L.call(e,{originalEvent:S.nativeEvent,dragIndex:b,dropIndex:m,value:U})}de(c.current),c.current=null,r.current=-1,i.current=-1},[t,e.data,e.onRowReorder]),M=Q.useCallback(()=>{t&&(de(c.current),c.current=null,r.current=-1,i.current=-1)},[t]),E=Q.useCallback(S=>{let s=S.currentTarget.closest("tr");s&&s.setAttribute("data-drag-source","true")},[]),d=Q.useCallback(S=>{let s=S.currentTarget.closest("tr");s&&s.removeAttribute("data-drag-source")},[]),g=Q.useCallback(()=>({"data-scope":"datatable","data-part":"row-reorder",style:{cursor:"grab",userSelect:"none",touchAction:"none"},onPointerDown:E,onPointerUp:d}),[E,d]),h=Q.useMemo(()=>({onDragStart:l,onDragOver:a,onDragEnter:a,onDragLeave:n,onDrop:f,onDragEnd:M,getRowReorderHandleProps:g}),[l,a,n,f,M,g]);return{state:lt,exposes:h}}import*as B from"react";var Ee=Object.freeze({});function Fe(e){let t=[];if(e.children)for(let r of e.children)t.push(r.key),t.push(...Fe(r));return t}function fe(e,t){for(let r of e){if(r.key===t)return r;if(r.children){let i=fe(r.children,t);if(i)return i}}return null}function st(e,t){let r=[];function i(c,l){for(let a of c){if(a.key===t)return r.push(...l),!0;if(a.children&&i(a.children,[...l,a.key]))return!0}return!1}return i(e,[]),r}function Ke(e,t){return!e.children||e.children.length===0?!0:e.children.every(r=>t[r.key]===!0&&Ke(r,t))}function Le(e,t){return e.children?e.children.some(r=>t[r.key]===!0||Le(r,t)):!1}function ct(e,t,r){let i=st(e,t);for(let c=i.length-1;c>=0;c--){let l=i[c],a=fe(e,l);a&&Ke(a,r)?r[l]=!0:delete r[l]}}function it(e){var T;let{data:t}=e,r=B.useRef(null),i=e.selectedKeys!==void 0,[c,l]=B.useState(()=>{var p,C;return(C=(p=e.selectedKeys)!=null?p:e.defaultSelectedKeys)!=null?C:Ee}),a=i?(T=e.selectedKeys)!=null?T:Ee:c;B.useEffect(()=>{var p;i&&l((p=e.selectedKeys)!=null?p:Ee)},[i,e.selectedKeys]);let n=B.useCallback((p,C)=>e.dataKey&&p?String(p[e.dataKey]):C,[e.dataKey]),f=B.useCallback(p=>a[String(p)]===!0,[a]),M=e.treeMode?e.rawTreeData:void 0,E=B.useMemo(()=>{let p=new Map;for(let C=0;C<t.length;C++)p.set(String(n(t[C],C)),C);return p},[t,n]),d=B.useCallback((p,C,o)=>{var v,F,k;let R=String(C),u,y=!0;if(o==="radio")u={[R]:!0};else if(o==="single")u=a[R]?{}:{[R]:!0};else if(p.shiftKey===!0&&!M&&r.current!==null&&r.current!==R){let I=r.current,H=(v=E.get(I))!=null?v:-1,X=(F=E.get(R))!=null?F:-1;if(H>=0&&X>=0){let $=Math.min(H,X),Z=Math.max(H,X);u=N({},a);for(let q=$;q<=Z;q++){let P=String(n(t[q],q));u[P]=!0}}else u=W(N({},a),{[R]:!0});y=!1}else{u=N({},a);let I=!u[R];if(I?u[R]=!0:delete u[R],M){let H=fe(M,R);if(H){let X=Fe(H);for(let $ of X)I?u[$]=!0:delete u[$]}ct(M,R,u)}}y&&o!=="radio"&&(r.current=R),i||l(u),(k=e.onSelectionChange)==null||k.call(e,{originalEvent:p,value:u,type:o==="radio"?"radio":o==="single"?"row":"checkbox"})},[t,n,a,i,e.onSelectionChange,M,E]),g=B.useCallback(p=>{let C=[];for(let o of p)C.push(o.key),o.children&&C.push(...g(o.children));return C},[]),h=B.useMemo(()=>{if(M){let C=g(M);if(C.length===0)return{all:!1,some:!1};let o=C.reduce((R,u)=>a[u]===!0?R+1:R,0);return{all:o===C.length,some:o>0&&o<C.length}}if(t.length===0)return{all:!1,some:!1};let p=0;for(let C=0;C<t.length;C++){let o=String(n(t[C],C));a[o]===!0&&p++}return{all:p===t.length,some:p>0&&p<t.length}},[t,M,a,n,g]),S=B.useCallback(()=>h.all,[h]),s=B.useCallback(()=>h.some,[h]),b=B.useCallback(p=>{var o;let C;if(S())C={};else if(C={},M){let R=g(M);for(let u of R)C[u]=!0}else t.forEach((R,u)=>{let y=String(n(R,u));C[y]=!0});i||l(C),(o=e.onSelectionChange)==null||o.call(e,{originalEvent:p,value:C,type:"all"})},[t,M,S,i,n,g,e.onSelectionChange]),m=B.useCallback((p,C)=>{var x;let{selectionMode:o,metaKeySelection:R}=e;if(!o)return;let u=String(C),y=p.metaKey||p.ctrlKey,v=p.shiftKey,F,k=!0;if(o==="single")F=a[u]?{}:{[u]:!0};else if(R)if(v&&r.current!==null&&r.current!==u){let I=r.current,H=-1,X=-1;for(let $=0;$<t.length;$++){let Z=String(n(t[$],$));if(Z===I&&(H=$),Z===u&&(X=$),H>=0&&X>=0)break}if(H>=0&&X>=0){let $=Math.min(H,X),Z=Math.max(H,X);F=y?N({},a):{};for(let q=$;q<=Z;q++){let P=String(n(t[q],q));F[P]=!0}}else F=W(N({},a),{[u]:!0});k=!1}else y?(F=N({},a),F[u]?delete F[u]:F[u]=!0):F={[u]:!0};else F=N({},a),F[u]?delete F[u]:F[u]=!0;k&&(r.current=u),i||l(F),(x=e.onSelectionChange)==null||x.call(e,{originalEvent:p,value:F,type:"row"})},[t,n,a,i,e.selectionMode,e.metaKeySelection,e.onSelectionChange]),D=B.useCallback(p=>{if(!M)return!1;let C=fe(M,String(p));return!C||!C.children||C.children.length===0?!1:!a[String(p)]&&Le(C,a)},[M,a]),L=B.useMemo(()=>({isSelected:f,isPartiallySelected:D,toggleSelection:d,toggleAll:b,isAllSelected:S,isSomeSelected:s,onRowClick:m}),[f,D,d,b,S,s,m]),U=B.useMemo(()=>({selectedKeys:a}),[a]);return{getRowKey:n,state:U,exposes:L}}import*as ee from"react";import{localeComparator as ut,resolveFieldData as be,sort as Me}from"@primeuix/utils";var Te=ut(),ge=(e,t,r,i=1)=>Me(e,t,r,Te,i),Ce=(e,t,r,i=1)=>!t||r===0?e:[...e].sort((c,l)=>Me(be(c,t),be(l,t),r,Te,i)),Se=(e,t,r=1)=>!t||t.length===0?e:[...e].sort((i,c)=>{for(let l of t){let a=Me(be(i,l.field),be(c,l.field),l.order,Te,r);if(a!==0)return a}return 0});function dt(e){var C;let{data:t,lazy:r}=e,i=e.sortField!==void 0,c=e.multiSortMeta!==void 0,[l,a]=ee.useState(e.defaultSortField),[n,f]=ee.useState(e.defaultSortOrder),[M,E]=ee.useState(e.defaultMultiSortMeta),d=i?e.sortField:l,g=i?e.sortOrder:n,h=c?e.multiSortMeta:M,S=ee.useCallback(o=>h&&h.length>0?h.some(R=>R.field===o):d===o&&g!==0,[d,g,h]),s=ee.useCallback(o=>{var R;if(h&&h.length>0){let u=h.find(y=>y.field===o);return(R=u==null?void 0:u.order)!=null?R:0}return d===o&&g!=null?g:0},[d,g,h]),b=ee.useCallback(o=>h&&h.length>0?h.findIndex(R=>R.field===o):-1,[h]),m=ee.useCallback((o,R,u)=>{var F,k;let y=s(R),v;if(y===0?v=1:y===1?v=-1:v=e.removableSort?0:1,u){let x=[...h!=null?h:[]],I=x.findIndex(H=>H.field===R);v===0?I!==-1&&x.splice(I,1):I!==-1?x[I]={field:R,order:v}:x.push({field:R,order:v}),c||E(x),(F=e.onSortChange)==null||F.call(e,{originalEvent:o,field:R,order:v,multiSortMeta:x})}else i||(a(v===0?void 0:R),f(v)),c||E(void 0),(k=e.onSortChange)==null||k.call(e,{originalEvent:o,field:R,order:v,multiSortMeta:void 0})},[s,e.removableSort,e.onSortChange,i,c,h]),D=(C=e.nullSortOrder)!=null?C:1,L=ee.useMemo(()=>r?t:h&&h.length>0?Se(t,h,D):d&&g!=null&&g!==0?Ce(t,d,g,D):t,[t,r,d,g,h,D]),U=ee.useCallback(o=>{let R=S(o),u=s(o),y=R?u===1?"ascending":"descending":"",v=k=>{if(!o)return;let x=k.metaKey||k.ctrlKey;m(k,o,x)},F=k=>{(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),v(k))};return W(N({"data-scope":"datatable","data-part":"sort"},R?{"data-sorted":"","data-sort-order":u===1?"asc":"desc"}:{"data-unsorted":""}),{role:"button",tabIndex:0,"aria-label":`Sort by ${o}${y?` ${y}`:""}`,"aria-sort":R?u===1?"ascending":"descending":"none",onClick:v,onKeyDown:F})},[S,s,m]),T=ee.useMemo(()=>({onSort:m,isSorted:S,getSortOrder:s,getSortIndex:b,getSortProps:U}),[m,S,s,b,U]),p=ee.useMemo(()=>({sortField:d,sortOrder:g,multiSortMeta:h}),[d,g,h]);return{sortedData:L,state:p,exposes:T}}import{BUILT_IN_MATCHERS as ft,getGlobalMatchers as bt}from"@primereact/hooks/use-filter";import{resolveFieldData as le}from"@primeuix/utils";import*as oe from"react";function Pe(e,t,r,i){var l;let c=(l=ft[e])!=null?l:bt()[e];return c?c(t,r,i):!0}var Re=100;function Ie(e,t,r,i=0){return i>=Re?e:[...e].sort((l,a)=>{let n=l.data?le(l.data,t):void 0,f=a.data?le(a.data,t):void 0;return ge(n,f,r)}).map(l=>{var a;return(a=l.children)!=null&&a.length?W(N({},l),{children:Ie(l.children,t,r,i+1)}):l})}function Oe(e,t,r=0){return r>=Re?e:[...e].sort((c,l)=>{for(let a of t){let n=c.data?le(c.data,a.field):void 0,f=l.data?le(l.data,a.field):void 0,M=ge(n,f,a.order);if(M!==0)return M}return 0}).map(c=>{var l;return(l=c.children)!=null&&l.length?W(N({},c),{children:Oe(c.children,t,r+1)}):c})}function me(e,t,r="contains"){return Pe(r,e,t)}function gt(e,t,r,i){var l,a;if(r&&i.length>0&&!i.some(f=>Pe("contains",le(e,f),r)))return!1;let c=Object.keys(t).filter(n=>n!=="global");for(let n of c){let f=t[n];if(!f)continue;if(typeof f=="object"&&f!==null&&"constraints"in f){let E=f,d=(l=E.operator)!=null?l:"and",g=(a=E.constraints)!=null?a:[];if(g.length>0){let h=le(e,n);if(d==="and"){if(!g.every(s=>me(h,s.value,s.matchMode)))return!1}else if(!g.some(s=>me(h,s.value,s.matchMode)))return!1}continue}if(typeof f=="object"&&f!==null&&"value"in f){let E=f,d=le(e,n);if(!me(d,E.value,E.matchMode))return!1;continue}let M=le(e,n);if(!me(M,f))return!1}return!0}function ve(e,t,r,i,c=0){var a,n;if(c>=Re)return[];let l=[];for(let f of e){let M=(a=f.data)!=null?a:{};if(gt(M,t,r,i))l.push(f);else if((n=f.children)!=null&&n.length){let d=ve(f.children,t,r,i,c+1);d.length>0&&l.push(W(N({},f),{children:d}))}}return l}function Ue(e,t){var i;if(t)return!0;let r=Object.keys(e).filter(c=>c!=="global");for(let c of r){let l=e[c];if(l){if(typeof l=="object"&&l!==null&&"constraints"in l){if(((i=l.constraints)!=null?i:[]).some(f=>f.value!==null&&f.value!==void 0&&f.value!==""))return!0;continue}if(typeof l=="object"&&l!==null&&"value"in l){let a=l.value;if(a!=null&&a!=="")return!0;continue}if(l!=null&&l!=="")return!0}}return!1}function Ne(e,t,r,i){var a,n,f;if(r>=Re)return[];let c=[],l=e.length;for(let M=0;M<e.length;M++){let E=e[M],d=!!((a=E.children)!=null&&a.length),g=d||E.leaf===!1,h=E.leaf===!0||!d&&E.leaf!==!1;c.push(W(N({},(n=E.data)!=null?n:{}),{key:E.key,data:(f=E.data)!=null?f:{},children:E.children,_treeLevel:r,_treeHasChildren:g,_treeLeaf:h,_treeParentKey:i,_treePosInSet:M+1,_treeSetSize:l})),d&&t[E.key]&&c.push(...Ne(E.children,t,r+1,E.key))}return c}function mt(e){let{data:t,treeMode:r,expandedKeys:i,sortField:c,sortOrder:l,multiSortMeta:a,filters:n={},globalFilter:f=null,globalFilterFields:M=[],paginator:E=!1,page:d=0,rows:g=10}=e,h=oe.useMemo(()=>{if(!r)return t;let m=t;if(Ue(n,f)&&(m=ve(m,n,f,M)),a&&a.length>0?m=Oe(m,a):c&&l!=null&&l!==0&&(m=Ie(m,c,l)),E){let D=d*g;m=m.slice(D,D+g)}return Ne(m,i,0,null)},[t,r,i,c,l,a,n,f,M,E,d,g]),S=oe.useMemo(()=>{if(!r)return t.length;let m=t;return Ue(n,f)&&(m=ve(m,n,f,M)),m.length},[t,r,n,f,M]),s=oe.useMemo(()=>({}),[]),b=oe.useMemo(()=>({}),[]);return{flattenedData:h,totalRootNodes:S,state:s,exposes:b}}import*as ae from"react";function Rt(e){let{data:t,treeMode:r,selectionMode:i,expandedKeys:c={},onToggleExpansion:l,onToggleSelection:a,getRowKey:n}=e,f=i==="single"?"single":"checkbox",[M,E]=ae.useState(-1),d=ae.useCallback(b=>M===-1?b===0?0:-1:b===M?0:-1,[M]),g=ae.useCallback((b,m)=>{if(!b)return;let D=b.querySelector(`tr[data-scope="datatable"][data-part="row"][data-index="${m}"]`);if(D){E(m),D.focus();return}E(m)},[]),h=ae.useCallback((b,m)=>{let D=b.target;if(D!==b.currentTarget){let T=D.tagName;if(T==="INPUT"||T==="SELECT"||T==="TEXTAREA"||D.isContentEditable||D.closest("[data-editing]"))return}let L=t.length,U=!0;switch(b.key){case"ArrowDown":{let T=Math.min(m+1,L-1);if(T!==m){let p=b.currentTarget.closest("tbody");if(g(p,T),b.shiftKey&&a){let C=t[T],o=n==null?void 0:n(C,T);o!==void 0&&a(b,o,f)}}break}case"ArrowUp":{let T=Math.max(m-1,0);if(T!==m){let p=b.currentTarget.closest("tbody");if(g(p,T),b.shiftKey&&a){let C=t[T],o=n==null?void 0:n(C,T);o!==void 0&&a(b,o,f)}}break}case"ArrowRight":{if(!r){U=!1;break}let T=t[m],p=n==null?void 0:n(T,m),C=T==null?void 0:T._treeHasChildren,o=p!==void 0&&c[String(p)];if(C&&!o&&p!==void 0)l==null||l(b,p);else if(o){let R=b.currentTarget.closest("tbody");g(R,Math.min(m+1,L-1))}break}case"ArrowLeft":{if(!r){U=!1;break}let T=t[m],p=n==null?void 0:n(T,m),C=T==null?void 0:T._treeHasChildren,o=p!==void 0&&c[String(p)];if(C&&o&&p!==void 0)l==null||l(b,p);else{let R=T==null?void 0:T._treeParentKey;if(R!==null){let u=t.findIndex((y,v)=>String(n==null?void 0:n(y,v))===String(R));if(u>=0){let y=b.currentTarget.closest("tbody");g(y,u)}}}break}case"Home":{let T=b.currentTarget.closest("tbody");g(T,0);break}case"End":{let T=b.currentTarget.closest("tbody");g(T,L-1);break}case"Enter":case" ":{let T=b.target;if(T.tagName==="INPUT"||T.tagName==="SELECT"||T.tagName==="TEXTAREA"||T.tagName==="BUTTON"||T.tagName==="A"||T.isContentEditable){U=!1;break}if(a){let p=t[m],C=n==null?void 0:n(p,m);C!==void 0&&a(b,C,f)}break}default:U=!1}U&&b.preventDefault()},[t,r,c,g,l,a,n,f]),S=ae.useMemo(()=>({focusedRowIndex:M}),[M]),s=ae.useMemo(()=>({getRowTabIndex:d,onRowKeyDown:h,focusRow:g}),[d,h,g]);return{state:S,exposes:s}}export{Ze as FilterMatchMode,et as FilterOperator,$e as useDataTableColumnReorder,Ve as useDataTableColumnResize,Be as useDataTableEditing,Xe as useDataTableExpansion,Je as useDataTableExport,tt as useDataTableFilter,rt as useDataTableGrouping,Rt as useDataTableKeyboard,at as useDataTablePagination,ot as useDataTableRowReorder,it as useDataTableSelection,dt as useDataTableSort,mt as useDataTableTree};
|
|
11
|
-
//# sourceMappingURL=index.mjs.map
|
|
9
|
+
`);r.current.innerHTML=x},[]);$.useEffect(()=>()=>{r.current?.remove(),r.current=null},[]);let T=$.useRef(a);T.current=a;let h=$.useRef(e.onColumnResizeEnd);h.current=e.onColumnResizeEnd;let E=$.useCallback(()=>{let u=l.current;u&&(u.resizer.removeEventListener("pointermove",u.onMove),u.resizer.removeEventListener("pointerup",u.onEnd),u.resizer.removeEventListener("pointercancel",u.onEnd),u.resizer.hasPointerCapture(u.pointerId)&&u.resizer.releasePointerCapture(u.pointerId),o.current&&(o.current.style.display="none",o.current.style.willChange=""),document.body.style.removeProperty("cursor"),document.body.style.removeProperty("user-select"),l.current=null)},[]),M=$.useCallback((u,c,f)=>{let x=u.headerCells.map((K,F)=>c[F]??K.offsetWidth);if(f!==void 0)u.table.style.width=`${f}px`,u.table.style.minWidth=`${f}px`;else{let K=u.initialTableWidth,F=x.reduce((p,d)=>p+d,0),i=K-F;if(Math.abs(i)>.01){let p=x.findIndex((d,g)=>c[g]===void 0);p>=0&&(x[p]+=i)}}n(u.table,x)},[n]),C=$.useCallback((u,c,f)=>{if(!t||u.pointerType==="mouse"&&u.button!==0)return;let x=f.closest("table");if(!x)return;let K=x.closest('[data-part="table-container"]')??x.parentElement;if(!K)return;let F=u.currentTarget,i=Array.from(x.querySelectorAll("thead th")),p=i[c+1]??null,d=K.getBoundingClientRect(),g=o.current;if(g){let R=u.clientX-d.left+K.scrollLeft;g.style.top="0px",g.style.left="0px",g.style.height=`${K.clientHeight}px`,g.style.transform=`translateX(${R}px)`,g.style.willChange="transform",g.style.display="block"}let y=R=>{let b=l.current;if(!b||R.pointerId!==b.pointerId)return;let k=o.current;if(!k)return;let L=R.clientX-b.containerLeft+b.tableContainer.scrollLeft;k.style.transform=`translateX(${L}px)`},I=R=>{let b=l.current;if(!b||R.pointerId!==b.pointerId)return;let k=R.clientX-b.startClientX,L=T.current,A=b.initialWidth+k;if(A>=ee){if(L==="fit"&&b.nextHeaderCell){let N=b.initialNextWidth-ee,z=Math.min(k,N),w=b.initialWidth+z,S=b.initialNextWidth-z;w>=ee&&S>=ee&&(M(b,{[b.columnIndex]:w,[b.columnIndex+1]:S}),h.current?.({originalEvent:R,columnIndex:b.columnIndex,delta:z}))}else if(L==="expand"){let N=b.initialTableWidth+k;M(b,{[b.columnIndex]:A},N),h.current?.({originalEvent:R,columnIndex:b.columnIndex,delta:k})}}E()};l.current={columnIndex:c,pointerId:u.pointerId,startClientX:u.clientX,containerLeft:d.left,initialScrollLeft:K.scrollLeft,resizer:F,headerCell:f,nextHeaderCell:p,headerCells:i,table:x,tableContainer:K,initialWidth:f.offsetWidth,initialNextWidth:p?.offsetWidth??0,initialTableWidth:T.current==="fit"?K.clientWidth:x.offsetWidth,onMove:y,onEnd:I},F.setPointerCapture(u.pointerId),F.addEventListener("pointermove",y),F.addEventListener("pointerup",I),F.addEventListener("pointercancel",I),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[t,M,E]);$.useEffect(()=>()=>E(),[E]);let m=$.useCallback(u=>({"data-scope":"datatable","data-part":"column-resizer",style:{touchAction:"none"},onPointerDown:f=>{let x=f.target.closest("th");if(x){let K=u??x.cellIndex;C(f,K,x)}}}),[C]),v=$.useMemo(()=>({onResizeStart:C,registerIndicator:s,getColumnResizerProps:m}),[C,s,m]);return{state:Fe,exposes:v}}import*as j from"react";var ue=Object.freeze({});function Le(e){let{editMode:t}=e,a=e.editingKeys!==void 0,[l,o]=j.useState(()=>e.editingKeys??e.defaultEditingKeys??ue),s=a?e.editingKeys??ue:l;j.useEffect(()=>{a&&o(e.editingKeys??ue)},[a,e.editingKeys]);let[r,n]=j.useState(null),T=j.useRef({}),h=j.useCallback(d=>s[String(d)]===!0,[s]),E=j.useCallback((d,g,y,I)=>{if(t!=="row")return;let R=String(g),b={...s,[R]:!0};y&&(T.current[R]={...y}),a||o(b),e.onEditingKeysChange?.({originalEvent:d,value:b}),e.onRowEditInit?.({originalEvent:d,data:y??{},index:I??-1})},[t,s,a,e.onEditingKeysChange,e.onRowEditInit]),M=j.useCallback((d,g,y,I,R)=>{if(t!=="row")return;let b=String(g),k={...s};delete k[b],delete T.current[b],a||o(k),e.onEditingKeysChange?.({originalEvent:d,value:k}),e.onRowEditSave?.({originalEvent:d,data:y??{},newData:I,index:R??-1})},[t,s,a,e.onEditingKeysChange,e.onRowEditSave]),C=j.useCallback((d,g,y,I)=>{if(t!=="row")return;let R=String(g),b={...s};delete b[R];let k=T.current[R];delete T.current[R],a||o(b),e.onEditingKeysChange?.({originalEvent:d,value:b}),e.onRowEditCancel?.({originalEvent:d,data:k??y??{},index:I??-1})},[t,s,a,e.onEditingKeysChange,e.onRowEditCancel]),m=j.useCallback((d,g,y)=>t!=="cell"||!r||r.field!==g?!1:y!==void 0&&r.rowKey!==void 0?String(r.rowKey)===String(y):r.rowIndex===d,[t,r]),v=j.useCallback((d,g,y,I)=>{t==="cell"&&(n({rowIndex:g,field:y,rowKey:I}),e.onCellEditInit?.({originalEvent:d,field:y,rowIndex:g}))},[t,e.onCellEditInit]),u=j.useCallback(d=>{if(t!=="cell")return!1;let g=!1,y={...d,preventDefault:()=>{g=!0}};return e.onCellEditComplete?.(y),g||n(null),!g},[t,e.onCellEditComplete]),c=j.useCallback((d,g,y)=>{t==="cell"&&(e.onCellEditCancel?.({originalEvent:d,rowData:{},newRowData:{},field:y,value:void 0,newValue:void 0,rowIndex:g,type:"escape",preventDefault:()=>{}}),n(null))},[t,e.onCellEditCancel]),f=j.useCallback(d=>({"data-scope":"datatable","data-part":"cell-editor","data-row-index":String(d.rowIndex),"data-field":d.field,...d.rowKey!==void 0?{"data-row-key":String(d.rowKey)}:void 0,...d.isEditing?{"data-editing":""}:void 0}),[]),x=j.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-init",type:"button","aria-label":"Edit row"}),[]),K=j.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-save",type:"button","aria-label":"Save row"}),[]),F=j.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-cancel",type:"button","aria-label":"Cancel edit"}),[]),i=j.useMemo(()=>({isEditing:h,startRowEdit:E,saveRowEdit:M,cancelRowEdit:C,startCellEdit:v,completeCellEdit:u,cancelCellEdit:c,isCellEditing:m,getCellEditorRootProps:f,getRowEditorInitProps:x,getRowEditorSaveProps:K,getRowEditorCancelProps:F}),[h,E,M,C,v,u,c,m,f,x,K,F]);return{state:j.useMemo(()=>({editingKeys:s,editingCell:r}),[s,r]),exposes:i}}import*as Y from"react";var he=Object.freeze({});function Ie(e){let t=e.expandedKeys!==void 0,[a,l]=Y.useState(()=>e.expandedKeys??e.defaultExpandedKeys??{}),o=t?e.expandedKeys??he:a;Y.useEffect(()=>{t&&l(e.expandedKeys??he)},[t,e.expandedKeys]);let s=Y.useCallback(E=>o[String(E)]===!0,[o]),r=Y.useCallback((E,M)=>{let C=String(M),m={...o};m[C]?delete m[C]:m[C]=!0,t||l(m),e.onExpandedChange?.({originalEvent:E,value:m})},[o,t,e.onExpandedChange]),n=Y.useCallback((E,M)=>{let C=E!==void 0?s(E):!1,m=M?._treeLevel!==void 0,v=M?._treeLevel??0,u=M?._treeHasChildren??!1,c=x=>{E!==void 0&&r(x,E)};if(m&&!u)return{isSpacer:!0,spacerProps:{"data-scope":"datatable","data-part":"row-toggle-spacer","data-tree-level":v,style:{display:"inline-block",marginInlineStart:`calc(var(--p-datatable-indent, 1rem) * ${v})`,width:"var(--p-datatable-toggle-size, 2rem)",flexShrink:0}}};let f={"data-scope":"datatable","data-part":"row-toggle",type:"button","aria-expanded":C,"aria-label":C?"Collapse row":"Expand row",onClick:c};return m&&(f["data-tree-level"]=v,f.style={marginInlineStart:`calc(var(--p-datatable-indent, 1rem) * ${v})`,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0}),{isSpacer:!1,rootProps:f,isExpanded:C}},[s,r]),T=Y.useMemo(()=>({isExpanded:s,toggleExpansion:r,getRowToggleProps:n}),[s,r,n]);return{state:Y.useMemo(()=>({expandedKeys:o}),[o]),exposes:T}}import{resolveFieldData as Ue}from"@primeuix/utils";import*as te from"react";var Pe=Object.freeze({});function Ne(e){let t=te.useCallback(l=>{if(typeof document>"u")return;let o=e.data??[],s=l?.separator??",",r=l?.fileName??"download",n=o;if(l?.selectionOnly&&e.selectionKeys&&e.dataKey&&(n=o.filter(c=>{let f=String(c[e.dataKey]);return e.selectionKeys[f]})),n.length===0)return;let T=l?.fields??Object.keys(n[0]);if(l?.exportFunction){l.exportFunction({data:n,fields:T});return}let h=l?.headers,E=[],M=T.map(c=>{let f=h?.[c]??c;return`"${String(f).replace(/"/g,'""')}"`});E.push(M.join(s));for(let c of n){let f=T.map(x=>{let K=Ue(c,x),F=K!=null?String(K):"";return F.length>0&&/^[=+\-@\t\r]/.test(F)&&(F=` ${F}`),`"${F.replace(/"/g,'""')}"`});E.push(f.join(s))}let C=E.join(`
|
|
10
|
+
`);if(typeof document>"u"||typeof URL>"u"||typeof Blob>"u")return;let m=new Blob([C],{type:"text/csv;charset=utf-8;"}),v=URL.createObjectURL(m),u=document.createElement("a");u.setAttribute("href",v),u.setAttribute("download",`${r}.csv`),u.style.display="none",document.body.appendChild(u);try{u.click()}finally{u.parentNode===document.body&&document.body.removeChild(u),URL.revokeObjectURL(v)}},[e.data,e.dataKey,e.selectionKeys]),a=te.useMemo(()=>({exportCSV:t}),[t]);return{state:Pe,exposes:a}}import{useFilter as He}from"@primereact/hooks/use-filter";import*as H from"react";var Ae={Contains:"contains",NotContains:"notContains",StartsWith:"startsWith",EndsWith:"endsWith",Equals:"equals",NotEquals:"notEquals",In:"in",Between:"between",Lt:"lt",Lte:"lte",Gt:"gt",Gte:"gte",DateIs:"dateIs",DateIsNot:"dateIsNot",DateBefore:"dateBefore",DateAfter:"dateAfter",Custom:"custom"},ze={And:"and",Or:"or"},Ee=Object.freeze({});function je(e){let{data:t=[],lazy:a=!1,globalFilterFields:l=[]}=e,o=e.filters!==void 0,[s,r]=H.useState(e.defaultFilters??Ee),n=o?e.filters??Ee:s;H.useEffect(()=>{o&&e.filters&&r(e.filters)},[o,e.filters]);let T=e.globalFilter??null,h=e.filterDelay??0,[E,M]=H.useState(n),[C,m]=H.useState(T);H.useEffect(()=>{if(h<=0){M(n),m(T);return}let w=setTimeout(()=>{M(n),m(T)},h);return()=>clearTimeout(w)},[n,T,h]);let v=h>0?E:n,u=h>0?C:T,c=H.useCallback((w,S)=>{o||r(S),e.onFilter?.({originalEvent:w,filters:S})},[o,e.onFilter]),f=H.useCallback((w,S,O)=>{let D={...n,[S]:O};c(w,D)},[n,c]),x=H.useCallback((w,S)=>{let O=n[S],D={...n};if(O&&typeof O=="object"&&O!==null&&"constraints"in O){let P=O;D[S]={operator:P.operator??"and",constraints:[{value:null,matchMode:P.constraints?.[0]?.matchMode??"contains"}]}}else O&&typeof O=="object"&&O!==null&&"matchMode"in O?D[S]={value:null,matchMode:O.matchMode}:delete D[S];c(w,D)},[n,c]),K=H.useCallback(w=>{c(w,{})},[c]),F=H.useCallback((w,S,O="contains")=>{let D=n[S],P={...n};if(D&&typeof D=="object"&&D!==null&&"constraints"in D){let W=D,G=[...W.constraints??[],{value:null,matchMode:O}];P[S]={...W,constraints:G}}else{let W=D&&typeof D=="object"&&"value"in D?D.value:null,G=D&&typeof D=="object"&&"matchMode"in D?D.matchMode??"contains":"contains";P[S]={operator:"and",constraints:[{value:W,matchMode:G},{value:null,matchMode:O}]}}c(w,P)},[n,c]),i=H.useCallback((w,S,O)=>{let D=n[S];if(!D||typeof D!="object"||!("constraints"in D))return;let P=D,W=(P.constraints??[]).filter((Q,ce)=>ce!==O);if(W.length===0)return;let G={...n,[S]:{...P,constraints:W}};c(w,G)},[n,c]),p=H.useCallback((w,S,O)=>{let D=n[S],P={...n};if(D&&typeof D=="object"&&D!==null&&"constraints"in D)P[S]={...D,operator:O};else{let W=D&&typeof D=="object"&&"value"in D?D.value:null,G=D&&typeof D=="object"&&"matchMode"in D?D.matchMode??"contains":"contains";P[S]={operator:O,constraints:[{value:W,matchMode:G}]}}c(w,P)},[n,c]),d=H.useCallback((w,S,O,D,P)=>{let W=n[S];if(!W||typeof W!="object"||!("constraints"in W))return;let G=W,Q=[...G.constraints??[]];O>=0&&O<Q.length&&(Q[O]={value:D,matchMode:P??Q[O].matchMode});let ce={...n,[S]:{...G,constraints:Q}};c(w,ce)},[n,c]),g=H.useCallback((w,S,O,D)=>{let P=n[S];if(!P||typeof P!="object"||!("constraints"in P))return;let W=P,G=[...W.constraints??[]];O>=0&&O<G.length&&(G[O]={...G[O],matchMode:D});let Q={...n,[S]:{...W,constraints:G}};c(w,Q)},[n,c]),y=H.useCallback(w=>{let S=n[w];return S?typeof S=="object"&&S!==null&&"constraints"in S?(S.constraints??[]).some(D=>D.value!==null&&D.value!==void 0&&D.value!==""):typeof S=="object"&&S!==null&&"value"in S?S.value!==null&&S.value!==void 0&&S.value!=="":S!=null&&S!=="":!1},[n]),I=H.useCallback(()=>T?!0:Object.keys(n).some(w=>y(w)),[n,T,y]),R=H.useCallback(w=>{let S=n[w];return S?typeof S=="object"&&S!==null?S:{value:S,matchMode:"contains"}:{value:null,matchMode:"contains"}},[n]),b=H.useMemo(()=>{let w=[];for(let S of Object.keys(v)){if(S==="global")continue;let O=v[S];if(O){if(typeof O=="object"&&O!==null){let D=O;if(D.constraints&&D.constraints.length>0){w.push({field:S,operator:D.operator??"and",constraints:D.constraints.map(P=>({value:P.value,matchMode:P.matchMode??"contains"}))});continue}if("value"in D||"matchMode"in D){w.push({field:S,value:D.value,matchMode:D.matchMode??"contains"});continue}}w.push({field:S,value:O,matchMode:"contains"})}}return u&&l.length>0&&w.push({field:l,value:u,matchMode:"contains"}),w},[v,u,l]),L=He({data:t,rules:b,lazy:a}).filteredData,A=H.useMemo(()=>({filters:n,globalFilter:T}),[n,T]),N=H.useCallback((w,S="row")=>({"data-scope":"datatable","data-part":"filter","data-display":S,...y(w)?{"data-active":""}:void 0}),[y]),z=H.useMemo(()=>({setFieldFilter:f,clearFieldFilter:x,clearAllFilters:K,addConstraint:F,removeConstraint:i,setOperator:p,setConstraintValue:d,setConstraintMatchMode:g,hasFilterValue:y,isFiltered:I,getFieldFilterMeta:R,getFilterRootProps:N}),[f,x,K,F,i,p,d,g,y,I,R,N]);return{filteredData:L,state:A,exposes:z}}import{resolveFieldData as _e}from"@primeuix/utils";import*as ne from"react";function We(e){let{data:t,groupField:a}=e,l=ne.useMemo(()=>{if(!a)return;let r=new Map;if(t.length===0)return r;let n=[],T,h=0;for(let E=0;E<t.length;E++){let M=_e(t[E],a);E===0?(T=M,h=0):M!==T&&(n.push({start:h,end:E-1,value:T}),T=M,h=E)}n.push({start:h,end:t.length-1,value:T});for(let E=0;E<n.length;E++){let M=n[E],C=M.end-M.start+1;for(let m=M.start;m<=M.end;m++)r.set(m,{isGroupStart:m===M.start,isGroupEnd:m===M.end,groupValue:M.value,groupCount:C,groupIndex:E})}return r},[t,a]),o=ne.useMemo(()=>({}),[]);return{state:ne.useMemo(()=>({groupMetaMap:l}),[l]),exposes:o}}import*as X from"react";function $e(e){let{data:t,lazy:a,paginator:l}=e,o=e.page!==void 0,s=e.rows!==void 0,[r,n]=X.useState(e.defaultPage??0),[T,h]=X.useState(e.defaultRows??10),E=o?e.page??0:r,M=s?e.rows??10:T,C=a?e.totalRecords??0:t.length,m=Math.max(1,Math.ceil(C/M)),v=E*M;X.useEffect(()=>{!o&&E>=m&&m>0&&n(m-1)},[m,E,o]);let u=X.useMemo(()=>!l||a?t:t.slice(v,v+M),[t,l,a,v,M]),c=X.useCallback((F,i)=>{if(i<0||i>=m)return;o||n(i);let p=i*M;e.onPageChange?.({originalEvent:F,page:i,rows:M,first:p,pageCount:m})},[m,M,o,e.onPageChange]),f=X.useCallback((F,i)=>{if(i<=0)return;s||h(i),o||n(0);let p=Math.max(1,Math.ceil(C/i));e.onPageChange?.({originalEvent:F,page:0,rows:i,first:0,pageCount:p})},[C,s,o,e.onPageChange]),x=X.useMemo(()=>({page:E,rows:M,first:v,pageCount:m,totalRecords:C,onPageChange:c,onRowsChange:f}),[E,M,v,m,C,c,f]),K=X.useMemo(()=>({page:E,rows:M,first:v,pageCount:m,totalRecords:C}),[E,M,v,m,C]);return{paginatedData:u,state:K,exposes:x}}import*as V from"react";var Ge=Object.freeze({}),de="data-dragpoint-top",fe="data-dragpoint-bottom";function re(e){e&&(e.removeAttribute(de),e.removeAttribute(fe))}function Ve(e){let{reorderableRows:t=!1}=e,a=V.useRef(-1),l=V.useRef(-1),o=V.useRef(null),s=V.useCallback((v,u)=>{t&&(a.current=u,v.dataTransfer.effectAllowed="move",v.dataTransfer.setData("text/plain",String(u)))},[t]),r=V.useCallback((v,u)=>{if(!t||a.current===-1||a.current===u)return;v.preventDefault(),v.dataTransfer.dropEffect="move";let c=v.currentTarget,f=c.getBoundingClientRect(),x=f.top+f.height/2;o.current&&o.current!==c&&re(o.current),v.clientY<x?(c.setAttribute(de,""),c.removeAttribute(fe),l.current=u):(c.setAttribute(fe,""),c.removeAttribute(de),l.current=u+1),o.current=c},[t]),n=V.useCallback(v=>{if(!t)return;let u=v.currentTarget;re(u),o.current===u&&(o.current=null)},[t]),T=V.useCallback(v=>{if(!t||a.current===-1)return;v.preventDefault();let u=e.data??[],c=a.current,f=l.current;if(f>c&&(f-=1),f!==c&&f>=0&&f<=u.length){let x=[...u],[K]=x.splice(c,1);x.splice(f,0,K),e.onRowReorder?.({originalEvent:v.nativeEvent,dragIndex:c,dropIndex:f,value:x})}re(o.current),o.current=null,a.current=-1,l.current=-1},[t,e.data,e.onRowReorder]),h=V.useCallback(()=>{t&&(re(o.current),o.current=null,a.current=-1,l.current=-1)},[t]),E=V.useCallback(v=>{let u=v.currentTarget.closest("tr");u&&u.setAttribute("data-drag-source","true")},[]),M=V.useCallback(v=>{let u=v.currentTarget.closest("tr");u&&u.removeAttribute("data-drag-source")},[]),C=V.useCallback(()=>({"data-scope":"datatable","data-part":"row-reorder",style:{cursor:"grab",userSelect:"none",touchAction:"none"},onPointerDown:E,onPointerUp:M}),[E,M]),m=V.useMemo(()=>({onDragStart:s,onDragOver:r,onDragEnter:r,onDragLeave:n,onDrop:T,onDragEnd:h,getRowReorderHandleProps:C}),[s,r,n,T,h,C]);return{state:Ge,exposes:m}}import*as _ from"react";var ge=Object.freeze({});function Me(e){let t=[];if(e.children)for(let a of e.children)t.push(a.key),t.push(...Me(a));return t}function ae(e,t){for(let a of e){if(a.key===t)return a;if(a.children){let l=ae(a.children,t);if(l)return l}}return null}function Be(e,t){let a=[];function l(o,s){for(let r of o){if(r.key===t)return a.push(...s),!0;if(r.children&&l(r.children,[...s,r.key]))return!0}return!1}return l(e,[]),a}function Te(e,t){return!e.children||e.children.length===0?!0:e.children.every(a=>t[a.key]===!0&&Te(a,t))}function Ce(e,t){return e.children?e.children.some(a=>t[a.key]===!0||Ce(a,t)):!1}function Xe(e,t,a){let l=Be(e,t);for(let o=l.length-1;o>=0;o--){let s=l[o],r=ae(e,s);r&&Te(r,a)?a[s]=!0:delete a[s]}}function Ye(e){let{data:t}=e,a=_.useRef(null),l=e.selectionKeys!==void 0,[o,s]=_.useState(()=>e.selectionKeys??e.defaultSelectionKeys??ge),r=l?e.selectionKeys??ge:o;_.useEffect(()=>{l&&s(e.selectionKeys??ge)},[l,e.selectionKeys]);let n=_.useCallback((i,p)=>e.dataKey&&i?String(i[e.dataKey]):p,[e.dataKey]),T=_.useCallback(i=>r[String(i)]===!0,[r]),h=e.treeMode?e.rawTreeData:void 0,E=_.useMemo(()=>{let i=new Map;for(let p=0;p<t.length;p++)i.set(String(n(t[p],p)),p);return i},[t,n]),M=_.useCallback((i,p,d)=>{let g=String(p),y,I=!0;if(d==="radio")y={[g]:!0};else if(d==="single")y=r[g]?{}:{[g]:!0};else if(i.shiftKey===!0&&!h&&a.current!==null&&a.current!==g){let b=a.current,k=E.get(b)??-1,L=E.get(g)??-1;if(k>=0&&L>=0){let A=Math.min(k,L),N=Math.max(k,L);y={...r};for(let z=A;z<=N;z++){let w=String(n(t[z],z));y[w]=!0}}else y={...r,[g]:!0};I=!1}else{y={...r};let b=!y[g];if(b?y[g]=!0:delete y[g],h){let k=ae(h,g);if(k){let L=Me(k);for(let A of L)b?y[A]=!0:delete y[A]}Xe(h,g,y)}}I&&d!=="radio"&&(a.current=g),l||s(y),e.onSelectionChange?.({originalEvent:i,value:y,type:d==="radio"?"radio":d==="single"?"row":"checkbox"})},[t,n,r,l,e.onSelectionChange,h,E]),C=_.useCallback(i=>{let p=[];for(let d of i)p.push(d.key),d.children&&p.push(...C(d.children));return p},[]),m=_.useMemo(()=>{if(h){let p=C(h);if(p.length===0)return{all:!1,some:!1};let d=p.reduce((g,y)=>r[y]===!0?g+1:g,0);return{all:d===p.length,some:d>0&&d<p.length}}if(t.length===0)return{all:!1,some:!1};let i=0;for(let p=0;p<t.length;p++){let d=String(n(t[p],p));r[d]===!0&&i++}return{all:i===t.length,some:i>0&&i<t.length}},[t,h,r,n,C]),v=_.useCallback(()=>m.all,[m]),u=_.useCallback(()=>m.some,[m]),c=_.useCallback(i=>{let p;if(v())p={};else if(p={},h){let d=C(h);for(let g of d)p[g]=!0}else t.forEach((d,g)=>{let y=String(n(d,g));p[y]=!0});l||s(p),e.onSelectionChange?.({originalEvent:i,value:p,type:"all"})},[t,h,v,l,n,C,e.onSelectionChange]),f=_.useCallback((i,p)=>{let{selectionMode:d,metaKeySelection:g}=e;if(!d)return;let y=String(p),I=i.metaKey||i.ctrlKey,R=i.shiftKey,b,k=!0;if(d==="single")b=r[y]?{}:{[y]:!0};else if(g)if(R&&a.current!==null&&a.current!==y){let L=a.current,A=-1,N=-1;for(let z=0;z<t.length;z++){let w=String(n(t[z],z));if(w===L&&(A=z),w===y&&(N=z),A>=0&&N>=0)break}if(A>=0&&N>=0){let z=Math.min(A,N),w=Math.max(A,N);b=I?{...r}:{};for(let S=z;S<=w;S++){let O=String(n(t[S],S));b[O]=!0}}else b={...r,[y]:!0};k=!1}else I?(b={...r},b[y]?delete b[y]:b[y]=!0):b={[y]:!0};else b={...r},b[y]?delete b[y]:b[y]=!0;k&&(a.current=y),l||s(b),e.onSelectionChange?.({originalEvent:i,value:b,type:"row"})},[t,n,r,l,e.selectionMode,e.metaKeySelection,e.onSelectionChange]),x=_.useCallback(i=>{if(!h)return!1;let p=ae(h,String(i));return!p||!p.children||p.children.length===0?!1:!r[String(i)]&&Ce(p,r)},[h,r]),K=_.useMemo(()=>({isSelected:T,isPartiallySelected:x,toggleSelection:M,toggleAll:c,isAllSelected:v,isSomeSelected:u,onRowClick:f}),[T,x,M,c,v,u,f]),F=_.useMemo(()=>({selectionKeys:r}),[r]);return{getRowKey:n,state:F,exposes:K}}import*as B from"react";import{localeComparator as qe,resolveFieldData as oe,sort as be}from"@primeuix/utils";var me=qe(),se=(e,t,a,l=1)=>be(e,t,a,me,l),pe=(e,t,a,l=1)=>!t||a===0?e:[...e].sort((o,s)=>be(oe(o,t),oe(s,t),a,me,l)),Re=(e,t,a=1)=>!t||t.length===0?e:[...e].sort((l,o)=>{for(let s of t){let r=be(oe(l,s.field),oe(o,s.field),s.order,me,a);if(r!==0)return r}return 0});function Je(e){let{data:t,lazy:a}=e,l=e.sortField!==void 0,o=e.multiSortMeta!==void 0,[s,r]=B.useState(e.defaultSortField),[n,T]=B.useState(e.defaultSortOrder),[h,E]=B.useState(e.defaultMultiSortMeta),M=l?e.sortField:s,C=l?e.sortOrder:n,m=o?e.multiSortMeta:h,v=B.useCallback(d=>m&&m.length>0?m.some(g=>g.field===d):M===d&&C!==0,[M,C,m]),u=B.useCallback(d=>m&&m.length>0?m.find(y=>y.field===d)?.order??0:M===d?C??0:0,[M,C,m]),c=B.useCallback(d=>m&&m.length>0?m.findIndex(g=>g.field===d):-1,[m]),f=B.useCallback((d,g,y)=>{let I=u(g),R;if(I===0?R=1:I===1?R=-1:R=e.removableSort?0:1,y){let b=[...m??[]],k=b.findIndex(L=>L.field===g);R===0?k!==-1&&b.splice(k,1):k!==-1?b[k]={field:g,order:R}:b.push({field:g,order:R}),o||E(b),e.onSortChange?.({originalEvent:d,field:g,order:R,multiSortMeta:b})}else l||(r(R===0?void 0:g),T(R)),o||E(void 0),e.onSortChange?.({originalEvent:d,field:g,order:R,multiSortMeta:void 0})},[u,e.removableSort,e.onSortChange,l,o,m]),x=e.nullSortOrder??1,K=B.useMemo(()=>a?t:m&&m.length>0?Re(t,m,x):M&&C!=null&&C!==0?pe(t,M,C,x):t,[t,a,M,C,m,x]),F=B.useCallback(d=>{let g=v(d),y=u(d),I=g?y===1?"ascending":"descending":"",R=k=>{if(!d)return;let L=k.metaKey||k.ctrlKey;f(k,d,L)},b=k=>{(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),R(k))};return{"data-scope":"datatable","data-part":"sort",...g?{"data-sorted":"","data-sort-order":y===1?"asc":"desc"}:{"data-unsorted":""},role:"button",tabIndex:0,"aria-label":`Sort by ${d}${I?` ${I}`:""}`,"aria-sort":g?y===1?"ascending":"descending":"none",onClick:R,onKeyDown:b}},[v,u,f]),i=B.useMemo(()=>({onSort:f,isSorted:v,getSortOrder:u,getSortIndex:c,getSortProps:F}),[f,v,u,c,F]),p=B.useMemo(()=>({sortField:M,sortOrder:C,multiSortMeta:m}),[M,C,m]);return{sortedData:K,state:p,exposes:i}}import{BUILT_IN_MATCHERS as Qe,getGlobalMatchers as Ze}from"@primereact/hooks/use-filter";import{resolveFieldData as J}from"@primeuix/utils";import*as Z from"react";function ve(e,t,a,l){let o=Qe[e]??Ze()[e];return o?o(t,a,l):!0}var ie=100;function De(e,t,a,l=0){return l>=ie?e:[...e].sort((s,r)=>{let n=s.data?J(s.data,t):void 0,T=r.data?J(r.data,t):void 0;return se(n,T,a)}).map(s=>s.children?.length?{...s,children:De(s.children,t,a,l+1)}:s)}function xe(e,t,a=0){return a>=ie?e:[...e].sort((o,s)=>{for(let r of t){let n=o.data?J(o.data,r.field):void 0,T=s.data?J(s.data,r.field):void 0,h=se(n,T,r.order);if(h!==0)return h}return 0}).map(o=>o.children?.length?{...o,children:xe(o.children,t,a+1)}:o)}function le(e,t,a="contains"){return ve(a,e,t)}function et(e,t,a,l){if(a&&l.length>0&&!l.some(r=>ve("contains",J(e,r),a)))return!1;let o=Object.keys(t).filter(s=>s!=="global");for(let s of o){let r=t[s];if(!r)continue;if(typeof r=="object"&&r!==null&&"constraints"in r){let T=r,h=T.operator??"and",E=T.constraints??[];if(E.length>0){let M=J(e,s);if(h==="and"){if(!E.every(m=>le(M,m.value,m.matchMode)))return!1}else if(!E.some(m=>le(M,m.value,m.matchMode)))return!1}continue}if(typeof r=="object"&&r!==null&&"value"in r){let T=r,h=J(e,s);if(!le(h,T.value,T.matchMode))return!1;continue}let n=J(e,s);if(!le(n,r))return!1}return!0}function ye(e,t,a,l,o=0){if(o>=ie)return[];let s=[];for(let r of e){let n=r.data??{};if(et(n,t,a,l))s.push(r);else if(r.children?.length){let h=ye(r.children,t,a,l,o+1);h.length>0&&s.push({...r,children:h})}}return s}function Se(e,t){if(t)return!0;let a=Object.keys(e).filter(l=>l!=="global");for(let l of a){let o=e[l];if(o){if(typeof o=="object"&&o!==null&&"constraints"in o){if((o.constraints??[]).some(n=>n.value!==null&&n.value!==void 0&&n.value!==""))return!0;continue}if(typeof o=="object"&&o!==null&&"value"in o){let s=o.value;if(s!=null&&s!=="")return!0;continue}if(o!=null&&o!=="")return!0}}return!1}function ke(e,t,a,l){if(a>=ie)return[];let o=[],s=e.length;for(let r=0;r<e.length;r++){let n=e[r],T=!!n.children?.length,h=T||n.leaf===!1,E=n.leaf===!0||!T&&n.leaf!==!1;o.push({...n.data??{},key:n.key,data:n.data??{},children:n.children,_treeLevel:a,_treeHasChildren:h,_treeLeaf:E,_treeParentKey:l,_treePosInSet:r+1,_treeSetSize:s}),T&&t[n.key]&&o.push(...ke(n.children,t,a+1,n.key))}return o}function tt(e){let{data:t,treeMode:a,expandedKeys:l,sortField:o,sortOrder:s,multiSortMeta:r,filters:n={},globalFilter:T=null,globalFilterFields:h=[],paginator:E=!1,page:M=0,rows:C=10}=e,m=Z.useMemo(()=>{if(!a)return t;let f=t;if(Se(n,T)&&(f=ye(f,n,T,h)),r&&r.length>0?f=xe(f,r):o&&s!=null&&s!==0&&(f=De(f,o,s)),E){let x=M*C;f=f.slice(x,x+C)}return ke(f,l,0,null)},[t,a,l,o,s,r,n,T,h,E,M,C]),v=Z.useMemo(()=>{if(!a)return t.length;let f=t;return Se(n,T)&&(f=ye(f,n,T,h)),f.length},[t,a,n,T,h]),u=Z.useMemo(()=>({}),[]),c=Z.useMemo(()=>({}),[]);return{flattenedData:m,totalRootNodes:v,state:u,exposes:c}}import*as q from"react";function nt(e){let{data:t,treeMode:a,selectionMode:l,expandedKeys:o={},onToggleExpansion:s,onToggleSelection:r,getRowKey:n}=e,T=l==="single"?"single":"checkbox",[h,E]=q.useState(-1),M=q.useCallback(c=>h===-1?c===0?0:-1:c===h?0:-1,[h]),C=q.useCallback((c,f)=>{if(!c)return;let x=c.querySelector(`tr[data-scope="datatable"][data-part="row"][data-index="${f}"]`);if(x){E(f),x.focus();return}E(f)},[]),m=q.useCallback((c,f)=>{let x=c.target;if(x!==c.currentTarget){let i=x.tagName;if(i==="INPUT"||i==="SELECT"||i==="TEXTAREA"||x.isContentEditable||x.closest("[data-editing]"))return}let K=t.length,F=!0;switch(c.key){case"ArrowDown":{let i=Math.min(f+1,K-1);if(i!==f){let p=c.currentTarget.closest("tbody");if(C(p,i),c.shiftKey&&r){let d=t[i],g=n?.(d,i);g!==void 0&&r(c,g,T)}}break}case"ArrowUp":{let i=Math.max(f-1,0);if(i!==f){let p=c.currentTarget.closest("tbody");if(C(p,i),c.shiftKey&&r){let d=t[i],g=n?.(d,i);g!==void 0&&r(c,g,T)}}break}case"ArrowRight":{if(!a){F=!1;break}let i=t[f],p=n?.(i,f),d=i?._treeHasChildren,g=p!==void 0&&o[String(p)];if(d&&!g&&p!==void 0)s?.(c,p);else if(g){let y=c.currentTarget.closest("tbody");C(y,Math.min(f+1,K-1))}break}case"ArrowLeft":{if(!a){F=!1;break}let i=t[f],p=n?.(i,f),d=i?._treeHasChildren,g=p!==void 0&&o[String(p)];if(d&&g&&p!==void 0)s?.(c,p);else{let y=i?._treeParentKey;if(y!==null){let I=t.findIndex((R,b)=>String(n?.(R,b))===String(y));if(I>=0){let R=c.currentTarget.closest("tbody");C(R,I)}}}break}case"Home":{let i=c.currentTarget.closest("tbody");C(i,0);break}case"End":{let i=c.currentTarget.closest("tbody");C(i,K-1);break}case"Enter":case" ":{let i=c.target;if(i.tagName==="INPUT"||i.tagName==="SELECT"||i.tagName==="TEXTAREA"||i.tagName==="BUTTON"||i.tagName==="A"||i.isContentEditable){F=!1;break}if(r){let p=t[f],d=n?.(p,f);d!==void 0&&r(c,d,T)}break}default:F=!1}F&&c.preventDefault()},[t,a,o,C,s,r,n,T]),v=q.useMemo(()=>({focusedRowIndex:h}),[h]),u=q.useMemo(()=>({getRowTabIndex:M,onRowKeyDown:m,focusRow:C}),[M,m,C]);return{state:v,exposes:u}}export{Ae as FilterMatchMode,ze as FilterOperator,Ke as useDataTableColumnReorder,Oe as useDataTableColumnResize,Le as useDataTableEditing,Ie as useDataTableExpansion,Ne as useDataTableExport,je as useDataTableFilter,We as useDataTableGrouping,nt as useDataTableKeyboard,$e as useDataTablePagination,Ve as useDataTableRowReorder,Ye as useDataTableSelection,Je as useDataTableSort,tt as useDataTableTree};
|
|
@@ -33,7 +33,7 @@ export interface DataTableExportOptions {
|
|
|
33
33
|
export interface UseDataTableExportOptions {
|
|
34
34
|
data?: Record<string, unknown>[];
|
|
35
35
|
dataKey?: string | null;
|
|
36
|
-
|
|
36
|
+
selectionKeys?: Record<string, boolean>;
|
|
37
37
|
}
|
|
38
38
|
export declare function useDataTableExport(options: UseDataTableExportOptions): {
|
|
39
39
|
state: Readonly<{}>;
|
|
@@ -5,7 +5,7 @@ export interface UseDataTableKeyboardOptions {
|
|
|
5
5
|
dataKey?: string | null;
|
|
6
6
|
treeMode?: boolean;
|
|
7
7
|
selectionMode?: 'single' | 'multiple' | null;
|
|
8
|
-
|
|
8
|
+
selectionKeys?: SelectionKeys;
|
|
9
9
|
expandedKeys?: ExpandedKeys;
|
|
10
10
|
onToggleExpansion?: (event: React.SyntheticEvent, key: string | number) => void;
|
|
11
11
|
onToggleSelection?: (event: React.SyntheticEvent, key: string | number, mode: 'checkbox' | 'radio' | 'single') => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SelectionKeys, UseDataTableSelectionEvent } from '@primereact/types/headless/datatable';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
export interface UseDataTableSelectionOptions {
|
|
4
4
|
data: Record<string, unknown>[];
|
|
@@ -7,14 +7,14 @@ export interface UseDataTableSelectionOptions {
|
|
|
7
7
|
dataKey?: string | null;
|
|
8
8
|
selectionMode?: 'single' | 'multiple' | null;
|
|
9
9
|
metaKeySelection?: boolean;
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
selectionKeys?: SelectionKeys;
|
|
11
|
+
defaultSelectionKeys?: SelectionKeys;
|
|
12
12
|
onSelectionChange?: (event: UseDataTableSelectionEvent) => void;
|
|
13
13
|
}
|
|
14
14
|
export declare function useDataTableSelection(options: UseDataTableSelectionOptions): {
|
|
15
15
|
getRowKey: (item: Record<string, unknown>, index: number) => string | number;
|
|
16
16
|
state: {
|
|
17
|
-
|
|
17
|
+
selectionKeys: SelectionKeys;
|
|
18
18
|
};
|
|
19
19
|
exposes: {
|
|
20
20
|
isSelected: (key: string | number) => boolean;
|
package/datatable/index.mjs
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
${
|
|
3
|
-
${
|
|
4
|
-
${
|
|
5
|
-
width: ${
|
|
6
|
-
max-width: ${
|
|
1
|
+
import{withHeadless as it}from"@primereact/core/headless";import*as q from"react";import*as I from"react";var Be=Object.freeze({});function Ce(e){let{reorderableColumns:t=!1}=e,n=I.useRef(-1),i=I.useRef(null),r=I.useRef(-1),l=I.useRef(0),a=I.useRef(null),o=I.useRef(null),R=I.useRef(null),C=I.useRef(new Map),y=I.useRef(-1),S=I.useRef(null),M=I.useCallback((f,b)=>(C.current.set(f,b),()=>{C.current.delete(f),y.current===f&&(y.current=-1,S.current=null)}),[]),h=I.useCallback((f,b)=>{let D=y.current,P=S.current;D===f&&P===b||(D!==-1&&D!==f&&C.current.get(D)?.(null),C.current.get(f)?.({side:b}),y.current=f,S.current=b)},[]),T=I.useCallback(()=>{let f=y.current;f!==-1&&(C.current.get(f)?.(null),y.current=-1,S.current=null)},[]),g=I.useCallback((f,b)=>{t&&(n.current=b,i.current=f.currentTarget,f.dataTransfer.effectAllowed="move",f.dataTransfer.setData("text/plain",String(b)))},[t]),d=I.useCallback((f,b)=>{if(!t||n.current===-1||n.current===b)return;f.preventDefault(),f.dataTransfer.dropEffect="move";let P=f.currentTarget.getBoundingClientRect(),U=f.clientX>P.left+P.width/2?"end":"start";l.current=U==="end"?1:-1,r.current=b,h(b,U);let z=a.current,A=o.current,L=R.current;if(z&&A&&L){let w=L.getBoundingClientRect(),O=z.offsetHeight,x=z.offsetWidth,H=P.left-w.left,W=U==="end"?H+P.width-Math.ceil(x/2):H-Math.ceil(x/2);z.style.top=P.top-w.top-O+1+"px",z.style.left=W+"px",A.style.top=P.top-w.top+P.height+"px",A.style.left=W+"px",z.style.display="block",A.style.display="block"}},[t,h]),u=I.useCallback((f,b)=>{!t||n.current===-1||(f.preventDefault(),r.current=b)},[t]),v=I.useCallback(()=>{a.current&&(a.current.style.display="none"),o.current&&(o.current.style.display="none")},[]),k=I.useCallback(f=>{},[t]),F=I.useCallback((f,b)=>{if(!t||n.current===-1)return;f.preventDefault();let D=n.current,P=b,U=l.current,z=D!==P;z&&(P-D===1&&U===-1||P-D===-1&&U===1)&&(z=!1),z&&(P<D&&U===1&&P++,P>D&&U===-1&&P--,e.onColumnReorder?.({originalEvent:f.nativeEvent,dragIndex:D,dropIndex:P})),v(),T(),n.current=-1,r.current=-1,l.current=0,i.current=null},[t,e.onColumnReorder,T,v]),c=I.useCallback(f=>{t&&(v(),T(),n.current=-1,r.current=-1,l.current=0,i.current=null)},[t,T,v]),E=I.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder",style:{cursor:"grab",userSelect:"none"}}),[]),m=I.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder-indicator-up",ref:f=>{a.current=f}}),[]),s=I.useCallback(()=>({"data-scope":"datatable","data-part":"column-reorder-indicator-down",ref:f=>{o.current=f}}),[]),p=I.useCallback(f=>{R.current=f},[]),K=I.useMemo(()=>({onDragStart:g,onDragOver:d,onDragEnter:u,onDragLeave:k,onDrop:F,onDragEnd:c,registerDropTarget:M,getColumnReorderHandleProps:E,getColumnReorderIndicatorUpProps:m,getColumnReorderIndicatorDownProps:s}),[g,d,u,k,F,c,M,E,m,s]);return{state:Be,exposes:K,registerRoot:p}}import*as $ from"react";var Ye=Object.freeze({}),ae=15;function Se(e){let{resizableColumns:t=!1,columnResizeMode:n="fit"}=e,i=$.useRef(null),r=$.useRef(null),l=$.useCallback(g=>{r.current=g},[]),a=$.useRef(null),o=$.useCallback((g,d)=>{if(typeof document>"u")return;if(!a.current){let k=document.createElement("style");k.setAttribute("data-primereact-datatable-resize",""),document.head.appendChild(k),a.current=k}let u=g.getAttribute("data-resize-id");u||(u=`dt-resize-${Math.random().toString(36).slice(2,9)}`,g.setAttribute("data-resize-id",u));let v=d.map((k,F)=>{let c=F+1,E=`table[data-resize-id="${u}"]`;return`
|
|
2
|
+
${E} > thead > tr > th:nth-child(${c}),
|
|
3
|
+
${E} > tbody > tr > td:nth-child(${c}),
|
|
4
|
+
${E} > tfoot > tr > td:nth-child(${c}) {
|
|
5
|
+
width: ${k}px !important;
|
|
6
|
+
max-width: ${k}px !important;
|
|
7
7
|
}
|
|
8
8
|
`}).join(`
|
|
9
|
-
`);
|
|
10
|
-
`);if(typeof document=="undefined"||typeof URL=="undefined"||typeof Blob=="undefined")return;let S=new Blob([m],{type:"text/csv;charset=utf-8;"}),p=URL.createObjectURL(S),i=document.createElement("a");i.setAttribute("href",p),i.setAttribute("download",`${l}.csv`),i.style.display="none",document.body.appendChild(i);try{i.click()}finally{i.parentNode===document.body&&document.body.removeChild(i),URL.revokeObjectURL(p)}},[e.data,e.dataKey,e.selectedKeys]),n=fe.useMemo(()=>({exportCSV:t}),[t]);return{state:dt,exposes:n}}import{useFilter as ut}from"@primereact/hooks/use-filter";import*as G from"react";var ft={Contains:"contains",NotContains:"notContains",StartsWith:"startsWith",EndsWith:"endsWith",Equals:"equals",NotEquals:"notEquals",In:"in",Between:"between",Lt:"lt",Lte:"lte",Gt:"gt",Gte:"gte",DateIs:"dateIs",DateIsNot:"dateIsNot",DateBefore:"dateBefore",DateAfter:"dateAfter",Custom:"custom"},gt={And:"and",Or:"or"},ze=Object.freeze({});function Ne(e){var _,W,Q,X;let{data:t=[],lazy:n=!1,globalFilterFields:r=[]}=e,s=e.filters!==void 0,[o,l]=G.useState((_=e.defaultFilters)!=null?_:ze),a=s?(W=e.filters)!=null?W:ze:o;G.useEffect(()=>{s&&e.filters&&l(e.filters)},[s,e.filters]);let d=(Q=e.globalFilter)!=null?Q:null,T=(X=e.filterDelay)!=null?X:0,[b,g]=G.useState(a),[m,S]=G.useState(d);G.useEffect(()=>{if(T<=0){g(a),S(d);return}let z=setTimeout(()=>{g(a),S(d)},T);return()=>clearTimeout(z)},[a,d,T]);let p=T>0?b:a,i=T>0?m:d,u=G.useCallback((z,E)=>{var H;s||l(E),(H=e.onFilter)==null||H.call(e,{originalEvent:z,filters:E})},[s,e.onFilter]),R=G.useCallback((z,E,H)=>{let L=V(k({},a),{[E]:H});u(z,L)},[a,u]),F=G.useCallback((z,E)=>{var U,A,B,$;let H=a[E],L=k({},a);if(H&&typeof H=="object"&&H!==null&&"constraints"in H){let te=H;L[E]={operator:(U=te.operator)!=null?U:"and",constraints:[{value:null,matchMode:($=(B=(A=te.constraints)==null?void 0:A[0])==null?void 0:B.matchMode)!=null?$:"contains"}]}}else H&&typeof H=="object"&&H!==null&&"matchMode"in H?L[E]={value:null,matchMode:H.matchMode}:delete L[E];u(z,L)},[a,u]),P=G.useCallback(z=>{u(z,{})},[u]),I=G.useCallback((z,E,H="contains")=>{var A,B;let L=a[E],U=k({},a);if(L&&typeof L=="object"&&L!==null&&"constraints"in L){let $=L,te=[...(A=$.constraints)!=null?A:[],{value:null,matchMode:H}];U[E]=V(k({},$),{constraints:te})}else{let $=L&&typeof L=="object"&&"value"in L?L.value:null,te=L&&typeof L=="object"&&"matchMode"in L&&(B=L.matchMode)!=null?B:"contains";U[E]={operator:"and",constraints:[{value:$,matchMode:te},{value:null,matchMode:H}]}}u(z,U)},[a,u]),y=G.useCallback((z,E,H)=>{var $;let L=a[E];if(!L||typeof L!="object"||!("constraints"in L))return;let U=L,A=(($=U.constraints)!=null?$:[]).filter((te,de)=>de!==H);if(A.length===0)return;let B=V(k({},a),{[E]:V(k({},U),{constraints:A})});u(z,B)},[a,u]),M=G.useCallback((z,E,H)=>{var A;let L=a[E],U=k({},a);if(L&&typeof L=="object"&&L!==null&&"constraints"in L)U[E]=V(k({},L),{operator:H});else{let B=L&&typeof L=="object"&&"value"in L?L.value:null,$=L&&typeof L=="object"&&"matchMode"in L&&(A=L.matchMode)!=null?A:"contains";U[E]={operator:H,constraints:[{value:B,matchMode:$}]}}u(z,U)},[a,u]),w=G.useCallback((z,E,H,L,U)=>{var de;let A=a[E];if(!A||typeof A!="object"||!("constraints"in A))return;let B=A,$=[...(de=B.constraints)!=null?de:[]];H>=0&&H<$.length&&($[H]={value:L,matchMode:U!=null?U:$[H].matchMode});let te=V(k({},a),{[E]:V(k({},B),{constraints:$})});u(z,te)},[a,u]),c=G.useCallback((z,E,H,L)=>{var te;let U=a[E];if(!U||typeof U!="object"||!("constraints"in U))return;let A=U,B=[...(te=A.constraints)!=null?te:[]];H>=0&&H<B.length&&(B[H]=V(k({},B[H]),{matchMode:L}));let $=V(k({},a),{[E]:V(k({},A),{constraints:B})});u(z,$)},[a,u]),C=G.useCallback(z=>{var H;let E=a[z];return E?typeof E=="object"&&E!==null&&"constraints"in E?((H=E.constraints)!=null?H:[]).some(U=>U.value!==null&&U.value!==void 0&&U.value!==""):typeof E=="object"&&E!==null&&"value"in E?E.value!==null&&E.value!==void 0&&E.value!=="":E!=null&&E!=="":!1},[a]),f=G.useCallback(()=>d?!0:Object.keys(a).some(z=>C(z)),[a,d,C]),h=G.useCallback(z=>{let E=a[z];return E?typeof E=="object"&&E!==null?E:{value:E,matchMode:"contains"}:{value:null,matchMode:"contains"}},[a]),v=G.useMemo(()=>{var E,H;let z=[];for(let L of Object.keys(p)){if(L==="global")continue;let U=p[L];if(U){if(typeof U=="object"&&U!==null){let A=U;if(A.constraints&&A.constraints.length>0){z.push({field:L,operator:(E=A.operator)!=null?E:"and",constraints:A.constraints.map(B=>{var $;return{value:B.value,matchMode:($=B.matchMode)!=null?$:"contains"}})});continue}if("value"in A||"matchMode"in A){z.push({field:L,value:A.value,matchMode:(H=A.matchMode)!=null?H:"contains"});continue}}z.push({field:L,value:U,matchMode:"contains"})}}return i&&r.length>0&&z.push({field:r,value:i,matchMode:"contains"}),z},[p,i,r]),x=ut({data:t,rules:v,lazy:n}).filteredData,K=G.useMemo(()=>({filters:a,globalFilter:d}),[a,d]),O=G.useCallback((z,E="row")=>k({"data-scope":"datatable","data-part":"filter","data-display":E},C(z)?{"data-active":""}:void 0),[C]),N=G.useMemo(()=>({setFieldFilter:R,clearFieldFilter:F,clearAllFilters:P,addConstraint:I,removeConstraint:y,setOperator:M,setConstraintValue:w,setConstraintMatchMode:c,hasFilterValue:C,isFiltered:f,getFieldFilterMeta:h,getFilterRootProps:O}),[R,F,P,I,y,M,w,c,C,f,h,O]);return{filteredData:x,state:K,exposes:N}}import{resolveFieldData as mt}from"@primeuix/utils";import*as ge from"react";function Ue(e){let{data:t,groupField:n}=e,r=ge.useMemo(()=>{if(!n)return;let l=new Map;if(t.length===0)return l;let a=[],d,T=0;for(let b=0;b<t.length;b++){let g=mt(t[b],n);b===0?(d=g,T=0):g!==d&&(a.push({start:T,end:b-1,value:d}),d=g,T=b)}a.push({start:T,end:t.length-1,value:d});for(let b=0;b<a.length;b++){let g=a[b],m=g.end-g.start+1;for(let S=g.start;S<=g.end;S++)l.set(S,{isGroupStart:S===g.start,isGroupEnd:S===g.end,groupValue:g.value,groupCount:m,groupIndex:b})}return l},[t,n]),s=ge.useMemo(()=>({}),[]);return{state:ge.useMemo(()=>({groupMetaMap:r}),[r]),exposes:s}}import*as ne from"react";function Ae(e){var I,y,M,w,c;let{data:t,lazy:n,paginator:r}=e,s=e.page!==void 0,o=e.rows!==void 0,[l,a]=ne.useState((I=e.defaultPage)!=null?I:0),[d,T]=ne.useState((y=e.defaultRows)!=null?y:10),b=s?(M=e.page)!=null?M:0:l,g=o?(w=e.rows)!=null?w:10:d,m=n?(c=e.totalRecords)!=null?c:0:t.length,S=Math.max(1,Math.ceil(m/g)),p=b*g;ne.useEffect(()=>{!s&&b>=S&&S>0&&a(S-1)},[S,b,s]);let i=ne.useMemo(()=>!r||n?t:t.slice(p,p+g),[t,r,n,p,g]),u=ne.useCallback((C,f)=>{var v;if(f<0||f>=S)return;s||a(f);let h=f*g;(v=e.onPageChange)==null||v.call(e,{originalEvent:C,page:f,rows:g,first:h,pageCount:S})},[S,g,s,e.onPageChange]),R=ne.useCallback((C,f)=>{var v;if(f<=0)return;o||T(f),s||a(0);let h=Math.max(1,Math.ceil(m/f));(v=e.onPageChange)==null||v.call(e,{originalEvent:C,page:0,rows:f,first:0,pageCount:h})},[m,o,s,e.onPageChange]),F=ne.useMemo(()=>({page:b,rows:g,first:p,pageCount:S,totalRecords:m,onPageChange:u,onRowsChange:R}),[b,g,p,S,m,u,R]),P=ne.useMemo(()=>({page:b,rows:g,first:p,pageCount:S,totalRecords:m}),[b,g,p,S,m]);return{paginatedData:i,state:P,exposes:F}}import*as Z from"react";var bt=Object.freeze({}),Se="data-dragpoint-top",Te="data-dragpoint-bottom";function me(e){e&&(e.removeAttribute(Se),e.removeAttribute(Te))}function je(e){let{reorderableRows:t=!1}=e,n=Z.useRef(-1),r=Z.useRef(-1),s=Z.useRef(null),o=Z.useCallback((p,i)=>{t&&(n.current=i,p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",String(i)))},[t]),l=Z.useCallback((p,i)=>{if(!t||n.current===-1||n.current===i)return;p.preventDefault(),p.dataTransfer.dropEffect="move";let u=p.currentTarget,R=u.getBoundingClientRect(),F=R.top+R.height/2;s.current&&s.current!==u&&me(s.current),p.clientY<F?(u.setAttribute(Se,""),u.removeAttribute(Te),r.current=i):(u.setAttribute(Te,""),u.removeAttribute(Se),r.current=i+1),s.current=u},[t]),a=Z.useCallback(p=>{if(!t)return;let i=p.currentTarget;me(i),s.current===i&&(s.current=null)},[t]),d=Z.useCallback(p=>{var F,P;if(!t||n.current===-1)return;p.preventDefault();let i=(F=e.data)!=null?F:[],u=n.current,R=r.current;if(R>u&&(R-=1),R!==u&&R>=0&&R<=i.length){let I=[...i],[y]=I.splice(u,1);I.splice(R,0,y),(P=e.onRowReorder)==null||P.call(e,{originalEvent:p.nativeEvent,dragIndex:u,dropIndex:R,value:I})}me(s.current),s.current=null,n.current=-1,r.current=-1},[t,e.data,e.onRowReorder]),T=Z.useCallback(()=>{t&&(me(s.current),s.current=null,n.current=-1,r.current=-1)},[t]),b=Z.useCallback(p=>{let i=p.currentTarget.closest("tr");i&&i.setAttribute("data-drag-source","true")},[]),g=Z.useCallback(p=>{let i=p.currentTarget.closest("tr");i&&i.removeAttribute("data-drag-source")},[]),m=Z.useCallback(()=>({"data-scope":"datatable","data-part":"row-reorder",style:{cursor:"grab",userSelect:"none",touchAction:"none"},onPointerDown:b,onPointerUp:g}),[b,g]),S=Z.useMemo(()=>({onDragStart:o,onDragOver:l,onDragEnter:l,onDragLeave:a,onDrop:d,onDragEnd:T,getRowReorderHandleProps:m}),[o,l,a,d,T,m]);return{state:bt,exposes:S}}import*as q from"react";var ve=Object.freeze({});function _e(e){let t=[];if(e.children)for(let n of e.children)t.push(n.key),t.push(..._e(n));return t}function be(e,t){for(let n of e){if(n.key===t)return n;if(n.children){let r=be(n.children,t);if(r)return r}}return null}function Rt(e,t){let n=[];function r(s,o){for(let l of s){if(l.key===t)return n.push(...o),!0;if(l.children&&r(l.children,[...o,l.key]))return!0}return!1}return r(e,[]),n}function We(e,t){return!e.children||e.children.length===0?!0:e.children.every(n=>t[n.key]===!0&&We(n,t))}function $e(e,t){return e.children?e.children.some(n=>t[n.key]===!0||$e(n,t)):!1}function yt(e,t,n){let r=Rt(e,t);for(let s=r.length-1;s>=0;s--){let o=r[s],l=be(e,o);l&&We(l,n)?n[o]=!0:delete n[o]}}function Ge(e){var y;let{data:t}=e,n=q.useRef(null),r=e.selectedKeys!==void 0,[s,o]=q.useState(()=>{var M,w;return(w=(M=e.selectedKeys)!=null?M:e.defaultSelectedKeys)!=null?w:ve}),l=r?(y=e.selectedKeys)!=null?y:ve:s;q.useEffect(()=>{var M;r&&o((M=e.selectedKeys)!=null?M:ve)},[r,e.selectedKeys]);let a=q.useCallback((M,w)=>e.dataKey&&M?String(M[e.dataKey]):w,[e.dataKey]),d=q.useCallback(M=>l[String(M)]===!0,[l]),T=e.treeMode?e.rawTreeData:void 0,b=q.useMemo(()=>{let M=new Map;for(let w=0;w<t.length;w++)M.set(String(a(t[w],w)),w);return M},[t,a]),g=q.useCallback((M,w,c)=>{var v,D,x;let C=String(w),f,h=!0;if(c==="radio")f={[C]:!0};else if(c==="single")f=l[C]?{}:{[C]:!0};else if(M.shiftKey===!0&&!T&&n.current!==null&&n.current!==C){let O=n.current,N=(v=b.get(O))!=null?v:-1,_=(D=b.get(C))!=null?D:-1;if(N>=0&&_>=0){let W=Math.min(N,_),Q=Math.max(N,_);f=k({},l);for(let X=W;X<=Q;X++){let z=String(a(t[X],X));f[z]=!0}}else f=V(k({},l),{[C]:!0});h=!1}else{f=k({},l);let O=!f[C];if(O?f[C]=!0:delete f[C],T){let N=be(T,C);if(N){let _=_e(N);for(let W of _)O?f[W]=!0:delete f[W]}yt(T,C,f)}}h&&c!=="radio"&&(n.current=C),r||o(f),(x=e.onSelectionChange)==null||x.call(e,{originalEvent:M,value:f,type:c==="radio"?"radio":c==="single"?"row":"checkbox"})},[t,a,l,r,e.onSelectionChange,T,b]),m=q.useCallback(M=>{let w=[];for(let c of M)w.push(c.key),c.children&&w.push(...m(c.children));return w},[]),S=q.useMemo(()=>{if(T){let w=m(T);if(w.length===0)return{all:!1,some:!1};let c=w.reduce((C,f)=>l[f]===!0?C+1:C,0);return{all:c===w.length,some:c>0&&c<w.length}}if(t.length===0)return{all:!1,some:!1};let M=0;for(let w=0;w<t.length;w++){let c=String(a(t[w],w));l[c]===!0&&M++}return{all:M===t.length,some:M>0&&M<t.length}},[t,T,l,a,m]),p=q.useCallback(()=>S.all,[S]),i=q.useCallback(()=>S.some,[S]),u=q.useCallback(M=>{var c;let w;if(p())w={};else if(w={},T){let C=m(T);for(let f of C)w[f]=!0}else t.forEach((C,f)=>{let h=String(a(C,f));w[h]=!0});r||o(w),(c=e.onSelectionChange)==null||c.call(e,{originalEvent:M,value:w,type:"all"})},[t,T,p,r,a,m,e.onSelectionChange]),R=q.useCallback((M,w)=>{var K;let{selectionMode:c,metaKeySelection:C}=e;if(!c)return;let f=String(w),h=M.metaKey||M.ctrlKey,v=M.shiftKey,D,x=!0;if(c==="single")D=l[f]?{}:{[f]:!0};else if(C)if(v&&n.current!==null&&n.current!==f){let O=n.current,N=-1,_=-1;for(let W=0;W<t.length;W++){let Q=String(a(t[W],W));if(Q===O&&(N=W),Q===f&&(_=W),N>=0&&_>=0)break}if(N>=0&&_>=0){let W=Math.min(N,_),Q=Math.max(N,_);D=h?k({},l):{};for(let X=W;X<=Q;X++){let z=String(a(t[X],X));D[z]=!0}}else D=V(k({},l),{[f]:!0});x=!1}else h?(D=k({},l),D[f]?delete D[f]:D[f]=!0):D={[f]:!0};else D=k({},l),D[f]?delete D[f]:D[f]=!0;x&&(n.current=f),r||o(D),(K=e.onSelectionChange)==null||K.call(e,{originalEvent:M,value:D,type:"row"})},[t,a,l,r,e.selectionMode,e.metaKeySelection,e.onSelectionChange]),F=q.useCallback(M=>{if(!T)return!1;let w=be(T,String(M));return!w||!w.children||w.children.length===0?!1:!l[String(M)]&&$e(w,l)},[T,l]),P=q.useMemo(()=>({isSelected:d,isPartiallySelected:F,toggleSelection:g,toggleAll:u,isAllSelected:p,isSomeSelected:i,onRowClick:R}),[d,F,g,u,p,i,R]),I=q.useMemo(()=>({selectedKeys:l}),[l]);return{getRowKey:a,state:I,exposes:P}}import*as ee from"react";import{localeComparator as ht,resolveFieldData as Re,sort as we}from"@primeuix/utils";var pe=ht(),ye=(e,t,n,r=1)=>we(e,t,n,pe,r),ke=(e,t,n,r=1)=>!t||n===0?e:[...e].sort((s,o)=>we(Re(s,t),Re(o,t),n,pe,r)),De=(e,t,n=1)=>!t||t.length===0?e:[...e].sort((r,s)=>{for(let o of t){let l=we(Re(r,o.field),Re(s,o.field),o.order,pe,n);if(l!==0)return l}return 0});function Ve(e){var w;let{data:t,lazy:n}=e,r=e.sortField!==void 0,s=e.multiSortMeta!==void 0,[o,l]=ee.useState(e.defaultSortField),[a,d]=ee.useState(e.defaultSortOrder),[T,b]=ee.useState(e.defaultMultiSortMeta),g=r?e.sortField:o,m=r?e.sortOrder:a,S=s?e.multiSortMeta:T,p=ee.useCallback(c=>S&&S.length>0?S.some(C=>C.field===c):g===c&&m!==0,[g,m,S]),i=ee.useCallback(c=>{var C;if(S&&S.length>0){let f=S.find(h=>h.field===c);return(C=f==null?void 0:f.order)!=null?C:0}return g===c&&m!=null?m:0},[g,m,S]),u=ee.useCallback(c=>S&&S.length>0?S.findIndex(C=>C.field===c):-1,[S]),R=ee.useCallback((c,C,f)=>{var D,x;let h=i(C),v;if(h===0?v=1:h===1?v=-1:v=e.removableSort?0:1,f){let K=[...S!=null?S:[]],O=K.findIndex(N=>N.field===C);v===0?O!==-1&&K.splice(O,1):O!==-1?K[O]={field:C,order:v}:K.push({field:C,order:v}),s||b(K),(D=e.onSortChange)==null||D.call(e,{originalEvent:c,field:C,order:v,multiSortMeta:K})}else r||(l(v===0?void 0:C),d(v)),s||b(void 0),(x=e.onSortChange)==null||x.call(e,{originalEvent:c,field:C,order:v,multiSortMeta:void 0})},[i,e.removableSort,e.onSortChange,r,s,S]),F=(w=e.nullSortOrder)!=null?w:1,P=ee.useMemo(()=>n?t:S&&S.length>0?De(t,S,F):g&&m!=null&&m!==0?ke(t,g,m,F):t,[t,n,g,m,S,F]),I=ee.useCallback(c=>{let C=p(c),f=i(c),h=C?f===1?"ascending":"descending":"",v=x=>{if(!c)return;let K=x.metaKey||x.ctrlKey;R(x,c,K)},D=x=>{(x.key==="Enter"||x.key===" ")&&(x.preventDefault(),v(x))};return V(k({"data-scope":"datatable","data-part":"sort"},C?{"data-sorted":"","data-sort-order":f===1?"asc":"desc"}:{"data-unsorted":""}),{role:"button",tabIndex:0,"aria-label":`Sort by ${c}${h?` ${h}`:""}`,"aria-sort":C?f===1?"ascending":"descending":"none",onClick:v,onKeyDown:D})},[p,i,R]),y=ee.useMemo(()=>({onSort:R,isSorted:p,getSortOrder:i,getSortIndex:u,getSortProps:I}),[R,p,i,u,I]),M=ee.useMemo(()=>({sortField:g,sortOrder:m,multiSortMeta:S}),[g,m,S]);return{sortedData:P,state:M,exposes:y}}import{BUILT_IN_MATCHERS as Et,getGlobalMatchers as Mt}from"@primereact/hooks/use-filter";import{resolveFieldData as le}from"@primeuix/utils";import*as ie from"react";function Be(e,t,n,r){var o;let s=(o=Et[e])!=null?o:Mt()[e];return s?s(t,n,r):!0}var Me=100;function Ye(e,t,n,r=0){return r>=Me?e:[...e].sort((o,l)=>{let a=o.data?le(o.data,t):void 0,d=l.data?le(l.data,t):void 0;return ye(a,d,n)}).map(o=>{var l;return(l=o.children)!=null&&l.length?V(k({},o),{children:Ye(o.children,t,n,r+1)}):o})}function Xe(e,t,n=0){return n>=Me?e:[...e].sort((s,o)=>{for(let l of t){let a=s.data?le(s.data,l.field):void 0,d=o.data?le(o.data,l.field):void 0,T=ye(a,d,l.order);if(T!==0)return T}return 0}).map(s=>{var o;return(o=s.children)!=null&&o.length?V(k({},s),{children:Xe(s.children,t,n+1)}):s})}function he(e,t,n="contains"){return Be(n,e,t)}function Ct(e,t,n,r){var o,l;if(n&&r.length>0&&!r.some(d=>Be("contains",le(e,d),n)))return!1;let s=Object.keys(t).filter(a=>a!=="global");for(let a of s){let d=t[a];if(!d)continue;if(typeof d=="object"&&d!==null&&"constraints"in d){let b=d,g=(o=b.operator)!=null?o:"and",m=(l=b.constraints)!=null?l:[];if(m.length>0){let S=le(e,a);if(g==="and"){if(!m.every(i=>he(S,i.value,i.matchMode)))return!1}else if(!m.some(i=>he(S,i.value,i.matchMode)))return!1}continue}if(typeof d=="object"&&d!==null&&"value"in d){let b=d,g=le(e,a);if(!he(g,b.value,b.matchMode))return!1;continue}let T=le(e,a);if(!he(T,d))return!1}return!0}function ce(e,t,n,r,s=0){var l,a;if(s>=Me)return[];let o=[];for(let d of e){let T=(l=d.data)!=null?l:{};if(Ct(T,t,n,r))o.push(d);else if((a=d.children)!=null&&a.length){let g=ce(d.children,t,n,r,s+1);g.length>0&&o.push(V(k({},d),{children:g}))}}return o}function Ee(e,t){var r;if(t)return!0;let n=Object.keys(e).filter(s=>s!=="global");for(let s of n){let o=e[s];if(o){if(typeof o=="object"&&o!==null&&"constraints"in o){if(((r=o.constraints)!=null?r:[]).some(d=>d.value!==null&&d.value!==void 0&&d.value!==""))return!0;continue}if(typeof o=="object"&&o!==null&&"value"in o){let l=o.value;if(l!=null&&l!=="")return!0;continue}if(o!=null&&o!=="")return!0}}return!1}function qe(e,t,n,r){var l,a,d;if(n>=Me)return[];let s=[],o=e.length;for(let T=0;T<e.length;T++){let b=e[T],g=!!((l=b.children)!=null&&l.length),m=g||b.leaf===!1,S=b.leaf===!0||!g&&b.leaf!==!1;s.push(V(k({},(a=b.data)!=null?a:{}),{key:b.key,data:(d=b.data)!=null?d:{},children:b.children,_treeLevel:n,_treeHasChildren:m,_treeLeaf:S,_treeParentKey:r,_treePosInSet:T+1,_treeSetSize:o})),g&&t[b.key]&&s.push(...qe(b.children,t,n+1,b.key))}return s}function Je(e){let{data:t,treeMode:n,expandedKeys:r,sortField:s,sortOrder:o,multiSortMeta:l,filters:a={},globalFilter:d=null,globalFilterFields:T=[],paginator:b=!1,page:g=0,rows:m=10}=e,S=ie.useMemo(()=>{if(!n)return t;let R=t;if(Ee(a,d)&&(R=ce(R,a,d,T)),l&&l.length>0?R=Xe(R,l):s&&o!=null&&o!==0&&(R=Ye(R,s,o)),b){let F=g*m;R=R.slice(F,F+m)}return qe(R,r,0,null)},[t,n,r,s,o,l,a,d,T,b,g,m]),p=ie.useMemo(()=>{if(!n)return t.length;let R=t;return Ee(a,d)&&(R=ce(R,a,d,T)),R.length},[t,n,a,d,T]),i=ie.useMemo(()=>({}),[]),u=ie.useMemo(()=>({}),[]);return{flattenedData:S,totalRootNodes:p,state:i,exposes:u}}import*as oe from"react";function Qe(e){let{data:t,treeMode:n,selectionMode:r,expandedKeys:s={},onToggleExpansion:o,onToggleSelection:l,getRowKey:a}=e,d=r==="single"?"single":"checkbox",[T,b]=oe.useState(-1),g=oe.useCallback(u=>T===-1?u===0?0:-1:u===T?0:-1,[T]),m=oe.useCallback((u,R)=>{if(!u)return;let F=u.querySelector(`tr[data-scope="datatable"][data-part="row"][data-index="${R}"]`);if(F){b(R),F.focus();return}b(R)},[]),S=oe.useCallback((u,R)=>{let F=u.target;if(F!==u.currentTarget){let y=F.tagName;if(y==="INPUT"||y==="SELECT"||y==="TEXTAREA"||F.isContentEditable||F.closest("[data-editing]"))return}let P=t.length,I=!0;switch(u.key){case"ArrowDown":{let y=Math.min(R+1,P-1);if(y!==R){let M=u.currentTarget.closest("tbody");if(m(M,y),u.shiftKey&&l){let w=t[y],c=a==null?void 0:a(w,y);c!==void 0&&l(u,c,d)}}break}case"ArrowUp":{let y=Math.max(R-1,0);if(y!==R){let M=u.currentTarget.closest("tbody");if(m(M,y),u.shiftKey&&l){let w=t[y],c=a==null?void 0:a(w,y);c!==void 0&&l(u,c,d)}}break}case"ArrowRight":{if(!n){I=!1;break}let y=t[R],M=a==null?void 0:a(y,R),w=y==null?void 0:y._treeHasChildren,c=M!==void 0&&s[String(M)];if(w&&!c&&M!==void 0)o==null||o(u,M);else if(c){let C=u.currentTarget.closest("tbody");m(C,Math.min(R+1,P-1))}break}case"ArrowLeft":{if(!n){I=!1;break}let y=t[R],M=a==null?void 0:a(y,R),w=y==null?void 0:y._treeHasChildren,c=M!==void 0&&s[String(M)];if(w&&c&&M!==void 0)o==null||o(u,M);else{let C=y==null?void 0:y._treeParentKey;if(C!==null){let f=t.findIndex((h,v)=>String(a==null?void 0:a(h,v))===String(C));if(f>=0){let h=u.currentTarget.closest("tbody");m(h,f)}}}break}case"Home":{let y=u.currentTarget.closest("tbody");m(y,0);break}case"End":{let y=u.currentTarget.closest("tbody");m(y,P-1);break}case"Enter":case" ":{let y=u.target;if(y.tagName==="INPUT"||y.tagName==="SELECT"||y.tagName==="TEXTAREA"||y.tagName==="BUTTON"||y.tagName==="A"||y.isContentEditable){I=!1;break}if(l){let M=t[R],w=a==null?void 0:a(M,R);w!==void 0&&l(u,w,d)}break}default:I=!1}I&&u.preventDefault()},[t,n,s,m,o,l,a,d]),p=oe.useMemo(()=>({focusedRowIndex:T}),[T]),i=oe.useMemo(()=>({getRowTabIndex:g,onRowKeyDown:S,focusRow:m}),[g,S,m]);return{state:p,exposes:i}}var Ze={data:[],dataKey:void 0,loading:!1,lazy:!1,totalRecords:void 0,scrollable:!1,scrollHeight:void 0,sortField:void 0,sortOrder:void 0,defaultSortField:void 0,defaultSortOrder:void 0,multiSortMeta:void 0,defaultMultiSortMeta:void 0,onSortChange:void 0,removableSort:!1,nullSortOrder:1,selectionMode:null,metaKeySelection:!1,selectedKeys:void 0,defaultSelectedKeys:void 0,onSelectionChange:void 0,page:void 0,defaultPage:0,rows:void 0,defaultRows:10,rowsPerPageOptions:void 0,paginator:!1,onPageChange:void 0,expandedKeys:void 0,defaultExpandedKeys:void 0,onExpandedChange:void 0,groupField:void 0,reorderableColumns:!1,onColumnReorder:void 0,resizableColumns:!1,columnResizeMode:"fit",onColumnResizeEnd:void 0,editMode:void 0,editingKeys:void 0,defaultEditingKeys:void 0,onEditingKeysChange:void 0,onRowEditInit:void 0,onRowEditSave:void 0,onRowEditCancel:void 0,onCellEditInit:void 0,onCellEditComplete:void 0,onCellEditCancel:void 0,filters:void 0,defaultFilters:void 0,globalFilter:null,globalFilterFields:void 0,filterDelay:0,onFilter:void 0,reorderableRows:!1,onRowReorder:void 0,rowClassName:void 0,onLazyLoad:void 0,onRowClick:void 0,onRowDoubleClick:void 0,onRowContextMenu:void 0,rowHover:!1,highlightOnSelect:!0,treeMode:!1,size:void 0,stripedRows:!1,showGridlines:!1};var En=St({name:"useDataTable",defaultProps:Ze,setup({props:e}){var f,h;let t=(f=e.data)!=null?f:[],n=e.treeMode===!0,r=n||e.lazy,s=He({expandedKeys:e.expandedKeys,defaultExpandedKeys:e.defaultExpandedKeys,onExpandedChange:e.onExpandedChange}),o=Ne({data:t,lazy:r,filters:e.filters,defaultFilters:e.defaultFilters,globalFilter:e.globalFilter,globalFilterFields:e.globalFilterFields,filterDelay:e.filterDelay,onFilter:e.onFilter}),l=Ve({data:o.filteredData,lazy:r,sortField:e.sortField,sortOrder:e.sortOrder,defaultSortField:e.defaultSortField,defaultSortOrder:e.defaultSortOrder,multiSortMeta:e.multiSortMeta,defaultMultiSortMeta:e.defaultMultiSortMeta,removableSort:e.removableSort,nullSortOrder:e.nullSortOrder,onSortChange:e.onSortChange}),a=ae.useMemo(()=>{var O,N,_;if(!n)return 0;let v=t,D=(O=o.state.filters)!=null?O:{},x=(N=o.state.globalFilter)!=null?N:null,K=(_=e.globalFilterFields)!=null?_:[];return Ee(D,x)?ce(v,D,x,K).length:v.length},[n,t,o.state.filters,o.state.globalFilter,e.globalFilterFields]),d=Ae({data:l.sortedData,lazy:n?!0:e.lazy,totalRecords:n?a:e.totalRecords,paginator:e.paginator,page:e.page,defaultPage:e.defaultPage,rows:e.rows,defaultRows:e.defaultRows,onPageChange:e.onPageChange}),T=Je({data:t,treeMode:n,expandedKeys:s.state.expandedKeys,sortField:l.state.sortField,sortOrder:l.state.sortOrder,multiSortMeta:l.state.multiSortMeta,filters:o.state.filters,globalFilter:o.state.globalFilter,globalFilterFields:e.globalFilterFields,paginator:e.paginator,page:d.state.page,rows:d.state.rows}),b=n?T.flattenedData:l.sortedData,g=Ue({data:b,groupField:n?void 0:e.groupField}),m=Ge({data:b,rawTreeData:n?t:void 0,treeMode:n,dataKey:e.dataKey,selectionMode:e.selectionMode,metaKeySelection:e.metaKeySelection,selectedKeys:e.selectedKeys,defaultSelectedKeys:e.defaultSelectedKeys,onSelectionChange:e.onSelectionChange}),S=Qe({data:b,dataKey:e.dataKey,treeMode:n,selectionMode:e.selectionMode,selectedKeys:m.state.selectedKeys,expandedKeys:s.state.expandedKeys,onToggleExpansion:s.exposes.toggleExpansion,onToggleSelection:m.exposes.toggleSelection,getRowKey:m.getRowKey}),p=Ke({reorderableColumns:e.reorderableColumns,onColumnReorder:e.onColumnReorder}),i=Le({resizableColumns:e.resizableColumns,columnResizeMode:e.columnResizeMode,onColumnResizeEnd:e.onColumnResizeEnd}),u=Pe({editMode:e.editMode,editingKeys:e.editingKeys,defaultEditingKeys:e.defaultEditingKeys,onEditingKeysChange:e.onEditingKeysChange,onRowEditInit:e.onRowEditInit,onRowEditSave:e.onRowEditSave,onRowEditCancel:e.onRowEditCancel,onCellEditInit:e.onCellEditInit,onCellEditComplete:e.onCellEditComplete,onCellEditCancel:e.onCellEditCancel}),R=je({data:b,reorderableRows:e.reorderableRows,onRowReorder:e.onRowReorder}),F=Oe({data:b,dataKey:e.dataKey,selectedKeys:m.state.selectedKeys}),P=ae.useRef({first:-1,rows:-1,page:-1,sortField:void 0,sortOrder:void 0,multiSortMeta:void 0,filters:void 0,globalFilter:void 0});ae.useEffect(()=>{if(!e.lazy||!e.onLazyLoad)return;let v=P.current,D={first:d.state.first,rows:d.state.rows,page:d.state.page,sortField:l.state.sortField,sortOrder:l.state.sortOrder,multiSortMeta:l.state.multiSortMeta,filters:o.state.filters,globalFilter:o.state.globalFilter};v.first!==-1&&(v.first!==D.first||v.rows!==D.rows||v.page!==D.page||v.sortField!==D.sortField||v.sortOrder!==D.sortOrder||v.multiSortMeta!==D.multiSortMeta||v.filters!==D.filters||v.globalFilter!==D.globalFilter)&&e.onLazyLoad(D),P.current=D},[e.lazy,e.onLazyLoad,d.state.first,d.state.rows,d.state.page,l.state.sortField,l.state.sortOrder,l.state.multiSortMeta,o.state.filters,o.state.globalFilter]);let I=n?b:d.paginatedData,y=(h=e.loading)!=null?h:!1,M=ae.useMemo(()=>k(k(k(k(k(k(k({processedData:b,paginatedData:I,loading:y},l.state),m.state),d.state),s.state),g.state),u.state),o.state),[b,I,y,l.state,m.state,d.state,s.state,g.state,u.state,o.state]),w=ae.useMemo(()=>k(k(k(k(k(k(k(k(k({"data-scope":"datatable","data-part":"root",ref:p.registerRoot},y?{"data-loading":""}:void 0),e.rowHover?{"data-row-hover":""}:void 0),e.highlightOnSelect?{"data-highlight-on-select":""}:void 0),e.selectionMode?{"data-selection-mode":e.selectionMode}:void 0),e.size?{"data-size":e.size}:void 0),e.stripedRows?{"data-striped-rows":""}:void 0),e.showGridlines?{"data-show-gridlines":""}:void 0),e.scrollable?{"data-scrollable":""}:void 0),e.resizableColumns?{"data-resizable-columns":""}:void 0),[y,e.rowHover,e.highlightOnSelect,e.selectionMode,e.size,e.stripedRows,e.showGridlines,e.scrollable,e.resizableColumns,p.registerRoot]),c=ae.useMemo(()=>({"data-scope":"datatable","data-part":"table-container",style:e.scrollable&&e.scrollHeight?k({maxHeight:e.scrollHeight==="flex"?void 0:e.scrollHeight,overflow:"auto"},e.scrollHeight==="flex"?{flex:"1 1 auto"}:void 0):{overflow:"auto"}}),[e.scrollable,e.scrollHeight]),C=ae.useMemo(()=>({"data-scope":"datatable","data-part":"table",role:n?"treegrid":"table"}),[n]);return{state:M,rootProps:w,tableContainerProps:c,tableProps:C,getRowKey:m.getRowKey,sort:l.exposes,selection:m.exposes,pagination:d.exposes,expansion:s.exposes,columnReorder:p.exposes,columnResize:i.exposes,editing:u.exposes,filter:o.exposes,rowReorder:R.exposes,exportData:F.exposes,keyboard:S.exposes}}});import{withHeadless as Tt}from"@primereact/core/headless";import*as se from"react";var et={item:void 0,index:0,context:void 0};var tt='input, button, a, [data-scope="radiobutton"], [data-scope="checkbox"], [role="checkbox"], [role="radio"]',vt=Object.freeze({}),wn=Tt({name:"useDataTableRow",defaultProps:et,setup({props:e}){var c,C,f,h,v,D,x,K,O,N,_,W,Q,X,z;let t=(c=e.index)!=null?c:0,n=e.item,r=e.context,s=n?(C=r==null?void 0:r.getRowKey)==null?void 0:C.call(r,n,t):void 0,o=s!==void 0?(f=r==null?void 0:r.selection)==null?void 0:f.isSelected(s):void 0,l=s!==void 0?(h=r==null?void 0:r.expansion)==null?void 0:h.isExpanded(s):void 0,a=(v=n==null?void 0:n._treeLevel)!=null?v:void 0,d=(D=n==null?void 0:n._treeHasChildren)!=null?D:void 0,T=(x=n==null?void 0:n._treePosInSet)!=null?x:void 0,b=(K=n==null?void 0:n._treeSetSize)!=null?K:void 0,g=(N=(O=r==null?void 0:r.keyboard)==null?void 0:O.getRowTabIndex(t))!=null?N:-1,m=(_=r==null?void 0:r.inProps)==null?void 0:_.editMode,S=!!((W=r==null?void 0:r.inProps)!=null&&W.reorderableRows),p=se.useCallback(E=>{var H,L;if(E.key==="Enter"&&m==="cell"&&E.target===E.currentTarget){let U=E.currentTarget.querySelector("td[data-editable-cell]"),A=U==null?void 0:U.querySelector("[data-row-index][data-field]");if(A){let B=Number(A.dataset.rowIndex),$=A.dataset.field;if(!Number.isNaN(B)&&$){E.preventDefault(),(H=r==null?void 0:r.editing)==null||H.startCellEdit(E,B,$,s);return}}}(L=r==null?void 0:r.keyboard)==null||L.onRowKeyDown(E,t)},[r==null?void 0:r.keyboard,r==null?void 0:r.editing,m,s,t]),i=(Q=r==null?void 0:r.inProps)==null?void 0:Q.onRowClick,u=(X=r==null?void 0:r.inProps)==null?void 0:X.onRowDoubleClick,R=(z=r==null?void 0:r.inProps)==null?void 0:z.onRowContextMenu,F=se.useCallback(E=>{var L;let H=E.target;H.closest(tt)||H.closest("td[data-editable-cell]")||(n&&(i==null||i({originalEvent:E,data:n,index:t})),s!==void 0&&((L=r==null?void 0:r.selection)==null||L.onRowClick(E,s)))},[r==null?void 0:r.selection,s,i,n,t]),P=se.useCallback(E=>{!n||!u||E.target.closest(tt)||u({originalEvent:E,data:n,index:t})},[u,n,t]),I=se.useCallback(E=>{!n||!R||R({originalEvent:E,data:n,index:t})},[R,n,t]),y=r==null?void 0:r.rowReorder,M=se.useMemo(()=>!S||!y?null:{onDragStart:E=>{if(E.currentTarget.getAttribute("data-drag-source")!=="true"){E.preventDefault();return}y.onDragStart(E,t)},onDragOver:E=>y.onDragOver(E,t),onDragLeave:E=>y.onDragLeave(E),onDrop:E=>y.onDrop(E),onDragEnd:E=>{E.currentTarget.removeAttribute("data-drag-source"),y.onDragEnd()}},[S,y,t]),w=se.useMemo(()=>k(k(k(k(k(k(k(k(k({"data-scope":"datatable","data-part":"row","data-index":t,role:"row","aria-rowindex":t+1,tabIndex:g,onKeyDown:p,onClick:F},u?{onDoubleClick:P}:void 0),R?{onContextMenu:I}:void 0),o!==void 0?{"aria-selected":o}:void 0),o?{"data-selected":""}:void 0),a!==void 0?{"aria-level":a+1}:void 0),d?{"aria-expanded":l}:void 0),T!==void 0?{"aria-posinset":T}:void 0),b!==void 0?{"aria-setsize":b}:void 0),M?k({draggable:!0},M):void 0),[t,g,p,F,u,R,P,I,o,l,a,d,T,b,M]);return{state:vt,rowProps:w,isSelected:o,rowKey:s}}});export{ft as FilterMatchMode,gt as FilterOperator,Ze as defaultProps,et as defaultRowProps,En as useDataTable,wn as useDataTableRow};
|
|
11
|
-
//# sourceMappingURL=index.mjs.map
|
|
9
|
+
`);a.current.innerHTML=v},[]);$.useEffect(()=>()=>{a.current?.remove(),a.current=null},[]);let R=$.useRef(n);R.current=n;let C=$.useRef(e.onColumnResizeEnd);C.current=e.onColumnResizeEnd;let y=$.useCallback(()=>{let g=i.current;g&&(g.resizer.removeEventListener("pointermove",g.onMove),g.resizer.removeEventListener("pointerup",g.onEnd),g.resizer.removeEventListener("pointercancel",g.onEnd),g.resizer.hasPointerCapture(g.pointerId)&&g.resizer.releasePointerCapture(g.pointerId),r.current&&(r.current.style.display="none",r.current.style.willChange=""),document.body.style.removeProperty("cursor"),document.body.style.removeProperty("user-select"),i.current=null)},[]),S=$.useCallback((g,d,u)=>{let v=g.headerCells.map((k,F)=>d[F]??k.offsetWidth);if(u!==void 0)g.table.style.width=`${u}px`,g.table.style.minWidth=`${u}px`;else{let k=g.initialTableWidth,F=v.reduce((E,m)=>E+m,0),c=k-F;if(Math.abs(c)>.01){let E=v.findIndex((m,s)=>d[s]===void 0);E>=0&&(v[E]+=c)}}o(g.table,v)},[o]),M=$.useCallback((g,d,u)=>{if(!t||g.pointerType==="mouse"&&g.button!==0)return;let v=u.closest("table");if(!v)return;let k=v.closest('[data-part="table-container"]')??v.parentElement;if(!k)return;let F=g.currentTarget,c=Array.from(v.querySelectorAll("thead th")),E=c[d+1]??null,m=k.getBoundingClientRect(),s=r.current;if(s){let f=g.clientX-m.left+k.scrollLeft;s.style.top="0px",s.style.left="0px",s.style.height=`${k.clientHeight}px`,s.style.transform=`translateX(${f}px)`,s.style.willChange="transform",s.style.display="block"}let p=f=>{let b=i.current;if(!b||f.pointerId!==b.pointerId)return;let D=r.current;if(!D)return;let P=f.clientX-b.containerLeft+b.tableContainer.scrollLeft;D.style.transform=`translateX(${P}px)`},K=f=>{let b=i.current;if(!b||f.pointerId!==b.pointerId)return;let D=f.clientX-b.startClientX,P=R.current,U=b.initialWidth+D;if(U>=ae){if(P==="fit"&&b.nextHeaderCell){let z=b.initialNextWidth-ae,A=Math.min(D,z),L=b.initialWidth+A,w=b.initialNextWidth-A;L>=ae&&w>=ae&&(S(b,{[b.columnIndex]:L,[b.columnIndex+1]:w}),C.current?.({originalEvent:f,columnIndex:b.columnIndex,delta:A}))}else if(P==="expand"){let z=b.initialTableWidth+D;S(b,{[b.columnIndex]:U},z),C.current?.({originalEvent:f,columnIndex:b.columnIndex,delta:D})}}y()};i.current={columnIndex:d,pointerId:g.pointerId,startClientX:g.clientX,containerLeft:m.left,initialScrollLeft:k.scrollLeft,resizer:F,headerCell:u,nextHeaderCell:E,headerCells:c,table:v,tableContainer:k,initialWidth:u.offsetWidth,initialNextWidth:E?.offsetWidth??0,initialTableWidth:R.current==="fit"?k.clientWidth:v.offsetWidth,onMove:p,onEnd:K},F.setPointerCapture(g.pointerId),F.addEventListener("pointermove",p),F.addEventListener("pointerup",K),F.addEventListener("pointercancel",K),document.body.style.cursor="col-resize",document.body.style.userSelect="none"},[t,S,y]);$.useEffect(()=>()=>y(),[y]);let h=$.useCallback(g=>({"data-scope":"datatable","data-part":"column-resizer",style:{touchAction:"none"},onPointerDown:u=>{let v=u.target.closest("th");if(v){let k=g??v.cellIndex;M(u,k,v)}}}),[M]),T=$.useMemo(()=>({onResizeStart:M,registerIndicator:l,getColumnResizerProps:h}),[M,l,h]);return{state:Ye,exposes:T}}import*as j from"react";var me=Object.freeze({});function Te(e){let{editMode:t}=e,n=e.editingKeys!==void 0,[i,r]=j.useState(()=>e.editingKeys??e.defaultEditingKeys??me),l=n?e.editingKeys??me:i;j.useEffect(()=>{n&&r(e.editingKeys??me)},[n,e.editingKeys]);let[a,o]=j.useState(null),R=j.useRef({}),C=j.useCallback(m=>l[String(m)]===!0,[l]),y=j.useCallback((m,s,p,K)=>{if(t!=="row")return;let f=String(s),b={...l,[f]:!0};p&&(R.current[f]={...p}),n||r(b),e.onEditingKeysChange?.({originalEvent:m,value:b}),e.onRowEditInit?.({originalEvent:m,data:p??{},index:K??-1})},[t,l,n,e.onEditingKeysChange,e.onRowEditInit]),S=j.useCallback((m,s,p,K,f)=>{if(t!=="row")return;let b=String(s),D={...l};delete D[b],delete R.current[b],n||r(D),e.onEditingKeysChange?.({originalEvent:m,value:D}),e.onRowEditSave?.({originalEvent:m,data:p??{},newData:K,index:f??-1})},[t,l,n,e.onEditingKeysChange,e.onRowEditSave]),M=j.useCallback((m,s,p,K)=>{if(t!=="row")return;let f=String(s),b={...l};delete b[f];let D=R.current[f];delete R.current[f],n||r(b),e.onEditingKeysChange?.({originalEvent:m,value:b}),e.onRowEditCancel?.({originalEvent:m,data:D??p??{},index:K??-1})},[t,l,n,e.onEditingKeysChange,e.onRowEditCancel]),h=j.useCallback((m,s,p)=>t!=="cell"||!a||a.field!==s?!1:p!==void 0&&a.rowKey!==void 0?String(a.rowKey)===String(p):a.rowIndex===m,[t,a]),T=j.useCallback((m,s,p,K)=>{t==="cell"&&(o({rowIndex:s,field:p,rowKey:K}),e.onCellEditInit?.({originalEvent:m,field:p,rowIndex:s}))},[t,e.onCellEditInit]),g=j.useCallback(m=>{if(t!=="cell")return!1;let s=!1,p={...m,preventDefault:()=>{s=!0}};return e.onCellEditComplete?.(p),s||o(null),!s},[t,e.onCellEditComplete]),d=j.useCallback((m,s,p)=>{t==="cell"&&(e.onCellEditCancel?.({originalEvent:m,rowData:{},newRowData:{},field:p,value:void 0,newValue:void 0,rowIndex:s,type:"escape",preventDefault:()=>{}}),o(null))},[t,e.onCellEditCancel]),u=j.useCallback(m=>({"data-scope":"datatable","data-part":"cell-editor","data-row-index":String(m.rowIndex),"data-field":m.field,...m.rowKey!==void 0?{"data-row-key":String(m.rowKey)}:void 0,...m.isEditing?{"data-editing":""}:void 0}),[]),v=j.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-init",type:"button","aria-label":"Edit row"}),[]),k=j.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-save",type:"button","aria-label":"Save row"}),[]),F=j.useCallback(()=>({"data-scope":"datatable","data-part":"row-editor-cancel",type:"button","aria-label":"Cancel edit"}),[]),c=j.useMemo(()=>({isEditing:C,startRowEdit:y,saveRowEdit:S,cancelRowEdit:M,startCellEdit:T,completeCellEdit:g,cancelCellEdit:d,isCellEditing:h,getCellEditorRootProps:u,getRowEditorInitProps:v,getRowEditorSaveProps:k,getRowEditorCancelProps:F}),[C,y,S,M,T,g,d,h,u,v,k,F]);return{state:j.useMemo(()=>({editingKeys:l,editingCell:a}),[l,a]),exposes:c}}import*as X from"react";var we=Object.freeze({});function ve(e){let t=e.expandedKeys!==void 0,[n,i]=X.useState(()=>e.expandedKeys??e.defaultExpandedKeys??{}),r=t?e.expandedKeys??we:n;X.useEffect(()=>{t&&i(e.expandedKeys??we)},[t,e.expandedKeys]);let l=X.useCallback(y=>r[String(y)]===!0,[r]),a=X.useCallback((y,S)=>{let M=String(S),h={...r};h[M]?delete h[M]:h[M]=!0,t||i(h),e.onExpandedChange?.({originalEvent:y,value:h})},[r,t,e.onExpandedChange]),o=X.useCallback((y,S)=>{let M=y!==void 0?l(y):!1,h=S?._treeLevel!==void 0,T=S?._treeLevel??0,g=S?._treeHasChildren??!1,d=v=>{y!==void 0&&a(v,y)};if(h&&!g)return{isSpacer:!0,spacerProps:{"data-scope":"datatable","data-part":"row-toggle-spacer","data-tree-level":T,style:{display:"inline-block",marginInlineStart:`calc(var(--p-datatable-indent, 1rem) * ${T})`,width:"var(--p-datatable-toggle-size, 2rem)",flexShrink:0}}};let u={"data-scope":"datatable","data-part":"row-toggle",type:"button","aria-expanded":M,"aria-label":M?"Collapse row":"Expand row",onClick:d};return h&&(u["data-tree-level"]=T,u.style={marginInlineStart:`calc(var(--p-datatable-indent, 1rem) * ${T})`,display:"inline-flex",alignItems:"center",justifyContent:"center",flexShrink:0}),{isSpacer:!1,rootProps:u,isExpanded:M}},[l,a]),R=X.useMemo(()=>({isExpanded:l,toggleExpansion:a,getRowToggleProps:o}),[l,a,o]);return{state:X.useMemo(()=>({expandedKeys:r}),[r]),exposes:R}}import{resolveFieldData as Xe}from"@primeuix/utils";import*as re from"react";var qe=Object.freeze({});function xe(e){let t=re.useCallback(i=>{if(typeof document>"u")return;let r=e.data??[],l=i?.separator??",",a=i?.fileName??"download",o=r;if(i?.selectionOnly&&e.selectionKeys&&e.dataKey&&(o=r.filter(d=>{let u=String(d[e.dataKey]);return e.selectionKeys[u]})),o.length===0)return;let R=i?.fields??Object.keys(o[0]);if(i?.exportFunction){i.exportFunction({data:o,fields:R});return}let C=i?.headers,y=[],S=R.map(d=>{let u=C?.[d]??d;return`"${String(u).replace(/"/g,'""')}"`});y.push(S.join(l));for(let d of o){let u=R.map(v=>{let k=Xe(d,v),F=k!=null?String(k):"";return F.length>0&&/^[=+\-@\t\r]/.test(F)&&(F=` ${F}`),`"${F.replace(/"/g,'""')}"`});y.push(u.join(l))}let M=y.join(`
|
|
10
|
+
`);if(typeof document>"u"||typeof URL>"u"||typeof Blob>"u")return;let h=new Blob([M],{type:"text/csv;charset=utf-8;"}),T=URL.createObjectURL(h),g=document.createElement("a");g.setAttribute("href",T),g.setAttribute("download",`${a}.csv`),g.style.display="none",document.body.appendChild(g);try{g.click()}finally{g.parentNode===document.body&&document.body.removeChild(g),URL.revokeObjectURL(T)}},[e.data,e.dataKey,e.selectionKeys]),n=re.useMemo(()=>({exportCSV:t}),[t]);return{state:qe,exposes:n}}import{useFilter as Je}from"@primereact/hooks/use-filter";import*as N from"react";var Qe={Contains:"contains",NotContains:"notContains",StartsWith:"startsWith",EndsWith:"endsWith",Equals:"equals",NotEquals:"notEquals",In:"in",Between:"between",Lt:"lt",Lte:"lte",Gt:"gt",Gte:"gte",DateIs:"dateIs",DateIsNot:"dateIsNot",DateBefore:"dateBefore",DateAfter:"dateAfter",Custom:"custom"},Ze={And:"and",Or:"or"},De=Object.freeze({});function ke(e){let{data:t=[],lazy:n=!1,globalFilterFields:i=[]}=e,r=e.filters!==void 0,[l,a]=N.useState(e.defaultFilters??De),o=r?e.filters??De:l;N.useEffect(()=>{r&&e.filters&&a(e.filters)},[r,e.filters]);let R=e.globalFilter??null,C=e.filterDelay??0,[y,S]=N.useState(o),[M,h]=N.useState(R);N.useEffect(()=>{if(C<=0){S(o),h(R);return}let L=setTimeout(()=>{S(o),h(R)},C);return()=>clearTimeout(L)},[o,R,C]);let T=C>0?y:o,g=C>0?M:R,d=N.useCallback((L,w)=>{r||a(w),e.onFilter?.({originalEvent:L,filters:w})},[r,e.onFilter]),u=N.useCallback((L,w,O)=>{let x={...o,[w]:O};d(L,x)},[o,d]),v=N.useCallback((L,w)=>{let O=o[w],x={...o};if(O&&typeof O=="object"&&O!==null&&"constraints"in O){let H=O;x[w]={operator:H.operator??"and",constraints:[{value:null,matchMode:H.constraints?.[0]?.matchMode??"contains"}]}}else O&&typeof O=="object"&&O!==null&&"matchMode"in O?x[w]={value:null,matchMode:O.matchMode}:delete x[w];d(L,x)},[o,d]),k=N.useCallback(L=>{d(L,{})},[d]),F=N.useCallback((L,w,O="contains")=>{let x=o[w],H={...o};if(x&&typeof x=="object"&&x!==null&&"constraints"in x){let W=x,G=[...W.constraints??[],{value:null,matchMode:O}];H[w]={...W,constraints:G}}else{let W=x&&typeof x=="object"&&"value"in x?x.value:null,G=x&&typeof x=="object"&&"matchMode"in x?x.matchMode??"contains":"contains";H[w]={operator:"and",constraints:[{value:W,matchMode:G},{value:null,matchMode:O}]}}d(L,H)},[o,d]),c=N.useCallback((L,w,O)=>{let x=o[w];if(!x||typeof x!="object"||!("constraints"in x))return;let H=x,W=(H.constraints??[]).filter((ee,ge)=>ge!==O);if(W.length===0)return;let G={...o,[w]:{...H,constraints:W}};d(L,G)},[o,d]),E=N.useCallback((L,w,O)=>{let x=o[w],H={...o};if(x&&typeof x=="object"&&x!==null&&"constraints"in x)H[w]={...x,operator:O};else{let W=x&&typeof x=="object"&&"value"in x?x.value:null,G=x&&typeof x=="object"&&"matchMode"in x?x.matchMode??"contains":"contains";H[w]={operator:O,constraints:[{value:W,matchMode:G}]}}d(L,H)},[o,d]),m=N.useCallback((L,w,O,x,H)=>{let W=o[w];if(!W||typeof W!="object"||!("constraints"in W))return;let G=W,ee=[...G.constraints??[]];O>=0&&O<ee.length&&(ee[O]={value:x,matchMode:H??ee[O].matchMode});let ge={...o,[w]:{...G,constraints:ee}};d(L,ge)},[o,d]),s=N.useCallback((L,w,O,x)=>{let H=o[w];if(!H||typeof H!="object"||!("constraints"in H))return;let W=H,G=[...W.constraints??[]];O>=0&&O<G.length&&(G[O]={...G[O],matchMode:x});let ee={...o,[w]:{...W,constraints:G}};d(L,ee)},[o,d]),p=N.useCallback(L=>{let w=o[L];return w?typeof w=="object"&&w!==null&&"constraints"in w?(w.constraints??[]).some(x=>x.value!==null&&x.value!==void 0&&x.value!==""):typeof w=="object"&&w!==null&&"value"in w?w.value!==null&&w.value!==void 0&&w.value!=="":w!=null&&w!=="":!1},[o]),K=N.useCallback(()=>R?!0:Object.keys(o).some(L=>p(L)),[o,R,p]),f=N.useCallback(L=>{let w=o[L];return w?typeof w=="object"&&w!==null?w:{value:w,matchMode:"contains"}:{value:null,matchMode:"contains"}},[o]),b=N.useMemo(()=>{let L=[];for(let w of Object.keys(T)){if(w==="global")continue;let O=T[w];if(O){if(typeof O=="object"&&O!==null){let x=O;if(x.constraints&&x.constraints.length>0){L.push({field:w,operator:x.operator??"and",constraints:x.constraints.map(H=>({value:H.value,matchMode:H.matchMode??"contains"}))});continue}if("value"in x||"matchMode"in x){L.push({field:w,value:x.value,matchMode:x.matchMode??"contains"});continue}}L.push({field:w,value:O,matchMode:"contains"})}}return g&&i.length>0&&L.push({field:i,value:g,matchMode:"contains"}),L},[T,g,i]),P=Je({data:t,rules:b,lazy:n}).filteredData,U=N.useMemo(()=>({filters:o,globalFilter:R}),[o,R]),z=N.useCallback((L,w="row")=>({"data-scope":"datatable","data-part":"filter","data-display":w,...p(L)?{"data-active":""}:void 0}),[p]),A=N.useMemo(()=>({setFieldFilter:u,clearFieldFilter:v,clearAllFilters:k,addConstraint:F,removeConstraint:c,setOperator:E,setConstraintValue:m,setConstraintMatchMode:s,hasFilterValue:p,isFiltered:K,getFieldFilterMeta:f,getFilterRootProps:z}),[u,v,k,F,c,E,m,s,p,K,f,z]);return{filteredData:P,state:U,exposes:A}}import{resolveFieldData as et}from"@primeuix/utils";import*as oe from"react";function Ke(e){let{data:t,groupField:n}=e,i=oe.useMemo(()=>{if(!n)return;let a=new Map;if(t.length===0)return a;let o=[],R,C=0;for(let y=0;y<t.length;y++){let S=et(t[y],n);y===0?(R=S,C=0):S!==R&&(o.push({start:C,end:y-1,value:R}),R=S,C=y)}o.push({start:C,end:t.length-1,value:R});for(let y=0;y<o.length;y++){let S=o[y],M=S.end-S.start+1;for(let h=S.start;h<=S.end;h++)a.set(h,{isGroupStart:h===S.start,isGroupEnd:h===S.end,groupValue:S.value,groupCount:M,groupIndex:y})}return a},[t,n]),r=oe.useMemo(()=>({}),[]);return{state:oe.useMemo(()=>({groupMetaMap:i}),[i]),exposes:r}}import*as J from"react";function Fe(e){let{data:t,treeMode:n,selectionMode:i,expandedKeys:r={},onToggleExpansion:l,onToggleSelection:a,getRowKey:o}=e,R=i==="single"?"single":"checkbox",[C,y]=J.useState(-1),S=J.useCallback(d=>C===-1?d===0?0:-1:d===C?0:-1,[C]),M=J.useCallback((d,u)=>{if(!d)return;let v=d.querySelector(`tr[data-scope="datatable"][data-part="row"][data-index="${u}"]`);if(v){y(u),v.focus();return}y(u)},[]),h=J.useCallback((d,u)=>{let v=d.target;if(v!==d.currentTarget){let c=v.tagName;if(c==="INPUT"||c==="SELECT"||c==="TEXTAREA"||v.isContentEditable||v.closest("[data-editing]"))return}let k=t.length,F=!0;switch(d.key){case"ArrowDown":{let c=Math.min(u+1,k-1);if(c!==u){let E=d.currentTarget.closest("tbody");if(M(E,c),d.shiftKey&&a){let m=t[c],s=o?.(m,c);s!==void 0&&a(d,s,R)}}break}case"ArrowUp":{let c=Math.max(u-1,0);if(c!==u){let E=d.currentTarget.closest("tbody");if(M(E,c),d.shiftKey&&a){let m=t[c],s=o?.(m,c);s!==void 0&&a(d,s,R)}}break}case"ArrowRight":{if(!n){F=!1;break}let c=t[u],E=o?.(c,u),m=c?._treeHasChildren,s=E!==void 0&&r[String(E)];if(m&&!s&&E!==void 0)l?.(d,E);else if(s){let p=d.currentTarget.closest("tbody");M(p,Math.min(u+1,k-1))}break}case"ArrowLeft":{if(!n){F=!1;break}let c=t[u],E=o?.(c,u),m=c?._treeHasChildren,s=E!==void 0&&r[String(E)];if(m&&s&&E!==void 0)l?.(d,E);else{let p=c?._treeParentKey;if(p!==null){let K=t.findIndex((f,b)=>String(o?.(f,b))===String(p));if(K>=0){let f=d.currentTarget.closest("tbody");M(f,K)}}}break}case"Home":{let c=d.currentTarget.closest("tbody");M(c,0);break}case"End":{let c=d.currentTarget.closest("tbody");M(c,k-1);break}case"Enter":case" ":{let c=d.target;if(c.tagName==="INPUT"||c.tagName==="SELECT"||c.tagName==="TEXTAREA"||c.tagName==="BUTTON"||c.tagName==="A"||c.isContentEditable){F=!1;break}if(a){let E=t[u],m=o?.(E,u);m!==void 0&&a(d,m,R)}break}default:F=!1}F&&d.preventDefault()},[t,n,r,M,l,a,o,R]),T=J.useMemo(()=>({focusedRowIndex:C}),[C]),g=J.useMemo(()=>({getRowTabIndex:S,onRowKeyDown:h,focusRow:M}),[S,h,M]);return{state:T,exposes:g}}import*as Y from"react";function Le(e){let{data:t,lazy:n,paginator:i}=e,r=e.page!==void 0,l=e.rows!==void 0,[a,o]=Y.useState(e.defaultPage??0),[R,C]=Y.useState(e.defaultRows??10),y=r?e.page??0:a,S=l?e.rows??10:R,M=n?e.totalRecords??0:t.length,h=Math.max(1,Math.ceil(M/S)),T=y*S;Y.useEffect(()=>{!r&&y>=h&&h>0&&o(h-1)},[h,y,r]);let g=Y.useMemo(()=>!i||n?t:t.slice(T,T+S),[t,i,n,T,S]),d=Y.useCallback((F,c)=>{if(c<0||c>=h)return;r||o(c);let E=c*S;e.onPageChange?.({originalEvent:F,page:c,rows:S,first:E,pageCount:h})},[h,S,r,e.onPageChange]),u=Y.useCallback((F,c)=>{if(c<=0)return;l||C(c),r||o(0);let E=Math.max(1,Math.ceil(M/c));e.onPageChange?.({originalEvent:F,page:0,rows:c,first:0,pageCount:E})},[M,l,r,e.onPageChange]),v=Y.useMemo(()=>({page:y,rows:S,first:T,pageCount:h,totalRecords:M,onPageChange:d,onRowsChange:u}),[y,S,T,h,M,d,u]),k=Y.useMemo(()=>({page:y,rows:S,first:T,pageCount:h,totalRecords:M}),[y,S,T,h,M]);return{paginatedData:g,state:k,exposes:v}}import*as V from"react";var tt=Object.freeze({}),be="data-dragpoint-top",Re="data-dragpoint-bottom";function le(e){e&&(e.removeAttribute(be),e.removeAttribute(Re))}function Oe(e){let{reorderableRows:t=!1}=e,n=V.useRef(-1),i=V.useRef(-1),r=V.useRef(null),l=V.useCallback((T,g)=>{t&&(n.current=g,T.dataTransfer.effectAllowed="move",T.dataTransfer.setData("text/plain",String(g)))},[t]),a=V.useCallback((T,g)=>{if(!t||n.current===-1||n.current===g)return;T.preventDefault(),T.dataTransfer.dropEffect="move";let d=T.currentTarget,u=d.getBoundingClientRect(),v=u.top+u.height/2;r.current&&r.current!==d&&le(r.current),T.clientY<v?(d.setAttribute(be,""),d.removeAttribute(Re),i.current=g):(d.setAttribute(Re,""),d.removeAttribute(be),i.current=g+1),r.current=d},[t]),o=V.useCallback(T=>{if(!t)return;let g=T.currentTarget;le(g),r.current===g&&(r.current=null)},[t]),R=V.useCallback(T=>{if(!t||n.current===-1)return;T.preventDefault();let g=e.data??[],d=n.current,u=i.current;if(u>d&&(u-=1),u!==d&&u>=0&&u<=g.length){let v=[...g],[k]=v.splice(d,1);v.splice(u,0,k),e.onRowReorder?.({originalEvent:T.nativeEvent,dragIndex:d,dropIndex:u,value:v})}le(r.current),r.current=null,n.current=-1,i.current=-1},[t,e.data,e.onRowReorder]),C=V.useCallback(()=>{t&&(le(r.current),r.current=null,n.current=-1,i.current=-1)},[t]),y=V.useCallback(T=>{let g=T.currentTarget.closest("tr");g&&g.setAttribute("data-drag-source","true")},[]),S=V.useCallback(T=>{let g=T.currentTarget.closest("tr");g&&g.removeAttribute("data-drag-source")},[]),M=V.useCallback(()=>({"data-scope":"datatable","data-part":"row-reorder",style:{cursor:"grab",userSelect:"none",touchAction:"none"},onPointerDown:y,onPointerUp:S}),[y,S]),h=V.useMemo(()=>({onDragStart:l,onDragOver:a,onDragEnter:a,onDragLeave:o,onDrop:R,onDragEnd:C,getRowReorderHandleProps:M}),[l,a,o,R,C,M]);return{state:tt,exposes:h}}import*as _ from"react";var ye=Object.freeze({});function Pe(e){let t=[];if(e.children)for(let n of e.children)t.push(n.key),t.push(...Pe(n));return t}function se(e,t){for(let n of e){if(n.key===t)return n;if(n.children){let i=se(n.children,t);if(i)return i}}return null}function nt(e,t){let n=[];function i(r,l){for(let a of r){if(a.key===t)return n.push(...l),!0;if(a.children&&i(a.children,[...l,a.key]))return!0}return!1}return i(e,[]),n}function Ie(e,t){return!e.children||e.children.length===0?!0:e.children.every(n=>t[n.key]===!0&&Ie(n,t))}function He(e,t){return e.children?e.children.some(n=>t[n.key]===!0||He(n,t)):!1}function at(e,t,n){let i=nt(e,t);for(let r=i.length-1;r>=0;r--){let l=i[r],a=se(e,l);a&&Ie(a,n)?n[l]=!0:delete n[l]}}function ze(e){let{data:t}=e,n=_.useRef(null),i=e.selectionKeys!==void 0,[r,l]=_.useState(()=>e.selectionKeys??e.defaultSelectionKeys??ye),a=i?e.selectionKeys??ye:r;_.useEffect(()=>{i&&l(e.selectionKeys??ye)},[i,e.selectionKeys]);let o=_.useCallback((c,E)=>e.dataKey&&c?String(c[e.dataKey]):E,[e.dataKey]),R=_.useCallback(c=>a[String(c)]===!0,[a]),C=e.treeMode?e.rawTreeData:void 0,y=_.useMemo(()=>{let c=new Map;for(let E=0;E<t.length;E++)c.set(String(o(t[E],E)),E);return c},[t,o]),S=_.useCallback((c,E,m)=>{let s=String(E),p,K=!0;if(m==="radio")p={[s]:!0};else if(m==="single")p=a[s]?{}:{[s]:!0};else if(c.shiftKey===!0&&!C&&n.current!==null&&n.current!==s){let b=n.current,D=y.get(b)??-1,P=y.get(s)??-1;if(D>=0&&P>=0){let U=Math.min(D,P),z=Math.max(D,P);p={...a};for(let A=U;A<=z;A++){let L=String(o(t[A],A));p[L]=!0}}else p={...a,[s]:!0};K=!1}else{p={...a};let b=!p[s];if(b?p[s]=!0:delete p[s],C){let D=se(C,s);if(D){let P=Pe(D);for(let U of P)b?p[U]=!0:delete p[U]}at(C,s,p)}}K&&m!=="radio"&&(n.current=s),i||l(p),e.onSelectionChange?.({originalEvent:c,value:p,type:m==="radio"?"radio":m==="single"?"row":"checkbox"})},[t,o,a,i,e.onSelectionChange,C,y]),M=_.useCallback(c=>{let E=[];for(let m of c)E.push(m.key),m.children&&E.push(...M(m.children));return E},[]),h=_.useMemo(()=>{if(C){let E=M(C);if(E.length===0)return{all:!1,some:!1};let m=E.reduce((s,p)=>a[p]===!0?s+1:s,0);return{all:m===E.length,some:m>0&&m<E.length}}if(t.length===0)return{all:!1,some:!1};let c=0;for(let E=0;E<t.length;E++){let m=String(o(t[E],E));a[m]===!0&&c++}return{all:c===t.length,some:c>0&&c<t.length}},[t,C,a,o,M]),T=_.useCallback(()=>h.all,[h]),g=_.useCallback(()=>h.some,[h]),d=_.useCallback(c=>{let E;if(T())E={};else if(E={},C){let m=M(C);for(let s of m)E[s]=!0}else t.forEach((m,s)=>{let p=String(o(m,s));E[p]=!0});i||l(E),e.onSelectionChange?.({originalEvent:c,value:E,type:"all"})},[t,C,T,i,o,M,e.onSelectionChange]),u=_.useCallback((c,E)=>{let{selectionMode:m,metaKeySelection:s}=e;if(!m)return;let p=String(E),K=c.metaKey||c.ctrlKey,f=c.shiftKey,b,D=!0;if(m==="single")b=a[p]?{}:{[p]:!0};else if(s)if(f&&n.current!==null&&n.current!==p){let P=n.current,U=-1,z=-1;for(let A=0;A<t.length;A++){let L=String(o(t[A],A));if(L===P&&(U=A),L===p&&(z=A),U>=0&&z>=0)break}if(U>=0&&z>=0){let A=Math.min(U,z),L=Math.max(U,z);b=K?{...a}:{};for(let w=A;w<=L;w++){let O=String(o(t[w],w));b[O]=!0}}else b={...a,[p]:!0};D=!1}else K?(b={...a},b[p]?delete b[p]:b[p]=!0):b={[p]:!0};else b={...a},b[p]?delete b[p]:b[p]=!0;D&&(n.current=p),i||l(b),e.onSelectionChange?.({originalEvent:c,value:b,type:"row"})},[t,o,a,i,e.selectionMode,e.metaKeySelection,e.onSelectionChange]),v=_.useCallback(c=>{if(!C)return!1;let E=se(C,String(c));return!E||!E.children||E.children.length===0?!1:!a[String(c)]&&He(E,a)},[C,a]),k=_.useMemo(()=>({isSelected:R,isPartiallySelected:v,toggleSelection:S,toggleAll:d,isAllSelected:T,isSomeSelected:g,onRowClick:u}),[R,v,S,d,T,g,u]),F=_.useMemo(()=>({selectionKeys:a}),[a]);return{getRowKey:o,state:F,exposes:k}}import*as B from"react";import{localeComparator as rt,resolveFieldData as ie,sort as he}from"@primeuix/utils";var Ee=rt(),ce=(e,t,n,i=1)=>he(e,t,n,Ee,i),pe=(e,t,n,i=1)=>!t||n===0?e:[...e].sort((r,l)=>he(ie(r,t),ie(l,t),n,Ee,i)),Me=(e,t,n=1)=>!t||t.length===0?e:[...e].sort((i,r)=>{for(let l of t){let a=he(ie(i,l.field),ie(r,l.field),l.order,Ee,n);if(a!==0)return a}return 0});function Ne(e){let{data:t,lazy:n}=e,i=e.sortField!==void 0,r=e.multiSortMeta!==void 0,[l,a]=B.useState(e.defaultSortField),[o,R]=B.useState(e.defaultSortOrder),[C,y]=B.useState(e.defaultMultiSortMeta),S=i?e.sortField:l,M=i?e.sortOrder:o,h=r?e.multiSortMeta:C,T=B.useCallback(m=>h&&h.length>0?h.some(s=>s.field===m):S===m&&M!==0,[S,M,h]),g=B.useCallback(m=>h&&h.length>0?h.find(p=>p.field===m)?.order??0:S===m?M??0:0,[S,M,h]),d=B.useCallback(m=>h&&h.length>0?h.findIndex(s=>s.field===m):-1,[h]),u=B.useCallback((m,s,p)=>{let K=g(s),f;if(K===0?f=1:K===1?f=-1:f=e.removableSort?0:1,p){let b=[...h??[]],D=b.findIndex(P=>P.field===s);f===0?D!==-1&&b.splice(D,1):D!==-1?b[D]={field:s,order:f}:b.push({field:s,order:f}),r||y(b),e.onSortChange?.({originalEvent:m,field:s,order:f,multiSortMeta:b})}else i||(a(f===0?void 0:s),R(f)),r||y(void 0),e.onSortChange?.({originalEvent:m,field:s,order:f,multiSortMeta:void 0})},[g,e.removableSort,e.onSortChange,i,r,h]),v=e.nullSortOrder??1,k=B.useMemo(()=>n?t:h&&h.length>0?Me(t,h,v):S&&M!=null&&M!==0?pe(t,S,M,v):t,[t,n,S,M,h,v]),F=B.useCallback(m=>{let s=T(m),p=g(m),K=s?p===1?"ascending":"descending":"",f=D=>{if(!m)return;let P=D.metaKey||D.ctrlKey;u(D,m,P)},b=D=>{(D.key==="Enter"||D.key===" ")&&(D.preventDefault(),f(D))};return{"data-scope":"datatable","data-part":"sort",...s?{"data-sorted":"","data-sort-order":p===1?"asc":"desc"}:{"data-unsorted":""},role:"button",tabIndex:0,"aria-label":`Sort by ${m}${K?` ${K}`:""}`,"aria-sort":s?p===1?"ascending":"descending":"none",onClick:f,onKeyDown:b}},[T,g,u]),c=B.useMemo(()=>({onSort:u,isSorted:T,getSortOrder:g,getSortIndex:d,getSortProps:F}),[u,T,g,d,F]),E=B.useMemo(()=>({sortField:S,sortOrder:M,multiSortMeta:h}),[S,M,h]);return{sortedData:k,state:E,exposes:c}}import{BUILT_IN_MATCHERS as ot,getGlobalMatchers as lt}from"@primereact/hooks/use-filter";import{resolveFieldData as Q}from"@primeuix/utils";import*as te from"react";function Ue(e,t,n,i){let r=ot[e]??lt()[e];return r?r(t,n,i):!0}var fe=100;function Ae(e,t,n,i=0){return i>=fe?e:[...e].sort((l,a)=>{let o=l.data?Q(l.data,t):void 0,R=a.data?Q(a.data,t):void 0;return ce(o,R,n)}).map(l=>l.children?.length?{...l,children:Ae(l.children,t,n,i+1)}:l)}function je(e,t,n=0){return n>=fe?e:[...e].sort((r,l)=>{for(let a of t){let o=r.data?Q(r.data,a.field):void 0,R=l.data?Q(l.data,a.field):void 0,C=ce(o,R,a.order);if(C!==0)return C}return 0}).map(r=>r.children?.length?{...r,children:je(r.children,t,n+1)}:r)}function de(e,t,n="contains"){return Ue(n,e,t)}function st(e,t,n,i){if(n&&i.length>0&&!i.some(a=>Ue("contains",Q(e,a),n)))return!1;let r=Object.keys(t).filter(l=>l!=="global");for(let l of r){let a=t[l];if(!a)continue;if(typeof a=="object"&&a!==null&&"constraints"in a){let R=a,C=R.operator??"and",y=R.constraints??[];if(y.length>0){let S=Q(e,l);if(C==="and"){if(!y.every(h=>de(S,h.value,h.matchMode)))return!1}else if(!y.some(h=>de(S,h.value,h.matchMode)))return!1}continue}if(typeof a=="object"&&a!==null&&"value"in a){let R=a,C=Q(e,l);if(!de(C,R.value,R.matchMode))return!1;continue}let o=Q(e,l);if(!de(o,a))return!1}return!0}function ne(e,t,n,i,r=0){if(r>=fe)return[];let l=[];for(let a of e){let o=a.data??{};if(st(o,t,n,i))l.push(a);else if(a.children?.length){let C=ne(a.children,t,n,i,r+1);C.length>0&&l.push({...a,children:C})}}return l}function ue(e,t){if(t)return!0;let n=Object.keys(e).filter(i=>i!=="global");for(let i of n){let r=e[i];if(r){if(typeof r=="object"&&r!==null&&"constraints"in r){if((r.constraints??[]).some(o=>o.value!==null&&o.value!==void 0&&o.value!==""))return!0;continue}if(typeof r=="object"&&r!==null&&"value"in r){let l=r.value;if(l!=null&&l!=="")return!0;continue}if(r!=null&&r!=="")return!0}}return!1}function _e(e,t,n,i){if(n>=fe)return[];let r=[],l=e.length;for(let a=0;a<e.length;a++){let o=e[a],R=!!o.children?.length,C=R||o.leaf===!1,y=o.leaf===!0||!R&&o.leaf!==!1;r.push({...o.data??{},key:o.key,data:o.data??{},children:o.children,_treeLevel:n,_treeHasChildren:C,_treeLeaf:y,_treeParentKey:i,_treePosInSet:a+1,_treeSetSize:l}),R&&t[o.key]&&r.push(..._e(o.children,t,n+1,o.key))}return r}function We(e){let{data:t,treeMode:n,expandedKeys:i,sortField:r,sortOrder:l,multiSortMeta:a,filters:o={},globalFilter:R=null,globalFilterFields:C=[],paginator:y=!1,page:S=0,rows:M=10}=e,h=te.useMemo(()=>{if(!n)return t;let u=t;if(ue(o,R)&&(u=ne(u,o,R,C)),a&&a.length>0?u=je(u,a):r&&l!=null&&l!==0&&(u=Ae(u,r,l)),y){let v=S*M;u=u.slice(v,v+M)}return _e(u,i,0,null)},[t,n,i,r,l,a,o,R,C,y,S,M]),T=te.useMemo(()=>{if(!n)return t.length;let u=t;return ue(o,R)&&(u=ne(u,o,R,C)),u.length},[t,n,o,R,C]),g=te.useMemo(()=>({}),[]),d=te.useMemo(()=>({}),[]);return{flattenedData:h,totalRootNodes:T,state:g,exposes:d}}var $e={data:[],dataKey:void 0,loading:!1,lazy:!1,totalRecords:void 0,scrollable:!1,scrollHeight:void 0,sortField:void 0,sortOrder:void 0,defaultSortField:void 0,defaultSortOrder:void 0,multiSortMeta:void 0,defaultMultiSortMeta:void 0,onSortChange:void 0,removableSort:!1,nullSortOrder:1,selectionMode:null,metaKeySelection:!1,selectionKeys:void 0,defaultSelectionKeys:void 0,selectedKeys:void 0,defaultSelectedKeys:void 0,onSelectionChange:void 0,page:void 0,defaultPage:0,rows:void 0,defaultRows:10,rowsPerPageOptions:void 0,paginator:!1,onPageChange:void 0,expandedKeys:void 0,defaultExpandedKeys:void 0,onExpandedChange:void 0,groupField:void 0,reorderableColumns:!1,onColumnReorder:void 0,resizableColumns:!1,columnResizeMode:"fit",onColumnResizeEnd:void 0,editMode:void 0,editingKeys:void 0,defaultEditingKeys:void 0,onEditingKeysChange:void 0,onRowEditInit:void 0,onRowEditSave:void 0,onRowEditCancel:void 0,onCellEditInit:void 0,onCellEditComplete:void 0,onCellEditCancel:void 0,filters:void 0,defaultFilters:void 0,globalFilter:null,globalFilterFields:void 0,filterDelay:0,onFilter:void 0,reorderableRows:!1,onRowReorder:void 0,rowClassName:void 0,onLazyLoad:void 0,onRowClick:void 0,onRowDoubleClick:void 0,onRowContextMenu:void 0,rowHover:!1,highlightOnSelect:!0,treeMode:!1,size:void 0,stripedRows:!1,showGridlines:!1};var Jt=it({name:"useDataTable",defaultProps:$e,setup({props:e}){let t=e.data??[],n=e.treeMode===!0,i=n||e.lazy,r=ve({expandedKeys:e.expandedKeys,defaultExpandedKeys:e.defaultExpandedKeys,onExpandedChange:e.onExpandedChange}),l=ke({data:t,lazy:i,filters:e.filters,defaultFilters:e.defaultFilters,globalFilter:e.globalFilter,globalFilterFields:e.globalFilterFields,filterDelay:e.filterDelay,onFilter:e.onFilter}),a=Ne({data:l.filteredData,lazy:i,sortField:e.sortField,sortOrder:e.sortOrder,defaultSortField:e.defaultSortField,defaultSortOrder:e.defaultSortOrder,multiSortMeta:e.multiSortMeta,defaultMultiSortMeta:e.defaultMultiSortMeta,removableSort:e.removableSort,nullSortOrder:e.nullSortOrder,onSortChange:e.onSortChange}),o=q.useMemo(()=>{if(!n)return 0;let K=t,f=l.state.filters??{},b=l.state.globalFilter??null,D=e.globalFilterFields??[];return ue(f,b)?ne(K,f,b,D).length:K.length},[n,t,l.state.filters,l.state.globalFilter,e.globalFilterFields]),R=Le({data:a.sortedData,lazy:n?!0:e.lazy,totalRecords:n?o:e.totalRecords,paginator:e.paginator,page:e.page,defaultPage:e.defaultPage,rows:e.rows,defaultRows:e.defaultRows,onPageChange:e.onPageChange}),C=We({data:t,treeMode:n,expandedKeys:r.state.expandedKeys,sortField:a.state.sortField,sortOrder:a.state.sortOrder,multiSortMeta:a.state.multiSortMeta,filters:l.state.filters,globalFilter:l.state.globalFilter,globalFilterFields:e.globalFilterFields,paginator:e.paginator,page:R.state.page,rows:R.state.rows}),y=n?C.flattenedData:a.sortedData,S=Ke({data:y,groupField:n?void 0:e.groupField}),M=ze({data:y,rawTreeData:n?t:void 0,treeMode:n,dataKey:e.dataKey,selectionMode:e.selectionMode,metaKeySelection:e.metaKeySelection,selectionKeys:e.selectionKeys??e.selectedKeys,defaultSelectionKeys:e.defaultSelectionKeys??e.defaultSelectedKeys,onSelectionChange:e.onSelectionChange}),h=Fe({data:y,dataKey:e.dataKey,treeMode:n,selectionMode:e.selectionMode,selectionKeys:M.state.selectionKeys,expandedKeys:r.state.expandedKeys,onToggleExpansion:r.exposes.toggleExpansion,onToggleSelection:M.exposes.toggleSelection,getRowKey:M.getRowKey}),T=Ce({reorderableColumns:e.reorderableColumns,onColumnReorder:e.onColumnReorder}),g=Se({resizableColumns:e.resizableColumns,columnResizeMode:e.columnResizeMode,onColumnResizeEnd:e.onColumnResizeEnd}),d=Te({editMode:e.editMode,editingKeys:e.editingKeys,defaultEditingKeys:e.defaultEditingKeys,onEditingKeysChange:e.onEditingKeysChange,onRowEditInit:e.onRowEditInit,onRowEditSave:e.onRowEditSave,onRowEditCancel:e.onRowEditCancel,onCellEditInit:e.onCellEditInit,onCellEditComplete:e.onCellEditComplete,onCellEditCancel:e.onCellEditCancel}),u=Oe({data:y,reorderableRows:e.reorderableRows,onRowReorder:e.onRowReorder}),v=xe({data:y,dataKey:e.dataKey,selectionKeys:M.state.selectionKeys}),k=q.useRef({first:-1,rows:-1,page:-1,sortField:void 0,sortOrder:void 0,multiSortMeta:void 0,filters:void 0,globalFilter:void 0});q.useEffect(()=>{if(!e.lazy||!e.onLazyLoad)return;let K=k.current,f={first:R.state.first,rows:R.state.rows,page:R.state.page,sortField:a.state.sortField,sortOrder:a.state.sortOrder,multiSortMeta:a.state.multiSortMeta,filters:l.state.filters,globalFilter:l.state.globalFilter};K.first!==-1&&(K.first!==f.first||K.rows!==f.rows||K.page!==f.page||K.sortField!==f.sortField||K.sortOrder!==f.sortOrder||K.multiSortMeta!==f.multiSortMeta||K.filters!==f.filters||K.globalFilter!==f.globalFilter)&&e.onLazyLoad(f),k.current=f},[e.lazy,e.onLazyLoad,R.state.first,R.state.rows,R.state.page,a.state.sortField,a.state.sortOrder,a.state.multiSortMeta,l.state.filters,l.state.globalFilter]);let F=n?y:R.paginatedData,c=e.loading??!1,E=q.useMemo(()=>({processedData:y,paginatedData:F,loading:c,...a.state,...M.state,...R.state,...r.state,...S.state,...d.state,...l.state}),[y,F,c,a.state,M.state,R.state,r.state,S.state,d.state,l.state]),m=q.useMemo(()=>({"data-scope":"datatable","data-part":"root",ref:T.registerRoot,...c?{"data-loading":""}:void 0,...e.rowHover?{"data-row-hover":""}:void 0,...e.highlightOnSelect?{"data-highlight-on-select":""}:void 0,...e.selectionMode?{"data-selection-mode":e.selectionMode}:void 0,...e.size?{"data-size":e.size}:void 0,...e.stripedRows?{"data-striped-rows":""}:void 0,...e.showGridlines?{"data-show-gridlines":""}:void 0,...e.scrollable?{"data-scrollable":""}:void 0,...e.resizableColumns?{"data-resizable-columns":""}:void 0}),[c,e.rowHover,e.highlightOnSelect,e.selectionMode,e.size,e.stripedRows,e.showGridlines,e.scrollable,e.resizableColumns,T.registerRoot]),s=q.useMemo(()=>({"data-scope":"datatable","data-part":"table-container",style:e.scrollable&&e.scrollHeight?{maxHeight:e.scrollHeight==="flex"?void 0:e.scrollHeight,overflow:"auto",...e.scrollHeight==="flex"?{flex:"1 1 auto"}:void 0}:{overflow:"auto"}}),[e.scrollable,e.scrollHeight]),p=q.useMemo(()=>({"data-scope":"datatable","data-part":"table",role:n?"treegrid":"table"}),[n]);return{state:E,rootProps:m,tableContainerProps:s,tableProps:p,getRowKey:M.getRowKey,sort:a.exposes,selection:M.exposes,pagination:R.exposes,expansion:r.exposes,columnReorder:T.exposes,columnResize:g.exposes,editing:d.exposes,filter:l.exposes,rowReorder:u.exposes,exportData:v.exposes,keyboard:h.exposes}}});import{withHeadless as ct}from"@primereact/core/headless";import*as Z from"react";var Ge={item:void 0,index:0,context:void 0};var Ve='input, button, a, [data-scope="radiobutton"], [data-scope="checkbox"], [role="checkbox"], [role="radio"]',dt=Object.freeze({}),nn=ct({name:"useDataTableRow",defaultProps:Ge,setup({props:e}){let t=e.index??0,n=e.item,i=e.context,r=n?i?.getRowKey?.(n,t):void 0,l=r!==void 0?i?.selection?.isSelected(r):void 0,a=r!==void 0?i?.expansion?.isExpanded(r):void 0,o=n?._treeLevel??void 0,R=n?._treeHasChildren??void 0,C=n?._treePosInSet??void 0,y=n?._treeSetSize??void 0,S=i?.keyboard?.getRowTabIndex(t)??-1,M=i?.inProps?.editMode,h=!!i?.inProps?.reorderableRows,T=Z.useCallback(s=>{if(s.key==="Enter"&&M==="cell"&&s.target===s.currentTarget){let K=s.currentTarget.querySelector("td[data-editable-cell]")?.querySelector("[data-row-index][data-field]");if(K){let f=Number(K.dataset.rowIndex),b=K.dataset.field;if(!Number.isNaN(f)&&b){s.preventDefault(),i?.editing?.startCellEdit(s,f,b,r);return}}}i?.keyboard?.onRowKeyDown(s,t)},[i?.keyboard,i?.editing,M,r,t]),g=i?.inProps?.onRowClick,d=i?.inProps?.onRowDoubleClick,u=i?.inProps?.onRowContextMenu,v=Z.useCallback(s=>{let p=s.target;p.closest(Ve)||p.closest("td[data-editable-cell]")||(n&&g?.({originalEvent:s,data:n,index:t}),r!==void 0&&i?.selection?.onRowClick(s,r))},[i?.selection,r,g,n,t]),k=Z.useCallback(s=>{!n||!d||s.target.closest(Ve)||d({originalEvent:s,data:n,index:t})},[d,n,t]),F=Z.useCallback(s=>{!n||!u||u({originalEvent:s,data:n,index:t})},[u,n,t]),c=i?.rowReorder,E=Z.useMemo(()=>!h||!c?null:{onDragStart:s=>{if(s.currentTarget.getAttribute("data-drag-source")!=="true"){s.preventDefault();return}c.onDragStart(s,t)},onDragOver:s=>c.onDragOver(s,t),onDragLeave:s=>c.onDragLeave(s),onDrop:s=>c.onDrop(s),onDragEnd:s=>{s.currentTarget.removeAttribute("data-drag-source"),c.onDragEnd()}},[h,c,t]),m=Z.useMemo(()=>({"data-scope":"datatable","data-part":"row","data-index":t,role:"row","aria-rowindex":t+1,tabIndex:S,onKeyDown:T,onClick:v,...d?{onDoubleClick:k}:void 0,...u?{onContextMenu:F}:void 0,...l!==void 0?{"aria-selected":l}:void 0,...l?{"data-selected":""}:void 0,...o!==void 0?{"aria-level":o+1}:void 0,...R?{"aria-expanded":a}:void 0,...C!==void 0?{"aria-posinset":C}:void 0,...y!==void 0?{"aria-setsize":y}:void 0,...E?{draggable:!0,...E}:void 0}),[t,S,T,v,d,u,k,F,l,a,o,R,C,y,E]);return{state:dt,rowProps:m,isSelected:l,rowKey:r}}});export{Qe as FilterMatchMode,Ze as FilterOperator,$e as defaultProps,Ge as defaultRowProps,Jt as useDataTable,nn as useDataTableRow};
|
|
@@ -16,7 +16,7 @@ export declare const useDataTable: (inProps?: unknown) => import("@primereact/ty
|
|
|
16
16
|
first: number;
|
|
17
17
|
pageCount: number;
|
|
18
18
|
totalRecords: number;
|
|
19
|
-
|
|
19
|
+
selectionKeys: import("@primereact/types/headless/datatable").SelectionKeys;
|
|
20
20
|
sortField: string | undefined;
|
|
21
21
|
sortOrder: import("@primereact/types/headless/datatable").SortOrder | undefined;
|
|
22
22
|
multiSortMeta: import("@primereact/types/headless/datatable").SortMeta[] | undefined;
|
|
@@ -123,7 +123,7 @@ export declare const useDataTable: (inProps?: unknown) => import("@primereact/ty
|
|
|
123
123
|
onDrop: (event: React.DragEvent, columnIndex: number) => void;
|
|
124
124
|
onDragEnd: (_event: React.DragEvent) => void;
|
|
125
125
|
registerDropTarget: (columnIndex: number, notify: (state: {
|
|
126
|
-
side: "
|
|
126
|
+
side: "start" | "end";
|
|
127
127
|
} | null) => void) => () => void;
|
|
128
128
|
getColumnReorderHandleProps: () => {
|
|
129
129
|
'data-scope': string;
|
|
@@ -1,2 +1 @@
|
|
|
1
1
|
import{localeComparator as p,resolveFieldData as s,sort as l}from"@primeuix/utils";var i=p(),a=(n,r,o,e=1)=>l(n,r,o,i,e),m=(n,r,o,e=1)=>!r||o===0?n:[...n].sort((u,t)=>l(s(u,r),s(t,r),o,i,e)),d=(n,r,o=1)=>!r||r.length===0?n:[...n].sort((e,u)=>{for(let t of r){let c=l(s(e,t.field),s(u,t.field),t.order,i,o);if(c!==0)return c}return 0});export{a as compareValues,d as sortMultiple,m as sortSingle};
|
|
2
|
-
//# sourceMappingURL=index.mjs.map
|