react-cosmos-ui 6.0.0-beta.8 → 6.0.0-beta.9

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 (53) hide show
  1. package/dist/playground.bundle.js +103 -103
  2. package/dist/playground.bundle.js.map +1 -1
  3. package/dist/plugins/ClassStatePanel/ClassStatePanel/ComponentClassState.d.ts +5 -4
  4. package/dist/plugins/ClassStatePanel/ClassStatePanel/ComponentClassState.js +8 -8
  5. package/dist/plugins/ClassStatePanel/ClassStatePanel/index.d.ts +4 -3
  6. package/dist/plugins/ClassStatePanel/ClassStatePanel/index.js +5 -5
  7. package/dist/plugins/ClassStatePanel/ClassStatePanel/shared.d.ts +2 -2
  8. package/dist/plugins/ClassStatePanel/ClassStatePanel/shared.js +6 -9
  9. package/dist/plugins/ClassStatePanel/index.js +5 -3
  10. package/dist/plugins/ClassStatePanel/shared.d.ts +2 -0
  11. package/dist/plugins/ControlPanel/ControlPanel.d.ts +4 -3
  12. package/dist/plugins/ControlPanel/ControlPanel.js +3 -3
  13. package/dist/plugins/ControlPanel/index.js +4 -2
  14. package/dist/plugins/ControlPanel/shared.d.ts +2 -0
  15. package/dist/plugins/ControlPanel/shared.js +1 -0
  16. package/dist/plugins/ControlSelect/SelectValueInput.d.ts +3 -3
  17. package/dist/plugins/ControlSelect/index.js +3 -6
  18. package/dist/plugins/PropsPanel/PropsPanel/ComponentProps.d.ts +5 -4
  19. package/dist/plugins/PropsPanel/PropsPanel/ComponentProps.js +14 -12
  20. package/dist/plugins/PropsPanel/PropsPanel/index.d.ts +4 -3
  21. package/dist/plugins/PropsPanel/PropsPanel/index.js +5 -5
  22. package/dist/plugins/PropsPanel/PropsPanel/shared.d.ts +2 -2
  23. package/dist/plugins/PropsPanel/PropsPanel/shared.js +6 -9
  24. package/dist/plugins/PropsPanel/index.js +14 -9
  25. package/dist/plugins/PropsPanel/shared.d.ts +2 -0
  26. package/dist/plugins/RendererCore/index.js +11 -3
  27. package/dist/plugins/RendererCore/onRouterFixtureReselect.js +2 -2
  28. package/dist/plugins/RendererCore/onRouterFixtureSelect.js +2 -2
  29. package/dist/plugins/RendererCore/receiveResponse/rendererReady.js +8 -3
  30. package/dist/plugins/RendererCore/setFixtureState.d.ts +2 -2
  31. package/dist/plugins/RendererCore/setFixtureState.js +5 -4
  32. package/dist/plugins/RendererCore/setGlobalFixtureState.d.ts +2 -0
  33. package/dist/plugins/RendererCore/setGlobalFixtureState.js +15 -0
  34. package/dist/plugins/RendererCore/shared/postRequest.d.ts +1 -1
  35. package/dist/plugins/RendererCore/spec.d.ts +8 -3
  36. package/dist/plugins/ResponsivePreview/ResponsivePreview/ResponsiveHeader.d.ts +4 -3
  37. package/dist/plugins/ResponsivePreview/ResponsivePreview/ResponsivePreview.d.ts +4 -3
  38. package/dist/plugins/ResponsivePreview/ResponsivePreview/style.d.ts +4 -4
  39. package/dist/plugins/ResponsivePreview/index.js +10 -15
  40. package/dist/plugins/ResponsivePreview/shared.d.ts +3 -6
  41. package/dist/plugins/ResponsivePreview/spec.d.ts +2 -5
  42. package/dist/plugins/Root/Root.d.ts +5 -4
  43. package/dist/plugins/Root/Root.js +2 -2
  44. package/dist/plugins/Root/SidePanel.d.ts +4 -3
  45. package/dist/plugins/Root/SidePanel.js +2 -2
  46. package/dist/plugins/Root/index.js +1 -1
  47. package/dist/plugins/StandardControl/index.js +3 -6
  48. package/dist/slots/ControlActionSlot.d.ts +2 -2
  49. package/dist/slots/ControlSlot.d.ts +3 -3
  50. package/dist/slots/SidePanelRowSlot.d.ts +4 -3
  51. package/dist/testHelpers/pluginMocks.d.ts +8 -4
  52. package/dist/testHelpers/pluginMocks.js +4 -2
  53. package/package.json +3 -3
