@teambit/component.ui.version-dropdown 0.0.785 → 0.0.786
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/dist/index.d.ts +3 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/{preview-1686886045563.js → preview-1686971843539.js} +2 -2
- package/dist/version-dropdown-placeholder.d.ts +11 -5
- package/dist/version-dropdown-placeholder.js +49 -32
- package/dist/version-dropdown-placeholder.js.map +1 -1
- package/dist/version-dropdown-placeholder.module.scss +21 -71
- package/dist/version-dropdown.composition.js +6 -2
- package/dist/version-dropdown.composition.js.map +1 -1
- package/dist/version-dropdown.d.ts +36 -8
- package/dist/version-dropdown.docs.d.ts +3 -4
- package/dist/version-dropdown.js +73 -30
- package/dist/version-dropdown.js.map +1 -1
- package/dist/version-dropdown.module.scss +17 -2
- package/dist/version-dropdown.spec.js +9 -9
- package/dist/version-dropdown.spec.js.map +1 -1
- package/dist/version-info/version-info.d.ts +9 -2
- package/dist/version-info/version-info.js +17 -8
- package/dist/version-info/version-info.js.map +1 -1
- package/dist/version-info/version-info.module.scss +16 -10
- package/index.ts +3 -1
- package/package-tar/teambit-component.ui.version-dropdown-0.0.786.tgz +0 -0
- package/package.json +6 -4
- package/version-dropdown-placeholder.module.scss +21 -71
- package/version-dropdown-placeholder.tsx +77 -54
- package/version-dropdown.composition.tsx +13 -2
- package/version-dropdown.module.scss +17 -2
- package/version-dropdown.spec.tsx +10 -9
- package/version-dropdown.tsx +207 -94
- package/version-info/version-info.module.scss +16 -10
- package/version-info/version-info.tsx +35 -21
- package/package-tar/teambit-component.ui.version-dropdown-0.0.785.tgz +0 -0
package/dist/index.d.ts
CHANGED
@@ -1,2 +1,4 @@
|
|
1
|
+
export { SimpleVersion, DetailedVersion } from './version-dropdown-placeholder';
|
2
|
+
export type { VersionProps } from './version-dropdown-placeholder';
|
1
3
|
export { VersionDropdown } from './version-dropdown';
|
2
|
-
export type { DropdownComponentVersion } from './version-dropdown';
|
4
|
+
export type { DropdownComponentVersion, GetActiveTabIndex } from './version-dropdown';
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_ui_version-dropdown@0.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_ui_version-dropdown@0.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_ui_version-dropdown@0.0.786/dist/version-dropdown.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_ui_version-dropdown@0.0.786/dist/version-dropdown.docs.js';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
@@ -1,10 +1,16 @@
|
|
1
1
|
import { HTMLAttributes } from 'react';
|
2
2
|
import { DropdownComponentVersion } from './version-dropdown';
|
3
3
|
export declare type VersionProps = {
|
4
|
-
|
5
|
-
|
6
|
-
currentVersion: string;
|
4
|
+
currentVersion?: string;
|
5
|
+
isTag?: (version?: string) => boolean;
|
7
6
|
disabled?: boolean;
|
7
|
+
hasMoreVersions?: boolean;
|
8
|
+
showFullVersion?: boolean;
|
9
|
+
loading?: boolean;
|
10
|
+
useCurrentVersionLog?: (props: {
|
11
|
+
skip?: boolean;
|
12
|
+
version?: string;
|
13
|
+
}) => DropdownComponentVersion | undefined;
|
8
14
|
} & HTMLAttributes<HTMLDivElement>;
|
9
|
-
export declare function SimpleVersion({ currentVersion, className, disabled,
|
10
|
-
export declare function DetailedVersion({ currentVersion, className, disabled,
|
15
|
+
export declare function SimpleVersion({ currentVersion, className, disabled, hasMoreVersions, isTag, useCurrentVersionLog, showFullVersion, loading, ...rest }: VersionProps): JSX.Element;
|
16
|
+
export declare function DetailedVersion({ currentVersion, className, disabled, hasMoreVersions, isTag, loading, useCurrentVersionLog, showFullVersion, ...rest }: VersionProps): JSX.Element;
|
@@ -1,45 +1,62 @@
|
|
1
|
-
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
import React from 'react';
|
2
13
|
import { Ellipsis } from '@teambit/design.ui.styles.ellipsis';
|
3
14
|
import classNames from 'classnames';
|
15
|
+
import * as semver from 'semver';
|
4
16
|
import { Icon } from '@teambit/evangelist.elements.icon';
|
5
17
|
import { TimeAgo } from '@teambit/design.ui.time-ago';
|
6
18
|
import { UserAvatar } from '@teambit/design.ui.avatar';
|
19
|
+
import { WordSkeleton } from '@teambit/base-ui.loaders.skeleton';
|
7
20
|
import styles from './version-dropdown-placeholder.module.scss';
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
return (React.createElement("div", { className: classNames(styles.simple, className, disabled && styles.disabled) },
|
19
|
-
React.createElement(Ellipsis, { className: classNames(styles.versionName, (versionDetails === null || versionDetails === void 0 ? void 0 : versionDetails.tag) && styles.tag, !(versionDetails === null || versionDetails === void 0 ? void 0 : versionDetails.tag) && styles.snap) }, currentVersion),
|
20
|
-
showArrowDown && React.createElement(Icon, { of: "fat-arrow-down" })));
|
21
|
+
export function SimpleVersion(_a) {
|
22
|
+
var { currentVersion, className, disabled, hasMoreVersions, isTag = (version) => semver.valid(version) !== null,
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
24
|
+
useCurrentVersionLog, showFullVersion, loading } = _a, rest = __rest(_a, ["currentVersion", "className", "disabled", "hasMoreVersions", "isTag", "useCurrentVersionLog", "showFullVersion", "loading"]);
|
25
|
+
if (loading)
|
26
|
+
return React.createElement(WordSkeleton, { className: styles.loader, length: 9 });
|
27
|
+
const formattedVersion = showFullVersion || isTag(currentVersion) ? currentVersion : currentVersion === null || currentVersion === void 0 ? void 0 : currentVersion.slice(0, 6);
|
28
|
+
return (React.createElement("div", Object.assign({}, rest, { className: classNames(styles.simple, className, disabled && styles.disabled) }),
|
29
|
+
React.createElement(Ellipsis, { className: classNames(styles.versionName), onClick: rest.onClick }, formattedVersion),
|
30
|
+
hasMoreVersions && React.createElement(Icon, { of: "fat-arrow-down", onClick: rest.onClick })));
|
21
31
|
}
|
22
|
-
export function DetailedVersion(
|
23
|
-
|
24
|
-
const
|
25
|
-
const
|
26
|
-
const author = useMemo(() => {
|
32
|
+
export function DetailedVersion(_a) {
|
33
|
+
var { currentVersion, className, disabled, hasMoreVersions, isTag = (version) => semver.valid(version) !== null, loading, useCurrentVersionLog, showFullVersion } = _a, rest = __rest(_a, ["currentVersion", "className", "disabled", "hasMoreVersions", "isTag", "loading", "useCurrentVersionLog", "showFullVersion"]);
|
34
|
+
const currentVersionLog = useCurrentVersionLog === null || useCurrentVersionLog === void 0 ? void 0 : useCurrentVersionLog({ skip: loading, version: currentVersion });
|
35
|
+
const { displayName, message, username, email, date: _date, profileImage } = currentVersionLog || {};
|
36
|
+
const author = React.useMemo(() => {
|
27
37
|
return {
|
28
|
-
displayName:
|
29
|
-
email
|
38
|
+
displayName: displayName !== null && displayName !== void 0 ? displayName : '',
|
39
|
+
email,
|
40
|
+
name: username !== null && username !== void 0 ? username : '',
|
41
|
+
profileImage,
|
30
42
|
};
|
31
|
-
}, [
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
React.createElement(
|
37
|
-
|
38
|
-
|
43
|
+
}, [displayName, email, username, profileImage]);
|
44
|
+
const formattedVersion = showFullVersion || isTag(currentVersion) ? currentVersion : currentVersion === null || currentVersion === void 0 ? void 0 : currentVersion.slice(0, 6);
|
45
|
+
const date = _date ? new Date(+_date) : undefined;
|
46
|
+
const timestamp = React.useMemo(() => (date ? new Date(+date).toString() : new Date().toString()), [date]);
|
47
|
+
if (loading)
|
48
|
+
return React.createElement(WordSkeleton, { className: styles.loader, length: 9 });
|
49
|
+
return (React.createElement("div", Object.assign({}, rest, { className: classNames(styles.detailed, className, disabled && styles.disabled) }),
|
50
|
+
React.createElement(UserAvatar, { size: 24, account: author !== null && author !== void 0 ? author : {}, className: styles.versionUserAvatar, showTooltip: true, onClick: rest.onClick }),
|
51
|
+
React.createElement(Ellipsis, { className: classNames(styles.versionName), onClick: rest.onClick }, formattedVersion),
|
52
|
+
commitMessage(message, rest.onClick),
|
53
|
+
React.createElement(Ellipsis, { className: styles.versionTimestamp, onClick: rest.onClick },
|
54
|
+
React.createElement(TimeAgo, { date: timestamp, onClick: rest.onClick })),
|
55
|
+
hasMoreVersions && React.createElement(Icon, { of: "fat-arrow-down", onClick: rest.onClick })));
|
39
56
|
}
|
40
|
-
function commitMessage(message) {
|
57
|
+
function commitMessage(message, onClick) {
|
41
58
|
if (!message || message === '')
|
42
|
-
return React.createElement(Ellipsis, { className: styles.emptyMessage }, "No commit message");
|
43
|
-
return React.createElement(Ellipsis, { className: styles.commitMessage }, message);
|
59
|
+
return (React.createElement(Ellipsis, { className: styles.emptyMessage, onClick: onClick }, "No commit message"));
|
60
|
+
return (React.createElement(Ellipsis, { className: styles.commitMessage, onClick: onClick }, message));
|
44
61
|
}
|
45
62
|
//# sourceMappingURL=version-dropdown-placeholder.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version-dropdown-placeholder.js","sourceRoot":"","sources":["../version-dropdown-placeholder.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"version-dropdown-placeholder.js","sourceRoot":"","sources":["../version-dropdown-placeholder.tsx"],"names":[],"mappings":"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"}
|
@@ -1,25 +1,22 @@
|
|
1
|
-
.simple
|
1
|
+
.simple,
|
2
|
+
.detailed {
|
2
3
|
cursor: pointer;
|
3
4
|
border: 1px solid var(--bit-border-color, #babec9);
|
4
5
|
border-radius: 6px;
|
5
6
|
transition: background-color 300ms ease-in-out;
|
6
7
|
height: 30px;
|
7
|
-
padding: 0 8px;
|
8
8
|
display: flex;
|
9
9
|
align-items: center;
|
10
10
|
box-sizing: border-box;
|
11
11
|
user-select: none;
|
12
|
+
flex-wrap: nowrap;
|
13
|
+
gap: 8px;
|
14
|
+
padding: 8px;
|
12
15
|
|
13
|
-
> div {
|
14
|
-
margin-right: 5px;
|
15
|
-
}
|
16
16
|
&:hover {
|
17
17
|
background-color: var(--bit-bg-heavy);
|
18
18
|
}
|
19
19
|
|
20
|
-
> div {
|
21
|
-
max-width: 80px;
|
22
|
-
}
|
23
20
|
&.disabled {
|
24
21
|
cursor: default;
|
25
22
|
background-color: #ededed;
|
@@ -27,71 +24,24 @@
|
|
27
24
|
display: none;
|
28
25
|
}
|
29
26
|
}
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
&.snap {
|
35
|
-
min-width: 20%;
|
36
|
-
}
|
37
|
-
}
|
27
|
+
}
|
28
|
+
.versionName {
|
29
|
+
flex-grow: 1;
|
30
|
+
min-width: fit-content;
|
38
31
|
}
|
39
32
|
|
40
|
-
.
|
41
|
-
|
42
|
-
|
43
|
-
box-sizing: border-box;
|
44
|
-
padding: 0 8px;
|
45
|
-
height: 30px;
|
46
|
-
border-radius: 6px;
|
47
|
-
user-select: none;
|
48
|
-
transition: background-color 300ms ease-in-out;
|
49
|
-
border: 1px solid var(--bit-border-color, #babec9);
|
33
|
+
.commitMessage {
|
34
|
+
flex-grow: 1;
|
35
|
+
}
|
50
36
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
>
|
59
|
-
|
60
|
-
}
|
61
|
-
&.disabled {
|
62
|
-
cursor: default;
|
63
|
-
background-color: #ededed;
|
64
|
-
> span {
|
65
|
-
display: none;
|
66
|
-
}
|
67
|
-
}
|
68
|
-
.versionName {
|
69
|
-
&.tag {
|
70
|
-
min-width: fit-content;
|
71
|
-
}
|
72
|
-
&.snap {
|
73
|
-
min-width: 20%;
|
74
|
-
}
|
75
|
-
}
|
76
|
-
.commitMessage,
|
77
|
-
.emptyMessage {
|
78
|
-
max-width: 50%;
|
79
|
-
padding: 0px 8px;
|
80
|
-
}
|
81
|
-
.emptyMessage {
|
82
|
-
font-style: italic;
|
83
|
-
color: var(--bit-text-color-light, #6c707c);
|
84
|
-
}
|
85
|
-
.author {
|
86
|
-
text-transform: capitalize;
|
87
|
-
min-width: fit-content;
|
88
|
-
}
|
89
|
-
.versionTimestamp {
|
90
|
-
min-width: fit-content;
|
91
|
-
margin-right: 2px;
|
92
|
-
text-align: right;
|
93
|
-
}
|
94
|
-
.versionUserAvatar {
|
95
|
-
flex: none;
|
37
|
+
.versionUserAvatar {
|
38
|
+
flex: none;
|
39
|
+
margin-right: 5px;
|
40
|
+
}
|
41
|
+
|
42
|
+
.loader {
|
43
|
+
color: var(--bit-bg-dent, #f6f6f6);
|
44
|
+
> span {
|
45
|
+
padding: 4px;
|
96
46
|
}
|
97
47
|
}
|
@@ -5,12 +5,16 @@ import { VersionDropdown } from './version-dropdown';
|
|
5
5
|
const style = { display: 'flex', justifyContent: 'center', alignContent: 'center' };
|
6
6
|
export const VersionDropdownWithOneVersion = () => {
|
7
7
|
return (React.createElement(ThemeCompositions, { style: style },
|
8
|
-
React.createElement(VersionDropdown, {
|
8
|
+
React.createElement(VersionDropdown, { useComponentVersions: () => ({
|
9
|
+
tags: [{ version: '0.1' }],
|
10
|
+
}), currentVersion: "0.1" })));
|
9
11
|
};
|
10
12
|
export const VersionDropdownWithMultipleVersions = () => {
|
11
13
|
const versions = ['0.3', '0.2', '0.1'].map((version) => ({ version }));
|
12
14
|
return (React.createElement(ThemeCompositions, { style: style },
|
13
15
|
React.createElement(MemoryRouter, null,
|
14
|
-
React.createElement(VersionDropdown, {
|
16
|
+
React.createElement(VersionDropdown, { useComponentVersions: () => ({
|
17
|
+
tags: [{ version: '0.1' }],
|
18
|
+
}), currentVersion: versions[0].version }))));
|
15
19
|
};
|
16
20
|
//# sourceMappingURL=version-dropdown.composition.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version-dropdown.composition.js","sourceRoot":"","sources":["../version-dropdown.composition.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,EAAE;IAChD,OAAO,CACL,oBAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK;QAC7B,oBAAC,eAAe,
|
1
|
+
{"version":3,"file":"version-dropdown.composition.js","sourceRoot":"","sources":["../version-dropdown.composition.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,KAAK,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AAEpF,MAAM,CAAC,MAAM,6BAA6B,GAAG,GAAG,EAAE;IAChD,OAAO,CACL,oBAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK;QAC7B,oBAAC,eAAe,IACd,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC3B,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;aAC3B,CAAC,EACF,cAAc,EAAC,KAAK,GACpB,CACgB,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,EAAE;IACtD,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAEvE,OAAO,CACL,oBAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK;QAC7B,oBAAC,YAAY;YACX,oBAAC,eAAe,IACd,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;oBAC3B,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBAC3B,CAAC,EACF,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,GACnC,CACW,CACG,CACrB,CAAC;AACJ,CAAC,CAAC"}
|
@@ -1,25 +1,53 @@
|
|
1
|
-
import React
|
1
|
+
import React from 'react';
|
2
2
|
import { LegacyComponentLog } from '@teambit/legacy-component-log';
|
3
3
|
import { LaneModel } from '@teambit/lanes.ui.models.lanes-model';
|
4
|
+
import { VersionProps } from './version-dropdown-placeholder';
|
4
5
|
export declare const LOCAL_VERSION = "workspace";
|
5
6
|
export declare type DropdownComponentVersion = Partial<LegacyComponentLog> & {
|
6
7
|
version: string;
|
7
8
|
};
|
8
|
-
export declare type
|
9
|
-
tags
|
9
|
+
export declare type UseComponentDropdownVersionsResult = {
|
10
|
+
tags?: DropdownComponentVersion[];
|
10
11
|
snaps?: DropdownComponentVersion[];
|
11
|
-
|
12
|
+
loading?: boolean;
|
13
|
+
};
|
14
|
+
export declare type UseComponentDropdownVersionsProps = {
|
15
|
+
skip?: boolean;
|
16
|
+
};
|
17
|
+
export declare type UseComponentDropdownVersions = (props?: UseComponentDropdownVersionsProps) => UseComponentDropdownVersionsResult;
|
18
|
+
export declare type GetActiveTabIndex = (currentVersion?: string, tabs?: Array<VersionMenuTab>, tags?: DropdownComponentVersion[], snaps?: DropdownComponentVersion[], currentLane?: LaneModel) => number;
|
19
|
+
export declare type VersionDropdownProps = {
|
12
20
|
localVersion?: boolean;
|
13
|
-
currentVersion: string;
|
14
|
-
currentLane?: LaneModel;
|
15
21
|
latestVersion?: string;
|
22
|
+
currentVersion: string;
|
23
|
+
useCurrentVersionLog?: (props?: {
|
24
|
+
skip?: boolean;
|
25
|
+
version?: string;
|
26
|
+
}) => DropdownComponentVersion | undefined;
|
27
|
+
hasMoreVersions?: boolean;
|
16
28
|
loading?: boolean;
|
29
|
+
useComponentVersions?: UseComponentDropdownVersions;
|
30
|
+
currentLane?: LaneModel;
|
31
|
+
lanes?: LaneModel[];
|
32
|
+
getActiveTabIndex?: GetActiveTabIndex;
|
17
33
|
overrideVersionHref?: (version: string) => string;
|
18
34
|
placeholderClassName?: string;
|
19
35
|
dropdownClassName?: string;
|
20
36
|
menuClassName?: string;
|
21
37
|
showVersionDetails?: boolean;
|
22
38
|
disabled?: boolean;
|
23
|
-
|
39
|
+
PlaceholderComponent?: React.ComponentType<VersionProps>;
|
24
40
|
} & React.HTMLAttributes<HTMLDivElement>;
|
25
|
-
export declare
|
41
|
+
export declare const VersionDropdown: React.MemoExoticComponent<typeof _VersionDropdown>;
|
42
|
+
declare function _VersionDropdown({ currentVersion, latestVersion, localVersion, useCurrentVersionLog, hasMoreVersions, loading, overrideVersionHref, className, placeholderClassName, getActiveTabIndex, dropdownClassName, menuClassName, showVersionDetails, disabled, PlaceholderComponent: _PlaceholderComponent, currentLane, useComponentVersions, lanes, ...rest }: VersionDropdownProps): JSX.Element;
|
43
|
+
export declare type VersionMenuTab = {
|
44
|
+
name: 'SNAP';
|
45
|
+
payload: DropdownComponentVersion[];
|
46
|
+
} | {
|
47
|
+
name: 'LANE';
|
48
|
+
payload: LaneModel[];
|
49
|
+
} | {
|
50
|
+
name: 'TAG';
|
51
|
+
payload: DropdownComponentVersion[];
|
52
|
+
};
|
53
|
+
export {};
|
@@ -1,13 +1,12 @@
|
|
1
|
-
|
1
|
+
import React from 'react';
|
2
2
|
import { MemoryRouter } from 'react-router-dom';
|
3
|
-
import { VersionDropdown } from './version-dropdown';
|
4
3
|
declare function Overview(): JSX.Element;
|
5
4
|
declare namespace Overview {
|
6
5
|
var abstract: string;
|
7
6
|
var labels: string[];
|
8
7
|
var examples: ({
|
9
8
|
scope: {
|
10
|
-
VersionDropdown:
|
9
|
+
VersionDropdown: React.MemoExoticComponent<({ currentVersion, latestVersion, localVersion, useCurrentVersionLog, hasMoreVersions, loading, overrideVersionHref, className, placeholderClassName, getActiveTabIndex, dropdownClassName, menuClassName, showVersionDetails, disabled, PlaceholderComponent: _PlaceholderComponent, currentLane, useComponentVersions, lanes, ...rest }: import("./version-dropdown").VersionDropdownProps) => JSX.Element>;
|
11
10
|
style: {
|
12
11
|
display: string;
|
13
12
|
justifyContent: string;
|
@@ -20,7 +19,7 @@ declare namespace Overview {
|
|
20
19
|
code: string;
|
21
20
|
} | {
|
22
21
|
scope: {
|
23
|
-
VersionDropdown:
|
22
|
+
VersionDropdown: React.MemoExoticComponent<({ currentVersion, latestVersion, localVersion, useCurrentVersionLog, hasMoreVersions, loading, overrideVersionHref, className, placeholderClassName, getActiveTabIndex, dropdownClassName, menuClassName, showVersionDetails, disabled, PlaceholderComponent: _PlaceholderComponent, currentLane, useComponentVersions, lanes, ...rest }: import("./version-dropdown").VersionDropdownProps) => JSX.Element>;
|
24
23
|
style: {
|
25
24
|
display: string;
|
26
25
|
justifyContent: string;
|
package/dist/version-dropdown.js
CHANGED
@@ -21,25 +21,49 @@ import { VersionInfo } from './version-info';
|
|
21
21
|
import { LaneInfo } from './lane-info';
|
22
22
|
import { SimpleVersion } from './version-dropdown-placeholder';
|
23
23
|
export const LOCAL_VERSION = 'workspace';
|
24
|
-
export
|
25
|
-
|
24
|
+
export const VersionDropdown = React.memo(_VersionDropdown);
|
25
|
+
const VersionMenu = React.memo(_VersionMenu);
|
26
|
+
function _VersionDropdown(_a) {
|
27
|
+
var { currentVersion, latestVersion, localVersion, useCurrentVersionLog, hasMoreVersions, loading, overrideVersionHref, className, placeholderClassName, getActiveTabIndex, dropdownClassName, menuClassName, showVersionDetails = true, disabled, PlaceholderComponent: _PlaceholderComponent, currentLane, useComponentVersions, lanes } = _a, rest = __rest(_a, ["currentVersion", "latestVersion", "localVersion", "useCurrentVersionLog", "hasMoreVersions", "loading", "overrideVersionHref", "className", "placeholderClassName", "getActiveTabIndex", "dropdownClassName", "menuClassName", "showVersionDetails", "disabled", "PlaceholderComponent", "currentLane", "useComponentVersions", "lanes"]);
|
26
28
|
const [key, setKey] = useState(0);
|
27
|
-
const singleVersion =
|
29
|
+
const singleVersion = !hasMoreVersions;
|
30
|
+
const [open, setOpen] = useState(false);
|
31
|
+
React.useEffect(() => {
|
32
|
+
if (loading && open) {
|
33
|
+
setOpen(false);
|
34
|
+
}
|
35
|
+
}, [loading]);
|
36
|
+
const handlePlaceholderClicked = (e) => {
|
37
|
+
if (loading)
|
38
|
+
return;
|
39
|
+
if (e.target === e.currentTarget) {
|
40
|
+
setOpen((o) => !o);
|
41
|
+
}
|
42
|
+
};
|
43
|
+
const defaultPlaceholder = (React.createElement(SimpleVersion, { useCurrentVersionLog: useCurrentVersionLog, disabled: disabled, className: placeholderClassName, currentVersion: currentVersion, onClick: handlePlaceholderClicked, hasMoreVersions: hasMoreVersions, loading: loading, showFullVersion: currentVersion === 'workspace' }));
|
44
|
+
const PlaceholderComponent = _PlaceholderComponent ? (React.createElement(_PlaceholderComponent, { useCurrentVersionLog: useCurrentVersionLog, disabled: disabled, className: placeholderClassName, currentVersion: currentVersion, onClick: handlePlaceholderClicked, hasMoreVersions: hasMoreVersions, loading: loading, showFullVersion: currentVersion === 'workspace' })) : (defaultPlaceholder);
|
28
45
|
if (disabled || (singleVersion && !loading)) {
|
29
|
-
return React.createElement("div", { className: classNames(styles.noVersions, className) },
|
46
|
+
return React.createElement("div", { className: classNames(styles.noVersions, className) }, PlaceholderComponent);
|
30
47
|
}
|
31
48
|
return (React.createElement("div", Object.assign({}, rest, { className: classNames(styles.versionDropdown, className) }),
|
32
|
-
React.createElement(Dropdown, { className: classNames(styles.dropdown, dropdownClassName), dropClass: classNames(styles.menu, menuClassName),
|
49
|
+
React.createElement(Dropdown, { className: classNames(styles.dropdown, dropdownClassName), dropClass: classNames(styles.menu, menuClassName), open: open, onClick: handlePlaceholderClicked, onClickOutside: () => setOpen(false), onChange: (_e, _open) => _open && setKey((x) => x + 1), PlaceholderComponent: (_a) => {
|
33
50
|
var { children } = _a, other = __rest(_a, ["children"]);
|
34
|
-
return (React.createElement("div", Object.assign({}, other, { className: placeholderClassName }), children));
|
35
|
-
}, placeholder:
|
36
|
-
|
37
|
-
loading || (React.createElement(VersionMenu, { className: menuClassName, key: key, tags: tags, snaps: snaps, lanes: lanes, currentVersion: currentVersion, latestVersion: latestVersion, localVersion: localVersion, currentLane: currentLane, overrideVersionHref: overrideVersionHref, showVersionDetails: showVersionDetails })))));
|
51
|
+
return (React.createElement("div", Object.assign({}, other, { className: placeholderClassName, onClick: handlePlaceholderClicked }), children));
|
52
|
+
}, placeholder: PlaceholderComponent },
|
53
|
+
React.createElement(VersionMenu, { className: menuClassName, key: key, currentVersion: currentVersion, latestVersion: latestVersion, localVersion: localVersion, overrideVersionHref: overrideVersionHref, showVersionDetails: showVersionDetails, currentLane: currentLane, getActiveTabIndex: getActiveTabIndex, lanes: lanes, useVersions: useComponentVersions, open: open }))));
|
38
54
|
}
|
55
|
+
const defaultActiveTabIndex = (currentVersion, tabs = [], tags, snaps) => {
|
56
|
+
if ((snaps || []).some((snap) => snap.version === currentVersion))
|
57
|
+
return tabs.findIndex((tab) => tab.name === 'SNAP');
|
58
|
+
return 0;
|
59
|
+
};
|
39
60
|
const VERSION_TAB_NAMES = ['TAG', 'SNAP', 'LANE'];
|
40
|
-
function
|
41
|
-
var
|
42
|
-
|
61
|
+
function _VersionMenu(_a) {
|
62
|
+
var _b, _c;
|
63
|
+
var { currentVersion, localVersion, latestVersion, overrideVersionHref, showVersionDetails, useVersions, currentLane, lanes, getActiveTabIndex = defaultActiveTabIndex, loading: loadingFromProps, open } = _a, rest = __rest(_a, ["currentVersion", "localVersion", "latestVersion", "overrideVersionHref", "showVersionDetails", "useVersions", "currentLane", "lanes", "getActiveTabIndex", "loading", "open"]);
|
64
|
+
const { snaps, tags, loading: loadingVersions } = (useVersions === null || useVersions === void 0 ? void 0 : useVersions()) || {};
|
65
|
+
const loading = loadingFromProps || loadingVersions;
|
66
|
+
const tabs = React.useMemo(() => VERSION_TAB_NAMES.map((name) => {
|
43
67
|
switch (name) {
|
44
68
|
case 'SNAP':
|
45
69
|
return { name, payload: snaps || [] };
|
@@ -48,23 +72,46 @@ function VersionMenu(_a) {
|
|
48
72
|
default:
|
49
73
|
return { name, payload: tags || [] };
|
50
74
|
}
|
51
|
-
}).filter((tab) => tab.payload.length > 0);
|
52
|
-
const
|
53
|
-
|
54
|
-
|
55
|
-
if (
|
56
|
-
return
|
57
|
-
|
58
|
-
|
59
|
-
|
75
|
+
}).filter((tab) => tab.payload.length > 0), [snaps === null || snaps === void 0 ? void 0 : snaps.length, tags === null || tags === void 0 ? void 0 : tags.length, lanes === null || lanes === void 0 ? void 0 : lanes.length, loading]);
|
76
|
+
const [activeTabIndex, setActiveTab] = React.useState(getActiveTabIndex(currentVersion, tabs, tags, snaps, currentLane));
|
77
|
+
const activeTab = React.useMemo(() => (activeTabIndex !== undefined ? tabs[activeTabIndex] : undefined), [activeTabIndex, tabs]);
|
78
|
+
React.useEffect(() => {
|
79
|
+
if (!currentLane)
|
80
|
+
return;
|
81
|
+
if (tabs.length === 0)
|
82
|
+
return;
|
83
|
+
const _activeTabIndex = getActiveTabIndex(currentVersion, tabs, tags, snaps, currentLane);
|
84
|
+
if (_activeTabIndex !== activeTabIndex)
|
85
|
+
setActiveTab(_activeTabIndex);
|
86
|
+
}, [currentLane, tabs.length, tags === null || tags === void 0 ? void 0 : tags.length, snaps === null || snaps === void 0 ? void 0 : snaps.length, currentVersion, loading]);
|
60
87
|
const multipleTabs = tabs.length > 1;
|
61
88
|
const message = multipleTabs
|
62
89
|
? 'Switch to view tags, snaps, or lanes'
|
63
|
-
: `Switch between ${tabs[0].name.toLocaleLowerCase()}s`;
|
64
|
-
|
90
|
+
: `Switch between ${(_b = tabs[0]) === null || _b === void 0 ? void 0 : _b.name.toLocaleLowerCase()}s`;
|
91
|
+
const showTab = activeTabIndex !== undefined && ((_c = tabs[activeTabIndex]) === null || _c === void 0 ? void 0 : _c.payload.length) > 0;
|
92
|
+
const _rowRenderer = React.useCallback(function VersionRowRenderer({ index }) {
|
93
|
+
const { name, payload = [] } = activeTab || {};
|
94
|
+
const item = payload[index];
|
95
|
+
if (!item)
|
96
|
+
return null;
|
97
|
+
if (name === 'LANE') {
|
98
|
+
const lane = item;
|
99
|
+
return React.createElement(LaneInfo, Object.assign({ key: lane.id.toString(), currentLane: currentLane }, lane));
|
100
|
+
}
|
101
|
+
const version = item;
|
102
|
+
return (React.createElement(VersionInfo, Object.assign({ key: version.version, currentVersion: currentVersion, latestVersion: latestVersion, overrideVersionHref: overrideVersionHref, showDetails: showVersionDetails }, version)));
|
103
|
+
}, [activeTab, currentVersion, latestVersion, showVersionDetails, currentLane === null || currentLane === void 0 ? void 0 : currentLane.id.toString(), showTab]);
|
104
|
+
const rowRenderer = React.useMemo(() => (showTab && activeTab ? _rowRenderer : () => null), [showTab, activeTab, _rowRenderer]);
|
105
|
+
const ActiveTab = React.useMemo(() => {
|
106
|
+
return activeTab === null || activeTab === void 0 ? void 0 : activeTab.payload.map((payload, index) => {
|
107
|
+
return rowRenderer({ index });
|
108
|
+
});
|
109
|
+
}, [activeTab]);
|
110
|
+
return (React.createElement("div", Object.assign({}, rest, { className: classNames(styles.versionMenuContainer, !open && styles.hide) }),
|
65
111
|
React.createElement("div", { className: styles.top },
|
66
|
-
React.createElement(
|
67
|
-
|
112
|
+
loading && React.createElement(LineSkeleton, { count: 6, className: styles.loader }),
|
113
|
+
!loading && React.createElement("div", { className: classNames(styles.titleContainer, styles.title) }, message),
|
114
|
+
!loading && localVersion && (React.createElement(MenuLinkItem, { href: '?', active: currentVersion === LOCAL_VERSION, className: classNames(styles.versionRow, styles.localVersion) },
|
68
115
|
React.createElement("div", { className: styles.version },
|
69
116
|
React.createElement(UserAvatar, { size: 24, account: {}, className: styles.versionUserAvatar }),
|
70
117
|
React.createElement("span", { className: styles.versionName }, LOCAL_VERSION))))),
|
@@ -72,10 +119,6 @@ function VersionMenu(_a) {
|
|
72
119
|
tabs.map(({ name }, index) => {
|
73
120
|
return (React.createElement(Tab, { className: styles.tab, key: name, isActive: activeTabIndex === index, onClick: () => setActiveTab(index) }, name));
|
74
121
|
})),
|
75
|
-
React.createElement("div", { className: styles.
|
76
|
-
tabs[activeTabIndex].name === 'LANE' &&
|
77
|
-
tabs[activeTabIndex].payload.map((payload) => (React.createElement(LaneInfo, Object.assign({ key: payload.id, currentLane: currentLane }, payload)))),
|
78
|
-
tabs[activeTabIndex].name !== 'LANE' &&
|
79
|
-
tabs[activeTabIndex].payload.map((payload) => (React.createElement(VersionInfo, Object.assign({ key: payload.version, currentVersion: currentVersion, latestVersion: latestVersion, overrideVersionHref: overrideVersionHref, showDetails: showVersionDetails }, payload)))))));
|
122
|
+
React.createElement("div", { className: styles.versionContainerRoot }, ActiveTab)));
|
80
123
|
}
|
81
124
|
//# sourceMappingURL=version-dropdown.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"version-dropdown.js","sourceRoot":"","sources":["../version-dropdown.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,
|
1
|
+
{"version":3,"file":"version-dropdown.js","sourceRoot":"","sources":["../version-dropdown.tsx"],"names":[],"mappings":"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"}
|