@dxos/app-framework 0.8.1-staging.5be625a → 0.8.1-staging.97aedb1

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 (83) hide show
  1. package/dist/lib/browser/{app-graph-builder-OD3G2J2U.mjs → app-graph-builder-576BHZC7.mjs} +3 -3
  2. package/dist/lib/browser/{chunk-CESGLKOM.mjs → chunk-6AVTZPMT.mjs} +63 -44
  3. package/dist/lib/browser/chunk-6AVTZPMT.mjs.map +7 -0
  4. package/dist/lib/browser/{chunk-KP6FVIAA.mjs → chunk-PPIBZ5N4.mjs} +50 -7
  5. package/dist/lib/browser/chunk-PPIBZ5N4.mjs.map +7 -0
  6. package/dist/lib/browser/{chunk-CB3W6T5E.mjs → chunk-SFPT4Z2C.mjs} +1 -1
  7. package/dist/lib/browser/{chunk-CB3W6T5E.mjs.map → chunk-SFPT4Z2C.mjs.map} +2 -2
  8. package/dist/lib/browser/index.mjs +6 -6
  9. package/dist/lib/browser/{intent-dispatcher-RTXTATZJ.mjs → intent-dispatcher-3Q67MHZZ.mjs} +2 -2
  10. package/dist/lib/browser/{intent-resolver-ZL6WBF2L.mjs → intent-resolver-O763LCLG.mjs} +3 -3
  11. package/dist/lib/browser/meta.json +1 -1
  12. package/dist/lib/browser/{store-JIKLP4JL.mjs → store-URSN7DZI.mjs} +2 -2
  13. package/dist/lib/browser/testing/index.mjs +2 -2
  14. package/dist/lib/browser/worker.mjs +1 -1
  15. package/dist/lib/node/{app-graph-builder-S3ER53EH.cjs → app-graph-builder-JZCSKYPY.cjs} +28 -28
  16. package/dist/lib/node/{chunk-SCHC4AZQ.cjs → chunk-JUSEAFDU.cjs} +4 -4
  17. package/dist/lib/node/{chunk-SCHC4AZQ.cjs.map → chunk-JUSEAFDU.cjs.map} +2 -2
  18. package/dist/lib/node/{chunk-KRK7EH6Z.cjs → chunk-YIFTVCOR.cjs} +189 -170
  19. package/dist/lib/node/chunk-YIFTVCOR.cjs.map +7 -0
  20. package/dist/lib/node/{chunk-4YBMWZR3.cjs → chunk-YNTKVTVX.cjs} +66 -23
  21. package/dist/lib/node/{chunk-4YBMWZR3.cjs.map → chunk-YNTKVTVX.cjs.map} +3 -3
  22. package/dist/lib/node/index.cjs +78 -78
  23. package/dist/lib/node/{intent-dispatcher-TBTSYYGJ.cjs → intent-dispatcher-H334XLFD.cjs} +8 -8
  24. package/dist/lib/node/{intent-dispatcher-TBTSYYGJ.cjs.map → intent-dispatcher-H334XLFD.cjs.map} +2 -2
  25. package/dist/lib/node/{intent-resolver-IYW254AY.cjs → intent-resolver-3F4POWAM.cjs} +12 -12
  26. package/dist/lib/node/meta.json +1 -1
  27. package/dist/lib/node/{store-KGQB37IW.cjs → store-OFDHTDCB.cjs} +7 -7
  28. package/dist/lib/node/testing/index.cjs +8 -8
  29. package/dist/lib/node/worker.cjs +37 -37
  30. package/dist/lib/node/worker.cjs.map +1 -1
  31. package/dist/lib/node-esm/{app-graph-builder-UP3LWWYO.mjs → app-graph-builder-VYKLSMSZ.mjs} +3 -3
  32. package/dist/lib/node-esm/{chunk-RQWO2T4E.mjs → chunk-AHKIPS2L.mjs} +63 -44
  33. package/dist/lib/node-esm/chunk-AHKIPS2L.mjs.map +7 -0
  34. package/dist/lib/node-esm/{chunk-BSYAFUZ7.mjs → chunk-PHOUQACM.mjs} +1 -1
  35. package/dist/lib/node-esm/{chunk-BSYAFUZ7.mjs.map → chunk-PHOUQACM.mjs.map} +2 -2
  36. package/dist/lib/node-esm/{chunk-MZCAK52M.mjs → chunk-R6A7Z4LU.mjs} +50 -7
  37. package/dist/lib/node-esm/chunk-R6A7Z4LU.mjs.map +7 -0
  38. package/dist/lib/node-esm/index.mjs +6 -6
  39. package/dist/lib/node-esm/{intent-dispatcher-7UNJKY3C.mjs → intent-dispatcher-YDE2ONZA.mjs} +2 -2
  40. package/dist/lib/node-esm/{intent-resolver-6MHZSVCT.mjs → intent-resolver-LAGJ7LXM.mjs} +3 -3
  41. package/dist/lib/node-esm/meta.json +1 -1
  42. package/dist/lib/node-esm/{store-YSFTF2GM.mjs → store-EYSUVNCS.mjs} +2 -2
  43. package/dist/lib/node-esm/testing/index.mjs +2 -2
  44. package/dist/lib/node-esm/worker.mjs +1 -1
  45. package/dist/types/src/App.d.ts +4 -2
  46. package/dist/types/src/App.d.ts.map +1 -1
  47. package/dist/types/src/common/layout.d.ts +1 -0
  48. package/dist/types/src/common/layout.d.ts.map +1 -1
  49. package/dist/types/src/core/capabilities.d.ts +5 -3
  50. package/dist/types/src/core/capabilities.d.ts.map +1 -1
  51. package/dist/types/src/playground/playground.stories.d.ts.map +1 -1
  52. package/dist/types/src/plugin-intent/actions.d.ts +14 -0
  53. package/dist/types/src/plugin-intent/actions.d.ts.map +1 -1
  54. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts +1 -1
  55. package/dist/types/src/plugin-intent/intent-dispatcher.d.ts.map +1 -1
  56. package/dist/types/src/plugin-settings/actions.d.ts.map +1 -1
  57. package/package.json +20 -19
  58. package/src/App.tsx +65 -8
  59. package/src/common/layout.ts +1 -0
  60. package/src/core/capabilities.test.ts +3 -2
  61. package/src/core/capabilities.ts +11 -3
  62. package/src/core/manager.ts +2 -2
  63. package/src/playground/playground.stories.tsx +5 -1
  64. package/src/plugin-intent/actions.ts +11 -0
  65. package/src/plugin-intent/intent-dispatcher.ts +18 -5
  66. package/src/plugin-settings/actions.ts +2 -0
  67. package/src/testing/withPluginManager.stories.tsx +2 -2
  68. package/dist/lib/browser/chunk-CESGLKOM.mjs.map +0 -7
  69. package/dist/lib/browser/chunk-KP6FVIAA.mjs.map +0 -7
  70. package/dist/lib/node/chunk-KRK7EH6Z.cjs.map +0 -7
  71. package/dist/lib/node-esm/chunk-MZCAK52M.mjs.map +0 -7
  72. package/dist/lib/node-esm/chunk-RQWO2T4E.mjs.map +0 -7
  73. /package/dist/lib/browser/{app-graph-builder-OD3G2J2U.mjs.map → app-graph-builder-576BHZC7.mjs.map} +0 -0
  74. /package/dist/lib/browser/{intent-dispatcher-RTXTATZJ.mjs.map → intent-dispatcher-3Q67MHZZ.mjs.map} +0 -0
  75. /package/dist/lib/browser/{intent-resolver-ZL6WBF2L.mjs.map → intent-resolver-O763LCLG.mjs.map} +0 -0
  76. /package/dist/lib/browser/{store-JIKLP4JL.mjs.map → store-URSN7DZI.mjs.map} +0 -0
  77. /package/dist/lib/node/{app-graph-builder-S3ER53EH.cjs.map → app-graph-builder-JZCSKYPY.cjs.map} +0 -0
  78. /package/dist/lib/node/{intent-resolver-IYW254AY.cjs.map → intent-resolver-3F4POWAM.cjs.map} +0 -0
  79. /package/dist/lib/node/{store-KGQB37IW.cjs.map → store-OFDHTDCB.cjs.map} +0 -0
  80. /package/dist/lib/node-esm/{app-graph-builder-UP3LWWYO.mjs.map → app-graph-builder-VYKLSMSZ.mjs.map} +0 -0
  81. /package/dist/lib/node-esm/{intent-dispatcher-7UNJKY3C.mjs.map → intent-dispatcher-YDE2ONZA.mjs.map} +0 -0
  82. /package/dist/lib/node-esm/{intent-resolver-6MHZSVCT.mjs.map → intent-resolver-LAGJ7LXM.mjs.map} +0 -0
  83. /package/dist/lib/node-esm/{store-YSFTF2GM.mjs.map → store-EYSUVNCS.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"inputs":{"packages/sdk/app-framework/src/core/capabilities.ts":{"bytes":19658,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/core/events.ts":{"bytes":5043,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/core/manager.ts":{"bytes":54827,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"packages/sdk/app-framework/src/core/plugin.ts":{"bytes":7200,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/core/index.ts":{"bytes":770,"imports":[{"path":"packages/sdk/app-framework/src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/sdk/app-framework/src/core/manager.ts","kind":"import-statement","original":"./manager"},{"path":"packages/sdk/app-framework/src/core/plugin.ts","kind":"import-statement","original":"./plugin"}],"format":"esm"},"packages/sdk/app-framework/src/common/capabilities.ts":{"bytes":9304,"imports":[{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/common/events.ts":{"bytes":6715,"imports":[{"path":"packages/sdk/app-framework/src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/common/file.ts":{"bytes":2506,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/common/graph.ts":{"bytes":1434,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/intent.ts":{"bytes":9977,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/actions.ts":{"bytes":2307,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/errors.ts":{"bytes":3874,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts":{"bytes":29634,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-intent/errors.ts","kind":"import-statement","original":"./errors"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx":{"bytes":3069,"imports":[{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","kind":"dynamic-import","original":"./intent-dispatcher"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/index.ts":{"bytes":810,"imports":[{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","kind":"import-statement","original":"./intent-dispatcher"},{"path":"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx","kind":"import-statement","original":"./IntentPlugin"}],"format":"esm"},"packages/sdk/app-framework/src/common/layout.ts":{"bytes":37552,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/common/surface.ts":{"bytes":4159,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/common/translations.ts":{"bytes":2172,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/common/index.ts":{"bytes":1037,"imports":[{"path":"packages/sdk/app-framework/src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/common/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/sdk/app-framework/src/common/file.ts","kind":"import-statement","original":"./file"},{"path":"packages/sdk/app-framework/src/common/graph.ts","kind":"import-statement","original":"./graph"},{"path":"packages/sdk/app-framework/src/common/layout.ts","kind":"import-statement","original":"./layout"},{"path":"packages/sdk/app-framework/src/common/surface.ts","kind":"import-statement","original":"./surface"},{"path":"packages/sdk/app-framework/src/common/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/sdk/app-framework/src/helpers.ts":{"bytes":5078,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/react/PluginManagerProvider.ts":{"bytes":2070,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/react/useCapabilities.ts":{"bytes":3774,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"}],"format":"esm"},"packages/sdk/app-framework/src/react/common.ts":{"bytes":1609,"imports":[{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/sdk/app-framework/src/react/ErrorBoundary.tsx":{"bytes":4327,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/react/Surface.tsx":{"bytes":10541,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/sdk/app-framework/src/react/useIntentResolver.ts":{"bytes":2530,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"../react"}],"format":"esm"},"packages/sdk/app-framework/src/react/index.ts":{"bytes":1035,"imports":[{"path":"packages/sdk/app-framework/src/react/common.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"},{"path":"packages/sdk/app-framework/src/react/Surface.tsx","kind":"import-statement","original":"./Surface"},{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/react/useIntentResolver.ts","kind":"import-statement","original":"./useIntentResolver"}],"format":"esm"},"packages/sdk/app-framework/src/App.tsx":{"bytes":18283,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/actions.ts":{"bytes":3102,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/translations.ts":{"bytes":1354,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/store.ts":{"bytes":3782,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts":{"bytes":3862,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts":{"bytes":16314,"imports":[{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts":{"bytes":4960,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-settings/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-settings/store.ts","kind":"dynamic-import","original":"./store"},{"path":"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/index.ts":{"bytes":619,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts","kind":"import-statement","original":"./SettingsPlugin"}],"format":"esm"},"packages/sdk/app-framework/src/index.ts":{"bytes":944,"imports":[{"path":"packages/sdk/app-framework/src/App.tsx","kind":"import-statement","original":"./App"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"},{"path":"packages/sdk/app-framework/src/plugin-settings/index.ts","kind":"import-statement","original":"./plugin-settings"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"packages/sdk/app-framework/src/testing/withPluginManager.tsx":{"bytes":8852,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/App.tsx","kind":"import-statement","original":"../App"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/testing/index.ts":{"bytes":531,"imports":[{"path":"packages/sdk/app-framework/src/testing/withPluginManager.tsx","kind":"import-statement","original":"./withPluginManager"}],"format":"esm"},"packages/sdk/app-framework/src/worker.ts":{"bytes":1287,"imports":[{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"}],"format":"esm"}},"outputs":{"packages/sdk/app-framework/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2832},"packages/sdk/app-framework/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-MZCAK52M.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-BSYAFUZ7.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-RQWO2T4E.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/store-YSFTF2GM.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/intent-resolver-6MHZSVCT.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/app-graph-builder-UP3LWWYO.mjs","kind":"dynamic-import"}],"exports":["Capabilities","ErrorBoundary","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginManagerProvider","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction","SettingsPlugin","Surface","allOf","chain","contributes","createApp","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","isSurfaceAvailable","lazy","oneOf","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"entryPoint":"packages/sdk/app-framework/src/index.ts","inputs":{"packages/sdk/app-framework/src/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-settings/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-settings/translations.ts":{"bytesInOutput":228},"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts":{"bytesInOutput":932}},"bytes":3269},"packages/sdk/app-framework/dist/lib/node-esm/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4481},"packages/sdk/app-framework/dist/lib/node-esm/testing/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-MZCAK52M.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-RQWO2T4E.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["setupPluginManager","withPluginManager"],"entryPoint":"packages/sdk/app-framework/src/testing/index.ts","inputs":{"packages/sdk/app-framework/src/testing/withPluginManager.tsx":{"bytesInOutput":1742},"packages/sdk/app-framework/src/testing/index.ts":{"bytesInOutput":0}},"bytes":2171},"packages/sdk/app-framework/dist/lib/node-esm/chunk-MZCAK52M.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":23737},"packages/sdk/app-framework/dist/lib/node-esm/chunk-MZCAK52M.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-RQWO2T4E.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["ErrorBoundary","PluginManagerProvider","Surface","createApp","isSurfaceAvailable","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"inputs":{"packages/sdk/app-framework/src/react/PluginManagerProvider.ts":{"bytesInOutput":312},"packages/sdk/app-framework/src/react/useCapabilities.ts":{"bytesInOutput":568},"packages/sdk/app-framework/src/react/common.ts":{"bytesInOutput":198},"packages/sdk/app-framework/src/react/ErrorBoundary.tsx":{"bytesInOutput":705},"packages/sdk/app-framework/src/react/Surface.tsx":{"bytesInOutput":1836},"packages/sdk/app-framework/src/react/useIntentResolver.ts":{"bytesInOutput":414},"packages/sdk/app-framework/src/react/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/App.tsx":{"bytesInOutput":3525},"packages/sdk/app-framework/src/helpers.ts":{"bytesInOutput":1049}},"bytes":9551},"packages/sdk/app-framework/dist/lib/node-esm/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/node-esm/worker.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-RQWO2T4E.mjs","kind":"import-statement"}],"exports":["Capabilities","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","lazy","oneOf"],"entryPoint":"packages/sdk/app-framework/src/worker.ts","inputs":{"packages/sdk/app-framework/src/worker.ts":{"bytesInOutput":0}},"bytes":1242},"packages/sdk/app-framework/dist/lib/node-esm/intent-dispatcher-7UNJKY3C.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/node-esm/intent-dispatcher-7UNJKY3C.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-RQWO2T4E.mjs","kind":"import-statement"}],"exports":["createDispatcher","createResolver","default"],"entryPoint":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","inputs":{},"bytes":343},"packages/sdk/app-framework/dist/lib/node-esm/store-YSFTF2GM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2001},"packages/sdk/app-framework/dist/lib/node-esm/store-YSFTF2GM.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-RQWO2T4E.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/store.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/store.ts":{"bytesInOutput":782}},"bytes":1087},"packages/sdk/app-framework/dist/lib/node-esm/intent-resolver-6MHZSVCT.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1820},"packages/sdk/app-framework/dist/lib/node-esm/intent-resolver-6MHZSVCT.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-BSYAFUZ7.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-RQWO2T4E.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts":{"bytesInOutput":577}},"bytes":1059},"packages/sdk/app-framework/dist/lib/node-esm/app-graph-builder-UP3LWWYO.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7444},"packages/sdk/app-framework/dist/lib/node-esm/app-graph-builder-UP3LWWYO.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-BSYAFUZ7.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-RQWO2T4E.mjs","kind":"import-statement"},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts":{"bytesInOutput":3625}},"bytes":4089},"packages/sdk/app-framework/dist/lib/node-esm/chunk-BSYAFUZ7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1516},"packages/sdk/app-framework/dist/lib/node-esm/chunk-BSYAFUZ7.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true}],"exports":["SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction"],"inputs":{"packages/sdk/app-framework/src/plugin-settings/actions.ts":{"bytesInOutput":696}},"bytes":993},"packages/sdk/app-framework/dist/lib/node-esm/chunk-RQWO2T4E.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":99460},"packages/sdk/app-framework/dist/lib/node-esm/chunk-RQWO2T4E.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/dist/lib/node-esm/intent-dispatcher-7UNJKY3C.mjs","kind":"dynamic-import"},{"path":"effect","kind":"import-statement","external":true}],"exports":["Capabilities","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","intent_dispatcher_default","isAllOf","isOneOf","lazy","oneOf"],"inputs":{"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts":{"bytesInOutput":5325},"packages/sdk/app-framework/src/plugin-intent/actions.ts":{"bytesInOutput":412},"packages/sdk/app-framework/src/plugin-intent/intent.ts":{"bytesInOutput":790},"packages/sdk/app-framework/src/plugin-intent/errors.ts":{"bytesInOutput":662},"packages/sdk/app-framework/src/core/capabilities.ts":{"bytesInOutput":4123},"packages/sdk/app-framework/src/core/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/core/events.ts":{"bytesInOutput":512},"packages/sdk/app-framework/src/core/manager.ts":{"bytesInOutput":14797},"packages/sdk/app-framework/src/core/plugin.ts":{"bytesInOutput":516},"packages/sdk/app-framework/src/common/capabilities.ts":{"bytesInOutput":1852},"packages/sdk/app-framework/src/common/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/common/events.ts":{"bytesInOutput":1232},"packages/sdk/app-framework/src/common/file.ts":{"bytesInOutput":368},"packages/sdk/app-framework/src/common/layout.ts":{"bytesInOutput":10581},"packages/sdk/app-framework/src/plugin-intent/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx":{"bytesInOutput":620},"packages/sdk/app-framework/src/common/surface.ts":{"bytesInOutput":48},"packages/sdk/app-framework/src/common/translations.ts":{"bytesInOutput":281}},"bytes":43854}}}
