@teambit/component 1.0.746 → 1.0.748
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.
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_component@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_component@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_component@1.0.748/dist/component.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.component_component@1.0.748/dist/component.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
package/dist/ui/menu/menu.js
CHANGED
|
@@ -361,8 +361,8 @@ function VersionRelatedDropdowns(props) {
|
|
|
361
361
|
currentVersion: currentVersion,
|
|
362
362
|
latestVersion: latest,
|
|
363
363
|
currentLane: viewedLane,
|
|
364
|
-
className: className,
|
|
365
|
-
menuClassName: _menuModule().default.componentVersionMenu,
|
|
364
|
+
className: (0, _classnames().default)(_menuModule().default.versionDropdown, className),
|
|
365
|
+
menuClassName: isWorkspace ? _menuModule().default.componentVersionMenuWorkspace : _menuModule().default.componentVersionMenu,
|
|
366
366
|
getActiveTabIndex: dropdownOptions?.getActiveTabIndex,
|
|
367
367
|
showVersionDetails: dropdownOptions?.showVersionDetails
|
|
368
368
|
}));
|
package/dist/ui/menu/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_classnames","_interopRequireDefault","_uiFoundationUiReactRouter","_lodash","semver","_componentUi","_uiFoundationUi","_componentId","_baseReactNavigation","_uiFoundationUiUseBox","_lanesHooks","_uiFoundationUiUseBox2","_workspaceUi","_useComponent","_menuNav","_useComponentFromLocation","_topBarNav","_menuModule","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_extends","assign","bind","getComponentIdStr","componentIdStr","isFunction","ComponentMenu","navigationSlot","widgetSlot","className","host","hostFromProps","menuItemSlot","consumeMethodSlot","rightSideMenuSlot","skipRightSide","RightNode","useComponent","path","useComponentFilters","authToken","pinnedWidgetSlot","isMinimal","useWorkspaceMode","idFromLocation","useIdFromLocation","componentIdStrWithScopeFromLocation","undefined","_componentIdStr","componentId","ComponentID","fromString","resolvedComponentIdStr","mainMenuItems","useMemo","groupBy","flatten","values","rightSideItems","orderBy","pinnedWidgets","toArray","sort","sortFn","map","pinnedWidget","componentFilters","query","useQuery","componentVersion","useComponentVersions","defaultLoadVersions","toString","RightSide","createElement","styles","rightSide","Fragment","VersionRelatedDropdowns","consumeMethods","item","MainDropdown","hideOnMobile","menuItems","Routes","Route","element","classnames","topBar","leftSide","CollapsibleMenuNav","PinnedWidgetComponent","key","order","props","loadingFromProps","React","useCallback","_props","skip","initialLoad","fetchOptions","logFilters","log","limit","customUseComponent","component","loading","loadingComponent","componentLogs","useComponentQuery","logs","snaps","tag","snap","version","hash","tags","tagLookup","Map","compact","reverse","id","packageName","latestVersion","latest","currentVersion","buildStatus","defaultLoadCurrentVersion","_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","dropClass","useBoxContainer","Menu","componentName","name","VersionDropdown","hasMoreVersions","useCurrentVersionLog","currentLane","menuClassName","componentVersionMenu","getActiveTabIndex","consumePluginProps","method","x","Component","Title","first","second","menuItemProps","TopBarNav","style","height","children"],"sources":["menu.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport React, { useMemo } from 'react';\nimport { Routes, Route } from 'react-router-dom';\nimport classnames from 'classnames';\nimport { useQuery } from '@teambit/ui-foundation.ui.react-router.use-query';\nimport { compact, flatten, groupBy, isFunction, orderBy } from 'lodash';\nimport * as semver from 'semver';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport type { DropdownComponentVersion, GetActiveTabIndex } from '@teambit/component.ui.version-dropdown';\nimport { VersionDropdown } from '@teambit/component.ui.version-dropdown';\nimport type { MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { MainDropdown } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { ComponentID } from '@teambit/component-id';\nimport type { ConsumeMethod } from '@teambit/ui-foundation.ui.use-box.menu';\nimport { useLocation } from '@teambit/base-react.navigation.link';\nimport { UseBoxDropdown } from '@teambit/ui-foundation.ui.use-box.dropdown';\nimport { useLanes as defaultUseLanes } from '@teambit/lanes.hooks.use-lanes';\nimport type { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { Menu as ConsumeMethodsMenu } from '@teambit/ui-foundation.ui.use-box.menu';\nimport type { LegacyComponentLog } from '@teambit/legacy-component-log';\nimport { useWorkspaceMode } from '@teambit/workspace.ui.use-workspace-mode';\nimport type { UseComponentType, Filters } from '../use-component';\nimport { useComponent as useComponentQuery } from '../use-component';\nimport { CollapsibleMenuNav } from './menu-nav';\nimport type {\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n ConsumePluginProps,\n NavPlugin,\n NavPluginProps,\n} from './nav-plugin';\nimport { useIdFromLocation } from '../use-component-from-location';\nimport { TopBarNav } from '../top-bar-nav';\n\nimport styles from './menu.module.scss';\n\nexport type RightSideMenuItem = { item: ReactNode; order: number };\nexport type RightSideMenuSlot = SlotRegistry<RightSideMenuItem[]>;\n\nexport type MenuProps = {\n className?: string;\n /**\n * skip the right side.\n */\n skipRightSide?: boolean;\n /**\n * custom render the right side\n */\n RightNode?: React.ReactNode;\n /**\n * slot for top bar menu nav items\n */\n navigationSlot: OrderedNavigationSlot;\n /**\n * right side navigation menu item slot\n */\n widgetSlot: OrderedNavigationSlot;\n /**\n * pinned widgets slots - right side of the widget slot\n */\n pinnedWidgetSlot: OrderedNavigationSlot;\n /**\n * right side menu item slot\n */\n rightSideMenuSlot: RightSideMenuSlot;\n /**\n * workspace or scope\n */\n host: string;\n /**\n * main dropdown item slot\n */\n menuItemSlot: MenuItemSlot;\n\n consumeMethodSlot: ConsumeMethodSlot;\n\n componentIdStr?: string | (() => string | undefined);\n\n useComponent?: UseComponentType;\n\n useComponentFilters?: () => Filters;\n\n useLanes?: () => {\n loading?: boolean;\n lanesModel?: LanesModel;\n };\n\n path?: string;\n\n authToken?: 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: hostFromProps,\n menuItemSlot,\n consumeMethodSlot,\n rightSideMenuSlot,\n componentIdStr,\n skipRightSide,\n RightNode,\n useComponent,\n path,\n useComponentFilters,\n authToken,\n pinnedWidgetSlot,\n}: MenuProps) {\n const { isMinimal } = useWorkspaceMode();\n const idFromLocation = useIdFromLocation();\n const componentIdStrWithScopeFromLocation = useIdFromLocation(undefined, true);\n const _componentIdStr = getComponentIdStr(componentIdStr);\n const componentId = _componentIdStr ? ComponentID.fromString(_componentIdStr) : undefined;\n const resolvedComponentIdStr = path || idFromLocation;\n const mainMenuItems = useMemo(() => groupBy(flatten(menuItemSlot.values()), 'category'), [menuItemSlot]);\n const rightSideItems = useMemo(() => orderBy(flatten(rightSideMenuSlot.values()), 'order'), [rightSideMenuSlot]);\n const pinnedWidgets = useMemo(\n () =>\n flatten(\n pinnedWidgetSlot\n .toArray()\n .sort(sortFn)\n .map(([, pinnedWidget]) => pinnedWidget)\n ),\n [pinnedWidgetSlot]\n );\n const componentFilters = useComponentFilters?.() || {};\n const query = useQuery();\n const componentVersion = query.get('version');\n const host = componentVersion ? 'teambit.scope/scope' : hostFromProps;\n\n const useComponentVersions = defaultLoadVersions(\n host,\n componentId?.toString() || componentIdStrWithScopeFromLocation,\n componentFilters,\n useComponent\n );\n\n const RightSide = (\n <div className={styles.rightSide}>\n {RightNode || (\n <>\n <VersionRelatedDropdowns\n host={hostFromProps}\n consumeMethods={consumeMethodSlot}\n componentId={componentId?.toString() || idFromLocation}\n useComponent={useComponentVersions}\n componentFilters={componentFilters}\n authToken={authToken}\n // loading={loading}\n />\n {rightSideItems.map(({ item }) => item)}\n {!isMinimal && <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 {isMinimal &&\n pinnedWidgets.map((pinnedWidget) => (\n <PinnedWidgetComponent key={`key-${pinnedWidget.order}`} {...pinnedWidget.props} />\n ))}\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 authToken?: string;\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, host]\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 authToken = props.authToken;\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 authToken,\n }\n : undefined;\n }, [id, packageName, latest, viewedLane, authToken]);\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 dropClass={styles.useBoxContainer}\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\nfunction sortFn([, { order: first }]: [string, NavPlugin], [, { order: second }]: [string, NavPlugin]) {\n return (first ?? 0) - (second ?? 0);\n}\n\nfunction PinnedWidgetComponent(menuItemProps: NavPluginProps) {\n return (\n <TopBarNav\n {...menuItemProps}\n style={{ ...menuItemProps.style, height: '100%' }}\n className={classnames(menuItemProps?.className)}\n >\n {menuItemProps?.children}\n </TopBarNav>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireWildcard","require","_reactRouterDom","_classnames","_interopRequireDefault","_uiFoundationUiReactRouter","_lodash","semver","_componentUi","_uiFoundationUi","_componentId","_baseReactNavigation","_uiFoundationUiUseBox","_lanesHooks","_uiFoundationUiUseBox2","_workspaceUi","_useComponent","_menuNav","_useComponentFromLocation","_topBarNav","_menuModule","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","_extends","assign","bind","getComponentIdStr","componentIdStr","isFunction","ComponentMenu","navigationSlot","widgetSlot","className","host","hostFromProps","menuItemSlot","consumeMethodSlot","rightSideMenuSlot","skipRightSide","RightNode","useComponent","path","useComponentFilters","authToken","pinnedWidgetSlot","isMinimal","useWorkspaceMode","idFromLocation","useIdFromLocation","componentIdStrWithScopeFromLocation","undefined","_componentIdStr","componentId","ComponentID","fromString","resolvedComponentIdStr","mainMenuItems","useMemo","groupBy","flatten","values","rightSideItems","orderBy","pinnedWidgets","toArray","sort","sortFn","map","pinnedWidget","componentFilters","query","useQuery","componentVersion","useComponentVersions","defaultLoadVersions","toString","RightSide","createElement","styles","rightSide","Fragment","VersionRelatedDropdowns","consumeMethods","item","MainDropdown","hideOnMobile","menuItems","Routes","Route","element","classnames","topBar","leftSide","CollapsibleMenuNav","PinnedWidgetComponent","key","order","props","loadingFromProps","React","useCallback","_props","skip","initialLoad","fetchOptions","logFilters","log","limit","customUseComponent","component","loading","loadingComponent","componentLogs","useComponentQuery","logs","snaps","tag","snap","version","hash","tags","tagLookup","Map","compact","reverse","id","packageName","latestVersion","latest","currentVersion","buildStatus","defaultLoadCurrentVersion","_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","dropClass","useBoxContainer","Menu","componentName","name","VersionDropdown","hasMoreVersions","useCurrentVersionLog","currentLane","versionDropdown","menuClassName","componentVersionMenuWorkspace","componentVersionMenu","getActiveTabIndex","consumePluginProps","method","x","Component","Title","first","second","menuItemProps","TopBarNav","style","height","children"],"sources":["menu.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\nimport React, { useMemo } from 'react';\nimport { Routes, Route } from 'react-router-dom';\nimport classnames from 'classnames';\nimport { useQuery } from '@teambit/ui-foundation.ui.react-router.use-query';\nimport { compact, flatten, groupBy, isFunction, orderBy } from 'lodash';\nimport * as semver from 'semver';\nimport type { SlotRegistry } from '@teambit/harmony';\nimport type { DropdownComponentVersion, GetActiveTabIndex } from '@teambit/component.ui.version-dropdown';\nimport { VersionDropdown } from '@teambit/component.ui.version-dropdown';\nimport type { MenuItemSlot } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { MainDropdown } from '@teambit/ui-foundation.ui.main-dropdown';\nimport { ComponentID } from '@teambit/component-id';\nimport type { ConsumeMethod } from '@teambit/ui-foundation.ui.use-box.menu';\nimport { useLocation } from '@teambit/base-react.navigation.link';\nimport { UseBoxDropdown } from '@teambit/ui-foundation.ui.use-box.dropdown';\nimport { useLanes as defaultUseLanes } from '@teambit/lanes.hooks.use-lanes';\nimport type { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { Menu as ConsumeMethodsMenu } from '@teambit/ui-foundation.ui.use-box.menu';\nimport type { LegacyComponentLog } from '@teambit/legacy-component-log';\nimport { useWorkspaceMode } from '@teambit/workspace.ui.use-workspace-mode';\nimport type { UseComponentType, Filters } from '../use-component';\nimport { useComponent as useComponentQuery } from '../use-component';\nimport { CollapsibleMenuNav } from './menu-nav';\nimport type {\n OrderedNavigationSlot,\n ConsumeMethodSlot,\n ConsumePluginProps,\n NavPlugin,\n NavPluginProps,\n} from './nav-plugin';\nimport { useIdFromLocation } from '../use-component-from-location';\nimport { TopBarNav } from '../top-bar-nav';\n\nimport styles from './menu.module.scss';\n\nexport type RightSideMenuItem = { item: ReactNode; order: number };\nexport type RightSideMenuSlot = SlotRegistry<RightSideMenuItem[]>;\n\nexport type MenuProps = {\n className?: string;\n /**\n * skip the right side.\n */\n skipRightSide?: boolean;\n /**\n * custom render the right side\n */\n RightNode?: React.ReactNode;\n /**\n * slot for top bar menu nav items\n */\n navigationSlot: OrderedNavigationSlot;\n /**\n * right side navigation menu item slot\n */\n widgetSlot: OrderedNavigationSlot;\n /**\n * pinned widgets slots - right side of the widget slot\n */\n pinnedWidgetSlot: OrderedNavigationSlot;\n /**\n * right side menu item slot\n */\n rightSideMenuSlot: RightSideMenuSlot;\n /**\n * workspace or scope\n */\n host: string;\n /**\n * main dropdown item slot\n */\n menuItemSlot: MenuItemSlot;\n\n consumeMethodSlot: ConsumeMethodSlot;\n\n componentIdStr?: string | (() => string | undefined);\n\n useComponent?: UseComponentType;\n\n useComponentFilters?: () => Filters;\n\n useLanes?: () => {\n loading?: boolean;\n lanesModel?: LanesModel;\n };\n\n path?: string;\n\n authToken?: 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: hostFromProps,\n menuItemSlot,\n consumeMethodSlot,\n rightSideMenuSlot,\n componentIdStr,\n skipRightSide,\n RightNode,\n useComponent,\n path,\n useComponentFilters,\n authToken,\n pinnedWidgetSlot,\n}: MenuProps) {\n const { isMinimal } = useWorkspaceMode();\n const idFromLocation = useIdFromLocation();\n const componentIdStrWithScopeFromLocation = useIdFromLocation(undefined, true);\n const _componentIdStr = getComponentIdStr(componentIdStr);\n const componentId = _componentIdStr ? ComponentID.fromString(_componentIdStr) : undefined;\n const resolvedComponentIdStr = path || idFromLocation;\n const mainMenuItems = useMemo(() => groupBy(flatten(menuItemSlot.values()), 'category'), [menuItemSlot]);\n const rightSideItems = useMemo(() => orderBy(flatten(rightSideMenuSlot.values()), 'order'), [rightSideMenuSlot]);\n const pinnedWidgets = useMemo(\n () =>\n flatten(\n pinnedWidgetSlot\n .toArray()\n .sort(sortFn)\n .map(([, pinnedWidget]) => pinnedWidget)\n ),\n [pinnedWidgetSlot]\n );\n const componentFilters = useComponentFilters?.() || {};\n const query = useQuery();\n const componentVersion = query.get('version');\n const host = componentVersion ? 'teambit.scope/scope' : hostFromProps;\n\n const useComponentVersions = defaultLoadVersions(\n host,\n componentId?.toString() || componentIdStrWithScopeFromLocation,\n componentFilters,\n useComponent\n );\n\n const RightSide = (\n <div className={styles.rightSide}>\n {RightNode || (\n <>\n <VersionRelatedDropdowns\n host={hostFromProps}\n consumeMethods={consumeMethodSlot}\n componentId={componentId?.toString() || idFromLocation}\n useComponent={useComponentVersions}\n componentFilters={componentFilters}\n authToken={authToken}\n // loading={loading}\n />\n {rightSideItems.map(({ item }) => item)}\n {!isMinimal && <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 {isMinimal &&\n pinnedWidgets.map((pinnedWidget) => (\n <PinnedWidgetComponent key={`key-${pinnedWidget.order}`} {...pinnedWidget.props} />\n ))}\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 authToken?: string;\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, host]\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 authToken = props.authToken;\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 authToken,\n }\n : undefined;\n }, [id, packageName, latest, viewedLane, authToken]);\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 dropClass={styles.useBoxContainer}\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={classnames(styles.versionDropdown, className)}\n menuClassName={isWorkspace ? styles.componentVersionMenuWorkspace : 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\nfunction sortFn([, { order: first }]: [string, NavPlugin], [, { order: second }]: [string, NavPlugin]) {\n return (first ?? 0) - (second ?? 0);\n}\n\nfunction PinnedWidgetComponent(menuItemProps: NavPluginProps) {\n return (\n <TopBarNav\n {...menuItemProps}\n style={{ ...menuItemProps.style, height: '100%' }}\n className={classnames(menuItemProps?.className)}\n >\n {menuItemProps?.children}\n </TopBarNav>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -70,11 +70,15 @@
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
.useBox
|
|
74
|
-
|
|
73
|
+
.useBox,
|
|
74
|
+
.versionDropdown {
|
|
75
|
+
--bit-drawer-margin: 10px;
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
.componentVersionMenu {
|
|
79
|
+
width: 500px;
|
|
80
|
+
}
|
|
81
|
+
.componentVersionMenuWorkspace {
|
|
78
82
|
width: 350px;
|
|
79
83
|
}
|
|
80
84
|
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/component",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.748",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/component/component",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.component",
|
|
8
8
|
"name": "component",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.748"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@teambit/any-fs": "0.0.5",
|
|
@@ -25,26 +25,26 @@
|
|
|
25
25
|
"classnames": "2.2.6",
|
|
26
26
|
"lodash.compact": "3.0.1",
|
|
27
27
|
"@teambit/component-id": "1.2.4",
|
|
28
|
-
"@teambit/legacy.extension-data": "0.0.
|
|
28
|
+
"@teambit/legacy.extension-data": "0.0.75",
|
|
29
29
|
"@teambit/ui-foundation.ui.menu-widget-icon": "0.0.502",
|
|
30
30
|
"@teambit/graph.cleargraph": "0.0.11",
|
|
31
31
|
"@teambit/legacy-bit-id": "1.1.3",
|
|
32
|
-
"@teambit/legacy.consumer-component": "0.0.
|
|
33
|
-
"@teambit/component.sources": "0.0.
|
|
32
|
+
"@teambit/legacy.consumer-component": "0.0.74",
|
|
33
|
+
"@teambit/component.sources": "0.0.125",
|
|
34
34
|
"@teambit/toolbox.path.match-patterns": "0.0.21",
|
|
35
35
|
"@teambit/toolbox.string.eol": "0.0.7",
|
|
36
36
|
"@teambit/toolbox.string.capitalize": "0.0.502",
|
|
37
37
|
"@teambit/harmony": "0.4.7",
|
|
38
38
|
"@teambit/toolbox.path.path": "0.0.10",
|
|
39
|
-
"@teambit/cli": "0.0.
|
|
40
|
-
"@teambit/express": "0.0.
|
|
41
|
-
"@teambit/logger": "0.0.
|
|
39
|
+
"@teambit/cli": "0.0.1272",
|
|
40
|
+
"@teambit/express": "0.0.1371",
|
|
41
|
+
"@teambit/logger": "0.0.1365",
|
|
42
42
|
"@teambit/bit-error": "0.0.404",
|
|
43
43
|
"@teambit/legacy.constants": "0.0.17",
|
|
44
44
|
"@teambit/component-package-version": "0.0.442",
|
|
45
45
|
"@teambit/component.ui.deprecation-icon": "0.0.509",
|
|
46
46
|
"@teambit/ui-foundation.ui.is-browser": "0.0.500",
|
|
47
|
-
"@teambit/ui-foundation.ui.main-dropdown": "0.0.
|
|
47
|
+
"@teambit/ui-foundation.ui.main-dropdown": "0.0.505",
|
|
48
48
|
"@teambit/ui-foundation.ui.react-router.slot-router": "0.0.518",
|
|
49
49
|
"@teambit/ui-foundation.ui.use-box.menu": "1.0.16",
|
|
50
50
|
"@teambit/legacy.utils": "0.0.26",
|
|
@@ -52,18 +52,18 @@
|
|
|
52
52
|
"@teambit/pkg.modules.semver-helper": "0.0.15",
|
|
53
53
|
"@teambit/ui-foundation.ui.hooks.use-data-query": "0.0.506",
|
|
54
54
|
"@teambit/cli-table": "0.0.50",
|
|
55
|
-
"@teambit/legacy.bit-map": "0.0.
|
|
56
|
-
"@teambit/pkg.modules.component-package-name": "0.0.
|
|
55
|
+
"@teambit/legacy.bit-map": "0.0.130",
|
|
56
|
+
"@teambit/pkg.modules.component-package-name": "0.0.80",
|
|
57
57
|
"@teambit/ui-foundation.ui.react-router.use-query": "0.0.505",
|
|
58
58
|
"@teambit/legacy-component-log": "0.0.410",
|
|
59
59
|
"@teambit/component-descriptor": "0.0.445",
|
|
60
|
-
"@teambit/semantics.doc-parser": "0.0.
|
|
61
|
-
"@teambit/legacy.consumer": "0.0.
|
|
62
|
-
"@teambit/legacy.dependency-graph": "0.0.
|
|
60
|
+
"@teambit/semantics.doc-parser": "0.0.81",
|
|
61
|
+
"@teambit/legacy.consumer": "0.0.73",
|
|
62
|
+
"@teambit/legacy.dependency-graph": "0.0.76",
|
|
63
63
|
"@teambit/legacy.loader": "0.0.11",
|
|
64
|
-
"@teambit/legacy.scope": "0.0.
|
|
65
|
-
"@teambit/scope.remotes": "0.0.
|
|
66
|
-
"@teambit/legacy.component-diff": "0.0.
|
|
64
|
+
"@teambit/legacy.scope": "0.0.73",
|
|
65
|
+
"@teambit/scope.remotes": "0.0.73",
|
|
66
|
+
"@teambit/legacy.component-diff": "0.0.127",
|
|
67
67
|
"@teambit/design.ui.empty-box": "0.0.364",
|
|
68
68
|
"@teambit/documenter.ui.heading": "4.1.8",
|
|
69
69
|
"@teambit/documenter.ui.separator": "4.1.7",
|
|
@@ -72,26 +72,26 @@
|
|
|
72
72
|
"@teambit/design.ui.pages.server-error": "0.0.368",
|
|
73
73
|
"@teambit/design.ui.styles.ellipsis": "0.0.357",
|
|
74
74
|
"@teambit/envs.ui.env-icon": "0.0.507",
|
|
75
|
-
"@teambit/explorer.ui.command-bar": "2.0.
|
|
75
|
+
"@teambit/explorer.ui.command-bar": "2.0.19",
|
|
76
76
|
"@teambit/design.navigation.responsive-navbar": "0.0.8",
|
|
77
77
|
"@teambit/workspace.ui.use-workspace-mode": "0.0.2",
|
|
78
78
|
"@teambit/base-ui.layout.breakpoints": "1.0.0",
|
|
79
|
-
"@teambit/component.ui.version-dropdown": "0.0.907",
|
|
80
79
|
"@teambit/lanes.hooks.use-lanes": "0.0.290",
|
|
81
80
|
"@teambit/lanes.ui.models.lanes-model": "0.0.229",
|
|
82
|
-
"@teambit/ui-foundation.ui.use-box.dropdown": "0.0.
|
|
83
|
-
"@teambit/aspect-loader": "1.0.
|
|
84
|
-
"@teambit/dependency-resolver": "1.0.
|
|
85
|
-
"@teambit/objects": "0.0.
|
|
86
|
-
"@teambit/graphql": "1.0.
|
|
87
|
-
"@teambit/command-bar": "1.0.
|
|
88
|
-
"@teambit/preview": "1.0.
|
|
89
|
-
"@teambit/pubsub": "1.0.
|
|
90
|
-
"@teambit/react-router": "1.0.
|
|
91
|
-
"@teambit/ui": "1.0.
|
|
92
|
-
"@teambit/compositions": "1.0.
|
|
93
|
-
"@teambit/deprecation": "1.0.
|
|
94
|
-
"@teambit/envs": "1.0.
|
|
81
|
+
"@teambit/ui-foundation.ui.use-box.dropdown": "0.0.149",
|
|
82
|
+
"@teambit/aspect-loader": "1.0.748",
|
|
83
|
+
"@teambit/dependency-resolver": "1.0.748",
|
|
84
|
+
"@teambit/objects": "0.0.255",
|
|
85
|
+
"@teambit/graphql": "1.0.748",
|
|
86
|
+
"@teambit/command-bar": "1.0.748",
|
|
87
|
+
"@teambit/preview": "1.0.748",
|
|
88
|
+
"@teambit/pubsub": "1.0.748",
|
|
89
|
+
"@teambit/react-router": "1.0.748",
|
|
90
|
+
"@teambit/ui": "1.0.748",
|
|
91
|
+
"@teambit/compositions": "1.0.748",
|
|
92
|
+
"@teambit/deprecation": "1.0.748",
|
|
93
|
+
"@teambit/envs": "1.0.748",
|
|
94
|
+
"@teambit/component.ui.version-dropdown": "0.0.909"
|
|
95
95
|
},
|
|
96
96
|
"devDependencies": {
|
|
97
97
|
"@types/lodash": "4.14.165",
|
package/ui/menu/menu.module.scss
CHANGED
|
@@ -70,11 +70,15 @@
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
.useBox
|
|
74
|
-
|
|
73
|
+
.useBox,
|
|
74
|
+
.versionDropdown {
|
|
75
|
+
--bit-drawer-margin: 10px;
|
|
75
76
|
}
|
|
76
77
|
|
|
77
78
|
.componentVersionMenu {
|
|
79
|
+
width: 500px;
|
|
80
|
+
}
|
|
81
|
+
.componentVersionMenuWorkspace {
|
|
78
82
|
width: 350px;
|
|
79
83
|
}
|
|
80
84
|
|
package/ui/menu/menu.tsx
CHANGED
|
@@ -372,8 +372,8 @@ export function VersionRelatedDropdowns(props: VersionRelatedDropdownsProps) {
|
|
|
372
372
|
currentVersion={currentVersion}
|
|
373
373
|
latestVersion={latest}
|
|
374
374
|
currentLane={viewedLane}
|
|
375
|
-
className={className}
|
|
376
|
-
menuClassName={styles.componentVersionMenu}
|
|
375
|
+
className={classnames(styles.versionDropdown, className)}
|
|
376
|
+
menuClassName={isWorkspace ? styles.componentVersionMenuWorkspace : styles.componentVersionMenu}
|
|
377
377
|
getActiveTabIndex={dropdownOptions?.getActiveTabIndex}
|
|
378
378
|
showVersionDetails={dropdownOptions?.showVersionDetails}
|
|
379
379
|
/>
|