@tribepad/themis 1.6.0 → 1.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/elements/Sidebar/index.js +1 -1
- package/dist/elements/Sidebar/index.js.map +1 -1
- package/dist/elements/Sidebar/index.mjs +1 -1
- package/dist/elements/Sidebar/index.mjs.map +1 -1
- package/dist/elements/Table/Table.d.ts +4 -5
- package/dist/elements/Table/Table.d.ts.map +1 -1
- package/dist/elements/Table/Table.styles.d.ts +0 -1
- package/dist/elements/Table/Table.styles.d.ts.map +1 -1
- package/dist/elements/Table/Table.types.d.ts +0 -26
- package/dist/elements/Table/Table.types.d.ts.map +1 -1
- package/dist/elements/Table/index.d.ts +3 -3
- package/dist/elements/Table/index.d.ts.map +1 -1
- package/dist/elements/Table/index.js +1 -1
- package/dist/elements/Table/index.js.map +1 -1
- package/dist/elements/Table/index.mjs +1 -1
- package/dist/elements/Table/index.mjs.map +1 -1
- package/dist/elements/Tabs/Tabs.d.ts +15 -0
- package/dist/elements/Tabs/Tabs.d.ts.map +1 -1
- package/dist/elements/Tabs/Tabs.types.d.ts +2 -1
- package/dist/elements/Tabs/Tabs.types.d.ts.map +1 -1
- package/dist/elements/Tabs/index.js +1 -1
- package/dist/elements/Tabs/index.js.map +1 -1
- package/dist/elements/Tabs/index.mjs +1 -1
- package/dist/elements/Tabs/index.mjs.map +1 -1
- package/dist/elements/index.d.ts +1 -1
- package/dist/elements/index.d.ts.map +1 -1
- package/dist/elements/index.js +1 -1
- package/dist/elements/index.js.map +1 -1
- package/dist/elements/index.mjs +1 -1
- package/dist/elements/index.mjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/elements/Sidebar/Sidebar.stories.tsx +1 -1
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { type ReactElement, type ForwardedRef } from 'react';
|
|
10
10
|
import { type Selection, type SortDescriptor } from 'react-aria-components';
|
|
11
|
-
import { tableContainerVariants, tableVariants, tableHeaderVariants, tableFooterVariants,
|
|
12
|
-
import type { TableProps, TableHeaderProps, TableBodyProps, TableFooterProps,
|
|
11
|
+
import { tableContainerVariants, tableVariants, tableHeaderVariants, tableFooterVariants, columnVariants, rowVariants, cellVariants } from './Table.styles';
|
|
12
|
+
import type { TableProps, TableHeaderProps, TableBodyProps, TableFooterProps, ColumnProps, RowProps, CellProps } from './Table.types';
|
|
13
13
|
declare const Table: import("react").ForwardRefExoticComponent<TableProps & import("react").RefAttributes<HTMLTableElement>>;
|
|
14
14
|
declare const TableHeader: <T extends object>(props: TableHeaderProps<T> & {
|
|
15
15
|
ref?: ForwardedRef<HTMLTableSectionElement>;
|
|
@@ -18,13 +18,12 @@ declare const TableBody: <T extends object>(props: TableBodyProps<T> & {
|
|
|
18
18
|
ref?: ForwardedRef<HTMLTableSectionElement>;
|
|
19
19
|
}) => ReactElement;
|
|
20
20
|
declare const TableFooter: import("react").ForwardRefExoticComponent<TableFooterProps & import("react").RefAttributes<HTMLTableSectionElement>>;
|
|
21
|
-
declare const TableCaption: import("react").ForwardRefExoticComponent<TableCaptionProps & import("react").RefAttributes<HTMLTableCaptionElement>>;
|
|
22
21
|
declare const Column: import("react").ForwardRefExoticComponent<ColumnProps & import("react").RefAttributes<HTMLTableCellElement>>;
|
|
23
22
|
declare const Row: <T extends object>(props: RowProps<T> & {
|
|
24
23
|
ref?: ForwardedRef<HTMLTableRowElement>;
|
|
25
24
|
}) => ReactElement;
|
|
26
25
|
declare const Cell: import("react").NamedExoticComponent<CellProps & import("react").RefAttributes<HTMLTableCellElement>>;
|
|
27
|
-
export { Table, TableHeader, TableBody, TableFooter,
|
|
28
|
-
export { tableContainerVariants, tableVariants, tableHeaderVariants, tableFooterVariants,
|
|
26
|
+
export { Table, TableHeader, TableBody, TableFooter, Column, Row, Cell, };
|
|
27
|
+
export { tableContainerVariants, tableVariants, tableHeaderVariants, tableFooterVariants, columnVariants, rowVariants, cellVariants, };
|
|
29
28
|
export type { Selection, SortDescriptor };
|
|
30
29
|
//# sourceMappingURL=Table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/Table.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AACf,OAAO,EAaL,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/Table.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EAOL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AACf,OAAO,EAaL,KAAK,SAAS,EACd,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,SAAS,EAGV,MAAM,eAAe,CAAC;AA0BvB,QAAA,MAAM,KAAK,yGAuEV,CAAC;AAwCF,QAAA,MAAM,WAAW,EAAmC,CAAC,CAAC,SAAS,MAAM,EACnE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,uBAAuB,CAAC,CAAA;CAAE,KACzE,YAAY,CAAC;AAmClB,QAAA,MAAM,SAAS,EAAiC,CAAC,CAAC,SAAS,MAAM,EAC/D,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,uBAAuB,CAAC,CAAA;CAAE,KACvE,YAAY,CAAC;AAQlB,QAAA,MAAM,WAAW,sHAahB,CAAC;AAQF,QAAA,MAAM,MAAM,8GAwDX,CAAC;AA0DF,QAAA,MAAM,GAAG,EAA2B,CAAC,CAAC,SAAS,MAAM,EACnD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAA;CAAE,KAC7D,YAAY,CAAC;AAQlB,QAAA,MAAM,IAAI,uGAcR,CAAC;AAQH,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,EACN,GAAG,EACH,IAAI,GACL,CAAC;AAGF,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,YAAY,GACb,CAAC;AAGF,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -6,7 +6,6 @@ export declare const tableHeaderVariants: (props?: ({
|
|
|
6
6
|
sticky?: boolean | null | undefined;
|
|
7
7
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
8
|
export declare const tableFooterVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
9
|
-
export declare const tableCaptionVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
|
|
10
9
|
export declare const columnVariants: (props?: ({
|
|
11
10
|
allowsSorting?: boolean | null | undefined;
|
|
12
11
|
align?: "end" | "center" | "start" | null | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.styles.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/Table.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,sBAAsB,oFAGjC,CAAC;AAGH,eAAO,MAAM,aAAa;;8EAezB,CAAC;AAIF,eAAO,MAAM,mBAAmB;;8EAU9B,CAAC;AAGH,eAAO,MAAM,mBAAmB,oFAK9B,CAAC;AAGH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"Table.styles.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/Table.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,sBAAsB,oFAGjC,CAAC;AAGH,eAAO,MAAM,aAAa;;8EAezB,CAAC;AAIF,eAAO,MAAM,mBAAmB;;8EAU9B,CAAC;AAGH,eAAO,MAAM,mBAAmB,oFAK9B,CAAC;AAGH,eAAO,MAAM,cAAc;;;;8EAkC1B,CAAC;AAGF,eAAO,MAAM,WAAW;;;8EA2BvB,CAAC;AAGF,eAAO,MAAM,YAAY;;;;8EAyBxB,CAAC"}
|
|
@@ -265,32 +265,6 @@ export interface TableFooterProps {
|
|
|
265
265
|
id?: string;
|
|
266
266
|
'data-testid'?: string;
|
|
267
267
|
}
|
|
268
|
-
/**
|
|
269
|
-
* TableCaption props schema (custom, not from React Aria)
|
|
270
|
-
*
|
|
271
|
-
* @see table-prd.md for caption support (accessible table description)
|
|
272
|
-
*/
|
|
273
|
-
export declare const TableCaptionPropsSchema: z.ZodObject<{
|
|
274
|
-
id: z.ZodOptional<z.ZodString>;
|
|
275
|
-
'aria-label': z.ZodOptional<z.ZodString>;
|
|
276
|
-
'aria-labelledby': z.ZodOptional<z.ZodString>;
|
|
277
|
-
'aria-describedby': z.ZodOptional<z.ZodString>;
|
|
278
|
-
'aria-live': z.ZodOptional<z.ZodEnum<{
|
|
279
|
-
off: "off";
|
|
280
|
-
polite: "polite";
|
|
281
|
-
assertive: "assertive";
|
|
282
|
-
}>>;
|
|
283
|
-
'aria-hidden': z.ZodOptional<z.ZodBoolean>;
|
|
284
|
-
'data-testid': z.ZodOptional<z.ZodString>;
|
|
285
|
-
className: z.ZodOptional<z.ZodString>;
|
|
286
|
-
children: z.ZodCustom<ReactNode, ReactNode>;
|
|
287
|
-
}, z.core.$strip>;
|
|
288
|
-
export interface TableCaptionProps {
|
|
289
|
-
className?: string;
|
|
290
|
-
children?: ReactNode;
|
|
291
|
-
id?: string;
|
|
292
|
-
'data-testid'?: string;
|
|
293
|
-
}
|
|
294
268
|
/**
|
|
295
269
|
* Column (header cell) props schema
|
|
296
270
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/Table.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Table.types.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/Table.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { Table, TableHeader, TableBody, TableFooter,
|
|
1
|
+
export { Table, TableHeader, TableBody, TableFooter, Column, Row, Cell, } from './Table';
|
|
2
2
|
export { BulkActionBar } from './BulkActionBar';
|
|
3
3
|
export { resolveSelectedCount } from './resolveSelectedCount';
|
|
4
4
|
export { useBulkActionShortcut } from './useBulkActionShortcut';
|
|
@@ -7,8 +7,8 @@ export { useContainerNarrow } from '../../hooks/useContainerNarrow';
|
|
|
7
7
|
export type { TableCardListProps, TableCardListLabels, CardSortColumn, } from './TableCardList.types';
|
|
8
8
|
export type { UseBulkActionShortcutOptions, } from './useBulkActionShortcut';
|
|
9
9
|
export type { BulkActionBarProps, BulkAction, BulkActionBarLabels, } from './BulkActionBar.types';
|
|
10
|
-
export { tableVariants, tableContainerVariants, tableHeaderVariants, tableFooterVariants,
|
|
10
|
+
export { tableVariants, tableContainerVariants, tableHeaderVariants, tableFooterVariants, columnVariants, rowVariants, cellVariants, } from './Table';
|
|
11
11
|
export { bulkActionBarVariants, bulkActionToolbarVariants, bulkActionHintVariants, } from './BulkActionBar';
|
|
12
|
-
export type { TableProps, TableHeaderProps, TableBodyProps, TableFooterProps,
|
|
12
|
+
export type { TableProps, TableHeaderProps, TableBodyProps, TableFooterProps, ColumnProps, RowProps, CellProps, TableVariant, TableSize, SortDescriptor, Selection, } from './Table.types';
|
|
13
13
|
export type { Selection as AriaSelection, SortDescriptor as AriaSortDescriptor } from './Table';
|
|
14
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,MAAM,EACN,GAAG,EACH,IAAI,GACL,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,4BAA4B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,kBAAkB,EAClB,UAAU,EACV,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,SAAS,EACT,cAAc,EACd,SAAS,GACV,MAAM,eAAe,CAAC;AAGvB,YAAY,EAAE,SAAS,IAAI,aAAa,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
'use strict';var react=require('react'),reactAriaComponents=require('react-aria-components'),classVarianceAuthority=require('class-variance-authority'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),lucideReact=require('lucide-react');function g(...e){return tailwindMerge.twMerge(clsx.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 Le=classVarianceAuthority.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}}),Oe=classVarianceAuthority.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}}),He=classVarianceAuthority.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 De({className:e,...t}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:jsxRuntime.jsx("polyline",{points:"20 6 9 17 4 12"})})}function ze({className:e,...t}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:jsxRuntime.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})})}var O=react.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:S,description:x,selectedIcon:f,className:E,id:T,"aria-label":v,"aria-labelledby":C,"aria-describedby":I,"data-testid":k,slot:B},V)=>{let c=a||void 0,R=o||void 0,A=n||void 0,P=(d,h)=>{let w=g(He({variant:m,size:u})),G=d||void 0,$=h||void 0;if(h)return jsxRuntime.jsx(ze,{className:w,"data-selected":G,"data-indeterminate":$});if(f&&d){if(react.isValidElement(f)){let Be=f;return react.cloneElement(Be,{className:g(w,Be.props.className),"data-selected":G})}return jsxRuntime.jsx("span",{className:w,"data-selected":G,children:f})}return jsxRuntime.jsx(De,{className:w,"data-selected":G,"data-indeterminate":$})};return jsxRuntime.jsx(reactAriaComponents.Checkbox,{ref:V,id:T,isSelected:e,defaultSelected:t,isDisabled:c,isReadOnly:R,isIndeterminate:A,isInvalid:l,isRequired:r,onChange:i,onFocusChange:s,value:p,name:b,slot:B,"aria-label":v,"aria-labelledby":C,"aria-describedby":I,"data-testid":k,className:d=>g(Le({size:u,isDisabled:d.isDisabled}),E),children:d=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:Oe({variant:m,size:u,isInvalid:d.isInvalid}),"data-selected":d.isSelected||void 0,"data-indeterminate":d.isIndeterminate||void 0,children:P(d.isSelected,d.isIndeterminate)}),(S||x)&&jsxRuntime.jsxs("div",{className:"flex flex-col",children:[S&&jsxRuntime.jsx("span",{className:"font-medium text-[var(--content-foreground)]",children:S}),x&&jsxRuntime.jsx("span",{className:"text-sm text-[var(--menu-muted)]",children:x})]})]})})});O.displayName="Checkbox";var be=classVarianceAuthority.cva(["relative w-full overflow-auto","rounded-lg border border-[var(--border)] bg-[var(--content-background)]"]),xe=classVarianceAuthority.cva(["w-full caption-bottom text-sm","border-collapse"],{variants:{variant:{default:"",bordered:"[&_tr>*+*]:border-l [&_tr>*+*]:border-[var(--border)]"}},defaultVariants:{variant:"default"}}),ve=classVarianceAuthority.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=classVarianceAuthority.cva(["border-t border-[var(--border)]","bg-[var(--accent-background)]/50","font-medium","[&>tr]:last:border-b-0"]),Se=classVarianceAuthority.cva(["mt-4 text-sm text-[var(--menu-muted)]"]),ee=classVarianceAuthority.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=classVarianceAuthority.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=classVarianceAuthority.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=react.createContext({variant:"default",size:"default",selectionMode:"none",stickyHeader:false,zebra:true}),Fe=react.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:S,sortDescriptor:x,onSortChange:f,onRowAction:E,children:T,...v},C)=>{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 I=react.useMemo(()=>({variant:t,size:a,selectionMode:r,stickyHeader:o,zebra:n}),[t,a,r,o,n]);return jsxRuntime.jsx(Y.Provider,{value:I,children:jsxRuntime.jsxs("div",{className:g(be(),e),"data-testid":"table-container",children:[l,jsxRuntime.jsx(reactAriaComponents.Table,{ref:C,className:g(xe({variant:t})),selectionMode:r,selectionBehavior:i,disallowEmptySelection:s,disabledBehavior:p,selectedKeys:b,defaultSelectedKeys:u,onSelectionChange:m,disabledKeys:S,sortDescriptor:x,onSortChange:f,onRowAction:E,"data-testid":"table","data-variant":t,"data-size":a,"data-zebra":n,...v,children:T})]})})});Fe.displayName="Table";function Ft({className:e,children:t,columns:a,...o},n){let{size:l,selectionMode:r,stickyHeader:i}=react.useContext(Y),{allowsDragging:s}=reactAriaComponents.useTableOptions();return jsxRuntime.jsxs(reactAriaComponents.TableHeader,{ref:n,className:g(ve({sticky:i}),e),"data-testid":"table-header",...o,children:[r==="multiple"&&jsxRuntime.jsx(reactAriaComponents.Column,{className:g(ee({size:l}),"w-12"),children:jsxRuntime.jsx(O,{slot:"selection","aria-label":"Select all",size:l})}),s&&jsxRuntime.jsx(reactAriaComponents.Column,{}),a?jsxRuntime.jsx(reactAriaComponents.Collection,{items:a,children:t}):t]})}var Ue=react.forwardRef(Ft);Ue.displayName="TableHeader";function Ut({className:e,children:t,items:a,renderEmptyState:o,...n},l){return jsxRuntime.jsx(reactAriaComponents.TableBody,{ref:l,className:g(e),items:a,renderEmptyState:o?()=>jsxRuntime.jsx("div",{className:"text-center p-8",children:o()}):void 0,"data-testid":"table-body",...n,children:t})}var je=react.forwardRef(Ut);je.displayName="TableBody";var $e=react.forwardRef(({className:e,children:t,...a},o)=>jsxRuntime.jsx("tfoot",{ref:o,className:g(ge(),e),"data-testid":"table-footer",...a,children:t}));$e.displayName="TableFooter";var Ke=react.forwardRef(({className:e,children:t,...a},o)=>jsxRuntime.jsx("caption",{ref:o,className:g(Se(),e),"data-testid":"table-caption",...a,children:t}));Ke.displayName="TableCaption";var Ye=react.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}=react.useContext(Y);return jsxRuntime.jsx(reactAriaComponents.Column,{ref:p,isRowHeader:a,allowsSorting:o,width:l,minWidth:r,maxWidth:i,className:g(ee({allowsSorting:o,align:n,size:b}),e),...s,children:({allowsSorting:u,sortDirection:m})=>jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{children:t}),u&&jsxRuntime.jsx("span",{"aria-hidden":"true","data-sort-direction":m??"none",className:m?"text-[var(--primary-action)]":"opacity-50",children:m==="ascending"?jsxRuntime.jsx(lucideReact.ChevronUp,{className:"h-4 w-4"}):m==="descending"?jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.ChevronsUpDown,{className:"h-4 w-4"})})]})})});Ye.displayName="Column";function jt({className:e,children:t,columns:a,href:o,isDisabled:n,...l},r){let{size:i,selectionMode:s,zebra:p}=react.useContext(Y),{allowsDragging:b}=reactAriaComponents.useTableOptions(),u=te({isSelected:true,zebra:p}),m=te({isSelected:false,zebra:p}),S=g(ae({size:i}),"w-12");return jsxRuntime.jsxs(reactAriaComponents.Row,{ref:r,href:o,isDisabled:n,className:({isSelected:x,isDisabled:f})=>g(x?u:m,f&&"opacity-50",e),"data-testid":"table-row",...l,children:[s==="multiple"&&jsxRuntime.jsx(reactAriaComponents.Cell,{className:S,children:jsxRuntime.jsx(O,{slot:"selection","aria-label":"Select row",size:i})}),b&&jsxRuntime.jsx(reactAriaComponents.Cell,{}),a?jsxRuntime.jsx(reactAriaComponents.Collection,{items:a,children:t}):t]})}var We=react.forwardRef(jt);We.displayName="Row";var Ze=react.memo(react.forwardRef(({className:e,children:t,align:a="start",colSpan:o,...n},l)=>{let{size:r}=react.useContext(Y);return jsxRuntime.jsx(reactAriaComponents.Cell,{ref:l,className:g(ae({align:a,size:r}),e),...n,children:t})}));Ze.displayName="Cell";var ye=classVarianceAuthority.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}}),Ee=classVarianceAuthority.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 Je=react.createContext(null);Je.displayName="ButtonGroupContext";function et(){return react.useContext(Je)}var tt=react.createContext(null);tt.displayName="ButtonGroupItemContext";function at(){return react.useContext(tt)}classVarianceAuthority.cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var rt=classVarianceAuthority.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"}});classVarianceAuthority.cva("bg-[var(--border)]",{variants:{orientation:{horizontal:"w-px h-6 mx-1",vertical:"h-px w-full my-1"}},defaultVariants:{orientation:"horizontal"}});var F=react.memo(react.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:S,onPress:x,...f},E)=>{let T=react.useId(),v=et(),C=at(),I=a??v?.variant??"default",k=o??v?.size,B=b??v?.isDisabled??false,V=v?.orientation==="vertical",c=l||V,R=C?rt({orientation:v?.orientation??"horizontal",position:C.position}):"",A=n??k??"default";return process.env.NODE_ENV!=="production"&&(A==="dot"||A==="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)'),jsxRuntime.jsx(reactAriaComponents.Button,{ref:E,isDisabled:B||r||void 0,"aria-disabled":u?true:void 0,"aria-describedby":u?T:void 0,onPress:h=>{if(u){m&&window.open(m,"_blank","noopener,noreferrer");return}x?.(h);},className:g(ye({fullWidth:c,inVerticalGroup:V}),e),...f,children:h=>jsxRuntime.jsxs("span",{className:g(Ee({variant:I,visualSize:A,paywall:u,fullWidth:c}),R,t,me,"",Q,J),"data-pressed":h.isPressed||void 0,children:[r&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"sr-only","aria-live":"polite",children:i})]}),!r&&p,u&&jsxRuntime.jsx(lucideReact.Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),u&&jsxRuntime.jsxs("span",{id:T,className:"sr-only",children:["Premium feature: ",S||"Upgrade required to access this feature"]}),h.isFocusVisible&&s&&jsxRuntime.jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:s})]})})}));F.displayName="Button";var ne=classVarianceAuthority.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=classVarianceAuthority.cva(["flex items-center gap-3 flex-wrap w-full justify-between"]),ie=classVarianceAuthority.cva(["text-sm text-[var(--content-muted)] inline-flex items-center gap-1.5"]),ot=classVarianceAuthority.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)]"]),nt=classVarianceAuthority.cva(["text-[var(--primary-action)] border-[var(--primary)]/30","hover:bg-[var(--content-background)]"]);function ra(e,t){typeof e=="function"?e(t):e&&(e.current=t);}var st=react.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=react.useRef(null),S=react.useRef(e),x=react.useRef([]),[f,E]=react.useState(0),T=t.length+1,v=Math.min(f,T-1),C=c=>{let R=(c+T)%T;E(R),x.current[R]?.focus();},I=c=>{switch(c.key){case "ArrowRight":case "ArrowDown":c.preventDefault(),C(v+1);break;case "ArrowLeft":case "ArrowUp":c.preventDefault(),C(v-1);break;case "Home":c.preventDefault(),C(0);break;case "End":c.preventDefault(),C(T-1);break;}};react.useEffect(()=>{let c=S.current;if(S.current=e,c>0&&e===0){let R=document.activeElement;(!R||R===document.body)&&m.current?.focus();}},[e]);let k=e>0,B=r&&!!s.jumpHint,V="";if(k){let c=[s.selectedCount(e)];s.actionsAvailable&&c.push(s.actionsAvailable(t.length)),r&&s.jumpAnnouncement&&c.push(s.jumpAnnouncement),V=c.join(". ");}return jsxRuntime.jsxs("div",{ref:c=>{m.current=c,ra(u,c);},tabIndex:-1,className:g("outline-none",p),"data-testid":b,children:[jsxRuntime.jsx("div",{className:"sr-only",role:"status","aria-live":"polite",children:V}),k&&jsxRuntime.jsx("div",{className:ne({sticky:n,framed:l}),children:jsxRuntime.jsxs("div",{role:"toolbar","aria-label":s.toolbarLabel(e),"aria-orientation":"horizontal",onKeyDown:I,className:se(),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-4 flex-wrap",children:[jsxRuntime.jsx("span",{className:"text-sm font-bold text-[var(--content-foreground)]",children:s.selectedCount(e)}),jsxRuntime.jsx(F,{ref:c=>{x.current[0]=c;},variant:"link",excludeFromTabOrder:v!==0,onFocus:()=>E(0),onPress:o,children:s.clear}),B&&s.jumpHint&&jsxRuntime.jsx("span",{"aria-hidden":"true",className:ie(),children:s.jumpHint(jsxRuntime.jsx("kbd",{className:ot(),children:i}))})]}),jsxRuntime.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:t.map((c,R)=>{let A=R+1;return jsxRuntime.jsxs(F,{ref:P=>{x.current[A]=P;},variant:c.tone==="danger"?"destructive":"outline",buttonVisualClassName:c.tone==="danger"?void 0:nt(),isDisabled:c.isDisabled,excludeFromTabOrder:v!==A,onFocus:()=>E(A),onPress:()=>a(c.id),children:[c.icon!=null&&jsxRuntime.jsx("span",{"aria-hidden":"true",className:"inline-flex",children:c.icon}),c.label]},c.id)})})]})})]})});st.displayName="BulkActionBar";function oa(e,t){if(e==="all"){let a=0;for(let o of t)a+=1;return a}return e.size}var sa=new Set(["text","search","email","url","tel","number","password"]);function ia(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"&&sa.has(e.type))return true;let a=e.getAttribute("role");return a==="textbox"||a==="searchbox"||a==="combobox"}function la({scopeRef:e,toolbarRef:t,key:a="a",disabled:o=false}){react.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()||ia(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"},M={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 it=classVarianceAuthority.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:`${M.sm} pr-1`,default:`${M.default} pr-1.5`,lg:`${M.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}}),lt=classVarianceAuthority.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:`${M.sm} py-1`,default:`${M.default} py-2`,lg:`${M.lg} py-3`}},defaultVariants:{size:"default"}}),ct=classVarianceAuthority.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"}}),dt=classVarianceAuthority.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"}}),ut=classVarianceAuthority.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 Ca=Array.from({length:3}).map((e,t)=>jsxRuntime.jsx("div",{className:"h-11 px-4 py-2",children:jsxRuntime.jsx("div",{className:"h-4 bg-[var(--accent-background)] rounded animate-pulse"})},`skeleton-${t}`));function bt({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 S=react.useId(),x=react.useId(),f=react.useId(),E=!!s;return jsxRuntime.jsxs(reactAriaComponents.Select,{...e,isInvalid:E,children:[jsxRuntime.jsxs(reactAriaComponents.Label,{id:S,className:"text-sm font-medium text-[var(--content-foreground)]",children:[o,l&&jsxRuntime.jsx("span",{className:"text-[var(--destructive-background)] ml-1",children:"*"})]}),n&&jsxRuntime.jsx(reactAriaComponents.Text,{id:x,slot:"description",className:"text-sm text-[var(--menu-muted)] mt-1",children:n}),jsxRuntime.jsx("div",{className:Ie,children:jsxRuntime.jsxs(reactAriaComponents.Button,{ref:a,className:it({size:p,isInvalid:E}),"aria-labelledby":S,"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?jsxRuntime.jsx(lucideReact.Loader2,{className:"ml-auto h-4 w-4 shrink-0 animate-spin text-[var(--menu-muted)]","aria-hidden":"true"}):jsxRuntime.jsx(lucideReact.ChevronDown,{className:"ml-auto h-4 w-4 shrink-0 text-[var(--menu-muted)]","aria-hidden":"true"})]})}),jsxRuntime.jsx(reactAriaComponents.FieldError,{id:f,className:ut({size:p}),children:({validationErrors:T})=>{let v=s||T.join(" ");return v?jsxRuntime.jsx(jsxRuntime.Fragment,{children:v}):null}}),jsxRuntime.jsx(reactAriaComponents.Popover,{className:ct({size:p}),children:jsxRuntime.jsxs(reactAriaComponents.ListBox,{className:"outline-none",children:[i&&u>0&&Ca,!i&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[m,u===0&&jsxRuntime.jsx(reactAriaComponents.ListBoxItem,{id:"__empty__",textValue:"empty",isDisabled:true,className:"py-6 text-center text-sm text-[var(--menu-muted)] cursor-default pointer-events-none",children:jsxRuntime.jsx("span",{role:"status",children:b||"No options available"})})]})]})})]})}var xt=react.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:S,name:x,size:f="default",onChange:E,onOpenChange:T,className:v,children:C,...I},k)=>{let B=react.Children.count(C);return B>1e3&&console.warn("Select has >1000 items. Consider using Autocomplete component for better performance."),jsxRuntime.jsx(bt,{ariaSelectProps:{value:o,defaultValue:n,onChange:V=>{E&&E(V);},placeholder:t,disabledKeys:s,isOpen:l,onOpenChange:T,isDisabled:r||m,isRequired:i,name:x,validate:p,validationBehavior:b,className:v,...I},triggerContent:jsxRuntime.jsx(reactAriaComponents.SelectValue,{className:"flex-1 text-left truncate"}),triggerRef:k,label:e,description:a,isRequired:i,isDisabled:r,isLoading:m,errorMessage:u,size:f,emptyStateMessage:S,childCount:B,children:C})});xt.displayName="Select";var vt=react.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:S=false,emptyStateMessage:x,name:f,size:E="default",onChange:T,onOpenChange:v,className:C,children:I,...k},B)=>{let V=react.Children.count(I);V>1e3&&console.warn("Select has >1000 items. Consider using Autocomplete component for better performance.");let c=react.useMemo(()=>{let A=new Map,P=d=>{react.Children.forEach(d,h=>{if(react.isValidElement(h)){let w=h;if(w.type===de||w.props?.value){let G=w.props.value,$=w.props.children;G&&typeof $=="string"&&A.set(G,$);}w.props?.children&&P(w.props.children);}});};return P(I),A},[I]),R=react.useMemo(()=>!o||!Array.isArray(o)||o.length===0?t||"":o.length<=2?o.map(P=>c.get(P)||P).join(", "):`${o.length} items selected`,[o,c,t]);return jsxRuntime.jsx(bt,{ariaSelectProps:{value:o,defaultValue:n,onChange:A=>{T&&T(A);},selectionMode:"multiple",disabledKeys:p,isOpen:r,onOpenChange:v,isDisabled:i||S,isRequired:s,name:f,validate:b,validationBehavior:u,className:C,...k},triggerContent:jsxRuntime.jsx("span",{className:"flex-1 text-left truncate",children:R}),triggerRef:B,label:e,description:a,isRequired:s,isDisabled:i,isLoading:S,errorMessage:m,size:E,emptyStateMessage:x,childCount:V,children:I})});vt.displayName="MultiSelect";var de=react.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 jsxRuntime.jsx(reactAriaComponents.ListBoxItem,{id:o,textValue:a||(typeof t=="string"?t:void 0),className:`${lt({size:"default"})} ${l||""}`,isDisabled:n,...r,children:({isSelected:i,selectionMode:s,isDisabled:p})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[s==="multiple"?jsxRuntime.jsx(lucideReact.CheckSquare,{className:`absolute left-2 h-4 w-4 ${i?"visible":"invisible"}`,"aria-hidden":"true"}):i&&jsxRuntime.jsx(lucideReact.Check,{className:"absolute left-2 h-4 w-4","aria-hidden":"true"}),jsxRuntime.jsx("span",{className:p?"text-[var(--menu-muted)]":"",children:t})]})})});de.displayName="SelectItem";function _e({children:e,className:t,...a}){return jsxRuntime.jsx(reactAriaComponents.ListBoxSection,{className:`border-t border-[var(--border)] first:border-t-0 ${t||""}`,...a,children:e})}_e.displayName="SelectSection";function ke({children:e,className:t,...a}){return jsxRuntime.jsx(reactAriaComponents.Header,{className:`${dt({size:"default"})} ${t||""}`,...a,children:e})}ke.displayName="SelectHeader";var ue=Object.assign(xt,{Item:de,Section:_e,Header:ke});Object.assign(vt,{Item:de,Section:_e,Header:ke});var gt=classVarianceAuthority.cva(["flex flex-col gap-3"]),St=classVarianceAuthority.cva(["flex items-center justify-between gap-3 flex-wrap px-0.5"]),Tt=classVarianceAuthority.cva(["flex flex-col gap-2.5 list-none m-0 p-0"]),ht=classVarianceAuthority.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}}),yt=classVarianceAuthority.cva(["flex items-center justify-center min-w-[44px] min-h-[44px] -m-1 flex-none"]),Et=classVarianceAuthority.cva(["flex-1 min-w-0"]);function Nt({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":S="table-card-list"}){let x=o==="multiple",f=e.map(t),E=d=>n==="all"||n.has(d),T=f.length>0&&f.every(E),v=f.some(E)&&!T,C=()=>n==="all"?new Set(f):new Set(n),I=()=>{l?.(T?new Set:new Set(f));},k=d=>{let h=C();h.has(d)?h.delete(d):h.add(d),l?.(h);},B=r?.column!=null?String(r.column):void 0,V=r?.direction??"ascending",c=d=>{let h=Array.isArray(d)?d[0]:d;h&&i?.({column:h,direction:r?.direction??"ascending"});},R=()=>{r?.column!=null&&i?.({column:r.column,direction:V==="ascending"?"descending":"ascending"});},A=x||s.length>0,P=e.length===0;return jsxRuntime.jsxs("div",{role:"region","aria-label":u,className:g(gt(),m),"data-testid":S,children:[jsxRuntime.jsx("p",{className:"sr-only",role:"status","aria-live":"polite",children:b.results(e.length)}),A&&jsxRuntime.jsxs("div",{className:St(),children:[x?jsxRuntime.jsx(O,{label:b.selectAll,isSelected:T,isIndeterminate:v,onChange:I}):jsxRuntime.jsx("span",{}),s.length>0&&jsxRuntime.jsxs("div",{className:"flex items-end gap-2",children:[jsxRuntime.jsx(ue,{label:b.sort,placeholder:b.sortPlaceholder,value:B,onChange:c,children:s.map(d=>jsxRuntime.jsx(ue.Item,{value:d.id,children:d.label},d.id))}),jsxRuntime.jsx(F,{variant:"ghost",visualSize:"icon",isDisabled:r?.column==null,"aria-label":b.sortDirection(V),onPress:R,children:V==="ascending"?jsxRuntime.jsx(lucideReact.ArrowUp,{"aria-hidden":"true"}):jsxRuntime.jsx(lucideReact.ArrowDown,{"aria-hidden":"true"})})]})]}),P?p?jsxRuntime.jsx("div",{className:"rounded-lg border border-dashed border-[var(--border)] p-8 text-center","data-testid":"card-empty-state",children:p()}):null:jsxRuntime.jsx("ul",{className:Tt(),children:e.map(d=>{let h=t(d),w=E(h);return jsxRuntime.jsxs("li",{className:ht({isSelected:w}),children:[x&&jsxRuntime.jsx("div",{className:yt(),children:jsxRuntime.jsx(O,{"aria-label":b.selectItem(d),isSelected:w,onChange:()=>k(h)})}),jsxRuntime.jsx("div",{className:Et(),children:a(d)})]},String(h))})})]})}Nt.displayName="TableCardList";function _a(e,t){let[a,o]=react.useState(false);return react.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}exports.BulkActionBar=st;exports.Cell=Ze;exports.Column=Ye;exports.Row=We;exports.Table=Fe;exports.TableBody=je;exports.TableCaption=Ke;exports.TableCardList=Nt;exports.TableFooter=$e;exports.TableHeader=Ue;exports.bulkActionBarVariants=ne;exports.bulkActionHintVariants=ie;exports.bulkActionToolbarVariants=se;exports.cellVariants=ae;exports.columnVariants=ee;exports.resolveSelectedCount=oa;exports.rowVariants=te;exports.tableCaptionVariants=Se;exports.tableContainerVariants=be;exports.tableFooterVariants=ge;exports.tableHeaderVariants=ve;exports.tableVariants=xe;exports.useBulkActionShortcut=la;exports.useContainerNarrow=_a;//# sourceMappingURL=index.js.map
|
|
2
|
+
'use strict';var react=require('react'),reactAriaComponents=require('react-aria-components'),classVarianceAuthority=require('class-variance-authority'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime'),lucideReact=require('lucide-react');function h(...e){return tailwindMerge.twMerge(clsx.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 Le=classVarianceAuthority.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}}),Pe=classVarianceAuthority.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}}),Oe=classVarianceAuthority.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 jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:jsxRuntime.jsx("polyline",{points:"20 6 9 17 4 12"})})}function De({className:e,...t}){return jsxRuntime.jsx("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:3,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",...t,children:jsxRuntime.jsx("line",{x1:"5",y1:"12",x2:"19",y2:"12"})})}var O=react.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:E,id:S,"aria-label":v,"aria-labelledby":A,"aria-describedby":I,"data-testid":k,slot:B},V)=>{let c=a||void 0,R=o||void 0,C=n||void 0,L=(d,T)=>{let w=h(Oe({variant:m,size:u})),z=d||void 0,$=T||void 0;if(T)return jsxRuntime.jsx(De,{className:w,"data-selected":z,"data-indeterminate":$});if(f&&d){if(react.isValidElement(f)){let ke=f;return react.cloneElement(ke,{className:h(w,ke.props.className),"data-selected":z})}return jsxRuntime.jsx("span",{className:w,"data-selected":z,children:f})}return jsxRuntime.jsx(He,{className:w,"data-selected":z,"data-indeterminate":$})};return jsxRuntime.jsx(reactAriaComponents.Checkbox,{ref:V,id:S,isSelected:e,defaultSelected:t,isDisabled:c,isReadOnly:R,isIndeterminate:C,isInvalid:l,isRequired:r,onChange:i,onFocusChange:s,value:p,name:b,slot:B,"aria-label":v,"aria-labelledby":A,"aria-describedby":I,"data-testid":k,className:d=>h(Le({size:u,isDisabled:d.isDisabled}),E),children:d=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:Pe({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)}),(g||x)&&jsxRuntime.jsxs("div",{className:"flex flex-col",children:[g&&jsxRuntime.jsx("span",{className:"font-medium text-[var(--content-foreground)]",children:g}),x&&jsxRuntime.jsx("span",{className:"text-sm text-[var(--menu-muted)]",children:x})]})]})})});O.displayName="Checkbox";var be=classVarianceAuthority.cva(["relative w-full overflow-auto","rounded-lg border border-[var(--border)] bg-[var(--content-background)]"]),xe=classVarianceAuthority.cva(["w-full caption-bottom text-sm","border-collapse"],{variants:{variant:{default:"",bordered:"[&_tr>*+*]:border-l [&_tr>*+*]:border-[var(--border)]"}},defaultVariants:{variant:"default"}}),ve=classVarianceAuthority.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=classVarianceAuthority.cva(["border-t border-[var(--border)]","bg-[var(--accent-background)]/50","font-medium","[&>tr]:last:border-b-0"]),ee=classVarianceAuthority.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=classVarianceAuthority.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=classVarianceAuthority.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=react.createContext({variant:"default",size:"default",selectionMode:"none",stickyHeader:false,zebra:true}),Ge=react.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:E,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 I=react.useMemo(()=>({variant:t,size:a,selectionMode:r,stickyHeader:o,zebra:n}),[t,a,r,o,n]);return jsxRuntime.jsx(Y.Provider,{value:I,children:jsxRuntime.jsxs("div",{className:h(be(),e),"data-testid":"table-container",children:[l,jsxRuntime.jsx(reactAriaComponents.Table,{ref:A,className:h(xe({variant:t})),selectionMode:r,selectionBehavior:i,disallowEmptySelection:s,disabledBehavior:p,selectedKeys:b,defaultSelectedKeys:u,onSelectionChange:m,disabledKeys:g,sortDescriptor:x,onSortChange:f,onRowAction:E,"data-testid":"table","data-variant":t,"data-size":a,"data-zebra":n,...v,children:S})]})})});Ge.displayName="Table";function Mt({className:e,children:t,columns:a,...o},n){let{size:l,selectionMode:r,stickyHeader:i}=react.useContext(Y),{allowsDragging:s}=reactAriaComponents.useTableOptions();return jsxRuntime.jsxs(reactAriaComponents.TableHeader,{ref:n,className:h(ve({sticky:i}),e),"data-testid":"table-header",...o,children:[r==="multiple"&&jsxRuntime.jsx(reactAriaComponents.Column,{className:h(ee({size:l}),"w-12"),children:jsxRuntime.jsx(O,{slot:"selection","aria-label":"Select all",size:l})}),s&&jsxRuntime.jsx(reactAriaComponents.Column,{}),a?jsxRuntime.jsx(reactAriaComponents.Collection,{items:a,children:t}):t]})}var Fe=react.forwardRef(Mt);Fe.displayName="TableHeader";function Gt({className:e,children:t,items:a,renderEmptyState:o,...n},l){return jsxRuntime.jsx(reactAriaComponents.TableBody,{ref:l,className:h(e),items:a,renderEmptyState:o?()=>jsxRuntime.jsx("div",{className:"text-center p-8",children:o()}):void 0,"data-testid":"table-body",...n,children:t})}var Ue=react.forwardRef(Gt);Ue.displayName="TableBody";var je=react.forwardRef(({className:e,children:t,...a},o)=>jsxRuntime.jsx("tfoot",{ref:o,className:h(ge(),e),"data-testid":"table-footer",...a,children:t}));je.displayName="TableFooter";var $e=react.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}=react.useContext(Y);return jsxRuntime.jsx(reactAriaComponents.Column,{ref:p,isRowHeader:a,allowsSorting:o,width:l,minWidth:r,maxWidth:i,className:h(ee({allowsSorting:o,align:n,size:b}),e),...s,children:({allowsSorting:u,sortDirection:m})=>jsxRuntime.jsxs("div",{className:"flex items-center gap-1",children:[jsxRuntime.jsx("span",{children:t}),u&&jsxRuntime.jsx("span",{"aria-hidden":"true","data-sort-direction":m??"none",className:m?"text-[var(--primary-action)]":"opacity-50",children:m==="ascending"?jsxRuntime.jsx(lucideReact.ChevronUp,{className:"h-4 w-4"}):m==="descending"?jsxRuntime.jsx(lucideReact.ChevronDown,{className:"h-4 w-4"}):jsxRuntime.jsx(lucideReact.ChevronsUpDown,{className:"h-4 w-4"})})]})})});$e.displayName="Column";function Ft({className:e,children:t,columns:a,href:o,isDisabled:n,...l},r){let{size:i,selectionMode:s,zebra:p}=react.useContext(Y),{allowsDragging:b}=reactAriaComponents.useTableOptions(),u=te({isSelected:true,zebra:p}),m=te({isSelected:false,zebra:p}),g=h(ae({size:i}),"w-12");return jsxRuntime.jsxs(reactAriaComponents.Row,{ref:r,href:o,isDisabled:n,className:({isSelected:x,isDisabled:f})=>h(x?u:m,f&&"opacity-50",e),"data-testid":"table-row",...l,children:[s==="multiple"&&jsxRuntime.jsx(reactAriaComponents.Cell,{className:g,children:jsxRuntime.jsx(O,{slot:"selection","aria-label":"Select row",size:i})}),b&&jsxRuntime.jsx(reactAriaComponents.Cell,{}),a?jsxRuntime.jsx(reactAriaComponents.Collection,{items:a,children:t}):t]})}var Ke=react.forwardRef(Ft);Ke.displayName="Row";var Ye=react.memo(react.forwardRef(({className:e,children:t,align:a="start",colSpan:o,...n},l)=>{let{size:r}=react.useContext(Y);return jsxRuntime.jsx(reactAriaComponents.Cell,{ref:l,className:h(ae({align:a,size:r}),e),...n,children:t})}));Ye.displayName="Cell";var he=classVarianceAuthority.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}}),ye=classVarianceAuthority.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=react.createContext(null);Xe.displayName="ButtonGroupContext";function Qe(){return react.useContext(Xe)}var Je=react.createContext(null);Je.displayName="ButtonGroupItemContext";function et(){return react.useContext(Je)}classVarianceAuthority.cva("inline-flex items-center gap-0",{variants:{orientation:{horizontal:"flex-row",vertical:"flex-col w-full"}},defaultVariants:{orientation:"horizontal"}});var tt=classVarianceAuthority.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"}});classVarianceAuthority.cva("bg-[var(--border)]",{variants:{orientation:{horizontal:"w-px h-6 mx-1",vertical:"h-px w-full my-1"}},defaultVariants:{orientation:"horizontal"}});var F=react.memo(react.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},E)=>{let S=react.useId(),v=Qe(),A=et(),I=a??v?.variant??"default",k=o??v?.size,B=b??v?.isDisabled??false,V=v?.orientation==="vertical",c=l||V,R=A?tt({orientation:v?.orientation??"horizontal",position:A.position}):"",C=n??k??"default";return process.env.NODE_ENV!=="production"&&(C==="dot"||C==="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)'),jsxRuntime.jsx(reactAriaComponents.Button,{ref:E,isDisabled:B||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:h(he({fullWidth:c,inVerticalGroup:V}),e),...f,children:T=>jsxRuntime.jsxs("span",{className:h(ye({variant:I,visualSize:C,paywall:u,fullWidth:c}),R,t,me,"",Q,J),"data-pressed":T.isPressed||void 0,children:[r&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(lucideReact.Loader2,{className:"motion-safe:animate-spin","aria-hidden":"true"}),jsxRuntime.jsx("span",{className:"sr-only","aria-live":"polite",children:i})]}),!r&&p,u&&jsxRuntime.jsx(lucideReact.Zap,{"data-testid":"zap-icon","aria-hidden":"true",className:"ml-1"}),u&&jsxRuntime.jsxs("span",{id:S,className:"sr-only",children:["Premium feature: ",g||"Upgrade required to access this feature"]}),T.isFocusVisible&&s&&jsxRuntime.jsx("kbd",{className:"ml-auto hidden text-xs opacity-60 lg:inline",children:s})]})})}));F.displayName="Button";var ne=classVarianceAuthority.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=classVarianceAuthority.cva(["flex items-center gap-3 flex-wrap w-full justify-between"]),ie=classVarianceAuthority.cva(["text-sm text-[var(--content-muted)] inline-flex items-center gap-1.5"]),at=classVarianceAuthority.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=classVarianceAuthority.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=react.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=react.useRef(null),g=react.useRef(e),x=react.useRef([]),[f,E]=react.useState(0),S=t.length+1,v=Math.min(f,S-1),A=c=>{let R=(c+S)%S;E(R),x.current[R]?.focus();},I=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;}};react.useEffect(()=>{let c=g.current;if(g.current=e,c>0&&e===0){let R=document.activeElement;(!R||R===document.body)&&m.current?.focus();}},[e]);let k=e>0,B=r&&!!s.jumpHint,V="";if(k){let c=[s.selectedCount(e)];s.actionsAvailable&&c.push(s.actionsAvailable(t.length)),r&&s.jumpAnnouncement&&c.push(s.jumpAnnouncement),V=c.join(". ");}return jsxRuntime.jsxs("div",{ref:c=>{m.current=c,ta(u,c);},tabIndex:-1,className:h("outline-none",p),"data-testid":b,children:[jsxRuntime.jsx("div",{className:"sr-only",role:"status","aria-live":"polite",children:V}),k&&jsxRuntime.jsx("div",{className:ne({sticky:n,framed:l}),children:jsxRuntime.jsxs("div",{role:"toolbar","aria-label":s.toolbarLabel(e),"aria-orientation":"horizontal",onKeyDown:I,className:se(),children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-4 flex-wrap",children:[jsxRuntime.jsx("span",{className:"text-sm font-bold text-[var(--content-foreground)]",children:s.selectedCount(e)}),jsxRuntime.jsx(F,{ref:c=>{x.current[0]=c;},variant:"link",excludeFromTabOrder:v!==0,onFocus:()=>E(0),onPress:o,children:s.clear}),B&&s.jumpHint&&jsxRuntime.jsx("span",{"aria-hidden":"true",className:ie(),children:s.jumpHint(jsxRuntime.jsx("kbd",{className:at(),children:i}))})]}),jsxRuntime.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:t.map((c,R)=>{let C=R+1;return jsxRuntime.jsxs(F,{ref:L=>{x.current[C]=L;},variant:c.tone==="danger"?"destructive":"outline",buttonVisualClassName:c.tone==="danger"?void 0:rt(),isDisabled:c.isDisabled,excludeFromTabOrder:v!==C,onFocus:()=>E(C),onPress:()=>a(c.id),children:[c.icon!=null&&jsxRuntime.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}){react.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`},Ce="min-h-[44px] flex items-center";var nt=classVarianceAuthority.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=classVarianceAuthority.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=classVarianceAuthority.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=classVarianceAuthority.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=classVarianceAuthority.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 Ea=Array.from({length:3}).map((e,t)=>jsxRuntime.jsx("div",{className:"h-11 px-4 py-2",children:jsxRuntime.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=react.useId(),x=react.useId(),f=react.useId(),E=!!s;return jsxRuntime.jsxs(reactAriaComponents.Select,{...e,isInvalid:E,children:[jsxRuntime.jsxs(reactAriaComponents.Label,{id:g,className:"text-sm font-medium text-[var(--content-foreground)]",children:[o,l&&jsxRuntime.jsx("span",{className:"text-[var(--destructive-background)] ml-1",children:"*"})]}),n&&jsxRuntime.jsx(reactAriaComponents.Text,{id:x,slot:"description",className:"text-sm text-[var(--menu-muted)] mt-1",children:n}),jsxRuntime.jsx("div",{className:Ce,children:jsxRuntime.jsxs(reactAriaComponents.Button,{ref:a,className:nt({size:p,isInvalid:E}),"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?jsxRuntime.jsx(lucideReact.Loader2,{className:"ml-auto h-4 w-4 shrink-0 animate-spin text-[var(--menu-muted)]","aria-hidden":"true"}):jsxRuntime.jsx(lucideReact.ChevronDown,{className:"ml-auto h-4 w-4 shrink-0 text-[var(--menu-muted)]","aria-hidden":"true"})]})}),jsxRuntime.jsx(reactAriaComponents.FieldError,{id:f,className:ct({size:p}),children:({validationErrors:S})=>{let v=s||S.join(" ");return v?jsxRuntime.jsx(jsxRuntime.Fragment,{children:v}):null}}),jsxRuntime.jsx(reactAriaComponents.Popover,{className:it({size:p}),children:jsxRuntime.jsxs(reactAriaComponents.ListBox,{className:"outline-none",children:[i&&u>0&&Ea,!i&&jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[m,u===0&&jsxRuntime.jsx(reactAriaComponents.ListBoxItem,{id:"__empty__",textValue:"empty",isDisabled:true,className:"py-6 text-center text-sm text-[var(--menu-muted)] cursor-default pointer-events-none",children:jsxRuntime.jsx("span",{role:"status",children:b||"No options available"})})]})]})})]})}var ft=react.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:E,onOpenChange:S,className:v,children:A,...I},k)=>{let B=react.Children.count(A);return B>1e3&&console.warn("Select has >1000 items. Consider using Autocomplete component for better performance."),jsxRuntime.jsx(mt,{ariaSelectProps:{value:o,defaultValue:n,onChange:V=>{E&&E(V);},placeholder:t,disabledKeys:s,isOpen:l,onOpenChange:S,isDisabled:r||m,isRequired:i,name:x,validate:p,validationBehavior:b,className:v,...I},triggerContent:jsxRuntime.jsx(reactAriaComponents.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:B,children:A})});ft.displayName="Select";var bt=react.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:E="default",onChange:S,onOpenChange:v,className:A,children:I,...k},B)=>{let V=react.Children.count(I);V>1e3&&console.warn("Select has >1000 items. Consider using Autocomplete component for better performance.");let c=react.useMemo(()=>{let C=new Map,L=d=>{react.Children.forEach(d,T=>{if(react.isValidElement(T)){let w=T;if(w.type===de||w.props?.value){let z=w.props.value,$=w.props.children;z&&typeof $=="string"&&C.set(z,$);}w.props?.children&&L(w.props.children);}});};return L(I),C},[I]),R=react.useMemo(()=>!o||!Array.isArray(o)||o.length===0?t||"":o.length<=2?o.map(L=>c.get(L)||L).join(", "):`${o.length} items selected`,[o,c,t]);return jsxRuntime.jsx(mt,{ariaSelectProps:{value:o,defaultValue:n,onChange:C=>{S&&S(C);},selectionMode:"multiple",disabledKeys:p,isOpen:r,onOpenChange:v,isDisabled:i||g,isRequired:s,name:f,validate:b,validationBehavior:u,className:A,...k},triggerContent:jsxRuntime.jsx("span",{className:"flex-1 text-left truncate",children:R}),triggerRef:B,label:e,description:a,isRequired:s,isDisabled:i,isLoading:g,errorMessage:m,size:E,emptyStateMessage:x,childCount:V,children:I})});bt.displayName="MultiSelect";var de=react.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 jsxRuntime.jsx(reactAriaComponents.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})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[s==="multiple"?jsxRuntime.jsx(lucideReact.CheckSquare,{className:`absolute left-2 h-4 w-4 ${i?"visible":"invisible"}`,"aria-hidden":"true"}):i&&jsxRuntime.jsx(lucideReact.Check,{className:"absolute left-2 h-4 w-4","aria-hidden":"true"}),jsxRuntime.jsx("span",{className:p?"text-[var(--menu-muted)]":"",children:t})]})})});de.displayName="SelectItem";function we({children:e,className:t,...a}){return jsxRuntime.jsx(reactAriaComponents.ListBoxSection,{className:`border-t border-[var(--border)] first:border-t-0 ${t||""}`,...a,children:e})}we.displayName="SelectSection";function _e({children:e,className:t,...a}){return jsxRuntime.jsx(reactAriaComponents.Header,{className:`${lt({size:"default"})} ${t||""}`,...a,children:e})}_e.displayName="SelectHeader";var ue=Object.assign(ft,{Item:de,Section:we,Header:_e});Object.assign(bt,{Item:de,Section:we,Header:_e});var xt=classVarianceAuthority.cva(["flex flex-col gap-3"]),vt=classVarianceAuthority.cva(["flex items-center justify-between gap-3 flex-wrap px-0.5"]),gt=classVarianceAuthority.cva(["flex flex-col gap-2.5 list-none m-0 p-0"]),St=classVarianceAuthority.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=classVarianceAuthority.cva(["flex items-center justify-center min-w-[44px] min-h-[44px] -m-1 flex-none"]),ht=classVarianceAuthority.cva(["flex-1 min-w-0"]);function yt({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),E=d=>n==="all"||n.has(d),S=f.length>0&&f.every(E),v=f.some(E)&&!S,A=()=>n==="all"?new Set(f):new Set(n),I=()=>{l?.(S?new Set:new Set(f));},k=d=>{let T=A();T.has(d)?T.delete(d):T.add(d),l?.(T);},B=r?.column!=null?String(r.column):void 0,V=r?.direction??"ascending",c=d=>{let T=Array.isArray(d)?d[0]:d;T&&i?.({column:T,direction:r?.direction??"ascending"});},R=()=>{r?.column!=null&&i?.({column:r.column,direction:V==="ascending"?"descending":"ascending"});},C=x||s.length>0,L=e.length===0;return jsxRuntime.jsxs("div",{role:"region","aria-label":u,className:h(xt(),m),"data-testid":g,children:[jsxRuntime.jsx("p",{className:"sr-only",role:"status","aria-live":"polite",children:b.results(e.length)}),C&&jsxRuntime.jsxs("div",{className:vt(),children:[x?jsxRuntime.jsx(O,{label:b.selectAll,isSelected:S,isIndeterminate:v,onChange:I}):jsxRuntime.jsx("span",{}),s.length>0&&jsxRuntime.jsxs("div",{className:"flex items-end gap-2",children:[jsxRuntime.jsx(ue,{label:b.sort,placeholder:b.sortPlaceholder,value:B,onChange:c,children:s.map(d=>jsxRuntime.jsx(ue.Item,{value:d.id,children:d.label},d.id))}),jsxRuntime.jsx(F,{variant:"ghost",visualSize:"icon",isDisabled:r?.column==null,"aria-label":b.sortDirection(V),onPress:R,children:V==="ascending"?jsxRuntime.jsx(lucideReact.ArrowUp,{"aria-hidden":"true"}):jsxRuntime.jsx(lucideReact.ArrowDown,{"aria-hidden":"true"})})]})]}),L?p?jsxRuntime.jsx("div",{className:"rounded-lg border border-dashed border-[var(--border)] p-8 text-center","data-testid":"card-empty-state",children:p()}):null:jsxRuntime.jsx("ul",{className:gt(),children:e.map(d=>{let T=t(d),w=E(T);return jsxRuntime.jsxs("li",{className:St({isSelected:w}),children:[x&&jsxRuntime.jsx("div",{className:Tt(),children:jsxRuntime.jsx(O,{"aria-label":b.selectItem(d),isSelected:w,onChange:()=>k(T)})}),jsxRuntime.jsx("div",{className:ht(),children:a(d)})]},String(T))})})]})}yt.displayName="TableCardList";function Ra(e,t){let[a,o]=react.useState(false);return react.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}exports.BulkActionBar=ot;exports.Cell=Ye;exports.Column=$e;exports.Row=Ke;exports.Table=Ge;exports.TableBody=Ue;exports.TableCardList=yt;exports.TableFooter=je;exports.TableHeader=Fe;exports.bulkActionBarVariants=ne;exports.bulkActionHintVariants=ie;exports.bulkActionToolbarVariants=se;exports.cellVariants=ae;exports.columnVariants=ee;exports.resolveSelectedCount=aa;exports.rowVariants=te;exports.tableContainerVariants=be;exports.tableFooterVariants=ge;exports.tableHeaderVariants=ve;exports.tableVariants=xe;exports.useBulkActionShortcut=sa;exports.useContainerNarrow=Ra;//# sourceMappingURL=index.js.map
|
|
3
3
|
//# sourceMappingURL=index.js.map
|