@teambit/component 1.0.107 → 1.0.109

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.
Files changed (67) hide show
  1. package/artifacts/preview/static/css/teambit.component/component-preview.8360f74e.css +55 -0
  2. package/artifacts/preview/static/images/348e1dfebd0d5a35a5e6.png +0 -0
  3. package/artifacts/preview/static/images/37978a86e2f81f41863e.png +0 -0
  4. package/artifacts/preview/teambit_component_component-preview.js +2 -0
  5. package/dist/aspect-entry.d.ts +4 -4
  6. package/dist/aspect-entry.js +1 -2
  7. package/dist/aspect-entry.js.map +1 -1
  8. package/dist/aspect-list.js +2 -2
  9. package/dist/aspect-list.js.map +1 -1
  10. package/dist/aspect.section.d.ts +3 -3
  11. package/dist/component-factory.d.ts +3 -3
  12. package/dist/component-interface.d.ts +1 -1
  13. package/dist/component-map/component-map.d.ts +2 -2
  14. package/dist/component.composition.d.ts +2 -2
  15. package/dist/component.d.ts +3 -3
  16. package/dist/component.graphql.d.ts +13 -13
  17. package/dist/component.graphql.js +3 -6
  18. package/dist/component.graphql.js.map +1 -1
  19. package/dist/component.js +5 -9
  20. package/dist/component.js.map +1 -1
  21. package/dist/component.main.runtime.d.ts +2 -2
  22. package/dist/component.route.d.ts +2 -2
  23. package/dist/component.ui.runtime.d.ts +7 -7
  24. package/dist/component.ui.runtime.js +12 -27
  25. package/dist/component.ui.runtime.js.map +1 -1
  26. package/dist/get-component-opts.d.ts +1 -1
  27. package/dist/hash.d.ts +1 -1
  28. package/dist/{preview-1703590665075.js → preview-1703698405864.js} +2 -2
  29. package/dist/snap/author.d.ts +1 -1
  30. package/dist/snap/snap.d.ts +1 -1
  31. package/dist/tag/tag.d.ts +1 -1
  32. package/dist/tag-map.d.ts +1 -1
  33. package/dist/ui/aspect-page/aspect-page.d.ts +2 -2
  34. package/dist/ui/aspect-page/aspect-page.js +1 -2
  35. package/dist/ui/aspect-page/aspect-page.js.map +1 -1
  36. package/dist/ui/component-error/component-error.d.ts +4 -4
  37. package/dist/ui/component-model/component-model.d.ts +21 -21
  38. package/dist/ui/component-model/component-model.js +1 -1
  39. package/dist/ui/component-model/component-model.js.map +1 -1
  40. package/dist/ui/component-searcher/component-result.d.ts +4 -4
  41. package/dist/ui/component-searcher/component-result.js +2 -2
  42. package/dist/ui/component-searcher/component-result.js.map +1 -1
  43. package/dist/ui/component-searcher/component-searcher.d.ts +2 -2
  44. package/dist/ui/component.d.ts +5 -5
  45. package/dist/ui/component.js +6 -6
  46. package/dist/ui/component.js.map +1 -1
  47. package/dist/ui/context/component-context.d.ts +1 -1
  48. package/dist/ui/context/component-provider.d.ts +5 -5
  49. package/dist/ui/menu/menu-nav.d.ts +2 -2
  50. package/dist/ui/menu/menu-nav.js +5 -5
  51. package/dist/ui/menu/menu-nav.js.map +1 -1
  52. package/dist/ui/menu/menu.d.ts +9 -9
  53. package/dist/ui/menu/menu.js +28 -31
  54. package/dist/ui/menu/menu.js.map +1 -1
  55. package/dist/ui/menu/nav-plugin.d.ts +7 -7
  56. package/dist/ui/top-bar-nav/top-bar-nav.d.ts +2 -2
  57. package/dist/ui/use-component-from-location.js +1 -1
  58. package/dist/ui/use-component-from-location.js.map +1 -1
  59. package/dist/ui/use-component-logs.d.ts +7 -7
  60. package/dist/ui/use-component-logs.js +5 -6
  61. package/dist/ui/use-component-logs.js.map +1 -1
  62. package/dist/ui/use-component-query.js +13 -17
  63. package/dist/ui/use-component-query.js.map +1 -1
  64. package/dist/ui/use-component.model.d.ts +7 -7
  65. package/package.json +33 -40
  66. package/tsconfig.json +16 -21
  67. package/types/asset.d.ts +15 -3
@@ -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","_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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"}
@@ -3,4 +3,4 @@ import type { ComponentDescriptor } from '@teambit/component-descriptor';
3
3
  import { ComponentModel } from '../component-model';
4
4
  export declare const ComponentContext: React.Context<ComponentModel>;
5
5
  export declare const ComponentDescriptorContext: React.Context<ComponentDescriptor | undefined>;
6
- export declare const useComponentDescriptor: () => ComponentDescriptor | undefined;
6
+ export declare const useComponentDescriptor: () => ComponentDescriptor;
@@ -1,7 +1,7 @@
1
- import React, { ReactNode } from 'react';
1
+ import { ReactNode } from 'react';
2
2
  import type { ComponentDescriptor } from '@teambit/component-descriptor';
3
3
  import { ComponentModel } from '../component-model';
