@teambit/workspace 1.0.1256 → 1.0.1258
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.workspace_workspace@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.1258/dist/workspace.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.1258/dist/workspace.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -268,9 +268,7 @@ function Workspace({
|
|
|
268
268
|
className: (0, _classnames().default)(_workspaceModule().default.corner, _workspaceModule().default[themeName]),
|
|
269
269
|
name: workspace.name,
|
|
270
270
|
icon: workspace.icon
|
|
271
|
-
}), isMinimal && /*#__PURE__*/_react().default.createElement(WorkspaceBreadcrumb, null))
|
|
272
|
-
// @ts-ignore - getting an error of "Types have separate declarations of a private property 'registerFn'." for some reason after upgrading teambit.harmony/harmony from 0.4.6 to 0.4.7
|
|
273
|
-
,
|
|
271
|
+
}), isMinimal && /*#__PURE__*/_react().default.createElement(WorkspaceBreadcrumb, null)),
|
|
274
272
|
menu: menuSlot
|
|
275
273
|
}), /*#__PURE__*/_react().default.createElement(_baseUiSurfacesSplitPane().SplitPane, {
|
|
276
274
|
className: _workspaceModule().default.main,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_pluralize","data","_interopRequireDefault","_react","_interopRequireWildcard","_reactRouterDom","_component","_lanesUiModels","_uiFoundationUiNotifications","_uiFoundationUiReactRouter","_uiFoundationUi","_uiFoundationUiButtons","_baseUiSurfacesSplitPane","_baseReactThemes","_baseUiSurfacesSplitPane2","_uiFoundationUi2","_workspaceUi","_classnames","_workspaceUi2","_workspaceHooks","_workspaceHooks2","_useWorkspace","_workspaceOverview","_workspaceProvider","_workspaceSkeleton","_workspaceModule","_themeFromUrl","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Workspace","routeSlot","menuSlot","sidebar","workspaceUI","onSidebarTogglerChange","isMinimal","useWorkspaceMode","reactionsRef","useRef","onComponentAdded","onComponentRemoved","reactions","useMemo","comps","current","ids","workspace","useWorkspace","theme","useThemePicker","currentTheme","isSidebarOpen","setSidebarOpen","useState","handleSidebarToggle","useCallback","prev","sidebarOpenness","Layout","row","right","themeName","useEffect","window","innerWidth","useLayoutEffect","location","useLocation","setComponents","components","inIframe","parent","isOverview","pathname","showTopBar","createElement","WorkspaceSkeleton","WorkspaceProvider","NotificationsBinder","PreserveWorkspaceMode","ThemeFromUrlSync","MinimalModeUrlBroadcasterAndListener","className","styles","workspaceWrapper","TopBar","classNames","topbar","minimal","Corner","cornerWithBreadcrumb","Link","to","backButton","width","height","viewBox","fill","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","corner","name","icon","WorkspaceBreadcrumb","menu","SplitPane","main","size","layout","Pane","closed","HoverSplitter","splitter","splitterClosed","Collapser","isOpen","Boolean","onMouseDown","stopPropagation","onClick","tooltipContent","SlotRouter","slot","Route","index","element","WorkspaceOverview","notifications","useNotifications","notificationsMapped","notificationId","log","pluralize","length","map","comp","id","toString","join","setTimeout","dismiss","useUrlChangeBroadcaster","useNavigationMessageListener","useComponentFullNameFromUrl","laneComponentUrl","marker","LanesModel","baseLaneComponentRoute","replace","idx","indexOf","slice","includes","lanesPrefix","undefined","useIdFromLocation","fullName","searchParams","useSearchParams","parts","split","isLast","breadcrumb","part","namespace","overviewParams","URLSearchParams","Fragment","key","breadcrumbSeparator","breadcrumbLast","breadcrumbLink"],"sources":["workspace.tsx"],"sourcesContent":["import 'reset-css';\nimport pluralize from 'pluralize';\nimport React, { useState, useMemo, useEffect, useCallback, useLayoutEffect, useRef } from 'react';\nimport { Route, Link, useLocation, useSearchParams } from 'react-router-dom';\nimport type { ComponentModel } from '@teambit/component';\nimport { useIdFromLocation } from '@teambit/component';\nimport type { ComponentID } from '@teambit/component-id';\nimport { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { useNotifications } from '@teambit/ui-foundation.ui.notifications.notification-context';\nimport { SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport type { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Corner } from '@teambit/ui-foundation.ui.corner';\nimport { Collapser } from '@teambit/ui-foundation.ui.buttons.collapser';\nimport { SplitPane, Pane, Layout } from '@teambit/base-ui.surfaces.split-pane.split-pane';\nimport { useThemePicker } from '@teambit/base-react.themes.theme-switcher';\nimport { HoverSplitter } from '@teambit/base-ui.surfaces.split-pane.hover-splitter';\nimport { TopBar } from '@teambit/ui-foundation.ui.top-bar';\nimport { PreserveWorkspaceMode } from '@teambit/workspace.ui.preserve-workspace-mode';\nimport classNames from 'classnames';\nimport { useWorkspaceMode } from '@teambit/workspace.ui.use-workspace-mode';\nimport { useUrlChangeBroadcaster } from '@teambit/workspace.hooks.use-url-change-broadcaster';\nimport { useNavigationMessageListener } from '@teambit/workspace.hooks.use-navigation-message-listener';\n\nimport { useWorkspace } from './use-workspace';\nimport { WorkspaceOverview } from './workspace-overview';\nimport { WorkspaceProvider } from './workspace-provider';\nimport { WorkspaceSkeleton } from './workspace-skeleton';\nimport styles from './workspace.module.scss';\nimport type { WorkspaceUI } from '../../workspace.ui.runtime';\nimport { ThemeFromUrlSync } from './theme-from-url';\n\nexport type WorkspaceProps = {\n routeSlot: RouteSlot;\n menuSlot: RouteSlot;\n sidebar: React.JSX.Element;\n workspaceUI: WorkspaceUI;\n onSidebarTogglerChange: (callback: () => void) => void;\n};\n\n/**\n * main workspace component.\n */\nexport function Workspace({ routeSlot, menuSlot, sidebar, workspaceUI, onSidebarTogglerChange }: WorkspaceProps) {\n const { isMinimal } = useWorkspaceMode();\n\n const reactionsRef = useRef<{\n onComponentAdded: (comps: ComponentModel[]) => void;\n onComponentRemoved: (ids: ComponentID[]) => void;\n }>({\n onComponentAdded: () => {},\n onComponentRemoved: () => {},\n });\n\n const reactions = useMemo(\n () => ({\n onComponentAdded: (comps: ComponentModel[]) => reactionsRef.current.onComponentAdded(comps),\n onComponentRemoved: (ids: ComponentID[]) => reactionsRef.current.onComponentRemoved(ids),\n }),\n []\n );\n\n const { workspace } = useWorkspace(reactions);\n const theme = useThemePicker();\n const currentTheme = theme?.current;\n const [isSidebarOpen, setSidebarOpen] = useState<boolean | null>(null);\n const handleSidebarToggle = useCallback(() => {\n setSidebarOpen((prev) => !prev);\n }, []);\n const sidebarOpenness = isSidebarOpen ? Layout.row : Layout.right;\n const themeName = currentTheme?.themeName || 'light';\n // register the toggler with the parent in an effect, not during render — calling a parent callback\n // (which stores/setStates it) mid-render risks \"cannot update a component while rendering another\".\n useEffect(() => {\n onSidebarTogglerChange(handleSidebarToggle);\n }, [onSidebarTogglerChange, handleSidebarToggle]);\n\n useEffect(() => {\n if (!window) return;\n if (window.innerWidth <= 1024) {\n setSidebarOpen(false);\n }\n }, []);\n\n useLayoutEffect(() => {\n setSidebarOpen(!isMinimal);\n }, [isMinimal]);\n\n const location = useLocation();\n\n // push the loaded components into the workspace UI store from an effect rather than during render —\n // mutating an external store mid-render can re-render its subscribers in the middle of this render.\n useEffect(() => {\n if (workspace) workspaceUI.setComponents(workspace.components);\n }, [workspaceUI, workspace]);\n\n const inIframe = typeof window !== 'undefined' && window.parent && window.parent !== window;\n const isOverview = location.pathname === '/' || location.pathname === '';\n const showTopBar = !isMinimal || (isMinimal && !isOverview);\n if (!workspace) {\n // While the light workspace query resolves, show a full-shell skeleton instead of a blank\n // screen. The heavy per-component data (status, issues) streams in after first paint.\n return <WorkspaceSkeleton isMinimal={isMinimal} showTopBar={showTopBar} />;\n }\n\n return (\n <WorkspaceProvider workspace={workspace}>\n {!isMinimal && <NotificationsBinder reactionsRef={reactionsRef} />}\n <PreserveWorkspaceMode>\n <ThemeFromUrlSync />\n {isMinimal && inIframe && <MinimalModeUrlBroadcasterAndListener />}\n <div className={styles.workspaceWrapper}>\n {showTopBar && (\n <TopBar\n className={classNames(styles.topbar, styles[themeName], isMinimal && styles.minimal)}\n Corner={() => (\n <div className={classNames(isMinimal && styles.cornerWithBreadcrumb)}>\n {isMinimal ? (\n <Link to=\"/\" className={styles.backButton}>\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\n <path\n d=\"M11.25 13.5L6.75 9L11.25 4.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </Link>\n ) : (\n <Corner\n className={classNames(styles.corner, styles[themeName])}\n name={workspace.name}\n icon={workspace.icon}\n />\n )}\n {isMinimal && <WorkspaceBreadcrumb />}\n </div>\n )}\n // @ts-ignore - getting an error of \"Types have separate declarations of a private property 'registerFn'.\" for some reason after upgrading teambit.harmony/harmony from 0.4.6 to 0.4.7\n menu={menuSlot}\n />\n )}\n <SplitPane className={styles.main} size={246} layout={sidebarOpenness}>\n <Pane className={classNames(styles.sidebar, styles[themeName], !isSidebarOpen && styles.closed)}>\n {sidebar}\n </Pane>\n <HoverSplitter\n className={classNames(styles.splitter, isMinimal && !isSidebarOpen && styles.splitterClosed)}\n >\n <Collapser\n isOpen={Boolean(isSidebarOpen)}\n onMouseDown={(e) => e.stopPropagation()} // avoid split-pane drag\n onClick={handleSidebarToggle}\n tooltipContent={`${isSidebarOpen ? 'Hide' : 'Show'} side panel`}\n />\n </HoverSplitter>\n <Pane>\n <SlotRouter slot={routeSlot}>\n <Route index element={<WorkspaceOverview />} />\n </SlotRouter>\n </Pane>\n </SplitPane>\n </div>\n </PreserveWorkspaceMode>\n </WorkspaceProvider>\n );\n}\n\nfunction NotificationsBinder({\n reactionsRef,\n}: {\n reactionsRef: React.MutableRefObject<{\n onComponentAdded: (comps: ComponentModel[]) => void;\n onComponentRemoved: (ids: ComponentID[]) => void;\n }>;\n}) {\n const notifications = useNotifications();\n\n const notificationsMapped = useMemo(() => {\n return {\n onComponentAdded: (comps: ComponentModel[]) => {\n const notificationId = notifications.log(\n `added ${pluralize('component', comps.length)}: ${comps.map((comp) => comp.id.toString()).join(', ')}`\n );\n setTimeout(() => notifications.dismiss(notificationId), 12 * 1000);\n },\n onComponentRemoved: (ids: ComponentID[]) => {\n const notificationId = notifications.log(\n `removed ${pluralize('component', ids.length)} ${ids.map((id) => id.toString()).join(', ')}`\n );\n setTimeout(() => notifications.dismiss(notificationId), 12 * 1000);\n },\n };\n }, [notifications]);\n\n useEffect(() => {\n reactionsRef.current = notificationsMapped;\n return () => {\n reactionsRef.current = { onComponentAdded: () => {}, onComponentRemoved: () => {} };\n };\n }, [notificationsMapped, reactionsRef]);\n\n return null;\n}\n\nexport function MinimalModeUrlBroadcasterAndListener() {\n useUrlChangeBroadcaster();\n useNavigationMessageListener();\n return null;\n}\n\n/**\n * Extracts the component fullName from the URL.\n * For lane URLs (`/~lane/scope/lane/~component/...`), extracts the path after ~component/\n * and passes it to useIdFromLocation. For regular URLs, useIdFromLocation handles it directly.\n */\nfunction useComponentFullNameFromUrl(): string | undefined {\n const { pathname } = useLocation();\n const laneComponentUrl = useMemo(() => {\n const marker = LanesModel.baseLaneComponentRoute.replace(/^\\//, '') + '/';\n const idx = pathname.indexOf(marker);\n if (idx !== -1) return pathname.slice(idx + marker.length);\n if (pathname.includes(LanesModel.lanesPrefix)) return ''; // lane page, no component\n return undefined;\n }, [pathname]);\n\n return useIdFromLocation(laneComponentUrl || undefined);\n}\n\nfunction WorkspaceBreadcrumb() {\n const fullName = useComponentFullNameFromUrl();\n const [searchParams] = useSearchParams();\n if (!fullName) return null;\n\n const parts = fullName.split('/');\n const isLast = (i: number) => i === parts.length - 1;\n\n return (\n <span className={styles.breadcrumb}>\n {parts.map((part, i) => {\n // build the namespace from all segments up to this one\n const namespace = parts.slice(0, i + 1).join('/');\n const overviewParams = new URLSearchParams(searchParams);\n overviewParams.set('aggregation', 'none');\n overviewParams.set('ns', namespace);\n\n return (\n <React.Fragment key={i}>\n {i > 0 && <span className={styles.breadcrumbSeparator}>/</span>}\n {isLast(i) ? (\n <span className={styles.breadcrumbLast}>{part}</span>\n ) : (\n <Link to={`/?${overviewParams.toString()}`} className={styles.breadcrumbLink}>\n {part}\n </Link>\n )}\n </React.Fragment>\n );\n })}\n </span>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["require","_pluralize","data","_interopRequireDefault","_react","_interopRequireWildcard","_reactRouterDom","_component","_lanesUiModels","_uiFoundationUiNotifications","_uiFoundationUiReactRouter","_uiFoundationUi","_uiFoundationUiButtons","_baseUiSurfacesSplitPane","_baseReactThemes","_baseUiSurfacesSplitPane2","_uiFoundationUi2","_workspaceUi","_classnames","_workspaceUi2","_workspaceHooks","_workspaceHooks2","_useWorkspace","_workspaceOverview","_workspaceProvider","_workspaceSkeleton","_workspaceModule","_themeFromUrl","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Workspace","routeSlot","menuSlot","sidebar","workspaceUI","onSidebarTogglerChange","isMinimal","useWorkspaceMode","reactionsRef","useRef","onComponentAdded","onComponentRemoved","reactions","useMemo","comps","current","ids","workspace","useWorkspace","theme","useThemePicker","currentTheme","isSidebarOpen","setSidebarOpen","useState","handleSidebarToggle","useCallback","prev","sidebarOpenness","Layout","row","right","themeName","useEffect","window","innerWidth","useLayoutEffect","location","useLocation","setComponents","components","inIframe","parent","isOverview","pathname","showTopBar","createElement","WorkspaceSkeleton","WorkspaceProvider","NotificationsBinder","PreserveWorkspaceMode","ThemeFromUrlSync","MinimalModeUrlBroadcasterAndListener","className","styles","workspaceWrapper","TopBar","classNames","topbar","minimal","Corner","cornerWithBreadcrumb","Link","to","backButton","width","height","viewBox","fill","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","corner","name","icon","WorkspaceBreadcrumb","menu","SplitPane","main","size","layout","Pane","closed","HoverSplitter","splitter","splitterClosed","Collapser","isOpen","Boolean","onMouseDown","stopPropagation","onClick","tooltipContent","SlotRouter","slot","Route","index","element","WorkspaceOverview","notifications","useNotifications","notificationsMapped","notificationId","log","pluralize","length","map","comp","id","toString","join","setTimeout","dismiss","useUrlChangeBroadcaster","useNavigationMessageListener","useComponentFullNameFromUrl","laneComponentUrl","marker","LanesModel","baseLaneComponentRoute","replace","idx","indexOf","slice","includes","lanesPrefix","undefined","useIdFromLocation","fullName","searchParams","useSearchParams","parts","split","isLast","breadcrumb","part","namespace","overviewParams","URLSearchParams","Fragment","key","breadcrumbSeparator","breadcrumbLast","breadcrumbLink"],"sources":["workspace.tsx"],"sourcesContent":["import 'reset-css';\nimport pluralize from 'pluralize';\nimport React, { useState, useMemo, useEffect, useCallback, useLayoutEffect, useRef } from 'react';\nimport { Route, Link, useLocation, useSearchParams } from 'react-router-dom';\nimport type { ComponentModel } from '@teambit/component';\nimport { useIdFromLocation } from '@teambit/component';\nimport type { ComponentID } from '@teambit/component-id';\nimport { LanesModel } from '@teambit/lanes.ui.models.lanes-model';\nimport { useNotifications } from '@teambit/ui-foundation.ui.notifications.notification-context';\nimport { SlotRouter } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport type { RouteSlot } from '@teambit/ui-foundation.ui.react-router.slot-router';\nimport { Corner } from '@teambit/ui-foundation.ui.corner';\nimport { Collapser } from '@teambit/ui-foundation.ui.buttons.collapser';\nimport { SplitPane, Pane, Layout } from '@teambit/base-ui.surfaces.split-pane.split-pane';\nimport { useThemePicker } from '@teambit/base-react.themes.theme-switcher';\nimport { HoverSplitter } from '@teambit/base-ui.surfaces.split-pane.hover-splitter';\nimport { TopBar } from '@teambit/ui-foundation.ui.top-bar';\nimport { PreserveWorkspaceMode } from '@teambit/workspace.ui.preserve-workspace-mode';\nimport classNames from 'classnames';\nimport { useWorkspaceMode } from '@teambit/workspace.ui.use-workspace-mode';\nimport { useUrlChangeBroadcaster } from '@teambit/workspace.hooks.use-url-change-broadcaster';\nimport { useNavigationMessageListener } from '@teambit/workspace.hooks.use-navigation-message-listener';\n\nimport { useWorkspace } from './use-workspace';\nimport { WorkspaceOverview } from './workspace-overview';\nimport { WorkspaceProvider } from './workspace-provider';\nimport { WorkspaceSkeleton } from './workspace-skeleton';\nimport styles from './workspace.module.scss';\nimport type { WorkspaceUI } from '../../workspace.ui.runtime';\nimport { ThemeFromUrlSync } from './theme-from-url';\n\nexport type WorkspaceProps = {\n routeSlot: RouteSlot;\n menuSlot: RouteSlot;\n sidebar: React.JSX.Element;\n workspaceUI: WorkspaceUI;\n onSidebarTogglerChange: (callback: () => void) => void;\n};\n\n/**\n * main workspace component.\n */\nexport function Workspace({ routeSlot, menuSlot, sidebar, workspaceUI, onSidebarTogglerChange }: WorkspaceProps) {\n const { isMinimal } = useWorkspaceMode();\n\n const reactionsRef = useRef<{\n onComponentAdded: (comps: ComponentModel[]) => void;\n onComponentRemoved: (ids: ComponentID[]) => void;\n }>({\n onComponentAdded: () => {},\n onComponentRemoved: () => {},\n });\n\n const reactions = useMemo(\n () => ({\n onComponentAdded: (comps: ComponentModel[]) => reactionsRef.current.onComponentAdded(comps),\n onComponentRemoved: (ids: ComponentID[]) => reactionsRef.current.onComponentRemoved(ids),\n }),\n []\n );\n\n const { workspace } = useWorkspace(reactions);\n const theme = useThemePicker();\n const currentTheme = theme?.current;\n const [isSidebarOpen, setSidebarOpen] = useState<boolean | null>(null);\n const handleSidebarToggle = useCallback(() => {\n setSidebarOpen((prev) => !prev);\n }, []);\n const sidebarOpenness = isSidebarOpen ? Layout.row : Layout.right;\n const themeName = currentTheme?.themeName || 'light';\n // register the toggler with the parent in an effect, not during render — calling a parent callback\n // (which stores/setStates it) mid-render risks \"cannot update a component while rendering another\".\n useEffect(() => {\n onSidebarTogglerChange(handleSidebarToggle);\n }, [onSidebarTogglerChange, handleSidebarToggle]);\n\n useEffect(() => {\n if (!window) return;\n if (window.innerWidth <= 1024) {\n setSidebarOpen(false);\n }\n }, []);\n\n useLayoutEffect(() => {\n setSidebarOpen(!isMinimal);\n }, [isMinimal]);\n\n const location = useLocation();\n\n // push the loaded components into the workspace UI store from an effect rather than during render —\n // mutating an external store mid-render can re-render its subscribers in the middle of this render.\n useEffect(() => {\n if (workspace) workspaceUI.setComponents(workspace.components);\n }, [workspaceUI, workspace]);\n\n const inIframe = typeof window !== 'undefined' && window.parent && window.parent !== window;\n const isOverview = location.pathname === '/' || location.pathname === '';\n const showTopBar = !isMinimal || (isMinimal && !isOverview);\n if (!workspace) {\n // While the light workspace query resolves, show a full-shell skeleton instead of a blank\n // screen. The heavy per-component data (status, issues) streams in after first paint.\n return <WorkspaceSkeleton isMinimal={isMinimal} showTopBar={showTopBar} />;\n }\n\n return (\n <WorkspaceProvider workspace={workspace}>\n {!isMinimal && <NotificationsBinder reactionsRef={reactionsRef} />}\n <PreserveWorkspaceMode>\n <ThemeFromUrlSync />\n {isMinimal && inIframe && <MinimalModeUrlBroadcasterAndListener />}\n <div className={styles.workspaceWrapper}>\n {showTopBar && (\n <TopBar\n className={classNames(styles.topbar, styles[themeName], isMinimal && styles.minimal)}\n Corner={() => (\n <div className={classNames(isMinimal && styles.cornerWithBreadcrumb)}>\n {isMinimal ? (\n <Link to=\"/\" className={styles.backButton}>\n <svg width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\n <path\n d=\"M11.25 13.5L6.75 9L11.25 4.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </Link>\n ) : (\n <Corner\n className={classNames(styles.corner, styles[themeName])}\n name={workspace.name}\n icon={workspace.icon}\n />\n )}\n {isMinimal && <WorkspaceBreadcrumb />}\n </div>\n )}\n menu={menuSlot}\n />\n )}\n <SplitPane className={styles.main} size={246} layout={sidebarOpenness}>\n <Pane className={classNames(styles.sidebar, styles[themeName], !isSidebarOpen && styles.closed)}>\n {sidebar}\n </Pane>\n <HoverSplitter\n className={classNames(styles.splitter, isMinimal && !isSidebarOpen && styles.splitterClosed)}\n >\n <Collapser\n isOpen={Boolean(isSidebarOpen)}\n onMouseDown={(e) => e.stopPropagation()} // avoid split-pane drag\n onClick={handleSidebarToggle}\n tooltipContent={`${isSidebarOpen ? 'Hide' : 'Show'} side panel`}\n />\n </HoverSplitter>\n <Pane>\n <SlotRouter slot={routeSlot}>\n <Route index element={<WorkspaceOverview />} />\n </SlotRouter>\n </Pane>\n </SplitPane>\n </div>\n </PreserveWorkspaceMode>\n </WorkspaceProvider>\n );\n}\n\nfunction NotificationsBinder({\n reactionsRef,\n}: {\n reactionsRef: React.MutableRefObject<{\n onComponentAdded: (comps: ComponentModel[]) => void;\n onComponentRemoved: (ids: ComponentID[]) => void;\n }>;\n}) {\n const notifications = useNotifications();\n\n const notificationsMapped = useMemo(() => {\n return {\n onComponentAdded: (comps: ComponentModel[]) => {\n const notificationId = notifications.log(\n `added ${pluralize('component', comps.length)}: ${comps.map((comp) => comp.id.toString()).join(', ')}`\n );\n setTimeout(() => notifications.dismiss(notificationId), 12 * 1000);\n },\n onComponentRemoved: (ids: ComponentID[]) => {\n const notificationId = notifications.log(\n `removed ${pluralize('component', ids.length)} ${ids.map((id) => id.toString()).join(', ')}`\n );\n setTimeout(() => notifications.dismiss(notificationId), 12 * 1000);\n },\n };\n }, [notifications]);\n\n useEffect(() => {\n reactionsRef.current = notificationsMapped;\n return () => {\n reactionsRef.current = { onComponentAdded: () => {}, onComponentRemoved: () => {} };\n };\n }, [notificationsMapped, reactionsRef]);\n\n return null;\n}\n\nexport function MinimalModeUrlBroadcasterAndListener() {\n useUrlChangeBroadcaster();\n useNavigationMessageListener();\n return null;\n}\n\n/**\n * Extracts the component fullName from the URL.\n * For lane URLs (`/~lane/scope/lane/~component/...`), extracts the path after ~component/\n * and passes it to useIdFromLocation. For regular URLs, useIdFromLocation handles it directly.\n */\nfunction useComponentFullNameFromUrl(): string | undefined {\n const { pathname } = useLocation();\n const laneComponentUrl = useMemo(() => {\n const marker = LanesModel.baseLaneComponentRoute.replace(/^\\//, '') + '/';\n const idx = pathname.indexOf(marker);\n if (idx !== -1) return pathname.slice(idx + marker.length);\n if (pathname.includes(LanesModel.lanesPrefix)) return ''; // lane page, no component\n return undefined;\n }, [pathname]);\n\n return useIdFromLocation(laneComponentUrl || undefined);\n}\n\nfunction WorkspaceBreadcrumb() {\n const fullName = useComponentFullNameFromUrl();\n const [searchParams] = useSearchParams();\n if (!fullName) return null;\n\n const parts = fullName.split('/');\n const isLast = (i: number) => i === parts.length - 1;\n\n return (\n <span className={styles.breadcrumb}>\n {parts.map((part, i) => {\n // build the namespace from all segments up to this one\n const namespace = parts.slice(0, i + 1).join('/');\n const overviewParams = new URLSearchParams(searchParams);\n overviewParams.set('aggregation', 'none');\n overviewParams.set('ns', namespace);\n\n return (\n <React.Fragment key={i}>\n {i > 0 && <span className={styles.breadcrumbSeparator}>/</span>}\n {isLast(i) ? (\n <span className={styles.breadcrumbLast}>{part}</span>\n ) : (\n <Link to={`/?${overviewParams.toString()}`} className={styles.breadcrumbLink}>\n {part}\n </Link>\n )}\n </React.Fragment>\n );\n })}\n </span>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/workspace",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1258",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/workspace/workspace",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.workspace",
|
|
8
8
|
"name": "workspace",
|
|
9
|
-
"version": "1.0.
|
|
9
|
+
"version": "1.0.1258"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.18.1",
|
|
@@ -30,45 +30,27 @@
|
|
|
30
30
|
"reset-css": "5.0.1",
|
|
31
31
|
"@teambit/component-id": "1.2.5",
|
|
32
32
|
"@teambit/harmony": "0.4.12",
|
|
33
|
-
"@teambit/legacy.extension-data": "0.0.195",
|
|
34
|
-
"@teambit/legacy.scope": "0.0.196",
|
|
35
33
|
"@teambit/component-version": "1.0.4",
|
|
36
|
-
"@teambit/legacy.consumer-component": "0.0.194",
|
|
37
|
-
"@teambit/legacy.consumer": "0.0.196",
|
|
38
34
|
"@teambit/bit-error": "0.0.404",
|
|
39
35
|
"@teambit/lane-id": "0.0.312",
|
|
40
|
-
"@teambit/legacy.bit-map": "0.0.250",
|
|
41
36
|
"@teambit/toolbox.fs.last-modified": "0.0.24",
|
|
42
37
|
"@teambit/toolbox.path.path": "0.0.26",
|
|
43
38
|
"@teambit/graph.cleargraph": "0.0.11",
|
|
44
39
|
"@teambit/logger": "0.0.1502",
|
|
45
40
|
"@teambit/component-issues": "0.0.192",
|
|
46
|
-
"@teambit/cli": "0.0.1427",
|
|
47
|
-
"@teambit/config-store": "0.0.308",
|
|
48
41
|
"@teambit/legacy.constants": "0.0.50",
|
|
49
42
|
"@teambit/component.ui.component-status-resolver": "0.0.510",
|
|
50
43
|
"@teambit/harmony.modules.load-trace": "0.0.17",
|
|
51
44
|
"@teambit/harmony.modules.resolved-component": "0.0.530",
|
|
52
|
-
"@teambit/legacy.utils": "0.0.56",
|
|
53
|
-
"@teambit/scope.remotes": "0.0.196",
|
|
54
45
|
"@teambit/component-package-version": "0.0.466",
|
|
55
|
-
"@teambit/config": "0.0.1602",
|
|
56
46
|
"@teambit/harmony.modules.requireable-component": "0.0.530",
|
|
57
47
|
"@teambit/harmony.modules.runtimes": "0.0.4",
|
|
58
48
|
"@teambit/toolbox.modules.module-resolver": "0.0.29",
|
|
59
|
-
"@teambit/workspace.modules.node-modules-linker": "0.0.429",
|
|
60
49
|
"@teambit/workspace.root-components": "1.0.1",
|
|
61
|
-
"@teambit/graphql": "1.0.1209",
|
|
62
|
-
"@teambit/global-config": "0.0.1431",
|
|
63
|
-
"@teambit/legacy.consumer-config": "0.0.193",
|
|
64
|
-
"@teambit/variants": "0.0.1695",
|
|
65
|
-
"@teambit/component.sources": "0.0.245",
|
|
66
50
|
"@teambit/dependencies.modules.packages-excluder": "1.0.8",
|
|
67
51
|
"@teambit/git.modules.git-executable": "0.0.51",
|
|
68
52
|
"@teambit/harmony.modules.in-memory-cache": "0.0.55",
|
|
69
53
|
"@teambit/legacy-bit-id": "1.1.4",
|
|
70
|
-
"@teambit/legacy.component-list": "0.0.250",
|
|
71
|
-
"@teambit/legacy.scope-api": "0.0.251",
|
|
72
54
|
"@teambit/toolbox.path.is-path-inside": "0.0.518",
|
|
73
55
|
"@teambit/workspace.modules.match-pattern": "0.0.539",
|
|
74
56
|
"@teambit/component.ui.component-drawer": "0.0.513",
|
|
@@ -106,19 +88,37 @@
|
|
|
106
88
|
"@teambit/workspace.hooks.use-url-change-broadcaster": "0.0.7",
|
|
107
89
|
"@teambit/workspace.ui.preserve-workspace-mode": "0.0.8",
|
|
108
90
|
"@teambit/evangelist.elements.icon": "1.0.5",
|
|
109
|
-
"@teambit/component": "1.0.
|
|
110
|
-
"@teambit/dependency-resolver": "1.0.
|
|
111
|
-
"@teambit/envs": "1.0.
|
|
112
|
-
"@teambit/
|
|
113
|
-
"@teambit/scope": "
|
|
114
|
-
"@teambit/
|
|
115
|
-
"@teambit/
|
|
116
|
-
"@teambit/
|
|
117
|
-
"@teambit/
|
|
118
|
-
"@teambit/
|
|
119
|
-
"@teambit/
|
|
120
|
-
"@teambit/
|
|
121
|
-
"@teambit/
|
|
91
|
+
"@teambit/component": "1.0.1241",
|
|
92
|
+
"@teambit/dependency-resolver": "1.0.1242",
|
|
93
|
+
"@teambit/envs": "1.0.1241",
|
|
94
|
+
"@teambit/legacy.extension-data": "0.0.196",
|
|
95
|
+
"@teambit/legacy.scope": "0.0.198",
|
|
96
|
+
"@teambit/legacy.consumer-component": "0.0.195",
|
|
97
|
+
"@teambit/legacy.consumer": "0.0.198",
|
|
98
|
+
"@teambit/legacy.bit-map": "0.0.251",
|
|
99
|
+
"@teambit/objects": "0.0.734",
|
|
100
|
+
"@teambit/scope": "1.0.1257",
|
|
101
|
+
"@teambit/graph": "1.0.1255",
|
|
102
|
+
"@teambit/cli": "0.0.1429",
|
|
103
|
+
"@teambit/config-store": "0.0.310",
|
|
104
|
+
"@teambit/isolator": "1.0.1256",
|
|
105
|
+
"@teambit/component-tree": "1.0.1241",
|
|
106
|
+
"@teambit/legacy.utils": "0.0.57",
|
|
107
|
+
"@teambit/scope.remotes": "0.0.198",
|
|
108
|
+
"@teambit/aspect-loader": "1.0.1241",
|
|
109
|
+
"@teambit/config": "0.0.1604",
|
|
110
|
+
"@teambit/workspace.modules.node-modules-linker": "0.0.431",
|
|
111
|
+
"@teambit/graphql": "1.0.1210",
|
|
112
|
+
"@teambit/bundler": "1.0.1256",
|
|
113
|
+
"@teambit/global-config": "0.0.1433",
|
|
114
|
+
"@teambit/legacy.consumer-config": "0.0.194",
|
|
115
|
+
"@teambit/ui": "1.0.1257",
|
|
116
|
+
"@teambit/variants": "0.0.1697",
|
|
117
|
+
"@teambit/component.sources": "0.0.246",
|
|
118
|
+
"@teambit/legacy.component-list": "0.0.252",
|
|
119
|
+
"@teambit/legacy.scope-api": "0.0.253",
|
|
120
|
+
"@teambit/command-bar": "1.0.1257",
|
|
121
|
+
"@teambit/sidebar": "1.0.1241"
|
|
122
122
|
},
|
|
123
123
|
"devDependencies": {
|
|
124
124
|
"@types/lodash": "4.14.165",
|
|
@@ -136,7 +136,6 @@ export function Workspace({ routeSlot, menuSlot, sidebar, workspaceUI, onSidebar
|
|
|
136
136
|
{isMinimal && <WorkspaceBreadcrumb />}
|
|
137
137
|
</div>
|
|
138
138
|
)}
|
|
139
|
-
// @ts-ignore - getting an error of "Types have separate declarations of a private property 'registerFn'." for some reason after upgrading teambit.harmony/harmony from 0.4.6 to 0.4.7
|
|
140
139
|
menu={menuSlot}
|
|
141
140
|
/>
|
|
142
141
|
)}
|