@tribepad/themis 1.6.5 → 1.6.6

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.
Files changed (87) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/elements/AlertDialog/index.js +1 -1
  3. package/dist/elements/AlertDialog/index.js.map +1 -1
  4. package/dist/elements/AlertDialog/index.mjs +1 -1
  5. package/dist/elements/AlertDialog/index.mjs.map +1 -1
  6. package/dist/elements/Breadcrumbs/index.js +1 -1
  7. package/dist/elements/Breadcrumbs/index.js.map +1 -1
  8. package/dist/elements/Breadcrumbs/index.mjs +1 -1
  9. package/dist/elements/Breadcrumbs/index.mjs.map +1 -1
  10. package/dist/elements/Combobox/Combobox.d.ts.map +1 -1
  11. package/dist/elements/Combobox/index.js +1 -1
  12. package/dist/elements/Combobox/index.js.map +1 -1
  13. package/dist/elements/Combobox/index.mjs +1 -1
  14. package/dist/elements/Combobox/index.mjs.map +1 -1
  15. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  16. package/dist/elements/DatePicker/DateRangePicker.d.ts.map +1 -1
  17. package/dist/elements/DatePicker/index.js +1 -1
  18. package/dist/elements/DatePicker/index.js.map +1 -1
  19. package/dist/elements/DatePicker/index.mjs +1 -1
  20. package/dist/elements/DatePicker/index.mjs.map +1 -1
  21. package/dist/elements/Dropdown/Dropdown.d.ts.map +1 -1
  22. package/dist/elements/Dropdown/index.js +1 -1
  23. package/dist/elements/Dropdown/index.js.map +1 -1
  24. package/dist/elements/Dropdown/index.mjs +1 -1
  25. package/dist/elements/Dropdown/index.mjs.map +1 -1
  26. package/dist/elements/Filters/FilterPopover.d.ts.map +1 -1
  27. package/dist/elements/Filters/index.js +1 -1
  28. package/dist/elements/Filters/index.js.map +1 -1
  29. package/dist/elements/Filters/index.mjs +1 -1
  30. package/dist/elements/Filters/index.mjs.map +1 -1
  31. package/dist/elements/Modal/Modal.d.ts +1 -1
  32. package/dist/elements/Modal/Modal.d.ts.map +1 -1
  33. package/dist/elements/Modal/Modal.types.d.ts +2 -0
  34. package/dist/elements/Modal/Modal.types.d.ts.map +1 -1
  35. package/dist/elements/Modal/index.js +1 -1
  36. package/dist/elements/Modal/index.js.map +1 -1
  37. package/dist/elements/Modal/index.mjs +1 -1
  38. package/dist/elements/Modal/index.mjs.map +1 -1
  39. package/dist/elements/PageTitle/index.js +1 -1
  40. package/dist/elements/PageTitle/index.js.map +1 -1
  41. package/dist/elements/PageTitle/index.mjs +1 -1
  42. package/dist/elements/PageTitle/index.mjs.map +1 -1
  43. package/dist/elements/Panel/Panel.d.ts.map +1 -1
  44. package/dist/elements/Panel/index.js +1 -1
  45. package/dist/elements/Panel/index.js.map +1 -1
  46. package/dist/elements/Panel/index.mjs +1 -1
  47. package/dist/elements/Panel/index.mjs.map +1 -1
  48. package/dist/elements/Resizable/components/ResizablePopover.d.ts.map +1 -1
  49. package/dist/elements/Resizable/index.js +1 -1
  50. package/dist/elements/Resizable/index.js.map +1 -1
  51. package/dist/elements/Resizable/index.mjs +1 -1
  52. package/dist/elements/Resizable/index.mjs.map +1 -1
  53. package/dist/elements/Select/Select.d.ts.map +1 -1
  54. package/dist/elements/Select/index.js +1 -1
  55. package/dist/elements/Select/index.js.map +1 -1
  56. package/dist/elements/Select/index.mjs +1 -1
  57. package/dist/elements/Select/index.mjs.map +1 -1
  58. package/dist/elements/Sidebar/SidebarMobileDrawer.d.ts.map +1 -1
  59. package/dist/elements/Sidebar/index.js +1 -1
  60. package/dist/elements/Sidebar/index.js.map +1 -1
  61. package/dist/elements/Sidebar/index.mjs +1 -1
  62. package/dist/elements/Sidebar/index.mjs.map +1 -1
  63. package/dist/elements/Table/index.js +1 -1
  64. package/dist/elements/Table/index.js.map +1 -1
  65. package/dist/elements/Table/index.mjs +1 -1
  66. package/dist/elements/Table/index.mjs.map +1 -1
  67. package/dist/elements/Wizard/index.js +1 -1
  68. package/dist/elements/Wizard/index.js.map +1 -1
  69. package/dist/elements/Wizard/index.mjs +1 -1
  70. package/dist/elements/Wizard/index.mjs.map +1 -1
  71. package/dist/elements/index.js +1 -1
  72. package/dist/elements/index.js.map +1 -1
  73. package/dist/elements/index.mjs +1 -1
  74. package/dist/elements/index.mjs.map +1 -1
  75. package/dist/index.js +2 -2
  76. package/dist/index.js.map +1 -1
  77. package/dist/index.mjs +2 -2
  78. package/dist/index.mjs.map +1 -1
  79. package/dist/utils/browserExtensionOverlay.d.ts +36 -0
  80. package/dist/utils/browserExtensionOverlay.d.ts.map +1 -0
  81. package/dist/utils/index.d.ts +1 -0
  82. package/dist/utils/index.d.ts.map +1 -1
  83. package/dist/utils/index.js +1 -1
  84. package/dist/utils/index.js.map +1 -1
  85. package/dist/utils/index.mjs +1 -1
  86. package/dist/utils/index.mjs.map +1 -1
  87. package/package.json +1 -1
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import {forwardRef,createContext,useMemo,useContext,memo,useId,useRef,useState,useEffect,Children,isValidElement,cloneElement}from'react';import {Checkbox,Table,Column,Cell,Button,SelectValue,ListBoxItem,useTableOptions,TableHeader,Collection,TableBody,Row,Select,Label,Text,FieldError,Popover,ListBox,Header,ListBoxSection}from'react-aria-components';import {cva}from'class-variance-authority';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {ChevronUp,ChevronDown,ChevronsUpDown,Loader2,Zap,CheckSquare,Check,ArrowUp,ArrowDown}from'lucide-react';function E(...e){return twMerge(clsx(e))}var X="data-[focus-visible]:ring-2 data-[focus-visible]:ring-[var(--themis-ring)] data-[focus-visible]:ring-offset-2",me="data-[pressed]:scale-[0.97]";var K="hc:data-[focus-visible]:outline hc:data-[focus-visible]:outline-4 hc:data-[focus-visible]:outline-offset-2 hc:data-[focus-visible]:outline-foreground",Q="hc:data-[hovered]:outline hc:data-[hovered]:outline-2 hc:data-[hovered]:outline-foreground",J="hc:data-[pressed]:outline hc:data-[pressed]:outline-2 hc:data-[pressed]:outline-offset-1 hc:data-[pressed]:outline-foreground";var Oe=cva(["group inline-flex items-center gap-2 cursor-pointer","transition-colors duration-200","rtl:flex-row-reverse",X,K].join(" "),{variants:{size:{sm:"min-h-[44px] text-sm",default:"min-h-[44px] text-sm",lg:"min-h-[48px] text-base"},isDisabled:{true:"opacity-50 cursor-not-allowed",false:""}},defaultVariants:{size:"default",isDisabled:false}}),Be=cva("flex-shrink-0 rounded-sm border-2 bg-[var(--content-background)] flex items-center justify-center transition-colors duration-200 motion-safe:data-[selected]:selection-pulse",{variants:{variant:{default:["border-[var(--border)]","data-[selected]:border-[var(--primary)]","data-[selected]:bg-[var(--primary)]","data-[indeterminate]:border-[var(--primary)]","data-[indeterminate]:bg-[var(--primary)]"].join(" "),destructive:["border-[var(--border)]","data-[selected]:border-[var(--destructive-background)]","data-[selected]:bg-[var(--destructive-background)]","data-[indeterminate]:border-[var(--destructive-background)]","data-[indeterminate]:bg-[var(--destructive-background)]"].join(" ")},size:{sm:"h-4 w-4",default:"h-5 w-5",lg:"h-6 w-6"},isInvalid:{true:"border-[var(--destructive-background)]",false:""}},defaultVariants:{variant:"default",size:"default",isInvalid:false}}),Pe=cva(["transition-transform duration-200","[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)]","motion-reduce:transition-none","scale-0 data-[selected]:scale-100 data-[indeterminate]:scale-100"].join(" "),{variants:{variant:{default:"text-[var(--primary-foreground)]",destructive:"text-[var(--destructive-foreground)]"},size:{sm:"h-3 w-3",default:"h-3.5 w-3.5",lg:"h-4 w-4"}},defaultVariants:{variant:"default",size:"default"}});function He({className:e,...t}){return jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:jsx("polyline",{points:"20 6 9 17 4 12"})})}function De({className:e,...t}){return jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})})}var P=forwardRef(({isSelected:e,defaultSelected:t,isDisabled:a,isReadOnly:o,isIndeterminate:n,isInvalid:l=false,isRequired:r=false,onChange:i,onFocusChange:s,value:p,name:b,size:u="default",variant:m="default",label:g,description:x,selectedIcon:f,className:y,id:S,"aria-label":v,"aria-labelledby":A,"aria-describedby":C,"data-testid":k,slot:L},_)=>{let c=a||void 0,V=o||void 0,I=n||void 0,O=(d,T)=>{let R=E(Pe({variant:m,size:u})),M=d||void 0,$=T||void 0;if(T)return jsx(De,{className:R,"data-selected":M,"data-indeterminate":$});if(f&&d){if(isValidElement(f)){let ke=f;return cloneElement(ke,{className:E(R,ke.props.className),"data-selected":M})}return jsx("span",{className:R,"data-selected":M,children:f})}return jsx(He,{className:R,"data-selected":M,"data-indeterminate":$})};return jsx(Checkbox,{ref:_,id:S,isSelected:e,defaultSelected:t,isDisabled:c,isReadOnly:V,isIndeterminate:I,isInvalid:l,isRequired:r,onChange:i,onFocusChange:s,value:p,name:b,slot:L,"aria-label":v,"aria-labelledby":A,"aria-describedby":C,"data-testid":k,className:d=>E(Oe({size:u,isDisabled:d.isDisabled}),y),children:d=>jsxs(Fragment,{children:[jsx("div",{className:Be({variant:m,size:u,isInvalid:d.isInvalid}),"data-selected":d.isSelected||void 0,"data-indeterminate":d.isIndeterminate||void 0,children:O(d.isSelected,d.isIndeterminate)}),(g||x)&&jsxs("div",{className:"flex flex-col",children:[g&&jsx("span",{className:"font-medium text-[var(--content-foreground)]",children:g}),x&&jsx("span",{className:"text-sm text-[var(--menu-muted)]",children:x})]})]})})});P.displayName="Checkbox";var be=cva(["relative w-full overflow-auto","rounded-lg border border-[var(--border)] bg-[var(--content-background)]"]),xe=cva(["w-full caption-bottom text-sm","border-collapse"],{variants:{variant:{default:"",bordered:"[&_tr>*+*]:border-l [&_tr>*+*]:border-[var(--border)]"}},defaultVariants:{variant:"default"}}),ve=cva(["[&_tr]:border-b [&_tr]:border-[var(--border)]"],{variants:{sticky:{true:"sticky top-0 z-10 bg-[var(--content-background)]",false:""}},defaultVariants:{sticky:false}}),ge=cva(["border-t border-[var(--border)]","bg-[var(--accent-background)]/50","font-medium","[&>tr]:last:border-b-0"]),ee=cva(["h-12 px-4 text-left align-middle font-semibold","uppercase tracking-wide","bg-[var(--accent-background)] text-[var(--content-foreground)]","[&:has([role=checkbox])]:pr-0","select-none","focus-visible:outline-none focus-visible:ring-2","focus-visible:ring-[var(--ring)] focus-visible:ring-inset"],{variants:{allowsSorting:{true:"cursor-pointer hover:bg-[var(--accent)]/50",false:""},align:{start:"text-start",center:"text-center",end:"text-end"},size:{sm:"h-10 px-3 text-xs",default:"h-12 px-4 text-sm",lg:"h-14 px-5 text-base"}},defaultVariants:{allowsSorting:false,align:"start",size:"default"}}),te=cva(["border-b border-[var(--border)]","transition-colors","focus-visible:outline-none focus-visible:ring-2","focus-visible:ring-[var(--ring)] focus-visible:ring-inset","hover:bg-[var(--accent-background)]/50","data-[disabled]:pointer-events-none data-[disabled]:opacity-50"],{variants:{isSelected:{true:"bg-[var(--selected)] data-[selected]:bg-[var(--selected)]",false:""},zebra:{true:"even:bg-[var(--accent-background)]/30",false:""}},defaultVariants:{isSelected:false,zebra:true}}),ae=cva(["p-4 align-middle","[&:has([role=checkbox])]:pr-0"],{variants:{align:{start:"text-start",center:"text-center",end:"text-end"},size:{sm:"p-3 text-xs",default:"p-4 text-sm",lg:"p-5 text-base"},isRowHeader:{true:"font-medium",false:""}},defaultVariants:{align:"start",size:"default",isRowHeader:false}});var Y=createContext({variant:"default",size:"default",selectionMode:"none",stickyHeader:false,zebra:true}),Ge=forwardRef(({className:e,variant:t="default",size:a="default",stickyHeader:o=false,zebra:n=true,toolbar:l,selectionMode:r="none",selectionBehavior:i="toggle",disallowEmptySelection:s=false,disabledBehavior:p="selection",selectedKeys:b,defaultSelectedKeys:u,onSelectionChange:m,disabledKeys:g,sortDescriptor:x,onSortChange:f,onRowAction:y,children:S,...v},A)=>{process.env.NODE_ENV!=="production"&&a==="sm"&&r!=="none"&&console.warn('[Table] size="sm" with selectionMode produces rows shorter than the 44px WCAG 2.2 AAA minimum touch target. Use size="default" or size="lg" for accessible interactive tables.');let C=useMemo(()=>({variant:t,size:a,selectionMode:r,stickyHeader:o,zebra:n}),[t,a,r,o,n]);return jsx(Y.Provider,{value:C,children:jsxs("div",{className:E(be(),e),"data-testid":"table-container",children:[l,jsx(Table,{ref:A,className:E(xe({variant:t})),selectionMode:r,selectionBehavior:i,disallowEmptySelection:s,disabledBehavior:p,selectedKeys:b,defaultSelectedKeys:u,onSelectionChange:m,disabledKeys:g,sortDescriptor:x,onSortChange:f,onRowAction:y,"data-testid":"table","data-variant":t,"data-size":a,"data-zebra":n,...v,children:S})]})})});Ge.displayName="Table";function zt({className:e,children:t,columns:a,...o},n){let{size:l,selectionMode:r,stickyHeader:i}=useContext(Y),{allowsDragging:s}=useTableOptions();return jsxs(TableHeader,{ref:n,className:E(ve({sticky:i}),e),"data-testid":"table-header",...o,children:[r==="multiple"&&jsx(Column,{className:E(ee({size:l}),"w-12"),children:jsx(P,{slot:"selection","aria-label":"Select all",size:l})}),s&&jsx(Column,{}),a?jsx(Collection,{items:a,children:t}):t]})}var Ue=forwardRef(zt);Ue.displayName="TableHeader";function Gt({className:e,children:t,items:a,renderEmptyState:o,...n},l){return jsx(TableBody,{ref:l,className:E(e),items:a,renderEmptyState:o?()=>jsx("div",{className:"text-center p-8",children:o()}):void 0,"data-testid":"table-body",...n,children:t})}var Fe=forwardRef(Gt);Fe.displayName="TableBody";var je=forwardRef(({className:e,children:t,...a},o)=>jsx("tfoot",{ref:o,className:E(ge(),e),"data-testid":"table-footer",...a,children:t}));je.displayName="TableFooter";var $e=forwardRef(({className:e,children:t,isRowHeader:a=false,allowsSorting:o=false,align:n="start",width:l,minWidth:r,maxWidth:i,...s},p)=>{let{size:b}=useContext(Y);return jsx(Column,{ref:p,isRowHeader:a,allowsSorting:o,width:l,minWidth:r,maxWidth:i,className:E(ee({allowsSorting:o,align:n,size:b}),e),...s,children:({allowsSorting:u,sortDirection:m})=>jsxs("div",{className:"flex items-center gap-1",children:[jsx("span",{children:t}),u&&jsx("span",{"aria-hidden":"true","data-sort-direction":m??"none",className:m?"text-[var(--primary-action)]":"opacity-50",children:m==="ascending"?jsx(ChevronUp,{className:"h-4 w-4"}):m==="descending"?jsx(ChevronDown,{className:"h-4 w-4"}):jsx(ChevronsUpDown,{className:"h-4 w-4"})})]})})});$e.displayName="Column";function Ut({className:e,children:t,columns:a,href:o,isDisabled:n,...l},r){let{size:i,selectionMode:s,zebra:p}=useContext(Y),{allowsDragging:b}=useTableOptions(),u=te({isSelected:true,zebra:p}),m=te({isSelected:false,zebra:p}),g=E(ae({size:i}),"w-12");return jsxs(Row,{ref:r,href:o,isDisabled:n,className:({isSelected:x,isDisabled:f})=>E(x?u:m,f&&"opacity-50",e),"data-testid":"table-row",...l,children:[s==="multiple"&&jsx(Cell,{className:g,children:jsx(P,{slot:"selection","aria-label":"Select row",size:i})}),b&&jsx(Cell,{}),a?jsx(Collection,{items:a,children:t}):t]})}var Ke=forwardRef(Ut);Ke.displayName="Row";var Ye=memo(forwardRef(({className:e,children:t,align:a="start",colSpan:o,...n},l)=>{let{size:r}=useContext(Y);return jsx(Cell,{ref:l,className:E(ae({align:a,size:r}),e),...n,children:t})}));Ye.displayName="Cell";var Ee=cva("inline-flex justify-center min-h-[44px] min-w-[44px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",{variants:{fullWidth:{true:"w-full",false:""},inVerticalGroup:{true:"items-stretch",false:"items-center"}},defaultVariants:{fullWidth:false,inVerticalGroup:false}}),he=cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-normal ring-offset-background motion-safe:transition-transform motion-safe:duration-200 motion-safe:[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)] motion-reduce:transition-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 relative cursor-pointer",{variants:{variant:{default:"bg-[var(--primary-action)] text-[var(--primary-action-foreground)] shadow-md hover:bg-[var(--primary-action-hover)] hover:-translate-y-1",destructive:"bg-[var(--destructive-background)] text-[var(--destructive-foreground)] hover:bg-[var(--destructive-background-hover,var(--destructive-background))] motion-safe:hover:btn-warn-shake",outline:"border border-[var(--input-border)] bg-[var(--page-background)] hover:bg-[var(--input-border)]",secondary:"bg-[var(--secondary)] text-[var(--secondary-foreground)] hover:bg-[var(--secondary-hover,var(--secondary))]",ghost:"hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]",link:"text-[var(--text-link)] underline underline-offset-4 hover:bg-[var(--accent)] hover:text-[var(--text-link-hover)]"},fullWidth:{true:"w-full",false:""},visualSize:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-6 text-base",icon:"h-10 w-10",dot:"h-5 w-5 rounded-full p-0 min-h-0 min-w-0"},paywall:{true:"!bg-[var(--paywall)] !text-[var(--paywall-foreground)] hover:!bg-[var(--paywall)]/90 !cursor-not-allowed !border-transparent",false:""}},defaultVariants:{variant:"default",visualSize:"default",paywall:false}});var Xe=createContext(null);Xe.displayName="ButtonGroupContext";function Qe(){return useContext(Xe)}var Je=createContext(null);Je.displayName="ButtonGroupItemContext";function et(){return useContext(Je)}cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var tt=cva("",{variants:{orientation:{horizontal:"min-w-[44px]",vertical:"flex min-h-[44px]"},position:{first:"",middle:"",last:"",only:""}},compoundVariants:[{orientation:"horizontal",position:"first",className:"rounded-r-none border-r-0"},{orientation:"horizontal",position:"middle",className:"rounded-none border-r-0"},{orientation:"horizontal",position:"last",className:"rounded-l-none"},{orientation:"vertical",position:"first",className:"rounded-b-none border-b-0"},{orientation:"vertical",position:"middle",className:"rounded-none border-b-0"},{orientation:"vertical",position:"last",className:"rounded-t-none"}],defaultVariants:{orientation:"horizontal",position:"only"}});cva("bg-[var(--border)]",{variants:{orientation:{horizontal:"w-px h-6 mx-1",vertical:"h-px w-full my-1"}},defaultVariants:{orientation:"horizontal"}});var U=memo(forwardRef(({className:e,buttonVisualClassName:t,variant:a,size:o,visualSize:n,fullWidth:l,loading:r=false,loadingText:i="Loading...",shortcut:s,children:p,isDisabled:b,paywall:u=false,paywallRedirect:m,paywallDescription:g,onPress:x,...f},y)=>{let S=useId(),v=Qe(),A=et(),C=a??v?.variant??"default",k=o??v?.size,L=b??v?.isDisabled??false,_=v?.orientation==="vertical",c=l||_,V=A?tt({orientation:v?.orientation??"horizontal",position:A.position}):"",I=n??k??"default";return process.env.NODE_ENV!=="production"&&(I==="dot"||I==="icon")&&!f["aria-label"]&&!p&&console.warn('[Button] visualSize="dot" or "icon" requires aria-label when no visible text is provided (WCAG 1.1.1)'),jsx(Button,{ref:y,isDisabled:L||r||void 0,"aria-disabled":u?true:void 0,"aria-describedby":u?S:void 0,onPress:T=>{if(u){m&&window.open(m,"_blank","noopener,noreferrer");return}x?.(T);},className:E(Ee({fullWidth:c,inVerticalGroup:_}),e),...f,children:T=>jsxs("span",{className:E(he({variant:C,visualSize:I,paywall:u,fullWidth:c}),V,t,me,"",Q,J),"data-pressed":T.isPressed||void 0,children:[r&&jsxs(Fragment,{children:[jsx(Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsx("span",{className:"sr-only","aria-live":"polite",children:i})]}),!r&&p,u&&jsx(Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),u&&jsxs("span",{id:S,className:"sr-only",children:["Premium feature: ",g||"Upgrade required to access this feature"]}),T.isFocusVisible&&s&&jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:s})]})})}));U.displayName="Button";var ne=cva(["flex items-center justify-between gap-3 flex-wrap","px-4 py-2.5","bg-[var(--selected)]"],{variants:{sticky:{true:"sticky top-0 z-[6]",false:""},framed:{true:"rounded-lg border border-[var(--border)]",false:"border-b border-[var(--border)]"}},defaultVariants:{sticky:true,framed:false}}),se=cva(["flex items-center gap-3 flex-wrap w-full justify-between"]),ie=cva(["text-sm text-[var(--content-muted)] inline-flex items-center gap-1.5"]),at=cva(["inline-flex items-center justify-center","min-w-[1.5rem] h-6 px-1.5 rounded","border border-[var(--primary)]/40 bg-[var(--content-background)]","font-mono text-xs font-semibold text-[var(--primary-action)]"]),rt=cva(["text-[var(--primary-action)] border-[var(--primary)]/30","hover:bg-[var(--content-background)]"]);function ta(e,t){typeof e=="function"?e(t):e&&(e.current=t);}var ot=forwardRef(({selectedCount:e,actions:t,onAction:a,onClearSelection:o,sticky:n=true,framed:l=false,showJumpHint:r=false,shortcutKey:i="A",labels:s,className:p,"data-testid":b="bulk-action-bar"},u)=>{let m=useRef(null),g=useRef(e),x=useRef([]),[f,y]=useState(0),S=t.length+1,v=Math.min(f,S-1),A=c=>{let V=(c+S)%S;y(V),x.current[V]?.focus();},C=c=>{switch(c.key){case "ArrowRight":case "ArrowDown":c.preventDefault(),A(v+1);break;case "ArrowLeft":case "ArrowUp":c.preventDefault(),A(v-1);break;case "Home":c.preventDefault(),A(0);break;case "End":c.preventDefault(),A(S-1);break;}};useEffect(()=>{let c=g.current;if(g.current=e,c>0&&e===0){let V=document.activeElement;(!V||V===document.body)&&m.current?.focus();}},[e]);let k=e>0,L=r&&!!s.jumpHint,_="";if(k){let c=[s.selectedCount(e)];s.actionsAvailable&&c.push(s.actionsAvailable(t.length)),r&&s.jumpAnnouncement&&c.push(s.jumpAnnouncement),_=c.join(". ");}return jsxs("div",{ref:c=>{m.current=c,ta(u,c);},tabIndex:-1,className:E("outline-none",p),"data-testid":b,children:[jsx("div",{className:"sr-only",role:"status","aria-live":"polite",children:_}),k&&jsx("div",{className:ne({sticky:n,framed:l}),children:jsxs("div",{role:"toolbar","aria-label":s.toolbarLabel(e),"aria-orientation":"horizontal",onKeyDown:C,className:se(),children:[jsxs("div",{className:"flex items-center gap-4 flex-wrap",children:[jsx("span",{className:"text-sm font-bold text-[var(--content-foreground)]",children:s.selectedCount(e)}),jsx(U,{ref:c=>{x.current[0]=c;},variant:"link",excludeFromTabOrder:v!==0,onFocus:()=>y(0),onPress:o,children:s.clear}),L&&s.jumpHint&&jsx("span",{"aria-hidden":"true",className:ie(),children:s.jumpHint(jsx("kbd",{className:at(),children:i}))})]}),jsx("div",{className:"flex items-center gap-2 flex-wrap",children:t.map((c,V)=>{let I=V+1;return jsxs(U,{ref:O=>{x.current[I]=O;},variant:c.tone==="danger"?"destructive":"outline",buttonVisualClassName:c.tone==="danger"?void 0:rt(),isDisabled:c.isDisabled,excludeFromTabOrder:v!==I,onFocus:()=>y(I),onPress:()=>a(c.id),children:[c.icon!=null&&jsx("span",{"aria-hidden":"true",className:"inline-flex",children:c.icon}),c.label]},c.id)})})]})})]})});ot.displayName="BulkActionBar";function aa(e,t){if(e==="all"){let a=0;for(let o of t)a+=1;return a}return e.size}var oa=new Set(["text","search","email","url","tel","number","password"]);function na(e){if(!(e instanceof HTMLElement))return false;if(e.isContentEditable||e.closest('[contenteditable=""],[contenteditable="true"]'))return true;let t=e.tagName;if(t==="TEXTAREA"||t==="SELECT"||t==="INPUT"&&oa.has(e.type))return true;let a=e.getAttribute("role");return a==="textbox"||a==="searchbox"||a==="combobox"}function sa({scopeRef:e,toolbarRef:t,key:a="a",disabled:o=false}){useEffect(()=>{if(o)return;let n=e.current;if(!n)return;let l=r=>{if(r.metaKey||r.ctrlKey||r.altKey||r.key.toLowerCase()!==a.toLowerCase()||na(r.target))return;let i=t.current;if(!i)return;let s=i.querySelector('[tabindex="0"]')??i.querySelector("button:not([disabled])");s&&(r.preventDefault(),s.focus());};return n.addEventListener("keydown",l),()=>n.removeEventListener("keydown",l)},[e,t,a,o]);}var ce={sm:"h-9",default:"h-10",lg:"h-11"},D={sm:`${ce.sm} px-2 text-xs`,default:`${ce.default} px-3 text-sm`,lg:`${ce.lg} px-4 text-base`},Ie="min-h-[44px] flex items-center";var nt=cva(["flex","w-full","items-center","justify-between","gap-2","rounded-md","border","bg-[var(--content-background)]","text-[var(--content-foreground)]","transition-colors","duration-200","outline-none","focus-visible:ring-2","focus-visible:ring-[var(--ring)]","focus-visible:ring-offset-2","hover:bg-[var(--accent)]/10","disabled:cursor-not-allowed","disabled:opacity-50","data-[loading=true]:cursor-wait","truncate"],{variants:{size:{sm:`${D.sm} pr-1`,default:`${D.default} pr-1.5`,lg:`${D.lg} pr-2`},isInvalid:{true:"border-[var(--destructive-background)]",false:"border-[var(--input-border)] hover:border-[var(--input-border)]/80"}},defaultVariants:{size:"default",isInvalid:false}}),st=cva(["relative","flex","w-full","cursor-pointer","select-none","items-center","rounded-sm","outline-none","transition-colors","pl-8","pr-2","hover:bg-[var(--accent)]","hover:text-[var(--accent-foreground)]","focus:bg-[var(--accent)]","focus:text-[var(--accent-foreground)]","data-[selected=true]:bg-[var(--accent)]","data-[selected=true]:text-[var(--accent-foreground)]","data-[disabled=true]:pointer-events-none","data-[disabled=true]:opacity-50","data-[disabled=true]:text-[var(--menu-muted)]"],{variants:{size:{sm:`${D.sm} py-1`,default:`${D.default} py-2`,lg:`${D.lg} py-3`}},defaultVariants:{size:"default"}}),it=cva(["z-50","w-[--trigger-width]","rounded-md","border","border-[var(--menu-border)]","bg-[var(--menu-background)]","text-[var(--menu-foreground)]","outline-none","overflow-auto","data-[entering]:animate-in","data-[entering]:fade-in-0","data-[entering]:zoom-in-95","data-[exiting]:animate-out","data-[exiting]:fade-out-0","data-[exiting]:zoom-out-95"],{variants:{size:{sm:"max-h-[200px] p-1",default:"max-h-[300px] p-1",lg:"max-h-[400px] p-1"}},defaultVariants:{size:"default"}}),lt=cva(["px-2","py-1.5","text-xs","font-semibold","text-[var(--menu-muted)]","uppercase","tracking-wider"],{variants:{size:{sm:"px-2 py-1 text-[10px]",default:"px-2 py-1 text-xs",lg:"px-2 py-1.5 text-xs"}},defaultVariants:{size:"default"}}),ct=cva(["flex","items-center","gap-1.5","text-sm","font-medium","text-[var(--destructive-background)]","mt-1"],{variants:{size:{sm:"text-xs mt-1",default:"text-sm mt-1",lg:"text-base mt-1"}},defaultVariants:{size:"default"}});var ya=Array.from({length:3}).map((e,t)=>jsx("div",{className:"h-11 px-4 py-2",children:jsx("div",{className:"h-4 bg-[var(--accent-background)] rounded animate-pulse"})},`skeleton-${t}`));function mt({ariaSelectProps:e,triggerContent:t,triggerRef:a,label:o,description:n,isRequired:l,isDisabled:r,isLoading:i,errorMessage:s,size:p,emptyStateMessage:b,childCount:u,children:m}){let g=useId(),x=useId(),f=useId(),y=!!s;return jsxs(Select,{...e,isInvalid:y,children:[jsxs(Label,{id:g,className:"text-sm font-medium text-[var(--content-foreground)]",children:[o,l&&jsx("span",{className:"text-[var(--destructive-background)] ml-1",children:"*"})]}),n&&jsx(Text,{id:x,slot:"description",className:"text-sm text-[var(--menu-muted)] mt-1",children:n}),jsx("div",{className:Ie,children:jsxs(Button,{ref:a,className:nt({size:p,isInvalid:y}),"aria-labelledby":g,"aria-describedby":n?x:s?f:void 0,"data-loading":i,...l&&{"aria-required":"true"},...i&&{"aria-busy":"true"},...(r||i)&&{"aria-disabled":"true"},children:[t,i?jsx(Loader2,{className:"ml-auto h-4 w-4 shrink-0 animate-spin text-[var(--menu-muted)]","aria-hidden":"true"}):jsx(ChevronDown,{className:"ml-auto h-4 w-4 shrink-0 text-[var(--menu-muted)]","aria-hidden":"true"})]})}),jsx(FieldError,{id:f,className:ct({size:p}),children:({validationErrors:S})=>{let v=s||S.join(" ");return v?jsx(Fragment,{children:v}):null}}),jsx(Popover,{className:it({size:p}),children:jsxs(ListBox,{className:"outline-none",children:[i&&u>0&&ya,!i&&jsxs(Fragment,{children:[m,u===0&&jsx(ListBoxItem,{id:"__empty__",textValue:"empty",isDisabled:true,className:"py-6 text-center text-sm text-[var(--menu-muted)] cursor-default pointer-events-none",children:jsx("span",{role:"status",children:b||"No options available"})})]})]})})]})}var ft=forwardRef(({label:e,placeholder:t,description:a,value:o,defaultValue:n,isOpen:l,isDisabled:r=false,isRequired:i=false,disabledKeys:s,validate:p,validationBehavior:b="aria",errorMessage:u,isLoading:m=false,emptyStateMessage:g,name:x,size:f="default",onChange:y,onOpenChange:S,className:v,children:A,...C},k)=>{let L=Children.count(A);return L>1e3&&console.warn("Select has >1000 items. Consider using Autocomplete component for better performance."),jsx(mt,{ariaSelectProps:{value:o,defaultValue:n,onChange:_=>{y&&y(_);},placeholder:t,disabledKeys:s,isOpen:l,onOpenChange:S,isDisabled:r||m,isRequired:i,name:x,validate:p,validationBehavior:b,className:v,...C},triggerContent:jsx(SelectValue,{className:"flex-1 text-left truncate"}),triggerRef:k,label:e,description:a,isRequired:i,isDisabled:r,isLoading:m,errorMessage:u,size:f,emptyStateMessage:g,childCount:L,children:A})});ft.displayName="Select";var bt=forwardRef(({label:e,placeholder:t,description:a,value:o,defaultValue:n,selectionMode:l="multiple",isOpen:r,isDisabled:i=false,isRequired:s=false,disabledKeys:p,validate:b,validationBehavior:u="aria",errorMessage:m,isLoading:g=false,emptyStateMessage:x,name:f,size:y="default",onChange:S,onOpenChange:v,className:A,children:C,...k},L)=>{let _=Children.count(C);_>1e3&&console.warn("Select has >1000 items. Consider using Autocomplete component for better performance.");let c=useMemo(()=>{let I=new Map,O=d=>{Children.forEach(d,T=>{if(isValidElement(T)){let R=T;if(R.type===de||R.props?.value){let M=R.props.value,$=R.props.children;M&&typeof $=="string"&&I.set(M,$);}R.props?.children&&O(R.props.children);}});};return O(C),I},[C]),V=useMemo(()=>!o||!Array.isArray(o)||o.length===0?t||"":o.length<=2?o.map(O=>c.get(O)||O).join(", "):`${o.length} items selected`,[o,c,t]);return jsx(mt,{ariaSelectProps:{value:o,defaultValue:n,onChange:I=>{S&&S(I);},selectionMode:"multiple",disabledKeys:p,isOpen:r,onOpenChange:v,isDisabled:i||g,isRequired:s,name:f,validate:b,validationBehavior:u,className:A,...k},triggerContent:jsx("span",{className:"flex-1 text-left truncate",children:V}),triggerRef:L,label:e,description:a,isRequired:s,isDisabled:i,isLoading:g,errorMessage:m,size:y,emptyStateMessage:x,childCount:_,children:C})});bt.displayName="MultiSelect";var de=memo(function({children:t,textValue:a,value:o,isDisabled:n=false,className:l,...r}){if(!a&&typeof t!="string"){let i="Select.Item with custom children requires textValue prop for accessibility";if(process.env.NODE_ENV==="development")throw new Error(i);console.warn(i);}return jsx(ListBoxItem,{id:o,textValue:a||(typeof t=="string"?t:void 0),className:`${st({size:"default"})} ${l||""}`,isDisabled:n,...r,children:({isSelected:i,selectionMode:s,isDisabled:p})=>jsxs(Fragment,{children:[s==="multiple"?jsx(CheckSquare,{className:`absolute left-2 h-4 w-4 ${i?"visible":"invisible"}`,"aria-hidden":"true"}):i&&jsx(Check,{className:"absolute left-2 h-4 w-4","aria-hidden":"true"}),jsx("span",{className:p?"text-[var(--menu-muted)]":"",children:t})]})})});de.displayName="SelectItem";function Re({children:e,className:t,...a}){return jsx(ListBoxSection,{className:`border-t border-[var(--border)] first:border-t-0 ${t||""}`,...a,children:e})}Re.displayName="SelectSection";function we({children:e,className:t,...a}){return jsx(Header,{className:`${lt({size:"default"})} ${t||""}`,...a,children:e})}we.displayName="SelectHeader";var ue=Object.assign(ft,{Item:de,Section:Re,Header:we});Object.assign(bt,{Item:de,Section:Re,Header:we});var xt=cva(["flex flex-col gap-3"]),vt=cva(["flex items-center justify-between gap-3 flex-wrap px-0.5"]),gt=cva(["flex flex-col gap-2.5 list-none m-0 p-0"]),St=cva(["flex items-start gap-2.5 p-3.5","rounded-lg border border-[var(--border)] bg-[var(--content-background)]","motion-safe:transition-colors"],{variants:{isSelected:{true:"bg-[var(--selected)] border-[var(--primary)]/40",false:""}},defaultVariants:{isSelected:false}}),Tt=cva(["flex items-center justify-center min-w-[44px] min-h-[44px] -m-1 flex-none"]),Et=cva(["flex-1 min-w-0"]);function ht({items:e,getRowId:t,renderCard:a,selectionMode:o="none",selectedKeys:n=new Set,onSelectionChange:l,sortDescriptor:r,onSortChange:i,sortColumns:s=[],renderEmptyState:p,labels:b,"aria-label":u,className:m,"data-testid":g="table-card-list"}){let x=o==="multiple",f=e.map(t),y=d=>n==="all"||n.has(d),S=f.length>0&&f.every(y),v=f.some(y)&&!S,A=()=>n==="all"?new Set(f):new Set(n),C=()=>{l?.(S?new Set:new Set(f));},k=d=>{let T=A();T.has(d)?T.delete(d):T.add(d),l?.(T);},L=r?.column!=null?String(r.column):void 0,_=r?.direction??"ascending",c=d=>{let T=Array.isArray(d)?d[0]:d;T&&i?.({column:T,direction:r?.direction??"ascending"});},V=()=>{r?.column!=null&&i?.({column:r.column,direction:_==="ascending"?"descending":"ascending"});},I=x||s.length>0,O=e.length===0;return jsxs("div",{role:"region","aria-label":u,className:E(xt(),m),"data-testid":g,children:[jsx("p",{className:"sr-only",role:"status","aria-live":"polite",children:b.results(e.length)}),I&&jsxs("div",{className:vt(),children:[x?jsx(P,{label:b.selectAll,isSelected:S,isIndeterminate:v,onChange:C}):jsx("span",{}),s.length>0&&jsxs("div",{className:"flex items-end gap-2",children:[jsx(ue,{label:b.sort,placeholder:b.sortPlaceholder,value:L,onChange:c,children:s.map(d=>jsx(ue.Item,{value:d.id,children:d.label},d.id))}),jsx(U,{variant:"ghost",visualSize:"icon",isDisabled:r?.column==null,"aria-label":b.sortDirection(_),onPress:V,children:_==="ascending"?jsx(ArrowUp,{"aria-hidden":"true"}):jsx(ArrowDown,{"aria-hidden":"true"})})]})]}),O?p?jsx("div",{className:"rounded-lg border border-dashed border-[var(--border)] p-8 text-center","data-testid":"card-empty-state",children:p()}):null:jsx("ul",{className:gt(),children:e.map(d=>{let T=t(d),R=y(T);return jsxs("li",{className:St({isSelected:R}),children:[x&&jsx("div",{className:Tt(),children:jsx(P,{"aria-label":b.selectItem(d),isSelected:R,onChange:()=>k(T)})}),jsx("div",{className:Et(),children:a(d)})]},String(T))})})]})}ht.displayName="TableCardList";function Va(e,t){let[a,o]=useState(false);return useEffect(()=>{let n=e.current;if(!n)return;let l=()=>o(n.offsetWidth<t);l();let r;return typeof ResizeObserver<"u"&&(r=new ResizeObserver(l),r.observe(n)),window.addEventListener("resize",l),()=>{window.removeEventListener("resize",l),r?.disconnect();}},[e,t]),a}export{ot as BulkActionBar,Ye as Cell,$e as Column,Ke as Row,Ge as Table,Fe as TableBody,ht as TableCardList,je as TableFooter,Ue as TableHeader,ne as bulkActionBarVariants,ie as bulkActionHintVariants,se as bulkActionToolbarVariants,ae as cellVariants,ee as columnVariants,aa as resolveSelectedCount,te as rowVariants,be as tableContainerVariants,ge as tableFooterVariants,ve as tableHeaderVariants,xe as tableVariants,sa as useBulkActionShortcut,Va as useContainerNarrow};//# sourceMappingURL=index.mjs.map
2
+ import {forwardRef,createContext,useMemo,useContext,memo,useId,useRef,useState,useEffect,Children,isValidElement,cloneElement}from'react';import {Checkbox,Table,Column,Cell,Button,SelectValue,ListBoxItem,useTableOptions,TableHeader,Collection,TableBody,Row,Select,Label,Text,FieldError,Popover,ListBox,Header,ListBoxSection}from'react-aria-components';import {cva}from'class-variance-authority';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {ChevronUp,ChevronDown,ChevronsUpDown,Loader2,Zap,CheckSquare,Check,ArrowUp,ArrowDown}from'lucide-react';function E(...t){return twMerge(clsx(t))}var X="data-[focus-visible]:ring-2 data-[focus-visible]:ring-[var(--themis-ring)] data-[focus-visible]:ring-offset-2",me="data-[pressed]:scale-[0.97]";var K="hc:data-[focus-visible]:outline hc:data-[focus-visible]:outline-4 hc:data-[focus-visible]:outline-offset-2 hc:data-[focus-visible]:outline-foreground",Q="hc:data-[hovered]:outline hc:data-[hovered]:outline-2 hc:data-[hovered]:outline-foreground",J="hc:data-[pressed]:outline hc:data-[pressed]:outline-2 hc:data-[pressed]:outline-offset-1 hc:data-[pressed]:outline-foreground";var Le=cva(["group inline-flex items-center gap-2 cursor-pointer","transition-colors duration-200","rtl:flex-row-reverse",X,K].join(" "),{variants:{size:{sm:"min-h-[44px] text-sm",default:"min-h-[44px] text-sm",lg:"min-h-[48px] text-base"},isDisabled:{true:"opacity-50 cursor-not-allowed",false:""}},defaultVariants:{size:"default",isDisabled:false}}),Be=cva("flex-shrink-0 rounded-sm border-2 bg-[var(--content-background)] flex items-center justify-center transition-colors duration-200 motion-safe:data-[selected]:selection-pulse",{variants:{variant:{default:["border-[var(--border)]","data-[selected]:border-[var(--primary)]","data-[selected]:bg-[var(--primary)]","data-[indeterminate]:border-[var(--primary)]","data-[indeterminate]:bg-[var(--primary)]"].join(" "),destructive:["border-[var(--border)]","data-[selected]:border-[var(--destructive-background)]","data-[selected]:bg-[var(--destructive-background)]","data-[indeterminate]:border-[var(--destructive-background)]","data-[indeterminate]:bg-[var(--destructive-background)]"].join(" ")},size:{sm:"h-4 w-4",default:"h-5 w-5",lg:"h-6 w-6"},isInvalid:{true:"border-[var(--destructive-background)]",false:""}},defaultVariants:{variant:"default",size:"default",isInvalid:false}}),Pe=cva(["transition-transform duration-200","[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)]","motion-reduce:transition-none","scale-0 data-[selected]:scale-100 data-[indeterminate]:scale-100"].join(" "),{variants:{variant:{default:"text-[var(--primary-foreground)]",destructive:"text-[var(--destructive-foreground)]"},size:{sm:"h-3 w-3",default:"h-3.5 w-3.5",lg:"h-4 w-4"}},defaultVariants:{variant:"default",size:"default"}});function He({className:t,...e}){return jsx("svg",{className:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:jsx("polyline",{points:"20 6 9 17 4 12"})})}function De({className:t,...e}){return jsx("svg",{className:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...e,children:jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})})}var P=forwardRef(({isSelected:t,defaultSelected:e,isDisabled:a,isReadOnly:o,isIndeterminate:n,isInvalid:i=false,isRequired:r=false,onChange:l,onFocusChange:s,value:p,name:b,size:u="default",variant:m="default",label:v,description:x,selectedIcon:f,className:y,id:S,"aria-label":g,"aria-labelledby":A,"aria-describedby":C,"data-testid":k,slot:O},_)=>{let c=a||void 0,V=o||void 0,I=n||void 0,L=(d,T)=>{let R=E(Pe({variant:m,size:u})),M=d||void 0,$=T||void 0;if(T)return jsx(De,{className:R,"data-selected":M,"data-indeterminate":$});if(f&&d){if(isValidElement(f)){let ke=f;return cloneElement(ke,{className:E(R,ke.props.className),"data-selected":M})}return jsx("span",{className:R,"data-selected":M,children:f})}return jsx(He,{className:R,"data-selected":M,"data-indeterminate":$})};return jsx(Checkbox,{ref:_,id:S,isSelected:t,defaultSelected:e,isDisabled:c,isReadOnly:V,isIndeterminate:I,isInvalid:i,isRequired:r,onChange:l,onFocusChange:s,value:p,name:b,slot:O,"aria-label":g,"aria-labelledby":A,"aria-describedby":C,"data-testid":k,className:d=>E(Le({size:u,isDisabled:d.isDisabled}),y),children:d=>jsxs(Fragment,{children:[jsx("div",{className:Be({variant:m,size:u,isInvalid:d.isInvalid}),"data-selected":d.isSelected||void 0,"data-indeterminate":d.isIndeterminate||void 0,children:L(d.isSelected,d.isIndeterminate)}),(v||x)&&jsxs("div",{className:"flex flex-col",children:[v&&jsx("span",{className:"font-medium text-[var(--content-foreground)]",children:v}),x&&jsx("span",{className:"text-sm text-[var(--menu-muted)]",children:x})]})]})})});P.displayName="Checkbox";var be=cva(["relative w-full overflow-auto","rounded-lg border border-[var(--border)] bg-[var(--content-background)]"]),xe=cva(["w-full caption-bottom text-sm","border-collapse"],{variants:{variant:{default:"",bordered:"[&_tr>*+*]:border-l [&_tr>*+*]:border-[var(--border)]"}},defaultVariants:{variant:"default"}}),ge=cva(["[&_tr]:border-b [&_tr]:border-[var(--border)]"],{variants:{sticky:{true:"sticky top-0 z-10 bg-[var(--content-background)]",false:""}},defaultVariants:{sticky:false}}),ve=cva(["border-t border-[var(--border)]","bg-[var(--accent-background)]/50","font-medium","[&>tr]:last:border-b-0"]),ee=cva(["h-12 px-4 text-left align-middle font-semibold","uppercase tracking-wide","bg-[var(--accent-background)] text-[var(--content-foreground)]","[&:has([role=checkbox])]:pr-0","select-none","focus-visible:outline-none focus-visible:ring-2","focus-visible:ring-[var(--ring)] focus-visible:ring-inset"],{variants:{allowsSorting:{true:"cursor-pointer hover:bg-[var(--accent)]/50",false:""},align:{start:"text-start",center:"text-center",end:"text-end"},size:{sm:"h-10 px-3 text-xs",default:"h-12 px-4 text-sm",lg:"h-14 px-5 text-base"}},defaultVariants:{allowsSorting:false,align:"start",size:"default"}}),te=cva(["border-b border-[var(--border)]","transition-colors","focus-visible:outline-none focus-visible:ring-2","focus-visible:ring-[var(--ring)] focus-visible:ring-inset","hover:bg-[var(--accent-background)]/50","data-[disabled]:pointer-events-none data-[disabled]:opacity-50"],{variants:{isSelected:{true:"bg-[var(--selected)] data-[selected]:bg-[var(--selected)]",false:""},zebra:{true:"even:bg-[var(--accent-background)]/30",false:""}},defaultVariants:{isSelected:false,zebra:true}}),ae=cva(["p-4 align-middle","[&:has([role=checkbox])]:pr-0"],{variants:{align:{start:"text-start",center:"text-center",end:"text-end"},size:{sm:"p-3 text-xs",default:"p-4 text-sm",lg:"p-5 text-base"},isRowHeader:{true:"font-medium",false:""}},defaultVariants:{align:"start",size:"default",isRowHeader:false}});var Y=createContext({variant:"default",size:"default",selectionMode:"none",stickyHeader:false,zebra:true}),Ge=forwardRef(({className:t,variant:e="default",size:a="default",stickyHeader:o=false,zebra:n=true,toolbar:i,selectionMode:r="none",selectionBehavior:l="toggle",disallowEmptySelection:s=false,disabledBehavior:p="selection",selectedKeys:b,defaultSelectedKeys:u,onSelectionChange:m,disabledKeys:v,sortDescriptor:x,onSortChange:f,onRowAction:y,children:S,...g},A)=>{process.env.NODE_ENV!=="production"&&a==="sm"&&r!=="none"&&console.warn('[Table] size="sm" with selectionMode produces rows shorter than the 44px WCAG 2.2 AAA minimum touch target. Use size="default" or size="lg" for accessible interactive tables.');let C=useMemo(()=>({variant:e,size:a,selectionMode:r,stickyHeader:o,zebra:n}),[e,a,r,o,n]);return jsx(Y.Provider,{value:C,children:jsxs("div",{className:E(be(),t),"data-testid":"table-container",children:[i,jsx(Table,{ref:A,className:E(xe({variant:e})),selectionMode:r,selectionBehavior:l,disallowEmptySelection:s,disabledBehavior:p,selectedKeys:b,defaultSelectedKeys:u,onSelectionChange:m,disabledKeys:v,sortDescriptor:x,onSortChange:f,onRowAction:y,"data-testid":"table","data-variant":e,"data-size":a,"data-zebra":n,...g,children:S})]})})});Ge.displayName="Table";function Gt({className:t,children:e,columns:a,...o},n){let{size:i,selectionMode:r,stickyHeader:l}=useContext(Y),{allowsDragging:s}=useTableOptions();return jsxs(TableHeader,{ref:n,className:E(ge({sticky:l}),t),"data-testid":"table-header",...o,children:[r==="multiple"&&jsx(Column,{className:E(ee({size:i}),"w-12"),children:jsx(P,{slot:"selection","aria-label":"Select all",size:i})}),s&&jsx(Column,{}),a?jsx(Collection,{items:a,children:e}):e]})}var Ue=forwardRef(Gt);Ue.displayName="TableHeader";function Ut({className:t,children:e,items:a,renderEmptyState:o,...n},i){return jsx(TableBody,{ref:i,className:E(t),items:a,renderEmptyState:o?()=>jsx("div",{className:"text-center p-8",children:o()}):void 0,"data-testid":"table-body",...n,children:e})}var Fe=forwardRef(Ut);Fe.displayName="TableBody";var je=forwardRef(({className:t,children:e,...a},o)=>jsx("tfoot",{ref:o,className:E(ve(),t),"data-testid":"table-footer",...a,children:e}));je.displayName="TableFooter";var $e=forwardRef(({className:t,children:e,isRowHeader:a=false,allowsSorting:o=false,align:n="start",width:i,minWidth:r,maxWidth:l,...s},p)=>{let{size:b}=useContext(Y);return jsx(Column,{ref:p,isRowHeader:a,allowsSorting:o,width:i,minWidth:r,maxWidth:l,className:E(ee({allowsSorting:o,align:n,size:b}),t),...s,children:({allowsSorting:u,sortDirection:m})=>jsxs("div",{className:"flex items-center gap-1",children:[jsx("span",{children:e}),u&&jsx("span",{"aria-hidden":"true","data-sort-direction":m??"none",className:m?"text-[var(--primary-action)]":"opacity-50",children:m==="ascending"?jsx(ChevronUp,{className:"h-4 w-4"}):m==="descending"?jsx(ChevronDown,{className:"h-4 w-4"}):jsx(ChevronsUpDown,{className:"h-4 w-4"})})]})})});$e.displayName="Column";function Ft({className:t,children:e,columns:a,href:o,isDisabled:n,...i},r){let{size:l,selectionMode:s,zebra:p}=useContext(Y),{allowsDragging:b}=useTableOptions(),u=te({isSelected:true,zebra:p}),m=te({isSelected:false,zebra:p}),v=E(ae({size:l}),"w-12");return jsxs(Row,{ref:r,href:o,isDisabled:n,className:({isSelected:x,isDisabled:f})=>E(x?u:m,f&&"opacity-50",t),"data-testid":"table-row",...i,children:[s==="multiple"&&jsx(Cell,{className:v,children:jsx(P,{slot:"selection","aria-label":"Select row",size:l})}),b&&jsx(Cell,{}),a?jsx(Collection,{items:a,children:e}):e]})}var Ke=forwardRef(Ft);Ke.displayName="Row";var Ye=memo(forwardRef(({className:t,children:e,align:a="start",colSpan:o,...n},i)=>{let{size:r}=useContext(Y);return jsx(Cell,{ref:i,className:E(ae({align:a,size:r}),t),...n,children:e})}));Ye.displayName="Cell";var Ee=cva("inline-flex justify-center min-h-[44px] min-w-[44px] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)] focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",{variants:{fullWidth:{true:"w-full",false:""},inVerticalGroup:{true:"items-stretch",false:"items-center"}},defaultVariants:{fullWidth:false,inVerticalGroup:false}}),he=cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-normal ring-offset-background motion-safe:transition-transform motion-safe:duration-200 motion-safe:[transition-timing-function:cubic-bezier(0.34,1.56,0.64,1)] motion-reduce:transition-none [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 relative cursor-pointer",{variants:{variant:{default:"bg-[var(--primary-action)] text-[var(--primary-action-foreground)] shadow-md hover:bg-[var(--primary-action-hover)] hover:-translate-y-1",destructive:"bg-[var(--destructive-background)] text-[var(--destructive-foreground)] hover:bg-[var(--destructive-background-hover,var(--destructive-background))] motion-safe:hover:btn-warn-shake",outline:"border border-[var(--input-border)] bg-[var(--page-background)] hover:bg-[var(--input-border)]",secondary:"bg-[var(--secondary)] text-[var(--secondary-foreground)] hover:bg-[var(--secondary-hover,var(--secondary))]",ghost:"hover:bg-[var(--accent)] hover:text-[var(--accent-foreground)]",link:"text-[var(--text-link)] underline underline-offset-4 hover:bg-[var(--accent)] hover:text-[var(--text-link-hover)]"},fullWidth:{true:"w-full",false:""},visualSize:{default:"h-10 px-4 py-2",sm:"h-9 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-6 text-base",icon:"h-10 w-10",dot:"h-5 w-5 rounded-full p-0 min-h-0 min-w-0"},paywall:{true:"!bg-[var(--paywall)] !text-[var(--paywall-foreground)] hover:!bg-[var(--paywall)]/90 !cursor-not-allowed !border-transparent",false:""}},defaultVariants:{variant:"default",visualSize:"default",paywall:false}});var Xe=createContext(null);Xe.displayName="ButtonGroupContext";function Qe(){return useContext(Xe)}var Je=createContext(null);Je.displayName="ButtonGroupItemContext";function et(){return useContext(Je)}cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var tt=cva("",{variants:{orientation:{horizontal:"min-w-[44px]",vertical:"flex min-h-[44px]"},position:{first:"",middle:"",last:"",only:""}},compoundVariants:[{orientation:"horizontal",position:"first",className:"rounded-r-none border-r-0"},{orientation:"horizontal",position:"middle",className:"rounded-none border-r-0"},{orientation:"horizontal",position:"last",className:"rounded-l-none"},{orientation:"vertical",position:"first",className:"rounded-b-none border-b-0"},{orientation:"vertical",position:"middle",className:"rounded-none border-b-0"},{orientation:"vertical",position:"last",className:"rounded-t-none"}],defaultVariants:{orientation:"horizontal",position:"only"}});cva("bg-[var(--border)]",{variants:{orientation:{horizontal:"w-px h-6 mx-1",vertical:"h-px w-full my-1"}},defaultVariants:{orientation:"horizontal"}});var U=memo(forwardRef(({className:t,buttonVisualClassName:e,variant:a,size:o,visualSize:n,fullWidth:i,loading:r=false,loadingText:l="Loading...",shortcut:s,children:p,isDisabled:b,paywall:u=false,paywallRedirect:m,paywallDescription:v,onPress:x,...f},y)=>{let S=useId(),g=Qe(),A=et(),C=a??g?.variant??"default",k=o??g?.size,O=b??g?.isDisabled??false,_=g?.orientation==="vertical",c=i||_,V=A?tt({orientation:g?.orientation??"horizontal",position:A.position}):"",I=n??k??"default";return process.env.NODE_ENV!=="production"&&(I==="dot"||I==="icon")&&!f["aria-label"]&&!p&&console.warn('[Button] visualSize="dot" or "icon" requires aria-label when no visible text is provided (WCAG 1.1.1)'),jsx(Button,{ref:y,isDisabled:O||r||void 0,"aria-disabled":u?true:void 0,"aria-describedby":u?S:void 0,onPress:T=>{if(u){m&&window.open(m,"_blank","noopener,noreferrer");return}x?.(T);},className:E(Ee({fullWidth:c,inVerticalGroup:_}),t),...f,children:T=>jsxs("span",{className:E(he({variant:C,visualSize:I,paywall:u,fullWidth:c}),V,e,me,"",Q,J),"data-pressed":T.isPressed||void 0,children:[r&&jsxs(Fragment,{children:[jsx(Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsx("span",{className:"sr-only","aria-live":"polite",children:l})]}),!r&&p,u&&jsx(Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),u&&jsxs("span",{id:S,className:"sr-only",children:["Premium feature: ",v||"Upgrade required to access this feature"]}),T.isFocusVisible&&s&&jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:s})]})})}));U.displayName="Button";var ne=cva(["flex items-center justify-between gap-3 flex-wrap","px-4 py-2.5","bg-[var(--selected)]"],{variants:{sticky:{true:"sticky top-0 z-[6]",false:""},framed:{true:"rounded-lg border border-[var(--border)]",false:"border-b border-[var(--border)]"}},defaultVariants:{sticky:true,framed:false}}),se=cva(["flex items-center gap-3 flex-wrap w-full justify-between"]),ie=cva(["text-sm text-[var(--content-muted)] inline-flex items-center gap-1.5"]),at=cva(["inline-flex items-center justify-center","min-w-[1.5rem] h-6 px-1.5 rounded","border border-[var(--primary)]/40 bg-[var(--content-background)]","font-mono text-xs font-semibold text-[var(--primary-action)]"]),rt=cva(["text-[var(--primary-action)] border-[var(--primary)]/30","hover:bg-[var(--content-background)]"]);function aa(t,e){typeof t=="function"?t(e):t&&(t.current=e);}var ot=forwardRef(({selectedCount:t,actions:e,onAction:a,onClearSelection:o,sticky:n=true,framed:i=false,showJumpHint:r=false,shortcutKey:l="A",labels:s,className:p,"data-testid":b="bulk-action-bar"},u)=>{let m=useRef(null),v=useRef(t),x=useRef([]),[f,y]=useState(0),S=e.length+1,g=Math.min(f,S-1),A=c=>{let V=(c+S)%S;y(V),x.current[V]?.focus();},C=c=>{switch(c.key){case "ArrowRight":case "ArrowDown":c.preventDefault(),A(g+1);break;case "ArrowLeft":case "ArrowUp":c.preventDefault(),A(g-1);break;case "Home":c.preventDefault(),A(0);break;case "End":c.preventDefault(),A(S-1);break;}};useEffect(()=>{let c=v.current;if(v.current=t,c>0&&t===0){let V=document.activeElement;(!V||V===document.body)&&m.current?.focus();}},[t]);let k=t>0,O=r&&!!s.jumpHint,_="";if(k){let c=[s.selectedCount(t)];s.actionsAvailable&&c.push(s.actionsAvailable(e.length)),r&&s.jumpAnnouncement&&c.push(s.jumpAnnouncement),_=c.join(". ");}return jsxs("div",{ref:c=>{m.current=c,aa(u,c);},tabIndex:-1,className:E("outline-none",p),"data-testid":b,children:[jsx("div",{className:"sr-only",role:"status","aria-live":"polite",children:_}),k&&jsx("div",{className:ne({sticky:n,framed:i}),children:jsxs("div",{role:"toolbar","aria-label":s.toolbarLabel(t),"aria-orientation":"horizontal",onKeyDown:C,className:se(),children:[jsxs("div",{className:"flex items-center gap-4 flex-wrap",children:[jsx("span",{className:"text-sm font-bold text-[var(--content-foreground)]",children:s.selectedCount(t)}),jsx(U,{ref:c=>{x.current[0]=c;},variant:"link",excludeFromTabOrder:g!==0,onFocus:()=>y(0),onPress:o,children:s.clear}),O&&s.jumpHint&&jsx("span",{"aria-hidden":"true",className:ie(),children:s.jumpHint(jsx("kbd",{className:at(),children:l}))})]}),jsx("div",{className:"flex items-center gap-2 flex-wrap",children:e.map((c,V)=>{let I=V+1;return jsxs(U,{ref:L=>{x.current[I]=L;},variant:c.tone==="danger"?"destructive":"outline",buttonVisualClassName:c.tone==="danger"?void 0:rt(),isDisabled:c.isDisabled,excludeFromTabOrder:g!==I,onFocus:()=>y(I),onPress:()=>a(c.id),children:[c.icon!=null&&jsx("span",{"aria-hidden":"true",className:"inline-flex",children:c.icon}),c.label]},c.id)})})]})})]})});ot.displayName="BulkActionBar";function ra(t,e){if(t==="all"){let a=0;for(let o of e)a+=1;return a}return t.size}var na=new Set(["text","search","email","url","tel","number","password"]);function sa(t){if(!(t instanceof HTMLElement))return false;if(t.isContentEditable||t.closest('[contenteditable=""],[contenteditable="true"]'))return true;let e=t.tagName;if(e==="TEXTAREA"||e==="SELECT"||e==="INPUT"&&na.has(t.type))return true;let a=t.getAttribute("role");return a==="textbox"||a==="searchbox"||a==="combobox"}function ia({scopeRef:t,toolbarRef:e,key:a="a",disabled:o=false}){useEffect(()=>{if(o)return;let n=t.current;if(!n)return;let i=r=>{if(r.metaKey||r.ctrlKey||r.altKey||r.key.toLowerCase()!==a.toLowerCase()||sa(r.target))return;let l=e.current;if(!l)return;let s=l.querySelector('[tabindex="0"]')??l.querySelector("button:not([disabled])");s&&(r.preventDefault(),s.focus());};return n.addEventListener("keydown",i),()=>n.removeEventListener("keydown",i)},[t,e,a,o]);}var ce={sm:"h-9",default:"h-10",lg:"h-11"},D={sm:`${ce.sm} px-2 text-xs`,default:`${ce.default} px-3 text-sm`,lg:`${ce.lg} px-4 text-base`},Ie="min-h-[44px] flex items-center";function la(t){if(!(t instanceof Element))return false;let e=t;for(let n=0;e&&n<100;n++){let i=e.tagName?.toLowerCase()??"";if(i.startsWith("grammarly-")||i.startsWith("lt-")||e.hasAttribute("data-grammarly-shadow-root"))return true;if(e.parentElement)e=e.parentElement;else {let r=e.getRootNode();e=r instanceof ShadowRoot?r.host:null;}}let a=t;for(;a&&!a.tagName.includes("-");)a=a.parentElement;if(!a)return false;let o=a.parentElement;return o===document.body||o===document.documentElement}function nt(t){return e=>!la(e)&&(t?.(e)??true)}var st=cva(["flex","w-full","items-center","justify-between","gap-2","rounded-md","border","bg-[var(--content-background)]","text-[var(--content-foreground)]","transition-colors","duration-200","outline-none","focus-visible:ring-2","focus-visible:ring-[var(--ring)]","focus-visible:ring-offset-2","hover:bg-[var(--accent)]/10","disabled:cursor-not-allowed","disabled:opacity-50","data-[loading=true]:cursor-wait","truncate"],{variants:{size:{sm:`${D.sm} pr-1`,default:`${D.default} pr-1.5`,lg:`${D.lg} pr-2`},isInvalid:{true:"border-[var(--destructive-background)]",false:"border-[var(--input-border)] hover:border-[var(--input-border)]/80"}},defaultVariants:{size:"default",isInvalid:false}}),it=cva(["relative","flex","w-full","cursor-pointer","select-none","items-center","rounded-sm","outline-none","transition-colors","pl-8","pr-2","hover:bg-[var(--accent)]","hover:text-[var(--accent-foreground)]","focus:bg-[var(--accent)]","focus:text-[var(--accent-foreground)]","data-[selected=true]:bg-[var(--accent)]","data-[selected=true]:text-[var(--accent-foreground)]","data-[disabled=true]:pointer-events-none","data-[disabled=true]:opacity-50","data-[disabled=true]:text-[var(--menu-muted)]"],{variants:{size:{sm:`${D.sm} py-1`,default:`${D.default} py-2`,lg:`${D.lg} py-3`}},defaultVariants:{size:"default"}}),lt=cva(["z-50","w-[--trigger-width]","rounded-md","border","border-[var(--menu-border)]","bg-[var(--menu-background)]","text-[var(--menu-foreground)]","outline-none","overflow-auto","data-[entering]:animate-in","data-[entering]:fade-in-0","data-[entering]:zoom-in-95","data-[exiting]:animate-out","data-[exiting]:fade-out-0","data-[exiting]:zoom-out-95"],{variants:{size:{sm:"max-h-[200px] p-1",default:"max-h-[300px] p-1",lg:"max-h-[400px] p-1"}},defaultVariants:{size:"default"}}),ct=cva(["px-2","py-1.5","text-xs","font-semibold","text-[var(--menu-muted)]","uppercase","tracking-wider"],{variants:{size:{sm:"px-2 py-1 text-[10px]",default:"px-2 py-1 text-xs",lg:"px-2 py-1.5 text-xs"}},defaultVariants:{size:"default"}}),dt=cva(["flex","items-center","gap-1.5","text-sm","font-medium","text-[var(--destructive-background)]","mt-1"],{variants:{size:{sm:"text-xs mt-1",default:"text-sm mt-1",lg:"text-base mt-1"}},defaultVariants:{size:"default"}});var Aa=Array.from({length:3}).map((t,e)=>jsx("div",{className:"h-11 px-4 py-2",children:jsx("div",{className:"h-4 bg-[var(--accent-background)] rounded animate-pulse"})},`skeleton-${e}`));function ft({ariaSelectProps:t,triggerContent:e,triggerRef:a,label:o,description:n,isRequired:i,isDisabled:r,isLoading:l,errorMessage:s,size:p,emptyStateMessage:b,childCount:u,children:m}){let v=useId(),x=useId(),f=useId(),y=!!s;return jsxs(Select,{...t,isInvalid:y,children:[jsxs(Label,{id:v,className:"text-sm font-medium text-[var(--content-foreground)]",children:[o,i&&jsx("span",{className:"text-[var(--destructive-background)] ml-1",children:"*"})]}),n&&jsx(Text,{id:x,slot:"description",className:"text-sm text-[var(--menu-muted)] mt-1",children:n}),jsx("div",{className:Ie,children:jsxs(Button,{ref:a,className:st({size:p,isInvalid:y}),"aria-labelledby":v,"aria-describedby":n?x:s?f:void 0,"data-loading":l,...i&&{"aria-required":"true"},...l&&{"aria-busy":"true"},...(r||l)&&{"aria-disabled":"true"},children:[e,l?jsx(Loader2,{className:"ml-auto h-4 w-4 shrink-0 animate-spin text-[var(--menu-muted)]","aria-hidden":"true"}):jsx(ChevronDown,{className:"ml-auto h-4 w-4 shrink-0 text-[var(--menu-muted)]","aria-hidden":"true"})]})}),jsx(FieldError,{id:f,className:dt({size:p}),children:({validationErrors:S})=>{let g=s||S.join(" ");return g?jsx(Fragment,{children:g}):null}}),jsx(Popover,{shouldCloseOnInteractOutside:nt(),className:lt({size:p}),children:jsxs(ListBox,{className:"outline-none",children:[l&&u>0&&Aa,!l&&jsxs(Fragment,{children:[m,u===0&&jsx(ListBoxItem,{id:"__empty__",textValue:"empty",isDisabled:true,className:"py-6 text-center text-sm text-[var(--menu-muted)] cursor-default pointer-events-none",children:jsx("span",{role:"status",children:b||"No options available"})})]})]})})]})}var bt=forwardRef(({label:t,placeholder:e,description:a,value:o,defaultValue:n,isOpen:i,isDisabled:r=false,isRequired:l=false,disabledKeys:s,validate:p,validationBehavior:b="aria",errorMessage:u,isLoading:m=false,emptyStateMessage:v,name:x,size:f="default",onChange:y,onOpenChange:S,className:g,children:A,...C},k)=>{let O=Children.count(A);return O>1e3&&console.warn("Select has >1000 items. Consider using Autocomplete component for better performance."),jsx(ft,{ariaSelectProps:{value:o,defaultValue:n,onChange:_=>{y&&y(_);},placeholder:e,disabledKeys:s,isOpen:i,onOpenChange:S,isDisabled:r||m,isRequired:l,name:x,validate:p,validationBehavior:b,className:g,...C},triggerContent:jsx(SelectValue,{className:"flex-1 text-left truncate"}),triggerRef:k,label:t,description:a,isRequired:l,isDisabled:r,isLoading:m,errorMessage:u,size:f,emptyStateMessage:v,childCount:O,children:A})});bt.displayName="Select";var xt=forwardRef(({label:t,placeholder:e,description:a,value:o,defaultValue:n,selectionMode:i="multiple",isOpen:r,isDisabled:l=false,isRequired:s=false,disabledKeys:p,validate:b,validationBehavior:u="aria",errorMessage:m,isLoading:v=false,emptyStateMessage:x,name:f,size:y="default",onChange:S,onOpenChange:g,className:A,children:C,...k},O)=>{let _=Children.count(C);_>1e3&&console.warn("Select has >1000 items. Consider using Autocomplete component for better performance.");let c=useMemo(()=>{let I=new Map,L=d=>{Children.forEach(d,T=>{if(isValidElement(T)){let R=T;if(R.type===de||R.props?.value){let M=R.props.value,$=R.props.children;M&&typeof $=="string"&&I.set(M,$);}R.props?.children&&L(R.props.children);}});};return L(C),I},[C]),V=useMemo(()=>!o||!Array.isArray(o)||o.length===0?e||"":o.length<=2?o.map(L=>c.get(L)||L).join(", "):`${o.length} items selected`,[o,c,e]);return jsx(ft,{ariaSelectProps:{value:o,defaultValue:n,onChange:I=>{S&&S(I);},selectionMode:"multiple",disabledKeys:p,isOpen:r,onOpenChange:g,isDisabled:l||v,isRequired:s,name:f,validate:b,validationBehavior:u,className:A,...k},triggerContent:jsx("span",{className:"flex-1 text-left truncate",children:V}),triggerRef:O,label:t,description:a,isRequired:s,isDisabled:l,isLoading:v,errorMessage:m,size:y,emptyStateMessage:x,childCount:_,children:C})});xt.displayName="MultiSelect";var de=memo(function({children:e,textValue:a,value:o,isDisabled:n=false,className:i,...r}){if(!a&&typeof e!="string"){let l="Select.Item with custom children requires textValue prop for accessibility";if(process.env.NODE_ENV==="development")throw new Error(l);console.warn(l);}return jsx(ListBoxItem,{id:o,textValue:a||(typeof e=="string"?e:void 0),className:`${it({size:"default"})} ${i||""}`,isDisabled:n,...r,children:({isSelected:l,selectionMode:s,isDisabled:p})=>jsxs(Fragment,{children:[s==="multiple"?jsx(CheckSquare,{className:`absolute left-2 h-4 w-4 ${l?"visible":"invisible"}`,"aria-hidden":"true"}):l&&jsx(Check,{className:"absolute left-2 h-4 w-4","aria-hidden":"true"}),jsx("span",{className:p?"text-[var(--menu-muted)]":"",children:e})]})})});de.displayName="SelectItem";function Re({children:t,className:e,...a}){return jsx(ListBoxSection,{className:`border-t border-[var(--border)] first:border-t-0 ${e||""}`,...a,children:t})}Re.displayName="SelectSection";function we({children:t,className:e,...a}){return jsx(Header,{className:`${ct({size:"default"})} ${e||""}`,...a,children:t})}we.displayName="SelectHeader";var ue=Object.assign(bt,{Item:de,Section:Re,Header:we});Object.assign(xt,{Item:de,Section:Re,Header:we});var gt=cva(["flex flex-col gap-3"]),vt=cva(["flex items-center justify-between gap-3 flex-wrap px-0.5"]),St=cva(["flex flex-col gap-2.5 list-none m-0 p-0"]),Tt=cva(["flex items-start gap-2.5 p-3.5","rounded-lg border border-[var(--border)] bg-[var(--content-background)]","motion-safe:transition-colors"],{variants:{isSelected:{true:"bg-[var(--selected)] border-[var(--primary)]/40",false:""}},defaultVariants:{isSelected:false}}),Et=cva(["flex items-center justify-center min-w-[44px] min-h-[44px] -m-1 flex-none"]),ht=cva(["flex-1 min-w-0"]);function yt({items:t,getRowId:e,renderCard:a,selectionMode:o="none",selectedKeys:n=new Set,onSelectionChange:i,sortDescriptor:r,onSortChange:l,sortColumns:s=[],renderEmptyState:p,labels:b,"aria-label":u,className:m,"data-testid":v="table-card-list"}){let x=o==="multiple",f=t.map(e),y=d=>n==="all"||n.has(d),S=f.length>0&&f.every(y),g=f.some(y)&&!S,A=()=>n==="all"?new Set(f):new Set(n),C=()=>{i?.(S?new Set:new Set(f));},k=d=>{let T=A();T.has(d)?T.delete(d):T.add(d),i?.(T);},O=r?.column!=null?String(r.column):void 0,_=r?.direction??"ascending",c=d=>{let T=Array.isArray(d)?d[0]:d;T&&l?.({column:T,direction:r?.direction??"ascending"});},V=()=>{r?.column!=null&&l?.({column:r.column,direction:_==="ascending"?"descending":"ascending"});},I=x||s.length>0,L=t.length===0;return jsxs("div",{role:"region","aria-label":u,className:E(gt(),m),"data-testid":v,children:[jsx("p",{className:"sr-only",role:"status","aria-live":"polite",children:b.results(t.length)}),I&&jsxs("div",{className:vt(),children:[x?jsx(P,{label:b.selectAll,isSelected:S,isIndeterminate:g,onChange:C}):jsx("span",{}),s.length>0&&jsxs("div",{className:"flex items-end gap-2",children:[jsx(ue,{label:b.sort,placeholder:b.sortPlaceholder,value:O,onChange:c,children:s.map(d=>jsx(ue.Item,{value:d.id,children:d.label},d.id))}),jsx(U,{variant:"ghost",visualSize:"icon",isDisabled:r?.column==null,"aria-label":b.sortDirection(_),onPress:V,children:_==="ascending"?jsx(ArrowUp,{"aria-hidden":"true"}):jsx(ArrowDown,{"aria-hidden":"true"})})]})]}),L?p?jsx("div",{className:"rounded-lg border border-dashed border-[var(--border)] p-8 text-center","data-testid":"card-empty-state",children:p()}):null:jsx("ul",{className:St(),children:t.map(d=>{let T=e(d),R=y(T);return jsxs("li",{className:Tt({isSelected:R}),children:[x&&jsx("div",{className:Et(),children:jsx(P,{"aria-label":b.selectItem(d),isSelected:R,onChange:()=>k(T)})}),jsx("div",{className:ht(),children:a(d)})]},String(T))})})]})}yt.displayName="TableCardList";function wa(t,e){let[a,o]=useState(false);return useEffect(()=>{let n=t.current;if(!n)return;let i=()=>o(n.offsetWidth<e);i();let r;return typeof ResizeObserver<"u"&&(r=new ResizeObserver(i),r.observe(n)),window.addEventListener("resize",i),()=>{window.removeEventListener("resize",i),r?.disconnect();}},[t,e]),a}export{ot as BulkActionBar,Ye as Cell,$e as Column,Ke as Row,Ge as Table,Fe as TableBody,yt as TableCardList,je as TableFooter,Ue as TableHeader,ne as bulkActionBarVariants,ie as bulkActionHintVariants,se as bulkActionToolbarVariants,ae as cellVariants,ee as columnVariants,ra as resolveSelectedCount,te as rowVariants,be as tableContainerVariants,ve as tableFooterVariants,ge as tableHeaderVariants,xe as tableVariants,ia as useBulkActionShortcut,wa as useContainerNarrow};//# sourceMappingURL=index.mjs.map
3
3
  //# sourceMappingURL=index.mjs.map