@dxos/react-ui-table 0.8.4-main.70d3990 → 0.8.4-main.7996785055

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 (134) hide show
  1. package/dist/lib/browser/{chunk-5XWSB3JP.mjs → chunk-BF54SSNL.mjs} +27 -28
  2. package/dist/lib/browser/chunk-BF54SSNL.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-KNC7XYT6.mjs → chunk-EK6D2CVM.mjs} +620 -652
  4. package/dist/lib/browser/chunk-EK6D2CVM.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +1143 -997
  6. package/dist/lib/browser/index.mjs.map +4 -4
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/testing/index.mjs +20 -19
  9. package/dist/lib/browser/testing/index.mjs.map +3 -3
  10. package/dist/lib/browser/types/index.mjs +1 -1
  11. package/dist/lib/node-esm/{chunk-CWSGS3Y2.mjs → chunk-LYYDF6JP.mjs} +620 -651
  12. package/dist/lib/node-esm/chunk-LYYDF6JP.mjs.map +7 -0
  13. package/dist/lib/node-esm/{chunk-MKTMOY46.mjs → chunk-SIRDIPHZ.mjs} +27 -28
  14. package/dist/lib/node-esm/chunk-SIRDIPHZ.mjs.map +7 -0
  15. package/dist/lib/node-esm/index.mjs +1143 -997
  16. package/dist/lib/node-esm/index.mjs.map +4 -4
  17. package/dist/lib/node-esm/meta.json +1 -1
  18. package/dist/lib/node-esm/testing/index.mjs +20 -19
  19. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  20. package/dist/lib/node-esm/types/index.mjs +1 -1
  21. package/dist/types/src/components/Table/ColumnActionsMenu.d.ts +1 -2
  22. package/dist/types/src/components/Table/ColumnActionsMenu.d.ts.map +1 -1
  23. package/dist/types/src/components/Table/ColumnSettings.d.ts +2 -2
  24. package/dist/types/src/components/Table/ColumnSettings.d.ts.map +1 -1
  25. package/dist/types/src/components/Table/DynamicTable.d.ts +7 -7
  26. package/dist/types/src/components/Table/DynamicTable.d.ts.map +1 -1
  27. package/dist/types/src/components/Table/DynamicTable.stories.d.ts +2 -16
  28. package/dist/types/src/components/Table/DynamicTable.stories.d.ts.map +1 -1
  29. package/dist/types/src/components/Table/Relations.stories.d.ts +7 -3
  30. package/dist/types/src/components/Table/Relations.stories.d.ts.map +1 -1
  31. package/dist/types/src/components/Table/RowActionsMenu.d.ts.map +1 -1
  32. package/dist/types/src/components/Table/Table.d.ts +28 -21
  33. package/dist/types/src/components/Table/Table.d.ts.map +1 -1
  34. package/dist/types/src/components/Table/Table.stories.d.ts +9 -5
  35. package/dist/types/src/components/Table/Table.stories.d.ts.map +1 -1
  36. package/dist/types/src/components/Table/TableContent.d.ts +21 -0
  37. package/dist/types/src/components/Table/TableContent.d.ts.map +1 -0
  38. package/dist/types/src/components/Table/TableToolbar.d.ts +25 -0
  39. package/dist/types/src/components/Table/TableToolbar.d.ts.map +1 -0
  40. package/dist/types/src/components/TableCellEditor/CellValidationMessage.d.ts +1 -1
  41. package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts +10 -12
  42. package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts.map +1 -1
  43. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts +5 -7
  44. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts.map +1 -1
  45. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts +5 -5
  46. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts.map +1 -1
  47. package/dist/types/src/components/index.d.ts +0 -1
  48. package/dist/types/src/components/index.d.ts.map +1 -1
  49. package/dist/types/src/components/testing.d.ts +22 -13
  50. package/dist/types/src/components/testing.d.ts.map +1 -1
  51. package/dist/types/src/hooks/useAddRow.d.ts +5 -6
  52. package/dist/types/src/hooks/useAddRow.d.ts.map +1 -1
  53. package/dist/types/src/hooks/useProjectionModel.d.ts +2 -1
  54. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -1
  55. package/dist/types/src/hooks/useTableModel.d.ts +6 -5
  56. package/dist/types/src/hooks/useTableModel.d.ts.map +1 -1
  57. package/dist/types/src/model/modal-controller.d.ts +5 -1
  58. package/dist/types/src/model/modal-controller.d.ts.map +1 -1
  59. package/dist/types/src/model/selection-model.d.ts +17 -8
  60. package/dist/types/src/model/selection-model.d.ts.map +1 -1
  61. package/dist/types/src/model/table-model.d.ts +100 -18
  62. package/dist/types/src/model/table-model.d.ts.map +1 -1
  63. package/dist/types/src/model/table-presentation.d.ts +3 -1
  64. package/dist/types/src/model/table-presentation.d.ts.map +1 -1
  65. package/dist/types/src/playwright/TableManager.d.ts +2 -1
  66. package/dist/types/src/playwright/TableManager.d.ts.map +1 -1
  67. package/dist/types/src/testing/useTestTableModel.d.ts +5 -8
  68. package/dist/types/src/testing/useTestTableModel.d.ts.map +1 -1
  69. package/dist/types/src/translations.d.ts +2 -2
  70. package/dist/types/src/translations.d.ts.map +1 -1
  71. package/dist/types/src/types/Table.d.ts +13 -15
  72. package/dist/types/src/types/Table.d.ts.map +1 -1
  73. package/dist/types/src/util/dynamic-table.d.ts +12 -10
  74. package/dist/types/src/util/dynamic-table.d.ts.map +1 -1
  75. package/dist/types/src/util/dynamic-table.test.d.ts +2 -0
  76. package/dist/types/src/util/dynamic-table.test.d.ts.map +1 -0
  77. package/dist/types/src/util/index.d.ts +2 -0
  78. package/dist/types/src/util/index.d.ts.map +1 -1
  79. package/dist/types/src/util/query-ast.d.ts +7 -0
  80. package/dist/types/src/util/query-ast.d.ts.map +1 -0
  81. package/dist/types/src/util/sort.d.ts +12 -0
  82. package/dist/types/src/util/sort.d.ts.map +1 -0
  83. package/dist/types/tsconfig.tsbuildinfo +1 -1
  84. package/package.json +54 -55
  85. package/src/components/Table/ColumnActionsMenu.tsx +10 -6
  86. package/src/components/Table/ColumnSettings.tsx +8 -9
  87. package/src/components/Table/DynamicTable.stories.tsx +11 -11
  88. package/src/components/Table/DynamicTable.tsx +32 -39
  89. package/src/components/Table/Relations.stories.tsx +53 -43
  90. package/src/components/Table/RowActionsMenu.tsx +3 -2
  91. package/src/components/Table/Table.stories.tsx +81 -69
  92. package/src/components/Table/Table.tsx +43 -406
  93. package/src/components/Table/TableContent.tsx +422 -0
  94. package/src/components/{TableToolbar → Table}/TableToolbar.tsx +41 -42
  95. package/src/components/TableCellEditor/CellValidationMessage.tsx +5 -5
  96. package/src/components/TableCellEditor/FormCellEditor.tsx +118 -135
  97. package/src/components/TableCellEditor/TableCellEditor.stories.tsx +12 -9
  98. package/src/components/TableCellEditor/TableCellEditor.tsx +33 -28
  99. package/src/components/index.ts +0 -1
  100. package/src/components/testing.ts +37 -11
  101. package/src/hooks/useAddRow.ts +8 -10
  102. package/src/hooks/useProjectionModel.ts +29 -9
  103. package/src/hooks/useTableModel.ts +27 -23
  104. package/src/model/modal-controller.ts +23 -12
  105. package/src/model/selection-model.ts +75 -44
  106. package/src/model/table-model.test.ts +81 -53
  107. package/src/model/table-model.ts +410 -138
  108. package/src/model/table-presentation.test.ts +58 -48
  109. package/src/model/table-presentation.ts +34 -28
  110. package/src/playwright/TableManager.ts +12 -5
  111. package/src/playwright/playwright.config.ts +1 -1
  112. package/src/playwright/smoke.spec.ts +48 -4
  113. package/src/testing/useTestTableModel.ts +24 -25
  114. package/src/translations.ts +1 -1
  115. package/src/types/Table.ts +28 -38
  116. package/src/util/dynamic-table.test.ts +70 -0
  117. package/src/util/dynamic-table.ts +36 -19
  118. package/src/util/index.ts +2 -0
  119. package/src/util/query-ast.ts +22 -0
  120. package/src/util/sort.ts +90 -0
  121. package/src/util/table-buttons.ts +1 -1
  122. package/src/util/table-controls.ts +2 -2
  123. package/dist/lib/browser/chunk-5XWSB3JP.mjs.map +0 -7
  124. package/dist/lib/browser/chunk-KNC7XYT6.mjs.map +0 -7
  125. package/dist/lib/node-esm/chunk-CWSGS3Y2.mjs.map +0 -7
  126. package/dist/lib/node-esm/chunk-MKTMOY46.mjs.map +0 -7
  127. package/dist/types/src/components/TableToolbar/TableToolbar.d.ts +0 -21
  128. package/dist/types/src/components/TableToolbar/TableToolbar.d.ts.map +0 -1
  129. package/dist/types/src/components/TableToolbar/index.d.ts +0 -2
  130. package/dist/types/src/components/TableToolbar/index.d.ts.map +0 -1
  131. package/dist/types/src/model/table-sorting.d.ts +0 -56
  132. package/dist/types/src/model/table-sorting.d.ts.map +0 -1
  133. package/src/components/TableToolbar/index.ts +0 -5
  134. package/src/model/table-sorting.ts +0 -234
