react-cosmos-core 6.0.0-alpha.18 → 6.0.0-alpha.19

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 (128) hide show
  1. package/dist/fixtureTree/createFixtureTree/createRawFixtureTree.d.ts +1 -1
  2. package/dist/fixtureTree/createFixtureTree/index.d.ts +1 -1
  3. package/dist/fixtureTree/flattenFixtureTree.d.ts +1 -1
  4. package/dist/index.d.ts +20 -19
  5. package/dist/index.js +20 -19
  6. package/dist/playground/playgroundParams.d.ts +4 -0
  7. package/dist/playground/playgroundQueryString.d.ts +3 -0
  8. package/dist/playground/playgroundQueryString.js +21 -0
  9. package/dist/renderer/{rendererConnectTypes.d.ts → rendererConnect.d.ts} +11 -14
  10. package/dist/renderer/rendererParams.d.ts +6 -0
  11. package/dist/renderer/rendererQueryString.d.ts +10 -0
  12. package/dist/renderer/rendererQueryString.js +33 -0
  13. package/dist/userModules/getFixtureFromExport.d.ts +2 -0
  14. package/dist/{renderer/getFixture.js → userModules/getFixtureFromExport.js} +1 -1
  15. package/dist/{renderer → userModules}/getFixtureList.d.ts +1 -1
  16. package/dist/{renderer → userModules}/userModuleTypes.d.ts +0 -5
  17. package/dist/userModules/userModuleTypes.js +1 -0
  18. package/dist/utils/queryString.d.ts +2 -0
  19. package/dist/utils/queryString.js +7 -0
  20. package/dist/utils/react/DelayRender.d.ts +7 -0
  21. package/dist/utils/react/DelayRender.js +10 -0
  22. package/dist/utils/window.d.ts +1 -0
  23. package/dist/utils/window.js +8 -0
  24. package/package.json +3 -3
  25. package/dist/fixture/FixtureContext.d.ts +0 -7
  26. package/dist/fixture/FixtureContext.js +0 -5
  27. package/dist/fixture/Viewport.d.ts +0 -11
  28. package/dist/fixture/Viewport.js +0 -14
  29. package/dist/fixture/useSelect/index.d.ts +0 -2
  30. package/dist/fixture/useSelect/index.js +0 -11
  31. package/dist/fixture/useSelect/shared.d.ts +0 -6
  32. package/dist/fixture/useSelect/shared.js +0 -3
  33. package/dist/fixture/useSelect/useCreateFixtureState.d.ts +0 -2
  34. package/dist/fixture/useSelect/useCreateFixtureState.js +0 -32
  35. package/dist/fixture/useSelect/useCurrentValue.d.ts +0 -2
  36. package/dist/fixture/useSelect/useCurrentValue.js +0 -11
  37. package/dist/fixture/useSelect/useSetValue.d.ts +0 -2
  38. package/dist/fixture/useSelect/useSetValue.js +0 -25
  39. package/dist/fixture/useValue/index.d.ts +0 -7
  40. package/dist/fixture/useValue/index.js +0 -9
  41. package/dist/fixture/useValue/shared.d.ts +0 -3
  42. package/dist/fixture/useValue/useCreateFixtureState.d.ts +0 -2
  43. package/dist/fixture/useValue/useCreateFixtureState.js +0 -35
  44. package/dist/fixture/useValue/useCurrentValue.d.ts +0 -2
  45. package/dist/fixture/useValue/useCurrentValue.js +0 -13
  46. package/dist/fixture/useValue/useSetValue.d.ts +0 -3
  47. package/dist/fixture/useValue/useSetValue.js +0 -36
  48. package/dist/playground/playgroundUrl.d.ts +0 -13
  49. package/dist/playground/playgroundUrl.js +0 -36
  50. package/dist/renderer/DecoratedFixture.d.ts +0 -14
  51. package/dist/renderer/DecoratedFixture.js +0 -33
  52. package/dist/renderer/FixtureCapture/classState/decorateFixtureRefs/index.d.ts +0 -5
  53. package/dist/renderer/FixtureCapture/classState/decorateFixtureRefs/index.js +0 -46
  54. package/dist/renderer/FixtureCapture/classState/decorateFixtureRefs/isRefSupported.d.ts +0 -4
  55. package/dist/renderer/FixtureCapture/classState/decorateFixtureRefs/isRefSupported.js +0 -19
  56. package/dist/renderer/FixtureCapture/classState/index.d.ts +0 -3
  57. package/dist/renderer/FixtureCapture/classState/index.js +0 -13
  58. package/dist/renderer/FixtureCapture/classState/shared.d.ts +0 -18
  59. package/dist/renderer/FixtureCapture/classState/shared.js +0 -14
  60. package/dist/renderer/FixtureCapture/classState/useFixtureState.d.ts +0 -4
  61. package/dist/renderer/FixtureCapture/classState/useFixtureState.js +0 -156
  62. package/dist/renderer/FixtureCapture/classState/useReadClassState.d.ts +0 -4
  63. package/dist/renderer/FixtureCapture/classState/useReadClassState.js +0 -60
  64. package/dist/renderer/FixtureCapture/index.d.ts +0 -8
  65. package/dist/renderer/FixtureCapture/index.js +0 -9
  66. package/dist/renderer/FixtureCapture/props/index.d.ts +0 -3
  67. package/dist/renderer/FixtureCapture/props/index.js +0 -77
  68. package/dist/renderer/FixtureCapture/props/useFixtureProps.d.ts +0 -3
  69. package/dist/renderer/FixtureCapture/props/useFixtureProps.js +0 -70
  70. package/dist/renderer/FixtureCapture/shared/findRelevantElementPaths.d.ts +0 -2
  71. package/dist/renderer/FixtureCapture/shared/findRelevantElementPaths.js +0 -23
  72. package/dist/renderer/FixtureCapture/shared/nodeTree/findElementPaths.d.ts +0 -2
  73. package/dist/renderer/FixtureCapture/shared/nodeTree/findElementPaths.js +0 -22
  74. package/dist/renderer/FixtureCapture/shared/nodeTree/getElementAtPath.d.ts +0 -3
  75. package/dist/renderer/FixtureCapture/shared/nodeTree/getElementAtPath.js +0 -26
  76. package/dist/renderer/FixtureCapture/shared/nodeTree/index.d.ts +0 -11
  77. package/dist/renderer/FixtureCapture/shared/nodeTree/index.js +0 -11
  78. package/dist/renderer/FixtureCapture/shared/nodeTree/setElementAtPath.d.ts +0 -2
  79. package/dist/renderer/FixtureCapture/shared/nodeTree/setElementAtPath.js +0 -35
  80. package/dist/renderer/FixtureCapture/shared/nodeTree/shared.d.ts +0 -2
  81. package/dist/renderer/FixtureCapture/shared/nodeTree/shared.js +0 -6
  82. package/dist/renderer/FixtureConnect.d.ts +0 -17
  83. package/dist/renderer/FixtureConnect.js +0 -27
  84. package/dist/renderer/FixtureLoader.d.ts +0 -17
  85. package/dist/renderer/FixtureLoader.js +0 -16
  86. package/dist/renderer/FixtureStateChangeResponse.d.ts +0 -11
  87. package/dist/renderer/FixtureStateChangeResponse.js +0 -34
  88. package/dist/renderer/LazyFixtureListItemUpdate.d.ts +0 -10
  89. package/dist/renderer/LazyFixtureListItemUpdate.js +0 -15
  90. package/dist/renderer/LazyFixtureLoader.d.ts +0 -20
  91. package/dist/renderer/LazyFixtureLoader.js +0 -22
  92. package/dist/renderer/createPostMessageConnect.d.ts +0 -2
  93. package/dist/renderer/createPostMessageConnect.js +0 -22
  94. package/dist/renderer/createWebSocketsConnect.d.ts +0 -2
  95. package/dist/renderer/createWebSocketsConnect.js +0 -32
  96. package/dist/renderer/getDecoratedFixtureElement/FixtureElement.d.ts +0 -9
  97. package/dist/renderer/getDecoratedFixtureElement/FixtureElement.js +0 -5
  98. package/dist/renderer/getDecoratedFixtureElement/index.d.ts +0 -3
  99. package/dist/renderer/getDecoratedFixtureElement/index.js +0 -15
  100. package/dist/renderer/getFixture.d.ts +0 -2
  101. package/dist/renderer/useFixtureModules.d.ts +0 -2
  102. package/dist/renderer/useFixtureModules.js +0 -10
  103. package/dist/renderer/useLazyFixtureModules.d.ts +0 -2
  104. package/dist/renderer/useLazyFixtureModules.js +0 -24
  105. package/dist/renderer/useRendererRequest.d.ts +0 -5
  106. package/dist/renderer/useRendererRequest.js +0 -81
  107. package/dist/renderer/useRendererResponse.d.ts +0 -4
  108. package/dist/renderer/useRendererResponse.js +0 -23
  109. package/dist/renderer/useSelectedFixture.d.ts +0 -14
  110. package/dist/renderer/useSelectedFixture.js +0 -31
  111. /package/dist/{server → message}/serverMessage.d.ts +0 -0
  112. /package/dist/{server → message}/serverMessage.js +0 -0
  113. /package/dist/{server → message}/socketMessage.d.ts +0 -0
  114. /package/dist/{server → message}/socketMessage.js +0 -0
  115. /package/dist/{fixture/types.js → playground/playgroundParams.js} +0 -0
  116. /package/dist/{renderer → playground}/registerPlaygroundShortcuts.d.ts +0 -0
  117. /package/dist/{renderer → playground}/registerPlaygroundShortcuts.js +0 -0
  118. /package/dist/{server → plugin}/cosmosPluginConfig.d.ts +0 -0
  119. /package/dist/{server → plugin}/cosmosPluginConfig.js +0 -0
  120. /package/dist/{fixture/useValue/shared.js → renderer/rendererConnect.js} +0 -0
  121. /package/dist/renderer/{rendererConnectTypes.js → rendererParams.js} +0 -0
  122. /package/dist/{fixture/types.d.ts → userModules/fixtureTypes.d.ts} +0 -0
  123. /package/dist/{renderer/userModuleTypes.js → userModules/fixtureTypes.js} +0 -0
  124. /package/dist/{renderer → userModules}/getFixtureList.js +0 -0
  125. /package/dist/{renderer → userModules}/getSortedDecoratorsForFixturePath.d.ts +0 -0
  126. /package/dist/{renderer → userModules}/getSortedDecoratorsForFixturePath.js +0 -0
  127. /package/dist/{renderer → userModules}/isMultiFixture.d.ts +0 -0
  128. /package/dist/{renderer → userModules}/isMultiFixture.js +0 -0
