@wallarm-org/design-system 0.3.1 → 0.4.0

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 (207) hide show
  1. package/dist/components/Alert/AlertClose.js +19 -21
  2. package/dist/components/Drawer/DrawerClose.js +0 -3
  3. package/dist/components/Drawer/DrawerResizeHandle.js +3 -1
  4. package/dist/components/DropdownMenu/DropdownMenu.d.ts +9 -2
  5. package/dist/components/DropdownMenu/DropdownMenu.js +37 -3
  6. package/dist/components/DropdownMenu/DropdownMenuContent.d.ts +5 -5
  7. package/dist/components/DropdownMenu/DropdownMenuContent.js +24 -21
  8. package/dist/components/DropdownMenu/DropdownMenuContext.d.ts +6 -0
  9. package/dist/components/DropdownMenu/DropdownMenuContext.js +4 -0
  10. package/dist/components/DropdownMenu/DropdownMenuContextTrigger.d.ts +10 -0
  11. package/dist/components/DropdownMenu/DropdownMenuContextTrigger.js +8 -0
  12. package/dist/components/DropdownMenu/DropdownMenuGroup.d.ts +5 -2
  13. package/dist/components/DropdownMenu/DropdownMenuGroup.js +8 -3
  14. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts +5 -7
  15. package/dist/components/DropdownMenu/DropdownMenuItem.js +9 -2
  16. package/dist/components/DropdownMenu/DropdownMenuLabel.d.ts +2 -4
  17. package/dist/components/DropdownMenu/DropdownMenuLabel.js +1 -2
  18. package/dist/components/DropdownMenu/DropdownMenuSeparator.d.ts +3 -4
  19. package/dist/components/DropdownMenu/DropdownMenuSeparator.js +3 -3
  20. package/dist/components/DropdownMenu/DropdownMenuTrigger.d.ts +9 -2
  21. package/dist/components/DropdownMenu/DropdownMenuTrigger.js +4 -3
  22. package/dist/components/DropdownMenu/DropdownMenuTriggerItem.d.ts +10 -0
  23. package/dist/components/DropdownMenu/{DropdownMenuSubTrigger.js → DropdownMenuTriggerItem.js} +4 -5
  24. package/dist/components/DropdownMenu/classes.js +4 -4
  25. package/dist/components/DropdownMenu/index.d.ts +6 -4
  26. package/dist/components/DropdownMenu/index.js +7 -5
  27. package/dist/components/Field/FieldLabel.d.ts +3 -3
  28. package/dist/components/Field/FieldLabel.js +3 -10
  29. package/dist/components/OverflowTooltip/OverflowTooltip.d.ts +3 -1
  30. package/dist/components/OverflowTooltip/OverflowTooltip.js +6 -7
  31. package/dist/components/OverflowTooltip/OverflowTooltipContent.d.ts +1 -3
  32. package/dist/components/OverflowTooltip/OverflowTooltipContent.js +1 -2
  33. package/dist/components/ScrollArea/ScrollArea.d.ts +1 -2
  34. package/dist/components/ScrollArea/ScrollArea.js +5 -3
  35. package/dist/components/ScrollArea/ScrollAreaScrollbar.js +1 -1
  36. package/dist/components/ScrollArea/ScrollAreaViewport.js +2 -1
  37. package/dist/components/Separator/Separator.d.ts +4 -3
  38. package/dist/components/Separator/Separator.js +4 -4
  39. package/dist/components/Skeleton/Skeleton.d.ts +14 -0
  40. package/dist/components/Skeleton/Skeleton.js +42 -0
  41. package/dist/components/Skeleton/index.d.ts +1 -0
  42. package/dist/components/Skeleton/index.js +2 -0
  43. package/dist/components/Switch/Switch.d.ts +1 -1
  44. package/dist/components/Switch/Switch.js +2 -2
  45. package/dist/components/Switch/SwitchLabel.d.ts +1 -1
  46. package/dist/components/Switch/SwitchLabel.js +2 -2
  47. package/dist/components/Table/Table.d.ts +5 -0
  48. package/dist/components/Table/Table.js +22 -0
  49. package/dist/components/Table/TableActionBar/TableActionBar.d.ts +5 -0
  50. package/dist/components/Table/TableActionBar/TableActionBar.js +30 -0
  51. package/dist/components/Table/TableActionBar/TableActionBarAnchor.d.ts +6 -0
  52. package/dist/components/Table/TableActionBar/TableActionBarAnchor.js +23 -0
  53. package/dist/components/Table/TableActionBar/TableActionBarProvider.d.ts +6 -0
  54. package/dist/components/Table/TableActionBar/TableActionBarProvider.js +27 -0
  55. package/dist/components/Table/TableActionBar/TableActionBarSelection.d.ts +2 -0
  56. package/dist/components/Table/TableActionBar/TableActionBarSelection.js +54 -0
  57. package/dist/components/Table/TableActionBar/index.d.ts +3 -0
  58. package/dist/components/Table/TableActionBar/index.js +4 -0
  59. package/dist/components/Table/TableBody.d.ts +2 -0
  60. package/dist/components/Table/TableBody.js +23 -0
  61. package/dist/components/Table/TableBodyCell.d.ts +12 -0
  62. package/dist/components/Table/TableBodyCell.js +32 -0
  63. package/dist/components/Table/TableBodyVirtualized.d.ts +2 -0
  64. package/dist/components/Table/TableBodyVirtualized.js +60 -0
  65. package/dist/components/Table/TableColGroup.d.ts +16 -0
  66. package/dist/components/Table/TableColGroup.js +33 -0
  67. package/dist/components/Table/TableContext/TableContext.d.ts +2 -0
  68. package/dist/components/Table/TableContext/TableContext.js +3 -0
  69. package/dist/components/Table/TableContext/TableProvider.d.ts +2 -0
  70. package/dist/components/Table/TableContext/TableProvider.js +264 -0
  71. package/dist/components/Table/TableContext/index.d.ts +4 -0
  72. package/dist/components/Table/TableContext/index.js +4 -0
  73. package/dist/components/Table/TableContext/types.d.ts +30 -0
  74. package/dist/components/Table/TableContext/types.js +0 -0
  75. package/dist/components/Table/TableContext/useTableContext.d.ts +2 -0
  76. package/dist/components/Table/TableContext/useTableContext.js +8 -0
  77. package/dist/components/Table/TableEmptyState.d.ts +6 -0
  78. package/dist/components/Table/TableEmptyState.js +15 -0
  79. package/dist/components/Table/TableExpandedRow.d.ts +9 -0
  80. package/dist/components/Table/TableExpandedRow.js +28 -0
  81. package/dist/components/Table/TableHead.d.ts +2 -0
  82. package/dist/components/Table/TableHead.js +17 -0
  83. package/dist/components/Table/TableHeadCell.d.ts +9 -0
  84. package/dist/components/Table/TableHeadCell.js +90 -0
  85. package/dist/components/Table/TableHeadCellMenu.d.ts +9 -0
  86. package/dist/components/Table/TableHeadCellMenu.js +174 -0
  87. package/dist/components/Table/TableInner.d.ts +10 -0
  88. package/dist/components/Table/TableInner.js +91 -0
  89. package/dist/components/Table/TableLoadingState.d.ts +2 -0
  90. package/dist/components/Table/TableLoadingState.js +31 -0
  91. package/dist/components/Table/TableResizeHandler.d.ts +9 -0
  92. package/dist/components/Table/TableResizeHandler.js +13 -0
  93. package/dist/components/Table/TableRow.d.ts +12 -0
  94. package/dist/components/Table/TableRow.js +73 -0
  95. package/dist/components/Table/TableScrollHandler.d.ts +7 -0
  96. package/dist/components/Table/TableScrollHandler.js +80 -0
  97. package/dist/components/Table/TableSettingsMenu/TableSettingsMenu.d.ts +2 -0
  98. package/dist/components/Table/TableSettingsMenu/TableSettingsMenu.js +163 -0
  99. package/dist/components/Table/TableSettingsMenu/TableSettingsMenuItem.d.ts +7 -0
  100. package/dist/components/Table/TableSettingsMenu/TableSettingsMenuItem.js +54 -0
  101. package/dist/components/Table/TableSettingsMenu/index.d.ts +1 -0
  102. package/dist/components/Table/TableSettingsMenu/index.js +2 -0
  103. package/dist/components/Table/TableSortHandler.d.ts +9 -0
  104. package/dist/components/Table/TableSortHandler.js +53 -0
  105. package/dist/components/Table/classes.d.ts +16 -0
  106. package/dist/components/Table/classes.js +69 -0
  107. package/dist/components/Table/hooks/index.d.ts +2 -0
  108. package/dist/components/Table/hooks/index.js +3 -0
  109. package/dist/components/Table/hooks/useHorizontalScrollState.d.ts +9 -0
  110. package/dist/components/Table/hooks/useHorizontalScrollState.js +38 -0
  111. package/dist/components/Table/hooks/useTableState.d.ts +1 -0
  112. package/dist/components/Table/hooks/useTableState.js +23 -0
  113. package/dist/components/Table/index.d.ts +7 -0
  114. package/dist/components/Table/index.js +6 -0
  115. package/dist/components/Table/lib/constants.d.ts +10 -0
  116. package/dist/components/Table/lib/constants.js +47 -0
  117. package/dist/components/Table/lib/createExpandColumn.d.ts +6 -0
  118. package/dist/components/Table/lib/createExpandColumn.js +45 -0
  119. package/dist/components/Table/lib/createSelectionColumn.d.ts +7 -0
  120. package/dist/components/Table/lib/createSelectionColumn.js +70 -0
  121. package/dist/components/Table/lib/createTableColumnHelper.d.ts +6 -0
  122. package/dist/components/Table/lib/createTableColumnHelper.js +13 -0
  123. package/dist/components/Table/lib/getDndStyles.d.ts +10 -0
  124. package/dist/components/Table/lib/getDndStyles.js +8 -0
  125. package/dist/components/Table/lib/getPinningStyles.d.ts +6 -0
  126. package/dist/components/Table/lib/getPinningStyles.js +10 -0
  127. package/dist/components/Table/lib/index.d.ts +8 -0
  128. package/dist/components/Table/lib/index.js +9 -0
  129. package/dist/components/Table/lib/isLastPinnedLeft.d.ts +9 -0
  130. package/dist/components/Table/lib/isLastPinnedLeft.js +6 -0
  131. package/dist/components/Table/lib/useColumnDnd.d.ts +14 -0
  132. package/dist/components/Table/lib/useColumnDnd.js +27 -0
  133. package/dist/components/Table/mocks.d.ts +47 -0
  134. package/dist/components/Table/mocks.js +860 -0
  135. package/dist/components/Table/primitives/TBody.d.ts +1 -0
  136. package/dist/components/Table/primitives/TBody.js +10 -0
  137. package/dist/components/Table/primitives/THead.d.ts +1 -0
  138. package/dist/components/Table/primitives/THead.js +10 -0
  139. package/dist/components/Table/primitives/Td.d.ts +7 -0
  140. package/dist/components/Table/primitives/Td.js +18 -0
  141. package/dist/components/Table/primitives/Th.d.ts +7 -0
  142. package/dist/components/Table/primitives/Th.js +18 -0
  143. package/dist/components/Table/primitives/Tr.d.ts +1 -0
  144. package/dist/components/Table/primitives/Tr.js +11 -0
  145. package/dist/components/Table/primitives/index.d.ts +5 -0
  146. package/dist/components/Table/primitives/index.js +6 -0
  147. package/dist/components/Table/types.d.ts +129 -0
  148. package/dist/components/Table/types.js +0 -0
  149. package/dist/components/Text/Text.d.ts +1 -1
  150. package/dist/components/Text/Text.js +1 -0
  151. package/dist/components/Tooltip/Tooltip.d.ts +16 -2
  152. package/dist/components/Tooltip/Tooltip.figma.js +7 -10
  153. package/dist/components/Tooltip/Tooltip.js +29 -5
  154. package/dist/components/Tooltip/TooltipContent.d.ts +3 -3
  155. package/dist/components/Tooltip/TooltipContent.js +13 -12
  156. package/dist/components/Tooltip/TooltipTrigger.d.ts +7 -2
  157. package/dist/components/Tooltip/TooltipTrigger.js +3 -4
  158. package/dist/components/Tooltip/index.d.ts +1 -2
  159. package/dist/components/Tooltip/index.js +1 -2
  160. package/dist/hooks/index.d.ts +1 -0
  161. package/dist/hooks/index.js +2 -1
  162. package/dist/hooks/useIsKeyPressed.d.ts +1 -0
  163. package/dist/hooks/useIsKeyPressed.js +22 -0
  164. package/dist/icons/Bug.d.ts +3 -0
  165. package/dist/icons/Bug.js +98 -0
  166. package/dist/icons/EllipsisVertical.d.ts +3 -0
  167. package/dist/icons/EllipsisVertical.js +28 -0
  168. package/dist/icons/Eye.d.ts +3 -0
  169. package/dist/icons/Eye.js +28 -0
  170. package/dist/icons/EyeOff.d.ts +3 -0
  171. package/dist/icons/EyeOff.js +42 -0
  172. package/dist/icons/GripVertical.d.ts +3 -0
  173. package/dist/icons/GripVertical.js +51 -0
  174. package/dist/icons/MoveDown.d.ts +3 -0
  175. package/dist/icons/MoveDown.js +26 -0
  176. package/dist/icons/MoveUp.d.ts +3 -0
  177. package/dist/icons/MoveUp.js +26 -0
  178. package/dist/icons/MoveVertical.d.ts +3 -0
  179. package/dist/icons/MoveVertical.js +34 -0
  180. package/dist/icons/Pin.d.ts +3 -0
  181. package/dist/icons/Pin.js +26 -0
  182. package/dist/icons/PinOff.d.ts +3 -0
  183. package/dist/icons/PinOff.js +42 -0
  184. package/dist/icons/Settings.d.ts +3 -0
  185. package/dist/icons/Settings.js +26 -0
  186. package/dist/icons/Settings2.d.ts +3 -0
  187. package/dist/icons/Settings2.js +46 -0
  188. package/dist/icons/index.d.ts +12 -0
  189. package/dist/icons/index.js +13 -1
  190. package/dist/index.d.ts +3 -2
  191. package/dist/index.js +4 -3
  192. package/dist/metadata/components.json +852 -236
  193. package/dist/theme/semantic.css +2 -0
  194. package/package.json +6 -5
  195. package/dist/components/DropdownMenu/DropdownMenuPortal.d.ts +0 -3
  196. package/dist/components/DropdownMenu/DropdownMenuPortal.js +0 -7
  197. package/dist/components/DropdownMenu/DropdownMenuSub.d.ts +0 -3
  198. package/dist/components/DropdownMenu/DropdownMenuSub.js +0 -7
  199. package/dist/components/DropdownMenu/DropdownMenuSubContent.d.ts +0 -7
  200. package/dist/components/DropdownMenu/DropdownMenuSubContent.js +0 -14
  201. package/dist/components/DropdownMenu/DropdownMenuSubTrigger.d.ts +0 -12
  202. package/dist/components/Label/Label.d.ts +0 -6
  203. package/dist/components/Label/Label.js +0 -10
  204. package/dist/components/Label/index.d.ts +0 -1
  205. package/dist/components/Label/index.js +0 -2
  206. package/dist/components/Tooltip/TooltipProvider.d.ts +0 -3
  207. package/dist/components/Tooltip/TooltipProvider.js +0 -7