@@ -1,12 +1,40 @@
1
- import { type ReadonlySignal } from '@preact/signals-core';
1
+ import { Atom, type Registry } from '@effect-atom/atom-react';
2
2
  import { Resource } from '@dxos/context';
3
+ import { type Database, type QueryAST } from '@dxos/echo';
4
+ import { type View } from '@dxos/echo';
3
5
  import { type JsonProp, type JsonSchemaType } from '@dxos/echo/internal';
4
6
  import { type Label } from '@dxos/react-ui';
5
7
  import { type DxGridAxisMeta, type DxGridPlanePosition, type DxGridPosition } from '@dxos/react-ui-grid';
6
- import { type FieldSortType, type ProjectionModel, type ValidationError, type View } from '@dxos/schema';
8
+ import { type ProjectionModel, type ValidationError } from '@dxos/schema';
7
9
  import { type Table } from '../types';
10
+ /**
11
+ * Field sort configuration.
12
+ */
13
+ export type FieldSortType = {
14
+ fieldId: string;
15
+ direction: QueryAST.OrderDirection;
16
+ };
8
17
  import { type SelectionMode, SelectionModel } from './selection-model';
9
- import { TableSorting } from './table-sorting';
18
+ /**
19
+ * Callback type for wrapping mutations in Obj.change().
20
+ * Contains separate callbacks for table object and row mutations.
21
+ */
22
+ export type TableChangeCallback<T extends TableRow> = {
23
+ /** Callback to wrap table object mutations. */
24
+ table: (mutate: (mutableTable: Table.Table) => void) => void;
25
+ /** Callback to wrap row mutations. */
26
+ row: (row: T, mutate: (mutableRow: T) => void) => void;
27
+ };
28
+ /**
29
+ * Creates a change callback for ECHO-backed table and rows.
30
+ * Use this when the table and rows are stored in the ECHO database.
31
+ */
32
+ export declare const createEchoChangeCallback: <T extends TableRow>(table: Table.Table) => TableChangeCallback<T>;
33
+ /**
34
+ * Creates a change callback that directly mutates objects without wrapping.
35
+ * Use this for plain JavaScript objects (tests, non-ECHO scenarios).
36
+ */
37
+ export declare const createDirectChangeCallback: <T extends TableRow>(table: Table.Table) => TableChangeCallback<T>;
10
38
  export type TableCellType = 'standard' | 'draft' | 'header';
