@teambit/component 1.0.136 → 1.0.137
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/preview/teambit_component_component-preview.js +1 -1
- package/component.ui.runtime.tsx +32 -3
- package/dist/aspect.section.d.ts +0 -1
- package/dist/component.composition.d.ts +0 -1
- package/dist/component.ui.runtime.d.ts +15 -6
- package/dist/component.ui.runtime.js +13 -4
- package/dist/component.ui.runtime.js.map +1 -1
- package/dist/{preview-1705288527738.js → preview-1705406853442.js} +2 -2
- package/dist/ui/aspect-page/aspect-page.d.ts +0 -1
- package/dist/ui/component-error/component-error.d.ts +0 -1
- package/dist/ui/component.js +2 -1
- package/dist/ui/component.js.map +1 -1
- package/dist/ui/menu/index.d.ts +1 -1
- package/dist/ui/menu/index.js +12 -0
- package/dist/ui/menu/index.js.map +1 -1
- package/dist/ui/menu/menu.d.ts +13 -3
- package/dist/ui/menu/menu.js +7 -2
- package/dist/ui/menu/menu.js.map +1 -1
- package/dist/ui/top-bar-nav/top-bar-nav.d.ts +0 -1
- package/dist/ui/use-component-from-location.d.ts +1 -1
- package/dist/ui/use-component-from-location.js +6 -1
- package/dist/ui/use-component-from-location.js.map +1 -1
- package/package.json +17 -17
- package/ui/component.tsx +2 -1
- package/ui/menu/index.ts +1 -1
- package/ui/menu/menu.tsx +17 -4
- package/ui/use-component-from-location.tsx +8 -2
package/component.ui.runtime.tsx
CHANGED
|
@@ -21,7 +21,15 @@ import { ComponentAspect } from './component.aspect';
|
|
|
21
21
|
import { ComponentModel } from './ui';
|
|
22
22
|
import { Component, ComponentPageElement, ComponentPageSlot } from './ui/component';
|
|
23
23
|
import { ComponentResultPlugin, ComponentSearcher } from './ui/component-searcher';
|
|
24
|
-
import {
|
|
24
|
+
import {
|
|
25
|
+
ConsumeMethodSlot,
|
|
26
|
+
ConsumePlugin,
|
|
27
|
+
ComponentMenu,
|
|
28
|
+
NavPlugin,
|
|
29
|
+
OrderedNavigationSlot,
|
|
30
|
+
RightSideMenuItem,
|
|
31
|
+
RightSideMenuSlot,
|
|
32
|
+
} from './ui/menu';
|
|
25
33
|
import { GetComponentsOptions } from './get-component-opts';
|
|
26
34
|
|
|
27
35
|
export type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;
|
|
@@ -59,6 +67,10 @@ export class ComponentUI {
|
|
|
59
67
|
* slot for registering a new widget to the menu.
|
|
60
68
|
*/
|
|
61
69
|
private widgetSlot: OrderedNavigationSlot,
|
|
70
|
+
/**
|
|
71
|
+
* slot for registering the right section of the menu
|
|
72
|
+
*/
|
|
73
|
+
private rightSideMenuSlot: RightSideMenuSlot,
|
|
62
74
|
|
|
63
75
|
private menuItemSlot: MenuItemSlot,
|
|
64
76
|
|
|
@@ -215,6 +227,7 @@ export class ComponentUI {
|
|
|
215
227
|
skipRightSide={options.skipRightSide}
|
|
216
228
|
navigationSlot={this.navSlot}
|
|
217
229
|
consumeMethodSlot={this.consumeMethodSlot}
|
|
230
|
+
rightSideMenuSlot={this.rightSideMenuSlot}
|
|
218
231
|
widgetSlot={this.widgetSlot}
|
|
219
232
|
host={host}
|
|
220
233
|
menuItemSlot={this.menuItemSlot}
|
|
@@ -252,6 +265,10 @@ export class ComponentUI {
|
|
|
252
265
|
this.widgetSlot.register({ props: widget, order });
|
|
253
266
|
}
|
|
254
267
|
|
|
268
|
+
registerRightSideMenuItem(...rightSideMenuItem: RightSideMenuItem[]) {
|
|
269
|
+
this.rightSideMenuSlot.register(rightSideMenuItem);
|
|
270
|
+
}
|
|
271
|
+
|
|
255
272
|
registerMenuItem = (menuItems: MenuItem[]) => {
|
|
256
273
|
this.menuItemSlot.register(menuItems);
|
|
257
274
|
};
|
|
@@ -284,6 +301,7 @@ export class ComponentUI {
|
|
|
284
301
|
Slot.withType<MenuItemSlot>(),
|
|
285
302
|
Slot.withType<ComponentPageSlot>(),
|
|
286
303
|
Slot.withType<ComponentSearchResultSlot>(),
|
|
304
|
+
Slot.withType<RightSideMenuSlot>(),
|
|
287
305
|
];
|
|
288
306
|
static defaultConfig: ComponentUIConfig = {
|
|
289
307
|
commandBar: true,
|
|
@@ -292,14 +310,24 @@ export class ComponentUI {
|
|
|
292
310
|
static async provider(
|
|
293
311
|
[pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI],
|
|
294
312
|
config: ComponentUIConfig,
|
|
295
|
-
[
|
|
313
|
+
[
|
|
314
|
+
routeSlot,
|
|
315
|
+
navSlot,
|
|
316
|
+
consumeMethodSlot,
|
|
317
|
+
widgetSlot,
|
|
318
|
+
menuItemSlot,
|
|
319
|
+
pageSlot,
|
|
320
|
+
componentSearchResultSlot,
|
|
321
|
+
rightSideMenuSlot,
|
|
322
|
+
]: [
|
|
296
323
|
RouteSlot,
|
|
297
324
|
OrderedNavigationSlot,
|
|
298
325
|
ConsumeMethodSlot,
|
|
299
326
|
OrderedNavigationSlot,
|
|
300
327
|
MenuItemSlot,
|
|
301
328
|
ComponentPageSlot,
|
|
302
|
-
ComponentSearchResultSlot
|
|
329
|
+
ComponentSearchResultSlot,
|
|
330
|
+
RightSideMenuSlot
|
|
303
331
|
]
|
|
304
332
|
) {
|
|
305
333
|
// TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)
|
|
@@ -310,6 +338,7 @@ export class ComponentUI {
|
|
|
310
338
|
navSlot,
|
|
311
339
|
consumeMethodSlot,
|
|
312
340
|
widgetSlot,
|
|
341
|
+
rightSideMenuSlot,
|
|
313
342
|
menuItemSlot,
|
|
314
343
|
pageSlot,
|
|
315
344
|
componentSearchResultSlot,
|
package/dist/aspect.section.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
/// <reference types="lodash" />
|
|
3
2
|
import type { RouteProps } from 'react-router-dom';
|
|
4
3
|
import type { LinkProps } from '@teambit/base-react.navigation.link';
|
|
@@ -11,7 +10,7 @@ import { NavigationSlot, RouteSlot } from '@teambit/ui-foundation.ui.react-route
|
|
|
11
10
|
import { ComponentModel } from './ui';
|
|
12
11
|
import { ComponentPageElement, ComponentPageSlot } from './ui/component';
|
|
13
12
|
import { ComponentResultPlugin } from './ui/component-searcher';
|
|
14
|
-
import { ConsumeMethodSlot, ConsumePlugin, NavPlugin, OrderedNavigationSlot } from './ui/menu';
|
|
13
|
+
import { ConsumeMethodSlot, ConsumePlugin, NavPlugin, OrderedNavigationSlot, RightSideMenuItem, RightSideMenuSlot } from './ui/menu';
|
|
15
14
|
import { GetComponentsOptions } from './get-component-opts';
|
|
16
15
|
export type ComponentSearchResultSlot = SlotRegistry<ComponentResultPlugin[]>;
|
|
17
16
|
export type ComponentUIConfig = {
|
|
@@ -36,6 +35,10 @@ export declare class ComponentUI {
|
|
|
36
35
|
* slot for registering a new widget to the menu.
|
|
37
36
|
*/
|
|
38
37
|
private widgetSlot;
|
|
38
|
+
/**
|
|
39
|
+
* slot for registering the right section of the menu
|
|
40
|
+
*/
|
|
41
|
+
private rightSideMenuSlot;
|
|
39
42
|
private menuItemSlot;
|
|
40
43
|
private pageItemSlot;
|
|
41
44
|
private componentSearchResultSlot;
|
|
@@ -50,7 +53,11 @@ export declare class ComponentUI {
|
|
|
50
53
|
/**
|
|
51
54
|
* slot for registering a new widget to the menu.
|
|
52
55
|
*/
|
|
53
|
-
widgetSlot: OrderedNavigationSlot,
|
|
56
|
+
widgetSlot: OrderedNavigationSlot,
|
|
57
|
+
/**
|
|
58
|
+
* slot for registering the right section of the menu
|
|
59
|
+
*/
|
|
60
|
+
rightSideMenuSlot: RightSideMenuSlot, menuItemSlot: MenuItemSlot, pageItemSlot: ComponentPageSlot, componentSearchResultSlot: ComponentSearchResultSlot, commandBarUI: CommandBarUI, reactRouterUi: ReactRouterUI);
|
|
54
61
|
get routes(): [string, RouteProps[]][];
|
|
55
62
|
/**
|
|
56
63
|
* the current visible component
|
|
@@ -73,6 +80,7 @@ export declare class ComponentUI {
|
|
|
73
80
|
registerNavigation(nav: LinkProps, order?: number): void;
|
|
74
81
|
registerConsumeMethod(...consumeMethods: ConsumePlugin[]): void;
|
|
75
82
|
registerWidget(widget: LinkProps, order?: number): void;
|
|
83
|
+
registerRightSideMenuItem(...rightSideMenuItem: RightSideMenuItem[]): void;
|
|
76
84
|
registerMenuItem: (menuItems: MenuItem[]) => void;
|
|
77
85
|
registerPageItem: (...items: ComponentPageElement[]) => void;
|
|
78
86
|
/** register widgets to the components listed in the command bar */
|
|
@@ -80,16 +88,17 @@ export declare class ComponentUI {
|
|
|
80
88
|
updateComponents: (components: ComponentModel[]) => void;
|
|
81
89
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
82
90
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
83
|
-
static slots: (((registerFn: () => string) => SlotRegistry<RouteProps>) | ((registerFn: () => string) => SlotRegistry<NavigationSlot>) | ((registerFn: () => string) => SlotRegistry<MenuItemSlot>) | ((registerFn: () => string) => SlotRegistry<NavPlugin>) | ((registerFn: () => string) => SlotRegistry<ConsumeMethodSlot>) | ((registerFn: () => string) => SlotRegistry<ComponentPageSlot>) | ((registerFn: () => string) => SlotRegistry<ComponentSearchResultSlot>))[];
|
|
91
|
+
static slots: (((registerFn: () => string) => SlotRegistry<RouteProps>) | ((registerFn: () => string) => SlotRegistry<NavigationSlot>) | ((registerFn: () => string) => SlotRegistry<MenuItemSlot>) | ((registerFn: () => string) => SlotRegistry<NavPlugin>) | ((registerFn: () => string) => SlotRegistry<ConsumeMethodSlot>) | ((registerFn: () => string) => SlotRegistry<ComponentPageSlot>) | ((registerFn: () => string) => SlotRegistry<ComponentSearchResultSlot>) | ((registerFn: () => string) => SlotRegistry<RightSideMenuSlot>))[];
|
|
84
92
|
static defaultConfig: ComponentUIConfig;
|
|
85
|
-
static provider([pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI], config: ComponentUIConfig, [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot]: [
|
|
93
|
+
static provider([pubsub, commandBarUI, reactRouterUI]: [PubsubUI, CommandBarUI, ReactRouterUI], config: ComponentUIConfig, [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot, rightSideMenuSlot,]: [
|
|
86
94
|
RouteSlot,
|
|
87
95
|
OrderedNavigationSlot,
|
|
88
96
|
ConsumeMethodSlot,
|
|
89
97
|
OrderedNavigationSlot,
|
|
90
98
|
MenuItemSlot,
|
|
91
99
|
ComponentPageSlot,
|
|
92
|
-
ComponentSearchResultSlot
|
|
100
|
+
ComponentSearchResultSlot,
|
|
101
|
+
RightSideMenuSlot
|
|
93
102
|
]): Promise<ComponentUI>;
|
|
94
103
|
}
|
|
95
104
|
export default ComponentUI;
|
|
@@ -152,12 +152,17 @@ class ComponentUI {
|
|
|
152
152
|
/**
|
|
153
153
|
* slot for registering a new widget to the menu.
|
|
154
154
|
*/
|
|
155
|
-
widgetSlot,
|
|
155
|
+
widgetSlot,
|
|
156
|
+
/**
|
|
157
|
+
* slot for registering the right section of the menu
|
|
158
|
+
*/
|
|
159
|
+
rightSideMenuSlot, menuItemSlot, pageItemSlot, componentSearchResultSlot, commandBarUI, reactRouterUi) {
|
|
156
160
|
this.pubsub = pubsub;
|
|
157
161
|
this.routeSlot = routeSlot;
|
|
158
162
|
this.navSlot = navSlot;
|
|
159
163
|
this.consumeMethodSlot = consumeMethodSlot;
|
|
160
164
|
this.widgetSlot = widgetSlot;
|
|
165
|
+
this.rightSideMenuSlot = rightSideMenuSlot;
|
|
161
166
|
this.menuItemSlot = menuItemSlot;
|
|
162
167
|
this.pageItemSlot = pageItemSlot;
|
|
163
168
|
this.componentSearchResultSlot = componentSearchResultSlot;
|
|
@@ -305,6 +310,7 @@ class ComponentUI {
|
|
|
305
310
|
skipRightSide: options.skipRightSide,
|
|
306
311
|
navigationSlot: this.navSlot,
|
|
307
312
|
consumeMethodSlot: this.consumeMethodSlot,
|
|
313
|
+
rightSideMenuSlot: this.rightSideMenuSlot,
|
|
308
314
|
widgetSlot: this.widgetSlot,
|
|
309
315
|
host: host,
|
|
310
316
|
menuItemSlot: this.menuItemSlot,
|
|
@@ -338,10 +344,13 @@ class ComponentUI {
|
|
|
338
344
|
order
|
|
339
345
|
});
|
|
340
346
|
}
|
|
341
|
-
|
|
347
|
+
registerRightSideMenuItem(...rightSideMenuItem) {
|
|
348
|
+
this.rightSideMenuSlot.register(rightSideMenuItem);
|
|
349
|
+
}
|
|
350
|
+
static async provider([pubsub, commandBarUI, reactRouterUI], config, [routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot, rightSideMenuSlot]) {
|
|
342
351
|
// TODO: refactor ComponentHost to a separate extension (including sidebar, host, graphql, etc.)
|
|
343
352
|
// TODO: add contextual hook for ComponentHost @uri/@oded
|
|
344
|
-
const componentUI = new ComponentUI(pubsub, routeSlot, navSlot, consumeMethodSlot, widgetSlot, menuItemSlot, pageSlot, componentSearchResultSlot, commandBarUI, reactRouterUI);
|
|
353
|
+
const componentUI = new ComponentUI(pubsub, routeSlot, navSlot, consumeMethodSlot, widgetSlot, rightSideMenuSlot, menuItemSlot, pageSlot, componentSearchResultSlot, commandBarUI, reactRouterUI);
|
|
345
354
|
const aspectSection = new (_aspect().AspectSection)();
|
|
346
355
|
// @ts-ignore
|
|
347
356
|
componentUI.registerSearchResultWidget({
|
|
@@ -362,7 +371,7 @@ class ComponentUI {
|
|
|
362
371
|
exports.ComponentUI = ComponentUI;
|
|
363
372
|
_defineProperty(ComponentUI, "dependencies", [_pubsub().default, _commandBar().default, _reactRouter().default]);
|
|
364
373
|
_defineProperty(ComponentUI, "runtime", _ui().UIRuntime);
|
|
365
|
-
_defineProperty(ComponentUI, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
|
|
374
|
+
_defineProperty(ComponentUI, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType(), _harmony().Slot.withType()]);
|
|
366
375
|
_defineProperty(ComponentUI, "defaultConfig", {
|
|
367
376
|
commandBar: true
|
|
368
377
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","_lodash","_copyToClipboard","_commandBar","_componentUi","_harmony","_preview","_interopRequireWildcard","_pubsub","_reactRouter","_ui","_lodash2","_uiFoundationUi","_uiFoundationUiUseBox","_componentPackageVersion","_aspect","_component","_component2","_componentSearcher","_menu","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","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","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","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","provider","reactRouterUI","config","pageSlot","componentUI","aspectSection","AspectSection","registerSearchResultWidget","end","DeprecationIcon","commandBar","addCommand","keyBindings","addSearcher","registerMenuItem","route","navigationLink","bitMethod","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 { 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 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 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 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":["_react","data","_interopRequireDefault","require","_lodash","_copyToClipboard","_commandBar","_componentUi","_harmony","_preview","_interopRequireWildcard","_pubsub","_reactRouter","_ui","_lodash2","_uiFoundationUi","_uiFoundationUiUseBox","_componentPackageVersion","_aspect","_component","_component2","_componentSearcher","_menu","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","obj","_defineProperty","key","value","_toPropertyKey","enumerable","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","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","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","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 { 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 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@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.137/dist/component.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_component@1.0.137/dist/component.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/dist/ui/component.js
CHANGED
|
@@ -95,6 +95,7 @@ function Component({
|
|
|
95
95
|
useComponentFilters
|
|
96
96
|
}) {
|
|
97
97
|
const idFromLocation = (0, _useComponentFromLocation().useIdFromLocation)();
|
|
98
|
+
const componentIdStrWithScopeFromLocation = (0, _useComponentFromLocation().useIdFromLocation)(undefined, true);
|
|
98
99
|
const _componentIdStr = getComponentIdStr(componentIdStr);
|
|
99
100
|
const componentId = _componentIdStr ? _().ComponentID.fromString(_componentIdStr) : undefined;
|
|
100
101
|
const resolvedComponentIdStr = path || idFromLocation;
|
|
@@ -109,7 +110,7 @@ function Component({
|
|
|
109
110
|
component,
|
|
110
111
|
componentDescriptor,
|
|
111
112
|
error
|
|
112
|
-
} = (0, _useComponent().useComponent)(host, componentId?.toString() ||
|
|
113
|
+
} = (0, _useComponent().useComponent)(host, componentId?.toString() || componentIdStrWithScopeFromLocation, useComponentOptions);
|
|
113
114
|
|
|
114
115
|
// trigger onComponentChange when component changes
|
|
115
116
|
(0, _react().useEffect)(() => onComponentChange?.(component), [component]);
|
package/dist/ui/component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_lodash","_interopRequireDefault","_uiFoundationUiReactRouter","_lodash2","_context","_useComponent","_useComponentFromLocation","_","_componentModule","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","getComponentIdStr","componentIdStr","isFunction","Component","routeSlot","overriddenRoutes","containerSlot","host","onComponentChange","useComponent","path","useComponentFilters","idFromLocation","useIdFromLocation","_componentIdStr","componentId","ComponentID","fromString","undefined","resolvedComponentIdStr","componentFiltersFromProps","useComponentOptions","logFilters","loading","log","customUseComponent","component","componentDescriptor","error","useComponentQuery","toString","useEffect","pageItems","useMemo","flatten","values","before","x","type","map","content","after","renderError","createElement","ComponentDescriptorProvider","ComponentProvider","className","styles","container","SlotRouter","parentPath","slot","routes"],"sources":["component.tsx"],"sourcesContent":["import React, { useEffect, ReactNode, useMemo } from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport flatten from 'lodash.flatten';\nimport { RouteSlot, SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { SlotRegistry } from '@teambit/harmony';\nimport { isFunction } from 'lodash';\nimport { ComponentProvider, ComponentDescriptorProvider } from './context';\nimport { useComponent as useComponentQuery, UseComponentType, Filters } from './use-component';\nimport { ComponentModel } from './component-model';\nimport { useIdFromLocation } from './use-component-from-location';\nimport { ComponentID } from '..';\n\nimport styles from './component.module.scss';\n\nexport type ComponentPageSlot = SlotRegistry<ComponentPageElement[]>;\nexport type ComponentPageElement = {\n type: 'before' | 'after';\n content: ReactNode;\n};\n\nexport type ComponentProps = {\n containerSlot?: ComponentPageSlot;\n routeSlot: RouteSlot;\n overriddenRoutes?: RouteProps[];\n host: string;\n onComponentChange?: (activeComponent?: ComponentModel) => void;\n useComponent?: UseComponentType;\n useComponentFilters?: () => Filters;\n path?: string;\n componentIdStr?: string | (() => string | undefined);\n};\n\nfunction getComponentIdStr(componentIdStr?: string | (() => string | undefined)): string | undefined {\n if (isFunction(componentIdStr)) return componentIdStr();\n return componentIdStr;\n}\n\n/**\n * main UI component of the Component extension.\n */\nexport function Component({\n routeSlot,\n overriddenRoutes,\n containerSlot,\n host,\n onComponentChange,\n componentIdStr,\n useComponent,\n path,\n useComponentFilters,\n}: ComponentProps) {\n const idFromLocation = useIdFromLocation();\n const _componentIdStr = getComponentIdStr(componentIdStr);\n const componentId = _componentIdStr ? ComponentID.fromString(_componentIdStr) : undefined;\n const resolvedComponentIdStr = path || idFromLocation;\n const componentFiltersFromProps = useComponentFilters?.() || {};\n\n const useComponentOptions = {\n logFilters: {\n ...componentFiltersFromProps,\n ...(componentFiltersFromProps.loading\n ? {}\n : {\n log: {\n // @todo - enable this when we have lazy loading of logs\n // limit: 3,\n ...componentFiltersFromProps.log,\n },\n }),\n },\n customUseComponent: useComponent,\n };\n\n const { component, componentDescriptor, error } = useComponentQuery(\n host,\n componentId?.toString() || idFromLocation,\n useComponentOptions\n );\n\n // trigger onComponentChange when component changes\n useEffect(() => onComponentChange?.(component), [component]);\n // cleanup when unmounting component\n useEffect(() => () => onComponentChange?.(undefined), []);\n\n const pageItems = useMemo(() => flatten(containerSlot?.values()), [containerSlot]);\n const before = useMemo(() => pageItems.filter((x) => x.type === 'before').map((x) => x.content), [pageItems]);\n const after = useMemo(() => pageItems.filter((x) => x.type === 'after').map((x) => x.content), [pageItems]);\n\n if (error) return error?.renderError();\n if (!component) return <div></div>;\n\n return (\n <ComponentDescriptorProvider componentDescriptor={componentDescriptor}>\n <ComponentProvider component={component}>\n {before}\n <div className={styles.container}>\n {routeSlot && (\n <SlotRouter parentPath={`${resolvedComponentIdStr}/*`} slot={routeSlot} routes={overriddenRoutes} />\n )}\n </div>\n {after}\n </ComponentProvider>\n </ComponentDescriptorProvider>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_lodash","_interopRequireDefault","_uiFoundationUiReactRouter","_lodash2","_context","_useComponent","_useComponentFromLocation","_","_componentModule","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","key","value","_toPropertyKey","configurable","writable","_toPrimitive","String","Symbol","toPrimitive","TypeError","Number","getComponentIdStr","componentIdStr","isFunction","Component","routeSlot","overriddenRoutes","containerSlot","host","onComponentChange","useComponent","path","useComponentFilters","idFromLocation","useIdFromLocation","componentIdStrWithScopeFromLocation","undefined","_componentIdStr","componentId","ComponentID","fromString","resolvedComponentIdStr","componentFiltersFromProps","useComponentOptions","logFilters","loading","log","customUseComponent","component","componentDescriptor","error","useComponentQuery","toString","useEffect","pageItems","useMemo","flatten","values","before","x","type","map","content","after","renderError","createElement","ComponentDescriptorProvider","ComponentProvider","className","styles","container","SlotRouter","parentPath","slot","routes"],"sources":["component.tsx"],"sourcesContent":["import React, { useEffect, ReactNode, useMemo } from 'react';\nimport { RouteProps } from 'react-router-dom';\nimport flatten from 'lodash.flatten';\nimport { RouteSlot, SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { SlotRegistry } from '@teambit/harmony';\nimport { isFunction } from 'lodash';\nimport { ComponentProvider, ComponentDescriptorProvider } from './context';\nimport { useComponent as useComponentQuery, UseComponentType, Filters } from './use-component';\nimport { ComponentModel } from './component-model';\nimport { useIdFromLocation } from './use-component-from-location';\nimport { ComponentID } from '..';\n\nimport styles from './component.module.scss';\n\nexport type ComponentPageSlot = SlotRegistry<ComponentPageElement[]>;\nexport type ComponentPageElement = {\n type: 'before' | 'after';\n content: ReactNode;\n};\n\nexport type ComponentProps = {\n containerSlot?: ComponentPageSlot;\n routeSlot: RouteSlot;\n overriddenRoutes?: RouteProps[];\n host: string;\n onComponentChange?: (activeComponent?: ComponentModel) => void;\n useComponent?: UseComponentType;\n useComponentFilters?: () => Filters;\n path?: string;\n componentIdStr?: string | (() => string | undefined);\n};\n\nfunction getComponentIdStr(componentIdStr?: string | (() => string | undefined)): string | undefined {\n if (isFunction(componentIdStr)) return componentIdStr();\n return componentIdStr;\n}\n\n/**\n * main UI component of the Component extension.\n */\nexport function Component({\n routeSlot,\n overriddenRoutes,\n containerSlot,\n host,\n onComponentChange,\n componentIdStr,\n useComponent,\n path,\n useComponentFilters,\n}: ComponentProps) {\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 componentFiltersFromProps = useComponentFilters?.() || {};\n\n const useComponentOptions = {\n logFilters: {\n ...componentFiltersFromProps,\n ...(componentFiltersFromProps.loading\n ? {}\n : {\n log: {\n // @todo - enable this when we have lazy loading of logs\n // limit: 3,\n ...componentFiltersFromProps.log,\n },\n }),\n },\n customUseComponent: useComponent,\n };\n\n const { component, componentDescriptor, error } = useComponentQuery(\n host,\n componentId?.toString() || componentIdStrWithScopeFromLocation,\n useComponentOptions\n );\n\n // trigger onComponentChange when component changes\n useEffect(() => onComponentChange?.(component), [component]);\n // cleanup when unmounting component\n useEffect(() => () => onComponentChange?.(undefined), []);\n\n const pageItems = useMemo(() => flatten(containerSlot?.values()), [containerSlot]);\n const before = useMemo(() => pageItems.filter((x) => x.type === 'before').map((x) => x.content), [pageItems]);\n const after = useMemo(() => pageItems.filter((x) => x.type === 'after').map((x) => x.content), [pageItems]);\n\n if (error) return error?.renderError();\n if (!component) return <div></div>;\n\n return (\n <ComponentDescriptorProvider componentDescriptor={componentDescriptor}>\n <ComponentProvider component={component}>\n {before}\n <div className={styles.container}>\n {routeSlot && (\n <SlotRouter parentPath={`${resolvedComponentIdStr}/*`} slot={routeSlot} routes={overriddenRoutes} />\n )}\n </div>\n {after}\n </ComponentProvider>\n </ComponentDescriptorProvider>\n );\n}\n"],"mappings":"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"}
|
package/dist/ui/menu/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { CollapsibleMenuNav, MenuNavProps } from './menu-nav';
|
|
2
|
-
export { ComponentMenu, VersionRelatedDropdowns } from './menu';
|
|
2
|
+
export { ComponentMenu, VersionRelatedDropdowns, RightSideMenuItem, RightSideMenuSlot } from './menu';
|
|
3
3
|
export type { NavPlugin, OrderedNavigationSlot, ConsumePlugin, ConsumeMethodSlot, ConsumePluginProps, } from './nav-plugin';
|
package/dist/ui/menu/index.js
CHANGED
|
@@ -21,6 +21,18 @@ Object.defineProperty(exports, "MenuNavProps", {
|
|
|
21
21
|
return _menuNav().MenuNavProps;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
|
+
Object.defineProperty(exports, "RightSideMenuItem", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _menu().RightSideMenuItem;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "RightSideMenuSlot", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () {
|
|
33
|
+
return _menu().RightSideMenuSlot;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
24
36
|
Object.defineProperty(exports, "VersionRelatedDropdowns", {
|
|
25
37
|
enumerable: true,
|
|
26
38
|
get: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_menuNav","data","require","_menu"],"sources":["index.ts"],"sourcesContent":["export { CollapsibleMenuNav, MenuNavProps } from './menu-nav';\nexport { ComponentMenu, VersionRelatedDropdowns } from './menu';\nexport type {\n NavPlugin,\n OrderedNavigationSlot,\n ConsumePlugin,\n ConsumeMethodSlot,\n ConsumePluginProps,\n} from './nav-plugin';\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_menuNav","data","require","_menu"],"sources":["index.ts"],"sourcesContent":["export { CollapsibleMenuNav, MenuNavProps } from './menu-nav';\nexport { ComponentMenu, VersionRelatedDropdowns, RightSideMenuItem, RightSideMenuSlot } from './menu';\nexport type {\n NavPlugin,\n OrderedNavigationSlot,\n ConsumePlugin,\n ConsumeMethodSlot,\n ConsumePluginProps,\n} from './nav-plugin';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,MAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
|
package/dist/ui/menu/menu.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
import { SlotRegistry } from '@teambit/harmony';
|
|
2
3
|
import { DropdownComponentVersion, GetActiveTabIndex } from '@teambit/component.ui.version-dropdown';
|
|
3
4
|
import { MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';
|
|
4
5
|
import { LanesModel } from '@teambit/lanes.ui.models.lanes-model';
|
|
5
6
|
import { UseComponentType, Filters } from '../use-component';
|
|
6
7
|
import { OrderedNavigationSlot, ConsumeMethodSlot } from './nav-plugin';
|
|
7
8
|
import { ComponentID } from '../..';
|
|
9
|
+
export type RightSideMenuItem = {
|
|
10
|
+
item: ReactNode;
|
|
11
|
+
order: number;
|
|
12
|
+
};
|
|
13
|
+
export type RightSideMenuSlot = SlotRegistry<RightSideMenuItem[]>;
|
|
8
14
|
export type MenuProps = {
|
|
9
15
|
className?: string;
|
|
10
16
|
/**
|
|
@@ -20,9 +26,13 @@ export type MenuProps = {
|
|
|
20
26
|
*/
|
|
21
27
|
navigationSlot: OrderedNavigationSlot;
|
|
22
28
|
/**
|
|
23
|
-
* right side menu item slot
|
|
29
|
+
* right side navigation menu item slot
|
|
24
30
|
*/
|
|
25
31
|
widgetSlot: OrderedNavigationSlot;
|
|
32
|
+
/**
|
|
33
|
+
* right side menu item slot
|
|
34
|
+
*/
|
|
35
|
+
rightSideMenuSlot: RightSideMenuSlot;
|
|
26
36
|
/**
|
|
27
37
|
* workspace or scope
|
|
28
38
|
*/
|
|
@@ -44,7 +54,7 @@ export type MenuProps = {
|
|
|
44
54
|
/**
|
|
45
55
|
* top bar menu.
|
|
46
56
|
*/
|
|
47
|
-
export declare function ComponentMenu({ navigationSlot, widgetSlot, className, host, menuItemSlot, consumeMethodSlot, componentIdStr, skipRightSide, RightNode, useComponent, path, useComponentFilters, }: MenuProps): JSX.Element;
|
|
57
|
+
export declare function ComponentMenu({ navigationSlot, widgetSlot, className, host, menuItemSlot, consumeMethodSlot, rightSideMenuSlot, componentIdStr, skipRightSide, RightNode, useComponent, path, useComponentFilters, }: MenuProps): JSX.Element;
|
|
48
58
|
export type VersionRelatedDropdownsProps = {
|
|
49
59
|
componentId?: string;
|
|
50
60
|
consumeMethods?: ConsumeMethodSlot;
|
package/dist/ui/menu/menu.js
CHANGED
|
@@ -141,6 +141,7 @@ function ComponentMenu({
|
|
|
141
141
|
host,
|
|
142
142
|
menuItemSlot,
|
|
143
143
|
consumeMethodSlot,
|
|
144
|
+
rightSideMenuSlot,
|
|
144
145
|
componentIdStr,
|
|
145
146
|
skipRightSide,
|
|
146
147
|
RightNode,
|
|
@@ -149,12 +150,14 @@ function ComponentMenu({
|
|
|
149
150
|
useComponentFilters
|
|
150
151
|
}) {
|
|
151
152
|
const idFromLocation = (0, _useComponentFromLocation().useIdFromLocation)();
|
|
153
|
+
const componentIdStrWithScopeFromLocation = (0, _useComponentFromLocation().useIdFromLocation)(undefined, true);
|
|
152
154
|
const _componentIdStr = getComponentIdStr(componentIdStr);
|
|
153
155
|
const componentId = _componentIdStr ? _().ComponentID.fromString(_componentIdStr) : undefined;
|
|
154
156
|
const resolvedComponentIdStr = path || idFromLocation;
|
|
155
157
|
const mainMenuItems = (0, _react().useMemo)(() => (0, _lodash().groupBy)((0, _lodash().flatten)(menuItemSlot.values()), 'category'), [menuItemSlot]);
|
|
158
|
+
const rightSideItems = (0, _react().useMemo)(() => (0, _lodash().orderBy)((0, _lodash().flatten)(rightSideMenuSlot.values()), 'order'), [rightSideMenuSlot]);
|
|
156
159
|
const componentFilters = useComponentFilters?.() || {};
|
|
157
|
-
const useComponentVersions = defaultLoadVersions(host, componentId?.toString() ||
|
|
160
|
+
const useComponentVersions = defaultLoadVersions(host, componentId?.toString() || componentIdStrWithScopeFromLocation, componentFilters, useComponent);
|
|
158
161
|
const RightSide = /*#__PURE__*/_react().default.createElement("div", {
|
|
159
162
|
className: _menuModule().default.rightSide
|
|
160
163
|
}, RightNode || /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, /*#__PURE__*/_react().default.createElement(VersionRelatedDropdowns, {
|
|
@@ -164,7 +167,9 @@ function ComponentMenu({
|
|
|
164
167
|
useComponent: useComponentVersions,
|
|
165
168
|
componentFilters: componentFilters
|
|
166
169
|
// loading={loading}
|
|
167
|
-
}),
|
|
170
|
+
}), rightSideItems.map(({
|
|
171
|
+
item
|
|
172
|
+
}) => item), /*#__PURE__*/_react().default.createElement(_uiFoundationUi().MainDropdown, {
|
|
168
173
|
className: _menuModule().default.hideOnMobile,
|
|
169
174
|
menuItems: mainMenuItems
|
|
170
175
|
})));
|