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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/LICENSE +102 -5
  2. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  3. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  4. package/dist/lib/browser/chunk-KC62K4WS.mjs +1696 -0
  5. package/dist/lib/browser/chunk-KC62K4WS.mjs.map +7 -0
  6. package/dist/lib/browser/chunk-VWQWF3CP.mjs +67 -0
  7. package/dist/lib/browser/chunk-VWQWF3CP.mjs.map +7 -0
  8. package/dist/lib/browser/index.mjs +1128 -1044
  9. package/dist/lib/browser/index.mjs.map +4 -4
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/testing/index.mjs +35 -46
  12. package/dist/lib/browser/testing/index.mjs.map +3 -3
  13. package/dist/lib/browser/translations.mjs +36 -0
  14. package/dist/lib/browser/translations.mjs.map +7 -0
  15. package/dist/lib/browser/types/index.mjs +4 -3
  16. package/dist/lib/node-esm/chunk-62FOU4M7.mjs +1698 -0
  17. package/dist/lib/node-esm/chunk-62FOU4M7.mjs.map +7 -0
  18. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  19. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  20. package/dist/lib/node-esm/chunk-UBXOF64L.mjs +68 -0
  21. package/dist/lib/node-esm/chunk-UBXOF64L.mjs.map +7 -0
  22. package/dist/lib/node-esm/index.mjs +1128 -1044
  23. package/dist/lib/node-esm/index.mjs.map +4 -4
  24. package/dist/lib/node-esm/meta.json +1 -1
  25. package/dist/lib/node-esm/testing/index.mjs +35 -46
  26. package/dist/lib/node-esm/testing/index.mjs.map +3 -3
  27. package/dist/lib/node-esm/translations.mjs +37 -0
  28. package/dist/lib/node-esm/translations.mjs.map +7 -0
  29. package/dist/lib/node-esm/types/index.mjs +4 -3
  30. package/dist/types/src/components/Table/ColumnActionsMenu.d.ts +1 -2
  31. package/dist/types/src/components/Table/ColumnActionsMenu.d.ts.map +1 -1
  32. package/dist/types/src/components/Table/ColumnSettings.d.ts +2 -2
  33. package/dist/types/src/components/Table/ColumnSettings.d.ts.map +1 -1
  34. package/dist/types/src/components/Table/DynamicTable.d.ts +6 -7
  35. package/dist/types/src/components/Table/DynamicTable.d.ts.map +1 -1
  36. package/dist/types/src/components/Table/DynamicTable.stories.d.ts +22 -37
  37. package/dist/types/src/components/Table/DynamicTable.stories.d.ts.map +1 -1
  38. package/dist/types/src/components/Table/Relations.stories.d.ts +85 -81
  39. package/dist/types/src/components/Table/Relations.stories.d.ts.map +1 -1
  40. package/dist/types/src/components/Table/RowActionsMenu.d.ts.map +1 -1
  41. package/dist/types/src/components/Table/Table.d.ts +20 -21
  42. package/dist/types/src/components/Table/Table.d.ts.map +1 -1
  43. package/dist/types/src/components/Table/Table.stories.d.ts +93 -26
  44. package/dist/types/src/components/Table/Table.stories.d.ts.map +1 -1
  45. package/dist/types/src/components/Table/TableContent.d.ts +18 -0
  46. package/dist/types/src/components/Table/TableContent.d.ts.map +1 -0
  47. package/dist/types/src/components/Table/TableToolbar.d.ts +21 -0
  48. package/dist/types/src/components/Table/TableToolbar.d.ts.map +1 -0
  49. package/dist/types/src/components/TableCellEditor/CellValidationMessage.d.ts +1 -1
  50. package/dist/types/src/components/TableCellEditor/CellValidationMessage.d.ts.map +1 -1
  51. package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts +10 -12
  52. package/dist/types/src/components/TableCellEditor/FormCellEditor.d.ts.map +1 -1
  53. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts +5 -7
  54. package/dist/types/src/components/TableCellEditor/TableCellEditor.d.ts.map +1 -1
  55. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts +24 -26
  56. package/dist/types/src/components/TableCellEditor/TableCellEditor.stories.d.ts.map +1 -1
  57. package/dist/types/src/components/index.d.ts +0 -1
  58. package/dist/types/src/components/index.d.ts.map +1 -1
  59. package/dist/types/src/components/testing.d.ts +22 -15
  60. package/dist/types/src/components/testing.d.ts.map +1 -1
  61. package/dist/types/src/hooks/index.d.ts +2 -1
  62. package/dist/types/src/hooks/index.d.ts.map +1 -1
  63. package/dist/types/src/hooks/useAddRow.d.ts +5 -6
  64. package/dist/types/src/hooks/useAddRow.d.ts.map +1 -1
  65. package/dist/types/src/hooks/useProjectionModel.d.ts +6 -0
  66. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
  67. package/dist/types/src/hooks/useTableModel.d.ts +9 -9
  68. package/dist/types/src/hooks/useTableModel.d.ts.map +1 -1
  69. package/dist/types/src/index.d.ts +0 -2
  70. package/dist/types/src/index.d.ts.map +1 -1
  71. package/dist/types/src/model/modal-controller.d.ts +5 -1
  72. package/dist/types/src/model/modal-controller.d.ts.map +1 -1
  73. package/dist/types/src/model/selection-model.d.ts +18 -9
  74. package/dist/types/src/model/selection-model.d.ts.map +1 -1
  75. package/dist/types/src/model/table-model.d.ts +104 -25
  76. package/dist/types/src/model/table-model.d.ts.map +1 -1
  77. package/dist/types/src/model/table-presentation.d.ts +3 -1
  78. package/dist/types/src/model/table-presentation.d.ts.map +1 -1
  79. package/dist/types/src/playwright/TableManager.d.ts +2 -1
  80. package/dist/types/src/playwright/TableManager.d.ts.map +1 -1
  81. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -1
  82. package/dist/types/src/testing/useTestTableModel.d.ts +18 -15
  83. package/dist/types/src/testing/useTestTableModel.d.ts.map +1 -1
  84. package/dist/types/src/translations.d.ts +21 -23
  85. package/dist/types/src/translations.d.ts.map +1 -1
  86. package/dist/types/src/types/Table.d.ts +32 -0
  87. package/dist/types/src/types/Table.d.ts.map +1 -0
  88. package/dist/types/src/types/index.d.ts +1 -1
  89. package/dist/types/src/types/index.d.ts.map +1 -1
  90. package/dist/types/src/util/dynamic-table.d.ts +14 -11
  91. package/dist/types/src/util/dynamic-table.d.ts.map +1 -1
  92. package/dist/types/src/util/dynamic-table.test.d.ts +2 -0
  93. package/dist/types/src/util/dynamic-table.test.d.ts.map +1 -0
  94. package/dist/types/src/util/index.d.ts +2 -0
  95. package/dist/types/src/util/index.d.ts.map +1 -1
  96. package/dist/types/src/util/query-ast.d.ts +7 -0
  97. package/dist/types/src/util/query-ast.d.ts.map +1 -0
  98. package/dist/types/src/util/schema.d.ts.map +1 -1
  99. package/dist/types/src/util/signals.d.ts.map +1 -1
  100. package/dist/types/src/util/sort.d.ts +12 -0
  101. package/dist/types/src/util/sort.d.ts.map +1 -0
  102. package/dist/types/src/util/table-buttons.d.ts +20 -20
  103. package/dist/types/src/util/table-buttons.d.ts.map +1 -1
  104. package/dist/types/src/util/table-controls.d.ts +4 -4
  105. package/dist/types/src/util/table-controls.d.ts.map +1 -1
  106. package/dist/types/src/util/tag.d.ts.map +1 -1
  107. package/dist/types/tsconfig.tsbuildinfo +1 -1
  108. package/package.json +69 -78
  109. package/src/components/Table/ColumnActionsMenu.tsx +17 -12
  110. package/src/components/Table/ColumnSettings.tsx +8 -9
  111. package/src/components/Table/DynamicTable.stories.tsx +32 -32
  112. package/src/components/Table/DynamicTable.tsx +32 -33
  113. package/src/components/Table/Relations.stories.tsx +116 -82
  114. package/src/components/Table/RowActionsMenu.tsx +27 -17
  115. package/src/components/Table/Table.stories.tsx +129 -116
  116. package/src/components/Table/Table.tsx +43 -407
  117. package/src/components/Table/TableContent.tsx +426 -0
  118. package/src/components/Table/TableToolbar.tsx +111 -0
  119. package/src/components/TableCellEditor/CellValidationMessage.tsx +5 -6
  120. package/src/components/TableCellEditor/FormCellEditor.tsx +119 -135
  121. package/src/components/TableCellEditor/TableCellEditor.stories.tsx +29 -22
  122. package/src/components/TableCellEditor/TableCellEditor.tsx +35 -33
  123. package/src/components/index.ts +0 -1
  124. package/src/components/testing.ts +38 -17
  125. package/src/hooks/index.ts +2 -1
  126. package/src/hooks/useAddRow.ts +8 -10
  127. package/src/hooks/useProjectionModel.ts +38 -0
  128. package/src/hooks/useTableModel.ts +36 -34
  129. package/src/index.ts +0 -4
  130. package/src/model/modal-controller.ts +23 -12
  131. package/src/model/selection-model.ts +75 -44
  132. package/src/model/table-model.test.ts +77 -55
  133. package/src/model/table-model.ts +437 -171
  134. package/src/model/table-presentation.test.ts +54 -50
  135. package/src/model/table-presentation.ts +44 -40
  136. package/src/playwright/TableManager.ts +13 -6
  137. package/src/playwright/playwright.config.ts +1 -1
  138. package/src/playwright/smoke.spec.ts +59 -13
  139. package/src/testing/useTestTableModel.ts +49 -43
  140. package/src/translations.ts +20 -22
  141. package/src/types/Table.ts +81 -0
  142. package/src/types/index.ts +1 -1
  143. package/src/util/dynamic-table.test.ts +63 -0
  144. package/src/util/dynamic-table.ts +49 -35
  145. package/src/util/index.ts +2 -0
  146. package/src/util/query-ast.ts +22 -0
  147. package/src/util/sort.ts +90 -0
  148. package/src/util/table-buttons.ts +1 -1
  149. package/src/util/table-controls.ts +2 -2
  150. package/dist/lib/browser/chunk-4K7JPALT.mjs +0 -66
  151. package/dist/lib/browser/chunk-4K7JPALT.mjs.map +0 -7
  152. package/dist/lib/browser/chunk-OZTXLZGM.mjs +0 -1804
  153. package/dist/lib/browser/chunk-OZTXLZGM.mjs.map +0 -7
  154. package/dist/lib/node-esm/chunk-MK6OVUF6.mjs +0 -67
  155. package/dist/lib/node-esm/chunk-MK6OVUF6.mjs.map +0 -7
  156. package/dist/lib/node-esm/chunk-S56Z4V4X.mjs +0 -1805
  157. package/dist/lib/node-esm/chunk-S56Z4V4X.mjs.map +0 -7
  158. package/dist/types/src/components/TableToolbar/TableToolbar.d.ts +0 -21
  159. package/dist/types/src/components/TableToolbar/TableToolbar.d.ts.map +0 -1
  160. package/dist/types/src/components/TableToolbar/index.d.ts +0 -2
  161. package/dist/types/src/components/TableToolbar/index.d.ts.map +0 -1
  162. package/dist/types/src/model/table-sorting.d.ts +0 -52
  163. package/dist/types/src/model/table-sorting.d.ts.map +0 -1
  164. package/dist/types/src/types/schema.d.ts +0 -28
  165. package/dist/types/src/types/schema.d.ts.map +0 -1
  166. package/src/components/TableToolbar/TableToolbar.tsx +0 -102
  167. package/src/components/TableToolbar/index.ts +0 -5
  168. package/src/model/table-sorting.ts +0 -225
  169. package/src/types/schema.ts +0 -73
