@dxos/plugin-testing 0.8.4-main.d05673bc65 → 0.8.4-main.fcc0d83b33

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 (93) hide show
  1. package/dist/lib/browser/harness.mjs +35 -0
  2. package/dist/lib/browser/harness.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +21 -166
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/node-esm/harness.mjs +37 -0
  7. package/dist/lib/node-esm/harness.mjs.map +7 -0
  8. package/dist/lib/node-esm/index.mjs +21 -165
  9. package/dist/lib/node-esm/index.mjs.map +4 -4
  10. package/dist/lib/node-esm/meta.json +1 -1
  11. package/dist/types/src/StorybookPlugin.d.ts +1 -1
  12. package/dist/types/src/StorybookPlugin.d.ts.map +1 -1
  13. package/dist/types/src/capabilities/index.d.ts +15 -2
  14. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  15. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  16. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  17. package/dist/types/src/capabilities/{state/state.d.ts → state.d.ts} +1 -1
  18. package/dist/types/src/capabilities/state.d.ts.map +1 -0
  19. package/dist/types/src/components/Layout/Layout.d.ts.map +1 -1
  20. package/dist/types/src/core.d.ts +1 -7
  21. package/dist/types/src/core.d.ts.map +1 -1
  22. package/dist/types/src/harness.d.ts +20 -0
  23. package/dist/types/src/harness.d.ts.map +1 -0
  24. package/dist/types/src/operations/add-toast.d.ts +5 -0
  25. package/dist/types/src/operations/add-toast.d.ts.map +1 -0
  26. package/dist/types/src/operations/close.d.ts +5 -0
  27. package/dist/types/src/operations/close.d.ts.map +1 -0
  28. package/dist/types/src/operations/index.d.ts +3 -0
  29. package/dist/types/src/operations/index.d.ts.map +1 -0
  30. package/dist/types/src/operations/open.d.ts +5 -0
  31. package/dist/types/src/operations/open.d.ts.map +1 -0
  32. package/dist/types/src/operations/scroll-into-view.d.ts +5 -0
  33. package/dist/types/src/operations/scroll-into-view.d.ts.map +1 -0
  34. package/dist/types/src/operations/set-layout-mode.d.ts +5 -0
  35. package/dist/types/src/operations/set-layout-mode.d.ts.map +1 -0
  36. package/dist/types/src/operations/switch-workspace.d.ts +5 -0
  37. package/dist/types/src/operations/switch-workspace.d.ts.map +1 -0
  38. package/dist/types/src/operations/update-complementary.d.ts +5 -0
  39. package/dist/types/src/operations/update-complementary.d.ts.map +1 -0
  40. package/dist/types/src/operations/update-dialog.d.ts +5 -0
  41. package/dist/types/src/operations/update-dialog.d.ts.map +1 -0
  42. package/dist/types/src/operations/update-popover.d.ts +5 -0
  43. package/dist/types/src/operations/update-popover.d.ts.map +1 -0
  44. package/dist/types/src/operations/update-sidebar.d.ts +5 -0
  45. package/dist/types/src/operations/update-sidebar.d.ts.map +1 -0
  46. package/dist/types/src/operations/update-state.d.ts +5 -0
  47. package/dist/types/src/operations/update-state.d.ts.map +1 -0
  48. package/dist/types/src/types/capabilities.d.ts +2 -0
  49. package/dist/types/src/types/capabilities.d.ts.map +1 -1
  50. package/dist/types/tsconfig.tsbuildinfo +1 -1
  51. package/package.json +30 -18
  52. package/src/StorybookPlugin.ts +7 -7
  53. package/src/capabilities/index.ts +8 -2
  54. package/src/capabilities/operation-handler.ts +16 -0
  55. package/src/capabilities/{state/state.tsx → state.tsx} +2 -1
  56. package/src/components/Layout/Layout.tsx +133 -73
  57. package/src/core.ts +0 -5
  58. package/src/harness.ts +52 -0
  59. package/src/operations/add-toast.ts +22 -0
  60. package/src/operations/close.ts +14 -0
  61. package/src/operations/index.ts +18 -0
  62. package/src/operations/open.ts +18 -0
  63. package/src/operations/scroll-into-view.ts +14 -0
  64. package/src/operations/set-layout-mode.ts +14 -0
  65. package/src/operations/switch-workspace.ts +20 -0
  66. package/src/operations/update-complementary.ts +27 -0
  67. package/src/operations/update-dialog.ts +27 -0
  68. package/src/operations/update-popover.ts +37 -0
  69. package/src/operations/update-sidebar.ts +26 -0
  70. package/src/operations/update-state.ts +17 -0
  71. package/src/types/capabilities.ts +4 -1
  72. package/dist/lib/browser/chunk-NWOKPVNQ.mjs +0 -21
  73. package/dist/lib/browser/chunk-NWOKPVNQ.mjs.map +0 -7
  74. package/dist/lib/browser/operation-resolver-SR4GZ7Q5.mjs +0 -112
  75. package/dist/lib/browser/operation-resolver-SR4GZ7Q5.mjs.map +0 -7
  76. package/dist/lib/browser/state-TCYYH5JN.mjs +0 -43
  77. package/dist/lib/browser/state-TCYYH5JN.mjs.map +0 -7
  78. package/dist/lib/node-esm/chunk-NWN7D2LS.mjs +0 -23
  79. package/dist/lib/node-esm/chunk-NWN7D2LS.mjs.map +0 -7
  80. package/dist/lib/node-esm/operation-resolver-A6XLCTWX.mjs +0 -113
  81. package/dist/lib/node-esm/operation-resolver-A6XLCTWX.mjs.map +0 -7
  82. package/dist/lib/node-esm/state-ZJEK6SP7.mjs +0 -44
  83. package/dist/lib/node-esm/state-ZJEK6SP7.mjs.map +0 -7
  84. package/dist/types/src/capabilities/operation-resolver/index.d.ts +0 -3
  85. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +0 -1
  86. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +0 -5
  87. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +0 -1
  88. package/dist/types/src/capabilities/state/index.d.ts +0 -14
  89. package/dist/types/src/capabilities/state/index.d.ts.map +0 -1
  90. package/dist/types/src/capabilities/state/state.d.ts.map +0 -1
  91. package/src/capabilities/operation-resolver/index.ts +0 -7
  92. package/src/capabilities/operation-resolver/operation-resolver.ts +0 -99
  93. package/src/capabilities/state/index.ts +0 -7