@@ -1,3 +1,3 @@
1
- import { FixtureList } from '../../fixture/types.js';
1
+ import { FixtureList } from '../../userModules/fixtureTypes.js';
2
2
  import { FixtureTreeNode } from '../types.js';
3
3
  export declare function createRawFixtureTree(fixtures: FixtureList): FixtureTreeNode;
@@ -1,4 +1,4 @@
1
- import { FixtureList } from '../../fixture/types.js';
1
+ import { FixtureList } from '../../userModules/fixtureTypes.js';
2
2
  import { FixtureTreeNode } from '../types.js';
3
3
  export declare function createFixtureTree({ fixtures, fixturesDir, fixtureFileSuffix, }: {
4
4
  fixtures: FixtureList;
@@ -1,4 +1,4 @@
1
- import { FixtureId } from '../fixture/types.js';
1
+ import { FixtureId } from '../userModules/fixtureTypes.js';
2
2
  import { FixtureTreeNode } from './types.js';
3
3
  export type FlatFixtureTreeItem = {
4
4
  fileName: string;
package/dist/index.d.ts CHANGED
@@ -1,32 +1,32 @@
1
- export * from './fixture/FixtureContext.js';
2
- export * from './fixture/Viewport.js';
3
- export * from './fixture/types.js';
4
- export * from './fixture/useSelect/index.js';
5
- export * from './fixture/useValue/index.js';
6
1
  export * from './fixtureState/classState.js';
2
+ export * from './fixtureState/controls.js';
3
+ export * from './fixtureState/createValues.js';
4
+ export * from './fixtureState/extendWithValues.js';
7
5
  export * from './fixtureState/props.js';
8
6
  export * from './fixtureState/types.js';
9
7
  export * from './fixtureTree/createFixtureTree/index.js';
10
8
  export * from './fixtureTree/flattenFixtureTree.js';
11
9
  export * from './fixtureTree/types.js';
12
- export * from './playground/playgroundUrl.js';
13
- export * from './renderer/FixtureCapture/index.js';
14
- export * from './renderer/FixtureConnect.js';
15
- export * from './renderer/createPostMessageConnect.js';
16
- export * from './renderer/createWebSocketsConnect.js';
17
- export * from './renderer/getDecoratedFixtureElement/index.js';
18
- export * from './renderer/getFixtureList.js';
19
- export * from './renderer/getSortedDecoratorsForFixturePath.js';
20
- export * from './renderer/registerPlaygroundShortcuts.js';
10
+ export * from './message/serverMessage.js';
11
+ export * from './message/socketMessage.js';
12
+ export * from './playground/playgroundParams.js';
13
+ export * from './playground/playgroundQueryString.js';
14
+ export * from './playground/registerPlaygroundShortcuts.js';
15
+ export * from './plugin/cosmosPluginConfig.js';
21
16
  export * from './renderer/rendererConfig.js';
22
- export * from './renderer/rendererConnectTypes.js';
23
- export * from './renderer/userModuleTypes.js';
24
- export * from './server/cosmosPluginConfig.js';
25
- export * from './server/serverMessage.js';
26
- export * from './server/socketMessage.js';
17
+ export * from './renderer/rendererConnect.js';
18
+ export * from './renderer/rendererParams.js';
19
+ export * from './renderer/rendererQueryString.js';
20
+ export * from './userModules/fixtureTypes.js';
21
+ export * from './userModules/getFixtureFromExport.js';
22
+ export * from './userModules/getFixtureList.js';
23
+ export * from './userModules/getSortedDecoratorsForFixturePath.js';
24
+ export * from './userModules/userModuleTypes.js';
27
25
  export * from './utils/array.js';
28
26
  export * from './utils/keys.js';
27
+ export * from './utils/queryString.js';
29
28
  export * from './utils/react/ClassStateMock.js';
29
+ export * from './utils/react/DelayRender.js';
30
30
  export * from './utils/react/areNodesEqual.js';
31
31
  export * from './utils/react/getComponentName.js';
32
32
  export * from './utils/react/isReactElement.js';
@@ -34,3 +34,4 @@ export * from './utils/string.js';
34
34
  export * from './utils/tree.js';
35
35
  export * from './utils/types.js';
36
36
  export * from './utils/uuid.js';
37
+ export * from './utils/window.js';
package/dist/index.js CHANGED
@@ -1,32 +1,32 @@
1
- export * from './fixture/FixtureContext.js';
2
- export * from './fixture/Viewport.js';
3
- export * from './fixture/types.js';
4
- export * from './fixture/useSelect/index.js';
5
- export * from './fixture/useValue/index.js';
6
1
  export * from './fixtureState/classState.js';
2
+ export * from './fixtureState/controls.js';
3
+ export * from './fixtureState/createValues.js';
4
+ export * from './fixtureState/extendWithValues.js';
7
5
  export * from './fixtureState/props.js';
8
6
  export * from './fixtureState/types.js';
9
7
  export * from './fixtureTree/createFixtureTree/index.js';
10
8
  export * from './fixtureTree/flattenFixtureTree.js';
11
9
  export * from './fixtureTree/types.js';
12
- export * from './playground/playgroundUrl.js';
13
- export * from './renderer/FixtureCapture/index.js';
14
- export * from './renderer/FixtureConnect.js';
15
- export * from './renderer/createPostMessageConnect.js';
16
- export * from './renderer/createWebSocketsConnect.js';
17
- export * from './renderer/getDecoratedFixtureElement/index.js';
18
- export * from './renderer/getFixtureList.js';
19
- export * from './renderer/getSortedDecoratorsForFixturePath.js';
20
- export * from './renderer/registerPlaygroundShortcuts.js';
10
+ export * from './message/serverMessage.js';
11
+ export * from './message/socketMessage.js';
12
+ export * from './playground/playgroundParams.js';
13
+ export * from './playground/playgroundQueryString.js';
14
+ export * from './playground/registerPlaygroundShortcuts.js';
15
+ export * from './plugin/cosmosPluginConfig.js';
21
16
  export * from './renderer/rendererConfig.js';
22
- export * from './renderer/rendererConnectTypes.js';
23
- export * from './renderer/userModuleTypes.js';
24
- export * from './server/cosmosPluginConfig.js';
25
- export * from './server/serverMessage.js';
26
- export * from './server/socketMessage.js';
17
+ export * from './renderer/rendererConnect.js';
18
+ export * from './renderer/rendererParams.js';
19
+ export * from './renderer/rendererQueryString.js';
20
+ export * from './userModules/fixtureTypes.js';
21
+ export * from './userModules/getFixtureFromExport.js';
22
+ export * from './userModules/getFixtureList.js';
23
+ export * from './userModules/getSortedDecoratorsForFixturePath.js';
24
+ export * from './userModules/userModuleTypes.js';
27
25
  export * from './utils/array.js';
28
26
  export * from './utils/keys.js';
27
+ export * from './utils/queryString.js';
29
28
  export * from './utils/react/ClassStateMock.js';
29
+ export * from './utils/react/DelayRender.js';
30
30
  export * from './utils/react/areNodesEqual.js';
31
31
  export * from './utils/react/getComponentName.js';
32
32
  export * from './utils/react/isReactElement.js';
@@ -34,3 +34,4 @@ export * from './utils/string.js';
34
34
  export * from './utils/tree.js';
35
35
  export * from './utils/types.js';
36
36
  export * from './utils/uuid.js';
37
+ export * from './utils/window.js';
@@ -0,0 +1,4 @@
1
+ import { FixtureId } from '../userModules/fixtureTypes.js';
2
+ export type PlaygroundParams = {
3
+ fixtureId?: FixtureId;
4
+ };
@@ -0,0 +1,3 @@
1
+ import { PlaygroundParams } from './playgroundParams.js';
2
+ export declare function buildPlaygroundQueryString(params: PlaygroundParams): string;
3
+ export declare function parsePlaygroundQueryString(query: string): PlaygroundParams;
@@ -0,0 +1,21 @@
1
+ import { buildQueryString, parseQueryString } from '../utils/queryString.js';
2
+ export function buildPlaygroundQueryString(params) {
3
+ return buildQueryString(encodePlaygroundSearchParams(params));
4
+ }
5
+ export function parsePlaygroundQueryString(query) {
6
+ return decodePlaygroundSearchParams(parseQueryString(query));
7
+ }
8
+ function encodePlaygroundSearchParams(params) {
9
+ const stringParams = {};
10
+ if (params.fixtureId) {
11
+ stringParams.fixtureId = JSON.stringify(params.fixtureId);
12
+ }
13
+ return stringParams;
14
+ }
15
+ function decodePlaygroundSearchParams(stringParams) {
16
+ const params = {};
17
+ if (stringParams.fixtureId) {
18
+ params.fixtureId = JSON.parse(stringParams.fixtureId);
19
+ }
20
+ return params;
21
+ }
@@ -1,9 +1,15 @@
1
- import { FixtureId, FixtureList, FixtureListItem } from '../fixture/types.js';
2
1
  import { FixtureState } from '../fixtureState/types.js';
2
+ import { FixtureId, FixtureList } from '../userModules/fixtureTypes.js';
3
3
  export type RendererId = string;
4
4
  export type PingRenderersRequest = {
5
5
  type: 'pingRenderers';
6
6
  };
7
+ export type ReloadRendererRequest = {
8
+ type: 'reloadRenderer';
9
+ payload: {
10
+ rendererId: RendererId;
11
+ };
12
+ };
7
13
  export type SelectFixtureRequest = {
8
14
  type: 'selectFixture';
9
15
  payload: {
@@ -26,13 +32,12 @@ export type SetFixtureStateRequest = {
26
32
  fixtureState: FixtureState;
27
33
  };
28
34
  };
29
- export type RendererRequest = PingRenderersRequest | SelectFixtureRequest | UnselectFixtureRequest | SetFixtureStateRequest;
35
+ export type RendererRequest = PingRenderersRequest | ReloadRendererRequest | SelectFixtureRequest | UnselectFixtureRequest | SetFixtureStateRequest;
30
36
  export type RendererReadyResponse = {
31
37
  type: 'rendererReady';
32
38
  payload: {
33
39
  rendererId: RendererId;
34
- fixtures: FixtureList;
35
- initialFixtureId?: FixtureId;
40
+ selectedFixtureId?: FixtureId | null;
36
41
  };
37
42
  };
38
43
  export type RendererErrorResponse = {
@@ -48,14 +53,6 @@ export type FixtureListUpdateResponse = {
48
53
  fixtures: FixtureList;
49
54
  };
50
55
  };
51
- export type FixtureListItemUpdateResponse = {
52
- type: 'fixtureListItemUpdate';
53
- payload: {
54
- rendererId: RendererId;
55
- fixturePath: string;
56
- fixtureItem: FixtureListItem;
57
- };
58
- };
59
56
  export type FixtureStateChangeResponse = {
60
57
  type: 'fixtureStateChange';
61
58
  payload: {
@@ -70,8 +67,8 @@ export type PlaygroundCommandResponse = {
70
67
  command: string;
71
68
  };
72
69
  };
73
- export type RendererResponse = RendererReadyResponse | RendererErrorResponse | FixtureListUpdateResponse | FixtureListItemUpdateResponse | FixtureStateChangeResponse | PlaygroundCommandResponse;
70
+ export type RendererResponse = RendererReadyResponse | RendererErrorResponse | FixtureListUpdateResponse | FixtureStateChangeResponse | PlaygroundCommandResponse;
74
71
  export type RendererConnect<Request = RendererRequest, Response = RendererResponse> = {
75
72
  postMessage: (msg: Response) => unknown;
76
- onMessage(handler: (msg: Request) => unknown): () => unknown;
73
+ onMessage(handler: (msg: Request) => unknown): () => void;
77
74
  };
@@ -0,0 +1,6 @@
1
+ import { FixtureId } from '../userModules/fixtureTypes.js';
2
+ export type RendererParams = {
3
+ fixtureId?: FixtureId;
4
+ locked?: boolean;
5
+ key?: number;
6
+ };
@@ -0,0 +1,10 @@
1
+ import { RendererParams } from './rendererParams.js';
2
+ export type RendererSearchParams = {
3
+ fixtureId?: string;
4
+ locked?: string;
5
+ key?: string;
6
+ };
7
+ export declare function buildRendererQueryString(params: RendererParams): string;
8
+ export declare function parseRendererQueryString(query: string): RendererParams;
9
+ export declare function encodeRendererSearchParams(params: RendererParams): RendererSearchParams;
10
+ export declare function decodeRendererSearchParams(stringParams: RendererSearchParams): RendererParams;
@@ -0,0 +1,33 @@
1
+ import { buildQueryString, parseQueryString } from '../utils/queryString.js';
2
+ export function buildRendererQueryString(params) {
3
+ return buildQueryString(encodeRendererSearchParams(params));
4
+ }
5
+ export function parseRendererQueryString(query) {
6
+ return decodeRendererSearchParams(parseQueryString(query));
7
+ }
8
+ export function encodeRendererSearchParams(params) {
9
+ const stringParams = {};
10
+ if (params.fixtureId) {
11
+ stringParams.fixtureId = JSON.stringify(params.fixtureId);
12
+ }
13
+ if (params.locked) {
14
+ stringParams.locked = 'true';
15
+ }
16
+ if (params.key) {
17
+ stringParams.key = params.key.toString();
18
+ }
19
+ return stringParams;
20
+ }
21
+ export function decodeRendererSearchParams(stringParams) {
22
+ const params = {};
23
+ if (stringParams.fixtureId) {
24
+ params.fixtureId = JSON.parse(stringParams.fixtureId);
25
+ }
26
+ if (stringParams.locked) {
27
+ params.locked = stringParams.locked === 'true';
28
+ }
29
+ if (stringParams.key) {
30
+ params.key = parseInt(stringParams.key, 10);
31
+ }
32
+ return params;
33
+ }
@@ -0,0 +1,2 @@
1
+ import { ReactFixture, ReactFixtureExport } from './userModuleTypes.js';
2
+ export declare function getFixtureFromExport(fixtureExport: ReactFixtureExport, fixtureName?: string): void | ReactFixture;
@@ -1,5 +1,5 @@
1
1
  import { isMultiFixture } from './isMultiFixture.js';
2
- export function getFixture(fixtureExport, fixtureName) {
2
+ export function getFixtureFromExport(fixtureExport, fixtureName) {
3
3
  if (fixtureName === undefined) {
4
4
  if (isMultiFixture(fixtureExport)) {
5
5
  // Fixture name missing in multi fixture
@@ -1,4 +1,4 @@
1
- import { FixtureList, FixtureListItem } from '../fixture/types.js';
1
+ import { FixtureList, FixtureListItem } from './fixtureTypes.js';
2
2
  import { ByPath, ReactFixtureExport, UserModuleWrappers } from './userModuleTypes.js';
3
3
  export declare function getFixtureListFromWrappers(wrappers: UserModuleWrappers): FixtureList;
4
4
  export declare function getFixtureListFromExports(exports: ByPath<ReactFixtureExport>): {
@@ -1,5 +1,4 @@
1
1
  import { ComponentType, FunctionComponent, ReactNode } from 'react';
2
- import { FixtureState, SetFixtureState } from '../fixtureState/types.js';
3
2
  type FixtureMap<FixtureType> = {
4
3
  [fixtureName: string]: FixtureType;
5
4
  };
@@ -21,9 +20,6 @@ export type ReactFixtureWrapper = ModuleWrapper<ReactFixtureModule>;
21
20
  export type LazyReactFixtureWrapper = LazyModuleWrapper<ReactFixtureModule>;
22
21
  export type ReactDecoratorProps = {
23
22
  children: ReactNode;
24
- fixtureState: FixtureState;
25
- setFixtureState: SetFixtureState;
26
- onErrorReset: () => unknown;
27
23
  };
28
24
  export type ReactDecorator = ComponentType<ReactDecoratorProps>;
29
25
  export type ReactDecoratorModule = {
@@ -42,7 +38,6 @@ export type UserModuleWrappers = {
42
38
  decorators: ByPath<ReactDecoratorWrapper>;
43
39
  };
44
40
  export type FixtureModules = {
45
- fixturePath: string;
46
41
  fixtureModule: ReactFixtureModule;
47
42
  decoratorModules: ReactDecoratorModule[];
48
43
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare function parseQueryString<T extends {}>(query: string): T;
2
+ export declare function buildQueryString(searchParams: {}): string;
@@ -0,0 +1,7 @@
1
+ export function parseQueryString(query) {
2
+ return Object.fromEntries(new URLSearchParams(query));
3
+ }
4
+ export function buildQueryString(searchParams) {
5
+ const queryString = new URLSearchParams(searchParams).toString();
6
+ return queryString && `?${queryString}`;
7
+ }
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ type Props = {
3
+ children: React.ReactNode;
4
+ delay: number;
5
+ };
6
+ export declare function DelayRender({ children, delay }: Props): JSX.Element;
7
+ export {};
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ import React from 'react';
3
+ export function DelayRender({ children, delay }) {
4
+ const [render, setRender] = React.useState(false);
5
+ React.useEffect(() => {
6
+ const timeoutId = setTimeout(() => setRender(true), delay);
7
+ return () => clearTimeout(timeoutId);
8
+ }, [delay]);
9
+ return React.createElement(React.Fragment, null, render && children);
10
+ }
@@ -0,0 +1 @@
1
+ export declare function isInsideWindowIframe(): boolean;
@@ -0,0 +1,8 @@
1
+ export function isInsideWindowIframe() {
2
+ try {
3
+ return window.self !== window.parent;
4
+ }
5
+ catch (e) {
6
+ return true;
7
+ }
8
+ }
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "react-cosmos-core",
3
- "version": "6.0.0-alpha.18",
3
+ "version": "6.0.0-alpha.19",
4
4
  "description": "React Cosmos Core",
5
5
  "repository": "https://github.com/react-cosmos/react-cosmos/tree/main/packages/react-cosmos-core",
6
6
  "license": "MIT",
7
7
  "type": "module",
8
- "main": "./dist/index.js",
9
8
  "sideEffects": false,
9
+ "main": "./dist/index.js",
10
10
  "dependencies": {
11
11
  "lodash-es": "^4.17.21",
12
12
  "react-is": "^18.2.0"
13
13
  },
14
- "gitHead": "470aceb8ef9ac1a82f050edcfdaf4d62c7e97a61"
14
+ "gitHead": "e2ac66d70184f04b23853c3f57b2ec31c5684eb0"
15
15
  }
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- import { FixtureState, SetFixtureState } from '../fixtureState/types.js';
3
- export type FixtureContextValue = {
4
- fixtureState: FixtureState;
5
- setFixtureState: SetFixtureState;
6
- };
7
- export declare const FixtureContext: import("react").Context<FixtureContextValue>;
@@ -1,5 +0,0 @@
1
- import { createContext } from 'react';
2
- export const FixtureContext = createContext({
3
- fixtureState: {},
4
- setFixtureState: () => { },
5
- });
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- type Props = {
3
- children: React.ReactNode;
4
- width: number;
5
- height: number;
6
- };
7
- export declare function Viewport({ children, width, height }: Props): JSX.Element;
8
- export declare namespace Viewport {
9
- var cosmosCapture: boolean;
10
- }
11
- export {};
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import { FixtureContext } from './FixtureContext.js';
3
- export function Viewport({ children, width, height }) {
4
- const { setFixtureState } = React.useContext(FixtureContext);
5
- React.useEffect(() => {
6
- setFixtureState(fixtureState => ({
7
- ...fixtureState,
8
- viewport: { width, height },
9
- }));
10
- }, [setFixtureState, width, height]);
11
- // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/18051
12
- return React.createElement(React.Fragment, null, children);
13
- }
14
- Viewport.cosmosCapture = false;
@@ -1,2 +0,0 @@
1
- import { SetSelectValue, UseSelectArgs } from './shared.js';
2
- export declare function useSelect<Option extends string>(selectName: string, args: UseSelectArgs<Option>): [Option, SetSelectValue<Option>];
@@ -1,11 +0,0 @@
1
- import { useCreateFixtureState } from './useCreateFixtureState.js';
2
- import { useCurrentValue } from './useCurrentValue.js';
3
- import { useSetValue } from './useSetValue.js';
4
- export function useSelect(selectName, args) {
5
- if (!args || !args.options || !args.options.length)
6
- throw new Error('No options provided to useSelect');
7
- useCreateFixtureState(selectName, args);
8
- const currentValue = useCurrentValue(selectName, args);
9
- const setValue = useSetValue(selectName);
10
- return [currentValue, setValue];
11
- }
@@ -1,6 +0,0 @@
1
- export type UseSelectArgs<Option extends string> = {
2
- options: Option[];
3
- defaultValue?: Option;
4
- };
5
- export type SetSelectValue<Option extends string> = (value: Option) => void;
6
- export declare function getDefaultSelectValue<Option extends string>({ options, defaultValue, }: UseSelectArgs<Option>): Option;
@@ -1,3 +0,0 @@
1
- export function getDefaultSelectValue({ options, defaultValue, }) {
2
- return typeof defaultValue === 'string' ? defaultValue : options[0];
3
- }
@@ -1,2 +0,0 @@
1
- import { UseSelectArgs } from './shared.js';
2
- export declare function useCreateFixtureState<Option extends string>(selectName: string, args: UseSelectArgs<Option>): void;
@@ -1,32 +0,0 @@
1
- import React, { useEffect } from 'react';
2
- import { findFixtureStateControl } from '../../fixtureState/controls.js';
3
- import { FixtureContext } from '../FixtureContext.js';
4
- import { getDefaultSelectValue } from './shared.js';
5
- export function useCreateFixtureState(selectName, args) {
6
- const { setFixtureState } = React.useContext(FixtureContext);
7
- const defaultValue = getDefaultSelectValue(args);
8
- useEffect(() => {
9
- // The fixture state for this select is (re)created in two situations:
10
- // 1. Initially: No corresponding fixture state select is found
11
- // 2: Default value change: Current value is reset to new default value
12
- setFixtureState(prevFs => {
13
- const fsControl = findFixtureStateControl(prevFs, selectName);
14
- if (fsControl &&
15
- fsControl.type === 'select' &&
16
- fsControl.defaultValue === defaultValue)
17
- return prevFs;
18
- return {
19
- ...prevFs,
20
- controls: {
21
- ...prevFs.controls,
22
- [selectName]: {
23
- type: 'select',
24
- options: args.options,
25
- defaultValue,
26
- currentValue: defaultValue,
27
- },
28
- },
29
- };
30
- });
31
- }, [args.options, defaultValue, selectName, setFixtureState]);
32
- }
@@ -1,2 +0,0 @@
1
- import { UseSelectArgs } from './shared.js';
2
- export declare function useCurrentValue<Option extends string>(selectName: string, args: UseSelectArgs<Option>): Option;
@@ -1,11 +0,0 @@
1
- import { useContext } from 'react';
2
- import { findFixtureStateControl } from '../../fixtureState/controls.js';
3
- import { FixtureContext } from '../FixtureContext.js';
4
- import { getDefaultSelectValue } from './shared.js';
5
- export function useCurrentValue(selectName, args) {
6
- const { fixtureState } = useContext(FixtureContext);
7
- const fsControl = findFixtureStateControl(fixtureState, selectName);
8
- return fsControl && fsControl.type === 'select'
9
- ? fsControl.currentValue
10
- : getDefaultSelectValue(args);
11
- }
@@ -1,2 +0,0 @@
1
- import { SetSelectValue } from './shared.js';
2
- export declare function useSetValue<Option extends string>(selectName: string): SetSelectValue<Option>;
@@ -1,25 +0,0 @@
1
- import { useCallback, useContext } from 'react';
2
- import { findFixtureStateControl } from '../../fixtureState/controls.js';
3
- import { FixtureContext } from '../FixtureContext.js';
4
- export function useSetValue(selectName) {
5
- const { setFixtureState } = useContext(FixtureContext);
6
- return useCallback(value => {
7
- setFixtureState(prevFs => {
8
- const fsControl = findFixtureStateControl(prevFs, selectName);
9
- if (!fsControl || fsControl.type !== 'select') {
10
- console.warn(`Invalid fixture state for select: ${selectName}`);
11
- return prevFs;
12
- }
13
- return {
14
- ...prevFs,
15
- controls: {
16
- ...prevFs.controls,
17
- [selectName]: {
18
- ...fsControl,
19
- currentValue: value,
20
- },
21
- },
22
- };
23
- });
24
- }, [selectName, setFixtureState]);
25
- }
@@ -1,7 +0,0 @@
1
- import { FixtureStateData } from '../../fixtureState/types.js';
2
- import { SetValue } from './shared.js';
3
- type Opts<T extends FixtureStateData> = {
4
- defaultValue: T;
5
- };
6
- export declare function useValue<T extends FixtureStateData>(inputName: string, { defaultValue }: Opts<T>): [T, SetValue<T>];
7
- export {};
@@ -1,9 +0,0 @@
1
- import { useCreateFixtureState } from './useCreateFixtureState.js';
2
- import { useCurrentValue } from './useCurrentValue.js';
3
- import { useSetValue } from './useSetValue.js';
4
- export function useValue(inputName, { defaultValue }) {
5
- useCreateFixtureState(inputName, defaultValue);
6
- const currentValue = useCurrentValue(inputName, defaultValue);
7
- const setValue = useSetValue(inputName, defaultValue);
8
- return [currentValue, setValue];
9
- }
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- import { FixtureStateData } from '../../fixtureState/types.js';
3
- export type SetValue<T extends FixtureStateData> = React.Dispatch<React.SetStateAction<T>>;
@@ -1,2 +0,0 @@
1
- import { FixtureStateData } from '../../fixtureState/types.js';
2
- export declare function useCreateFixtureState(inputName: string, defaultValue: FixtureStateData): void;
@@ -1,35 +0,0 @@
1
- import { isEqual } from 'lodash-es';
2
- import React from 'react';
3
- import { findFixtureStateControl } from '../../fixtureState/controls.js';
4
- import { createValue } from '../../fixtureState/createValues.js';
5
- import { extendWithValue } from '../../fixtureState/extendWithValues.js';
6
- import { FixtureContext } from '../FixtureContext.js';
7
- export function useCreateFixtureState(inputName, defaultValue) {
8
- const { setFixtureState } = React.useContext(FixtureContext);
9
- React.useEffect(() => {
10
- // The fixture state for this value is (re)created in two situations:
11
- // 1. Initially: No corresponding fixture state value is found
12
- // 2: Default value change: Current value is reset to new default value
13
- setFixtureState(prevFs => {
14
- const fsControl = findFixtureStateControl(prevFs, inputName);
15
- if (fsControl &&
16
- fsControl.type === 'standard' &&
17
- fsValueExtendsBaseValue(fsControl.defaultValue, defaultValue))
18
- return prevFs;
19
- return {
20
- ...prevFs,
21
- controls: {
22
- ...prevFs.controls,
23
- [inputName]: {
24
- type: 'standard',
25
- defaultValue: createValue(defaultValue),
26
- currentValue: createValue(defaultValue),
27
- },
28
- },
29
- };
30
- });
31
- }, [setFixtureState, inputName, defaultValue]);
32
- }
33
- function fsValueExtendsBaseValue(fsValue, baseValue) {
34
- return isEqual(baseValue, extendWithValue(baseValue, fsValue));
35
- }
@@ -1,2 +0,0 @@
1
- import { FixtureStateData } from '../../fixtureState/types.js';
2
- export declare function useCurrentValue<T extends FixtureStateData>(inputName: string, defaultValue: T): T;