@teambit/lanes 0.0.453 → 0.0.455
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/create-lane.js +7 -24
- package/dist/create-lane.js.map +1 -1
- package/dist/index.js +0 -8
- package/dist/index.js.map +1 -1
- package/dist/lane.cmd.js +3 -91
- package/dist/lane.cmd.js.map +1 -1
- package/dist/lanes.aspect.js +0 -5
- package/dist/lanes.aspect.js.map +1 -1
- package/dist/lanes.composition.js +0 -6
- package/dist/lanes.composition.js.map +1 -1
- package/dist/lanes.graphql.js +0 -21
- package/dist/lanes.graphql.js.map +1 -1
- package/dist/lanes.main.runtime.js +15 -190
- package/dist/lanes.main.runtime.js.map +1 -1
- package/dist/lanes.spec.js +0 -13
- package/dist/lanes.spec.js.map +1 -1
- package/dist/lanes.ui.runtime.js +6 -91
- package/dist/lanes.ui.runtime.js.map +1 -1
- package/dist/switch-lanes.js +12 -86
- package/dist/switch-lanes.js.map +1 -1
- package/dist/switch.cmd.js +0 -23
- package/dist/switch.cmd.js.map +1 -1
- package/package-tar/teambit-lanes-0.0.455.tgz +0 -0
- package/package.json +11 -11
- package/{preview-1666409808293.js → preview-1666582798766.js} +2 -2
- package/package-tar/teambit-lanes-0.0.453.tgz +0 -0
package/dist/lanes.ui.runtime.js
CHANGED
@@ -1,200 +1,140 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
|
5
4
|
require("core-js/modules/es.array.iterator.js");
|
6
|
-
|
7
5
|
require("core-js/modules/es.promise.js");
|
8
|
-
|
9
6
|
Object.defineProperty(exports, "__esModule", {
|
10
7
|
value: true
|
11
8
|
});
|
12
9
|
exports.default = exports.LanesUI = void 0;
|
13
|
-
|
14
10
|
function _defineProperty2() {
|
15
11
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
16
|
-
|
17
12
|
_defineProperty2 = function () {
|
18
13
|
return data;
|
19
14
|
};
|
20
|
-
|
21
15
|
return data;
|
22
16
|
}
|
23
|
-
|
24
17
|
function _react() {
|
25
18
|
const data = _interopRequireDefault(require("react"));
|
26
|
-
|
27
19
|
_react = function () {
|
28
20
|
return data;
|
29
21
|
};
|
30
|
-
|
31
22
|
return data;
|
32
23
|
}
|
33
|
-
|
34
24
|
function _reactRouterDom() {
|
35
25
|
const data = require("react-router-dom");
|
36
|
-
|
37
26
|
_reactRouterDom = function () {
|
38
27
|
return data;
|
39
28
|
};
|
40
|
-
|
41
29
|
return data;
|
42
30
|
}
|
43
|
-
|
44
31
|
function _harmony() {
|
45
32
|
const data = require("@teambit/harmony");
|
46
|
-
|
47
33
|
_harmony = function () {
|
48
34
|
return data;
|
49
35
|
};
|
50
|
-
|
51
36
|
return data;
|
52
37
|
}
|
53
|
-
|
54
38
|
function _ui() {
|
55
39
|
const data = require("@teambit/ui");
|
56
|
-
|
57
40
|
_ui = function () {
|
58
41
|
return data;
|
59
42
|
};
|
60
|
-
|
61
43
|
return data;
|
62
44
|
}
|
63
|
-
|
64
45
|
function _lanes() {
|
65
46
|
const data = require("@teambit/lanes");
|
66
|
-
|
67
47
|
_lanes = function () {
|
68
48
|
return data;
|
69
49
|
};
|
70
|
-
|
71
50
|
return data;
|
72
51
|
}
|
73
|
-
|
74
52
|
function _designUiPages() {
|
75
53
|
const data = require("@teambit/design.ui.pages.not-found");
|
76
|
-
|
77
54
|
_designUiPages = function () {
|
78
55
|
return data;
|
79
56
|
};
|
80
|
-
|
81
57
|
return data;
|
82
58
|
}
|
83
|
-
|
84
59
|
function _scope() {
|
85
60
|
const data = _interopRequireDefault(require("@teambit/scope"));
|
86
|
-
|
87
61
|
_scope = function () {
|
88
62
|
return data;
|
89
63
|
};
|
90
|
-
|
91
64
|
return data;
|
92
65
|
}
|
93
|
-
|
94
66
|
function _workspace() {
|
95
67
|
const data = _interopRequireDefault(require("@teambit/workspace"));
|
96
|
-
|
97
68
|
_workspace = function () {
|
98
69
|
return data;
|
99
70
|
};
|
100
|
-
|
101
71
|
return data;
|
102
72
|
}
|
103
|
-
|
104
73
|
function _component() {
|
105
74
|
const data = _interopRequireWildcard(require("@teambit/component"));
|
106
|
-
|
107
75
|
_component = function () {
|
108
76
|
return data;
|
109
77
|
};
|
110
|
-
|
111
78
|
return data;
|
112
79
|
}
|
113
|
-
|
114
80
|
function _sidebar() {
|
115
81
|
const data = _interopRequireDefault(require("@teambit/sidebar"));
|
116
|
-
|
117
82
|
_sidebar = function () {
|
118
83
|
return data;
|
119
84
|
};
|
120
|
-
|
121
85
|
return data;
|
122
86
|
}
|
123
|
-
|
124
87
|
function _lanesUi() {
|
125
88
|
const data = require("@teambit/lanes.ui.lane-overview");
|
126
|
-
|
127
89
|
_lanesUi = function () {
|
128
90
|
return data;
|
129
91
|
};
|
130
|
-
|
131
92
|
return data;
|
132
93
|
}
|
133
|
-
|
134
94
|
function _lanesUiMenus() {
|
135
95
|
const data = require("@teambit/lanes.ui.menus.lanes-overview-menu");
|
136
|
-
|
137
96
|
_lanesUiMenus = function () {
|
138
97
|
return data;
|
139
98
|
};
|
140
|
-
|
141
99
|
return data;
|
142
100
|
}
|
143
|
-
|
144
101
|
function _lanesUiMenus2() {
|
145
102
|
const data = require("@teambit/lanes.ui.menus.use-lanes-menu");
|
146
|
-
|
147
103
|
_lanesUiMenus2 = function () {
|
148
104
|
return data;
|
149
105
|
};
|
150
|
-
|
151
106
|
return data;
|
152
107
|
}
|
153
|
-
|
154
108
|
function _lanesUiModels() {
|
155
109
|
const data = require("@teambit/lanes.ui.models.lanes-model");
|
156
|
-
|
157
110
|
_lanesUiModels = function () {
|
158
111
|
return data;
|
159
112
|
};
|
160
|
-
|
161
113
|
return data;
|
162
114
|
}
|
163
|
-
|
164
115
|
function _lanesHooks() {
|
165
116
|
const data = require("@teambit/lanes.hooks.use-lanes");
|
166
|
-
|
167
117
|
_lanesHooks = function () {
|
168
118
|
return data;
|
169
119
|
};
|
170
|
-
|
171
120
|
return data;
|
172
121
|
}
|
173
|
-
|
174
122
|
function _lanesUiNavigation() {
|
175
123
|
const data = require("@teambit/lanes.ui.navigation.lane-switcher");
|
176
|
-
|
177
124
|
_lanesUiNavigation = function () {
|
178
125
|
return data;
|
179
126
|
};
|
180
|
-
|
181
127
|
return data;
|
182
128
|
}
|
183
|
-
|
184
129
|
function _lanesHooks2() {
|
185
130
|
const data = require("@teambit/lanes.hooks.use-viewed-lane-from-url");
|
186
|
-
|
187
131
|
_lanesHooks2 = function () {
|
188
132
|
return data;
|
189
133
|
};
|
190
|
-
|
191
134
|
return data;
|
192
135
|
}
|
193
|
-
|
194
136
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
195
|
-
|
196
137
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
197
|
-
|
198
138
|
class LanesUI {
|
199
139
|
constructor(componentUi, routeSlot, navSlot, menuWidgetSlot,
|
200
140
|
/**
|
@@ -222,7 +162,6 @@ class LanesUI {
|
|
222
162
|
});
|
223
163
|
(0, _defineProperty2().default)(this, "useComponentId", () => {
|
224
164
|
var _this$getLaneComponen;
|
225
|
-
|
226
165
|
return (_this$getLaneComponen = this.getLaneComponentIdFromUrl()) === null || _this$getLaneComponen === void 0 ? void 0 : _this$getLaneComponen.toString();
|
227
166
|
});
|
228
167
|
(0, _defineProperty2().default)(this, "useComponentFilters", () => {
|
@@ -242,13 +181,11 @@ class LanesUI {
|
|
242
181
|
this.lanesHost = workspace ? 'workspace' : 'scope';
|
243
182
|
this.host = workspace ? _workspace().default.id : _scope().default.id;
|
244
183
|
}
|
245
|
-
|
246
184
|
registerHostAspectRoutes() {
|
247
185
|
if (!this.hostAspect) return;
|
248
186
|
this.hostAspect.registerRoutes(this.getLaneRoutes());
|
249
187
|
this.hostAspect.registerMenuRoutes(this.getMenuRoutes());
|
250
188
|
}
|
251
|
-
|
252
189
|
getLaneRoutes() {
|
253
190
|
return [{
|
254
191
|
path: _lanesUiModels().LanesModel.lanesPrefix,
|
@@ -269,7 +206,6 @@ class LanesUI {
|
|
269
206
|
}))
|
270
207
|
}];
|
271
208
|
}
|
272
|
-
|
273
209
|
overrideComputeLaneUrl(fn) {
|
274
210
|
const {
|
275
211
|
prefix,
|
@@ -283,25 +219,24 @@ class LanesUI {
|
|
283
219
|
_lanesUiModels().LanesModel.getLaneComponentUrl = getLaneComponentUrl;
|
284
220
|
_lanesUiModels().LanesModel.getLaneUrl = getLaneUrl;
|
285
221
|
_lanesUiModels().LanesModel.getLaneIdFromPathname = getLaneIdFromPathname;
|
286
|
-
}
|
222
|
+
}
|
223
|
+
|
224
|
+
// getLaneReadme() {
|
287
225
|
// return <LaneReadmeOverview host={this.host} overviewSlot={this.overviewSlot} routeSlot={this.routeSlot} />;
|
288
226
|
// }
|
289
227
|
|
290
|
-
|
291
228
|
getLaneComponent() {
|
292
229
|
return this.componentUi.getComponentUI(this.host, {
|
293
230
|
componentId: this.useComponentId,
|
294
231
|
useComponentFilters: this.useComponentFilters
|
295
232
|
});
|
296
233
|
}
|
297
|
-
|
298
234
|
getLaneComponentMenu() {
|
299
235
|
return this.componentUi.getMenu(this.host, {
|
300
236
|
componentId: this.useComponentId,
|
301
237
|
useComponentFilters: this.useComponentFilters
|
302
238
|
});
|
303
239
|
}
|
304
|
-
|
305
240
|
getLaneOverview() {
|
306
241
|
return /*#__PURE__*/_react().default.createElement(_lanesUi().LaneOverview, {
|
307
242
|
routeSlot: this.routeSlot,
|
@@ -309,7 +244,6 @@ class LanesUI {
|
|
309
244
|
host: this.lanesHost
|
310
245
|
});
|
311
246
|
}
|
312
|
-
|
313
247
|
getMenuRoutes() {
|
314
248
|
return [{
|
315
249
|
path: _lanesUiModels().LanesModel.lanesPrefix,
|
@@ -324,20 +258,18 @@ class LanesUI {
|
|
324
258
|
}))
|
325
259
|
}];
|
326
260
|
}
|
327
|
-
|
328
261
|
getLanesOverviewMenu() {
|
329
262
|
return /*#__PURE__*/_react().default.createElement(_lanesUiMenus().LanesOverviewMenu, {
|
330
263
|
navigationSlot: this.navSlot,
|
331
264
|
widgetSlot: this.menuWidgetSlot
|
332
265
|
});
|
333
266
|
}
|
334
|
-
|
335
267
|
registerMenuWidget(...menuItems) {
|
336
268
|
this.menuWidgetSlot.register(menuItems);
|
337
269
|
}
|
338
|
-
|
339
270
|
registerLanesRoutes() {
|
340
|
-
this.registerNavigation([
|
271
|
+
this.registerNavigation([
|
272
|
+
// {
|
341
273
|
// props: {
|
342
274
|
// href: '.',
|
343
275
|
// exact: true,
|
@@ -358,31 +290,24 @@ class LanesUI {
|
|
358
290
|
order: 1
|
359
291
|
}]);
|
360
292
|
}
|
361
|
-
|
362
293
|
registerRoutes() {
|
363
294
|
this.registerHostAspectRoutes();
|
364
295
|
this.registerLanesRoutes();
|
365
296
|
}
|
366
|
-
|
367
297
|
getLanesSwitcher() {
|
368
298
|
const LanesSwitcher = /*#__PURE__*/_react().default.createElement(_lanesUiNavigation().LaneSwitcher, {
|
369
299
|
groupByScope: this.lanesHost === 'workspace'
|
370
300
|
});
|
371
|
-
|
372
301
|
return LanesSwitcher;
|
373
302
|
}
|
374
|
-
|
375
303
|
getLanesProvider() {
|
376
304
|
return _lanesHooks().LanesProvider;
|
377
305
|
}
|
378
|
-
|
379
306
|
getUseLanes() {
|
380
307
|
return _lanesHooks().useLanes;
|
381
308
|
}
|
382
|
-
|
383
309
|
registerLanesDropdown() {
|
384
310
|
var _this$hostAspect;
|
385
|
-
|
386
311
|
const LanesSwitcher = this.getLanesSwitcher();
|
387
312
|
(_this$hostAspect = this.hostAspect) === null || _this$hostAspect === void 0 ? void 0 : _this$hostAspect.registerSidebarLink({
|
388
313
|
component: function Gallery() {
|
@@ -391,25 +316,21 @@ class LanesUI {
|
|
391
316
|
weight: 1000
|
392
317
|
});
|
393
318
|
}
|
394
|
-
|
395
319
|
registerRoute(route) {
|
396
320
|
this.routeSlot.register(route);
|
397
321
|
return this;
|
398
322
|
}
|
323
|
+
|
399
324
|
/**
|
400
325
|
* register a new line beneath the lane overview section.
|
401
326
|
*/
|
402
|
-
|
403
|
-
|
404
327
|
registerOverviewLine(...lines) {
|
405
328
|
this.overviewSlot.register(lines);
|
406
329
|
return this;
|
407
330
|
}
|
408
|
-
|
409
331
|
registerNavigation(routes) {
|
410
332
|
this.navSlot.register(routes);
|
411
333
|
}
|
412
|
-
|
413
334
|
static async provider([uiUi, componentUi, workspaceUi, scopeUi], _, [routeSlot, overviewSlot, navSlot, menuWidgetSlot], harmony) {
|
414
335
|
const {
|
415
336
|
config
|
@@ -417,15 +338,12 @@ class LanesUI {
|
|
417
338
|
const host = String(config.get('teambit.harmony/bit'));
|
418
339
|
let workspace;
|
419
340
|
let scope;
|
420
|
-
|
421
341
|
if (host === _workspace().default.id) {
|
422
342
|
workspace = workspaceUi;
|
423
343
|
}
|
424
|
-
|
425
344
|
if (host === _scope().default.id) {
|
426
345
|
scope = scopeUi;
|
427
346
|
}
|
428
|
-
|
429
347
|
const lanesUi = new LanesUI(componentUi, routeSlot, navSlot, overviewSlot, menuWidgetSlot, workspace, scope);
|
430
348
|
if (uiUi) uiUi.registerRenderHooks({
|
431
349
|
reactContext: lanesUi.renderContext
|
@@ -449,16 +367,13 @@ class LanesUI {
|
|
449
367
|
lanesUi.registerLanesDropdown();
|
450
368
|
return lanesUi;
|
451
369
|
}
|
452
|
-
|
453
370
|
}
|
454
|
-
|
455
371
|
exports.LanesUI = LanesUI;
|
456
372
|
(0, _defineProperty2().default)(LanesUI, "dependencies", [_ui().UIAspect, _component().default, _workspace().default, _scope().default, _sidebar().default]);
|
457
373
|
(0, _defineProperty2().default)(LanesUI, "runtime", _ui().UIRuntime);
|
458
374
|
(0, _defineProperty2().default)(LanesUI, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
|
459
375
|
var _default = LanesUI;
|
460
376
|
exports.default = _default;
|
461
|
-
|
462
377
|
_lanes().LanesAspect.addRuntime(LanesUI);
|
463
378
|
|
464
379
|
//# sourceMappingURL=lanes.ui.runtime.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["LanesUI","constructor","componentUi","routeSlot","navSlot","menuWidgetSlot","overviewSlot","workspace","scope","idFromLocation","useIdFromLocation","lanesModel","useLanes","laneFromUrl","useViewedLaneFromUrl","laneComponentId","isDefault","resolveComponentByFullName","undefined","getLaneComponentIdFromUrl","toString","log","logHead","version","children","hostAspect","lanesHost","host","WorkspaceAspect","id","ScopeAspect","registerHostAspectRoutes","registerRoutes","getLaneRoutes","registerMenuRoutes","getMenuRoutes","path","LanesModel","lanesPrefix","lanePath","getLaneOverview","getLaneComponent","overrideComputeLaneUrl","fn","prefix","getLaneComponentUrl","getLaneIdFromPathname","getLaneUrl","getComponentUI","componentId","useComponentId","useComponentFilters","getLaneComponentMenu","getMenu","getLanesOverviewMenu","registerMenuWidget","menuItems","register","registerLanesRoutes","registerNavigation","props","href","exact","order","getLanesSwitcher","LanesSwitcher","getLanesProvider","LanesProvider","getUseLanes","registerLanesDropdown","registerSidebarLink","component","Gallery","weight","registerRoute","route","registerOverviewLine","lines","routes","provider","uiUi","workspaceUi","scopeUi","_","harmony","config","String","get","lanesUi","registerRenderHooks","reactContext","renderContext","viewedLane","currentLane","UIAspect","ComponentAspect","SidebarAspect","UIRuntime","Slot","withType","LanesAspect","addRuntime"],"sources":["lanes.ui.runtime.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Route, RouteProps } from 'react-router-dom';\nimport { Slot, Harmony } from '@teambit/harmony';\nimport { UIRuntime, UiUI, UIAspect } from '@teambit/ui';\nimport { LanesAspect } from '@teambit/lanes';\nimport { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { NotFoundPage } from '@teambit/design.ui.pages.not-found';\nimport ScopeAspect, { ScopeUI } from '@teambit/scope';\nimport WorkspaceAspect, { WorkspaceUI } from '@teambit/workspace';\nimport ComponentAspect, { ComponentID, ComponentUI, useIdFromLocation } from '@teambit/component';\nimport SidebarAspect, { SidebarUI } from '@teambit/sidebar';\nimport { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\nimport { LaneOverview, LaneOverviewLine, LaneOverviewLineSlot } from '@teambit/lanes.ui.lane-overview';\nimport {\n LanesNavPlugin,\n LanesOrderedNavigationSlot,\n LanesOverviewMenu,\n} from '@teambit/lanes.ui.menus.lanes-overview-menu';\nimport { UseLaneMenu } from '@teambit/lanes.ui.menus.use-lanes-menu';\nimport { LanesHost, LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { LanesProvider, useLanes } from '@teambit/lanes.hooks.use-lanes';\nimport { LaneSwitcher } from '@teambit/lanes.ui.navigation.lane-switcher';\nimport { LaneId } from '@teambit/lane-id';\nimport { useViewedLaneFromUrl } from '@teambit/lanes.hooks.use-viewed-lane-from-url';\n\nexport class LanesUI {\n static dependencies = [UIAspect, ComponentAspect, WorkspaceAspect, ScopeAspect, SidebarAspect];\n static runtime = UIRuntime;\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<LaneOverviewLineSlot>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<MenuWidgetSlot>(),\n ];\n\n constructor(\n private componentUi: ComponentUI,\n private routeSlot: RouteSlot,\n private navSlot: LanesOrderedNavigationSlot,\n private menuWidgetSlot: MenuWidgetSlot,\n /**\n * overview line slot to add new lines beneath the overview section\n */\n private overviewSlot: LaneOverviewLineSlot,\n private workspace?: WorkspaceUI,\n private scope?: ScopeUI\n ) {\n this.hostAspect = workspace || scope;\n this.lanesHost = workspace ? 'workspace' : 'scope';\n this.host = workspace ? WorkspaceAspect.id : ScopeAspect.id;\n }\n\n private readonly lanesHost: LanesHost;\n private readonly hostAspect?: WorkspaceUI | ScopeUI;\n private readonly host: string;\n\n private registerHostAspectRoutes() {\n if (!this.hostAspect) return;\n this.hostAspect.registerRoutes(this.getLaneRoutes());\n this.hostAspect.registerMenuRoutes(this.getMenuRoutes());\n }\n\n getLaneRoutes() {\n return [\n {\n path: LanesModel.lanesPrefix,\n children: (\n <>\n <Route path={LanesModel.lanePath}>\n <Route index element={this.getLaneOverview()} />\n <Route path=\"~component/*\" element={this.getLaneComponent()} />\n <Route path=\"*\" element={<NotFoundPage />} />\n </Route>\n <Route path=\"*\" element={<NotFoundPage />} />\n </>\n ),\n },\n ];\n }\n\n overrideComputeLaneUrl(\n fn: () => {\n prefix: string;\n path: string;\n getLaneIdFromPathname: (pathname: string) => LaneId | undefined;\n getLaneUrl: (laneId: LaneId, relative?: boolean) => string;\n getLaneComponentUrl: (componentId: ComponentID, laneId: LaneId) => string;\n }\n ) {\n const { prefix, path, getLaneComponentUrl, getLaneIdFromPathname, getLaneUrl } = fn();\n LanesModel.lanesPrefix = prefix;\n LanesModel.lanePath = path;\n LanesModel.getLaneComponentUrl = getLaneComponentUrl;\n LanesModel.getLaneUrl = getLaneUrl;\n LanesModel.getLaneIdFromPathname = getLaneIdFromPathname;\n }\n\n // getLaneReadme() {\n // return <LaneReadmeOverview host={this.host} overviewSlot={this.overviewSlot} routeSlot={this.routeSlot} />;\n // }\n\n getLaneComponentIdFromUrl = () => {\n const idFromLocation = useIdFromLocation();\n const { lanesModel } = useLanes();\n const laneFromUrl = useViewedLaneFromUrl();\n const laneComponentId =\n idFromLocation && !laneFromUrl?.isDefault()\n ? lanesModel?.resolveComponentByFullName(idFromLocation, laneFromUrl)\n : undefined;\n return laneComponentId;\n };\n\n useComponentId = () => {\n return this.getLaneComponentIdFromUrl()?.toString();\n };\n\n useComponentFilters = () => {\n const laneComponentId = this.getLaneComponentIdFromUrl();\n\n return {\n log: laneComponentId && {\n logHead: laneComponentId.version,\n },\n };\n };\n\n getLaneComponent() {\n return this.componentUi.getComponentUI(this.host, {\n componentId: this.useComponentId,\n useComponentFilters: this.useComponentFilters,\n });\n }\n\n getLaneComponentMenu() {\n return this.componentUi.getMenu(this.host, {\n componentId: this.useComponentId,\n useComponentFilters: this.useComponentFilters,\n });\n }\n\n getLaneOverview() {\n return <LaneOverview routeSlot={this.routeSlot} overviewSlot={this.overviewSlot} host={this.lanesHost} />;\n }\n\n getMenuRoutes() {\n return [\n {\n path: LanesModel.lanesPrefix,\n children: (\n <Route path={`${LanesModel.lanePath}/*`}>\n <Route path=\"*\" element={this.getLanesOverviewMenu()} />\n <Route path=\"~component/*\" element={this.getLaneComponentMenu()} />\n </Route>\n ),\n },\n ];\n }\n\n getLanesOverviewMenu() {\n return <LanesOverviewMenu navigationSlot={this.navSlot} widgetSlot={this.menuWidgetSlot} />;\n }\n\n registerMenuWidget(...menuItems: MenuWidget[]) {\n this.menuWidgetSlot.register(menuItems);\n }\n\n private registerLanesRoutes() {\n this.registerNavigation([\n // {\n // props: {\n // href: '.',\n // exact: true,\n // children: 'README',\n // },\n // order: 1,\n // hide: () => {\n // const { lanesModel } = useLanes();\n // return !lanesModel?.viewedLane?.readmeComponent;\n // },\n // },\n {\n props: {\n href: '.',\n exact: true,\n children: 'Overview',\n },\n order: 1,\n },\n ]);\n }\n\n private registerRoutes() {\n this.registerHostAspectRoutes();\n this.registerLanesRoutes();\n }\n\n getLanesSwitcher() {\n const LanesSwitcher = <LaneSwitcher groupByScope={this.lanesHost === 'workspace'} />;\n return LanesSwitcher;\n }\n\n getLanesProvider() {\n return LanesProvider;\n }\n\n getUseLanes() {\n return useLanes;\n }\n\n private registerLanesDropdown() {\n const LanesSwitcher = this.getLanesSwitcher();\n\n this.hostAspect?.registerSidebarLink({\n component: function Gallery() {\n return LanesSwitcher;\n },\n weight: 1000,\n });\n }\n\n private renderContext = ({ children }: { children: ReactNode }) => {\n return <LanesProvider>{children}</LanesProvider>;\n };\n\n registerRoute(route: RouteProps) {\n this.routeSlot.register(route);\n return this;\n }\n\n /**\n * register a new line beneath the lane overview section.\n */\n registerOverviewLine(...lines: LaneOverviewLine[]) {\n this.overviewSlot.register(lines);\n return this;\n }\n\n registerNavigation(routes: LanesNavPlugin[]) {\n this.navSlot.register(routes);\n }\n\n static async provider(\n [uiUi, componentUi, workspaceUi, scopeUi]: [UiUI, ComponentUI, WorkspaceUI, ScopeUI, SidebarUI],\n _,\n [routeSlot, overviewSlot, navSlot, menuWidgetSlot]: [\n RouteSlot,\n LaneOverviewLineSlot,\n LanesOrderedNavigationSlot,\n MenuWidgetSlot\n ],\n harmony: Harmony\n ) {\n const { config } = harmony;\n const host = String(config.get('teambit.harmony/bit'));\n let workspace: WorkspaceUI | undefined;\n let scope: ScopeUI | undefined;\n if (host === WorkspaceAspect.id) {\n workspace = workspaceUi;\n }\n if (host === ScopeAspect.id) {\n scope = scopeUi;\n }\n const lanesUi = new LanesUI(componentUi, routeSlot, navSlot, overviewSlot, menuWidgetSlot, workspace, scope);\n if (uiUi) uiUi.registerRenderHooks({ reactContext: lanesUi.renderContext });\n lanesUi.registerRoutes();\n lanesUi.registerMenuWidget(() => {\n const { lanesModel } = useLanes();\n if (!lanesModel?.viewedLane) return null;\n const { viewedLane, currentLane } = lanesModel;\n return <UseLaneMenu host={lanesUi.lanesHost} viewedLaneId={viewedLane.id} currentLaneId={currentLane?.id} />;\n });\n lanesUi.registerLanesDropdown();\n return lanesUi;\n }\n}\n\nexport default LanesUI;\n\nLanesAspect.addRuntime(LanesUI);\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["LanesUI","constructor","componentUi","routeSlot","navSlot","menuWidgetSlot","overviewSlot","workspace","scope","idFromLocation","useIdFromLocation","lanesModel","useLanes","laneFromUrl","useViewedLaneFromUrl","laneComponentId","isDefault","resolveComponentByFullName","undefined","getLaneComponentIdFromUrl","toString","log","logHead","version","children","hostAspect","lanesHost","host","WorkspaceAspect","id","ScopeAspect","registerHostAspectRoutes","registerRoutes","getLaneRoutes","registerMenuRoutes","getMenuRoutes","path","LanesModel","lanesPrefix","lanePath","getLaneOverview","getLaneComponent","overrideComputeLaneUrl","fn","prefix","getLaneComponentUrl","getLaneIdFromPathname","getLaneUrl","getComponentUI","componentId","useComponentId","useComponentFilters","getLaneComponentMenu","getMenu","getLanesOverviewMenu","registerMenuWidget","menuItems","register","registerLanesRoutes","registerNavigation","props","href","exact","order","getLanesSwitcher","LanesSwitcher","getLanesProvider","LanesProvider","getUseLanes","registerLanesDropdown","registerSidebarLink","component","Gallery","weight","registerRoute","route","registerOverviewLine","lines","routes","provider","uiUi","workspaceUi","scopeUi","_","harmony","config","String","get","lanesUi","registerRenderHooks","reactContext","renderContext","viewedLane","currentLane","UIAspect","ComponentAspect","SidebarAspect","UIRuntime","Slot","withType","LanesAspect","addRuntime"],"sources":["lanes.ui.runtime.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { Route, RouteProps } from 'react-router-dom';\nimport { Slot, Harmony } from '@teambit/harmony';\nimport { UIRuntime, UiUI, UIAspect } from '@teambit/ui';\nimport { LanesAspect } from '@teambit/lanes';\nimport { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { NotFoundPage } from '@teambit/design.ui.pages.not-found';\nimport ScopeAspect, { ScopeUI } from '@teambit/scope';\nimport WorkspaceAspect, { WorkspaceUI } from '@teambit/workspace';\nimport ComponentAspect, { ComponentID, ComponentUI, useIdFromLocation } from '@teambit/component';\nimport SidebarAspect, { SidebarUI } from '@teambit/sidebar';\nimport { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\nimport { LaneOverview, LaneOverviewLine, LaneOverviewLineSlot } from '@teambit/lanes.ui.lane-overview';\nimport {\n LanesNavPlugin,\n LanesOrderedNavigationSlot,\n LanesOverviewMenu,\n} from '@teambit/lanes.ui.menus.lanes-overview-menu';\nimport { UseLaneMenu } from '@teambit/lanes.ui.menus.use-lanes-menu';\nimport { LanesHost, LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { LanesProvider, useLanes } from '@teambit/lanes.hooks.use-lanes';\nimport { LaneSwitcher } from '@teambit/lanes.ui.navigation.lane-switcher';\nimport { LaneId } from '@teambit/lane-id';\nimport { useViewedLaneFromUrl } from '@teambit/lanes.hooks.use-viewed-lane-from-url';\n\nexport class LanesUI {\n static dependencies = [UIAspect, ComponentAspect, WorkspaceAspect, ScopeAspect, SidebarAspect];\n static runtime = UIRuntime;\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<LaneOverviewLineSlot>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<MenuWidgetSlot>(),\n ];\n\n constructor(\n private componentUi: ComponentUI,\n private routeSlot: RouteSlot,\n private navSlot: LanesOrderedNavigationSlot,\n private menuWidgetSlot: MenuWidgetSlot,\n /**\n * overview line slot to add new lines beneath the overview section\n */\n private overviewSlot: LaneOverviewLineSlot,\n private workspace?: WorkspaceUI,\n private scope?: ScopeUI\n ) {\n this.hostAspect = workspace || scope;\n this.lanesHost = workspace ? 'workspace' : 'scope';\n this.host = workspace ? WorkspaceAspect.id : ScopeAspect.id;\n }\n\n private readonly lanesHost: LanesHost;\n private readonly hostAspect?: WorkspaceUI | ScopeUI;\n private readonly host: string;\n\n private registerHostAspectRoutes() {\n if (!this.hostAspect) return;\n this.hostAspect.registerRoutes(this.getLaneRoutes());\n this.hostAspect.registerMenuRoutes(this.getMenuRoutes());\n }\n\n getLaneRoutes() {\n return [\n {\n path: LanesModel.lanesPrefix,\n children: (\n <>\n <Route path={LanesModel.lanePath}>\n <Route index element={this.getLaneOverview()} />\n <Route path=\"~component/*\" element={this.getLaneComponent()} />\n <Route path=\"*\" element={<NotFoundPage />} />\n </Route>\n <Route path=\"*\" element={<NotFoundPage />} />\n </>\n ),\n },\n ];\n }\n\n overrideComputeLaneUrl(\n fn: () => {\n prefix: string;\n path: string;\n getLaneIdFromPathname: (pathname: string) => LaneId | undefined;\n getLaneUrl: (laneId: LaneId, relative?: boolean) => string;\n getLaneComponentUrl: (componentId: ComponentID, laneId: LaneId) => string;\n }\n ) {\n const { prefix, path, getLaneComponentUrl, getLaneIdFromPathname, getLaneUrl } = fn();\n LanesModel.lanesPrefix = prefix;\n LanesModel.lanePath = path;\n LanesModel.getLaneComponentUrl = getLaneComponentUrl;\n LanesModel.getLaneUrl = getLaneUrl;\n LanesModel.getLaneIdFromPathname = getLaneIdFromPathname;\n }\n\n // getLaneReadme() {\n // return <LaneReadmeOverview host={this.host} overviewSlot={this.overviewSlot} routeSlot={this.routeSlot} />;\n // }\n\n getLaneComponentIdFromUrl = () => {\n const idFromLocation = useIdFromLocation();\n const { lanesModel } = useLanes();\n const laneFromUrl = useViewedLaneFromUrl();\n const laneComponentId =\n idFromLocation && !laneFromUrl?.isDefault()\n ? lanesModel?.resolveComponentByFullName(idFromLocation, laneFromUrl)\n : undefined;\n return laneComponentId;\n };\n\n useComponentId = () => {\n return this.getLaneComponentIdFromUrl()?.toString();\n };\n\n useComponentFilters = () => {\n const laneComponentId = this.getLaneComponentIdFromUrl();\n\n return {\n log: laneComponentId && {\n logHead: laneComponentId.version,\n },\n };\n };\n\n getLaneComponent() {\n return this.componentUi.getComponentUI(this.host, {\n componentId: this.useComponentId,\n useComponentFilters: this.useComponentFilters,\n });\n }\n\n getLaneComponentMenu() {\n return this.componentUi.getMenu(this.host, {\n componentId: this.useComponentId,\n useComponentFilters: this.useComponentFilters,\n });\n }\n\n getLaneOverview() {\n return <LaneOverview routeSlot={this.routeSlot} overviewSlot={this.overviewSlot} host={this.lanesHost} />;\n }\n\n getMenuRoutes() {\n return [\n {\n path: LanesModel.lanesPrefix,\n children: (\n <Route path={`${LanesModel.lanePath}/*`}>\n <Route path=\"*\" element={this.getLanesOverviewMenu()} />\n <Route path=\"~component/*\" element={this.getLaneComponentMenu()} />\n </Route>\n ),\n },\n ];\n }\n\n getLanesOverviewMenu() {\n return <LanesOverviewMenu navigationSlot={this.navSlot} widgetSlot={this.menuWidgetSlot} />;\n }\n\n registerMenuWidget(...menuItems: MenuWidget[]) {\n this.menuWidgetSlot.register(menuItems);\n }\n\n private registerLanesRoutes() {\n this.registerNavigation([\n // {\n // props: {\n // href: '.',\n // exact: true,\n // children: 'README',\n // },\n // order: 1,\n // hide: () => {\n // const { lanesModel } = useLanes();\n // return !lanesModel?.viewedLane?.readmeComponent;\n // },\n // },\n {\n props: {\n href: '.',\n exact: true,\n children: 'Overview',\n },\n order: 1,\n },\n ]);\n }\n\n private registerRoutes() {\n this.registerHostAspectRoutes();\n this.registerLanesRoutes();\n }\n\n getLanesSwitcher() {\n const LanesSwitcher = <LaneSwitcher groupByScope={this.lanesHost === 'workspace'} />;\n return LanesSwitcher;\n }\n\n getLanesProvider() {\n return LanesProvider;\n }\n\n getUseLanes() {\n return useLanes;\n }\n\n private registerLanesDropdown() {\n const LanesSwitcher = this.getLanesSwitcher();\n\n this.hostAspect?.registerSidebarLink({\n component: function Gallery() {\n return LanesSwitcher;\n },\n weight: 1000,\n });\n }\n\n private renderContext = ({ children }: { children: ReactNode }) => {\n return <LanesProvider>{children}</LanesProvider>;\n };\n\n registerRoute(route: RouteProps) {\n this.routeSlot.register(route);\n return this;\n }\n\n /**\n * register a new line beneath the lane overview section.\n */\n registerOverviewLine(...lines: LaneOverviewLine[]) {\n this.overviewSlot.register(lines);\n return this;\n }\n\n registerNavigation(routes: LanesNavPlugin[]) {\n this.navSlot.register(routes);\n }\n\n static async provider(\n [uiUi, componentUi, workspaceUi, scopeUi]: [UiUI, ComponentUI, WorkspaceUI, ScopeUI, SidebarUI],\n _,\n [routeSlot, overviewSlot, navSlot, menuWidgetSlot]: [\n RouteSlot,\n LaneOverviewLineSlot,\n LanesOrderedNavigationSlot,\n MenuWidgetSlot\n ],\n harmony: Harmony\n ) {\n const { config } = harmony;\n const host = String(config.get('teambit.harmony/bit'));\n let workspace: WorkspaceUI | undefined;\n let scope: ScopeUI | undefined;\n if (host === WorkspaceAspect.id) {\n workspace = workspaceUi;\n }\n if (host === ScopeAspect.id) {\n scope = scopeUi;\n }\n const lanesUi = new LanesUI(componentUi, routeSlot, navSlot, overviewSlot, menuWidgetSlot, workspace, scope);\n if (uiUi) uiUi.registerRenderHooks({ reactContext: lanesUi.renderContext });\n lanesUi.registerRoutes();\n lanesUi.registerMenuWidget(() => {\n const { lanesModel } = useLanes();\n if (!lanesModel?.viewedLane) return null;\n const { viewedLane, currentLane } = lanesModel;\n return <UseLaneMenu host={lanesUi.lanesHost} viewedLaneId={viewedLane.id} currentLaneId={currentLane?.id} />;\n });\n lanesUi.registerLanesDropdown();\n return lanesUi;\n }\n}\n\nexport default LanesUI;\n\nLanesAspect.addRuntime(LanesUI);\n"],"mappings":"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"}
|