1
+ {"inputs":{"packages/sdk/app-framework/src/core/capabilities.ts":{"bytes":20661,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/core/events.ts":{"bytes":5043,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/core/manager.ts":{"bytes":54817,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/events.ts","kind":"import-statement","original":"./events"}],"format":"esm"},"packages/sdk/app-framework/src/core/plugin.ts":{"bytes":7200,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/core/index.ts":{"bytes":770,"imports":[{"path":"packages/sdk/app-framework/src/core/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/sdk/app-framework/src/core/manager.ts","kind":"import-statement","original":"./manager"},{"path":"packages/sdk/app-framework/src/core/plugin.ts","kind":"import-statement","original":"./plugin"}],"format":"esm"},"packages/sdk/app-framework/src/common/capabilities.ts":{"bytes":9304,"imports":[{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/common/events.ts":{"bytes":6715,"imports":[{"path":"packages/sdk/app-framework/src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/common/file.ts":{"bytes":2506,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/common/graph.ts":{"bytes":1434,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/intent.ts":{"bytes":9977,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/actions.ts":{"bytes":3337,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/errors.ts":{"bytes":3874,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts":{"bytes":31032,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-intent/errors.ts","kind":"import-statement","original":"./errors"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx":{"bytes":3069,"imports":[{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","kind":"dynamic-import","original":"./intent-dispatcher"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-intent/index.ts":{"bytes":810,"imports":[{"path":"packages/sdk/app-framework/src/plugin-intent/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent.ts","kind":"import-statement","original":"./intent"},{"path":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","kind":"import-statement","original":"./intent-dispatcher"},{"path":"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx","kind":"import-statement","original":"./IntentPlugin"}],"format":"esm"},"packages/sdk/app-framework/src/common/layout.ts":{"bytes":37964,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/common/surface.ts":{"bytes":4159,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/common/translations.ts":{"bytes":2172,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/common/index.ts":{"bytes":1037,"imports":[{"path":"packages/sdk/app-framework/src/common/capabilities.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/sdk/app-framework/src/common/events.ts","kind":"import-statement","original":"./events"},{"path":"packages/sdk/app-framework/src/common/file.ts","kind":"import-statement","original":"./file"},{"path":"packages/sdk/app-framework/src/common/graph.ts","kind":"import-statement","original":"./graph"},{"path":"packages/sdk/app-framework/src/common/layout.ts","kind":"import-statement","original":"./layout"},{"path":"packages/sdk/app-framework/src/common/surface.ts","kind":"import-statement","original":"./surface"},{"path":"packages/sdk/app-framework/src/common/translations.ts","kind":"import-statement","original":"./translations"}],"format":"esm"},"packages/sdk/app-framework/src/helpers.ts":{"bytes":5078,"imports":[],"format":"esm"},"packages/sdk/app-framework/src/react/PluginManagerProvider.ts":{"bytes":2070,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/react/useCapabilities.ts":{"bytes":3774,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"}],"format":"esm"},"packages/sdk/app-framework/src/react/common.ts":{"bytes":1609,"imports":[{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/sdk/app-framework/src/react/ErrorBoundary.tsx":{"bytes":4327,"imports":[{"path":"react","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/react/Surface.tsx":{"bytes":10541,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"}],"format":"esm"},"packages/sdk/app-framework/src/react/useIntentResolver.ts":{"bytes":2530,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"../react"}],"format":"esm"},"packages/sdk/app-framework/src/react/index.ts":{"bytes":1035,"imports":[{"path":"packages/sdk/app-framework/src/react/common.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/react/ErrorBoundary.tsx","kind":"import-statement","original":"./ErrorBoundary"},{"path":"packages/sdk/app-framework/src/react/PluginManagerProvider.ts","kind":"import-statement","original":"./PluginManagerProvider"},{"path":"packages/sdk/app-framework/src/react/Surface.tsx","kind":"import-statement","original":"./Surface"},{"path":"packages/sdk/app-framework/src/react/useCapabilities.ts","kind":"import-statement","original":"./useCapabilities"},{"path":"packages/sdk/app-framework/src/react/useIntentResolver.ts","kind":"import-statement","original":"./useIntentResolver"}],"format":"esm"},"packages/sdk/app-framework/src/App.tsx":{"bytes":23229,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/actions.ts":{"bytes":3540,"imports":[{"path":"effect","kind":"import-statement","external":true}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/translations.ts":{"bytes":1354,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/store.ts":{"bytes":3782,"imports":[{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts":{"bytes":3862,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts":{"bytes":16314,"imports":[{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"../plugin-intent"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts":{"bytes":4960,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-settings/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"},{"path":"packages/sdk/app-framework/src/plugin-settings/store.ts","kind":"dynamic-import","original":"./store"},{"path":"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts","kind":"dynamic-import","original":"./app-graph-builder"}],"format":"esm"},"packages/sdk/app-framework/src/plugin-settings/index.ts":{"bytes":619,"imports":[{"path":"packages/sdk/app-framework/src/plugin-settings/actions.ts","kind":"import-statement","original":"./actions"},{"path":"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts","kind":"import-statement","original":"./SettingsPlugin"}],"format":"esm"},"packages/sdk/app-framework/src/index.ts":{"bytes":944,"imports":[{"path":"packages/sdk/app-framework/src/App.tsx","kind":"import-statement","original":"./App"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"},{"path":"packages/sdk/app-framework/src/plugin-settings/index.ts","kind":"import-statement","original":"./plugin-settings"},{"path":"packages/sdk/app-framework/src/react/index.ts","kind":"import-statement","original":"./react"}],"format":"esm"},"packages/sdk/app-framework/src/testing/withPluginManager.tsx":{"bytes":8852,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/src/App.tsx","kind":"import-statement","original":"../App"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"../common"},{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"../core"}],"format":"esm"},"packages/sdk/app-framework/src/testing/index.ts":{"bytes":531,"imports":[{"path":"packages/sdk/app-framework/src/testing/withPluginManager.tsx","kind":"import-statement","original":"./withPluginManager"}],"format":"esm"},"packages/sdk/app-framework/src/worker.ts":{"bytes":1287,"imports":[{"path":"packages/sdk/app-framework/src/core/index.ts","kind":"import-statement","original":"./core"},{"path":"packages/sdk/app-framework/src/common/index.ts","kind":"import-statement","original":"./common"},{"path":"packages/sdk/app-framework/src/plugin-intent/index.ts","kind":"import-statement","original":"./plugin-intent"}],"format":"esm"}},"outputs":{"packages/sdk/app-framework/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2832},"packages/sdk/app-framework/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-R6A7Z4LU.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-PHOUQACM.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-AHKIPS2L.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/store-EYSUVNCS.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/intent-resolver-LAGJ7LXM.mjs","kind":"dynamic-import"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/app-graph-builder-VYKLSMSZ.mjs","kind":"dynamic-import"}],"exports":["Capabilities","ErrorBoundary","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginManagerProvider","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction","SettingsPlugin","Surface","allOf","chain","contributes","createApp","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","isSurfaceAvailable","lazy","oneOf","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"entryPoint":"packages/sdk/app-framework/src/index.ts","inputs":{"packages/sdk/app-framework/src/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-settings/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-settings/translations.ts":{"bytesInOutput":228},"packages/sdk/app-framework/src/plugin-settings/SettingsPlugin.ts":{"bytesInOutput":932}},"bytes":3269},"packages/sdk/app-framework/dist/lib/node-esm/testing/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4481},"packages/sdk/app-framework/dist/lib/node-esm/testing/index.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-R6A7Z4LU.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-AHKIPS2L.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true}],"exports":["setupPluginManager","withPluginManager"],"entryPoint":"packages/sdk/app-framework/src/testing/index.ts","inputs":{"packages/sdk/app-framework/src/testing/withPluginManager.tsx":{"bytesInOutput":1742},"packages/sdk/app-framework/src/testing/index.ts":{"bytesInOutput":0}},"bytes":2171},"packages/sdk/app-framework/dist/lib/node-esm/chunk-R6A7Z4LU.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":26154},"packages/sdk/app-framework/dist/lib/node-esm/chunk-R6A7Z4LU.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-AHKIPS2L.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/debug","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-hooks","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true}],"exports":["ErrorBoundary","PluginManagerProvider","Surface","createApp","isSurfaceAvailable","useAppGraph","useCapabilities","useCapability","useIntentDispatcher","useIntentResolver","useLayout","usePluginManager","useSurfaces"],"inputs":{"packages/sdk/app-framework/src/react/PluginManagerProvider.ts":{"bytesInOutput":312},"packages/sdk/app-framework/src/react/useCapabilities.ts":{"bytesInOutput":568},"packages/sdk/app-framework/src/react/common.ts":{"bytesInOutput":198},"packages/sdk/app-framework/src/react/ErrorBoundary.tsx":{"bytesInOutput":705},"packages/sdk/app-framework/src/react/Surface.tsx":{"bytesInOutput":1836},"packages/sdk/app-framework/src/react/useIntentResolver.ts":{"bytesInOutput":414},"packages/sdk/app-framework/src/react/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/App.tsx":{"bytesInOutput":4642},"packages/sdk/app-framework/src/helpers.ts":{"bytesInOutput":1049}},"bytes":10668},"packages/sdk/app-framework/dist/lib/node-esm/worker.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/node-esm/worker.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-AHKIPS2L.mjs","kind":"import-statement"}],"exports":["Capabilities","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","isAllOf","isOneOf","lazy","oneOf"],"entryPoint":"packages/sdk/app-framework/src/worker.ts","inputs":{"packages/sdk/app-framework/src/worker.ts":{"bytesInOutput":0}},"bytes":1242},"packages/sdk/app-framework/dist/lib/node-esm/intent-dispatcher-YDE2ONZA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/sdk/app-framework/dist/lib/node-esm/intent-dispatcher-YDE2ONZA.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-AHKIPS2L.mjs","kind":"import-statement"}],"exports":["createDispatcher","createResolver","default"],"entryPoint":"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts","inputs":{},"bytes":343},"packages/sdk/app-framework/dist/lib/node-esm/store-EYSUVNCS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2001},"packages/sdk/app-framework/dist/lib/node-esm/store-EYSUVNCS.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-AHKIPS2L.mjs","kind":"import-statement"},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"@dxos/local-storage","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/store.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/store.ts":{"bytesInOutput":782}},"bytes":1087},"packages/sdk/app-framework/dist/lib/node-esm/intent-resolver-LAGJ7LXM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1820},"packages/sdk/app-framework/dist/lib/node-esm/intent-resolver-LAGJ7LXM.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-PHOUQACM.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-AHKIPS2L.mjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/intent-resolver.ts":{"bytesInOutput":577}},"bytes":1059},"packages/sdk/app-framework/dist/lib/node-esm/app-graph-builder-VYKLSMSZ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":7444},"packages/sdk/app-framework/dist/lib/node-esm/app-graph-builder-VYKLSMSZ.mjs":{"imports":[{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-PHOUQACM.mjs","kind":"import-statement"},{"path":"packages/sdk/app-framework/dist/lib/node-esm/chunk-AHKIPS2L.mjs","kind":"import-statement"},{"path":"@dxos/app-graph","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts","inputs":{"packages/sdk/app-framework/src/plugin-settings/app-graph-builder.ts":{"bytesInOutput":3625}},"bytes":4089},"packages/sdk/app-framework/dist/lib/node-esm/chunk-PHOUQACM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1688},"packages/sdk/app-framework/dist/lib/node-esm/chunk-PHOUQACM.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true}],"exports":["SETTINGS_ACTION","SETTINGS_ID","SETTINGS_KEY","SETTINGS_PLUGIN","SettingsAction"],"inputs":{"packages/sdk/app-framework/src/plugin-settings/actions.ts":{"bytesInOutput":696}},"bytes":993},"packages/sdk/app-framework/dist/lib/node-esm/chunk-AHKIPS2L.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":101225},"packages/sdk/app-framework/dist/lib/node-esm/chunk-AHKIPS2L.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"@preact/signals-core","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/log","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"packages/sdk/app-framework/dist/lib/node-esm/intent-dispatcher-YDE2ONZA.mjs","kind":"dynamic-import"},{"path":"effect","kind":"import-statement","external":true}],"exports":["Capabilities","Events","FileInfoSchema","INTENT_ACTION","INTENT_PLUGIN","IntentAction","IntentPlugin","LAYOUT_ACTION","LAYOUT_PLUGIN","Label","LayoutAction","Plugin","PluginManager","PluginModule","PluginsContext","Resource","ResourceKey","ResourceLanguage","allOf","chain","contributes","createDispatcher","createIntent","createResolver","createSurface","defaultFileTypes","defineCapability","defineEvent","defineModule","definePlugin","eventKey","getEvents","intent_dispatcher_default","isAllOf","isOneOf","lazy","oneOf"],"inputs":{"packages/sdk/app-framework/src/plugin-intent/intent-dispatcher.ts":{"bytesInOutput":5360},"packages/sdk/app-framework/src/plugin-intent/actions.ts":{"bytesInOutput":644},"packages/sdk/app-framework/src/plugin-intent/intent.ts":{"bytesInOutput":790},"packages/sdk/app-framework/src/plugin-intent/errors.ts":{"bytesInOutput":662},"packages/sdk/app-framework/src/core/capabilities.ts":{"bytesInOutput":4338},"packages/sdk/app-framework/src/core/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/core/events.ts":{"bytesInOutput":512},"packages/sdk/app-framework/src/core/manager.ts":{"bytesInOutput":14835},"packages/sdk/app-framework/src/core/plugin.ts":{"bytesInOutput":516},"packages/sdk/app-framework/src/common/capabilities.ts":{"bytesInOutput":1852},"packages/sdk/app-framework/src/common/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/common/events.ts":{"bytesInOutput":1232},"packages/sdk/app-framework/src/common/file.ts":{"bytesInOutput":368},"packages/sdk/app-framework/src/common/layout.ts":{"bytesInOutput":10705},"packages/sdk/app-framework/src/plugin-intent/index.ts":{"bytesInOutput":0},"packages/sdk/app-framework/src/plugin-intent/IntentPlugin.tsx":{"bytesInOutput":620},"packages/sdk/app-framework/src/common/surface.ts":{"bytesInOutput":48},"packages/sdk/app-framework/src/common/translations.ts":{"bytesInOutput":281}},"bytes":44498}}}
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  Capabilities,
4
4
  contributes
