@dxos/react-ui-table 0.8.4-main.1068cf700f → 0.8.4-main.1c7ec43d41

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 (131) hide show
  1. package/dist/lib/browser/{chunk-OZBLY7XM.mjs → chunk-FBURZBPH.mjs} +17 -23
  2. package/dist/lib/browser/chunk-FBURZBPH.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  4. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  5. package/dist/lib/browser/{chunk-GTGYBRJA.mjs → chunk-YGC7LZJN.mjs} +31 -84
  6. package/dist/lib/browser/chunk-YGC7LZJN.mjs.map +7 -0
  7. package/dist/lib/browser/index.mjs +197 -234
  8. package/dist/lib/browser/index.mjs.map +4 -4
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/testing/index.mjs +6 -5
  11. package/dist/lib/browser/testing/index.mjs.map +3 -3
  12. package/dist/lib/browser/translations.mjs +36 -0
  13. package/dist/lib/browser/translations.mjs.map +7 -0
  14. package/dist/lib/browser/types/index.mjs +2 -1
  15. package/dist/lib/node-esm/{chunk-WNZSKIRF.mjs → chunk-DKKMSVKP.mjs} +17 -23
  16. package/dist/lib/node-esm/chunk-DKKMSVKP.mjs.map +7 -0
  17. package/dist/lib/node-esm/{chunk-DPNSZHU5.mjs → chunk-GKIWDEZ7.mjs} +31 -84
  18. package/dist/lib/node-esm/chunk-GKIWDEZ7.mjs.map +7 -0
  19. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  20. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  21. package/dist/lib/node-esm/index.mjs +197 -234
  22. package/dist/lib/node-esm/index.mjs.map +4 -4
  23. package/dist/lib/node-esm/meta.json +1 -1
  24. package/dist/lib/node-esm/testing/index.mjs +6 -5
  25. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  26. package/dist/lib/node-esm/translations.mjs +37 -0
  27. package/dist/lib/node-esm/translations.mjs.map +7 -0
  28. package/dist/lib/node-esm/types/index.mjs +2 -1
  29. package/dist/types/src/components/Table/ColumnActionsMenu.d.ts.map +1 -1
  30. package/dist/types/src/components/Table/ColumnSettings.d.ts.map +1 -1
  31. package/dist/types/src/components/Table/DynamicTable.d.ts +2 -2
  32. package/dist/types/src/components/Table/DynamicTable.d.ts.map +1 -1
  33. package/dist/types/src/components/Table/DynamicTable.stories.d.ts +20 -22
  34. package/dist/types/src/components/Table/DynamicTable.stories.d.ts.map +1 -1
  35. package/dist/types/src/components/Table/Relations.stories.d.ts +82 -82
  36. package/dist/types/src/components/Table/Relations.stories.d.ts.map +1 -1
  37. package/dist/types/src/components/Table/RowActionsMenu.d.ts.map +1 -1
  38. package/dist/types/src/components/Table/Table.d.ts +20 -21
  39. package/dist/types/src/components/Table/Table.d.ts.map +1 -1
  40. package/dist/types/src/components/Table/Table.stories.d.ts +84 -84
  41. package/dist/types/src/components/Table/Table.stories.d.ts.map +1 -1
  42. package/dist/types/src/components/Table/TableContent.d.ts +17 -0
  43. package/dist/types/src/components/Table/TableContent.d.ts.map +1 -0
  44. package/dist/types/src/components/Table/TableToolbar.d.ts +21 -0
  45. package/dist/types/src/components/Table/TableToolbar.d.ts.map +1 -0
  46. package/dist/types/src/components/TableCellEditor/CellValidationMessage.d.ts.map +1 -1
  47. package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts +3 -3
  48. package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts.map +1 -1
  49. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts +2 -2
  50. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts.map +1 -1
  51. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts +22 -24
  52. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts.map +1 -1
  53. package/dist/types/src/components/index.d.ts +0 -1
  54. package/dist/types/src/components/index.d.ts.map +1 -1
  55. package/dist/types/src/components/testing.d.ts.map +1 -1
  56. package/dist/types/src/hooks/useAddRow.d.ts +1 -1
  57. package/dist/types/src/hooks/useAddRow.d.ts.map +1 -1
  58. package/dist/types/src/hooks/useProjectionModel.d.ts +1 -1
  59. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -1
  60. package/dist/types/src/hooks/useTableModel.d.ts.map +1 -1
  61. package/dist/types/src/index.d.ts +0 -2
  62. package/dist/types/src/index.d.ts.map +1 -1
  63. package/dist/types/src/model/modal-controller.d.ts.map +1 -1
  64. package/dist/types/src/model/selection-model.d.ts +1 -1
  65. package/dist/types/src/model/selection-model.d.ts.map +1 -1
  66. package/dist/types/src/model/table-model.d.ts +5 -4
  67. package/dist/types/src/model/table-model.d.ts.map +1 -1
  68. package/dist/types/src/model/table-presentation.d.ts.map +1 -1
  69. package/dist/types/src/playwright/TableManager.d.ts.map +1 -1
  70. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -1
  71. package/dist/types/src/testing/useTestTableModel.d.ts +2 -2
  72. package/dist/types/src/testing/useTestTableModel.d.ts.map +1 -1
  73. package/dist/types/src/translations.d.ts +19 -21
  74. package/dist/types/src/translations.d.ts.map +1 -1
  75. package/dist/types/src/types/Table.d.ts +1 -6
  76. package/dist/types/src/types/Table.d.ts.map +1 -1
  77. package/dist/types/src/util/dynamic-table.d.ts +2 -2
  78. package/dist/types/src/util/dynamic-table.d.ts.map +1 -1
  79. package/dist/types/src/util/query-ast.d.ts.map +1 -1
  80. package/dist/types/src/util/schema.d.ts.map +1 -1
  81. package/dist/types/src/util/signals.d.ts.map +1 -1
  82. package/dist/types/src/util/sort.d.ts.map +1 -1
  83. package/dist/types/src/util/table-buttons.d.ts +20 -20
  84. package/dist/types/src/util/table-buttons.d.ts.map +1 -1
  85. package/dist/types/src/util/table-controls.d.ts +4 -4
  86. package/dist/types/src/util/table-controls.d.ts.map +1 -1
  87. package/dist/types/src/util/tag.d.ts.map +1 -1
  88. package/dist/types/tsconfig.tsbuildinfo +1 -1
  89. package/package.json +50 -59
  90. package/src/components/Table/ColumnActionsMenu.tsx +7 -6
  91. package/src/components/Table/ColumnSettings.tsx +3 -4
  92. package/src/components/Table/DynamicTable.stories.tsx +15 -15
  93. package/src/components/Table/DynamicTable.tsx +10 -18
  94. package/src/components/Table/Relations.stories.tsx +77 -33
  95. package/src/components/Table/RowActionsMenu.tsx +3 -2
  96. package/src/components/Table/Table.stories.tsx +58 -51
  97. package/src/components/Table/Table.tsx +41 -435
  98. package/src/components/Table/TableContent.tsx +421 -0
  99. package/src/components/{TableToolbar → Table}/TableToolbar.tsx +36 -43
  100. package/src/components/TableCellEditor/CellValidationMessage.tsx +4 -4
  101. package/src/components/TableCellEditor/FormCellEditor.tsx +14 -7
  102. package/src/components/TableCellEditor/TableCellEditor.stories.tsx +12 -11
  103. package/src/components/TableCellEditor/TableCellEditor.tsx +12 -10
  104. package/src/components/index.ts +0 -1
  105. package/src/components/testing.ts +10 -10
  106. package/src/hooks/useAddRow.ts +1 -1
  107. package/src/hooks/useProjectionModel.ts +3 -3
  108. package/src/index.ts +0 -4
  109. package/src/model/table-model.test.ts +5 -6
  110. package/src/model/table-model.ts +11 -10
  111. package/src/model/table-presentation.test.ts +5 -6
  112. package/src/model/table-presentation.ts +12 -12
  113. package/src/playwright/playwright.config.ts +1 -1
  114. package/src/playwright/smoke.spec.ts +3 -3
  115. package/src/testing/useTestTableModel.ts +5 -5
  116. package/src/translations.ts +19 -21
  117. package/src/types/Table.ts +12 -23
  118. package/src/util/dynamic-table.test.ts +4 -4
  119. package/src/util/dynamic-table.ts +11 -10
  120. package/src/util/query-ast.ts +3 -0
  121. package/src/util/table-buttons.ts +1 -1
  122. package/src/util/table-controls.ts +2 -2
  123. package/dist/lib/browser/chunk-GTGYBRJA.mjs.map +0 -7
  124. package/dist/lib/browser/chunk-OZBLY7XM.mjs.map +0 -7
  125. package/dist/lib/node-esm/chunk-DPNSZHU5.mjs.map +0 -7
  126. package/dist/lib/node-esm/chunk-WNZSKIRF.mjs.map +0 -7
  127. package/dist/types/src/components/TableToolbar/TableToolbar.d.ts +0 -21
  128. package/dist/types/src/components/TableToolbar/TableToolbar.d.ts.map +0 -1
  129. package/dist/types/src/components/TableToolbar/index.d.ts +0 -2
  130. package/dist/types/src/components/TableToolbar/index.d.ts.map +0 -1
  131. package/src/components/TableToolbar/index.ts +0 -5
