@storybook/react-native-ui-lite 9.0.0-beta.11
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/index.d.ts +94 -0
- package/dist/index.js +5437 -0
- package/package.json +80 -0
- package/src/Button.stories.tsx +134 -0
- package/src/Button.tsx +172 -0
- package/src/Explorer.stories.tsx +40 -0
- package/src/Explorer.tsx +38 -0
- package/src/IconButton.tsx +10 -0
- package/src/Layout.stories.tsx +70 -0
- package/src/Layout.tsx +310 -0
- package/src/LayoutProvider.tsx +32 -0
- package/src/MobileAddonsPanel.tsx +195 -0
- package/src/MobileMenuDrawer.tsx +90 -0
- package/src/Refs.tsx +82 -0
- package/src/Search.tsx +234 -0
- package/src/SearchResults.stories.tsx +102 -0
- package/src/SearchResults.tsx +254 -0
- package/src/SelectedNodeProvider.tsx +58 -0
- package/src/Sidebar.stories.tsx +188 -0
- package/src/Sidebar.tsx +131 -0
- package/src/StorageProvider.tsx +21 -0
- package/src/StorybookLogo.stories.tsx +76 -0
- package/src/StorybookLogo.tsx +108 -0
- package/src/Tree.stories.tsx +177 -0
- package/src/Tree.tsx +390 -0
- package/src/TreeNode.stories.tsx +117 -0
- package/src/TreeNode.tsx +154 -0
- package/src/assets/react-native-logo.png +0 -0
- package/src/constants.ts +4 -0
- package/src/hooks/useExpanded.ts +64 -0
- package/src/hooks/useLastViewed.ts +48 -0
- package/src/hooks/useStoreState.ts +27 -0
- package/src/icon/iconDataUris.tsx +365 -0
- package/src/index.tsx +11 -0
- package/src/mockdata.large.ts +25217 -0
- package/src/mockdata.ts +287 -0
- package/src/types.ts +66 -0
- package/src/util/StoryHash.ts +249 -0
- package/src/util/status.tsx +87 -0
- package/src/util/tree.ts +93 -0
- package/src/util/useStyle.ts +28 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { StoriesHash } from 'storybook/internal/manager-api';
|
|
2
|
+
import type { Dispatch } from 'react';
|
|
3
|
+
import { useCallback, useEffect, useReducer } from 'react';
|
|
4
|
+
import { getAncestorIds } from '../util/tree';
|
|
5
|
+
|
|
6
|
+
export type ExpandedState = Record<string, boolean>;
|
|
7
|
+
|
|
8
|
+
export interface ExpandAction {
|
|
9
|
+
ids: string[];
|
|
10
|
+
value: boolean;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface ExpandedProps {
|
|
14
|
+
refId: string;
|
|
15
|
+
data: StoriesHash;
|
|
16
|
+
initialExpanded?: ExpandedState;
|
|
17
|
+
rootIds: string[];
|
|
18
|
+
selectedStoryId: string | null;
|
|
19
|
+
onSelectStoryId: (storyId: string) => void;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const initializeExpanded = ({
|
|
23
|
+
initialExpanded,
|
|
24
|
+
rootIds,
|
|
25
|
+
}: {
|
|
26
|
+
refId: string;
|
|
27
|
+
data: StoriesHash;
|
|
28
|
+
initialExpanded?: ExpandedState;
|
|
29
|
+
rootIds: string[];
|
|
30
|
+
}) => {
|
|
31
|
+
const highlightedAncestors = [];
|
|
32
|
+
return [...rootIds, ...highlightedAncestors].reduce<ExpandedState>(
|
|
33
|
+
(acc, id) => Object.assign(acc, { [id]: id in initialExpanded ? initialExpanded[id] : true }),
|
|
34
|
+
{}
|
|
35
|
+
);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export const useExpanded = ({
|
|
39
|
+
refId,
|
|
40
|
+
data,
|
|
41
|
+
initialExpanded,
|
|
42
|
+
rootIds,
|
|
43
|
+
selectedStoryId,
|
|
44
|
+
}: ExpandedProps): [ExpandedState, Dispatch<ExpandAction>] => {
|
|
45
|
+
// Track the set of currently expanded nodes within this tree.
|
|
46
|
+
// Root nodes are expanded by default.
|
|
47
|
+
const [expanded, setExpanded] = useReducer(
|
|
48
|
+
(state: ExpandedState, { ids, value }: ExpandAction) =>
|
|
49
|
+
ids.reduce((acc, id) => Object.assign(acc, { [id]: value }), { ...state }),
|
|
50
|
+
{ refId, data, rootIds, initialExpanded },
|
|
51
|
+
initializeExpanded
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
const updateExpanded = useCallback(({ ids, value }: ExpandAction) => {
|
|
55
|
+
setExpanded({ ids, value });
|
|
56
|
+
}, []);
|
|
57
|
+
|
|
58
|
+
// Expand the whole ancestry of the currently selected story whenever it changes.
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
setExpanded({ ids: getAncestorIds(data, selectedStoryId), value: true });
|
|
61
|
+
}, [data, selectedStoryId]);
|
|
62
|
+
|
|
63
|
+
return [expanded, updateExpanded];
|
|
64
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import debounce from 'lodash/debounce.js';
|
|
2
|
+
import { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
3
|
+
import store from 'store2';
|
|
4
|
+
|
|
5
|
+
import type { Selection, StoryRef } from '../types';
|
|
6
|
+
|
|
7
|
+
const save = debounce((value) => store.set('lastViewedStoryIds', value), 1000);
|
|
8
|
+
|
|
9
|
+
export const useLastViewed = (selection: Selection) => {
|
|
10
|
+
const initialLastViewedStoryIds = useMemo((): StoryRef[] => {
|
|
11
|
+
const items = store.get('lastViewedStoryIds');
|
|
12
|
+
if (!items || !Array.isArray(items)) return [];
|
|
13
|
+
if (!items.some((item) => typeof item === 'object' && item.storyId && item.refId)) return [];
|
|
14
|
+
return items;
|
|
15
|
+
}, []);
|
|
16
|
+
|
|
17
|
+
const lastViewedRef = useRef(initialLastViewedStoryIds);
|
|
18
|
+
|
|
19
|
+
const updateLastViewed = useCallback(
|
|
20
|
+
(story: StoryRef) => {
|
|
21
|
+
const items = lastViewedRef.current;
|
|
22
|
+
const index = items.findIndex(
|
|
23
|
+
({ storyId, refId }) => storyId === story.storyId && refId === story.refId
|
|
24
|
+
);
|
|
25
|
+
if (index === 0) return;
|
|
26
|
+
if (index === -1) {
|
|
27
|
+
lastViewedRef.current = [story, ...items];
|
|
28
|
+
} else {
|
|
29
|
+
lastViewedRef.current = [story, ...items.slice(0, index), ...items.slice(index + 1)];
|
|
30
|
+
}
|
|
31
|
+
save(lastViewedRef.current);
|
|
32
|
+
},
|
|
33
|
+
[lastViewedRef]
|
|
34
|
+
);
|
|
35
|
+
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
if (selection) updateLastViewed(selection);
|
|
38
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
39
|
+
}, [selection]);
|
|
40
|
+
|
|
41
|
+
return {
|
|
42
|
+
getLastViewed: useCallback(() => lastViewedRef.current, [lastViewedRef]),
|
|
43
|
+
clearLastViewed: useCallback(() => {
|
|
44
|
+
lastViewedRef.current = lastViewedRef.current.slice(0, 1);
|
|
45
|
+
save(lastViewedRef.current);
|
|
46
|
+
}, [lastViewedRef]),
|
|
47
|
+
};
|
|
48
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { useStorage } from '../StorageProvider';
|
|
3
|
+
|
|
4
|
+
export const useStoreBooleanState = (
|
|
5
|
+
key: string,
|
|
6
|
+
defaultValue: boolean
|
|
7
|
+
): ReturnType<typeof useState<boolean>> => {
|
|
8
|
+
const storage = useStorage();
|
|
9
|
+
|
|
10
|
+
const [val, setVal] = useState<boolean>(defaultValue);
|
|
11
|
+
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
storage.getItem(key).then((newVal) => {
|
|
14
|
+
if (newVal === null || newVal === undefined) {
|
|
15
|
+
setVal(defaultValue);
|
|
16
|
+
} else {
|
|
17
|
+
setVal(newVal === 'true');
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}, [key, storage, defaultValue]);
|
|
21
|
+
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
storage.setItem(key, val.toString());
|
|
24
|
+
}, [key, storage, val]);
|
|
25
|
+
|
|
26
|
+
return [val, setVal];
|
|
27
|
+
};
|
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-generated file with icon data URIs
|
|
3
|
+
* Generated on: 2025-05-15T19:52:58.689Z
|
|
4
|
+
* Do not modify manually
|
|
5
|
+
*/
|
|
6
|
+
import { styled } from '@storybook/react-native-theming';
|
|
7
|
+
import { FC } from 'react';
|
|
8
|
+
import { Image } from 'react-native';
|
|
9
|
+
|
|
10
|
+
// Icon data URIs for React Native Image component
|
|
11
|
+
export interface IconDataURIs {
|
|
12
|
+
[iconName: string]: string; // Base64 PNG data
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Export all icon data URIs
|
|
16
|
+
export const iconDataURIs: IconDataURIs = {
|
|
17
|
+
BottomBarToggleIcon:
|
|
18
|
+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAADqklEQVR4nO2dO2sUURiGH9QYMQoijrcmoKQQlHhp1B8gKqTw1iiktMtqIZGUqUVRImopNopom0bEW53GQkUQL4U2UbyAos3KwRMIuHNm5uzufDuz7wOnSSbfnHmf2S87mdkTEEIIIYQQ6SwBhoEtGuTJYNhn1jaDwEXgB9DUoEgGLrMLPsNoLit02j3x3AkcxTLgpwTQroBfwECMANfL1HboSAYuy8KMSACdOgFdlhJAjQTMAw80WJzBfJkCZmMK1pxZCbBFAoyRAGMkwBgJMEYCjJEAYyTAGAkwpq8ErAZmgA9+zPivWdI3AhLgeYs5vQA2Gs6rLwQkKeH3goTaC0gywreWUGsBSc7wLSXUVkBSMHwrCbUUkESGbyGhdgKSNsNfGC9LklArAUmHwi9TQm0EJB0OvywJtRCQdCn8MiRUXsByYC5HiKGn9fI8yTfn99VpKi/gTI7wHgNTge9P+W2y6kx0Yf6VF3AnR/hDQCOwTcNvkyXhdhfmX3kBVwL7ewas8ttlCXCsBB4GtrvUhflXXsA2/yRxKPy8AkISfgPbuzD/ygtwHAbe+3388X/nd0ESIQD/s1d9Lff9d8AhukMtBCywOfBOpYiABQZ9zW5SKwEhYgSUgQQgAaXQ0CtALagVakGoBZVCQy1ILagVakGoBZVCQy1ILagVakGoBZVCQy3o3w0Pq7WDpgMCpg3nFboJpKUKsB0SgAT09RiJ+WWn5WqQgGYPnL16BWAfYM+1IK0XxH/rJWm9IGP65k8RvYoEGCMBxkiAMRJgTM8JWAuMAacD40CLZz9D7ADGA/XGCz54O+TnEJrjmD+WSglwD9l+znmR8hbYlVFvKXCrwIXPTf8zIXb7h3Xz1HPv8Q9WRYD7nNeXgleKr/xi4Wmcjbj6dJ+4ScPt63XBeu6EWlcFAccjwmr69pLGk4h6jwL1RiPneLQKAk5EHtxooObTiHruDlUaOyPn6E6unhewAfhW8MDeZLSgyYiwzgXqDfjfPUXqfQXWV0EA/qX6PeeBfQT2ZtRzgd0vENa9DKGOfcCnnPXcCXUko15PCXBsAk4B51PGpBe1psCc9vuPmKbVnPDB5sXt+1ignhsn/bFQNQH9xqwE2CIBxkiAMRJgjAT0kwD3/vmuBoszCF1T6MEsbIcEUEEBW40n3azRcFkWZiBl+RgNyvlnno5rCpx2Tzi3XE407n7tjUXr7WiQOwOX2fWC97xTWeFvmOzRIE8Goz4zIYQQQghBK/4C+VNIj+qA4OcAAAAASUVORK5CYII=',
|
|
19
|
+
CloseFullscreenIcon:
|
|
20
|
+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAACLElEQVR4nO2bTU4CQRCF34ozKK5MlFvgwp8riTdwPAJ6F9BLgAdwdGE0MbhhVSamJUhodWGqOtPfl/SGzZvumql6JK+lOHqSriQ9SmolNem3ruoWRyPJNlbTYd3ieNxyEE8d1i0Oy6yu6haHUQAKYHwBogXRgsQMMIYwQ7g6DBdEAQwXJFwQLUi4IMMFMYSrw3BBFMBwQcIF0YKECzJcEEO4OgwXRAEMFyRcEC1IuCDDBfmylxnAbw7ai4x2XxVxkTmEmYP2fUZ7pArop40uM4cwdniGm4z2Mj2b+5ewnha24HXssN/TAvb5LZW9LS0csSby47aA/a5S2SW8+S+SDhwLsC/puYB9f6ay2wIOfyh/hkk7cu9tdAuaOL/5mxxKmgbu/1JpEDROX8IiWc2x08D9KyfpmWY//E/47ze/2qtRAAAAAAAAAAAAAAAAAAAAAAA14JmOfpc0l3SdUsqlcJZi6/fpGV2DWZHRxNsUD4xiIOkuOh0dHc59DQrnHiXt8HBudAEsIJ4+KODwVwUo5YLG1LEAkW0nNB392zpxGrjR+wxLR5d+Se+8luuqo8whzB20q76m+sVO5hAWDtq5Cxi7qgzLrK7qFodRAApgfAGiBdGCxAwwhjBDuDoMF0QBDBckXBAtSLggwwUxhKvDcEEUwHBBwgXRgoQLMlwQQ7g6DBdEAQwXJFwQLUi4IMMF+dNuaT8PHdYtjiaXFu6obnH01lLZnmnhKN2tfAD6PcoFaT2ppgAAAABJRU5ErkJggg==',
|
|
21
|
+
CloseIcon:
|
|
22
|
+
'data:image/png;base64,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',
|
|
23
|
+
CollapseAllIcon:
|
|
24
|
+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAACP0lEQVR4nO2cT0ocQRSHfxsvoidIiAvBSMgZYo7i29kuPUaiy/y5hZqVmLjVU2hvdFGhoQqCyEwnGee9qvo+KBhmMfT7Pnq6e+hpaXXsSfohaZT0S9K+2uGjpOs820WeNRSvJT1ISk/Wsern6Jm5HiVtKxDfn9nIsgbVy7Bgrq8KxNWCDa01wrBkpksF4mTJxtYWYZgxzycFYlPSXSMRhhlz3OWZQ7E7M8JxZQfc9GRNZ0LvFZTdiveEo9rl1xzBWpFfYwRrTX5NEaxV+TVEsNblR45gvciPGMF6kx8pgvUqP0IE612+ZwRDvl8EQ75fBEO+XwRDvl8EQ75fBEO+XwRDvl8EQ75fBEP+anmXr0qXRTjMa84V7vSZ8AJ7QuLnhbgRxh5+24kaYUS+X4QR+X4RRuT7RRiR7xdhRP762JF084f8m/werJENSa/yml4DAAAAAAAAAAAAAAAAAAAAAAAAAPwHG/mZ1dPi1sQ1syPplptzfXjL7enx5Cf+I+AvPxHBX34igr/8RAR/+YkI/vITEV5e/qGkAyL4yS8QwVF+gQiO8gtEcJRfIIKj/AIRHOUXiLAi+YP+HR7m5yi/QARH+QUiOMovdB/BU756jxBBfrcRIsnvLkJE+d1EiCy/+Qg1yG82Qk3ym4tQo/xmItQsv/oIWw3ILwwz5phm3VQgThuR/zcRPisQVw3JnxvhUoH41pj8ORG+KBDT85sfGpO/6MD8KOmNgrEn6VzSff5K+qB22Jf0M892ls/4VsJvmYBl6EFAgbYAAAAASUVORK5CYII=',
|
|
25
|
+
CollapseIcon:
|
|
26
|
+
'data:image/png;base64,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',
|
|
27
|
+
ComponentIcon:
|
|
28
|
+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAD4klEQVR4nO2dy4uOURjAf+5icismym0hNspCLMRGSbIxshIWiixZuGRhFixchyh3dhbuuTQi/4GNZEPkPoOYsmCMcvTU+TRpzDnfZb7nnPd7fvXszvvN8zy/mfOd9216H6iMQcA8YBtwCXgEvAe6AFfw6ALe+Zql9q2+F9KTAacZaAVeJtAIl1i8APb4HtWcccAx4HsChbrEQ3rU5ntWE1YDHxMozGUWncCqaho/FDieQCEu4/gNHAWGlNv8kcDNBApwBYnrvqdRiK1rCSTtCha3/K4S5EQCybqChhxk+mVNBV80Z4EWYC4wiYHHBWKgmeRrbfG1l3tAkev6ZALwKfJDPgM7gBHUH6cs4F+GAZuAjsjeibDx1Ww97bU84xZAQAlp6r1Kt6IpQHfEhacqOVI1iAB8b05H5PgDmEwv9kVcdDeB5qcuAN+j9og895YuGAy8CSz+AIwlDVziAvBbdGcgz1elB3gLIoraTDq4DAQIWyJynS8LdwYWvYu9gagTLhMBw/wj+v5y3U7EXa+cjlLCZSJAOBnI9bIsehJYtIK0cBkJWBnI9bEs+hJYNIu0cBkJmBNxQ8vPwKIm0sJlJGBMINfu3AoqZL6FKygxTIAyJkAZE6CMCVDGBChjApQxAcqYAGVMgDImQBkToIwJUMYEKGMClDEBypgAZUyAMiZAGROgjAlQxgQoYwJyF2DBgPbAGoxuD0wAJgDtJthfAPqNsC2Ixgz1BFyDh3oCrsEjvCAxXNHyLVxBiWEClDEBypgAZUyAMiZAGROgjAlQxgQoYwKUMQHKmABlTIAyJkAZE6CMCVDGBChjApQxAcqYAGVMgDImQBkTkLqAnsACe3Fr5TQFeisvzeVrYJG9urhyZse8uvhpYNEy0sJl9I9ZywO5yovTuRFYJKP4UsJlJCA0CvKqLNodMWpDxpykgstEgMySeR3IdZcsXBRR1AbSwWUiYGNErgtLpkKjNsTkaNLAZSBATj9vI0bD/N1ZDkQUdqVeY7szFzAochjq/t4XTY+4H3BelLYEl7AA6c3BiBzl/D/134vPRlxYGjwzCj1cogJG+13CRU4k7HNKaOimrBRv/ABLjcl6LjEBg/0U2peRvZOZPRP/92HrIz+kFC+AQ8BSYBowvAEEDPe1Ss2HfQ/K6dna0A+4UOYHWhDdgzOxE+Bix7JaEN2Dh+XMX5Zz7ANrMLX6BbtfyVNl2esumgSqbf65ar8b5TFEl4mg3MbLiXIdNaIZOA/8MhGEGt/j76nkWF9zZgJtEcOKGzE6gCPADOqAzBdeArQCd4DnwLcEmuDqFFLrM+A2sAdYXOnM5T+zntdc+VUv0gAAAABJRU5ErkJggg==',
|
|
29
|
+
DarkLogo:
|
|
30
|
+
'data:image/png;base64,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',
|
|
31
|
+
ExpandAllIcon:
|
|
32
|
+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAACM0lEQVR4nO2dXUocQRRGv1dvBH1IRoJuxa1o1uIPbkEDkn0kjqBPMa8q9A50D4ItDVUgPuhMYry3bp0DDSIy1D1nZhqkq1tqk3VJ3yXdl+NE0pr3onphJula0vjiGCR99V5cr/JHIvjLH4ngL38kgr/8kQj+8kci+MsfifD3bEi6XUDuvBxv/d1teU14x3f+haRVSSuSfvFJ8JFfIYKj/AoRHOVXiOAov0KE/yD/ckH5zyOccWL2kV8xIvjJrxDBUX6FCI7yK0RwlF/pOoK3/K4jRJHfZYRo8ruKEFV+FxGiy08doRX5KSO0Jj9VhFblp4jwSdLNAos/L4NGxcoa35rjJtocRwnkLxvhUIH4k0T+MhF+KxBnDX7n/+s54acCsZvknb/MJ2FHwdiX9FAW9yjptHH5FSuzVPHTjHsKymdJ25I2lY/NMts0IwAAAAAAAAAAAAAAAAAAAAAAAAB8CF/K5XtbysdWmW2aMSTPL84dk12c++PFxbnTrKH41uHl6bsKxHnSDRrzV+aabpUZhqsOtyhdKRCHHW7SO1CwRbNN1ZkMG7XnrW7Ubj2CtbxLvvUIlkl+axEso/xWIlhm+dEjWA/yo0awnuRHi2A9yo8SwXqWX+HWxQHg5t0B4Pb1AZjxAIe8EYwTrl8EQ75fBEO+XwRDvl8EQ75fBEP++7PB42z9mfFAZ39mPNK83QhD5v9qRo8wIN8vwoB8vwgD8v0iDMj/ONYkHUu6K8f08/S75ngCx9JowhDirVwAAAAASUVORK5CYII=',
|
|
33
|
+
FaceHappyIcon:
|
|
34
|
+
'data:image/png;base64,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',
|
|
35
|
+
FullscreenIcon:
|
|
36
|
+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAADv0lEQVR4nO2dzU4UQRSFz0J+TMQlupPBGOE5FHCDsrJmwcDbGMJC+VkqPoYLJDwE6A5hD3sGI+OYTgqD4/TQXbe661b1+ZJadufec2aqu+vnFkAIIYQQQvIZA9ACMOvQpiIWdsox55bVTMx9ALsArgD0HVsPwAGAGcRDC8Chjd017y6AHQCTkkB2BQEMtmMAE9DPBIDvHvPedg1kzLrY99gWoJ8lzzl3Xbujp54Dydoa9LNWQd6ZlqV55jmIrD99Dv3MCfv+YS3TMrgB7xAPGzEacAHg65D2CcAy4uO1jX1YThcaDbiOpI+XYgD80mhAE0wwDuLX/gxI1QTjKH7tBqRoghGIX4kB51bku0xYRfysFsz1vE4DvgB4W+BXEfs/wRTMsWM1qdUAJG6CKSE+QhmQqgmmpPhBDUjNBOMgfnADUjHBOIpfiQEPRgxKfRQmoNEEI4x9L+eanmRW8CDnpsseXts60EPHw2v1m5zr9qVTc8cDbhYZ1YzJhI7Hb5qNgV7jCMATaYDjdiZrreR4fgwmdCr4oJyzWr202gVF8zPBKI4tSKLrNcbUbor4ZUzo1WRC48TXZEK7qeJrMKHddPFDmtCm+OFMaFN82Tv4kkD8VxF8i6g34Yfg/mcU348J0w7iP6L4fp4JXcfFraMWFzfibceXCe8F99yi+OVYsn1+324K+SDc4DBpTbjZYHIifKg3hmlfW3wsY47PEUIIIYQQQgghhBBCkudxBYNx2QQNKTCHe2aHjn/aoWTpcPS2vVd2z1MOR5dfvbAlMGAn4Aq8qGiPmJK8cuyOxm/98mnCCDqclNct/ong/lmfzzVBAvGvuTAr/s0RpuAyyMYsUwmxM8VwfWh4IUzTTdAggFEQQxA0JW4UxVILGhM2CmNqXKJGcWz/DWgt2kDmS1zX1I3a81arRR+1smcHCln37Hb8FMSvwoRNAL9vXfdNWjX+MCegrKhpCuL7NGEl57qs4IkTD0eUq8kqykbdr1YQ++eca3pWy8oLNsUsvo8cglbMSkF8aS7BDEhJfElOQQxIUXw45la7ASmLf0OZHGs1gKWLEbZ0cT+y93wpRUpyqipfn5L4Pkyo9QCHFMWXmlDbESYpiy8xIeghPnu2qGlsrNjYoznE565WZBRVC5uec1dhQM8WNdXO/MCQcjADmnqU4bqWowzvAbj0HMgL6GdBy2Geecu7XduRhlrKBZiwM1m+8pYsr/+7waEr7Pv3fVQRr5EZO5MlOdTz0sMGk3+6Ix5pjlJHmmeaEUIIIYQQDOMPupAp3dDrtpMAAAAASUVORK5CYII=',
|
|
37
|
+
GroupIcon:
|
|
38
|
+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAABzklEQVR4nO3dv2pUQRxH8QOiBMTCxpAyhYWdy6bxSfIYPoF9bJK8gvgGImkCaQQL60hCwDS2aVNpMmEhAYtsyCLc7/w5H/j1987hDgsLMyBJkjS6F8AMmIdmBmwwoKfAPnAFlArmDHgPPGMQHypY9HLPfAdeMYDzCha7LJnTEbal6woWujwwP4F1OpZe4DL6l5Be3DJ6hGUv/BvYmXAORt2Olr3st4mf4wnwacQvoZYAq0Q46SlCTQHuInx+RIRjYBN42dCs0UCAVSK0Nn+AH8A7Kg+wynbU4lwCr2sP0HuEjy0E6Hk7+tJKgF6/hK8tBegxQnMB7iLsAYeNzFFvAVr8l9EAQQYIM0CYAcIMEGaAMAOEGSDMAGEGCDNAmAHCDBBmgDADhBkgzABhBggzQJgBwgwQZoAwA4QZIMwAYQYIM0CYAcIMEGaAMAOEGSDMAGEGCDNAmAHCDBBmgDADhBkgzABhBggzQJgBwgwQZoAwA4QZIMwALQeY+vDunQ5n938COGQP7XOYJkDtV5iU3gP8quBhyoCzuDqs6musSsezOEV969+L3BaHof6t4MHKAHMBbN/3m/U58DZ4leF8gHlze/qvJEmSJEmSJDGWG1ta+0f87ZqWAAAAAElFTkSuQmCC',
|
|
39
|
+
Logo: 'data:image/png;base64,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',
|
|
40
|
+
MenuIcon:
|
|
41
|
+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAABbklEQVR4nO3cO04DMRRG4SORirACnhvgsRsgHVCAYAEotATWAiwEJWsAhRWQGiSKQSO5xZ7CToaZ80m3S2H9dzIeyboGSZIkSZIkSZIkSZIkSX2wDbwAC6CyyJHBImS6lQp/CLwbOqUevA9gI9aAC8On9L/+LNaARxtA6QY8xBpwYgMo3YDjWAMGwNQmUCr8V2AtsQ+zDkxCI+YWOTKos7wP2UqSJEmSJElqkz1gBFxa5MhgFDJt5Ab49kyA3GcBdabXqfCPgB/Dp9SBTJ3tQawBd4ZP6SPJcawB4yUsoO91G2vAoa8gSr+C9lP7QL1RuAmTPfwv4IqGdv0MJfdn6E7T8CVJkiRJkiQtyTBMS84cTyLXiNYsTEcmR5QG4cerPjWqOlrTkPGfTluwyKrPY6oOarPaQe3zFjwhVZ+vKqg3ibcWLLLqaM1Tl3UQrlR5Bj5bsOCqI1Vn+QRspsKXJEmSJEmSJEmSJEmSxL/3C8bh/uJJ2iEuAAAAAElFTkSuQmCC',
|
|
42
|
+
SearchIcon:
|
|
43
|
+
'data:image/png;base64,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',
|
|
44
|
+
StoryIcon:
|
|
45
|
+
'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAC10lEQVR4nO2dT2oUQRxGX9yIoAiO6AWC6BkSSTyFiBiyMwREPIFKgrgNCOpaV+YQRhFzBUWzDURjFiqISNLS0MIQJmNVTXW+/vM9qN1Q8+t6VNdX3cMU1MNZ4DmwDRQtb9vA0+qaWsEJYKMBA1dkbu+qa2s8cw0YrKKmNksLWG7AQBU1tSVawN0GDFRRU7tDC7CABgv4Cmw1vO12eQa04QLutbx+C1DjGSDGAsRYgBgLEGMBYixAjAWIsQAxFiDGAsRYgBgLEGMBYixAjAWIsQAxFiDGAsRYgBgLEGMBYixAjAWIsQAxFiDGAsRYgBgLEGMBYixAjAWIsQAxFiDGAsRYgBgLEGMBYixAjAWIsQAxFiDGAsRYgBgLEGMBYixAjAWIsQAxFiDGAsRYgBgLEGMBYixAjAWIsQAxFiDGAsRYQE8EXABuAjeAixn79Z93B7AI/BwS+x24RR4sYAxTwIMxM2wtw0E7FnAEJ4GXAceMrAOnSMcCRjAA3kSc9bJZrREpWMAhpoGPCQfulMeRXCYeCxhipjp3JvXUoz3gGnFYwFDS+Z3h6KmyjwXC6b2AKWA14jazFfC5A+BhlaIsIEPSKYYW2pgF+lVAQurtDBhEDOThqBkj7v1/ElIvBUxHJJ2jNlv/NmkHEyak3gmYCUw6f4DbGRfvMiHN913AYsRgxcTJUKmjElIvBMTeLq4k1FHe1j4E9F/W8HgoIXVeQErSSeVcQkLqtID7EySdVErhLyIS0qMuC9gPHIjVwE1TKGVfK4Hfvd9lAbmSTirXgV8T1NdpAXsJD85SKBPSFwvIk3RSCU1IvZgBmxMmnUkS0kbfBaxnSjrHkZA6J2Atwwv0HMRsClshYDlg+18+gmgaCwGPRZZoAfMNSDqpzAHfxtR/lRZQTum3I4r/nPiS/Li5BHwaUf/rzJvDWjkDPAN2q1+wlQvdedrDoKr5B7ADPAFO1/FNfwEktpuzXhupdgAAAABJRU5ErkJggg==',
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// Convenience function to get an icon by name
|
|
49
|
+
export function getIconDataURI(iconName: string): string {
|
|
50
|
+
if (!iconDataURIs[iconName]) {
|
|
51
|
+
console.warn("Icon '" + iconName + "' not found");
|
|
52
|
+
return '';
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return iconDataURIs[iconName];
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export function BottomBarToggleIcon({
|
|
59
|
+
color,
|
|
60
|
+
width = 14,
|
|
61
|
+
height = 14,
|
|
62
|
+
size,
|
|
63
|
+
}: {
|
|
64
|
+
color?: string;
|
|
65
|
+
width?: number;
|
|
66
|
+
height?: number;
|
|
67
|
+
size?: number;
|
|
68
|
+
}) {
|
|
69
|
+
return (
|
|
70
|
+
<Image
|
|
71
|
+
source={{ uri: getIconDataURI('BottomBarToggleIcon') }}
|
|
72
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
73
|
+
/>
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function CloseFullscreenIcon({
|
|
78
|
+
color,
|
|
79
|
+
width = 14,
|
|
80
|
+
height = 14,
|
|
81
|
+
size,
|
|
82
|
+
}: {
|
|
83
|
+
color?: string;
|
|
84
|
+
width?: number;
|
|
85
|
+
height?: number;
|
|
86
|
+
size?: number;
|
|
87
|
+
}) {
|
|
88
|
+
return (
|
|
89
|
+
<Image
|
|
90
|
+
source={{ uri: getIconDataURI('CloseFullscreenIcon') }}
|
|
91
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
92
|
+
/>
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export function CloseIcon({
|
|
97
|
+
color,
|
|
98
|
+
width = 14,
|
|
99
|
+
height = 14,
|
|
100
|
+
size,
|
|
101
|
+
}: {
|
|
102
|
+
color?: string;
|
|
103
|
+
width?: number;
|
|
104
|
+
height?: number;
|
|
105
|
+
size?: number;
|
|
106
|
+
}) {
|
|
107
|
+
return (
|
|
108
|
+
<Image
|
|
109
|
+
source={{ uri: getIconDataURI('CloseIcon') }}
|
|
110
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
111
|
+
/>
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export function CollapseAllIcon({
|
|
116
|
+
color,
|
|
117
|
+
width = 14,
|
|
118
|
+
height = 14,
|
|
119
|
+
size,
|
|
120
|
+
}: {
|
|
121
|
+
color?: string;
|
|
122
|
+
width?: number;
|
|
123
|
+
height?: number;
|
|
124
|
+
size?: number;
|
|
125
|
+
}) {
|
|
126
|
+
return (
|
|
127
|
+
<Image
|
|
128
|
+
source={{ uri: getIconDataURI('CollapseAllIcon') }}
|
|
129
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
130
|
+
/>
|
|
131
|
+
);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
interface CollapseIconProps {
|
|
135
|
+
isExpanded: boolean;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export const CollapseIconWrapper = styled.View<{ isExpanded: boolean }>(
|
|
139
|
+
({ theme, isExpanded }) => ({
|
|
140
|
+
width: 8,
|
|
141
|
+
height: 8,
|
|
142
|
+
display: 'flex',
|
|
143
|
+
justifyContent: 'center',
|
|
144
|
+
alignItems: 'center',
|
|
145
|
+
color: theme.textMutedColor,
|
|
146
|
+
transform: isExpanded ? 'rotateZ(90deg)' : 'none',
|
|
147
|
+
transition: 'transform .1s ease-out',
|
|
148
|
+
})
|
|
149
|
+
);
|
|
150
|
+
|
|
151
|
+
export const CollapseIcon: FC<CollapseIconProps> = ({ isExpanded }) => (
|
|
152
|
+
<CollapseIconWrapper isExpanded={isExpanded}>
|
|
153
|
+
{/* <Icon icon="arrowRight" width={8} height={8} /> */}
|
|
154
|
+
<CollapseIconOrig />
|
|
155
|
+
</CollapseIconWrapper>
|
|
156
|
+
);
|
|
157
|
+
|
|
158
|
+
export function CollapseIconOrig({
|
|
159
|
+
color,
|
|
160
|
+
width = 8,
|
|
161
|
+
height = 8,
|
|
162
|
+
size,
|
|
163
|
+
}: {
|
|
164
|
+
color?: string;
|
|
165
|
+
width?: number;
|
|
166
|
+
height?: number;
|
|
167
|
+
size?: number;
|
|
168
|
+
}) {
|
|
169
|
+
return (
|
|
170
|
+
<Image
|
|
171
|
+
source={{ uri: getIconDataURI('CollapseIcon') }}
|
|
172
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
173
|
+
/>
|
|
174
|
+
);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export function ComponentIcon({
|
|
178
|
+
color,
|
|
179
|
+
width = 12,
|
|
180
|
+
height = 12,
|
|
181
|
+
size,
|
|
182
|
+
}: {
|
|
183
|
+
color?: string;
|
|
184
|
+
width?: number;
|
|
185
|
+
height?: number;
|
|
186
|
+
size?: number;
|
|
187
|
+
}) {
|
|
188
|
+
return (
|
|
189
|
+
<Image
|
|
190
|
+
source={{ uri: getIconDataURI('ComponentIcon') }}
|
|
191
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
192
|
+
/>
|
|
193
|
+
);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
export function DarkLogo({
|
|
197
|
+
color,
|
|
198
|
+
width = 300,
|
|
199
|
+
height = 60,
|
|
200
|
+
size,
|
|
201
|
+
}: {
|
|
202
|
+
color?: string;
|
|
203
|
+
width?: number;
|
|
204
|
+
height?: number;
|
|
205
|
+
size?: number;
|
|
206
|
+
}) {
|
|
207
|
+
return (
|
|
208
|
+
<Image
|
|
209
|
+
source={{ uri: getIconDataURI('DarkLogo') }}
|
|
210
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
211
|
+
/>
|
|
212
|
+
);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
export function ExpandAllIcon({
|
|
216
|
+
color,
|
|
217
|
+
width = 14,
|
|
218
|
+
height = 14,
|
|
219
|
+
size,
|
|
220
|
+
}: {
|
|
221
|
+
color?: string;
|
|
222
|
+
width?: number;
|
|
223
|
+
height?: number;
|
|
224
|
+
size?: number;
|
|
225
|
+
}) {
|
|
226
|
+
return (
|
|
227
|
+
<Image
|
|
228
|
+
source={{ uri: getIconDataURI('ExpandAllIcon') }}
|
|
229
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
230
|
+
/>
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export function FaceHappyIcon({
|
|
235
|
+
color,
|
|
236
|
+
width = 14,
|
|
237
|
+
height = 14,
|
|
238
|
+
size,
|
|
239
|
+
}: {
|
|
240
|
+
color?: string;
|
|
241
|
+
width?: number;
|
|
242
|
+
height?: number;
|
|
243
|
+
size?: number;
|
|
244
|
+
}) {
|
|
245
|
+
return (
|
|
246
|
+
<Image
|
|
247
|
+
source={{ uri: getIconDataURI('FaceHappyIcon') }}
|
|
248
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
249
|
+
/>
|
|
250
|
+
);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
export function FullscreenIcon({
|
|
254
|
+
color,
|
|
255
|
+
width = 14,
|
|
256
|
+
height = 14,
|
|
257
|
+
size,
|
|
258
|
+
}: {
|
|
259
|
+
color?: string;
|
|
260
|
+
width?: number;
|
|
261
|
+
height?: number;
|
|
262
|
+
size?: number;
|
|
263
|
+
}) {
|
|
264
|
+
return (
|
|
265
|
+
<Image
|
|
266
|
+
source={{ uri: getIconDataURI('FullscreenIcon') }}
|
|
267
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
268
|
+
/>
|
|
269
|
+
);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
export function GroupIcon({
|
|
273
|
+
color,
|
|
274
|
+
width = 15,
|
|
275
|
+
height = 15,
|
|
276
|
+
size,
|
|
277
|
+
}: {
|
|
278
|
+
color?: string;
|
|
279
|
+
width?: number;
|
|
280
|
+
height?: number;
|
|
281
|
+
size?: number;
|
|
282
|
+
}) {
|
|
283
|
+
return (
|
|
284
|
+
<Image
|
|
285
|
+
source={{ uri: getIconDataURI('GroupIcon') }}
|
|
286
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
287
|
+
/>
|
|
288
|
+
);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
export function Logo({
|
|
292
|
+
color,
|
|
293
|
+
width = 300,
|
|
294
|
+
height = 60,
|
|
295
|
+
size,
|
|
296
|
+
}: {
|
|
297
|
+
color?: string;
|
|
298
|
+
width?: number;
|
|
299
|
+
height?: number;
|
|
300
|
+
size?: number;
|
|
301
|
+
}) {
|
|
302
|
+
return (
|
|
303
|
+
<Image
|
|
304
|
+
source={{ uri: getIconDataURI('Logo') }}
|
|
305
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
306
|
+
/>
|
|
307
|
+
);
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
export function MenuIcon({
|
|
311
|
+
color,
|
|
312
|
+
width = 14,
|
|
313
|
+
height = 14,
|
|
314
|
+
size,
|
|
315
|
+
}: {
|
|
316
|
+
color?: string;
|
|
317
|
+
width?: number;
|
|
318
|
+
height?: number;
|
|
319
|
+
size?: number;
|
|
320
|
+
}) {
|
|
321
|
+
return (
|
|
322
|
+
<Image
|
|
323
|
+
source={{ uri: getIconDataURI('MenuIcon') }}
|
|
324
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
325
|
+
/>
|
|
326
|
+
);
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
export function SearchIcon({
|
|
330
|
+
color,
|
|
331
|
+
width = 14,
|
|
332
|
+
height = 14,
|
|
333
|
+
size,
|
|
334
|
+
}: {
|
|
335
|
+
color?: string;
|
|
336
|
+
width?: number;
|
|
337
|
+
height?: number;
|
|
338
|
+
size?: number;
|
|
339
|
+
}) {
|
|
340
|
+
return (
|
|
341
|
+
<Image
|
|
342
|
+
source={{ uri: getIconDataURI('SearchIcon') }}
|
|
343
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
344
|
+
/>
|
|
345
|
+
);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
export function StoryIcon({
|
|
349
|
+
color,
|
|
350
|
+
width = 12,
|
|
351
|
+
height = 12,
|
|
352
|
+
size,
|
|
353
|
+
}: {
|
|
354
|
+
color?: string;
|
|
355
|
+
width?: number;
|
|
356
|
+
height?: number;
|
|
357
|
+
size?: number;
|
|
358
|
+
}) {
|
|
359
|
+
return (
|
|
360
|
+
<Image
|
|
361
|
+
source={{ uri: getIconDataURI('StoryIcon') }}
|
|
362
|
+
style={{ width: size || width, height: size || height, tintColor: color }}
|
|
363
|
+
/>
|
|
364
|
+
);
|
|
365
|
+
}
|
package/src/index.tsx
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// export * from './TreeNode';
|
|
2
|
+
// export * from './Tree';
|
|
3
|
+
// export * from './Button';
|
|
4
|
+
// export * from './IconButton';
|
|
5
|
+
// export * from './LayoutProvider';
|
|
6
|
+
// export * from './Explorer';
|
|
7
|
+
// export * from './Sidebar';
|
|
8
|
+
export * from './types';
|
|
9
|
+
export * from './Layout';
|
|
10
|
+
export * from './util/StoryHash';
|
|
11
|
+
export * from './StorageProvider';
|