@teambit/lanes 0.0.390 → 0.0.393

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.
@@ -3,12 +3,13 @@ import { RouteProps } from 'react-router-dom';
3
3
  import { Harmony } from '@teambit/harmony';
4
4
  import { UiUI } from '@teambit/ui';
5
5
  import { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';
6
- import { LanesOrderedNavigationSlot, LaneOverviewLineSlot, LaneOverviewLine, LanesNavPlugin } from '@teambit/lanes.ui.lanes';
7
6
  import { ScopeUI } from '@teambit/scope';
8
7
  import { WorkspaceUI } from '@teambit/workspace';
9
8
  import { ComponentUI } from '@teambit/component';
10
9
  import { SidebarUI } from '@teambit/sidebar';
11
10
  import { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';
11
+ import { LaneOverviewLine, LaneOverviewLineSlot } from '@teambit/lanes.ui.gallery';
12
+ import { LanesNavPlugin, LanesOrderedNavigationSlot } from '@teambit/lanes.ui.menus';
12
13
  export declare class LanesUI {
13
14
  private componentUi;
14
15
  private routeSlot;
@@ -71,16 +71,6 @@ function _lanes() {
71
71
  return data;
72
72
  }
73
73
 
74
- function _lanesUi() {
75
- const data = require("@teambit/lanes.ui.lanes");
76
-
77
- _lanesUi = function () {
78
- return data;
79
- };
80
-
81
- return data;
82
- }
83
-
84
74
  function _designUiPages() {
85
75
  const data = require("@teambit/design.ui.pages.not-found");
86
76
 
@@ -131,6 +121,76 @@ function _sidebar() {
131
121
  return data;
132
122
  }
133
123
 
124
+ function _lanesUi() {
125
+ const data = require("@teambit/lanes.ui.gallery");
126
+
127
+ _lanesUi = function () {
128
+ return data;
129
+ };
130
+
131
+ return data;
132
+ }
133
+
134
+ function _lanesUi2() {
135
+ const data = require("@teambit/lanes.ui.menus");
136
+
137
+ _lanesUi2 = function () {
138
+ return data;
139
+ };
140
+
141
+ return data;
142
+ }
143
+
144
+ function _lanesUi3() {
145
+ const data = require("@teambit/lanes.ui.models");
146
+
147
+ _lanesUi3 = function () {
148
+ return data;
149
+ };
150
+
151
+ return data;
152
+ }
153
+
154
+ function _lanesUi4() {
155
+ const data = require("@teambit/lanes.ui.readme");
156
+
157
+ _lanesUi4 = function () {
158
+ return data;
159
+ };
160
+
161
+ return data;
162
+ }
163
+
164
+ function _lanesHooks() {
165
+ const data = require("@teambit/lanes.hooks.use-lanes");
166
+
167
+ _lanesHooks = function () {
168
+ return data;
169
+ };
170
+
171
+ return data;
172
+ }
173
+
174
+ function _lanesUi5() {
175
+ const data = require("@teambit/lanes.ui.viewed-lane");
176
+
177
+ _lanesUi5 = function () {
178
+ return data;
179
+ };
180
+
181
+ return data;
182
+ }
183
+
184
+ function _lanesUi6() {
185
+ const data = require("@teambit/lanes.ui.drawer");
186
+
187
+ _lanesUi6 = function () {
188
+ return data;
189
+ };
190
+
191
+ return data;
192
+ }
193
+
134
194
  class LanesUI {
135
195
  constructor(componentUi, routeSlot, navSlot, menuWidgetSlot,
136
196
  /**
@@ -150,7 +210,7 @@ class LanesUI {
150
210
  (0, _defineProperty2().default)(this, "renderContext", ({
151
211
  children
152
212
  }) => {
153
- return /*#__PURE__*/_react().default.createElement(_lanesUi().ViewedLaneFromUrl, null, children);
213
+ return /*#__PURE__*/_react().default.createElement(_lanesUi5().ViewedLaneFromUrl, null, children);
154
214
  });
155
215
  this.hostAspect = workspace || scope;
156
216
  this.lanesHost = workspace ? 'workspace' : 'scope';
@@ -165,12 +225,12 @@ class LanesUI {
165
225
 
166
226
  getLaneRoutes() {
167
227
  return [{
168
- path: _lanesUi().LanesModel.lanesPrefix,
228
+ path: _lanesUi3().LanesModel.lanesPrefix,
169
229
  children: /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, /*#__PURE__*/_react().default.createElement(_reactRouterDom().Route, {
170
- path: _lanesUi().LanesModel.lanePath
230
+ path: _lanesUi3().LanesModel.lanePath
171
231
  }, /*#__PURE__*/_react().default.createElement(_reactRouterDom().Route, {
172
232
  index: true,
173
- element: /*#__PURE__*/_react().default.createElement(_lanesUi().LaneReadmeOverview, {
233
+ element: /*#__PURE__*/_react().default.createElement(_lanesUi4().LaneReadmeOverview, {
174
234
  host: this.host,
175
235
  overviewSlot: this.overviewSlot,
176
236
  routeSlot: this.routeSlot
@@ -201,9 +261,9 @@ class LanesUI {
201
261
 
202
262
  getMenuRoutes() {
203
263
  return [{
204
- path: _lanesUi().LanesModel.lanesPrefix,
264
+ path: _lanesUi3().LanesModel.lanesPrefix,
205
265
  children: /*#__PURE__*/_react().default.createElement(_reactRouterDom().Route, {
206
- path: `${_lanesUi().LanesModel.lanePath}/*`
266
+ path: `${_lanesUi3().LanesModel.lanePath}/*`
207
267
  }, /*#__PURE__*/_react().default.createElement(_reactRouterDom().Route, {
208
268
  path: "*",
209
269
  element: this.getLanesOverviewMenu()
@@ -215,7 +275,7 @@ class LanesUI {
215
275
  }
216
276
 
217
277
  getLanesOverviewMenu() {
218
- return /*#__PURE__*/_react().default.createElement(_lanesUi().LanesOverviewMenu, {
278
+ return /*#__PURE__*/_react().default.createElement(_lanesUi2().LanesOverviewMenu, {
219
279
  navigationSlot: this.navSlot,
220
280
  widgetSlot: this.menuWidgetSlot
221
281
  });
@@ -234,10 +294,12 @@ class LanesUI {
234
294
  },
235
295
  order: 1,
236
296
  hide: () => {
237
- var _lanesContext$viewedL;
297
+ var _lanesModel$viewedLan;
238
298
 
239
- const lanesContext = (0, _lanesUi().useLanesContext)();
240
- return !(lanesContext !== null && lanesContext !== void 0 && (_lanesContext$viewedL = lanesContext.viewedLane) !== null && _lanesContext$viewedL !== void 0 && _lanesContext$viewedL.readmeComponent);
299
+ const {
300
+ lanesModel
301
+ } = (0, _lanesHooks().useLanes)();
302
+ return !(lanesModel !== null && lanesModel !== void 0 && (_lanesModel$viewedLan = lanesModel.viewedLane) !== null && _lanesModel$viewedLan !== void 0 && _lanesModel$viewedLan.readmeComponent);
241
303
  }
242
304
  }, {
243
305
  props: {
@@ -292,14 +354,26 @@ class LanesUI {
292
354
  if (uiUi) uiUi.registerRenderHooks({
293
355
  reactContext: lanesUi.renderContext
294
356
  });
295
- const drawer = new (_lanesUi().LanesDrawer)({
357
+ const drawer = new (_lanesUi6().LanesDrawer)({
296
358
  showScope: lanesUi.lanesHost === 'workspace'
297
359
  });
298
360
  sidebarUi.registerDrawer(drawer);
299
361
  lanesUi.registerRoutes();
300
- lanesUi.registerMenuWidget(() => /*#__PURE__*/_react().default.createElement(_lanesUi().UseLaneMenu, {
301
- host: lanesUi.lanesHost
302
- }));
362
+ lanesUi.registerMenuWidget(() => {
363
+ const {
364
+ lanesModel
365
+ } = (0, _lanesHooks().useLanes)();
366
+ if (!(lanesModel !== null && lanesModel !== void 0 && lanesModel.viewedLane)) return null;
367
+ const {
368
+ viewedLane,
369
+ currentLane
370
+ } = lanesModel;
371
+ return /*#__PURE__*/_react().default.createElement(_lanesUi2().UseLaneMenu, {
372
+ host: lanesUi.lanesHost,
373
+ viewedLane: viewedLane,
374
+ currentLane: currentLane
375
+ });
376
+ });
303
377
  return lanesUi;
304
378
  }
305
379
 
@@ -1 +1 @@
1
- {"version":3,"names":["LanesUI","constructor","componentUi","routeSlot","navSlot","menuWidgetSlot","overviewSlot","workspace","scope","children","hostAspect","lanesHost","host","WorkspaceAspect","id","ScopeAspect","registerHostAspectRoutes","registerRoutes","getLaneRoutes","registerMenuRoutes","getMenuRoutes","path","LanesModel","lanesPrefix","lanePath","getLaneGallery","getComponentUI","getLanesOverviewMenu","getMenu","registerMenuWidget","menuItems","register","registerLanesRoutes","registerNavigation","props","href","exact","order","hide","lanesContext","useLanesContext","viewedLane","readmeComponent","registerRoute","route","registerOverviewLine","lines","routes","provider","uiUi","workspaceUi","scopeUi","sidebarUi","_","harmony","config","String","get","lanesUi","registerRenderHooks","reactContext","renderContext","drawer","LanesDrawer","showScope","registerDrawer","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 {\n LanesDrawer,\n LanesHost,\n LaneGallery,\n LanesOrderedNavigationSlot,\n LanesModel,\n LanesOverviewMenu,\n ViewedLaneFromUrl,\n LaneOverviewLineSlot,\n LaneOverviewLine,\n UseLaneMenu,\n useLanesContext,\n LanesNavPlugin,\n LaneReadmeOverview,\n} from '@teambit/lanes.ui.lanes';\nimport { NotFoundPage } from '@teambit/design.ui.pages.not-found';\nimport ScopeAspect, { ScopeUI } from '@teambit/scope';\nimport WorkspaceAspect, { WorkspaceUI } from '@teambit/workspace';\nimport ComponentAspect, { ComponentUI } from '@teambit/component';\nimport SidebarAspect, { SidebarUI } from '@teambit/sidebar';\nimport { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\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\n index\n element={\n <LaneReadmeOverview host={this.host} overviewSlot={this.overviewSlot} routeSlot={this.routeSlot} />\n }\n />\n <Route\n path=\"~gallery\"\n element={this.getLaneGallery()}\n />\n <Route path=\"~component/*\" element={this.componentUi.getComponentUI(this.host)} />\n <Route path=\"*\" element={<NotFoundPage />} />\n </Route>\n <Route path=\"*\" element={<NotFoundPage />} />\n </>\n ),\n },\n ];\n }\n\n getLaneGallery() {\n return <LaneGallery 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\n path=\"*\"\n element={this.getLanesOverviewMenu()}\n />\n <Route path=\"~component/*\" element={this.componentUi.getMenu(this.host)} />\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 lanesContext = useLanesContext();\n return !lanesContext?.viewedLane?.readmeComponent;\n },\n },\n {\n props: {\n href: '~gallery',\n children: 'Gallery',\n exact: true,\n },\n order: 1,\n },\n ]);\n }\n\n private registerRoutes() {\n this.registerHostAspectRoutes();\n this.registerLanesRoutes();\n }\n\n private renderContext = ({ children }: { children: ReactNode }) => {\n return <ViewedLaneFromUrl>{children}</ViewedLaneFromUrl>;\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, sidebarUi]: [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 const drawer = new LanesDrawer({ showScope: lanesUi.lanesHost === 'workspace' });\n sidebarUi.registerDrawer(drawer);\n lanesUi.registerRoutes();\n lanesUi.registerMenuWidget(() => <UseLaneMenu host={lanesUi.lanesHost} />);\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","children","hostAspect","lanesHost","host","WorkspaceAspect","id","ScopeAspect","registerHostAspectRoutes","registerRoutes","getLaneRoutes","registerMenuRoutes","getMenuRoutes","path","LanesModel","lanesPrefix","lanePath","getLaneGallery","getComponentUI","getLanesOverviewMenu","getMenu","registerMenuWidget","menuItems","register","registerLanesRoutes","registerNavigation","props","href","exact","order","hide","lanesModel","useLanes","viewedLane","readmeComponent","registerRoute","route","registerOverviewLine","lines","routes","provider","uiUi","workspaceUi","scopeUi","sidebarUi","_","harmony","config","String","get","lanesUi","registerRenderHooks","reactContext","renderContext","drawer","LanesDrawer","showScope","registerDrawer","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, { ComponentUI } from '@teambit/component';\nimport SidebarAspect, { SidebarUI } from '@teambit/sidebar';\nimport { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';\nimport { LaneGallery, LaneOverviewLine, LaneOverviewLineSlot } from '@teambit/lanes.ui.gallery';\nimport { LanesNavPlugin, LanesOrderedNavigationSlot, LanesOverviewMenu, UseLaneMenu } from '@teambit/lanes.ui.menus';\nimport { LanesHost, LanesModel } from '@teambit/lanes.ui.models';\nimport { LaneReadmeOverview } from '@teambit/lanes.ui.readme';\nimport { useLanes } from '@teambit/lanes.hooks.use-lanes';\nimport { ViewedLaneFromUrl } from '@teambit/lanes.ui.viewed-lane';\nimport { LanesDrawer } from '@teambit/lanes.ui.drawer';\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\n index\n element={\n <LaneReadmeOverview host={this.host} overviewSlot={this.overviewSlot} routeSlot={this.routeSlot} />\n }\n />\n <Route path=\"~gallery\" element={this.getLaneGallery()} />\n <Route path=\"~component/*\" element={this.componentUi.getComponentUI(this.host)} />\n <Route path=\"*\" element={<NotFoundPage />} />\n </Route>\n <Route path=\"*\" element={<NotFoundPage />} />\n </>\n ),\n },\n ];\n }\n\n getLaneGallery() {\n return <LaneGallery 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.componentUi.getMenu(this.host)} />\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: '~gallery',\n children: 'Gallery',\n exact: true,\n },\n order: 1,\n },\n ]);\n }\n\n private registerRoutes() {\n this.registerHostAspectRoutes();\n this.registerLanesRoutes();\n }\n\n private renderContext = ({ children }: { children: ReactNode }) => {\n return <ViewedLaneFromUrl>{children}</ViewedLaneFromUrl>;\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, sidebarUi]: [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 const drawer = new LanesDrawer({ showScope: lanesUi.lanesHost === 'workspace' });\n sidebarUi.registerDrawer(drawer);\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} viewedLane={viewedLane} currentLane={currentLane} />;\n });\n\n return lanesUi;\n }\n}\n\nexport default LanesUI;\n\nLanesAspect.addRuntime(LanesUI);\n"],"mappings":"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"}
@@ -4,27 +4,19 @@ import { Slot, Harmony } from '@teambit/harmony';
4
4
  import { UIRuntime, UiUI, UIAspect } from '@teambit/ui';
5
5
  import { LanesAspect } from '@teambit/lanes';
6
6
  import { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';
7
- import {
8
- LanesDrawer,
9
- LanesHost,
10
- LaneGallery,
11
- LanesOrderedNavigationSlot,
12
- LanesModel,
13
- LanesOverviewMenu,
14
- ViewedLaneFromUrl,
15
- LaneOverviewLineSlot,
16
- LaneOverviewLine,
17
- UseLaneMenu,
18
- useLanesContext,
19
- LanesNavPlugin,
20
- LaneReadmeOverview,
21
- } from '@teambit/lanes.ui.lanes';
22
7
  import { NotFoundPage } from '@teambit/design.ui.pages.not-found';
23
8
  import ScopeAspect, { ScopeUI } from '@teambit/scope';
24
9
  import WorkspaceAspect, { WorkspaceUI } from '@teambit/workspace';
25
10
  import ComponentAspect, { ComponentUI } from '@teambit/component';
26
11
  import SidebarAspect, { SidebarUI } from '@teambit/sidebar';
27
12
  import { MenuWidget, MenuWidgetSlot } from '@teambit/ui-foundation.ui.menu';
13
+ import { LaneGallery, LaneOverviewLine, LaneOverviewLineSlot } from '@teambit/lanes.ui.gallery';
14
+ import { LanesNavPlugin, LanesOrderedNavigationSlot, LanesOverviewMenu, UseLaneMenu } from '@teambit/lanes.ui.menus';
15
+ import { LanesHost, LanesModel } from '@teambit/lanes.ui.models';
16
+ import { LaneReadmeOverview } from '@teambit/lanes.ui.readme';
17
+ import { useLanes } from '@teambit/lanes.hooks.use-lanes';
18
+ import { ViewedLaneFromUrl } from '@teambit/lanes.ui.viewed-lane';
19
+ import { LanesDrawer } from '@teambit/lanes.ui.drawer';
28
20
 
29
21
  export class LanesUI {
30
22
  static dependencies = [UIAspect, ComponentAspect, WorkspaceAspect, ScopeAspect, SidebarAspect];
@@ -76,10 +68,7 @@ export class LanesUI {
76
68
  <LaneReadmeOverview host={this.host} overviewSlot={this.overviewSlot} routeSlot={this.routeSlot} />
77
69
  }
78
70
  />
79
- <Route
80
- path="~gallery"
81
- element={this.getLaneGallery()}
82
- />
71
+ <Route path="~gallery" element={this.getLaneGallery()} />
83
72
  <Route path="~component/*" element={this.componentUi.getComponentUI(this.host)} />
84
73
  <Route path="*" element={<NotFoundPage />} />
85
74
  </Route>
@@ -100,10 +89,7 @@ export class LanesUI {
100
89
  path: LanesModel.lanesPrefix,
101
90
  children: (
102
91
  <Route path={`${LanesModel.lanePath}/*`}>
103
- <Route
104
- path="*"
105
- element={this.getLanesOverviewMenu()}
106
- />
92
+ <Route path="*" element={this.getLanesOverviewMenu()} />
107
93
  <Route path="~component/*" element={this.componentUi.getMenu(this.host)} />
108
94
  </Route>
109
95
  ),
@@ -129,8 +115,8 @@ export class LanesUI {
129
115
  },
130
116
  order: 1,
131
117
  hide: () => {
132
- const lanesContext = useLanesContext();
133
- return !lanesContext?.viewedLane?.readmeComponent;
118
+ const { lanesModel } = useLanes();
119
+ return !lanesModel?.viewedLane?.readmeComponent;
134
120
  },
135
121
  },
136
122
  {
@@ -196,7 +182,13 @@ export class LanesUI {
196
182
  const drawer = new LanesDrawer({ showScope: lanesUi.lanesHost === 'workspace' });
197
183
  sidebarUi.registerDrawer(drawer);
198
184
  lanesUi.registerRoutes();
199
- lanesUi.registerMenuWidget(() => <UseLaneMenu host={lanesUi.lanesHost} />);
185
+ lanesUi.registerMenuWidget(() => {
186
+ const { lanesModel } = useLanes();
187
+ if (!lanesModel?.viewedLane) return null;
188
+ const { viewedLane, currentLane } = lanesModel;
189
+ return <UseLaneMenu host={lanesUi.lanesHost} viewedLane={viewedLane} currentLane={currentLane} />;
190
+ });
191
+
200
192
  return lanesUi;
201
193
  }
202
194
  }
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/lanes",
3
- "version": "0.0.390",
3
+ "version": "0.0.393",
4
4
  "homepage": "https://bit.dev/teambit/lanes/lanes",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.lanes",
8
8
  "name": "lanes",
9
- "version": "0.0.390"
9
+ "version": "0.0.393"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -18,23 +18,29 @@
18
18
  "core-js": "^3.0.0",
19
19
  "@teambit/harmony": "0.3.3",
20
20
  "@teambit/bit-error": "0.0.394",
21
- "@teambit/lane-id": "0.0.65",
22
- "@teambit/cli": "0.0.546",
23
- "@teambit/merging": "0.0.133",
24
- "@teambit/scope": "0.0.818",
25
- "@teambit/workspace": "0.0.818",
26
- "@teambit/graphql": "0.0.818",
27
- "@teambit/community": "0.0.94",
28
- "@teambit/component": "0.0.818",
29
- "@teambit/lanes.modules.diff": "0.0.175",
21
+ "@teambit/lane-id": "0.0.68",
22
+ "@teambit/cli": "0.0.549",
23
+ "@teambit/merging": "0.0.136",
24
+ "@teambit/scope": "0.0.821",
25
+ "@teambit/workspace": "0.0.821",
26
+ "@teambit/graphql": "0.0.821",
27
+ "@teambit/community": "0.0.97",
28
+ "@teambit/component": "0.0.821",
29
+ "@teambit/lanes.modules.diff": "0.0.178",
30
30
  "@teambit/legacy-bit-id": "0.0.402",
31
- "@teambit/logger": "0.0.639",
32
- "@teambit/design.ui.pages.not-found": "0.0.356",
33
- "@teambit/lanes.ui.lanes": "0.0.115",
34
- "@teambit/sidebar": "0.0.818",
31
+ "@teambit/logger": "0.0.642",
32
+ "@teambit/design.ui.pages.not-found": "0.0.357",
33
+ "@teambit/lanes.hooks.use-lanes": "0.0.2",
34
+ "@teambit/lanes.ui.drawer": "0.0.2",
35
+ "@teambit/lanes.ui.gallery": "0.0.2",
36
+ "@teambit/lanes.ui.menus": "0.0.2",
37
+ "@teambit/lanes.ui.models": "0.0.2",
38
+ "@teambit/lanes.ui.readme": "0.0.2",
39
+ "@teambit/lanes.ui.viewed-lane": "0.0.2",
40
+ "@teambit/sidebar": "0.0.821",
35
41
  "@teambit/ui-foundation.ui.menu": "0.0.487",
36
42
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.490",
37
- "@teambit/ui": "0.0.818",
43
+ "@teambit/ui": "0.0.821",
38
44
  "@teambit/component-id": "0.0.405"
39
45
  },
40
46
  "devDependencies": {
@@ -51,7 +57,7 @@
51
57
  },
52
58
  "peerDependencies": {
53
59
  "react-router-dom": "^6.0.0",
54
- "@teambit/legacy": "1.0.329",
60
+ "@teambit/legacy": "1.0.332",
55
61
  "react-dom": "^16.8.0 || ^17.0.0",
56
62
  "react": "^16.8.0 || ^17.0.0"
57
63
  },
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.390/dist/lanes.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.390/dist/lanes.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.393/dist/lanes.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@0.0.393/dist/lanes.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];