5
- } from "./chunk-RQWO2T4E.mjs";
5
+ } from "./chunk-AHKIPS2L.mjs";
6
6
 
7
7
  // packages/sdk/app-framework/src/plugin-settings/store.ts
8
8
  import { effect } from "@preact/signals-core";
@@ -27,4 +27,4 @@ var store_default = (context) => {
27
27
  export {
28
28
  store_default as default
29
29
  };
30
- //# sourceMappingURL=store-YSFTF2GM.mjs.map
30
+ //# sourceMappingURL=store-EYSUVNCS.mjs.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  createApp
4
- } from "../chunk-MZCAK52M.mjs";
4
+ } from "../chunk-R6A7Z4LU.mjs";
5
5
  import {
6
6
  Capabilities,
7
7
  Events,
@@ -9,7 +9,7 @@ import {
9
9
  contributes,
10
10
  defineModule,
11
11
  definePlugin
12
- } from "../chunk-RQWO2T4E.mjs";
12
+ } from "../chunk-AHKIPS2L.mjs";
13
13
 
14
14
  // packages/sdk/app-framework/src/testing/withPluginManager.tsx
15
15
  import React, { useEffect } from "react";
@@ -36,7 +36,7 @@ import {
36
36
  isOneOf,
37
37
  lazy,
38
38
  oneOf
39
- } from "./chunk-RQWO2T4E.mjs";
39
+ } from "./chunk-AHKIPS2L.mjs";
40
40
  export {
41
41
  Capabilities,
42
42
  Events,
@@ -1,4 +1,4 @@
1
- import React, { type ReactNode } from 'react';
1
+ import React, { type FC } from 'react';
2
2
  import { PluginManager, type PluginManagerOptions, type Plugin } from './core';
3
3
  import { ErrorBoundary } from './react';
4
4
  export type CreateAppOptions = {
@@ -7,7 +7,9 @@ export type CreateAppOptions = {
7
7
  plugins?: Plugin[];
8
8
  core?: string[];
9
9
  defaults?: string[];
10
- placeholder?: ReactNode;
10
+ placeholder?: FC<{
11
+ stage: number;
12
+ }>;
11
13
  fallback?: ErrorBoundary['props']['fallback'];
12
14
  cacheEnabled?: boolean;
13
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/App.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAA0B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMtE,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE/E,OAAO,EAAE,aAAa,EAA0C,MAAM,SAAS,CAAC;AAIhF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,SAAS,kHASnB,gBAAgB,4BAiDlB,CAAC"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/App.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAuB,KAAK,EAAE,EAA0B,MAAM,OAAO,CAAC;AAMpF,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE/E,OAAO,EAAE,aAAa,EAA0C,MAAM,SAAS,CAAC;AAIhF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACpD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,EAAE,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,SAAS,kHASnB,gBAAgB,4BAiDlB,CAAC"}
@@ -196,6 +196,7 @@ export declare namespace LayoutAction {
196
196
  subject: S.Array$<S.SchemaClass<string, string, never>>;
197
197
  options: S.optional<S.Struct<{
198
198
  state: S.optional<S.Literal<[true]>>;
199
+ variant: S.optional<S.SchemaClass<string, string, never>>;
199
200
  key: S.optional<S.SchemaClass<string, string, never>>;
200
201
  scrollIntoView: S.optional<S.SchemaClass<boolean, boolean, never>>;
201
202
  pivotId: S.optional<S.SchemaClass<string, string, never>>;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/common/layout.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAIrC,eAAO,MAAM,aAAa,2BAA2B,CAAC;AACtD,eAAO,MAAM,aAAa,kCAA4B,CAAC;AAEvD;;GAEG;AACH,yBAAiB,YAAY,CAAC;IAC5B,MAAM,CAAC,MAAM,aAAa,gDAAmC,CAAC;;;;;;;;;;;IAE9D;;OAEG;IACH,MAAM,OAAO,YAAa,SAAQ,iBAWhC;KAAG;;;;;;;;;;;;;;;IAYL,MAAM,OAAO,aAAc,SAAQ,kBAUjC;KAAG;;;;;;;;;;;;;IAEL,MAAM,OAAO,aAAc,SAAQ,kBAajC;KAAG;;;;;;;;;;;;;IAEL,MAAM,OAAO,mBAAoB,SAAQ,wBAevC;KAAG;;;;;;;;;;;;;;;;IAEL,MAAM,OAAO,YAAa,SAAQ,iBAkBhC;KAAG;;;;;;;;;;;;;;;;IAEL,MAAM,OAAO,aAAc,SAAQ,kBAkBjC;KAAG;IAEL,MAAM,CAAC,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;MAYhB,CAAC;IAEH,MAAM,WAAW,KAAM,SAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,UAAU,CAAC;QAC1E,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;KACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAED,MAAM,OAAO,QAAS,SAAQ,aAM5B;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,eAAgB,SAAQ,oBAMnC;KAAG;;;;;;;;;;;;IAEL,MAAM,OAAO,eAAgB,SAAQ,oBAQnC;KAAG;;;;;;;;;;;;;;;;;IAEL,MAAM,OAAO,IAAK,SAAQ,SAsBxB;KAAG;;;;;;;;;;;;;IAEL,MAAM,OAAO,GAAI,SAAQ,QASvB;KAAG;;;;;;;;;;;;;IAEL,MAAM,OAAO,KAAM,SAAQ,UASzB;KAAG;;;;;;;;;;;IAEL,MAAM,OAAO,cAAe,SAAQ,mBAWlC;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,MAAO,SAAQ,WAM1B;KAAG;;CACN"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/common/layout.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAIrC,eAAO,MAAM,aAAa,2BAA2B,CAAC;AACtD,eAAO,MAAM,aAAa,kCAA4B,CAAC;AAEvD;;GAEG;AACH,yBAAiB,YAAY,CAAC;IAC5B,MAAM,CAAC,MAAM,aAAa,gDAAmC,CAAC;;;;;;;;;;;IAE9D;;OAEG;IACH,MAAM,OAAO,YAAa,SAAQ,iBAWhC;KAAG;;;;;;;;;;;;;;;IAYL,MAAM,OAAO,aAAc,SAAQ,kBAUjC;KAAG;;;;;;;;;;;;;IAEL,MAAM,OAAO,aAAc,SAAQ,kBAajC;KAAG;;;;;;;;;;;;;IAEL,MAAM,OAAO,mBAAoB,SAAQ,wBAevC;KAAG;;;;;;;;;;;;;;;;IAEL,MAAM,OAAO,YAAa,SAAQ,iBAkBhC;KAAG;;;;;;;;;;;;;;;;IAEL,MAAM,OAAO,aAAc,SAAQ,kBAkBjC;KAAG;IAEL,MAAM,CAAC,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;MAYhB,CAAC;IAEH,MAAM,WAAW,KAAM,SAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,UAAU,CAAC;QAC1E,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;KACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAED,MAAM,OAAO,QAAS,SAAQ,aAM5B;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,eAAgB,SAAQ,oBAMnC;KAAG;;;;;;;;;;;;IAEL,MAAM,OAAO,eAAgB,SAAQ,oBAQnC;KAAG;;;;;;;;;;;;;;;;;;IAEL,MAAM,OAAO,IAAK,SAAQ,SAuBxB;KAAG;;;;;;;;;;;;;IAEL,MAAM,OAAO,GAAI,SAAQ,QASvB;KAAG;;;;;;;;;;;;;IAEL,MAAM,OAAO,KAAM,SAAQ,UASzB;KAAG;;;;;;;;;;;IAEL,MAAM,OAAO,cAAe,SAAQ,mBAWlC;KAAG;;;;;;;;;;IAEL,MAAM,OAAO,MAAO,SAAQ,WAM1B;KAAG;;CACN"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Interface definition for a capability.
3
3
  */
4
- import { type Effect } from 'effect';
4
+ import { Effect } from 'effect';
5
5
  import { type MaybePromise } from '@dxos/util';
6
6
  import { type ActivationEvent } from './events';
7
7
  declare const InterfaceDefTypeId: unique symbol;
@@ -35,8 +35,8 @@ export type Capability<T> = {
35
35
  };
36
36
  export type AnyCapability = Capability<any>;
37
37
  type PluginsContextOptions = {
38
- activate: (event: ActivationEvent) => MaybePromise<boolean>;
39
- reset: (event: ActivationEvent) => MaybePromise<boolean>;
38
+ activate: (event: ActivationEvent) => Effect.Effect<boolean, Error>;
39
+ reset: (event: ActivationEvent) => Effect.Effect<boolean, Error>;
40
40
  };
41
41
  /**
42
42
  * Helper to define the implementation of a capability.
@@ -89,6 +89,8 @@ export declare class PluginsContext {
89
89
  * @returns The capability.
90
90
  */
91
91
  waitForCapability<T, U extends T = T>(interfaceDef: InterfaceDef<T>, filter?: (capability: T) => capability is U): Promise<U>;
92
+ activatePromise(event: ActivationEvent): Promise<boolean>;
93
+ resetPromise(event: ActivationEvent): Promise<boolean>;
92
94
  }
93
95
  export {};
94
96
  //# sourceMappingURL=capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/core/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/core/capabilities.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"playground.stories.d.ts","sourceRoot":"","sources":["../../../../src/playground/playground.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,MAAM,OAAO,CAAC;AAqB1B,eAAO,MAAM,UAAU,IAAK,CAAC;;;;;;AAE7B,wBAIE"}
1
+ {"version":3,"file":"playground.stories.d.ts","sourceRoot":"","sources":["../../../../src/playground/playground.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAK,MAAM,OAAO,CAAC;AAyB1B,eAAO,MAAM,UAAU,IAAK,CAAC;;;;;;AAE7B,wBAIE"}
@@ -2,6 +2,20 @@ import { Schema as S } from 'effect';
2
2
  export declare const INTENT_PLUGIN = "dxos.org/plugin/intent";
3
3
  export declare const INTENT_ACTION = "dxos.org/plugin/intent/action";
4
4
  export declare namespace IntentAction {
5
+ const Track_base: S.TaggedClass<Track, "dxos.org/plugin/intent/action/track", {
6
+ readonly _tag: S.tag<"dxos.org/plugin/intent/action/track">;
7
+ } & {
8
+ input: S.Struct<{
9
+ intents: S.Array$<typeof S.String>;
10
+ error: S.optional<typeof S.String>;
11
+ }>;
12
+ output: typeof S.Void;
13
+ }>;
14
+ /**
15
+ * Log an intent.
16
+ */
17
+ export class Track extends Track_base {
18
+ }
5
19
  const ShowUndo_base: S.TaggedClass<ShowUndo, "dxos.org/plugin/intent/action/show-undo", {
6
20
  readonly _tag: S.tag<"dxos.org/plugin/intent/action/show-undo">;
7
21
  } & {
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/plugin-intent/actions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAIrC,eAAO,MAAM,aAAa,2BAA2B,CAAC;AACtD,eAAO,MAAM,aAAa,kCAA4B,CAAC;AAEvD,yBAAiB,YAAY,CAAC;;;;;;;;;;;;IAC5B;;OAEG;IACH,MAAM,OAAO,QAAS,SAAQ,aAK5B;KAAG;;CACN"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/plugin-intent/actions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAIrC,eAAO,MAAM,aAAa,2BAA2B,CAAC;AACtD,eAAO,MAAM,aAAa,kCAA4B,CAAC;AAEvD,yBAAiB,YAAY,CAAC;;;;;;;;;;IAC5B;;OAEG;IACH,MAAM,OAAO,KAAM,SAAQ,UAMzB;KAAG;;;;;;;;;;;;IAEL;;OAEG;IACH,MAAM,OAAO,QAAS,SAAQ,aAK5B;KAAG;;CACN"}
@@ -47,7 +47,7 @@ export type IntentDispatcherResult<Input, Output> = Pick<IntentEffectResult<Inpu
47
47
  /**
48
48
  * The implementation of an intent effect.
49
49
  */
50
- export type IntentEffectDefinition<Input, Output> = (data: Input, undo: boolean) => MaybePromise<IntentEffectResult<Input, Output> | void> | Effect.Effect<IntentEffectResult<Input, Output> | void>;
50
+ export type IntentEffectDefinition<Input, Output> = (data: Input, undo: boolean) => MaybePromise<IntentEffectResult<Input, Output> | void> | Effect.Effect<IntentEffectResult<Input, Output> | void, Error>;
51
51
  /**
52
52
  * Intent resolver to match intents to their effects.
53
53
  */
@@ -1 +1 @@
1
- {"version":3,"file":"intent-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/plugin-intent/intent-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intent-dispatcher.d.ts","sourceRoot":"","sources":["../../../../src/plugin-intent/intent-dispatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/plugin-settings/actions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAErC,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAC1D,eAAO,MAAM,eAAe,oCAA8B,CAAC;AAC3D,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAC5C,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,yBAAiB,cAAc,CAAC;;;;;;;;;IAC9B,MAAM,OAAO,IAAK,SAAQ,SAKxB;KAAG;;;;;;;IAEL,MAAM,OAAO,kBAAmB,SAAQ,uBAMvC;KAAG;;CACL"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/plugin-settings/actions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAC;AAErC,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAC1D,eAAO,MAAM,eAAe,oCAA8B,CAAC;AAG3D,eAAO,MAAM,WAAW,mBAAmB,CAAC;AAC5C,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,yBAAiB,cAAc,CAAC;;;;;;;;;IAC9B,MAAM,OAAO,IAAK,SAAQ,SAKxB;KAAG;;;;;;;IAEL,MAAM,OAAO,kBAAmB,SAAQ,uBAMvC;KAAG;;CACL"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/app-framework",
3
- "version": "0.8.1-staging.5be625a",
3
+ "version": "0.8.1-staging.97aedb1",
4
4
  "description": "A framework for building applications from composible plugins.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -38,31 +38,32 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@preact/signals-core": "^1.6.0",
41
- "effect": "3.13.3",
42
- "@dxos/app-graph": "0.8.1-staging.5be625a",
43
- "@dxos/artifact": "0.8.1-staging.5be625a",
44
- "@dxos/async": "0.8.1-staging.5be625a",
45
- "@dxos/client-protocol": "0.8.1-staging.5be625a",
46
- "@dxos/debug": "0.8.1-staging.5be625a",
47
- "@dxos/invariant": "0.8.1-staging.5be625a",
48
- "@dxos/live-object": "0.8.1-staging.5be625a",
49
- "@dxos/log": "0.8.1-staging.5be625a",
50
- "@dxos/util": "0.8.1-staging.5be625a",
51
- "@dxos/local-storage": "0.8.1-staging.5be625a",
52
- "@dxos/react-hooks": "0.8.1-staging.5be625a"
41
+ "@dxos/app-graph": "0.8.1-staging.97aedb1",
42
+ "@dxos/artifact": "0.8.1-staging.97aedb1",
43
+ "@dxos/async": "0.8.1-staging.97aedb1",
44
+ "@dxos/client-protocol": "0.8.1-staging.97aedb1",
45
+ "@dxos/invariant": "0.8.1-staging.97aedb1",
46
+ "@dxos/live-object": "0.8.1-staging.97aedb1",
47
+ "@dxos/local-storage": "0.8.1-staging.97aedb1",
48
+ "@dxos/log": "0.8.1-staging.97aedb1",
49
+ "@dxos/debug": "0.8.1-staging.97aedb1",
50
+ "@dxos/react-hooks": "0.8.1-staging.97aedb1",
51
+ "@dxos/util": "0.8.1-staging.97aedb1"
53
52
  },
54
53
  "devDependencies": {
55
54
  "@phosphor-icons/react": "^2.1.5",
56
55
  "@types/react": "~18.2.0",
56
+ "effect": "3.13.3",
57
57
  "react": "~18.2.0",
58
- "@dxos/echo-schema": "0.8.1-staging.5be625a",
59
- "@dxos/echo-signals": "0.8.1-staging.5be625a",
60
- "@dxos/random": "0.8.1-staging.5be625a",
61
- "@dxos/react-ui-syntax-highlighter": "0.8.1-staging.5be625a",
62
- "@dxos/storybook-utils": "0.8.1-staging.5be625a",
63
- "@dxos/react-ui": "0.8.1-staging.5be625a"
58
+ "@dxos/echo-signals": "0.8.1-staging.97aedb1",
59
+ "@dxos/random": "0.8.1-staging.97aedb1",
60
+ "@dxos/react-ui-syntax-highlighter": "0.8.1-staging.97aedb1",
61
+ "@dxos/react-ui": "0.8.1-staging.97aedb1",
62
+ "@dxos/echo-schema": "0.8.1-staging.97aedb1",
63
+ "@dxos/storybook-utils": "0.8.1-staging.97aedb1"
64
64
  },
65
65
  "peerDependencies": {
66
+ "effect": "3.13.3",
66
67
  "react": "~18.2.0"
67
68
  },
68
69
  "publishConfig": {
package/src/App.tsx CHANGED
@@ -3,7 +3,7 @@
3
3
  //
4
4
 
5
5
  import { effect } from '@preact/signals-core';
6
- import React, { type PropsWithChildren, type ReactNode } from 'react';
6
+ import React, { useEffect, useState, type FC, type PropsWithChildren } from 'react';
7
7
 
8
8
  import { invariant } from '@dxos/invariant';
9
9
  import { create } from '@dxos/live-object';
@@ -21,7 +21,7 @@ export type CreateAppOptions = {
21
21
  plugins?: Plugin[];
22
22
  core?: string[];
23
23
  defaults?: string[];
24
- placeholder?: ReactNode;
24
+ placeholder?: FC<{ stage: number }>;
25
25
  fallback?: ErrorBoundary['props']['fallback'];
26
26
  cacheEnabled?: boolean;
27
27
  };
@@ -56,7 +56,7 @@ export const createApp = ({
56
56
  plugins = [],
57
57
  core = plugins.map(({ meta }) => meta.id),
58
58
  defaults = [],
59
- placeholder = null,
59
+ placeholder,
60
60
  fallback = DefaultFallback,
61
61
  cacheEnabled = false,
62
62
  }: CreateAppOptions) => {
@@ -110,22 +110,79 @@ export const createApp = ({
110
110
  );
111
111
  };
112
112
 
113
- type AppProps = Required<Pick<CreateAppOptions, 'placeholder'>> & {
113
+ const DELAY_PLACEHOLDER = 2_000;
114
+
115
+ enum LoadingState {
116
+ Loading = 0,
117
+ FadeIn = 1,
118
+ FadeOut = 2,
119
+ Done = 3,
120
+ }
121
+
122
+ /**
123
+ * To avoid "flashing" the placeholder, we wait a period of time before starting the loading animation.
124
+ * If loading completes during this time the placehoder is not shown, otherwise is it displayed for a minimum period of time.
125
+ *
126
+ * States:
127
+ * 0: Loading - Wait for a period of time before starting the loading animation.
128
+ * 1: Fade-in - Display a loading animation.
129
+ * 2: Fade-out - Fade out the loading animation.
130
+ * 3: Done - Remove the placeholder.
131
+ */
132
+ const useLoading = (state: AppProps['state']) => {
133
+ const [stage, setStage] = useState<LoadingState>(LoadingState.Loading);
134
+ useEffect(() => {
135
+ const i = setInterval(() => {
136
+ setStage((tick) => {
137
+ switch (tick) {
138
+ case LoadingState.Loading:
139
+ if (!state.ready) {
140
+ return LoadingState.FadeIn;
141
+ } else {
142
+ clearInterval(i);
143
+ return LoadingState.Done;
144
+ }
145
+ case LoadingState.FadeIn:
146
+ if (state.ready) {
147
+ return LoadingState.FadeOut;
148
+ }
149
+ break;
150
+ case LoadingState.FadeOut:
151
+ clearInterval(i);
152
+ return LoadingState.Done;
153
+ }
154
+
155
+ return tick;
156
+ });
157
+ }, DELAY_PLACEHOLDER);
158
+
159
+ return () => clearInterval(i);
160
+ }, []);
161
+
162
+ return stage;
163
+ };
164
+
165
+ type AppProps = Pick<CreateAppOptions, 'placeholder'> & {
114
166
  state: { ready: boolean; error: unknown };
115
167
  };
116
168
 
117
- const App = ({ placeholder, state }: AppProps) => {
169
+ const App = ({ placeholder: Placeholder, state }: AppProps) => {
118
170
  const reactContexts = useCapabilities(Capabilities.ReactContext);
119
171
  const reactRoots = useCapabilities(Capabilities.ReactRoot);
172
+ const stage = useLoading(state);
120
173
 
121
174
  if (state.error) {
122
- // This trigger the error boundary to provide UI feedback for the startup error.
175
+ // This triggers the error boundary to provide UI feedback for the startup error.
123
176
  throw state.error;
124
177
  }
125
178
 
126
179
  // TODO(wittjosiah): Consider using Suspense instead?
127
- if (!state.ready) {
128
- return <>{placeholder}</>;
180
+ if (stage < LoadingState.Done) {
181
+ if (!Placeholder) {
182
+ return null;
183
+ }
184
+
185
+ return <Placeholder stage={stage} />;
129
186
  }
130
187
 
131
188
  const ComposedContext = composeContexts(reactContexts);
@@ -176,6 +176,7 @@ export namespace LayoutAction {
176
176
  options: S.optional(
177
177
  S.Struct({
178
178
  state: S.optional(S.Literal(true).annotations({ description: 'The items are being added.' })),
179
+ variant: S.optional(S.String.annotations({ description: 'The variant of the item to open.' })),
179
180
  key: S.optional(
180
181
  S.String.annotations({ description: 'If provided, will replace item with a matching key (id prefix).' }),
181
182
  ),