@dxos/react-ui-table 0.8.4-main.ead640a → 0.8.4-main.effb148878

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 (169) hide show
  1. package/LICENSE +102 -5
  2. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  3. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  4. package/dist/lib/browser/chunk-KC62K4WS.mjs +1696 -0
  5. package/dist/lib/browser/chunk-KC62K4WS.mjs.map +7 -0
  6. package/dist/lib/browser/chunk-VWQWF3CP.mjs +67 -0
  7. package/dist/lib/browser/chunk-VWQWF3CP.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +1128 -1044
  9. package/dist/lib/browser/index.mjs.map +4 -4
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/testing/index.mjs +35 -46
  12. package/dist/lib/browser/testing/index.mjs.map +3 -3
  13. package/dist/lib/browser/translations.mjs +36 -0
  14. package/dist/lib/browser/translations.mjs.map +7 -0
  15. package/dist/lib/browser/types/index.mjs +4 -3
  16. package/dist/lib/node-esm/chunk-62FOU4M7.mjs +1698 -0
  17. package/dist/lib/node-esm/chunk-62FOU4M7.mjs.map +7 -0
  18. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  19. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  20. package/dist/lib/node-esm/chunk-UBXOF64L.mjs +68 -0
  21. package/dist/lib/node-esm/chunk-UBXOF64L.mjs.map +7 -0
  22. package/dist/lib/node-esm/index.mjs +1128 -1044
  23. package/dist/lib/node-esm/index.mjs.map +4 -4
  24. package/dist/lib/node-esm/meta.json +1 -1
  25. package/dist/lib/node-esm/testing/index.mjs +35 -46
  26. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  27. package/dist/lib/node-esm/translations.mjs +37 -0
  28. package/dist/lib/node-esm/translations.mjs.map +7 -0
  29. package/dist/lib/node-esm/types/index.mjs +4 -3
  30. package/dist/types/src/components/Table/ColumnActionsMenu.d.ts +1 -2
  31. package/dist/types/src/components/Table/ColumnActionsMenu.d.ts.map +1 -1
  32. package/dist/types/src/components/Table/ColumnSettings.d.ts +2 -2
  33. package/dist/types/src/components/Table/ColumnSettings.d.ts.map +1 -1
  34. package/dist/types/src/components/Table/DynamicTable.d.ts +6 -7
  35. package/dist/types/src/components/Table/DynamicTable.d.ts.map +1 -1
  36. package/dist/types/src/components/Table/DynamicTable.stories.d.ts +22 -37
  37. package/dist/types/src/components/Table/DynamicTable.stories.d.ts.map +1 -1
  38. package/dist/types/src/components/Table/Relations.stories.d.ts +85 -81
  39. package/dist/types/src/components/Table/Relations.stories.d.ts.map +1 -1
  40. package/dist/types/src/components/Table/RowActionsMenu.d.ts.map +1 -1
  41. package/dist/types/src/components/Table/Table.d.ts +20 -21
  42. package/dist/types/src/components/Table/Table.d.ts.map +1 -1
  43. package/dist/types/src/components/Table/Table.stories.d.ts +93 -26
  44. package/dist/types/src/components/Table/Table.stories.d.ts.map +1 -1
  45. package/dist/types/src/components/Table/TableContent.d.ts +18 -0
  46. package/dist/types/src/components/Table/TableContent.d.ts.map +1 -0
  47. package/dist/types/src/components/Table/TableToolbar.d.ts +21 -0
  48. package/dist/types/src/components/Table/TableToolbar.d.ts.map +1 -0
  49. package/dist/types/src/components/TableCellEditor/CellValidationMessage.d.ts +1 -1
  50. package/dist/types/src/components/TableCellEditor/CellValidationMessage.d.ts.map +1 -1
  51. package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts +10 -12
  52. package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts.map +1 -1
  53. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts +5 -7
  54. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts.map +1 -1
  55. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts +24 -26
  56. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts.map +1 -1
  57. package/dist/types/src/components/index.d.ts +0 -1
  58. package/dist/types/src/components/index.d.ts.map +1 -1
  59. package/dist/types/src/components/testing.d.ts +22 -15
  60. package/dist/types/src/components/testing.d.ts.map +1 -1
  61. package/dist/types/src/hooks/index.d.ts +2 -1
  62. package/dist/types/src/hooks/index.d.ts.map +1 -1
  63. package/dist/types/src/hooks/useAddRow.d.ts +5 -6
  64. package/dist/types/src/hooks/useAddRow.d.ts.map +1 -1
  65. package/dist/types/src/hooks/useProjectionModel.d.ts +6 -0
  66. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
  67. package/dist/types/src/hooks/useTableModel.d.ts +9 -9
  68. package/dist/types/src/hooks/useTableModel.d.ts.map +1 -1
  69. package/dist/types/src/index.d.ts +0 -2
  70. package/dist/types/src/index.d.ts.map +1 -1
  71. package/dist/types/src/model/modal-controller.d.ts +5 -1
  72. package/dist/types/src/model/modal-controller.d.ts.map +1 -1
  73. package/dist/types/src/model/selection-model.d.ts +18 -9
  74. package/dist/types/src/model/selection-model.d.ts.map +1 -1
  75. package/dist/types/src/model/table-model.d.ts +104 -25
  76. package/dist/types/src/model/table-model.d.ts.map +1 -1
  77. package/dist/types/src/model/table-presentation.d.ts +3 -1
  78. package/dist/types/src/model/table-presentation.d.ts.map +1 -1
  79. package/dist/types/src/playwright/TableManager.d.ts +2 -1
  80. package/dist/types/src/playwright/TableManager.d.ts.map +1 -1
  81. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -1
  82. package/dist/types/src/testing/useTestTableModel.d.ts +18 -15
  83. package/dist/types/src/testing/useTestTableModel.d.ts.map +1 -1
  84. package/dist/types/src/translations.d.ts +21 -23
  85. package/dist/types/src/translations.d.ts.map +1 -1
  86. package/dist/types/src/types/Table.d.ts +32 -0
  87. package/dist/types/src/types/Table.d.ts.map +1 -0
  88. package/dist/types/src/types/index.d.ts +1 -1
  89. package/dist/types/src/types/index.d.ts.map +1 -1
  90. package/dist/types/src/util/dynamic-table.d.ts +14 -11
  91. package/dist/types/src/util/dynamic-table.d.ts.map +1 -1
  92. package/dist/types/src/util/dynamic-table.test.d.ts +2 -0
  93. package/dist/types/src/util/dynamic-table.test.d.ts.map +1 -0
  94. package/dist/types/src/util/index.d.ts +2 -0
  95. package/dist/types/src/util/index.d.ts.map +1 -1
  96. package/dist/types/src/util/query-ast.d.ts +7 -0
  97. package/dist/types/src/util/query-ast.d.ts.map +1 -0
  98. package/dist/types/src/util/schema.d.ts.map +1 -1
  99. package/dist/types/src/util/signals.d.ts.map +1 -1
  100. package/dist/types/src/util/sort.d.ts +12 -0
  101. package/dist/types/src/util/sort.d.ts.map +1 -0
  102. package/dist/types/src/util/table-buttons.d.ts +20 -20
  103. package/dist/types/src/util/table-buttons.d.ts.map +1 -1
  104. package/dist/types/src/util/table-controls.d.ts +4 -4
  105. package/dist/types/src/util/table-controls.d.ts.map +1 -1
  106. package/dist/types/src/util/tag.d.ts.map +1 -1
  107. package/dist/types/tsconfig.tsbuildinfo +1 -1
  108. package/package.json +69 -78
  109. package/src/components/Table/ColumnActionsMenu.tsx +17 -12
  110. package/src/components/Table/ColumnSettings.tsx +8 -9
  111. package/src/components/Table/DynamicTable.stories.tsx +32 -32
  112. package/src/components/Table/DynamicTable.tsx +32 -33
  113. package/src/components/Table/Relations.stories.tsx +116 -82
  114. package/src/components/Table/RowActionsMenu.tsx +27 -17
  115. package/src/components/Table/Table.stories.tsx +129 -116
  116. package/src/components/Table/Table.tsx +43 -407
  117. package/src/components/Table/TableContent.tsx +426 -0
  118. package/src/components/Table/TableToolbar.tsx +111 -0
  119. package/src/components/TableCellEditor/CellValidationMessage.tsx +5 -6
  120. package/src/components/TableCellEditor/FormCellEditor.tsx +119 -135
  121. package/src/components/TableCellEditor/TableCellEditor.stories.tsx +29 -22
  122. package/src/components/TableCellEditor/TableCellEditor.tsx +35 -33
  123. package/src/components/index.ts +0 -1
  124. package/src/components/testing.ts +38 -17
  125. package/src/hooks/index.ts +2 -1
  126. package/src/hooks/useAddRow.ts +8 -10
  127. package/src/hooks/useProjectionModel.ts +38 -0
  128. package/src/hooks/useTableModel.ts +36 -34
  129. package/src/index.ts +0 -4
  130. package/src/model/modal-controller.ts +23 -12
  131. package/src/model/selection-model.ts +75 -44
  132. package/src/model/table-model.test.ts +77 -55
  133. package/src/model/table-model.ts +437 -171
  134. package/src/model/table-presentation.test.ts +54 -50
  135. package/src/model/table-presentation.ts +44 -40
  136. package/src/playwright/TableManager.ts +13 -6
  137. package/src/playwright/playwright.config.ts +1 -1
  138. package/src/playwright/smoke.spec.ts +59 -13
  139. package/src/testing/useTestTableModel.ts +49 -43
  140. package/src/translations.ts +20 -22
  141. package/src/types/Table.ts +81 -0
  142. package/src/types/index.ts +1 -1
  143. package/src/util/dynamic-table.test.ts +63 -0
  144. package/src/util/dynamic-table.ts +49 -35
  145. package/src/util/index.ts +2 -0
  146. package/src/util/query-ast.ts +22 -0
  147. package/src/util/sort.ts +90 -0
  148. package/src/util/table-buttons.ts +1 -1
  149. package/src/util/table-controls.ts +2 -2
  150. package/dist/lib/browser/chunk-4K7JPALT.mjs +0 -66
  151. package/dist/lib/browser/chunk-4K7JPALT.mjs.map +0 -7
  152. package/dist/lib/browser/chunk-OZTXLZGM.mjs +0 -1804
  153. package/dist/lib/browser/chunk-OZTXLZGM.mjs.map +0 -7
  154. package/dist/lib/node-esm/chunk-MK6OVUF6.mjs +0 -67
  155. package/dist/lib/node-esm/chunk-MK6OVUF6.mjs.map +0 -7
  156. package/dist/lib/node-esm/chunk-S56Z4V4X.mjs +0 -1805
  157. package/dist/lib/node-esm/chunk-S56Z4V4X.mjs.map +0 -7
  158. package/dist/types/src/components/TableToolbar/TableToolbar.d.ts +0 -21
  159. package/dist/types/src/components/TableToolbar/TableToolbar.d.ts.map +0 -1
  160. package/dist/types/src/components/TableToolbar/index.d.ts +0 -2
  161. package/dist/types/src/components/TableToolbar/index.d.ts.map +0 -1
  162. package/dist/types/src/model/table-sorting.d.ts +0 -52
  163. package/dist/types/src/model/table-sorting.d.ts.map +0 -1
  164. package/dist/types/src/types/schema.d.ts +0 -28
  165. package/dist/types/src/types/schema.d.ts.map +0 -1
  166. package/src/components/TableToolbar/TableToolbar.tsx +0 -102
  167. package/src/components/TableToolbar/index.ts +0 -5
  168. package/src/model/table-sorting.ts +0 -225
  169. package/src/types/schema.ts +0 -73
