@dxos/react-ui-table 0.8.4-main.fd6878d → 0.8.4-staging.60fe92afc8

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 (183) hide show
  1. package/LICENSE +102 -5
  2. package/dist/lib/browser/chunk-4KOQTPFC.mjs +1702 -0
  3. package/dist/lib/browser/chunk-4KOQTPFC.mjs.map +7 -0
  4. package/dist/lib/browser/chunk-62PYOJPY.mjs +67 -0
  5. package/dist/lib/browser/chunk-62PYOJPY.mjs.map +7 -0
  6. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  7. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +1151 -1175
  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 +37 -45
  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-7LMOZUTS.mjs +68 -0
  17. package/dist/lib/node-esm/chunk-7LMOZUTS.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-KOSV2J5N.mjs +1704 -0
  21. package/dist/lib/node-esm/chunk-KOSV2J5N.mjs.map +7 -0
  22. package/dist/lib/node-esm/index.mjs +1151 -1175
  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 +37 -45
  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 +36 -3
  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 +112 -5
  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 +21 -19
  42. package/dist/types/src/components/Table/Table.d.ts.map +1 -1
  43. package/dist/types/src/components/Table/Table.stories.d.ts +115 -5
  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 +12 -9
  52. package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts.map +1 -1
  53. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts +7 -14
  54. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts.map +1 -1
  55. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts +38 -5
  56. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts.map +1 -1
  57. package/dist/types/src/components/TableCellEditor/index.d.ts +1 -0
  58. package/dist/types/src/components/TableCellEditor/index.d.ts.map +1 -1
  59. package/dist/types/src/components/index.d.ts +0 -1
  60. package/dist/types/src/components/index.d.ts.map +1 -1
  61. package/dist/types/src/components/testing.d.ts +23 -16
  62. package/dist/types/src/components/testing.d.ts.map +1 -1
  63. package/dist/types/src/hooks/index.d.ts +2 -1
  64. package/dist/types/src/hooks/index.d.ts.map +1 -1
  65. package/dist/types/src/hooks/useAddRow.d.ts +6 -6
  66. package/dist/types/src/hooks/useAddRow.d.ts.map +1 -1
  67. package/dist/types/src/hooks/useProjectionModel.d.ts +6 -0
  68. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
  69. package/dist/types/src/hooks/useTableModel.d.ts +9 -9
  70. package/dist/types/src/hooks/useTableModel.d.ts.map +1 -1
  71. package/dist/types/src/index.d.ts +0 -2
  72. package/dist/types/src/index.d.ts.map +1 -1
  73. package/dist/types/src/model/modal-controller.d.ts +5 -8
  74. package/dist/types/src/model/modal-controller.d.ts.map +1 -1
  75. package/dist/types/src/model/selection-model.d.ts +18 -9
  76. package/dist/types/src/model/selection-model.d.ts.map +1 -1
  77. package/dist/types/src/model/table-model.d.ts +111 -30
  78. package/dist/types/src/model/table-model.d.ts.map +1 -1
  79. package/dist/types/src/model/table-presentation.d.ts +4 -2
  80. package/dist/types/src/model/table-presentation.d.ts.map +1 -1
  81. package/dist/types/src/playwright/TableManager.d.ts +2 -1
  82. package/dist/types/src/playwright/TableManager.d.ts.map +1 -1
  83. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -1
  84. package/dist/types/src/testing/useTestTableModel.d.ts +18 -34
  85. package/dist/types/src/testing/useTestTableModel.d.ts.map +1 -1
  86. package/dist/types/src/translations.d.ts +21 -23
  87. package/dist/types/src/translations.d.ts.map +1 -1
  88. package/dist/types/src/types/Table.d.ts +32 -0
  89. package/dist/types/src/types/Table.d.ts.map +1 -0
  90. package/dist/types/src/types/index.d.ts +1 -1
  91. package/dist/types/src/types/index.d.ts.map +1 -1
  92. package/dist/types/src/util/dynamic-table.d.ts +14 -12
  93. package/dist/types/src/util/dynamic-table.d.ts.map +1 -1
  94. package/dist/types/src/util/dynamic-table.test.d.ts +2 -0
  95. package/dist/types/src/util/dynamic-table.test.d.ts.map +1 -0
  96. package/dist/types/src/util/index.d.ts +2 -1
  97. package/dist/types/src/util/index.d.ts.map +1 -1
  98. package/dist/types/src/util/query-ast.d.ts +7 -0
  99. package/dist/types/src/util/query-ast.d.ts.map +1 -0
  100. package/dist/types/src/util/schema.d.ts +1 -1
  101. package/dist/types/src/util/schema.d.ts.map +1 -1
  102. package/dist/types/src/util/signals.d.ts.map +1 -1
  103. package/dist/types/src/util/sort.d.ts +12 -0
  104. package/dist/types/src/util/sort.d.ts.map +1 -0
  105. package/dist/types/src/util/table-buttons.d.ts +20 -20
  106. package/dist/types/src/util/table-buttons.d.ts.map +1 -1
  107. package/dist/types/src/util/table-controls.d.ts +4 -4
  108. package/dist/types/src/util/table-controls.d.ts.map +1 -1
  109. package/dist/types/src/util/tag.d.ts.map +1 -1
  110. package/dist/types/tsconfig.tsbuildinfo +1 -1
  111. package/package.json +68 -77
  112. package/src/components/Table/ColumnActionsMenu.tsx +17 -12
  113. package/src/components/Table/ColumnSettings.tsx +8 -9
  114. package/src/components/Table/DynamicTable.stories.tsx +41 -38
  115. package/src/components/Table/DynamicTable.tsx +32 -36
  116. package/src/components/Table/Relations.stories.tsx +219 -61
  117. package/src/components/Table/RowActionsMenu.tsx +27 -17
  118. package/src/components/Table/Table.stories.tsx +217 -141
  119. package/src/components/Table/Table.tsx +46 -391
  120. package/src/components/Table/TableContent.tsx +426 -0
  121. package/src/components/Table/TableToolbar.tsx +111 -0
  122. package/src/components/TableCellEditor/CellValidationMessage.tsx +5 -6
  123. package/src/components/TableCellEditor/FormCellEditor.tsx +136 -41
  124. package/src/components/TableCellEditor/TableCellEditor.stories.tsx +39 -73
  125. package/src/components/TableCellEditor/TableCellEditor.tsx +81 -223
  126. package/src/components/TableCellEditor/index.ts +1 -0
  127. package/src/components/index.ts +0 -1
  128. package/src/components/testing.ts +42 -21
  129. package/src/hooks/index.ts +2 -1
  130. package/src/hooks/useAddRow.ts +14 -14
  131. package/src/hooks/useProjectionModel.ts +38 -0
  132. package/src/hooks/useTableModel.ts +36 -34
  133. package/src/index.ts +0 -4
  134. package/src/model/modal-controller.ts +23 -40
  135. package/src/model/selection-model.ts +75 -44
  136. package/src/model/table-model.test.ts +86 -56
  137. package/src/model/table-model.ts +464 -182
  138. package/src/model/table-presentation.test.ts +64 -59
  139. package/src/model/table-presentation.ts +107 -83
  140. package/src/playwright/TableManager.ts +13 -6
  141. package/src/playwright/playwright.config.ts +1 -1
  142. package/src/playwright/smoke.spec.ts +92 -46
  143. package/src/testing/useTestTableModel.ts +51 -42
  144. package/src/translations.ts +20 -22
  145. package/src/types/Table.ts +80 -0
  146. package/src/types/index.ts +1 -1
  147. package/src/util/dynamic-table.test.ts +63 -0
  148. package/src/util/dynamic-table.ts +53 -39
  149. package/src/util/index.ts +2 -1
  150. package/src/util/query-ast.ts +22 -0
  151. package/src/util/schema.ts +4 -4
  152. package/src/util/sort.ts +90 -0
  153. package/src/util/table-buttons.ts +3 -3
  154. package/src/util/table-controls.ts +2 -2
  155. package/dist/lib/browser/chunk-L2LSB6KV.mjs +0 -18
  156. package/dist/lib/browser/chunk-L2LSB6KV.mjs.map +0 -7
  157. package/dist/lib/browser/chunk-ZAOSIG3L.mjs +0 -1814
  158. package/dist/lib/browser/chunk-ZAOSIG3L.mjs.map +0 -7
  159. package/dist/lib/node-esm/chunk-NXZ4CJYX.mjs +0 -20
  160. package/dist/lib/node-esm/chunk-NXZ4CJYX.mjs.map +0 -7
  161. package/dist/lib/node-esm/chunk-ZOFFI3JJ.mjs +0 -1815
  162. package/dist/lib/node-esm/chunk-ZOFFI3JJ.mjs.map +0 -7
  163. package/dist/types/src/components/Table/CreateRefPanel.d.ts +0 -9
  164. package/dist/types/src/components/Table/CreateRefPanel.d.ts.map +0 -1
  165. package/dist/types/src/components/TableCellEditor/extension.d.ts +0 -13
  166. package/dist/types/src/components/TableCellEditor/extension.d.ts.map +0 -1
  167. package/dist/types/src/components/TableToolbar/TableToolbar.d.ts +0 -21
  168. package/dist/types/src/components/TableToolbar/TableToolbar.d.ts.map +0 -1
  169. package/dist/types/src/components/TableToolbar/index.d.ts +0 -2
  170. package/dist/types/src/components/TableToolbar/index.d.ts.map +0 -1
  171. package/dist/types/src/model/table-sorting.d.ts +0 -53
  172. package/dist/types/src/model/table-sorting.d.ts.map +0 -1
  173. package/dist/types/src/types/schema.d.ts +0 -8
  174. package/dist/types/src/types/schema.d.ts.map +0 -1
  175. package/dist/types/src/util/table.d.ts +0 -12
  176. package/dist/types/src/util/table.d.ts.map +0 -1
  177. package/src/components/Table/CreateRefPanel.tsx +0 -86
  178. package/src/components/TableCellEditor/extension.ts +0 -61
  179. package/src/components/TableToolbar/TableToolbar.tsx +0 -102
  180. package/src/components/TableToolbar/index.ts +0 -5
  181. package/src/model/table-sorting.ts +0 -216
  182. package/src/types/schema.ts +0 -16
  183. package/src/util/table.ts +0 -53
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicTable.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/DynamicTable.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAqDjE,QAAA,MAAM,IAAI,EAAE,IAKX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,EAAE,QAErB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,QAW3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,QAW/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QA2B5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QA6B5B,CAAC"}
1
+ {"version":3,"file":"DynamicTable.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/DynamicTable.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAA4B,MAAM,OAAO,CAAC;AAEjD,OAAO,EAAgC,IAAI,EAAE,MAAM,YAAY,CAAC;AAkDhE,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ2B,CAAC;eAEvB,IAAI;AAInB,eAAO,MAAM,OAAO,EAAE,QAErB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,QAW3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,QAW/B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QA2B5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QA4B5B,CAAC"}
@@ -1,9 +1,116 @@
1
- import '@dxos-theme';
2
- import { type Meta, type StoryObj } from '@storybook/react-vite';
1
+ import { type StoryObj } from '@storybook/react-vite';
3
2
  import React from 'react';
