@customafk/lunas-ui 0.1.96 → 0.1.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{button-DS0K3vIB.d.cts → button-BnpEQNcI.d.cts} +3 -3
- package/dist/{button-Bjf5wK56.d.mts → button-DmtBrsu5.d.mts} +3 -3
- package/dist/cards/simple-card.d.mts +2 -2
- package/dist/data-display/empty.d.cts +2 -2
- package/dist/data-display/empty.d.mts +2 -2
- package/dist/data-display/statistic.d.cts +2 -2
- package/dist/data-display/statistic.d.mts +2 -2
- package/dist/{dialog-DezpAaP9.d.mts → dialog-BWDpdfq4.d.cts} +12 -12
- package/dist/{dialog-yMVgXLsZ.d.cts → dialog-CfAXxmem.d.mts} +12 -12
- package/dist/dialogs/detail-dialog/components/sidebar.d.cts +24 -24
- package/dist/dialogs/detail-dialog/components/sidebar.d.mts +26 -26
- package/dist/features/search-modal/index.d.cts +2 -2
- package/dist/features/search-modal/index.d.mts +2 -2
- package/dist/features/tables/index.cjs +1 -1
- package/dist/features/tables/index.cjs.map +1 -1
- package/dist/features/tables/index.d.cts +23 -23
- package/dist/features/tables/index.d.mts +1 -1
- package/dist/features/tables/index.mjs +1 -1
- package/dist/features/tables/index.mjs.map +1 -1
- package/dist/features/tanstack-form/index.d.cts +327 -327
- package/dist/features/tanstack-form/index.d.mts +103 -103
- package/dist/{input-Dg5VFdk2.d.cts → input-B4scaWjT.d.mts} +4 -4
- package/dist/{input-DcxbhzQO.d.mts → input-Bq2N5bvL.d.cts} +5 -5
- package/dist/layouts/flex.d.cts +2 -2
- package/dist/layouts/flex.d.mts +6 -6
- package/dist/pages/FeatureDeveloping.d.cts +2 -2
- package/dist/pages/FeatureDeveloping.d.mts +2 -2
- package/dist/pages/FeatureFixing.d.cts +2 -2
- package/dist/pages/FeatureFixing.d.mts +2 -2
- package/dist/pages/NotAuthorized.d.cts +2 -2
- package/dist/pages/NotAuthorized.d.mts +2 -2
- package/dist/pages/NotFound.d.cts +2 -2
- package/dist/pages/NotFound.d.mts +2 -2
- package/dist/typography/paragraph.d.cts +5 -5
- package/dist/typography/paragraph.d.mts +5 -5
- package/dist/typography/title.d.cts +2 -2
- package/dist/typography/title.d.mts +2 -2
- package/dist/ui/alert-dialog.d.cts +12 -12
- package/dist/ui/alert-dialog.d.mts +12 -12
- package/dist/ui/alert.d.cts +6 -6
- package/dist/ui/alert.d.mts +4 -4
- package/dist/ui/aspect-ratio.d.cts +2 -2
- package/dist/ui/aspect-ratio.d.mts +2 -2
- package/dist/ui/avatar.d.cts +4 -4
- package/dist/ui/avatar.d.mts +4 -4
- package/dist/ui/badge.d.cts +4 -4
- package/dist/ui/badge.d.mts +4 -4
- package/dist/ui/breadcrumb.d.cts +8 -8
- package/dist/ui/breadcrumb.d.mts +8 -8
- package/dist/ui/button-group.d.cts +7 -7
- package/dist/ui/button-group.d.mts +7 -7
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.mts +1 -1
- package/dist/ui/calendar.d.cts +4 -4
- package/dist/ui/calendar.d.mts +4 -4
- package/dist/ui/card.d.cts +8 -8
- package/dist/ui/card.d.mts +8 -8
- package/dist/ui/carousel.d.cts +7 -7
- package/dist/ui/carousel.d.mts +7 -7
- package/dist/ui/checkbox.d.cts +2 -2
- package/dist/ui/checkbox.d.mts +2 -2
- package/dist/ui/collapsible.d.cts +4 -4
- package/dist/ui/collapsible.d.mts +4 -4
- package/dist/ui/command.d.cts +11 -11
- package/dist/ui/command.d.mts +11 -11
- package/dist/ui/context-menu.d.cts +16 -16
- package/dist/ui/context-menu.d.mts +16 -16
- package/dist/ui/dialog.d.cts +1 -1
- package/dist/ui/dialog.d.mts +1 -1
- package/dist/ui/drawer.d.cts +11 -11
- package/dist/ui/drawer.d.mts +11 -11
- package/dist/ui/dropdown-menu.d.cts +16 -16
- package/dist/ui/dropdown-menu.d.mts +16 -16
- package/dist/ui/empty.d.cts +9 -9
- package/dist/ui/empty.d.mts +9 -9
- package/dist/ui/field.d.cts +25 -25
- package/dist/ui/field.d.mts +23 -23
- package/dist/ui/file-uploader.d.cts +2 -2
- package/dist/ui/file-uploader.d.mts +2 -2
- package/dist/ui/form.d.cts +11 -11
- package/dist/ui/form.d.mts +11 -11
- package/dist/ui/hover-card.d.cts +4 -4
- package/dist/ui/hover-card.d.mts +4 -4
- package/dist/ui/input-otp.d.cts +5 -5
- package/dist/ui/input-otp.d.mts +5 -5
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.mts +1 -1
- package/dist/ui/inputs/search-input.d.cts +3 -3
- package/dist/ui/inputs/search-input.d.mts +3 -3
- package/dist/ui/item.d.cts +15 -15
- package/dist/ui/item.d.mts +15 -15
- package/dist/ui/label.d.cts +2 -2
- package/dist/ui/label.d.mts +2 -2
- package/dist/ui/menubar.d.cts +17 -17
- package/dist/ui/menubar.d.mts +17 -17
- package/dist/ui/multi-select.d.cts +2 -2
- package/dist/ui/multi-select.d.mts +3 -3
- package/dist/ui/navigation-menu.d.cts +11 -11
- package/dist/ui/navigation-menu.d.mts +9 -9
- package/dist/ui/pagination.d.cts +9 -9
- package/dist/ui/pagination.d.mts +9 -9
- package/dist/ui/popover.d.cts +6 -6
- package/dist/ui/popover.d.mts +6 -6
- package/dist/ui/progress.d.cts +2 -2
- package/dist/ui/progress.d.mts +2 -2
- package/dist/ui/radio-group.d.cts +3 -3
- package/dist/ui/radio-group.d.mts +3 -3
- package/dist/ui/resizable.d.cts +9 -9
- package/dist/ui/resizable.d.mts +9 -9
- package/dist/ui/scroll-area.d.cts +6 -6
- package/dist/ui/scroll-area.d.mts +6 -6
- package/dist/ui/select.d.cts +9 -9
- package/dist/ui/select.d.mts +9 -9
- package/dist/ui/separator.d.cts +2 -2
- package/dist/ui/separator.d.mts +2 -2
- package/dist/ui/sheet.d.cts +9 -9
- package/dist/ui/sheet.d.mts +9 -9
- package/dist/ui/sidebar.d.cts +28 -28
- package/dist/ui/sidebar.d.mts +28 -28
- package/dist/ui/skeleton.d.cts +2 -2
- package/dist/ui/skeleton.d.mts +2 -2
- package/dist/ui/slider.d.cts +2 -2
- package/dist/ui/slider.d.mts +2 -2
- package/dist/ui/sonner.d.cts +2 -2
- package/dist/ui/sonner.d.mts +2 -2
- package/dist/ui/spinner.d.cts +2 -2
- package/dist/ui/spinner.d.mts +2 -2
- package/dist/ui/switch.d.cts +2 -2
- package/dist/ui/switch.d.mts +2 -2
- package/dist/ui/table.d.cts +18 -18
- package/dist/ui/table.d.mts +18 -18
- package/dist/ui/tabs.d.cts +5 -5
- package/dist/ui/tabs.d.mts +5 -5
- package/dist/ui/textarea.d.cts +2 -2
- package/dist/ui/textarea.d.mts +2 -2
- package/dist/ui/toggle-group.d.cts +3 -3
- package/dist/ui/toggle-group.d.mts +3 -3
- package/dist/ui/toggle.d.cts +4 -4
- package/dist/ui/toggle.d.mts +4 -4
- package/dist/ui/tooltip.d.cts +5 -5
- package/dist/ui/tooltip.d.mts +5 -5
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`../../chunk-Bmb41Sf3.cjs`),t=require(`../../paragraph-BBye8n4M.cjs`);require(`../../button.variants-8QOIR433.cjs`);const n=require(`../../button-8Snjc8iT.cjs`),r=require(`../../flex-twCgWyx1.cjs`),i=require(`../../date-CTmoK8tv.cjs`),a=require(`../../badge-cvLJyaCA.cjs`),o=require(`../../tooltip-DC6i1A25.cjs`),s=require(`../../avatar-aVxo69zP.cjs`),c=require(`../../separator-C3ip6sbh.cjs`),l=require(`../../dropdown-menu-BuyuU6uF.cjs`),u=require(`../../checkbox-C0fSWwmD.cjs`),d=require(`../../spinner-Chm_2fLr.cjs`),f=require(`../../resizable-mlGS6Zto.cjs`),p=require(`../../input-BFWWaN-v.cjs`);let m=require(`@customafk/react-toolkit/utils`),h=require(`react`),g=require(`react/jsx-runtime`),_=require(`lucide-react`),v=require(`@customafk/react-toolkit/color-hash`),y=require(`@tanstack/react-table`),b=require(`@tanstack/react-virtual`),x=require(`@customafk/react-toolkit/hooks/useDebounceCallback`);const S=()=>(0,g.jsxs)(`div`,{className:`flex gap-0 text-text-positive-weak`,children:[(0,g.jsx)(_.MinusIcon,{size:16}),(0,g.jsx)(_.MinusIcon,{size:16})]}),C=({label:e,onClick:t,onRemove:n})=>e?n?(0,g.jsxs)(`div`,{className:`flex w-fit gap-x-0.5 rounded-full border border-border py-1 pr-2 pl-3 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:[e,(0,g.jsx)(`button`,{className:`cursor-pointer text-text-positive-weak hover:text-text-positive-strong`,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.XIcon,{size:12})})]}):(0,g.jsx)(`button`,{className:`w-fit rounded-full border border-border px-3 py-1 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:e}):(0,g.jsx)(S,{}),w=({value:e})=>e==null?(0,g.jsx)(S,{}):e===!1?(0,g.jsx)(`div`,{className:`text-danger-strong`,children:(0,g.jsx)(_.XIcon,{})}):(0,g.jsx)(`div`,{className:`text-success-strong`,children:(0,g.jsx)(_.CheckIcon,{})}),ee=({date:e})=>e==null?(0,g.jsx)(S,{}):(0,g.jsx)(o.r,{children:(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{asChild:!0,children:(0,g.jsx)(a.t,{className:`h-fit`,children:(0,g.jsx)(i.t,{date:e,format:`medium`,className:`font-normal text-white`})})}),(0,g.jsx)(o.n,{className:`rounded`,children:(0,g.jsx)(i.t,{date:e,format:`full`,showTime:!0,className:`font-medium text-text-negative text-xs`})})]})}),T=({content:e})=>e==null?(0,g.jsx)(S,{}):(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{asChild:!0,children:(0,g.jsx)(`div`,{className:`line-clamp-2 whitespace-pre-line break-all text-start text-[13px] text-text-positive-weak`,children:e})}),(0,g.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,g.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,g.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,g.jsxs)(`p`,{className:`w-full text-end`,children:[e.toString().length,` chars`]})]})})]}),E=({items:e=[]})=>(0,g.jsxs)(l.t,{children:[(0,g.jsx)(l.h,{asChild:!0,children:(0,g.jsx)(n.t,{size:`sm`,variant:`ghost`,color:`secondary`,className:`size-9 rounded-full`,children:(0,g.jsx)(_.MoreVerticalIcon,{})})}),(0,g.jsx)(l.r,{children:(0,g.jsx)(l.i,{children:e.map(e=>(0,g.jsx)(l.a,{className:`px-3`,onSelect:t=>{e.onClick(e.id),t.stopPropagation()},children:e.label},e.id))})})]}),D=({name:e})=>e?(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{children:(0,g.jsx)(t.t,{variant:`sm`,className:`line-clamp-2 w-full truncate text-wrap pb-px text-start text-sm`,children:e})}),(0,g.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,g.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,g.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,g.jsxs)(`p`,{className:`w-full text-end`,children:[e.length,` chars`]})]})})]}):(0,g.jsx)(S,{}),O=({href:e,label:t})=>(0,g.jsxs)(`a`,{href:e,target:`_blank`,className:`inline-flex items-center gap-1 truncate text-primary text-sm underline`,rel:`noopener noreferrer`,children:[(0,g.jsx)(`span`,{children:t||e}),(0,g.jsx)(_.ExternalLinkIcon,{size:14})]}),k=({value:e})=>(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{asChild:!0,children:(0,g.jsx)(`p`,{className:`font-number text-secondary-foreground text-sm tabular-nums`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),(0,g.jsx)(o.n,{align:`start`,children:(0,g.jsx)(`p`,{className:`tabular-nums`,children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),A=({title:e,onClick:t})=>(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{children:(0,g.jsx)(n.t,{type:`button`,variant:`ghost`,color:`danger`,size:`icon`,onClick:(0,h.useCallback)(async e=>{e.preventDefault(),e.stopPropagation(),await t?.()},[t]),children:(0,g.jsx)(_.Trash2Icon,{})})}),(0,g.jsx)(o.n,{children:(0,g.jsx)(`p`,{children:e||`Remove item from list table`})})]}),j=(e,t,n)=>{let r=10**t;switch(n){case`floor`:return Math.floor(e*r)/r;case`ceil`:return Math.ceil(e*r)/r;default:return Math.round(e*r)/r}},M=(0,h.memo)(({decimalSeparator:e=`.`,groupSeparator:t=`,`,prefix:n,suffix:i,precision:a,roundingMode:o=`round`,showTrailingZeros:s=!1,size:c=`lg`,value:l=0})=>{let u=(0,h.useMemo)(()=>{let e={};return typeof a==`number`&&a>=0&&s&&(e.minimumFractionDigits=a),e.maximumFractionDigits=a,e},[a,s]),d=(0,h.useCallback)(e=>{let t=e;return typeof a==`number`&&a>=0&&(t=j(e,a,o)),t.toLocaleString(`en-US`,u)},[o,u,a]),f=(0,h.useMemo)(()=>{if(typeof l==`number`)return Number.isNaN(l)||!Number.isFinite(l)?`N/A`:d(l);if(typeof l==`string`){let e=l.trim();if(!e)return`N/A`;let t=Number(e);return Number.isNaN(t)||!Number.isFinite(t)?`N/A`:d(t)}return`N/A`},[l,d]),p=(0,h.useMemo)(()=>e===`.`&&t===`,`?f:f.replace(/,/g,t).replace(/\./g,e),[f,e,t]);return p===`0`||p===`N/A`||!p?(0,g.jsx)(S,{}):(0,g.jsxs)(r.t,{padding:`none`,className:(0,m.cn)(`font-number text-lg text-secondary-foreground tabular-nums`,c===`xs`&&`text-xs`,c===`sm`&&`text-sm`,c===`md`&&`text-base`,c===`lg`&&`text-lg`,c===`xl`&&`text-xl`),children:[n,(0,g.jsx)(`p`,{children:p}),i]})});M.displayName=`UITableStatisticDisplay`;const N=({uuid:e,username:n,email:i})=>(0,g.jsxs)(r.t,{wrap:!1,gap:`sm`,padding:`none`,children:[!e&&(0,g.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,g.jsx)(s.n,{className:`bg-muted-weak`,children:(0,g.jsx)(_.UserRoundIcon,{size:28,className:`text-text-negative`})})}),e&&(0,g.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,g.jsx)(s.n,{style:{backgroundColor:v.colorHashLight.hex(e)},children:(0,g.jsx)(_.UserRoundIcon,{size:28,className:`text-white`})})}),(0,g.jsxs)(r.t,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[(0,g.jsx)(t.t,{className:`font-medium text-sm text-text-positive-weak`,children:n??`Unknown User`}),(0,g.jsx)(t.t,{variant:`sm`,className:`mt-0! text-text-positive-weak text-xs`,children:i})]})]}),te=60,ne=60,re=20,ie=20,ae=(0,h.createContext)(null),oe=()=>{let e=(0,h.use)(ae);if(!e)throw Error(`useTableInnerWrapperContext must be used within a TableInnerWrapperProvider`);return e},se=(0,h.createContext)(null),ce=()=>{let e=(0,h.use)(se);if(!e)throw Error(`useTableInnerTableContext must be used within a TableInnerTableProvider`);return e},le=(0,h.createContext)(null),ue=()=>{let e=(0,h.use)(le);if(!e)throw Error(`useTableHeaderRowContext must be used within a TableHeaderRowProvider`);return e},de=(0,h.createContext)(null),fe=()=>{let e=(0,h.use)(de);if(!e)throw Error(`useTableBodyContext must be used within a TableBodyProvider`);return e},pe=(0,h.createContext)(null),me=()=>{let e=(0,h.use)(pe);if(!e)throw Error(`useTableRowContext must be used within a TableRowProvider`);return e},P=(0,h.createContext)(null),F=()=>{let e=(0,h.use)(P);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},I=(0,h.memo)(({isPinned:e,onLeftPin:t,onRightPin:n,onUnpin:r,className:i})=>{let a=(0,h.useCallback)(()=>{t?.(`left`)},[t]),o=(0,h.useCallback)(()=>{n?.(`right`)},[n]),s=(0,h.useCallback)(()=>{r?.(!1)},[r]);return(0,g.jsxs)(l.t,{children:[(0,g.jsx)(l.h,{asChild:!0,children:(0,g.jsx)(`button`,{className:(0,m.cn)(`absolute right-2 z-10 p-0.5 opacity-0`,`cursor-pointer rounded-full transition-all`,`text-text-positive-weak`,`[&>svg]:size-4`,`group-hover:opacity-100`,`hover:bg-muted-muted hover:text-text-positive`,i),children:(0,g.jsx)(_.EllipsisVerticalIcon,{})})}),(0,g.jsx)(l.r,{align:`end`,className:`w-64 p-4`,children:(0,g.jsxs)(l.i,{className:`*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2`,children:[(0,g.jsx)(h.Activity,{mode:e?`visible`:`hidden`,children:(0,g.jsxs)(l.a,{onClick:s,children:[!!e&&`Unpin`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.PinOffIcon,{className:`size-4`})})]})}),(0,g.jsxs)(h.Activity,{mode:e?`hidden`:`visible`,children:[(0,g.jsxs)(l.a,{onClick:a,children:[e?`Unpin`:`Pin to Left`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.MoveLeftIcon,{className:`size-4`})})]}),(0,g.jsxs)(l.a,{onClick:o,children:[e?`Unpin`:`Pin to Right`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.MoveRightIcon,{className:`size-4`})})]})]})]})})]})});I.displayName=`UITableHeadCellOption`;const L=(0,h.memo)(({isPinned:e,isAllRowsSelected:t,style:n,onToggleAllRowsSelected:r,...i})=>{let a=(0,h.useCallback)(e=>{r?.(!!e)},[r]);return(0,g.jsx)(`th`,{slot:`table-header-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:(0,m.cn)(e?`sticky`:`relative`),...i,children:(0,g.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:(0,g.jsx)(u.t,{"aria-label":`Select All Rows`,checked:t,onCheckedChange:a})})})});L.displayName=`UITableHeadCellSelect`;const R=(0,h.memo)(({isEmpty:e,isFetching:t})=>!e&&!t?null:(0,g.jsxs)(`div`,{className:`sticky left-0 flex min-h-96 flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100`,children:[t&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,g.jsx)(d.t,{className:`size-12`}),(0,g.jsx)(`p`,{children:`Loading data...`})]}),e&&!t&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,g.jsx)(_.BoxIcon,{strokeWidth:1,size:48}),(0,g.jsx)(`p`,{children:`No data available`})]})]}));R.displayName=`UITableEmptyDisplay`;const z=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`div`,{slot:`table-wrapper`,className:(0,m.cn)(`relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2`,e),...n,children:t}));z.displayName=`UITableWrapper`;const B=(0,h.memo)(({children:e,...t})=>{let{innerWrapperId:n}=oe();return(0,g.jsx)(`div`,{id:n,slot:`table-inner-wrapper`,className:`relative size-full overflow-auto border-b border-b-border border-l border-l-border bg-card`,...t,children:e})});B.displayName=`UITableInnerWrapper`;const V=(0,h.memo)(({children:e,...t})=>{let{table:n,innerTableId:r,totalSize:i}=ce(),a=(0,h.useRef)(null);return(0,h.useEffect)(()=>{if(!a.current)return;let e=n.getFlatHeaders(),t=new ResizeObserver(t=>{requestAnimationFrame(()=>{let r=t[0].target;if(r instanceof HTMLTableElement){let i=t[0];if(!i)return;let a=i.contentRect.width,{left:o=[],right:s=[]}=n.getState().columnPinning,c=0,l=0,u=0,d=e.map(e=>{let{id:t}=e,n=t===`select`||t===`actions`,r=o.includes(t)||s.includes(t),i=e.getSize(),a=e.column.columnDef.maxSize;return n?(c+=60,{id:t,isFlex:!1,width:60}):r?(c+=i,{id:t,isFlex:!1,width:i}):e.column.columnDef.size||i!==150?(u+=i,{id:t,isFlex:!1,width:i}):(l++,{id:t,isFlex:!0,maxSize:a})}),f=a-c-u,p=l>0?Math.max(0,Math.floor(f/l)):0;d.forEach(e=>{if(e.isFlex){let t=e.maxSize?Math.min(p,e.maxSize):p;r.style.setProperty(`--header-${e.id}-size`,`${t}`),r.style.setProperty(`--col-${e.id}-size`,`${t}`),e.maxSize&&r.style.setProperty(`--col-${e.id}-maxSize`,`${e.maxSize}`)}else r.style.setProperty(`--header-${e.id}-size`,`${e.width}`),r.style.setProperty(`--col-${e.id}-size`,`${e.width}`)})}})});return t.observe(a.current),()=>t.disconnect()},[n.getState().columnSizingInfo,n.getState().columnSizing,n.getState().columnPinning]),(0,g.jsx)(`table`,{id:r,ref:a,slot:`table-inner-table`,className:`grid w-full table-fixed caption-bottom border-collapse border-spacing-0 flex-col content-start [&_tfoot_td]:border-t`,style:{minWidth:i},...t,children:e})});V.displayName=`UITableInnerTable`;const H=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`thead`,{slot:`table-head`,className:(0,m.cn)(`sticky top-0 z-20 h-9 w-full`,`grid select-none bg-muted-bg-subtle`,`border-b border-b-border shadow`,`font-medium text-[13px] text-text-positive-weak`,`[&_tr:not(:last-child)_td]:border-b`,`[&_th]:inline-flex`,`[&_th]:items-center`,`[&_th]:transition-all`,`[&_th]:duration-300`,`[&_th]:whitespace-nowrap`,`[&_th]:border-border`,`[&_th]:last:border-r-0`,`[&_th]:first:border-l-0`,`[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle`,e),...n,children:t}));H.displayName=`UITableHead`;const U=(0,h.memo)(({headerGroup:e,className:t,...n})=>{let{isAllRowsSelected:r,columnPinningState:i,leftPinnedHeaders:a,rightPinnedHeaders:o,onToggleAllRowsSelected:s}=ue(),c=o[0]?.id,l=a[a.length-1]?.id;return(0,g.jsx)(`tr`,{slot:`table-head-row`,className:(0,m.cn)(`flex`,t),...n,children:e.headers.map((e,t)=>{let n=e.column.getIsVisible(),a=i.left?.includes(e.id)?`left`:i.right?.includes(e.id)?`right`:!1;return e.id===`select`?(0,g.jsx)(L,{isPinned:a,isAllRowsSelected:r,onToggleAllRowsSelected:s},e.id):(0,g.jsx)(W,{isVisible:n,isPinned:a,isFirstCell:e.id===c,isLastCell:e.id===l,isOptionsVisible:![`select`,`actions`].includes(e.id),headerId:e.id,headerColumn:e.column,colSpan:e.colSpan,onColumnPin:e.column.pin,onToggleVisibility:e.column.toggleVisibility,children:(0,y.flexRender)(e.column.columnDef.header,e.getContext())},`${e.id}-${t}`)})})});U.displayName=`UITableHeadRow`;const W=(0,h.memo)(({isVisible:e=!0,isPinned:t=!1,isFirstCell:n=!1,isLastCell:r=!1,isOptionsVisible:i=!0,headerId:a,headerColumn:o,className:s,children:c,onColumnPin:l,onToggleVisibility:u,...d})=>{let f=(0,h.useMemo)(()=>t?20:void 0,[t]),p=(0,h.useMemo)(()=>{let e=o?.getStart?.(`left`);return t===`left`&&typeof e==`number`?`${e}px`:void 0},[t,o]),_=(0,h.useMemo)(()=>{let e=o?.getAfter?.(`right`);return t===`right`&&typeof e==`number`?`${e}px`:void 0},[t,o]),v=(0,h.useMemo)(()=>`calc(var(--header-${a}-size) * 1px)`,[a]),y=(0,h.useMemo)(()=>o?.columnDef.minSize?`calc(var(--col-${a}-minSize) * 1px)`:void 0,[a,o]),b=(0,h.useMemo)(()=>o?.columnDef.maxSize?`calc(var(--col-${a}-maxSize) * 1px)`:void 0,[a,o]);return(0,g.jsxs)(`th`,{slot:`table-head-cell`,"data-pinned":t,"data-header":a,style:{zIndex:f,left:p,right:_,width:v,minWidth:y,maxWidth:b},className:(0,m.cn)(`group flex`,t?`sticky`:`relative`,t===`left`&&r&&`border-r border-r-border`,t===`right`&&n&&`border-l border-l-border`,o?.columnDef.meta?.position===`center`&&`justify-center`,o?.columnDef.meta?.position===`end`&&`justify-end`,o?.columnDef.meta?.position===`start`&&`justify-start`,s),...d,children:[(0,g.jsx)(`div`,{className:`truncate pl-4`,children:c}),i&&(0,g.jsx)(I,{isPinned:t,isVisible:e,onLeftPin:l,onRightPin:l,onUnpin:l})]})});W.displayName=`UITableHeadCell`;const G=(0,h.memo)(({height:e,className:t,children:n,...r})=>{let{isFetching:i,isEmpty:a}=fe();return a||i?null:(0,g.jsx)(`tbody`,{slot:`table-body`,style:{height:e},className:(0,m.cn)(`relative w-full`,`grid`,`[&_tr]:absolute`,`[&_tr]:flex`,`[&_tr]:flex-none`,`[&_tr]:w-full`,`[&_tr]:cursor-pointer [&_tr]:focus:outline-none`,`[&_tr]:border-b [&_tr]:border-b-border`,`[&_td]:z-10`,`[&_td]:transition-all`,`[&_td]:duration-300`,`[&_td]:flex`,`[&_td]:flex-none`,`[&_td]:overflow-hidden`,`[&_td]:whitespace-nowrap`,`[&_td]:px-4`,`[&_td]:py-2.5`,`[&_td]:align-middle`,`[&_td]:border-border`,`[&_td]:data-[selected=true]:bg-muted-muted!`,`[&_td]:data-[selected=true]:hover:bg-muted-muted!`,`[&_td>div]:inline-flex`,`[&_td>div]:items-center`,`[&_td>div]:w-full`,`[&_td:not([data-pinned=false])]:z-20`,`[&_td:not([data-pinned=false])]:sticky`,`[&_td:not([data-pinned=false])]:bg-card`,`**:data-lastcell:border-r`,`**:data-firstcell:border-l`,t),...r,children:n})});G.displayName=`UITableBody`;const K=(0,h.memo)(({row:e,isSelected:t,virtualRowIndex:n,virtualRowStart:r,children:i,...a})=>{let{keyOfClickRow:o,isAllRowsSelected:s,columnPinningState:c,leftPinnedHeaders:l,rightPinnedHeaders:u,onClickRow:d}=me(),f=(0,h.useMemo)(()=>c.left??[],[c]),p=(0,h.useMemo)(()=>c.right??[],[c]),m=(0,h.useMemo)(()=>u?.[0]?.id,[u]),_=(0,h.useMemo)(()=>l?.[l.length-1]?.id,[l]),v=(0,h.useCallback)(t=>{let r=o?e.original?.[o]:void 0;d?.(n,typeof r==`string`||typeof r==`number`?r:void 0),t.preventDefault(),t.stopPropagation()},[o,d,e,n]);return(0,g.jsx)(`tr`,{slot:`table-row`,"data-index":n,style:{transform:`translateY(${r}px)`},className:`group`,onClick:v,...a,children:e.getVisibleCells().map((e,r)=>{let i=f.includes(e.column.id),a=p.includes(e.column.id),o=i?`left`:a?`right`:!1;return e.column.id===`actions`?(0,g.jsx)(J,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,virtualRowIndex:n,column:e.column,getContext:e.getContext},`${e.id}-${r}`):e.column.id===`select`?(0,g.jsx)(q,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isSelected:s||t,onToggleRowSelected:e.row.toggleSelected},`${e.id}-${r}`):(0,g.jsx)(Y,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isFirstCell:e.column.id===m,isLastCell:e.column.id===_,colId:e.column.id,position:e.column.columnDef.meta?.position??`start`,column:e.column,getContext:e.getContext},`${e.id}-${r}`)})})});K.displayName=`UITableRow`;const q=(0,h.memo)(({isPinned:e,isSelected:t=!1,className:n,onToggleRowSelected:r,...i})=>{let a=(0,h.useCallback)(e=>{r?.(!!e)},[r]);return(0,g.jsx)(`td`,{slot:`table-body-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:(0,m.cn)(`group-hover:bg-muted-bg-subtle!`,e?`sticky`:`relative`,n),...i,children:(0,g.jsx)(`div`,{"data-slot":`table-cell-inner`,className:`flex! w-full! items-center justify-center bg-transparent text-center align-middle`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:(0,g.jsx)(u.t,{"aria-label":`Select Row`,checked:t,onCheckedChange:a})})})});q.displayName=`UITableCellSelect`;const J=(0,h.memo)(({virtualRowIndex:e,column:t,getContext:n,className:r,...i})=>{let a=(0,h.useMemo)(()=>(0,y.flexRender)(t?.columnDef.cell,n()),[t,n]);return(0,g.jsx)(`td`,{"data-col":`actions`,"data-cell":e,className:`sticky inset-y-0 right-0 z-50 flex items-center pr-4 group-hover:bg-muted-bg-subtle!`,...i,children:a})});J.displayName=`UITableCellActions`;const Y=(0,h.memo)(({isPinned:e=!1,isFirstCell:t=!1,isLastCell:n=!1,colId:r,position:i=`start`,column:a,getContext:o,...s})=>{let{innerTableId:c,table:l}=ce(),u=(0,h.useRef)(document.querySelector(`table[id="${c}"]`)),d=(0,h.useRef)(null),f=(0,h.useMemo)(()=>{let t=a?.getStart(`left`);return e===`left`&&typeof t==`number`?`${t}px`:void 0},[e,a]),p=(0,h.useMemo)(()=>{let t=a?.getAfter(`right`);return e===`right`&&typeof t==`number`?`${t}px`:void 0},[e,a]),_=(0,h.useMemo)(()=>`calc(var(--col-${r}-size) * 1px)`,[r]),v=(0,h.useMemo)(()=>a?.columnDef.minSize?`calc(var(--col-${r}-minSize) * 1px)`:void 0,[r,a]),b=(0,h.useMemo)(()=>a?.columnDef.maxSize?`calc(var(--col-${r}-maxSize) * 1px)`:void 0,[r,a]),x=(0,h.useMemo)(()=>(0,y.flexRender)(a?.columnDef.cell,o()),[a,o]);return(0,h.useEffect)(()=>{if(!d.current)return;let e=d.current.scrollWidth,t=a?.getSize();t&&e>t&&u.current instanceof HTMLTableElement&&typeof r==`string`&&a?.columnDef.meta?.fitContent&&l.setColumnSizing(t=>({...t,[r]:e+32}))},[r,a,l]),(0,g.jsx)(`td`,{slot:`table-body-cell`,"data-pinned":e,"data-lastcell":n||void 0,"data-firstcell":t||void 0,style:{left:f,right:p,width:_,minWidth:v,maxWidth:b},className:`group-hover:bg-muted-bg-subtle!`,...s,children:(0,g.jsx)(`div`,{ref:d,slot:`table-body-cell-inner`,className:(0,m.cn)(i===`start`&&`justify-start`,i===`center`&&`justify-center`,i===`end`&&`justify-end`),children:x})})});Y.displayName=`UITableCell`;const he=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`tfoot`,{slot:`table-footer`,className:(0,m.cn)(`flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0`,e),...n,children:t}));he.displayName=`UITableFooter`;const X=(0,h.memo)(({virtualRowIndex:e,virtualRowStart:t,fetchMoreData:n})=>{let{innerWrapperId:r}=oe(),i=(0,h.useRef)(document.querySelector(`div[id="${r}"]`)),a=(0,h.useRef)(null),[o,s]=(0,h.useState)(`idle`),[c,l]=(0,h.useState)(0),u=(0,h.useCallback)(async()=>{try{s(`fetching`),await n?.(),s(`idle`)}catch(e){console.error(`Error fetching more data:`,e),s(`error`)}},[n]);return(0,h.useEffect)(()=>{if(!i.current)return;let e=new ResizeObserver(e=>{l(e[0].contentRect.width)});return e.observe(i.current),()=>e.disconnect()},[]),(0,g.jsx)(`tr`,{ref:a,"data-index":e,style:{transform:`translateY(${t}px)`,width:c},className:`sticky! left-0 h-10`,children:(0,g.jsx)(`td`,{className:`absolute left-0 flex w-full items-center justify-center text-xs`,children:(0,g.jsxs)(`button`,{type:`button`,disabled:o===`fetching`,className:(0,m.cn)(`flex cursor-pointer gap-x-0.5`,o===`fetching`&&`cursor-not-allowed`,o===`idle`&&`text-text-positive-weak hover:text-text-positive`,o===`error`&&`text-danger hover:text-danger-strong`),onClick:u,children:[o===`idle`&&(0,g.jsx)(_.ChevronDown,{className:`size-4`}),o===`fetching`&&(0,g.jsx)(d.t,{className:`size-4 animate-spin`}),o===`error`&&(0,g.jsx)(_.AlertTriangle,{className:`size-4 text-danger`}),o===`idle`&&`Load More`,o===`fetching`&&`Loading...`,o===`error`&&`Error! Retry?`]})})})});X.displayName=`UITableLoadMore`;const ge=()=>{let{table:e,isEmpty:t,isFetching:n,fetchMoreData:r}=F(),{rowSelectionState:i}=fe(),a=(0,h.useRef)(null),{rows:o}=e.getRowModel(),s=(0,b.useVirtualizer)({count:o.length+1,estimateSize:()=>40,getScrollElement:()=>a.current,measureElement:typeof window<`u`&&navigator.userAgent.indexOf(`Firefox`)===-1?e=>e?.getBoundingClientRect().height:void 0,overscan:2}),c=(0,h.useMemo)(()=>{let e=s.getTotalSize(),t=a.current?.clientHeight||0;return e<t?`${t}px`:`${e}px`},[s.getTotalSize()]);return(0,g.jsx)(f.r,{direction:`horizontal`,style:{direction:e.options.columnResizeDirection},className:`relative flex w-full max-w-full flex-1 gap-1 overflow-auto border-t border-t-border border-r border-r-border bg-slate-50 p-0 text-sm`,children:(0,g.jsx)(f.n,{className:`relative`,children:(0,g.jsxs)(B,{ref:a,children:[(0,g.jsxs)(V,{children:[(0,g.jsx)(H,{children:e.getHeaderGroups().map(e=>(0,g.jsx)(U,{headerGroup:e},e.id))}),(0,g.jsx)(G,{height:c,children:s.getVirtualItems().map(e=>{let t=o[e.index],n=Object.entries(i).some(([e,n])=>e===`${t?.id}`&&n);return!t&&r?(0,g.jsx)(X,{virtualRowIndex:e.index,virtualRowStart:e.start,fetchMoreData:r},e.index):(0,g.jsx)(K,{ref:s.measureElement,row:t,isSelected:n,virtualRowIndex:e.index,virtualRowStart:e.start},e.index)})})]}),(0,g.jsx)(R,{isEmpty:t,isFetching:n})]})})})},_e=({checked:e,title:t,onCheckedChange:n})=>(0,g.jsxs)(`div`,{className:`flex h-fit items-center gap-2`,children:[(0,g.jsx)(u.t,{checked:e,onCheckedChange:n}),(0,g.jsx)(`p`,{className:`text-sm`,children:t})]}),ve=()=>{let{table:e}=F(),[t,r]=(0,h.useState)(null);return(0,g.jsx)(f.n,{defaultSize:25,className:(0,m.cn)(`bg-card`,t===null?`max-w-8!`:`min-w-64`),children:(0,g.jsxs)(`div`,{className:`relative z-20 flex size-full bg-muted-bg-subtle`,children:[(0,g.jsxs)(`div`,{className:`flex-1`,children:[(0,g.jsx)(h.Activity,{mode:t===`columns`?`visible`:`hidden`,children:(0,g.jsxs)(`div`,{className:`flex size-full flex-col gap-2 p-4`,children:[(0,g.jsx)(`p`,{className:`px-2 font-medium`,children:`Columns Visibility`}),(0,g.jsx)(c.t,{}),(0,g.jsx)(`div`,{className:`flex flex-col gap-4 pt-4`,children:e.getAllColumns().map(e=>[`select`,`actions`].includes(e.id)?null:(0,g.jsx)(_e,{checked:e.getIsVisible(),title:String(e.columnDef.header),onCheckedChange:t=>e.toggleVisibility(!!t)},e.id))})]})}),(0,g.jsx)(h.Activity,{mode:t===`filters`?`visible`:`hidden`,children:(0,g.jsx)(`div`,{className:`flex size-full flex-col p-2`,children:(0,g.jsxs)(n.t,{variant:`outline`,color:`muted`,children:[(0,g.jsx)(_.ListFilterPlus,{}),`Add Filter`]})})})]}),(0,g.jsxs)(`div`,{className:`flex h-full flex-col border-border border-l bg-muted-bg-subtle text-sm`,children:[(0,g.jsxs)(`button`,{className:(0,m.cn)(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,t===`columns`&&`bg-card`),onClick:()=>r(t===`columns`?null:`columns`),children:[(0,g.jsx)(_.Columns4Icon,{size:18}),(0,g.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Columns`})]}),(0,g.jsx)(c.t,{}),(0,g.jsxs)(`button`,{className:(0,m.cn)(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,t===`filters`&&`bg-card`),onClick:()=>r(t===`filters`?null:`filters`),children:[(0,g.jsx)(_.ListFilterIcon,{size:18}),(0,g.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Filters`})]}),(0,g.jsx)(c.t,{})]})]})})},ye=(0,h.memo)(({innerWrapperId:e,children:t})=>{let n=(0,h.useMemo)(()=>({innerWrapperId:e}),[e]);return(0,g.jsx)(ae.Provider,{value:n,children:t})});ye.displayName=`UITableInnerWrapperProvider`;const be=(0,h.memo)(({table:e,innerTableId:t,totalSize:n,children:r})=>{let i=(0,h.useMemo)(()=>({table:e,innerTableId:t,totalSize:n}),[e,t,n]);return(0,g.jsx)(se.Provider,{value:i,children:r})});be.displayName=`UITableInnerTableProvider`;const xe=(0,h.memo)(({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i,children:a})=>{let o=(0,h.useMemo)(()=>({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i}),[e,t,n,r,i]);return(0,g.jsx)(le.Provider,{value:o,children:a})});xe.displayName=`UITableHeadRowProvider`;const Se=(0,h.memo)(({isFetching:e,isEmpty:t,rowSelectionState:n,children:r})=>{let i=(0,h.useMemo)(()=>({isFetching:e,isEmpty:t,rowSelectionState:n}),[e,t,n]);return(0,g.jsx)(de.Provider,{value:i,children:r})});Se.displayName=`UITableBodyProvider`;const Z=(0,h.memo)(({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a,children:o})=>{let s=(0,h.useMemo)(()=>({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a}),[e,t,n,r,i,a]);return(0,g.jsx)(pe.Provider,{value:s,children:o})});Z.displayName=`UITableRowProvider`;const Ce=({title:e,isFetching:t=!1,isRefetching:n=!1,data:r,columns:i,totalRows:a,leftPinnedColumns:o=[],rightPinnedColumns:s=[],keyOfClickRow:c,onClickRow:l,onRowSelection:u,onColumnPinning:d,fetchMoreData:f,children:p})=>{let m=(0,h.useId)(),_=(0,h.useId)(),[v,b]=(0,h.useState)({}),[x,S]=(0,h.useState)({right:s,left:[`select`,...o]}),[C,w]=(0,h.useState)({}),ee=(0,h.useCallback)(e=>(b(e),u?.(e instanceof Function?e(v):e),e),[v,u]),T=(0,h.useCallback)(e=>{S(e),d?.(e instanceof Function?e(x):e)},[x,d]),E=(0,y.useReactTable)({data:r,columns:i,state:{rowSelection:v,columnPinning:x,expanded:C},defaultColumn:{enableResizing:!1,size:void 0,minSize:void 0,maxSize:void 0},columnResizeMode:`onChange`,columnResizeDirection:`ltr`,enableColumnPinning:!0,enableRowSelection:!0,enableColumnResizing:!0,enableMultiRowSelection:!0,autoResetAll:!1,autoResetExpanded:!1,autoResetPageIndex:!1,getSubRows:e=>e.subRows,getCoreRowModel:(0,y.getCoreRowModel)(),getGroupedRowModel:(0,y.getGroupedRowModel)(),getExpandedRowModel:(0,y.getExpandedRowModel)(),onRowSelectionChange:ee,onColumnPinningChange:T,onExpandedChange:w}),D=(0,h.useMemo)(()=>{let{rows:e}=E.getRowModel();return e},[E.getRowModel().rows,E.getState().columnPinning]),O=(0,h.useMemo)(()=>!t&&D.length===0,[D,t]),k=(0,h.useMemo)(()=>({title:e,table:E,isEmpty:O,isFetching:t,isRefetching:n,totalRows:a,fetchMoreData:f}),[e,E,O,n,t,a,f,E.getState().columnPinning,E.getState().expanded]),A=(0,h.useMemo)(()=>E.getState(),[E.getState()]),j=(0,h.useMemo)(()=>E.getIsAllRowsSelected(),[E.getIsAllRowsSelected()]),M=(0,h.useMemo)(()=>A.rowSelection,[A.rowSelection]),N=(0,h.useMemo)(()=>A.columnPinning,[A.columnPinning]),te=(0,h.useMemo)(()=>E.getLeftHeaderGroups()[0]?.headers||[],[E.getState().columnPinning]),ne=(0,h.useMemo)(()=>E.getRightHeaderGroups()[0]?.headers||[],[E.getState().columnPinning]),re=(0,h.useMemo)(()=>E.getTotalSize(),[E.getTotalSize()]);return(0,g.jsx)(P.Provider,{value:k,children:(0,g.jsx)(ye,{innerWrapperId:m,children:(0,g.jsx)(be,{table:E,innerTableId:_,totalSize:re,children:(0,g.jsx)(xe,{isAllRowsSelected:j,columnPinningState:N,leftPinnedHeaders:te,rightPinnedHeaders:ne,onToggleAllRowsSelected:E.toggleAllRowsSelected,children:(0,g.jsx)(Se,{isFetching:t,isEmpty:O,rowSelectionState:M,children:(0,g.jsx)(Z,{keyOfClickRow:c,isAllRowsSelected:j,columnPinningState:N,leftPinnedHeaders:te,rightPinnedHeaders:ne,onClickRow:l,children:p})})})})})})},we=({onSearch:e,onChange:t,...n})=>{let r=(0,x.useDebounceCallback)(t=>{e?.(t)},500);return(0,g.jsxs)(`div`,{className:`relative w-full max-w-80 flex-1`,children:[(0,g.jsx)(p.t,{...n,size:`lg`,type:`search`,placeholder:`Search records...`,className:`flex-1 ps-9 pe-9`,onChange:e=>{t?.(e),r(e.target.value??``)}}),(0,g.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-text-positive-weak peer-disabled:opacity-50`,children:(0,g.jsx)(_.SearchIcon,{size:16})}),(0,g.jsx)(`button`,{className:`absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md text-text-positive-weak outline-none transition-[color,box-shadow] hover:text-text-positive focus:z-10 focus-visible:border focus-visible:border-primary-strong focus-visible:ring-[3px] focus-visible:ring-primary-weak disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Submit search`,type:`submit`,children:(0,g.jsx)(_.ArrowRightIcon,{size:16,"aria-hidden":`true`})})]})},Q=({children:e,disabled:t,onClick:n})=>(0,g.jsx)(`button`,{type:`button`,disabled:t,className:`flex cursor-pointer items-center gap-x-1 rounded-sm border border-border bg-background p-2.5 text-sm text-text-positive-weak outline-none transition-all hover:shadow-card focus:border-border-emphasis focus:bg-muted-muted active:border-border-emphasis active:bg-muted-muted active:text-text-positive disabled:pointer-events-none disabled:cursor-default disabled:opacity-60 [&_svg]:size-3.5`,onClick:n,children:e}),Te=({onCreate:e,onDownload:t,onRefresh:n})=>(0,g.jsxs)(`div`,{className:`flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none`,children:[(0,g.jsx)(Q,{disabled:!e,onClick:t=>{e?.(),t.stopPropagation(),t.preventDefault()},children:(0,g.jsx)(_.CirclePlus,{})}),(0,g.jsx)(Q,{disabled:!n,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.RefreshCwIcon,{})}),(0,g.jsx)(Q,{disabled:!t,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.DownloadIcon,{})})]}),$=({children:e})=>{let{title:t}=F();return(0,g.jsxs)(`div`,{"data-slot":`table-tooltip`,className:`relative m-0 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 p-0 px-2 text-sm`,children:[(0,g.jsx)(`h3`,{className:`font-semibold text-base text-text-positive`,children:t}),(0,g.jsx)(`div`,{className:`flex w-full flex-1 justify-between gap-x-2`,children:e})]})};$.displayName=`TableTooltip`,exports.UITableBadgeDisplay=C,exports.UITableBody=G,exports.UITableBooleanDisplay=w,exports.UITableCell=Y,exports.UITableCellActions=J,exports.UITableCellSelect=q,exports.UITableContainer=ge,exports.UITableDateDisplay=ee,exports.UITableDescriptionDisplay=T,exports.UITableEmptyDisplay=R,exports.UITableFilter=ve,exports.UITableFooter=he,exports.UITableHead=H,exports.UITableHeadCell=W,exports.UITableHeadCellOption=I,exports.UITableHeadCellSelect=L,exports.UITableHeadRow=U,exports.UITableInnerTable=V,exports.UITableInnerWrapper=B,exports.UITableLoadMore=X,exports.UITableMoreButton=E,exports.UITableNameDisplay=D,exports.UITablePermalink=O,exports.UITablePhoneNumberDisplay=k,exports.UITableProvider=Ce,exports.UITableRemoveButton=A,exports.UITableRow=K,exports.UITableStatisticDisplay=M,exports.UITableTooltip=$,exports.UITableTooltipActions=Te,exports.UITableTooltipFilter=we,exports.UITableUserDataDisplay=N,exports.UITableWrapper=z;
|
|
1
|
+
const e=require(`../../chunk-Bmb41Sf3.cjs`),t=require(`../../paragraph-BBye8n4M.cjs`);require(`../../button.variants-8QOIR433.cjs`);const n=require(`../../button-8Snjc8iT.cjs`),r=require(`../../flex-twCgWyx1.cjs`),i=require(`../../date-CTmoK8tv.cjs`),a=require(`../../badge-cvLJyaCA.cjs`),o=require(`../../tooltip-DC6i1A25.cjs`),s=require(`../../avatar-aVxo69zP.cjs`),c=require(`../../separator-C3ip6sbh.cjs`),l=require(`../../dropdown-menu-BuyuU6uF.cjs`),u=require(`../../checkbox-C0fSWwmD.cjs`),d=require(`../../spinner-Chm_2fLr.cjs`),f=require(`../../resizable-mlGS6Zto.cjs`),p=require(`../../input-BFWWaN-v.cjs`);let m=require(`@customafk/react-toolkit/utils`),h=require(`react`),g=require(`react/jsx-runtime`),_=require(`lucide-react`),v=require(`@customafk/react-toolkit/color-hash`),y=require(`@tanstack/react-table`),b=require(`@tanstack/react-virtual`),x=require(`@customafk/react-toolkit/hooks/useDebounceCallback`);const S=()=>(0,g.jsxs)(`div`,{className:`flex gap-0 text-text-positive-weak`,children:[(0,g.jsx)(_.MinusIcon,{size:16}),(0,g.jsx)(_.MinusIcon,{size:16})]}),C=({label:e,onClick:t,onRemove:n})=>e?n?(0,g.jsxs)(`div`,{className:`flex w-fit gap-x-0.5 rounded-full border border-border py-1 pr-2 pl-3 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:[e,(0,g.jsx)(`button`,{className:`cursor-pointer text-text-positive-weak hover:text-text-positive-strong`,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.XIcon,{size:12})})]}):(0,g.jsx)(`button`,{className:`w-fit rounded-full border border-border px-3 py-1 text-text-positive text-xs shadow-xs`,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:e}):(0,g.jsx)(S,{}),w=({value:e})=>e==null?(0,g.jsx)(S,{}):e===!1?(0,g.jsx)(`div`,{className:`text-danger-strong`,children:(0,g.jsx)(_.XIcon,{})}):(0,g.jsx)(`div`,{className:`text-success-strong`,children:(0,g.jsx)(_.CheckIcon,{})}),ee=({date:e})=>e==null?(0,g.jsx)(S,{}):(0,g.jsx)(o.r,{children:(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{asChild:!0,children:(0,g.jsx)(a.t,{className:`h-fit`,children:(0,g.jsx)(i.t,{date:e,format:`medium`,className:`font-normal text-white`})})}),(0,g.jsx)(o.n,{className:`rounded`,children:(0,g.jsx)(i.t,{date:e,format:`full`,showTime:!0,className:`font-medium text-text-negative text-xs`})})]})}),T=({content:e})=>e==null?(0,g.jsx)(S,{}):(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{asChild:!0,children:(0,g.jsx)(`div`,{className:`line-clamp-2 whitespace-pre-line break-all text-start text-[13px] text-text-positive-weak`,children:e})}),(0,g.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,g.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,g.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,g.jsxs)(`p`,{className:`w-full text-end`,children:[e.toString().length,` chars`]})]})})]}),E=({items:e=[]})=>(0,g.jsxs)(l.t,{children:[(0,g.jsx)(l.h,{asChild:!0,children:(0,g.jsx)(n.t,{size:`sm`,variant:`ghost`,color:`secondary`,className:`size-9 rounded-full`,children:(0,g.jsx)(_.MoreVerticalIcon,{})})}),(0,g.jsx)(l.r,{children:(0,g.jsx)(l.i,{children:e.map(e=>(0,g.jsx)(l.a,{className:`px-3`,onSelect:t=>{e.onClick(e.id),t.stopPropagation()},children:e.label},e.id))})})]}),D=({name:e})=>e?(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{children:(0,g.jsx)(t.t,{variant:`sm`,className:`line-clamp-2 w-full truncate text-wrap pb-px text-start text-sm`,children:e})}),(0,g.jsx)(o.n,{align:`start`,className:`h-fit min-w-48 max-w-80 pt-4`,children:(0,g.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[(0,g.jsx)(`p`,{className:`whitespace-pre-line text-wrap break-keep`,children:e}),(0,g.jsxs)(`p`,{className:`w-full text-end`,children:[e.length,` chars`]})]})})]}):(0,g.jsx)(S,{}),O=({href:e,label:t})=>(0,g.jsxs)(`a`,{href:e,target:`_blank`,className:`inline-flex items-center gap-1 truncate text-primary text-sm underline`,rel:`noopener noreferrer`,children:[(0,g.jsx)(`span`,{children:t||e}),(0,g.jsx)(_.ExternalLinkIcon,{size:14})]}),k=({value:e})=>(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{asChild:!0,children:(0,g.jsx)(`p`,{className:`font-number text-secondary-foreground text-sm tabular-nums`,children:e.replace(/(\d{3})(\d{3})(\d{4})/,`($1) $2-$3`)})}),(0,g.jsx)(o.n,{align:`start`,children:(0,g.jsx)(`p`,{className:`tabular-nums`,children:e.slice(1).replace(/(\d{2})(\d{3})(\d{4})/,`(00) (+84) ($1) $2-$3`)})})]}),A=({title:e,onClick:t})=>(0,g.jsxs)(o.t,{children:[(0,g.jsx)(o.i,{children:(0,g.jsx)(n.t,{type:`button`,variant:`ghost`,color:`danger`,size:`icon`,onClick:(0,h.useCallback)(async e=>{e.preventDefault(),e.stopPropagation(),await t?.()},[t]),children:(0,g.jsx)(_.Trash2Icon,{})})}),(0,g.jsx)(o.n,{children:(0,g.jsx)(`p`,{children:e||`Remove item from list table`})})]}),j=(e,t,n)=>{let r=10**t;switch(n){case`floor`:return Math.floor(e*r)/r;case`ceil`:return Math.ceil(e*r)/r;default:return Math.round(e*r)/r}},M=(0,h.memo)(({decimalSeparator:e=`.`,groupSeparator:t=`,`,prefix:n,suffix:i,precision:a,roundingMode:o=`round`,showTrailingZeros:s=!1,size:c=`lg`,value:l=0})=>{let u=(0,h.useMemo)(()=>{let e={};return typeof a==`number`&&a>=0&&s&&(e.minimumFractionDigits=a),e.maximumFractionDigits=a,e},[a,s]),d=(0,h.useCallback)(e=>{let t=e;return typeof a==`number`&&a>=0&&(t=j(e,a,o)),t.toLocaleString(`en-US`,u)},[o,u,a]),f=(0,h.useMemo)(()=>{if(typeof l==`number`)return Number.isNaN(l)||!Number.isFinite(l)?`N/A`:d(l);if(typeof l==`string`){let e=l.trim();if(!e)return`N/A`;let t=Number(e);return Number.isNaN(t)||!Number.isFinite(t)?`N/A`:d(t)}return`N/A`},[l,d]),p=(0,h.useMemo)(()=>e===`.`&&t===`,`?f:f.replace(/,/g,t).replace(/\./g,e),[f,e,t]);return p===`0`||p===`N/A`||!p?(0,g.jsx)(S,{}):(0,g.jsxs)(r.t,{padding:`none`,className:(0,m.cn)(`font-number text-lg text-secondary-foreground tabular-nums`,c===`xs`&&`text-xs`,c===`sm`&&`text-sm`,c===`md`&&`text-base`,c===`lg`&&`text-lg`,c===`xl`&&`text-xl`),children:[n,(0,g.jsx)(`p`,{children:p}),i]})});M.displayName=`UITableStatisticDisplay`;const N=({uuid:e,username:n,email:i})=>(0,g.jsxs)(r.t,{wrap:!1,gap:`sm`,padding:`none`,children:[!e&&(0,g.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,g.jsx)(s.n,{className:`bg-muted-weak`,children:(0,g.jsx)(_.UserRoundIcon,{size:28,className:`text-text-negative`})})}),e&&(0,g.jsx)(s.t,{className:`size-10 shadow-card`,children:(0,g.jsx)(s.n,{style:{backgroundColor:v.colorHashLight.hex(e)},children:(0,g.jsx)(_.UserRoundIcon,{size:28,className:`text-white`})})}),(0,g.jsxs)(r.t,{vertical:!0,padding:`none`,gap:`none`,align:`start`,children:[(0,g.jsx)(t.t,{className:`font-medium text-sm text-text-positive-weak`,children:n??`Unknown User`}),(0,g.jsx)(t.t,{variant:`sm`,className:`mt-0! text-text-positive-weak text-xs`,children:i})]})]}),te=60,ne=60,re=20,ie=20,ae=(0,h.createContext)(null),oe=()=>{let e=(0,h.use)(ae);if(!e)throw Error(`useTableInnerWrapperContext must be used within a TableInnerWrapperProvider`);return e},se=(0,h.createContext)(null),ce=()=>{let e=(0,h.use)(se);if(!e)throw Error(`useTableInnerTableContext must be used within a TableInnerTableProvider`);return e},le=(0,h.createContext)(null),ue=()=>{let e=(0,h.use)(le);if(!e)throw Error(`useTableHeaderRowContext must be used within a TableHeaderRowProvider`);return e},de=(0,h.createContext)(null),fe=()=>{let e=(0,h.use)(de);if(!e)throw Error(`useTableBodyContext must be used within a TableBodyProvider`);return e},pe=(0,h.createContext)(null),me=()=>{let e=(0,h.use)(pe);if(!e)throw Error(`useTableRowContext must be used within a TableRowProvider`);return e},P=(0,h.createContext)(null),F=()=>{let e=(0,h.use)(P);if(!e)throw Error(`useTableContext must be used within a TableProvider`);return e},I=(0,h.memo)(({isPinned:e,onLeftPin:t,onRightPin:n,onUnpin:r,className:i})=>{let a=(0,h.useCallback)(()=>{t?.(`left`)},[t]),o=(0,h.useCallback)(()=>{n?.(`right`)},[n]),s=(0,h.useCallback)(()=>{r?.(!1)},[r]);return(0,g.jsxs)(l.t,{children:[(0,g.jsx)(l.h,{asChild:!0,children:(0,g.jsx)(`button`,{className:(0,m.cn)(`absolute right-2 z-10 p-0.5 opacity-0`,`cursor-pointer rounded-full transition-all`,`text-text-positive-weak`,`[&>svg]:size-4`,`group-hover:opacity-100`,`hover:bg-muted-muted hover:text-text-positive`,i),children:(0,g.jsx)(_.EllipsisVerticalIcon,{})})}),(0,g.jsx)(l.r,{align:`end`,className:`w-64 p-4`,children:(0,g.jsxs)(l.i,{className:`*:data-[slot=dropdown-menu-item]:rounded-xs *:data-[slot=dropdown-menu-item]:p-2`,children:[(0,g.jsx)(h.Activity,{mode:e?`visible`:`hidden`,children:(0,g.jsxs)(l.a,{onClick:s,children:[!!e&&`Unpin`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.PinOffIcon,{className:`size-4`})})]})}),(0,g.jsxs)(h.Activity,{mode:e?`hidden`:`visible`,children:[(0,g.jsxs)(l.a,{onClick:a,children:[e?`Unpin`:`Pin to Left`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.MoveLeftIcon,{className:`size-4`})})]}),(0,g.jsxs)(l.a,{onClick:o,children:[e?`Unpin`:`Pin to Right`,(0,g.jsx)(l.d,{children:(0,g.jsx)(_.MoveRightIcon,{className:`size-4`})})]})]})]})})]})});I.displayName=`UITableHeadCellOption`;const L=(0,h.memo)(({isPinned:e,isAllRowsSelected:t,style:n,onToggleAllRowsSelected:r,...i})=>{let a=(0,h.useCallback)(e=>{r?.(!!e)},[r]);return(0,g.jsx)(`th`,{slot:`table-header-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:(0,m.cn)(e?`sticky`:`relative`),...i,children:(0,g.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:(0,g.jsx)(u.t,{"aria-label":`Select All Rows`,checked:t,onCheckedChange:a})})})});L.displayName=`UITableHeadCellSelect`;const R=(0,h.memo)(({isEmpty:e,isFetching:t})=>!e&&!t?null:(0,g.jsxs)(`div`,{className:`sticky left-0 flex min-h-96 flex-1 items-center justify-center bg-transparent text-text-positive-weak opacity-100`,children:[t&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,g.jsx)(d.t,{className:`size-12`}),(0,g.jsx)(`p`,{children:`Loading data...`})]}),e&&!t&&(0,g.jsxs)(`div`,{className:`flex flex-col items-center gap-1`,children:[(0,g.jsx)(_.BoxIcon,{strokeWidth:1,size:48}),(0,g.jsx)(`p`,{children:`No data available`})]})]}));R.displayName=`UITableEmptyDisplay`;const z=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`div`,{slot:`table-wrapper`,className:(0,m.cn)(`relative m-0 flex size-full flex-col flex-nowrap items-start justify-start gap-2`,e),...n,children:t}));z.displayName=`UITableWrapper`;const B=(0,h.memo)(({children:e,...t})=>{let{innerWrapperId:n}=oe();return(0,g.jsx)(`div`,{id:n,slot:`table-inner-wrapper`,className:`relative size-full overflow-auto border-b border-b-border border-l border-l-border bg-card`,...t,children:e})});B.displayName=`UITableInnerWrapper`;const V=(0,h.memo)(({children:e,...t})=>{let{table:n,innerTableId:r,totalSize:i}=ce(),a=(0,h.useRef)(null);return(0,h.useEffect)(()=>{if(!a.current)return;let e=n.getFlatHeaders(),t=new ResizeObserver(t=>{requestAnimationFrame(()=>{let r=t[0].target;if(r instanceof HTMLTableElement){let i=t[0];if(!i)return;let a=i.contentRect.width,{left:o=[],right:s=[]}=n.getState().columnPinning,c=0,l=0,u=0,d=e.map(e=>{let{id:t}=e,n=t===`select`||t===`actions`,r=o.includes(t)||s.includes(t),i=e.getSize(),a=e.column.columnDef.maxSize;return n?(c+=60,{id:t,isFlex:!1,width:60}):r?(c+=i,{id:t,isFlex:!1,width:i}):e.column.columnDef.size||i!==150?(u+=i,{id:t,isFlex:!1,width:i}):(l++,{id:t,isFlex:!0,maxSize:a})}),f=a-c-u,p=l>0?Math.max(0,Math.floor(f/l)):0;d.forEach(e=>{if(e.isFlex){let t=e.maxSize?Math.min(p,e.maxSize):p;r.style.setProperty(`--header-${e.id}-size`,`${t}`),r.style.setProperty(`--col-${e.id}-size`,`${t}`),e.maxSize&&r.style.setProperty(`--col-${e.id}-maxSize`,`${e.maxSize}`)}else r.style.setProperty(`--header-${e.id}-size`,`${e.width}`),r.style.setProperty(`--col-${e.id}-size`,`${e.width}`)})}})});return t.observe(a.current),()=>t.disconnect()},[n.getState().columnSizingInfo,n.getState().columnSizing,n.getState().columnPinning]),(0,g.jsx)(`table`,{id:r,ref:a,slot:`table-inner-table`,className:`grid w-full table-fixed caption-bottom border-collapse border-spacing-0 flex-col content-start [&_tfoot_td]:border-t`,style:{minWidth:i},...t,children:e})});V.displayName=`UITableInnerTable`;const H=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`thead`,{slot:`table-head`,className:(0,m.cn)(`sticky top-0 z-20 h-9 w-full`,`grid select-none bg-muted-bg-subtle`,`border-b border-b-border shadow`,`font-medium text-[13px] text-text-positive-weak`,`[&_tr:not(:last-child)_td]:border-b`,`[&_th]:inline-flex`,`[&_th]:items-center`,`[&_th]:transition-all`,`[&_th]:duration-300`,`[&_th]:whitespace-nowrap`,`[&_th]:border-border`,`[&_th]:last:border-r-0`,`[&_th]:first:border-l-0`,`[&_tr_th:not([data-pinned=false])]:bg-muted-bg-subtle`,e),...n,children:t}));H.displayName=`UITableHead`;const U=(0,h.memo)(({headerGroup:e,className:t,...n})=>{let{isAllRowsSelected:r,columnPinningState:i,leftPinnedHeaders:a,rightPinnedHeaders:o,onToggleAllRowsSelected:s}=ue(),c=o[0]?.id,l=a[a.length-1]?.id;return(0,g.jsx)(`tr`,{slot:`table-head-row`,className:(0,m.cn)(`flex`,t),...n,children:e.headers.map((e,t)=>{let n=e.column.getIsVisible(),a=i.left?.includes(e.id)?`left`:i.right?.includes(e.id)?`right`:!1;return e.id===`select`?(0,g.jsx)(L,{isPinned:a,isAllRowsSelected:r,onToggleAllRowsSelected:s},e.id):(0,g.jsx)(W,{isVisible:n,isPinned:a,isFirstCell:e.id===c,isLastCell:e.id===l,isOptionsVisible:![`select`,`actions`].includes(e.id),headerId:e.id,headerColumn:e.column,colSpan:e.colSpan,onColumnPin:e.column.pin,onToggleVisibility:e.column.toggleVisibility,children:(0,y.flexRender)(e.column.columnDef.header,e.getContext())},`${e.id}-${t}`)})})});U.displayName=`UITableHeadRow`;const W=(0,h.memo)(({isVisible:e=!0,isPinned:t=!1,isFirstCell:n=!1,isLastCell:r=!1,isOptionsVisible:i=!0,headerId:a,headerColumn:o,className:s,children:c,onColumnPin:l,onToggleVisibility:u,...d})=>{let f=(0,h.useMemo)(()=>t?20:void 0,[t]),p=(0,h.useMemo)(()=>{let e=o?.getStart?.(`left`);return t===`left`&&typeof e==`number`?`${e}px`:void 0},[t,o]),_=(0,h.useMemo)(()=>{let e=o?.getAfter?.(`right`);return t===`right`&&typeof e==`number`?`${e}px`:void 0},[t,o]),v=(0,h.useMemo)(()=>`calc(var(--header-${a}-size) * 1px)`,[a]),y=(0,h.useMemo)(()=>o?.columnDef.minSize?`calc(var(--col-${a}-minSize) * 1px)`:void 0,[a,o]),b=(0,h.useMemo)(()=>o?.columnDef.maxSize?`calc(var(--col-${a}-maxSize) * 1px)`:void 0,[a,o]);return(0,g.jsxs)(`th`,{slot:`table-head-cell`,"data-pinned":t,"data-header":a,style:{zIndex:f,left:p,right:_,width:v,minWidth:y,maxWidth:b},className:(0,m.cn)(`group flex`,t?`sticky`:`relative`,t===`left`&&r&&`border-r border-r-border`,t===`right`&&n&&`border-l border-l-border`,o?.columnDef.meta?.position===`center`&&`justify-center`,o?.columnDef.meta?.position===`end`&&`justify-end`,o?.columnDef.meta?.position===`start`&&`justify-start`,s),...d,children:[(0,g.jsx)(`div`,{className:`truncate pl-4`,children:c}),i&&(0,g.jsx)(I,{isPinned:t,isVisible:e,onLeftPin:l,onRightPin:l,onUnpin:l})]})});W.displayName=`UITableHeadCell`;const G=(0,h.memo)(({height:e,className:t,children:n,...r})=>{let{isFetching:i,isEmpty:a}=fe();return a||i?null:(0,g.jsx)(`tbody`,{slot:`table-body`,style:{height:e},className:(0,m.cn)(`relative w-full`,`grid`,`[&_tr]:absolute`,`[&_tr]:flex`,`[&_tr]:flex-none`,`[&_tr]:w-full`,`[&_tr]:cursor-pointer [&_tr]:focus:outline-none`,`[&_tr]:border-b [&_tr]:border-b-border`,`[&_td]:z-10`,`[&_td]:transition-all`,`[&_td]:duration-300`,`[&_td]:flex`,`[&_td]:flex-none`,`[&_td]:overflow-hidden`,`[&_td]:whitespace-nowrap`,`[&_td]:px-4`,`[&_td]:py-2.5`,`[&_td]:align-middle`,`[&_td]:border-border`,`[&_td]:data-[selected=true]:bg-muted-muted!`,`[&_td]:data-[selected=true]:hover:bg-muted-muted!`,`[&_td>div]:inline-flex`,`[&_td>div]:items-center`,`[&_td>div]:w-full`,`[&_td:not([data-pinned=false])]:z-20`,`[&_td:not([data-pinned=false])]:sticky`,`[&_td:not([data-pinned=false])]:bg-card`,`**:data-lastcell:border-r`,`**:data-firstcell:border-l`,t),...r,children:n})});G.displayName=`UITableBody`;const K=(0,h.memo)(({row:e,isSelected:t,virtualRowIndex:n,virtualRowStart:r,children:i,...a})=>{let{keyOfClickRow:o,isAllRowsSelected:s,columnPinningState:c,leftPinnedHeaders:l,rightPinnedHeaders:u,onClickRow:d}=me(),f=(0,h.useMemo)(()=>c.left??[],[c]),p=(0,h.useMemo)(()=>c.right??[],[c]),m=(0,h.useMemo)(()=>u?.[0]?.id,[u]),_=(0,h.useMemo)(()=>l?.[l.length-1]?.id,[l]),v=(0,h.useCallback)(t=>{let r=o?e.original?.[o]:void 0;d?.(n,typeof r==`string`||typeof r==`number`?r:void 0),t.preventDefault(),t.stopPropagation()},[o,d,e,n]);return(0,g.jsx)(`tr`,{slot:`table-row`,"data-index":n,style:{transform:`translateY(${r}px)`},className:`group`,onClick:v,...a,children:e.getVisibleCells().map((e,r)=>{let i=f.includes(e.column.id),a=p.includes(e.column.id),o=i?`left`:a?`right`:!1;return e.column.id===`actions`?(0,g.jsx)(J,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,virtualRowIndex:n,column:e.column,getContext:e.getContext},`${e.id}-${r}`):e.column.id===`select`?(0,g.jsx)(q,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isSelected:s||t,onToggleRowSelected:e.row.toggleSelected},`${e.id}-${r}`):(0,g.jsx)(Y,{"data-col":e.column.id,"data-cell":n,"data-selected":t||void 0,isPinned:o,isFirstCell:e.column.id===m,isLastCell:e.column.id===_,colId:e.column.id,position:e.column.columnDef.meta?.position??`start`,column:e.column,getContext:e.getContext},`${e.id}-${r}`)})})});K.displayName=`UITableRow`;const q=(0,h.memo)(({isPinned:e,isSelected:t=!1,className:n,onToggleRowSelected:r,...i})=>{let a=(0,h.useCallback)(e=>{r?.(!!e)},[r]);return(0,g.jsx)(`td`,{slot:`table-body-cell`,"data-pinned":!0,style:{left:0,zIndex:20,width:60,maxWidth:60},className:(0,m.cn)(`group-hover:bg-muted-bg-subtle!`,e?`sticky`:`relative`,n),...i,children:(0,g.jsx)(`div`,{"data-slot":`table-cell-inner`,className:`flex! w-full! items-center justify-center bg-transparent text-center align-middle`,onClick:e=>{e.preventDefault(),e.stopPropagation()},children:(0,g.jsx)(u.t,{"aria-label":`Select Row`,checked:t,onCheckedChange:a})})})});q.displayName=`UITableCellSelect`;const J=(0,h.memo)(({virtualRowIndex:e,column:t,getContext:n,className:r,...i})=>{let a=(0,h.useMemo)(()=>(0,y.flexRender)(t?.columnDef.cell,n()),[t,n]);return(0,g.jsx)(`td`,{"data-col":`actions`,"data-cell":e,className:`sticky inset-y-0 right-0 z-50 flex items-center pr-4 group-hover:bg-muted-bg-subtle!`,...i,children:a})});J.displayName=`UITableCellActions`;const Y=(0,h.memo)(({isPinned:e=!1,isFirstCell:t=!1,isLastCell:n=!1,colId:r,position:i=`start`,column:a,getContext:o,...s})=>{let{innerTableId:c,table:l}=ce(),u=(0,h.useRef)(document.querySelector(`table[id="${c}"]`)),d=(0,h.useRef)(null),f=(0,h.useMemo)(()=>{let t=a?.getStart(`left`);return e===`left`&&typeof t==`number`?`${t}px`:void 0},[e,a]),p=(0,h.useMemo)(()=>{let t=a?.getAfter(`right`);return e===`right`&&typeof t==`number`?`${t}px`:void 0},[e,a]),_=(0,h.useMemo)(()=>`calc(var(--col-${r}-size) * 1px)`,[r]),v=(0,h.useMemo)(()=>a?.columnDef.minSize?`calc(var(--col-${r}-minSize) * 1px)`:void 0,[r,a]),b=(0,h.useMemo)(()=>a?.columnDef.maxSize?`calc(var(--col-${r}-maxSize) * 1px)`:void 0,[r,a]),x=(0,h.useMemo)(()=>(0,y.flexRender)(a?.columnDef.cell,o()),[a,o]);return(0,h.useEffect)(()=>{if(!d.current)return;let e=d.current.scrollWidth,t=a?.getSize();t&&e>t&&u.current instanceof HTMLTableElement&&typeof r==`string`&&a?.columnDef.meta?.fitContent&&l.setColumnSizing(t=>({...t,[r]:e+32}))},[r,a,l]),(0,g.jsx)(`td`,{slot:`table-body-cell`,"data-pinned":e,"data-lastcell":n||void 0,"data-firstcell":t||void 0,style:{left:f,right:p,width:_,minWidth:v,maxWidth:b},className:`group-hover:bg-muted-bg-subtle!`,...s,children:(0,g.jsx)(`div`,{ref:d,slot:`table-body-cell-inner`,className:(0,m.cn)(i===`start`&&`justify-start`,i===`center`&&`justify-center`,i===`end`&&`justify-end`),children:x})})});Y.displayName=`UITableCell`;const he=(0,h.memo)(({className:e,children:t,...n})=>(0,g.jsx)(`tfoot`,{slot:`table-footer`,className:(0,m.cn)(`flex w-full justify-center border-border-weak border-t py-2 font-medium [&>tr]:last:border-b-0`,e),...n,children:t}));he.displayName=`UITableFooter`;const X=(0,h.memo)(({virtualRowIndex:e,virtualRowStart:t,fetchMoreData:n})=>{let{innerWrapperId:r}=oe(),i=(0,h.useRef)(document.querySelector(`div[id="${r}"]`)),a=(0,h.useRef)(null),[o,s]=(0,h.useState)(`idle`),[c,l]=(0,h.useState)(0),u=(0,h.useCallback)(async()=>{try{s(`fetching`),await n?.(),s(`idle`)}catch(e){console.error(`Error fetching more data:`,e),s(`error`)}},[n]);return(0,h.useEffect)(()=>{if(!i.current)return;let e=new ResizeObserver(e=>{l(e[0].contentRect.width)});return e.observe(i.current),()=>e.disconnect()},[]),n?(0,g.jsx)(`tr`,{ref:a,"data-index":e,style:{transform:`translateY(${t}px)`,width:c},className:`sticky! left-0 h-10`,children:(0,g.jsx)(`td`,{className:`absolute left-0 flex w-full items-center justify-center text-xs`,children:(0,g.jsxs)(`button`,{type:`button`,disabled:o===`fetching`,className:(0,m.cn)(`flex cursor-pointer gap-x-0.5`,o===`fetching`&&`cursor-not-allowed`,o===`idle`&&`text-text-positive-weak hover:text-text-positive`,o===`error`&&`text-danger hover:text-danger-strong`),onClick:u,children:[o===`idle`&&(0,g.jsx)(_.ChevronDown,{className:`size-4`}),o===`fetching`&&(0,g.jsx)(d.t,{className:`size-4 animate-spin`}),o===`error`&&(0,g.jsx)(_.AlertTriangle,{className:`size-4 text-danger`}),o===`idle`&&`Load More`,o===`fetching`&&`Loading...`,o===`error`&&`Error! Retry?`]})})}):null});X.displayName=`UITableLoadMore`;const ge=()=>{let{table:e,isEmpty:t,isFetching:n,fetchMoreData:r}=F(),{rowSelectionState:i}=fe(),a=(0,h.useRef)(null),{rows:o}=e.getRowModel(),s=(0,b.useVirtualizer)({count:o.length+1,estimateSize:()=>40,getScrollElement:()=>a.current,measureElement:typeof window<`u`&&navigator.userAgent.indexOf(`Firefox`)===-1?e=>e?.getBoundingClientRect().height:void 0,overscan:2}),c=(0,h.useMemo)(()=>{let e=s.getTotalSize(),t=a.current?.clientHeight||0;return e<t?`${t}px`:`${e}px`},[s.getTotalSize()]);return(0,g.jsx)(f.r,{direction:`horizontal`,style:{direction:e.options.columnResizeDirection},className:`relative flex w-full max-w-full flex-1 gap-1 overflow-auto border-t border-t-border border-r border-r-border bg-slate-50 p-0 text-sm`,children:(0,g.jsx)(f.n,{className:`relative`,children:(0,g.jsxs)(B,{ref:a,children:[(0,g.jsxs)(V,{children:[(0,g.jsx)(H,{children:e.getHeaderGroups().map(e=>(0,g.jsx)(U,{headerGroup:e},e.id))}),(0,g.jsx)(G,{height:c,children:s.getVirtualItems().map(e=>{let t=o[e.index],n=Object.entries(i).some(([e,n])=>e===`${t?.id}`&&n);return t?(0,g.jsx)(K,{ref:s.measureElement,row:t,isSelected:n,virtualRowIndex:e.index,virtualRowStart:e.start},e.index):(0,g.jsx)(X,{virtualRowIndex:e.index,virtualRowStart:e.start,fetchMoreData:r},e.index)})})]}),(0,g.jsx)(R,{isEmpty:t,isFetching:n})]})})})},_e=({checked:e,title:t,onCheckedChange:n})=>(0,g.jsxs)(`div`,{className:`flex h-fit items-center gap-2`,children:[(0,g.jsx)(u.t,{checked:e,onCheckedChange:n}),(0,g.jsx)(`p`,{className:`text-sm`,children:t})]}),ve=()=>{let{table:e}=F(),[t,r]=(0,h.useState)(null);return(0,g.jsx)(f.n,{defaultSize:25,className:(0,m.cn)(`bg-card`,t===null?`max-w-8!`:`min-w-64`),children:(0,g.jsxs)(`div`,{className:`relative z-20 flex size-full bg-muted-bg-subtle`,children:[(0,g.jsxs)(`div`,{className:`flex-1`,children:[(0,g.jsx)(h.Activity,{mode:t===`columns`?`visible`:`hidden`,children:(0,g.jsxs)(`div`,{className:`flex size-full flex-col gap-2 p-4`,children:[(0,g.jsx)(`p`,{className:`px-2 font-medium`,children:`Columns Visibility`}),(0,g.jsx)(c.t,{}),(0,g.jsx)(`div`,{className:`flex flex-col gap-4 pt-4`,children:e.getAllColumns().map(e=>[`select`,`actions`].includes(e.id)?null:(0,g.jsx)(_e,{checked:e.getIsVisible(),title:String(e.columnDef.header),onCheckedChange:t=>e.toggleVisibility(!!t)},e.id))})]})}),(0,g.jsx)(h.Activity,{mode:t===`filters`?`visible`:`hidden`,children:(0,g.jsx)(`div`,{className:`flex size-full flex-col p-2`,children:(0,g.jsxs)(n.t,{variant:`outline`,color:`muted`,children:[(0,g.jsx)(_.ListFilterPlus,{}),`Add Filter`]})})})]}),(0,g.jsxs)(`div`,{className:`flex h-full flex-col border-border border-l bg-muted-bg-subtle text-sm`,children:[(0,g.jsxs)(`button`,{className:(0,m.cn)(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,t===`columns`&&`bg-card`),onClick:()=>r(t===`columns`?null:`columns`),children:[(0,g.jsx)(_.Columns4Icon,{size:18}),(0,g.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Columns`})]}),(0,g.jsx)(c.t,{}),(0,g.jsxs)(`button`,{className:(0,m.cn)(`flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4`,t===`filters`&&`bg-card`),onClick:()=>r(t===`filters`?null:`filters`),children:[(0,g.jsx)(_.ListFilterIcon,{size:18}),(0,g.jsx)(`span`,{className:`text-nowrap [writing-mode:vertical-lr]`,children:`Filters`})]}),(0,g.jsx)(c.t,{})]})]})})},ye=(0,h.memo)(({innerWrapperId:e,children:t})=>{let n=(0,h.useMemo)(()=>({innerWrapperId:e}),[e]);return(0,g.jsx)(ae.Provider,{value:n,children:t})});ye.displayName=`UITableInnerWrapperProvider`;const be=(0,h.memo)(({table:e,innerTableId:t,totalSize:n,children:r})=>{let i=(0,h.useMemo)(()=>({table:e,innerTableId:t,totalSize:n}),[e,t,n]);return(0,g.jsx)(se.Provider,{value:i,children:r})});be.displayName=`UITableInnerTableProvider`;const xe=(0,h.memo)(({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i,children:a})=>{let o=(0,h.useMemo)(()=>({isAllRowsSelected:e,columnPinningState:t,leftPinnedHeaders:n,rightPinnedHeaders:r,onToggleAllRowsSelected:i}),[e,t,n,r,i]);return(0,g.jsx)(le.Provider,{value:o,children:a})});xe.displayName=`UITableHeadRowProvider`;const Se=(0,h.memo)(({isFetching:e,isEmpty:t,rowSelectionState:n,children:r})=>{let i=(0,h.useMemo)(()=>({isFetching:e,isEmpty:t,rowSelectionState:n}),[e,t,n]);return(0,g.jsx)(de.Provider,{value:i,children:r})});Se.displayName=`UITableBodyProvider`;const Z=(0,h.memo)(({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a,children:o})=>{let s=(0,h.useMemo)(()=>({keyOfClickRow:e,isAllRowsSelected:t,columnPinningState:n,leftPinnedHeaders:r,rightPinnedHeaders:i,onClickRow:a}),[e,t,n,r,i,a]);return(0,g.jsx)(pe.Provider,{value:s,children:o})});Z.displayName=`UITableRowProvider`;const Ce=({title:e,isFetching:t=!1,isRefetching:n=!1,data:r,columns:i,totalRows:a,leftPinnedColumns:o=[],rightPinnedColumns:s=[],keyOfClickRow:c,onClickRow:l,onRowSelection:u,onColumnPinning:d,fetchMoreData:f,children:p})=>{let m=(0,h.useId)(),_=(0,h.useId)(),[v,b]=(0,h.useState)({}),[x,S]=(0,h.useState)({right:s,left:[`select`,...o]}),[C,w]=(0,h.useState)({}),ee=(0,h.useCallback)(e=>(b(e),u?.(e instanceof Function?e(v):e),e),[v,u]),T=(0,h.useCallback)(e=>{S(e),d?.(e instanceof Function?e(x):e)},[x,d]),E=(0,y.useReactTable)({data:r,columns:i,state:{rowSelection:v,columnPinning:x,expanded:C},defaultColumn:{enableResizing:!1,size:void 0,minSize:void 0,maxSize:void 0},columnResizeMode:`onChange`,columnResizeDirection:`ltr`,enableColumnPinning:!0,enableRowSelection:!0,enableColumnResizing:!0,enableMultiRowSelection:!0,autoResetAll:!1,autoResetExpanded:!1,autoResetPageIndex:!1,getSubRows:e=>e.subRows,getCoreRowModel:(0,y.getCoreRowModel)(),getGroupedRowModel:(0,y.getGroupedRowModel)(),getExpandedRowModel:(0,y.getExpandedRowModel)(),onRowSelectionChange:ee,onColumnPinningChange:T,onExpandedChange:w}),D=(0,h.useMemo)(()=>{let{rows:e}=E.getRowModel();return e},[E.getRowModel().rows,E.getState().columnPinning]),O=(0,h.useMemo)(()=>!t&&D.length===0,[D,t]),k=(0,h.useMemo)(()=>({title:e,table:E,isEmpty:O,isFetching:t,isRefetching:n,totalRows:a,fetchMoreData:f}),[e,E,O,n,t,a,f,E.getState().columnPinning,E.getState().expanded]),A=(0,h.useMemo)(()=>E.getState(),[E.getState()]),j=(0,h.useMemo)(()=>E.getIsAllRowsSelected(),[E.getIsAllRowsSelected()]),M=(0,h.useMemo)(()=>A.rowSelection,[A.rowSelection]),N=(0,h.useMemo)(()=>A.columnPinning,[A.columnPinning]),te=(0,h.useMemo)(()=>E.getLeftHeaderGroups()[0]?.headers||[],[E.getState().columnPinning]),ne=(0,h.useMemo)(()=>E.getRightHeaderGroups()[0]?.headers||[],[E.getState().columnPinning]),re=(0,h.useMemo)(()=>E.getTotalSize(),[E.getTotalSize()]);return(0,g.jsx)(P.Provider,{value:k,children:(0,g.jsx)(ye,{innerWrapperId:m,children:(0,g.jsx)(be,{table:E,innerTableId:_,totalSize:re,children:(0,g.jsx)(xe,{isAllRowsSelected:j,columnPinningState:N,leftPinnedHeaders:te,rightPinnedHeaders:ne,onToggleAllRowsSelected:E.toggleAllRowsSelected,children:(0,g.jsx)(Se,{isFetching:t,isEmpty:O,rowSelectionState:M,children:(0,g.jsx)(Z,{keyOfClickRow:c,isAllRowsSelected:j,columnPinningState:N,leftPinnedHeaders:te,rightPinnedHeaders:ne,onClickRow:l,children:p})})})})})})},we=({onSearch:e,onChange:t,...n})=>{let r=(0,x.useDebounceCallback)(t=>{e?.(t)},500);return(0,g.jsxs)(`div`,{className:`relative w-full max-w-80 flex-1`,children:[(0,g.jsx)(p.t,{...n,size:`lg`,type:`search`,placeholder:`Search records...`,className:`flex-1 ps-9 pe-9`,onChange:e=>{t?.(e),r(e.target.value??``)}}),(0,g.jsx)(`div`,{className:`pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-3 text-text-positive-weak peer-disabled:opacity-50`,children:(0,g.jsx)(_.SearchIcon,{size:16})}),(0,g.jsx)(`button`,{className:`absolute inset-y-0 end-0 flex h-full w-9 items-center justify-center rounded-e-md text-text-positive-weak outline-none transition-[color,box-shadow] hover:text-text-positive focus:z-10 focus-visible:border focus-visible:border-primary-strong focus-visible:ring-[3px] focus-visible:ring-primary-weak disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":`Submit search`,type:`submit`,children:(0,g.jsx)(_.ArrowRightIcon,{size:16,"aria-hidden":`true`})})]})},Q=({children:e,disabled:t,onClick:n})=>(0,g.jsx)(`button`,{type:`button`,disabled:t,className:`flex cursor-pointer items-center gap-x-1 rounded-sm border border-border bg-background p-2.5 text-sm text-text-positive-weak outline-none transition-all hover:shadow-card focus:border-border-emphasis focus:bg-muted-muted active:border-border-emphasis active:bg-muted-muted active:text-text-positive disabled:pointer-events-none disabled:cursor-default disabled:opacity-60 [&_svg]:size-3.5`,onClick:n,children:e}),Te=({onCreate:e,onDownload:t,onRefresh:n})=>(0,g.jsxs)(`div`,{className:`flex [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none`,children:[(0,g.jsx)(Q,{disabled:!e,onClick:t=>{e?.(),t.stopPropagation(),t.preventDefault()},children:(0,g.jsx)(_.CirclePlus,{})}),(0,g.jsx)(Q,{disabled:!n,onClick:e=>{n?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.RefreshCwIcon,{})}),(0,g.jsx)(Q,{disabled:!t,onClick:e=>{t?.(),e.stopPropagation(),e.preventDefault()},children:(0,g.jsx)(_.DownloadIcon,{})})]}),$=({children:e})=>{let{title:t}=F();return(0,g.jsxs)(`div`,{"data-slot":`table-tooltip`,className:`relative m-0 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 p-0 px-2 text-sm`,children:[(0,g.jsx)(`h3`,{className:`font-semibold text-base text-text-positive`,children:t}),(0,g.jsx)(`div`,{className:`flex w-full flex-1 justify-between gap-x-2`,children:e})]})};$.displayName=`TableTooltip`,exports.UITableBadgeDisplay=C,exports.UITableBody=G,exports.UITableBooleanDisplay=w,exports.UITableCell=Y,exports.UITableCellActions=J,exports.UITableCellSelect=q,exports.UITableContainer=ge,exports.UITableDateDisplay=ee,exports.UITableDescriptionDisplay=T,exports.UITableEmptyDisplay=R,exports.UITableFilter=ve,exports.UITableFooter=he,exports.UITableHead=H,exports.UITableHeadCell=W,exports.UITableHeadCellOption=I,exports.UITableHeadCellSelect=L,exports.UITableHeadRow=U,exports.UITableInnerTable=V,exports.UITableInnerWrapper=B,exports.UITableLoadMore=X,exports.UITableMoreButton=E,exports.UITableNameDisplay=D,exports.UITablePermalink=O,exports.UITablePhoneNumberDisplay=k,exports.UITableProvider=Ce,exports.UITableRemoveButton=A,exports.UITableRow=K,exports.UITableStatisticDisplay=M,exports.UITableTooltip=$,exports.UITableTooltipActions=Te,exports.UITableTooltipFilter=we,exports.UITableUserDataDisplay=N,exports.UITableWrapper=z;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|