@@ -0,0 +1 @@
1
+ export declare const TBody: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, "ref"> & import("react").RefAttributes<HTMLTableSectionElement>>;
@@ -0,0 +1,10 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { cn } from "../../../utils/cn.js";
4
+ const TBody = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("tbody", {
5
+ ref: ref,
6
+ className: cn(className),
7
+ ...props
8
+ }));
9
+ TBody.displayName = 'TBody';
10
+ export { TBody };
@@ -0,0 +1 @@
1
+ export declare const THead: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, "ref"> & import("react").RefAttributes<HTMLTableSectionElement>>;
@@ -0,0 +1,10 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { cn } from "../../../utils/cn.js";
4
+ const THead = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("thead", {
5
+ ref: ref,
6
+ className: cn(className),
7
+ ...props
8
+ }));
9
+ THead.displayName = 'THead';
10
+ export { THead };
@@ -0,0 +1,7 @@
1
+ import { type ComponentPropsWithRef } from 'react';
2
+ import type { VariantProps } from 'class-variance-authority';
3
+ import { tableBodyCellVariants } from '../classes';
4
+ type TdVariantProps = VariantProps<typeof tableBodyCellVariants>;
5
+ type TdProps = Omit<ComponentPropsWithRef<'td'>, keyof TdVariantProps> & TdVariantProps;
6
+ export declare const Td: import("react").ForwardRefExoticComponent<Omit<TdProps, "ref"> & import("react").RefAttributes<HTMLTableCellElement>>;
7
+ export {};
@@ -0,0 +1,18 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { cn } from "../../../utils/cn.js";
4
+ import { tableBodyCellVariants } from "../classes.js";
5
+ const Td = /*#__PURE__*/ forwardRef(({ className, pinned, lastPinnedLeft, expanded, ...props }, ref)=>{
6
+ const hasVariants = void 0 !== pinned || void 0 !== lastPinnedLeft || void 0 !== expanded;
7
+ return /*#__PURE__*/ jsx("td", {
8
+ ref: ref,
9
+ className: cn(hasVariants ? tableBodyCellVariants({
10
+ pinned,
11
+ lastPinnedLeft,
12
+ expanded
13
+ }) : void 0, className),
14
+ ...props
15
+ });
16
+ });
17
+ Td.displayName = 'Td';
18
+ export { Td };
@@ -0,0 +1,7 @@
1
+ import { type ComponentPropsWithRef } from 'react';
2
+ import type { VariantProps } from 'class-variance-authority';
3
+ import { tableHeadCellVariants } from '../classes';
4
+ type ThVariantProps = VariantProps<typeof tableHeadCellVariants>;
5
+ type ThProps = Omit<ComponentPropsWithRef<'th'>, keyof ThVariantProps> & ThVariantProps;
6
+ export declare const Th: import("react").ForwardRefExoticComponent<Omit<ThProps, "ref"> & import("react").RefAttributes<HTMLTableCellElement>>;
7
+ export {};
@@ -0,0 +1,18 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { cn } from "../../../utils/cn.js";
4
+ import { tableHeadCellVariants } from "../classes.js";
5
+ const Th = /*#__PURE__*/ forwardRef(({ className, interactive, sorted, pinned, lastPinnedLeft, draggable, ...props }, ref)=>/*#__PURE__*/ jsx("th", {
6
+ ref: ref,
7
+ scope: "col",
8
+ className: cn(tableHeadCellVariants({
9
+ interactive,
10
+ sorted,
11
+ pinned,
12
+ lastPinnedLeft,
13
+ draggable
14
+ }), className),
15
+ ...props
16
+ }));
17
+ Th.displayName = 'Th';
18
+ export { Th };
@@ -0,0 +1 @@
1
+ export declare const Tr: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, "ref"> & import("react").RefAttributes<HTMLTableRowElement>>;
@@ -0,0 +1,11 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { cn } from "../../../utils/cn.js";
4
+ import { tableRowVariants } from "../classes.js";
5
+ const Tr = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("tr", {
6
+ ref: ref,
7
+ className: cn(tableRowVariants(), className),
8
+ ...props
9
+ }));
10
+ Tr.displayName = 'Tr';
11
+ export { Tr };
@@ -0,0 +1,5 @@
1
+ export { TBody } from './TBody';
2
+ export { Td } from './Td';
3
+ export { THead } from './THead';
4
+ export { Th } from './Th';
5
+ export { Tr } from './Tr';
@@ -0,0 +1,6 @@
1
+ import { TBody } from "./TBody.js";
2
+ import { Td } from "./Td.js";
3
+ import { THead } from "./THead.js";
4
+ import { Th } from "./Th.js";
5
+ import { Tr } from "./Tr.js";
6
+ export { TBody, THead, Td, Th, Tr };
@@ -0,0 +1,129 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { RowData } from '@tanstack/react-table';
3
+ declare module '@tanstack/react-table' {
4
+ interface ColumnMeta<TData extends RowData, TValue> {
5
+ headerClassName?: string;
6
+ cellClassName?: string;
7
+ /** Sort label type — controls the wording in the sort submenu */
8
+ sortType?: 'text' | 'number' | 'date' | 'duration' | 'score' | 'boolean' | 'version' | 'severity' | 'size';
9
+ }
10
+ }
11
+ /** Sorting state: array of `{ id, desc }` */
12
+ export type TableSortingState = {
13
+ id: string;
14
+ desc: boolean;
15
+ }[];
16
+ /** Row selection state: `{ [rowId]: boolean }` */
17
+ export type TableRowSelectionState = Record<string, boolean>;
18
+ /** Column sizing state: `{ [columnId]: number }` */
19
+ export type TableColumnSizingState = Record<string, number>;
20
+ /** Column pinning state */
21
+ export type TableColumnPinningState = {
22
+ left?: string[];
23
+ right?: string[];
24
+ };
25
+ /** Expanded state: `true` (all) or `{ [rowId]: boolean }` */
26
+ export type TableExpandedState = true | Record<string, boolean>;
27
+ /** Grouping state: array of column IDs */
28
+ export type TableGroupingState = string[];
29
+ /** Column visibility state: `{ [columnId]: boolean }` */
30
+ export type TableVisibilityState = Record<string, boolean>;
31
+ /** State updater — value or functional update */
32
+ export type TableUpdater<T> = T | ((prev: T) => T);
33
+ /** onChange callback */
34
+ export type TableOnChangeFn<T> = (updaterOrValue: TableUpdater<T>) => void;
35
+ /** Public row interface — structural subset of TanStack Row<T> */
36
+ export interface TableRow<T> {
37
+ id: string;
38
+ original: T;
39
+ subRows: TableRow<T>[];
40
+ getIsExpanded: () => boolean;
41
+ getToggleExpandedHandler: () => () => void;
42
+ getIsSelected: () => boolean;
43
+ getToggleSelectedHandler: () => (event: unknown) => void;
44
+ getIsGrouped: () => boolean;
45
+ }
46
+ /** Public cell context — structural subset of TanStack CellContext<T, V> */
47
+ export interface TableCellContext<T, V> {
48
+ getValue: () => V;
49
+ row: TableRow<T>;
50
+ }
51
+ /** Column meta — mirrors the ColumnMeta augmentation */
52
+ export interface TableColumnMeta {
53
+ headerClassName?: string;
54
+ cellClassName?: string;
55
+ sortType?: 'text' | 'number' | 'date' | 'duration' | 'score' | 'boolean' | 'version' | 'severity' | 'size';
56
+ }
57
+ /** Shared column properties */
58
+ export interface TableColumnBase<T, V> {
59
+ header?: string | ((ctx: {
60
+ column: {
61
+ id: string;
62
+ };
63
+ }) => ReactNode);
64
+ cell?: (ctx: TableCellContext<T, V>) => ReactNode;
65
+ size?: number;
66
+ minSize?: number;
67
+ maxSize?: number;
68
+ enableSorting?: boolean;
69
+ enableResizing?: boolean;
70
+ enableColumnPinning?: boolean;
71
+ enableHiding?: boolean;
72
+ meta?: TableColumnMeta;
73
+ }
74
+ /** Accessor column — maps to a data property */
75
+ export interface TableAccessorColumnDef<T, V = unknown> extends TableColumnBase<T, V> {
76
+ accessorKey: keyof T & string;
77
+ id?: string;
78
+ }
79
+ /** Display column — no data accessor, render-only */
80
+ export interface TableDisplayColumnDef<T> extends TableColumnBase<T, never> {
81
+ id: string;
82
+ accessorKey?: never;
83
+ }
84
+ /**
85
+ * Union column def type.
86
+ * `any` is required: V is invariant (contravariant callback params like `cell`),
87
+ * so `unknown` would reject concrete types like `TableAccessorColumnDef<T, string>`.
88
+ * This mirrors TanStack Table's own `ColumnDef<T, any>`.
89
+ */
90
+ export type TableColumnDef<T> = TableAccessorColumnDef<T, any> | TableDisplayColumnDef<T>;
91
+ export interface TableProps<T> {
92
+ /** Data array for rows */
93
+ data: T[];
94
+ /** Column definitions */
95
+ columns: TableColumnDef<T>[];
96
+ /** Show skeleton rows */
97
+ isLoading?: boolean;
98
+ /** Slot for TableActionBar, TableEmptyState, and other compound components */
99
+ children?: ReactNode;
100
+ /** Row id accessor for stable row identity */
101
+ getRowId?: (row: T, index: number) => string;
102
+ /** Accessible label for the table */
103
+ 'aria-label'?: string;
104
+ sorting?: TableSortingState;
105
+ onSortingChange?: TableOnChangeFn<TableSortingState>;
106
+ rowSelection?: TableRowSelectionState;
107
+ onRowSelectionChange?: TableOnChangeFn<TableRowSelectionState>;
108
+ columnSizing?: TableColumnSizingState;
109
+ onColumnSizingChange?: TableOnChangeFn<TableColumnSizingState>;
110
+ columnPinning?: TableColumnPinningState;
111
+ onColumnPinningChange?: TableOnChangeFn<TableColumnPinningState>;
112
+ columnOrder?: string[];
113
+ onColumnOrderChange?: TableOnChangeFn<string[]>;
114
+ grouping?: TableGroupingState;
115
+ onGroupingChange?: TableOnChangeFn<TableGroupingState>;
116
+ renderGroupRow?: (row: TableRow<T>) => ReactNode;
117
+ /** Sub-row accessor for hierarchical/tree data (used with renderGroupRow) */
118
+ getSubRows?: (row: T) => T[] | undefined;
119
+ expanded?: TableExpandedState;
120
+ onExpandedChange?: TableOnChangeFn<TableExpandedState>;
121
+ renderExpandedRow?: (row: TableRow<T>) => ReactNode;
122
+ columnVisibility?: TableVisibilityState;
123
+ onColumnVisibilityChange?: TableOnChangeFn<TableVisibilityState>;
124
+ defaultColumnVisibility?: TableVisibilityState;
125
+ defaultColumnOrder?: string[];
126
+ virtualized?: boolean;
127
+ estimateRowHeight?: (index: number) => number;
128
+ overscan?: number;
129
+ }
File without changes
@@ -3,7 +3,7 @@ import { type VariantProps } from 'class-variance-authority';
3
3
  declare const textVariants: (props?: ({
4
4
  size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
5
5
  weight?: "bold" | "light" | "regular" | "medium" | null | undefined;
6
- color?: "inherit" | "primary" | "primary-alt" | "secondary" | "secondary-alt" | "danger" | null | undefined;
6
+ color?: "inherit" | "primary" | "primary-alt" | "secondary" | "secondary-alt" | "tertiary-alt" | "danger" | null | undefined;
7
7
  align?: "left" | "center" | "right" | null | undefined;
8
8
  grow?: boolean | null | undefined;
9
9
  truncate?: boolean | null | undefined;
@@ -22,6 +22,7 @@ const textVariants = cva('font-sans-display break-words', {
22
22
  'primary-alt': 'text-text-primary-alt',
23
23
  secondary: 'text-text-secondary',
24
24
  'secondary-alt': 'text-text-secondary-alt',
25
+ 'tertiary-alt': 'text-text-tertiary-alt',
25
26
  danger: 'text-text-danger',
26
27
  inherit: 'text-inherit'
27
28
  },
@@ -1,3 +1,17 @@
1
- import type { FC } from 'react';
2
- import { type TooltipProps } from '@radix-ui/react-tooltip';
1
+ import type { FC, ReactNode } from 'react';
2
+ import { Tooltip as ArkUiTooltip } from '@ark-ui/react/tooltip';
3
+ export interface TooltipProps {
4
+ children: ReactNode;
5
+ open?: boolean;
6
+ defaultOpen?: boolean;
7
+ onOpenChange?: (open: boolean) => void;
8
+ openDelay?: number;
9
+ closeDelay?: number;
10
+ closeOnPointerDown?: boolean;
11
+ closeOnEscape?: boolean;
12
+ closeOnScroll?: boolean;
13
+ interactive?: boolean;
14
+ disabled?: boolean;
15
+ positioning?: ArkUiTooltip.RootProps['positioning'];
16
+ }
3
17
  export declare const Tooltip: FC<TooltipProps>;
@@ -2,21 +2,18 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import code_connect from "@figma/code-connect";
3
3
  import { Tooltip } from "./Tooltip.js";
4
4
  import { TooltipContent } from "./TooltipContent.js";
5
- import { TooltipProvider } from "./TooltipProvider.js";
6
5
  import { TooltipTrigger } from "./TooltipTrigger.js";
7
6
  const figmaNodeUrl = 'https://www.figma.com/design/VKb5gW46uSGw0rqrhZsbXT/wip-components?node-id=269-10037';
8
7
  code_connect.connect(Tooltip, figmaNodeUrl, {
9
8
  props: {
10
9
  content: code_connect.string('Name')
11
10
  },
12
- example: ({ content })=>/*#__PURE__*/ jsx(TooltipProvider, {
13
- children: /*#__PURE__*/ jsxs(Tooltip, {
14
- children: [
15
- /*#__PURE__*/ jsx(TooltipTrigger, {}),
16
- /*#__PURE__*/ jsx(TooltipContent, {
17
- children: content
18
- })
19
- ]
20
- })
11
+ example: ({ content })=>/*#__PURE__*/ jsxs(Tooltip, {
12
+ children: [
13
+ /*#__PURE__*/ jsx(TooltipTrigger, {}),
14
+ /*#__PURE__*/ jsx(TooltipContent, {
15
+ children: content
16
+ })
17
+ ]
21
18
  })
22
19
  });
@@ -1,7 +1,31 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { Root } from "@radix-ui/react-tooltip";
3
- const Tooltip = (props)=>/*#__PURE__*/ jsx(Root, {
4
- ...props
2
+ import { Tooltip } from "@ark-ui/react/tooltip";
3
+ const TOOLTIP_POSITIONING_DEFAULT = {
4
+ offset: {
5
+ mainAxis: 6
6
+ },
7
+ overflowPadding: 8
8
+ };
9
+ const Tooltip_Tooltip = ({ children, open, defaultOpen, onOpenChange, openDelay, closeDelay, closeOnPointerDown, closeOnEscape, closeOnScroll, interactive, disabled, positioning })=>{
10
+ const handleOpenChange = (details)=>{
11
+ onOpenChange?.(details.open);
12
+ };
13
+ return /*#__PURE__*/ jsx(Tooltip.Root, {
14
+ open: open,
15
+ defaultOpen: defaultOpen,
16
+ onOpenChange: handleOpenChange,
17
+ openDelay: openDelay,
18
+ closeDelay: closeDelay,
19
+ closeOnPointerDown: closeOnPointerDown,
20
+ closeOnEscape: closeOnEscape,
21
+ closeOnScroll: closeOnScroll,
22
+ interactive: interactive,
23
+ disabled: disabled,
24
+ positioning: positioning ?? TOOLTIP_POSITIONING_DEFAULT,
25
+ lazyMount: true,
26
+ unmountOnExit: true,
27
+ children: children
5
28
  });
6
- Tooltip.displayName = 'Tooltip';
7
- export { Tooltip };
29
+ };
30
+ Tooltip_Tooltip.displayName = 'Tooltip';
31
+ export { Tooltip_Tooltip as Tooltip };
@@ -1,7 +1,7 @@
1
1
  import type { ComponentPropsWithoutRef, ElementRef, FC, Ref } from 'react';
2
- import { Content } from '@radix-ui/react-tooltip';
3
- type TooltipContentProps = ComponentPropsWithoutRef<typeof Content> & {
4
- ref?: Ref<ElementRef<typeof Content>>;
2
+ import { Tooltip as ArkUiTooltip } from '@ark-ui/react/tooltip';
3
+ type TooltipContentProps = ComponentPropsWithoutRef<typeof ArkUiTooltip.Content> & {
4
+ ref?: Ref<ElementRef<typeof ArkUiTooltip.Content>>;
5
5
  };
6
6
  export declare const TooltipContent: FC<TooltipContentProps>;
7
7
  export {};
@@ -1,12 +1,13 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { Content, Portal } from "@radix-ui/react-tooltip";
2
+ import { Portal } from "@ark-ui/react/portal";
3
+ import { Tooltip } from "@ark-ui/react/tooltip";
3
4
  import { cva } from "class-variance-authority";
4
5
  import { cn } from "../../utils/cn.js";
5
6
  import { hasNonTextEnd } from "../../utils/hasNonTextEnd.js";
6
7
  const tooltipContentVariants = cva([
7
8
  'py-4 rounded-8 bg-component-tooltip-bg text-text-primary-alt-fixed text-xs font-medium',
8
9
  'z-50 overflow-hidden',
9
- 'animate-in fade-in-0 zoom-in-95 origin-[--radix-tooltip-content-transform-origin]',
10
+ 'animate-in fade-in-0 zoom-in-95 origin-[--transform-origin]',
10
11
  'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',
11
12
  'data-[side=bottom]:slide-in-from-top-2',
12
13
  'data-[side=left]:slide-in-from-right-2',
@@ -21,16 +22,16 @@ const tooltipContentVariants = cva([
21
22
  }
22
23
  }
23
24
  });
24
- const TooltipContent = ({ children, sideOffset = 6, className, ref, ...props })=>/*#__PURE__*/ jsx(Portal, {
25
- children: /*#__PURE__*/ jsx(Content, {
26
- ref: ref,
27
- sideOffset: sideOffset,
28
- collisionPadding: 8,
29
- className: cn(tooltipContentVariants({
30
- hasNonTextEnd: hasNonTextEnd(children)
31
- }), className),
32
- ...props,
33
- children: children
25
+ const TooltipContent = ({ children, className, ref, ...props })=>/*#__PURE__*/ jsx(Portal, {
26
+ children: /*#__PURE__*/ jsx(Tooltip.Positioner, {
27
+ children: /*#__PURE__*/ jsx(Tooltip.Content, {
28
+ ref: ref,
29
+ className: cn(tooltipContentVariants({
30
+ hasNonTextEnd: hasNonTextEnd(children)
31
+ }), className),
32
+ ...props,
33
+ children: children
34
+ })
34
35
  })
35
36
  });
36
37
  TooltipContent.displayName = 'TooltipContent';
@@ -1,2 +1,7 @@
1
- import { type TooltipTriggerProps } from '@radix-ui/react-tooltip';
2
- export declare const TooltipTrigger: import("react").ForwardRefExoticComponent<TooltipTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
1
+ import type { ComponentPropsWithoutRef, ElementRef, FC, Ref } from 'react';
2
+ import { Tooltip as ArkUiTooltip } from '@ark-ui/react/tooltip';
3
+ type TooltipTriggerProps = ComponentPropsWithoutRef<typeof ArkUiTooltip.Trigger> & {
4
+ ref?: Ref<ElementRef<typeof ArkUiTooltip.Trigger>>;
5
+ };
6
+ export declare const TooltipTrigger: FC<TooltipTriggerProps>;
7
+ export {};
@@ -1,9 +1,8 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import { forwardRef } from "react";
3
- import { Trigger } from "@radix-ui/react-tooltip";
4
- const TooltipTrigger = /*#__PURE__*/ forwardRef((props, ref)=>/*#__PURE__*/ jsx(Trigger, {
2
+ import { Tooltip } from "@ark-ui/react/tooltip";
3
+ const TooltipTrigger = ({ ref, ...props })=>/*#__PURE__*/ jsx(Tooltip.Trigger, {
5
4
  ref: ref,
6
5
  ...props
7
- }));
6
+ });
8
7
  TooltipTrigger.displayName = 'TooltipTrigger';
9
8
  export { TooltipTrigger };
@@ -1,4 +1,3 @@
1
- export { Tooltip } from './Tooltip';
1
+ export { Tooltip, type TooltipProps } from './Tooltip';
2
2
  export { TooltipContent } from './TooltipContent';
3
- export { TooltipProvider } from './TooltipProvider';
4
3
  export { TooltipTrigger } from './TooltipTrigger';
@@ -1,5 +1,4 @@
1
1
  import { Tooltip } from "./Tooltip.js";
2
2
  import { TooltipContent } from "./TooltipContent.js";
3
- import { TooltipProvider } from "./TooltipProvider.js";
4
3
  import { TooltipTrigger } from "./TooltipTrigger.js";
5
- export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
4
+ export { Tooltip, TooltipContent, TooltipTrigger };
@@ -1,3 +1,4 @@
1
1
  export { useControlled } from './useControlled';
2
2
  export { useCopyToClipboard } from './useCopyToClipboard';
3
+ export { useIsKeyPressed } from './useIsKeyPressed';
3
4
  export { type UseOverflowItemsOptions, type UseOverflowItemsResult, useOverflowItems, } from './useOverflowItems';
@@ -1,4 +1,5 @@
1
1
  import { useControlled } from "./useControlled.js";
2
2
  import { useCopyToClipboard } from "./useCopyToClipboard.js";
3
+ import { useIsKeyPressed } from "./useIsKeyPressed.js";
3
4
  import { useOverflowItems } from "./useOverflowItems.js";
4
- export { useControlled, useCopyToClipboard, useOverflowItems };
5
+ export { useControlled, useCopyToClipboard, useIsKeyPressed, useOverflowItems };
@@ -0,0 +1 @@
1
+ export declare const useIsKeyPressed: (targetKey: string) => React.RefObject<boolean>;
@@ -0,0 +1,22 @@
1
+ import { useEffect, useRef } from "react";
2
+ const useIsKeyPressed = (targetKey)=>{
3
+ const ref = useRef(false);
4
+ useEffect(()=>{
5
+ const downHandler = ({ key })=>{
6
+ if (key === targetKey) ref.current = true;
7
+ };
8
+ const upHandler = ({ key })=>{
9
+ if (key === targetKey) ref.current = false;
10
+ };
11
+ window.addEventListener('keydown', downHandler);
12
+ window.addEventListener('keyup', upHandler);
13
+ return ()=>{
14
+ window.removeEventListener('keydown', downHandler);
15
+ window.removeEventListener('keyup', upHandler);
16
+ };
17
+ }, [
18
+ targetKey
19
+ ]);
20
+ return ref;
21
+ };
22
+ export { useIsKeyPressed };
@@ -0,0 +1,3 @@
1
+ import type { FC } from 'react';
2
+ import { type SvgIconProps } from './SvgIcon';
3
+ export declare const Bug: FC<SvgIconProps>;
@@ -0,0 +1,98 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { SvgIcon } from "./SvgIcon.js";
3
+ const Bug = (props)=>/*#__PURE__*/ jsxs(SvgIcon, {
4
+ ...props,
5
+ viewBox: "0 0 24 24",
6
+ children: [
7
+ /*#__PURE__*/ jsx("path", {
8
+ d: "M12 20v-9",
9
+ stroke: "currentColor",
10
+ strokeWidth: "2",
11
+ strokeLinecap: "round",
12
+ strokeLinejoin: "round",
13
+ fill: "none"
14
+ }),
15
+ /*#__PURE__*/ jsx("path", {
16
+ d: "M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",
17
+ stroke: "currentColor",
18
+ strokeWidth: "2",
19
+ strokeLinecap: "round",
20
+ strokeLinejoin: "round",
21
+ fill: "none"
22
+ }),
23
+ /*#__PURE__*/ jsx("path", {
24
+ d: "M14.12 3.88 16 2",
25
+ stroke: "currentColor",
26
+ strokeWidth: "2",
27
+ strokeLinecap: "round",
28
+ strokeLinejoin: "round",
29
+ fill: "none"
30
+ }),
31
+ /*#__PURE__*/ jsx("path", {
32
+ d: "M21 21a4 4 0 0 0-3.81-4",
33
+ stroke: "currentColor",
34
+ strokeWidth: "2",
35
+ strokeLinecap: "round",
36
+ strokeLinejoin: "round",
37
+ fill: "none"
38
+ }),
39
+ /*#__PURE__*/ jsx("path", {
40
+ d: "M21 5a4 4 0 0 1-3.55 3.97",
41
+ stroke: "currentColor",
42
+ strokeWidth: "2",
43
+ strokeLinecap: "round",
44
+ strokeLinejoin: "round",
45
+ fill: "none"
46
+ }),
47
+ /*#__PURE__*/ jsx("path", {
48
+ d: "M22 13h-4",
49
+ stroke: "currentColor",
50
+ strokeWidth: "2",
51
+ strokeLinecap: "round",
52
+ strokeLinejoin: "round",
53
+ fill: "none"
54
+ }),
55
+ /*#__PURE__*/ jsx("path", {
56
+ d: "M3 21a4 4 0 0 1 3.81-4",
57
+ stroke: "currentColor",
58
+ strokeWidth: "2",
59
+ strokeLinecap: "round",
60
+ strokeLinejoin: "round",
61
+ fill: "none"
62
+ }),
63
+ /*#__PURE__*/ jsx("path", {
64
+ d: "M3 5a4 4 0 0 0 3.55 3.97",
65
+ stroke: "currentColor",
66
+ strokeWidth: "2",
67
+ strokeLinecap: "round",
68
+ strokeLinejoin: "round",
69
+ fill: "none"
70
+ }),
71
+ /*#__PURE__*/ jsx("path", {
72
+ d: "M6 13H2",
73
+ stroke: "currentColor",
74
+ strokeWidth: "2",
75
+ strokeLinecap: "round",
76
+ strokeLinejoin: "round",
77
+ fill: "none"
78
+ }),
79
+ /*#__PURE__*/ jsx("path", {
80
+ d: "m8 2 1.88 1.88",
81
+ stroke: "currentColor",
82
+ strokeWidth: "2",
83
+ strokeLinecap: "round",
84
+ strokeLinejoin: "round",
85
+ fill: "none"
86
+ }),
87
+ /*#__PURE__*/ jsx("path", {
88
+ d: "M9 7.13V6a3 3 0 1 1 6 0v1.13",
89
+ stroke: "currentColor",
90
+ strokeWidth: "2",
91
+ strokeLinecap: "round",
92
+ strokeLinejoin: "round",
93
+ fill: "none"
94
+ })
95
+ ]
96
+ });
97
+ Bug.displayName = 'BugIcon';
98
+ export { Bug };
@@ -0,0 +1,3 @@
1
+ import type { FC } from 'react';
2
+ import { type SvgIconProps } from './SvgIcon';
3
+ export declare const EllipsisVertical: FC<SvgIconProps>;
@@ -0,0 +1,28 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { SvgIcon } from "./SvgIcon.js";
3
+ const EllipsisVertical = (props)=>/*#__PURE__*/ jsxs(SvgIcon, {
4
+ ...props,
5
+ viewBox: "0 0 24 24",
6
+ children: [
7
+ /*#__PURE__*/ jsx("circle", {
8
+ cx: "12",
9
+ cy: "12",
10
+ r: "1",
11
+ fill: "currentColor"
12
+ }),
13
+ /*#__PURE__*/ jsx("circle", {
14
+ cx: "12",
15
+ cy: "5",
16
+ r: "1",
17
+ fill: "currentColor"
18
+ }),
19
+ /*#__PURE__*/ jsx("circle", {
20
+ cx: "12",
21
+ cy: "19",
22
+ r: "1",
23
+ fill: "currentColor"
24
+ })
25
+ ]
26
+ });
27
+ EllipsisVertical.displayName = 'EllipsisVerticalIcon';
28
+ export { EllipsisVertical };
@@ -0,0 +1,3 @@
1
+ import type { FC } from 'react';
2
+ import { type SvgIconProps } from './SvgIcon';
3
+ export declare const Eye: FC<SvgIconProps>;