11
39
  export type ValidationResult = {
12
40
  valid: true;
@@ -36,10 +64,16 @@ export type TableFeatures = {
36
64
  };
37
65
  export type InsertRowResult = 'draft' | 'final';
38
66
  export type TableModelProps<T extends TableRow = TableRow> = {
67
+ registry: Registry.Registry;
39
68
  object: Table.Table;
40
69
  projection: ProjectionModel;
70
+ db?: Database.Database;
71
+ /**
72
+ * Callbacks to wrap mutations in Obj.change().
73
+ * Use createEchoChangeCallback() for ECHO-backed objects or createDirectChangeCallback() for plain objects.
74
+ */
75
+ change?: TableChangeCallback<T>;
41
76
  features?: Partial<TableFeatures>;
42
- sorting?: FieldSortType[];
43
77
  initialSelection?: string[];
44
78
  pinnedRows?: {
45
79
  top: number[];
@@ -49,18 +83,21 @@ export type TableModelProps<T extends TableRow = TableRow> = {
49
83
  onResolveSchema?: (typename: string) => Promise<JsonSchemaType>;
50
84
  onInsertRow?: (data?: any) => InsertRowResult;
51
85
  onDeleteRows?: (index: number, obj: T[]) => void;
52
- onDeleteColumn?: (fieldId: string) => void;
86
+ onColumnDelete?: (fieldId: string) => void;
53
87
  onCellUpdate?: (cell: DxGridPosition) => void;
54
88
  onRowOrderChange?: () => void;
55
89
  onRowAction?: (actionId: string, data: T) => void;
56
90
  };
57
91
  export declare class TableModel<T extends TableRow = TableRow> extends Resource {
92
+ private readonly _registry;
58
93
  private readonly _object;
59
94
  private readonly _projection;
95
+ private readonly _db?;
96
+ private readonly _change;
60
97
  private readonly _visibleRange;
61
98
  private readonly _onInsertRow?;
62
99
  private readonly _onDeleteRows?;
63
- private readonly _onDeleteColumn?;
100
+ private readonly _onColumnDelete?;
64
101
  private readonly _onCellUpdate?;
65
102
  private readonly _onRowOrderChange?;
66
103
  private readonly _onRowAction?;
@@ -68,41 +105,61 @@ export declare class TableModel<T extends TableRow = TableRow> extends Resource
68
105
  private readonly _features;
69
106
  private readonly _rows;
70
107
  private readonly _draftRows;
108
+ private readonly _inMemorySort;
109
+ private readonly _persistedSort;
71
110
  private readonly _sorting;
111
+ private readonly _sortedRows;
112
+ private readonly _viewDirty;
72
113
  private _pinnedRows;
73
114
  private _selection;
74
115
  private _columnMeta?;
75
- constructor({ object, projection, features, sorting, initialSelection, pinnedRows, rowActions, onCellUpdate, onDeleteColumn, onDeleteRows, onInsertRow, onRowOrderChange, onRowAction, }: TableModelProps<T>);
116
+ private readonly _cellUpdateCounter;
117
+ constructor({ registry, object, projection, db, change, features, initialSelection, pinnedRows, rowActions, onCellUpdate, onColumnDelete, onDeleteRows, onInsertRow, onRowOrderChange, onRowAction, }: TableModelProps<T>);
76
118
  get id(): string;
77
119
  get view(): View.View;
78
120
  get table(): Table.Table;
79
121
  get projection(): ProjectionModel;
80
- get rows(): ReadonlySignal<T[]>;
122
+ get db(): Database.Database | undefined;
123
+ /**
124
+ * Atom for reactive access to rows with in-memory sorting applied.
125
+ */
126
+ get rows(): Atom.Atom<T[]>;
127
+ /**
128
+ * Gets rows with in-memory sorting applied.
129
+ * In-memory sort is local to this instance until saved.
130
+ */
131
+ getRows(): T[];
132
+ /** Atom for reactive access to cell changes. */
133
+ get cellUpdate(): Atom.Atom<number>;
134
+ /**
135
+ * Change a row using the configured change callback.
136
+ * Use this instead of directly mutating to ensure consistent mutation handling.
137
+ */
138
+ changeRow(row: T, mutate: (mutableRow: T) => void): void;
81
139
  get features(): TableFeatures;
82
140
  /**
83
- * @reactive
141
+ * Gets the current sort state.
142
+ * Priority: in-memory sort (local changes) > persisted sort (from query AST).
84
143
  */
85
- get sorting(): TableSorting<T>;
144
+ getSorting(): FieldSortType | undefined;
86
145
  /**
87
146
  * Gets the row data at the specified display index.
88
147
  */
89
148
  getRowAt(displayIndex: number): T | undefined;
90
149
  get pinnedRows(): NonNullable<TableModelProps<T>['pinnedRows']>;
91
- get columnMeta(): ReadonlySignal<DxGridAxisMeta>;
150
+ get columnMeta(): Atom.Atom<DxGridAxisMeta>;
92
151
  get selection(): SelectionModel<T>;
93
- /** @reactive */
94
- get isViewDirty(): boolean;
95
152
  get rowActions(): TableRowAction[];
96
153
  protected _open(): Promise<void>;
97
154
  private initializeColumnMeta;
98
155
  private initializeEffects;
99
156
  setRows: (obj: T[]) => void;
100
157
  getRowCount: () => number;
101
- /**
102
- * @reactive
103
- */
104
- getDraftRowCount: () => number;
105
- get draftRows(): ReadonlySignal<DraftRow<T>[]>;
158
+ getDraftRowCount(): number;
159
+ /** Atom for reactive access to draft rows. */
160
+ get draftRows(): Atom.Atom<DraftRow<T>[]>;
161
+ /** Gets the current draft rows. */
162
+ getDraftRows(): DraftRow<T>[];
106
163
  /**
107
164
  * Checks if a specific field path has validation errors for a given draft row.
108
165
  * @param draftRowIndex - The index of the draft row to check
@@ -144,6 +201,31 @@ export declare class TableModel<T extends TableRow = TableRow> extends Resource
144
201
  setColumnWidth(columnIndex: number, width: number): void;
145
202
  pinRow(rowIndex: number, side: 'top' | 'bottom'): void;
146
203
  unpinRow(rowIndex: number): void;
204
+ /**
205
+ * Sets the sort order for a field in-memory (local to this instance).
206
+ * Use saveView() to persist the sort to the view query.
207
+ */
208
+ setSort(fieldId: string, direction: QueryAST.OrderDirection): void;
209
+ /**
210
+ * Toggles the sort direction for a field in-memory.
211
+ */
212
+ toggleSort(fieldId: string): void;
213
+ /**
214
+ * Clears the in-memory sort order.
215
+ */
216
+ clearSort(): void;
217
+ /**
218
+ * Saves the current in-memory sort to the view query AST.
219
+ * This persists the sort so it becomes the default for all viewers.
220
+ */
147
221
  saveView(): void;
222
+ /**
223
+ * Extracts the base query without order clauses.
224
+ */
225
+ private _getBaseQuery;
226
+ /**
227
+ * Checks if the view has unsaved changes (in-memory sort differs from persisted sort).
228
+ */
229
+ getViewDirty(): boolean;
148
230
  }
149
231
  //# sourceMappingURL=table-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-model.d.ts","sourceRoot":"","sources":["../../../../src/model/table-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-model.d.ts","sourceRoot":"","sources":["../../../../src/model/table-model.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type Registry } from '@effect-atom/atom-react';
1
2
  import { type DxGridPlane, type DxGridPlaneCells, type DxGridPlaneRange } from '@dxos/react-ui-grid';
2
3
  import { type SelectionMode } from './selection-model';
3
4
  import { type TableModel, type TableRow } from './table-model';
@@ -8,9 +9,10 @@ import { type TableModel, type TableRow } from './table-model';
8
9
  */
9
10
  export declare class TablePresentation<T extends TableRow = TableRow> {
10
11
  private readonly model;
12
+ private readonly _registry;
11
13
  private readonly _visibleRange;
12
14
  private fieldProjectionCache;
13
- constructor(model: TableModel<T>, _visibleRange?: import("@preact/signals-core").Signal<DxGridPlaneRange>);
15
+ constructor(registry: Registry.Registry, model: TableModel<T>);
14
16
  getCells(range: DxGridPlaneRange, plane: DxGridPlane): DxGridPlaneCells;
15
17
  /**
16
18
  * Gets a field projection, using cache if available within the current render pass.
@@ -1 +1 @@
1
- {"version":3,"file":"table-presentation.d.ts","sourceRoot":"","sources":["../../../../src/model/table-presentation.ts"],"names":[],"mappings":"AAUA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;GAIG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IAIxD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAJhC,OAAO,CAAC,oBAAoB,CAAkF;gBAG3F,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EACpB,aAAa,0DAG5B;IAGG,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,GAAG,gBAAgB;IAgD9E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,cAAc;IA+JtB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,iBAAiB;CAe1B;AAED,eAAO,MAAM,0BAA0B,GAAI,UAAU,OAAO,EAAE,eAAe,aAAa,yBAezF,CAAC"}
1
+ {"version":3,"file":"table-presentation.d.ts","sourceRoot":"","sources":["../../../../src/model/table-presentation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAO9D,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAEtB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;GAIG;AACH,qBAAa,iBAAiB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ;IAOxD,OAAO,CAAC,QAAQ,CAAC,KAAK;IANxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,OAAO,CAAC,oBAAoB,CAAkF;gBAG5G,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EACV,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAShC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,WAAW,GAAG,gBAAgB;IAgD9E;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B,OAAO,CAAC,cAAc;IA+JtB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,uBAAuB;IAgB/B,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,iBAAiB;CAe1B;AAED,eAAO,MAAM,0BAA0B,GAAI,UAAU,OAAO,EAAE,eAAe,aAAa,yBAezF,CAAC"}
@@ -10,9 +10,10 @@ export declare class TableManager {
10
10
  toggleSelectAll(): Promise<void>;
11
11
  selection(index: number): Locator;
12
12
  sortColumn(index: number, direction: 'ascending' | 'descending'): Promise<void>;
13
+ addRow(): Promise<void>;
13
14
  addColumn({ label, format }: {
14
15
  label: string;
15
- format: string;
16
+ format?: string;
16
17
  }): Promise<void>;
17
18
  }
18
19
  //# sourceMappingURL=TableManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableManager.d.ts","sourceRoot":"","sources":["../../../../src/playwright/TableManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAevD,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;gBAET,IAAI,EAAE,IAAI;IAIvC,IAAW,IAAI,IAAI,aAAa,CAE/B;IAEY,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C,SAAS,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI3B,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/E,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAQ5F"}
1
+ {"version":3,"file":"TableManager.d.ts","sourceRoot":"","sources":["../../../../src/playwright/TableManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAgBvD,qBAAa,YAAY;IAGX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;gBAET,IAAI,EAAE,IAAI;IAIvC,IAAW,IAAI,IAAI,aAAa,CAE/B;IAEY,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C,SAAS,CAAC,KAAK,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAKnC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI3B,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,GAAG,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/E,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAU7F"}
@@ -1,20 +1,17 @@
1
- import type * as Schema from 'effect/Schema';
2
1
  import { type RefObject } from 'react';
3
- import { type Client } from '@dxos/react-client';
4
- import { type Space } from '@dxos/react-client/echo';
2
+ import { type Database, type Type } from '@dxos/echo';
5
3
  import { type ProjectionModel } from '@dxos/schema';
6
4
  import { type TableController } from '../components';
7
5
  import { type TableModel, TablePresentation } from '../model';
8
6
  import { Table } from '../types';
9
- export type TestTableModel = {
10
- schema: Schema.Schema.AnyNoContext | undefined;
7
+ export type TestTableModel<T extends Type.AnyObj = Type.AnyObj> = {
8
+ schema: T | undefined;
11
9
  table: Table.Table | undefined;
12
10
  projection: ProjectionModel | undefined;
13
11
  tableRef: RefObject<TableController | null>;
14
12
  model: TableModel | undefined;
15
13
  presentation: TablePresentation | undefined;
16
- space: Space | undefined;
17
- client: Client | undefined;
14
+ db: Database.Database | undefined;
18
15
  handleInsertRow: () => void;
19
16
  handleSaveView: () => void;
20
17
  handleDeleteRows: (rowIndex: number, objects: any[]) => void;
@@ -24,5 +21,5 @@ export type TestTableModel = {
24
21
  * Custom hook to create and manage a test table model for storybook demonstrations.
25
22
  * Provides table data, schema, and handlers for table operations.
26
23
  */
27
- export declare const useTestTableModel: () => TestTableModel;
24
+ export declare const useTestTableModel: <T extends Type.AnyObj = Type.AnyObj>() => TestTableModel<T>;
28
25
  //# sourceMappingURL=useTestTableModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTestTableModel.d.ts","sourceRoot":"","sources":["../../../../src/testing/useTestTableModel.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAgC,MAAM,OAAO,CAAC;AAKrE,OAAO,EAAE,KAAK,MAAM,EAAa,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAU,KAAK,KAAK,EAAuB,MAAM,yBAAyB,CAAC;AAElF,OAAO,EAAE,KAAK,eAAe,EAAwB,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,KAAK,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;IAC/C,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IACxC,QAAQ,EAAE,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC5C,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC7D,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,cA4FpC,CAAC"}
1
+ {"version":3,"file":"useTestTableModel.d.ts","sourceRoot":"","sources":["../../../../src/testing/useTestTableModel.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAA4C,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAMtD,OAAO,EAAE,KAAK,eAAe,EAAwB,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,KAAK,UAAU,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAIjC,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI;IAChE,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;IACtB,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IACxC,QAAQ,EAAE,SAAS,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC5C,KAAK,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC5C,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC;IAClC,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC7D,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,OAAK,cAAc,CAAC,CAAC,CA4FzF,CAAC"}
@@ -1,7 +1,7 @@
1
- export declare const translationKey = "react-ui-table";
1
+ export declare const translationKey = "@dxos/react-ui-table";
2
2
  export declare const translations: [{
3
3
  readonly 'en-US': {
4
- readonly "react-ui-table": {
4
+ readonly "@dxos/react-ui-table": {
5
5
  readonly 'object placeholder': "New table";
6
6
  readonly 'create object label': "Create table";
7
7
  readonly 'table name placeholder': "Table name";
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BM,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAErD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BM,CAAC"}
@@ -1,18 +1,19 @@
1
1
  import * as Schema from 'effect/Schema';
2
- import { Obj, Type } from '@dxos/echo';
2
+ import { Type } from '@dxos/echo';
3
+ import { View } from '@dxos/echo';
3
4
  import { type JsonSchemaType } from '@dxos/echo/internal';
4
- import { View } from '@dxos/schema';
5
- declare const TableSchema: Type.obj<Schema.Struct<{
6
- name: Schema.optional<typeof Schema.String>;
7
- view: import("@dxos/echo/internal").RefSchema<View.View>;
8
- sizes: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
9
- }>>;
10
- export interface Table extends Schema.Schema.Type<typeof TableSchema> {
5
+ export declare const Table: Type.Obj<{
6
+ readonly name?: string | undefined;
7
+ readonly view: import("@dxos/echo/internal").Ref<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & View.View>;
8
+ readonly sizes: {
9
+ [x: string]: number;
10
+ };
11
+ }, Schema.Struct.Fields>;
12
+ export interface Table extends Schema.Schema.Type<typeof Table> {
11
13
  }
12
- export interface TableEncoded extends Schema.Schema.Encoded<typeof TableSchema> {
13
- }
14
- export declare const Table: Schema.Schema<Table, TableEncoded>;
15
- type MakeProps = Omit<Partial<Obj.MakeProps<typeof Table>>, 'view'> & {
14
+ type MakeProps = {
15
+ name?: string;
16
+ sizes?: Record<string, number>;
16
17
  view: View.View;
17
18
  /** Required to auto-size columns. */
18
19
  jsonSchema?: JsonSchemaType;
@@ -21,8 +22,5 @@ type MakeProps = Omit<Partial<Obj.MakeProps<typeof Table>>, 'view'> & {
21
22
  * Make a table as a view of a data set.
22
23
  */
23
24
  export declare const make: ({ name, sizes, view, jsonSchema }: MakeProps) => Table;
24
- export declare const TableV1: Type.obj<Schema.Struct<{
25
- sizes: Schema.mutable<Schema.Record$<typeof Schema.String, typeof Schema.Number>>;
26
- }>>;
27
25
  export {};
28
26
  //# sourceMappingURL=Table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/types/Table.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,GAAG,EAAO,IAAI,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAsC,KAAK,cAAc,EAAmB,MAAM,qBAAqB,CAAC;AAE/G,OAAO,EAAE,IAAI,EAAuC,MAAM,cAAc,CAAC;AAEzE,QAAA,MAAM,WAAW;;;;GAiBhB,CAAC;AAEF,MAAM,WAAW,KAAM,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC;CAAG;AACxE,MAAM,WAAW,YAAa,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC;CAAG;AAClF,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAe,CAAC;AAErE,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IACpE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,mCAAwC,SAAS,KAAG,KA4BxE,CAAC;AAMF,eAAO,MAAM,OAAO;;GAUnB,CAAC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/types/Table.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAoC,IAAI,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAsC,KAAK,cAAc,EAAmB,MAAM,qBAAqB,CAAC;AAG/G,eAAO,MAAM,KAAK;;;;;;wBAqBjB,CAAC;AAEF,MAAM,WAAW,KAAM,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC;CAAG;AAElE,KAAK,SAAS,GAAG;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChB,qCAAqC;IACrC,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,mCAAwC,SAAS,KAAG,KA6BxE,CAAC"}
@@ -1,27 +1,29 @@
1
- import type * as Schema from 'effect/Schema';
2
- import { type JsonSchema } from '@dxos/echo';
3
- import { ProjectionModel, type SchemaPropertyDefinition, type SortDirectionType } from '@dxos/schema';
1
+ import { type Registry } from '@effect-atom/atom-react';
2
+ import type * as Types from 'effect/Types';
3
+ import { JsonSchema, type QueryAST, Type } from '@dxos/echo';
4
+ import { ProjectionModel, type SchemaPropertyDefinition } from '@dxos/schema';
4
5
  import { Table } from '../types';
5
6
  type PropertyDisplayProps = {
6
7
  size: number;
7
8
  title: string;
8
- sort: SortDirectionType;
9
+ sort: QueryAST.OrderDirection;
9
10
  };
10
11
  export type TablePropertyDefinition = SchemaPropertyDefinition & Partial<PropertyDisplayProps>;
11
12
  /**
12
13
  * @deprecated
13
14
  */
14
- export declare const getBaseSchema: ({ typename, properties, jsonSchema, schema, }: {
15
+ export declare const getBaseSchema: ({ schema, typename, properties, jsonSchema, }: {
16
+ schema?: Type.AnyEntity;
15
17
  typename?: string;
16
18
  properties?: TablePropertyDefinition[];
17
- jsonSchema?: JsonSchema.JsonSchema;
18
- schema?: Schema.Schema.AnyNoContext;
19
+ jsonSchema?: Types.DeepMutable<JsonSchema.JsonSchema>;
19
20
  }) => {
20
21
  typename: string;
21
- jsonSchema: JsonSchema.JsonSchema;
22
+ jsonSchema: Types.DeepMutable<JsonSchema.JsonSchema>;
22
23
  };
23
- export declare const makeDynamicTable: ({ jsonSchema, properties, }: {
24
- jsonSchema: JsonSchema.JsonSchema;
24
+ export declare const makeDynamicTable: ({ registry, jsonSchema, properties, }: {
25
+ registry: Registry.Registry;
26
+ jsonSchema: Types.DeepMutable<JsonSchema.JsonSchema>;
25
27
  properties?: TablePropertyDefinition[];
26
28
  }) => {
27
29
  projection: ProjectionModel;
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-table.d.ts","sourceRoot":"","sources":["../../../../src/util/dynamic-table.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAU,KAAK,UAAU,EAAyB,MAAM,YAAY,CAAC;AAC5E,OAAO,EACL,eAAe,EACf,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EAGvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,iBAAiB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE/F;;GAEG;AAEH,eAAO,MAAM,aAAa,GAAI,+CAK3B;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;CACrC,KAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAA;CAWxD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,6BAG9B;IACD,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC;IAClC,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACxC,KAAG;IAAE,UAAU,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAA;CAerD,CAAC"}
1
+ {"version":3,"file":"dynamic-table.d.ts","sourceRoot":"","sources":["../../../../src/util/dynamic-table.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAU,UAAU,EAAqB,KAAK,QAAQ,EAAO,IAAI,EAAE,MAAM,YAAY,CAAC;AAE7F,OAAO,EACL,eAAe,EACf,KAAK,wBAAwB,EAI9B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE/F;;GAEG;AAEH,eAAO,MAAM,aAAa,GAAI,+CAK3B;IACD,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACvC,UAAU,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;CACvD,KAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;CAW3E,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,uCAI9B;IACD,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC5B,UAAU,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACrD,UAAU,CAAC,EAAE,uBAAuB,EAAE,CAAC;CACxC,KAAG;IAAE,UAAU,EAAE,eAAe,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAA;CAoBrD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=dynamic-table.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-table.test.d.ts","sourceRoot":"","sources":["../../../../src/util/dynamic-table.test.ts"],"names":[],"mappings":""}
@@ -1,5 +1,7 @@
1
1
  export * from './dynamic-table';
2
+ export * from './query-ast';
2
3
  export * from './signals';
4
+ export * from './sort';
3
5
  export * from './table-buttons';
4
6
  export * from './table-controls';
5
7
  export * from './schema';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type QueryAST } from '@dxos/echo';
2
+ /**
3
+ * Extracts order clauses from a query AST.
4
+ * Handles nested structures (options, order, etc.).
5
+ */
6
+ export declare const extractOrder: (queryAst: QueryAST.Query) => readonly QueryAST.Order[] | undefined;
7
+ //# sourceMappingURL=query-ast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-ast.d.ts","sourceRoot":"","sources":["../../../../src/util/query-ast.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,QAAQ,CAAC,KAAK,KAAG,SAAS,QAAQ,CAAC,KAAK,EAAE,GAAG,SAWnF,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { Format, type QueryAST } from '@dxos/echo';
2
+ /**
3
+ * Gets a normalized sort value for a given value and format.
4
+ * This ensures consistent sorting behavior across different data types.
5
+ */
6
+ export declare const getSortValue: (value: any, format: Format.TypeFormat) => any;
7
+ /**
8
+ * Compares two values for sorting based on the field format.
9
+ * Handles dates, numbers, and strings appropriately.
10
+ */
11
+ export declare const compareValues: (aValue: any, bValue: any, format: Format.TypeFormat, direction: QueryAST.OrderDirection) => number;
12
+ //# sourceMappingURL=sort.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../../src/util/sort.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,GAAG,EAAE,QAAQ,MAAM,CAAC,UAAU,KAAG,GA2CpE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,GACxB,QAAQ,GAAG,EACX,QAAQ,GAAG,EACX,QAAQ,MAAM,CAAC,UAAU,EACzB,WAAW,QAAQ,CAAC,cAAc,KACjC,MAyBF,CAAC"}