4
- declare const DefaultStory: () => React.JSX.Element;
5
- declare const meta: Meta<typeof DefaultStory>;
3
+ import '@dxos/lit-ui/dx-tag-picker.pcss';
4
+ declare const meta: {
5
+ title: string;
6
+ render: () => React.JSX.Element;
7
+ decorators: import("@storybook/react").Decorator[];
8
+ parameters: {
9
+ layout: string;
10
+ controls: {
11
+ disable: boolean;
12
+ };
13
+ translations: ({
14
+ readonly 'en-US': {
15
+ readonly "@dxos/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': 'Type';
21
+ readonly 'continue.label': 'Continue';
22
+ readonly 'create-stack-section.label': 'Create table';
23
+ readonly 'add-row.label': 'Add row';
24
+ readonly 'column-action-sort-descending.menu': 'Sort Descending';
25
+ readonly 'column-action-sort-ascending.menu': 'Sort Ascending';
26
+ readonly 'column-action-clear-sorting.menu': 'Clear Sorting';
27
+ readonly 'column-action-settings.menu': 'Column Settings';
28
+ readonly 'column-action-delete.menu': 'Delete Column';
29
+ readonly 'delete-row.label': 'Delete row';
30
+ readonly 'bulk-delete-row.label': 'Delete selected rows';
31
+ readonly 'column-deleted.label': 'Column deleted';
32
+ readonly 'new-column-button.label': 'Create column';
33
+ readonly 'create-new-object.label': 'Create new object \u201C{{text}}\u201D';
34
+ readonly 'save-view.label': 'Save changes to view';
35
+ };
36
+ };
37
+ } | {
38
+ readonly 'en-US': {
39
+ readonly "@dxos/react-ui-form": {
40
+ readonly 'ref-editor.placeholder': "Type '@' to add a reference, or enter a value";
41
+ readonly 'ref-editor-auto.placeholder': 'Search by name, or enter a value';
42
+ readonly 'fields.label': 'Fields';
43
+ readonly 'hidden-fields.label': 'Hidden Fields';
44
+ readonly 'empty-readonly-ref-field.label': '(none)';
45
+ readonly 'field-property.label': 'Property';
46
+ readonly 'field-property.placeholder': 'Property name';
47
+ readonly 'field-format.label': 'Type';
48
+ readonly 'field-path.label': 'Field path';
49
+ readonly 'remove-item.button': 'Delete item';
50
+ readonly 'add-item.button': 'Add item';
51
+ readonly 'add-property-button.label': 'Add property';
52
+ readonly 'boolean-input-true.value': 'Yes';
53
+ readonly 'boolean-input-false.value': 'No';
54
+ readonly 'show-field.label': 'Show field';
55
+ readonly 'hide-field.label': 'Hide field';
56
+ readonly 'expand-fields.label': 'Expand';
57
+ readonly 'collapse-fields.label': 'Collapse';
58
+ readonly 'delete-field.label': 'Delete field';
59
+ readonly 'create-option.label': 'Create';
60
+ readonly 'add-tag.label': 'Add tag';
61
+ readonly 'ref-field-combobox-input.placeholder': 'Search\u2026';
62
+ readonly 'ref-field.placeholder': 'Select\u2026';
63
+ readonly 'ref-field.placeholder_one': 'Select\u2026';
64
+ readonly 'ref-field.placeholder_other': 'Select items\u2026';
65
+ readonly 'example.placeholder': 'Example';
66
+ readonly 'latitude.placeholder': 'Latitude (e.g., 40.7128)';
67
+ readonly 'longitude.placeholder': 'Longitude (e.g., -74.0060)';
68
+ readonly 'cancel-button.label': 'Cancel';
69
+ readonly 'save-button.label': 'Save';
70
+ readonly 'create-text.label': 'Create text';
71
+ readonly 'format.boolean.label': 'Boolean';
72
+ readonly 'format.currency.label': 'Currency';
73
+ readonly 'format.date.label': 'Date';
74
+ readonly 'format.date-time.label': 'DateTime';
75
+ readonly 'format.did.label': 'DID';
76
+ readonly 'format.duration.label': 'Duration';
77
+ readonly 'format.dxn.label': 'DXN';
78
+ readonly 'format.email.label': 'Email';
79
+ readonly 'format.formula.label': 'Formula';
80
+ readonly 'format.hostname.label': 'Hostname';
81
+ readonly 'format.integer.label': 'Integer';
82
+ readonly 'format.json.label': 'JSON';
83
+ readonly 'format.lnglat.label': 'Geopoint';
84
+ readonly 'format.markdown.label': 'Markdown';
85
+ readonly 'format.percent.label': 'Percent';
86
+ readonly 'format.ref.label': 'Reference';
87
+ readonly 'format.regex.label': 'RegExp';
88
+ readonly 'format.string.label': 'String';
89
+ readonly 'format.single-select.label': 'Select';
90
+ readonly 'format.multi-select.label': 'Multi-select';
91
+ readonly 'format.text.label': 'Long text';
92
+ readonly 'format.time.label': 'Time';
93
+ readonly 'format.timestamp.label': 'Timestamp';
94
+ readonly 'format.user.label': 'User';
95
+ readonly 'format.number.label': 'Number';
96
+ readonly 'format.uri.label': 'URI';
97
+ readonly 'format.url.label': 'URL';
98
+ readonly 'format.uuid.label': 'UUID';
99
+ readonly 'latitude.label': 'Latitude';
100
+ readonly 'longitude.label': 'Longitude';
101
+ readonly 'select-option.label': 'Label';
102
+ readonly 'select-option-label.placeholder': 'Option label';
103
+ readonly 'select-option-delete.button': 'Delete';
104
+ readonly 'select-option-add.button': 'Add option';
105
+ readonly 'system-schema.title': 'System type';
106
+ readonly 'system-schema.description': 'System type: cannot add or remove fields.';
107
+ readonly 'remove.button': 'Delete';
108
+ };
109
+ };
110
+ })[];
111
+ };
112
+ };
6
113
  export default meta;
