@teambit/lanes 1.0.34 → 1.0.36
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/lanes.ui.runtime.js
CHANGED
@@ -201,20 +201,12 @@ function useLaneComponentIdFromUrl() {
|
|
201
201
|
const compIdFromLocation = _component().ComponentID.tryFromString(`${idFromLocation}${componentVersion ? `@${componentVersion}` : ''}`);
|
202
202
|
if (compIdFromLocation) return compIdFromLocation;
|
203
203
|
if (loading) return undefined;
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
// }
|
210
|
-
|
211
|
-
// const laneComponentId =
|
212
|
-
// idFromLocation && !laneFromUrl?.isDefault()
|
213
|
-
// ? lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) ?? null
|
214
|
-
// : null;
|
215
|
-
// return loading ? undefined : laneComponentId;
|
204
|
+
const lanesComp = (lanesModel === null || lanesModel === void 0 ? void 0 : lanesModel.resolveComponentFromUrl(idFromLocation, laneFromUrl)) ?? null;
|
205
|
+
if (componentVersion) {
|
206
|
+
return lanesComp === null || lanesComp === void 0 ? void 0 : lanesComp.changeVersion(componentVersion);
|
207
|
+
}
|
208
|
+
return lanesComp;
|
216
209
|
}
|
217
|
-
|
218
210
|
function useComponentId() {
|
219
211
|
var _useLaneComponentIdFr;
|
220
212
|
return (_useLaneComponentIdFr = useLaneComponentIdFromUrl()) === null || _useLaneComponentIdFr === void 0 ? void 0 : _useLaneComponentIdFr.toString();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_harmony","_lanesUiCompare","_ui","_lanes","_designUiPages","_scope","_workspace","_interopRequireDefault","_component","_lanesUi","_lanesUiMenus","_uiFoundationUiReactRouter","_lanesUiMenus2","_lanesUiModels","_lanesHooks","_lanesUiNavigation","_lanesHooks2","_componentCompare","_lanesUiCompare2","_scopeUi","_lanesUiModule","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_defineProperty","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","useComponentFilters","idFromLocation","useIdFromLocation","lanesModel","loading","useLanes","laneFromUrl","useViewedLaneFromUrl","laneComponentId","isDefault","resolveComponentFromUrl","log","head","version","useLaneComponentIdFromUrl","query","useQuery","componentVersion","compIdFromLocation","ComponentID","tryFromString","useComponentId","_useLaneComponentIdFr","toString","LanesUI","constructor","componentUI","componentCompareUI","routeSlot","navSlot","menuWidgetSlot","overviewSlot","laneProviderIgnoreSlot","workspace","scope","children","ignoreFns","values","createElement","LanesProvider","ignoreDerivingFromUrl","props","tabs","base","compare","LaneCompare","host","hostAspect","lanesHost","WorkspaceAspect","id","ScopeAspect","registerHostAspectRoutes","registerRoutes","getLaneRoutes","registerMenuRoutes","getMenuRoutes","path","LanesModel","lanesPrefix","Fragment","Route","lanePath","index","element","getLaneOverview","getLaneComponent","getLanesComparePage","NotFoundPage","overrideComputeLaneUrl","fn","prefix","getLaneComponentUrl","getLaneIdFromPathname","getLaneUrl","getComponentUI","componentId","getLaneComponentMenu","getMenu","LaneOverview","LaneComparePage","getLaneCompare","groupByScope","getLanesOverviewMenu","LanesOverviewMenu","navigationSlot","widgetSlot","registerMenuWidget","menuItems","register","registerLaneProviderIgnoreSlot","ignoreFn","registerLanesRoutes","registerNavigation","href","exact","order","hide","viewedLane","lanes","getLanesSwitcher","mainIcon","useContext","ScopeContext","ScopeIcon","size","scopeImage","icon","bgColor","backgroundIconColor","className","styles","mainLaneIcon","LanesSwitcher","LaneSwitcher","getLanesProvider","getUseLanes","registerLanesDropdown","_this$hostAspect","registerSidebarLink","component","Gallery","weight","registerRoute","route","registerOverviewLine","lines","routes","provider","uiUi","workspaceUi","scopeUi","_","harmony","config","lanesUi","registerRenderHooks","reactContext","renderContext","currentLane","UseLaneMenu","actionName","actionIcon","viewedLaneId","currentLaneId","exports","UIAspect","ComponentAspect","ComponentCompareAspect","UIRuntime","Slot","withType","_default","LanesAspect","addRuntime"],"sources":["lanes.ui.runtime.tsx"],"sourcesContent":["import React, { ReactNode, useContext } from 'react';\nimport { Route, RouteProps } from 'react-router-dom';\nimport { Slot, Harmony, SlotRegistry } from '@teambit/harmony';\nimport { LaneCompare, LaneCompareProps as DefaultLaneCompareProps } from '@teambit/lanes.ui.compare.lane-compare';\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, { ScopeContext, ScopeUI } from '@teambit/scope';\nimport WorkspaceAspect, { WorkspaceUI } from '@teambit/workspace';\nimport ComponentAspect, { ComponentUI, useIdFromLocation, ComponentID } from '@teambit/component';\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 { useQuery } from '@teambit/ui-foundation.ui.react-router.use-query';\nimport { UseLaneMenu } from '@teambit/lanes.ui.menus.use-lanes-menu';\nimport { LanesHost, LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { LanesProvider, useLanes, IgnoreDerivingFromUrl } 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';\nimport { ComponentCompareAspect, ComponentCompareUI } from '@teambit/component-compare';\nimport { LaneComparePage } from '@teambit/lanes.ui.compare.lane-compare-page';\nimport { ScopeIcon } from '@teambit/scope.ui.scope-icon';\n\nimport styles from './lanes.ui.module.scss';\n\nexport type LaneCompareProps = Partial<DefaultLaneCompareProps>;\nexport type LaneProviderIgnoreSlot = SlotRegistry<IgnoreDerivingFromUrl>;\nexport function useComponentFilters() {\n const idFromLocation = useIdFromLocation();\n const { lanesModel, loading } = useLanes();\n const laneFromUrl = useViewedLaneFromUrl();\n const laneComponentId =\n idFromLocation && !laneFromUrl?.isDefault()\n ? lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) ?? null\n : null;\n\n if (laneComponentId === null || loading) {\n return {\n loading: true,\n };\n }\n\n return {\n loading: false,\n log: {\n head: laneComponentId.version,\n },\n };\n}\n\nexport function useLaneComponentIdFromUrl(): ComponentID | undefined | null {\n const idFromLocation = useIdFromLocation();\n const { lanesModel, loading } = useLanes();\n const laneFromUrl = useViewedLaneFromUrl();\n const query = useQuery();\n const componentVersion = query.get('version');\n\n if (!idFromLocation) return null;\n\n const compIdFromLocation = ComponentID.tryFromString(\n `${idFromLocation}${componentVersion ? `@${componentVersion}` : ''}`\n );\n\n if (compIdFromLocation) return compIdFromLocation;\n if (loading) return undefined;\n\n return (lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) as any | undefined) ?? null;\n\n // if (componentVersion && laneFromUrl) {\n // const componentId = ComponentID.tryFromString(`${idFromLocation}@${componentVersion}`);\n // return componentId;\n // }\n\n // const laneComponentId =\n // idFromLocation && !laneFromUrl?.isDefault()\n // ? lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) ?? null\n // : null;\n // return loading ? undefined : laneComponentId;\n}\n\nexport function useComponentId() {\n return useLaneComponentIdFromUrl()?.toString();\n}\n\nexport class LanesUI {\n static dependencies = [UIAspect, ComponentAspect, WorkspaceAspect, ScopeAspect, ComponentCompareAspect];\n\n static runtime = UIRuntime;\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<LaneOverviewLineSlot>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<MenuWidgetSlot>(),\n Slot.withType<LaneProviderIgnoreSlot>(),\n ];\n\n constructor(\n private componentUI: ComponentUI,\n private componentCompareUI: ComponentCompareUI,\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 laneProviderIgnoreSlot: LaneProviderIgnoreSlot,\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=\"~compare/*\" element={this.getLanesComparePage()} />\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 as any;\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 getLaneComponent() {\n return this.componentUI.getComponentUI(this.host, {\n componentId: useComponentId,\n useComponentFilters,\n });\n }\n\n getLaneComponentMenu() {\n return this.componentUI.getMenu(this.host, {\n componentId: useComponentId,\n useComponentFilters,\n });\n }\n\n getLaneOverview() {\n return (\n <LaneOverview\n routeSlot={this.routeSlot}\n overviewSlot={this.overviewSlot}\n host={this.lanesHost}\n useLanes={useLanes}\n />\n );\n }\n\n getLanesComparePage() {\n return <LaneComparePage getLaneCompare={this.getLaneCompare} groupByScope={this.lanesHost === 'workspace'} />;\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 return this;\n }\n\n registerLaneProviderIgnoreSlot(ignoreFn: IgnoreDerivingFromUrl) {\n this.laneProviderIgnoreSlot.register(ignoreFn);\n return this;\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 props: {\n href: '~compare',\n children: 'Compare',\n },\n order: 2,\n hide: () => {\n const { lanesModel } = useLanes();\n return !lanesModel?.viewedLane || lanesModel?.lanes.length < 2;\n },\n },\n ]);\n }\n\n private registerRoutes() {\n this.registerHostAspectRoutes();\n this.registerLanesRoutes();\n }\n\n getLanesSwitcher() {\n const mainIcon = () => {\n const scope = useContext(ScopeContext);\n return (\n <ScopeIcon\n size={24}\n scopeImage={scope.icon}\n bgColor={scope.backgroundIconColor}\n className={styles.mainLaneIcon}\n />\n );\n };\n\n const LanesSwitcher = (\n <LaneSwitcher\n groupByScope={this.lanesHost === 'workspace'}\n mainIcon={this.lanesHost === 'scope' ? mainIcon : undefined}\n useLanes={useLanes}\n />\n );\n\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 const ignoreFns = this.laneProviderIgnoreSlot.values();\n\n return <LanesProvider ignoreDerivingFromUrl={ignoreFns}>{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 getLaneCompare = (props: LaneCompareProps) => {\n const tabs = this.componentCompareUI.tabs;\n\n if (!props.base || !props.compare) return null;\n\n return (\n <LaneCompare\n {...props}\n base={props.base}\n compare={props.compare}\n host={props.host || this.host}\n tabs={props.tabs || tabs}\n />\n );\n };\n\n static async provider(\n [uiUi, componentUI, workspaceUi, scopeUi, componentCompareUI]: [\n UiUI,\n ComponentUI,\n WorkspaceUI,\n ScopeUI,\n ComponentCompareUI\n ],\n _,\n [routeSlot, overviewSlot, navSlot, menuWidgetSlot, laneProviderIgnoreSlot]: [\n RouteSlot,\n LaneOverviewLineSlot,\n LanesOrderedNavigationSlot,\n MenuWidgetSlot,\n LaneProviderIgnoreSlot\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(\n componentUI,\n componentCompareUI,\n routeSlot,\n navSlot,\n overviewSlot,\n menuWidgetSlot,\n laneProviderIgnoreSlot,\n workspace,\n scope\n );\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 (\n <UseLaneMenu\n actionName={'Import'}\n actionIcon={'terminal'}\n host={lanesUi.lanesHost}\n viewedLaneId={viewedLane.id}\n currentLaneId={currentLane?.id}\n />\n );\n });\n lanesUi.registerLanesDropdown();\n return lanesUi;\n }\n}\n\nexport default LanesUI;\n\nLanesAspect.addRuntime(LanesUI);\n"],"mappings":";;;;;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,uBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,gBAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,SAAA;EAAA,MAAAJ,IAAA,GAAAE,OAAA;EAAAE,QAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,gBAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,eAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,IAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,GAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,OAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,MAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAQ,eAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,cAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAS,OAAA;EAAA,MAAAT,IAAA,GAAAC,uBAAA,CAAAC,OAAA;EAAAO,MAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,WAAA;EAAA,MAAAV,IAAA,GAAAW,sBAAA,CAAAT,OAAA;EAAAQ,UAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,WAAA;EAAA,MAAAZ,IAAA,GAAAC,uBAAA,CAAAC,OAAA;EAAAU,UAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAa,SAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,QAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAc,cAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,aAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAe,2BAAA;EAAA,MAAAf,IAAA,GAAAE,OAAA;EAAAa,0BAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAgB,eAAA;EAAA,MAAAhB,IAAA,GAAAE,OAAA;EAAAc,cAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,eAAA;EAAA,MAAAjB,IAAA,GAAAE,OAAA;EAAAe,cAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAkB,YAAA;EAAA,MAAAlB,IAAA,GAAAE,OAAA;EAAAgB,WAAA,YAAAA,CAAA;IAAA,OAAAlB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAmB,mBAAA;EAAA,MAAAnB,IAAA,GAAAE,OAAA;EAAAiB,kBAAA,YAAAA,CAAA;IAAA,OAAAnB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAoB,aAAA;EAAA,MAAApB,IAAA,GAAAE,OAAA;EAAAkB,YAAA,YAAAA,CAAA;IAAA,OAAApB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAqB,kBAAA;EAAA,MAAArB,IAAA,GAAAE,OAAA;EAAAmB,iBAAA,YAAAA,CAAA;IAAA,OAAArB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAsB,iBAAA;EAAA,MAAAtB,IAAA,GAAAE,OAAA;EAAAoB,gBAAA,YAAAA,CAAA;IAAA,OAAAtB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAuB,SAAA;EAAA,MAAAvB,IAAA,GAAAE,OAAA;EAAAqB,QAAA,YAAAA,CAAA;IAAA,OAAAvB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAwB,eAAA;EAAA,MAAAxB,IAAA,GAAAW,sBAAA,CAAAT,OAAA;EAAAsB,cAAA,YAAAA,CAAA;IAAA,OAAAxB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4C,SAAAW,uBAAAc,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAA5B,wBAAAwB,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,SAAA,IAAAA,QAAA,GAAAT,MAAA,CAAAU,MAAA,GAAAV,MAAA,CAAAU,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAV,GAAA,IAAAa,MAAA,QAAAhB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAU,MAAA,EAAAb,GAAA,KAAAS,MAAA,CAAAT,GAAA,IAAAa,MAAA,CAAAb,GAAA,gBAAAS,MAAA,YAAAH,QAAA,CAAAQ,KAAA,OAAAH,SAAA;AAAA,SAAAI,gBAAA/B,GAAA,EAAAgB,GAAA,EAAAgB,KAAA,IAAAhB,GAAA,GAAAiB,cAAA,CAAAjB,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAAgB,KAAA,EAAAA,KAAA,EAAAE,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAApC,GAAA,CAAAgB,GAAA,IAAAgB,KAAA,WAAAhC,GAAA;AAAA,SAAAiC,eAAAI,GAAA,QAAArB,GAAA,GAAAsB,YAAA,CAAAD,GAAA,2BAAArB,GAAA,gBAAAA,GAAA,GAAAuB,MAAA,CAAAvB,GAAA;AAAA,SAAAsB,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAvB,IAAA,CAAAqB,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAIrC,SAASS,mBAAmBA,CAAA,EAAG;EACpC,MAAMC,cAAc,GAAG,IAAAC,8BAAiB,EAAC,CAAC;EAC1C,MAAM;IAAEC,UAAU;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sBAAQ,EAAC,CAAC;EAC1C,MAAMC,WAAW,GAAG,IAAAC,mCAAoB,EAAC,CAAC;EAC1C,MAAMC,eAAe,GACnBP,cAAc,IAAI,EAACK,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEG,SAAS,CAAC,CAAC,IACvC,CAAAN,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEO,uBAAuB,CAACT,cAAc,EAAEK,WAAW,CAAC,KAAI,IAAI,GACxE,IAAI;EAEV,IAAIE,eAAe,KAAK,IAAI,IAAIJ,OAAO,EAAE;IACvC,OAAO;MACLA,OAAO,EAAE;IACX,CAAC;EACH;EAEA,OAAO;IACLA,OAAO,EAAE,KAAK;IACdO,GAAG,EAAE;MACHC,IAAI,EAAEJ,eAAe,CAACK;IACxB;EACF,CAAC;AACH;AAEO,SAASC,yBAAyBA,CAAA,EAAmC;EAC1E,MAAMb,cAAc,GAAG,IAAAC,8BAAiB,EAAC,CAAC;EAC1C,MAAM;IAAEC,UAAU;IAAEC;EAAQ,CAAC,GAAG,IAAAC,sBAAQ,EAAC,CAAC;EAC1C,MAAMC,WAAW,GAAG,IAAAC,mCAAoB,EAAC,CAAC;EAC1C,MAAMQ,KAAK,GAAG,IAAAC,qCAAQ,EAAC,CAAC;EACxB,MAAMC,gBAAgB,GAAGF,KAAK,CAACtD,GAAG,CAAC,SAAS,CAAC;EAE7C,IAAI,CAACwC,cAAc,EAAE,OAAO,IAAI;EAEhC,MAAMiB,kBAAkB,GAAGC,wBAAW,CAACC,aAAa,CACjD,GAAEnB,cAAe,GAAEgB,gBAAgB,GAAI,IAAGA,gBAAiB,EAAC,GAAG,EAAG,EACrE,CAAC;EAED,IAAIC,kBAAkB,EAAE,OAAOA,kBAAkB;EACjD,IAAId,OAAO,EAAE,OAAOR,SAAS;EAE7B,OAAO,CAACO,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEO,uBAAuB,CAACT,cAAc,EAAEK,WAAW,CAAC,KAAwB,IAAI;;EAEpG;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;AACF;;AAEO,SAASe,cAAcA,CAAA,EAAG;EAAA,IAAAC,qBAAA;EAC/B,QAAAA,qBAAA,GAAOR,yBAAyB,CAAC,CAAC,cAAAQ,qBAAA,uBAA3BA,qBAAA,CAA6BC,QAAQ,CAAC,CAAC;AAChD;AAEO,MAAMC,OAAO,CAAC;EAYnBC,WAAWA,CACDC,WAAwB,EACxBC,kBAAsC,EACtCC,SAAoB,EACpBC,OAAmC,EACnCC,cAA8B;EACtC;AACJ;AACA;EACYC,YAAkC,EAClCC,sBAA8C,EAC9CC,SAAuB,EACvBC,KAAe,EACvB;IAAA,KAZQR,WAAwB,GAAxBA,WAAwB;IAAA,KACxBC,kBAAsC,GAAtCA,kBAAsC;IAAA,KACtCC,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,OAAmC,GAAnCA,OAAmC;IAAA,KACnCC,cAA8B,GAA9BA,cAA8B;IAAA,KAI9BC,YAAkC,GAAlCA,YAAkC;IAAA,KAClCC,sBAA8C,GAA9CA,sBAA8C;IAAA,KAC9CC,SAAuB,GAAvBA,SAAuB;IAAA,KACvBC,KAAe,GAAfA,KAAe;IAAApD,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAsMD,CAAC;MAAEqD;IAAkC,CAAC,KAAK;MACjE,MAAMC,SAAS,GAAG,IAAI,CAACJ,sBAAsB,CAACK,MAAM,CAAC,CAAC;MAEtD,oBAAOhH,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC9F,WAAA,GAAA+F,aAAa;QAACC,qBAAqB,EAAEJ;MAAU,GAAED,QAAwB,CAAC;IACpF,CAAC;IAAArD,eAAA,yBAmBiB2D,KAAuB,IAAK;MAC5C,MAAMC,IAAI,GAAG,IAAI,CAACf,kBAAkB,CAACe,IAAI;MAEzC,IAAI,CAACD,KAAK,CAACE,IAAI,IAAI,CAACF,KAAK,CAACG,OAAO,EAAE,OAAO,IAAI;MAE9C,oBACEvH,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC3G,eAAA,GAAAkH,WAAW,EAAAxE,QAAA,KACNoE,KAAK;QACTE,IAAI,EAAEF,KAAK,CAACE,IAAK;QACjBC,OAAO,EAAEH,KAAK,CAACG,OAAQ;QACvBE,IAAI,EAAEL,KAAK,CAACK,IAAI,IAAI,IAAI,CAACA,IAAK;QAC9BJ,IAAI,EAAED,KAAK,CAACC,IAAI,IAAIA;MAAK,EAC1B,CAAC;IAEN,CAAC;IAzOC,IAAI,CAACK,UAAU,GAAGd,SAAS,IAAIC,KAAK;IACpC,IAAI,CAACc,SAAS,GAAGf,SAAS,GAAG,WAAW,GAAG,OAAO;IAClD,IAAI,CAACa,IAAI,GAAGb,SAAS,GAAGgB,oBAAe,CAACC,EAAE,GAAGC,gBAAW,CAACD,EAAE;EAC7D;EAMQE,wBAAwBA,CAAA,EAAG;IACjC,IAAI,CAAC,IAAI,CAACL,UAAU,EAAE;IACtB,IAAI,CAACA,UAAU,CAACM,cAAc,CAAC,IAAI,CAACC,aAAa,CAAC,CAAC,CAAC;IACpD,IAAI,CAACP,UAAU,CAACQ,kBAAkB,CAAC,IAAI,CAACC,aAAa,CAAC,CAAC,CAAC;EAC1D;EAEAF,aAAaA,CAAA,EAAG;IACd,OAAO,CACL;MACEG,IAAI,EAAEC,2BAAU,CAACC,WAAW;MAC5BxB,QAAQ,eACN9G,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAAjH,MAAA,GAAA4B,OAAA,CAAA2G,QAAA,qBACEvI,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC7G,eAAA,GAAAoI,KAAK;QAACJ,IAAI,EAAEC,2BAAU,CAACI;MAAS,gBAC/BzI,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC7G,eAAA,GAAAoI,KAAK;QAACE,KAAK;QAACC,OAAO,EAAE,IAAI,CAACC,eAAe,CAAC;MAAE,CAAE,CAAC,eAChD5I,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC7G,eAAA,GAAAoI,KAAK;QAACJ,IAAI,EAAC,cAAc;QAACO,OAAO,EAAE,IAAI,CAACE,gBAAgB,CAAC;MAAE,CAAE,CAAC,eAC/D7I,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC7G,eAAA,GAAAoI,KAAK;QAACJ,IAAI,EAAC,YAAY;QAACO,OAAO,EAAE,IAAI,CAACG,mBAAmB,CAAC;MAAE,CAAE,CAAC,eAChE9I,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC7G,eAAA,GAAAoI,KAAK;QAACJ,IAAI,EAAC,GAAG;QAACO,OAAO,eAAE3I,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAACxG,cAAA,GAAAsI,YAAY,MAAE;MAAE,CAAE,CACvC,CAAC,eACR/I,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC7G,eAAA,GAAAoI,KAAK;QAACJ,IAAI,EAAC,GAAG;QAACO,OAAO,eAAE3I,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAACxG,cAAA,GAAAsI,YAAY,MAAE;MAAE,CAAE,CAC5C;IAEN,CAAC,CACF;EACH;EAEAC,sBAAsBA,CACpBC,EAMC,EACD;IACA,MAAM;MAAEC,MAAM;MAAEd,IAAI;MAAEe,mBAAmB;MAAEC,qBAAqB;MAAEC;IAAW,CAAC,GAAGJ,EAAE,CAAC,CAAC;IACrFZ,2BAAU,CAACC,WAAW,GAAGY,MAAM;IAC/Bb,2BAAU,CAACI,QAAQ,GAAGL,IAAI;IAC1BC,2BAAU,CAACc,mBAAmB,GAAGA,mBAA0B;IAC3Dd,2BAAU,CAACgB,UAAU,GAAGA,UAAU;IAClChB,2BAAU,CAACe,qBAAqB,GAAGA,qBAAqB;EAC1D;;EAEA;EACA;EACA;;EAEAP,gBAAgBA,CAAA,EAAG;IACjB,OAAO,IAAI,CAACxC,WAAW,CAACiD,cAAc,CAAC,IAAI,CAAC7B,IAAI,EAAE;MAChD8B,WAAW,EAAEvD,cAAc;MAC3BrB;IACF,CAAC,CAAC;EACJ;EAEA6E,oBAAoBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACnD,WAAW,CAACoD,OAAO,CAAC,IAAI,CAAChC,IAAI,EAAE;MACzC8B,WAAW,EAAEvD,cAAc;MAC3BrB;IACF,CAAC,CAAC;EACJ;EAEAiE,eAAeA,CAAA,EAAG;IAChB,oBACE5I,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAACnG,QAAA,GAAA4I,YAAY;MACXnD,SAAS,EAAE,IAAI,CAACA,SAAU;MAC1BG,YAAY,EAAE,IAAI,CAACA,YAAa;MAChCe,IAAI,EAAE,IAAI,CAACE,SAAU;MACrB3C,QAAQ,EAAEA;IAAS,CACpB,CAAC;EAEN;EAEA8D,mBAAmBA,CAAA,EAAG;IACpB,oBAAO9I,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC1F,gBAAA,GAAAoI,eAAe;MAACC,cAAc,EAAE,IAAI,CAACA,cAAe;MAACC,YAAY,EAAE,IAAI,CAAClC,SAAS,KAAK;IAAY,CAAE,CAAC;EAC/G;EAEAQ,aAAaA,CAAA,EAAG;IACd,OAAO,CACL;MACEC,IAAI,EAAEC,2BAAU,CAACC,WAAW;MAC5BxB,QAAQ,eACN9G,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC7G,eAAA,GAAAoI,KAAK;QAACJ,IAAI,EAAG,GAAEC,2BAAU,CAACI,QAAS;MAAI,gBACtCzI,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC7G,eAAA,GAAAoI,KAAK;QAACJ,IAAI,EAAE,GAAI;QAACO,OAAO,EAAE,IAAI,CAACmB,oBAAoB,CAAC;MAAE,CAAE,CAAC,eAC1D9J,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC7G,eAAA,GAAAoI,KAAK;QAACJ,IAAI,EAAC,cAAc;QAACO,OAAO,EAAE,IAAI,CAACa,oBAAoB,CAAC;MAAE,CAAE,CAC7D;IAEX,CAAC,CACF;EACH;EAEAM,oBAAoBA,CAAA,EAAG;IACrB,oBAAO9J,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAClG,aAAA,GAAAgJ,iBAAiB;MAACC,cAAc,EAAE,IAAI,CAACxD,OAAQ;MAACyD,UAAU,EAAE,IAAI,CAACxD;IAAe,CAAE,CAAC;EAC7F;EAEAyD,kBAAkBA,CAAC,GAAGC,SAAuB,EAAE;IAC7C,IAAI,CAAC1D,cAAc,CAAC2D,QAAQ,CAACD,SAAS,CAAC;IACvC,OAAO,IAAI;EACb;EAEAE,8BAA8BA,CAACC,QAA+B,EAAE;IAC9D,IAAI,CAAC3D,sBAAsB,CAACyD,QAAQ,CAACE,QAAQ,CAAC;IAC9C,OAAO,IAAI;EACb;EAEQC,mBAAmBA,CAAA,EAAG;IAC5B,IAAI,CAACC,kBAAkB,CAAC;IACtB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;MACEpD,KAAK,EAAE;QACLqD,IAAI,EAAE,GAAG;QACTC,KAAK,EAAE,IAAI;QACX5D,QAAQ,EAAE;MACZ,CAAC;MACD6D,KAAK,EAAE;IACT,CAAC,EACD;MACEvD,KAAK,EAAE;QACLqD,IAAI,EAAE,UAAU;QAChB3D,QAAQ,EAAE;MACZ,CAAC;MACD6D,KAAK,EAAE,CAAC;MACRC,IAAI,EAAEA,CAAA,KAAM;QACV,MAAM;UAAE9F;QAAW,CAAC,GAAG,IAAAE,sBAAQ,EAAC,CAAC;QACjC,OAAO,EAACF,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAE+F,UAAU,KAAI,CAAA/F,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEgG,KAAK,CAACxH,MAAM,IAAG,CAAC;MAChE;IACF,CAAC,CACF,CAAC;EACJ;EAEQ0E,cAAcA,CAAA,EAAG;IACvB,IAAI,CAACD,wBAAwB,CAAC,CAAC;IAC/B,IAAI,CAACwC,mBAAmB,CAAC,CAAC;EAC5B;EAEAQ,gBAAgBA,CAAA,EAAG;IACjB,MAAMC,QAAQ,GAAGA,CAAA,KAAM;MACrB,MAAMnE,KAAK,GAAG,IAAAoE,mBAAU,EAACC,qBAAY,CAAC;MACtC,oBACElL,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAACzF,QAAA,GAAA2J,SAAS;QACRC,IAAI,EAAE,EAAG;QACTC,UAAU,EAAExE,KAAK,CAACyE,IAAK;QACvBC,OAAO,EAAE1E,KAAK,CAAC2E,mBAAoB;QACnCC,SAAS,EAAEC,wBAAM,CAACC;MAAa,CAChC,CAAC;IAEN,CAAC;IAED,MAAMC,aAAa,gBACjB5L,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAC7F,kBAAA,GAAAyK,YAAY;MACXhC,YAAY,EAAE,IAAI,CAAClC,SAAS,KAAK,WAAY;MAC7CqD,QAAQ,EAAE,IAAI,CAACrD,SAAS,KAAK,OAAO,GAAGqD,QAAQ,GAAGzG,SAAU;MAC5DS,QAAQ,EAAEA;IAAS,CACpB,CACF;IAED,OAAO4G,aAAa;EACtB;EAEAE,gBAAgBA,CAAA,EAAG;IACjB,OAAO5E,2BAAa;EACtB;EAEA6E,WAAWA,CAAA,EAAG;IACZ,OAAO/G,sBAAQ;EACjB;EAEQgH,qBAAqBA,CAAA,EAAG;IAAA,IAAAC,gBAAA;IAC9B,MAAML,aAAa,GAAG,IAAI,CAACb,gBAAgB,CAAC,CAAC;IAE7C,CAAAkB,gBAAA,OAAI,CAACvE,UAAU,cAAAuE,gBAAA,eAAfA,gBAAA,CAAiBC,mBAAmB,CAAC;MACnCC,SAAS,EAAE,SAASC,OAAOA,CAAA,EAAG;QAC5B,OAAOR,aAAa;MACtB,CAAC;MACDS,MAAM,EAAE;IACV,CAAC,CAAC;EACJ;EAQAC,aAAaA,CAACC,KAAiB,EAAE;IAC/B,IAAI,CAAChG,SAAS,CAAC6D,QAAQ,CAACmC,KAAK,CAAC;IAC9B,OAAO,IAAI;EACb;;EAEA;AACF;AACA;EACEC,oBAAoBA,CAAC,GAAGC,KAAyB,EAAE;IACjD,IAAI,CAAC/F,YAAY,CAAC0D,QAAQ,CAACqC,KAAK,CAAC;IACjC,OAAO,IAAI;EACb;EAEAjC,kBAAkBA,CAACkC,MAAwB,EAAE;IAC3C,IAAI,CAAClG,OAAO,CAAC4D,QAAQ,CAACsC,MAAM,CAAC;EAC/B;EAkBA,aAAaC,QAAQA,CACnB,CAACC,IAAI,EAAEvG,WAAW,EAAEwG,WAAW,EAAEC,OAAO,EAAExG,kBAAkB,CAM3D,EACDyG,CAAC,EACD,CAACxG,SAAS,EAAEG,YAAY,EAAEF,OAAO,EAAEC,cAAc,EAAEE,sBAAsB,CAMxE,EACDqG,OAAgB,EAChB;IACA,MAAM;MAAEC;IAAO,CAAC,GAAGD,OAAO;IAC1B,MAAMvF,IAAI,GAAGxD,MAAM,CAACgJ,MAAM,CAAC7K,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACtD,IAAIwE,SAAkC;IACtC,IAAIC,KAA0B;IAC9B,IAAIY,IAAI,KAAKG,oBAAe,CAACC,EAAE,EAAE;MAC/BjB,SAAS,GAAGiG,WAAW;IACzB;IACA,IAAIpF,IAAI,KAAKK,gBAAW,CAACD,EAAE,EAAE;MAC3BhB,KAAK,GAAGiG,OAAO;IACjB;IACA,MAAMI,OAAO,GAAG,IAAI/G,OAAO,CACzBE,WAAW,EACXC,kBAAkB,EAClBC,SAAS,EACTC,OAAO,EACPE,YAAY,EACZD,cAAc,EACdE,sBAAsB,EACtBC,SAAS,EACTC,KACF,CAAC;IACD,IAAI+F,IAAI,EAAEA,IAAI,CAACO,mBAAmB,CAAC;MAAEC,YAAY,EAAEF,OAAO,CAACG;IAAc,CAAC,CAAC;IAC3EH,OAAO,CAAClF,cAAc,CAAC,CAAC;IACxBkF,OAAO,CAAChD,kBAAkB,CAAC,MAAM;MAC/B,MAAM;QAAEpF;MAAW,CAAC,GAAG,IAAAE,sBAAQ,EAAC,CAAC;MACjC,IAAI,EAACF,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAE+F,UAAU,GAAE,OAAO,IAAI;MACxC,MAAM;QAAEA,UAAU;QAAEyC;MAAY,CAAC,GAAGxI,UAAU;MAC9C,oBACE9E,MAAA,GAAA4B,OAAA,CAAAqF,aAAA,CAAChG,cAAA,GAAAsM,WAAW;QACVC,UAAU,EAAE,QAAS;QACrBC,UAAU,EAAE,UAAW;QACvBhG,IAAI,EAAEyF,OAAO,CAACvF,SAAU;QACxB+F,YAAY,EAAE7C,UAAU,CAAChD,EAAG;QAC5B8F,aAAa,EAAEL,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEzF;MAAG,CAChC,CAAC;IAEN,CAAC,CAAC;IACFqF,OAAO,CAAClB,qBAAqB,CAAC,CAAC;IAC/B,OAAOkB,OAAO;EAChB;AACF;AAACU,OAAA,CAAAzH,OAAA,GAAAA,OAAA;AAAA1C,eAAA,CA/TY0C,OAAO,kBACI,CAAC0H,cAAQ,EAAEC,oBAAe,EAAElG,oBAAe,EAAEE,gBAAW,EAAEiG,0CAAsB,CAAC;AAAAtK,eAAA,CAD5F0C,OAAO,aAGD6H,eAAS;AAAAvK,eAAA,CAHf0C,OAAO,WAIH,CACb8H,eAAI,CAACC,QAAQ,CAAa,CAAC,EAC3BD,eAAI,CAACC,QAAQ,CAAuB,CAAC,EACrCD,eAAI,CAACC,QAAQ,CAAiB,CAAC,EAC/BD,eAAI,CAACC,QAAQ,CAAiB,CAAC,EAC/BD,eAAI,CAACC,QAAQ,CAAyB,CAAC,CACxC;AAAA,IAAAC,QAAA,GAuTYhI,OAAO;AAAAyH,OAAA,CAAAhM,OAAA,GAAAuM,QAAA;AAEtBC,oBAAW,CAACC,UAAU,CAAClI,OAAO,CAAC"}
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_harmony","_lanesUiCompare","_ui","_lanes","_designUiPages","_scope","_workspace","_interopRequireDefault","_component","_lanesUi","_lanesUiMenus","_uiFoundationUiReactRouter","_lanesUiMenus2","_lanesUiModels","_lanesHooks","_lanesUiNavigation","_lanesHooks2","_componentCompare","_lanesUiCompare2","_scopeUi","_lanesUiModule","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_defineProperty","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","useComponentFilters","idFromLocation","useIdFromLocation","lanesModel","loading","useLanes","laneFromUrl","useViewedLaneFromUrl","laneComponentId","isDefault","resolveComponentFromUrl","log","head","version","useLaneComponentIdFromUrl","query","useQuery","componentVersion","compIdFromLocation","ComponentID","tryFromString","lanesComp","changeVersion","useComponentId","_useLaneComponentIdFr","toString","LanesUI","constructor","componentUI","componentCompareUI","routeSlot","navSlot","menuWidgetSlot","overviewSlot","laneProviderIgnoreSlot","workspace","scope","children","ignoreFns","values","createElement","LanesProvider","ignoreDerivingFromUrl","props","tabs","base","compare","LaneCompare","host","hostAspect","lanesHost","WorkspaceAspect","id","ScopeAspect","registerHostAspectRoutes","registerRoutes","getLaneRoutes","registerMenuRoutes","getMenuRoutes","path","LanesModel","lanesPrefix","Fragment","Route","lanePath","index","element","getLaneOverview","getLaneComponent","getLanesComparePage","NotFoundPage","overrideComputeLaneUrl","fn","prefix","getLaneComponentUrl","getLaneIdFromPathname","getLaneUrl","getComponentUI","componentId","getLaneComponentMenu","getMenu","LaneOverview","LaneComparePage","getLaneCompare","groupByScope","getLanesOverviewMenu","LanesOverviewMenu","navigationSlot","widgetSlot","registerMenuWidget","menuItems","register","registerLaneProviderIgnoreSlot","ignoreFn","registerLanesRoutes","registerNavigation","href","exact","order","hide","viewedLane","lanes","getLanesSwitcher","mainIcon","useContext","ScopeContext","ScopeIcon","size","scopeImage","icon","bgColor","backgroundIconColor","className","styles","mainLaneIcon","LanesSwitcher","LaneSwitcher","getLanesProvider","getUseLanes","registerLanesDropdown","_this$hostAspect","registerSidebarLink","component","Gallery","weight","registerRoute","route","registerOverviewLine","lines","routes","provider","uiUi","workspaceUi","scopeUi","_","harmony","config","lanesUi","registerRenderHooks","reactContext","renderContext","currentLane","UseLaneMenu","actionName","actionIcon","viewedLaneId","currentLaneId","exports","UIAspect","ComponentAspect","ComponentCompareAspect","UIRuntime","Slot","withType","_default","LanesAspect","addRuntime"],"sources":["lanes.ui.runtime.tsx"],"sourcesContent":["import React, { ReactNode, useContext } from 'react';\nimport { Route, RouteProps } from 'react-router-dom';\nimport { Slot, Harmony, SlotRegistry } from '@teambit/harmony';\nimport { LaneCompare, LaneCompareProps as DefaultLaneCompareProps } from '@teambit/lanes.ui.compare.lane-compare';\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, { ScopeContext, ScopeUI } from '@teambit/scope';\nimport WorkspaceAspect, { WorkspaceUI } from '@teambit/workspace';\nimport ComponentAspect, { ComponentUI, useIdFromLocation, ComponentID } from '@teambit/component';\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 { useQuery } from '@teambit/ui-foundation.ui.react-router.use-query';\nimport { UseLaneMenu } from '@teambit/lanes.ui.menus.use-lanes-menu';\nimport { LanesHost, LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { LanesProvider, useLanes, IgnoreDerivingFromUrl } 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';\nimport { ComponentCompareAspect, ComponentCompareUI } from '@teambit/component-compare';\nimport { LaneComparePage } from '@teambit/lanes.ui.compare.lane-compare-page';\nimport { ScopeIcon } from '@teambit/scope.ui.scope-icon';\n\nimport styles from './lanes.ui.module.scss';\n\nexport type LaneCompareProps = Partial<DefaultLaneCompareProps>;\nexport type LaneProviderIgnoreSlot = SlotRegistry<IgnoreDerivingFromUrl>;\nexport function useComponentFilters() {\n const idFromLocation = useIdFromLocation();\n const { lanesModel, loading } = useLanes();\n const laneFromUrl = useViewedLaneFromUrl();\n const laneComponentId =\n idFromLocation && !laneFromUrl?.isDefault()\n ? lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) ?? null\n : null;\n\n if (laneComponentId === null || loading) {\n return {\n loading: true,\n };\n }\n\n return {\n loading: false,\n log: {\n head: laneComponentId.version,\n },\n };\n}\n\nexport function useLaneComponentIdFromUrl(): ComponentID | undefined | null {\n const idFromLocation = useIdFromLocation();\n const { lanesModel, loading } = useLanes();\n const laneFromUrl = useViewedLaneFromUrl();\n const query = useQuery();\n const componentVersion = query.get('version');\n\n if (!idFromLocation) return null;\n\n const compIdFromLocation = ComponentID.tryFromString(\n `${idFromLocation}${componentVersion ? `@${componentVersion}` : ''}`\n );\n\n if (compIdFromLocation) return compIdFromLocation;\n if (loading) return undefined;\n\n const lanesComp = (lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) as any | undefined) ?? null;\n\n if (componentVersion) {\n return lanesComp?.changeVersion(componentVersion);\n }\n\n return lanesComp;\n}\n\nexport function useComponentId() {\n return useLaneComponentIdFromUrl()?.toString();\n}\n\nexport class LanesUI {\n static dependencies = [UIAspect, ComponentAspect, WorkspaceAspect, ScopeAspect, ComponentCompareAspect];\n\n static runtime = UIRuntime;\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<LaneOverviewLineSlot>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<MenuWidgetSlot>(),\n Slot.withType<LaneProviderIgnoreSlot>(),\n ];\n\n constructor(\n private componentUI: ComponentUI,\n private componentCompareUI: ComponentCompareUI,\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 laneProviderIgnoreSlot: LaneProviderIgnoreSlot,\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=\"~compare/*\" element={this.getLanesComparePage()} />\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 as any;\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 getLaneComponent() {\n return this.componentUI.getComponentUI(this.host, {\n componentId: useComponentId,\n useComponentFilters,\n });\n }\n\n getLaneComponentMenu() {\n return this.componentUI.getMenu(this.host, {\n componentId: useComponentId,\n useComponentFilters,\n });\n }\n\n getLaneOverview() {\n return (\n <LaneOverview\n routeSlot={this.routeSlot}\n overviewSlot={this.overviewSlot}\n host={this.lanesHost}\n useLanes={useLanes}\n />\n );\n }\n\n getLanesComparePage() {\n return <LaneComparePage getLaneCompare={this.getLaneCompare} groupByScope={this.lanesHost === 'workspace'} />;\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 return this;\n }\n\n registerLaneProviderIgnoreSlot(ignoreFn: IgnoreDerivingFromUrl) {\n this.laneProviderIgnoreSlot.register(ignoreFn);\n return this;\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 props: {\n href: '~compare',\n children: 'Compare',\n },\n order: 2,\n hide: () => {\n const { lanesModel } = useLanes();\n return !lanesModel?.viewedLane || lanesModel?.lanes.length < 2;\n },\n },\n ]);\n }\n\n private registerRoutes() {\n this.registerHostAspectRoutes();\n this.registerLanesRoutes();\n }\n\n getLanesSwitcher() {\n const mainIcon = () => {\n const scope = useContext(ScopeContext);\n return (\n <ScopeIcon\n size={24}\n scopeImage={scope.icon}\n bgColor={scope.backgroundIconColor}\n className={styles.mainLaneIcon}\n />\n );\n };\n\n const LanesSwitcher = (\n <LaneSwitcher\n groupByScope={this.lanesHost === 'workspace'}\n mainIcon={this.lanesHost === 'scope' ? mainIcon : undefined}\n useLanes={useLanes}\n />\n );\n\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 const ignoreFns = this.laneProviderIgnoreSlot.values();\n\n return <LanesProvider ignoreDerivingFromUrl={ignoreFns}>{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 getLaneCompare = (props: LaneCompareProps) => {\n const tabs = this.componentCompareUI.tabs;\n\n if (!props.base || !props.compare) return null;\n\n return (\n <LaneCompare\n {...props}\n base={props.base}\n compare={props.compare}\n host={props.host || this.host}\n tabs={props.tabs || tabs}\n />\n );\n };\n\n static async provider(\n [uiUi, componentUI, workspaceUi, scopeUi, componentCompareUI]: [\n UiUI,\n ComponentUI,\n WorkspaceUI,\n ScopeUI,\n ComponentCompareUI\n ],\n _,\n [routeSlot, overviewSlot, navSlot, menuWidgetSlot, laneProviderIgnoreSlot]: [\n RouteSlot,\n LaneOverviewLineSlot,\n LanesOrderedNavigationSlot,\n MenuWidgetSlot,\n LaneProviderIgnoreSlot\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(\n componentUI,\n componentCompareUI,\n routeSlot,\n navSlot,\n overviewSlot,\n menuWidgetSlot,\n laneProviderIgnoreSlot,\n workspace,\n scope\n );\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 (\n <UseLaneMenu\n actionName={'Import'}\n actionIcon={'terminal'}\n host={lanesUi.lanesHost}\n viewedLaneId={viewedLane.id}\n currentLaneId={currentLane?.id}\n />\n );\n });\n lanesUi.registerLanesDropdown();\n return lanesUi;\n }\n}\n\nexport default LanesUI;\n\nLanesAspect.addRuntime(LanesUI);\n"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@1.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@1.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@1.0.36/dist/lanes.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.lanes_lanes@1.0.36/dist/lanes.docs.mdx';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
package/lanes.ui.runtime.tsx
CHANGED
@@ -70,18 +70,13 @@ export function useLaneComponentIdFromUrl(): ComponentID | undefined | null {
|
|
70
70
|
if (compIdFromLocation) return compIdFromLocation;
|
71
71
|
if (loading) return undefined;
|
72
72
|
|
73
|
-
|
73
|
+
const lanesComp = (lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) as any | undefined) ?? null;
|
74
74
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
// }
|
75
|
+
if (componentVersion) {
|
76
|
+
return lanesComp?.changeVersion(componentVersion);
|
77
|
+
}
|
79
78
|
|
80
|
-
|
81
|
-
// idFromLocation && !laneFromUrl?.isDefault()
|
82
|
-
// ? lanesModel?.resolveComponentFromUrl(idFromLocation, laneFromUrl) ?? null
|
83
|
-
// : null;
|
84
|
-
// return loading ? undefined : laneComponentId;
|
79
|
+
return lanesComp;
|
85
80
|
}
|
86
81
|
|
87
82
|
export function useComponentId() {
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/lanes",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.36",
|
4
4
|
"homepage": "https://bit.cloud/teambit/lanes/lanes",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.lanes",
|
8
8
|
"name": "lanes",
|
9
|
-
"version": "1.0.
|
9
|
+
"version": "1.0.36"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"lodash": "4.17.21",
|
@@ -22,7 +22,8 @@
|
|
22
22
|
"@teambit/lane-id": "0.0.311",
|
23
23
|
"@teambit/lanes.ui.models.lanes-model": "0.0.207",
|
24
24
|
"@teambit/harmony": "0.4.6",
|
25
|
-
"@teambit/component-id": "1.1.
|
25
|
+
"@teambit/component-id": "1.1.1",
|
26
|
+
"@teambit/legacy-bit-id": "1.0.4",
|
26
27
|
"@teambit/design.ui.pages.not-found": "0.0.366",
|
27
28
|
"@teambit/lanes.hooks.use-lanes": "0.0.254",
|
28
29
|
"@teambit/lanes.hooks.use-viewed-lane-from-url": "0.0.216",
|
@@ -36,25 +37,24 @@
|
|
36
37
|
"@teambit/ui-foundation.ui.menu": "0.0.502",
|
37
38
|
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.506",
|
38
39
|
"@teambit/ui-foundation.ui.react-router.use-query": "0.0.501",
|
39
|
-
"@teambit/scope": "1.0.
|
40
|
-
"@teambit/snapping": "1.0.
|
41
|
-
"@teambit/workspace": "1.0.
|
42
|
-
"@teambit/cli": "0.0.
|
43
|
-
"@teambit/express": "0.0.
|
44
|
-
"@teambit/logger": "0.0.
|
45
|
-
"@teambit/graphql": "1.0.
|
46
|
-
"@teambit/checkout": "1.0.
|
47
|
-
"@teambit/component-compare": "1.0.
|
48
|
-
"@teambit/component-writer": "1.0.
|
49
|
-
"@teambit/component": "1.0.
|
50
|
-
"@teambit/export": "1.0.
|
51
|
-
"@teambit/importer": "1.0.
|
52
|
-
"@teambit/lanes.entities.lane-diff": "0.0.
|
53
|
-
"@teambit/lanes.modules.diff": "0.0.
|
54
|
-
"@teambit/
|
55
|
-
"@teambit/
|
56
|
-
"@teambit/
|
57
|
-
"@teambit/ui": "1.0.34"
|
40
|
+
"@teambit/scope": "1.0.36",
|
41
|
+
"@teambit/snapping": "1.0.36",
|
42
|
+
"@teambit/workspace": "1.0.36",
|
43
|
+
"@teambit/cli": "0.0.805",
|
44
|
+
"@teambit/express": "0.0.904",
|
45
|
+
"@teambit/logger": "0.0.898",
|
46
|
+
"@teambit/graphql": "1.0.36",
|
47
|
+
"@teambit/checkout": "1.0.36",
|
48
|
+
"@teambit/component-compare": "1.0.36",
|
49
|
+
"@teambit/component-writer": "1.0.36",
|
50
|
+
"@teambit/component": "1.0.36",
|
51
|
+
"@teambit/export": "1.0.36",
|
52
|
+
"@teambit/importer": "1.0.36",
|
53
|
+
"@teambit/lanes.entities.lane-diff": "0.0.161",
|
54
|
+
"@teambit/lanes.modules.diff": "0.0.434",
|
55
|
+
"@teambit/merging": "1.0.36",
|
56
|
+
"@teambit/remove": "1.0.36",
|
57
|
+
"@teambit/ui": "1.0.36"
|
58
58
|
},
|
59
59
|
"devDependencies": {
|
60
60
|
"@types/lodash": "4.14.165",
|
@@ -66,13 +66,13 @@
|
|
66
66
|
"@types/react-dom": "^17.0.5",
|
67
67
|
"@types/jest": "^26.0.0",
|
68
68
|
"@types/testing-library__jest-dom": "5.9.5",
|
69
|
-
"@teambit/component.testing.mock-components": "0.0.
|
70
|
-
"@teambit/harmony.testing.load-aspect": "0.0.
|
69
|
+
"@teambit/component.testing.mock-components": "0.0.165",
|
70
|
+
"@teambit/harmony.testing.load-aspect": "0.0.164",
|
71
71
|
"@teambit/workspace.testing.mock-workspace": "0.0.16"
|
72
72
|
},
|
73
73
|
"peerDependencies": {
|
74
74
|
"react-router-dom": "^6.0.0",
|
75
|
-
"@teambit/legacy": "1.0.
|
75
|
+
"@teambit/legacy": "1.0.586",
|
76
76
|
"react": "^16.8.0 || ^17.0.0",
|
77
77
|
"react-dom": "^16.8.0 || ^17.0.0"
|
78
78
|
},
|