@wallarm-org/design-system 0.88.0 → 0.88.1-rc-fix-status-code-zero-value.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.
Files changed (25) hide show
  1. package/dist/components/FilterInput/lib/statusCode/createStatusCodeNormalizer.d.ts +1 -0
  2. package/dist/components/FilterInput/lib/statusCode/createStatusCodeSerializer.d.ts +1 -0
  3. package/dist/components/FilterInput/lib/statusCode/createStatusCodeSuggestions.d.ts +3 -3
  4. package/dist/components/FilterInput/lib/statusCode/createStatusCodeValidator.d.ts +3 -2
  5. package/dist/components/FilterInput/lib/statusCode/utils/canonicalize.d.ts +2 -1
  6. package/dist/components/FilterInput/lib/statusCode/utils/constants.d.ts +5 -3
  7. package/dist/components/FilterInput/lib/statusCode/utils/constants.js +1 -0
  8. package/dist/components/FilterInput/lib/statusCode/utils/makeMask.d.ts +6 -2
  9. package/dist/components/FilterInput/lib/statusCode/utils/makeMask.js +11 -1
  10. package/dist/components/Table/EditableCell/EditableSelectCell.d.ts +28 -0
  11. package/dist/components/Table/EditableCell/EditableSelectCell.js +66 -0
  12. package/dist/components/Table/EditableCell/EditableTextCell.d.ts +22 -0
  13. package/dist/components/Table/EditableCell/EditableTextCell.js +78 -0
  14. package/dist/components/Table/EditableCell/classes.d.ts +11 -0
  15. package/dist/components/Table/EditableCell/classes.js +17 -0
  16. package/dist/components/Table/EditableCell/constants.d.ts +19 -0
  17. package/dist/components/Table/EditableCell/constants.js +4 -0
  18. package/dist/components/Table/EditableCell/index.d.ts +4 -0
  19. package/dist/components/Table/EditableCell/index.js +4 -0
  20. package/dist/components/Table/index.d.ts +1 -0
  21. package/dist/components/Table/index.js +1 -0
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/metadata/components.json +768 -190
  25. package/package.json +1 -1
@@ -4,6 +4,7 @@
4
4
  * - "2" → "2XX"
5
5
  * - "22" → "22X"
6
6
  * - "2x" → "2XX"
