@ai-matrx/design-system 0.21.14 → 0.22.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.
- package/CHANGELOG.md +37 -0
- package/dist/data-table/copy-helpers.d.cts +2 -1
- package/dist/data-table/copy-helpers.d.ts +2 -1
- package/dist/data-table/filter-engine.d.cts +2 -1
- package/dist/data-table/filter-engine.d.ts +2 -1
- package/dist/data-table/host.d.cts +2 -1
- package/dist/data-table/host.d.ts +2 -1
- package/dist/data-table/index.cjs +1525 -398
- package/dist/data-table/index.cjs.map +1 -1
- package/dist/data-table/index.d.cts +91 -3
- package/dist/data-table/index.d.ts +91 -3
- package/dist/data-table/index.js +1526 -395
- package/dist/data-table/index.js.map +1 -1
- package/dist/data-table/infer-filter.d.cts +2 -1
- package/dist/data-table/infer-filter.d.ts +2 -1
- package/dist/data-table/layered-filters.d.cts +2 -1
- package/dist/data-table/layered-filters.d.ts +2 -1
- package/dist/data-table/query-control.d.cts +2 -1
- package/dist/data-table/query-control.d.ts +2 -1
- package/dist/data-table/types.cjs.map +1 -1
- package/dist/data-table/types.d.cts +2 -1
- package/dist/data-table/types.d.ts +2 -1
- package/dist/data-table/url-state.d.cts +2 -1
- package/dist/data-table/url-state.d.ts +2 -1
- package/dist/data-table/xlsx.d.cts +2 -1
- package/dist/data-table/xlsx.d.ts +2 -1
- package/dist/field-formats/index.cjs +741 -0
- package/dist/field-formats/index.cjs.map +1 -0
- package/dist/field-formats/index.d.cts +45 -0
- package/dist/field-formats/index.d.ts +45 -0
- package/dist/field-formats/index.js +723 -0
- package/dist/field-formats/index.js.map +1 -0
- package/dist/types-BdbvlF9-.d.cts +204 -0
- package/dist/types-BdbvlF9-.d.ts +204 -0
- package/dist/{types-emLxze_m.d.ts → types-D-flTpK0.d.ts} +230 -1
- package/dist/{types-BgqIKbhq.d.cts → types-Sn249eoy.d.cts} +230 -1
- package/package.json +11 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { h as MatrxDataTableProps, i as TableViewSnapshot, c as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-
|
|
4
|
-
export { A as AnyOfColumnSearch, k as
|
|
3
|
+
import { h as MatrxDataTableProps, i as TableViewSnapshot, c as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-Sn249eoy.cjs';
|
|
4
|
+
export { A as AnyOfColumnSearch, B as BOOLEAN_TRUE_COLOR, k as CELL_TINT_CLASS, l as COLOR_RULE_OPS, m as COLOR_RULE_OP_LABELS, n as CellEditType, o as CellEditsMap, p as ChoiceColorLookup, q as ColorBy, r as ColorRule, s as ColorRuleOp, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, E as EMPTY_TABLE_STYLE, t as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, d as MatrxDataTableDensity, u as MatrxDataTableDetailConfig, v as MatrxDataTableEditConfig, w as MatrxDataTableEmptyState, x as MatrxDataTableExpandedDetailConfig, y as MatrxDataTableFilterUi, z as MatrxDataTableHierarchyConfig, D as MatrxDataTableHierarchyMove, F as MatrxDataTableMobileCardControls, G as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, H as MatrxDataTableSelectionConfig, I as MatrxDataTableSourceProcessing, J as MatrxDataTableStyleConfig, K as MatrxDataTableToolbar, N as MatrxDataTableUrlStateConfig, O as MatrxDataTableWindowConfig, P as MatrxTablePagination, Q as OPS_WITH_VALUE, R as ROW_TINT_CLASS, U as STYLE_COLORS, V as STYLE_COLOR_LABELS, W as SWATCH_CLASS, X as SortDirection, S as SortState, Y as StyleColor, Z as StylePath, _ as StyleTarget, $ as TABLE_STYLE_METADATA_KEY, a0 as TABLE_STYLE_VERSION, a1 as TableRankedSearchOptions, b as TableSavedViewsProps, T as TableSearchMatchMode, a2 as TableSearchRole, a3 as TableSearchScope, a4 as TableStyle, a5 as TableViewQuery, a6 as TextFilterMode, a7 as ToolbarFacet, a8 as applyStylePath, a9 as colorForChoice, aa as evaluateRule, ab as inferTableSearchRole, ac as isStyleColor, ad as parseTableStyle, ae as rankTableSearchRows, af as resolveCellColor, ag as resolveRowColor, ah as resolveTableSearchScopes, ai as stylePath, aj as tableStyleFromMetadata, ak as tableStyleIsEmpty } from '../types-Sn249eoy.cjs';
|
|
5
5
|
export { MatrxDataTableHost, MatrxDataTableProvider, MatrxTableRowAlchemy, TableDoors, TableEntityRefProps, TableLinkProps, TablePeekProps, TableSidePanelProps, TableToolbarActionProps, TableWindowPanelProps, useMatrxDataTableHost, useMatrxTableRowAlchemy } from './host.cjs';
|
|
6
6
|
import { CopyControlProps } from './copy-types.cjs';
|
|
7
7
|
export { AgentPayloadInput } from './copy-types.cjs';
|
|
@@ -14,6 +14,7 @@ export { downloadTableAsXlsx } from './xlsx.cjs';
|
|
|
14
14
|
export { ResolvedFilterKind, collectSelectOptions, filterKindLabel, resolveFilterKind } from './infer-filter.cjs';
|
|
15
15
|
export { ScrollPaginationContainer, UseScrollPaginationOptions, UseScrollPaginationResult, useScrollPagination } from './scroll-pagination.cjs';
|
|
16
16
|
export { tableUrlParamPrefix, useTableUrlState } from './url-state.cjs';
|
|
17
|
+
import { c as FormatResult } from '../types-BdbvlF9-.cjs';
|
|
17
18
|
import '../content-transfer.cjs';
|
|
18
19
|
import '@ai-matrx/kit/content-transfer';
|
|
19
20
|
import '../content-transfer/icon.cjs';
|
|
@@ -103,4 +104,91 @@ interface TableViewTabsProps {
|
|
|
103
104
|
/** One shared tab strip; hosts may own URL state without copying its UI. */
|
|
104
105
|
declare function TableViewTabs({ tabs, activeId, onSelect, onAdd, onClose, onRename, related }: TableViewTabsProps): React.JSX.Element;
|
|
105
106
|
|
|
106
|
-
|
|
107
|
+
/**
|
|
108
|
+
* `MatrxColumnDef.format` — the column's declared reading, rendered.
|
|
109
|
+
*
|
|
110
|
+
* ONE FORMATTER, NOT A SECOND ONE. The vocabulary is the platform registry in
|
|
111
|
+
* `../field-formats`; this file only decides what a TABLE CELL does with the
|
|
112
|
+
* registry's answer. A consumer with its own `cell` renderer calls
|
|
113
|
+
* `formatColumnValue(col, value)` and gets exactly the same text the table
|
|
114
|
+
* would have drawn, so an editable grid and a read-only grid never disagree
|
|
115
|
+
* about what `1234.5` means.
|
|
116
|
+
*
|
|
117
|
+
* THE FALLBACK LAW, on screen. `formatFieldValue` never throws and never
|
|
118
|
+
* blanks: when the stored value does not fit the declared format it returns
|
|
119
|
+
* `ok: false` with the BASE-TYPE rendering and a reason. The cell then prints
|
|
120
|
+
* that base rendering in amber with the reason on hover — the person SEES that
|
|
121
|
+
* something does not fit, instead of an empty cell that says nothing, and the
|
|
122
|
+
* value they typed is still legible and still theirs.
|
|
123
|
+
*/
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* The text a declared format gives this value, plus whether it fit.
|
|
127
|
+
* Returns `null` when the column declares no format — the caller keeps its own
|
|
128
|
+
* default rendering rather than being handed an empty string that looks real.
|
|
129
|
+
*/
|
|
130
|
+
declare function formatColumnValue<T>(col: Pick<MatrxColumnDef<T>, "format">, value: unknown): FormatResult | null;
|
|
131
|
+
/**
|
|
132
|
+
* Which way a formatted column reads. Numbers and dates are right-aligned
|
|
133
|
+
* because a column of money a person has to compare is unreadable ragged-right
|
|
134
|
+
* — the alignment is part of the format, not a second decision the caller has
|
|
135
|
+
* to remember to make. An explicit `align` on the column always wins.
|
|
136
|
+
*/
|
|
137
|
+
declare function alignForFormat<T>(col: Pick<MatrxColumnDef<T>, "format" | "align">): "left" | "center" | "right" | undefined;
|
|
138
|
+
/** The amber a value that does not fit its declared format wears. ONE amber. */
|
|
139
|
+
declare const FORMAT_MISMATCH_CLASS = "text-amber-600 underline decoration-dotted underline-offset-2 dark:text-amber-400";
|
|
140
|
+
declare function FormattedCell({ result }: {
|
|
141
|
+
result: FormatResult;
|
|
142
|
+
}): ReactNode;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Frozen (pinned) columns — the identity column that stays while the rest of a
|
|
146
|
+
* wide table scrolls sideways.
|
|
147
|
+
*
|
|
148
|
+
* 🚨 DESKTOP ONLY, AND THAT IS A RULE, NOT A DEFAULT. A phone table is already a
|
|
149
|
+
* horizontal scroller and pinning over it buries the data behind the pin; the
|
|
150
|
+
* package regression-tests that no `max-sm:sticky` is ever emitted
|
|
151
|
+
* (`MatrxDataTable.controlled.test.tsx`, "never freezes a column over mobile
|
|
152
|
+
* table data"). Freezing is therefore expressed as `sm:sticky` and the phone
|
|
153
|
+
* answer stays `MatrxColumnDef.mobileHidden`.
|
|
154
|
+
*
|
|
155
|
+
* ONLY THE LEADING RUN. `frozen` on a column in the middle of the table would
|
|
156
|
+
* have to slide over its own left neighbour, which is a lie about where the row
|
|
157
|
+
* is. So the frozen set is the run of `frozen: true` columns starting at the
|
|
158
|
+
* first visible column; a `frozen` column with a non-frozen column before it is
|
|
159
|
+
* ignored, deliberately and silently — the person asked for something the shape
|
|
160
|
+
* of a table cannot honour.
|
|
161
|
+
*
|
|
162
|
+
* A HALF-STUCK COLUMN IS A LYING SCREEN. Each frozen column sits at a left
|
|
163
|
+
* offset that is the sum of everything frozen to its left, so those widths must
|
|
164
|
+
* be KNOWN numbers. The last frozen column's own width is never needed (nothing
|
|
165
|
+
* is offset past it). If any width this arithmetic needs is missing, freezing is
|
|
166
|
+
* OFF for the whole table and every column renders in its ordinary place —
|
|
167
|
+
* never a column pinned at a guessed offset, drifting over its neighbour.
|
|
168
|
+
*/
|
|
169
|
+
type FrozenColumns = {
|
|
170
|
+
/** Left offset in px for each column id that is actually frozen. */
|
|
171
|
+
readonly offsets: Readonly<Record<string, number>>;
|
|
172
|
+
/** True when at least one column is frozen. */
|
|
173
|
+
readonly active: boolean;
|
|
174
|
+
/**
|
|
175
|
+
* Left offset for the leading selection column, present only when freezing is
|
|
176
|
+
* active AND the table draws that column — it has to stick too, or the first
|
|
177
|
+
* frozen data column slides over the checkboxes.
|
|
178
|
+
*/
|
|
179
|
+
readonly selectionOffset: number | null;
|
|
180
|
+
};
|
|
181
|
+
declare const NO_FROZEN_COLUMNS: FrozenColumns;
|
|
182
|
+
/**
|
|
183
|
+
* @param ids visible column ids, in render order
|
|
184
|
+
* @param isFrozen did this column ask to be frozen
|
|
185
|
+
* @param widthOf resolved pixel width, or undefined when unknown
|
|
186
|
+
* @param leadingWidth width of the selection column when the table draws one,
|
|
187
|
+
* `null` when it draws none. `undefined` means "it draws
|
|
188
|
+
* one and nobody has measured it yet" — freezing waits.
|
|
189
|
+
*/
|
|
190
|
+
declare function resolveFrozenColumns(ids: readonly string[], isFrozen: (id: string) => boolean, widthOf: (id: string) => number | undefined, leadingWidth: number | null | undefined): FrozenColumns;
|
|
191
|
+
/** The numeric pixel width of a declared column width, when there is one. */
|
|
192
|
+
declare function pixelWidth(width: string | number | undefined): number | undefined;
|
|
193
|
+
|
|
194
|
+
export { ColumnMarker, FORMAT_MISMATCH_CLASS, FormattedCell, type FrozenColumns, MatrxColumnDef, MatrxDataTable, MatrxDataTableProps, MatrxDataTableRecordControls, MatrxTableRowAlchemyProvider, NO_FROZEN_COLUMNS, type ResolvedColumnMarker, SavedViewsControl, type SavedViewsControlProps, TableTitleRow, type TableTitleRowProps, TableViewSnapshot, type TableViewTab, TableViewTabs, type TableViewTabsProps, alignForFormat, formatColumnValue, parseTableViewSnapshot, pixelWidth, resolveColumnMarker, resolveFrozenColumns };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { ReactNode } from 'react';
|
|
3
|
-
import { h as MatrxDataTableProps, i as TableViewSnapshot, c as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-
|
|
4
|
-
export { A as AnyOfColumnSearch, k as
|
|
3
|
+
import { h as MatrxDataTableProps, i as TableViewSnapshot, c as MatrxDataTableRecordControls, j as ColumnMarker, M as MatrxColumnDef } from '../types-D-flTpK0.js';
|
|
4
|
+
export { A as AnyOfColumnSearch, B as BOOLEAN_TRUE_COLOR, k as CELL_TINT_CLASS, l as COLOR_RULE_OPS, m as COLOR_RULE_OP_LABELS, n as CellEditType, o as CellEditsMap, p as ChoiceColorLookup, q as ColorBy, r as ColorRule, s as ColorRuleOp, f as ColumnFilterKind, a as ColumnFilterValue, C as ColumnFiltersState, E as EMPTY_TABLE_STYLE, t as MatrxDataTableContextMenuConfig, g as MatrxDataTableCopyConfig, d as MatrxDataTableDensity, u as MatrxDataTableDetailConfig, v as MatrxDataTableEditConfig, w as MatrxDataTableEmptyState, x as MatrxDataTableExpandedDetailConfig, y as MatrxDataTableFilterUi, z as MatrxDataTableHierarchyConfig, D as MatrxDataTableHierarchyMove, F as MatrxDataTableMobileCardControls, G as MatrxDataTableQueryControl, e as MatrxDataTableQueryState, H as MatrxDataTableSelectionConfig, I as MatrxDataTableSourceProcessing, J as MatrxDataTableStyleConfig, K as MatrxDataTableToolbar, N as MatrxDataTableUrlStateConfig, O as MatrxDataTableWindowConfig, P as MatrxTablePagination, Q as OPS_WITH_VALUE, R as ROW_TINT_CLASS, U as STYLE_COLORS, V as STYLE_COLOR_LABELS, W as SWATCH_CLASS, X as SortDirection, S as SortState, Y as StyleColor, Z as StylePath, _ as StyleTarget, $ as TABLE_STYLE_METADATA_KEY, a0 as TABLE_STYLE_VERSION, a1 as TableRankedSearchOptions, b as TableSavedViewsProps, T as TableSearchMatchMode, a2 as TableSearchRole, a3 as TableSearchScope, a4 as TableStyle, a5 as TableViewQuery, a6 as TextFilterMode, a7 as ToolbarFacet, a8 as applyStylePath, a9 as colorForChoice, aa as evaluateRule, ab as inferTableSearchRole, ac as isStyleColor, ad as parseTableStyle, ae as rankTableSearchRows, af as resolveCellColor, ag as resolveRowColor, ah as resolveTableSearchScopes, ai as stylePath, aj as tableStyleFromMetadata, ak as tableStyleIsEmpty } from '../types-D-flTpK0.js';
|
|
5
5
|
export { MatrxDataTableHost, MatrxDataTableProvider, MatrxTableRowAlchemy, TableDoors, TableEntityRefProps, TableLinkProps, TablePeekProps, TableSidePanelProps, TableToolbarActionProps, TableWindowPanelProps, useMatrxDataTableHost, useMatrxTableRowAlchemy } from './host.js';
|
|
6
6
|
import { CopyControlProps } from './copy-types.js';
|
|
7
7
|
export { AgentPayloadInput } from './copy-types.js';
|
|
@@ -14,6 +14,7 @@ export { downloadTableAsXlsx } from './xlsx.js';
|
|
|
14
14
|
export { ResolvedFilterKind, collectSelectOptions, filterKindLabel, resolveFilterKind } from './infer-filter.js';
|
|
15
15
|
export { ScrollPaginationContainer, UseScrollPaginationOptions, UseScrollPaginationResult, useScrollPagination } from './scroll-pagination.js';
|
|
16
16
|
export { tableUrlParamPrefix, useTableUrlState } from './url-state.js';
|
|
17
|
+
import { c as FormatResult } from '../types-BdbvlF9-.js';
|
|
17
18
|
import '../content-transfer.js';
|
|
18
19
|
import '@ai-matrx/kit/content-transfer';
|
|
19
20
|
import '../content-transfer/icon.js';
|
|
@@ -103,4 +104,91 @@ interface TableViewTabsProps {
|
|
|
103
104
|
/** One shared tab strip; hosts may own URL state without copying its UI. */
|
|
104
105
|
declare function TableViewTabs({ tabs, activeId, onSelect, onAdd, onClose, onRename, related }: TableViewTabsProps): React.JSX.Element;
|
|
105
106
|
|
|
106
|
-
|
|
107
|
+
/**
|
|
108
|
+
* `MatrxColumnDef.format` — the column's declared reading, rendered.
|
|
109
|
+
*
|
|
110
|
+
* ONE FORMATTER, NOT A SECOND ONE. The vocabulary is the platform registry in
|
|
111
|
+
* `../field-formats`; this file only decides what a TABLE CELL does with the
|
|
112
|
+
* registry's answer. A consumer with its own `cell` renderer calls
|
|
113
|
+
* `formatColumnValue(col, value)` and gets exactly the same text the table
|
|
114
|
+
* would have drawn, so an editable grid and a read-only grid never disagree
|
|
115
|
+
* about what `1234.5` means.
|
|
116
|
+
*
|
|
117
|
+
* THE FALLBACK LAW, on screen. `formatFieldValue` never throws and never
|
|
118
|
+
* blanks: when the stored value does not fit the declared format it returns
|
|
119
|
+
* `ok: false` with the BASE-TYPE rendering and a reason. The cell then prints
|
|
120
|
+
* that base rendering in amber with the reason on hover — the person SEES that
|
|
121
|
+
* something does not fit, instead of an empty cell that says nothing, and the
|
|
122
|
+
* value they typed is still legible and still theirs.
|
|
123
|
+
*/
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* The text a declared format gives this value, plus whether it fit.
|
|
127
|
+
* Returns `null` when the column declares no format — the caller keeps its own
|
|
128
|
+
* default rendering rather than being handed an empty string that looks real.
|
|
129
|
+
*/
|
|
130
|
+
declare function formatColumnValue<T>(col: Pick<MatrxColumnDef<T>, "format">, value: unknown): FormatResult | null;
|
|
131
|
+
/**
|
|
132
|
+
* Which way a formatted column reads. Numbers and dates are right-aligned
|
|
133
|
+
* because a column of money a person has to compare is unreadable ragged-right
|
|
134
|
+
* — the alignment is part of the format, not a second decision the caller has
|
|
135
|
+
* to remember to make. An explicit `align` on the column always wins.
|
|
136
|
+
*/
|
|
137
|
+
declare function alignForFormat<T>(col: Pick<MatrxColumnDef<T>, "format" | "align">): "left" | "center" | "right" | undefined;
|
|
138
|
+
/** The amber a value that does not fit its declared format wears. ONE amber. */
|
|
139
|
+
declare const FORMAT_MISMATCH_CLASS = "text-amber-600 underline decoration-dotted underline-offset-2 dark:text-amber-400";
|
|
140
|
+
declare function FormattedCell({ result }: {
|
|
141
|
+
result: FormatResult;
|
|
142
|
+
}): ReactNode;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Frozen (pinned) columns — the identity column that stays while the rest of a
|
|
146
|
+
* wide table scrolls sideways.
|
|
147
|
+
*
|
|
148
|
+
* 🚨 DESKTOP ONLY, AND THAT IS A RULE, NOT A DEFAULT. A phone table is already a
|
|
149
|
+
* horizontal scroller and pinning over it buries the data behind the pin; the
|
|
150
|
+
* package regression-tests that no `max-sm:sticky` is ever emitted
|
|
151
|
+
* (`MatrxDataTable.controlled.test.tsx`, "never freezes a column over mobile
|
|
152
|
+
* table data"). Freezing is therefore expressed as `sm:sticky` and the phone
|
|
153
|
+
* answer stays `MatrxColumnDef.mobileHidden`.
|
|
154
|
+
*
|
|
155
|
+
* ONLY THE LEADING RUN. `frozen` on a column in the middle of the table would
|
|
156
|
+
* have to slide over its own left neighbour, which is a lie about where the row
|
|
157
|
+
* is. So the frozen set is the run of `frozen: true` columns starting at the
|
|
158
|
+
* first visible column; a `frozen` column with a non-frozen column before it is
|
|
159
|
+
* ignored, deliberately and silently — the person asked for something the shape
|
|
160
|
+
* of a table cannot honour.
|
|
161
|
+
*
|
|
162
|
+
* A HALF-STUCK COLUMN IS A LYING SCREEN. Each frozen column sits at a left
|
|
163
|
+
* offset that is the sum of everything frozen to its left, so those widths must
|
|
164
|
+
* be KNOWN numbers. The last frozen column's own width is never needed (nothing
|
|
165
|
+
* is offset past it). If any width this arithmetic needs is missing, freezing is
|
|
166
|
+
* OFF for the whole table and every column renders in its ordinary place —
|
|
167
|
+
* never a column pinned at a guessed offset, drifting over its neighbour.
|
|
168
|
+
*/
|
|
169
|
+
type FrozenColumns = {
|
|
170
|
+
/** Left offset in px for each column id that is actually frozen. */
|
|
171
|
+
readonly offsets: Readonly<Record<string, number>>;
|
|
172
|
+
/** True when at least one column is frozen. */
|
|
173
|
+
readonly active: boolean;
|
|
174
|
+
/**
|
|
175
|
+
* Left offset for the leading selection column, present only when freezing is
|
|
176
|
+
* active AND the table draws that column — it has to stick too, or the first
|
|
177
|
+
* frozen data column slides over the checkboxes.
|
|
178
|
+
*/
|
|
179
|
+
readonly selectionOffset: number | null;
|
|
180
|
+
};
|
|
181
|
+
declare const NO_FROZEN_COLUMNS: FrozenColumns;
|
|
182
|
+
/**
|
|
183
|
+
* @param ids visible column ids, in render order
|
|
184
|
+
* @param isFrozen did this column ask to be frozen
|
|
185
|
+
* @param widthOf resolved pixel width, or undefined when unknown
|
|
186
|
+
* @param leadingWidth width of the selection column when the table draws one,
|
|
187
|
+
* `null` when it draws none. `undefined` means "it draws
|
|
188
|
+
* one and nobody has measured it yet" — freezing waits.
|
|
189
|
+
*/
|
|
190
|
+
declare function resolveFrozenColumns(ids: readonly string[], isFrozen: (id: string) => boolean, widthOf: (id: string) => number | undefined, leadingWidth: number | null | undefined): FrozenColumns;
|
|
191
|
+
/** The numeric pixel width of a declared column width, when there is one. */
|
|
192
|
+
declare function pixelWidth(width: string | number | undefined): number | undefined;
|
|
193
|
+
|
|
194
|
+
export { ColumnMarker, FORMAT_MISMATCH_CLASS, FormattedCell, type FrozenColumns, MatrxColumnDef, MatrxDataTable, MatrxDataTableProps, MatrxDataTableRecordControls, MatrxTableRowAlchemyProvider, NO_FROZEN_COLUMNS, type ResolvedColumnMarker, SavedViewsControl, type SavedViewsControlProps, TableTitleRow, type TableTitleRowProps, TableViewSnapshot, type TableViewTab, TableViewTabs, type TableViewTabsProps, alignForFormat, formatColumnValue, parseTableViewSnapshot, pixelWidth, resolveColumnMarker, resolveFrozenColumns };
|