7
- type Story = StoryObj<typeof DefaultStory>;
114
+ type Story = StoryObj<typeof meta>;
8
115
  export declare const Default: Story;
9
116
  //# sourceMappingURL=Relations.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Relations.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Relations.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAuC,MAAM,OAAO,CAAC;AAgF5D,QAAA,MAAM,YAAY,yBAejB,CAAC;AAEF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,YAAY,CAanC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,YAAY,CAAC,CAAC;AAE3C,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
1
+ {"version":3,"file":"Relations.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Relations.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAgE,MAAM,OAAO,CAAC;AAerF,OAAO,iCAAiC,CAAC;AAwGzC,QAAA,MAAM,IAAI;;;;;QAeN,MAAM;QACN,QAAQ;YAAI,OAAO;;QACnB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEqB,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAmIrB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RowActionsMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/RowActionsMenu.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAGpE,KAAK,mBAAmB,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAE1E,eAAO,MAAM,cAAc,GAAI,mBAAmB,mBAAmB,6BAmCpE,CAAC"}
1
+ {"version":3,"file":"RowActionsMenu.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/RowActionsMenu.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpE,KAAK,mBAAmB,GAAG;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAE1E,eAAO,MAAM,cAAc,sBAAuB,mBAAmB,6BA2CpE,CAAC"}
@@ -1,25 +1,27 @@
1
- import { type Schema } from 'effect/Schema';
2
- import React, { type PropsWithChildren } from 'react';
3
- import { type Client } from '@dxos/client';
1
+ import React, { type PropsWithChildren, type RefObject } from 'react';
4
2
  import { type DxGridPosition } from '@dxos/react-ui-grid';
