@teambit/component 1.0.425 → 1.0.427

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.
@@ -327,7 +327,7 @@ export class ComponentUI {
327
327
  MenuItemSlot,
328
328
  ComponentPageSlot,
329
329
  ComponentSearchResultSlot,
330
- RightSideMenuSlot
330
+ RightSideMenuSlot,
331
331
  ]
332
332
  ) {
333
333
  // TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)
@@ -40,7 +40,11 @@ export class DependencyList extends Array<Dependency> {
40
40
  }
41
41
 
42
42
  export class Dependencies {
43
- constructor(public runtime: DependencyList, public dev: DependencyList, public peer: DependencyList) {}
43
+ constructor(
44
+ public runtime: DependencyList,
45
+ public dev: DependencyList,
46
+ public peer: DependencyList
47
+ ) {}
44
48
 
45
49
  private getByEnvironment(env: Environment): DependencyList {
46
50
  if (env === DEV_ENV) {
@@ -1 +1 @@
1
- {"version":3,"names":["AspectEntry","constructor","id","legacyEntry","legacy","isLegacy","config","__legacy","data","isRemoved","val","transform","newData","newEntry","clone","serialize","toString","icon","exports"],"sources":["aspect-entry.ts"],"sourcesContent":["/**\n * avoid importing any (non-type) legacy code here. otherwise, PreviewTask will throw cryptic errors\n */\n\nimport type { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { ComponentID } from '@teambit/component-id';\nimport { RawComponentMetadata } from './component-interface';\n\nexport type Serializable = {\n toString(): string;\n};\n\nexport type SerializableMap = {\n [key: string]: Serializable;\n};\n\nexport type AspectData = {\n [key: string]: any;\n};\n\nexport type ResolveComponentIdFunc = (id: string) => Promise<ComponentID>;\nexport class AspectEntry {\n constructor(public id: ComponentID, private legacyEntry: ExtensionDataEntry) {}\n\n get legacy() {\n return this.legacyEntry;\n }\n\n get isLegacy(): boolean {\n if (this.config?.__legacy) return true;\n return false;\n }\n\n get config() {\n return this.legacy.config;\n }\n\n set config(config) {\n this.legacy.config = config;\n }\n\n get data(): { [key: string]: any } {\n return this.legacy.data;\n }\n\n get isRemoved(): boolean {\n return this.legacy.isRemoved;\n }\n\n // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures\n set data(val: { [key: string]: any }) {\n this.legacy.data = val;\n }\n\n transform(newData: SerializableMap): AspectEntry {\n const newEntry = this.clone();\n newEntry.data = newData;\n return new AspectEntry(this.id, newEntry.legacy);\n }\n\n clone(): AspectEntry {\n return new AspectEntry(this.id, this.legacyEntry.clone());\n }\n\n serialize(): RawComponentMetadata {\n return {\n id: this.id.toString(),\n config: this.config,\n data: this.data,\n icon: 'https://static.bit.dev/extensions-icons/default.svg', // TODO @gilad - once you connect the icon here please use this url as the default icon\n };\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAmBO,MAAMA,WAAW,CAAC;EACvBC,WAAWA,CAAQC,EAAe,EAAUC,WAA+B,EAAE;IAAA,KAA1DD,EAAe,GAAfA,EAAe;IAAA,KAAUC,WAA+B,GAA/BA,WAA+B;EAAG;EAE9E,IAAIC,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACD,WAAW;EACzB;EAEA,IAAIE,QAAQA,CAAA,EAAY;IACtB,IAAI,IAAI,CAACC,MAAM,EAAEC,QAAQ,EAAE,OAAO,IAAI;IACtC,OAAO,KAAK;EACd;EAEA,IAAID,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACF,MAAM,CAACE,MAAM;EAC3B;EAEA,IAAIA,MAAMA,CAACA,MAAM,EAAE;IACjB,IAAI,CAACF,MAAM,CAACE,MAAM,GAAGA,MAAM;EAC7B;EAEA,IAAIE,IAAIA,CAAA,EAA2B;IACjC,OAAO,IAAI,CAACJ,MAAM,CAACI,IAAI;EACzB;EAEA,IAAIC,SAASA,CAAA,EAAY;IACvB,OAAO,IAAI,CAACL,MAAM,CAACK,SAAS;EAC9B;;EAEA;EACA,IAAID,IAAIA,CAACE,GAA2B,EAAE;IACpC,IAAI,CAACN,MAAM,CAACI,IAAI,GAAGE,GAAG;EACxB;EAEAC,SAASA,CAACC,OAAwB,EAAe;IAC/C,MAAMC,QAAQ,GAAG,IAAI,CAACC,KAAK,CAAC,CAAC;IAC7BD,QAAQ,CAACL,IAAI,GAAGI,OAAO;IACvB,OAAO,IAAIZ,WAAW,CAAC,IAAI,CAACE,EAAE,EAAEW,QAAQ,CAACT,MAAM,CAAC;EAClD;EAEAU,KAAKA,CAAA,EAAgB;IACnB,OAAO,IAAId,WAAW,CAAC,IAAI,CAACE,EAAE,EAAE,IAAI,CAACC,WAAW,CAACW,KAAK,CAAC,CAAC,CAAC;EAC3D;EAEAC,SAASA,CAAA,EAAyB;IAChC,OAAO;MACLb,EAAE,EAAE,IAAI,CAACA,EAAE,CAACc,QAAQ,CAAC,CAAC;MACtBV,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBE,IAAI,EAAE,IAAI,CAACA,IAAI;MACfS,IAAI,EAAE,qDAAqD,CAAE;IAC/D,CAAC;EACH;AACF;AAACC,OAAA,CAAAlB,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["AspectEntry","constructor","id","legacyEntry","legacy","isLegacy","config","__legacy","data","isRemoved","val","transform","newData","newEntry","clone","serialize","toString","icon","exports"],"sources":["aspect-entry.ts"],"sourcesContent":["/**\n * avoid importing any (non-type) legacy code here. otherwise, PreviewTask will throw cryptic errors\n */\n\nimport type { ExtensionDataEntry } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport { ComponentID } from '@teambit/component-id';\nimport { RawComponentMetadata } from './component-interface';\n\nexport type Serializable = {\n toString(): string;\n};\n\nexport type SerializableMap = {\n [key: string]: Serializable;\n};\n\nexport type AspectData = {\n [key: string]: any;\n};\n\nexport type ResolveComponentIdFunc = (id: string) => Promise<ComponentID>;\nexport class AspectEntry {\n constructor(\n public id: ComponentID,\n private legacyEntry: ExtensionDataEntry\n ) {}\n\n get legacy() {\n return this.legacyEntry;\n }\n\n get isLegacy(): boolean {\n if (this.config?.__legacy) return true;\n return false;\n }\n\n get config() {\n return this.legacy.config;\n }\n\n set config(config) {\n this.legacy.config = config;\n }\n\n get data(): { [key: string]: any } {\n return this.legacy.data;\n }\n\n get isRemoved(): boolean {\n return this.legacy.isRemoved;\n }\n\n // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures\n set data(val: { [key: string]: any }) {\n this.legacy.data = val;\n }\n\n transform(newData: SerializableMap): AspectEntry {\n const newEntry = this.clone();\n newEntry.data = newData;\n return new AspectEntry(this.id, newEntry.legacy);\n }\n\n clone(): AspectEntry {\n return new AspectEntry(this.id, this.legacyEntry.clone());\n }\n\n serialize(): RawComponentMetadata {\n return {\n id: this.id.toString(),\n config: this.config,\n data: this.data,\n icon: 'https://static.bit.dev/extensions-icons/default.svg', // TODO @gilad - once you connect the icon here please use this url as the default icon\n };\n }\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAmBO,MAAMA,WAAW,CAAC;EACvBC,WAAWA,CACFC,EAAe,EACdC,WAA+B,EACvC;IAAA,KAFOD,EAAe,GAAfA,EAAe;IAAA,KACdC,WAA+B,GAA/BA,WAA+B;EACtC;EAEH,IAAIC,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACD,WAAW;EACzB;EAEA,IAAIE,QAAQA,CAAA,EAAY;IACtB,IAAI,IAAI,CAACC,MAAM,EAAEC,QAAQ,EAAE,OAAO,IAAI;IACtC,OAAO,KAAK;EACd;EAEA,IAAID,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACF,MAAM,CAACE,MAAM;EAC3B;EAEA,IAAIA,MAAMA,CAACA,MAAM,EAAE;IACjB,IAAI,CAACF,MAAM,CAACE,MAAM,GAAGA,MAAM;EAC7B;EAEA,IAAIE,IAAIA,CAAA,EAA2B;IACjC,OAAO,IAAI,CAACJ,MAAM,CAACI,IAAI;EACzB;EAEA,IAAIC,SAASA,CAAA,EAAY;IACvB,OAAO,IAAI,CAACL,MAAM,CAACK,SAAS;EAC9B;;EAEA;EACA,IAAID,IAAIA,CAACE,GAA2B,EAAE;IACpC,IAAI,CAACN,MAAM,CAACI,IAAI,GAAGE,GAAG;EACxB;EAEAC,SAASA,CAACC,OAAwB,EAAe;IAC/C,MAAMC,QAAQ,GAAG,IAAI,CAACC,KAAK,CAAC,CAAC;IAC7BD,QAAQ,CAACL,IAAI,GAAGI,OAAO;IACvB,OAAO,IAAIZ,WAAW,CAAC,IAAI,CAACE,EAAE,EAAEW,QAAQ,CAACT,MAAM,CAAC;EAClD;EAEAU,KAAKA,CAAA,EAAgB;IACnB,OAAO,IAAId,WAAW,CAAC,IAAI,CAACE,EAAE,EAAE,IAAI,CAACC,WAAW,CAACW,KAAK,CAAC,CAAC,CAAC;EAC3D;EAEAC,SAASA,CAAA,EAAyB;IAChC,OAAO;MACLb,EAAE,EAAE,IAAI,CAACA,EAAE,CAACc,QAAQ,CAAC,CAAC;MACtBV,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBE,IAAI,EAAE,IAAI,CAACA,IAAI;MACfS,IAAI,EAAE,qDAAqD,CAAE;IAC/D,CAAC;EACH;AACF;AAACC,OAAA,CAAAlB,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["ComponentRoute","constructor","registerRoute","componentExtension","_defineProperty","dynamicRouteRegex","route","method","componentMiddlewares","concat","middlewares","req","res","next","resolveComponent","componentId","params","host","getHost","compId","resolveComponentId","component","get","exports"],"sources":["component.route.ts"],"sourcesContent":["import { NextFunction, Request, Response, Route } from '@teambit/express';\n\nimport { ComponentMain } from './component.main.runtime';\n\nexport type RegisteredComponentRoute = Route & {\n resolveComponent?: boolean;\n};\n\nexport type ComponentUrlParams = {\n componentId: string;\n};\n\nexport class ComponentRoute implements Route {\n constructor(private registerRoute: RegisteredComponentRoute, private componentExtension: ComponentMain) {}\n dynamicRouteRegex = '/?[^/@]+/[^~]*';\n readonly route = `/:componentId(${this.dynamicRouteRegex})/~aspect${this.registerRoute.route}`;\n\n get componentMiddlewares() {\n return [\n async (req: Request<ComponentUrlParams>, res: Response, next: NextFunction) => {\n const resolveComponent = this.registerRoute.resolveComponent ?? true;\n if (resolveComponent) {\n const { componentId } = req.params;\n const host = this.componentExtension.getHost();\n const compId = await host.resolveComponentId(componentId);\n const component = await host.get(compId);\n // @ts-ignore\n req.component = component;\n }\n next();\n },\n ];\n }\n\n method = this.registerRoute.method;\n // @ts-ignore\n middlewares = this.componentMiddlewares.concat(this.registerRoute.middlewares);\n}\n"],"mappings":";;;;;;;;;AAYO,MAAMA,cAAc,CAAkB;EAC3CC,WAAWA,CAASC,aAAuC,EAAUC,kBAAiC,EAAE;IAAA,KAApFD,aAAuC,GAAvCA,aAAuC;IAAA,KAAUC,kBAAiC,GAAjCA,kBAAiC;IAAAC,eAAA,4BAClF,gBAAgB;IAAAA,eAAA,gBACnB,iBAAiB,IAAI,CAACC,iBAAiB,YAAY,IAAI,CAACH,aAAa,CAACI,KAAK,EAAE;IAAAF,eAAA,iBAmBrF,IAAI,CAACF,aAAa,CAACK,MAAM;IAClC;IAAAH,eAAA,sBACc,IAAI,CAACI,oBAAoB,CAACC,MAAM,CAAC,IAAI,CAACP,aAAa,CAACQ,WAAW,CAAC;EAvB2B;EAIzG,IAAIF,oBAAoBA,CAAA,EAAG;IACzB,OAAO,CACL,OAAOG,GAAgC,EAAEC,GAAa,EAAEC,IAAkB,KAAK;MAC7E,MAAMC,gBAAgB,GAAG,IAAI,CAACZ,aAAa,CAACY,gBAAgB,IAAI,IAAI;MACpE,IAAIA,gBAAgB,EAAE;QACpB,MAAM;UAAEC;QAAY,CAAC,GAAGJ,GAAG,CAACK,MAAM;QAClC,MAAMC,IAAI,GAAG,IAAI,CAACd,kBAAkB,CAACe,OAAO,CAAC,CAAC;QAC9C,MAAMC,MAAM,GAAG,MAAMF,IAAI,CAACG,kBAAkB,CAACL,WAAW,CAAC;QACzD,MAAMM,SAAS,GAAG,MAAMJ,IAAI,CAACK,GAAG,CAACH,MAAM,CAAC;QACxC;QACAR,GAAG,CAACU,SAAS,GAAGA,SAAS;MAC3B;MACAR,IAAI,CAAC,CAAC;IACR,CAAC,CACF;EACH;AAKF;AAACU,OAAA,CAAAvB,cAAA,GAAAA,cAAA","ignoreList":[]}
1
+ {"version":3,"names":["ComponentRoute","constructor","registerRoute","componentExtension","_defineProperty","dynamicRouteRegex","route","method","componentMiddlewares","concat","middlewares","req","res","next","resolveComponent","componentId","params","host","getHost","compId","resolveComponentId","component","get","exports"],"sources":["component.route.ts"],"sourcesContent":["import { NextFunction, Request, Response, Route } from '@teambit/express';\n\nimport { ComponentMain } from './component.main.runtime';\n\nexport type RegisteredComponentRoute = Route & {\n resolveComponent?: boolean;\n};\n\nexport type ComponentUrlParams = {\n componentId: string;\n};\n\nexport class ComponentRoute implements Route {\n constructor(\n private registerRoute: RegisteredComponentRoute,\n private componentExtension: ComponentMain\n ) {}\n dynamicRouteRegex = '/?[^/@]+/[^~]*';\n readonly route = `/:componentId(${this.dynamicRouteRegex})/~aspect${this.registerRoute.route}`;\n\n get componentMiddlewares() {\n return [\n async (req: Request<ComponentUrlParams>, res: Response, next: NextFunction) => {\n const resolveComponent = this.registerRoute.resolveComponent ?? true;\n if (resolveComponent) {\n const { componentId } = req.params;\n const host = this.componentExtension.getHost();\n const compId = await host.resolveComponentId(componentId);\n const component = await host.get(compId);\n // @ts-ignore\n req.component = component;\n }\n next();\n },\n ];\n }\n\n method = this.registerRoute.method;\n // @ts-ignore\n middlewares = this.componentMiddlewares.concat(this.registerRoute.middlewares);\n}\n"],"mappings":";;;;;;;;;AAYO,MAAMA,cAAc,CAAkB;EAC3CC,WAAWA,CACDC,aAAuC,EACvCC,kBAAiC,EACzC;IAAA,KAFQD,aAAuC,GAAvCA,aAAuC;IAAA,KACvCC,kBAAiC,GAAjCA,kBAAiC;IAAAC,eAAA,4BAEvB,gBAAgB;IAAAA,eAAA,gBACnB,iBAAiB,IAAI,CAACC,iBAAiB,YAAY,IAAI,CAACH,aAAa,CAACI,KAAK,EAAE;IAAAF,eAAA,iBAmBrF,IAAI,CAACF,aAAa,CAACK,MAAM;IAClC;IAAAH,eAAA,sBACc,IAAI,CAACI,oBAAoB,CAACC,MAAM,CAAC,IAAI,CAACP,aAAa,CAACQ,WAAW,CAAC;EAvB3E;EAIH,IAAIF,oBAAoBA,CAAA,EAAG;IACzB,OAAO,CACL,OAAOG,GAAgC,EAAEC,GAAa,EAAEC,IAAkB,KAAK;MAC7E,MAAMC,gBAAgB,GAAG,IAAI,CAACZ,aAAa,CAACY,gBAAgB,IAAI,IAAI;MACpE,IAAIA,gBAAgB,EAAE;QACpB,MAAM;UAAEC;QAAY,CAAC,GAAGJ,GAAG,CAACK,MAAM;QAClC,MAAMC,IAAI,GAAG,IAAI,CAACd,kBAAkB,CAACe,OAAO,CAAC,CAAC;QAC9C,MAAMC,MAAM,GAAG,MAAMF,IAAI,CAACG,kBAAkB,CAACL,WAAW,CAAC;QACzD,MAAMM,SAAS,GAAG,MAAMJ,IAAI,CAACK,GAAG,CAACH,MAAM,CAAC;QACxC;QACAR,GAAG,CAACU,SAAS,GAAGA,SAAS;MAC3B;MACAR,IAAI,CAAC,CAAC;IACR,CAAC,CACF;EACH;AAKF;AAACU,OAAA,CAAAvB,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireDefault","require","_lodash","_copyToClipboard","_commandBar","_componentUi","_harmony","_preview","_pubsub","_reactRouter","_ui","_lodash2","_uiFoundationUi","_uiFoundationUiUseBox","_componentPackageVersion","_aspect","_component","_component2","_componentSearcher","_menu","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ComponentUI","constructor","pubsub","routeSlot","navSlot","consumeMethodSlot","widgetSlot","rightSideMenuSlot","menuItemSlot","pageItemSlot","componentSearchResultSlot","commandBarUI","reactRouterUi","packageName","activeComponent","version","id","versionString","formatToInstallableVersion","copy","action","toString","displayName","keybinding","copyNpmId","category","title","keyChar","handler","run","options","componentId","packageNameFromProps","latest","latestFromProps","componentModel","packageVersion","Title","createElement","style","width","src","Component","hide","Import","ignoreVersion","componentName","name","showInstallMethod","disableInstall","order","menuItems","register","items","totalPlugins","flatten","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","routes","toArray","map","key","Array","isArray","snapToSemver","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","containerSlot","onComponentChange","handleComponentChange","path","useComponent","componentIdStr","useComponentFilters","overriddenRoutes","getMenu","ComponentMenu","className","skipRightSide","navigationSlot","RightNode","listMenuItems","mainMenuItems","groupBy","registerRoute","registerNavigation","nav","props","registerConsumeMethod","consumeMethods","registerWidget","widget","registerRightSideMenuItem","rightSideMenuItem","provider","reactRouterUI","config","pageSlot","componentUI","aspectSection","AspectSection","registerSearchResultWidget","end","DeprecationIcon","commandBar","addCommand","keyBindings","addSearcher","registerMenuItem","route","navigationLink","bitMethod","item","CommandBarButton","exports","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","_default","ComponentAspect","addRuntime"],"sources":["component.ui.runtime.tsx"],"sourcesContent":["import React from 'react';\nimport flatten from 'lodash.flatten';\nimport copy from 'copy-to-clipboard';\nimport type { RouteProps } from 'react-router-dom';\nimport type { LinkProps } from '@teambit/base-react.navigation.link';\nimport { CommandBarAspect, CommandBarUI, CommandEntry } from '@teambit/command-bar';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { PreviewAspect, ClickInsideAnIframeEvent } from '@teambit/preview';\nimport { PubsubAspect, BitBaseEvent, PubsubUI } from '@teambit/pubsub';\nimport { ReactRouterAspect, ReactRouterUI } from '@teambit/react-router';\nimport { UIRuntime } from '@teambit/ui';\nimport { groupBy } from 'lodash';\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport { MenuItem, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport type { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Import } from '@teambit/ui-foundation.ui.use-box.menu';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { AspectSection } from './aspect.section';\nimport { ComponentAspect } from './component.aspect';\nimport { ComponentModel } from './ui';\nimport { Component, ComponentPageElement, ComponentPageSlot } from './ui/component';\nimport { ComponentResultPlugin, ComponentSearcher } from './ui/component-searcher';\nimport {\n ConsumeMethodSlot,\n ConsumePlugin,\n ComponentMenu,\n NavPlugin,\n OrderedNavigationSlot,\n RightSideMenuItem,\n RightSideMenuSlot,\n} from './ui/menu';\nimport { GetComponentsOptions } from './get-component-opts';\n\nexport type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;\n\nexport type ComponentUIConfig = {\n commandBar: boolean;\n};\n\nexport type Server = {\n env: string;\n url: string;\n};\n\nexport type ComponentMeta = {\n id: string;\n};\n\nexport class ComponentUI {\n readonly routePath = `/*`;\n private componentSearcher: ComponentSearcher;\n\n constructor(\n /**\n * Pubsub aspects\n */\n private pubsub: PubsubUI,\n\n private routeSlot: RouteSlot,\n\n private navSlot: OrderedNavigationSlot,\n\n readonly consumeMethodSlot: ConsumeMethodSlot,\n\n /**\n * slot for registering a new widget to the menu.\n */\n private widgetSlot: OrderedNavigationSlot,\n /**\n * slot for registering the right section of the menu\n */\n private rightSideMenuSlot: RightSideMenuSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private pageItemSlot: ComponentPageSlot,\n\n private componentSearchResultSlot: ComponentSearchResultSlot,\n\n private commandBarUI: CommandBarUI,\n\n reactRouterUi: ReactRouterUI\n ) {\n this.componentSearcher = new ComponentSearcher({ navigate: reactRouterUi.navigateTo });\n if (isBrowser) this.registerPubSub();\n }\n\n get routes() {\n return this.routeSlot\n .toArray()\n .map(([key, routes]) => [key, Array.isArray(routes) ? [...flatten(routes)] : [routes]] as [string, RouteProps[]]);\n }\n\n /**\n * the current visible component\n */\n private activeComponent?: ComponentModel;\n\n formatToInstallableVersion(version: string) {\n return snapToSemver(version);\n }\n\n private copyNpmId = () => {\n const packageName = this.activeComponent?.packageName;\n if (packageName) {\n const version = this.activeComponent?.id.version;\n const versionString = version ? `@${this.formatToInstallableVersion(version)}` : '';\n copy(`${packageName}${versionString}`);\n }\n };\n\n /**\n * key bindings used by component aspect\n */\n private keyBindings: CommandEntry[] = [\n {\n id: 'component.copyBitId', // TODO - extract to a component!\n action: () => {\n copy(this.activeComponent?.id.toString() || '');\n },\n displayName: 'Copy component ID',\n keybinding: '.',\n },\n {\n id: 'component.copyNpmId', // TODO - extract to a component!\n action: this.copyNpmId,\n displayName: 'Copy component package name',\n keybinding: ',',\n },\n ];\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n {\n category: 'workflow',\n title: 'Copy component ID',\n keyChar: '.',\n handler: () => this.commandBarUI?.run('component.copyBitId'),\n },\n {\n category: 'workflow',\n title: 'Copy component package name',\n keyChar: ',',\n handler: () => this.commandBarUI?.run('component.copyNpmId'),\n },\n ];\n\n private bitMethod: ConsumePlugin = ({\n options,\n id: componentId,\n packageName: packageNameFromProps,\n latest: latestFromProps,\n componentModel,\n }) => {\n const packageName = packageNameFromProps || componentModel?.packageName;\n const latest = latestFromProps || componentModel?.id.version;\n\n const version = componentId.version === latest ? '' : `@${componentId.version}`;\n const packageVersion =\n componentId.version === latest ? '' : `@${this.formatToInstallableVersion(componentId.version as string)}`;\n\n return {\n Title: <img style={{ width: '20px' }} src=\"https://static.bit.dev/brands/bit-logo-text.svg\" />,\n Component: !options?.hide ? (\n <Import\n componentId={`${componentId.toString({ ignoreVersion: true })}${version}`}\n packageName={`${packageName}${packageVersion}`}\n componentName={componentId.name}\n showInstallMethod={!options?.disableInstall}\n />\n ) : null,\n order: 0,\n };\n };\n\n registerPubSub() {\n this.pubsub.sub(PreviewAspect.id, (be: BitBaseEvent<any>) => {\n if (be.type === ClickInsideAnIframeEvent.TYPE) {\n const event = new MouseEvent('mousedown', {\n view: window,\n bubbles: true,\n cancelable: true,\n });\n\n const body = document.body;\n body?.dispatchEvent(event);\n }\n });\n }\n\n handleComponentChange = (activeComponent?: ComponentModel) => {\n this.activeComponent = activeComponent;\n };\n\n getComponentUI(host: string, options: GetComponentsOptions = {}) {\n return (\n <Component\n routeSlot={this.routeSlot}\n containerSlot={this.pageItemSlot}\n onComponentChange={this.handleComponentChange}\n host={host}\n path={options.path}\n useComponent={options.useComponent}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n overriddenRoutes={options.routes}\n />\n );\n }\n\n getMenu(host: string, options: GetComponentsOptions = {}) {\n return (\n <ComponentMenu\n className={options.className}\n skipRightSide={options.skipRightSide}\n navigationSlot={this.navSlot}\n consumeMethodSlot={this.consumeMethodSlot}\n rightSideMenuSlot={this.rightSideMenuSlot}\n widgetSlot={this.widgetSlot}\n host={host}\n menuItemSlot={this.menuItemSlot}\n useComponent={options.useComponent}\n path={options.path}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n RightNode={options.RightNode}\n />\n );\n }\n\n listMenuItems() {\n const mainMenuItems = groupBy(flatten(this.menuItemSlot.values()), 'category');\n return mainMenuItems;\n }\n\n registerRoute(routes: RouteProps[] | RouteProps) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerNavigation(nav: LinkProps, order?: number) {\n this.navSlot.register({\n props: nav,\n order,\n });\n }\n\n registerConsumeMethod(...consumeMethods: ConsumePlugin[]) {\n this.consumeMethodSlot.register(consumeMethods);\n }\n\n registerWidget(widget: LinkProps, order?: number) {\n this.widgetSlot.register({ props: widget, order });\n }\n\n registerRightSideMenuItem(...rightSideMenuItem: RightSideMenuItem[]) {\n this.rightSideMenuSlot.register(rightSideMenuItem);\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerPageItem = (...items: ComponentPageElement[]) => {\n this.pageItemSlot.register(items);\n };\n\n /** register widgets to the components listed in the command bar */\n registerSearchResultWidget = (...items: ComponentResultPlugin[]) => {\n this.componentSearchResultSlot.register(items);\n const totalPlugins = flatten(this.componentSearchResultSlot.values());\n\n this.componentSearcher.updatePlugins(totalPlugins);\n };\n\n updateComponents = (components: ComponentModel[]) => {\n this.componentSearcher.update(components || []);\n };\n\n static dependencies = [PubsubAspect, CommandBarAspect, ReactRouterAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<NavPlugin>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<ConsumeMethodSlot>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<ComponentPageSlot>(),\n Slot.withType<ComponentSearchResultSlot>(),\n Slot.withType<RightSideMenuSlot>(),\n ];\n static defaultConfig: ComponentUIConfig = {\n commandBar: true,\n };\n\n static async provider(\n [pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI],\n config: ComponentUIConfig,\n [\n routeSlot,\n navSlot,\n consumeMethodSlot,\n widgetSlot,\n menuItemSlot,\n pageSlot,\n componentSearchResultSlot,\n rightSideMenuSlot,\n ]: [\n RouteSlot,\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n OrderedNavigationSlot,\n MenuItemSlot,\n ComponentPageSlot,\n ComponentSearchResultSlot,\n RightSideMenuSlot\n ]\n ) {\n // TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)\n // TODO: add contextual hook for ComponentHost @uri/@oded\n const componentUI = new ComponentUI(\n pubsub,\n routeSlot,\n navSlot,\n consumeMethodSlot,\n widgetSlot,\n rightSideMenuSlot,\n menuItemSlot,\n pageSlot,\n componentSearchResultSlot,\n commandBarUI,\n reactRouterUI\n );\n const aspectSection = new AspectSection();\n // @ts-ignore\n componentUI.registerSearchResultWidget({ key: 'deprecation', end: DeprecationIcon });\n\n if (componentUI.commandBarUI && config.commandBar) {\n componentUI.commandBarUI.addCommand(...componentUI.keyBindings);\n commandBarUI.addSearcher(componentUI.componentSearcher);\n }\n\n componentUI.registerMenuItem(componentUI.menuItems);\n componentUI.registerRoute(aspectSection.route);\n componentUI.registerWidget(aspectSection.navigationLink, aspectSection.order);\n componentUI.registerConsumeMethod(componentUI.bitMethod);\n componentUI.registerRightSideMenuItem({\n item: <commandBarUI.CommandBarButton />,\n order: 90,\n });\n return componentUI;\n }\n}\n\nexport default ComponentUI;\n\nComponentAspect.addRuntime(ComponentUI);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","data","_interopRequireDefault","require","_lodash","_copyToClipboard","_commandBar","_componentUi","_harmony","_preview","_pubsub","_reactRouter","_ui","_lodash2","_uiFoundationUi","_uiFoundationUiUseBox","_componentPackageVersion","_aspect","_component","_component2","_componentSearcher","_menu","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ComponentUI","constructor","pubsub","routeSlot","navSlot","consumeMethodSlot","widgetSlot","rightSideMenuSlot","menuItemSlot","pageItemSlot","componentSearchResultSlot","commandBarUI","reactRouterUi","packageName","activeComponent","version","id","versionString","formatToInstallableVersion","copy","action","toString","displayName","keybinding","copyNpmId","category","title","keyChar","handler","run","options","componentId","packageNameFromProps","latest","latestFromProps","componentModel","packageVersion","Title","createElement","style","width","src","Component","hide","Import","ignoreVersion","componentName","name","showInstallMethod","disableInstall","order","menuItems","register","items","totalPlugins","flatten","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","routes","toArray","map","key","Array","isArray","snapToSemver","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","containerSlot","onComponentChange","handleComponentChange","path","useComponent","componentIdStr","useComponentFilters","overriddenRoutes","getMenu","ComponentMenu","className","skipRightSide","navigationSlot","RightNode","listMenuItems","mainMenuItems","groupBy","registerRoute","registerNavigation","nav","props","registerConsumeMethod","consumeMethods","registerWidget","widget","registerRightSideMenuItem","rightSideMenuItem","provider","reactRouterUI","config","pageSlot","componentUI","aspectSection","AspectSection","registerSearchResultWidget","end","DeprecationIcon","commandBar","addCommand","keyBindings","addSearcher","registerMenuItem","route","navigationLink","bitMethod","item","CommandBarButton","exports","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","_default","ComponentAspect","addRuntime"],"sources":["component.ui.runtime.tsx"],"sourcesContent":["import React from 'react';\nimport flatten from 'lodash.flatten';\nimport copy from 'copy-to-clipboard';\nimport type { RouteProps } from 'react-router-dom';\nimport type { LinkProps } from '@teambit/base-react.navigation.link';\nimport { CommandBarAspect, CommandBarUI, CommandEntry } from '@teambit/command-bar';\nimport { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { PreviewAspect, ClickInsideAnIframeEvent } from '@teambit/preview';\nimport { PubsubAspect, BitBaseEvent, PubsubUI } from '@teambit/pubsub';\nimport { ReactRouterAspect, ReactRouterUI } from '@teambit/react-router';\nimport { UIRuntime } from '@teambit/ui';\nimport { groupBy } from 'lodash';\nimport { isBrowser } from '@teambit/ui-foundation.ui.is-browser';\nimport { MenuItem, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport type { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Import } from '@teambit/ui-foundation.ui.use-box.menu';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { AspectSection } from './aspect.section';\nimport { ComponentAspect } from './component.aspect';\nimport { ComponentModel } from './ui';\nimport { Component, ComponentPageElement, ComponentPageSlot } from './ui/component';\nimport { ComponentResultPlugin, ComponentSearcher } from './ui/component-searcher';\nimport {\n ConsumeMethodSlot,\n ConsumePlugin,\n ComponentMenu,\n NavPlugin,\n OrderedNavigationSlot,\n RightSideMenuItem,\n RightSideMenuSlot,\n} from './ui/menu';\nimport { GetComponentsOptions } from './get-component-opts';\n\nexport type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;\n\nexport type ComponentUIConfig = {\n commandBar: boolean;\n};\n\nexport type Server = {\n env: string;\n url: string;\n};\n\nexport type ComponentMeta = {\n id: string;\n};\n\nexport class ComponentUI {\n readonly routePath = `/*`;\n private componentSearcher: ComponentSearcher;\n\n constructor(\n /**\n * Pubsub aspects\n */\n private pubsub: PubsubUI,\n\n private routeSlot: RouteSlot,\n\n private navSlot: OrderedNavigationSlot,\n\n readonly consumeMethodSlot: ConsumeMethodSlot,\n\n /**\n * slot for registering a new widget to the menu.\n */\n private widgetSlot: OrderedNavigationSlot,\n /**\n * slot for registering the right section of the menu\n */\n private rightSideMenuSlot: RightSideMenuSlot,\n\n private menuItemSlot: MenuItemSlot,\n\n private pageItemSlot: ComponentPageSlot,\n\n private componentSearchResultSlot: ComponentSearchResultSlot,\n\n private commandBarUI: CommandBarUI,\n\n reactRouterUi: ReactRouterUI\n ) {\n this.componentSearcher = new ComponentSearcher({ navigate: reactRouterUi.navigateTo });\n if (isBrowser) this.registerPubSub();\n }\n\n get routes() {\n return this.routeSlot\n .toArray()\n .map(([key, routes]) => [key, Array.isArray(routes) ? [...flatten(routes)] : [routes]] as [string, RouteProps[]]);\n }\n\n /**\n * the current visible component\n */\n private activeComponent?: ComponentModel;\n\n formatToInstallableVersion(version: string) {\n return snapToSemver(version);\n }\n\n private copyNpmId = () => {\n const packageName = this.activeComponent?.packageName;\n if (packageName) {\n const version = this.activeComponent?.id.version;\n const versionString = version ? `@${this.formatToInstallableVersion(version)}` : '';\n copy(`${packageName}${versionString}`);\n }\n };\n\n /**\n * key bindings used by component aspect\n */\n private keyBindings: CommandEntry[] = [\n {\n id: 'component.copyBitId', // TODO - extract to a component!\n action: () => {\n copy(this.activeComponent?.id.toString() || '');\n },\n displayName: 'Copy component ID',\n keybinding: '.',\n },\n {\n id: 'component.copyNpmId', // TODO - extract to a component!\n action: this.copyNpmId,\n displayName: 'Copy component package name',\n keybinding: ',',\n },\n ];\n\n private menuItems: MenuItem[] = [\n {\n category: 'general',\n title: 'Open command bar',\n keyChar: 'mod+k',\n handler: () => this.commandBarUI?.run('command-bar.open'),\n },\n {\n category: 'general',\n title: 'Toggle component list',\n keyChar: 'alt+s',\n handler: () => this.commandBarUI?.run('sidebar.toggle'),\n },\n {\n category: 'workflow',\n title: 'Copy component ID',\n keyChar: '.',\n handler: () => this.commandBarUI?.run('component.copyBitId'),\n },\n {\n category: 'workflow',\n title: 'Copy component package name',\n keyChar: ',',\n handler: () => this.commandBarUI?.run('component.copyNpmId'),\n },\n ];\n\n private bitMethod: ConsumePlugin = ({\n options,\n id: componentId,\n packageName: packageNameFromProps,\n latest: latestFromProps,\n componentModel,\n }) => {\n const packageName = packageNameFromProps || componentModel?.packageName;\n const latest = latestFromProps || componentModel?.id.version;\n\n const version = componentId.version === latest ? '' : `@${componentId.version}`;\n const packageVersion =\n componentId.version === latest ? '' : `@${this.formatToInstallableVersion(componentId.version as string)}`;\n\n return {\n Title: <img style={{ width: '20px' }} src=\"https://static.bit.dev/brands/bit-logo-text.svg\" />,\n Component: !options?.hide ? (\n <Import\n componentId={`${componentId.toString({ ignoreVersion: true })}${version}`}\n packageName={`${packageName}${packageVersion}`}\n componentName={componentId.name}\n showInstallMethod={!options?.disableInstall}\n />\n ) : null,\n order: 0,\n };\n };\n\n registerPubSub() {\n this.pubsub.sub(PreviewAspect.id, (be: BitBaseEvent<any>) => {\n if (be.type === ClickInsideAnIframeEvent.TYPE) {\n const event = new MouseEvent('mousedown', {\n view: window,\n bubbles: true,\n cancelable: true,\n });\n\n const body = document.body;\n body?.dispatchEvent(event);\n }\n });\n }\n\n handleComponentChange = (activeComponent?: ComponentModel) => {\n this.activeComponent = activeComponent;\n };\n\n getComponentUI(host: string, options: GetComponentsOptions = {}) {\n return (\n <Component\n routeSlot={this.routeSlot}\n containerSlot={this.pageItemSlot}\n onComponentChange={this.handleComponentChange}\n host={host}\n path={options.path}\n useComponent={options.useComponent}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n overriddenRoutes={options.routes}\n />\n );\n }\n\n getMenu(host: string, options: GetComponentsOptions = {}) {\n return (\n <ComponentMenu\n className={options.className}\n skipRightSide={options.skipRightSide}\n navigationSlot={this.navSlot}\n consumeMethodSlot={this.consumeMethodSlot}\n rightSideMenuSlot={this.rightSideMenuSlot}\n widgetSlot={this.widgetSlot}\n host={host}\n menuItemSlot={this.menuItemSlot}\n useComponent={options.useComponent}\n path={options.path}\n componentIdStr={options.componentId}\n useComponentFilters={options.useComponentFilters}\n RightNode={options.RightNode}\n />\n );\n }\n\n listMenuItems() {\n const mainMenuItems = groupBy(flatten(this.menuItemSlot.values()), 'category');\n return mainMenuItems;\n }\n\n registerRoute(routes: RouteProps[] | RouteProps) {\n this.routeSlot.register(routes);\n return this;\n }\n\n registerNavigation(nav: LinkProps, order?: number) {\n this.navSlot.register({\n props: nav,\n order,\n });\n }\n\n registerConsumeMethod(...consumeMethods: ConsumePlugin[]) {\n this.consumeMethodSlot.register(consumeMethods);\n }\n\n registerWidget(widget: LinkProps, order?: number) {\n this.widgetSlot.register({ props: widget, order });\n }\n\n registerRightSideMenuItem(...rightSideMenuItem: RightSideMenuItem[]) {\n this.rightSideMenuSlot.register(rightSideMenuItem);\n }\n\n registerMenuItem = (menuItems: MenuItem[]) => {\n this.menuItemSlot.register(menuItems);\n };\n\n registerPageItem = (...items: ComponentPageElement[]) => {\n this.pageItemSlot.register(items);\n };\n\n /** register widgets to the components listed in the command bar */\n registerSearchResultWidget = (...items: ComponentResultPlugin[]) => {\n this.componentSearchResultSlot.register(items);\n const totalPlugins = flatten(this.componentSearchResultSlot.values());\n\n this.componentSearcher.updatePlugins(totalPlugins);\n };\n\n updateComponents = (components: ComponentModel[]) => {\n this.componentSearcher.update(components || []);\n };\n\n static dependencies = [PubsubAspect, CommandBarAspect, ReactRouterAspect];\n\n static runtime = UIRuntime;\n\n static slots = [\n Slot.withType<RouteProps>(),\n Slot.withType<NavPlugin>(),\n Slot.withType<NavigationSlot>(),\n Slot.withType<ConsumeMethodSlot>(),\n Slot.withType<MenuItemSlot>(),\n Slot.withType<ComponentPageSlot>(),\n Slot.withType<ComponentSearchResultSlot>(),\n Slot.withType<RightSideMenuSlot>(),\n ];\n static defaultConfig: ComponentUIConfig = {\n commandBar: true,\n };\n\n static async provider(\n [pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI],\n config: ComponentUIConfig,\n [\n routeSlot,\n navSlot,\n consumeMethodSlot,\n widgetSlot,\n menuItemSlot,\n pageSlot,\n componentSearchResultSlot,\n rightSideMenuSlot,\n ]: [\n RouteSlot,\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n OrderedNavigationSlot,\n MenuItemSlot,\n ComponentPageSlot,\n ComponentSearchResultSlot,\n RightSideMenuSlot,\n ]\n ) {\n // TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)\n // TODO: add contextual hook for ComponentHost @uri/@oded\n const componentUI = new ComponentUI(\n pubsub,\n routeSlot,\n navSlot,\n consumeMethodSlot,\n widgetSlot,\n rightSideMenuSlot,\n menuItemSlot,\n pageSlot,\n componentSearchResultSlot,\n commandBarUI,\n reactRouterUI\n );\n const aspectSection = new AspectSection();\n // @ts-ignore\n componentUI.registerSearchResultWidget({ key: 'deprecation', end: DeprecationIcon });\n\n if (componentUI.commandBarUI && config.commandBar) {\n componentUI.commandBarUI.addCommand(...componentUI.keyBindings);\n commandBarUI.addSearcher(componentUI.componentSearcher);\n }\n\n componentUI.registerMenuItem(componentUI.menuItems);\n componentUI.registerRoute(aspectSection.route);\n componentUI.registerWidget(aspectSection.navigationLink, aspectSection.order);\n componentUI.registerConsumeMethod(componentUI.bitMethod);\n componentUI.registerRightSideMenuItem({\n item: <commandBarUI.CommandBarButton />,\n order: 90,\n });\n return componentUI;\n }\n}\n\nexport default ComponentUI;\n\nComponentAspect.addRuntime(ComponentUI);\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bitError","data","require","_componentId","DEV_ENV","RUNTIME_ENV","DependencyId","ComponentID","exports","Dependency","constructor","id","PackageDependency","ComponentDependency","DependencyList","Array","packages","filter","dep","components","fromArray","dependencies","Dependencies","runtime","dev","peer","getByEnvironment","env","concat","BitError","computeDev","computeRuntime"],"sources":["dependencies.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { BitError } from '@teambit/bit-error';\nimport { ComponentID } from '@teambit/component-id';\n\nconst DEV_ENV = 'development';\nconst RUNTIME_ENV = 'runtime';\n\n// type Environment = DEV_ENV | RUNTIME_ENV;\ntype Environment = 'development' | 'runtime';\n// type WrappingMethod = 'component' | 'package';\n\nexport class DependencyId extends ComponentID {}\n\nexport class Dependency {\n constructor(public id: DependencyId) {}\n}\n\nexport class PackageDependency extends Dependency {}\n\nexport class ComponentDependency extends Dependency {}\n\nexport class DependencyList extends Array<Dependency> {\n /**\n * Get only package dependencies\n *\n * @readonly\n * @memberof DependencyList\n */\n get packages(): PackageDependency[] {\n return this.filter((dep) => dep instanceof PackageDependency);\n }\n\n get components(): ComponentDependency[] {\n return this.filter((dep) => dep instanceof ComponentDependency);\n }\n\n static fromArray(dependencies: Dependency[]): DependencyList {\n return new DependencyList(...dependencies);\n }\n}\n\nexport class Dependencies {\n constructor(public runtime: DependencyList, public dev: DependencyList, public peer: DependencyList) {}\n\n private getByEnvironment(env: Environment): DependencyList {\n if (env === DEV_ENV) {\n return DependencyList.fromArray(this.runtime.concat(this.dev).concat(this.peer));\n }\n if (env === RUNTIME_ENV) {\n return DependencyList.fromArray(this.runtime.concat(this.peer));\n }\n throw new BitError(`env ${env} is not supported`);\n }\n\n /**\n * Get dependencies needed for development environnement such as runtime, dev and peer\n *\n * @returns {DependencyList}\n * @memberof Dependencies\n */\n computeDev(): DependencyList {\n return this.getByEnvironment(DEV_ENV);\n }\n\n /**\n * Get dependencies needed for runtime environnement such as runtime and peer\n *\n * @returns {DependencyList}\n * @memberof Dependencies\n */\n computeRuntime(): DependencyList {\n return this.getByEnvironment(RUNTIME_ENV);\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,aAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAFA;;AAIA,MAAMG,OAAO,GAAG,aAAa;AAC7B,MAAMC,WAAW,GAAG,SAAS;;AAE7B;;AAEA;;AAEO,MAAMC,YAAY,SAASC,0BAAW,CAAC;AAAEC,OAAA,CAAAF,YAAA,GAAAA,YAAA;AAEzC,MAAMG,UAAU,CAAC;EACtBC,WAAWA,CAAQC,EAAgB,EAAE;IAAA,KAAlBA,EAAgB,GAAhBA,EAAgB;EAAG;AACxC;AAACH,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAEM,MAAMG,iBAAiB,SAASH,UAAU,CAAC;AAAED,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAE7C,MAAMC,mBAAmB,SAASJ,UAAU,CAAC;AAAED,OAAA,CAAAK,mBAAA,GAAAA,mBAAA;AAE/C,MAAMC,cAAc,SAASC,KAAK,CAAa;EACpD;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,QAAQA,CAAA,EAAwB;IAClC,OAAO,IAAI,CAACC,MAAM,CAAEC,GAAG,IAAKA,GAAG,YAAYN,iBAAiB,CAAC;EAC/D;EAEA,IAAIO,UAAUA,CAAA,EAA0B;IACtC,OAAO,IAAI,CAACF,MAAM,CAAEC,GAAG,IAAKA,GAAG,YAAYL,mBAAmB,CAAC;EACjE;EAEA,OAAOO,SAASA,CAACC,YAA0B,EAAkB;IAC3D,OAAO,IAAIP,cAAc,CAAC,GAAGO,YAAY,CAAC;EAC5C;AACF;AAACb,OAAA,CAAAM,cAAA,GAAAA,cAAA;AAEM,MAAMQ,YAAY,CAAC;EACxBZ,WAAWA,CAAQa,OAAuB,EAASC,GAAmB,EAASC,IAAoB,EAAE;IAAA,KAAlFF,OAAuB,GAAvBA,OAAuB;IAAA,KAASC,GAAmB,GAAnBA,GAAmB;IAAA,KAASC,IAAoB,GAApBA,IAAoB;EAAG;EAE9FC,gBAAgBA,CAACC,GAAgB,EAAkB;IACzD,IAAIA,GAAG,KAAKvB,OAAO,EAAE;MACnB,OAAOU,cAAc,CAACM,SAAS,CAAC,IAAI,CAACG,OAAO,CAACK,MAAM,CAAC,IAAI,CAACJ,GAAG,CAAC,CAACI,MAAM,CAAC,IAAI,CAACH,IAAI,CAAC,CAAC;IAClF;IACA,IAAIE,GAAG,KAAKtB,WAAW,EAAE;MACvB,OAAOS,cAAc,CAACM,SAAS,CAAC,IAAI,CAACG,OAAO,CAACK,MAAM,CAAC,IAAI,CAACH,IAAI,CAAC,CAAC;IACjE;IACA,MAAM,KAAII,oBAAQ,EAAC,OAAOF,GAAG,mBAAmB,CAAC;EACnD;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEG,UAAUA,CAAA,EAAmB;IAC3B,OAAO,IAAI,CAACJ,gBAAgB,CAACtB,OAAO,CAAC;EACvC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE2B,cAAcA,CAAA,EAAmB;IAC/B,OAAO,IAAI,CAACL,gBAAgB,CAACrB,WAAW,CAAC;EAC3C;AACF;AAACG,OAAA,CAAAc,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bitError","data","require","_componentId","DEV_ENV","RUNTIME_ENV","DependencyId","ComponentID","exports","Dependency","constructor","id","PackageDependency","ComponentDependency","DependencyList","Array","packages","filter","dep","components","fromArray","dependencies","Dependencies","runtime","dev","peer","getByEnvironment","env","concat","BitError","computeDev","computeRuntime"],"sources":["dependencies.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport { BitError } from '@teambit/bit-error';\nimport { ComponentID } from '@teambit/component-id';\n\nconst DEV_ENV = 'development';\nconst RUNTIME_ENV = 'runtime';\n\n// type Environment = DEV_ENV | RUNTIME_ENV;\ntype Environment = 'development' | 'runtime';\n// type WrappingMethod = 'component' | 'package';\n\nexport class DependencyId extends ComponentID {}\n\nexport class Dependency {\n constructor(public id: DependencyId) {}\n}\n\nexport class PackageDependency extends Dependency {}\n\nexport class ComponentDependency extends Dependency {}\n\nexport class DependencyList extends Array<Dependency> {\n /**\n * Get only package dependencies\n *\n * @readonly\n * @memberof DependencyList\n */\n get packages(): PackageDependency[] {\n return this.filter((dep) => dep instanceof PackageDependency);\n }\n\n get components(): ComponentDependency[] {\n return this.filter((dep) => dep instanceof ComponentDependency);\n }\n\n static fromArray(dependencies: Dependency[]): DependencyList {\n return new DependencyList(...dependencies);\n }\n}\n\nexport class Dependencies {\n constructor(\n public runtime: DependencyList,\n public dev: DependencyList,\n public peer: DependencyList\n ) {}\n\n private getByEnvironment(env: Environment): DependencyList {\n if (env === DEV_ENV) {\n return DependencyList.fromArray(this.runtime.concat(this.dev).concat(this.peer));\n }\n if (env === RUNTIME_ENV) {\n return DependencyList.fromArray(this.runtime.concat(this.peer));\n }\n throw new BitError(`env ${env} is not supported`);\n }\n\n /**\n * Get dependencies needed for development environnement such as runtime, dev and peer\n *\n * @returns {DependencyList}\n * @memberof Dependencies\n */\n computeDev(): DependencyList {\n return this.getByEnvironment(DEV_ENV);\n }\n\n /**\n * Get dependencies needed for runtime environnement such as runtime and peer\n *\n * @returns {DependencyList}\n * @memberof Dependencies\n */\n computeRuntime(): DependencyList {\n return this.getByEnvironment(RUNTIME_ENV);\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,aAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,YAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAFA;;AAIA,MAAMG,OAAO,GAAG,aAAa;AAC7B,MAAMC,WAAW,GAAG,SAAS;;AAE7B;;AAEA;;AAEO,MAAMC,YAAY,SAASC,0BAAW,CAAC;AAAEC,OAAA,CAAAF,YAAA,GAAAA,YAAA;AAEzC,MAAMG,UAAU,CAAC;EACtBC,WAAWA,CAAQC,EAAgB,EAAE;IAAA,KAAlBA,EAAgB,GAAhBA,EAAgB;EAAG;AACxC;AAACH,OAAA,CAAAC,UAAA,GAAAA,UAAA;AAEM,MAAMG,iBAAiB,SAASH,UAAU,CAAC;AAAED,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AAE7C,MAAMC,mBAAmB,SAASJ,UAAU,CAAC;AAAED,OAAA,CAAAK,mBAAA,GAAAA,mBAAA;AAE/C,MAAMC,cAAc,SAASC,KAAK,CAAa;EACpD;AACF;AACA;AACA;AACA;AACA;EACE,IAAIC,QAAQA,CAAA,EAAwB;IAClC,OAAO,IAAI,CAACC,MAAM,CAAEC,GAAG,IAAKA,GAAG,YAAYN,iBAAiB,CAAC;EAC/D;EAEA,IAAIO,UAAUA,CAAA,EAA0B;IACtC,OAAO,IAAI,CAACF,MAAM,CAAEC,GAAG,IAAKA,GAAG,YAAYL,mBAAmB,CAAC;EACjE;EAEA,OAAOO,SAASA,CAACC,YAA0B,EAAkB;IAC3D,OAAO,IAAIP,cAAc,CAAC,GAAGO,YAAY,CAAC;EAC5C;AACF;AAACb,OAAA,CAAAM,cAAA,GAAAA,cAAA;AAEM,MAAMQ,YAAY,CAAC;EACxBZ,WAAWA,CACFa,OAAuB,EACvBC,GAAmB,EACnBC,IAAoB,EAC3B;IAAA,KAHOF,OAAuB,GAAvBA,OAAuB;IAAA,KACvBC,GAAmB,GAAnBA,GAAmB;IAAA,KACnBC,IAAoB,GAApBA,IAAoB;EAC1B;EAEKC,gBAAgBA,CAACC,GAAgB,EAAkB;IACzD,IAAIA,GAAG,KAAKvB,OAAO,EAAE;MACnB,OAAOU,cAAc,CAACM,SAAS,CAAC,IAAI,CAACG,OAAO,CAACK,MAAM,CAAC,IAAI,CAACJ,GAAG,CAAC,CAACI,MAAM,CAAC,IAAI,CAACH,IAAI,CAAC,CAAC;IAClF;IACA,IAAIE,GAAG,KAAKtB,WAAW,EAAE;MACvB,OAAOS,cAAc,CAACM,SAAS,CAAC,IAAI,CAACG,OAAO,CAACK,MAAM,CAAC,IAAI,CAACH,IAAI,CAAC,CAAC;IACjE;IACA,MAAM,KAAII,oBAAQ,EAAC,OAAOF,GAAG,mBAAmB,CAAC;EACnD;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEG,UAAUA,CAAA,EAAmB;IAC3B,OAAO,IAAI,CAACJ,gBAAgB,CAACtB,OAAO,CAAC;EACvC;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE2B,cAAcA,CAAA,EAAmB;IAC/B,OAAO,IAAI,CAACL,gBAAgB,CAACrB,WAAW,CAAC;EAC3C;AACF;AAACG,OAAA,CAAAc,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_ui","data","require","ComponentHostModel","constructor","name","components","from","getHost","ComponentModel","fromArray","list","exports"],"sources":["component-host-model.ts"],"sourcesContent":["import { ComponentModel } from '../ui';\n\nexport class ComponentHostModel {\n constructor(readonly name: string, readonly components: ComponentModel[]) {}\n\n static from(data: any) {\n return new ComponentHostModel(data.getHost.name, ComponentModel.fromArray(data.getHost.list));\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,IAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,GAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,kBAAkB,CAAC;EAC9BC,WAAWA,CAAUC,IAAY,EAAWC,UAA4B,EAAE;IAAA,KAArDD,IAAY,GAAZA,IAAY;IAAA,KAAWC,UAA4B,GAA5BA,UAA4B;EAAG;EAE3E,OAAOC,IAAIA,CAACN,IAAS,EAAE;IACrB,OAAO,IAAIE,kBAAkB,CAACF,IAAI,CAACO,OAAO,CAACH,IAAI,EAAEI,oBAAc,CAACC,SAAS,CAACT,IAAI,CAACO,OAAO,CAACG,IAAI,CAAC,CAAC;EAC/F;AACF;AAACC,OAAA,CAAAT,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_ui","data","require","ComponentHostModel","constructor","name","components","from","getHost","ComponentModel","fromArray","list","exports"],"sources":["component-host-model.ts"],"sourcesContent":["import { ComponentModel } from '../ui';\n\nexport class ComponentHostModel {\n constructor(\n readonly name: string,\n readonly components: ComponentModel[]\n ) {}\n\n static from(data: any) {\n return new ComponentHostModel(data.getHost.name, ComponentModel.fromArray(data.getHost.list));\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,IAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,GAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,kBAAkB,CAAC;EAC9BC,WAAWA,CACAC,IAAY,EACZC,UAA4B,EACrC;IAAA,KAFSD,IAAY,GAAZA,IAAY;IAAA,KACZC,UAA4B,GAA5BA,UAA4B;EACpC;EAEH,OAAOC,IAAIA,CAACN,IAAS,EAAE;IACrB,OAAO,IAAIE,kBAAkB,CAACF,IAAI,CAACO,OAAO,CAACH,IAAI,EAAEI,oBAAc,CAACC,SAAS,CAACT,IAAI,CAACO,OAAO,CAACG,IAAI,CAAC,CAAC;EAC/F;AACF;AAACC,OAAA,CAAAT,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_component@1.0.425/dist/component.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_component@1.0.425/dist/component.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_component@1.0.427/dist/component.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_component@1.0.427/dist/component.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1 +1 @@
1
- {"version":3,"names":["_open","data","_interopRequireDefault","require","_lodash","_cliTable","_legacy","_componentId","_showLegacyCmd","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ShowCmd","constructor","component","logger","name","description","getComponent","idStr","remote","id","ComponentID","fromString","host","getHostIfExist","Error","getRemoteComponent","getHost","resolveComponentId","get","MissingBitMapComponent","useLegacy","json","compare","showData","actionLegacy","reportLegacy","report","legacy","browser","fragments","getShowFragments","rows","Promise","all","map","fragment","row","renderRow","content","title","table","CLITable","compact","renderedTable","render","isExported","consoleWarning","homepageUrl","homepage","open","catch","err","error","JSON","parse","undefined","filter","exports"],"sources":["show.cmd.ts"],"sourcesContent":["import open from 'open';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { compact } from 'lodash';\n// import { Logger } from '@teambit/logger';\n// import chalk from 'chalk';\nimport { CLITable } from '@teambit/cli-table';\nimport { MissingBitMapComponent } from '@teambit/legacy.bit-map';\nimport { ComponentID } from '@teambit/component-id';\nimport { Logger } from '@teambit/logger';\nimport { reportLegacy, actionLegacy } from './legacy-show/show-legacy-cmd';\nimport { ComponentMain } from '../component.main.runtime';\n\nexport class ShowCmd implements Command {\n name = 'show <component-name>';\n description = \"display the component's essential information\";\n alias = '';\n group = 'info';\n arguments = [{ name: 'component-name', description: 'component name or component id' }];\n options = [\n ['j', 'json', 'return the component data in json format'],\n ['l', 'legacy', 'use the legacy bit show.'],\n ['r', 'remote', 'show data for a remote component'],\n ['b', 'browser', 'open the component page in the browser'],\n [\n 'c',\n 'compare',\n 'legacy-only. compare current file system component to its latest tagged version [default=latest]',\n ],\n ] as CommandOptions;\n\n constructor(private component: ComponentMain, private logger: Logger) {}\n\n private async getComponent(idStr: string, remote: boolean) {\n if (remote) {\n const id = ComponentID.fromString(idStr); // user used --remote so we know it has a scope\n const host = this.component.getHostIfExist('teambit.scope/scope');\n if (!host)\n throw new Error(`error: the current directory is not a workspace nor a scope. the full \"bit show\" is not supported.\nto see the legacy bit show, please use \"--legacy\" flag`);\n if (!host.getRemoteComponent) {\n throw new Error('Component Host does not implement getRemoteComponent()');\n }\n const component = await host.getRemoteComponent(id);\n return component;\n }\n const host = this.component.getHost();\n const id = await host.resolveComponentId(idStr);\n const component = await host.get(id);\n if (!component) throw new MissingBitMapComponent(idStr);\n return component;\n }\n\n async useLegacy(id: string, json = false, remote = false, compare = false) {\n const showData = await actionLegacy([id], {\n json,\n remote,\n compare,\n });\n\n return reportLegacy(showData);\n }\n\n async report(\n [idStr]: [string],\n { legacy, remote, compare, browser }: { legacy: boolean; remote: boolean; compare: boolean; browser: boolean }\n ) {\n if (legacy) return this.useLegacy(idStr, false, remote, compare);\n const component = await this.getComponent(idStr, remote);\n const fragments = this.component.getShowFragments();\n const rows = await Promise.all(\n fragments.map(async (fragment) => {\n const row = await fragment.renderRow(component);\n if (!row.content) return null;\n return [row.title, row.content];\n })\n );\n\n const table = new CLITable([], compact(rows));\n const renderedTable = table.render();\n if (browser) {\n const isExported = component.isExported();\n if (!isExported) {\n this.logger.consoleWarning(`unable to open the browser, the component \"${idStr}\" has not been exported yet`);\n return renderedTable;\n }\n const homepageUrl = component.homepage;\n if (!homepageUrl || homepageUrl === '') {\n this.logger.consoleWarning(`unable to open browser, the component ${idStr} does not have a homepage`);\n return renderedTable;\n }\n open(homepageUrl).catch((err) => {\n this.logger.error(`failed to open browser for component ${idStr}, err: ${err}`);\n });\n }\n return renderedTable;\n }\n\n async json([idStr]: [string], { remote, legacy }: { remote: boolean; legacy: boolean }) {\n if (legacy) return JSON.parse(await this.useLegacy(idStr, true, remote));\n const component = await this.getComponent(idStr, remote);\n const fragments = this.component.getShowFragments();\n const rows = await Promise.all(\n fragments.map(async (fragment) => {\n return fragment.json ? fragment.json(component) : undefined;\n })\n );\n\n return rows.filter((row) => !!row);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_open","data","_interopRequireDefault","require","_lodash","_cliTable","_legacy","_componentId","_showLegacyCmd","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","ShowCmd","constructor","component","logger","name","description","getComponent","idStr","remote","id","ComponentID","fromString","host","getHostIfExist","Error","getRemoteComponent","getHost","resolveComponentId","get","MissingBitMapComponent","useLegacy","json","compare","showData","actionLegacy","reportLegacy","report","legacy","browser","fragments","getShowFragments","rows","Promise","all","map","fragment","row","renderRow","content","title","table","CLITable","compact","renderedTable","render","isExported","consoleWarning","homepageUrl","homepage","open","catch","err","error","JSON","parse","undefined","filter","exports"],"sources":["show.cmd.ts"],"sourcesContent":["import open from 'open';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { compact } from 'lodash';\n// import { Logger } from '@teambit/logger';\n// import chalk from 'chalk';\nimport { CLITable } from '@teambit/cli-table';\nimport { MissingBitMapComponent } from '@teambit/legacy.bit-map';\nimport { ComponentID } from '@teambit/component-id';\nimport { Logger } from '@teambit/logger';\nimport { reportLegacy, actionLegacy } from './legacy-show/show-legacy-cmd';\nimport { ComponentMain } from '../component.main.runtime';\n\nexport class ShowCmd implements Command {\n name = 'show <component-name>';\n description = \"display the component's essential information\";\n alias = '';\n group = 'info';\n arguments = [{ name: 'component-name', description: 'component name or component id' }];\n options = [\n ['j', 'json', 'return the component data in json format'],\n ['l', 'legacy', 'use the legacy bit show.'],\n ['r', 'remote', 'show data for a remote component'],\n ['b', 'browser', 'open the component page in the browser'],\n [\n 'c',\n 'compare',\n 'legacy-only. compare current file system component to its latest tagged version [default=latest]',\n ],\n ] as CommandOptions;\n\n constructor(\n private component: ComponentMain,\n private logger: Logger\n ) {}\n\n private async getComponent(idStr: string, remote: boolean) {\n if (remote) {\n const id = ComponentID.fromString(idStr); // user used --remote so we know it has a scope\n const host = this.component.getHostIfExist('teambit.scope/scope');\n if (!host)\n throw new Error(`error: the current directory is not a workspace nor a scope. the full \"bit show\" is not supported.\nto see the legacy bit show, please use \"--legacy\" flag`);\n if (!host.getRemoteComponent) {\n throw new Error('Component Host does not implement getRemoteComponent()');\n }\n const component = await host.getRemoteComponent(id);\n return component;\n }\n const host = this.component.getHost();\n const id = await host.resolveComponentId(idStr);\n const component = await host.get(id);\n if (!component) throw new MissingBitMapComponent(idStr);\n return component;\n }\n\n async useLegacy(id: string, json = false, remote = false, compare = false) {\n const showData = await actionLegacy([id], {\n json,\n remote,\n compare,\n });\n\n return reportLegacy(showData);\n }\n\n async report(\n [idStr]: [string],\n { legacy, remote, compare, browser }: { legacy: boolean; remote: boolean; compare: boolean; browser: boolean }\n ) {\n if (legacy) return this.useLegacy(idStr, false, remote, compare);\n const component = await this.getComponent(idStr, remote);\n const fragments = this.component.getShowFragments();\n const rows = await Promise.all(\n fragments.map(async (fragment) => {\n const row = await fragment.renderRow(component);\n if (!row.content) return null;\n return [row.title, row.content];\n })\n );\n\n const table = new CLITable([], compact(rows));\n const renderedTable = table.render();\n if (browser) {\n const isExported = component.isExported();\n if (!isExported) {\n this.logger.consoleWarning(`unable to open the browser, the component \"${idStr}\" has not been exported yet`);\n return renderedTable;\n }\n const homepageUrl = component.homepage;\n if (!homepageUrl || homepageUrl === '') {\n this.logger.consoleWarning(`unable to open browser, the component ${idStr} does not have a homepage`);\n return renderedTable;\n }\n open(homepageUrl).catch((err) => {\n this.logger.error(`failed to open browser for component ${idStr}, err: ${err}`);\n });\n }\n return renderedTable;\n }\n\n async json([idStr]: [string], { remote, legacy }: { remote: boolean; legacy: boolean }) {\n if (legacy) return JSON.parse(await this.useLegacy(idStr, true, remote));\n const component = await this.getComponent(idStr, remote);\n const fragments = this.component.getShowFragments();\n const rows = await Promise.all(\n fragments.map(async (fragment) => {\n return fragment.json ? fragment.json(component) : undefined;\n })\n );\n\n return rows.filter((row) => !!row);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_classnames","_interopRequireDefault","_lodash","semver","_componentUi","_uiFoundationUi","_componentId","_baseReactNavigation","_uiFoundationUiUseBox","_lanesHooks","_uiFoundationUiUseBox2","_useComponent","_menuNav","_useComponentFromLocation","_menuModule","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","getComponentIdStr","componentIdStr","isFunction","ComponentMenu","navigationSlot","widgetSlot","className","host","menuItemSlot","consumeMethodSlot","rightSideMenuSlot","skipRightSide","RightNode","useComponent","path","useComponentFilters","idFromLocation","useIdFromLocation","componentIdStrWithScopeFromLocation","undefined","_componentIdStr","componentId","ComponentID","fromString","resolvedComponentIdStr","mainMenuItems","useMemo","groupBy","flatten","values","rightSideItems","orderBy","componentFilters","useComponentVersions","defaultLoadVersions","toString","RightSide","createElement","styles","rightSide","Fragment","VersionRelatedDropdowns","consumeMethods","map","item","MainDropdown","hideOnMobile","menuItems","Routes","Route","element","classnames","topBar","leftSide","CollapsibleMenuNav","loadingFromProps","React","useCallback","_props","skip","initialLoad","fetchOptions","logFilters","log","limit","customUseComponent","component","loading","loadingComponent","componentLogs","useComponentQuery","logs","snaps","tag","snap","version","hash","tags","tagLookup","Map","compact","toArray","reverse","id","packageName","latestVersion","latest","currentVersion","buildStatus","defaultLoadCurrentVersion","props","_version","isTag","valid","find","exports","updatedPropsWithDefaults","useLanes","defaultUseLanes","dropdownOptions","showVersionDetails","loadVersion","_currentVersion","location","useLocation","lanesModel","lanes","getLanesByComponentId","lane","isDefault","viewedLane","isWorkspace","isNew","localVersion","isViewingCurrentLane","search","includes","consumeMethodProps","options","disableInstall","methods","useConsumeMethods","hasMethods","UseBoxDropdown","position","useBox","Menu","componentName","name","VersionDropdown","hasMoreVersions","useCurrentVersionLog","currentLane","menuClassName","componentVersionMenu","getActiveTabIndex","consumePluginProps","method","x","Component","Title"],"sources":["menu.tsx"],"sourcesContent":["import React, { useMemo, ReactNode } from 'react';\nimport { Routes, Route } from 'react-router-dom';\nimport classnames from 'classnames';\nimport { compact, flatten, groupBy, isFunction, orderBy } from 'lodash';\nimport * as semver from 'semver';\nimport { SlotRegistry } from '@teambit/harmony';\nimport { DropdownComponentVersion, GetActiveTabIndex, VersionDropdown } from '@teambit/component.ui.version-dropdown';\nimport { MainDropdown, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { ComponentID } from '@teambit/component-id';\nimport type { ConsumeMethod } from '@teambit/ui-foundation.ui.use-box.menu';\nimport { useLocation } from '@teambit/base-react.navigation.link';\nimport { UseBoxDropdown } from '@teambit/ui-foundation.ui.use-box.dropdown';\nimport { useLanes as defaultUseLanes } from '@teambit/lanes.hooks.use-lanes';\nimport { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { Menu as ConsumeMethodsMenu } from '@teambit/ui-foundation.ui.use-box.menu';\nimport { LegacyComponentLog } from '@teambit/legacy-component-log';\nimport { useComponent as useComponentQuery, UseComponentType, Filters } from '../use-component';\nimport { CollapsibleMenuNav } from './menu-nav';\nimport { OrderedNavigationSlot, ConsumeMethodSlot, ConsumePluginProps } from './nav-plugin';\nimport { useIdFromLocation } from '../use-component-from-location';\nimport styles from './menu.module.scss';\n\nexport type RightSideMenuItem = { item: ReactNode; order: number };\nexport type RightSideMenuSlot = SlotRegistry<RightSideMenuItem[]>;\n\nexport type MenuProps = {\n className?: string;\n /**\n * skip the right side.\n */\n skipRightSide?: boolean;\n /**\n * custom render the right side\n */\n RightNode?: React.ReactNode;\n /**\n * slot for top bar menu nav items\n */\n navigationSlot: OrderedNavigationSlot;\n /**\n * right side navigation menu item slot\n */\n widgetSlot: OrderedNavigationSlot;\n\n /**\n * right side menu item slot\n */\n rightSideMenuSlot: RightSideMenuSlot;\n /**\n * workspace or scope\n */\n host: string;\n /**\n * main dropdown item slot\n */\n menuItemSlot: MenuItemSlot;\n\n consumeMethodSlot: ConsumeMethodSlot;\n\n componentIdStr?: string | (() => string | undefined);\n\n useComponent?: UseComponentType;\n\n useComponentFilters?: () => Filters;\n\n useLanes?: () => {\n loading?: boolean;\n lanesModel?: LanesModel;\n };\n\n path?: string;\n};\nfunction getComponentIdStr(componentIdStr?: string | (() => string | undefined)): string | undefined {\n if (isFunction(componentIdStr)) return componentIdStr();\n return componentIdStr;\n}\n/**\n * top bar menu.\n */\nexport function ComponentMenu({\n navigationSlot,\n widgetSlot,\n className,\n host,\n menuItemSlot,\n consumeMethodSlot,\n rightSideMenuSlot,\n componentIdStr,\n skipRightSide,\n RightNode,\n useComponent,\n path,\n useComponentFilters,\n}: MenuProps) {\n const idFromLocation = useIdFromLocation();\n const componentIdStrWithScopeFromLocation = useIdFromLocation(undefined, true);\n const _componentIdStr = getComponentIdStr(componentIdStr);\n const componentId = _componentIdStr ? ComponentID.fromString(_componentIdStr) : undefined;\n const resolvedComponentIdStr = path || idFromLocation;\n const mainMenuItems = useMemo(() => groupBy(flatten(menuItemSlot.values()), 'category'), [menuItemSlot]);\n const rightSideItems = useMemo(() => orderBy(flatten(rightSideMenuSlot.values()), 'order'), [rightSideMenuSlot]);\n const componentFilters = useComponentFilters?.() || {};\n const useComponentVersions = defaultLoadVersions(\n host,\n componentId?.toString() || componentIdStrWithScopeFromLocation,\n componentFilters,\n useComponent\n );\n\n const RightSide = (\n <div className={styles.rightSide}>\n {RightNode || (\n <>\n <VersionRelatedDropdowns\n host={host}\n consumeMethods={consumeMethodSlot}\n componentId={componentId?.toString() || idFromLocation}\n useComponent={useComponentVersions}\n componentFilters={componentFilters}\n // loading={loading}\n />\n {rightSideItems.map(({ item }) => item)}\n <MainDropdown className={styles.hideOnMobile} menuItems={mainMenuItems} />\n </>\n )}\n </div>\n );\n\n return (\n <Routes>\n <Route\n path={`${resolvedComponentIdStr}/*`}\n element={\n <div className={classnames(styles.topBar, className)}>\n <div className={styles.leftSide}>\n <CollapsibleMenuNav navigationSlot={navigationSlot} widgetSlot={widgetSlot} />\n </div>\n {!skipRightSide && <div className={styles.rightSide}>{RightSide}</div>}\n </div>\n }\n />\n </Routes>\n );\n}\n\nexport type VersionRelatedDropdownsProps = {\n componentId?: string;\n consumeMethods?: ConsumeMethodSlot;\n componentFilters?: Filters;\n useComponent?: UseComponentVersions;\n className?: string;\n loading?: boolean;\n host: string;\n useLanes?: () => {\n loading?: boolean;\n lanesModel?: LanesModel;\n };\n dropdownOptions?: {\n showVersionDetails?: boolean;\n getActiveTabIndex?: GetActiveTabIndex;\n };\n};\nexport type UseComponentVersionsProps = {\n skip?: boolean;\n id?: string;\n initialLoad?: boolean;\n};\nexport type UseComponentVersionProps = {\n skip?: boolean;\n version?: string;\n};\nexport type UseComponentVersions = (props?: UseComponentVersionsProps) => UseComponentVersionsResult;\nexport type UseComponentVersion = (props?: UseComponentVersionProps) => DropdownComponentVersion | undefined;\nexport type UseComponentVersionsResult = {\n tags?: DropdownComponentVersion[];\n snaps?: DropdownComponentVersion[];\n id?: ComponentID;\n packageName?: string;\n latest?: string;\n currentVersion?: string;\n loading?: boolean;\n};\n\nexport function defaultLoadVersions(\n host: string,\n componentId?: string,\n componentFilters: Filters = {},\n useComponent?: UseComponentType,\n loadingFromProps?: boolean\n): UseComponentVersions {\n return React.useCallback(\n (_props) => {\n const { skip, initialLoad } = _props || {};\n const fetchOptions = {\n logFilters: {\n ...componentFilters,\n log: {\n ...componentFilters.log,\n limit: initialLoad ? 3 : undefined,\n },\n },\n skip: loadingFromProps || skip,\n customUseComponent: useComponent,\n };\n const {\n component,\n loading: loadingComponent,\n componentLogs = {},\n } = useComponentQuery(host, componentId, fetchOptions);\n const logs = componentLogs?.logs;\n const loading = React.useMemo(\n () => loadingComponent || loadingFromProps || componentLogs.loading,\n [loadingComponent, loadingFromProps, componentLogs.loading]\n );\n\n const snaps = useMemo(() => {\n return (logs || []).filter((log) => !log.tag).map((snap) => ({ ...snap, version: snap.hash }));\n }, [logs]);\n\n const tags = useMemo(() => {\n const tagLookup = new Map<string, LegacyComponentLog>();\n (logs || [])\n .filter((log) => log.tag)\n .forEach((tag) => {\n tagLookup.set(tag?.tag as string, tag);\n });\n return compact(\n (component?.tags?.toArray() || []).reverse().map((tag) => tagLookup.get(tag.version.version))\n ).map((tag) => ({ ...tag, version: tag.tag as string }));\n }, [logs]);\n\n return {\n loading,\n id: component?.id,\n packageName: component?.packageName,\n latestVersion: component?.latest,\n currentVersion: component?.version,\n snaps,\n tags,\n buildStatus: component?.buildStatus,\n };\n },\n [componentId, loadingFromProps, componentFilters]\n );\n}\n\nexport const defaultLoadCurrentVersion: (props: VersionRelatedDropdownsProps) => UseComponentVersion = (props) => {\n return (_props) => {\n const { skip, version: _version } = _props || {};\n const { snaps, tags, currentVersion, loading } = props.useComponent?.({ skip, id: props.componentId }) ?? {};\n const version = _version ?? currentVersion;\n const isTag = React.useMemo(() => semver.valid(version), [loading, version]);\n if (isTag) {\n return React.useMemo(() => tags?.find((tag) => tag.tag === version), [loading, tags?.length, version]);\n }\n return React.useMemo(() => snaps?.find((snap) => snap.version === version), [loading, snaps?.length, version]);\n };\n};\n\nexport function VersionRelatedDropdowns(props: VersionRelatedDropdownsProps) {\n const updatedPropsWithDefaults = {\n ...props,\n useLanes: props.useLanes ?? defaultUseLanes,\n dropdownOptions: {\n ...props.dropdownOptions,\n showVersionDetails: props?.dropdownOptions?.showVersionDetails ?? true,\n },\n };\n\n const loadVersion = defaultLoadCurrentVersion(updatedPropsWithDefaults);\n\n const { useLanes, consumeMethods, className, dropdownOptions, host } = updatedPropsWithDefaults;\n const {\n loading,\n id,\n tags,\n snaps,\n latest,\n packageName,\n currentVersion: _currentVersion,\n } = props.useComponent?.({ initialLoad: true }) || {};\n const location = useLocation();\n const { lanesModel } = useLanes();\n const lanes = id ? lanesModel?.getLanesByComponentId(id as any)?.filter((lane) => !lane.id.isDefault()) || [] : [];\n const viewedLane =\n lanesModel?.viewedLane?.id && !lanesModel?.viewedLane?.id.isDefault() ? lanesModel.viewedLane : undefined;\n\n const isWorkspace = host === 'teambit.workspace/workspace';\n\n const isNew = tags?.length === 0 && snaps?.length === 0;\n\n const localVersion = isWorkspace && !isNew && (!viewedLane || lanesModel?.isViewingCurrentLane());\n\n const currentVersion =\n isWorkspace && !isNew && !location?.search.includes('version') ? 'workspace' : _currentVersion ?? '';\n\n const consumeMethodProps: ConsumePluginProps | undefined = React.useMemo(() => {\n return id\n ? {\n id,\n packageName: packageName ?? '',\n latest,\n options: { viewedLane, disableInstall: !packageName },\n }\n : undefined;\n }, [id, packageName, latest, viewedLane]);\n\n const methods = useConsumeMethods(consumeMethods, consumeMethodProps);\n const hasMethods = methods?.length > 0;\n\n return (\n <>\n {consumeMethods && id && hasMethods && (\n <UseBoxDropdown\n position=\"bottom-end\"\n className={classnames(styles.useBox, styles.hideOnMobile)}\n Menu={<ConsumeMethodsMenu methods={methods} componentName={id.name} />}\n />\n )}\n <VersionDropdown\n lanes={lanes}\n loading={loading}\n useComponentVersions={props.useComponent}\n hasMoreVersions={!isNew}\n useCurrentVersionLog={loadVersion}\n localVersion={localVersion}\n currentVersion={currentVersion}\n latestVersion={latest}\n currentLane={viewedLane}\n className={className}\n menuClassName={styles.componentVersionMenu}\n getActiveTabIndex={dropdownOptions?.getActiveTabIndex}\n showVersionDetails={dropdownOptions?.showVersionDetails}\n />\n </>\n );\n}\n\nfunction useConsumeMethods(\n consumeMethods?: ConsumeMethodSlot,\n consumePluginProps?: ConsumePluginProps\n): ConsumeMethod[] {\n return useMemo(\n () =>\n flatten(consumeMethods?.values())\n .map((method) => {\n if (!consumePluginProps) return undefined;\n return method?.(consumePluginProps);\n })\n .filter((x) => !!x && x.Component && x.Title) as ConsumeMethod[],\n [consumeMethods, consumePluginProps]\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_classnames","_interopRequireDefault","_lodash","semver","_componentUi","_uiFoundationUi","_componentId","_baseReactNavigation","_uiFoundationUiUseBox","_lanesHooks","_uiFoundationUiUseBox2","_useComponent","_menuNav","_useComponentFromLocation","_menuModule","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","getComponentIdStr","componentIdStr","isFunction","ComponentMenu","navigationSlot","widgetSlot","className","host","menuItemSlot","consumeMethodSlot","rightSideMenuSlot","skipRightSide","RightNode","useComponent","path","useComponentFilters","idFromLocation","useIdFromLocation","componentIdStrWithScopeFromLocation","undefined","_componentIdStr","componentId","ComponentID","fromString","resolvedComponentIdStr","mainMenuItems","useMemo","groupBy","flatten","values","rightSideItems","orderBy","componentFilters","useComponentVersions","defaultLoadVersions","toString","RightSide","createElement","styles","rightSide","Fragment","VersionRelatedDropdowns","consumeMethods","map","item","MainDropdown","hideOnMobile","menuItems","Routes","Route","element","classnames","topBar","leftSide","CollapsibleMenuNav","loadingFromProps","React","useCallback","_props","skip","initialLoad","fetchOptions","logFilters","log","limit","customUseComponent","component","loading","loadingComponent","componentLogs","useComponentQuery","logs","snaps","tag","snap","version","hash","tags","tagLookup","Map","compact","toArray","reverse","id","packageName","latestVersion","latest","currentVersion","buildStatus","defaultLoadCurrentVersion","props","_version","isTag","valid","find","exports","updatedPropsWithDefaults","useLanes","defaultUseLanes","dropdownOptions","showVersionDetails","loadVersion","_currentVersion","location","useLocation","lanesModel","lanes","getLanesByComponentId","lane","isDefault","viewedLane","isWorkspace","isNew","localVersion","isViewingCurrentLane","search","includes","consumeMethodProps","options","disableInstall","methods","useConsumeMethods","hasMethods","UseBoxDropdown","position","useBox","Menu","componentName","name","VersionDropdown","hasMoreVersions","useCurrentVersionLog","currentLane","menuClassName","componentVersionMenu","getActiveTabIndex","consumePluginProps","method","x","Component","Title"],"sources":["menu.tsx"],"sourcesContent":["import React, { useMemo, ReactNode } from 'react';\nimport { Routes, Route } from 'react-router-dom';\nimport classnames from 'classnames';\nimport { compact, flatten, groupBy, isFunction, orderBy } from 'lodash';\nimport * as semver from 'semver';\nimport { SlotRegistry } from '@teambit/harmony';\nimport { DropdownComponentVersion, GetActiveTabIndex, VersionDropdown } from '@teambit/component.ui.version-dropdown';\nimport { MainDropdown, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { ComponentID } from '@teambit/component-id';\nimport type { ConsumeMethod } from '@teambit/ui-foundation.ui.use-box.menu';\nimport { useLocation } from '@teambit/base-react.navigation.link';\nimport { UseBoxDropdown } from '@teambit/ui-foundation.ui.use-box.dropdown';\nimport { useLanes as defaultUseLanes } from '@teambit/lanes.hooks.use-lanes';\nimport { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { Menu as ConsumeMethodsMenu } from '@teambit/ui-foundation.ui.use-box.menu';\nimport { LegacyComponentLog } from '@teambit/legacy-component-log';\nimport { useComponent as useComponentQuery, UseComponentType, Filters } from '../use-component';\nimport { CollapsibleMenuNav } from './menu-nav';\nimport { OrderedNavigationSlot, ConsumeMethodSlot, ConsumePluginProps } from './nav-plugin';\nimport { useIdFromLocation } from '../use-component-from-location';\nimport styles from './menu.module.scss';\n\nexport type RightSideMenuItem = { item: ReactNode; order: number };\nexport type RightSideMenuSlot = SlotRegistry<RightSideMenuItem[]>;\n\nexport type MenuProps = {\n className?: string;\n /**\n * skip the right side.\n */\n skipRightSide?: boolean;\n /**\n * custom render the right side\n */\n RightNode?: React.ReactNode;\n /**\n * slot for top bar menu nav items\n */\n navigationSlot: OrderedNavigationSlot;\n /**\n * right side navigation menu item slot\n */\n widgetSlot: OrderedNavigationSlot;\n\n /**\n * right side menu item slot\n */\n rightSideMenuSlot: RightSideMenuSlot;\n /**\n * workspace or scope\n */\n host: string;\n /**\n * main dropdown item slot\n */\n menuItemSlot: MenuItemSlot;\n\n consumeMethodSlot: ConsumeMethodSlot;\n\n componentIdStr?: string | (() => string | undefined);\n\n useComponent?: UseComponentType;\n\n useComponentFilters?: () => Filters;\n\n useLanes?: () => {\n loading?: boolean;\n lanesModel?: LanesModel;\n };\n\n path?: string;\n};\nfunction getComponentIdStr(componentIdStr?: string | (() => string | undefined)): string | undefined {\n if (isFunction(componentIdStr)) return componentIdStr();\n return componentIdStr;\n}\n/**\n * top bar menu.\n */\nexport function ComponentMenu({\n navigationSlot,\n widgetSlot,\n className,\n host,\n menuItemSlot,\n consumeMethodSlot,\n rightSideMenuSlot,\n componentIdStr,\n skipRightSide,\n RightNode,\n useComponent,\n path,\n useComponentFilters,\n}: MenuProps) {\n const idFromLocation = useIdFromLocation();\n const componentIdStrWithScopeFromLocation = useIdFromLocation(undefined, true);\n const _componentIdStr = getComponentIdStr(componentIdStr);\n const componentId = _componentIdStr ? ComponentID.fromString(_componentIdStr) : undefined;\n const resolvedComponentIdStr = path || idFromLocation;\n const mainMenuItems = useMemo(() => groupBy(flatten(menuItemSlot.values()), 'category'), [menuItemSlot]);\n const rightSideItems = useMemo(() => orderBy(flatten(rightSideMenuSlot.values()), 'order'), [rightSideMenuSlot]);\n const componentFilters = useComponentFilters?.() || {};\n const useComponentVersions = defaultLoadVersions(\n host,\n componentId?.toString() || componentIdStrWithScopeFromLocation,\n componentFilters,\n useComponent\n );\n\n const RightSide = (\n <div className={styles.rightSide}>\n {RightNode || (\n <>\n <VersionRelatedDropdowns\n host={host}\n consumeMethods={consumeMethodSlot}\n componentId={componentId?.toString() || idFromLocation}\n useComponent={useComponentVersions}\n componentFilters={componentFilters}\n // loading={loading}\n />\n {rightSideItems.map(({ item }) => item)}\n <MainDropdown className={styles.hideOnMobile} menuItems={mainMenuItems} />\n </>\n )}\n </div>\n );\n\n return (\n <Routes>\n <Route\n path={`${resolvedComponentIdStr}/*`}\n element={\n <div className={classnames(styles.topBar, className)}>\n <div className={styles.leftSide}>\n <CollapsibleMenuNav navigationSlot={navigationSlot} widgetSlot={widgetSlot} />\n </div>\n {!skipRightSide && <div className={styles.rightSide}>{RightSide}</div>}\n </div>\n }\n />\n </Routes>\n );\n}\n\nexport type VersionRelatedDropdownsProps = {\n componentId?: string;\n consumeMethods?: ConsumeMethodSlot;\n componentFilters?: Filters;\n useComponent?: UseComponentVersions;\n className?: string;\n loading?: boolean;\n host: string;\n useLanes?: () => {\n loading?: boolean;\n lanesModel?: LanesModel;\n };\n dropdownOptions?: {\n showVersionDetails?: boolean;\n getActiveTabIndex?: GetActiveTabIndex;\n };\n};\nexport type UseComponentVersionsProps = {\n skip?: boolean;\n id?: string;\n initialLoad?: boolean;\n};\nexport type UseComponentVersionProps = {\n skip?: boolean;\n version?: string;\n};\nexport type UseComponentVersions = (props?: UseComponentVersionsProps) => UseComponentVersionsResult;\nexport type UseComponentVersion = (props?: UseComponentVersionProps) => DropdownComponentVersion | undefined;\nexport type UseComponentVersionsResult = {\n tags?: DropdownComponentVersion[];\n snaps?: DropdownComponentVersion[];\n id?: ComponentID;\n packageName?: string;\n latest?: string;\n currentVersion?: string;\n loading?: boolean;\n};\n\nexport function defaultLoadVersions(\n host: string,\n componentId?: string,\n componentFilters: Filters = {},\n useComponent?: UseComponentType,\n loadingFromProps?: boolean\n): UseComponentVersions {\n return React.useCallback(\n (_props) => {\n const { skip, initialLoad } = _props || {};\n const fetchOptions = {\n logFilters: {\n ...componentFilters,\n log: {\n ...componentFilters.log,\n limit: initialLoad ? 3 : undefined,\n },\n },\n skip: loadingFromProps || skip,\n customUseComponent: useComponent,\n };\n const {\n component,\n loading: loadingComponent,\n componentLogs = {},\n } = useComponentQuery(host, componentId, fetchOptions);\n const logs = componentLogs?.logs;\n const loading = React.useMemo(\n () => loadingComponent || loadingFromProps || componentLogs.loading,\n [loadingComponent, loadingFromProps, componentLogs.loading]\n );\n\n const snaps = useMemo(() => {\n return (logs || []).filter((log) => !log.tag).map((snap) => ({ ...snap, version: snap.hash }));\n }, [logs]);\n\n const tags = useMemo(() => {\n const tagLookup = new Map<string, LegacyComponentLog>();\n (logs || [])\n .filter((log) => log.tag)\n .forEach((tag) => {\n tagLookup.set(tag?.tag as string, tag);\n });\n return compact(\n (component?.tags?.toArray() || []).reverse().map((tag) => tagLookup.get(tag.version.version))\n ).map((tag) => ({ ...tag, version: tag.tag as string }));\n }, [logs]);\n\n return {\n loading,\n id: component?.id,\n packageName: component?.packageName,\n latestVersion: component?.latest,\n currentVersion: component?.version,\n snaps,\n tags,\n buildStatus: component?.buildStatus,\n };\n },\n [componentId, loadingFromProps, componentFilters]\n );\n}\n\nexport const defaultLoadCurrentVersion: (props: VersionRelatedDropdownsProps) => UseComponentVersion = (props) => {\n return (_props) => {\n const { skip, version: _version } = _props || {};\n const { snaps, tags, currentVersion, loading } = props.useComponent?.({ skip, id: props.componentId }) ?? {};\n const version = _version ?? currentVersion;\n const isTag = React.useMemo(() => semver.valid(version), [loading, version]);\n if (isTag) {\n return React.useMemo(() => tags?.find((tag) => tag.tag === version), [loading, tags?.length, version]);\n }\n return React.useMemo(() => snaps?.find((snap) => snap.version === version), [loading, snaps?.length, version]);\n };\n};\n\nexport function VersionRelatedDropdowns(props: VersionRelatedDropdownsProps) {\n const updatedPropsWithDefaults = {\n ...props,\n useLanes: props.useLanes ?? defaultUseLanes,\n dropdownOptions: {\n ...props.dropdownOptions,\n showVersionDetails: props?.dropdownOptions?.showVersionDetails ?? true,\n },\n };\n\n const loadVersion = defaultLoadCurrentVersion(updatedPropsWithDefaults);\n\n const { useLanes, consumeMethods, className, dropdownOptions, host } = updatedPropsWithDefaults;\n const {\n loading,\n id,\n tags,\n snaps,\n latest,\n packageName,\n currentVersion: _currentVersion,\n } = props.useComponent?.({ initialLoad: true }) || {};\n const location = useLocation();\n const { lanesModel } = useLanes();\n const lanes = id ? lanesModel?.getLanesByComponentId(id as any)?.filter((lane) => !lane.id.isDefault()) || [] : [];\n const viewedLane =\n lanesModel?.viewedLane?.id && !lanesModel?.viewedLane?.id.isDefault() ? lanesModel.viewedLane : undefined;\n\n const isWorkspace = host === 'teambit.workspace/workspace';\n\n const isNew = tags?.length === 0 && snaps?.length === 0;\n\n const localVersion = isWorkspace && !isNew && (!viewedLane || lanesModel?.isViewingCurrentLane());\n\n const currentVersion =\n isWorkspace && !isNew && !location?.search.includes('version') ? 'workspace' : (_currentVersion ?? '');\n\n const consumeMethodProps: ConsumePluginProps | undefined = React.useMemo(() => {\n return id\n ? {\n id,\n packageName: packageName ?? '',\n latest,\n options: { viewedLane, disableInstall: !packageName },\n }\n : undefined;\n }, [id, packageName, latest, viewedLane]);\n\n const methods = useConsumeMethods(consumeMethods, consumeMethodProps);\n const hasMethods = methods?.length > 0;\n\n return (\n <>\n {consumeMethods && id && hasMethods && (\n <UseBoxDropdown\n position=\"bottom-end\"\n className={classnames(styles.useBox, styles.hideOnMobile)}\n Menu={<ConsumeMethodsMenu methods={methods} componentName={id.name} />}\n />\n )}\n <VersionDropdown\n lanes={lanes}\n loading={loading}\n useComponentVersions={props.useComponent}\n hasMoreVersions={!isNew}\n useCurrentVersionLog={loadVersion}\n localVersion={localVersion}\n currentVersion={currentVersion}\n latestVersion={latest}\n currentLane={viewedLane}\n className={className}\n menuClassName={styles.componentVersionMenu}\n getActiveTabIndex={dropdownOptions?.getActiveTabIndex}\n showVersionDetails={dropdownOptions?.showVersionDetails}\n />\n </>\n );\n}\n\nfunction useConsumeMethods(\n consumeMethods?: ConsumeMethodSlot,\n consumePluginProps?: ConsumePluginProps\n): ConsumeMethod[] {\n return useMemo(\n () =>\n flatten(consumeMethods?.values())\n .map((method) => {\n if (!consumePluginProps) return undefined;\n return method?.(consumePluginProps);\n })\n .filter((x) => !!x && x.Component && x.Title) as ConsumeMethod[],\n [consumeMethods, consumePluginProps]\n );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -37,7 +37,9 @@
37
37
  height: 0;
38
38
  border-top-right-radius: 2px;
39
39
  border-top-left-radius: 2px;
40
- transition: background-color 300ms, height 300ms;
40
+ transition:
41
+ background-color 300ms,
42
+ height 300ms;
41
43
  }
42
44
 
43
45
  > div {
@@ -1,7 +1,10 @@
1
1
  import { ComponentModel } from '../ui';
2
2
 
3
3
  export class ComponentHostModel {
4
- constructor(readonly name: string, readonly components: ComponentModel[]) {}
4
+ constructor(
5
+ readonly name: string,
6
+ readonly components: ComponentModel[]
7
+ ) {}
5
8
 
6
9
  static from(data: any) {
7
10
  return new ComponentHostModel(data.getHost.name, ComponentModel.fromArray(data.getHost.list));
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/component",
3
- "version": "1.0.425",
3
+ "version": "1.0.427",
4
4
  "homepage": "https://bit.cloud/teambit/component/component",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "component",
9
- "version": "1.0.425"
9
+ "version": "1.0.427"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/any-fs": "0.0.5",
@@ -47,39 +47,39 @@
47
47
  "@teambit/base-ui.layout.breakpoints": "1.0.0",
48
48
  "@teambit/lanes.ui.models.lanes-model": "0.0.221",
49
49
  "@teambit/ui-foundation.ui.use-box.dropdown": "0.0.142",
50
- "@teambit/aspect-loader": "1.0.425",
51
- "@teambit/dependency-resolver": "1.0.425",
52
- "@teambit/graph": "1.0.425",
53
- "@teambit/component.sources": "0.0.33",
50
+ "@teambit/aspect-loader": "1.0.427",
51
+ "@teambit/dependency-resolver": "1.0.427",
52
+ "@teambit/graph": "1.0.427",
53
+ "@teambit/component.sources": "0.0.34",
54
54
  "@teambit/toolbox.path.match-patterns": "0.0.15",
55
55
  "@teambit/toolbox.string.eol": "0.0.1",
56
56
  "@teambit/toolbox.string.capitalize": "0.0.496",
57
57
  "@teambit/toolbox.path.path": "0.0.4",
58
- "@teambit/cli": "0.0.1002",
59
- "@teambit/express": "0.0.1101",
60
- "@teambit/graphql": "1.0.425",
61
- "@teambit/logger": "0.0.1095",
62
- "@teambit/command-bar": "1.0.425",
58
+ "@teambit/cli": "0.0.1004",
59
+ "@teambit/express": "0.0.1103",
60
+ "@teambit/graphql": "1.0.427",
61
+ "@teambit/logger": "0.0.1097",
62
+ "@teambit/command-bar": "1.0.427",
63
63
  "@teambit/component-package-version": "0.0.434",
64
- "@teambit/preview": "1.0.425",
65
- "@teambit/pubsub": "1.0.425",
66
- "@teambit/react-router": "1.0.425",
64
+ "@teambit/preview": "1.0.427",
65
+ "@teambit/pubsub": "1.0.427",
66
+ "@teambit/react-router": "1.0.427",
67
67
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.511",
68
- "@teambit/ui": "1.0.425",
68
+ "@teambit/ui": "1.0.427",
69
69
  "@teambit/legacy.utils": "0.0.6",
70
70
  "@teambit/component-issues": "0.0.151",
71
71
  "@teambit/pkg.modules.semver-helper": "0.0.1",
72
- "@teambit/cli-table": "0.0.48",
73
- "@teambit/legacy.bit-map": "0.0.37",
72
+ "@teambit/cli-table": "0.0.49",
73
+ "@teambit/legacy.bit-map": "0.0.38",
74
74
  "@teambit/legacy-component-log": "0.0.403",
75
75
  "@teambit/component-descriptor": "0.0.426",
76
- "@teambit/legacy.component-diff": "0.0.34",
76
+ "@teambit/legacy.component-diff": "0.0.35",
77
77
  "@teambit/harmony.ui.aspect-box": "0.0.507",
78
+ "@teambit/compositions": "1.0.427",
79
+ "@teambit/deprecation": "1.0.427",
80
+ "@teambit/envs": "1.0.427",
78
81
  "@teambit/envs.ui.env-icon": "0.0.505",
79
- "@teambit/compositions": "1.0.425",
80
- "@teambit/deprecation": "1.0.425",
81
- "@teambit/envs": "1.0.425",
82
- "@teambit/component.ui.version-dropdown": "0.0.868",
82
+ "@teambit/component.ui.version-dropdown": "0.0.869",
83
83
  "@teambit/lanes.hooks.use-lanes": "0.0.274"
84
84
  },
85
85
  "devDependencies": {
package/show/show.cmd.ts CHANGED
@@ -28,7 +28,10 @@ export class ShowCmd implements Command {
28
28
  ],
29
29
  ] as CommandOptions;
30
30
 
31
- constructor(private component: ComponentMain, private logger: Logger) {}
31
+ constructor(
32
+ private component: ComponentMain,
33
+ private logger: Logger
34
+ ) {}
32
35
 
33
36
  private async getComponent(idStr: string, remote: boolean) {
34
37
  if (remote) {
package/ui/menu/menu.tsx CHANGED
@@ -292,7 +292,7 @@ export function VersionRelatedDropdowns(props: VersionRelatedDropdownsProps) {
292
292
  const localVersion = isWorkspace && !isNew && (!viewedLane || lanesModel?.isViewingCurrentLane());
293
293
 
294
294
  const currentVersion =
295
- isWorkspace && !isNew && !location?.search.includes('version') ? 'workspace' : _currentVersion ?? '';
295
+ isWorkspace && !isNew && !location?.search.includes('version') ? 'workspace' : (_currentVersion ?? '');
296
296
 
297
297
  const consumeMethodProps: ConsumePluginProps | undefined = React.useMemo(() => {
298
298
  return id
@@ -37,7 +37,9 @@
37
37
  height: 0;
38
38
  border-top-right-radius: 2px;
39
39
  border-top-left-radius: 2px;
40
- transition: background-color 300ms, height 300ms;
40
+ transition:
41
+ background-color 300ms,
42
+ height 300ms;
41
43
  }
42
44
 
43
45
  > div {