7
+ * - "0" → "0XX" (Wallarm's "no response" class)
7
8
  * - "222", "4XX", "40X" → unchanged (already 3 chars)
8
9
  * Leaves anything unrecognised alone so `validate` can still flag it.
9
10
  */
@@ -8,6 +8,7 @@
8
8
  * "222" → "222"
9
9
  * "4XX" → "4"
10
10
  * "40X" → "40"
11
+ * "0XX" → "0" (Wallarm's "no response" class)
11
12
  *
12
13
  * Anything that isn't a status-code-shaped string (e.g. a number, boolean,
13
14
  * or freeform text) is returned unchanged so invalid committed values still
@@ -2,15 +2,15 @@ import type { FieldValueOption } from '../../types';
2
2
  /**
3
3
  * Build the `getSuggestions` callback for an HTTP status code field. The
4
4
  * returned function:
5
- * - on empty input, offers every HTTP class mask (`1XX..5XX`)
5
+ * - on empty input, offers every class mask (`0XX..5XX`)
6
6
  * - on partial input (`"3"`, `"3X"`, `"30"`, …), expands it via
7
7
  * `canonicalizeStatusCodeInput` and offers the single matching mask
8
8
  * - merges any `context.selectedValues` (values already committed to the
9
9
  * chip) in front of the input-driven output so they always appear with
10
10
  * their canonical badge styling
11
11
  *
12
- * No backend config is required — the status-code class range is fixed to
13
- * `[1..5]` per the HTTP spec.
12
+ * No backend config is required — the class range is fixed to `[0..5]`
13
+ * (HTTP `1`–`5` plus Wallarm's `0` "no response" class).
14
14
  */
15
15
  export declare const createStatusCodeSuggestions: () => ((inputText: string, context?: {
16
16
  selectedValues?: Array<string | number | boolean>;
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Build a validator for the HTTP status code field. Accepts only 3-character
3
- * values whose leading digit is a valid HTTP class (`[1..5]`) and whose
4
- * remaining two characters form one of:
3
+ * values whose leading digit is a valid class root (`[0..5]` `1`–`5` are the
4
+ * HTTP classes, `0` is Wallarm's "no response" class) and whose remaining two
5
+ * characters form one of:
5
6
  * - `XX` (mask like `4XX`)
6
7
  * - `dX` (narrowed mask like `40X`)
7
8
  * - `dd` (concrete code like `401`)
@@ -5,6 +5,7 @@
5
5
  *
6
6
  * Accepted inputs:
7
7
  * "3" → "3XX" (single digit pads to full class mask)
8
+ * "0" → "0XX" (Wallarm's "no response" class)
8
9
  * "3X" → "3XX" (partial mask)
9
10
  * "3XX" → "3XX" (full mask)
10
11
  * "30" → "30X" (two digits pad to narrowed mask)
@@ -14,7 +15,7 @@
14
15
  * Rejected:
15
16
  * "3X0" (digit after placeholder)
16
17
  * "X30" (starts with placeholder)
17
- * "6..." (leading digit outside the `[1..5]` HTTP class range)
18
+ * "6..." (leading digit outside the `[0..5]` class range)
18
19
  * "ab..." (non-digit, non-X)
19
20
  */
20
21
  export declare const canonicalizeStatusCodeInput: (input: string) => string | null;
@@ -1,6 +1,8 @@
1
- /** The five valid HTTP status-code classes, used both for suggestion-building
2
- * and validation. Backed by the standard HTTP spec entirely frontend-driven,
3
- * independent of what the backend config carries.
1
+ /** The valid status-code class roots, used both for suggestion-building and
2
+ * validation. `1`–`5` are the standard HTTP classes; `0` is Wallarm's
3
+ * "no HTTP response captured" class (the backend publishes `status_code=0`,
4
+ * shown as the `0XX` mask). Entirely frontend-driven, independent of what the
5
+ * backend config carries.
4
6
  *
5
7
  * Typed as `readonly string[]` (not `as const`) so `.includes(someString)`
6
8
  * stays callable without casting; declaration-file generation rejects the
@@ -1,4 +1,5 @@
1
1
  const MASK_ROOTS = [
2
+ '0',
2
3
  '1',
3
4
  '2',
4
5
  '3',
@@ -1,8 +1,12 @@
1
1
  import type { FieldValueOption } from '../../../types';
2
2
  /** Build a `FieldValueOption` for a status-code mask or concrete code. Badge
3
3
  * color is derived via the shared `ResponseCode` primitive so the two stay
4
- * in sync. Throws if the input falls outside the 1XX–5XX classes — this is
5
- * unreachable in practice because callers gate on `maskRoots`, but the check
4
+ * in sync.
5
+ *
6
+ * The `0XX` class (Wallarm's "no HTTP response captured", backend
7
+ * `status_code=0`) has no standard HTTP category, so it renders as a neutral
8
+ * slate pill. Any other value outside the `1XX–5XX` classes throws — this is
9
+ * unreachable in practice because callers gate on `MASK_ROOTS`, but the check
6
10
  * is kept as a safety net so a future refactor can't silently emit a
7
11
  * colorless pill. */
8
12
  export declare const makeMask: (label: string) => FieldValueOption;
@@ -1,7 +1,17 @@
1
1
  import { RESPONSE_CODE_COLOR, getResponseCodeCategory } from "../../../../ResponseCode/index.js";
2
2
  const makeMask = (label)=>{
3
3
  const category = getResponseCodeCategory(label);
4
- if ('unknown' === category) throw new Error(`statusCode: no badge color for mask "${label}"`);
4
+ if ('unknown' === category) {
5
+ if (label.startsWith('0')) return {
6
+ value: label,
7
+ label,
8
+ badge: {
9
+ color: RESPONSE_CODE_COLOR.unknown,
10
+ text: label
11
+ }
12
+ };
13
+ throw new Error(`statusCode: no badge color for mask "${label}"`);
14
+ }
5
15
  return {
6
16
  value: label,
7
17
  label,
@@ -0,0 +1,28 @@
1
+ import type { FC, HTMLAttributes, ReactNode, Ref } from 'react';
2
+ import { type TestableProps } from '../../../utils/testId';
3
+ import { type SelectDataItem } from '../../Select';
4
+ type NativeProps = Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onChange'>;
5
+ export interface EditableSelectCellProps extends NativeProps, TestableProps {
6
+ /** Current committed value; `null` / `''` renders the placeholder. */
7
+ value: string | null;
8
+ /** Called with the picked value when the selection changes. */
9
+ onCommit: (value: string) => void;
10
+ /** Options for the dropdown. */
11
+ items: SelectDataItem[];
12
+ /** Read-mode rendering of the selected value (e.g. a `Badge`). */
13
+ children?: ReactNode;
14
+ /** Shown when nothing is selected. Defaults to `'Select…'`. */
15
+ placeholder?: ReactNode;
16
+ ref?: Ref<HTMLDivElement>;
17
+ }
18
+ /**
19
+ * Inline-editable, fixed-option cell for the DataTable. The cell IS the select
20
+ * trigger, so the read view is never swapped out — opening the menu only paints
21
+ * the brand-orange border and drops the dropdown below (zero layout shift).
22
+ * When nothing is selected it renders `placeholder`.
23
+ *
24
+ * Analytics-ready: arbitrary `data-*` / `aria-*` / `id` / event props land on
25
+ * the trigger element, which is the real interactive node.
26
+ */
27
+ export declare const EditableSelectCell: FC<EditableSelectCellProps>;
28
+ export {};
@@ -0,0 +1,66 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { Select } from "@ark-ui/react/select";
4
+ import { cn } from "../../../utils/cn.js";
5
+ import { useTestId } from "../../../utils/testId.js";
6
+ import { Select as index_js_Select, SelectContent, SelectOption, SelectOptionIndicator, SelectOptionText, SelectPositioner, createListCollection } from "../../Select/index.js";
7
+ import { editableCellPlaceholder, editableCellValue, editableCellVariants } from "./classes.js";
8
+ const EditableSelectCell = ({ value, onCommit, items, children, placeholder = 'Select…', className, ref, 'data-testid': testIdProp, ...rest })=>{
9
+ const testId = useTestId(void 0, testIdProp);
10
+ const collection = useMemo(()=>createListCollection({
11
+ items
12
+ }), [
13
+ items
14
+ ]);
15
+ const hasValue = null != value && '' !== value;
16
+ return /*#__PURE__*/ jsxs(index_js_Select, {
17
+ className: "h-full",
18
+ collection: collection,
19
+ value: hasValue ? [
20
+ value
21
+ ] : [],
22
+ "data-testid": testId,
23
+ onValueChange: (details)=>{
24
+ const next = details.value[0];
25
+ if (next && next !== value) onCommit(next);
26
+ },
27
+ children: [
28
+ /*#__PURE__*/ jsx(Select.Control, {
29
+ className: "h-full",
30
+ children: /*#__PURE__*/ jsx(Select.Trigger, {
31
+ asChild: true,
32
+ children: /*#__PURE__*/ jsx("div", {
33
+ ...rest,
34
+ ref: ref,
35
+ "data-slot": "editable-select-cell",
36
+ className: cn(editableCellVariants({
37
+ state: 'idle'
38
+ }), 'data-[state=open]:border-border-strong-brand data-[state=open]:bg-bg-surface-1 data-[state=open]:hover:bg-bg-surface-1', className),
39
+ children: hasValue ? /*#__PURE__*/ jsx("span", {
40
+ className: editableCellValue,
41
+ children: children
42
+ }) : /*#__PURE__*/ jsx("span", {
43
+ className: editableCellPlaceholder,
44
+ children: placeholder
45
+ })
46
+ })
47
+ })
48
+ }),
49
+ /*#__PURE__*/ jsx(SelectPositioner, {
50
+ children: /*#__PURE__*/ jsx(SelectContent, {
51
+ children: items.map((item)=>/*#__PURE__*/ jsxs(SelectOption, {
52
+ item: item,
53
+ children: [
54
+ /*#__PURE__*/ jsx(SelectOptionText, {
55
+ children: item.label
56
+ }),
57
+ /*#__PURE__*/ jsx(SelectOptionIndicator, {})
58
+ ]
59
+ }, item.value))
60
+ })
61
+ })
62
+ ]
63
+ });
64
+ };
65
+ EditableSelectCell.displayName = 'EditableSelectCell';
66
+ export { EditableSelectCell };
@@ -0,0 +1,22 @@
1
+ import type { FC, HTMLAttributes, Ref } from 'react';
2
+ import { type TestableProps } from '../../../utils/testId';
3
+ type NativeProps = Omit<HTMLAttributes<HTMLDivElement>, 'children'>;
4
+ export interface EditableTextCellProps extends NativeProps, TestableProps {
5
+ /** Current committed value. */
6
+ value: string;
7
+ /** Called with the new value on Enter / blur (only when it actually changed). */
8
+ onCommit: (value: string) => void;
9
+ ref?: Ref<HTMLDivElement>;
10
+ }
11
+ /**
12
+ * Inline-editable text cell for the DataTable. Idle it reads as text (the whole
13
+ * cell highlights on hover); click / Enter / Space swaps in a borderless input
14
+ * in the exact same position (brand-orange border, no layout shift). Enter or
15
+ * blur commits, Escape reverts.
16
+ *
17
+ * Analytics-ready: arbitrary `data-*` / `aria-*` / `id` / event props (e.g.
18
+ * `data-analytics-id`) land on the persistent cell element, so they resolve via
19
+ * `closest()` whether the read view or the input is the active target.
20
+ */
21
+ export declare const EditableTextCell: FC<EditableTextCellProps>;
22
+ export {};
@@ -0,0 +1,78 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ import { useState } from "react";
3
+ import { Pencil } from "../../../icons/index.js";
4
+ import { cn } from "../../../utils/cn.js";
5
+ import { useTestId } from "../../../utils/testId.js";
6
+ import { editableCellIcon, editableCellInput, editableCellValue, editableCellVariants } from "./classes.js";
7
+ const EditableTextCell = ({ value, onCommit, className, ref, 'data-testid': testIdProp, 'aria-label': ariaLabel, onClick, onKeyDown, ...rest })=>{
8
+ const testId = useTestId(void 0, testIdProp);
9
+ const [isEditing, setIsEditing] = useState(false);
10
+ const [draft, setDraft] = useState(value);
11
+ const start = ()=>{
12
+ setDraft(value);
13
+ setIsEditing(true);
14
+ };
15
+ const commit = ()=>{
16
+ setIsEditing(false);
17
+ if (draft !== value) onCommit(draft);
18
+ };
19
+ const cancel = ()=>{
20
+ setIsEditing(false);
21
+ setDraft(value);
22
+ };
23
+ return /*#__PURE__*/ jsx("div", {
24
+ ...rest,
25
+ ref: ref,
26
+ "data-slot": "editable-text-cell",
27
+ "data-testid": testId,
28
+ "data-editing": isEditing || void 0,
29
+ className: cn(editableCellVariants({
30
+ state: isEditing ? 'active' : 'idle'
31
+ }), className),
32
+ role: isEditing ? void 0 : 'button',
33
+ tabIndex: isEditing ? void 0 : 0,
34
+ "aria-label": isEditing ? void 0 : ariaLabel,
35
+ onClick: (event)=>{
36
+ onClick?.(event);
37
+ if (!isEditing) start();
38
+ },
39
+ onKeyDown: (event)=>{
40
+ onKeyDown?.(event);
41
+ if (!isEditing && ('Enter' === event.key || ' ' === event.key)) {
42
+ event.preventDefault();
43
+ start();
44
+ }
45
+ },
46
+ children: isEditing ? /*#__PURE__*/ jsx("input", {
47
+ autoFocus: true,
48
+ "aria-label": ariaLabel,
49
+ value: draft,
50
+ "data-testid": testId ? `${testId}--input` : void 0,
51
+ onChange: (event)=>setDraft(event.currentTarget.value),
52
+ onFocus: (event)=>event.currentTarget.select(),
53
+ onBlur: commit,
54
+ onKeyDown: (event)=>{
55
+ if ('Enter' === event.key) {
56
+ event.preventDefault();
57
+ commit();
58
+ } else if ('Escape' === event.key) {
59
+ event.preventDefault();
60
+ cancel();
61
+ }
62
+ },
63
+ className: editableCellInput
64
+ }) : /*#__PURE__*/ jsxs(Fragment, {
65
+ children: [
66
+ /*#__PURE__*/ jsx("span", {
67
+ className: editableCellValue,
68
+ children: value
69
+ }),
70
+ /*#__PURE__*/ jsx(Pencil, {
71
+ className: cn(editableCellIcon, 'opacity-0 transition-opacity group-hover/cell:opacity-100')
72
+ })
73
+ ]
74
+ })
75
+ });
76
+ };
77
+ EditableTextCell.displayName = 'EditableTextCell';
78
+ export { EditableTextCell };
@@ -0,0 +1,11 @@
1
+ export declare const editableCellVariants: (props?: ({
2
+ state?: "active" | "idle" | null | undefined;
3
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
4
+ /** Value slot — truncates, takes the free space, leaves room for the trailing icon. */
5
+ export declare const editableCellValue = "min-w-0 flex-1 truncate";
6
+ /** Same as the value slot but muted, for the empty-state placeholder. */
7
+ export declare const editableCellPlaceholder = "min-w-0 flex-1 truncate text-text-secondary";
8
+ /** Trailing affordance icon (pencil / chevron). */
9
+ export declare const editableCellIcon = "size-16 shrink-0 text-text-secondary";
10
+ /** Borderless in-place text editor — inherits the cell's typography and inset. */
11
+ export declare const editableCellInput = "min-w-0 flex-1 bg-transparent p-0 text-sm text-text-primary outline-none";
@@ -0,0 +1,17 @@
1
+ import { cva } from "class-variance-authority";
2
+ const editableCellVariants = cva("group/cell flex h-full w-full items-center gap-8 px-16 py-8 border border-transparent text-left text-sm text-text-primary cursor-pointer outline-none transition-colors", {
3
+ variants: {
4
+ state: {
5
+ idle: 'hover:bg-states-primary-hover active:bg-states-primary-pressed',
6
+ active: 'border-border-strong-brand bg-bg-surface-1'
7
+ }
8
+ },
9
+ defaultVariants: {
10
+ state: 'idle'
11
+ }
12
+ });
13
+ const editableCellValue = 'min-w-0 flex-1 truncate';
14
+ const editableCellPlaceholder = 'min-w-0 flex-1 truncate text-text-secondary';
15
+ const editableCellIcon = 'size-16 shrink-0 text-text-secondary';
16
+ const editableCellInput = 'min-w-0 flex-1 bg-transparent p-0 text-sm text-text-primary outline-none';
17
+ export { editableCellIcon, editableCellInput, editableCellPlaceholder, editableCellValue, editableCellVariants };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Spread onto an editable column's `meta` so `EditableTextCell` /
3
+ * `EditableSelectCell` can own the whole body cell:
4
+ *
5
+ * - `p-0` removes the body-cell padding (the shell re-applies its own), so the
6
+ * hover fill and the editing border reach the cell edges.
7
+ * - `h-[1px]` gives the cell a definite height. A percentage height (`h-full`
8
+ * on the shell) only resolves against a parent with a resolvable height; a
9
+ * bare table cell is `height: auto`, so the shell would sit top-aligned and
10
+ * leave a gap. The `1px` acts as a minimum the row grows past, and the
11
+ * shell's `h-full` then resolves against the real row height (the standard
12
+ * "fill a table-cell height" trick).
13
+ *
14
+ * Use on a NON-master column — the first/master column is pinned, cut and
15
+ * truncated by the Table and is not a clean host for a full-bleed editable cell.
16
+ */
17
+ export declare const EDITABLE_CELL_COLUMN_META: {
18
+ readonly cellClassName: 'h-[1px] p-0';
19
+ };
@@ -0,0 +1,4 @@
1
+ const EDITABLE_CELL_COLUMN_META = {
2
+ cellClassName: 'h-[1px] p-0'
3
+ };
4
+ export { EDITABLE_CELL_COLUMN_META };
@@ -0,0 +1,4 @@
1
+ export { editableCellVariants } from './classes';
2
+ export { EDITABLE_CELL_COLUMN_META } from './constants';
3
+ export { EditableSelectCell, type EditableSelectCellProps } from './EditableSelectCell';
4
+ export { EditableTextCell, type EditableTextCellProps } from './EditableTextCell';
@@ -0,0 +1,4 @@
1
+ export { editableCellVariants } from "./classes.js";
2
+ export { EDITABLE_CELL_COLUMN_META } from "./constants.js";
3
+ export { EditableSelectCell } from "./EditableSelectCell.js";
4
+ export { EditableTextCell } from "./EditableTextCell.js";
@@ -1,4 +1,5 @@
1
1
  export { BulkBarSummary, BulkBarSummaryClear, type BulkBarSummaryClearProps, BulkBarSummaryCount, type BulkBarSummaryCountProps, type BulkBarSummaryProps, BulkBarSummarySelectAll, type BulkBarSummarySelectAllProps, BulkBarSummarySeparator, } from '../BulkBar';
2
+ export { EDITABLE_CELL_COLUMN_META, EditableSelectCell, type EditableSelectCellProps, EditableTextCell, type EditableTextCellProps, editableCellVariants, } from './EditableCell';
2
3
  export { createTableColumnHelper } from './lib';
3
4
  export type { TableColumnHelper } from './lib/createTableColumnHelper';
4
5
  export { Table } from './Table';
@@ -1,4 +1,5 @@
1
1
  export { BulkBarSummary, BulkBarSummaryClear, BulkBarSummaryCount, BulkBarSummarySelectAll, BulkBarSummarySeparator } from "../BulkBar/index.js";
2
+ export { EDITABLE_CELL_COLUMN_META, EditableSelectCell, EditableTextCell, editableCellVariants } from "./EditableCell/index.js";
2
3
  export { createTableColumnHelper } from "./lib/index.js";
3
4
  export { Table } from "./Table.js";
4
5
  export { TableActionBar, TableActionBarSelection } from "./TableActionBar/index.js";
package/dist/index.d.ts CHANGED
@@ -71,7 +71,7 @@ export { SplashScreen, type SplashScreenProps } from './components/SplashScreen'
71
71
  export { SplitButton, type SplitButtonProps } from './components/SplitButton';
72
72
  export { HStack, type HStackProps, Stack, type StackProps, VStack, type VStackProps, } from './components/Stack';
73
73
  export { Switch, SwitchControl, SwitchDescription, type SwitchDescriptionProps, SwitchLabel, type SwitchLabelProps, type SwitchProps, } from './components/Switch';
74
- export { createTableColumnHelper, Table, type TableAccessorColumnDef, TableActionBar, type TableCellContext, type TableColumnBase, type TableColumnDef, type TableColumnHelper, TableColumnMenu, TableColumnMenuHideItem, type TableColumnMenuHideItemProps, TableColumnMenuMoveLeftItem, type TableColumnMenuMoveLeftItemProps, TableColumnMenuMoveRightItem, type TableColumnMenuMoveRightItemProps, TableColumnMenuPinItem, type TableColumnMenuPinItemProps, type TableColumnMenuProps, TableColumnMenuSortItem, type TableColumnMenuSortItemProps, type TableColumnMeta, type TableColumnPinningState, type TableColumnSizingState, type TableDisplayColumnDef, TableEmptyState, type TableExpandedState, type TableGroupingState, type TableHandle, type TableOnChangeFn, type TableProps, type TableRow, type TableRowSelectionState, type TableScrollToRowOptions, TableSettingsMenu, type TableSortingState, TableSortTrigger, type TableSortTriggerProps, type TableUpdater, type TableVisibilityState, } from './components/Table';
74
+ export { createTableColumnHelper, EDITABLE_CELL_COLUMN_META, EditableSelectCell, type EditableSelectCellProps, EditableTextCell, type EditableTextCellProps, editableCellVariants, Table, type TableAccessorColumnDef, TableActionBar, type TableCellContext, type TableColumnBase, type TableColumnDef, type TableColumnHelper, TableColumnMenu, TableColumnMenuHideItem, type TableColumnMenuHideItemProps, TableColumnMenuMoveLeftItem, type TableColumnMenuMoveLeftItemProps, TableColumnMenuMoveRightItem, type TableColumnMenuMoveRightItemProps, TableColumnMenuPinItem, type TableColumnMenuPinItemProps, type TableColumnMenuProps, TableColumnMenuSortItem, type TableColumnMenuSortItemProps, type TableColumnMeta, type TableColumnPinningState, type TableColumnSizingState, type TableDisplayColumnDef, TableEmptyState, type TableExpandedState, type TableGroupingState, type TableHandle, type TableOnChangeFn, type TableProps, type TableRow, type TableRowSelectionState, type TableScrollToRowOptions, TableSettingsMenu, type TableSortingState, TableSortTrigger, type TableSortTriggerProps, type TableUpdater, type TableVisibilityState, } from './components/Table';
75
75
  export { Tabs, TabsButton, TabsContent, TabsLineActions, TabsList, TabsSeparator, TabsTrigger, } from './components/Tabs';
76
76
  export { Tag, TagClose, type TagProps } from './components/Tag';
77
77
  export { Text, type TextProps } from './components/Text';
package/dist/index.js CHANGED
@@ -60,7 +60,7 @@ export { SplashScreen } from "./components/SplashScreen/index.js";
60
60
  export { SplitButton } from "./components/SplitButton/index.js";
61
61
  export { HStack, Stack, VStack } from "./components/Stack/index.js";
62
62
  export { Switch, SwitchControl, SwitchDescription, SwitchLabel } from "./components/Switch/index.js";
63
- export { Table, TableActionBar, TableColumnMenu, TableColumnMenuHideItem, TableColumnMenuMoveLeftItem, TableColumnMenuMoveRightItem, TableColumnMenuPinItem, TableColumnMenuSortItem, TableEmptyState, TableSettingsMenu, TableSortTrigger, createTableColumnHelper } from "./components/Table/index.js";
63
+ export { EDITABLE_CELL_COLUMN_META, EditableSelectCell, EditableTextCell, Table, TableActionBar, TableColumnMenu, TableColumnMenuHideItem, TableColumnMenuMoveLeftItem, TableColumnMenuMoveRightItem, TableColumnMenuPinItem, TableColumnMenuSortItem, TableEmptyState, TableSettingsMenu, TableSortTrigger, createTableColumnHelper, editableCellVariants } from "./components/Table/index.js";
64
64
  export { Tabs, TabsButton, TabsContent, TabsLineActions, TabsList, TabsSeparator, TabsTrigger } from "./components/Tabs/index.js";
65
65
  export { Tag, TagClose } from "./components/Tag/index.js";
66
66
  export { Text } from "./components/Text/index.js";