@teambit/component 0.0.1015 → 0.0.1017

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.
@@ -2,7 +2,6 @@ import React from 'react';
2
2
  import flatten from 'lodash.flatten';
3
3
  import copy from 'copy-to-clipboard';
4
4
  import type { RouteProps } from 'react-router-dom';
5
-
6
5
  import type { LinkProps } from '@teambit/base-react.navigation.link';
7
6
  import CommandBarAspect, { CommandBarUI, CommandEntry } from '@teambit/command-bar';
8
7
  import { DeprecationIcon } from '@teambit/component.ui.deprecation-icon';
@@ -16,6 +15,7 @@ import { isBrowser } from '@teambit/ui-foundation.ui.is-browser';
16
15
  import { MenuItem, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';
17
16
  import { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';
18
17
  import { Import } from '@teambit/ui-foundation.ui.use-box.menu';
18
+ import { snapToSemver } from '@teambit/component-package-version';
19
19
  import { AspectSection } from './aspect.section';
20
20
  import { ComponentAspect } from './component.aspect';
21
21
  import { ComponentModel } from './ui';
@@ -79,11 +79,15 @@ export class ComponentUI {
79
79
  */
80
80
  private activeComponent?: ComponentModel;
81
81
 
82
+ formatToInstallableVersion(version: string) {
83
+ return snapToSemver(version);
84
+ }
85
+
82
86
  private copyNpmId = () => {
83
87
  const packageName = this.activeComponent?.packageName;
84
88
  if (packageName) {
85
89
  const version = this.activeComponent?.id.version;
86
- const versionString = version ? `@${version}` : '';
90
+ const versionString = version ? `@${this.formatToInstallableVersion(version)}` : '';
87
91
  copy(`${packageName}${versionString}`);
88
92
  }
89
93
  };
@@ -136,7 +140,7 @@ export class ComponentUI {
136
140
  ];
137
141
 
138
142
  private bitMethod: ConsumePlugin = (comp, options) => {
139
- const version = comp.version === comp.latest ? '' : `@${comp.version}`;
143
+ const version = comp.version === comp.latest ? '' : `@${this.formatToInstallableVersion(comp.version)}`;
140
144
  return {
141
145
  Title: <img style={{ width: '20px' }} src="https://static.bit.dev/brands/bit-logo-text.svg" />,
142
146
  Component: (
@@ -54,6 +54,7 @@ export declare class ComponentUI {
54
54
  * the current visible component
55
55
  */
56
56
  private activeComponent?;
57
+ formatToInstallableVersion(version: string): string;
57
58
  private copyNpmId;
58
59
  /**
59
60
  * key bindings used by component aspect
@@ -105,6 +105,13 @@ function _uiFoundationUiUseBox() {
105
105
  };
106
106
  return data;
107
107
  }
108
+ function _componentPackageVersion() {
109
+ const data = require("@teambit/component-package-version");
110
+ _componentPackageVersion = function () {
111
+ return data;
112
+ };
113
+ return data;
114
+ }
108
115
  function _aspect() {
109
116
  const data = require("./aspect.section");
110
117
  _aspect = function () {
@@ -170,7 +177,7 @@ class ComponentUI {
170
177
  if (packageName) {
171
178
  var _this$activeComponent2;
172
179
  const version = (_this$activeComponent2 = this.activeComponent) === null || _this$activeComponent2 === void 0 ? void 0 : _this$activeComponent2.id.version;
173
- const versionString = version ? `@${version}` : '';
180
+ const versionString = version ? `@${this.formatToInstallableVersion(version)}` : '';
174
181
  (0, _copyToClipboard().default)(`${packageName}${versionString}`);
175
182
  }
176
183
  });
@@ -224,7 +231,7 @@ class ComponentUI {
224
231
  }
225
232
  }]);
226
233
  (0, _defineProperty2().default)(this, "bitMethod", (comp, options) => {
227
- const version = comp.version === comp.latest ? '' : `@${comp.version}`;
234
+ const version = comp.version === comp.latest ? '' : `@${this.formatToInstallableVersion(comp.version)}`;
228
235
  return {
229
236
  Title: /*#__PURE__*/_react().default.createElement("img", {
230
237
  style: {
@@ -270,6 +277,9 @@ class ComponentUI {
270
277
  * the current visible component
271
278
  */
272
279
 
280
+ formatToInstallableVersion(version) {
281
+ return (0, _componentPackageVersion().snapToSemver)(version);
282
+ }
273
283
  registerPubSub() {
274
284
  this.pubsub.sub(_preview().default.id, be => {
275
285
  if (be.type === _preview().ClickInsideAnIframeEvent.TYPE) {
@@ -1 +1 @@
1
- {"version":3,"names":["ComponentUI","constructor","pubsub","routeSlot","navSlot","consumeMethodSlot","widgetSlot","menuItemSlot","pageItemSlot","componentSearchResultSlot","commandBarUI","reactRouterUi","packageName","activeComponent","version","id","versionString","copy","action","toString","displayName","keybinding","copyNpmId","category","title","keyChar","handler","run","comp","options","latest","Title","width","Component","ignoreVersion","name","currentLane","order","menuItems","register","items","totalPlugins","flatten","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","handleComponentChange","path","useComponent","componentId","useComponentFilters","getMenu","skipRightSide","listMenuItems","mainMenuItems","groupBy","registerRoute","routes","registerNavigation","nav","props","registerConsumeMethod","consumeMethods","registerWidget","widget","provider","reactRouterUI","config","pageSlot","componentUI","aspectSection","AspectSection","registerSearchResultWidget","key","end","DeprecationIcon","commandBar","addCommand","keyBindings","addSearcher","registerMenuItem","route","navigationLink","bitMethod","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","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';\n\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 { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Import } from '@teambit/ui-foundation.ui.use-box.menu';\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 { ConsumeMethodSlot, ConsumePlugin, ComponentMenu, NavPlugin, OrderedNavigationSlot } 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 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 /**\n * the current visible component\n */\n private activeComponent?: ComponentModel;\n\n private copyNpmId = () => {\n const packageName = this.activeComponent?.packageName;\n if (packageName) {\n const version = this.activeComponent?.id.version;\n const versionString = version ? `@${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 = (comp, options) => {\n const version = comp.version === comp.latest ? '' : `@${comp.version}`;\n return {\n Title: <img style={{ width: '20px' }} src=\"https://static.bit.dev/brands/bit-logo-text.svg\" />,\n Component: (\n <Import\n componentId={`${comp.id.toString({ ignoreVersion: true })}${version}`}\n packageName={`${comp.packageName}${version}`}\n componentName={comp.id.name}\n showInstallMethod={!options?.currentLane}\n />\n ),\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 />\n );\n }\n\n getMenu(host: string, options: GetComponentsOptions = {}) {\n return (\n <ComponentMenu\n skipRightSide={options.skipRightSide}\n navigationSlot={this.navSlot}\n consumeMethodSlot={this.consumeMethodSlot}\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 />\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 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 ];\n static defaultConfig: ComponentUIConfig = {\n commandBar: true,\n };\n\n static async provider(\n [pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI],\n config: ComponentUIConfig,\n [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot]: [\n RouteSlot,\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n OrderedNavigationSlot,\n MenuItemSlot,\n ComponentPageSlot,\n ComponentSearchResultSlot\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 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 return componentUI;\n }\n}\n\nexport default ComponentUI;\n\nComponentAspect.addRuntime(ComponentUI);\n"],"mappings":"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"}
1
+ {"version":3,"names":["ComponentUI","constructor","pubsub","routeSlot","navSlot","consumeMethodSlot","widgetSlot","menuItemSlot","pageItemSlot","componentSearchResultSlot","commandBarUI","reactRouterUi","packageName","activeComponent","version","id","versionString","formatToInstallableVersion","copy","action","toString","displayName","keybinding","copyNpmId","category","title","keyChar","handler","run","comp","options","latest","Title","width","Component","ignoreVersion","name","currentLane","order","menuItems","register","items","totalPlugins","flatten","values","componentSearcher","updatePlugins","components","update","ComponentSearcher","navigate","navigateTo","isBrowser","registerPubSub","snapToSemver","sub","PreviewAspect","be","type","ClickInsideAnIframeEvent","TYPE","event","MouseEvent","view","window","bubbles","cancelable","body","document","dispatchEvent","getComponentUI","host","handleComponentChange","path","useComponent","componentId","useComponentFilters","getMenu","skipRightSide","listMenuItems","mainMenuItems","groupBy","registerRoute","routes","registerNavigation","nav","props","registerConsumeMethod","consumeMethods","registerWidget","widget","provider","reactRouterUI","config","pageSlot","componentUI","aspectSection","AspectSection","registerSearchResultWidget","key","end","DeprecationIcon","commandBar","addCommand","keyBindings","addSearcher","registerMenuItem","route","navigationLink","bitMethod","PubsubAspect","CommandBarAspect","ReactRouterAspect","UIRuntime","Slot","withType","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 { 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 { ConsumeMethodSlot, ConsumePlugin, ComponentMenu, NavPlugin, OrderedNavigationSlot } 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 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 /**\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 = (comp, options) => {\n const version = comp.version === comp.latest ? '' : `@${this.formatToInstallableVersion(comp.version)}`;\n return {\n Title: <img style={{ width: '20px' }} src=\"https://static.bit.dev/brands/bit-logo-text.svg\" />,\n Component: (\n <Import\n componentId={`${comp.id.toString({ ignoreVersion: true })}${version}`}\n packageName={`${comp.packageName}${version}`}\n componentName={comp.id.name}\n showInstallMethod={!options?.currentLane}\n />\n ),\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 />\n );\n }\n\n getMenu(host: string, options: GetComponentsOptions = {}) {\n return (\n <ComponentMenu\n skipRightSide={options.skipRightSide}\n navigationSlot={this.navSlot}\n consumeMethodSlot={this.consumeMethodSlot}\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 />\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 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 ];\n static defaultConfig: ComponentUIConfig = {\n commandBar: true,\n };\n\n static async provider(\n [pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI],\n config: ComponentUIConfig,\n [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot]: [\n RouteSlot,\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n OrderedNavigationSlot,\n MenuItemSlot,\n ComponentPageSlot,\n ComponentSearchResultSlot\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 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 return componentUI;\n }\n}\n\nexport default ComponentUI;\n\nComponentAspect.addRuntime(ComponentUI);\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@0.0.1015/dist/component.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@0.0.1015/dist/component.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@0.0.1017/dist/component.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@0.0.1017/dist/component.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/component",
3
- "version": "0.0.1015",
3
+ "version": "0.0.1017",
4
4
  "homepage": "https://bit.dev/teambit/component/component",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "component",
9
- "version": "0.0.1015"
9
+ "version": "0.0.1017"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/any-fs": "0.0.5",
@@ -31,43 +31,44 @@
31
31
  "@teambit/base-ui.layout.breakpoints": "1.0.0",
32
32
  "@teambit/component-id": "0.0.427",
33
33
  "@teambit/ui-foundation.ui.menu-widget-icon": "0.0.497",
34
- "@teambit/aspect-loader": "0.0.1015",
35
- "@teambit/graph": "0.0.1015",
34
+ "@teambit/aspect-loader": "0.0.1017",
35
+ "@teambit/graph": "0.0.1017",
36
36
  "@teambit/legacy-bit-id": "0.0.423",
37
37
  "@teambit/toolbox.path.match-patterns": "0.0.9",
38
38
  "@teambit/toolbox.string.capitalize": "0.0.490",
39
- "@teambit/cli": "0.0.679",
40
- "@teambit/express": "0.0.777",
41
- "@teambit/graphql": "0.0.1015",
39
+ "@teambit/cli": "0.0.681",
40
+ "@teambit/express": "0.0.779",
41
+ "@teambit/graphql": "0.0.1017",
42
42
  "@teambit/bit-error": "0.0.402",
43
- "@teambit/command-bar": "0.0.1015",
43
+ "@teambit/command-bar": "0.0.1017",
44
+ "@teambit/component-package-version": "0.0.422",
44
45
  "@teambit/component.ui.deprecation-icon": "0.0.504",
45
- "@teambit/preview": "0.0.1015",
46
- "@teambit/pubsub": "0.0.1015",
47
- "@teambit/react-router": "0.0.1015",
46
+ "@teambit/preview": "0.0.1017",
47
+ "@teambit/pubsub": "0.0.1017",
48
+ "@teambit/react-router": "0.0.1017",
48
49
  "@teambit/ui-foundation.ui.is-browser": "0.0.495",
49
50
  "@teambit/ui-foundation.ui.main-dropdown": "0.0.497",
50
51
  "@teambit/ui-foundation.ui.react-router.slot-router": "0.0.501",
51
52
  "@teambit/ui-foundation.ui.use-box.menu": "0.0.133",
52
- "@teambit/ui": "0.0.1015",
53
+ "@teambit/ui": "0.0.1017",
53
54
  "@teambit/component-issues": "0.0.88",
54
55
  "@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.500",
55
56
  "@teambit/cli-table": "0.0.41",
56
- "@teambit/component-descriptor": "0.0.248",
57
+ "@teambit/component-descriptor": "0.0.250",
57
58
  "@teambit/ui-foundation.ui.react-router.use-query": "0.0.496",
58
59
  "@teambit/design.ui.empty-box": "0.0.364",
59
60
  "@teambit/harmony.ui.aspect-box": "0.0.497",
60
61
  "@teambit/design.ui.pages.not-found": "0.0.366",
61
62
  "@teambit/design.ui.pages.server-error": "0.0.366",
62
- "@teambit/compositions": "0.0.1015",
63
- "@teambit/deprecation": "0.0.1015",
64
- "@teambit/envs": "0.0.1015",
63
+ "@teambit/compositions": "0.0.1017",
64
+ "@teambit/deprecation": "0.0.1017",
65
+ "@teambit/envs": "0.0.1017",
65
66
  "@teambit/legacy-component-log": "0.0.399",
66
67
  "@teambit/design.ui.styles.ellipsis": "0.0.357",
67
68
  "@teambit/envs.ui.env-icon": "0.0.495",
68
- "@teambit/component.ui.version-dropdown": "0.0.745",
69
- "@teambit/lanes.hooks.use-lanes": "0.0.142",
70
- "@teambit/lanes.ui.models.lanes-model": "0.0.104",
69
+ "@teambit/component.ui.version-dropdown": "0.0.747",
70
+ "@teambit/lanes.hooks.use-lanes": "0.0.144",
71
+ "@teambit/lanes.ui.models.lanes-model": "0.0.106",
71
72
  "@teambit/ui-foundation.ui.full-loader": "0.0.495",
72
73
  "@teambit/ui-foundation.ui.use-box.dropdown": "0.0.132"
73
74
  },
@@ -88,7 +89,7 @@
88
89
  "peerDependencies": {
89
90
  "@apollo/client": "^3.6.0",
90
91
  "react-router-dom": "^6.0.0",
91
- "@teambit/legacy": "1.0.458",
92
+ "@teambit/legacy": "1.0.460",
92
93
  "react": "^16.8.0 || ^17.0.0",
93
94
  "react-dom": "^16.8.0 || ^17.0.0"
94
95
  },