4
- export declare type ComponentProviderProps = {
4
+ export type ComponentProviderProps = {
5
5
  /**
6
6
  * component model.
7
7
  */
@@ -11,8 +11,8 @@ export declare type ComponentProviderProps = {
11
11
  */
12
12
  children: ReactNode;
13
13
  };
14
- export declare function ComponentProvider({ component, children }: ComponentProviderProps): React.JSX.Element;
15
- export declare type ComponentDescriptorProviderProps = {
14
+ export declare function ComponentProvider({ component, children }: ComponentProviderProps): JSX.Element;
15
+ export type ComponentDescriptorProviderProps = {
16
16
  /**
17
17
  * component model.
18
18
  */
@@ -22,4 +22,4 @@ export declare type ComponentDescriptorProviderProps = {
22
22
  */
23
23
  children: ReactNode;
24
24
  };
25
- export declare function ComponentDescriptorProvider({ componentDescriptor, children }: ComponentDescriptorProviderProps): React.JSX.Element;
25
+ export declare function ComponentDescriptorProvider({ componentDescriptor, children }: ComponentDescriptorProviderProps): JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { NavPlugin, OrderedNavigationSlot } from './nav-plugin';
3
- export declare type MenuNavProps = {
3
+ export type MenuNavProps = {
4
4
  /**
5
5
  * @deprecated
6
6
  * use @property navPlugins
@@ -20,4 +20,4 @@ export declare type MenuNavProps = {
20
20
  activeTabIndex?: number;
21
21
  alwaysShowActiveTab?: boolean;
22
22
  } & React.HTMLAttributes<HTMLElement>;
23
- export declare function CollapsibleMenuNav({ navigationSlot, widgetSlot, navPlugins, widgetPlugins, className, secondaryNavClassName, activeTabIndex, alwaysShowActiveTab, children, }: MenuNavProps): React.JSX.Element;
23
+ export declare function CollapsibleMenuNav({ navigationSlot, widgetSlot, navPlugins, widgetPlugins, className, secondaryNavClassName, activeTabIndex, alwaysShowActiveTab, children, }: MenuNavProps): JSX.Element;
@@ -56,10 +56,10 @@ function TopBarNavComponent({
56
56
  * to accommodate for the top level nav which should display the children
57
57
  * in the dropdown secondary menu if there is a displayName set
58
58
  */
59
- const widgetDisplayText = menuItemProps !== null && menuItemProps !== void 0 && menuItemProps.displayName && isInMenu ? menuItemProps === null || menuItemProps === void 0 ? void 0 : menuItemProps.displayName : undefined;
59
+ const widgetDisplayText = menuItemProps?.displayName && isInMenu ? menuItemProps?.displayName : undefined;
60
60
  return /*#__PURE__*/_react().default.createElement(_topBarNav().TopBarNav, _extends({}, menuItemProps, {
61
- className: (0, _classnames().default)(menuItemProps === null || menuItemProps === void 0 ? void 0 : menuItemProps.className, _menuModule().default.topBarNav, isInMenu && _menuModule().default.noBorder)
62
- }), widgetDisplayText || (menuItemProps === null || menuItemProps === void 0 ? void 0 : menuItemProps.children));
61
+ className: (0, _classnames().default)(menuItemProps?.className, _menuModule().default.topBarNav, isInMenu && _menuModule().default.noBorder)
62
+ }), widgetDisplayText || menuItemProps?.children);
63
63
  }
64
64
  function CollapsibleMenuNav({
65
65
  navigationSlot,
@@ -73,11 +73,11 @@ function CollapsibleMenuNav({
73
73
  children
74
74
  }) {
75
75
  const plugins = (0, _react().useMemo)(() => {
76
- const _navPlugins = navPlugins.length > 0 ? navPlugins : navigationSlot === null || navigationSlot === void 0 ? void 0 : navigationSlot.toArray();
76
+ const _navPlugins = navPlugins.length > 0 ? navPlugins : navigationSlot?.toArray();
77
77
  return (_navPlugins || []).sort(sortFn);
78
78
  }, [navigationSlot, navPlugins]);
79
79
  const widgets = (0, _react().useMemo)(() => {
80
- const _widgetPlugins = widgetPlugins.length > 0 ? widgetPlugins : widgetSlot === null || widgetSlot === void 0 ? void 0 : widgetSlot.toArray();
80
+ const _widgetPlugins = widgetPlugins.length > 0 ? widgetPlugins : widgetSlot?.toArray();
81
81
  return (_widgetPlugins || []).sort(sortFn);
82
82
  }, [widgetSlot, widgetPlugins]);
83
83
  const links = [...plugins, ...widgets].map(([, menuItem], index) => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_designNavigation","_topBarNav","_menuModule","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","_extends","assign","bind","target","source","TopBarNavComponent","isInMenu","menuItemProps","widgetDisplayText","displayName","undefined","createElement","TopBarNav","className","classnames","styles","topBarNav","noBorder","children","CollapsibleMenuNav","navigationSlot","widgetSlot","navPlugins","widgetPlugins","secondaryNavClassName","activeTabIndex","alwaysShowActiveTab","plugins","useMemo","_navPlugins","toArray","sort","sortFn","widgets","_widgetPlugins","links","map","menuItem","index","lastPluginStyle","marginRight","firstWidgetStyle","marginLeft","component","tabProps","props","style","ResponsiveNavbar","navClassName","tab","width","height","priority","tabs","defaultActiveIndex","order","first","second"],"sources":["menu-nav.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport classnames from 'classnames';\nimport { ResponsiveNavbar } from '@teambit/design.navigation.responsive-navbar';\nimport type { TabProps } from '@teambit/design.navigation.responsive-navbar';\nimport { TopBarNav } from '../top-bar-nav';\nimport styles from './menu.module.scss';\nimport { NavPlugin, OrderedNavigationSlot } from './nav-plugin';\n\nexport type MenuNavProps = {\n /**\n * @deprecated\n * use @property navPlugins\n */\n navigationSlot?: OrderedNavigationSlot;\n /**\n * @deprecated\n * use @property widgetPlugins\n */\n widgetSlot?: OrderedNavigationSlot;\n navPlugins?: [string, NavPlugin][];\n widgetPlugins?: [string, NavPlugin][];\n /**\n * A className to pass to the secondary nav, i.e dropdown\n */\n secondaryNavClassName?: string;\n activeTabIndex?: number;\n alwaysShowActiveTab?: boolean;\n} & React.HTMLAttributes<HTMLElement>;\n\nfunction TopBarNavComponent({ isInMenu, menuItemProps }: TabProps) {\n /**\n * to accommodate for the top level nav which should display the children\n * in the dropdown secondary menu if there is a displayName set\n */\n const widgetDisplayText = menuItemProps?.displayName && isInMenu ? menuItemProps?.displayName : undefined;\n return (\n <TopBarNav\n {...menuItemProps}\n className={classnames(menuItemProps?.className, styles.topBarNav, isInMenu && styles.noBorder)}\n >\n {widgetDisplayText || menuItemProps?.children}\n </TopBarNav>\n );\n}\n\nexport function CollapsibleMenuNav({\n navigationSlot,\n widgetSlot,\n navPlugins = [],\n widgetPlugins = [],\n className,\n secondaryNavClassName,\n activeTabIndex,\n alwaysShowActiveTab,\n children,\n}: MenuNavProps) {\n const plugins = useMemo(() => {\n const _navPlugins = navPlugins.length > 0 ? navPlugins : navigationSlot?.toArray();\n return (_navPlugins || []).sort(sortFn);\n }, [navigationSlot, navPlugins]);\n const widgets = useMemo(() => {\n const _widgetPlugins = widgetPlugins.length > 0 ? widgetPlugins : widgetSlot?.toArray();\n return (_widgetPlugins || []).sort(sortFn);\n }, [widgetSlot, widgetPlugins]);\n\n const links = [...plugins, ...widgets].map(([, menuItem], index) => {\n // these styles keep plugins to the left and widgets to the right.\n const lastPluginStyle = plugins.length - 1 === index ? { marginRight: 'auto' } : {};\n\n const firstWidgetStyle = plugins.length === index ? { marginLeft: 'auto' } : {};\n\n return {\n component: TopBarNavComponent,\n tabProps: {\n menuItemProps: menuItem.props,\n },\n style: { ...firstWidgetStyle, ...lastPluginStyle },\n className: menuItem.props.className,\n };\n });\n\n return (\n <ResponsiveNavbar\n navClassName={classnames(styles.tab, className)}\n secondaryNavClassName={secondaryNavClassName}\n style={{ width: '100%', height: '100%' }}\n priority=\"none\"\n tabs={links}\n defaultActiveIndex={activeTabIndex}\n alwaysShowActiveTab={alwaysShowActiveTab}\n >\n {children}\n </ResponsiveNavbar>\n );\n}\n\nfunction sortFn([, { order: first }]: [string, NavPlugin], [, { order: second }]: [string, NavPlugin]) {\n // 0 - equal\n // <0 - first < second\n // >0 - first > second\n\n return (first ?? 0) - (second ?? 0);\n}\n\n// // this is the aspect-oriented and serialize-able way to sort plugins.\n// const pluginOrder = ['teambit.docs/docs', 'teambit.compositions/compositions', 'teambit.docs/docs'];\n// export function toSortedArray<T>(slot: SlotRegistry<T>, order: string[]) {\n// // sort items according to the order\n// const sorted = order.map((x) => [x, slot.get(x)]).filter(([, val]) => !!val) as [string, T][];\n//\n// // add all other items\n// const unsorted = slot.toArray().filter(([id]) => order.indexOf(id) < 0);\n//\n// return sorted.concat(unsorted);\n// }\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","data","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_designNavigation","_topBarNav","_menuModule","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","_extends","assign","bind","target","source","TopBarNavComponent","isInMenu","menuItemProps","widgetDisplayText","displayName","undefined","createElement","TopBarNav","className","classnames","styles","topBarNav","noBorder","children","CollapsibleMenuNav","navigationSlot","widgetSlot","navPlugins","widgetPlugins","secondaryNavClassName","activeTabIndex","alwaysShowActiveTab","plugins","useMemo","_navPlugins","toArray","sort","sortFn","widgets","_widgetPlugins","links","map","menuItem","index","lastPluginStyle","marginRight","firstWidgetStyle","marginLeft","component","tabProps","props","style","ResponsiveNavbar","navClassName","tab","width","height","priority","tabs","defaultActiveIndex","order","first","second"],"sources":["menu-nav.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport classnames from 'classnames';\nimport { ResponsiveNavbar } from '@teambit/design.navigation.responsive-navbar';\nimport type { TabProps } from '@teambit/design.navigation.responsive-navbar';\nimport { TopBarNav } from '../top-bar-nav';\nimport styles from './menu.module.scss';\nimport { NavPlugin, OrderedNavigationSlot } from './nav-plugin';\n\nexport type MenuNavProps = {\n /**\n * @deprecated\n * use @property navPlugins\n */\n navigationSlot?: OrderedNavigationSlot;\n /**\n * @deprecated\n * use @property widgetPlugins\n */\n widgetSlot?: OrderedNavigationSlot;\n navPlugins?: [string, NavPlugin][];\n widgetPlugins?: [string, NavPlugin][];\n /**\n * A className to pass to the secondary nav, i.e dropdown\n */\n secondaryNavClassName?: string;\n activeTabIndex?: number;\n alwaysShowActiveTab?: boolean;\n} & React.HTMLAttributes<HTMLElement>;\n\nfunction TopBarNavComponent({ isInMenu, menuItemProps }: TabProps) {\n /**\n * to accommodate for the top level nav which should display the children\n * in the dropdown secondary menu if there is a displayName set\n */\n const widgetDisplayText = menuItemProps?.displayName && isInMenu ? menuItemProps?.displayName : undefined;\n return (\n <TopBarNav\n {...menuItemProps}\n className={classnames(menuItemProps?.className, styles.topBarNav, isInMenu && styles.noBorder)}\n >\n {widgetDisplayText || menuItemProps?.children}\n </TopBarNav>\n );\n}\n\nexport function CollapsibleMenuNav({\n navigationSlot,\n widgetSlot,\n navPlugins = [],\n widgetPlugins = [],\n className,\n secondaryNavClassName,\n activeTabIndex,\n alwaysShowActiveTab,\n children,\n}: MenuNavProps) {\n const plugins = useMemo(() => {\n const _navPlugins = navPlugins.length > 0 ? navPlugins : navigationSlot?.toArray();\n return (_navPlugins || []).sort(sortFn);\n }, [navigationSlot, navPlugins]);\n const widgets = useMemo(() => {\n const _widgetPlugins = widgetPlugins.length > 0 ? widgetPlugins : widgetSlot?.toArray();\n return (_widgetPlugins || []).sort(sortFn);\n }, [widgetSlot, widgetPlugins]);\n\n const links = [...plugins, ...widgets].map(([, menuItem], index) => {\n // these styles keep plugins to the left and widgets to the right.\n const lastPluginStyle = plugins.length - 1 === index ? { marginRight: 'auto' } : {};\n\n const firstWidgetStyle = plugins.length === index ? { marginLeft: 'auto' } : {};\n\n return {\n component: TopBarNavComponent,\n tabProps: {\n menuItemProps: menuItem.props,\n },\n style: { ...firstWidgetStyle, ...lastPluginStyle },\n className: menuItem.props.className,\n };\n });\n\n return (\n <ResponsiveNavbar\n navClassName={classnames(styles.tab, className)}\n secondaryNavClassName={secondaryNavClassName}\n style={{ width: '100%', height: '100%' }}\n priority=\"none\"\n tabs={links}\n defaultActiveIndex={activeTabIndex}\n alwaysShowActiveTab={alwaysShowActiveTab}\n >\n {children}\n </ResponsiveNavbar>\n );\n}\n\nfunction sortFn([, { order: first }]: [string, NavPlugin], [, { order: second }]: [string, NavPlugin]) {\n // 0 - equal\n // <0 - first < second\n // >0 - first > second\n\n return (first ?? 0) - (second ?? 0);\n}\n\n// // this is the aspect-oriented and serialize-able way to sort plugins.\n// const pluginOrder = ['teambit.docs/docs', 'teambit.compositions/compositions', 'teambit.docs/docs'];\n// export function toSortedArray<T>(slot: SlotRegistry<T>, order: string[]) {\n// // sort items according to the order\n// const sorted = order.map((x) => [x, slot.get(x)]).filter(([, val]) => !!val) as [string, T][];\n//\n// // add all other items\n// const unsorted = slot.toArray().filter(([id]) => order.indexOf(id) < 0);\n//\n// return sorted.concat(unsorted);\n// }\n"],"mappings":"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"}
@@ -5,7 +5,7 @@ import { LanesModel } from '@teambit/lanes.ui.models.lanes-model';
5
5
  import { UseComponentType, Filters } from '../use-component';
6
6
  import { OrderedNavigationSlot, ConsumeMethodSlot } from './nav-plugin';
7
7
  import { ComponentID } from '../..';
8
- export declare type MenuProps = {
8
+ export type MenuProps = {
9
9
  className?: string;
10
10
  /**
11
11
  * skip the right side.
@@ -44,8 +44,8 @@ export declare type MenuProps = {
44
44
  /**
45
45
  * top bar menu.
46
46
  */
47
- export declare function ComponentMenu({ navigationSlot, widgetSlot, className, host, menuItemSlot, consumeMethodSlot, componentIdStr, skipRightSide, RightNode, useComponent, path, useComponentFilters, }: MenuProps): React.JSX.Element;
48
- export declare type VersionRelatedDropdownsProps = {
47
+ export declare function ComponentMenu({ navigationSlot, widgetSlot, className, host, menuItemSlot, consumeMethodSlot, componentIdStr, skipRightSide, RightNode, useComponent, path, useComponentFilters, }: MenuProps): JSX.Element;
48
+ export type VersionRelatedDropdownsProps = {
49
49
  componentId?: string;
50
50
  consumeMethods?: ConsumeMethodSlot;
51
51
  componentFilters?: Filters;
@@ -62,18 +62,18 @@ export declare type VersionRelatedDropdownsProps = {
62
62
  getActiveTabIndex?: GetActiveTabIndex;
63
63
  };
64
64
  };
65
- export declare type UseComponentVersionsProps = {
65
+ export type UseComponentVersionsProps = {
66
66
  skip?: boolean;
67
67
  id?: string;
68
68
  initialLoad?: boolean;
69
69
  };
70
- export declare type UseComponentVersionProps = {
70
+ export type UseComponentVersionProps = {
71
71
  skip?: boolean;
72
72
  version?: string;
73
73
  };
74
- export declare type UseComponentVersions = (props?: UseComponentVersionsProps) => UseComponentVersionsResult;
75
- export declare type UseComponentVersion = (props?: UseComponentVersionProps) => DropdownComponentVersion | undefined;
76
- export declare type UseComponentVersionsResult = {
74
+ export type UseComponentVersions = (props?: UseComponentVersionsProps) => UseComponentVersionsResult;
75
+ export type UseComponentVersion = (props?: UseComponentVersionProps) => DropdownComponentVersion | undefined;
76
+ export type UseComponentVersionsResult = {
77
77
  tags?: DropdownComponentVersion[];
78
78
  snaps?: DropdownComponentVersion[];
79
79
  id?: ComponentID;
@@ -84,4 +84,4 @@ export declare type UseComponentVersionsResult = {
84
84
  };
85
85
  export declare function defaultLoadVersions(host: string, componentId?: string, componentFilters?: Filters, useComponent?: UseComponentType, loadingFromProps?: boolean): UseComponentVersions;
86
86
  export declare const defaultLoadCurrentVersion: (props: VersionRelatedDropdownsProps) => UseComponentVersion;
87
- export declare function VersionRelatedDropdowns(props: VersionRelatedDropdownsProps): React.JSX.Element;
87
+ export declare function VersionRelatedDropdowns(props: VersionRelatedDropdownsProps): JSX.Element;
@@ -153,14 +153,14 @@ function ComponentMenu({
153
153
  const componentId = _componentIdStr ? _().ComponentID.fromString(_componentIdStr) : undefined;
154
154
  const resolvedComponentIdStr = path || idFromLocation;
155
155
  const mainMenuItems = (0, _react().useMemo)(() => (0, _lodash().groupBy)((0, _lodash().flatten)(menuItemSlot.values()), 'category'), [menuItemSlot]);
156
- const componentFilters = (useComponentFilters === null || useComponentFilters === void 0 ? void 0 : useComponentFilters()) || {};
157
- const useComponentVersions = defaultLoadVersions(host, (componentId === null || componentId === void 0 ? void 0 : componentId.toString()) || idFromLocation, componentFilters, useComponent);
156
+ const componentFilters = useComponentFilters?.() || {};
157
+ const useComponentVersions = defaultLoadVersions(host, componentId?.toString() || idFromLocation, componentFilters, useComponent);
158
158
  const RightSide = /*#__PURE__*/_react().default.createElement("div", {
159
159
  className: _menuModule().default.rightSide
160
160
  }, RightNode || /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, /*#__PURE__*/_react().default.createElement(VersionRelatedDropdowns, {
161
161
  host: host,
162
162
  consumeMethods: consumeMethodSlot,
163
- componentId: (componentId === null || componentId === void 0 ? void 0 : componentId.toString()) || idFromLocation,
163
+ componentId: componentId?.toString() || idFromLocation,
164
164
  useComponent: useComponentVersions,
165
165
  componentFilters: componentFilters
166
166
  // loading={loading}
@@ -202,7 +202,7 @@ function defaultLoadVersions(host, componentId, componentFilters = {}, useCompon
202
202
  loading: loadingComponent,
203
203
  componentLogs = {}
204
204
  } = (0, _useComponent().useComponent)(host, componentId, fetchOptions);
205
- const logs = componentLogs === null || componentLogs === void 0 ? void 0 : componentLogs.logs;
205
+ const logs = componentLogs?.logs;
206
206
  const loading = _react().default.useMemo(() => loadingComponent || loadingFromProps || componentLogs.loading, [loadingComponent, loadingFromProps, componentLogs.loading]);
207
207
  const snaps = (0, _react().useMemo)(() => {
208
208
  return (logs || []).filter(log => !log.tag).map(snap => _objectSpread(_objectSpread({}, snap), {}, {
@@ -210,30 +210,28 @@ function defaultLoadVersions(host, componentId, componentFilters = {}, useCompon
210
210
  }));
211
211
  }, [logs]);
212
212
  const tags = (0, _react().useMemo)(() => {
213
- var _component$tags;
214
213
  const tagLookup = new Map();
215
214
  (logs || []).filter(log => log.tag).forEach(tag => {
216
- tagLookup.set(tag === null || tag === void 0 ? void 0 : tag.tag, tag);
215
+ tagLookup.set(tag?.tag, tag);
217
216
  });
218
- return (0, _lodash().compact)(((component === null || component === void 0 || (_component$tags = component.tags) === null || _component$tags === void 0 ? void 0 : _component$tags.toArray()) || []).reverse().map(tag => tagLookup.get(tag.version.version))).map(tag => _objectSpread(_objectSpread({}, tag), {}, {
217
+ return (0, _lodash().compact)((component?.tags?.toArray() || []).reverse().map(tag => tagLookup.get(tag.version.version))).map(tag => _objectSpread(_objectSpread({}, tag), {}, {
219
218
  version: tag.tag
220
219
  }));
221
220
  }, [logs]);
222
221
  return {
223
222
  loading,
224
- id: component === null || component === void 0 ? void 0 : component.id,
225
- packageName: component === null || component === void 0 ? void 0 : component.packageName,
226
- latestVersion: component === null || component === void 0 ? void 0 : component.latest,
227
- currentVersion: component === null || component === void 0 ? void 0 : component.version,
223
+ id: component?.id,
224
+ packageName: component?.packageName,
225
+ latestVersion: component?.latest,
226
+ currentVersion: component?.version,
228
227
  snaps,
229
228
  tags,
230
- buildStatus: component === null || component === void 0 ? void 0 : component.buildStatus
229
+ buildStatus: component?.buildStatus
231
230
  };
232
231
  }, [componentId, loadingFromProps, componentFilters]);
233
232
  }
234
233
  const defaultLoadCurrentVersion = props => {
235
234
  return _props => {
236
- var _props$useComponent;
237
235
  const {
238
236
  skip,
239
237
  version: _version
@@ -243,25 +241,24 @@ const defaultLoadCurrentVersion = props => {
243
241
  tags,
244
242
  currentVersion,
245
243
  loading
246
- } = ((_props$useComponent = props.useComponent) === null || _props$useComponent === void 0 ? void 0 : _props$useComponent.call(props, {
244
+ } = props.useComponent?.({
247
245
  skip,
248
246
  id: props.componentId
249
- })) ?? {};
247
+ }) ?? {};
250
248
  const version = _version ?? currentVersion;
251
249
  const isTag = _react().default.useMemo(() => semver().valid(version), [loading, version]);
252
250
  if (isTag) {
253
- return _react().default.useMemo(() => tags === null || tags === void 0 ? void 0 : tags.find(tag => tag.tag === version), [loading, tags === null || tags === void 0 ? void 0 : tags.length, version]);
251
+ return _react().default.useMemo(() => tags?.find(tag => tag.tag === version), [loading, tags?.length, version]);
254
252
  }
255
- return _react().default.useMemo(() => snaps === null || snaps === void 0 ? void 0 : snaps.find(snap => snap.version === version), [loading, snaps === null || snaps === void 0 ? void 0 : snaps.length, version]);
253
+ return _react().default.useMemo(() => snaps?.find(snap => snap.version === version), [loading, snaps?.length, version]);
256
254
  };
257
255
  };
258
256
  exports.defaultLoadCurrentVersion = defaultLoadCurrentVersion;
259
257
  function VersionRelatedDropdowns(props) {
260
- var _props$dropdownOption, _props$useComponent2, _lanesModel$getLanesB, _lanesModel$viewedLan, _lanesModel$viewedLan2;
261
258
  const updatedPropsWithDefaults = _objectSpread(_objectSpread({}, props), {}, {
262
259
  useLanes: props.useLanes ?? _lanesHooks().useLanes,
263
260
  dropdownOptions: _objectSpread(_objectSpread({}, props.dropdownOptions), {}, {
264
- showVersionDetails: (props === null || props === void 0 || (_props$dropdownOption = props.dropdownOptions) === null || _props$dropdownOption === void 0 ? void 0 : _props$dropdownOption.showVersionDetails) ?? true
261
+ showVersionDetails: props?.dropdownOptions?.showVersionDetails ?? true
265
262
  })
266
263
  });
267
264
  const loadVersion = defaultLoadCurrentVersion(updatedPropsWithDefaults);
@@ -280,19 +277,19 @@ function VersionRelatedDropdowns(props) {
280
277
  latest,
281
278
  packageName,
282
279
  currentVersion: _currentVersion
283
- } = ((_props$useComponent2 = props.useComponent) === null || _props$useComponent2 === void 0 ? void 0 : _props$useComponent2.call(props, {
280
+ } = props.useComponent?.({
284
281
  initialLoad: true
285
- })) || {};
282
+ }) || {};
286
283
  const location = (0, _baseReactNavigation().useLocation)();
287
284
  const {
288
285
  lanesModel
289
286
  } = useLanes();
290
- const lanes = id ? (lanesModel === null || lanesModel === void 0 || (_lanesModel$getLanesB = lanesModel.getLanesByComponentId(id)) === null || _lanesModel$getLanesB === void 0 ? void 0 : _lanesModel$getLanesB.filter(lane => !lane.id.isDefault())) || [] : [];
291
- const viewedLane = lanesModel !== null && lanesModel !== void 0 && (_lanesModel$viewedLan = lanesModel.viewedLane) !== null && _lanesModel$viewedLan !== void 0 && _lanesModel$viewedLan.id && !(lanesModel !== null && lanesModel !== void 0 && (_lanesModel$viewedLan2 = lanesModel.viewedLane) !== null && _lanesModel$viewedLan2 !== void 0 && _lanesModel$viewedLan2.id.isDefault()) ? lanesModel.viewedLane : undefined;
287
+ const lanes = id ? lanesModel?.getLanesByComponentId(id)?.filter(lane => !lane.id.isDefault()) || [] : [];
288
+ const viewedLane = lanesModel?.viewedLane?.id && !lanesModel?.viewedLane?.id.isDefault() ? lanesModel.viewedLane : undefined;
292
289
  const isWorkspace = host === 'teambit.workspace/workspace';
293
- const isNew = (tags === null || tags === void 0 ? void 0 : tags.length) === 0 && (snaps === null || snaps === void 0 ? void 0 : snaps.length) === 0;
294
- const localVersion = isWorkspace && !isNew && (!viewedLane || (lanesModel === null || lanesModel === void 0 ? void 0 : lanesModel.isViewingCurrentLane()));
295
- const currentVersion = isWorkspace && !isNew && !(location !== null && location !== void 0 && location.search.includes('version')) ? 'workspace' : _currentVersion ?? '';
290
+ const isNew = tags?.length === 0 && snaps?.length === 0;
291
+ const localVersion = isWorkspace && !isNew && (!viewedLane || lanesModel?.isViewingCurrentLane());
292
+ const currentVersion = isWorkspace && !isNew && !location?.search.includes('version') ? 'workspace' : _currentVersion ?? '';
296
293
  const consumeMethodProps = _react().default.useMemo(() => {
297
294
  return id ? {
298
295
  id,
@@ -305,7 +302,7 @@ function VersionRelatedDropdowns(props) {
305
302
  } : undefined;
306
303
  }, [id, packageName, latest, viewedLane]);
307
304
  const methods = useConsumeMethods(consumeMethods, consumeMethodProps);
308
- const hasMethods = (methods === null || methods === void 0 ? void 0 : methods.length) > 0;
305
+ const hasMethods = methods?.length > 0;
309
306
  return /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, consumeMethods && id && hasMethods && /*#__PURE__*/_react().default.createElement(_uiFoundationUiUseBox().UseBoxDropdown, {
310
307
  position: "bottom-end",
311
308
  className: (0, _classnames().default)(_menuModule().default.useBox, _menuModule().default.hideOnMobile),
@@ -325,14 +322,14 @@ function VersionRelatedDropdowns(props) {
325
322
  currentLane: viewedLane,
326
323
  className: className,
327
324
  menuClassName: _menuModule().default.componentVersionMenu,
328
- getActiveTabIndex: dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.getActiveTabIndex,
329
- showVersionDetails: dropdownOptions === null || dropdownOptions === void 0 ? void 0 : dropdownOptions.showVersionDetails
325
+ getActiveTabIndex: dropdownOptions?.getActiveTabIndex,
326
+ showVersionDetails: dropdownOptions?.showVersionDetails
330
327
  }));
331
328
  }
332
329
  function useConsumeMethods(consumeMethods, consumePluginProps) {
333
- return (0, _react().useMemo)(() => (0, _lodash().flatten)(consumeMethods === null || consumeMethods === void 0 ? void 0 : consumeMethods.values()).map(method => {
330
+ return (0, _react().useMemo)(() => (0, _lodash().flatten)(consumeMethods?.values()).map(method => {
334
331
  if (!consumePluginProps) return undefined;
335
- return method === null || method === void 0 ? void 0 : method(consumePluginProps);
332
+ return method?.(consumePluginProps);
336
333
  }).filter(x => !!x && x.Component && x.Title), [consumeMethods, consumePluginProps]);
337
334
  }
338
335
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_classnames","_interopRequireDefault","_lodash","semver","_componentUi","_uiFoundationUi","_baseReactNavigation","_uiFoundationUiUseBox","_lanesHooks","_uiFoundationUiUseBox2","_useComponent","_menuNav","_useComponentFromLocation","_","_menuModule","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","ComponentMenu","navigationSlot","widgetSlot","className","host","menuItemSlot","consumeMethodSlot","skipRightSide","RightNode","useComponent","path","useComponentFilters","idFromLocation","useIdFromLocation","_componentIdStr","componentId","ComponentID","fromString","undefined","resolvedComponentIdStr","mainMenuItems","useMemo","groupBy","flatten","values","componentFilters","useComponentVersions","defaultLoadVersions","toString","RightSide","createElement","styles","rightSide","Fragment","VersionRelatedDropdowns","consumeMethods","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","map","snap","version","hash","tags","_component$tags","tagLookup","Map","compact","toArray","reverse","id","packageName","latestVersion","latest","currentVersion","buildStatus","defaultLoadCurrentVersion","props","_props$useComponent","_version","isTag","valid","find","exports","_props$dropdownOption","_props$useComponent2","_lanesModel$getLanesB","_lanesModel$viewedLan","_lanesModel$viewedLan2","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 } from 'react';\nimport { Routes, Route } from 'react-router-dom';\nimport classnames from 'classnames';\nimport { compact, flatten, groupBy, isFunction } from 'lodash';\nimport * as semver from 'semver';\nimport { DropdownComponentVersion, GetActiveTabIndex, VersionDropdown } from '@teambit/component.ui.version-dropdown';\nimport { MainDropdown, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\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 { ComponentID } from '../..';\nimport styles from './menu.module.scss';\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 menu item slot\n */\n widgetSlot: OrderedNavigationSlot;\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 componentIdStr,\n skipRightSide,\n RightNode,\n useComponent,\n path,\n useComponentFilters,\n}: MenuProps) {\n const idFromLocation = useIdFromLocation();\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 componentFilters = useComponentFilters?.() || {};\n const useComponentVersions = defaultLoadVersions(\n host,\n componentId?.toString() || idFromLocation,\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 <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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"}
1
+ {"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_classnames","_interopRequireDefault","_lodash","semver","_componentUi","_uiFoundationUi","_baseReactNavigation","_uiFoundationUiUseBox","_lanesHooks","_uiFoundationUiUseBox2","_useComponent","_menuNav","_useComponentFromLocation","_","_menuModule","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","ComponentMenu","navigationSlot","widgetSlot","className","host","menuItemSlot","consumeMethodSlot","skipRightSide","RightNode","useComponent","path","useComponentFilters","idFromLocation","useIdFromLocation","_componentIdStr","componentId","ComponentID","fromString","undefined","resolvedComponentIdStr","mainMenuItems","useMemo","groupBy","flatten","values","componentFilters","useComponentVersions","defaultLoadVersions","toString","RightSide","createElement","styles","rightSide","Fragment","VersionRelatedDropdowns","consumeMethods","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","map","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 } from 'react';\nimport { Routes, Route } from 'react-router-dom';\nimport classnames from 'classnames';\nimport { compact, flatten, groupBy, isFunction } from 'lodash';\nimport * as semver from 'semver';\nimport { DropdownComponentVersion, GetActiveTabIndex, VersionDropdown } from '@teambit/component.ui.version-dropdown';\nimport { MainDropdown, MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\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 { ComponentID } from '../..';\nimport styles from './menu.module.scss';\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 menu item slot\n */\n widgetSlot: OrderedNavigationSlot;\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 componentIdStr,\n skipRightSide,\n RightNode,\n useComponent,\n path,\n useComponentFilters,\n}: MenuProps) {\n const idFromLocation = useIdFromLocation();\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 componentFilters = useComponentFilters?.() || {};\n const useComponentVersions = defaultLoadVersions(\n host,\n componentId?.toString() || idFromLocation,\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 <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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"}
@@ -3,26 +3,26 @@ import type { LinkProps } from '@teambit/base-react.navigation.link';
3
3
  import type { ConsumeMethod } from '@teambit/ui-foundation.ui.use-box.menu';
4
4
  import { LaneModel } from '@teambit/lanes.ui.models.lanes-model';
5
5
  import { ComponentID, ComponentModel } from '../..';
6
- export declare type NavPluginProps = {
6
+ export type NavPluginProps = {
7
7
  displayName?: string;
8
8
  ignoreQueryParams?: boolean;
9
9
  } & LinkProps;
10
- export declare type NavPlugin = {
10
+ export type NavPlugin = {
11
11
  props: NavPluginProps;
12
12
  order?: number;
13
13
  };
14
- export declare type OrderedNavigationSlot = SlotRegistry<NavPlugin>;
15
- export declare type ConsumePluginOptions = {
14
+ export type OrderedNavigationSlot = SlotRegistry<NavPlugin>;
15
+ export type ConsumePluginOptions = {
16
16
  viewedLane?: LaneModel;
17
17
  hide?: boolean;
18
18
  disableInstall?: boolean;
19
19
  };
20
- export declare type ConsumePluginProps = {
20
+ export type ConsumePluginProps = {
21
21
  id: ComponentID;
22
22
  packageName: string;
23
23
  latest?: string;
24
24
  componentModel?: ComponentModel;
25
25
  options?: ConsumePluginOptions;
26
26
  };
27
- export declare type ConsumePlugin = (props: ConsumePluginProps) => ConsumeMethod | undefined;
28
- export declare type ConsumeMethodSlot = SlotRegistry<ConsumePlugin[]>;
27
+ export type ConsumePlugin = (props: ConsumePluginProps) => ConsumeMethod | undefined;
28
+ export type ConsumeMethodSlot = SlotRegistry<ConsumePlugin[]>;
@@ -1,3 +1,3 @@
1
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { NavPluginProps } from '../menu/nav-plugin';
3
- export declare function TopBarNav({ href, className, activeClassName, children, displayName, ignoreQueryParams, ...rest }: NavPluginProps): React.JSX.Element;
3
+ export declare function TopBarNav({ href, className, activeClassName, children, displayName, ignoreQueryParams, ...rest }: NavPluginProps): JSX.Element;
@@ -25,7 +25,7 @@ function useIdFromLocation(url) {
25
25
  scope = maybeOrgWithScope;
26
26
  }
27
27
  const match = componentRegex.exec(fullNameFromUrl);
28
- if (!(match !== null && match !== void 0 && match[0])) return undefined;
28
+ if (!match?.[0]) return undefined;
29
29
  if (scope) return `${scope}/${match[0]}`;
30
30
  return match[0];
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactRouterDom","data","require","componentRegex","useIdFromLocation","url","params","useParams","splat","undefined","maybeOrgWithScope","maybeFullName","split","hasScope","length","fullNameFromUrl","join","scope","match","exec"],"sources":["use-component-from-location.tsx"],"sourcesContent":["import { useParams } from 'react-router-dom';\n\n/** component url is comprised of letters, numbers, \"_\", \"-\", \"/\" but should not include trailing \"/\", and should not include \"~\" */\nconst componentRegex = /^[\\w/-]*[\\w-]/;\n\nexport function useIdFromLocation(url?: string): string | undefined {\n const params = useParams();\n const splat = url || params['*'];\n if (!splat) return undefined;\n\n const [maybeOrgWithScope, ...maybeFullName] = splat.split('/');\n const hasScope = maybeOrgWithScope.split('.').length > 1;\n const fullNameFromUrl = hasScope ? maybeFullName.join('/') : splat;\n let scope: string | undefined;\n if (hasScope) {\n scope = maybeOrgWithScope;\n }\n const match = componentRegex.exec(fullNameFromUrl);\n if (!match?.[0]) return undefined;\n if (scope) return `${scope}/${match[0]}`;\n return match[0];\n}\n"],"mappings":";;;;;;AAAA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA;AACA,MAAME,cAAc,GAAG,eAAe;AAE/B,SAASC,iBAAiBA,CAACC,GAAY,EAAsB;EAClE,MAAMC,MAAM,GAAG,IAAAC,2BAAS,EAAC,CAAC;EAC1B,MAAMC,KAAK,GAAGH,GAAG,IAAIC,MAAM,CAAC,GAAG,CAAC;EAChC,IAAI,CAACE,KAAK,EAAE,OAAOC,SAAS;EAE5B,MAAM,CAACC,iBAAiB,EAAE,GAAGC,aAAa,CAAC,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC;EAC9D,MAAMC,QAAQ,GAAGH,iBAAiB,CAACE,KAAK,CAAC,GAAG,CAAC,CAACE,MAAM,GAAG,CAAC;EACxD,MAAMC,eAAe,GAAGF,QAAQ,GAAGF,aAAa,CAACK,IAAI,CAAC,GAAG,CAAC,GAAGR,KAAK;EAClE,IAAIS,KAAyB;EAC7B,IAAIJ,QAAQ,EAAE;IACZI,KAAK,GAAGP,iBAAiB;EAC3B;EACA,MAAMQ,KAAK,GAAGf,cAAc,CAACgB,IAAI,CAACJ,eAAe,CAAC;EAClD,IAAI,EAACG,KAAK,aAALA,KAAK,eAALA,KAAK,CAAG,CAAC,CAAC,GAAE,OAAOT,SAAS;EACjC,IAAIQ,KAAK,EAAE,OAAQ,GAAEA,KAAM,IAAGC,KAAK,CAAC,CAAC,CAAE,EAAC;EACxC,OAAOA,KAAK,CAAC,CAAC,CAAC;AACjB"}
1
+ {"version":3,"names":["_reactRouterDom","data","require","componentRegex","useIdFromLocation","url","params","useParams","splat","undefined","maybeOrgWithScope","maybeFullName","split","hasScope","length","fullNameFromUrl","join","scope","match","exec"],"sources":["use-component-from-location.tsx"],"sourcesContent":["import { useParams } from 'react-router-dom';\n\n/** component url is comprised of letters, numbers, \"_\", \"-\", \"/\" but should not include trailing \"/\", and should not include \"~\" */\nconst componentRegex = /^[\\w/-]*[\\w-]/;\n\nexport function useIdFromLocation(url?: string): string | undefined {\n const params = useParams();\n const splat = url || params['*'];\n if (!splat) return undefined;\n\n const [maybeOrgWithScope, ...maybeFullName] = splat.split('/');\n const hasScope = maybeOrgWithScope.split('.').length > 1;\n const fullNameFromUrl = hasScope ? maybeFullName.join('/') : splat;\n let scope: string | undefined;\n if (hasScope) {\n scope = maybeOrgWithScope;\n }\n const match = componentRegex.exec(fullNameFromUrl);\n if (!match?.[0]) return undefined;\n if (scope) return `${scope}/${match[0]}`;\n return match[0];\n}\n"],"mappings":";;;;;;AAAA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA;AACA,MAAME,cAAc,GAAG,eAAe;AAE/B,SAASC,iBAAiBA,CAACC,GAAY,EAAsB;EAClE,MAAMC,MAAM,GAAG,IAAAC,2BAAS,EAAC,CAAC;EAC1B,MAAMC,KAAK,GAAGH,GAAG,IAAIC,MAAM,CAAC,GAAG,CAAC;EAChC,IAAI,CAACE,KAAK,EAAE,OAAOC,SAAS;EAE5B,MAAM,CAACC,iBAAiB,EAAE,GAAGC,aAAa,CAAC,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC;EAC9D,MAAMC,QAAQ,GAAGH,iBAAiB,CAACE,KAAK,CAAC,GAAG,CAAC,CAACE,MAAM,GAAG,CAAC;EACxD,MAAMC,eAAe,GAAGF,QAAQ,GAAGF,aAAa,CAACK,IAAI,CAAC,GAAG,CAAC,GAAGR,KAAK;EAClE,IAAIS,KAAyB;EAC7B,IAAIJ,QAAQ,EAAE;IACZI,KAAK,GAAGP,iBAAiB;EAC3B;EACA,MAAMQ,KAAK,GAAGf,cAAc,CAACgB,IAAI,CAACJ,eAAe,CAAC;EAClD,IAAI,CAACG,KAAK,GAAG,CAAC,CAAC,EAAE,OAAOT,SAAS;EACjC,IAAIQ,KAAK,EAAE,OAAQ,GAAEA,KAAM,IAAGC,KAAK,CAAC,CAAC,CAAE,EAAC;EACxC,OAAOA,KAAK,CAAC,CAAC,CAAC;AACjB"}