@@ -1,4 +1,6 @@
1
- import { FixtureList, FixtureState, MessageType, RendererId, StateUpdater } from 'react-cosmos-core';
1
+ import { FixtureList, FixtureState, FixtureStateChange, MessageType, RendererId } from 'react-cosmos-core';
2
+ export type GetFixtureState = <T>(name: string) => T | undefined;
3
+ export type SetFixtureStateByName = <T>(name: string, change: FixtureStateChange<T>) => void;
2
4
  export type RendererCoreSpec = {
3
5
  name: 'rendererCore';
4
6
  config: {
@@ -10,18 +12,21 @@ export type RendererCoreSpec = {
10
12
  primaryRendererId: null | RendererId;
11
13
  fixtures: FixtureList;
12
14
  fixtureState: FixtureState;
15
+ globalFixtureState: FixtureState;
13
16
  };
14
17
  methods: {
15
18
  getRendererUrl(): null | string;
16
19
  getConnectedRendererIds(): RendererId[];
17
20
  getPrimaryRendererId(): null | RendererId;
18
21
  getFixtures(): FixtureList;
19
- getFixtureState(): FixtureState;
20
22
  isRendererConnected(): boolean;
21
23
  reloadRenderer(): void;
22
- setFixtureState(stateUpdater: StateUpdater<FixtureState>): void;
23
24
  selectPrimaryRenderer(primaryRendererId: RendererId): void;
24
25
  receiveResponse(msg: MessageType): void;
26
+ getAllFixtureState(): FixtureState;
27
+ getFixtureState: GetFixtureState;
28
+ setFixtureState: SetFixtureStateByName;
29
+ setGlobalFixtureState<T>(name: string, state: T): void;
25
30
  };
26
31
  events: {
27
32
  request(msg: MessageType): void;
@@ -1,11 +1,12 @@
1
1
  import React from 'react';
2
- import { ResponsiveDevice, ResponsiveViewport } from '../spec.js';
2
+ import { Viewport } from 'react-cosmos-core';
3
+ import { ResponsiveDevice } from '../spec.js';
3
4
  type Props = {
4
5
  devices: ResponsiveDevice[];
5
- selectedViewport: ResponsiveViewport;
6
+ selectedViewport: Viewport;
6
7
  scaleFactor: number;
7
8
  scaled: boolean;
8
- selectViewport: (viewport: ResponsiveViewport) => unknown;
9
+ selectViewport: (viewport: Viewport) => unknown;
9
10
  toggleScale: () => unknown;
10
11
  };
11
12
  export declare const ResponsiveHeader: React.NamedExoticComponent<Props>;
@@ -1,12 +1,13 @@
1
1
  import React, { Dispatch, ReactNode, SetStateAction } from 'react';
2
- import { ResponsiveDevice, ResponsiveViewport } from '../spec.js';
2
+ import { Viewport } from 'react-cosmos-core';
3
+ import { ResponsiveDevice } from '../spec.js';
3
4
  type Props = {
4
5
  children?: ReactNode;
5
6
  devices: ResponsiveDevice[];
6
7
  enabled: boolean;
7
- viewport: ResponsiveViewport;
8
+ viewport: Viewport;
8
9
  scaled: boolean;
9
- setViewport: Dispatch<SetStateAction<ResponsiveViewport>>;
10
+ setViewport: Dispatch<SetStateAction<Viewport>>;
10
11
  setScaled: (scaled: boolean) => unknown;
11
12
  };
12
13
  export declare function ResponsivePreview({ children, devices, enabled, viewport, scaled, setViewport, setScaled, }: Props): React.JSX.Element;
@@ -1,4 +1,4 @@
1
- import { ResponsiveViewport } from '../spec.js';
1
+ import { Viewport } from 'react-cosmos-core';
2
2
  export declare const responsivePreviewPadding: {
3
3
  top: number;
4
4
  bottom: number;
@@ -11,8 +11,8 @@ export declare const stretchStyle: {
11
11
  flex: number;
12
12
  };
13
13
  export declare function getStyles({ container, viewport, scaled, }: {
14
- container: ResponsiveViewport;
15
- viewport: ResponsiveViewport;
14
+ container: Viewport;
15
+ viewport: Viewport;
16
16
  scaled: boolean;
17
17
  }): {
18
18
  maskContainerStyle: {
@@ -42,4 +42,4 @@ export declare function getStyles({ container, viewport, scaled, }: {
42
42
  transform: string;
43
43
  };
44
44
  };
45
- export declare function getViewportScaleFactor(viewport: ResponsiveViewport, container: ResponsiveViewport): number;
45
+ export declare function getViewportScaleFactor(viewport: Viewport, container: Viewport): number;
@@ -27,11 +27,11 @@ namedPlug('rendererAction', 'responsivePreview', ({ pluginContext }) => {
27
27
  return (React.createElement(ToggleButton, { selected: enabled, onToggle: () => {
28
28
  if (enabled) {
29
29
  setViewportState(pluginContext, { ...viewportState, enabled: false });
30
- setFixtureStateViewport(pluginContext, null);
30
+ setViewportFixtureState(pluginContext, null);
31
31
  }
32
32
  else {
33
33
  setViewportState(pluginContext, { ...viewportState, enabled: true });
34
- setFixtureStateViewport(pluginContext, viewport);
34
+ setViewportFixtureState(pluginContext, viewport);
35
35
  }
36
36
  } }));
37
37
  });
@@ -40,12 +40,10 @@ if (process.env.NODE_ENV !== 'test')
40
40
  register();
41
41
  function useViewportChange(context) {
42
42
  const viewportState = getViewportState(context);
43
- return React.useCallback((viewportChange) => {
44
- const viewport = typeof viewportChange === 'function'
45
- ? viewportChange(viewportState.viewport)
46
- : viewportChange;
43
+ return React.useCallback((change) => {
44
+ const viewport = typeof change === 'function' ? change(viewportState.viewport) : change;
47
45
  setViewportState(context, { ...viewportState, enabled: true, viewport });
48
- setFixtureStateViewport(context, viewport);
46
+ setViewportFixtureState(context, viewport);
49
47
  }, [context, viewportState]);
50
48
  }
51
49
  function useScaledChange(context) {
@@ -58,9 +56,9 @@ function getViewportState(context) {
58
56
  const viewportState = storage.getItem(VIEWPORT_STORAGE_KEY) ||
59
57
  DEFAULT_VIEWPORT_STATE;
60
58
  const rendererCore = getMethodsOf('rendererCore');
61
- const fixtureState = rendererCore.getFixtureState();
62
- return fixtureState.viewport
63
- ? { ...viewportState, enabled: true, viewport: fixtureState.viewport }
59
+ const viewport = rendererCore.getFixtureState('viewport');
60
+ return viewport
61
+ ? { ...viewportState, enabled: true, viewport }
64
62
  : viewportState;
65
63
  }
66
64
  function setViewportState(context, viewportState) {
@@ -68,11 +66,8 @@ function setViewportState(context, viewportState) {
68
66
  const storage = getMethodsOf('storage');
69
67
  storage.setItem(VIEWPORT_STORAGE_KEY, viewportState);
70
68
  }
71
- function setFixtureStateViewport(context, viewport) {
69
+ function setViewportFixtureState(context, viewport) {
72
70
  const { getMethodsOf } = context;
73
71
  const rendererCore = getMethodsOf('rendererCore');
74
- rendererCore.setFixtureState(fixtureState => ({
75
- ...fixtureState,
76
- viewport,
77
- }));
72
+ rendererCore.setFixtureState('viewport', viewport);
78
73
  }
@@ -1,16 +1,13 @@
1
- import { FixtureState } from 'react-cosmos-core';
1
+ import { Viewport } from 'react-cosmos-core';
2
2
  import { PluginContext } from 'react-plugin';
3
3
  import { StorageSpec } from '../Storage/spec.js';
4
- import { ResponsivePreviewSpec, ResponsiveViewport } from './spec.js';
4
+ import { ResponsivePreviewSpec } from './spec.js';
5
5
  export type ResponsivePreviewContext = PluginContext<ResponsivePreviewSpec>;
6
6
  export type StorageMethods = StorageSpec['methods'];
7
- export type FixtureStateWithViewport = FixtureState & {
8
- viewport?: ResponsiveViewport;
9
- };
10
7
  export type ViewportState = {
11
8
  enabled: boolean;
12
9
  scaled: boolean;
13
- viewport: ResponsiveViewport;
10
+ viewport: Viewport;
14
11
  };
15
12
  export declare const DEFAULT_DEVICES: {
16
13
  label: string;
@@ -1,8 +1,5 @@
1
- export type ResponsiveViewport = {
2
- width: number;
3
- height: number;
4
- };
5
- export type ResponsiveDevice = ResponsiveViewport & {
1
+ import { Viewport } from 'react-cosmos-core';
2
+ export type ResponsiveDevice = Viewport & {
6
3
  label: string;
7
4
  };
8
5
  export type ResponsivePreviewSpec = {
@@ -1,10 +1,12 @@
1
1
  import React from 'react';
2
- import { FixtureId, FixtureState, FlatFixtureTreeItem, StateUpdater } from 'react-cosmos-core';
2
+ import { FixtureId, FlatFixtureTreeItem } from 'react-cosmos-core';
3
+ import { GetFixtureState, SetFixtureStateByName } from '../RendererCore/spec.js';
3
4
  type Props = {
4
5
  fixtureItems: FlatFixtureTreeItem[];
5
6
  selectedFixtureId: FixtureId | null;
6
7
  rendererConnected: boolean;
7
- fixtureState: FixtureState;
8
+ getFixtureState: GetFixtureState;
9
+ setFixtureState: SetFixtureStateByName;
8
10
  navOpen: boolean;
9
11
  panelOpen: boolean;
10
12
  navWidth: number;
@@ -19,12 +21,11 @@ type Props = {
19
21
  onTogglePanel: () => unknown;
20
22
  onReloadRenderer: () => unknown;
21
23
  onCloseFixture: () => unknown;
22
- onFixtureStateChange: (stateUpdater: StateUpdater<FixtureState>) => void;
23
24
  setNavWidth: (width: number) => unknown;
24
25
  setPanelWidth: (width: number) => unknown;
25
26
  welcomeDismissed: boolean;
26
27
  onDismissWelcome: () => unknown;
27
28
  onShowWelcome: () => unknown;
28
29
  };
29
- export declare function Root({ fixtureItems, selectedFixtureId, rendererConnected, fixtureState, navOpen, panelOpen, navWidth, panelWidth, sidePanelRowOrder, globalActionOrder, globalOrder, navRowOrder, fixtureActionOrder, rendererActionOrder, onToggleNav, onTogglePanel, onReloadRenderer, onCloseFixture, onFixtureStateChange, setNavWidth, setPanelWidth, welcomeDismissed, onDismissWelcome, onShowWelcome, }: Props): React.JSX.Element;
30
+ export declare function Root({ fixtureItems, selectedFixtureId, rendererConnected, getFixtureState, setFixtureState, navOpen, panelOpen, navWidth, panelWidth, sidePanelRowOrder, globalActionOrder, globalOrder, navRowOrder, fixtureActionOrder, rendererActionOrder, onToggleNav, onTogglePanel, onReloadRenderer, onCloseFixture, setNavWidth, setPanelWidth, welcomeDismissed, onDismissWelcome, onShowWelcome, }: Props): React.JSX.Element;
30
31
  export {};
@@ -8,7 +8,7 @@ import { GlobalHeader } from './GlobalHeader.js';
8
8
  import { HomeOverlay } from './HomeOverlay/HomeOverlay.js';
9
9
  import { RendererHeader } from './RendererHeader.js';
10
10
  import { SidePanel } from './SidePanel.js';
11
- export function Root({ fixtureItems, selectedFixtureId, rendererConnected, fixtureState, navOpen, panelOpen, navWidth, panelWidth, sidePanelRowOrder, globalActionOrder, globalOrder, navRowOrder, fixtureActionOrder, rendererActionOrder, onToggleNav, onTogglePanel, onReloadRenderer, onCloseFixture, onFixtureStateChange, setNavWidth, setPanelWidth, welcomeDismissed, onDismissWelcome, onShowWelcome, }) {
11
+ export function Root({ fixtureItems, selectedFixtureId, rendererConnected, getFixtureState, setFixtureState, navOpen, panelOpen, navWidth, panelWidth, sidePanelRowOrder, globalActionOrder, globalOrder, navRowOrder, fixtureActionOrder, rendererActionOrder, onToggleNav, onTogglePanel, onReloadRenderer, onCloseFixture, setNavWidth, setPanelWidth, welcomeDismissed, onDismissWelcome, onShowWelcome, }) {
12
12
  const navDrag = useDrag({
13
13
  value: navWidth,
14
14
  onChange: setNavWidth,
@@ -35,7 +35,7 @@ export function Root({ fixtureItems, selectedFixtureId, rendererConnected, fixtu
35
35
  React.createElement(Slot, { name: "rendererPreview" }),
36
36
  dragging && React.createElement(DragOverlay, null),
37
37
  selectedFixtureId && panelOpen && (React.createElement(ControlPanelContainer, { style: { width: panelWidth, zIndex: 3 } },
38
- React.createElement(SidePanel, { fixtureId: selectedFixtureId, fixtureState: fixtureState, sidePanelRowOrder: sidePanelRowOrder, onFixtureStateChange: onFixtureStateChange }),
38
+ React.createElement(SidePanel, { fixtureId: selectedFixtureId, getFixtureState: getFixtureState, setFixtureState: setFixtureState, sidePanelRowOrder: sidePanelRowOrder }),
39
39
  panelDrag.dragging && React.createElement(DragOverlay, null),
40
40
  React.createElement(PanelDragHandle, { ref: panelDrag.dragElRef })))),
41
41
  !selectedFixtureId && (React.createElement(HomeOverlay, { welcomeDismissed: welcomeDismissed, onDismissWelcome: onDismissWelcome, onShowWelcome: onShowWelcome })))),
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
- import { FixtureId, FixtureState, StateUpdater } from 'react-cosmos-core';
2
+ import { FixtureId } from 'react-cosmos-core';
3
+ import { GetFixtureState, SetFixtureStateByName } from '../RendererCore/spec.js';
3
4
  type Props = {
4
5
  fixtureId: FixtureId;
5
- fixtureState: FixtureState;
6
- onFixtureStateChange: (stateUpdater: StateUpdater<FixtureState>) => void;
6
+ getFixtureState: GetFixtureState;
7
+ setFixtureState: SetFixtureStateByName;
7
8
  sidePanelRowOrder: string[];
8
9
  };
9
10
  export declare const SidePanel: React.NamedExoticComponent<Props>;
@@ -2,8 +2,8 @@ import React from 'react';
2
2
  import styled from 'styled-components';
3
3
  import { SidePanelRowSlot } from '../../slots/SidePanelRowSlot.js';
4
4
  import { grey32 } from '../../style/colors.js';
5
- export const SidePanel = React.memo(function SidePanel({ fixtureId, fixtureState, onFixtureStateChange, sidePanelRowOrder, }) {
6
- const slotProps = React.useMemo(() => ({ fixtureId, fixtureState, onFixtureStateChange }), [fixtureId, fixtureState, onFixtureStateChange]);
5
+ export const SidePanel = React.memo(function SidePanel({ fixtureId, getFixtureState, setFixtureState, sidePanelRowOrder, }) {
6
+ const slotProps = React.useMemo(() => ({ fixtureId, getFixtureState, setFixtureState }), [fixtureId, getFixtureState, setFixtureState]);
7
7
  return (React.createElement(Container, null,
8
8
  React.createElement(Content, null,
9
9
  React.createElement(SidePanelRowSlot, { slotProps: slotProps, plugOrder: sidePanelRowOrder }))));
@@ -49,7 +49,7 @@ plug('root', ({ pluginContext }) => {
49
49
  const { navWidth, setNavWidth } = getNavWidthApi(pluginContext);
50
50
  const { panelWidth, setPanelWidth } = getPanelWidthApi(pluginContext);
51
51
  const { sidePanelRowOrder, globalActionOrder, globalOrder, navRowOrder, fixtureActionOrder, rendererActionOrder, } = getConfig();
52
- return (React.createElement(Root, { fixtureItems: fixtureItems, selectedFixtureId: router.getSelectedFixtureId(), rendererConnected: rendererCore.isRendererConnected(), fixtureState: rendererCore.getFixtureState(), navOpen: isNavOpen(pluginContext), panelOpen: isPanelOpen(pluginContext), navWidth: navWidth, panelWidth: panelWidth, sidePanelRowOrder: sidePanelRowOrder, globalActionOrder: globalActionOrder, globalOrder: globalOrder, navRowOrder: navRowOrder, fixtureActionOrder: fixtureActionOrder, rendererActionOrder: rendererActionOrder, onToggleNav: onToggleNav, onTogglePanel: onTogglePanel, onReloadRenderer: rendererCore.reloadRenderer, onCloseFixture: router.unselectFixture, onFixtureStateChange: rendererCore.setFixtureState, setNavWidth: setNavWidth, setPanelWidth: setPanelWidth, welcomeDismissed: welcomeDismiss.isWelcomeDismissed(), onDismissWelcome: welcomeDismiss.onDismissWelcome, onShowWelcome: welcomeDismiss.onShowWelcome }));
52
+ return (React.createElement(Root, { fixtureItems: fixtureItems, selectedFixtureId: router.getSelectedFixtureId(), rendererConnected: rendererCore.isRendererConnected(), getFixtureState: rendererCore.getFixtureState, setFixtureState: rendererCore.setFixtureState, navOpen: isNavOpen(pluginContext), panelOpen: isPanelOpen(pluginContext), navWidth: navWidth, panelWidth: panelWidth, sidePanelRowOrder: sidePanelRowOrder, globalActionOrder: globalActionOrder, globalOrder: globalOrder, navRowOrder: navRowOrder, fixtureActionOrder: fixtureActionOrder, rendererActionOrder: rendererActionOrder, onToggleNav: onToggleNav, onTogglePanel: onTogglePanel, onReloadRenderer: rendererCore.reloadRenderer, onCloseFixture: router.unselectFixture, setNavWidth: setNavWidth, setPanelWidth: setPanelWidth, welcomeDismissed: welcomeDismiss.isWelcomeDismissed(), onDismissWelcome: welcomeDismiss.onDismissWelcome, onShowWelcome: welcomeDismiss.onShowWelcome }));
53
53
  });
54
54
  export { register };
55
55
  if (process.env.NODE_ENV !== 'test')
@@ -13,12 +13,9 @@ plug('control-standard', ({ pluginContext, slotProps }) => {
13
13
  const handleValueChange = useCallback((updatedValues) => {
14
14
  onFixtureStateChange(fixtureState => ({
15
15
  ...fixtureState,
16
- controls: {
17
- ...fixtureState.controls,
18
- [controlName]: {
19
- ...control,
20
- currentValue: updatedValues[controlName],
21
- },
16
+ [controlName]: {
17
+ ...control,
18
+ currentValue: updatedValues[controlName],
22
19
  },
23
20
  }));
24
21
  }, [control, controlName, onFixtureStateChange]);
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { FixtureStateControls } from 'react-cosmos-core';
2
+ import { ControlsFixtureState } from 'react-cosmos-core';
3
3
  export type ControlActionSlotProps = {
4
- controls: FixtureStateControls;
4
+ controls: ControlsFixtureState;
5
5
  };
6
6
  type Props = {
7
7
  slotProps: ControlActionSlotProps;
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import { FixtureState, FixtureStateControl, StateUpdater } from 'react-cosmos-core';
3
- export type ControlSlotProps<TControl extends FixtureStateControl> = {
2
+ import { ControlFixtureState, ControlsFixtureState, FixtureStateUpdater } from 'react-cosmos-core';
3
+ export type ControlSlotProps<TControl extends ControlFixtureState> = {
4
4
  controlName: string;
5
5
  control: TControl;
6
- onFixtureStateChange: (stateUpdater: StateUpdater<FixtureState>) => void;
6
+ onFixtureStateChange: (updater: FixtureStateUpdater<ControlsFixtureState>) => void;
7
7
  };
8
8
  type Props = {
9
9
  slotProps: ControlSlotProps<any>;
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
- import { FixtureId, FixtureState, StateUpdater } from 'react-cosmos-core';
2
+ import { FixtureId } from 'react-cosmos-core';
3
+ import { GetFixtureState, SetFixtureStateByName } from '../plugins/RendererCore/spec.js';
3
4
  export type SidePanelRowSlotProps = {
4
5
  fixtureId: FixtureId;
5
- fixtureState: FixtureState;
6
- onFixtureStateChange: (stateUpdater: StateUpdater<FixtureState>) => void;
6
+ getFixtureState: GetFixtureState;
7
+ setFixtureState: SetFixtureStateByName;
7
8
  };
8
9
  type Props = {
9
10
  slotProps: SidePanelRowSlotProps;
@@ -36,12 +36,14 @@ export declare function getRendererCoreMethods(): {
36
36
  getConnectedRendererIds(): string[];
37
37
  getPrimaryRendererId(): string | null;
38
38
  getFixtures(): import("react-cosmos-core").FixtureList;
39
- getFixtureState(): import("react-cosmos-core").FixtureState;
40
39
  isRendererConnected(): boolean;
41
40
  reloadRenderer(): void;
42
- setFixtureState(stateUpdater: import("react-cosmos-core").StateUpdater<import("react-cosmos-core").FixtureState>): void;
43
41
  selectPrimaryRenderer(primaryRendererId: string): void;
44
42
  receiveResponse(msg: import("react-cosmos-core").MessageType): void;
43
+ getAllFixtureState(): import("react-cosmos-core").FixtureState;
44
+ getFixtureState: import("../plugins/RendererCore/spec.js").GetFixtureState;
45
+ setFixtureState: import("../plugins/RendererCore/spec.js").SetFixtureStateByName;
46
+ setGlobalFixtureState<T>(name: string, state: T): void;
45
47
  };
46
48
  export declare function getNotificationsMethods(): {
47
49
  pushStickyNotification(notification: import("../plugins/Notifications/spec.js").NotificationItem): void;
@@ -79,12 +81,14 @@ export declare function mockRendererCore(methods?: MethodsOf<RendererCoreSpec>):
79
81
  getConnectedRendererIds: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>) => string[]);
80
82
  getPrimaryRendererId: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>) => string | null);
81
83
  getFixtures: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>) => import("react-cosmos-core").FixtureList);
82
- getFixtureState: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>) => import("react-cosmos-core").FixtureState);
83
84
  isRendererConnected: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>) => boolean);
84
85
  reloadRenderer: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>) => void);
85
- setFixtureState: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>, stateUpdater: import("react-cosmos-core").StateUpdater<import("react-cosmos-core").FixtureState>) => void);
86
86
  selectPrimaryRenderer: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>, primaryRendererId: string) => void);
87
87
  receiveResponse: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>, msg: import("react-cosmos-core").MessageType) => void);
88
+ getAllFixtureState: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>) => import("react-cosmos-core").FixtureState);
89
+ getFixtureState: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>, name: string) => unknown);
90
+ setFixtureState: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>, name: string, change: unknown) => void);
91
+ setGlobalFixtureState: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererCoreSpec>, name: string, state: unknown) => void);
88
92
  };
89
93
  export declare function mockRendererPreview(methods?: MethodsOf<RendererPreviewSpec>): {
90
94
  getRuntimeStatus: jest.Mock<any, any, any> | ((context: import("react-plugin").PluginContext<RendererPreviewSpec>) => import("../plugins/RendererPreview/spec.js").RuntimeStatus);
@@ -73,12 +73,14 @@ export function mockRendererCore(methods = {}) {
73
73
  getConnectedRendererIds: jest.fn(),
74
74
  getPrimaryRendererId: jest.fn(),
75
75
  getFixtures: jest.fn(),
76
- getFixtureState: jest.fn(),
77
76
  isRendererConnected: jest.fn(),
78
77
  reloadRenderer: jest.fn(),
79
- setFixtureState: jest.fn(),
80
78
  selectPrimaryRenderer: jest.fn(),
81
79
  receiveResponse: jest.fn(),
80
+ getAllFixtureState: jest.fn(),
81
+ getFixtureState: jest.fn(),
82
+ setFixtureState: jest.fn(),
83
+ setGlobalFixtureState: jest.fn(),
82
84
  ...methods,
83
85
  };
84
86
  mockMethodsOf('rendererCore', allMethods);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-cosmos-ui",
3
- "version": "6.0.0-beta.8",
3
+ "version": "6.0.0-beta.9",
4
4
  "description": "React Cosmos UI",
5
5
  "repository": "https://github.com/react-cosmos/react-cosmos/tree/main/packages/react-cosmos-ui",
6
6
  "license": "MIT",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "lodash-es": "4.17.21",
18
- "react-cosmos-core": "6.0.0-beta.8"
18
+ "react-cosmos-core": "6.0.0-beta.9"
19
19
  },
20
20
  "devDependencies": {
21
21
  "fuzzaldrin-plus": "0.6.0",
@@ -23,5 +23,5 @@
23
23
  "react-plugin": "3.0.0-alpha.4",
24
24
  "styled-components": "5.3.11"
25
25
  },
26
- "gitHead": "2f47b29e24c6a68c4a62b7862d67909905648f7e"
26
+ "gitHead": "0cb520839737c38b295b2baefe0cef8702e31324"
27
27
  }