@cryptlex/web-components 6.6.39 → 6.6.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/alert.js +1 -1
- package/dist/components/alert.js.map +1 -1
- package/dist/components/breadcrumbs.js +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/charts.js +1 -1
- package/dist/components/data-table.js +1 -1
- package/dist/components/datefield.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/disclosure.js +1 -1
- package/dist/components/icons.js +1 -456
- package/dist/components/icons.js.map +1 -1
- package/dist/components/id-search.js +1 -1
- package/dist/components/menu.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/package.json +16 -16
package/dist/components/alert.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as a,jsx as s}from"react/jsx-runtime";import{cva as o}from"class-variance-authority";import{classNames as l}from"../utilities/theme.js";import{IcInfo as u,IcWarning as m,IcCheck as d,IcError as f}from"./icons.js";import"clsx";import"@icons-pack/react-simple-icons";import"react";const p=o("rounded-md transition-colors bg-elevation-1 border py-icon px-input body-sm inline-flex items-center gap-icon",{variants:{variant:{destructive:"text-destructive border-destructive",success:"text-success border-success",warning:"text-warning",neutral:"text-muted border-muted",default:""}},defaultVariants:{variant:"default"}}),v=e=>{switch(e){case"destructive":return f;case"success":return d;case"warning":return m;
|
|
1
|
+
import{jsxs as a,jsx as s}from"react/jsx-runtime";import{cva as o}from"class-variance-authority";import{classNames as l}from"../utilities/theme.js";import{IcInfo as u,IcWarning as m,IcCheck as d,IcError as f}from"./icons.js";import"clsx";import"@icons-pack/react-simple-icons";import"react";const p=o("rounded-md transition-colors bg-elevation-1 border py-icon px-input body-sm inline-flex items-center gap-icon",{variants:{variant:{destructive:"text-destructive border-destructive",success:"text-success border-success",warning:"text-warning",neutral:"text-muted border-muted",default:""}},defaultVariants:{variant:"default"}}),v=e=>{switch(e){case"destructive":return f;case"success":return d;case"warning":return m;default:return u}};function N({children:e,className:n,variant:t,icon:c,...i}){const r=c??v(t);return a("div",{role:"alert",className:l(p({variant:t}),n),...i,children:[r&&s(r,{className:"inline-block size-icon shrink-0"}),s("span",{className:"inline-block flex-1 min-w-0 mt-0",children:e})]})}export{N as Alert,p as alertVariants};
|
|
2
2
|
//# sourceMappingURL=alert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.js","sources":["../../lib/components/alert.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { classNames } from '../utilities/theme';\nimport type { CtxIcon } from './icons';\nimport { IcCheck, IcError, IcInfo, IcWarning } from './icons';\n\nexport const alertVariants = cva(\n `rounded-md transition-colors bg-elevation-1 border py-icon px-input body-sm inline-flex items-center gap-icon`,\n {\n variants: {\n variant: {\n destructive: 'text-destructive border-destructive',\n success: 'text-success border-success',\n warning: 'text-warning',\n neutral: 'text-muted border-muted',\n default: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\n// Default icons for each variant\nconst getDefaultIcon = (variant: string | null | undefined): CtxIcon | null => {\n switch (variant) {\n case 'destructive':\n return IcError;\n case 'success':\n return IcCheck;\n case 'warning':\n return IcWarning;\n case 'neutral':\n case undefined:\n default:\n return IcInfo;\n }\n};\nexport function Alert({\n children,\n className,\n variant,\n icon,\n ...props\n}: React.ComponentProps<'div'> &\n VariantProps<typeof alertVariants> & {\n icon?: CtxIcon;\n }) {\n // Overrides the default icon with the provided icon\n const Icon = icon ?? getDefaultIcon(variant);\n\n return (\n <div role=\"alert\" className={classNames(alertVariants({ variant }), className)} {...props}>\n {Icon && <Icon className=\"inline-block size-icon shrink-0\" />}\n <span className=\"inline-block flex-1 min-w-0 mt-0\">{children}</span>\n </div>\n );\n}\n"],"names":["alertVariants","cva","getDefaultIcon","variant","IcError","IcCheck","IcWarning","IcInfo","Alert","children","className","icon","props","Icon","jsxs","classNames","jsx"],"mappings":"mSAMO,MAAMA,EAAgBC,EACzB,gHACA,CACI,SAAU,CACN,QAAS,CACL,YAAa,sCACb,QAAS,8BACT,QAAS,eACT,QAAS,0BACT,QAAS,EAAA,CACb,EAEJ,gBAAiB,CACb,QAAS,SAAA,CACb,CAER,EAGMC,EAAkBC,GAAuD,CAC3E,OAAQA,EAAA,CACJ,IAAK,cACD,OAAOC,EACX,IAAK,UACD,OAAOC,EACX,IAAK,UACD,OAAOC,
|
|
1
|
+
{"version":3,"file":"alert.js","sources":["../../lib/components/alert.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { classNames } from '../utilities/theme';\nimport type { CtxIcon } from './icons';\nimport { IcCheck, IcError, IcInfo, IcWarning } from './icons';\n\nexport const alertVariants = cva(\n `rounded-md transition-colors bg-elevation-1 border py-icon px-input body-sm inline-flex items-center gap-icon`,\n {\n variants: {\n variant: {\n destructive: 'text-destructive border-destructive',\n success: 'text-success border-success',\n warning: 'text-warning',\n neutral: 'text-muted border-muted',\n default: '',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\n// Default icons for each variant\nconst getDefaultIcon = (variant: string | null | undefined): CtxIcon | null => {\n switch (variant) {\n case 'destructive':\n return IcError;\n case 'success':\n return IcCheck;\n case 'warning':\n return IcWarning;\n case 'neutral':\n case undefined:\n default:\n return IcInfo;\n }\n};\nexport function Alert({\n children,\n className,\n variant,\n icon,\n ...props\n}: React.ComponentProps<'div'> &\n VariantProps<typeof alertVariants> & {\n icon?: CtxIcon;\n }) {\n // Overrides the default icon with the provided icon\n const Icon = icon ?? getDefaultIcon(variant);\n\n return (\n <div role=\"alert\" className={classNames(alertVariants({ variant }), className)} {...props}>\n {Icon && <Icon className=\"inline-block size-icon shrink-0\" />}\n <span className=\"inline-block flex-1 min-w-0 mt-0\">{children}</span>\n </div>\n );\n}\n"],"names":["alertVariants","cva","getDefaultIcon","variant","IcError","IcCheck","IcWarning","IcInfo","Alert","children","className","icon","props","Icon","jsxs","classNames","jsx"],"mappings":"mSAMO,MAAMA,EAAgBC,EACzB,gHACA,CACI,SAAU,CACN,QAAS,CACL,YAAa,sCACb,QAAS,8BACT,QAAS,eACT,QAAS,0BACT,QAAS,EAAA,CACb,EAEJ,gBAAiB,CACb,QAAS,SAAA,CACb,CAER,EAGMC,EAAkBC,GAAuD,CAC3E,OAAQA,EAAA,CACJ,IAAK,cACD,OAAOC,EACX,IAAK,UACD,OAAOC,EACX,IAAK,UACD,OAAOC,EAGX,QACI,OAAOC,CAAA,CAEnB,EACO,SAASC,EAAM,CAClB,SAAAC,EACA,UAAAC,EACA,QAAAP,EACA,KAAAQ,EACA,GAAGC,CACP,EAGO,CAEH,MAAMC,EAAOF,GAAQT,EAAeC,CAAO,EAE3C,OACIW,EAAC,MAAA,CAAI,KAAK,QAAQ,UAAWC,EAAWf,EAAc,CAAE,QAAAG,CAAA,CAAS,EAAGO,CAAS,EAAI,GAAGE,EAC/E,SAAA,CAAAC,GAAQG,EAACH,EAAA,CAAK,UAAU,iCAAA,CAAkC,EAC3DG,EAAC,OAAA,CAAK,UAAU,mCAAoC,SAAAP,CAAA,CAAS,CAAA,EACjE,CAER"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsxs as a,jsx as n}from"react/jsx-runtime";import{Link as i,composeRenderProps as o}from"react-aria-components";import{classNames as s}from"../utilities/theme.js";import{IcMoreHorizontal as c,IcRight as m}from"./icons.js";import"clsx";import"@icons-pack/react-simple-icons";import"react";function b({className:e,...r}){return n("nav",{children:n("ol",{className:s("flex list-none flex-wrap items-center gap-1 break-words",e),...r})})}function h({className:e,...r}){return n("li",{className:s("flex gap-1 items-center",e),...r})}function B({className:e,...r}){return n(i,{className:o(e,t=>s("btn p-0 text-sm",t)),...r})}function z({children:e,className:r,...t}){return n("span",{role:"presentation","aria-hidden":"true",className:s("opacity-70",r),...t,children:e||n(m,{className:"size-icon"})})}function g({className:e,...r}){return a("span",{role:"presentation","aria-hidden":"true",className:s("flex size-input items-center justify-center",e),...r,children:[n(c,{className:"size-icon"}),n("span",{className:"sr-only",children:"More"})]})}export{g as BreadcrumbEllipsis,h as BreadcrumbItem,B as BreadcrumbLink,z as BreadcrumbSeparator,b as Breadcrumbs};
|
|
2
2
|
//# sourceMappingURL=breadcrumbs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsxs as o,jsx as e}from"react/jsx-runtime";import{today as b,getLocalTimeZone as v}from"@internationalized/date";import{CalendarGridHeader as y,
|
|
1
|
+
"use client";import{jsxs as o,jsx as e}from"react/jsx-runtime";import{today as b,getLocalTimeZone as v}from"@internationalized/date";import{CalendarGridHeader as y,Calendar as S,composeRenderProps as l,RangeCalendarStateContext as G,CalendarCell as H,CalendarGrid as N,CalendarGridBody as R,CalendarHeaderCell as $,useLocale as w,Heading as B,RangeCalendar as z}from"react-aria-components";import{use as E}from"react";import{buttonVariants as I,Button as c}from"./button.js";import{classNames as n}from"../utilities/theme.js";import{FormFieldError as m}from"./form.js";import{IcRight as s,IcLeft as u}from"./icons.js";import"class-variance-authority";import"./loader.js";import"clsx";import"@icons-pack/react-simple-icons";import"./card.js";function f(a){let{direction:t}=w();return o("header",{className:"flex w-full items-center gap-1 px-1 pb-icon",...a,children:[e(c,{slot:"previous",size:"icon",children:t==="rtl"?e(s,{"aria-hidden":!0}):e(u,{"aria-hidden":!0})}),e(B,{className:"grow text-center body font-medium"}),e(c,{slot:"next",size:"icon",children:t==="rtl"?e(u,{"aria-hidden":!0}):e(s,{"aria-hidden":!0})})]})}function g({className:a,...t}){return e(N,{className:n(" border-separate border-spacing-x-0 border-spacing-y-1 ",a),...t})}const C=y;function h({className:a,...t}){return e($,{className:n("w-9 body-sm font-normal text-muted-foreground",a),...t})}function x({className:a,...t}){return e(R,{className:n("[&>tr>td]:p-0",a),...t})}function p({className:a,...t}){const i=!!E(G);return e(H,{className:l(a,(d,r)=>n(I({variant:"ghost",size:"icon"}),r.isDisabled&&"text-muted-foreground opacity-50",r.isSelected&&"bg-primary text-primary-foreground data-[focused]:bg-primary data-[focused]:text-primary-foreground",r.isHovered&&r.isSelected&&(r.isSelectionStart||r.isSelectionEnd||!i)&&"data-[hovered]:bg-primary data-[hovered]:text-primary-foreground",r.isSelected&&i&&!r.isSelectionStart&&!r.isSelectionEnd&&"rounded-none bg-accent text-accent-foreground",r.isOutsideMonth&&"text-muted-foreground opacity-50 data-[selected]:bg-accent/50 data-[selected]:text-muted-foreground data-[selected]:opacity-30",r.date.compare(b(v()))===0&&!r.isSelected&&"bg-accent text-accent-foreground",r.isUnavailable&&"cursor-default text-destructive ",r.isInvalid&&"bg-destructive text-destructive-foreground data-[focused]:bg-destructive data-[hovered]:bg-destructive data-[focused]:text-destructive-foreground data-[hovered]:text-destructive-foreground",d)),...t})}function K({errorMessage:a,className:t,...i}){return o(S,{className:l(t,d=>n("w-fit",d)),...i,children:[e(f,{}),o(g,{children:[e(C,{children:d=>e(h,{children:d})}),e(x,{children:d=>e(p,{date:d})})]}),a&&e(m,{children:a})]})}function M({errorMessage:a,className:t,...i}){return o(z,{className:l(t,d=>n("w-fit",d)),...i,children:[e(f,{}),o(g,{children:[e(C,{children:d=>e(h,{children:d})}),e(x,{children:d=>e(p,{date:d})})]}),a&&e(m,{slot:"errorMessage",children:a})]})}export{K as Calendar,p as CalendarCell,g as CalendarGrid,x as CalendarGridBody,C as CalendarGridHeader,h as CalendarHeaderCell,f as CalendarHeading,M as RangeCalendar};
|
|
2
2
|
//# sourceMappingURL=calendar.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as r,jsxs as l}from"react/jsx-runtime";import{
|
|
1
|
+
"use client";import{jsx as r,jsxs as l}from"react/jsx-runtime";import{ResponsiveContainer as c,BarChart as b,Bar as v,CartesianGrid as k,Legend as S,Tooltip as C,XAxis as A,YAxis as L,LineChart as $,Line as z,PieChart as K,Pie as T}from"recharts";import{formatNumber as m}from"../utilities/numbers.js";function W(t){return m(t,{notation:"compact",maximumFractionDigits:2})}function u({...t}){return r(A,{axisLine:!1,tickLine:!1,tick:{fill:"var(--color-muted-foreground)",fontSize:12},...t})}function p({...t}){return r(L,{axisLine:!1,tickLine:!1,tick:{fill:"var(--color-muted-foreground)",fontSize:12},width:48,tickFormatter:W,...t})}function h({...t}){return r(k,{vertical:!1,stroke:"var(--color-border)",strokeDasharray:"3 3",...t})}function s({...t}){return r(S,{iconSize:8,iconType:"circle",formatter:e=>r("span",{style:{color:"var(--color-muted-foreground)",fontSize:12,marginLeft:4},children:e}),wrapperStyle:{paddingTop:"1rem"},...t})}function d({...t}){return r(C,{formatter:e=>typeof e=="number"?m(e):e,cursor:{fill:"var(--color-neutral-3)",opacity:.5},contentStyle:{backgroundColor:"var(--color-elevation-1)",border:"1px solid var(--color-border)",borderRadius:"6px",boxShadow:"0 4px 12px rgba(0,0,0,0.08)",padding:"8px 12px"},labelStyle:{color:"var(--color-foreground)",fontWeight:"600",marginBottom:"4px",fontSize:12},itemStyle:{color:"var(--color-muted-foreground)",padding:"1px 0",fontSize:12},...t})}function j({className:t,data:e,config:o,...n}){return r(c,{...n,children:l($,{className:"body-sm",data:e,margin:{top:4,right:4,left:0,bottom:0},children:[r(h,{}),r(u,{dataKey:o.xAxis.toString()}),r(p,{}),r(d,{}),r(s,{iconType:"plainline"}),o.lines.map((a,i)=>r(z,{strokeWidth:2,type:"monotone",dataKey:a.toString(),stroke:`var(--color-chart-${i%5+1})`,dot:!1,activeDot:{r:4,strokeWidth:0}},a.toString()))]})})}function w({className:t,data:e,config:o,...n}){return r(c,{className:t,...n,children:l(b,{className:"body-sm",data:e,margin:{top:4,right:4,left:0,bottom:0},barCategoryGap:"30%",children:[r(h,{}),r(u,{dataKey:o.xAxis.toString()}),r(p,{}),r(d,{cursor:{fill:"var(--color-neutral-3)",opacity:.4}}),r(s,{}),o.bars.map((a,i)=>r(v,{dataKey:a.toString(),fill:`var(--color-chart-${i%5+1})`,fillOpacity:.15,stroke:`var(--color-chart-${i%5+1})`,strokeWidth:1.5,radius:[4,4,0,0]},a.toString()))]})})}function B(t){const{name:e,percent:o}=t;return`${e}: ${((typeof o=="number"?o:0)*100).toFixed(0)}%`}function D({data:t,variant:e="full",showLabels:o=!0,...n}){const a=e==="semi"?180:0,i=e==="semi"?0:360,g=e==="semi"?"100%":"50%";return r(c,{...n,children:l(K,{children:[r(d,{}),r(s,{}),r(T,{data:Object.entries(t).map(([x,y],f)=>({fill:`var(--color-chart-${f%5+1})`,fillOpacity:.75,stroke:`var(--color-chart-${f%5+1})`,strokeWidth:1.5,strokeOpacity:1,name:x,value:y})),dataKey:"value",nameKey:"name",cx:"50%",cy:g,innerRadius:"40%",paddingAngle:2,startAngle:a,endAngle:i,label:o?B:void 0,labelLine:{stroke:"var(--color-neutral-6)"},isAnimationActive:!0})]})})}export{w as Barchart,h as ChartCartesianGrid,s as ChartLegend,d as ChartTooltip,u as ChartXAxis,p as ChartYAxis,j as Linechart,D as PieChart,W as formateYAxisTick};
|
|
2
2
|
//# sourceMappingURL=charts.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as t,Fragment as O,jsxs as g}from"react/jsx-runtime";import{parseAbsolute as V,getLocalTimeZone as k}from"@internationalized/date";import{createContext as Le,useState as F,useMemo as K,useEffect as X,useContext as _e,useRef as Se,Fragment as $e}from"react";import{Button as y}from"./button.js";import{useSensors as Ee,useSensor as ue,PointerSensor as je,KeyboardSensor as qe,DndContext as He,closestCenter as Ve,DragOverlay as ke}from"@dnd-kit/core";import{sortableKeyboardCoordinates as Ke,SortableContext as Be,verticalListSortingStrategy as Qe,arrayMove as Ge,useSortable as Ue}from"@dnd-kit/sortable";import{CSS as Ze}from"@dnd-kit/utilities";import{useQuery as Xe,useInfiniteQuery as Ye}from"@tanstack/react-query";import{createColumnHelper as ye,useReactTable as Je,getCoreRowModel as We,flexRender as U}from"@tanstack/react-table";import{useLocalStorage as B}from"@uidotdev/usehooks";import{merge as et}from"lodash-es";import{Badge as de}from"./badge.js";import{DatePicker as Q}from"./date-picker.js";import{EasyMenu as R,MenuItem as A}from"./menu.js";import{MultiSelect as tt}from"./multi-select.js";import{NumberField as nt}from"./numberfield.js";import{PopoverTrigger as rt,Popover as at}from"./popover.js";import{TextField as it}from"./textfield.js";import{formatDate as E}from"../utilities/date.js";import{useProjectName as Y,useResourceFormatter as J,ALL_OS as ot}from"../utilities/resources.js";import{classNames as I}from"../utilities/theme.js";import{IcMoreVertical as st,IcRefresh as lt,IcMenu as ct,IcLayoutGrid as ut,IcColumns as dt,IcGrip as mt,IcFirst as gt,IcLeft as pt,IcRight as ft,IcLast as bt,IcInfo as ht,IcSortAsc as vt,IcSortDesc as St,IcSortNone as yt,IcCheck as me,IcMinus as wt,IcAccount as xt,IcLicense as Nt,IcDate as Ct,IcFile as It,IcFilter as Pt}from"./icons.js";import{MultipleIdSearchInput as Tt}from"./id-search.js";import{Loader as we}from"./loader.js";import{SearchField as At}from"./searchfield.js";import{Table as Dt,TableHeader as Ft,TableRow as ge,TableHead as Ot,TableBody as Rt,TableCell as zt}from"./table.js";import{CountryName as Mt}from"../utilities/countries.js";import{Duration as Lt}from"../utilities/duration.js";import{formatDays as _t,formatFilesize as $t,formatNumber as Et}from"../utilities/numbers.js";import{Checkbox as pe}from"./checkbox.js";import{TooltipTrigger as jt,Tooltip as qt}from"./tooltip.js";import{getSubscriptionStartTriggerLabel as Ht,ALL_LICENSE_TYPES as Vt}from"./select-options.js";import{useCtxClient as kt}from"../utilities/ctx-client.js";import{ControlledDialogProvider as Kt,useControlledDialog as xe}from"./dialog.js";import"class-variance-authority";import"react-aria-components";import"clsx";import"@icons-pack/react-simple-icons";import"./calendar.js";import"./form.js";import"./card.js";import"./datefield.js";import"../utilities/form.js";import"../utilities/form-context.js";import"@tanstack/react-form";import"./list-box.js";import"./select.js";import"./kbd.js";import"../utilities/string.js";import"../utilities/empty-option.js";function Bt(e){return e?e.desc?`-${e.id}`:`+${e.id}`:"-createdAt"}const Ne=ye(),Qt=[Ne.accessor("checkbox",{header:({table:e})=>t(pe,{isIndeterminate:e.getIsSomeRowsSelected()&&!e.getIsAllPageRowsSelected(),isSelected:e.getIsAllPageRowsSelected()||e.getIsSomePageRowsSelected(),onChange:()=>e.toggleAllPageRowsSelected(),"aria-label":"Select all",size:"sm"}),cell:({row:e})=>t(pe,{isSelected:e.getIsSelected(),onChange:()=>e.toggleSelected(),"aria-label":"Select row",size:"sm"}),enableSorting:!1,enableHiding:!1})],N="TableActions";function Gt(e){return e.length===0?[]:[Ne.accessor(N,{header:"Actions",id:N,enableHiding:!1,cell:({row:r})=>t(nn,{label:t(st,{}),data:r.original,items:e}),enableSorting:!1})]}function sr(){return ye()}function lr({path:e,pathParameters:r,columns:a,filterConfig:i,columnsToHideByDefault:u={},allowSelection:n=!1,initialFilters:c=[],previewFilters:o,tableActions:s,Card:d,onRowNavigate:h,disableTableView:b}){const[S,z]=F({pagination:{pageIndex:0,pageSize:20},sorting:[]}),{sorting:M,pagination:P}=S,[m,p]=F(""),[f,w]=F({}),[D,$]=F(c),ee=K(()=>D.filter(l=>l.active!==!1).map(l=>l.operator==="between"&&Array.isArray(l.value)&&l.value.length===2?{[l.property]:{gte:l.value[0],lte:l.value[1]}}:Array.isArray(l.value)?{[l.property]:{[l.operator]:l.value.join(",")}}:{[l.property]:{[l.operator]:l.value}}).reduce((l,v)=>et(l,v),{}),[D]),j={...D,page:P.pageIndex+1,limit:P.pageSize,sort:Bt(M[0]),search:m},Te=kt(),te=["get",e,j],q=`${e}_ctx`,[ne,re]=B(`${q}_column_order_preference`,[]),[ae,Ae]=B(`${q}_column_visibility_preference`,{id:!1,...u}),[De,Fe]=B(`${q}_view_mode_preference`,b?"card":"table"),T=b?"card":De,H=l=>{z(v=>({...v,...l}))};async function ie(l){const v=await Te.GET(e,{params:{query:{page:l,limit:P.pageSize,sort:j.sort,search:j.search,...ee},path:r}});return{data:v.data??[],total:Number.parseInt(v.response.headers.get("Pagination-Count")||"0"),nextPage:l+1}}const L=Xe({queryKey:[...te,"table"],enabled:T==="table",queryFn:()=>ie(P.pageIndex+1),placeholderData:l=>l}),x=Ye({queryKey:[...te,"card"],enabled:T==="card",initialPageParam:1,queryFn:({pageParam:l})=>ie(l),getNextPageParam:(l,v)=>v.flatMap(Me=>Me.data).length<l.total?l.nextPage:void 0}),oe=K(()=>T==="table"?L.data?.data??[]:x.data?.pages.flatMap(l=>l.data)??[],[T,L.data,x.data]),se=K(()=>T==="table"?L.data?.total??0:x.data?.pages[0]?.total??0,[T,L.data,x.data]),le=T==="table"?L:{...x,data:{data:oe,total:se},isLoading:x.isLoading,isFetching:x.isFetching,isError:x.isError,error:x.error,refetch:x.refetch},Oe=s.filter(W),Re=[...n?Qt:[],...a,...Gt(Oe??[])];function ze(l){return typeof l=="function"}function _(l,v){return ze(l)?l(v):l}const ce=Je({data:oe,columns:Re,getCoreRowModel:We(),rowCount:se,manualPagination:!0,onPaginationChange:l=>{H({pagination:_(l,P)})},manualSorting:!0,onSortingChange:l=>{w({}),H({sorting:[..._(l,M)]})},manualFiltering:!0,onColumnVisibilityChange:l=>{Ae(_(l,ae))},onRowSelectionChange:l=>{w(_(l,f))},onColumnOrderChange:l=>{re(_(l,ne))},state:{sorting:M,columnVisibility:ae,pagination:P,rowSelection:f,columnOrder:ne},meta:{refetch:le.refetch}});return X(()=>{const l=ce.getAllLeafColumns();re([...l.filter(v=>v.id!==N).map(v=>v.id),...l.filter(v=>v.id===N).map(v=>v.id)])},[]),{tableState:S,updateTableState:H,query:le,setSearchQuery:p,searchQuery:m,tanTable:ce,mergedFilters:ee,filters:D,setFilters:$,filterConfig:i,tableActions:s,pathParameters:r,viewMode:T,setViewMode:Fe,Card:d,allowSelection:n,previewFilters:o,infiniteQuery:x,disableTableView:b,onRowNavigate:h}}const Ce=Le(null);function C(){const e=_e(Ce);if(!e)throw Error("DataTable should be used within DataTableProvider.");return e}function cr({children:e,...r}){return t(Ce.Provider,{value:r,children:e})}function ur({className:e,cardGridClassName:r,...a}){const{query:i,tanTable:u,viewMode:n,tableActions:c,Card:o}=C(),s=c.filter(W),d=n==="card"&&!!o;function h(){return i.isFetching?null:i.isError?g("span",{className:"flex gap-3 items-center",children:[t(ht,{}),t("span",{children:i.error?.message})]}):i.data?.data?.length===0?t(O,{children:"No results found."}):t(O,{children:"Unknown error. Please contact customer support."})}function b(){return i.isLoading?t("div",{className:"body-sm flex items-center justify-center min-h-32",children:t(we,{})}):u.getRowModel().rows.length===0?t("div",{className:"body-sm flex items-center justify-center min-h-32 text-muted",children:t(h,{})}):d?t(Ut,{className:r,Card:o,actions:s}):t(en,{className:"w-full"})}return t(O,{children:g(Kt,{children:[t(Jt,{}),g("section",{...a,className:I("z-20 flex flex-col",n==="table"?"border rounded-md":"",e),children:[t("div",{className:"w-full overflow-auto relative rounded-md [scrollbar-width:none]",tabIndex:0,children:t(b,{})}),n==="table"&&g("div",{className:"flex w-full justify-between border-t gap-icon py-2 px-icon bg-elevation-mid rounded-b-md overflow-x-auto",children:[g("div",{className:"flex gap-icon",children:[t(Zt,{}),t(Yt,{})]}),t(Xt,{})]})]})]})})}function Ut({Card:e,actions:r,className:a,...i}){const{tanTable:u,allowSelection:n}=C(),{infiniteQuery:c}=C(),o=Se(null);return X(()=>{const s=o.current;if(!s)return;const d=new IntersectionObserver(h=>{h[0].isIntersecting&&c.hasNextPage&&!c.isFetchingNextPage&&c.fetchNextPage()},{threshold:.1});return d.observe(s),()=>d.disconnect()},[c.hasNextPage,c.isFetchingNextPage]),g("div",{...i,className:I(a,"grid grid-cols-1 lg:grid-cols-2 gap-icon"),children:[u.getRowModel().rows.map(s=>{const d={isSelected:s.getIsSelected(),onToggle:()=>s.toggleSelected(),allowSelection:n};return t($e,{children:e(s.original,r,d)},s.id)}),t("div",{ref:o,className:"col-span-full h-4 flex items-center justify-center",children:c.isFetchingNextPage&&t(we,{})})]})}function Zt(){if(Y()==="customer-portal")return null;const{tanTable:r}=C(),[a,i]=F(null),u=J(),n=Ee(ue(je),ue(qe,{coordinateGetter:Ke}));return t(He,{sensors:n,collisionDetection:Ve,onDragStart:o=>{const{active:s}=o;i(s.id.toString())},onDragEnd:o=>{const{active:s,over:d}=o;if(d&&s.id!==d.id){const h=r.getState().columnOrder,b=h.indexOf(s.id.toString()),S=h.indexOf(d.id.toString());r.setColumnOrder([...Ge(h,b,S)])}i(null)},children:g(Be,{items:r.getState().columnOrder,strategy:Qe,children:[g(R,{label:g(O,{children:[t(dt,{className:"inline align-bottom me-1"}),"Columns"]}),selectionMode:"multiple",size:"sm",items:r.getAllFlatColumns(),selectedKeys:r.getVisibleFlatColumns().map(o=>o.id),children:[t(A,{onAction:()=>r.toggleAllColumnsVisible(),className:"italic",children:"(select all)"}),r.getState().columnOrder.map(o=>{const s=r.getAllFlatColumns().find(d=>d.id===o);return!s||s.id==="checkbox"||s.id===N?null:t(c,{column:s},s.id)})]}),t(ke,{children:a?t("div",{className:"opacity-70 border-2 border-primary",children:u(a)}):null})]})});function c({column:o}){const{attributes:s,listeners:d,setNodeRef:h,transform:b,transition:S}=Ue({id:o.id}),z={transform:Ze.Transform.toString(b),transition:S,zIndex:"999"};return g(A,{ref:h,style:z,...s,id:o.id,onAction:()=>o.toggleVisibility(),isDisabled:!o.getCanHide(),className:"flex items-center",children:[t(mt,{...d,className:"size-icon cursor-grab"}),Z(o),o.getIsSorted()&&t(Ie,{className:"size-icon",direction:o.getIsSorted()})]})}}function Xt(){const{tanTable:e}=C(),r=e.getRowCount();return g("div",{className:"flex items-center gap-2",children:[t("span",{className:"whitespace-nowrap body-sm text-muted",children:`${e.getState().pagination.pageIndex*e.getState().pagination.pageSize+1} - ${Math.min((e.getState().pagination.pageIndex+1)*e.getState().pagination.pageSize,r)} of ${r?.toLocaleString()}`}),(e.getCanNextPage()||e.getCanPreviousPage())&&g(O,{children:[t(y,{"aria-label":"First page",onPress:()=>e.firstPage(),isDisabled:!e.getCanPreviousPage(),variant:"neutral",size:"icon-sm",children:t(gt,{})}),t(y,{"aria-label":"Previous page",onPress:()=>e.previousPage(),isDisabled:!e.getCanPreviousPage(),variant:"neutral",size:"icon-sm",children:t(pt,{})}),t(y,{"aria-label":"Next page",onPress:()=>e.nextPage(),isDisabled:!e.getCanNextPage(),variant:"neutral",size:"icon-sm",children:t(ft,{})}),t(y,{"aria-label":"Last page",onClick:()=>e.lastPage(),isDisabled:!e.getCanNextPage(),variant:"neutral",size:"icon-sm",children:t(bt,{})})]})]})}function Yt(){if(Y()==="customer-portal")return null;const{tanTable:r}=C(),a=[10,20,30,40,50];return t(R,{label:r.getState().pagination.pageSize.toString(),selectionMode:"single",size:"sm",selectedKeys:[r.getState().pagination.pageSize.toString()],items:a.map(i=>({id:i.toString(),value:i})),children:i=>t(A,{onAction:()=>r.setPageSize(i.value),children:i.value})})}function Jt(){const{query:e,tanTable:r,searchQuery:a,setSearchQuery:i,tableActions:u,viewMode:n,setViewMode:c,Card:o,previewFilters:s,disableTableView:d}=C(),h=r.getSelectedRowModel().rows.length>0,b=u.filter(S=>S.resourceType!=="single").filter(S=>S.resourceType==="multiple"===h);return g("section",{className:"flex justify-between my-0 mb-icon gap-icon overflow-x-auto py-1",children:[g("div",{className:"flex gap-icon",children:[t(y,{"aria-label":"Refresh",isPending:e.isFetching,onClick:()=>e.refetch(),variant:"neutral",size:"icon",children:t(lt,{})}),t(At,{value:a,onChange:i}),t(ln,{previewFilters:s})]}),g("div",{className:"flex gap-icon",children:[t(tn,{items:b,isFetching:e.isFetching}),o&&!d&&g("div",{className:"flex gap-1 bg-elevation-1 rounded-md overflow-hidden",children:[t(y,{variant:n==="table"?"primary":"neutral",size:"icon",onPress:()=>c("table"),"aria-label":"Table view",className:"border-none",children:t(ct,{})}),t(y,{variant:n==="card"?"primary":"neutral",size:"icon",onPress:()=>c("card"),"aria-label":"Card view",className:"border-none",children:t(ut,{})})]})]})]})}function Ie({direction:e,...r}){return e==="asc"?t(vt,{className:"size-3.5",...r}):e==="desc"?t(St,{className:"size-3.5",...r}):t(yt,{className:"size-3.5",...r})}function Z(e){const r=J(),a=e.columnDef.header;return typeof a=="string"?a:r(e.id)}function Wt(e){const r=e.column.columnDef.meta?.displayType,a=e.getValue();if(a==null)return null;switch(r){case"date":return t("span",{className:"tabular-nums",children:E(a)});case"number":return t("span",{className:"block text-right tabular-nums",children:Et(a)});case"boolean":return t(de,{variant:a?"success":"destructive",className:"capitalize",children:String(a)});case"badge":return t(de,{className:"w-full",children:String(a)});case"country":return t(Mt,{value:a});case"enum":return t("span",{className:"uppercase w-full",children:String(a)});case"fileSize":return $t(a);case"days":return _t(a);case"os":return ot[a]??a;case"licenseType":return Vt[a]??a;case"subscriptionInterval":return Lt.formatISODuration(a);case"subscriptionStartTrigger":return Ht(a);default:return String(a)}}function fe({header:e}){const r=e.column.columnDef.header;return typeof r=="string"||!r?Z(e.column):typeof r=="function"?typeof r(e.getContext())=="string"?Z(e.column):U(r,e.getContext()):U(r,e.getContext())}function en({className:e}){const{tanTable:r,onRowNavigate:a}=C(),i=(u,n,c="z-50")=>I("text-left body-sm font-medium whitespace-nowrap",u&&`sticky right-0 ${c} text-center justify-center`,n);return g(Dt,{className:I("table-auto border-0 rounded-md",e),children:[t(Ft,{className:"sticky top-0 z-10 rounded-md",children:r.getHeaderGroups().map(u=>t(ge,{children:u.headers.map(n=>g(Ot,{scope:"col",colSpan:n.colSpan,className:i(n.id===N,(n.id===N,"bg-elevation-mid")),children:[!n.column.getCanSort()&&!n.isPlaceholder&&t("div",{className:I("w-full flex items-center gap-1 text-xs uppercase",n.id===N?"justify-center":"justify-start"),children:t(fe,{header:n})}),n.column.getCanSort()&&g(y,{variant:"ghost",size:"none",className:I("w-full p-1 rounded-md uppercase text-muted text-xs",n.id===N?"justify-center":"justify-start",n.column.getIsSorted()?"text-primary":""),onPress:n.column.getToggleSortingHandler(),children:[t("span",{children:t(fe,{header:n})}),n.column.getIsSorted()&&t(Ie,{direction:n.column.getIsSorted()})]})]},n.id))},u.id))}),t(Rt,{children:r.getRowModel().rows.map(u=>t(ge,{className:I("transition-colors bg-elevation-1 data-[selected=true]:bg-primary/10 hover:bg-muted-foreground/20",a&&"cursor-pointer focus-visible:outline focus-visible:outline-ring"),"data-selected":u.getIsSelected(),...a&&{role:"link",tabIndex:0,onClick:n=>{n.target.closest('a, button, input, select, textarea, [role="button"]')||a(u.original)},onKeyDown:n=>{n.key==="Enter"&&a(u.original)}},children:u.getVisibleCells().map(n=>{const c=n.column.id===N,o=n.column.columnDef.meta?.displayType?Wt(n):U(n.column.columnDef.cell,n.getContext());return t(zt,{className:I(i(c,c?"bg-elevation-1":"","z-1"),c&&"flex justify-center items-center"),children:o},n.id)})},u.id))})]})}function be(e){return e.resourceType==="none"}function W(e){return e.resourceType==="single"}function he(e){return e.resourceType==="multiple"}function tn({items:e,isFetching:r}){const{openDialog:a,closeDialog:i}=xe(),{tanTable:u}=C();function n(o,s){return o.isDisabled?be(o)?o.isDisabled():he(o)?o.isDisabled(s):!1:!1}const c=u.getSelectedRowModel().rows.map(o=>o.original);return t(O,{children:e.map((o,s)=>{const d=o.icon,h=n(o,c)||r;return g(y,{"aria-label":o.label,type:"button",isDisabled:h,className:"animate-in fade-in slide-in-from-right-15 duration-300 transition-transform",onPress:b=>{const S={event:b,openDialog:a,closeDialog:i};be(o)?o.onPress(S):he(o)&&o.onPress({...S,data:c})},variant:o.variant??"neutral",children:[d&&t(d,{"aria-hidden":!0}),t("span",{children:o.label})]},`${o.label}-${s}`)})})}function nn({label:e,items:r,data:a}){const{openDialog:i,closeDialog:u}=xe();return r.length<4?t("div",{className:"flex items-center gap-2",children:r.map((n,c)=>{const o=n.icon,s=typeof n.label=="function"?n.label(a):n.label;return g(jt,{children:[t(y,{"aria-label":typeof s=="string"?s:void 0,isDisabled:n.isDisabled?.(a)??!1,variant:"ghost",size:"icon",onPress:()=>{const d={openDialog:i,closeDialog:u};n.onPress({...d,data:a})},children:t(o,{className:"size-icon"})}),t(qt,{children:s})]},`${c}-${typeof s=="string"?s:""}`)})}):t(R,{"aria-label":"Actions",label:e,size:"icon",children:r.map((n,c)=>{const o=n.icon,s=typeof n.label=="function"?n.label(a):n.label;return g(A,{id:typeof s=="string"?s:void 0,isDisabled:n.isDisabled?.(a)??!1,onAction:()=>{const d={openDialog:i,closeDialog:u};W(n)&&n.onPress({...d,data:a})},children:[t(o,{className:"size-icon"}),s]},`${c}-${typeof s=="string"?s:""}`)})})}const dr=["eq","ne","cn","nc","sw","ew","in","nin","gt","gte","lt","lte","between"],ve={eq:"equal to",ne:"not equal to",cn:"contains",nc:"does not contain",sw:"starts with",ew:"ends with",in:"includes",nin:"does not include",gt:"greater than",gte:"greater than or equal to",lt:"less than",lte:"less than or equal to",between:"between"},rn={eq:"=",ne:"≠",cn:"contains",nc:"!contains",sw:"starts with",ew:"ends with",in:"in",nin:"not in",gt:">",gte:"≥",lt:"<",lte:"≤",between:"↔"};function G(e,r){const a=`${r}-${Date.now()}`,i=Pe[e][0];switch(e){case"bool":return{id:a,type:e,property:r,operator:i,value:!0};case"string":return{id:a,type:e,property:r,operator:i,value:""};case"date":return{id:a,type:e,property:r,operator:i,value:i==="between"?[new Date().toISOString(),new Date().toISOString()]:new Date().toISOString()};case"id":return{id:a,type:e,property:r,operator:i,value:""};case"id-search":return{id:a,type:e,property:r,operator:i,value:[]};case"enum":return{id:a,type:e,property:r,operator:i,value:new Set};case"number":return{id:a,type:e,property:r,operator:i,value:0}}}const Pe={bool:["eq"],enum:["in","nin"],id:["in","nin"],"id-search":["in","nin"],string:["eq","ne","cn","nc","sw","ew","in","nin"],date:["between","lt","gt"],number:["eq","ne","gt","gte","lt","lte"]};function an(e){switch(e.type){case"string":case"id":return e.value??"";case"number":return e.value?.toString()??"";case"bool":return e.value?"true":"false";case"date":if(Array.isArray(e.value)){const[r,a]=e.value;return`${E(r,{dateStyle:"short"})??""} – ${E(a,{dateStyle:"short"})??""}`}return e.value?E(e.value,{dateStyle:"short"})??"":"";case"enum":return e.value&&e.value.size>0?`${e.value.size} selected`:"";case"id-search":return e.value&&e.value.length>0?e.value.length===1?"1 item":`${e.value.length} items`:""}}function on({filter:e,filterConfig:r,pathParameters:a,onChange:i}){if(e.type==="string"||e.type==="id")return t(it,{autoFocus:!0,value:e.value??"",onChange:i,"aria-label":"Filter value"});if(e.type==="number")return t(nt,{autoFocus:!0,value:e.value,onChange:i,"aria-label":"Filter value"});if(e.type==="bool")return g(R,{autoFocus:!0,label:e.value?"True":"False",variant:"neutral","aria-label":"Filter value",children:[t(A,{onAction:()=>i(!0),children:"True"}),t(A,{onAction:()=>i(!1),children:"False"})]});if(e.type==="date"){if(e.operator==="between"){const[n,c]=Array.isArray(e.value)?e.value:[new Date().toISOString(),new Date().toISOString()],o=V(n,k()),s=V(c,k());return g("div",{className:"flex flex-col gap-icon",children:[t(Q,{autoFocus:!0,hideTimeZone:!0,label:"From",value:o,onChange:d=>i([d?d.toAbsoluteString():n,c])}),t(Q,{hideTimeZone:!0,label:"To",value:s,onChange:d=>i([n,d?d.toAbsoluteString():c])})]})}const u=e.value&&!Array.isArray(e.value)?V(e.value,k()):null;return t(Q,{autoFocus:!0,hideTimeZone:!0,value:u,onChange:n=>i(n?n.toAbsoluteString():new Date().toISOString()),"aria-label":"Filter date"})}if(e.type==="enum"){const u=r[e.property];return u.type!=="enum"?null:t(tt,{autoFocus:!0,items:u.options,value:e.value??new Set,onChange:i,"aria-label":"Filter value"})}if(e.type==="id-search"){const u=r[e.property];if(u.type!=="id-search")return null;const n=a?{path:a,query:{}}:void 0;return t(Tt,{autoFocus:!0,path:u.path,accessor:u.accessor,defaultParams:n,value:e.value??[],onChange:i,"aria-label":"Filter value"})}return null}function sn({filter:e,filterConfig:r,pathParameters:a,resourceFormatter:i,onRemove:u,onUpdate:n,isOpen:c,onOpenChange:o}){const s=Pe[e.type],d=an(e),h=Y();return g(rt,{isOpen:c,onOpenChange:o,children:[t("div",{className:"relative",children:g(y,{type:"button",variant:e.active===!1?"neutral":"primary_neutral",className:"animate-in slide-in-from-left-10 fade-in",children:[t("span",{className:"font-medium",children:i(e.property)}),h!=="customer-portal"&&t("span",{children:rn[e.operator]}),h!=="customer-portal"&&d&&t("span",{children:d}),e.active!==!1&&t("span",{className:"size-2 z-100 rounded-full bg-primary ms-1"})]})}),t(at,{className:"p-icon min-w-48",children:g("div",{className:"flex flex-col gap-icon",children:[s.length>1&&t(R,{label:ve[e.operator],variant:"neutral","aria-label":"Change operator",children:s.map(b=>t(A,{onAction:()=>n({operator:b}),children:ve[b]},b))}),t(on,{filter:e,filterConfig:r,pathParameters:a,onChange:b=>n({value:b})}),t(y,{type:"button",variant:"neutral",className:"self-end",onPress:u,"aria-label":`Remove ${i(e.property)} filter`,children:"Clear"})]})})]})}function ln({className:e,previewFilters:r,...a}){const{filters:i,query:u,setFilters:n,filterConfig:c,pathParameters:o}=C(),s=J(),d=Object.keys(c).filter(m=>!i.some(p=>p.property===m)).sort(),[h,b]=F(null),S=Se(!1);X(()=>{if(!S.current&&i.length===0){const m=[];r&&r.length>0&&m.push(...r.filter(p=>c[p]).map(p=>({...G(c[p].type,p),active:!1,isPreview:!0}))),m.length>0&&n(m)}S.current=!0},[]);const z=(m,p)=>{const f=G(m,p);n([...i,f]),b(f.id)},M=m=>{i.find(f=>f.id===m)?.isPreview?n(i.map(f=>f.id===m?{...G(c[f.property].type,f.property),active:!1,isPreview:!0}:f)):n(i.filter(f=>f.id!==m))},P=(m,p)=>{n(i.map(f=>{if(f.id!==m)return f;let w=p.value!==void 0?p.value:f.value;const D=p.operator??f.operator;if(f.type==="date"&&p.operator!==void 0)if(D==="between"&&!Array.isArray(w)){const $=typeof w=="string"?w:new Date().toISOString();w=[$,$]}else D!=="between"&&Array.isArray(w)&&(w=w[0]??new Date().toISOString());return{...f,...p,value:w,active:!0}}))};return g("section",{...a,className:I("flex flex-wrap gap-icon items-center",e),children:[i.filter(m=>m.property in c).map(m=>t(sn,{filter:m,filterConfig:c,pathParameters:o,resourceFormatter:s,onRemove:()=>M(m.id),onUpdate:p=>P(m.id,p),isOpen:h===m.id,onOpenChange:p=>b(p?m.id:null)},m.id)),d.length>0&&t(R,{label:t(Pt,{}),isDisabled:u.isPending,variant:"neutral","aria-label":"Add filter",children:d.map(m=>{const p=c[m].type,f=cn[p];return g(A,{className:"!justify-between",onAction:()=>z(p,m),children:[s(m),t(f,{})]},m)})})]})}const cn={"id-search":It,bool:me,date:Ct,enum:Nt,id:xt,number:wt,string:me};export{ve as C,ln as D,ur as DataTable,Ce as DataTableContext,cr as DataTableProvider,dr as F,sr as getColumnHelper,C as useDataTable,lr as useDataTableState};
|
|
1
|
+
"use client";import{jsx as t,Fragment as O,jsxs as g}from"react/jsx-runtime";import{parseAbsolute as V,getLocalTimeZone as k}from"@internationalized/date";import{createContext as Le,useContext as _e,useState as F,useMemo as K,useEffect as X,useRef as Se,Fragment as $e}from"react";import{Button as y}from"./button.js";import{useSensors as Ee,useSensor as ue,PointerSensor as je,KeyboardSensor as qe,DndContext as He,closestCenter as Ve,DragOverlay as ke}from"@dnd-kit/core";import{sortableKeyboardCoordinates as Ke,SortableContext as Be,verticalListSortingStrategy as Qe,arrayMove as Ge,useSortable as Ue}from"@dnd-kit/sortable";import{CSS as Ze}from"@dnd-kit/utilities";import{useQuery as Xe,useInfiniteQuery as Ye}from"@tanstack/react-query";import{createColumnHelper as ye,useReactTable as Je,getCoreRowModel as We,flexRender as U}from"@tanstack/react-table";import{useLocalStorage as B}from"@uidotdev/usehooks";import{merge as et}from"lodash-es";import{Badge as de}from"./badge.js";import{DatePicker as Q}from"./date-picker.js";import{EasyMenu as R,MenuItem as A}from"./menu.js";import{MultiSelect as tt}from"./multi-select.js";import{NumberField as nt}from"./numberfield.js";import{PopoverTrigger as rt,Popover as at}from"./popover.js";import{TextField as it}from"./textfield.js";import{formatDate as E}from"../utilities/date.js";import{useProjectName as Y,useResourceFormatter as J,ALL_OS as ot}from"../utilities/resources.js";import{classNames as I}from"../utilities/theme.js";import{IcRefresh as st,IcMenu as lt,IcLayoutGrid as ct,IcColumns as ut,IcGrip as dt,IcFirst as mt,IcLeft as gt,IcRight as pt,IcLast as ft,IcMoreVertical as bt,IcInfo as ht,IcSortAsc as vt,IcSortDesc as St,IcSortNone as yt,IcCheck as me,IcMinus as wt,IcAccount as xt,IcLicense as Nt,IcDate as Ct,IcFile as It,IcFilter as Pt}from"./icons.js";import{MultipleIdSearchInput as Tt}from"./id-search.js";import{Loader as we}from"./loader.js";import{SearchField as At}from"./searchfield.js";import{Table as Dt,TableHeader as Ft,TableRow as ge,TableHead as Ot,TableBody as Rt,TableCell as zt}from"./table.js";import{CountryName as Mt}from"../utilities/countries.js";import{Duration as Lt}from"../utilities/duration.js";import{formatDays as _t,formatFilesize as $t,formatNumber as Et}from"../utilities/numbers.js";import{Checkbox as pe}from"./checkbox.js";import{TooltipTrigger as jt,Tooltip as qt}from"./tooltip.js";import{getSubscriptionStartTriggerLabel as Ht,ALL_LICENSE_TYPES as Vt}from"./select-options.js";import{useCtxClient as kt}from"../utilities/ctx-client.js";import{ControlledDialogProvider as Kt,useControlledDialog as xe}from"./dialog.js";import"class-variance-authority";import"react-aria-components";import"clsx";import"@icons-pack/react-simple-icons";import"./calendar.js";import"./form.js";import"./card.js";import"./datefield.js";import"../utilities/form.js";import"../utilities/form-context.js";import"@tanstack/react-form";import"./list-box.js";import"./select.js";import"./kbd.js";import"../utilities/string.js";import"../utilities/empty-option.js";function Bt(e){return e?e.desc?`-${e.id}`:`+${e.id}`:"-createdAt"}const Ne=ye(),Qt=[Ne.accessor("checkbox",{header:({table:e})=>t(pe,{isIndeterminate:e.getIsSomeRowsSelected()&&!e.getIsAllPageRowsSelected(),isSelected:e.getIsAllPageRowsSelected()||e.getIsSomePageRowsSelected(),onChange:()=>e.toggleAllPageRowsSelected(),"aria-label":"Select all",size:"sm"}),cell:({row:e})=>t(pe,{isSelected:e.getIsSelected(),onChange:()=>e.toggleSelected(),"aria-label":"Select row",size:"sm"}),enableSorting:!1,enableHiding:!1})],N="TableActions";function Gt(e){return e.length===0?[]:[Ne.accessor(N,{header:"Actions",id:N,enableHiding:!1,cell:({row:r})=>t(nn,{label:t(bt,{}),data:r.original,items:e}),enableSorting:!1})]}function sr(){return ye()}function lr({path:e,pathParameters:r,columns:a,filterConfig:i,columnsToHideByDefault:u={},allowSelection:n=!1,initialFilters:c=[],previewFilters:o,tableActions:s,Card:d,onRowNavigate:h,disableTableView:b}){const[S,z]=F({pagination:{pageIndex:0,pageSize:20},sorting:[]}),{sorting:M,pagination:P}=S,[m,p]=F(""),[f,w]=F({}),[D,$]=F(c),ee=K(()=>D.filter(l=>l.active!==!1).map(l=>l.operator==="between"&&Array.isArray(l.value)&&l.value.length===2?{[l.property]:{gte:l.value[0],lte:l.value[1]}}:Array.isArray(l.value)?{[l.property]:{[l.operator]:l.value.join(",")}}:{[l.property]:{[l.operator]:l.value}}).reduce((l,v)=>et(l,v),{}),[D]),j={...D,page:P.pageIndex+1,limit:P.pageSize,sort:Bt(M[0]),search:m},Te=kt(),te=["get",e,j],q=`${e}_ctx`,[ne,re]=B(`${q}_column_order_preference`,[]),[ae,Ae]=B(`${q}_column_visibility_preference`,{id:!1,...u}),[De,Fe]=B(`${q}_view_mode_preference`,b?"card":"table"),T=b?"card":De,H=l=>{z(v=>({...v,...l}))};async function ie(l){const v=await Te.GET(e,{params:{query:{page:l,limit:P.pageSize,sort:j.sort,search:j.search,...ee},path:r}});return{data:v.data??[],total:Number.parseInt(v.response.headers.get("Pagination-Count")||"0"),nextPage:l+1}}const L=Xe({queryKey:[...te,"table"],enabled:T==="table",queryFn:()=>ie(P.pageIndex+1),placeholderData:l=>l}),x=Ye({queryKey:[...te,"card"],enabled:T==="card",initialPageParam:1,queryFn:({pageParam:l})=>ie(l),getNextPageParam:(l,v)=>v.flatMap(Me=>Me.data).length<l.total?l.nextPage:void 0}),oe=K(()=>T==="table"?L.data?.data??[]:x.data?.pages.flatMap(l=>l.data)??[],[T,L.data,x.data]),se=K(()=>T==="table"?L.data?.total??0:x.data?.pages[0]?.total??0,[T,L.data,x.data]),le=T==="table"?L:{...x,data:{data:oe,total:se},isLoading:x.isLoading,isFetching:x.isFetching,isError:x.isError,error:x.error,refetch:x.refetch},Oe=s.filter(W),Re=[...n?Qt:[],...a,...Gt(Oe??[])];function ze(l){return typeof l=="function"}function _(l,v){return ze(l)?l(v):l}const ce=Je({data:oe,columns:Re,getCoreRowModel:We(),rowCount:se,manualPagination:!0,onPaginationChange:l=>{H({pagination:_(l,P)})},manualSorting:!0,onSortingChange:l=>{w({}),H({sorting:[..._(l,M)]})},manualFiltering:!0,onColumnVisibilityChange:l=>{Ae(_(l,ae))},onRowSelectionChange:l=>{w(_(l,f))},onColumnOrderChange:l=>{re(_(l,ne))},state:{sorting:M,columnVisibility:ae,pagination:P,rowSelection:f,columnOrder:ne},meta:{refetch:le.refetch}});return X(()=>{const l=ce.getAllLeafColumns();re([...l.filter(v=>v.id!==N).map(v=>v.id),...l.filter(v=>v.id===N).map(v=>v.id)])},[]),{tableState:S,updateTableState:H,query:le,setSearchQuery:p,searchQuery:m,tanTable:ce,mergedFilters:ee,filters:D,setFilters:$,filterConfig:i,tableActions:s,pathParameters:r,viewMode:T,setViewMode:Fe,Card:d,allowSelection:n,previewFilters:o,infiniteQuery:x,disableTableView:b,onRowNavigate:h}}const Ce=Le(null);function C(){const e=_e(Ce);if(!e)throw Error("DataTable should be used within DataTableProvider.");return e}function cr({children:e,...r}){return t(Ce.Provider,{value:r,children:e})}function ur({className:e,cardGridClassName:r,...a}){const{query:i,tanTable:u,viewMode:n,tableActions:c,Card:o}=C(),s=c.filter(W),d=n==="card"&&!!o;function h(){return i.isFetching?null:i.isError?g("span",{className:"flex gap-3 items-center",children:[t(ht,{}),t("span",{children:i.error?.message})]}):i.data?.data?.length===0?t(O,{children:"No results found."}):t(O,{children:"Unknown error. Please contact customer support."})}function b(){return i.isLoading?t("div",{className:"body-sm flex items-center justify-center min-h-32",children:t(we,{})}):u.getRowModel().rows.length===0?t("div",{className:"body-sm flex items-center justify-center min-h-32 text-muted",children:t(h,{})}):d?t(Ut,{className:r,Card:o,actions:s}):t(en,{className:"w-full"})}return t(O,{children:g(Kt,{children:[t(Jt,{}),g("section",{...a,className:I("z-20 flex flex-col",n==="table"?"border rounded-md":"",e),children:[t("div",{className:"w-full overflow-auto relative rounded-md [scrollbar-width:none]",tabIndex:0,children:t(b,{})}),n==="table"&&g("div",{className:"flex w-full justify-between border-t gap-icon py-2 px-icon bg-elevation-mid rounded-b-md overflow-x-auto",children:[g("div",{className:"flex gap-icon",children:[t(Zt,{}),t(Yt,{})]}),t(Xt,{})]})]})]})})}function Ut({Card:e,actions:r,className:a,...i}){const{tanTable:u,allowSelection:n}=C(),{infiniteQuery:c}=C(),o=Se(null);return X(()=>{const s=o.current;if(!s)return;const d=new IntersectionObserver(h=>{h[0].isIntersecting&&c.hasNextPage&&!c.isFetchingNextPage&&c.fetchNextPage()},{threshold:.1});return d.observe(s),()=>d.disconnect()},[c.hasNextPage,c.isFetchingNextPage]),g("div",{...i,className:I(a,"grid grid-cols-1 lg:grid-cols-2 gap-icon"),children:[u.getRowModel().rows.map(s=>{const d={isSelected:s.getIsSelected(),onToggle:()=>s.toggleSelected(),allowSelection:n};return t($e,{children:e(s.original,r,d)},s.id)}),t("div",{ref:o,className:"col-span-full h-4 flex items-center justify-center",children:c.isFetchingNextPage&&t(we,{})})]})}function Zt(){if(Y()==="customer-portal")return null;const{tanTable:r}=C(),[a,i]=F(null),u=J(),n=Ee(ue(je),ue(qe,{coordinateGetter:Ke}));return t(He,{sensors:n,collisionDetection:Ve,onDragStart:o=>{const{active:s}=o;i(s.id.toString())},onDragEnd:o=>{const{active:s,over:d}=o;if(d&&s.id!==d.id){const h=r.getState().columnOrder,b=h.indexOf(s.id.toString()),S=h.indexOf(d.id.toString());r.setColumnOrder([...Ge(h,b,S)])}i(null)},children:g(Be,{items:r.getState().columnOrder,strategy:Qe,children:[g(R,{label:g(O,{children:[t(ut,{className:"inline align-bottom me-1"}),"Columns"]}),selectionMode:"multiple",size:"sm",items:r.getAllFlatColumns(),selectedKeys:r.getVisibleFlatColumns().map(o=>o.id),children:[t(A,{onAction:()=>r.toggleAllColumnsVisible(),className:"italic",children:"(select all)"}),r.getState().columnOrder.map(o=>{const s=r.getAllFlatColumns().find(d=>d.id===o);return!s||s.id==="checkbox"||s.id===N?null:t(c,{column:s},s.id)})]}),t(ke,{children:a?t("div",{className:"opacity-70 border-2 border-primary",children:u(a)}):null})]})});function c({column:o}){const{attributes:s,listeners:d,setNodeRef:h,transform:b,transition:S}=Ue({id:o.id}),z={transform:Ze.Transform.toString(b),transition:S,zIndex:"999"};return g(A,{ref:h,style:z,...s,id:o.id,onAction:()=>o.toggleVisibility(),isDisabled:!o.getCanHide(),className:"flex items-center",children:[t(dt,{...d,className:"size-icon cursor-grab"}),Z(o),o.getIsSorted()&&t(Ie,{className:"size-icon",direction:o.getIsSorted()})]})}}function Xt(){const{tanTable:e}=C(),r=e.getRowCount();return g("div",{className:"flex items-center gap-2",children:[t("span",{className:"whitespace-nowrap body-sm text-muted",children:`${e.getState().pagination.pageIndex*e.getState().pagination.pageSize+1} - ${Math.min((e.getState().pagination.pageIndex+1)*e.getState().pagination.pageSize,r)} of ${r?.toLocaleString()}`}),(e.getCanNextPage()||e.getCanPreviousPage())&&g(O,{children:[t(y,{"aria-label":"First page",onPress:()=>e.firstPage(),isDisabled:!e.getCanPreviousPage(),variant:"neutral",size:"icon-sm",children:t(mt,{})}),t(y,{"aria-label":"Previous page",onPress:()=>e.previousPage(),isDisabled:!e.getCanPreviousPage(),variant:"neutral",size:"icon-sm",children:t(gt,{})}),t(y,{"aria-label":"Next page",onPress:()=>e.nextPage(),isDisabled:!e.getCanNextPage(),variant:"neutral",size:"icon-sm",children:t(pt,{})}),t(y,{"aria-label":"Last page",onClick:()=>e.lastPage(),isDisabled:!e.getCanNextPage(),variant:"neutral",size:"icon-sm",children:t(ft,{})})]})]})}function Yt(){if(Y()==="customer-portal")return null;const{tanTable:r}=C(),a=[10,20,30,40,50];return t(R,{label:r.getState().pagination.pageSize.toString(),selectionMode:"single",size:"sm",selectedKeys:[r.getState().pagination.pageSize.toString()],items:a.map(i=>({id:i.toString(),value:i})),children:i=>t(A,{onAction:()=>r.setPageSize(i.value),children:i.value})})}function Jt(){const{query:e,tanTable:r,searchQuery:a,setSearchQuery:i,tableActions:u,viewMode:n,setViewMode:c,Card:o,previewFilters:s,disableTableView:d}=C(),h=r.getSelectedRowModel().rows.length>0,b=u.filter(S=>S.resourceType!=="single").filter(S=>S.resourceType==="multiple"===h);return g("section",{className:"flex justify-between my-0 mb-icon gap-icon overflow-x-auto py-1",children:[g("div",{className:"flex gap-icon",children:[t(y,{"aria-label":"Refresh",isPending:e.isFetching,onClick:()=>e.refetch(),variant:"neutral",size:"icon",children:t(st,{})}),t(At,{value:a,onChange:i}),t(ln,{previewFilters:s})]}),g("div",{className:"flex gap-icon",children:[t(tn,{items:b,isFetching:e.isFetching}),o&&!d&&g("div",{className:"flex gap-1 bg-elevation-1 rounded-md overflow-hidden",children:[t(y,{variant:n==="table"?"primary":"neutral",size:"icon",onPress:()=>c("table"),"aria-label":"Table view",className:"border-none",children:t(lt,{})}),t(y,{variant:n==="card"?"primary":"neutral",size:"icon",onPress:()=>c("card"),"aria-label":"Card view",className:"border-none",children:t(ct,{})})]})]})]})}function Ie({direction:e,...r}){return e==="asc"?t(vt,{className:"size-3.5",...r}):e==="desc"?t(St,{className:"size-3.5",...r}):t(yt,{className:"size-3.5",...r})}function Z(e){const r=J(),a=e.columnDef.header;return typeof a=="string"?a:r(e.id)}function Wt(e){const r=e.column.columnDef.meta?.displayType,a=e.getValue();if(a==null)return null;switch(r){case"date":return t("span",{className:"tabular-nums",children:E(a)});case"number":return t("span",{className:"block text-right tabular-nums",children:Et(a)});case"boolean":return t(de,{variant:a?"success":"destructive",className:"capitalize",children:String(a)});case"badge":return t(de,{className:"w-full",children:String(a)});case"country":return t(Mt,{value:a});case"enum":return t("span",{className:"uppercase w-full",children:String(a)});case"fileSize":return $t(a);case"days":return _t(a);case"os":return ot[a]??a;case"licenseType":return Vt[a]??a;case"subscriptionInterval":return Lt.formatISODuration(a);case"subscriptionStartTrigger":return Ht(a);default:return String(a)}}function fe({header:e}){const r=e.column.columnDef.header;return typeof r=="string"||!r?Z(e.column):typeof r=="function"?typeof r(e.getContext())=="string"?Z(e.column):U(r,e.getContext()):U(r,e.getContext())}function en({className:e}){const{tanTable:r,onRowNavigate:a}=C(),i=(u,n,c="z-50")=>I("text-left body-sm font-medium whitespace-nowrap",u&&`sticky right-0 ${c} text-center justify-center`,n);return g(Dt,{className:I("table-auto border-0 rounded-md",e),children:[t(Ft,{className:"sticky top-0 z-10 rounded-md",children:r.getHeaderGroups().map(u=>t(ge,{children:u.headers.map(n=>g(Ot,{scope:"col",colSpan:n.colSpan,className:i(n.id===N,(n.id===N,"bg-elevation-mid")),children:[!n.column.getCanSort()&&!n.isPlaceholder&&t("div",{className:I("w-full flex items-center gap-1 text-xs uppercase",n.id===N?"justify-center":"justify-start"),children:t(fe,{header:n})}),n.column.getCanSort()&&g(y,{variant:"ghost",size:"none",className:I("w-full p-1 rounded-md uppercase text-muted text-xs",n.id===N?"justify-center":"justify-start",n.column.getIsSorted()?"text-primary":""),onPress:n.column.getToggleSortingHandler(),children:[t("span",{children:t(fe,{header:n})}),n.column.getIsSorted()&&t(Ie,{direction:n.column.getIsSorted()})]})]},n.id))},u.id))}),t(Rt,{children:r.getRowModel().rows.map(u=>t(ge,{className:I("transition-colors bg-elevation-1 data-[selected=true]:bg-primary/10 hover:bg-muted-foreground/20",a&&"cursor-pointer focus-visible:outline focus-visible:outline-ring"),"data-selected":u.getIsSelected(),...a&&{role:"link",tabIndex:0,onClick:n=>{n.target.closest('a, button, input, select, textarea, [role="button"]')||a(u.original)},onKeyDown:n=>{n.key==="Enter"&&a(u.original)}},children:u.getVisibleCells().map(n=>{const c=n.column.id===N,o=n.column.columnDef.meta?.displayType?Wt(n):U(n.column.columnDef.cell,n.getContext());return t(zt,{className:I(i(c,c?"bg-elevation-1":"","z-1"),c&&"flex justify-center items-center"),children:o},n.id)})},u.id))})]})}function be(e){return e.resourceType==="none"}function W(e){return e.resourceType==="single"}function he(e){return e.resourceType==="multiple"}function tn({items:e,isFetching:r}){const{openDialog:a,closeDialog:i}=xe(),{tanTable:u}=C();function n(o,s){return o.isDisabled?be(o)?o.isDisabled():he(o)?o.isDisabled(s):!1:!1}const c=u.getSelectedRowModel().rows.map(o=>o.original);return t(O,{children:e.map((o,s)=>{const d=o.icon,h=n(o,c)||r;return g(y,{"aria-label":o.label,type:"button",isDisabled:h,className:"animate-in fade-in slide-in-from-right-15 duration-300 transition-transform",onPress:b=>{const S={event:b,openDialog:a,closeDialog:i};be(o)?o.onPress(S):he(o)&&o.onPress({...S,data:c})},variant:o.variant??"neutral",children:[d&&t(d,{"aria-hidden":!0}),t("span",{children:o.label})]},`${o.label}-${s}`)})})}function nn({label:e,items:r,data:a}){const{openDialog:i,closeDialog:u}=xe();return r.length<4?t("div",{className:"flex items-center gap-2",children:r.map((n,c)=>{const o=n.icon,s=typeof n.label=="function"?n.label(a):n.label;return g(jt,{children:[t(y,{"aria-label":typeof s=="string"?s:void 0,isDisabled:n.isDisabled?.(a)??!1,variant:"ghost",size:"icon",onPress:()=>{const d={openDialog:i,closeDialog:u};n.onPress({...d,data:a})},children:t(o,{className:"size-icon"})}),t(qt,{children:s})]},`${c}-${typeof s=="string"?s:""}`)})}):t(R,{"aria-label":"Actions",label:e,size:"icon",children:r.map((n,c)=>{const o=n.icon,s=typeof n.label=="function"?n.label(a):n.label;return g(A,{id:typeof s=="string"?s:void 0,isDisabled:n.isDisabled?.(a)??!1,onAction:()=>{const d={openDialog:i,closeDialog:u};W(n)&&n.onPress({...d,data:a})},children:[t(o,{className:"size-icon"}),s]},`${c}-${typeof s=="string"?s:""}`)})})}const dr=["eq","ne","cn","nc","sw","ew","in","nin","gt","gte","lt","lte","between"],ve={eq:"equal to",ne:"not equal to",cn:"contains",nc:"does not contain",sw:"starts with",ew:"ends with",in:"includes",nin:"does not include",gt:"greater than",gte:"greater than or equal to",lt:"less than",lte:"less than or equal to",between:"between"},rn={eq:"=",ne:"≠",cn:"contains",nc:"!contains",sw:"starts with",ew:"ends with",in:"in",nin:"not in",gt:">",gte:"≥",lt:"<",lte:"≤",between:"↔"};function G(e,r){const a=`${r}-${Date.now()}`,i=Pe[e][0];switch(e){case"bool":return{id:a,type:e,property:r,operator:i,value:!0};case"string":return{id:a,type:e,property:r,operator:i,value:""};case"date":return{id:a,type:e,property:r,operator:i,value:i==="between"?[new Date().toISOString(),new Date().toISOString()]:new Date().toISOString()};case"id":return{id:a,type:e,property:r,operator:i,value:""};case"id-search":return{id:a,type:e,property:r,operator:i,value:[]};case"enum":return{id:a,type:e,property:r,operator:i,value:new Set};case"number":return{id:a,type:e,property:r,operator:i,value:0}}}const Pe={bool:["eq"],enum:["in","nin"],id:["in","nin"],"id-search":["in","nin"],string:["eq","ne","cn","nc","sw","ew","in","nin"],date:["between","lt","gt"],number:["eq","ne","gt","gte","lt","lte"]};function an(e){switch(e.type){case"string":case"id":return e.value??"";case"number":return e.value?.toString()??"";case"bool":return e.value?"true":"false";case"date":if(Array.isArray(e.value)){const[r,a]=e.value;return`${E(r,{dateStyle:"short"})??""} – ${E(a,{dateStyle:"short"})??""}`}return e.value?E(e.value,{dateStyle:"short"})??"":"";case"enum":return e.value&&e.value.size>0?`${e.value.size} selected`:"";case"id-search":return e.value&&e.value.length>0?e.value.length===1?"1 item":`${e.value.length} items`:""}}function on({filter:e,filterConfig:r,pathParameters:a,onChange:i}){if(e.type==="string"||e.type==="id")return t(it,{autoFocus:!0,value:e.value??"",onChange:i,"aria-label":"Filter value"});if(e.type==="number")return t(nt,{autoFocus:!0,value:e.value,onChange:i,"aria-label":"Filter value"});if(e.type==="bool")return g(R,{autoFocus:!0,label:e.value?"True":"False",variant:"neutral","aria-label":"Filter value",children:[t(A,{onAction:()=>i(!0),children:"True"}),t(A,{onAction:()=>i(!1),children:"False"})]});if(e.type==="date"){if(e.operator==="between"){const[n,c]=Array.isArray(e.value)?e.value:[new Date().toISOString(),new Date().toISOString()],o=V(n,k()),s=V(c,k());return g("div",{className:"flex flex-col gap-icon",children:[t(Q,{autoFocus:!0,hideTimeZone:!0,label:"From",value:o,onChange:d=>i([d?d.toAbsoluteString():n,c])}),t(Q,{hideTimeZone:!0,label:"To",value:s,onChange:d=>i([n,d?d.toAbsoluteString():c])})]})}const u=e.value&&!Array.isArray(e.value)?V(e.value,k()):null;return t(Q,{autoFocus:!0,hideTimeZone:!0,value:u,onChange:n=>i(n?n.toAbsoluteString():new Date().toISOString()),"aria-label":"Filter date"})}if(e.type==="enum"){const u=r[e.property];return u.type!=="enum"?null:t(tt,{autoFocus:!0,items:u.options,value:e.value??new Set,onChange:i,"aria-label":"Filter value"})}if(e.type==="id-search"){const u=r[e.property];if(u.type!=="id-search")return null;const n=a?{path:a,query:{}}:void 0;return t(Tt,{autoFocus:!0,path:u.path,accessor:u.accessor,defaultParams:n,value:e.value??[],onChange:i,"aria-label":"Filter value"})}return null}function sn({filter:e,filterConfig:r,pathParameters:a,resourceFormatter:i,onRemove:u,onUpdate:n,isOpen:c,onOpenChange:o}){const s=Pe[e.type],d=an(e),h=Y();return g(rt,{isOpen:c,onOpenChange:o,children:[t("div",{className:"relative",children:g(y,{type:"button",variant:e.active===!1?"neutral":"primary_neutral",className:"animate-in slide-in-from-left-10 fade-in",children:[t("span",{className:"font-medium",children:i(e.property)}),h!=="customer-portal"&&t("span",{children:rn[e.operator]}),h!=="customer-portal"&&d&&t("span",{children:d}),e.active!==!1&&t("span",{className:"size-2 z-100 rounded-full bg-primary ms-1"})]})}),t(at,{className:"p-icon min-w-48",children:g("div",{className:"flex flex-col gap-icon",children:[s.length>1&&t(R,{label:ve[e.operator],variant:"neutral","aria-label":"Change operator",children:s.map(b=>t(A,{onAction:()=>n({operator:b}),children:ve[b]},b))}),t(on,{filter:e,filterConfig:r,pathParameters:a,onChange:b=>n({value:b})}),t(y,{type:"button",variant:"neutral",className:"self-end",onPress:u,"aria-label":`Remove ${i(e.property)} filter`,children:"Clear"})]})})]})}function ln({className:e,previewFilters:r,...a}){const{filters:i,query:u,setFilters:n,filterConfig:c,pathParameters:o}=C(),s=J(),d=Object.keys(c).filter(m=>!i.some(p=>p.property===m)).sort(),[h,b]=F(null),S=Se(!1);X(()=>{if(!S.current&&i.length===0){const m=[];r&&r.length>0&&m.push(...r.filter(p=>c[p]).map(p=>({...G(c[p].type,p),active:!1,isPreview:!0}))),m.length>0&&n(m)}S.current=!0},[]);const z=(m,p)=>{const f=G(m,p);n([...i,f]),b(f.id)},M=m=>{i.find(f=>f.id===m)?.isPreview?n(i.map(f=>f.id===m?{...G(c[f.property].type,f.property),active:!1,isPreview:!0}:f)):n(i.filter(f=>f.id!==m))},P=(m,p)=>{n(i.map(f=>{if(f.id!==m)return f;let w=p.value!==void 0?p.value:f.value;const D=p.operator??f.operator;if(f.type==="date"&&p.operator!==void 0)if(D==="between"&&!Array.isArray(w)){const $=typeof w=="string"?w:new Date().toISOString();w=[$,$]}else D!=="between"&&Array.isArray(w)&&(w=w[0]??new Date().toISOString());return{...f,...p,value:w,active:!0}}))};return g("section",{...a,className:I("flex flex-wrap gap-icon items-center",e),children:[i.filter(m=>m.property in c).map(m=>t(sn,{filter:m,filterConfig:c,pathParameters:o,resourceFormatter:s,onRemove:()=>M(m.id),onUpdate:p=>P(m.id,p),isOpen:h===m.id,onOpenChange:p=>b(p?m.id:null)},m.id)),d.length>0&&t(R,{label:t(Pt,{}),isDisabled:u.isPending,variant:"neutral","aria-label":"Add filter",children:d.map(m=>{const p=c[m].type,f=cn[p];return g(A,{className:"!justify-between",onAction:()=>z(p,m),children:[s(m),t(f,{})]},m)})})]})}const cn={"id-search":It,bool:me,date:Ct,enum:Nt,id:xt,number:wt,string:me};export{ve as C,ln as D,ur as DataTable,Ce as DataTableContext,cr as DataTableProvider,dr as F,sr as getColumnHelper,C as useDataTable,lr as useDataTableState};
|
|
2
2
|
//# sourceMappingURL=data-table.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as e}from"react/jsx-runtime";import{
|
|
1
|
+
"use client";import{jsx as e}from"react/jsx-runtime";import{DateField as m,composeRenderProps as i,DateInput as u,DateSegment as p,TimeField as f}from"react-aria-components";import{classNames as o}from"../utilities/theme.js";import{FormField as c,fieldGroupVariants as g}from"./form.js";import"clsx";import"class-variance-authority";import"./card.js";import"./icons.js";import"@icons-pack/react-simple-icons";import"react";function v({className:t,...a}){return e(p,{className:i(t,d=>o("inline caret-transparent outline-0","data-[placeholder]:text-muted-foreground","disabled-muted","data-[focused]:bg-accent data-[focused]:text-accent-foreground","data-[invalid]:data-[focused]:bg-destructive data-[invalid]:data-[focused]:data-[placeholder]:text-destructive-foreground data-[invalid]:data-[focused]:text-destructive-foreground data-[invalid]:data-[placeholder]:text-destructive data-[invalid]:text-destructive",d)),...a})}function s({className:t,variant:a,...d}){return e(u,{className:i(t,r=>o(g({variant:a}),"body-sm",r)),...d,children:r=>e(v,{segment:r})})}function j({label:t,description:a,className:d,errorMessage:r,...n}){return e(m,{className:i(d,l=>o("group form-field",l)),...n,children:e(c,{label:t,description:a,errorMessage:r,children:e(s,{})})})}function y({label:t,description:a,errorMessage:d,className:r,...n}){return e(f,{className:i(r,l=>o("group form-field",l)),...n,children:e(c,{label:t,description:a,errorMessage:d,children:e(s,{})})})}export{j as DateField,s as DateInput,v as DateSegment,y as TimeField};
|
|
2
2
|
//# sourceMappingURL=datefield.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{
|
|
1
|
+
"use client";import{jsxs as g,jsx as n,Fragment as x}from"react/jsx-runtime";import{cva as p}from"class-variance-authority";import{createContext as h,useState as c,useContext as u}from"react";import{DialogTrigger as b,Modal as D,Dialog as v,composeRenderProps as m,OverlayTriggerStateContext as C,ModalOverlay as w,Heading as N}from"react-aria-components";import{Button as y}from"./button.js";import{classNames as o}from"../utilities/theme.js";import{IcClose as O}from"./icons.js";import"./loader.js";import"clsx";import"@icons-pack/react-simple-icons";const z=p(["fixed z-50 gap-icon bg-elevation-1 transition ease-in-out","data-[entering]:duration-200 data-[entering]:animate-in data-[entering]:fade-in-0 data-[exiting]:duration-200 data-[exiting]:animate-out data-[exiting]:fade-out-0"],{variants:{side:{top:"inset-x-0 top-0 border-b data-[entering]:slide-in-from-top data-[exiting]:slide-out-to-top max-h-table",bottom:"inset-x-0 bottom-0 border-t data-[entering]:slide-in-from-bottom data-[exiting]:slide-out-to-bottom max-h-table",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[entering]:slide-in-from-left data-[exiting]:slide-out-to-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[entering]:slide-in-from-right data-[exiting]:slide-out-to-right sm:max-w-sm"}}}),P=b,T=({className:t,isDismissable:e=!0,...i})=>u(C)?.isOpen?n(w,{isDismissable:e,className:m(t,a=>o("fixed inset-0 z-50 bg-background/90","data-[exiting]:duration-100 data-[exiting]:animate-out","data-[entering]:animate-in",a)),...i}):null;function j({className:t,children:e,side:i,role:l,closeButton:a=!0,...s}){return n(D,{className:m(t,r=>o(i?z({side:i}):["fixed left-[50vw] top-1/2 z-50 w-full max-w-lg -translate-x-1/2 -translate-y-1/2 border rounded-md bg-elevation-1 duration-100 data-[exiting]:duration-100 data-[entering]:animate-in data-[exiting]:animate-out data-[entering]:fade-in-0 data-[exiting]:fade-out-0 data-[entering]:zoom-in-95 data-[exiting]:zoom-out-95 md:w-full"],r)),...s,children:n(v,{role:l,className:o(!i&&"grid h-full gap-icon relative","h-full outline-none"),children:m(e,(r,d)=>g(x,{children:[r,a&&n("div",{className:"absolute right-2 top-1",children:g(y,{size:"icon",variant:"ghost",onPress:d.close,className:"!rounded-full",children:[n(O,{}),n("span",{className:"sr-only",children:"Close"})]})})]}))})})}function $({className:t,...e}){return n("div",{className:o("flex flex-col p-icon border-b gap-y-2 text-center sm:text-left",t),...e})}function q({className:t,...e}){return n("div",{className:o("flex flex-col-reverse sm:flex-row sm:justify-end sm:gap-x-2 p-icon border-t",t),...e})}function A({className:t,...e}){return n("div",{className:o("flex flex-col gap-2 p-icon",t),...e})}function G({className:t,...e}){return n(N,{slot:"title",className:o("heading-3 font-semibold leading-none tracking-tight",t),...e})}function J({className:t,...e}){return n("p",{className:o("flex flex-col gap-y-1 text-center sm:text-left",t),...e})}const f=h(null);function K({children:t}){const[e,i]=c(!1),[l,a]=c(null),s=d=>{a(d),i(!0)},r=()=>{i(!1)};return g(f.Provider,{value:{openDialog:s,closeDialog:r,isOpen:e},children:[t,n(P,{isOpen:e,onOpenChange:i,children:n(T,{isDismissable:!0,children:n(j,{children:l})})})]})}function L(){const t=u(f);if(!t)throw new Error("useControlledDialog must be used within ControlledDialogProvider");return t}export{K as ControlledDialogProvider,A as DialogBody,j as DialogContent,J as DialogDescription,q as DialogFooter,$ as DialogHeader,T as DialogOverlay,G as DialogTitle,P as DialogTrigger,L as useControlledDialog};
|
|
2
2
|
//# sourceMappingURL=dialog.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as u,Fragment as l}from"react/jsx-runtime";import{useContext as c}from"react";import{DisclosureGroupStateContext as m,Disclosure as p,composeRenderProps as a,
|
|
1
|
+
"use client";import{jsx as e,jsxs as u,Fragment as l}from"react/jsx-runtime";import{useContext as c}from"react";import{DisclosureGroupStateContext as m,Disclosure as p,composeRenderProps as a,DisclosureGroup as d,DisclosurePanel as D}from"react-aria-components";import{Button as f}from"./button.js";import{classNames as i}from"../utilities/theme.js";import{IcDown as N}from"./icons.js";import"class-variance-authority";import"./loader.js";import"clsx";import"@icons-pack/react-simple-icons";function v({children:r,className:s,...o}){let t=c(m)!==null;return e(p,{...o,className:a(s,(n,g)=>i("group",t&&"border-0 last:border-b-0",n)),children:r})}function w({children:r,className:s,...o}){return e(f,{slot:"trigger",type:"button",variant:"ghost",className:i(s),...o,children:a(r,t=>u(l,{children:[e("span",{children:t}),e(N,{"aria-hidden":!0,className:i("transition-transform duration-200","group-data-[expanded]:rotate-180")})]}))})}function y({children:r,className:s,...o}){return e(D,{...o,className:"transition-all",children:r})}function B({children:r,className:s,...o}){return e(d,{...o,className:a(s,(t,n)=>i("",t)),children:r})}export{v as Disclosure,B as DisclosureGroup,w as DisclosureHeader,y as DisclosurePanel};
|
|
2
2
|
//# sourceMappingURL=disclosure.js.map
|