@@ -1 +1 @@
1
- {"inputs":{"src/translations.ts":{"bytes":4073,"imports":[],"format":"esm"},"src/types/schema.ts":{"bytes":7285,"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":10020,"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":13092,"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":23540,"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":73279,"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-client/echo","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":7126,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-presentation.ts":{"bytes":56830,"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":25375,"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":6292,"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":10160,"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/react-client/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":9252,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@effect-rx/rx-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":13143,"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":78372},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-OZTXLZGM.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-4K7JPALT.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-rx/rx-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":6797},"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":1605},"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":2073},"src/components/TableToolbar/index.ts":{"bytesInOutput":0},"src/index.ts":{"bytesInOutput":0}},"bytes":40364},"dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7098},"dist/lib/browser/testing/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-OZTXLZGM.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-4K7JPALT.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":3103},"src/testing/index.ts":{"bytesInOutput":0}},"bytes":3330},"dist/lib/browser/chunk-OZTXLZGM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":111809},"dist/lib/browser/chunk-OZTXLZGM.mjs":{"imports":[{"path":"dist/lib/browser/chunk-4K7JPALT.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-client/echo","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/react-client/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":2132},"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":18752},"src/util/tag.ts":{"bytesInOutput":334},"src/model/selection-model.ts":{"bytesInOutput":3596},"src/model/table-sorting.ts":{"bytesInOutput":4968},"src/model/modal-controller.ts":{"bytesInOutput":1882},"src/model/table-presentation.ts":{"bytesInOutput":14272},"src/model/index.ts":{"bytesInOutput":0},"src/hooks/useTableModel.ts":{"bytesInOutput":2224},"src/hooks/useAddRow.ts":{"bytesInOutput":389},"src/hooks/index.ts":{"bytesInOutput":0}},"bytes":55429},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-4K7JPALT.mjs","kind":"import-statement"}],"exports":["Table"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":131},"dist/lib/browser/chunk-4K7JPALT.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4032},"dist/lib/browser/chunk-4K7JPALT.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":1579},"src/types/index.ts":{"bytesInOutput":0}},"bytes":1844}}}
1
+ {"inputs":{"src/types/Table.ts":{"bytes":8700,"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":422,"imports":[{"path":"src/types/Table.ts","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/util/dynamic-table.ts":{"bytes":11737,"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/query-ast.ts":{"bytes":1827,"imports":[],"format":"esm"},"src/util/signals.ts":{"bytes":782,"imports":[],"format":"esm"},"src/util/sort.ts":{"bytes":8681,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true}],"format":"esm"},"src/util/table-buttons.ts":{"bytes":14443,"imports":[],"format":"esm"},"src/util/table-controls.ts":{"bytes":9056,"imports":[{"path":"@dxos/lit-grid","kind":"import-statement","external":true}],"format":"esm"},"src/util/schema.ts":{"bytes":3972,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true}],"format":"esm"},"src/util/index.ts":{"bytes":934,"imports":[{"path":"src/util/dynamic-table.ts","kind":"import-statement","original":"./dynamic-table"},{"path":"src/util/query-ast.ts","kind":"import-statement","original":"./query-ast"},{"path":"src/util/signals.ts","kind":"import-statement","original":"./signals"},{"path":"src/util/sort.ts","kind":"import-statement","original":"./sort"},{"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":2762,"imports":[],"format":"esm"},"src/model/selection-model.ts":{"bytes":15505,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-model.ts":{"bytes":101513,"imports":[{"path":"@effect-atom/atom-react","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/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","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/sort.ts","kind":"import-statement","original":"../util/sort"},{"path":"src/util/tag.ts","kind":"import-statement","original":"../util/tag"},{"path":"src/model/selection-model.ts","kind":"import-statement","original":"./selection-model"}],"format":"esm"},"src/model/modal-controller.ts":{"bytes":7634,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true}],"format":"esm"},"src/model/table-presentation.ts":{"bytes":56905,"imports":[{"path":"@effect-atom/atom-react","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/schema","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../util"}],"format":"esm"},"src/model/index.ts":{"bytes":685,"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":3944,"imports":[{"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":22592,"imports":[{"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/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":"#translations","kind":"import-statement","external":true},{"path":"src/util/index.ts","kind":"import-statement","original":"../../util"}],"format":"esm"},"src/components/TableCellEditor/TableCellEditor.tsx":{"bytes":27096,"imports":[{"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":471,"imports":[{"path":"src/components/TableCellEditor/TableCellEditor.tsx","kind":"import-statement","original":"./TableCellEditor"}],"format":"esm"},"src/components/Table/ColumnActionsMenu.tsx":{"bytes":8451,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/ColumnSettings.tsx":{"bytes":8520,"imports":[{"path":"@effect-atom/atom-react","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":6866,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/TableContent.tsx":{"bytes":49753,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/String","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui","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/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"},{"path":"src/components/Table/Table.tsx","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/components/Table/TableToolbar.tsx":{"bytes":10827,"imports":[{"path":"@effect-atom/atom-react","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-menu","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true}],"format":"esm"},"src/components/Table/Table.tsx":{"bytes":5977,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"src/components/Table/TableContent.tsx","kind":"import-statement","original":"./TableContent"},{"path":"src/components/Table/TableToolbar.tsx","kind":"import-statement","original":"./TableToolbar"}],"format":"esm"},"src/hooks/useAddRow.ts":{"bytes":2809,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useProjectionModel.ts":{"bytes":4251,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/hooks/useTableModel.ts":{"bytes":9125,"imports":[{"path":"@effect-atom/atom-react","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":596,"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":11080,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/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":469,"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/index.ts":{"bytes":369,"imports":[{"path":"src/components/Table/index.ts","kind":"import-statement","original":"./Table"}],"format":"esm"},"src/index.ts":{"bytes":620,"imports":[{"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":13071,"imports":[{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","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/react-ui-search","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":401,"imports":[{"path":"src/testing/useTestTableModel.ts","kind":"import-statement","original":"./useTestTableModel"}],"format":"esm"},"src/translations.ts":{"bytes":3793,"imports":[],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":89588},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-KC62K4WS.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VWQWF3CP.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"effect/String","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/react-ui","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/ui-theme","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","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":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","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/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":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","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":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","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-menu","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","kind":"import-statement","external":true}],"exports":["BUTTON_IDENTIFIERS","CONTROL_IDENTIFIERS","CheckboxStory","DynamicTable","ModalController","SwitchStory","Table","TableModel","TablePresentation","cellClassesForRowSelection","compareValues","createDirectChangeCallback","createEchoChangeCallback","extractOrder","getBaseSchema","getSortValue","makeDynamicTable","narrowSchema","tableButtons","tableControls","touch","useAddRow","useProjectionModel","useTableContext","useTableModel"],"entryPoint":"src/index.ts","inputs":{"src/components/Table/Table.tsx":{"bytesInOutput":914},"src/components/Table/TableContent.tsx":{"bytesInOutput":11411},"src/util/dynamic-table.ts":{"bytesInOutput":2332},"src/util/signals.ts":{"bytesInOutput":30},"src/util/schema.ts":{"bytesInOutput":498},"src/model/modal-controller.ts":{"bytesInOutput":1549},"src/components/TableCellEditor/TableCellEditor.tsx":{"bytesInOutput":6708},"src/components/TableCellEditor/CellValidationMessage.tsx":{"bytesInOutput":909},"src/components/TableCellEditor/FormCellEditor.tsx":{"bytesInOutput":5537},"src/components/Table/ColumnActionsMenu.tsx":{"bytesInOutput":2240},"src/components/Table/ColumnSettings.tsx":{"bytesInOutput":2240},"src/components/Table/RowActionsMenu.tsx":{"bytesInOutput":1773},"src/components/Table/TableToolbar.tsx":{"bytesInOutput":2511},"src/components/Table/DynamicTable.tsx":{"bytesInOutput":2208},"src/index.ts":{"bytesInOutput":0}},"bytes":42534},"dist/lib/browser/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7265},"dist/lib/browser/testing/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-KC62K4WS.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-VWQWF3CP.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","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/react-ui-search","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":2790},"src/testing/index.ts":{"bytesInOutput":0}},"bytes":3096},"dist/lib/browser/chunk-KC62K4WS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":109919},"dist/lib/browser/chunk-KC62K4WS.mjs":{"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/lit-grid","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","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/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","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/schema","kind":"import-statement","external":true},{"path":"@dxos/ui-theme","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/react-ui","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@effect-atom/atom-react","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","SwitchStory","TableModel","TablePresentation","cellClassesForRowSelection","compareValues","createDirectChangeCallback","createEchoChangeCallback","extractOrder","getSortValue","tableButtons","tableControls","useAddRow","useProjectionModel","useTableModel"],"inputs":{"src/util/query-ast.ts":{"bytesInOutput":282},"src/util/sort.ts":{"bytesInOutput":1644},"src/util/table-buttons.ts":{"bytesInOutput":3497},"src/util/table-controls.ts":{"bytesInOutput":2023},"src/model/table-model.ts":{"bytesInOutput":23659},"src/util/tag.ts":{"bytesInOutput":334},"src/model/selection-model.ts":{"bytesInOutput":3552},"src/model/table-presentation.ts":{"bytesInOutput":13940},"src/hooks/useAddRow.ts":{"bytesInOutput":374},"src/hooks/useProjectionModel.ts":{"bytesInOutput":874},"src/hooks/useTableModel.ts":{"bytesInOutput":1939}},"bytes":52856},"dist/lib/browser/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1772},"dist/lib/browser/translations.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["translationKey","translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":1109}},"bytes":1251},"dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/types/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-VWQWF3CP.mjs","kind":"import-statement"},{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["Table"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":161},"dist/lib/browser/chunk-VWQWF3CP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4499},"dist/lib/browser/chunk-VWQWF3CP.mjs":{"imports":[{"path":"dist/lib/browser/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"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":1771},"src/types/index.ts":{"bytesInOutput":0}},"bytes":1918},"dist/lib/browser/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/browser/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
@@ -1,53 +1,44 @@
1
1
  import {
2
2
  TablePresentation,
3
3
  useAddRow,
4
+ useProjectionModel,
4
5
  useTableModel
5
- } from "../chunk-OZTXLZGM.mjs";
6
- import "../chunk-4K7JPALT.mjs";
6
+ } from "../chunk-KC62K4WS.mjs";
7
+ import {
8
+ Table_exports
9
+ } from "../chunk-VWQWF3CP.mjs";
10
+ import "../chunk-J5LGTIGS.mjs";
7
11
 
8
12
  // src/testing/useTestTableModel.ts
9
- import { useCallback, useMemo, useRef } from "react";
10
- import { isMutable, toJsonSchema } from "@dxos/echo/internal";
11
- import { useGlobalFilteredObjects } from "@dxos/plugin-search";
12
- import { faker } from "@dxos/random";
13
- import { useClient } from "@dxos/react-client";
14
- import { Filter, useQuery, useSchema } from "@dxos/react-client/echo";
15
- import { useClientProvider } from "@dxos/react-client/testing";
16
- import { DataType, ProjectionModel, getTypenameFromQuery } from "@dxos/schema";
17
- faker.seed(0);
13
+ import { RegistryContext } from "@effect-atom/atom-react";
14
+ import { useCallback, useContext, useMemo, useRef } from "react";
15
+ import { Filter, Type } from "@dxos/echo";
16
+ import { random } from "@dxos/random";
17
+ import { useQuery, useType } from "@dxos/react-client/echo";
18
+ import { useClientStory } from "@dxos/react-client/testing";
19
+ import { useGlobalFilteredObjects } from "@dxos/react-ui-search";
20
+ import { getTypenameFromQuery } from "@dxos/schema";
21
+ random.seed(0);
18
22
  var useTestTableModel = () => {
19
- const client = useClient();
20
- const { space } = useClientProvider();
21
- const views = useQuery(space, Filter.type(DataType.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
- ]);
23
+ const registry = useContext(RegistryContext);
24
+ const { space } = useClientStory();
25
+ const db = space?.db;
26
+ const tables = useQuery(space?.db, Filter.type(Table_exports.Table));
27
+ const table = tables.at(0);
28
+ const typename = table?.view.target?.query ? getTypenameFromQuery(table.view.target.query.ast) : void 0;
29
+ const schema = useType(space?.db, typename);
30
+ const projection = useProjectionModel(schema, table, registry);
40
31
  const features = useMemo(() => ({
41
32
  selection: {
42
33
  enabled: true,
43
34
  mode: "multiple"
44
35
  },
45
36
  dataEditable: true,
46
- schemaEditable: schema && isMutable(schema)
37
+ schemaEditable: schema != null && Type.getDatabase(schema) != null
47
38
  }), [
48
39
  schema
49
40
  ]);
50
- const objects = useQuery(space, schema ? Filter.type(schema) : Filter.nothing());
41
+ const objects = useQuery(db, schema ? Filter.type(schema) : Filter.nothing());
51
42
  const filteredObjects = useGlobalFilteredObjects(objects);
52
43
  const tableRef = useRef(null);
53
44
  const handleCellUpdate = useCallback((cell) => {
@@ -57,15 +48,15 @@ var useTestTableModel = () => {
57
48
  tableRef.current?.update?.();
58
49
  }, []);
59
50
  const addRow = useAddRow({
60
- space,
51
+ db,
61
52
  schema
62
53
  });
63
54
  const handleDeleteRows = useCallback((_, objects2) => {
64
55
  for (const object of objects2) {
65
- space?.db.remove(object);
56
+ db?.remove(object);
66
57
  }
67
58
  }, [
68
- space
59
+ db
69
60
  ]);
70
61
  const handleDeleteColumn = useCallback((fieldId) => {
71
62
  if (projection) {
@@ -75,14 +66,13 @@ var useTestTableModel = () => {
75
66
  projection
76
67
  ]);
77
68
  const model = useTableModel({
78
- view,
79
- schema: jsonSchema,
69
+ object: table,
80
70
  projection,
81
71
  features,
82
72
  rows: filteredObjects,
83
73
  onInsertRow: addRow,
84
74
  onDeleteRows: handleDeleteRows,
85
- onDeleteColumn: handleDeleteColumn,
75
+ onColumnDelete: handleDeleteColumn,
86
76
  onCellUpdate: handleCellUpdate,
87
77
  onRowOrderChange: handleRowOrderChange
88
78
  });
@@ -90,8 +80,7 @@ var useTestTableModel = () => {
90
80
  const insertResult = model?.insertRow();
91
81
  tableRef.current?.handleInsertRowResult?.(insertResult);
92
82
  }, [
93
- model,
94
- tableRef.current
83
+ model
95
84
  ]);
96
85
  const handleSaveView = useCallback(() => {
97
86
  model?.saveView();
@@ -100,20 +89,20 @@ var useTestTableModel = () => {
100
89
  ]);
101
90
  const presentation = useMemo(() => {
102
91
  if (model) {
103
- return new TablePresentation(model);
92
+ return new TablePresentation(registry, model);
104
93
  }
105
94
  }, [
95
+ registry,
106
96
  model
107
97
  ]);
108
98
  return {
109
99
  schema,
110
- view,
100
+ table,
111
101
  projection,
112
102
  tableRef,
113
103
  model,
114
104
  presentation,
115
- space,
116
- client,
105
+ db,
117
106
  handleInsertRow,
118
107
  handleSaveView,
119
108
  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 { DataType, ProjectionModel, 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(DataType.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,UAAUC,iBAAiBC,4BAA4B;AAMhEC,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,SAASC,IAAI,CAAA;AACvD,QAAMC,OAAOC,QAAQ,MAAMP,MAAMQ,GAAG,CAAA,GAAI;IAACR;GAAM;AAC/C,QAAMS,WAAWH,MAAMI,QAAQC,qBAAqBL,KAAKI,MAAME,GAAG,IAAIC;AACtE,QAAMC,SAASC,UAAUnB,QAAQE,OAAOW,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,UAAU3B,SAASH,OAAOgB,SAASZ,OAAOC,KAAKW,MAAAA,IAAUZ,OAAO2B,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;IAAE3C;IAAOgB;EAAO,CAAA;AAEzC,QAAM4B,mBAAmBP,YACvB,CAACQ,GAAWf,aAAAA;AACV,eAAWgB,UAAUhB,UAAS;AAC5B9B,aAAO+C,GAAGC,OAAOF,MAAAA;IACnB;EACF,GACA;IAAC9C;GAAM;AAGT,QAAMiD,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;IACAlE;IACAF;IACA8D;IACAI;IACApB;IACAK;EACF;AACF;",
6
- "names": ["useCallback", "useMemo", "useRef", "isMutable", "toJsonSchema", "useGlobalFilteredObjects", "faker", "useClient", "Filter", "useQuery", "useSchema", "useClientProvider", "DataType", "ProjectionModel", "getTypenameFromQuery", "faker", "seed", "useTestTableModel", "client", "useClient", "space", "useClientProvider", "views", "useQuery", "Filter", "type", "DataType", "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 { RegistryContext } from '@effect-atom/atom-react';\nimport { type RefObject, useCallback, useContext, useMemo, useRef } from 'react';\n\nimport { type Database, Filter, Type } from '@dxos/echo';\nimport { random } from '@dxos/random';\nimport { useQuery, useType } from '@dxos/react-client/echo';\nimport { useClientStory } from '@dxos/react-client/testing';\nimport { useGlobalFilteredObjects } from '@dxos/react-ui-search';\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\nrandom.seed(0); // NOTE(ZaymonFC): Required for smoke tests.\n\nexport type TestTableModel<T extends Type.AnyObj = Type.AnyObj> = {\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 db: Database.Database | 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.AnyObj = Type.AnyObj>(): TestTableModel<T> => {\n const registry = useContext(RegistryContext);\n const { space } = useClientStory();\n const db = space?.db;\n\n const tables = useQuery(space?.db, 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 = useType<T>(space?.db, typename);\n const projection = useProjectionModel(schema, table, registry);\n\n const features = useMemo(\n () => ({\n selection: { enabled: true, mode: 'multiple' as const },\n dataEditable: true,\n schemaEditable: schema != null && Type.getDatabase(schema) != null,\n }),\n [schema],\n );\n\n const objects = useQuery(db, 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({ db, schema });\n\n const handleDeleteRows = useCallback(\n (_: number, objects: any[]) => {\n for (const object of objects) {\n db?.remove(object);\n }\n },\n [db],\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 onColumnDelete: 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(registry, model);\n }\n }, [registry, model]);\n\n return {\n schema,\n table,\n projection,\n tableRef,\n model,\n presentation,\n db,\n handleInsertRow,\n handleSaveView,\n handleDeleteRows,\n handleDeleteColumn,\n };\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;AAIA,SAASA,uBAAuB;AAChC,SAAyBC,aAAaC,YAAYC,SAASC,cAAc;AAEzE,SAAwBC,QAAQC,YAAY;AAC5C,SAASC,cAAc;AACvB,SAASC,UAAUC,eAAe;AAClC,SAASC,sBAAsB;AAC/B,SAASC,gCAAgC;AACzC,SAA+BC,4BAA4B;AAO3DC,OAAOC,KAAK,CAAA;AAoBL,IAAMC,oBAAoB,MAAA;AAC/B,QAAMC,WAAWC,WAAWC,eAAAA;AAC5B,QAAM,EAAEC,MAAK,IAAKC,eAAAA;AAClB,QAAMC,KAAKF,OAAOE;AAElB,QAAMC,SAASC,SAASJ,OAAOE,IAAIG,OAAOC,KAAKC,cAAMA,KAAK,CAAA;AAC1D,QAAMC,QAAQL,OAAOM,GAAG,CAAA;AACxB,QAAMC,WAAWF,OAAOG,KAAKC,QAAQC,QAAQC,qBAAqBN,MAAMG,KAAKC,OAAOC,MAAME,GAAG,IAAIC;AACjG,QAAMC,SAASC,QAAWlB,OAAOE,IAAIQ,QAAAA;AACrC,QAAMS,aAAaC,mBAAmBH,QAAQT,OAAOX,QAAAA;AAErD,QAAMwB,WAAWC,QACf,OAAO;IACLC,WAAW;MAAEC,SAAS;MAAMC,MAAM;IAAoB;IACtDC,cAAc;IACdC,gBAAgBV,UAAU,QAAQW,KAAKC,YAAYZ,MAAAA,KAAW;EAChE,IACA;IAACA;GAAO;AAGV,QAAMa,UAAU1B,SAASF,IAAIe,SAASZ,OAAOC,KAAKW,MAAAA,IAAUZ,OAAO0B,QAAO,CAAA;AAC1E,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;IAAIe;EAAO,CAAA;AAEtC,QAAM2B,mBAAmBP,YACvB,CAACQ,GAAWf,aAAAA;AACV,eAAWgB,UAAUhB,UAAS;AAC5B5B,UAAI6C,OAAOD,MAAAA;IACb;EACF,GACA;IAAC5C;GAAG;AAGN,QAAM8C,qBAAqBX,YACzB,CAACY,YAAAA;AACC,QAAI9B,YAAY;AACdA,iBAAW+B,sBAAsBD,OAAAA;IACnC;EACF,GACA;IAAC9B;GAAW;AAGd,QAAMgC,QAAQC,cAAc;IAC1BN,QAAQtC;IACRW;IACAE;IACAgC,MAAMrB;IACNsB,aAAaZ;IACba,cAAcX;IACdY,gBAAgBR;IAChBS,cAAcrB;IACdsB,kBAAkBjB;EACpB,CAAA;AAEA,QAAMkB,kBAAkBtB,YAAY,MAAA;AAClC,UAAMuB,eAAeT,OAAOU,UAAAA;AAC5B3B,aAASK,SAASuB,wBAAwBF,YAAAA;EAC5C,GAAG;IAACT;GAAM;AAEV,QAAMY,iBAAiB1B,YAAY,MAAA;AACjCc,WAAOa,SAAAA;EACT,GAAG;IAACb;GAAM;AAEV,QAAMc,eAAe3C,QAAQ,MAAA;AAC3B,QAAI6B,OAAO;AACT,aAAO,IAAIe,kBAAkBrE,UAAUsD,KAAAA;IACzC;EACF,GAAG;IAACtD;IAAUsD;GAAM;AAEpB,SAAO;IACLlC;IACAT;IACAW;IACAe;IACAiB;IACAc;IACA/D;IACAyD;IACAI;IACAnB;IACAI;EACF;AACF;",
6
+ "names": ["RegistryContext", "useCallback", "useContext", "useMemo", "useRef", "Filter", "Type", "random", "useQuery", "useType", "useClientStory", "useGlobalFilteredObjects", "getTypenameFromQuery", "random", "seed", "useTestTableModel", "registry", "useContext", "RegistryContext", "space", "useClientStory", "db", "tables", "useQuery", "Filter", "type", "Table", "table", "at", "typename", "view", "target", "query", "getTypenameFromQuery", "ast", "undefined", "schema", "useType", "projection", "useProjectionModel", "features", "useMemo", "selection", "enabled", "mode", "dataEditable", "schemaEditable", "Type", "getDatabase", "objects", "nothing", "filteredObjects", "useGlobalFilteredObjects", "tableRef", "useRef", "handleCellUpdate", "useCallback", "cell", "current", "update", "handleRowOrderChange", "addRow", "useAddRow", "handleDeleteRows", "_", "object", "remove", "handleDeleteColumn", "fieldId", "deleteFieldProjection", "model", "useTableModel", "rows", "onInsertRow", "onDeleteRows", "onColumnDelete", "onCellUpdate", "onRowOrderChange", "handleInsertRow", "insertResult", "insertRow", "handleInsertRowResult", "handleSaveView", "saveView", "presentation", "TablePresentation"]
7
7
  }
@@ -0,0 +1,36 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/translations.ts
4
+ var translationKey = "@dxos/react-ui-table";
5
+ var translations = [
6
+ {
7
+ "en-US": {
8
+ [translationKey]: {
9
+ "object.placeholder": "New table",
10
+ "create-object.label": "Create table",
11
+ "table-name.placeholder": "Table name",
12
+ "settings.title": "Table settings",
13
+ "table-schema.label": "Type",
14
+ "continue.label": "Continue",
15
+ "create-stack-section.label": "Create table",
16
+ "add-row.label": "Add row",
17
+ "column-action-sort-descending.menu": "Sort Descending",
18
+ "column-action-sort-ascending.menu": "Sort Ascending",
19
+ "column-action-clear-sorting.menu": "Clear Sorting",
20
+ "column-action-settings.menu": "Column Settings",
21
+ "column-action-delete.menu": "Delete Column",
22
+ "delete-row.label": "Delete row",
23
+ "bulk-delete-row.label": "Delete selected rows",
24
+ "column-deleted.label": "Column deleted",
25
+ "new-column-button.label": "Create column",
26
+ "create-new-object.label": "Create new object \u201C{{text}}\u201D",
27
+ "save-view.label": "Save changes to view"
28
+ }
29
+ }
30
+ }
31
+ ];
32
+ export {
33
+ translationKey,
34
+ translations
35
+ };
36
+ //# sourceMappingURL=translations.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nexport const translationKey = '@dxos/react-ui-table';\n\nexport const translations = [\n {\n 'en-US': {\n [translationKey]: {\n 'object.placeholder': 'New table',\n 'create-object.label': 'Create table',\n 'table-name.placeholder': 'Table name',\n 'settings.title': 'Table settings',\n 'table-schema.label': 'Type',\n 'continue.label': 'Continue',\n 'create-stack-section.label': 'Create table',\n 'add-row.label': 'Add row',\n 'column-action-sort-descending.menu': 'Sort Descending',\n 'column-action-sort-ascending.menu': 'Sort Ascending',\n 'column-action-clear-sorting.menu': 'Clear Sorting',\n 'column-action-settings.menu': 'Column Settings',\n 'column-action-delete.menu': 'Delete Column',\n 'delete-row.label': 'Delete row',\n 'bulk-delete-row.label': 'Delete selected rows',\n 'column-deleted.label': 'Column deleted',\n 'new-column-button.label': 'Create column',\n 'create-new-object.label': 'Create new object “{{text}}”',\n 'save-view.label': 'Save changes to view',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": ";;;AAMO,IAAMA,iBAAiB;AAEvB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACD,cAAAA,GAAiB;QAChB,sBAAsB;QACtB,uBAAuB;QACvB,0BAA0B;QAC1B,kBAAkB;QAClB,sBAAsB;QACtB,kBAAkB;QAClB,8BAA8B;QAC9B,iBAAiB;QACjB,sCAAsC;QACtC,qCAAqC;QACrC,oCAAoC;QACpC,+BAA+B;QAC/B,6BAA6B;QAC7B,oBAAoB;QACpB,yBAAyB;QACzB,wBAAwB;QACxB,2BAA2B;QAC3B,2BAA2B;QAC3B,mBAAmB;MACrB;IACF;EACF;;",
6
+ "names": ["translationKey", "translations"]
7
+ }
@@ -1,7 +1,8 @@
1
1
  import {
2
- schema_exports
3
- } from "../chunk-4K7JPALT.mjs";
2
+ Table_exports
3
+ } from "../chunk-VWQWF3CP.mjs";
4
+ import "../chunk-J5LGTIGS.mjs";
4
5
  export {
5
- schema_exports as Table
6
+ Table_exports as Table
6
7
  };
7
8
  //# sourceMappingURL=index.mjs.map