@dxos/react-ui-table 0.8.4-main.2c6827d → 0.8.4-main.3c1ae3b

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 (103) hide show
  1. package/dist/lib/browser/chunk-CJQ6T4LL.mjs +77 -0
  2. package/dist/lib/browser/chunk-CJQ6T4LL.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-GS2UNGJK.mjs → chunk-V7A7ZA5E.mjs} +119 -111
  4. package/dist/lib/browser/chunk-V7A7ZA5E.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +162 -147
  6. package/dist/lib/browser/index.mjs.map +3 -3
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/testing/index.mjs +15 -31
  9. package/dist/lib/browser/testing/index.mjs.map +3 -3
  10. package/dist/lib/browser/types/index.mjs +3 -3
  11. package/dist/lib/node-esm/{chunk-TRR3C5NX.mjs → chunk-P73ALX3N.mjs} +119 -111
  12. package/dist/lib/node-esm/chunk-P73ALX3N.mjs.map +7 -0
  13. package/dist/lib/node-esm/chunk-T6PXZQ6W.mjs +78 -0
  14. package/dist/lib/node-esm/chunk-T6PXZQ6W.mjs.map +7 -0
  15. package/dist/lib/node-esm/index.mjs +162 -147
  16. package/dist/lib/node-esm/index.mjs.map +3 -3
  17. package/dist/lib/node-esm/meta.json +1 -1
  18. package/dist/lib/node-esm/testing/index.mjs +15 -31
  19. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  20. package/dist/lib/node-esm/types/index.mjs +3 -3
  21. package/dist/types/src/components/Table/ColumnActionsMenu.d.ts +1 -2
  22. package/dist/types/src/components/Table/ColumnActionsMenu.d.ts.map +1 -1
  23. package/dist/types/src/components/Table/ColumnSettings.d.ts +2 -2
  24. package/dist/types/src/components/Table/ColumnSettings.d.ts.map +1 -1
  25. package/dist/types/src/components/Table/DynamicTable.d.ts +4 -5
  26. package/dist/types/src/components/Table/DynamicTable.d.ts.map +1 -1
  27. package/dist/types/src/components/Table/DynamicTable.stories.d.ts +3 -17
  28. package/dist/types/src/components/Table/DynamicTable.stories.d.ts.map +1 -1
  29. package/dist/types/src/components/Table/Relations.stories.d.ts +10 -6
  30. package/dist/types/src/components/Table/Relations.stories.d.ts.map +1 -1
  31. package/dist/types/src/components/Table/Table.d.ts +8 -8
  32. package/dist/types/src/components/Table/Table.d.ts.map +1 -1
  33. package/dist/types/src/components/Table/Table.stories.d.ts +70 -4
  34. package/dist/types/src/components/Table/Table.stories.d.ts.map +1 -1
  35. package/dist/types/src/components/TableCellEditor/CellValidationMessage.d.ts +1 -1
  36. package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts +10 -11
  37. package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts.map +1 -1
  38. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts +5 -7
  39. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts.map +1 -1
  40. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts +3 -3
  41. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts.map +1 -1
  42. package/dist/types/src/components/testing.d.ts +0 -2
  43. package/dist/types/src/components/testing.d.ts.map +1 -1
  44. package/dist/types/src/hooks/index.d.ts +2 -1
  45. package/dist/types/src/hooks/index.d.ts.map +1 -1
  46. package/dist/types/src/hooks/useProjectionModel.d.ts +5 -0
  47. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
  48. package/dist/types/src/hooks/useTableModel.d.ts +4 -5
  49. package/dist/types/src/hooks/useTableModel.d.ts.map +1 -1
  50. package/dist/types/src/model/table-model.d.ts +6 -8
  51. package/dist/types/src/model/table-model.d.ts.map +1 -1
  52. package/dist/types/src/model/table-sorting.d.ts +7 -3
  53. package/dist/types/src/model/table-sorting.d.ts.map +1 -1
  54. package/dist/types/src/playwright/TableManager.d.ts +1 -1
  55. package/dist/types/src/playwright/TableManager.d.ts.map +1 -1
  56. package/dist/types/src/testing/useTestTableModel.d.ts +19 -15
  57. package/dist/types/src/testing/useTestTableModel.d.ts.map +1 -1
  58. package/dist/types/src/translations.d.ts +2 -2
  59. package/dist/types/src/types/Table.d.ts +28 -0
  60. package/dist/types/src/types/Table.d.ts.map +1 -0
  61. package/dist/types/src/types/index.d.ts +1 -1
  62. package/dist/types/src/types/index.d.ts.map +1 -1
  63. package/dist/types/src/util/dynamic-table.d.ts +9 -9
  64. package/dist/types/src/util/dynamic-table.d.ts.map +1 -1
  65. package/dist/types/tsconfig.tsbuildinfo +1 -1
  66. package/package.json +38 -38
  67. package/src/components/Table/ColumnActionsMenu.tsx +4 -1
  68. package/src/components/Table/ColumnSettings.tsx +2 -3
  69. package/src/components/Table/DynamicTable.stories.tsx +7 -9
  70. package/src/components/Table/DynamicTable.tsx +18 -10
  71. package/src/components/Table/Relations.stories.tsx +9 -18
  72. package/src/components/Table/Table.stories.tsx +52 -59
  73. package/src/components/Table/Table.tsx +317 -304
  74. package/src/components/TableCellEditor/CellValidationMessage.tsx +1 -1
  75. package/src/components/TableCellEditor/FormCellEditor.tsx +101 -108
  76. package/src/components/TableCellEditor/TableCellEditor.stories.tsx +11 -8
  77. package/src/components/TableCellEditor/TableCellEditor.tsx +29 -29
  78. package/src/components/TableToolbar/TableToolbar.tsx +1 -1
  79. package/src/components/testing.ts +3 -3
  80. package/src/hooks/index.ts +2 -1
  81. package/src/hooks/useProjectionModel.ts +19 -0
  82. package/src/hooks/useTableModel.ts +11 -13
  83. package/src/model/table-model.test.ts +4 -4
  84. package/src/model/table-model.ts +29 -38
  85. package/src/model/table-presentation.test.ts +4 -4
  86. package/src/model/table-presentation.ts +9 -9
  87. package/src/model/table-sorting.ts +21 -12
  88. package/src/playwright/TableManager.ts +5 -5
  89. package/src/playwright/smoke.spec.ts +1 -1
  90. package/src/testing/useTestTableModel.ts +31 -27
  91. package/src/translations.ts +2 -2
  92. package/src/types/Table.ts +90 -0
  93. package/src/types/index.ts +1 -1
  94. package/src/util/dynamic-table.ts +11 -16
  95. package/dist/lib/browser/chunk-2PFAPQL4.mjs +0 -66
  96. package/dist/lib/browser/chunk-2PFAPQL4.mjs.map +0 -7
  97. package/dist/lib/browser/chunk-GS2UNGJK.mjs.map +0 -7
  98. package/dist/lib/node-esm/chunk-6POOFFYF.mjs +0 -67
  99. package/dist/lib/node-esm/chunk-6POOFFYF.mjs.map +0 -7
  100. package/dist/lib/node-esm/chunk-TRR3C5NX.mjs.map +0 -7
  101. package/dist/types/src/types/schema.d.ts +0 -28
  102. package/dist/types/src/types/schema.d.ts.map +0 -1
  103. package/src/types/schema.ts +0 -73
