@dxos/plugin-sheet 0.8.3 → 0.8.4-main.2e9d522

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 (121) hide show
  1. package/dist/lib/browser/{SheetContainer-BDZXBB5U.mjs → SheetContainer-KDGD4AVG.mjs} +14 -14
  2. package/dist/lib/browser/{anchor-sort-NYYZLRAA.mjs → anchor-sort-VHURGBOY.mjs} +4 -4
  3. package/dist/lib/browser/{chunk-D3G4UGEK.mjs → chunk-6AKBCBL4.mjs} +2 -2
  4. package/dist/lib/browser/{chunk-FJRLDX7Z.mjs → chunk-7HQX4NQP.mjs} +3 -3
  5. package/dist/lib/browser/{chunk-5TA43LO4.mjs → chunk-JUOVL3LE.mjs} +15 -15
  6. package/dist/lib/browser/{chunk-5TA43LO4.mjs.map → chunk-JUOVL3LE.mjs.map} +2 -2
  7. package/dist/lib/browser/{chunk-IR42IS3F.mjs → chunk-KJWZUQVA.mjs} +3 -3
  8. package/dist/lib/browser/{chunk-I7FZ4TWJ.mjs → chunk-SI4X5GUR.mjs} +11 -11
  9. package/dist/lib/browser/chunk-SI4X5GUR.mjs.map +7 -0
  10. package/dist/lib/browser/{compute-graph-registry-IXGGJJBU.mjs → compute-graph-registry-VG7VP7IV.mjs} +4 -4
  11. package/dist/lib/browser/index.mjs +20 -19
  12. package/dist/lib/browser/index.mjs.map +3 -3
  13. package/dist/lib/browser/{intent-resolver-IBBI6B74.mjs → intent-resolver-WOJGZMSV.mjs} +4 -4
  14. package/dist/lib/browser/{markdown-T4TUP4BF.mjs → markdown-VXMIPUQC.mjs} +5 -5
  15. package/dist/lib/browser/meta.json +1 -1
  16. package/dist/lib/browser/{react-surface-UI46P43F.mjs → react-surface-SE4HGAEH.mjs} +7 -7
  17. package/dist/lib/browser/types/index.mjs +2 -2
  18. package/dist/lib/node-esm/{SheetContainer-V632Q4HA.mjs → SheetContainer-RMG24NZC.mjs} +14 -14
  19. package/dist/lib/node-esm/{anchor-sort-JTNZOE67.mjs → anchor-sort-CTJGOPET.mjs} +4 -4
  20. package/dist/lib/node-esm/{chunk-Y6ND5HWX.mjs → chunk-3K5VNYOF.mjs} +2 -2
  21. package/dist/lib/node-esm/{chunk-IQ76YE6M.mjs → chunk-6SK5LJ5S.mjs} +3 -3
  22. package/dist/lib/node-esm/{chunk-C4IKYVTV.mjs → chunk-CADTJFAS.mjs} +11 -11
  23. package/dist/lib/node-esm/chunk-CADTJFAS.mjs.map +7 -0
  24. package/dist/lib/node-esm/{chunk-SOC52B67.mjs → chunk-IFMIRCZH.mjs} +15 -15
  25. package/dist/lib/node-esm/{chunk-SOC52B67.mjs.map → chunk-IFMIRCZH.mjs.map} +2 -2
  26. package/dist/lib/node-esm/{chunk-NMCVJWDT.mjs → chunk-Q6UYC4G5.mjs} +3 -3
  27. package/dist/lib/node-esm/{compute-graph-registry-7PDWXMHF.mjs → compute-graph-registry-3K3Q2A5T.mjs} +4 -4
  28. package/dist/lib/node-esm/index.mjs +20 -19
  29. package/dist/lib/node-esm/index.mjs.map +3 -3
  30. package/dist/lib/node-esm/{intent-resolver-M2HNR7PJ.mjs → intent-resolver-PZRXBNIJ.mjs} +4 -4
  31. package/dist/lib/node-esm/{markdown-WWUJ3E5F.mjs → markdown-4VPQJZNZ.mjs} +5 -5
  32. package/dist/lib/node-esm/meta.json +1 -1
  33. package/dist/lib/node-esm/{react-surface-OLXO2MVB.mjs → react-surface-LAU23XBH.mjs} +7 -7
  34. package/dist/lib/node-esm/types/index.mjs +2 -2
  35. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts +1 -1
  36. package/dist/types/src/components/ComputeGraph/compute-graph.stories.d.ts.map +1 -1
  37. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts +1 -1
  38. package/dist/types/src/components/GridSheet/GridSheet.stories.d.ts.map +1 -1
  39. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts +1 -1
  40. package/dist/types/src/components/GridSheet/SheetCellEditor.stories.d.ts.map +1 -1
  41. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts +1 -1
  42. package/dist/types/src/components/SheetContainer/SheetContainer.stories.d.ts.map +1 -1
  43. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts +1 -1
  44. package/dist/types/src/components/SheetToolbar/SheetToolbar.stories.d.ts.map +1 -1
  45. package/dist/types/src/extensions/compute.stories.d.ts +1 -1
  46. package/dist/types/src/extensions/compute.stories.d.ts.map +1 -1
  47. package/dist/types/src/integrations/thread-ranges.d.ts.map +1 -1
  48. package/dist/types/src/playwright/playwright.config.d.ts +3 -0
  49. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
  50. package/dist/types/src/playwright/sheet-manager.d.ts.map +1 -0
  51. package/dist/types/src/playwright/sheet.spec.d.ts.map +1 -0
  52. package/dist/types/src/translations.d.ts +7 -62
  53. package/dist/types/src/translations.d.ts.map +1 -1
  54. package/dist/types/src/types/schema.d.ts.map +1 -1
  55. package/dist/types/tsconfig.tsbuildinfo +1 -1
  56. package/package.json +52 -52
  57. package/src/SheetPlugin.tsx +1 -1
  58. package/src/components/ComputeGraph/compute-graph.stories.tsx +1 -1
  59. package/src/components/GridSheet/GridSheet.stories.tsx +2 -2
  60. package/src/components/GridSheet/SheetCellEditor.stories.tsx +1 -1
  61. package/src/components/SheetContainer/SheetContainer.stories.tsx +2 -2
  62. package/src/components/SheetToolbar/SheetToolbar.stories.tsx +2 -2
  63. package/src/extensions/compute.stories.tsx +1 -1
  64. package/src/integrations/thread-ranges.ts +3 -2
  65. package/src/playwright/playwright.config.ts +17 -0
  66. package/src/{testing/playwright → playwright}/sheet.spec.ts +1 -1
  67. package/src/translations.ts +8 -6
  68. package/src/types/schema.ts +1 -0
  69. package/dist/lib/browser/chunk-I7FZ4TWJ.mjs.map +0 -7
  70. package/dist/lib/node/SheetContainer-VWPM3HYJ.cjs +0 -351
  71. package/dist/lib/node/SheetContainer-VWPM3HYJ.cjs.map +0 -7
  72. package/dist/lib/node/anchor-sort-A7NABMJM.cjs +0 -39
  73. package/dist/lib/node/anchor-sort-A7NABMJM.cjs.map +0 -7
  74. package/dist/lib/node/chunk-FIM6EZ6M.cjs +0 -256
  75. package/dist/lib/node/chunk-FIM6EZ6M.cjs.map +0 -7
  76. package/dist/lib/node/chunk-JSIDCZHB.cjs +0 -41
  77. package/dist/lib/node/chunk-JSIDCZHB.cjs.map +0 -7
  78. package/dist/lib/node/chunk-LJWWS53Z.cjs +0 -34
  79. package/dist/lib/node/chunk-LJWWS53Z.cjs.map +0 -7
  80. package/dist/lib/node/chunk-N7FSEUIN.cjs +0 -927
  81. package/dist/lib/node/chunk-N7FSEUIN.cjs.map +0 -7
  82. package/dist/lib/node/chunk-ST3WA73J.cjs +0 -855
  83. package/dist/lib/node/chunk-ST3WA73J.cjs.map +0 -7
  84. package/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs +0 -56
  85. package/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs.map +0 -7
  86. package/dist/lib/node/index.cjs +0 -173
  87. package/dist/lib/node/index.cjs.map +0 -7
  88. package/dist/lib/node/intent-resolver-2657YDOU.cjs +0 -69
  89. package/dist/lib/node/intent-resolver-2657YDOU.cjs.map +0 -7
  90. package/dist/lib/node/markdown-DBPOAYI7.cjs +0 -40
  91. package/dist/lib/node/markdown-DBPOAYI7.cjs.map +0 -7
  92. package/dist/lib/node/meta.json +0 -1
  93. package/dist/lib/node/react-surface-XQEIRKWU.cjs +0 -71
  94. package/dist/lib/node/react-surface-XQEIRKWU.cjs.map +0 -7
  95. package/dist/lib/node/types/index.cjs +0 -84
  96. package/dist/lib/node/types/index.cjs.map +0 -7
  97. package/dist/lib/node-esm/chunk-C4IKYVTV.mjs.map +0 -7
  98. package/dist/types/src/testing/playwright/sheet-manager.d.ts.map +0 -1
  99. package/dist/types/src/testing/playwright/sheet.spec.d.ts.map +0 -1
  100. package/src/testing/playwright/playwright.config.cts +0 -18
  101. /package/dist/lib/browser/{SheetContainer-BDZXBB5U.mjs.map → SheetContainer-KDGD4AVG.mjs.map} +0 -0
  102. /package/dist/lib/browser/{anchor-sort-NYYZLRAA.mjs.map → anchor-sort-VHURGBOY.mjs.map} +0 -0
  103. /package/dist/lib/browser/{chunk-D3G4UGEK.mjs.map → chunk-6AKBCBL4.mjs.map} +0 -0
  104. /package/dist/lib/browser/{chunk-FJRLDX7Z.mjs.map → chunk-7HQX4NQP.mjs.map} +0 -0
  105. /package/dist/lib/browser/{chunk-IR42IS3F.mjs.map → chunk-KJWZUQVA.mjs.map} +0 -0
  106. /package/dist/lib/browser/{compute-graph-registry-IXGGJJBU.mjs.map → compute-graph-registry-VG7VP7IV.mjs.map} +0 -0
  107. /package/dist/lib/browser/{intent-resolver-IBBI6B74.mjs.map → intent-resolver-WOJGZMSV.mjs.map} +0 -0
  108. /package/dist/lib/browser/{markdown-T4TUP4BF.mjs.map → markdown-VXMIPUQC.mjs.map} +0 -0
  109. /package/dist/lib/browser/{react-surface-UI46P43F.mjs.map → react-surface-SE4HGAEH.mjs.map} +0 -0
  110. /package/dist/lib/node-esm/{SheetContainer-V632Q4HA.mjs.map → SheetContainer-RMG24NZC.mjs.map} +0 -0
  111. /package/dist/lib/node-esm/{anchor-sort-JTNZOE67.mjs.map → anchor-sort-CTJGOPET.mjs.map} +0 -0
  112. /package/dist/lib/node-esm/{chunk-Y6ND5HWX.mjs.map → chunk-3K5VNYOF.mjs.map} +0 -0
  113. /package/dist/lib/node-esm/{chunk-IQ76YE6M.mjs.map → chunk-6SK5LJ5S.mjs.map} +0 -0
  114. /package/dist/lib/node-esm/{chunk-NMCVJWDT.mjs.map → chunk-Q6UYC4G5.mjs.map} +0 -0
  115. /package/dist/lib/node-esm/{compute-graph-registry-7PDWXMHF.mjs.map → compute-graph-registry-3K3Q2A5T.mjs.map} +0 -0
  116. /package/dist/lib/node-esm/{intent-resolver-M2HNR7PJ.mjs.map → intent-resolver-PZRXBNIJ.mjs.map} +0 -0
  117. /package/dist/lib/node-esm/{markdown-WWUJ3E5F.mjs.map → markdown-4VPQJZNZ.mjs.map} +0 -0
  118. /package/dist/lib/node-esm/{react-surface-OLXO2MVB.mjs.map → react-surface-LAU23XBH.mjs.map} +0 -0
  119. /package/dist/types/src/{testing/playwright → playwright}/sheet-manager.d.ts +0 -0
  120. /package/dist/types/src/{testing/playwright → playwright}/sheet.spec.d.ts +0 -0
  121. /package/src/{testing/playwright → playwright}/sheet-manager.ts +0 -0