@@ -1,36 +1,39 @@
1
- var __defProp = Object.defineProperty;
2
- var __export = (target, all) => {
3
- for (var name in all)
4
- __defProp(target, name, { get: all[name], enumerable: true });
5
- };
1
+ import {
2
+ __export
3
+ } from "./chunk-J5LGTIGS.mjs";
6
4
 
7
5
  // src/types/Table.ts
8
6
  var Table_exports = {};
9
7
  __export(Table_exports, {
10
8
  Table: () => Table,
11
- TableV1: () => TableV1,
12
9
  make: () => make
13
10
  });
14
11
  import * as Match from "effect/Match";
15
12
  import * as Schema from "effect/Schema";
16
13
  import * as SchemaAST from "effect/SchemaAST";
17
- import { Obj, Ref, Type } from "@dxos/echo";
14
+ import { Annotation, JsonSchema, Obj, Ref, Type } from "@dxos/echo";
15
+ import { View } from "@dxos/echo";
18
16
  import { FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
19
- import { View, ViewAnnotation } from "@dxos/schema";
17
+ import { ViewAnnotation } from "@dxos/schema";
20
18
  var Table = Schema.Struct({
21
19
  name: Schema.String.pipe(Schema.optional),
22
- view: Type.Ref(View.View).pipe(FormInputAnnotation.set(false)),
20
+ view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),
23
21
  sizes: Schema.Record({
24
22
  // TODO(wittjosiah): Should be JsonPath.
25
23
  key: Schema.String,
26
24
  value: Schema.Number
27
25
  }).pipe(Schema.mutable, FormInputAnnotation.set(false))
28
26
  }).pipe(Type.object({
29
- typename: "dxos.org/type/Table",
30
- version: "0.2.0"
27
+ typename: "org.dxos.type.table",
28
+ version: "0.1.0"
31
29
  }), LabelAnnotation.set([
32
30
  "name"
33
- ]), ViewAnnotation.set(true));
31
+ ]), ViewAnnotation.set([
32
+ "view"
33
+ ]), Annotation.IconAnnotation.set({
34
+ icon: "ph--table--regular",
35
+ hue: "green"
36
+ }));
34
37
  var make = ({ name, sizes = {}, view, jsonSchema }) => {
35
38
  const table = Obj.make(Table, {
36
39
  name,
@@ -38,7 +41,7 @@ var make = ({ name, sizes = {}, view, jsonSchema }) => {
38
41
  sizes
39
42
  });
40
43
  if (jsonSchema) {
41
- const schema = Type.toEffectSchema(jsonSchema);
44
+ const schema = JsonSchema.toEffectSchema(jsonSchema);
42
45
  const properties = SchemaAST.getPropertySignatures(schema.ast);
43
46
  for (const property of properties) {
44
47
  const name2 = property.name.toString();
@@ -60,17 +63,8 @@ var make = ({ name, sizes = {}, view, jsonSchema }) => {
60
63
  }
61
64
  return table;
62
65
  };
63
- var TableV1 = Schema.Struct({
64
- sizes: Schema.Record({
65
- key: Schema.String,
66
- value: Schema.Number
67
- }).pipe(Schema.mutable)
68
- }).pipe(Type.object({
69
- typename: "dxos.org/type/Table",
70
- version: "0.1.0"
71
- }));
72
66
 
73
67
  export {
74
68
  Table_exports
75
69
  };
76
- //# sourceMappingURL=chunk-OZBLY7XM.mjs.map
70
+ //# sourceMappingURL=chunk-FBURZBPH.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/Table.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Match from 'effect/Match';\nimport * as Schema from 'effect/Schema';\nimport * as SchemaAST from 'effect/SchemaAST';\n\nimport { Annotation, JsonSchema, Obj, Ref, Type } from '@dxos/echo';\nimport { View } from '@dxos/echo';\nimport { FormInputAnnotation, type JsonPath, type JsonSchemaType, LabelAnnotation } from '@dxos/echo/internal';\nimport { ViewAnnotation } from '@dxos/schema';\n\nexport const Table = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n\n view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),\n\n sizes: Schema.Record({\n // TODO(wittjosiah): Should be JsonPath.\n key: Schema.String,\n value: Schema.Number,\n }).pipe(Schema.mutable, FormInputAnnotation.set(false)),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.table',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name']),\n ViewAnnotation.set(['view']),\n Annotation.IconAnnotation.set({\n icon: 'ph--table--regular',\n hue: 'green',\n }),\n);\n\nexport interface Table extends Schema.Schema.Type<typeof Table> {}\n\ntype MakeProps = {\n name?: string;\n sizes?: Record<string, number>;\n view: View.View;\n /** Required to auto-size columns. */\n jsonSchema?: JsonSchemaType;\n};\n\n/**\n * Make a table as a view of a data set.\n */\nexport const make = ({ name, sizes = {}, view, jsonSchema }: MakeProps): Table => {\n const table = Obj.make(Table, { name, view: Ref.make(view), sizes } as Obj.MakeProps<typeof Table>);\n\n // Preset sizes.\n if (jsonSchema) {\n const schema = JsonSchema.toEffectSchema(jsonSchema);\n const properties = SchemaAST.getPropertySignatures(schema.ast);\n for (const property of properties) {\n const name = property.name.toString() as JsonPath;\n if (sizes?.[name]) {\n table.sizes[name] = sizes[name];\n continue;\n }\n\n Match.type<SchemaAST.AST>().pipe(\n Match.when({ _tag: 'BooleanKeyword' }, () => {\n table.sizes[name] = 100;\n }),\n Match.when({ _tag: 'NumberKeyword' }, () => {\n table.sizes[name] = 100;\n }),\n Match.orElse(() => {\n // Noop.\n }),\n )(property.type);\n }\n }\n\n return table;\n};\n"],
5
+ "mappings": ";;;;;AAAA;;;;;AAIA,YAAYA,WAAW;AACvB,YAAYC,YAAY;AACxB,YAAYC,eAAe;AAE3B,SAASC,YAAYC,YAAYC,KAAKC,KAAKC,YAAY;AACvD,SAASC,YAAY;AACrB,SAASC,qBAAyDC,uBAAuB;AACzF,SAASC,sBAAsB;AAExB,IAAMC,QAAeC,cAAO;EACjCC,MAAaC,cAAOC,KAAYC,eAAQ;EAExCC,MAAMZ,IAAIA,IAAIE,KAAKA,IAAI,EAAEQ,KAAKP,oBAAoBU,IAAI,KAAA,CAAA;EAEtDC,OAAcC,cAAO;;IAEnBC,KAAYP;IACZQ,OAAcC;EAChB,CAAA,EAAGR,KAAYS,gBAAShB,oBAAoBU,IAAI,KAAA,CAAA;AAClD,CAAA,EAAGH,KACDT,KAAKmB,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,GACAlB,gBAAgBS,IAAI;EAAC;CAAO,GAC5BR,eAAeQ,IAAI;EAAC;CAAO,GAC3BhB,WAAW0B,eAAeV,IAAI;EAC5BW,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;AAgBK,IAAMC,OAAO,CAAC,EAAElB,MAAMM,QAAQ,CAAC,GAAGF,MAAMe,WAAU,MAAa;AACpE,QAAMC,QAAQ7B,IAAI2B,KAAKpB,OAAO;IAAEE;IAAMI,MAAMZ,IAAI0B,KAAKd,IAAAA;IAAOE;EAAM,CAAA;AAGlE,MAAIa,YAAY;AACd,UAAME,SAAS/B,WAAWgC,eAAeH,UAAAA;AACzC,UAAMI,aAAuBC,gCAAsBH,OAAOI,GAAG;AAC7D,eAAWC,YAAYH,YAAY;AACjC,YAAMvB,QAAO0B,SAAS1B,KAAK2B,SAAQ;AACnC,UAAIrB,QAAQN,KAAAA,GAAO;AACjBoB,cAAMd,MAAMN,KAAAA,IAAQM,MAAMN,KAAAA;AAC1B;MACF;AAEAd,MAAM0C,WAAI,EAAkB1B,KACpB2B,WAAK;QAAEC,MAAM;MAAiB,GAAG,MAAA;AACrCV,cAAMd,MAAMN,KAAAA,IAAQ;MACtB,CAAA,GACM6B,WAAK;QAAEC,MAAM;MAAgB,GAAG,MAAA;AACpCV,cAAMd,MAAMN,KAAAA,IAAQ;MACtB,CAAA,GACM+B,aAAO,MAAA;MAEb,CAAA,CAAA,EACAL,SAASE,IAAI;IACjB;EACF;AAEA,SAAOR;AACT;",
6
+ "names": ["Match", "Schema", "SchemaAST", "Annotation", "JsonSchema", "Obj", "Ref", "Type", "View", "FormInputAnnotation", "LabelAnnotation", "ViewAnnotation", "Table", "Struct", "name", "String", "pipe", "optional", "view", "set", "sizes", "Record", "key", "value", "Number", "mutable", "object", "typename", "version", "IconAnnotation", "icon", "hue", "make", "jsonSchema", "table", "schema", "toEffectSchema", "properties", "getPropertySignatures", "ast", "property", "toString", "type", "when", "_tag", "orElse"]
7
+ }
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export {
8
+ __export
9
+ };
10
+ //# sourceMappingURL=chunk-J5LGTIGS.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -6,6 +6,9 @@ var extractOrder = (queryAst) => {
6
6
  if (queryAst.type === "options") {
7
7
  return extractOrder(queryAst.query);
8
8
  }
9
+ if (queryAst.type === "from") {
10
+ return extractOrder(queryAst.query);
11
+ }
9
12
  return void 0;
10
13
  };
11
14
 
@@ -69,7 +72,7 @@ var BUTTON_IDENTIFIERS = {
69
72
  };
70
73
  var createButton = ({ attr, data, disabled = false, icon, testId, type: _type = "primary" }) => {
71
74
  const dataAttrs = Object.entries(data).map(([k, v]) => `${k}="${v}"`).join(" ");
72
- return `<button ${attr} data-testid="${testId}" class="dx-button is-6 aspect-square pli-0.5 min-bs-0" ${dataAttrs} ${disabled ? "disabled" : ""} data-dx-grid-action="accessory"><svg data-size="4"><use href="/icons.svg#${icon}"/></svg></button>`;
75
+ return `<button ${attr} data-testid="${testId}" class="dx-button w-6 aspect-square px-0.5 min-h-0" ${dataAttrs} ${disabled ? "disabled" : ""} data-dx-grid-action="accessory"><svg data-size="4"><use href="/icons.svg#${icon}"/></svg></button>`;
73
76
  };
74
77
  var addColumnButton = {
75
78
  attr: BUTTON_IDENTIFIERS.newColumn,
@@ -182,8 +185,8 @@ var CONTROL_IDENTIFIERS = {
182
185
  switch: "data-table-switch"
183
186
  };
184
187
  var BASE_CLASSES = {
185
- checkbox: "absolute inset-block-[.375rem] inline-end-[.375rem] dx-checkbox",
186
- switch: "absolute inset-block-[.25rem] inline-end-[.25rem] dx-checkbox--switch"
188
+ checkbox: "absolute inset-y-[.375rem] end-[.375rem] dx-checkbox",
189
+ switch: "absolute inset-y-[.25rem] end-[.25rem] dx-checkbox--switch"
187
190
  };
188
191
  var renderAttributes = (data) => {
189
192
  return Object.entries(data).map(([k, v]) => `${k}="${v}"`).join(" ");
@@ -380,10 +383,10 @@ var SelectionModel = class extends Resource {
380
383
  // src/model/table-model.ts
381
384
  var __dxlog_file = "/__w/dxos/dxos/packages/ui/react-ui-table/src/model/table-model.ts";
382
385
  var createEchoChangeCallback = (table) => ({
383
- table: (mutate) => Obj.change(table, (mutableTable) => mutate(mutableTable)),
386
+ table: (mutate) => Obj.update(table, (table2) => mutate(table2)),
384
387
  row: (row, mutate) => {
385
388
  if (Obj.isObject(row)) {
386
- Obj.change(row, (mutableRow) => mutate(mutableRow));
389
+ Obj.update(row, (row2) => mutate(row2));
387
390
  } else {
388
391
  mutate(row);
389
392
  }
@@ -448,15 +451,7 @@ var TableModel = class extends Resource2 {
448
451
  ...defaultFeatures,
449
452
  ...features
450
453
  };
451
- invariant(!(this._features.dataEditable && this._features.selection.enabled && this._features.selection.mode === "single"), "Single selection is not compatible with editable tables.", {
452
- F: __dxlog_file,
453
- L: 196,
454
- S: this,
455
- A: [
456
- "!(this._features.dataEditable && this._features.selection.enabled && this._features.selection.mode === 'single')",
457
- "'Single selection is not compatible with editable tables.'"
458
- ]
459
- });
454
+ invariant(!(this._features.dataEditable && this._features.selection.enabled && this._features.selection.mode === "single"), "Single selection is not compatible with editable tables.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 94, S: this, A: ["!(this._features.dataEditable && this._features.selection.enabled && this._features.selection.mode === 'single')", "'Single selection is not compatible with editable tables.'"] });
460
455
  this._visibleRange = Atom2.make({
461
456
  start: {
462
457
  row: 0,
@@ -539,15 +534,7 @@ var TableModel = class extends Resource2 {
539
534
  }
540
535
  get view() {
541
536
  const view = this._object.view.target;
542
- invariant(view, "Table model not initialized", {
543
- F: __dxlog_file,
544
- L: 307,
545
- S: this,
546
- A: [
547
- "view",
548
- "'Table model not initialized'"
549
- ]
550
- });
537
+ invariant(view, "Table model not initialized", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 186, S: this, A: ["view", "'Table model not initialized'"] });
551
538
  return view;
552
539
  }
553
540
  get table() {
@@ -607,15 +594,7 @@ var TableModel = class extends Resource2 {
607
594
  return this._pinnedRows;
608
595
  }
609
596
  get columnMeta() {
610
- invariant(this._columnMeta, void 0, {
611
- F: __dxlog_file,
612
- L: 380,
613
- S: this,
614
- A: [
615
- "this._columnMeta",
616
- ""
617
- ]
618
- });
597
+ invariant(this._columnMeta, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 240, S: this, A: ["this._columnMeta", ""] });
619
598
  return this._columnMeta;
620
599
  }
621
600
  get selection() {
@@ -634,15 +613,7 @@ var TableModel = class extends Resource2 {
634
613
  await this._selection.open(this._ctx);
635
614
  }
636
615
  initializeColumnMeta() {
637
- invariant(this._object.view.target, "View must be loaded before initializing column meta", {
638
- F: __dxlog_file,
639
- L: 404,
640
- S: this,
641
- A: [
642
- "this._object.view.target",
643
- "'View must be loaded before initializing column meta'"
644
- ]
645
- });
616
+ invariant(this._object.view.target, "View must be loaded before initializing column meta", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 259, S: this, A: ["this._object.view.target", "'View must be loaded before initializing column meta'"] });
646
617
  this._columnMeta = Atom2.make((get) => {
647
618
  const fields = get(this._projection.fields);
648
619
  const meta = Object.fromEntries(fields.map((field, index) => [
@@ -904,41 +875,17 @@ var TableModel = class extends Resource2 {
904
875
  };
905
876
  } else {
906
877
  const currentRow = this._registry.get(this._rows)[row];
907
- invariant(currentRow, "Invalid row index", {
908
- F: __dxlog_file,
909
- L: 692,
910
- S: this,
911
- A: [
912
- "currentRow",
913
- "'Invalid row index'"
914
- ]
915
- });
878
+ invariant(currentRow, "Invalid row index", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 533, S: this, A: ["currentRow", "'Invalid row index'"] });
916
879
  const snapshot = {
917
880
  ...getSnapshot(currentRow)
918
881
  };
919
882
  setValue(snapshot, field.path, transformedValue);
920
883
  const schema = Obj.getSchema(currentRow);
921
- invariant(schema, void 0, {
922
- F: __dxlog_file,
923
- L: 698,
924
- S: this,
925
- A: [
926
- "schema",
927
- ""
928
- ]
929
- });
884
+ invariant(schema, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 539, S: this, A: ["schema", ""] });
930
885
  const validationResult = validateSchema(schema, snapshot);
931
886
  if (validationResult && validationResult.length > 0) {
932
887
  const error = validationResult[0];
933
- invariant(error.path === field.path, void 0, {
934
- F: __dxlog_file,
935
- L: 703,
936
- S: this,
937
- A: [
938
- "error.path === field.path",
939
- ""
940
- ]
941
- });
888
+ invariant(error.path === field.path, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 543, S: this, A: ["error.path === field.path", ""] });
942
889
  return {
943
890
  valid: false,
944
891
  error: error.message
@@ -1102,13 +1049,13 @@ var TableModel = class extends Resource2 {
1102
1049
  const field = this._projection.getFields().find((f) => f.id === inMemorySort.fieldId);
1103
1050
  if (field) {
1104
1051
  const newQuery = baseQuery.orderBy(Order.property(field.path, inMemorySort.direction));
1105
- Obj.change(view, (v) => {
1106
- v.query.ast = newQuery.ast;
1052
+ Obj.update(view, (view2) => {
1053
+ view2.query.ast = newQuery.ast;
1107
1054
  });
1108
1055
  }
1109
1056
  } else {
1110
- Obj.change(view, (v) => {
1111
- v.query.ast = baseQuery.ast;
1057
+ Obj.update(view, (view2) => {
1058
+ view2.query.ast = baseQuery.ast;
1112
1059
  });
1113
1060
  }
1114
1061
  this._registry.set(this._inMemorySort, void 0);
@@ -1316,7 +1263,7 @@ var TablePresentation = class {
1316
1263
  const targetObj = getValue2(obj, field.path)?.target;
1317
1264
  if (targetObj) {
1318
1265
  const dxn = Obj2.getDXN(targetObj)?.toString();
1319
- cell.accessoryHtml = `<div role="none" class="absolute inline-end-0 inset-block-0 p-[--dx-grid-cell-content-padding-block]"><dx-anchor dxn=${dxn} class="dx-button is-6 aspect-square min-bs-0" data-dx-grid-action="accessory"><dx-icon icon="ph--link-simple--regular"/></dx-anchor></div>`;
1266
+ cell.accessoryHtml = `<div role="none" class="absolute end-0 inset-y-0 p-(--dx-grid-cell-content-padding-block)"><dx-anchor dxn=${dxn} class="dx-button w-6 aspect-square min-h-0" data-dx-grid-action="accessory"><dx-icon icon="ph--link-simple--regular"/></dx-anchor></div>`;
1320
1267
  }
1321
1268
  }
1322
1269
  if (props.format === Format3.TypeFormat.Boolean) {
@@ -1430,7 +1377,7 @@ var TablePresentation = class {
1430
1377
  value: "",
1431
1378
  resizeHandle: "col",
1432
1379
  accessoryHtml: `
1433
- <span class="grow min-is-0 truncate">${props.title ?? field.path}</span>
1380
+ <span class="grow min-w-0 truncate">${props.title ?? field.path}</span>
1434
1381
  ${direction !== void 0 ? tableButtons.sort.render({
1435
1382
  fieldId: field.id,
1436
1383
  direction
@@ -1439,7 +1386,7 @@ var TablePresentation = class {
1439
1386
  fieldId: field.id
1440
1387
  })}
1441
1388
  `,
1442
- className: "!bg-toolbarSurface !text-description [&>div]:flex [&>div]:items-stretch"
1389
+ className: "!bg-toolbar-surface text-description! [&>div]:flex [&>div]:items-stretch"
1443
1390
  };
1444
1391
  }
1445
1392
  return cells;
@@ -1490,7 +1437,7 @@ var TablePresentation = class {
1490
1437
  col: 0,
1491
1438
  row: 0
1492
1439
  })]: {
1493
- className: "!bg-toolbarSurface",
1440
+ className: "!bg-toolbar-surface",
1494
1441
  readonly: true,
1495
1442
  value: ""
1496
1443
  }
@@ -1506,7 +1453,7 @@ var TablePresentation = class {
1506
1453
  header: true,
1507
1454
  checked: this.model.selection.allRowsSelected
1508
1455
  }),
1509
- className: "!bg-toolbarSurface",
1456
+ className: "!bg-toolbar-surface",
1510
1457
  readonly: true,
1511
1458
  value: ""
1512
1459
  }
@@ -1521,7 +1468,7 @@ var TablePresentation = class {
1521
1468
  accessoryHtml: this.model.features.schemaEditable ? tableButtons.addColumn.render({
1522
1469
  disabled: (this.model.projection?.getFields()?.length ?? 0) >= VIEW_FIELD_LIMIT
1523
1470
  }) : void 0,
1524
- className: "!bg-toolbarSurface",
1471
+ className: "!bg-toolbar-surface",
1525
1472
  readonly: true,
1526
1473
  value: ""
1527
1474
  }
@@ -1579,7 +1526,7 @@ var cellClassesForRowSelection = (selected, selectionMode) => {
1579
1526
  if (!selected) {
1580
1527
  if (selectionMode === "single") {
1581
1528
  return [
1582
- "!cursor-pointer"
1529
+ "cursor-pointer!"
1583
1530
  ];
1584
1531
  } else {
1585
1532
  return void 0;
@@ -1588,11 +1535,11 @@ var cellClassesForRowSelection = (selected, selectionMode) => {
1588
1535
  switch (selectionMode) {
1589
1536
  case "single":
1590
1537
  return [
1591
- "!bg-currentRelated dx-grid__cell--no-focus-unfurl hover:bg-hoverSurface !cursor-pointer"
1538
+ "dx-grid__cell--no-focus-unfurl !bg-current-surface hover:bg-hover-surface cursor-pointer!"
1592
1539
  ];
1593
1540
  case "multiple":
1594
1541
  return [
1595
- "!bg-gridCellSelected"
1542
+ "!bg-grid-cell-selected"
1596
1543
  ];
1597
1544
  }
1598
1545
  };
@@ -1619,7 +1566,7 @@ var useAddRow = ({ db, schema }) => {
1619
1566
 
1620
1567
  // src/hooks/useProjectionModel.ts
1621
1568
  import { useState } from "react";
1622
- import { Type } from "@dxos/echo";
1569
+ import { JsonSchema, Type } from "@dxos/echo";
1623
1570
  import { useAsyncEffect } from "@dxos/react-ui";
1624
1571
  import { ProjectionModel, createEchoChangeCallback as createEchoChangeCallback2 } from "@dxos/schema";
1625
1572
  var useProjectionModel = (schema, table, registry) => {
@@ -1627,7 +1574,7 @@ var useProjectionModel = (schema, table, registry) => {
1627
1574
  useAsyncEffect(async () => {
1628
1575
  if (schema && table) {
1629
1576
  const view = await table.view.load();
1630
- const jsonSchema = Type.isMutable(schema) ? schema.jsonSchema : Type.toJsonSchema(schema);
1577
+ const jsonSchema = Type.isMutable(schema) ? schema.jsonSchema : JsonSchema.toJsonSchema(schema);
1631
1578
  const change = createEchoChangeCallback2(view, Type.isMutable(schema) ? schema : void 0);
1632
1579
  const projection2 = new ProjectionModel({
1633
1580
  registry,
@@ -1745,4 +1692,4 @@ export {
1745
1692
  useProjectionModel,
1746
1693
  useTableModel
1747
1694
  };
1748
- //# sourceMappingURL=chunk-GTGYBRJA.mjs.map
1695
+ //# sourceMappingURL=chunk-YGC7LZJN.mjs.map