@teambit/lanes.ui.inputs.lane-selector 0.0.107 → 0.0.109
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 +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lane-grouped-menu-item.d.ts +6 -3
- package/dist/lane-grouped-menu-item.js +7 -4
- package/dist/lane-grouped-menu-item.js.map +1 -1
- package/dist/lane-grouped-menu-item.module.scss +19 -2
- package/dist/lane-menu-item.d.ts +6 -3
- package/dist/lane-menu-item.js +31 -40
- package/dist/lane-menu-item.js.map +1 -1
- package/dist/lane-menu-item.module.scss +79 -4
- package/dist/lane-placeholder.module.scss +2 -3
- package/dist/lane-selector-list.d.ts +6 -0
- package/dist/lane-selector-list.js +97 -0
- package/dist/lane-selector-list.js.map +1 -0
- package/dist/lane-selector-list.module.scss +15 -0
- package/dist/lane-selector.d.ts +17 -3
- package/dist/lane-selector.js +126 -34
- package/dist/lane-selector.js.map +1 -1
- package/dist/lane-selector.module.scss +45 -4
- package/index.ts +1 -1
- package/lane-grouped-menu-item.module.scss +19 -2
- package/lane-grouped-menu-item.tsx +13 -5
- package/lane-menu-item.module.scss +79 -4
- package/lane-menu-item.tsx +53 -25
- package/lane-placeholder.module.scss +2 -3
- package/lane-selector-list.module.scss +15 -0
- package/lane-selector-list.tsx +108 -0
- package/lane-selector.module.scss +45 -4
- package/lane-selector.tsx +205 -73
- package/package-tar/teambit-lanes.ui.inputs.lane-selector-0.0.109.tgz +0 -0
- package/package.json +15 -8
- package/dist/lane-search.d.ts +0 -6
- package/dist/lane-search.js +0 -47
- package/dist/lane-search.js.map +0 -1
- package/dist/lane-search.module.scss +0 -9
- package/lane-search.module.scss +0 -9
- package/lane-search.tsx +0 -31
- package/package-tar/teambit-lanes.ui.inputs.lane-selector-0.0.107.tgz +0 -0
- /package/dist/{preview-1678982624699.js → preview-1679542267429.js} +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { LaneSelector, LaneSelectorProps } from './lane-selector';
|
|
1
|
+
export { LaneSelector, LaneSelectorProps, LaneSelectorSortBy } from './lane-selector';
|
|
2
2
|
export { LaneMenuItem, LaneMenuItemProps } from './lane-menu-item';
|
|
3
3
|
export { LanePlaceholder, LanePlaceholderProps } from './lane-placeholder';
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LanePlaceholder = exports.LaneMenuItem = exports.LaneSelector = void 0;
|
|
3
|
+
exports.LanePlaceholder = exports.LaneMenuItem = exports.LaneSelectorSortBy = exports.LaneSelector = void 0;
|
|
4
4
|
var lane_selector_1 = require("./lane-selector");
|
|
5
5
|
Object.defineProperty(exports, "LaneSelector", { enumerable: true, get: function () { return lane_selector_1.LaneSelector; } });
|
|
6
|
+
Object.defineProperty(exports, "LaneSelectorSortBy", { enumerable: true, get: function () { return lane_selector_1.LaneSelectorSortBy; } });
|
|
6
7
|
var lane_menu_item_1 = require("./lane-menu-item");
|
|
7
8
|
Object.defineProperty(exports, "LaneMenuItem", { enumerable: true, get: function () { return lane_menu_item_1.LaneMenuItem; } });
|
|
8
9
|
var lane_placeholder_1 = require("./lane-placeholder");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;AAAA,iDAAsF;AAA7E,6GAAA,YAAY,OAAA;AAAqB,mHAAA,kBAAkB,OAAA;AAC5D,mDAAmE;AAA1D,8GAAA,YAAY,OAAA;AACrB,uDAA2E;AAAlE,mHAAA,eAAe,OAAA"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { HTMLAttributes } from 'react';
|
|
1
|
+
import React, { HTMLAttributes } from 'react';
|
|
2
2
|
import { LaneId } from '@teambit/lane-id';
|
|
3
|
+
import { LaneModel } from '@teambit/lanes.ui.models.lanes-model';
|
|
3
4
|
export declare type LaneGroupedMenuItemProps = {
|
|
4
5
|
selected?: LaneId;
|
|
5
|
-
current:
|
|
6
|
+
current: LaneModel[];
|
|
6
7
|
scope: string;
|
|
7
8
|
getHref?: (laneId: LaneId) => string;
|
|
8
9
|
onLaneSelected?: (laneId: LaneId) => void;
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
timestamp?: (lane: LaneModel) => Date | undefined;
|
|
9
12
|
} & HTMLAttributes<HTMLDivElement>;
|
|
10
|
-
export declare function LaneGroupedMenuItem({ selected, current, className, scope, getHref, onLaneSelected, ...rest }: LaneGroupedMenuItemProps): JSX.Element;
|
|
13
|
+
export declare function LaneGroupedMenuItem({ selected, current, className, scope, timestamp, icon, getHref, onLaneSelected, ...rest }: LaneGroupedMenuItemProps): JSX.Element;
|
|
@@ -16,21 +16,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.LaneGroupedMenuItem = void 0;
|
|
18
18
|
const react_1 = __importDefault(require("react"));
|
|
19
|
+
const evangelist_elements_icon_1 = require("@teambit/evangelist.elements.icon");
|
|
19
20
|
const classnames_1 = __importDefault(require("classnames"));
|
|
20
21
|
const lane_menu_item_1 = require("./lane-menu-item");
|
|
21
22
|
const lane_grouped_menu_item_module_scss_1 = __importDefault(require("./lane-grouped-menu-item.module.scss"));
|
|
22
23
|
function LaneGroupedMenuItem(_a) {
|
|
23
|
-
var { selected, current, className, scope, getHref, onLaneSelected } = _a, rest = __rest(_a, ["selected", "current", "className", "scope", "getHref", "onLaneSelected"]);
|
|
24
|
+
var { selected, current, className, scope, timestamp, icon = react_1.default.createElement(evangelist_elements_icon_1.Icon, { className: lane_grouped_menu_item_module_scss_1.default.defaultScopeIcon, of: "collection-full" }), getHref, onLaneSelected } = _a, rest = __rest(_a, ["selected", "current", "className", "scope", "timestamp", "icon", "getHref", "onLaneSelected"]);
|
|
24
25
|
if (current.length === 0)
|
|
25
26
|
return null;
|
|
26
|
-
if (current.length === 1 && current[0].isDefault()) {
|
|
27
|
+
if (current.length === 1 && current[0].id.isDefault()) {
|
|
27
28
|
const defaultLane = current[0];
|
|
28
29
|
return (react_1.default.createElement(lane_menu_item_1.LaneMenuItem, { key: defaultLane.toString(), onLaneSelected: onLaneSelected, getHref: getHref, selected: selected, current: defaultLane }));
|
|
29
30
|
}
|
|
30
31
|
const onClickStopPropagation = (e) => e.stopPropagation();
|
|
31
32
|
return (react_1.default.createElement("div", Object.assign({ className: (0, classnames_1.default)(lane_grouped_menu_item_module_scss_1.default.groupedMenuItem, className) }, rest),
|
|
32
|
-
react_1.default.createElement("div", { onClick: onClickStopPropagation, className: lane_grouped_menu_item_module_scss_1.default.scope },
|
|
33
|
-
|
|
33
|
+
react_1.default.createElement("div", { onClick: onClickStopPropagation, className: lane_grouped_menu_item_module_scss_1.default.scope },
|
|
34
|
+
react_1.default.createElement("div", { className: lane_grouped_menu_item_module_scss_1.default.scopeIcon }, icon),
|
|
35
|
+
react_1.default.createElement("div", { className: lane_grouped_menu_item_module_scss_1.default.scopeName }, scope)),
|
|
36
|
+
current.map((lane) => (react_1.default.createElement(lane_menu_item_1.LaneMenuItem, { key: lane.id.toString(), onLaneSelected: onLaneSelected, getHref: getHref, selected: selected, current: lane, timestamp: timestamp === null || timestamp === void 0 ? void 0 : timestamp(lane) })))));
|
|
34
37
|
}
|
|
35
38
|
exports.LaneGroupedMenuItem = LaneGroupedMenuItem;
|
|
36
39
|
//# sourceMappingURL=lane-grouped-menu-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lane-grouped-menu-item.js","sourceRoot":"","sources":["../lane-grouped-menu-item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAA8C;
|
|
1
|
+
{"version":3,"file":"lane-grouped-menu-item.js","sourceRoot":"","sources":["../lane-grouped-menu-item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAA8C;AAC9C,gFAAyD;AAEzD,4DAAoC;AAEpC,qDAAgD;AAEhD,8GAA0D;AAY1D,SAAgB,mBAAmB,CAAC,EAUT;QAVS,EAClC,QAAQ,EACR,OAAO,EACP,SAAS,EACT,KAAK,EACL,SAAS,EACT,IAAI,GAAG,8BAAC,+BAAI,IAAC,SAAS,EAAE,4CAAM,CAAC,gBAAgB,EAAE,EAAE,EAAC,iBAAiB,GAAG,EACxE,OAAO,EACP,cAAc,OAEW,EADtB,IAAI,cAT2B,+FAUnC,CADQ;IAEP,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,CACL,8BAAC,6BAAY,IACX,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,EAC3B,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,WAAW,GACpB,CACH,CAAC;KACH;IAED,MAAM,sBAAsB,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAE1D,OAAO,CACL,qDAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,4CAAM,CAAC,eAAe,EAAE,SAAS,CAAC,IAAM,IAAI;QACrE,uCAAK,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,4CAAM,CAAC,KAAK;YAC3D,uCAAK,SAAS,EAAE,4CAAM,CAAC,SAAS,IAAG,IAAI,CAAO;YAC9C,uCAAK,SAAS,EAAE,4CAAM,CAAC,SAAS,IAAG,KAAK,CAAO,CAC3C;QACL,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACrB,8BAAC,6BAAY,IACX,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,EACvB,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,IAAI,CAAC,GAC5B,CACH,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AA9CD,kDA8CC"}
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
.groupedMenuItem {
|
|
2
2
|
display: flex;
|
|
3
3
|
flex-direction: column;
|
|
4
|
-
min-width: 120px;
|
|
4
|
+
// min-width: 120px;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
.scope {
|
|
8
8
|
padding: 8px 16px;
|
|
9
|
-
|
|
9
|
+
color: var(--on-surface-medium-color, #707279);
|
|
10
|
+
display: flex;
|
|
11
|
+
gap: 8px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.scopeIcon {
|
|
15
|
+
display: flex;
|
|
16
|
+
|
|
17
|
+
> img {
|
|
18
|
+
height: 16px;
|
|
19
|
+
width: 16px;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.defaultScopeIcon {
|
|
24
|
+
height: 16px;
|
|
25
|
+
width: 16px;
|
|
26
|
+
padding: 0px 2px;
|
|
10
27
|
}
|
package/dist/lane-menu-item.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { HTMLAttributes } from 'react';
|
|
1
|
+
import React, { HTMLAttributes } from 'react';
|
|
2
2
|
import { LaneId } from '@teambit/lane-id';
|
|
3
|
+
import { LaneModel } from '@teambit/lanes.ui.models.lanes-model';
|
|
3
4
|
export declare type LaneMenuItemProps = {
|
|
4
5
|
selected?: LaneId;
|
|
5
|
-
current:
|
|
6
|
+
current: LaneModel;
|
|
6
7
|
getHref?: (laneId: LaneId) => string;
|
|
7
8
|
onLaneSelected?: (laneId: LaneId) => void;
|
|
9
|
+
icon?: React.ReactNode;
|
|
10
|
+
timestamp?: Date;
|
|
8
11
|
} & HTMLAttributes<HTMLDivElement>;
|
|
9
|
-
export declare function LaneMenuItem({ selected, current, className, onLaneSelected, getHref, ...rest }: LaneMenuItemProps): JSX.Element;
|
|
12
|
+
export declare function LaneMenuItem({ selected, current, className, onLaneSelected, getHref, icon, timestamp, ...rest }: LaneMenuItemProps): JSX.Element;
|
package/dist/lane-menu-item.js
CHANGED
|
@@ -1,27 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
3
|
var t = {};
|
|
27
4
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
@@ -38,27 +15,41 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
15
|
};
|
|
39
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
17
|
exports.LaneMenuItem = void 0;
|
|
41
|
-
const react_1 =
|
|
18
|
+
const react_1 = __importDefault(require("react"));
|
|
19
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
42
20
|
const lanes_ui_models_lanes_model_1 = require("@teambit/lanes.ui.models.lanes-model");
|
|
43
|
-
const design_ui_pill_label_1 = require("@teambit/design.ui.pill-label");
|
|
44
21
|
const design_ui_surfaces_menu_link_item_1 = require("@teambit/design.ui.surfaces.menu.link-item");
|
|
22
|
+
const design_ui_avatar_1 = require("@teambit/design.ui.avatar");
|
|
23
|
+
const design_ui_time_ago_1 = require("@teambit/design.ui.time-ago");
|
|
45
24
|
const lane_menu_item_module_scss_1 = __importDefault(require("./lane-menu-item.module.scss"));
|
|
46
25
|
function LaneMenuItem(_a) {
|
|
47
|
-
var
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
26
|
+
var _b;
|
|
27
|
+
var { selected, current, className, onLaneSelected, getHref = lanes_ui_models_lanes_model_1.LanesModel.getLaneUrl, icon, timestamp } = _a, rest = __rest(_a, ["selected", "current", "className", "onLaneSelected", "getHref", "icon", "timestamp"]);
|
|
28
|
+
const isCurrent = (selected === null || selected === void 0 ? void 0 : selected.toString()) === current.id.toString();
|
|
29
|
+
const isDefaultLane = current.id.isDefault();
|
|
30
|
+
const iconWithDefault = icon || (isDefaultLane ? react_1.default.createElement("img", { src: "https://static.bit.cloud/bit-icons/changed-components.svg" }) : undefined);
|
|
31
|
+
const href = getHref(current.id);
|
|
32
|
+
const onClick = () => {
|
|
33
|
+
onLaneSelected === null || onLaneSelected === void 0 ? void 0 : onLaneSelected(current.id);
|
|
34
|
+
};
|
|
35
|
+
const laneDescription = current.description || current.id.name;
|
|
36
|
+
const laneName = current.id.name;
|
|
37
|
+
const user = current.updatedBy || current.createdBy;
|
|
38
|
+
const avatar = iconWithDefault || (react_1.default.createElement(design_ui_avatar_1.UserAvatar, { size: 24, account: {
|
|
39
|
+
name: (_b = user === null || user === void 0 ? void 0 : user.name) === null || _b === void 0 ? void 0 : _b.split(' ')[0],
|
|
40
|
+
displayName: user === null || user === void 0 ? void 0 : user.name,
|
|
41
|
+
profileImage: user === null || user === void 0 ? void 0 : user.profileImage,
|
|
42
|
+
} }));
|
|
43
|
+
return (react_1.default.createElement("div", Object.assign({}, rest, { className: (0, classnames_1.default)(className, lane_menu_item_module_scss_1.default.laneMenuItemContainer) }),
|
|
44
|
+
react_1.default.createElement(design_ui_surfaces_menu_link_item_1.MenuLinkItem, { active: isCurrent, href: href, className: lane_menu_item_module_scss_1.default.menuItem, onClick: onClick },
|
|
45
|
+
react_1.default.createElement("div", { className: lane_menu_item_module_scss_1.default.laneContainer },
|
|
46
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)(lane_menu_item_module_scss_1.default.left, isDefaultLane && lane_menu_item_module_scss_1.default.mainLane) },
|
|
47
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)(lane_menu_item_module_scss_1.default.icon, isDefaultLane && !icon && lane_menu_item_module_scss_1.default.defaultMainLaneIcon) }, avatar),
|
|
48
|
+
react_1.default.createElement("div", { className: lane_menu_item_module_scss_1.default.laneInfo },
|
|
49
|
+
react_1.default.createElement("div", { className: (0, classnames_1.default)(lane_menu_item_module_scss_1.default.laneDescription) }, laneDescription),
|
|
50
|
+
!isDefaultLane && react_1.default.createElement("div", { className: lane_menu_item_module_scss_1.default.laneName }, laneName))),
|
|
51
|
+
react_1.default.createElement("div", { className: lane_menu_item_module_scss_1.default.right }, timestamp && (react_1.default.createElement("div", { className: lane_menu_item_module_scss_1.default.timeStamp },
|
|
52
|
+
react_1.default.createElement(design_ui_time_ago_1.TimeAgo, { date: timestamp === null || timestamp === void 0 ? void 0 : timestamp.toString() }))))))));
|
|
62
53
|
}
|
|
63
54
|
exports.LaneMenuItem = LaneMenuItem;
|
|
64
55
|
//# sourceMappingURL=lane-menu-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lane-menu-item.js","sourceRoot":"","sources":["../lane-menu-item.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lane-menu-item.js","sourceRoot":"","sources":["../lane-menu-item.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kDAA8C;AAC9C,4DAAoC;AAEpC,sFAA6E;AAC7E,kGAA0E;AAC1E,gEAAuD;AACvD,oEAAsD;AAEtD,8FAAkD;AAWlD,SAAgB,YAAY,CAAC,EAST;;QATS,EAC3B,QAAQ,EACR,OAAO,EACP,SAAS,EACT,cAAc,EACd,OAAO,GAAG,wCAAU,CAAC,UAAU,EAC/B,IAAI,EACJ,SAAS,OAES,EADf,IAAI,cARoB,sFAS5B,CADQ;IAEP,MAAM,SAAS,GAAG,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,EAAE,MAAK,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;IACjE,MAAM,aAAa,GAAG,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;IAC7C,MAAM,eAAe,GACnB,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,uCAAK,GAAG,EAAC,2DAA2D,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEhH,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAEjC,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC;IAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC;IAEpD,MAAM,MAAM,GAAG,eAAe,IAAI,CAChC,8BAAC,6BAAU,IACT,IAAI,EAAE,EAAE,EACR,OAAO,EAAE;YACP,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/B,WAAW,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI;YACvB,YAAY,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY;SACjC,GACD,CACH,CAAC;IAEF,OAAO,CACL,uDAAS,IAAI,IAAE,SAAS,EAAE,IAAA,oBAAU,EAAC,SAAS,EAAE,oCAAM,CAAC,qBAAqB,CAAC;QAC3E,8BAAC,gDAAY,IAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,oCAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO;YACvF,uCAAK,SAAS,EAAE,oCAAM,CAAC,aAAa;gBAClC,uCAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,oCAAM,CAAC,IAAI,EAAE,aAAa,IAAI,oCAAM,CAAC,QAAQ,CAAC;oBACvE,uCAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,oCAAM,CAAC,IAAI,EAAE,aAAa,IAAI,CAAC,IAAI,IAAI,oCAAM,CAAC,mBAAmB,CAAC,IAC1F,MAAM,CACH;oBACN,uCAAK,SAAS,EAAE,oCAAM,CAAC,QAAQ;wBAC7B,uCAAK,SAAS,EAAE,IAAA,oBAAU,EAAC,oCAAM,CAAC,eAAe,CAAC,IAAG,eAAe,CAAO;wBAC1E,CAAC,aAAa,IAAI,uCAAK,SAAS,EAAE,oCAAM,CAAC,QAAQ,IAAG,QAAQ,CAAO,CAChE,CACF;gBACN,uCAAK,SAAS,EAAE,oCAAM,CAAC,KAAK,IACzB,SAAS,IAAI,CACZ,uCAAK,SAAS,EAAE,oCAAM,CAAC,SAAS;oBAC9B,8BAAC,4BAAO,IAAC,IAAI,EAAE,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE,GAAI,CACpC,CACP,CACG,CACF,CACO,CACX,CACP,CAAC;AACJ,CAAC;AA5DD,oCA4DC"}
|
|
@@ -1,13 +1,88 @@
|
|
|
1
1
|
.menuItem {
|
|
2
2
|
display: flex;
|
|
3
|
+
width: 100%;
|
|
4
|
+
box-sizing: border-box;
|
|
5
|
+
min-height: 50px;
|
|
3
6
|
flex-direction: row;
|
|
4
7
|
padding: 8px 16px;
|
|
5
8
|
cursor: pointer;
|
|
9
|
+
// border-bottom: 1px solid var(--bit-border-color-lightest, #ededed);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.laneMenuItemContainer {
|
|
13
|
+
display: flex;
|
|
14
|
+
width: 100%;
|
|
15
|
+
|
|
16
|
+
&.selected {
|
|
17
|
+
background-color: var(--surface-active-color, #dcd8f9);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.laneContainer {
|
|
22
|
+
display: flex;
|
|
6
23
|
justify-content: space-between;
|
|
7
|
-
|
|
24
|
+
gap: 4px;
|
|
25
|
+
width: 100%;
|
|
26
|
+
|
|
27
|
+
.left {
|
|
28
|
+
display: flex;
|
|
29
|
+
align-items: flex-start;
|
|
30
|
+
gap: 8px;
|
|
31
|
+
width: 100%;
|
|
32
|
+
flex: 2;
|
|
33
|
+
|
|
34
|
+
&.mainLane {
|
|
35
|
+
align-items: center;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.laneInfo {
|
|
39
|
+
display: flex;
|
|
40
|
+
flex-direction: column;
|
|
41
|
+
gap: 4px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.laneDescription {
|
|
45
|
+
font-weight: 700;
|
|
46
|
+
font-size: var(--bit-p-xs, '14px');
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.laneName {
|
|
50
|
+
font-weight: 400;
|
|
51
|
+
font-size: var(--bit-p-xxs, '12px');
|
|
52
|
+
background: var(--surface-neutral-hover-color, #f7f7f7);
|
|
53
|
+
border-radius: 4px;
|
|
54
|
+
width: fit-content;
|
|
55
|
+
padding: 2px 4px;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.right {
|
|
60
|
+
display: flex;
|
|
61
|
+
text-align: right;
|
|
62
|
+
flex: 1;
|
|
63
|
+
align-items: flex-end;
|
|
64
|
+
justify-content: flex-end;
|
|
65
|
+
|
|
66
|
+
.timeStamp {
|
|
67
|
+
> span {
|
|
68
|
+
font-size: var(--bit-p-xxs, '12px');
|
|
69
|
+
}
|
|
70
|
+
font-size: var(--bit-p-xxs, '12px');
|
|
71
|
+
// @todo replace with var
|
|
72
|
+
color: #9598a1;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
8
75
|
}
|
|
9
76
|
|
|
10
|
-
.
|
|
11
|
-
|
|
12
|
-
|
|
77
|
+
.icon {
|
|
78
|
+
display: flex;
|
|
79
|
+
|
|
80
|
+
> img {
|
|
81
|
+
height: 16px;
|
|
82
|
+
width: 16px;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&.defaultMainLaneIcon {
|
|
86
|
+
padding: 0px 4px;
|
|
87
|
+
}
|
|
13
88
|
}
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
align-items: center;
|
|
4
4
|
padding: 4px 8px 4px 4px;
|
|
5
5
|
line-height: var(--bit-p-md, 16px);
|
|
6
|
-
// font-size: var(--bit-p-md, 16px);
|
|
7
6
|
border-radius: 6px;
|
|
8
7
|
font-size: 14px;
|
|
9
|
-
border: 1px solid var(--
|
|
10
|
-
background-color: var(--
|
|
8
|
+
border: 1px solid var(--border-medium-color, #ededed);
|
|
9
|
+
background-color: var(--surface-neutral-hover-color, #f7f7f7);
|
|
11
10
|
&.disabled {
|
|
12
11
|
border: unset;
|
|
13
12
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { LaneSelectorProps } from './lane-selector';
|
|
3
|
+
export declare type LaneSelectorListProps = {
|
|
4
|
+
search?: string;
|
|
5
|
+
} & LaneSelectorProps & HTMLAttributes<HTMLDivElement>;
|
|
6
|
+
export declare function LaneSelectorList({ selectedLaneId, mainLane, nonMainLanes, className, groupByScope, getHref, onLaneSelected, search, mainIcon, scopeIconLookup, sortBy, sortOptions, scopeIcon, ...rest }: LaneSelectorListProps): JSX.Element;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
26
|
+
var t = {};
|
|
27
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
28
|
+
t[p] = s[p];
|
|
29
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
30
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
31
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
32
|
+
t[p[i]] = s[p[i]];
|
|
33
|
+
}
|
|
34
|
+
return t;
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.LaneSelectorList = void 0;
|
|
41
|
+
const react_1 = __importStar(require("react"));
|
|
42
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
43
|
+
const lodash_1 = require("lodash");
|
|
44
|
+
const lanes_ui_models_lanes_model_1 = require("@teambit/lanes.ui.models.lanes-model");
|
|
45
|
+
const lane_selector_1 = require("./lane-selector");
|
|
46
|
+
// import { LaneGroupedMenuItem } from './lane-grouped-menu-item';
|
|
47
|
+
const lane_menu_item_1 = require("./lane-menu-item");
|
|
48
|
+
const lane_selector_list_module_scss_1 = __importDefault(require("./lane-selector-list.module.scss"));
|
|
49
|
+
const lane_grouped_menu_item_1 = require("./lane-grouped-menu-item");
|
|
50
|
+
function LaneSelectorList(_a) {
|
|
51
|
+
var { selectedLaneId, mainLane, nonMainLanes, className, groupByScope, getHref, onLaneSelected, search = '', mainIcon, scopeIconLookup, sortBy, sortOptions,
|
|
52
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
53
|
+
scopeIcon } = _a, rest = __rest(_a, ["selectedLaneId", "mainLane", "nonMainLanes", "className", "groupByScope", "getHref", "onLaneSelected", "search", "mainIcon", "scopeIconLookup", "sortBy", "sortOptions", "scopeIcon"]);
|
|
54
|
+
const selectedNonMainLane = (!!selectedLaneId && nonMainLanes.find((nonMainLane) => nonMainLane.id.isEqual(selectedLaneId))) || undefined;
|
|
55
|
+
const laneDropdownItems = (0, react_1.useMemo)(() => {
|
|
56
|
+
var _a;
|
|
57
|
+
if (nonMainLanes.length === 0)
|
|
58
|
+
return [];
|
|
59
|
+
const lanesToRenderFn = () => {
|
|
60
|
+
const mainLaneToRender = search === '' || (mainLane === null || mainLane === void 0 ? void 0 : mainLane.id.name.toLowerCase().includes(search.toLowerCase())) ? mainLane : undefined;
|
|
61
|
+
if (selectedNonMainLane) {
|
|
62
|
+
const nonMainLanesWithoutSelected = nonMainLanes.filter((nonMainLane) => !nonMainLane.id.isEqual(selectedNonMainLane.id));
|
|
63
|
+
return (0, lodash_1.compact)([selectedNonMainLane, mainLaneToRender, ...nonMainLanesWithoutSelected]);
|
|
64
|
+
}
|
|
65
|
+
return (0, lodash_1.compact)([mainLaneToRender, ...nonMainLanes]);
|
|
66
|
+
};
|
|
67
|
+
if (groupByScope) {
|
|
68
|
+
const groupedNonMainLanes = lanes_ui_models_lanes_model_1.LanesModel.groupLanesByScope(nonMainLanes);
|
|
69
|
+
if (selectedNonMainLane) {
|
|
70
|
+
const groupedSelected = (_a = groupedNonMainLanes.get(selectedNonMainLane.id.scope)) !== null && _a !== void 0 ? _a : [];
|
|
71
|
+
groupedNonMainLanes.delete(selectedNonMainLane.id.scope);
|
|
72
|
+
const grouped = [
|
|
73
|
+
[selectedNonMainLane.id.scope, groupedSelected],
|
|
74
|
+
['', (mainLane && [mainLane]) || []],
|
|
75
|
+
...groupedNonMainLanes.entries(),
|
|
76
|
+
];
|
|
77
|
+
return grouped;
|
|
78
|
+
}
|
|
79
|
+
const grouped = [
|
|
80
|
+
['', (mainLane && [mainLane]) || []],
|
|
81
|
+
...groupedNonMainLanes.entries(),
|
|
82
|
+
];
|
|
83
|
+
return grouped;
|
|
84
|
+
}
|
|
85
|
+
const lanesToRender = lanesToRenderFn();
|
|
86
|
+
return lanesToRender;
|
|
87
|
+
}, [selectedLaneId === null || selectedLaneId === void 0 ? void 0 : selectedLaneId.toString(), nonMainLanes.length, search, sortBy, groupByScope]);
|
|
88
|
+
return (react_1.default.createElement("div", Object.assign({}, rest, { className: (0, classnames_1.default)(className, lane_selector_list_module_scss_1.default.laneSelectorList) }),
|
|
89
|
+
groupByScope &&
|
|
90
|
+
laneDropdownItems.map(([scope, lanesByScope], index) => {
|
|
91
|
+
return (react_1.default.createElement(lane_grouped_menu_item_1.LaneGroupedMenuItem, { key: `${scope !== null && scope !== void 0 ? scope : 'main'}-${index}`, onLaneSelected: onLaneSelected, getHref: getHref, scope: scope, selected: selectedLaneId, current: lanesByScope, icon: scopeIconLookup === null || scopeIconLookup === void 0 ? void 0 : scopeIconLookup.get(scope), timestamp: (lane) => (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.includes(lane_selector_1.LaneSelectorSortBy.UPDATED)) ? lane.updatedAt : lane.createdAt }));
|
|
92
|
+
}),
|
|
93
|
+
!groupByScope &&
|
|
94
|
+
laneDropdownItems.map((lane, index) => (react_1.default.createElement(lane_menu_item_1.LaneMenuItem, { onLaneSelected: onLaneSelected, key: `${lane.id.toString()}-${index}`, getHref: getHref, selected: selectedLaneId, current: lane, timestamp: (sortOptions === null || sortOptions === void 0 ? void 0 : sortOptions.includes(lane_selector_1.LaneSelectorSortBy.UPDATED)) ? lane.updatedAt : lane.createdAt, icon: (lane.id.isDefault() && mainIcon) || undefined })))));
|
|
95
|
+
}
|
|
96
|
+
exports.LaneSelectorList = LaneSelectorList;
|
|
97
|
+
//# sourceMappingURL=lane-selector-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lane-selector-list.js","sourceRoot":"","sources":["../lane-selector-list.tsx"],"names":[],"mappings":"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"}
|
package/dist/lane-selector.d.ts
CHANGED
|
@@ -1,10 +1,24 @@
|
|
|
1
|
-
import { HTMLAttributes } from 'react';
|
|
1
|
+
import React, { HTMLAttributes } from 'react';
|
|
2
2
|
import { LaneId } from '@teambit/lane-id';
|
|
3
|
+
import { LaneModel } from '@teambit/lanes.ui.models.lanes-model';
|
|
3
4
|
export declare type LaneSelectorProps = {
|
|
4
|
-
|
|
5
|
+
nonMainLanes: Array<LaneModel>;
|
|
6
|
+
mainLane?: LaneModel;
|
|
5
7
|
selectedLaneId?: LaneId;
|
|
6
8
|
groupByScope?: boolean;
|
|
7
9
|
getHref?: (laneId: LaneId) => string;
|
|
8
10
|
onLaneSelected?: (laneId: LaneId) => void;
|
|
11
|
+
mainIcon?: React.ReactNode;
|
|
12
|
+
scopeIcon?: (scopeName: string) => React.ReactNode;
|
|
13
|
+
sortBy?: LaneSelectorSortBy;
|
|
14
|
+
sortOptions?: LaneSelectorSortBy[];
|
|
15
|
+
scopeIconLookup?: Map<string, React.ReactNode>;
|
|
9
16
|
} & HTMLAttributes<HTMLDivElement>;
|
|
10
|
-
export declare
|
|
17
|
+
export declare type GroupedLaneDropdownItem = [scope: string, lanes: LaneModel[]];
|
|
18
|
+
export declare type LaneDropdownItems = Array<LaneModel> | Array<GroupedLaneDropdownItem>;
|
|
19
|
+
export declare enum LaneSelectorSortBy {
|
|
20
|
+
UPDATED = "UPDATED",
|
|
21
|
+
CREATED = "CREATED",
|
|
22
|
+
ALPHABETICAL = "ALPHABETICAL"
|
|
23
|
+
}
|
|
24
|
+
export declare function LaneSelector(props: LaneSelectorProps): JSX.Element;
|