5
- import { type TableModel, type TablePresentation } from '../../model';
6
- export type TableRootProps = PropsWithChildren<{
7
- role?: string;
8
- }>;
9
- export type TableController = {
10
- update?: (cell?: DxGridPosition) => void;
11
- focusDraft?: () => void;
3
+ import { type InsertRowResult } from '../../model';
4
+ type TableContextValue = {
5
+ /** Mutable ref populated by Content so Root can expose the controller. */
6
+ controllerRef: RefObject<TableController>;
12
7
  };
13
- export type TableMainProps = {
14
- model?: TableModel;
15
- presentation?: TablePresentation;
16
- schema?: Schema.AnyNoContext;
17
- client?: Client;
18
- ignoreAttention?: boolean;
19
- onRowClick?: (row: any) => void;
8
+ declare const useTableContext: (consumerName: string) => TableContextValue;
9
+ type TableController = {
10
+ update?: (cell?: DxGridPosition) => void;
11
+ handleInsertRowResult?: (insertRowResult?: InsertRowResult) => void;
20
12
  };
13
+ type TableRootProps = PropsWithChildren;
21
14
  export declare const Table: {
22
- Root: ({ children, role }: TableRootProps) => React.JSX.Element;
23
- Main: React.ForwardRefExoticComponent<TableMainProps & React.RefAttributes<TableController>>;
15
+ Root: React.ForwardRefExoticComponent<{
16
+ children?: React.ReactNode | undefined;
17
+ } & React.RefAttributes<TableController>>;
18
+ Toolbar: React.ForwardRefExoticComponent<Omit<import("./TableToolbar").TableToolbarProps, "className"> & {
19
+ classNames?: import("@dxos/ui-types").ClassNameValue;
20
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
21
+ Content: React.ForwardRefExoticComponent<Omit<import("./TableContent").TableContentProps, "className"> & {
22
+ classNames?: import("@dxos/ui-types").ClassNameValue;
23
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
24
24
  };
25
+ export type { TableController, TableRootProps };
26
+ export { useTableContext };
25
27
  //# sourceMappingURL=Table.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,EAEZ,KAAK,iBAAiB,EAQvB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAQ3C,OAAO,EAIL,KAAK,cAAc,EAMpB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAmB,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAcvF,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAwBlE,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC,YAAY,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;CACjC,CAAC;AAuUF,eAAO,MAAM,KAAK;+BA1WiC,cAAc;;CA6WhE,CAAC"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Table.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAA2C,MAAM,OAAO,CAAC;AAE/G,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE/E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAYnD,KAAK,iBAAiB,GAAG;IACvB,0EAA0E;IAC1E,aAAa,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF,QAAA,MAA6B,eAAe,6CAA6C,CAAC;AAM1F,KAAK,eAAe,GAAG;IACrB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,qBAAqB,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,eAAe,KAAK,IAAI,CAAC;CACrE,CAAC;AAQF,KAAK,cAAc,GAAG,iBAAiB,CAAC;AAuBxC,eAAO,MAAM,KAAK;IAChB,IAAI;;;IACJ,OAAO;;;IACP,OAAO;;;CACR,CAAC;AAEF,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,12 +1,122 @@
1
- import '@dxos-theme';
2
1
  import { type Meta, type StoryObj } from '@storybook/react-vite';
3
- type StoryProps = {
2
+ import React from 'react';
3
+ type DefaultStoryProps = {
4
4
  rows?: number;
5
5
  };
6
- declare const meta: Meta<StoryProps>;
6
+ declare const meta: {
7
+ title: string;
8
+ render: () => React.JSX.Element;
9
+ decorators: import("@storybook/react").Decorator[];
10
+ parameters: {
11
+ layout: string;
12
+ controls: {
13
+ disable: boolean;
14
+ };
15
+ translations: ({
16
+ readonly 'en-US': {
17
+ readonly "@dxos/react-ui-table": {
18
+ readonly 'object.placeholder': 'New table';
19
+ readonly 'create-object.label': 'Create table';
20
+ readonly 'table-name.placeholder': 'Table name';
21
+ readonly 'settings.title': 'Table settings';
22
+ readonly 'table-schema.label': 'Type';
23
+ readonly 'continue.label': 'Continue';
24
+ readonly 'create-stack-section.label': 'Create table';
25
+ readonly 'add-row.label': 'Add row';
26
+ readonly 'column-action-sort-descending.menu': 'Sort Descending';
27
+ readonly 'column-action-sort-ascending.menu': 'Sort Ascending';
28
+ readonly 'column-action-clear-sorting.menu': 'Clear Sorting';
29
+ readonly 'column-action-settings.menu': 'Column Settings';
30
+ readonly 'column-action-delete.menu': '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 \u201C{{text}}\u201D';
36
+ readonly 'save-view.label': 'Save changes to view';
37
+ };
38
+ };
39
+ } | {
40
+ readonly 'en-US': {
41
+ readonly "@dxos/react-ui-form": {
42
+ readonly 'ref-editor.placeholder': "Type '@' to add a reference, or enter a value";
43
+ readonly 'ref-editor-auto.placeholder': 'Search by name, or enter a value';
44
+ readonly 'fields.label': 'Fields';
45
+ readonly 'hidden-fields.label': 'Hidden Fields';
46
+ readonly 'empty-readonly-ref-field.label': '(none)';
47
+ readonly 'field-property.label': 'Property';
48
+ readonly 'field-property.placeholder': 'Property name';
49
+ readonly 'field-format.label': 'Type';
50
+ readonly 'field-path.label': 'Field path';
51
+ readonly 'remove-item.button': 'Delete item';
52
+ readonly 'add-item.button': 'Add item';
53
+ readonly 'add-property-button.label': 'Add property';
54
+ readonly 'boolean-input-true.value': 'Yes';
55
+ readonly 'boolean-input-false.value': 'No';
56
+ readonly 'show-field.label': 'Show field';
57
+ readonly 'hide-field.label': 'Hide field';
58
+ readonly 'expand-fields.label': 'Expand';
59
+ readonly 'collapse-fields.label': 'Collapse';
60
+ readonly 'delete-field.label': 'Delete field';
61
+ readonly 'create-option.label': 'Create';
62
+ readonly 'add-tag.label': 'Add tag';
63
+ readonly 'ref-field-combobox-input.placeholder': 'Search\u2026';
64
+ readonly 'ref-field.placeholder': 'Select\u2026';
65
+ readonly 'ref-field.placeholder_one': 'Select\u2026';
66
+ readonly 'ref-field.placeholder_other': 'Select items\u2026';
67
+ readonly 'example.placeholder': 'Example';
68
+ readonly 'latitude.placeholder': 'Latitude (e.g., 40.7128)';
69
+ readonly 'longitude.placeholder': 'Longitude (e.g., -74.0060)';
70
+ readonly 'cancel-button.label': 'Cancel';
71
+ readonly 'save-button.label': 'Save';
72
+ readonly 'create-text.label': 'Create text';
73
+ readonly 'format.boolean.label': 'Boolean';
74
+ readonly 'format.currency.label': 'Currency';
75
+ readonly 'format.date.label': 'Date';
76
+ readonly 'format.date-time.label': 'DateTime';
77
+ readonly 'format.did.label': 'DID';
78
+ readonly 'format.duration.label': 'Duration';
79
+ readonly 'format.dxn.label': 'DXN';
80
+ readonly 'format.email.label': 'Email';
81
+ readonly 'format.formula.label': 'Formula';
82
+ readonly 'format.hostname.label': 'Hostname';
83
+ readonly 'format.integer.label': 'Integer';
84
+ readonly 'format.json.label': 'JSON';
85
+ readonly 'format.lnglat.label': 'Geopoint';
86
+ readonly 'format.markdown.label': 'Markdown';
87
+ readonly 'format.percent.label': 'Percent';
88
+ readonly 'format.ref.label': 'Reference';
89
+ readonly 'format.regex.label': 'RegExp';
90
+ readonly 'format.string.label': 'String';
91
+ readonly 'format.single-select.label': 'Select';
92
+ readonly 'format.multi-select.label': 'Multi-select';
93
+ readonly 'format.text.label': 'Long text';
94
+ readonly 'format.time.label': 'Time';
95
+ readonly 'format.timestamp.label': 'Timestamp';
96
+ readonly 'format.user.label': 'User';
97
+ readonly 'format.number.label': 'Number';
98
+ readonly 'format.uri.label': 'URI';
99
+ readonly 'format.url.label': 'URL';
100
+ readonly 'format.uuid.label': 'UUID';
101
+ readonly 'latitude.label': 'Latitude';
102
+ readonly 'longitude.label': 'Longitude';
103
+ readonly 'select-option.label': 'Label';
104
+ readonly 'select-option-label.placeholder': 'Option label';
105
+ readonly 'select-option-delete.button': 'Delete';
106
+ readonly 'select-option-add.button': 'Add option';
107
+ readonly 'system-schema.title': 'System type';
108
+ readonly 'system-schema.description': 'System type: cannot add or remove fields.';
109
+ readonly 'remove.button': 'Delete';
110
+ };
111
+ };
112
+ })[];
113
+ };
114
+ };
7
115
  export default meta;
8
- export declare const Default: {};
116
+ type Story = StoryObj<typeof meta>;
117
+ export declare const Default: Story;
9
118
  export declare const StaticSchema: StoryObj;
10
119
  export declare const ArrayOfObjects: StoryObj;
11
- export declare const Tags: Meta<StoryProps>;
120
+ export declare const RequiredSchema: StoryObj;
121
+ export declare const Tags: Meta<DefaultStoryProps>;
12
122
  //# sourceMappingURL=Table.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Table.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Table.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAkJjE,KAAK,UAAU,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAQpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,CAkC1B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,IAAK,CAAC;AAE1B,eAAO,MAAM,YAAY,EAAE,QAsB1B,CAAC;AAmBF,eAAO,MAAM,cAAc,EAAE,QAuB5B,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,CAsDjC,CAAC"}
1
+ {"version":3,"file":"Table.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/Table.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAsB,MAAM,OAAO,CAAC;AAkJ3C,KAAK,iBAAiB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAQ3C,QAAA,MAAM,IAAI;;;;;QAwCN,MAAM;QACN,QAAQ;YACN,OAAO;;QAET,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEuB,CAAC;eAEzB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,YAAY,EAAE,QA2B1B,CAAC;AAcF,eAAO,MAAM,cAAc,EAAE,QA4B5B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,QAqD5B,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAwDxC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { type Type } from '@dxos/echo';
3
+ import { type TableModel, type TablePresentation } from '../../model';
4
+ import { type OnCreateHandler } from '../TableCellEditor';
5
+ export type TableContentProps = {
6
+ schema?: Type.AnyEntity;
7
+ model?: TableModel;
8
+ presentation?: TablePresentation;
9
+ ignoreAttention?: boolean;
10
+ attendableId?: string;
11
+ onCreate?: OnCreateHandler;
12
+ onRowClick?: (row: any) => void;
13
+ testId?: string;
14
+ };
15
+ export declare const TableContent: React.ForwardRefExoticComponent<Omit<TableContentProps, "className"> & {
16
+ classNames?: import("@dxos/ui-types").ClassNameValue;
17
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
18
+ //# sourceMappingURL=TableContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableContent.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/TableContent.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAkG,MAAM,OAAO,CAAC;AAEvH,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAkBvC,OAAO,EAAyC,KAAK,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE7G,OAAO,EAAE,KAAK,eAAe,EAA+C,MAAM,oBAAoB,CAAC;AAkBvG,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAEjC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,YAAY;;2HA6WxB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Atom } from '@effect-atom/atom-react';
2
+ import React from 'react';
3
+ import { type ActionGraphProps, type MenuAction, MenuRootProps } from '@dxos/react-ui-menu';
4
+ export type TableToolbarActionProperties = {
5
+ type: TableToolbarActionType;
6
+ };
7
+ export type TableToolbarAction = MenuAction<TableToolbarActionProperties>;
8
+ export type TableToolbarActionType = 'add-row' | 'comment' | 'save-view';
9
+ type TableToolbarState = Partial<{
10
+ viewDirty: boolean;
11
+ }>;
12
+ export type TableToolbarProps = Pick<MenuRootProps, 'attendableId'> & TableToolbarState & {
13
+ onAdd?: () => void;
14
+ onSave?: () => void;
15
+ customActions?: Atom.Atom<ActionGraphProps>;
16
+ };
17
+ export declare const TableToolbar: React.ForwardRefExoticComponent<Omit<TableToolbarProps, "className"> & {
18
+ classNames?: import("@dxos/ui-types").ClassNameValue;
19
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
20
+ export {};
21
+ //# sourceMappingURL=TableToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableToolbar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Table/TableToolbar.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAmB,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAyC,MAAM,OAAO,CAAC;AAG9D,OAAO,EAGL,KAAK,gBAAgB,EAErB,KAAK,UAAU,EACf,aAAa,EAId,MAAM,qBAAqB,CAAC;AAI7B,MAAM,MAAM,4BAA4B,GAAG;IAAE,IAAI,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAE5E,MAAM,MAAM,kBAAkB,GAAG,UAAU,CAAC,4BAA4B,CAAC,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEzE,KAAK,iBAAiB,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAmDzD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,GACjE,iBAAiB,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,aAAa,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;CAC7C,CAAC;AAEJ,eAAO,MAAM,YAAY;;2HAsBxB,CAAC"}
@@ -4,5 +4,5 @@ export type CellValidationMessageProps = {
4
4
  validationError: string | null;
5
5
  variant?: 'error' | 'warning';
6
6
  };
7
- export declare const CellValidationMessage: ({ validationError, variant, __gridScope, }: GridScopedProps<CellValidationMessageProps>) => React.JSX.Element | null;
7
+ export declare const CellValidationMessage: ({ __gridScope, validationError, variant, }: GridScopedProps<CellValidationMessageProps>) => React.JSX.Element | null;
8
8
  //# sourceMappingURL=CellValidationMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CellValidationMessage.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/CellValidationMessage.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,eAAe,EAAkB,MAAM,qBAAqB,CAAC;AAE3E,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,4CAInC,eAAe,CAAC,0BAA0B,CAAC,6BAyB7C,CAAC"}
1
+ {"version":3,"file":"CellValidationMessage.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/CellValidationMessage.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,eAAe,EAAkB,MAAM,qBAAqB,CAAC;AAE3E,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,qBAAqB,+CAI/B,eAAe,CAAC,0BAA0B,CAAC,6BAwB7C,CAAC"}
@@ -1,14 +1,17 @@
1
- import { type Schema } from 'effect';
2
1
  import React from 'react';
2
+ import { Ref, Type } from '@dxos/echo';
3
+ import { type FormRootProps } from '@dxos/react-ui-form';
3
4
  import { type FieldProjection } from '@dxos/schema';
4
- import { type TableModel } from '../../model';
5
- type FormCellEditorProps = {
6
- fieldProjection: FieldProjection;
5
+ import { type ModalController, type TableModel } from '../../model';
6
+ export type OnCreateHandler = (schema: Type.AnyEntity, values: any) => Parameters<typeof Ref.make>[0];
7
+ export type FormCellEditorProps<T extends Type.AnyEntity = Type.AnyEntity> = {
8
+ __gridScope: any;
9
+ schema?: T;
7
10
  model?: TableModel;
8
- schema?: Schema.Schema.AnyNoContext;
11
+ fieldProjection: FieldProjection;
12
+ modals?: ModalController;
9
13
  onSave?: () => void;
10
- __gridScope: any;
11
- };
12
- export declare const FormCellEditor: ({ fieldProjection, model, schema, onSave, __gridScope }: FormCellEditorProps) => React.JSX.Element | null;
13
- export {};
14
+ onCreate?: OnCreateHandler;
15
+ } & Omit<FormRootProps<any>, 'values' | 'schema' | 'onCreate'>;
16
+ export declare const FormCellEditor: <T extends Type.AnyEntity = Type.AnyEntity>({ __gridScope, schema, model, fieldProjection, onSave, onCreate, ...formProps }: FormCellEditorProps<T>) => React.JSX.Element | null;
14
17
  //# sourceMappingURL=FormCellEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormCellEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/FormCellEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAA4D,MAAM,OAAO,CAAC;AAOjF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,KAAK,mBAAmB,GAAG;IACzB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,yDAAyD,mBAAmB,6BA8E1G,CAAC"}
1
+ {"version":3,"file":"FormCellEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/FormCellEditor.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAU,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,EAAQ,KAAK,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AAEnF,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAiB,MAAM,aAAa,CAAC;AAKnF,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,UAAU,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAEtG,MAAM,MAAM,mBAAmB,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI;IAC3E,WAAW,EAAE,GAAG,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,eAAe,EAAE,eAAe,CAAC;IACjC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;AAE/D,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,IAAI,CAAC,SAAS,oGAQpD,mBAAmB,CAAC,CAAC,CAAC,6BA4JxB,CAAC"}
@@ -1,31 +1,24 @@
1
1
  import { type Completion } from '@codemirror/autocomplete';
2
- import { type Schema } from 'effect/Schema';
3
2
  import React from 'react';
3
+ import { type Type } from '@dxos/echo';
4
4
  import { type DxGridAxis, type DxGridPosition } from '@dxos/lit-grid';
5
5
  import { type GridScopedProps } from '@dxos/react-ui-grid';
6
- import { type FieldProjection } from '@dxos/schema';
7
6
  import { type ModalController, type TableModel } from '../../model';
8
- declare const newValue: unique symbol;
7
+ import { type OnCreateHandler } from './FormCellEditor';
9
8
  /**
10
9
  * Option to create new object/value.
11
10
  */
12
- export declare const createOption: (text: string) => {
13
- [newValue]: boolean;
14
- text: string;
15
- };
16
11
  export type QueryResult = Pick<Completion, 'label'> & {
17
12
  data: any;
18
13
  };
19
- export type TableCellEditorProps = {
14
+ export type TableCellEditorProps<T extends Type.AnyEntity = Type.AnyEntity> = {
15
+ schema?: T;
20
16
  model?: TableModel;
21
17
  modals?: ModalController;
22
- schema?: Schema.AnyNoContext;
23
- onEnter?: (cell: DxGridPosition) => void;
24
18
  onFocus?: (axis?: DxGridAxis, delta?: -1 | 0 | 1, cell?: DxGridPosition) => void;
19
+ onCreate?: OnCreateHandler;
25
20
  onSave?: () => void;
26
- onQuery?: (field: FieldProjection, text: string) => Promise<QueryResult[]>;
27
21
  };
28
- export declare const TableValueEditor: ({ model, modals, schema, onEnter, onFocus, onSave, onQuery, __gridScope, }: GridScopedProps<TableCellEditorProps>) => React.JSX.Element;
29
- export declare const TableCellEditor: ({ model, modals, onEnter, onFocus, onQuery, onSave, __gridScope, }: GridScopedProps<TableCellEditorProps>) => React.JSX.Element;
30
- export {};
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;
31
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;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAA4D,MAAM,OAAO,CAAC;AAIjF,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGtE,OAAO,EAML,KAAK,eAAe,EAKrB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAMpE,QAAA,MAAM,QAAQ,eAAyB,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM;;;CAAiC,CAAC;AAI3E,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,YAAY,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;IACzC,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,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC5E,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,4EAS9B,eAAe,CAAC,oBAAoB,CAAC,sBA2CvC,CAAC;AAIF,eAAO,MAAM,eAAe,GAAI,oEAQ7B,eAAe,CAAC,oBAAoB,CAAC,sBA0RvC,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;AAQF,eAAO,MAAM,eAAe,qDAMzB,eAAe,CAAC,oBAAoB,CAAC,sBA2JvC,CAAC"}
@@ -1,11 +1,44 @@
1
- import '@dxos-theme';
2
- import { type Meta, type StoryObj } from '@storybook/react-vite';
1
+ import { type StoryObj } from '@storybook/react-vite';
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
- declare const meta: Meta<StoryProps>;
7
+ declare const meta: {
8
+ title: string;
9
+ component: ({ editing }: DefaultStoryProps) => React.JSX.Element;
10
+ render: ({ editing }: DefaultStoryProps) => React.JSX.Element;
11
+ decorators: import("@storybook/react").Decorator[];
12
+ parameters: {
13
+ layout: string;
14
+ translations: [{
15
+ readonly 'en-US': {
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';
36
+ };
37
+ };
38
+ }];
39
+ };
40
+ };
8
41
  export default meta;
9
- type Story = StoryObj<StoryProps>;
42
+ type Story = StoryObj<typeof meta>;
10
43
  export declare const Default: Story;
11
44
  //# sourceMappingURL=TableCellEditor.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableCellEditor.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/TableCellEditor.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AASjE,OAAO,EAAQ,KAAK,WAAW,EAAkB,MAAM,qBAAqB,CAAC;AAY7E,KAAK,UAAU,GAAG;IAChB,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAqDF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,UAAU,CA4B1B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;AAElC,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,2 +1,3 @@
1
1
  export * from './TableCellEditor';
2
+ export { type OnCreateHandler } from './FormCellEditor';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/TableCellEditor/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,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"}