@@ -1,99 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import * as Effect from 'effect/Effect';
6
-
7
- import { Capabilities, Capability } from '@dxos/app-framework';
8
- import { LayoutOperation } from '@dxos/app-toolkit';
9
- import { OperationResolver } from '@dxos/operation';
10
-
11
- import { LayoutState, type LayoutStateProps } from '../../types';
12
-
13
- export default Capability.makeModule(
14
- Effect.fnUntraced(function* () {
15
- const registry = yield* Capability.get(Capabilities.AtomRegistry);
16
- const stateAtom = yield* Capability.get(LayoutState);
17
-
18
- const updateState = (fn: (state: LayoutStateProps) => Partial<LayoutStateProps>) => {
19
- const current = registry.get(stateAtom);
20
- registry.set(stateAtom, { ...current, ...fn(current) });
21
- };
22
-
23
- return Capability.contributes(Capabilities.OperationResolver, [
24
- OperationResolver.make({
25
- operation: LayoutOperation.UpdateSidebar,
26
- handler: Effect.fnUntraced(function* ({ state }) {
27
- updateState((layout) => {
28
- const next = state ?? layout.sidebarState;
29
- if (next !== layout.sidebarState) {
30
- return { sidebarState: next };
31
- }
32
- return {};
33
- });
34
- }),
35
- }),
36
- OperationResolver.make({
37
- operation: LayoutOperation.UpdateComplementary,
38
- handler: Effect.fnUntraced(function* ({ state }) {
39
- updateState((layout) => {
40
- const next = state ?? layout.complementarySidebarState;
41
- if (next !== layout.complementarySidebarState) {
42
- return { complementarySidebarState: next };
43
- }
44
- return {};
45
- });
46
- }),
47
- }),
48
- OperationResolver.make({
49
- operation: LayoutOperation.UpdateDialog,
50
- handler: Effect.fnUntraced(function* ({
51
- subject,
52
- state,
53
- type,
54
- blockAlign,
55
- overlayClasses,
56
- overlayStyle,
57
- props,
58
- }) {
59
- updateState(() => ({
60
- dialogOpen: state ?? Boolean(subject),
61
- dialogType: type ?? 'default',
62
- dialogBlockAlign: blockAlign ?? 'center',
63
- dialogOverlayClasses: overlayClasses,
64
- dialogOverlayStyle: overlayStyle,
65
- dialogContent: subject ? { component: subject, props } : null,
66
- }));
67
- }),
68
- }),
69
- OperationResolver.make({
70
- operation: LayoutOperation.UpdatePopover,
71
- handler: Effect.fnUntraced(function* (input) {
72
- const { subject, state, side, kind, props } = input;
73
- updateState(() => {
74
- const base: Partial<LayoutStateProps> = {
75
- popoverKind: kind ?? 'base',
76
- popoverTitle: kind === 'card' ? input.title : undefined,
77
- popoverContent:
78
- typeof subject === 'string' ? { component: subject, props } : subject ? { subject } : undefined,
79
- popoverOpen: state ?? Boolean(subject),
80
- popoverSide: side,
81
- };
82
- if ('variant' in input && input.variant === 'virtual') {
83
- return { ...base, popoverVariant: 'virtual', popoverAnchor: input.anchor };
84
- } else if ('anchorId' in input) {
85
- return { ...base, popoverVariant: 'react', popoverAnchorId: input.anchorId };
86
- }
87
- return base;
88
- });
89
- }),
90
- }),
91
- OperationResolver.make({
92
- operation: LayoutOperation.SwitchWorkspace,
93
- handler: Effect.fnUntraced(function* ({ subject }) {
94
- updateState(() => ({ workspace: subject }));
95
- }),
96
- }),
97
- ]);
98
- }),
99
- );
@@ -1,7 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import { Capability } from '@dxos/app-framework';
6
-
7
- export const State = Capability.lazy('State', () => import('./state'));