@@ -1 +0,0 @@
1
- {"inputs":{"packages/plugins/plugin-sheet/src/meta.ts":{"bytes":2221,"imports":[],"format":"esm"},"packages/plugins/plugin-sheet/src/capabilities/capabilities.ts":{"bytes":1473,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-sheet/src/types/schema.ts":{"bytes":6707,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/types/sheet-range-types.ts":{"bytes":3737,"imports":[],"format":"esm"},"packages/plugins/plugin-sheet/src/model/sheet-model.ts":{"bytes":57931,"imports":[{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/useSheetModel.ts":{"bytes":3041,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"packages/plugins/plugin-sheet/src/model/index.ts":{"bytes":587,"imports":[{"path":"packages/plugins/plugin-sheet/src/model/sheet-model.ts","kind":"import-statement","original":"./sheet-model"},{"path":"packages/plugins/plugin-sheet/src/model/useSheetModel.ts","kind":"import-statement","original":"./useSheetModel"}],"format":"esm"},"packages/plugins/plugin-sheet/src/types/types.ts":{"bytes":7320,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../model"}],"format":"esm"},"packages/plugins/plugin-sheet/src/types/util.ts":{"bytes":16392,"imports":[{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/types/index.ts":{"bytes":743,"imports":[{"path":"packages/plugins/plugin-sheet/src/types/schema.ts","kind":"import-statement","original":"./schema"},{"path":"packages/plugins/plugin-sheet/src/types/sheet-range-types.ts","kind":"import-statement","original":"./sheet-range-types"},{"path":"packages/plugins/plugin-sheet/src/types/types.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/plugin-sheet/src/types/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/plugin-sheet/src/capabilities/anchor-sort.ts":{"bytes":2642,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/capabilities/compute-graph-registry.ts":{"bytes":4369,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"@dxos/compute","kind":"dynamic-import","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/capabilities/intent-resolver.ts":{"bytes":5455,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/compute.ts":{"bytes":17706,"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/editor/extension.ts":{"bytes":28538,"imports":[{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"codemirror-lang-spreadsheet","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/editor/index.ts":{"bytes":492,"imports":[{"path":"packages/plugins/plugin-sheet/src/extensions/editor/extension.ts","kind":"import-statement","original":"./extension"}],"format":"esm"},"packages/plugins/plugin-sheet/src/extensions/index.ts":{"bytes":561,"imports":[{"path":"packages/plugins/plugin-sheet/src/extensions/compute.ts","kind":"import-statement","original":"./compute"},{"path":"packages/plugins/plugin-sheet/src/extensions/editor/index.ts","kind":"import-statement","original":"./editor"}],"format":"esm"},"packages/plugins/plugin-sheet/src/capabilities/markdown.ts":{"bytes":2961,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-sheet/src/extensions/index.ts","kind":"import-statement","original":"../extensions"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/ComputeGraph/ComputeGraphContextProvider.tsx":{"bytes":4236,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts":{"bytes":540,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/ComputeGraphContextProvider.tsx","kind":"import-statement","original":"./ComputeGraphContextProvider"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/GridSheet/util.ts":{"bytes":21636,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/compute","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/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts":{"bytes":15158,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-thread/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/plugin-sheet/src/integrations/index.ts":{"bytes":499,"imports":[{"path":"packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts","kind":"import-statement","original":"./thread-ranges"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx":{"bytes":10975,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/model/index.ts","kind":"import-statement","original":"../../model"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts":{"bytes":505,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx","kind":"import-statement","original":"./SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx":{"bytes":46626,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/lit-grid","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":"packages/plugins/plugin-sheet/src/components/GridSheet/util.ts","kind":"import-statement","original":"./util"},{"path":"packages/plugins/plugin-sheet/src/extensions/index.ts","kind":"import-statement","original":"../../extensions"},{"path":"packages/plugins/plugin-sheet/src/integrations/index.ts","kind":"import-statement","original":"../../integrations"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../../types"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts":{"bytes":495,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx","kind":"import-statement","original":"./GridSheet"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/RangeList/RangeList.tsx":{"bytes":7909,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../../types"},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/RangeList/index.ts":{"bytes":495,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/RangeList/RangeList.tsx","kind":"import-statement","original":"./RangeList"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/FunctionEditor/FunctionEditor.tsx":{"bytes":5402,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../../types"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/FunctionEditor/index.ts":{"bytes":513,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/FunctionEditor/FunctionEditor.tsx","kind":"import-statement","original":"./FunctionEditor"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetToolbar/align.ts":{"bytes":12272,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../../types"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetToolbar/style.ts":{"bytes":12562,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../../meta"},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../../types"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetToolbar/useToolbarState.ts":{"bytes":1375,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetToolbar/SheetToolbar.tsx":{"bytes":9440,"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/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/SheetToolbar/align.ts","kind":"import-statement","original":"./align"},{"path":"packages/plugins/plugin-sheet/src/components/SheetToolbar/style.ts","kind":"import-statement","original":"./style"},{"path":"packages/plugins/plugin-sheet/src/components/SheetToolbar/useToolbarState.ts","kind":"import-statement","original":"./useToolbarState"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetToolbar/index.ts":{"bytes":505,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/SheetToolbar/SheetToolbar.tsx","kind":"import-statement","original":"./SheetToolbar"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContainer/SheetContainer.tsx":{"bytes":4262,"imports":[{"path":"@preact-signals/safe-react/tracking","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-stack","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts","kind":"import-statement","original":"../ComputeGraph"},{"path":"packages/plugins/plugin-sheet/src/components/FunctionEditor/index.ts","kind":"import-statement","original":"../FunctionEditor"},{"path":"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts","kind":"import-statement","original":"../GridSheet"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"../SheetContext"},{"path":"packages/plugins/plugin-sheet/src/components/SheetToolbar/index.ts","kind":"import-statement","original":"../SheetToolbar"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts":{"bytes":689,"imports":[{"path":"packages/plugins/plugin-sheet/src/components/SheetContainer/SheetContainer.tsx","kind":"import-statement","original":"./SheetContainer"}],"format":"esm"},"packages/plugins/plugin-sheet/src/components/index.ts":{"bytes":1148,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts","kind":"import-statement","original":"./ComputeGraph"},{"path":"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts","kind":"import-statement","original":"./GridSheet"},{"path":"packages/plugins/plugin-sheet/src/components/RangeList/index.ts","kind":"import-statement","original":"./RangeList"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts","kind":"import-statement","original":"./SheetContext"},{"path":"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts","kind":"dynamic-import","original":"./SheetContainer"}],"format":"esm"},"packages/plugins/plugin-sheet/src/capabilities/react-surface.tsx":{"bytes":5569,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-sheet/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/capabilities/index.ts":{"bytes":1891,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/capabilities/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-sheet/src/capabilities/anchor-sort.ts","kind":"dynamic-import","original":"./anchor-sort"},{"path":"packages/plugins/plugin-sheet/src/capabilities/compute-graph-registry.ts","kind":"dynamic-import","original":"./compute-graph-registry"},{"path":"packages/plugins/plugin-sheet/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-sheet/src/capabilities/markdown.ts","kind":"dynamic-import","original":"./markdown"},{"path":"packages/plugins/plugin-sheet/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-sheet/src/serializer.ts":{"bytes":2583,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/translations.ts":{"bytes":5788,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/SheetPlugin.tsx":{"bytes":9626,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-sheet/src/serializer.ts","kind":"import-statement","original":"./serializer"},{"path":"packages/plugins/plugin-sheet/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-sheet/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-sheet/src/index.ts":{"bytes":748,"imports":[{"path":"packages/plugins/plugin-sheet/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-sheet/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-sheet/src/SheetPlugin.tsx","kind":"import-statement","original":"./SheetPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-sheet/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":9350},"packages/plugins/plugin-sheet/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-LJWWS53Z.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-N7FSEUIN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/dist/lib/node/anchor-sort-A7NABMJM.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/intent-resolver-2657YDOU.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/markdown-DBPOAYI7.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/react-surface-XQEIRKWU.cjs","kind":"dynamic-import"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true}],"exports":["SHEET_PLUGIN","SheetCapabilities","SheetPlugin","meta"],"entryPoint":"packages/plugins/plugin-sheet/src/index.ts","inputs":{"packages/plugins/plugin-sheet/src/capabilities/index.ts":{"bytesInOutput":407},"packages/plugins/plugin-sheet/src/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/SheetPlugin.tsx":{"bytesInOutput":2019},"packages/plugins/plugin-sheet/src/serializer.ts":{"bytesInOutput":451},"packages/plugins/plugin-sheet/src/translations.ts":{"bytesInOutput":1707}},"bytes":5154},"packages/plugins/plugin-sheet/dist/lib/node/types/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-sheet/dist/lib/node/types/index.cjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-N7FSEUIN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs","kind":"import-statement"}],"exports":["ApiError","CellValue","DEFAULT_COLS","DEFAULT_ROWS","MAX_COLS","MAX_ROWS","Range","RangeException","ReadonlyException","RowColumnMeta","SheetAction","SheetType","addressFromIndex","addressToIndex","alignKey","cellClassNameForRange","commentKey","compareIndexPositions","createIndex","createIndices","createSheet","initialize","insertIndices","mapFormulaIndicesToRefs","mapFormulaRefsToIndices","rangeFromIndex","rangeToIndex","styleKey"],"entryPoint":"packages/plugins/plugin-sheet/src/types/index.ts","inputs":{},"bytes":1050},"packages/plugins/plugin-sheet/dist/lib/node/anchor-sort-A7NABMJM.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1371},"packages/plugins/plugin-sheet/dist/lib/node/anchor-sort-A7NABMJM.cjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-N7FSEUIN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-sheet/src/capabilities/anchor-sort.ts","inputs":{"packages/plugins/plugin-sheet/src/capabilities/anchor-sort.ts":{"bytesInOutput":514}},"bytes":783},"packages/plugins/plugin-sheet/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2244},"packages/plugins/plugin-sheet/dist/lib/node/compute-graph-registry-ARLDHPFW.cjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-LJWWS53Z.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"dynamic-import","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-sheet/src/capabilities/compute-graph-registry.ts","inputs":{"packages/plugins/plugin-sheet/src/capabilities/compute-graph-registry.ts":{"bytesInOutput":887}},"bytes":1172},"packages/plugins/plugin-sheet/dist/lib/node/intent-resolver-2657YDOU.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2531},"packages/plugins/plugin-sheet/dist/lib/node/intent-resolver-2657YDOU.cjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-N7FSEUIN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-sheet/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-sheet/src/capabilities/intent-resolver.ts":{"bytesInOutput":1207}},"bytes":1504},"packages/plugins/plugin-sheet/dist/lib/node/markdown-DBPOAYI7.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1523},"packages/plugins/plugin-sheet/dist/lib/node/markdown-DBPOAYI7.cjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-LJWWS53Z.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-FIM6EZ6M.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-markdown","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-sheet/src/capabilities/markdown.ts","inputs":{"packages/plugins/plugin-sheet/src/capabilities/markdown.ts":{"bytesInOutput":551}},"bytes":854},"packages/plugins/plugin-sheet/dist/lib/node/SheetContainer-VWPM3HYJ.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23093},"packages/plugins/plugin-sheet/dist/lib/node/SheetContainer-VWPM3HYJ.cjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-ST3WA73J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-N7FSEUIN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-FIM6EZ6M.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","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-stack","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/compute","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":"@effect-rx/rx-react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","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/compute","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts","inputs":{"packages/plugins/plugin-sheet/src/components/SheetContainer/SheetContainer.tsx":{"bytesInOutput":940},"packages/plugins/plugin-sheet/src/components/FunctionEditor/FunctionEditor.tsx":{"bytesInOutput":1569},"packages/plugins/plugin-sheet/src/components/FunctionEditor/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/SheetToolbar/SheetToolbar.tsx":{"bytesInOutput":2208},"packages/plugins/plugin-sheet/src/components/SheetToolbar/align.ts":{"bytesInOutput":2688},"packages/plugins/plugin-sheet/src/components/SheetToolbar/style.ts":{"bytesInOutput":2730},"packages/plugins/plugin-sheet/src/components/SheetToolbar/useToolbarState.ts":{"bytesInOutput":173},"packages/plugins/plugin-sheet/src/components/SheetToolbar/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/SheetContainer/index.ts":{"bytesInOutput":45}},"bytes":11462},"packages/plugins/plugin-sheet/dist/lib/node/react-surface-XQEIRKWU.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2733},"packages/plugins/plugin-sheet/dist/lib/node/react-surface-XQEIRKWU.cjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-LJWWS53Z.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-ST3WA73J.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-N7FSEUIN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-FIM6EZ6M.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-sheet/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-sheet/src/capabilities/react-surface.tsx":{"bytesInOutput":1163}},"bytes":1630},"packages/plugins/plugin-sheet/dist/lib/node/chunk-LJWWS53Z.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":739},"packages/plugins/plugin-sheet/dist/lib/node/chunk-LJWWS53Z.cjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true}],"exports":["SheetCapabilities"],"inputs":{"packages/plugins/plugin-sheet/src/capabilities/capabilities.ts":{"bytesInOutput":277}},"bytes":476},"packages/plugins/plugin-sheet/dist/lib/node/chunk-ST3WA73J.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":55114},"packages/plugins/plugin-sheet/dist/lib/node/chunk-ST3WA73J.cjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-N7FSEUIN.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-FIM6EZ6M.cjs","kind":"import-statement"},{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs","kind":"import-statement"},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-list","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"react","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/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/lit-grid","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":"react","kind":"import-statement","external":true},{"path":"@dxos/compute","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/react-ui-grid","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-deck/types","kind":"import-statement","external":true},{"path":"@dxos/plugin-thread/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/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":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-grid","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-sheet/dist/lib/node/SheetContainer-VWPM3HYJ.cjs","kind":"dynamic-import"}],"exports":["ComputeGraphContextProvider","GridSheet","RangeList","SheetContainer","SheetProvider","useComputeGraph","useSheetContext"],"inputs":{"packages/plugins/plugin-sheet/src/components/ComputeGraph/ComputeGraphContextProvider.tsx":{"bytesInOutput":940},"packages/plugins/plugin-sheet/src/components/RangeList/RangeList.tsx":{"bytesInOutput":1981},"packages/plugins/plugin-sheet/src/components/index.ts":{"bytesInOutput":104},"packages/plugins/plugin-sheet/src/components/ComputeGraph/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/GridSheet/GridSheet.tsx":{"bytesInOutput":12131},"packages/plugins/plugin-sheet/src/components/GridSheet/util.ts":{"bytesInOutput":5023},"packages/plugins/plugin-sheet/src/integrations/thread-ranges.ts":{"bytesInOutput":3327},"packages/plugins/plugin-sheet/src/integrations/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/SheetContext/SheetContext.tsx":{"bytesInOutput":2678},"packages/plugins/plugin-sheet/src/components/SheetContext/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/GridSheet/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/components/RangeList/index.ts":{"bytesInOutput":0}},"bytes":27298},"packages/plugins/plugin-sheet/dist/lib/node/chunk-N7FSEUIN.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":46386},"packages/plugins/plugin-sheet/dist/lib/node/chunk-N7FSEUIN.cjs":{"imports":[{"path":"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/context","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/crypto","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true}],"exports":["ApiError","CellValue","DEFAULT_COLS","DEFAULT_ROWS","MAX_COLS","MAX_ROWS","Range","RangeException","ReadonlyException","RowColumnMeta","SheetAction","SheetType","addressFromIndex","addressToIndex","alignKey","cellClassNameForRange","commentKey","compareIndexPositions","createIndex","createIndices","createSheet","initialize","insertIndices","mapFormulaIndicesToRefs","mapFormulaRefsToIndices","rangeFromIndex","rangeToIndex","styleKey","useSheetModel"],"inputs":{"packages/plugins/plugin-sheet/src/types/schema.ts":{"bytesInOutput":1437},"packages/plugins/plugin-sheet/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/types/sheet-range-types.ts":{"bytesInOutput":709},"packages/plugins/plugin-sheet/src/types/types.ts":{"bytesInOutput":1633},"packages/plugins/plugin-sheet/src/model/sheet-model.ts":{"bytesInOutput":14333},"packages/plugins/plugin-sheet/src/model/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/model/useSheetModel.ts":{"bytesInOutput":543},"packages/plugins/plugin-sheet/src/types/util.ts":{"bytesInOutput":3620}},"bytes":23266},"packages/plugins/plugin-sheet/dist/lib/node/chunk-FIM6EZ6M.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20132},"packages/plugins/plugin-sheet/dist/lib/node/chunk-FIM6EZ6M.cjs":{"imports":[{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/state","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@codemirror/autocomplete","kind":"import-statement","external":true},{"path":"@codemirror/language","kind":"import-statement","external":true},{"path":"@codemirror/view","kind":"import-statement","external":true},{"path":"@lezer/highlight","kind":"import-statement","external":true},{"path":"codemirror-lang-spreadsheet","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["computeGraphFacet","rangeExtension","sheetExtension"],"inputs":{"packages/plugins/plugin-sheet/src/extensions/compute.ts":{"bytesInOutput":509},"packages/plugins/plugin-sheet/src/extensions/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-sheet/src/extensions/editor/extension.ts":{"bytesInOutput":6110},"packages/plugins/plugin-sheet/src/extensions/editor/index.ts":{"bytesInOutput":0}},"bytes":6860},"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1044},"packages/plugins/plugin-sheet/dist/lib/node/chunk-JSIDCZHB.cjs":{"imports":[],"exports":["SHEET_PLUGIN","meta"],"inputs":{"packages/plugins/plugin-sheet/src/meta.ts":{"bytesInOutput":593}},"bytes":718}}}
@@ -1,71 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var react_surface_XQEIRKWU_exports = {};
30
- __export(react_surface_XQEIRKWU_exports, {
31
- default: () => react_surface_default
32
- });
33
- module.exports = __toCommonJS(react_surface_XQEIRKWU_exports);
34
- var import_chunk_LJWWS53Z = require("./chunk-LJWWS53Z.cjs");
35
- var import_chunk_ST3WA73J = require("./chunk-ST3WA73J.cjs");
36
- var import_chunk_N7FSEUIN = require("./chunk-N7FSEUIN.cjs");
37
- var import_chunk_FIM6EZ6M = require("./chunk-FIM6EZ6M.cjs");
38
- var import_chunk_JSIDCZHB = require("./chunk-JSIDCZHB.cjs");
39
- var import_react = __toESM(require("react"));
40
- var import_app_framework = require("@dxos/app-framework");
41
- var import_echo = require("@dxos/echo");
42
- var import_echo2 = require("@dxos/react-client/echo");
43
- var react_surface_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.ReactSurface, [
44
- (0, import_app_framework.createSurface)({
45
- id: `${import_chunk_JSIDCZHB.SHEET_PLUGIN}/sheet`,
46
- role: [
47
- "article",
48
- "section"
49
- ],
50
- filter: (data) => import_echo.Obj.instanceOf(import_chunk_N7FSEUIN.SheetType, data.subject) && !!(0, import_echo2.getSpace)(data.subject),
51
- component: ({ data, role }) => {
52
- const computeGraphRegistry = (0, import_app_framework.useCapability)(import_chunk_LJWWS53Z.SheetCapabilities.ComputeGraphRegistry);
53
- return /* @__PURE__ */ import_react.default.createElement(import_chunk_ST3WA73J.ComputeGraphContextProvider, {
54
- registry: computeGraphRegistry
55
- }, /* @__PURE__ */ import_react.default.createElement(import_chunk_ST3WA73J.SheetContainer, {
56
- space: (0, import_echo2.getSpace)(data.subject),
57
- sheet: data.subject,
58
- role
59
- }));
60
- }
61
- }),
62
- (0, import_app_framework.createSurface)({
63
- id: `${import_chunk_JSIDCZHB.SHEET_PLUGIN}/object-settings`,
64
- role: "object-settings",
65
- filter: (data) => import_echo.Obj.instanceOf(import_chunk_N7FSEUIN.SheetType, data.subject),
66
- component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(import_chunk_ST3WA73J.RangeList, {
67
- sheet: data.subject
68
- })
69
- })
70
- ]);
71
- //# sourceMappingURL=react-surface-XQEIRKWU.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/capabilities/react-surface.tsx"],
4
- "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface, useCapability } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { getSpace } from '@dxos/react-client/echo';\n\nimport { SheetCapabilities } from './capabilities';\nimport { ComputeGraphContextProvider, RangeList, SheetContainer } from '../components';\nimport { SHEET_PLUGIN } from '../meta';\nimport { SheetType } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SHEET_PLUGIN}/sheet`,\n role: ['article', 'section'],\n filter: (data): data is { subject: SheetType } =>\n Obj.instanceOf(SheetType, data.subject) && !!getSpace(data.subject),\n component: ({ data, role }) => {\n const computeGraphRegistry = useCapability(SheetCapabilities.ComputeGraphRegistry);\n\n return (\n <ComputeGraphContextProvider registry={computeGraphRegistry}>\n <SheetContainer space={getSpace(data.subject)!} sheet={data.subject} role={role} />\n </ComputeGraphContextProvider>\n );\n },\n }),\n createSurface({\n id: `${SHEET_PLUGIN}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: SheetType } => Obj.instanceOf(SheetType, data.subject),\n component: ({ data }) => <RangeList sheet={data.subject} />,\n }),\n ]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mBAAkB;AAElB,2BAAwE;AACxE,kBAAoB;AACpB,IAAAA,eAAyB;AAOzB,IAAA,wBAAe,UACbC,kCAAYC,kCAAaC,cAAc;MACrCC,oCAAc;IACZC,IAAI,GAAGC,kCAAAA;IACPC,MAAM;MAAC;MAAW;;IAClBC,QAAQ,CAACC,SACPC,gBAAIC,WAAWC,iCAAWH,KAAKI,OAAO,KAAK,CAAC,KAACC,uBAASL,KAAKI,OAAO;IACpEE,WAAW,CAAC,EAAEN,MAAMF,KAAI,MAAE;AACxB,YAAMS,2BAAuBC,oCAAcC,wCAAkBC,oBAAoB;AAEjF,aACE,6BAAAC,QAAA,cAACC,mDAAAA;QAA4BC,UAAUN;SACrC,6BAAAI,QAAA,cAACG,sCAAAA;QAAeC,WAAOV,uBAASL,KAAKI,OAAO;QAAIY,OAAOhB,KAAKI;QAASN;;IAG3E;EACF,CAAA;MACAH,oCAAc;IACZC,IAAI,GAAGC,kCAAAA;IACPC,MAAM;IACNC,QAAQ,CAACC,SAAyCC,gBAAIC,WAAWC,iCAAWH,KAAKI,OAAO;IACxFE,WAAW,CAAC,EAAEN,KAAI,MAAO,6BAAAW,QAAA,cAACM,iCAAAA;MAAUD,OAAOhB,KAAKI;;EAClD,CAAA;CACD;",
6
- "names": ["import_echo", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SHEET_PLUGIN", "role", "filter", "data", "Obj", "instanceOf", "SheetType", "subject", "getSpace", "component", "computeGraphRegistry", "useCapability", "SheetCapabilities", "ComputeGraphRegistry", "React", "ComputeGraphContextProvider", "registry", "SheetContainer", "space", "sheet", "RangeList"]
7
- }
@@ -1,84 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var types_exports = {};
20
- __export(types_exports, {
21
- ApiError: () => import_chunk_N7FSEUIN.ApiError,
22
- CellValue: () => import_chunk_N7FSEUIN.CellValue,
23
- DEFAULT_COLS: () => import_chunk_N7FSEUIN.DEFAULT_COLS,
24
- DEFAULT_ROWS: () => import_chunk_N7FSEUIN.DEFAULT_ROWS,
25
- MAX_COLS: () => import_chunk_N7FSEUIN.MAX_COLS,
26
- MAX_ROWS: () => import_chunk_N7FSEUIN.MAX_ROWS,
27
- Range: () => import_chunk_N7FSEUIN.Range,
28
- RangeException: () => import_chunk_N7FSEUIN.RangeException,
29
- ReadonlyException: () => import_chunk_N7FSEUIN.ReadonlyException,
30
- RowColumnMeta: () => import_chunk_N7FSEUIN.RowColumnMeta,
31
- SheetAction: () => import_chunk_N7FSEUIN.SheetAction,
32
- SheetType: () => import_chunk_N7FSEUIN.SheetType,
33
- addressFromIndex: () => import_chunk_N7FSEUIN.addressFromIndex,
34
- addressToIndex: () => import_chunk_N7FSEUIN.addressToIndex,
35
- alignKey: () => import_chunk_N7FSEUIN.alignKey,
36
- cellClassNameForRange: () => import_chunk_N7FSEUIN.cellClassNameForRange,
37
- commentKey: () => import_chunk_N7FSEUIN.commentKey,
38
- compareIndexPositions: () => import_chunk_N7FSEUIN.compareIndexPositions,
39
- createIndex: () => import_chunk_N7FSEUIN.createIndex,
40
- createIndices: () => import_chunk_N7FSEUIN.createIndices,
41
- createSheet: () => import_chunk_N7FSEUIN.createSheet,
42
- initialize: () => import_chunk_N7FSEUIN.initialize,
43
- insertIndices: () => import_chunk_N7FSEUIN.insertIndices,
44
- mapFormulaIndicesToRefs: () => import_chunk_N7FSEUIN.mapFormulaIndicesToRefs,
45
- mapFormulaRefsToIndices: () => import_chunk_N7FSEUIN.mapFormulaRefsToIndices,
46
- rangeFromIndex: () => import_chunk_N7FSEUIN.rangeFromIndex,
47
- rangeToIndex: () => import_chunk_N7FSEUIN.rangeToIndex,
48
- styleKey: () => import_chunk_N7FSEUIN.styleKey
49
- });
50
- module.exports = __toCommonJS(types_exports);
51
- var import_chunk_N7FSEUIN = require("../chunk-N7FSEUIN.cjs");
52
- var import_chunk_JSIDCZHB = require("../chunk-JSIDCZHB.cjs");
53
- // Annotate the CommonJS export names for ESM import in node:
54
- 0 && (module.exports = {
55
- ApiError,
56
- CellValue,
57
- DEFAULT_COLS,
58
- DEFAULT_ROWS,
59
- MAX_COLS,
60
- MAX_ROWS,
61
- Range,
62
- RangeException,
63
- ReadonlyException,
64
- RowColumnMeta,
65
- SheetAction,
66
- SheetType,
67
- addressFromIndex,
68
- addressToIndex,
69
- alignKey,
70
- cellClassNameForRange,
71
- commentKey,
72
- compareIndexPositions,
73
- createIndex,
74
- createIndices,
75
- createSheet,
76
- initialize,
77
- insertIndices,
78
- mapFormulaIndicesToRefs,
79
- mapFormulaRefsToIndices,
80
- rangeFromIndex,
81
- rangeToIndex,
82
- styleKey
83
- });
84
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["index.cjs"],
4
- "sourcesContent": ["import {\n ApiError,\n CellValue,\n DEFAULT_COLS,\n DEFAULT_ROWS,\n MAX_COLS,\n MAX_ROWS,\n Range,\n RangeException,\n ReadonlyException,\n RowColumnMeta,\n SheetAction,\n SheetType,\n addressFromIndex,\n addressToIndex,\n alignKey,\n cellClassNameForRange,\n commentKey,\n compareIndexPositions,\n createIndex,\n createIndices,\n createSheet,\n initialize,\n insertIndices,\n mapFormulaIndicesToRefs,\n mapFormulaRefsToIndices,\n rangeFromIndex,\n rangeToIndex,\n styleKey\n} from \"../chunk-N7FSEUIN.cjs\";\nimport \"../chunk-JSIDCZHB.cjs\";\nexport {\n ApiError,\n CellValue,\n DEFAULT_COLS,\n DEFAULT_ROWS,\n MAX_COLS,\n MAX_ROWS,\n Range,\n RangeException,\n ReadonlyException,\n RowColumnMeta,\n SheetAction,\n SheetType,\n addressFromIndex,\n addressToIndex,\n alignKey,\n cellClassNameForRange,\n commentKey,\n compareIndexPositions,\n createIndex,\n createIndices,\n createSheet,\n initialize,\n insertIndices,\n mapFormulaIndicesToRefs,\n mapFormulaRefsToIndices,\n rangeFromIndex,\n rangeToIndex,\n styleKey\n};\n//# sourceMappingURL=index.cjs.map\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BA6BO;AACP,4BAAO;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/types/schema.ts", "../../../src/types/sheet-range-types.ts", "../../../src/types/types.ts", "../../../src/model/sheet-model.ts", "../../../src/model/useSheetModel.ts", "../../../src/types/util.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { Type } from '@dxos/echo';\n\nexport const CellValue = Schema.Struct({\n // TODO(burdon): How to store dates (datetime, date, time), percentages, etc.\n // Consider import/export; natural access for other plugins. Special handling for currency (precision).\n // TODO(burdon): Automerge (long string) or short string or number.\n value: Schema.Any,\n});\n\nexport type CellValue = Schema.Schema.Type<typeof CellValue>;\n\n// TODO(burdon): IMPORTANT: Reconcile with Field definition.\nexport const Range = Schema.Struct({\n range: Schema.String,\n key: Schema.String,\n value: Schema.String,\n});\n\nexport type Range = Schema.Schema.Type<typeof Range>;\n\n// TODO(burdon): Visibility, locked, frozen, etc.\nexport const RowColumnMeta = Schema.Struct({\n size: Schema.optional(Schema.Number),\n});\n\n// TODO(burdon): Reconcile col/column (across packages).\n// TODO(burdon): Index to all updates when rows/columns are inserted/deleted.\nexport const SheetType = Schema.Struct({\n name: Schema.optional(Schema.String),\n\n // Sparse map of cells referenced by index.\n cells: Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.mutable(CellValue) })),\n\n // Ordered row indices.\n rows: Schema.mutable(Schema.Array(Schema.String)),\n\n // Ordered column indices.\n columns: Schema.mutable(Schema.Array(Schema.String)),\n\n // Row metadata referenced by index.\n rowMeta: Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.mutable(RowColumnMeta) })),\n\n // Column metadata referenced by index.\n columnMeta: Schema.mutable(Schema.Record({ key: Schema.String, value: Schema.mutable(RowColumnMeta) })),\n\n // Cell formatting referenced by indexed range.\n ranges: Schema.mutable(Schema.Array(Range)),\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/Sheet',\n version: '0.1.0',\n }),\n);\nexport interface SheetType extends Schema.Schema.Type<typeof SheetType> {}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type ClassNameValue } from '@dxos/react-ui';\n\nimport { type SheetType } from '../types';\n\nexport const alignKey = 'alignment';\nexport type AlignKey = typeof alignKey;\nexport type AlignValue = 'start' | 'center' | 'end';\n\nexport const commentKey = 'comment';\nexport type CommentKey = typeof commentKey;\nexport type CommentValue = string;\n\nexport const styleKey = 'style';\nexport type StyleKey = typeof styleKey;\nexport type StyleValue = 'highlight' | 'softwrap';\n\n// TODO(burdon): Reconcile with plugin-table.\nexport const cellClassNameForRange = ({ key, value }: SheetType['ranges'][number]): ClassNameValue => {\n switch (key) {\n case alignKey:\n switch (value) {\n case 'start':\n return 'text-start';\n case 'center':\n return 'text-center';\n case 'end':\n return 'text-end';\n default:\n return undefined;\n }\n\n case commentKey:\n return 'bg-gridComment';\n\n case styleKey:\n switch (value) {\n case 'highlight':\n return '!bg-gridHighlight';\n case 'softwrap':\n return '!whitespace-normal';\n default:\n return undefined;\n }\n\n default:\n return undefined;\n }\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Schema } from 'effect';\n\nimport { type CellValue, RowColumnMeta, SheetType } from './schema';\nimport { SHEET_PLUGIN } from '../meta';\nimport { SheetModel } from '../model';\n\nexport type SheetSize = {\n rows: number;\n columns: number;\n};\n\nexport type CreateSheetOptions = {\n name?: string;\n cells?: Record<string, CellValue>;\n} & Partial<SheetSize>;\n\nexport namespace SheetAction {\n const SHEET_ACTION = `${SHEET_PLUGIN}/action`;\n\n export class Create extends Schema.TaggedClass<Create>()(`${SHEET_ACTION}/create`, {\n input: Schema.Struct({\n name: Schema.optional(Schema.String),\n }),\n output: Schema.Struct({\n object: SheetType,\n }),\n }) {}\n\n // TODO(wittjosiah): Factor out. This is `DxGridAxis` from `@dxos/react-ui-grid`.\n const Axis = Schema.Union(Schema.Literal('row'), Schema.Literal('col'));\n\n export class InsertAxis extends Schema.TaggedClass<InsertAxis>()(`${SHEET_ACTION}/axis-insert`, {\n input: Schema.Struct({\n // TODO(wittjosiah): Schema.instanceOf(SheetModel) throws when running tests.\n model: Schema.Any.pipe(Schema.filter((model) => model instanceof SheetModel)) as Schema.Schema<SheetModel>,\n axis: Axis,\n index: Schema.Number,\n count: Schema.optional(Schema.Number),\n }),\n output: Schema.Void,\n }) {}\n\n export const RestoreAxis = Schema.Struct({\n axis: Axis,\n axisIndex: Schema.String,\n index: Schema.Number,\n axisMeta: RowColumnMeta,\n values: Schema.Array(Schema.Any),\n });\n\n export type RestoreAxis = Schema.Schema.Type<typeof RestoreAxis>;\n\n export class DropAxis extends Schema.TaggedClass<DropAxis>()(`${SHEET_ACTION}/axis-drop`, {\n input: Schema.Struct({\n // TODO(wittjosiah): Schema.instanceOf(SheetModel) throws when running tests.\n model: Schema.Any.pipe(Schema.filter((model) => model instanceof SheetModel)) as Schema.Schema<SheetModel>,\n axis: Axis,\n axisIndex: Schema.String,\n deletionData: Schema.optional(RestoreAxis),\n }),\n output: Schema.Void,\n }) {}\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { Event } from '@dxos/async';\nimport {\n addressFromA1Notation,\n addressToA1Notation,\n createSheetName,\n isFormula,\n type CellAddress,\n type CellRange,\n type CellScalarValue,\n type ComputeGraph,\n type ComputeNode,\n type ComputeNodeEvent,\n DetailedCellError,\n ExportedCellChange,\n type SimpleCellRange,\n type SimpleCellAddress,\n type SimpleDate,\n type SimpleDateTime,\n} from '@dxos/compute';\nimport { Resource } from '@dxos/context';\nimport { Obj } from '@dxos/echo';\nimport { FormatEnum, TypeEnum } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { PublicKey } from '@dxos/keys';\nimport { log } from '@dxos/log';\n\nimport {\n MAX_COLS,\n MAX_ROWS,\n ReadonlyException,\n addressFromIndex,\n addressToIndex,\n initialize,\n insertIndices,\n mapFormulaIndicesToRefs,\n mapFormulaRefsToIndices,\n} from '../types';\nimport { type SheetAction, type CellValue, type SheetType } from '../types';\n\n// TODO(burdon): Move to compute.\n// Map sheet types to system types.\n// https://hyperformula.handsontable.com/guide/types-of-values.html\n// - https://github.com/handsontable/hyperformula/blob/master/src/Cell.ts (CellValueType)\n// - https://github.com/handsontable/hyperformula/blob/master/src/interpreter/InterpreterValue.ts (NumberType)\nconst typeMap: Record<string, { type: TypeEnum; format?: FormatEnum }> = {\n BOOLEAN: { type: TypeEnum.Boolean },\n NUMBER_RAW: { type: TypeEnum.Number },\n NUMBER_PERCENT: { type: TypeEnum.Number, format: FormatEnum.Percent },\n NUMBER_CURRENCY: { type: TypeEnum.Number, format: FormatEnum.Currency },\n NUMBER_DATETIME: { type: TypeEnum.String, format: FormatEnum.DateTime },\n NUMBER_DATE: { type: TypeEnum.String, format: FormatEnum.Date },\n NUMBER_TIME: { type: TypeEnum.String, format: FormatEnum.Time },\n};\n\nconst getTopLeft = (range: CellRange): CellAddress => {\n const to = range.to ?? range.from;\n return { row: Math.min(range.from.row, to.row), col: Math.min(range.from.col, to.col) };\n};\n\nconst toSimpleCellAddress = (sheet: number, cell: CellAddress): SimpleCellAddress => ({\n sheet,\n row: cell.row,\n col: cell.col,\n});\n\nconst toModelRange = (sheet: number, range: CellRange): SimpleCellRange => ({\n start: toSimpleCellAddress(sheet, range.from),\n end: toSimpleCellAddress(sheet, range.to ?? range.from),\n});\n\nexport type SheetModelOptions = {\n readonly?: boolean;\n};\n\n/**\n * Spreadsheet data model.\n *\n * [ComputeGraphContext] > [SheetContext]:[SheetModel] > [Sheet.Root]\n */\n// TODO(burdon): Factor out commonality with ComputeNode. Factor out HF.\nexport class SheetModel extends Resource {\n public readonly id = `model-${PublicKey.random().truncate()}`;\n\n // Wraps compute node.\n public readonly update = new Event<ComputeNodeEvent>();\n\n private _node?: ComputeNode;\n\n constructor(\n private readonly _graph: ComputeGraph,\n private readonly _sheet: SheetType,\n private readonly _options: SheetModelOptions = {},\n ) {\n super();\n }\n\n get graph() {\n return this._graph;\n }\n\n get sheet() {\n return this._sheet;\n }\n\n get readonly() {\n return this._options.readonly;\n }\n\n get bounds() {\n return {\n rows: this._sheet.rows.length,\n columns: this._sheet.columns.length,\n };\n }\n\n /**\n * Initialize sheet and engine.\n */\n protected override async _open(): Promise<void> {\n log('initialize', { id: this.id });\n initialize(this._sheet);\n\n this._graph.update.on((event) => {\n if (event.type === 'functionsUpdated') {\n this.reset();\n }\n });\n\n // TODO(burdon): SheetModel should extend ComputeNode and be constructed via the graph.\n this._node = this._graph.getOrCreateNode(\n createSheetName({ type: Obj.getTypename(this._sheet)!, id: this._sheet.id }),\n );\n await this._node.open();\n\n // Listen for model updates (e.g., async calculations).\n const unsubscribe = this._node.update.on((event) => this.update.emit(event));\n this._ctx.onDispose(unsubscribe);\n\n this.reset();\n }\n\n /**\n * Update engine.\n * NOTE: This resets the undo history.\n * @deprecated\n */\n reset(): void {\n invariant(this._node);\n this._node.graph.hf.clearSheet(this._node.sheetId);\n Object.entries(this._sheet.cells).forEach(([key, { value }]) => {\n invariant(this._node);\n const { col, row } = addressFromIndex(this._sheet, key);\n if (isFormula(value)) {\n const binding = this._graph.mapFunctionBindingFromId(mapFormulaIndicesToRefs(this._sheet, value));\n if (binding) {\n value = this._graph.mapFormulaToNative(binding);\n } else {\n // If binding is not found, render the cell as empty.\n // This prevents the cell from momentarily rendering an error while the binding is being loaded.\n value = '';\n }\n }\n\n this._node.graph.hf.setCellContents({ sheet: this._node.sheetId, row, col }, value);\n });\n }\n\n /**\n * Recalculate formulas.\n * NOTE: This resets the undo history.\n * https://hyperformula.handsontable.com/guide/volatile-functions.html#volatile-actions\n * @deprecated\n */\n // TODO(burdon): Remove.\n recalculate(): void {\n this._node?.graph.hf.rebuildAndRecalculate();\n }\n\n insertRows(i: number, n = 1): string[] {\n const idx = insertIndices(this._sheet.rows, i, n, MAX_ROWS);\n this.reset();\n return idx;\n }\n\n insertColumns(i: number, n = 1): string[] {\n const idx = insertIndices(this._sheet.columns, i, n, MAX_COLS);\n this.reset();\n return idx;\n }\n\n dropRow(rowIndex: string): SheetAction.RestoreAxis {\n const range = {\n from: addressFromIndex(this._sheet, `${this._sheet.columns[0]}@${rowIndex}`),\n to: addressFromIndex(this._sheet, `${this._sheet.columns[this._sheet.columns.length - 1]}@${rowIndex}`),\n };\n const values = this.getCellValues(range).flat();\n const index = this._sheet.rows.indexOf(rowIndex);\n this.clear(range);\n this._sheet.rows.splice(index, 1);\n delete this._sheet.rowMeta[rowIndex];\n this.reset();\n return { axis: 'row', index, axisIndex: rowIndex, axisMeta: this._sheet.rowMeta[rowIndex], values };\n }\n\n dropColumn(colIndex: string): SheetAction.RestoreAxis {\n const range = {\n from: addressFromIndex(this._sheet, `${colIndex}@${this._sheet.rows[0]}`),\n to: addressFromIndex(this._sheet, `${colIndex}@${this._sheet.rows[this._sheet.rows.length - 1]}`),\n };\n const values = this.getCellValues(range).flat();\n const index = this._sheet.columns.indexOf(colIndex);\n this.clear(range);\n this._sheet.columns.splice(index, 1);\n delete this._sheet.columnMeta[colIndex];\n this.reset();\n return { axis: 'col', index, axisIndex: colIndex, axisMeta: this._sheet.rowMeta[colIndex], values };\n }\n\n restoreRow({ index, axisIndex, axisMeta, values }: SheetAction.RestoreAxis): void {\n this._sheet.rows.splice(index, 0, axisIndex);\n values.forEach((value, col) => {\n if (value) {\n this._sheet.cells[`${this._sheet.columns[col]}@${axisIndex}`] = { value };\n }\n });\n if (axisMeta) {\n this._sheet.rowMeta[axisIndex] = axisMeta;\n }\n this.reset();\n }\n\n restoreColumn({ index, axisIndex, axisMeta, values }: SheetAction.RestoreAxis): void {\n this._sheet.columns.splice(index, 0, axisIndex);\n values.forEach((value, row) => {\n if (value) {\n this._sheet.cells[`${axisIndex}@${this._sheet.rows[row]}`] = { value };\n }\n });\n if (axisMeta) {\n this._sheet.columnMeta[axisIndex] = axisMeta;\n }\n this.reset();\n }\n\n //\n // Undoable actions.\n // TODO(burdon): Group undoable methods; consistently update hf/sheet.\n //\n\n /**\n * Clear range of values.\n */\n clear(range: CellRange): void {\n invariant(this._node);\n const topLeft = getTopLeft(range);\n const values = this._iterRange(range, () => null);\n this._node.graph.hf.setCellContents(toSimpleCellAddress(this._node.sheetId, topLeft), values);\n this._iterRange(range, (cell) => {\n const idx = addressToIndex(this._sheet, cell);\n delete this._sheet.cells[idx];\n });\n }\n\n cut(range: CellRange): void {\n invariant(this._node);\n this._node.graph.hf.cut(toModelRange(this._node.sheetId, range));\n this._iterRange(range, (cell) => {\n const idx = addressToIndex(this._sheet, cell);\n delete this._sheet.cells[idx];\n });\n }\n\n copy(range: CellRange): void {\n invariant(this._node);\n this._node.graph.hf.copy(toModelRange(this._node.sheetId, range));\n }\n\n paste(cell: CellAddress): void {\n invariant(this._node);\n if (!this._node.graph.hf.isClipboardEmpty()) {\n const changes = this._node.graph.hf.paste(toSimpleCellAddress(this._node.sheetId, cell));\n for (const change of changes) {\n if (change instanceof ExportedCellChange) {\n const { address, newValue } = change;\n const idx = addressToIndex(this._sheet, { row: address.row, col: address.col });\n this._sheet.cells[idx] = { value: newValue };\n }\n }\n }\n }\n\n // TODO(burdon): Display undo/redo state.\n undo(): void {\n invariant(this._node);\n if (this._node.graph.hf.isThereSomethingToUndo()) {\n this._node.graph.hf.undo();\n // this.update.emit();\n }\n }\n\n redo(): void {\n invariant(this._node);\n if (this._node.graph.hf.isThereSomethingToRedo()) {\n this._node.graph.hf.redo();\n // this.update.emit();\n }\n }\n\n /**\n * Get value from sheet.\n */\n getCellValue(cell: CellAddress): CellScalarValue {\n const idx = addressToIndex(this._sheet, cell);\n return this._sheet.cells[idx]?.value ?? null;\n }\n\n /**\n * Get value as a string for editing.\n */\n getCellText(cell: CellAddress): string | undefined {\n const value = this.getCellValue(cell);\n if (value == null) {\n return undefined;\n }\n\n if (isFormula(value)) {\n return this._graph.mapFunctionBindingFromId(mapFormulaIndicesToRefs(this._sheet, value));\n } else {\n return String(value);\n }\n }\n\n /**\n * Get array of raw values from sheet.\n */\n getCellValues(range: CellRange): CellScalarValue[][] {\n return this._iterRange(range, (cell) => this.getCellValue(cell));\n }\n\n /**\n * Gets the regular or computed value from the engine.\n */\n getValue(cell: CellAddress): CellScalarValue {\n // Applies rounding and post-processing.\n invariant(this._node);\n const address = toSimpleCellAddress(this._node.sheetId, cell);\n const value = this._node.graph.hf.getCellValue(address);\n if (value instanceof DetailedCellError) {\n // TODO(wittjosiah): Error details should be shown in cell `title`.\n log.warn('cell error', { cell, error: value });\n return value.toString();\n }\n\n return value;\n }\n\n /**\n * Get value type.\n */\n getValueDescription(cell: CellAddress): { type: TypeEnum; format?: FormatEnum } | undefined {\n invariant(this._node);\n const addr = toSimpleCellAddress(this._node.sheetId, cell);\n const type = this._node.graph.hf.getCellValueDetailedType(addr);\n return typeMap[type];\n }\n\n /**\n * Sets the value, updating the sheet and engine.\n */\n setValue(cell: CellAddress, value: CellScalarValue): void {\n invariant(this._node);\n if (this._options.readonly) {\n throw new ReadonlyException();\n }\n\n // Reallocate if > current bounds.\n let refresh = false;\n if (cell.row >= this._sheet.rows.length) {\n insertIndices(this._sheet.rows, cell.row, 1, MAX_ROWS);\n refresh = true;\n }\n if (cell.col >= this._sheet.columns.length) {\n insertIndices(this._sheet.columns, cell.col, 1, MAX_COLS);\n refresh = true;\n }\n\n if (refresh) {\n // TODO(burdon): Remove.\n this.reset();\n }\n\n // Insert into engine.\n this._node.graph.hf.setCellContents({ sheet: this._node.sheetId, row: cell.row, col: cell.col }, [\n [isFormula(value) ? this._graph.mapFormulaToNative(value) : value],\n ]);\n\n // Insert into sheet.\n const idx = addressToIndex(this._sheet, cell);\n if (value === undefined || value === null) {\n delete this._sheet.cells[idx];\n } else {\n if (isFormula(value)) {\n value = this._graph.mapFunctionBindingToId(mapFormulaRefsToIndices(this._sheet, value));\n }\n\n this._sheet.cells[idx] = { value };\n }\n }\n\n /**\n * Sets values from a simple map.\n */\n setValues(values: Record<string, CellValue>): void {\n Object.entries(values).forEach(([key, { value }]) => {\n this.setValue(addressFromA1Notation(key), value);\n });\n }\n\n /**\n * Iterate range.\n */\n private _iterRange(range: CellRange, cb: (cell: CellAddress) => CellScalarValue | void): CellScalarValue[][] {\n const to = range.to ?? range.from;\n const rowRange = [Math.min(range.from.row, to.row), Math.max(range.from.row, to.row)];\n const columnRange = [Math.min(range.from.col, to.col), Math.max(range.from.col, to.col)];\n const rows: CellScalarValue[][] = [];\n for (let row = rowRange[0]; row <= rowRange[1]; row++) {\n const rowCells: CellScalarValue[] = [];\n for (let column = columnRange[0]; column <= columnRange[1]; column++) {\n const value = cb({ row, col: column });\n if (value !== undefined) {\n rowCells.push(value);\n }\n }\n\n rows.push(rowCells);\n }\n\n return rows;\n }\n\n // TODO(burdon): Delete index.\n private _deleteIndices(indices: string[], i: number, n: number): void {\n throw new Error('Not implemented');\n }\n\n // TODO(burdon): Move. Cannot use fractional without changing. Switch back to using unique IDs?\n private _moveIndices(indices: string[], i: number, j: number, n: number): void {\n throw new Error('Not implemented');\n }\n\n /**\n * Map from indices to A1 notation.\n */\n mapFormulaIndicesToRefs(formula: string): string {\n invariant(isFormula(formula));\n return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {\n return addressToA1Notation(addressFromIndex(this._sheet, idx));\n });\n }\n\n //\n // Values\n //\n\n /**\n * https://hyperformula.handsontable.com/guide/date-and-time-handling.html#example\n * https://hyperformula.handsontable.com/api/interfaces/configparams.html#nulldate\n * NOTE: TODAY() is number of FULL days since nullDate. It will typically be -1 days from NOW().\n */\n toLocalDate(num: number): Date {\n const { year, month, day, hours, minutes, seconds } = this.toDateTime(num);\n return new Date(year, month - 1, day, hours, minutes, seconds);\n }\n\n toDateTime(num: number): SimpleDateTime {\n invariant(this._node);\n return this._node.graph.hf.numberToDateTime(num) as SimpleDateTime;\n }\n\n toDate(num: number): SimpleDate {\n invariant(this._node);\n return this._node.graph.hf.numberToDate(num) as SimpleDate;\n }\n\n toTime(num: number): SimpleDate {\n invariant(this._node);\n return this._node.graph.hf.numberToTime(num) as SimpleDate;\n }\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { useEffect, useState } from 'react';\n\nimport { type ComputeGraph } from '@dxos/compute';\n\nimport { SheetModel } from '../model';\nimport { type SheetType } from '../types';\n\nexport type UseSheetModelOptions = {\n readonly?: boolean;\n};\n\nexport const useSheetModel = (\n graph?: ComputeGraph,\n sheet?: SheetType,\n { readonly }: UseSheetModelOptions = {},\n): SheetModel | undefined => {\n const [model, setModel] = useState<SheetModel>();\n useEffect(() => {\n if (!graph || !sheet) {\n return;\n }\n\n let model: SheetModel | undefined;\n const t = setTimeout(async () => {\n model = new SheetModel(graph, sheet, { readonly });\n await model.open();\n setModel(model);\n });\n\n return () => {\n clearTimeout(t);\n void model?.close();\n };\n }, [graph, sheet, readonly]);\n\n return model;\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport {\n addressFromA1Notation,\n addressToA1Notation,\n isFormula,\n type CellAddress,\n type CellRange,\n type CompleteCellRange,\n} from '@dxos/compute';\nimport { randomBytes } from '@dxos/crypto';\nimport { Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\n\nimport { type CreateSheetOptions, type SheetSize, SheetType } from '../types';\n\nexport const MAX_ROWS = 500;\nexport const MAX_COLS = 676; // 26^2;\n\nexport const DEFAULT_ROWS = 50;\nexport const DEFAULT_COLS = 26;\n\n// TODO(burdon): Factor out from dxos/protocols to new common package.\nexport class ApiError extends Error {}\n\nexport class ReadonlyException extends ApiError {}\n\nexport class RangeException extends ApiError {\n constructor(n: number) {\n super();\n }\n}\n\n/**\n * With a string length of 8, the chance of a collision is 0.02% for a sheet with 10,000 strings.\n */\nexport const createIndex = (length = 8): string => {\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n const charactersLength = characters.length;\n const randomBuffer = randomBytes(length);\n return Array.from(randomBuffer, (byte) => characters[byte % charactersLength]).join('');\n};\n\nexport const createIndices = (length: number): string[] => Array.from({ length }).map(() => createIndex());\n\nexport const insertIndices = (indices: string[], i: number, n: number, max: number) => {\n if (i + n > max) {\n throw new RangeException(i + n);\n }\n\n const idx = createIndices(n);\n indices.splice(i, 0, ...idx);\n return idx;\n};\n\nexport const initialize = (\n sheet: SheetType,\n { rows = DEFAULT_ROWS, columns = DEFAULT_COLS }: Partial<SheetSize> = {},\n) => {\n if (!sheet.rows.length) {\n insertIndices(sheet.rows, 0, rows, MAX_ROWS);\n }\n if (!sheet.columns.length) {\n insertIndices(sheet.columns, 0, columns, MAX_COLS);\n }\n};\n\nexport const createSheet = ({ name, cells, ...size }: CreateSheetOptions = {}): SheetType => {\n const sheet = Obj.make(SheetType, {\n name,\n cells: {},\n rows: [],\n columns: [],\n rowMeta: {},\n columnMeta: {},\n ranges: [],\n });\n\n initialize(sheet, size);\n\n if (cells) {\n Object.entries(cells).forEach(([key, { value }]) => {\n const idx = addressToIndex(sheet, addressFromA1Notation(key));\n if (isFormula(value)) {\n value = mapFormulaRefsToIndices(sheet, value);\n }\n\n sheet.cells[idx] = { value };\n });\n }\n\n return sheet;\n};\n\n/**\n * E.g., \"A1\" => \"CA2@CB3\".\n */\nexport const addressToIndex = (sheet: SheetType, cell: CellAddress): string => {\n return `${sheet.columns[cell.col]}@${sheet.rows[cell.row]}`;\n};\n\n/**\n * E.g., \"CA2@CB3\" => \"A1\".\n */\nexport const addressFromIndex = (sheet: SheetType, idx: string): CellAddress => {\n const [column, row] = idx.split('@');\n return {\n col: sheet.columns.indexOf(column),\n row: sheet.rows.indexOf(row),\n };\n};\n\n/**\n * E.g., \"A1:B2\" => \"CA2@CB3:CC4@CD5\".\n */\nexport const rangeToIndex = (sheet: SheetType, range: CellRange): string => {\n return [range.from, range.to ?? range.from].map((cell) => addressToIndex(sheet, cell)).join(':');\n};\n\n/**\n * E.g., \"CA2@CB3:CC4@CD5\" => \"A1:B2\".\n */\nexport const rangeFromIndex = (sheet: SheetType, idx: string): CompleteCellRange => {\n const [from, to] = idx.split(':').map((index) => addressFromIndex(sheet, index));\n return { from, to };\n};\n\n/**\n * Compares the positions of two cell indexes in a sheet.\n * Sorts primarily by row, then by column if rows are equal.\n */\nexport const compareIndexPositions = (sheet: SheetType, indexA: string, indexB: string): number => {\n const { row: rowA, col: columnA } = addressFromIndex(sheet, indexA);\n const { row: rowB, col: columnB } = addressFromIndex(sheet, indexB);\n\n // Sort by row first, then by column.\n if (rowA !== rowB) {\n return rowA - rowB;\n } else {\n return columnA - columnB;\n }\n};\n\n// TODO(burdon): Tests.\n\n/**\n * Map from A1 notation to indices.\n */\nexport const mapFormulaRefsToIndices = (sheet: SheetType, formula: string): string => {\n invariant(isFormula(formula));\n return formula.replace(/([a-zA-Z]+)([0-9]+)/g, (match) => {\n return addressToIndex(sheet, addressFromA1Notation(match));\n });\n};\n\n/**\n * Map from indices to A1 notation.\n */\nexport const mapFormulaIndicesToRefs = (sheet: SheetType, formula: string): string => {\n invariant(isFormula(formula));\n return formula.replace(/([a-zA-Z0-9]+)@([a-zA-Z0-9]+)/g, (idx) => {\n return addressToA1Notation(addressFromIndex(sheet, idx));\n });\n};\n"],
5
- "mappings": "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",
6
- "names": ["Schema", "Type", "CellValue", "Schema", "Struct", "value", "Any", "Range", "range", "String", "key", "RowColumnMeta", "size", "optional", "Number", "SheetType", "name", "cells", "mutable", "Record", "rows", "Array", "columns", "rowMeta", "columnMeta", "ranges", "pipe", "Type", "Obj", "typename", "version", "alignKey", "commentKey", "styleKey", "cellClassNameForRange", "key", "value", "undefined", "Schema", "Event", "addressFromA1Notation", "addressToA1Notation", "createSheetName", "isFormula", "DetailedCellError", "ExportedCellChange", "Resource", "Obj", "FormatEnum", "TypeEnum", "invariant", "PublicKey", "log", "typeMap", "BOOLEAN", "type", "TypeEnum", "Boolean", "NUMBER_RAW", "Number", "NUMBER_PERCENT", "format", "FormatEnum", "Percent", "NUMBER_CURRENCY", "Currency", "NUMBER_DATETIME", "String", "DateTime", "NUMBER_DATE", "Date", "NUMBER_TIME", "Time", "getTopLeft", "range", "to", "from", "row", "Math", "min", "col", "toSimpleCellAddress", "sheet", "cell", "toModelRange", "start", "end", "SheetModel", "Resource", "_graph", "_sheet", "_options", "id", "PublicKey", "random", "truncate", "update", "Event", "graph", "readonly", "bounds", "rows", "length", "columns", "_open", "log", "initialize", "on", "event", "reset", "_node", "getOrCreateNode", "createSheetName", "Obj", "getTypename", "open", "unsubscribe", "emit", "_ctx", "onDispose", "invariant", "hf", "clearSheet", "sheetId", "Object", "entries", "cells", "forEach", "key", "value", "addressFromIndex", "isFormula", "binding", "mapFunctionBindingFromId", "mapFormulaIndicesToRefs", "mapFormulaToNative", "setCellContents", "recalculate", "rebuildAndRecalculate", "insertRows", "i", "n", "idx", "insertIndices", "MAX_ROWS", "insertColumns", "MAX_COLS", "dropRow", "rowIndex", "values", "getCellValues", "flat", "index", "indexOf", "clear", "splice", "rowMeta", "axis", "axisIndex", "axisMeta", "dropColumn", "colIndex", "columnMeta", "restoreRow", "restoreColumn", "topLeft", "_iterRange", "addressToIndex", "cut", "copy", "paste", "isClipboardEmpty", "changes", "change", "ExportedCellChange", "address", "newValue", "undo", "isThereSomethingToUndo", "redo", "isThereSomethingToRedo", "getCellValue", "getCellText", "undefined", "getValue", "DetailedCellError", "warn", "error", "toString", "getValueDescription", "addr", "getCellValueDetailedType", "setValue", "ReadonlyException", "refresh", "mapFunctionBindingToId", "mapFormulaRefsToIndices", "setValues", "addressFromA1Notation", "cb", "rowRange", "max", "columnRange", "rowCells", "column", "push", "_deleteIndices", "indices", "Error", "_moveIndices", "j", "formula", "replace", "addressToA1Notation", "toLocalDate", "num", "year", "month", "day", "hours", "minutes", "seconds", "toDateTime", "numberToDateTime", "toDate", "numberToDate", "toTime", "numberToTime", "useEffect", "useState", "useSheetModel", "graph", "sheet", "readonly", "model", "setModel", "useState", "useEffect", "t", "setTimeout", "SheetModel", "open", "clearTimeout", "close", "SheetAction", "SHEET_ACTION", "SHEET_PLUGIN", "Create", "Schema", "TaggedClass", "input", "Struct", "name", "optional", "String", "output", "object", "SheetType", "Axis", "Union", "Literal", "InsertAxis", "model", "Any", "pipe", "filter", "SheetModel", "axis", "index", "Number", "count", "Void", "RestoreAxis", "axisIndex", "axisMeta", "RowColumnMeta", "values", "Array", "DropAxis", "deletionData", "addressFromA1Notation", "addressToA1Notation", "isFormula", "randomBytes", "Obj", "invariant", "MAX_ROWS", "MAX_COLS", "DEFAULT_ROWS", "DEFAULT_COLS", "ApiError", "Error", "ReadonlyException", "RangeException", "n", "createIndex", "length", "characters", "charactersLength", "randomBuffer", "randomBytes", "Array", "from", "byte", "join", "createIndices", "map", "insertIndices", "indices", "i", "max", "idx", "splice", "initialize", "sheet", "rows", "columns", "createSheet", "name", "cells", "size", "Obj", "make", "SheetType", "rowMeta", "columnMeta", "ranges", "Object", "entries", "forEach", "key", "value", "addressToIndex", "addressFromA1Notation", "isFormula", "mapFormulaRefsToIndices", "cell", "col", "row", "addressFromIndex", "column", "split", "indexOf", "rangeToIndex", "range", "to", "rangeFromIndex", "index", "compareIndexPositions", "indexA", "indexB", "rowA", "columnA", "rowB", "columnB", "formula", "invariant", "replace", "match", "mapFormulaIndicesToRefs", "addressToA1Notation"]
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"sheet-manager.d.ts","sourceRoot":"","sources":["../../../../../src/testing/playwright/sheet-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE3E;;;GAGG;AACH,qBAAa,YAAY;gBACX,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO;IAKtC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IAEL,KAAK;IAKL,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxC,UAAU,CAAC,IAAI,EAAE,MAAM;IAIjB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASnE,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnE,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAIlD,UAAU,IAAI,OAAO;IAIrB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;CAGvC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sheet.spec.d.ts","sourceRoot":"","sources":["../../../../../src/testing/playwright/sheet.spec.ts"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { nxE2EPreset } from '@nx/playwright/preset';
6
- import { defineConfig } from '@playwright/test';
7
-
8
- import { e2ePreset } from '@dxos/test-utils/playwright';
9
-
10
- export default defineConfig({
11
- ...nxE2EPreset(__filename, { testDir: __dirname }),
12
- ...e2ePreset(__dirname),
13
- webServer: {
14
- command: 'pnpm -w nx storybook stories',
15
- port: 9009,
16
- reuseExistingServer: !process.env.CI,
17
- },
18
- });