@@ -1 +1 @@
1
- {"inputs":{"src/translations.ts":{"bytes":4073,"imports":[],"format":"esm"},"src/types/schema.ts":{"bytes":7193,"imports":[{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":506,"imports":[{"path":"src/types/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"},"src/util/dynamic-table.ts":{"bytes":9977,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/util/signals.ts":{"bytes":866,"imports":[],"format":"esm"},"src/util/table-buttons.ts":{"bytes":14540,"imports":[],"format":"esm"},"src/util/table-controls.ts":{"bytes":9201,"imports":[{"path":"@dxos/lit-grid","kind":"import-statement","external":true}],"format":"esm"},"src/util/schema.ts":{"bytes":4055,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true}],"format":"esm"},"src/util/index.ts":{"bytes":851,"imports":[{"path":"src/util/dynamic-table.ts","kind":"import-statement","original":"./dynamic-table"},{"path":"src/util/signals.ts","kind":"import-statement","original":"./signals"},{"path":"src/util/table-buttons.ts","kind":"import-statement","original":"./table-buttons"},{"path":"src/util/table-controls.ts","kind":"import-statement","original":"./table-controls"},{"path":"src/util/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"},"src/util/tag.ts":{"bytes":2842,"imports":[],"format":"esm"},"src/model/selection-model.ts":{"bytes":11746,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"src/model/table-sorting.ts":{"bytes":22800,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"lodash.orderby","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-model.ts":{"bytes":71009,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"},{"path":"src/util/tag.ts","kind":"import-statement","original":"../util/tag"},{"path":"src/model/selection-model.ts","kind":"import-statement","original":"./selection-model"},{"path":"src/model/table-sorting.ts","kind":"import-statement","original":"./table-sorting"}],"format":"esm"},"src/model/modal-controller.ts":{"bytes":6301,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-presentation.ts":{"bytes":56306,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect/Predicate","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"src/model/index.ts":{"bytes":768,"imports":[{"path":"src/model/table-model.ts","kind":"import-statement","original":"./table-model"},{"path":"src/model/modal-controller.ts","kind":"import-statement","original":"./modal-controller"},{"path":"src/model/table-presentation.ts","kind":"import-statement","original":"./table-presentation"}],"format":"esm"},"src/components/TableCellEditor/CellValidationMessage.tsx":{"bytes":4390,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true}],"format":"esm"},"src/components/TableCellEditor/FormCellEditor.tsx":{"bytes":25438,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../../translations"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/components/TableCellEditor/TableCellEditor.tsx":{"bytes":28873,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"src/components/TableCellEditor/CellValidationMessage.tsx","kind":"import-statement","original":"./CellValidationMessage"},{"path":"src/components/TableCellEditor/FormCellEditor.tsx","kind":"import-statement","original":"./FormCellEditor"}],"format":"esm"},"src/components/TableCellEditor/index.ts":{"bytes":579,"imports":[{"path":"src/components/TableCellEditor/TableCellEditor.tsx","kind":"import-statement","original":"./TableCellEditor"}],"format":"esm"},"src/components/Table/ColumnActionsMenu.tsx":{"bytes":8691,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../../translations"}],"format":"esm"},"src/components/Table/ColumnSettings.tsx":{"bytes":8958,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/RowActionsMenu.tsx":{"bytes":7087,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../../translations"}],"format":"esm"},"src/components/Table/Table.tsx":{"bytes":49636,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect/String","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/TableCellEditor/index.ts","kind":"import-statement","original":"../TableCellEditor"},{"path":"src/components/Table/ColumnActionsMenu.tsx","kind":"import-statement","original":"./ColumnActionsMenu"},{"path":"src/components/Table/ColumnSettings.tsx","kind":"import-statement","original":"./ColumnSettings"},{"path":"src/components/Table/RowActionsMenu.tsx","kind":"import-statement","original":"./RowActionsMenu"}],"format":"esm"},"src/hooks/useTableModel.ts":{"bytes":10135,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"lodash.orderby","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"src/hooks/useAddRow.ts":{"bytes":3059,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/index.ts":{"bytes":565,"imports":[{"path":"src/hooks/useTableModel.ts","kind":"import-statement","original":"./useTableModel"},{"path":"src/hooks/useAddRow.ts","kind":"import-statement","original":"./useAddRow"}],"format":"esm"},"src/components/Table/DynamicTable.tsx":{"bytes":10620,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/Table/Table.tsx","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/components/Table/index.ts":{"bytes":563,"imports":[{"path":"src/components/Table/Table.tsx","kind":"import-statement","original":"./Table"},{"path":"src/components/Table/DynamicTable.tsx","kind":"import-statement","original":"./DynamicTable"}],"format":"esm"},"src/components/TableToolbar/TableToolbar.tsx":{"bytes":9863,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../../translations"}],"format":"esm"},"src/components/TableToolbar/index.ts":{"bytes":489,"imports":[{"path":"src/components/TableToolbar/TableToolbar.tsx","kind":"import-statement","original":"./TableToolbar"}],"format":"esm"},"src/components/index.ts":{"bytes":557,"imports":[{"path":"src/components/Table/index.ts","kind":"import-statement","original":"./Table"},{"path":"src/components/TableToolbar/index.ts","kind":"import-statement","original":"./TableToolbar"}],"format":"esm"},"src/index.ts":{"bytes":961,"imports":[{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"./model"},{"path":"src/util/index.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/testing/useTestTableModel.ts":{"bytes":13107,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"src/testing/index.ts":{"bytes":486,"imports":[{"path":"src/testing/useTestTableModel.ts","kind":"import-statement","original":"./useTestTableModel"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":79231},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-GS2UNGJK.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-2PFAPQL4.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect/String","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true}],"exports":["BUTTON_IDENTIFIERS","CONTROL_IDENTIFIERS","CheckboxStory","DynamicTable","ModalController","SwitchStory","Table","TableModel","TablePresentation","TableToolbar","cellClassesForRowSelection","getBaseSchema","makeDynamicTable","narrowSchema","tableButtons","tableControls","touch","translations","useAddRow","useTableModel"],"entryPoint":"src/index.ts","inputs":{"src/translations.ts":{"bytesInOutput":1169},"src/components/Table/Table.tsx":{"bytesInOutput":11792},"src/components/TableCellEditor/TableCellEditor.tsx":{"bytesInOutput":7576},"src/components/TableCellEditor/CellValidationMessage.tsx":{"bytesInOutput":1117},"src/components/TableCellEditor/FormCellEditor.tsx":{"bytesInOutput":6828},"src/components/TableCellEditor/index.ts":{"bytesInOutput":0},"src/components/Table/ColumnActionsMenu.tsx":{"bytesInOutput":2329},"src/components/Table/ColumnSettings.tsx":{"bytesInOutput":2437},"src/components/Table/RowActionsMenu.tsx":{"bytesInOutput":1832},"src/components/Table/index.ts":{"bytesInOutput":0},"src/components/Table/DynamicTable.tsx":{"bytesInOutput":2179},"src/components/index.ts":{"bytesInOutput":0},"src/components/TableToolbar/TableToolbar.tsx":{"bytesInOutput":2204},"src/components/TableToolbar/index.ts":{"bytesInOutput":0},"src/index.ts":{"bytesInOutput":0}},"bytes":40753},"dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7072},"dist/lib/browser/testing/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-GS2UNGJK.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-2PFAPQL4.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["useTestTableModel"],"entryPoint":"src/testing/index.ts","inputs":{"src/testing/useTestTableModel.ts":{"bytesInOutput":3095},"src/testing/index.ts":{"bytesInOutput":0}},"bytes":3322},"dist/lib/browser/chunk-GS2UNGJK.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":110117},"dist/lib/browser/chunk-GS2UNGJK.mjs":{"imports":[{"path":"dist/lib/browser/chunk-2PFAPQL4.mjs","kind":"import-statement"},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/lit-grid","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"lodash.orderby","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect/Predicate","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"lodash.orderby","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"exports":["BUTTON_IDENTIFIERS","CONTROL_IDENTIFIERS","CheckboxStory","ModalController","SwitchStory","TableModel","TablePresentation","cellClassesForRowSelection","getBaseSchema","makeDynamicTable","narrowSchema","tableButtons","tableControls","touch","useAddRow","useTableModel"],"inputs":{"src/util/dynamic-table.ts":{"bytesInOutput":2125},"src/util/signals.ts":{"bytesInOutput":30},"src/util/table-buttons.ts":{"bytesInOutput":3500},"src/util/table-controls.ts":{"bytesInOutput":2045},"src/util/schema.ts":{"bytesInOutput":498},"src/util/index.ts":{"bytesInOutput":0},"src/model/table-model.ts":{"bytesInOutput":17219},"src/util/tag.ts":{"bytesInOutput":334},"src/model/selection-model.ts":{"bytesInOutput":2649},"src/model/table-sorting.ts":{"bytesInOutput":4409},"src/model/modal-controller.ts":{"bytesInOutput":1267},"src/model/table-presentation.ts":{"bytesInOutput":13881},"src/model/index.ts":{"bytesInOutput":0},"src/hooks/useTableModel.ts":{"bytesInOutput":2190},"src/hooks/useAddRow.ts":{"bytesInOutput":389},"src/hooks/index.ts":{"bytesInOutput":0}},"bytes":51343},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-2PFAPQL4.mjs","kind":"import-statement"}],"exports":["Table"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":131},"dist/lib/browser/chunk-2PFAPQL4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3953},"dist/lib/browser/chunk-2PFAPQL4.mjs":{"imports":[{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["schema_exports"],"inputs":{"src/types/schema.ts":{"bytesInOutput":1563},"src/types/index.ts":{"bytesInOutput":0}},"bytes":1828}}}
1
+ {"inputs":{"src/translations.ts":{"bytes":4039,"imports":[],"format":"esm"},"src/types/Table.ts":{"bytes":8541,"imports":[{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":505,"imports":[{"path":"src/types/Table.ts","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/util/dynamic-table.ts":{"bytes":9814,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/util/signals.ts":{"bytes":866,"imports":[],"format":"esm"},"src/util/table-buttons.ts":{"bytes":14540,"imports":[],"format":"esm"},"src/util/table-controls.ts":{"bytes":9201,"imports":[{"path":"@dxos/lit-grid","kind":"import-statement","external":true}],"format":"esm"},"src/util/schema.ts":{"bytes":4055,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true}],"format":"esm"},"src/util/index.ts":{"bytes":851,"imports":[{"path":"src/util/dynamic-table.ts","kind":"import-statement","original":"./dynamic-table"},{"path":"src/util/signals.ts","kind":"import-statement","original":"./signals"},{"path":"src/util/table-buttons.ts","kind":"import-statement","original":"./table-buttons"},{"path":"src/util/table-controls.ts","kind":"import-statement","original":"./table-controls"},{"path":"src/util/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"},"src/util/tag.ts":{"bytes":2842,"imports":[],"format":"esm"},"src/model/selection-model.ts":{"bytes":11746,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"src/model/table-sorting.ts":{"bytes":23330,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"lodash.orderby","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-model.ts":{"bytes":70306,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"},{"path":"src/util/tag.ts","kind":"import-statement","original":"../util/tag"},{"path":"src/model/selection-model.ts","kind":"import-statement","original":"./selection-model"},{"path":"src/model/table-sorting.ts","kind":"import-statement","original":"./table-sorting"}],"format":"esm"},"src/model/modal-controller.ts":{"bytes":6301,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-presentation.ts":{"bytes":56558,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect/Predicate","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"src/model/index.ts":{"bytes":768,"imports":[{"path":"src/model/table-model.ts","kind":"import-statement","original":"./table-model"},{"path":"src/model/modal-controller.ts","kind":"import-statement","original":"./modal-controller"},{"path":"src/model/table-presentation.ts","kind":"import-statement","original":"./table-presentation"}],"format":"esm"},"src/components/TableCellEditor/CellValidationMessage.tsx":{"bytes":4390,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true}],"format":"esm"},"src/components/TableCellEditor/FormCellEditor.tsx":{"bytes":25752,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../../translations"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/components/TableCellEditor/TableCellEditor.tsx":{"bytes":28412,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"src/components/TableCellEditor/CellValidationMessage.tsx","kind":"import-statement","original":"./CellValidationMessage"},{"path":"src/components/TableCellEditor/FormCellEditor.tsx","kind":"import-statement","original":"./FormCellEditor"}],"format":"esm"},"src/components/TableCellEditor/index.ts":{"bytes":579,"imports":[{"path":"src/components/TableCellEditor/TableCellEditor.tsx","kind":"import-statement","original":"./TableCellEditor"}],"format":"esm"},"src/components/Table/ColumnActionsMenu.tsx":{"bytes":8711,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../../translations"}],"format":"esm"},"src/components/Table/ColumnSettings.tsx":{"bytes":8910,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/RowActionsMenu.tsx":{"bytes":7087,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../../translations"}],"format":"esm"},"src/components/Table/Table.tsx":{"bytes":49888,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect/String","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/TableCellEditor/index.ts","kind":"import-statement","original":"../TableCellEditor"},{"path":"src/components/Table/ColumnActionsMenu.tsx","kind":"import-statement","original":"./ColumnActionsMenu"},{"path":"src/components/Table/ColumnSettings.tsx","kind":"import-statement","original":"./ColumnSettings"},{"path":"src/components/Table/RowActionsMenu.tsx","kind":"import-statement","original":"./RowActionsMenu"}],"format":"esm"},"src/hooks/useAddRow.ts":{"bytes":3059,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useProjectionModel.ts":{"bytes":2307,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useTableModel.ts":{"bytes":9973,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"lodash.orderby","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"src/hooks/index.ts":{"bytes":679,"imports":[{"path":"src/hooks/useAddRow.ts","kind":"import-statement","original":"./useAddRow"},{"path":"src/hooks/useProjectionModel.ts","kind":"import-statement","original":"./useProjectionModel"},{"path":"src/hooks/useTableModel.ts","kind":"import-statement","original":"./useTableModel"}],"format":"esm"},"src/components/Table/DynamicTable.tsx":{"bytes":11757,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../../hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"../../model"},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"},{"path":"src/components/Table/Table.tsx","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/components/Table/index.ts":{"bytes":563,"imports":[{"path":"src/components/Table/Table.tsx","kind":"import-statement","original":"./Table"},{"path":"src/components/Table/DynamicTable.tsx","kind":"import-statement","original":"./DynamicTable"}],"format":"esm"},"src/components/TableToolbar/TableToolbar.tsx":{"bytes":9877,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../../translations"}],"format":"esm"},"src/components/TableToolbar/index.ts":{"bytes":489,"imports":[{"path":"src/components/TableToolbar/TableToolbar.tsx","kind":"import-statement","original":"./TableToolbar"}],"format":"esm"},"src/components/index.ts":{"bytes":557,"imports":[{"path":"src/components/Table/index.ts","kind":"import-statement","original":"./Table"},{"path":"src/components/TableToolbar/index.ts","kind":"import-statement","original":"./TableToolbar"}],"format":"esm"},"src/index.ts":{"bytes":961,"imports":[{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"src/hooks/index.ts","kind":"import-statement","original":"./hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"./model"},{"path":"src/util/index.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/testing/useTestTableModel.ts":{"bytes":12582,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/hooks/index.ts","kind":"import-statement","original":"../hooks"},{"path":"src/model/index.ts","kind":"import-statement","original":"../model"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/testing/index.ts":{"bytes":486,"imports":[{"path":"src/testing/useTestTableModel.ts","kind":"import-statement","original":"./useTestTableModel"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":79763},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-V7A7ZA5E.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-CJQ6T4LL.mjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect/String","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true}],"exports":["BUTTON_IDENTIFIERS","CONTROL_IDENTIFIERS","CheckboxStory","DynamicTable","ModalController","SwitchStory","Table","TableModel","TablePresentation","TableToolbar","cellClassesForRowSelection","getBaseSchema","makeDynamicTable","narrowSchema","tableButtons","tableControls","touch","translations","useAddRow","useProjectionModel","useTableModel"],"entryPoint":"src/index.ts","inputs":{"src/translations.ts":{"bytesInOutput":1155},"src/components/Table/Table.tsx":{"bytesInOutput":11993},"src/components/TableCellEditor/TableCellEditor.tsx":{"bytesInOutput":7409},"src/components/TableCellEditor/CellValidationMessage.tsx":{"bytesInOutput":1117},"src/components/TableCellEditor/FormCellEditor.tsx":{"bytesInOutput":6889},"src/components/TableCellEditor/index.ts":{"bytesInOutput":0},"src/components/Table/ColumnActionsMenu.tsx":{"bytesInOutput":2329},"src/components/Table/ColumnSettings.tsx":{"bytesInOutput":2437},"src/components/Table/RowActionsMenu.tsx":{"bytesInOutput":1832},"src/components/Table/index.ts":{"bytesInOutput":0},"src/components/Table/DynamicTable.tsx":{"bytesInOutput":2488},"src/components/index.ts":{"bytesInOutput":0},"src/components/TableToolbar/TableToolbar.tsx":{"bytesInOutput":2210},"src/components/TableToolbar/index.ts":{"bytesInOutput":0},"src/index.ts":{"bytesInOutput":0}},"bytes":41193},"dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6948},"dist/lib/browser/testing/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-V7A7ZA5E.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-CJQ6T4LL.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["useTestTableModel"],"entryPoint":"src/testing/index.ts","inputs":{"src/testing/useTestTableModel.ts":{"bytesInOutput":2620},"src/testing/index.ts":{"bytesInOutput":0}},"bytes":2894},"dist/lib/browser/chunk-V7A7ZA5E.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":111232},"dist/lib/browser/chunk-V7A7ZA5E.mjs":{"imports":[{"path":"dist/lib/browser/chunk-CJQ6T4LL.mjs","kind":"import-statement"},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/lit-grid","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"lodash.orderby","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect/Predicate","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"lodash.orderby","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-attention","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["BUTTON_IDENTIFIERS","CONTROL_IDENTIFIERS","CheckboxStory","ModalController","SwitchStory","TableModel","TablePresentation","cellClassesForRowSelection","getBaseSchema","makeDynamicTable","narrowSchema","tableButtons","tableControls","touch","useAddRow","useProjectionModel","useTableModel"],"inputs":{"src/util/dynamic-table.ts":{"bytesInOutput":2085},"src/util/signals.ts":{"bytesInOutput":30},"src/util/table-buttons.ts":{"bytesInOutput":3500},"src/util/table-controls.ts":{"bytesInOutput":2045},"src/util/schema.ts":{"bytesInOutput":498},"src/util/index.ts":{"bytesInOutput":0},"src/model/table-model.ts":{"bytesInOutput":16945},"src/util/tag.ts":{"bytesInOutput":334},"src/model/selection-model.ts":{"bytesInOutput":2649},"src/model/table-sorting.ts":{"bytesInOutput":4465},"src/model/modal-controller.ts":{"bytesInOutput":1267},"src/model/table-presentation.ts":{"bytesInOutput":13929},"src/model/index.ts":{"bytesInOutput":0},"src/hooks/useAddRow.ts":{"bytesInOutput":389},"src/hooks/useProjectionModel.ts":{"bytesInOutput":469},"src/hooks/useTableModel.ts":{"bytesInOutput":2181},"src/hooks/index.ts":{"bytesInOutput":0}},"bytes":51650},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-CJQ6T4LL.mjs","kind":"import-statement"}],"exports":["Table"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":129},"dist/lib/browser/chunk-CJQ6T4LL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4518},"dist/lib/browser/chunk-CJQ6T4LL.mjs":{"imports":[{"path":"effect/Match","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["Table_exports"],"inputs":{"src/types/Table.ts":{"bytesInOutput":1892},"src/types/index.ts":{"bytesInOutput":0}},"bytes":2155}}}
@@ -1,42 +1,29 @@
1
1
  import {
2
2
  TablePresentation,
3
3
  useAddRow,
4
+ useProjectionModel,
4
5
  useTableModel
5
- } from "../chunk-GS2UNGJK.mjs";
6
- import "../chunk-2PFAPQL4.mjs";
6
+ } from "../chunk-V7A7ZA5E.mjs";
7
+ import {
8
+ Table_exports
9
+ } from "../chunk-CJQ6T4LL.mjs";
7
10
 
8
11
  // src/testing/useTestTableModel.ts
9
12
  import { useCallback, useMemo, useRef } from "react";
10
- import { isMutable, toJsonSchema } from "@dxos/echo/internal";
13
+ import { isMutable } from "@dxos/echo/internal";
11
14
  import { useGlobalFilteredObjects } from "@dxos/plugin-search";
12
15
  import { faker } from "@dxos/random";
13
- import { useClient } from "@dxos/react-client";
14
16
  import { Filter, useQuery, useSchema } from "@dxos/react-client/echo";
15
17
  import { useClientProvider } from "@dxos/react-client/testing";
16
- import { ProjectionModel, View, getTypenameFromQuery } from "@dxos/schema";
18
+ import { getTypenameFromQuery } from "@dxos/schema";
17
19
  faker.seed(0);
18
20
  var useTestTableModel = () => {
19
- const client = useClient();
20
21
  const { space } = useClientProvider();
21
- const views = useQuery(space, Filter.type(View.View));
22
- const view = useMemo(() => views.at(0), [
23
- views
24
- ]);
25
- const typename = view?.query ? getTypenameFromQuery(view.query.ast) : void 0;
26
- const schema = useSchema(client, space, typename);
27
- const jsonSchema = useMemo(() => schema ? toJsonSchema(schema) : void 0, [
28
- schema
29
- ]);
30
- const projection = useMemo(() => {
31
- if (schema && view?.projection) {
32
- const projection2 = new ProjectionModel(toJsonSchema(schema), view.projection);
33
- projection2.normalizeView();
34
- return projection2;
35
- }
36
- }, [
37
- schema,
38
- view?.projection
39
- ]);
22
+ const tables = useQuery(space, Filter.type(Table_exports.Table));
23
+ const table = tables.at(0);
24
+ const typename = table?.view.target?.query ? getTypenameFromQuery(table.view.target.query.ast) : void 0;
25
+ const schema = useSchema(space, typename);
26
+ const projection = useProjectionModel(schema, table);
40
27
  const features = useMemo(() => ({
41
28
  selection: {
42
29
  enabled: true,
@@ -75,8 +62,7 @@ var useTestTableModel = () => {
75
62
  projection
76
63
  ]);
77
64
  const model = useTableModel({
78
- view,
79
- schema: jsonSchema,
65
+ object: table,
80
66
  projection,
81
67
  features,
82
68
  rows: filteredObjects,
@@ -90,8 +76,7 @@ var useTestTableModel = () => {
90
76
  const insertResult = model?.insertRow();
91
77
  tableRef.current?.handleInsertRowResult?.(insertResult);
92
78
  }, [
93
- model,
94
- tableRef.current
79
+ model
95
80
  ]);
96
81
  const handleSaveView = useCallback(() => {
97
82
  model?.saveView();
@@ -107,13 +92,12 @@ var useTestTableModel = () => {
107
92
  ]);
108
93
  return {
109
94
  schema,
110
- view,
95
+ table,
111
96
  projection,
112
97
  tableRef,
113
98
  model,
114
99
  presentation,
115
100
  space,
116
- client,
117
101
  handleInsertRow,
118
102
  handleSaveView,
119
103
  handleDeleteRows,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/testing/useTestTableModel.ts"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { useCallback, useMemo, useRef } from 'react';\n\nimport { isMutable, toJsonSchema } from '@dxos/echo/internal';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { faker } from '@dxos/random';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, useQuery, useSchema } from '@dxos/react-client/echo';\nimport { useClientProvider } from '@dxos/react-client/testing';\nimport { ProjectionModel, View, getTypenameFromQuery } from '@dxos/schema';\n\nimport { type TableController } from '../components';\nimport { useAddRow, useTableModel } from '../hooks';\nimport { TablePresentation } from '../model';\n\nfaker.seed(0); // NOTE(ZaymonFC): Required for smoke tests.\n\n/**\n * Custom hook to create and manage a test table model for storybook demonstrations.\n * Provides table data, schema, and handlers for table operations.\n */\nexport const useTestTableModel = () => {\n const client = useClient();\n const { space } = useClientProvider();\n\n const views = useQuery(space, Filter.type(View.View));\n const view = useMemo(() => views.at(0), [views]);\n const typename = view?.query ? getTypenameFromQuery(view.query.ast) : undefined;\n const schema = useSchema(client, space, typename);\n const jsonSchema = useMemo(() => (schema ? toJsonSchema(schema) : undefined), [schema]);\n\n const projection = useMemo(() => {\n if (schema && view?.projection) {\n const projection = new ProjectionModel(toJsonSchema(schema), view.projection);\n projection.normalizeView();\n return projection;\n }\n }, [schema, view?.projection]);\n\n const features = useMemo(\n () => ({\n selection: { enabled: true, mode: 'multiple' as const },\n dataEditable: true,\n schemaEditable: schema && isMutable(schema),\n }),\n [schema],\n );\n\n const objects = useQuery(space, schema ? Filter.type(schema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n const tableRef = useRef<TableController>(null);\n const handleCellUpdate = useCallback((cell: any) => {\n tableRef.current?.update?.(cell);\n }, []);\n\n const handleRowOrderChange = useCallback(() => {\n tableRef.current?.update?.();\n }, []);\n\n const addRow = useAddRow({ space, schema });\n\n const handleDeleteRows = useCallback(\n (_: number, objects: any[]) => {\n for (const object of objects) {\n space?.db.remove(object);\n }\n },\n [space],\n );\n\n const handleDeleteColumn = useCallback(\n (fieldId: string) => {\n if (projection) {\n projection.deleteFieldProjection(fieldId);\n }\n },\n [projection],\n );\n\n const model = useTableModel({\n view,\n schema: jsonSchema,\n projection,\n features,\n rows: filteredObjects,\n onInsertRow: addRow,\n onDeleteRows: handleDeleteRows,\n onDeleteColumn: handleDeleteColumn,\n onCellUpdate: handleCellUpdate,\n onRowOrderChange: handleRowOrderChange,\n });\n\n const handleInsertRow = useCallback(() => {\n const insertResult = model?.insertRow();\n tableRef.current?.handleInsertRowResult?.(insertResult);\n }, [model, tableRef.current]);\n\n const handleSaveView = useCallback(() => {\n model?.saveView();\n }, [model]);\n\n const presentation = useMemo(() => {\n if (model) {\n return new TablePresentation(model);\n }\n }, [model]);\n\n return {\n schema,\n view,\n projection,\n tableRef,\n model,\n presentation,\n space,\n client,\n handleInsertRow,\n handleSaveView,\n handleDeleteRows,\n handleDeleteColumn,\n };\n};\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,aAAaC,SAASC,cAAc;AAE7C,SAASC,WAAWC,oBAAoB;AACxC,SAASC,gCAAgC;AACzC,SAASC,aAAa;AACtB,SAASC,iBAAiB;AAC1B,SAASC,QAAQC,UAAUC,iBAAiB;AAC5C,SAASC,yBAAyB;AAClC,SAASC,iBAAiBC,MAAMC,4BAA4B;AAM5DC,MAAMC,KAAK,CAAA;AAMJ,IAAMC,oBAAoB,MAAA;AAC/B,QAAMC,SAASC,UAAAA;AACf,QAAM,EAAEC,MAAK,IAAKC,kBAAAA;AAElB,QAAMC,QAAQC,SAASH,OAAOI,OAAOC,KAAKC,KAAKA,IAAI,CAAA;AACnD,QAAMC,OAAOC,QAAQ,MAAMN,MAAMO,GAAG,CAAA,GAAI;IAACP;GAAM;AAC/C,QAAMQ,WAAWH,MAAMI,QAAQC,qBAAqBL,KAAKI,MAAME,GAAG,IAAIC;AACtE,QAAMC,SAASC,UAAUlB,QAAQE,OAAOU,QAAAA;AACxC,QAAMO,aAAaT,QAAQ,MAAOO,SAASG,aAAaH,MAAAA,IAAUD,QAAY;IAACC;GAAO;AAEtF,QAAMI,aAAaX,QAAQ,MAAA;AACzB,QAAIO,UAAUR,MAAMY,YAAY;AAC9B,YAAMA,cAAa,IAAIC,gBAAgBF,aAAaH,MAAAA,GAASR,KAAKY,UAAU;AAC5EA,MAAAA,YAAWE,cAAa;AACxB,aAAOF;IACT;EACF,GAAG;IAACJ;IAAQR,MAAMY;GAAW;AAE7B,QAAMG,WAAWd,QACf,OAAO;IACLe,WAAW;MAAEC,SAAS;MAAMC,MAAM;IAAoB;IACtDC,cAAc;IACdC,gBAAgBZ,UAAUa,UAAUb,MAAAA;EACtC,IACA;IAACA;GAAO;AAGV,QAAMc,UAAU1B,SAASH,OAAOe,SAASX,OAAOC,KAAKU,MAAAA,IAAUX,OAAO0B,QAAO,CAAA;AAC7E,QAAMC,kBAAkBC,yBAAyBH,OAAAA;AAEjD,QAAMI,WAAWC,OAAwB,IAAA;AACzC,QAAMC,mBAAmBC,YAAY,CAACC,SAAAA;AACpCJ,aAASK,SAASC,SAASF,IAAAA;EAC7B,GAAG,CAAA,CAAE;AAEL,QAAMG,uBAAuBJ,YAAY,MAAA;AACvCH,aAASK,SAASC,SAAAA;EACpB,GAAG,CAAA,CAAE;AAEL,QAAME,SAASC,UAAU;IAAE1C;IAAOe;EAAO,CAAA;AAEzC,QAAM4B,mBAAmBP,YACvB,CAACQ,GAAWf,aAAAA;AACV,eAAWgB,UAAUhB,UAAS;AAC5B7B,aAAO8C,GAAGC,OAAOF,MAAAA;IACnB;EACF,GACA;IAAC7C;GAAM;AAGT,QAAMgD,qBAAqBZ,YACzB,CAACa,YAAAA;AACC,QAAI9B,YAAY;AACdA,iBAAW+B,sBAAsBD,OAAAA;IACnC;EACF,GACA;IAAC9B;GAAW;AAGd,QAAMgC,QAAQC,cAAc;IAC1B7C;IACAQ,QAAQE;IACRE;IACAG;IACA+B,MAAMtB;IACNuB,aAAab;IACbc,cAAcZ;IACda,gBAAgBR;IAChBS,cAActB;IACduB,kBAAkBlB;EACpB,CAAA;AAEA,QAAMmB,kBAAkBvB,YAAY,MAAA;AAClC,UAAMwB,eAAeT,OAAOU,UAAAA;AAC5B5B,aAASK,SAASwB,wBAAwBF,YAAAA;EAC5C,GAAG;IAACT;IAAOlB,SAASK;GAAQ;AAE5B,QAAMyB,iBAAiB3B,YAAY,MAAA;AACjCe,WAAOa,SAAAA;EACT,GAAG;IAACb;GAAM;AAEV,QAAMc,eAAezD,QAAQ,MAAA;AAC3B,QAAI2C,OAAO;AACT,aAAO,IAAIe,kBAAkBf,KAAAA;IAC/B;EACF,GAAG;IAACA;GAAM;AAEV,SAAO;IACLpC;IACAR;IACAY;IACAc;IACAkB;IACAc;IACAjE;IACAF;IACA6D;IACAI;IACApB;IACAK;EACF;AACF;",
6
- "names": ["useCallback", "useMemo", "useRef", "isMutable", "toJsonSchema", "useGlobalFilteredObjects", "faker", "useClient", "Filter", "useQuery", "useSchema", "useClientProvider", "ProjectionModel", "View", "getTypenameFromQuery", "faker", "seed", "useTestTableModel", "client", "useClient", "space", "useClientProvider", "views", "useQuery", "Filter", "type", "View", "view", "useMemo", "at", "typename", "query", "getTypenameFromQuery", "ast", "undefined", "schema", "useSchema", "jsonSchema", "toJsonSchema", "projection", "ProjectionModel", "normalizeView", "features", "selection", "enabled", "mode", "dataEditable", "schemaEditable", "isMutable", "objects", "nothing", "filteredObjects", "useGlobalFilteredObjects", "tableRef", "useRef", "handleCellUpdate", "useCallback", "cell", "current", "update", "handleRowOrderChange", "addRow", "useAddRow", "handleDeleteRows", "_", "object", "db", "remove", "handleDeleteColumn", "fieldId", "deleteFieldProjection", "model", "useTableModel", "rows", "onInsertRow", "onDeleteRows", "onDeleteColumn", "onCellUpdate", "onRowOrderChange", "handleInsertRow", "insertResult", "insertRow", "handleInsertRowResult", "handleSaveView", "saveView", "presentation", "TablePresentation"]
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type RefObject, useCallback, useMemo, useRef } from 'react';\n\nimport { type Type } from '@dxos/echo';\nimport { isMutable } from '@dxos/echo/internal';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { faker } from '@dxos/random';\nimport { Filter, type Space, useQuery, useSchema } from '@dxos/react-client/echo';\nimport { useClientProvider } from '@dxos/react-client/testing';\nimport { type ProjectionModel, getTypenameFromQuery } from '@dxos/schema';\n\nimport { type TableController } from '../components';\nimport { useAddRow, useProjectionModel, useTableModel } from '../hooks';\nimport { type TableModel, TablePresentation } from '../model';\nimport { Table } from '../types';\n\nfaker.seed(0); // NOTE(ZaymonFC): Required for smoke tests.\n\nexport type TestTableModel<T extends Type.Entity.Any = Type.Entity.Any> = {\n schema: T | undefined;\n table: Table.Table | undefined;\n projection: ProjectionModel | undefined;\n tableRef: RefObject<TableController | null>;\n model: TableModel | undefined;\n presentation: TablePresentation | undefined;\n space: Space | undefined;\n handleInsertRow: () => void;\n handleSaveView: () => void;\n handleDeleteRows: (rowIndex: number, objects: any[]) => void;\n handleDeleteColumn: (fieldId: string) => void;\n};\n\n/**\n * Custom hook to create and manage a test table model for storybook demonstrations.\n * Provides table data, schema, and handlers for table operations.\n */\nexport const useTestTableModel = <T extends Type.Entity.Any = Type.Entity.Any>(): TestTableModel<T> => {\n const { space } = useClientProvider();\n\n const tables = useQuery(space, Filter.type(Table.Table));\n const table = tables.at(0);\n const typename = table?.view.target?.query ? getTypenameFromQuery(table.view.target.query.ast) : undefined;\n const schema = useSchema<T>(space, typename);\n const projection = useProjectionModel(schema, table);\n\n const features = useMemo(\n () => ({\n selection: { enabled: true, mode: 'multiple' as const },\n dataEditable: true,\n schemaEditable: schema && isMutable(schema),\n }),\n [schema],\n );\n\n const objects = useQuery(space, schema ? Filter.type(schema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n const tableRef = useRef<TableController>(null);\n const handleCellUpdate = useCallback((cell: any) => {\n tableRef.current?.update?.(cell);\n }, []);\n\n const handleRowOrderChange = useCallback(() => {\n tableRef.current?.update?.();\n }, []);\n\n const addRow = useAddRow({ space, schema });\n\n const handleDeleteRows = useCallback(\n (_: number, objects: any[]) => {\n for (const object of objects) {\n space?.db.remove(object);\n }\n },\n [space],\n );\n\n const handleDeleteColumn = useCallback(\n (fieldId: string) => {\n if (projection) {\n projection.deleteFieldProjection(fieldId);\n }\n },\n [projection],\n );\n\n const model = useTableModel({\n object: table,\n projection,\n features,\n rows: filteredObjects,\n onInsertRow: addRow,\n onDeleteRows: handleDeleteRows,\n onDeleteColumn: handleDeleteColumn,\n onCellUpdate: handleCellUpdate,\n onRowOrderChange: handleRowOrderChange,\n });\n\n const handleInsertRow = useCallback(() => {\n const insertResult = model?.insertRow();\n tableRef.current?.handleInsertRowResult?.(insertResult);\n }, [model]);\n\n const handleSaveView = useCallback(() => {\n model?.saveView();\n }, [model]);\n\n const presentation = useMemo(() => {\n if (model) {\n return new TablePresentation(model);\n }\n }, [model]);\n\n return {\n schema,\n table,\n projection,\n tableRef,\n model,\n presentation,\n space,\n handleInsertRow,\n handleSaveView,\n handleDeleteRows,\n handleDeleteColumn,\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;AAIA,SAAyBA,aAAaC,SAASC,cAAc;AAG7D,SAASC,iBAAiB;AAC1B,SAASC,gCAAgC;AACzC,SAASC,aAAa;AACtB,SAASC,QAAoBC,UAAUC,iBAAiB;AACxD,SAASC,yBAAyB;AAClC,SAA+BC,4BAA4B;AAO3DC,MAAMC,KAAK,CAAA;AAoBJ,IAAMC,oBAAoB,MAAA;AAC/B,QAAM,EAAEC,MAAK,IAAKC,kBAAAA;AAElB,QAAMC,SAASC,SAASH,OAAOI,OAAOC,KAAKC,cAAMA,KAAK,CAAA;AACtD,QAAMC,QAAQL,OAAOM,GAAG,CAAA;AACxB,QAAMC,WAAWF,OAAOG,KAAKC,QAAQC,QAAQC,qBAAqBN,MAAMG,KAAKC,OAAOC,MAAME,GAAG,IAAIC;AACjG,QAAMC,SAASC,UAAajB,OAAOS,QAAAA;AACnC,QAAMS,aAAaC,mBAAmBH,QAAQT,KAAAA;AAE9C,QAAMa,WAAWC,QACf,OAAO;IACLC,WAAW;MAAEC,SAAS;MAAMC,MAAM;IAAoB;IACtDC,cAAc;IACdC,gBAAgBV,UAAUW,UAAUX,MAAAA;EACtC,IACA;IAACA;GAAO;AAGV,QAAMY,UAAUzB,SAASH,OAAOgB,SAASZ,OAAOC,KAAKW,MAAAA,IAAUZ,OAAOyB,QAAO,CAAA;AAC7E,QAAMC,kBAAkBC,yBAAyBH,OAAAA;AAEjD,QAAMI,WAAWC,OAAwB,IAAA;AACzC,QAAMC,mBAAmBC,YAAY,CAACC,SAAAA;AACpCJ,aAASK,SAASC,SAASF,IAAAA;EAC7B,GAAG,CAAA,CAAE;AAEL,QAAMG,uBAAuBJ,YAAY,MAAA;AACvCH,aAASK,SAASC,SAAAA;EACpB,GAAG,CAAA,CAAE;AAEL,QAAME,SAASC,UAAU;IAAEzC;IAAOgB;EAAO,CAAA;AAEzC,QAAM0B,mBAAmBP,YACvB,CAACQ,GAAWf,aAAAA;AACV,eAAWgB,UAAUhB,UAAS;AAC5B5B,aAAO6C,GAAGC,OAAOF,MAAAA;IACnB;EACF,GACA;IAAC5C;GAAM;AAGT,QAAM+C,qBAAqBZ,YACzB,CAACa,YAAAA;AACC,QAAI9B,YAAY;AACdA,iBAAW+B,sBAAsBD,OAAAA;IACnC;EACF,GACA;IAAC9B;GAAW;AAGd,QAAMgC,QAAQC,cAAc;IAC1BP,QAAQrC;IACRW;IACAE;IACAgC,MAAMtB;IACNuB,aAAab;IACbc,cAAcZ;IACda,gBAAgBR;IAChBS,cAActB;IACduB,kBAAkBlB;EACpB,CAAA;AAEA,QAAMmB,kBAAkBvB,YAAY,MAAA;AAClC,UAAMwB,eAAeT,OAAOU,UAAAA;AAC5B5B,aAASK,SAASwB,wBAAwBF,YAAAA;EAC5C,GAAG;IAACT;GAAM;AAEV,QAAMY,iBAAiB3B,YAAY,MAAA;AACjCe,WAAOa,SAAAA;EACT,GAAG;IAACb;GAAM;AAEV,QAAMc,eAAe3C,QAAQ,MAAA;AAC3B,QAAI6B,OAAO;AACT,aAAO,IAAIe,kBAAkBf,KAAAA;IAC/B;EACF,GAAG;IAACA;GAAM;AAEV,SAAO;IACLlC;IACAT;IACAW;IACAc;IACAkB;IACAc;IACAhE;IACA0D;IACAI;IACApB;IACAK;EACF;AACF;",
6
+ "names": ["useCallback", "useMemo", "useRef", "isMutable", "useGlobalFilteredObjects", "faker", "Filter", "useQuery", "useSchema", "useClientProvider", "getTypenameFromQuery", "faker", "seed", "useTestTableModel", "space", "useClientProvider", "tables", "useQuery", "Filter", "type", "Table", "table", "at", "typename", "view", "target", "query", "getTypenameFromQuery", "ast", "undefined", "schema", "useSchema", "projection", "useProjectionModel", "features", "useMemo", "selection", "enabled", "mode", "dataEditable", "schemaEditable", "isMutable", "objects", "nothing", "filteredObjects", "useGlobalFilteredObjects", "tableRef", "useRef", "handleCellUpdate", "useCallback", "cell", "current", "update", "handleRowOrderChange", "addRow", "useAddRow", "handleDeleteRows", "_", "object", "db", "remove", "handleDeleteColumn", "fieldId", "deleteFieldProjection", "model", "useTableModel", "rows", "onInsertRow", "onDeleteRows", "onDeleteColumn", "onCellUpdate", "onRowOrderChange", "handleInsertRow", "insertResult", "insertRow", "handleInsertRowResult", "handleSaveView", "saveView", "presentation", "TablePresentation"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import {
2
- schema_exports
3
- } from "../chunk-2PFAPQL4.mjs";
2
+ Table_exports
3
+ } from "../chunk-CJQ6T4LL.mjs";
4
4
  export {
5
- schema_exports as Table
5
+ Table_exports as Table
6
6
  };
7
7
  //# sourceMappingURL=index.mjs.map