react-cosmos-core 6.0.0-alpha.0
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.
- package/LICENSE +21 -0
- package/dist/fixture/FixtureContext.d.ts +7 -0
- package/dist/fixture/FixtureContext.js +5 -0
- package/dist/fixture/Viewport.d.ts +8 -0
- package/dist/fixture/Viewport.js +19 -0
- package/dist/fixture/types.d.ts +13 -0
- package/dist/fixture/types.js +1 -0
- package/dist/fixture/useSelect/index.d.ts +2 -0
- package/dist/fixture/useSelect/index.js +11 -0
- package/dist/fixture/useSelect/shared.d.ts +6 -0
- package/dist/fixture/useSelect/shared.js +3 -0
- package/dist/fixture/useSelect/useCreateFixtureState.d.ts +2 -0
- package/dist/fixture/useSelect/useCreateFixtureState.js +32 -0
- package/dist/fixture/useSelect/useCurrentValue.d.ts +2 -0
- package/dist/fixture/useSelect/useCurrentValue.js +11 -0
- package/dist/fixture/useSelect/useSetValue.d.ts +2 -0
- package/dist/fixture/useSelect/useSetValue.js +25 -0
- package/dist/fixture/useValue/index.d.ts +7 -0
- package/dist/fixture/useValue/index.js +9 -0
- package/dist/fixture/useValue/shared.d.ts +3 -0
- package/dist/fixture/useValue/shared.js +1 -0
- package/dist/fixture/useValue/useCreateFixtureState.d.ts +2 -0
- package/dist/fixture/useValue/useCreateFixtureState.js +35 -0
- package/dist/fixture/useValue/useCurrentValue.d.ts +2 -0
- package/dist/fixture/useValue/useCurrentValue.js +13 -0
- package/dist/fixture/useValue/useSetValue.d.ts +3 -0
- package/dist/fixture/useValue/useSetValue.js +36 -0
- package/dist/fixtureState/classState.d.ts +22 -0
- package/dist/fixtureState/classState.js +40 -0
- package/dist/fixtureState/controls.d.ts +2 -0
- package/dist/fixtureState/controls.js +4 -0
- package/dist/fixtureState/createValues.d.ts +3 -0
- package/dist/fixtureState/createValues.js +39 -0
- package/dist/fixtureState/extendWithValues.d.ts +3 -0
- package/dist/fixtureState/extendWithValues.js +22 -0
- package/dist/fixtureState/props.d.ts +30 -0
- package/dist/fixtureState/props.js +49 -0
- package/dist/fixtureState/shared.d.ts +9 -0
- package/dist/fixtureState/shared.js +30 -0
- package/dist/fixtureState/types.d.ts +59 -0
- package/dist/fixtureState/types.js +1 -0
- package/dist/fixtureTree/createFixtureTree/collapseFixtureDirs.d.ts +2 -0
- package/dist/fixtureTree/createFixtureTree/collapseFixtureDirs.js +33 -0
- package/dist/fixtureTree/createFixtureTree/collapseIndexes.d.ts +2 -0
- package/dist/fixtureTree/createFixtureTree/collapseIndexes.js +15 -0
- package/dist/fixtureTree/createFixtureTree/collapseNamedIndexes.d.ts +2 -0
- package/dist/fixtureTree/createFixtureTree/collapseNamedIndexes.js +30 -0
- package/dist/fixtureTree/createFixtureTree/collapseOuterDirs.d.ts +2 -0
- package/dist/fixtureTree/createFixtureTree/collapseOuterDirs.js +13 -0
- package/dist/fixtureTree/createFixtureTree/createRawFixtureTree.d.ts +3 -0
- package/dist/fixtureTree/createFixtureTree/createRawFixtureTree.js +66 -0
- package/dist/fixtureTree/createFixtureTree/hideFixtureSuffix.d.ts +2 -0
- package/dist/fixtureTree/createFixtureTree/hideFixtureSuffix.js +24 -0
- package/dist/fixtureTree/createFixtureTree/index.d.ts +7 -0
- package/dist/fixtureTree/createFixtureTree/index.js +16 -0
- package/dist/fixtureTree/flattenFixtureTree.d.ts +10 -0
- package/dist/fixtureTree/flattenFixtureTree.js +28 -0
- package/dist/fixtureTree/types.d.ts +11 -0
- package/dist/fixtureTree/types.js +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.js +34 -0
- package/dist/playground/playgroundUrl.d.ts +13 -0
- package/dist/playground/playgroundUrl.js +36 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/decorateFixtureRefs/index.d.ts +5 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/decorateFixtureRefs/index.js +46 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/decorateFixtureRefs/isRefSupported.d.ts +4 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/decorateFixtureRefs/isRefSupported.js +19 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/index.d.ts +3 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/index.js +13 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/shared.d.ts +18 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/shared.js +14 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/useFixtureState.d.ts +4 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/useFixtureState.js +156 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/useReadClassState.d.ts +4 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/classState/useReadClassState.js +60 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/index.d.ts +7 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/index.js +9 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/props/index.d.ts +3 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/props/index.js +77 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/props/useFixtureProps.d.ts +3 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/props/useFixtureProps.js +70 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/findRelevantElementPaths.d.ts +2 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/findRelevantElementPaths.js +23 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/nodeTree/findElementPaths.d.ts +2 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/nodeTree/findElementPaths.js +22 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/nodeTree/getElementAtPath.d.ts +3 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/nodeTree/getElementAtPath.js +26 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/nodeTree/index.d.ts +11 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/nodeTree/index.js +11 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/nodeTree/setElementAtPath.d.ts +2 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/nodeTree/setElementAtPath.js +35 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/nodeTree/shared.d.ts +2 -0
- package/dist/renderer/FixtureLoader/FixtureCapture/shared/nodeTree/shared.js +6 -0
- package/dist/renderer/FixtureLoader/FixtureLoader.d.ts +52 -0
- package/dist/renderer/FixtureLoader/FixtureLoader.js +226 -0
- package/dist/renderer/FixtureLoader/FixtureProvider.d.ts +18 -0
- package/dist/renderer/FixtureLoader/FixtureProvider.js +18 -0
- package/dist/renderer/FixtureLoader/fixtureHelpers.d.ts +2 -0
- package/dist/renderer/FixtureLoader/fixtureHelpers.js +15 -0
- package/dist/renderer/FixtureLoader/getDecoratedFixtureElement/FixtureElement.d.ts +9 -0
- package/dist/renderer/FixtureLoader/getDecoratedFixtureElement/FixtureElement.js +5 -0
- package/dist/renderer/FixtureLoader/getDecoratedFixtureElement/index.d.ts +2 -0
- package/dist/renderer/FixtureLoader/getDecoratedFixtureElement/index.js +15 -0
- package/dist/renderer/FixtureLoader/postMessage.d.ts +2 -0
- package/dist/renderer/FixtureLoader/postMessage.js +22 -0
- package/dist/renderer/FixtureLoader/webSockets.d.ts +2 -0
- package/dist/renderer/FixtureLoader/webSockets.js +32 -0
- package/dist/renderer/getFixtureList.d.ts +8 -0
- package/dist/renderer/getFixtureList.js +19 -0
- package/dist/renderer/getSortedDecoratorsForFixturePath.d.ts +2 -0
- package/dist/renderer/getSortedDecoratorsForFixturePath.js +25 -0
- package/dist/renderer/isMultiFixture.d.ts +2 -0
- package/dist/renderer/isMultiFixture.js +6 -0
- package/dist/renderer/reactTypes.d.ts +28 -0
- package/dist/renderer/reactTypes.js +1 -0
- package/dist/renderer/registerPlaygroundShortcuts.d.ts +1 -0
- package/dist/renderer/registerPlaygroundShortcuts.js +40 -0
- package/dist/renderer/rendererConfig.d.ts +3 -0
- package/dist/renderer/rendererConfig.js +1 -0
- package/dist/renderer/types.d.ts +69 -0
- package/dist/renderer/types.js +1 -0
- package/dist/server/cosmosPluginConfig.d.ts +16 -0
- package/dist/server/cosmosPluginConfig.js +1 -0
- package/dist/server/serverMessage.d.ts +10 -0
- package/dist/server/serverMessage.js +1 -0
- package/dist/server/socketMessage.d.ts +10 -0
- package/dist/server/socketMessage.js +6 -0
- package/dist/utils/array.d.ts +3 -0
- package/dist/utils/array.js +21 -0
- package/dist/utils/keys.d.ts +6 -0
- package/dist/utils/keys.js +6 -0
- package/dist/utils/react/areNodesEqual.d.ts +2 -0
- package/dist/utils/react/areNodesEqual.js +38 -0
- package/dist/utils/react/getComponentName.d.ts +2 -0
- package/dist/utils/react/getComponentName.js +11 -0
- package/dist/utils/react/isReactElement.d.ts +2 -0
- package/dist/utils/react/isReactElement.js +4 -0
- package/dist/utils/string.d.ts +5 -0
- package/dist/utils/string.js +9 -0
- package/dist/utils/tree.d.ts +6 -0
- package/dist/utils/tree.js +21 -0
- package/dist/utils/types.d.ts +1 -0
- package/dist/utils/types.js +1 -0
- package/dist/utils/uuid.d.ts +1 -0
- package/dist/utils/uuid.js +6 -0
- package/package.json +15 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type MessageType = {
|
|
2
|
+
type: string;
|
|
3
|
+
payload?: {};
|
|
4
|
+
};
|
|
5
|
+
export type SocketMessage<T extends MessageType = MessageType> = {
|
|
6
|
+
channel: 'renderer' | 'server';
|
|
7
|
+
message: T;
|
|
8
|
+
};
|
|
9
|
+
export declare function serverSocketMessage(message: MessageType): SocketMessage;
|
|
10
|
+
export declare function rendererSocketMessage(message: MessageType): SocketMessage;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare function updateItem<T>(items: Readonly<T[]>, item: T, update: Partial<T>): T[];
|
|
2
|
+
export declare function replaceOrAddItem<T>(items: Readonly<T[]>, matcher: (item: T) => boolean, item: T): T[];
|
|
3
|
+
export declare function removeItemMatch<T>(items: Readonly<T[]>, matcher: (item: T) => boolean): T[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { findIndex } from 'lodash-es';
|
|
2
|
+
export function updateItem(items, item, update) {
|
|
3
|
+
const index = items.indexOf(item);
|
|
4
|
+
return [
|
|
5
|
+
...items.slice(0, index),
|
|
6
|
+
{ ...item, ...update },
|
|
7
|
+
...items.slice(index + 1),
|
|
8
|
+
];
|
|
9
|
+
}
|
|
10
|
+
export function replaceOrAddItem(items, matcher, item) {
|
|
11
|
+
const index = findIndex(items, matcher);
|
|
12
|
+
return index !== -1
|
|
13
|
+
? [...items.slice(0, index), item, ...items.slice(index + 1)]
|
|
14
|
+
: [...items, item];
|
|
15
|
+
}
|
|
16
|
+
export function removeItemMatch(items, matcher) {
|
|
17
|
+
const index = findIndex(items, matcher);
|
|
18
|
+
return index === -1
|
|
19
|
+
? [...items]
|
|
20
|
+
: [...items.slice(0, index), ...items.slice(index + 1)];
|
|
21
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { isEqual, isEqualWith } from 'lodash-es';
|
|
2
|
+
import { getComponentName } from './getComponentName.js';
|
|
3
|
+
import { isReactElement } from './isReactElement.js';
|
|
4
|
+
export function areNodesEqual(node1, node2, strictTypeCheck) {
|
|
5
|
+
if (isReactElement(node1) && isReactElement(node2))
|
|
6
|
+
return areElementsEqual(node1, node2, strictTypeCheck);
|
|
7
|
+
if (Array.isArray(node1) && Array.isArray(node2))
|
|
8
|
+
return areArrayNodesEqual(node1, node2, strictTypeCheck);
|
|
9
|
+
return isEqual(node1, node2);
|
|
10
|
+
}
|
|
11
|
+
function areElementsEqual(element1, element2, strictTypeCheck) {
|
|
12
|
+
if (!areElementTypesEqual(element1.type, element2.type, strictTypeCheck))
|
|
13
|
+
return false;
|
|
14
|
+
// Don't compare private element attrs like _owner and _store, which hold
|
|
15
|
+
// internal details and have auto increment-type attrs
|
|
16
|
+
return (element1.key === element2.key &&
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
element1.ref === element2.ref &&
|
|
19
|
+
// Children (and props in general) can contain Elements and other Nodes
|
|
20
|
+
arePropsEqual(element1.props, element2.props));
|
|
21
|
+
}
|
|
22
|
+
function areElementTypesEqual(type1, type2, strictTypeCheck) {
|
|
23
|
+
return strictTypeCheck
|
|
24
|
+
? type1 === type2
|
|
25
|
+
: getComponentName(type1) === getComponentName(type2);
|
|
26
|
+
}
|
|
27
|
+
function areArrayNodesEqual(node1, node2, strictTypeCheck) {
|
|
28
|
+
if (node1.length !== node2.length)
|
|
29
|
+
return false;
|
|
30
|
+
return node1.every((node, nodeIndex) => areNodesEqual(node, node2[nodeIndex], strictTypeCheck));
|
|
31
|
+
}
|
|
32
|
+
function arePropsEqual(object1, object2) {
|
|
33
|
+
if (!isEqual(Object.keys(object1), Object.keys(object2)))
|
|
34
|
+
return false;
|
|
35
|
+
return Object.keys(object1).every(key => isEqualWith(object1[key], object2[key], (value1, value2) => typeof value1 === 'function' && typeof value2 === 'function'
|
|
36
|
+
? value1 === value2 || value1.toString() === value2.toString()
|
|
37
|
+
: isEqual(value1, value2)));
|
|
38
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const componentNames = new WeakMap();
|
|
2
|
+
export function getComponentName(type) {
|
|
3
|
+
if (typeof type === 'string') {
|
|
4
|
+
return type;
|
|
5
|
+
}
|
|
6
|
+
if (!componentNames.has(type)) {
|
|
7
|
+
const name = type.displayName || type.name || '';
|
|
8
|
+
componentNames.set(type, name);
|
|
9
|
+
}
|
|
10
|
+
return componentNames.get(type);
|
|
11
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function replaceKeys(str, map) {
|
|
2
|
+
return Object.keys(map).reduce((res, key) => res.replace(key, map[key]), str);
|
|
3
|
+
}
|
|
4
|
+
export function removeLeadingSlash(fromPath) {
|
|
5
|
+
return fromPath.replace(/^\/+/, '');
|
|
6
|
+
}
|
|
7
|
+
export function removeLeadingDot(fromPath) {
|
|
8
|
+
return fromPath.indexOf('.') === 0 ? fromPath.slice(1) : fromPath;
|
|
9
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type TreeNode<T> = {
|
|
2
|
+
data: T;
|
|
3
|
+
children?: Record<string, TreeNode<T>>;
|
|
4
|
+
};
|
|
5
|
+
export declare function addTreeNodeChild<T>(parentNode: TreeNode<T>, childName: string, childNode: TreeNode<T>): void;
|
|
6
|
+
export declare function sortTreeChildren<T>(node: TreeNode<T>): TreeNode<T>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export function addTreeNodeChild(parentNode, childName, childNode) {
|
|
2
|
+
if (!parentNode.children)
|
|
3
|
+
parentNode.children = {};
|
|
4
|
+
parentNode.children[childName] = childNode;
|
|
5
|
+
}
|
|
6
|
+
export function sortTreeChildren(node) {
|
|
7
|
+
const { children } = node;
|
|
8
|
+
if (!children)
|
|
9
|
+
return node;
|
|
10
|
+
// Group by parent and leaf nodes, and sort alphabetically within each group
|
|
11
|
+
const childNames = Object.keys(children);
|
|
12
|
+
const parentNames = childNames.filter(n => children[n].children);
|
|
13
|
+
const leafNames = childNames.filter(n => !children[n].children);
|
|
14
|
+
return {
|
|
15
|
+
...node,
|
|
16
|
+
children: [...parentNames.sort(), ...leafNames.sort()].reduce((sortedChildren, childName) => ({
|
|
17
|
+
...sortedChildren,
|
|
18
|
+
[childName]: sortTreeChildren(children[childName]),
|
|
19
|
+
}), {}),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type StateUpdater<T> = (prevState: T) => T;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function uuid(a?: string): string;
|
package/package.json
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "react-cosmos-core",
|
|
3
|
+
"version": "6.0.0-alpha.0",
|
|
4
|
+
"description": "React Cosmos Core",
|
|
5
|
+
"repository": "https://github.com/react-cosmos/react-cosmos/tree/main/packages/react-cosmos-core",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "./dist/index.js",
|
|
9
|
+
"sideEffects": false,
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"lodash-es": "^4.17.21",
|
|
12
|
+
"react-is": "^18.0.0"
|
|
13
|
+
},
|
|
14
|
+
"gitHead": "b021231584639f3028fe08deacd418f0ec4cc002"
|
|
15
|
+
}
|