@teambit/workspace 1.0.793 → 1.0.794
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.794/dist/workspace.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.workspace_workspace@1.0.794/dist/workspace.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
@@ -12,4 +12,4 @@ export type WorkspaceProps = {
|
|
|
12
12
|
* main workspace component.
|
|
13
13
|
*/
|
|
14
14
|
export declare function Workspace({ routeSlot, menuSlot, sidebar, workspaceUI, onSidebarTogglerChange }: WorkspaceProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
export declare function
|
|
15
|
+
export declare function MinimalModeUrlBroadcasterAndListener(): null;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.MinimalModeUrlBroadcasterAndListener = MinimalModeUrlBroadcasterAndListener;
|
|
7
7
|
exports.Workspace = Workspace;
|
|
8
8
|
require("reset-css");
|
|
9
9
|
function _pluralize() {
|
|
@@ -111,6 +111,13 @@ function _workspaceHooks() {
|
|
|
111
111
|
};
|
|
112
112
|
return data;
|
|
113
113
|
}
|
|
114
|
+
function _workspaceHooks2() {
|
|
115
|
+
const data = require("@teambit/workspace.hooks.use-navigation-message-listener");
|
|
116
|
+
_workspaceHooks2 = function () {
|
|
117
|
+
return data;
|
|
118
|
+
};
|
|
119
|
+
return data;
|
|
120
|
+
}
|
|
114
121
|
function _useWorkspace() {
|
|
115
122
|
const data = require("./use-workspace");
|
|
116
123
|
_useWorkspace = function () {
|
|
@@ -189,11 +196,12 @@ function Workspace({
|
|
|
189
196
|
});
|
|
190
197
|
}
|
|
191
198
|
workspaceUI.setComponents(workspace.components);
|
|
199
|
+
const inIframe = typeof window !== 'undefined' && window.parent && window.parent !== window;
|
|
192
200
|
return /*#__PURE__*/_react().default.createElement(_workspaceProvider().WorkspaceProvider, {
|
|
193
201
|
workspace: workspace
|
|
194
202
|
}, !isMinimal && /*#__PURE__*/_react().default.createElement(NotificationsBinder, {
|
|
195
203
|
reactionsRef: reactionsRef
|
|
196
|
-
}), /*#__PURE__*/_react().default.createElement(_workspaceUi().PreserveWorkspaceMode, null, /*#__PURE__*/_react().default.createElement(
|
|
204
|
+
}), /*#__PURE__*/_react().default.createElement(_workspaceUi().PreserveWorkspaceMode, null, isMinimal && inIframe && /*#__PURE__*/_react().default.createElement(MinimalModeUrlBroadcasterAndListener, null), /*#__PURE__*/_react().default.createElement("div", {
|
|
197
205
|
className: _workspaceModule().default.workspaceWrapper
|
|
198
206
|
}, /*#__PURE__*/_react().default.createElement(_uiFoundationUi2().TopBar, {
|
|
199
207
|
className: (0, _classnames().default)(_workspaceModule().default.topbar, _workspaceModule().default[themeName]),
|
|
@@ -253,13 +261,9 @@ function NotificationsBinder({
|
|
|
253
261
|
}, [notificationsMapped, reactionsRef]);
|
|
254
262
|
return null;
|
|
255
263
|
}
|
|
256
|
-
function
|
|
257
|
-
const {
|
|
258
|
-
isMinimal
|
|
259
|
-
} = (0, _workspaceUi2().useWorkspaceMode)();
|
|
260
|
-
const inIframe = typeof window !== 'undefined' && window.parent && window.parent !== window;
|
|
261
|
-
if (!isMinimal || !inIframe) return null;
|
|
264
|
+
function MinimalModeUrlBroadcasterAndListener() {
|
|
262
265
|
(0, _workspaceHooks().useUrlChangeBroadcaster)();
|
|
266
|
+
(0, _workspaceHooks2().useNavigationMessageListener)();
|
|
263
267
|
return null;
|
|
264
268
|
}
|
|
265
269
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["require","_pluralize","data","_interopRequireDefault","_react","_interopRequireWildcard","_reactRouterDom","_uiFoundationUiNotifications","_uiFoundationUiReactRouter","_uiFoundationUi","_uiFoundationUiButtons","_baseUiSurfacesSplitPane","_baseReactThemes","_baseUiSurfacesSplitPane2","_uiFoundationUi2","_workspaceUi","_classnames","_workspaceUi2","_workspaceHooks","_useWorkspace","_workspaceOverview","_workspaceProvider","_workspaceModule","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","createElement","className","styles","emptyContainer","setComponents","components","WorkspaceProvider","NotificationsBinder","PreserveWorkspaceMode","MinimalModeUrlBroadcaster","workspaceWrapper","TopBar","classNames","topbar","Corner","minimalCorner","corner","name","icon","menu","SplitPane","main","size","layout","Pane","closed","HoverSplitter","splitter","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","inIframe","parent","useUrlChangeBroadcaster"],"sources":["workspace.tsx"],"sourcesContent":["import 'reset-css';\nimport pluralize from 'pluralize';\nimport React, { useState, useMemo, useEffect, useCallback, useLayoutEffect, useRef } from 'react';\nimport { Route } from 'react-router-dom';\nimport type { ComponentModel } from '@teambit/component';\nimport type { ComponentID } from '@teambit/component-id';\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';\n\nimport { useWorkspace } from './use-workspace';\nimport { WorkspaceOverview } from './workspace-overview';\nimport { WorkspaceProvider } from './workspace-provider';\nimport styles from './workspace.module.scss';\nimport type { WorkspaceUI } from '../../workspace.ui.runtime';\n\nexport type WorkspaceProps = {\n routeSlot: RouteSlot;\n menuSlot: RouteSlot;\n sidebar: 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 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 if (!workspace) {\n return <div className={styles.emptyContainer}></div>;\n }\n\n workspaceUI.setComponents(workspace.components);\n\n return (\n <WorkspaceProvider workspace={workspace}>\n {!isMinimal && <NotificationsBinder reactionsRef={reactionsRef} />}\n <PreserveWorkspaceMode>\n <MinimalModeUrlBroadcaster />\n <div className={styles.workspaceWrapper}>\n {\n <TopBar\n className={classNames(styles.topbar, styles[themeName])}\n Corner={() => (\n <Corner\n className={classNames((isMinimal && styles.minimalCorner) || styles.corner, styles[themeName])}\n name={isMinimal ? '' : workspace.name}\n icon={isMinimal ? 'https://static.bit.dev/bit-icons/house.svg' : workspace.icon}\n />\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 className={styles.splitter}>\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 MinimalModeUrlBroadcaster() {\n const { isMinimal } = useWorkspaceMode();\n const inIframe = typeof window !== 'undefined' && window.parent && window.parent !== window;\n\n if (!isMinimal || !inIframe) return null;\n\n useUrlChangeBroadcaster();\n return null;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["require","_pluralize","data","_interopRequireDefault","_react","_interopRequireWildcard","_reactRouterDom","_uiFoundationUiNotifications","_uiFoundationUiReactRouter","_uiFoundationUi","_uiFoundationUiButtons","_baseUiSurfacesSplitPane","_baseReactThemes","_baseUiSurfacesSplitPane2","_uiFoundationUi2","_workspaceUi","_classnames","_workspaceUi2","_workspaceHooks","_workspaceHooks2","_useWorkspace","_workspaceOverview","_workspaceProvider","_workspaceModule","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","createElement","className","styles","emptyContainer","setComponents","components","inIframe","parent","WorkspaceProvider","NotificationsBinder","PreserveWorkspaceMode","MinimalModeUrlBroadcasterAndListener","workspaceWrapper","TopBar","classNames","topbar","Corner","minimalCorner","corner","name","icon","menu","SplitPane","main","size","layout","Pane","closed","HoverSplitter","splitter","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"],"sources":["workspace.tsx"],"sourcesContent":["import 'reset-css';\nimport pluralize from 'pluralize';\nimport React, { useState, useMemo, useEffect, useCallback, useLayoutEffect, useRef } from 'react';\nimport { Route } from 'react-router-dom';\nimport type { ComponentModel } from '@teambit/component';\nimport type { ComponentID } from '@teambit/component-id';\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 styles from './workspace.module.scss';\nimport type { WorkspaceUI } from '../../workspace.ui.runtime';\n\nexport type WorkspaceProps = {\n routeSlot: RouteSlot;\n menuSlot: RouteSlot;\n sidebar: 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 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 if (!workspace) {\n return <div className={styles.emptyContainer}></div>;\n }\n\n workspaceUI.setComponents(workspace.components);\n const inIframe = typeof window !== 'undefined' && window.parent && window.parent !== window;\n\n return (\n <WorkspaceProvider workspace={workspace}>\n {!isMinimal && <NotificationsBinder reactionsRef={reactionsRef} />}\n <PreserveWorkspaceMode>\n {isMinimal && inIframe && <MinimalModeUrlBroadcasterAndListener />}\n <div className={styles.workspaceWrapper}>\n {\n <TopBar\n className={classNames(styles.topbar, styles[themeName])}\n Corner={() => (\n <Corner\n className={classNames((isMinimal && styles.minimalCorner) || styles.corner, styles[themeName])}\n name={isMinimal ? '' : workspace.name}\n icon={isMinimal ? 'https://static.bit.dev/bit-icons/house.svg' : workspace.icon}\n />\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 className={styles.splitter}>\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"],"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.794",
|
|
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.794"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -101,23 +101,24 @@
|
|
|
101
101
|
"@teambit/scopes.scope-id": "0.0.9",
|
|
102
102
|
"@teambit/workspace.ui.empty-workspace": "0.0.509",
|
|
103
103
|
"@teambit/workspace.ui.workspace-component-card": "0.0.563",
|
|
104
|
-
"@teambit/component": "1.0.
|
|
105
|
-
"@teambit/dependency-resolver": "1.0.
|
|
106
|
-
"@teambit/envs": "1.0.
|
|
107
|
-
"@teambit/objects": "0.0.
|
|
108
|
-
"@teambit/scope": "1.0.
|
|
109
|
-
"@teambit/graph": "1.0.
|
|
110
|
-
"@teambit/isolator": "1.0.
|
|
111
|
-
"@teambit/component-tree": "1.0.
|
|
112
|
-
"@teambit/watcher": "1.0.
|
|
113
|
-
"@teambit/aspect-loader": "1.0.
|
|
114
|
-
"@teambit/graphql": "1.0.
|
|
115
|
-
"@teambit/bundler": "1.0.
|
|
116
|
-
"@teambit/ui": "1.0.
|
|
117
|
-
"@teambit/command-bar": "1.0.
|
|
118
|
-
"@teambit/sidebar": "1.0.
|
|
119
|
-
"@teambit/pubsub": "1.0.
|
|
120
|
-
"@teambit/deprecation": "1.0.
|
|
104
|
+
"@teambit/component": "1.0.794",
|
|
105
|
+
"@teambit/dependency-resolver": "1.0.794",
|
|
106
|
+
"@teambit/envs": "1.0.794",
|
|
107
|
+
"@teambit/objects": "0.0.301",
|
|
108
|
+
"@teambit/scope": "1.0.794",
|
|
109
|
+
"@teambit/graph": "1.0.794",
|
|
110
|
+
"@teambit/isolator": "1.0.794",
|
|
111
|
+
"@teambit/component-tree": "1.0.794",
|
|
112
|
+
"@teambit/watcher": "1.0.794",
|
|
113
|
+
"@teambit/aspect-loader": "1.0.794",
|
|
114
|
+
"@teambit/graphql": "1.0.794",
|
|
115
|
+
"@teambit/bundler": "1.0.794",
|
|
116
|
+
"@teambit/ui": "1.0.794",
|
|
117
|
+
"@teambit/command-bar": "1.0.794",
|
|
118
|
+
"@teambit/sidebar": "1.0.794",
|
|
119
|
+
"@teambit/pubsub": "1.0.794",
|
|
120
|
+
"@teambit/deprecation": "1.0.794",
|
|
121
|
+
"@teambit/workspace.hooks.use-navigation-message-listener": "0.0.1"
|
|
121
122
|
},
|
|
122
123
|
"devDependencies": {
|
|
123
124
|
"@types/lodash": "4.14.165",
|
|
@@ -17,6 +17,7 @@ import { PreserveWorkspaceMode } from '@teambit/workspace.ui.preserve-workspace-
|
|
|
17
17
|
import classNames from 'classnames';
|
|
18
18
|
import { useWorkspaceMode } from '@teambit/workspace.ui.use-workspace-mode';
|
|
19
19
|
import { useUrlChangeBroadcaster } from '@teambit/workspace.hooks.use-url-change-broadcaster';
|
|
20
|
+
import { useNavigationMessageListener } from '@teambit/workspace.hooks.use-navigation-message-listener';
|
|
20
21
|
|
|
21
22
|
import { useWorkspace } from './use-workspace';
|
|
22
23
|
import { WorkspaceOverview } from './workspace-overview';
|
|
@@ -81,12 +82,13 @@ export function Workspace({ routeSlot, menuSlot, sidebar, workspaceUI, onSidebar
|
|
|
81
82
|
}
|
|
82
83
|
|
|
83
84
|
workspaceUI.setComponents(workspace.components);
|
|
85
|
+
const inIframe = typeof window !== 'undefined' && window.parent && window.parent !== window;
|
|
84
86
|
|
|
85
87
|
return (
|
|
86
88
|
<WorkspaceProvider workspace={workspace}>
|
|
87
89
|
{!isMinimal && <NotificationsBinder reactionsRef={reactionsRef} />}
|
|
88
90
|
<PreserveWorkspaceMode>
|
|
89
|
-
<
|
|
91
|
+
{isMinimal && inIframe && <MinimalModeUrlBroadcasterAndListener />}
|
|
90
92
|
<div className={styles.workspaceWrapper}>
|
|
91
93
|
{
|
|
92
94
|
<TopBar
|
|
@@ -163,12 +165,8 @@ function NotificationsBinder({
|
|
|
163
165
|
return null;
|
|
164
166
|
}
|
|
165
167
|
|
|
166
|
-
export function
|
|
167
|
-
const { isMinimal } = useWorkspaceMode();
|
|
168
|
-
const inIframe = typeof window !== 'undefined' && window.parent && window.parent !== window;
|
|
169
|
-
|
|
170
|
-
if (!isMinimal || !inIframe) return null;
|
|
171
|
-
|
|
168
|
+
export function MinimalModeUrlBroadcasterAndListener() {
|
|
172
169
|
useUrlChangeBroadcaster();
|
|
170
|
+
useNavigationMessageListener();
|
|
173
171
|
return null;
|
|
174
172
|
}
|