@@ -1,7 +1,6 @@
1
1
  import { type Completion } from '@codemirror/autocomplete';
2
- import type * as Schema from 'effect/Schema';
3
2
  import React from 'react';
4
- import type { Client } from '@dxos/client';
3
+ import { type Type } from '@dxos/echo';
5
4
  import { type DxGridAxis, type DxGridPosition } from '@dxos/lit-grid';
6
5
  import { type GridScopedProps } from '@dxos/react-ui-grid';
7
6
  import { type ModalController, type TableModel } from '../../model';
@@ -12,15 +11,14 @@ import { type OnCreateHandler } from './FormCellEditor';
12
11
  export type QueryResult = Pick<Completion, 'label'> & {
13
12
  data: any;
14
13
  };
15
- export type TableCellEditorProps = {
14
+ export type TableCellEditorProps<T extends Type.AnyEntity = Type.AnyEntity> = {
15
+ schema?: T;
16
16
  model?: TableModel;
17
17
  modals?: ModalController;
18
- schema?: Schema.Schema.AnyNoContext;
19
18
  onFocus?: (axis?: DxGridAxis, delta?: -1 | 0 | 1, cell?: DxGridPosition) => void;
20
19
  onCreate?: OnCreateHandler;
21
20
  onSave?: () => void;
22
- client?: Client;
23
21
  };
24
- export declare const TableValueEditor: ({ model, modals, schema, onFocus, onSave, onCreate, client, __gridScope, }: GridScopedProps<TableCellEditorProps>) => React.JSX.Element;
25
- export declare const TableCellEditor: ({ model, modals, onFocus, onSave, __gridScope, }: GridScopedProps<TableCellEditorProps>) => React.JSX.Element;
22
+ export declare const TableValueEditor: <T extends Type.AnyEntity = Type.AnyEntity>({ __gridScope, schema, model, modals, onFocus, onSave, onCreate, }: GridScopedProps<TableCellEditorProps<T>>) => React.JSX.Element;
23
+ export declare const TableCellEditor: ({ __gridScope, model, modals, onFocus, onSave, }: GridScopedProps<TableCellEditorProps>) => React.JSX.Element;
26
24
  //# sourceMappingURL=TableCellEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableCellEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/TableCellEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAiD,MAAM,OAAO,CAAC;AAGtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAML,KAAK,eAAe,EAIrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAGpE,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACjF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAKF,eAAO,MAAM,gBAAgB,GAAI,4EAS9B,eAAe,CAAC,oBAAoB,CAAC,sBAqCvC,CAAC;AAIF,eAAO,MAAM,eAAe,GAAI,kDAM7B,eAAe,CAAC,oBAAoB,CAAC,sBAqJvC,CAAC"}
1
+ {"version":3,"file":"TableCellEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/TableCellEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAiD,MAAM,OAAO,CAAC;AAGtE,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAML,KAAK,eAAe,EAIrB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG;IACpD,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI;IAC5E,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACjF,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,IAAI,CAAC,SAAS,uFAQtD,eAAe,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,sBAoC1C,CAAC;AAEF,eAAO,MAAM,eAAe,qDAMzB,eAAe,CAAC,oBAAoB,CAAC,sBA+JvC,CAAC"}
@@ -1,43 +1,41 @@
1
1
  import { type StoryObj } from '@storybook/react-vite';
2
2
  import React from 'react';
3
3
  import { type GridEditing } from '@dxos/react-ui-grid';
4
- type StoryProps = {
4
+ type DefaultStoryProps = {
5
5
  editing: GridEditing;
6
6
  };
7
7
  declare const meta: {
8
8
  title: string;
9
- component: ({ editing }: StoryProps) => React.JSX.Element;
10
- render: ({ editing }: StoryProps) => React.JSX.Element;
9
+ component: ({ editing }: DefaultStoryProps) => React.JSX.Element;
10
+ render: ({ editing }: DefaultStoryProps) => React.JSX.Element;
11
11
  decorators: import("@storybook/react").Decorator[];
12
12
  parameters: {
13
+ layout: string;
13
14
  translations: [{
14
15
  readonly 'en-US': {
15
- readonly "react-ui-table": {
16
- readonly 'object placeholder': "New table";
17
- readonly 'create object label': "Create table";
18
- readonly 'table name placeholder': "Table name";
19
- readonly 'settings title': "Table settings";
20
- readonly 'table schema label': "Record type";
21
- readonly 'new schema': "New record type";
22
- readonly 'continue label': "Continue";
23
- readonly 'create stack section label': "Create table";
24
- readonly 'add row label': "Add row";
25
- readonly 'create comment': "Create thread";
26
- readonly 'column action sort descending': "Sort Descending";
27
- readonly 'column action sort ascending': "Sort Ascending";
28
- readonly 'column action clear sorting': "Clear Sorting";
29
- readonly 'column action settings': "Column Settings";
30
- readonly 'column action delete': "Delete Column";
31
- readonly 'delete row label': "Delete row";
32
- readonly 'bulk delete row label': "Delete selected rows";
33
- readonly 'column deleted label': "Column deleted";
34
- readonly 'new column button label': "Create column";
35
- readonly 'create new object label': "Create new object “{{text}}”";
36
- readonly 'save view label': "Save changes to view";
16
+ readonly "@dxos/react-ui-table": {
17
+ readonly 'object.placeholder': 'New table';
18
+ readonly 'create-object.label': 'Create table';
19
+ readonly 'table-name.placeholder': 'Table name';
20
+ readonly 'settings.title': 'Table settings';
21
+ readonly 'table-schema.label': 'Type';
22
+ readonly 'continue.label': 'Continue';
23
+ readonly 'create-stack-section.label': 'Create table';
24
+ readonly 'add-row.label': 'Add row';
25
+ readonly 'column-action-sort-descending.menu': 'Sort Descending';
26
+ readonly 'column-action-sort-ascending.menu': 'Sort Ascending';
27
+ readonly 'column-action-clear-sorting.menu': 'Clear Sorting';
28
+ readonly 'column-action-settings.menu': 'Column Settings';
29
+ readonly 'column-action-delete.menu': 'Delete Column';
30
+ readonly 'delete-row.label': 'Delete row';
31
+ readonly 'bulk-delete-row.label': 'Delete selected rows';
32
+ readonly 'column-deleted.label': 'Column deleted';
33
+ readonly 'new-column-button.label': 'Create column';
34
+ readonly 'create-new-object.label': 'Create new object \u201C{{text}}\u201D';
35
+ readonly 'save-view.label': 'Save changes to view';
37
36
  };
38
37
  };
39
38
  }];
40
- layout: string;
41
39
  };
42
40
  };
43
41
  export default meta;
@@ -1 +1 @@
1
- {"version":3,"file":"TableCellEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/TableCellEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAQ,KAAK,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAS7E,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAkBF,QAAA,MAAM,IAAI;;6BAhByB,UAAU;0BAAV,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CR,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC"}
1
+ {"version":3,"file":"TableCellEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/TableCellEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAQ,KAAK,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAW7E,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAmBF,QAAA,MAAM,IAAI;;6BAhByB,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDf,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export * from './Table';
2
- export * from './TableToolbar';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,SAAS,CAAC"}
@@ -1,24 +1,31 @@
1
+ import { Atom } from '@effect-atom/atom-react';
1
2
  import * as Schema from 'effect/Schema';
3
+ import { Type } from '@dxos/echo';
2
4
  import { type ProjectionModel } from '@dxos/schema';
3
- export declare const TestSchema: import("@dxos/echo/internal").TypedObjectPrototype<import("@dxos/echo/internal").TypedObjectFields<{
4
- id: import("@dxos/keys").ObjectIdClass;
5
- name: Schema.optional<typeof Schema.String>;
6
- age: Schema.optional<typeof Schema.Number>;
7
- active: Schema.optional<typeof Schema.Boolean>;
8
- netWorth: Schema.optional<typeof Schema.Number>;
9
- }, import("@dxos/echo/internal").TypedObjectOptions>, Schema.Struct.Encoded<{
10
- id: import("@dxos/keys").ObjectIdClass;
11
- name: Schema.optional<typeof Schema.String>;
12
- age: Schema.optional<typeof Schema.Number>;
13
- active: Schema.optional<typeof Schema.Boolean>;
14
- netWorth: Schema.optional<typeof Schema.Number>;
15
- }>>;
16
- export declare const createItems: (n: number) => {
5
+ export declare const TestSchema: Type.Obj<{
6
+ readonly name?: string | undefined;
7
+ readonly age?: number | undefined;
8
+ readonly active?: boolean | undefined;
9
+ readonly netWorth?: number | undefined;
10
+ }, Schema.Struct.Fields>;
11
+ export type TestItem = {
17
12
  name: string;
18
13
  age: number;
19
14
  active: boolean;
20
15
  netWorth: number;
21
- }[];
16
+ };
17
+ /**
18
+ * Creates an Atom containing test items data.
19
+ */
20
+ export declare const createItemsAtom: (n: number) => Atom.Writable<{
21
+ data: TestItem[];
22
+ }, {
23
+ data: TestItem[];
24
+ }>;
25
+ /**
26
+ * Creates plain test items (non-reactive).
27
+ */
28
+ export declare const createItems: (n: number) => TestItem[];
22
29
  export type SimulatorProps = {
23
30
  projection: ProjectionModel;
24
31
  items: any[];
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../src/components/testing.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,UAAU;;;;;;;;;;;;GAMrB,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM;;;;;GAWpC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,uDAAuD,cAAc,SA6DjG,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../src/components/testing.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAe,IAAI,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,UAAU;;;;;wBAK6C,CAAC;AAErE,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,MAAO,MAAM;UACd,QAAQ,EAAE;;;EAQpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,MAAO,MAAM,KAAG,QAAQ,EAO/C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,YAAY,0DAA2D,cAAc,SA6DjG,CAAC"}
@@ -1,3 +1,4 @@
1
- export * from './useTableModel';
2
1
  export * from './useAddRow';
2
+ export * from './useProjectionModel';
3
+ export * from './useTableModel';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
@@ -1,14 +1,13 @@
1
- import type * as Schema from 'effect/Schema';
2
- import { type Space } from '@dxos/client/echo';
1
+ import { type Database, type Type } from '@dxos/echo';
3
2
  import { type InsertRowResult } from '../model';
4
- export type UseAddRowParams = {
5
- space?: Space;
6
- schema?: Schema.Schema.AnyNoContext;
3
+ export type UseAddRowProps = {
4
+ db?: Database.Database;
5
+ schema?: Type.AnyObj;
7
6
  };
8
7
  /**
9
8
  * Hook that provides a safe row creation function that handles schema validation failures.
10
9
  * Returns a callback that attempts to create an object and returns boolean success/failure.
11
10
  * Can accept optional data to create objects with specific content (used for committing draft rows).
12
11
  */
13
- export declare const useAddRow: ({ space, schema }: UseAddRowParams) => (data?: any) => InsertRowResult;
12
+ export declare const useAddRow: ({ db, schema }: UseAddRowProps) => (data?: any) => InsertRowResult;
14
13
  //# sourceMappingURL=useAddRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAddRow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAddRow.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAG7C,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,mBAAmB,eAAe,aAEhD,GAAG,KAAG,eAajB,CAAC"}
1
+ {"version":3,"file":"useAddRow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAddRow.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,QAAQ,EAAO,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACvB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,mBAAoB,cAAc,aAE5C,GAAG,KAAG,eAajB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type Registry } from '@effect-atom/atom-react';
2
+ import { Type } from '@dxos/echo';
3
+ import { ProjectionModel } from '@dxos/schema';
4
+ import { type Table } from '../types';
5
+ export declare const useProjectionModel: <S extends Type.AnyEntity>(schema: S | undefined, table: Table.Table | undefined, registry: Registry.Registry) => ProjectionModel | undefined;
6
+ //# sourceMappingURL=useProjectionModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProjectionModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useProjectionModel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,OAAO,EAAE,eAAe,EAA4B,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,IAAI,CAAC,SAAS,UACjD,CAAC,GAAG,SAAS,SACd,KAAK,CAAC,KAAK,GAAG,SAAS,YACpB,QAAQ,CAAC,QAAQ,gCAqB5B,CAAC"}
@@ -1,15 +1,15 @@
1
- import { type JsonSchemaType } from '@dxos/echo/internal';
2
- import { type Live } from '@dxos/live-object';
3
- import { type DataType, type ProjectionModel } from '@dxos/schema';
1
+ import { type Database } from '@dxos/echo';
2
+ import { type ProjectionModel } from '@dxos/schema';
4
3
  import { TableModel, type TableModelProps, type TableRow, type TableRowAction } from '../model';
5
- export type UseTableModelParams<T extends TableRow = TableRow> = {
6
- view?: DataType.View;
7
- schema?: JsonSchemaType;
4
+ import { type Table } from '../types';
5
+ export type UseTableModelProps<T extends TableRow = TableRow> = {
6
+ object?: Table.Table;
8
7
  projection?: ProjectionModel;
9
- rows?: Live<T>[];
8
+ db?: Database.Database;
9
+ rows?: T[];
10
10
  rowActions?: TableRowAction[];
11
11
  onSelectionChanged?: (selection: string[]) => void;
12
12
  onRowAction?: (actionId: string, data: T) => void;
13
- } & Pick<TableModelProps<T>, 'features' | 'onInsertRow' | 'onDeleteRows' | 'onDeleteColumn' | 'onCellUpdate' | 'onRowOrderChange'>;
14
- export declare const useTableModel: <T extends TableRow = TableRow>({ view, schema, projection, rows, rowActions, features, onSelectionChanged, onRowAction, ...props }: UseTableModelParams<T>) => TableModel<T> | undefined;
13
+ } & Pick<TableModelProps<T>, 'features' | 'onInsertRow' | 'onDeleteRows' | 'onColumnDelete' | 'onCellUpdate' | 'onRowOrderChange'>;
14
+ export declare const useTableModel: <T extends TableRow = TableRow>({ object, projection, db, rows, rowActions, features, onSelectionChanged, onRowAction, ...props }: UseTableModelProps<T>) => TableModel<T> | undefined;
15
15
  //# sourceMappingURL=useTableModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTableModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTableModel.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAEhG,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI;IAC/D,IAAI,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACjB,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CACnD,GAAG,IAAI,CACN,eAAe,CAAC,CAAC,CAAC,EAClB,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,gBAAgB,GAAG,cAAc,GAAG,kBAAkB,CACrG,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAAE,qGAU1D,mBAAmB,CAAC,CAAC,CAAC,KAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAkE3C,CAAC"}
1
+ {"version":3,"file":"useTableModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTableModel.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,QAAQ,EAAO,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,cAAc,EAEpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI;IAC9D,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CACnD,GAAG,IAAI,CACN,eAAe,CAAC,CAAC,CAAC,EAClB,UAAU,GAAG,aAAa,GAAG,cAAc,GAAG,gBAAgB,GAAG,cAAc,GAAG,kBAAkB,CACrG,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,qGAUxD,kBAAkB,CAAC,CAAC,CAAC,KAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAgE1C,CAAC"}
@@ -1,7 +1,5 @@
1
- import { translations } from './translations';
2
1
  export * from './components';
3
2
  export * from './hooks';
4
3
  export * from './model';
5
4
  export * from './util';
6
- export { translations };
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AAEvB,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { Atom, type Registry } from '@effect-atom/atom-react';
1
2
  import { type RefObject } from 'react';
2
3
  export type ColumnSettingsMode = {
3
4
  type: 'create';
@@ -22,9 +23,12 @@ export type ModalState = {
22
23
  type: 'closed';
23
24
  };
24
25
  export declare class ModalController {
26
+ private readonly _registry;
25
27
  private readonly _state;
26
28
  private readonly _triggerRef;
27
- get state(): import("@preact/signals-core").Signal<ModalState>;
29
+ constructor(registry: Registry.Registry);
30
+ get state(): Atom.Atom<ModalState>;
31
+ get stateValue(): ModalState;
28
32
  get trigger(): RefObject<HTMLButtonElement>;
29
33
  setTrigger: (trigger: HTMLElement) => void;
30
34
  showRowMenu: (rowIndex: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"modal-controller.d.ts","sourceRoot":"","sources":["../../../../src/model/modal-controller.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8E;IAE1G,IAAW,KAAK,sDAEf;IAED,IAAW,OAAO,IACW,SAAS,CAAC,iBAAiB,CAAC,CACxD;IAEM,UAAU,GAAI,SAAS,WAAW,UAEvC;IAEK,WAAW,GAAI,UAAU,MAAM,UAEpC;IAEK,cAAc,GAAI,SAAS,MAAM,UAEtC;IAEK,iBAAiB,aAEtB;IAEK,kBAAkB,GAAI,UAAU,MAAM,EAAE,UAAU,MAAM,UAE7D;IAEK,kBAAkB,aAWvB;IAEK,KAAK,aAEV;CACH"}
1
+ {"version":3,"file":"modal-controller.d.ts","sourceRoot":"","sources":["../../../../src/model/modal-controller.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAExF,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,IAAI,EAAE,kBAAkB,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8E;IAE1G,YAAY,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAGtC;IAED,IAAW,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAExC;IAED,IAAW,UAAU,IAAI,UAAU,CAElC;IAED,IAAW,OAAO,IACW,SAAS,CAAC,iBAAiB,CAAC,CACxD;IAEM,UAAU,YAAa,WAAW,UAEvC;IAEK,WAAW,aAAc,MAAM,UAEpC;IAEK,cAAc,YAAa,MAAM,UAEtC;IAEK,iBAAiB,aAEtB;IAEK,kBAAkB,aAAc,MAAM,YAAY,MAAM,UAE7D;IAEK,kBAAkB,aAYvB;IAEK,KAAK,aAEV;CACH"}
@@ -1,26 +1,35 @@
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
3
  import { type TableRow } from './table-model';
4
4
  export type SelectionMode = 'single' | 'multiple';
5
5
  export declare class SelectionModel<T extends TableRow> extends Resource {
6
+ private readonly _registry;
6
7
  private readonly _rows;
7
- private readonly _selectionMode;
8
- private readonly _initialSelection;
9
- private readonly _onSelectionChanged?;
10
8
  private readonly _selection;
11
9
  private readonly _validSelectedIds;
12
10
  private readonly _hasSelection;
13
11
  private readonly _allSelected;
14
- constructor(_rows: ReadonlySignal<T[]>, _selectionMode: SelectionMode, _initialSelection: string[], _onSelectionChanged?: (() => void) | undefined);
12
+ private readonly _selectionMode;
13
+ private readonly _onSelectionChanged?;
14
+ constructor(registry: Registry.Registry, rows: Atom.Atom<T[]>, selectionMode: SelectionMode, initialSelection: string[], onSelectionChanged?: () => void);
15
15
  protected _open(): Promise<void>;
16
- get selection(): ReadonlySignal<Set<string>>;
17
- get hasSelection(): ReadonlySignal<boolean>;
18
- get allRowsSeleted(): ReadonlySignal<boolean>;
16
+ /** Get the selection atom for reactive access. */
17
+ get selectionAtom(): Atom.Atom<Set<string>>;
18
+ /** Get the current selection value. */
19
+ get selection(): Set<string>;
20
+ /** Get the hasSelection atom for reactive access. */
21
+ get hasSelectionAtom(): Atom.Atom<boolean>;
22
+ /** Check if there is any selection. */
23
+ get hasSelection(): boolean;
24
+ /** Get the allRowsSelected atom for reactive access. */
25
+ get allRowsSelectedAtom(): Atom.Atom<boolean>;
26
+ /** Check if all rows are selected. */
27
+ get allRowsSelected(): boolean;
19
28
  get selectionMode(): SelectionMode;
20
29
  getSelectedRows: () => T[];
21
30
  isRowIndexSelected: (rowIndex: number) => boolean;
22
31
  isObjectSelected: (object: T) => boolean;
23
32
  toggleSelectionForRowIndex: (rowIndex: number) => void;
24
- setSelection: (mode: "all" | "none") => void;
33
+ setSelection: (mode: 'all' | 'none') => void;
25
34
  }
26
35
  //# sourceMappingURL=selection-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selection-model.d.ts","sourceRoot":"","sources":["../../../../src/model/selection-model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,cAAc,EAAyC,MAAM,sBAAsB,CAAC;AAElG,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElD,qBAAa,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,QAAQ;IAyB5D,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IA3BvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsB;IAEjD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAQ/B;IAEH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkE;IAEhG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAO1B;gBAGgB,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,EAC1B,cAAc,EAAE,aAAa,EAC7B,iBAAiB,EAAE,MAAM,EAAE,EAC3B,mBAAmB,CAAC,GAAE,MAAM,IAAI,aAAA;cAM1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY/C,IAAW,SAAS,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAElD;IAED,IAAW,YAAY,IAAI,cAAc,CAAC,OAAO,CAAC,CAEjD;IAED,IAAW,cAAc,IAAI,cAAc,CAAC,OAAO,CAAC,CAEnD;IAED,IAAW,aAAa,IAAI,aAAa,CAExC;IAEM,eAAe,QAAO,CAAC,EAAE,CAG9B;IAEK,kBAAkB,GAAI,UAAU,MAAM,KAAG,OAAO,CAGrD;IAEK,gBAAgB,GAAI,QAAQ,CAAC,KAAG,OAAO,CAE5C;IAMK,0BAA0B,GAAI,UAAU,MAAM,KAAG,IAAI,CAc1D;IAEK,YAAY,GAAI,MAAM,KAAK,GAAG,MAAM,KAAG,IAAI,CAWhD;CACH"}
1
+ {"version":3,"file":"selection-model.d.ts","sourceRoot":"","sources":["../../../../src/model/selection-model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElD,qBAAa,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAE,SAAQ,QAAQ;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IACxD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqB;IAClD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgB;IAC/C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAa;IAElD,YACE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EACpB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,MAAM,EAAE,EAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,EAgChC;IAED,UAAyB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAK9C;IAMD,kDAAkD;IAClD,IAAW,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAEjD;IAED,uCAAuC;IACvC,IAAW,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC,CAElC;IAED,qDAAqD;IACrD,IAAW,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAEhD;IAED,uCAAuC;IACvC,IAAW,YAAY,IAAI,OAAO,CAEjC;IAED,wDAAwD;IACxD,IAAW,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAEnD;IAED,sCAAsC;IACtC,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED,IAAW,aAAa,IAAI,aAAa,CAExC;IAEM,eAAe,QAAO,CAAC,EAAE,CAG9B;IAEK,kBAAkB,aAAc,MAAM,KAAG,OAAO,CAGrD;IAEK,gBAAgB,WAAY,CAAC,KAAG,OAAO,CAE5C;IAMK,0BAA0B,aAAc,MAAM,KAAG,IAAI,CAe1D;IAEK,YAAY,SAAU,KAAK,GAAG,MAAM,KAAG,IAAI,CAWhD;CACH"}
@@ -1,12 +1,39 @@
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, type View } from '@dxos/echo';
3
4
  import { type JsonProp, type JsonSchemaType } from '@dxos/echo/internal';
4
5
  import { type Label } from '@dxos/react-ui';
5
6
  import { type DxGridAxisMeta, type DxGridPlanePosition, type DxGridPosition } from '@dxos/react-ui-grid';
6
- import { type DataType, type FieldSortType, ProjectionModel, type ValidationError } from '@dxos/schema';
7
- import { Table } from '../types';
7
+ import { type ProjectionModel, type ValidationError } from '@dxos/schema';
8
+ import { type Table } from '../types';
9
+ /**
10
+ * Field sort configuration.
11
+ */
12
+ export type FieldSortType = {
13
+ fieldId: string;
14
+ direction: QueryAST.OrderDirection;
15
+ };
8
16
  import { type SelectionMode, SelectionModel } from './selection-model';
9
- import { TableSorting } from './table-sorting';
17
+ /**
18
+ * Callback type for wrapping mutations in Obj.update().
19
+ * Contains separate callbacks for table object and row mutations.
20
+ */
21
+ export type TableChangeCallback<T extends TableRow> = {
22
+ /** Callback to wrap table object mutations. */
23
+ table: (mutate: (mutableTable: Table.Table) => void) => void;
24
+ /** Callback to wrap row mutations. */
25
+ row: (row: T, mutate: (mutableRow: T) => void) => void;
26
+ };
27
+ /**
28
+ * Creates a change callback for ECHO-backed table and rows.
29
+ * Use this when the table and rows are stored in the ECHO database.
30
+ */
31
+ export declare const createEchoChangeCallback: <T extends TableRow>(table: Table.Table) => TableChangeCallback<T>;
32
+ /**
33
+ * Creates a change callback that directly mutates objects without wrapping.
34
+ * Use this for plain JavaScript objects (tests, non-ECHO scenarios).
35
+ */
36
+ export declare const createDirectChangeCallback: <T extends TableRow>(table: Table.Table) => TableChangeCallback<T>;
10
37
  export type TableCellType = 'standard' | 'draft' | 'header';
11
38
  export type ValidationResult = {
12
39
  valid: true;
@@ -36,11 +63,16 @@ export type TableFeatures = {
36
63
  };
37
64
  export type InsertRowResult = 'draft' | 'final';
38
65
  export type TableModelProps<T extends TableRow = TableRow> = {
39
- view: DataType.View;
40
- schema: JsonSchemaType;
41
- projection?: ProjectionModel;
66
+ registry: Registry.Registry;
67
+ object: Table.Table;
68
+ projection: ProjectionModel;
69
+ db?: Database.Database;
70
+ /**
71
+ * Callbacks to wrap mutations in Obj.update().
72
+ * Use createEchoChangeCallback() for ECHO-backed objects or createDirectChangeCallback() for plain objects.
73
+ */
74
+ change?: TableChangeCallback<T>;
42
75
  features?: Partial<TableFeatures>;
43
- sorting?: FieldSortType[];
44
76
  initialSelection?: string[];
45
77
  pinnedRows?: {
46
78
  top: number[];
@@ -50,19 +82,21 @@ export type TableModelProps<T extends TableRow = TableRow> = {
50
82
  onResolveSchema?: (typename: string) => Promise<JsonSchemaType>;
51
83
  onInsertRow?: (data?: any) => InsertRowResult;
52
84
  onDeleteRows?: (index: number, obj: T[]) => void;
53
- onDeleteColumn?: (fieldId: string) => void;
85
+ onColumnDelete?: (fieldId: string) => void;
54
86
  onCellUpdate?: (cell: DxGridPosition) => void;
55
87
  onRowOrderChange?: () => void;
56
88
  onRowAction?: (actionId: string, data: T) => void;
57
89
  };
58
90
  export declare class TableModel<T extends TableRow = TableRow> extends Resource {
59
- private readonly _view;
91
+ private readonly _registry;
92
+ private readonly _object;
60
93
  private readonly _projection;
61
- private _table?;
94
+ private readonly _db?;
95
+ private readonly _change;
62
96
  private readonly _visibleRange;
63
97
  private readonly _onInsertRow?;
64
98
  private readonly _onDeleteRows?;
65
- private readonly _onDeleteColumn?;
99
+ private readonly _onColumnDelete?;
66
100
  private readonly _onCellUpdate?;
67
101
  private readonly _onRowOrderChange?;
68
102
  private readonly _onRowAction?;
@@ -70,41 +104,61 @@ export declare class TableModel<T extends TableRow = TableRow> extends Resource
70
104
  private readonly _features;
71
105
  private readonly _rows;
72
106
  private readonly _draftRows;
107
+ private readonly _inMemorySort;
108
+ private readonly _persistedSort;
73
109
  private readonly _sorting;
110
+ private readonly _sortedRows;
111
+ private readonly _viewDirty;
74
112
  private _pinnedRows;
75
113
  private _selection;
76
114
  private _columnMeta?;
77
- constructor({ view, schema, projection, features, sorting, initialSelection, pinnedRows, rowActions, onCellUpdate, onDeleteColumn, onDeleteRows, onInsertRow, onRowOrderChange, onRowAction, }: TableModelProps<T>);
115
+ private readonly _cellUpdateCounter;
116
+ constructor({ registry, object, projection, db, change, features, initialSelection, pinnedRows, rowActions, onCellUpdate, onColumnDelete, onDeleteRows, onInsertRow, onRowOrderChange, onRowAction }: TableModelProps<T>);
78
117
  get id(): string;
79
- get view(): DataType.View;
118
+ get view(): View.View;
80
119
  get table(): Table.Table;
81
120
  get projection(): ProjectionModel;
82
- get rows(): ReadonlySignal<T[]>;
121
+ get db(): Database.Database | undefined;
122
+ /**
123
+ * Atom for reactive access to rows with in-memory sorting applied.
124
+ */
125
+ get rows(): Atom.Atom<T[]>;
126
+ /**
127
+ * Gets rows with in-memory sorting applied.
128
+ * In-memory sort is local to this instance until saved.
129
+ */
130
+ getRows(): T[];
131
+ /** Atom for reactive access to cell changes. */
132
+ get cellUpdate(): Atom.Atom<number>;
133
+ /**
134
+ * Change a row using the configured change callback.
135
+ * Use this instead of directly mutating to ensure consistent mutation handling.
136
+ */
137
+ changeRow(row: T, mutate: (mutableRow: T) => void): void;
83
138
  get features(): TableFeatures;
84
139
  /**
85
- * @reactive
140
+ * Gets the current sort state.
141
+ * Priority: in-memory sort (local changes) > persisted sort (from query AST).
86
142
  */
87
- get sorting(): TableSorting<T>;
143
+ getSorting(): FieldSortType | undefined;
88
144
  /**
89
145
  * Gets the row data at the specified display index.
90
146
  */
91
147
  getRowAt(displayIndex: number): T | undefined;
92
148
  get pinnedRows(): NonNullable<TableModelProps<T>['pinnedRows']>;
93
- get columnMeta(): ReadonlySignal<DxGridAxisMeta>;
149
+ get columnMeta(): Atom.Atom<DxGridAxisMeta>;
94
150
  get selection(): SelectionModel<T>;
95
- /** @reactive */
96
- get isViewDirty(): boolean;
97
151
  get rowActions(): TableRowAction[];
98
152
  protected _open(): Promise<void>;
99
153
  private initializeColumnMeta;
100
154
  private initializeEffects;
101
155
  setRows: (obj: T[]) => void;
102
156
  getRowCount: () => number;
103
- /**
104
- * @reactive
105
- */
106
- getDraftRowCount: () => number;
107
- get draftRows(): ReadonlySignal<DraftRow<T>[]>;
157
+ getDraftRowCount(): number;
158
+ /** Atom for reactive access to draft rows. */
159
+ get draftRows(): Atom.Atom<DraftRow<T>[]>;
160
+ /** Gets the current draft rows. */
161
+ getDraftRows(): DraftRow<T>[];
108
162
  /**
109
163
  * Checks if a specific field path has validation errors for a given draft row.
110
164
  * @param draftRowIndex - The index of the draft row to check
@@ -146,6 +200,31 @@ export declare class TableModel<T extends TableRow = TableRow> extends Resource
146
200
  setColumnWidth(columnIndex: number, width: number): void;
147
201
  pinRow(rowIndex: number, side: 'top' | 'bottom'): void;
148
202
  unpinRow(rowIndex: number): void;
203
+ /**
204
+ * Sets the sort order for a field in-memory (local to this instance).
205
+ * Use saveView() to persist the sort to the view query.
206
+ */
207
+ setSort(fieldId: string, direction: QueryAST.OrderDirection): void;
208
+ /**
209
+ * Toggles the sort direction for a field in-memory.
210
+ */
211
+ toggleSort(fieldId: string): void;
212
+ /**
213
+ * Clears the in-memory sort order.
214
+ */
215
+ clearSort(): void;
216
+ /**
217
+ * Saves the current in-memory sort to the view query AST.
218
+ * This persists the sort so it becomes the default for all viewers.
219
+ */
149
220
  saveView(): void;
221
+ /**
222
+ * Extracts the base query without order clauses.
223
+ */
224
+ private _getBaseQuery;
225
+ /**
226
+ * Checks if the view has unsaved changes (in-memory sort differs from persisted sort).
227
+ */
228
+ getViewDirty(): boolean;
150
229
  }
151
230
  //# 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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"}