New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

dockview

Package Overview
Dependencies
Maintainers
1
Versions
151
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dockview - npm Package Compare versions

Comparing version 0.0.0-experimental-c2d65db-20231228 to 0.0.0-experimental-d2baa13-20240225

1

dist/cjs/dockview/defaultTab.d.ts

@@ -8,2 +8,1 @@ import { IDockviewPanelHeaderProps } from './dockview';

export declare const DockviewDefaultTab: React.FunctionComponent<IDockviewDefaultTabProps>;
//# sourceMappingURL=defaultTab.d.ts.map

3

dist/cjs/dockview/defaultTab.js

@@ -75,3 +75,3 @@ "use strict";

return (React.createElement("div", __assign({ "data-testid": "dockview-default-tab" }, rest, { onClick: onClick, className: "dockview-react-tab" }),
React.createElement("span", { className: "dockview-react-tab-title" }, api.renderer),
React.createElement("span", { className: "dockview-react-tab-title" }, api.title),
!hideClose && (React.createElement("div", { className: "dv-react-tab-close-btn", onMouseDown: onMouseDown, onClick: onClose },

@@ -81,2 +81,1 @@ React.createElement(svg_1.CloseButton, null)))));

exports.DockviewDefaultTab = DockviewDefaultTab;
//# sourceMappingURL=defaultTab.js.map
import * as React from 'react';
import { DockviewDropEvent, DockviewDndOverlayEvent, DockviewPanelApi, DockviewApi, DockviewPanelRenderer } from 'dockview-core';
import { DockviewWillDropEvent, DockviewDndOverlayEvent, DockviewPanelApi, DockviewApi, DockviewPanelRenderer, DroptargetOverlayModel, DockviewDidDropEvent } from 'dockview-core';
import { IWatermarkPanelProps } from './reactWatermarkPart';

@@ -26,3 +26,4 @@ import { PanelCollection, PanelParameters } from '../types';

watermarkComponent?: React.FunctionComponent<IWatermarkPanelProps>;
onDidDrop?: (event: DockviewDropEvent) => void;
onDidDrop?: (event: DockviewDidDropEvent) => void;
onWillDrop?: (event: DockviewWillDropEvent) => void;
showDndOverlay?: (event: DockviewDndOverlayEvent) => boolean;

@@ -42,7 +43,8 @@ hideBorders?: boolean;

};
isRtl?: boolean;
debug?: boolean;
defaultRenderer?: DockviewPanelRenderer;
rootOverlayModel?: DroptargetOverlayModel;
locked?: boolean;
disableDnd?: boolean;
}
export declare const DockviewReact: React.ForwardRefExoticComponent<IDockviewReactProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=dockview.d.ts.map

@@ -119,4 +119,6 @@ "use strict";

defaultRenderer: props.defaultRenderer,
isRtl: props.isRtl,
debug: props.debug,
rootOverlayModel: props.rootOverlayModel,
locked: props.locked,
disableDnd: props.disableDnd,
});

@@ -135,2 +137,16 @@ var _b = domRef.current, clientWidth = _b.clientWidth, clientHeight = _b.clientHeight;

if (!dockviewRef.current) {
return;
}
dockviewRef.current.locked = !!props.locked;
}, [props.locked]);
React.useEffect(function () {
if (!dockviewRef.current) {
return;
}
dockviewRef.current.updateOptions({
disableDnd: props.disableDnd,
});
}, [props.disableDnd]);
React.useEffect(function () {
if (!dockviewRef.current) {
return function () {

@@ -151,2 +167,17 @@ // noop

if (!dockviewRef.current) {
return function () {
// noop
};
}
var disposable = dockviewRef.current.onWillDrop(function (event) {
if (props.onWillDrop) {
props.onWillDrop(event);
}
});
return function () {
disposable.dispose();
};
}, [props.onWillDrop]);
React.useEffect(function () {
if (!dockviewRef.current) {
return;

@@ -236,2 +267,10 @@ }

dockviewRef.current.updateOptions({
rootOverlayModel: props.rootOverlayModel,
});
}, [props.rootOverlayModel]);
React.useEffect(function () {
if (!dockviewRef.current) {
return;
}
dockviewRef.current.updateOptions({
createPrefixHeaderActionsElement: createGroupControlElement(props.prefixHeaderActionsComponent, { addPortal: addPortal }),

@@ -243,2 +282,1 @@ });

exports.DockviewReact.displayName = 'DockviewComponent';
//# sourceMappingURL=dockview.js.map

@@ -34,2 +34,1 @@ import * as React from 'react';

}
//# sourceMappingURL=headerActionsRenderer.d.ts.map

@@ -88,2 +88,1 @@ "use strict";

exports.ReactHeaderActionsRendererPart = ReactHeaderActionsRendererPart;
//# sourceMappingURL=headerActionsRenderer.js.map

@@ -23,2 +23,1 @@ import * as React from 'react';

}
//# sourceMappingURL=reactContentPart.d.ts.map

@@ -51,2 +51,1 @@ "use strict";

exports.ReactPanelContentPart = ReactPanelContentPart;
//# sourceMappingURL=reactContentPart.js.map

@@ -19,2 +19,1 @@ import * as React from 'react';

}
//# sourceMappingURL=reactHeaderPart.d.ts.map

@@ -44,2 +44,1 @@ "use strict";

exports.ReactPanelHeaderPart = ReactPanelHeaderPart;
//# sourceMappingURL=reactHeaderPart.js.map

@@ -25,2 +25,1 @@ import * as React from 'react';

}
//# sourceMappingURL=reactWatermarkPart.d.ts.map

@@ -54,2 +54,1 @@ "use strict";

exports.ReactWatermarkPart = ReactWatermarkPart;
//# sourceMappingURL=reactWatermarkPart.js.map

@@ -21,5 +21,3 @@ import * as React from 'react';

disableAutoResizing?: boolean;
isRtl?: boolean;
}
export declare const GridviewReact: React.ForwardRefExoticComponent<IGridviewReactProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=gridview.d.ts.map

@@ -77,3 +77,2 @@ "use strict";

: undefined,
isRtl: props.isRtl,
});

@@ -101,2 +100,1 @@ var _b = domRef.current, clientWidth = _b.clientWidth, clientHeight = _b.clientHeight;

exports.GridviewReact.displayName = 'GridviewComponent';
//# sourceMappingURL=gridview.js.map

@@ -11,2 +11,1 @@ /// <reference types="react" />

}
//# sourceMappingURL=view.d.ts.map

@@ -34,3 +34,5 @@ "use strict";

api: this.api,
containerApi: new dockview_core_1.GridviewApi(this._params.accessor),
// TODO: fix casting hack
containerApi: new dockview_core_1.GridviewApi(this._params
.accessor),
});

@@ -41,2 +43,1 @@ };

exports.ReactGridPanelView = ReactGridPanelView;
//# sourceMappingURL=view.js.map

@@ -11,2 +11,1 @@ export * from 'dockview-core';

export * from './react';
//# sourceMappingURL=index.d.ts.map

@@ -25,2 +25,1 @@ "use strict";

__exportStar(require("./react"), exports);
//# sourceMappingURL=index.js.map

@@ -19,3 +19,2 @@ import * as React from 'react';

className?: string;
isRtl?: boolean;
disableAutoResizing?: boolean;

@@ -27,2 +26,1 @@ disableDnd?: boolean;

export declare const PaneviewReact: React.ForwardRefExoticComponent<IPaneviewReactProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=paneview.d.ts.map

@@ -86,3 +86,2 @@ "use strict";

showDndOverlay: props.showDndOverlay,
isRtl: props.isRtl,
});

@@ -143,2 +142,1 @@ var api = new dockview_core_1.PaneviewApi(paneview);

exports.PaneviewReact.displayName = 'PaneviewComponent';
//# sourceMappingURL=paneview.js.map

@@ -20,2 +20,1 @@ import * as React from 'react';

}
//# sourceMappingURL=view.d.ts.map

@@ -45,2 +45,1 @@ "use strict";

exports.PanePanelSection = PanePanelSection;
//# sourceMappingURL=view.js.map

@@ -34,4 +34,3 @@ import * as React from 'react';

export declare const usePortalsLifecycle: PortalLifecycleHook;
export declare function isReactElement(element: unknown): element is React.ReactElement;
export declare function isReactComponent(component: any): boolean;
export {};
//# sourceMappingURL=react.d.ts.map

@@ -62,3 +62,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.isReactElement = exports.usePortalsLifecycle = exports.ReactPart = exports.ReactPartContext = void 0;
exports.isReactComponent = exports.usePortalsLifecycle = exports.ReactPart = exports.ReactPartContext = void 0;
var React = __importStar(require("react"));

@@ -130,9 +130,9 @@ var ReactDOM = __importStar(require("react-dom"));

}
if (typeof this.component !== 'function') {
if (!isReactComponent(this.component)) {
/**
* we know this isn't a React.FunctionComponent so throw an error here.
* if we do not intercept this the React library will throw a very obsure error
* for the same reason, at least at this point we will emit a sensible stacktrace.
* if we do not intercept then React library will throw a very obsure error
* for the same reason... at least at this point we will emit a sensible stacktrace.
*/
throw new Error('Invalid Operation. dockview only supports React Functional Components.');
throw new Error('Dockview: Only React.memo(...), React.ForwardRef(...) and functional components are accepted as components');
}

@@ -194,7 +194,10 @@ var bridgeComponent = React.createElement(React.forwardRef(ReactComponentBridge), {

exports.usePortalsLifecycle = usePortalsLifecycle;
// it does the job...
function isReactElement(element) {
return !!(element === null || element === void 0 ? void 0 : element.type);
function isReactComponent(component) {
/**
* Yes, we could use "react-is" but that would introduce an unwanted peer dependency
* so for now we will check in a rather crude fashion...
*/
return (typeof component === 'function' /** Functional Componnts */ ||
!!(component === null || component === void 0 ? void 0 : component.$$typeof) /** React.memo(...) Components */);
}
exports.isReactElement = isReactElement;
//# sourceMappingURL=react.js.map
exports.isReactComponent = isReactComponent;

@@ -20,6 +20,4 @@ import * as React from 'react';

className?: string;
isRtl?: boolean;
disableAutoResizing?: boolean;
}
export declare const SplitviewReact: React.ForwardRefExoticComponent<ISplitviewReactProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=splitview.d.ts.map

@@ -72,3 +72,2 @@ "use strict";

: undefined,
isRtl: props.isRtl,
});

@@ -96,2 +95,1 @@ var _b = domRef.current, clientWidth = _b.clientWidth, clientHeight = _b.clientHeight;

exports.SplitviewReact.displayName = 'SplitviewComponent';
//# sourceMappingURL=splitview.js.map

@@ -11,2 +11,1 @@ /// <reference types="react" />

}
//# sourceMappingURL=view.d.ts.map

@@ -40,2 +40,1 @@ "use strict";

exports.ReactPanelView = ReactPanelView;
//# sourceMappingURL=view.js.map
import * as React from 'react';
export declare const CloseButton: () => React.JSX.Element;
export declare const ExpandMore: () => React.JSX.Element;
//# sourceMappingURL=svg.d.ts.map

@@ -36,2 +36,1 @@ "use strict";

exports.ExpandMore = ExpandMore;
//# sourceMappingURL=svg.js.map

@@ -9,2 +9,1 @@ import * as React from 'react';

}
//# sourceMappingURL=types.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

@@ -8,2 +8,1 @@ import { IDockviewPanelHeaderProps } from './dockview';

export declare const DockviewDefaultTab: React.FunctionComponent<IDockviewDefaultTabProps>;
//# sourceMappingURL=defaultTab.d.ts.map

@@ -38,6 +38,5 @@ var __rest = (this && this.__rest) || function (s, e) {

return (React.createElement("div", Object.assign({ "data-testid": "dockview-default-tab" }, rest, { onClick: onClick, className: "dockview-react-tab" }),
React.createElement("span", { className: "dockview-react-tab-title" }, api.renderer),
React.createElement("span", { className: "dockview-react-tab-title" }, api.title),
!hideClose && (React.createElement("div", { className: "dv-react-tab-close-btn", onMouseDown: onMouseDown, onClick: onClose },
React.createElement(CloseButton, null)))));
};
//# sourceMappingURL=defaultTab.js.map
import * as React from 'react';
import { DockviewDropEvent, DockviewDndOverlayEvent, DockviewPanelApi, DockviewApi, DockviewPanelRenderer } from 'dockview-core';
import { DockviewWillDropEvent, DockviewDndOverlayEvent, DockviewPanelApi, DockviewApi, DockviewPanelRenderer, DroptargetOverlayModel, DockviewDidDropEvent } from 'dockview-core';
import { IWatermarkPanelProps } from './reactWatermarkPart';

@@ -26,3 +26,4 @@ import { PanelCollection, PanelParameters } from '../types';

watermarkComponent?: React.FunctionComponent<IWatermarkPanelProps>;
onDidDrop?: (event: DockviewDropEvent) => void;
onDidDrop?: (event: DockviewDidDropEvent) => void;
onWillDrop?: (event: DockviewWillDropEvent) => void;
showDndOverlay?: (event: DockviewDndOverlayEvent) => boolean;

@@ -42,7 +43,8 @@ hideBorders?: boolean;

};
isRtl?: boolean;
debug?: boolean;
defaultRenderer?: DockviewPanelRenderer;
rootOverlayModel?: DroptargetOverlayModel;
locked?: boolean;
disableDnd?: boolean;
}
export declare const DockviewReact: React.ForwardRefExoticComponent<IDockviewReactProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=dockview.d.ts.map

@@ -77,4 +77,6 @@ import * as React from 'react';

defaultRenderer: props.defaultRenderer,
isRtl: props.isRtl,
debug: props.debug,
rootOverlayModel: props.rootOverlayModel,
locked: props.locked,
disableDnd: props.disableDnd,
});

@@ -93,2 +95,16 @@ const { clientWidth, clientHeight } = domRef.current;

if (!dockviewRef.current) {
return;
}
dockviewRef.current.locked = !!props.locked;
}, [props.locked]);
React.useEffect(() => {
if (!dockviewRef.current) {
return;
}
dockviewRef.current.updateOptions({
disableDnd: props.disableDnd,
});
}, [props.disableDnd]);
React.useEffect(() => {
if (!dockviewRef.current) {
return () => {

@@ -109,2 +125,17 @@ // noop

if (!dockviewRef.current) {
return () => {
// noop
};
}
const disposable = dockviewRef.current.onWillDrop((event) => {
if (props.onWillDrop) {
props.onWillDrop(event);
}
});
return () => {
disposable.dispose();
};
}, [props.onWillDrop]);
React.useEffect(() => {
if (!dockviewRef.current) {
return;

@@ -194,2 +225,10 @@ }

dockviewRef.current.updateOptions({
rootOverlayModel: props.rootOverlayModel,
});
}, [props.rootOverlayModel]);
React.useEffect(() => {
if (!dockviewRef.current) {
return;
}
dockviewRef.current.updateOptions({
createPrefixHeaderActionsElement: createGroupControlElement(props.prefixHeaderActionsComponent, { addPortal }),

@@ -201,2 +240,1 @@ });

DockviewReact.displayName = 'DockviewComponent';
//# sourceMappingURL=dockview.js.map

@@ -34,2 +34,1 @@ import * as React from 'react';

}
//# sourceMappingURL=headerActionsRenderer.d.ts.map

@@ -70,2 +70,1 @@ import { ReactPart } from '../react';

}
//# sourceMappingURL=headerActionsRenderer.js.map

@@ -23,2 +23,1 @@ import * as React from 'react';

}
//# sourceMappingURL=reactContentPart.d.ts.map

@@ -42,2 +42,1 @@ import { ReactPart } from '../react';

}
//# sourceMappingURL=reactContentPart.js.map

@@ -19,2 +19,1 @@ import * as React from 'react';

}
//# sourceMappingURL=reactHeaderPart.d.ts.map

@@ -35,2 +35,1 @@ import { ReactPart } from '../react';

}
//# sourceMappingURL=reactHeaderPart.js.map

@@ -25,2 +25,1 @@ import * as React from 'react';

}
//# sourceMappingURL=reactWatermarkPart.d.ts.map

@@ -45,2 +45,1 @@ import { ReactPart } from '../react';

}
//# sourceMappingURL=reactWatermarkPart.js.map

@@ -21,5 +21,3 @@ import * as React from 'react';

disableAutoResizing?: boolean;
isRtl?: boolean;
}
export declare const GridviewReact: React.ForwardRefExoticComponent<IGridviewReactProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=gridview.d.ts.map

@@ -35,3 +35,2 @@ import * as React from 'react';

: undefined,
isRtl: props.isRtl,
});

@@ -59,2 +58,1 @@ const { clientWidth, clientHeight } = domRef.current;

GridviewReact.displayName = 'GridviewComponent';
//# sourceMappingURL=gridview.js.map

@@ -11,2 +11,1 @@ /// <reference types="react" />

}
//# sourceMappingURL=view.d.ts.map

@@ -14,6 +14,7 @@ import { GridviewApi, GridviewPanel, } from 'dockview-core';

api: this.api,
containerApi: new GridviewApi(this._params.accessor),
// TODO: fix casting hack
containerApi: new GridviewApi(this._params
.accessor),
});
}
}
//# sourceMappingURL=view.js.map

@@ -11,2 +11,1 @@ export * from 'dockview-core';

export * from './react';
//# sourceMappingURL=index.d.ts.map

@@ -9,2 +9,1 @@ export * from 'dockview-core';

export * from './react';
//# sourceMappingURL=index.js.map

@@ -19,3 +19,2 @@ import * as React from 'react';

className?: string;
isRtl?: boolean;
disableAutoResizing?: boolean;

@@ -27,2 +26,1 @@ disableDnd?: boolean;

export declare const PaneviewReact: React.ForwardRefExoticComponent<IPaneviewReactProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=paneview.d.ts.map

@@ -31,3 +31,2 @@ import * as React from 'react';

showDndOverlay: props.showDndOverlay,
isRtl: props.isRtl,
});

@@ -88,2 +87,1 @@ const api = new PaneviewApi(paneview);

PaneviewReact.displayName = 'PaneviewComponent';
//# sourceMappingURL=paneview.js.map

@@ -20,2 +20,1 @@ import * as React from 'react';

}
//# sourceMappingURL=view.d.ts.map

@@ -36,2 +36,1 @@ import { ReactPart } from '../react';

}
//# sourceMappingURL=view.js.map

@@ -34,4 +34,3 @@ import * as React from 'react';

export declare const usePortalsLifecycle: PortalLifecycleHook;
export declare function isReactElement(element: unknown): element is React.ReactElement;
export declare function isReactComponent(component: any): boolean;
export {};
//# sourceMappingURL=react.d.ts.map

@@ -66,9 +66,9 @@ import * as React from 'react';

}
if (typeof this.component !== 'function') {
if (!isReactComponent(this.component)) {
/**
* we know this isn't a React.FunctionComponent so throw an error here.
* if we do not intercept this the React library will throw a very obsure error
* for the same reason, at least at this point we will emit a sensible stacktrace.
* if we do not intercept then React library will throw a very obsure error
* for the same reason... at least at this point we will emit a sensible stacktrace.
*/
throw new Error('Invalid Operation. dockview only supports React Functional Components.');
throw new Error('Dockview: Only React.memo(...), React.ForwardRef(...) and functional components are accepted as components');
}

@@ -125,6 +125,9 @@ const bridgeComponent = React.createElement(React.forwardRef(ReactComponentBridge), {

};
// it does the job...
export function isReactElement(element) {
return !!(element === null || element === void 0 ? void 0 : element.type);
export function isReactComponent(component) {
/**
* Yes, we could use "react-is" but that would introduce an unwanted peer dependency
* so for now we will check in a rather crude fashion...
*/
return (typeof component === 'function' /** Functional Componnts */ ||
!!(component === null || component === void 0 ? void 0 : component.$$typeof) /** React.memo(...) Components */);
}
//# sourceMappingURL=react.js.map

@@ -20,6 +20,4 @@ import * as React from 'react';

className?: string;
isRtl?: boolean;
disableAutoResizing?: boolean;
}
export declare const SplitviewReact: React.ForwardRefExoticComponent<ISplitviewReactProps & React.RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=splitview.d.ts.map

@@ -30,3 +30,2 @@ import * as React from 'react';

: undefined,
isRtl: props.isRtl,
});

@@ -54,2 +53,1 @@ const { clientWidth, clientHeight } = domRef.current;

SplitviewReact.displayName = 'SplitviewComponent';
//# sourceMappingURL=splitview.js.map

@@ -11,2 +11,1 @@ /// <reference types="react" />

}
//# sourceMappingURL=view.d.ts.map

@@ -18,2 +18,1 @@ import { SplitviewApi, SplitviewPanel, } from 'dockview-core';

}
//# sourceMappingURL=view.js.map
import * as React from 'react';
export declare const CloseButton: () => React.JSX.Element;
export declare const ExpandMore: () => React.JSX.Element;
//# sourceMappingURL=svg.d.ts.map

@@ -8,2 +8,1 @@ import * as React from 'react';

};
//# sourceMappingURL=svg.js.map

@@ -9,2 +9,1 @@ import * as React from 'react';

}
//# sourceMappingURL=types.d.ts.map
export {};
//# sourceMappingURL=types.js.map
{
"name": "dockview",
"version": "0.0.0-experimental-c2d65db-20231228",
"version": "0.0.0-experimental-d2baa13-20240225",
"description": "Zero dependency layout manager supporting tabs, grids and splitviews with ReactJS support",

@@ -46,5 +46,5 @@ "keywords": [

"build:bundles": "rollup -c",
"build:cjs": "cross-env ../../node_modules/.bin/tsc --project ./tsconfig.json --extendedDiagnostics",
"build:cjs": "cross-env ../../node_modules/.bin/tsc --build ./tsconfig.json --verbose --extendedDiagnostics",
"build:css": "gulp sass",
"build:esm": "cross-env ../../node_modules/.bin/tsc --project ./tsconfig.esm.json --extendedDiagnostics",
"build:esm": "cross-env ../../node_modules/.bin/tsc --build ./tsconfig.esm.json --verbose --extendedDiagnostics",
"build:package": "npm run build:cjs && npm run build:esm && npm run build:css",

@@ -58,4 +58,4 @@ "clean": "rimraf dist/ .build/ .rollup.cache/",

"dependencies": {
"dockview-core": "0.0.0-experimental-c2d65db-20231228"
"dockview-core": "0.0.0-experimental-d2baa13-20240225"
}
}

@@ -11,2 +11,3 @@ <div align="center">

[![npm version](https://badge.fury.io/js/dockview.svg)](https://www.npmjs.com/package/dockview)
[![npm](https://img.shields.io/npm/dm/dockview)](https://www.npmjs.com/package/dockview)
[![CI Build](https://github.com/mathuo/dockview/workflows/CI/badge.svg)](https://github.com/mathuo/dockview/actions?query=workflow%3ACI)

@@ -23,12 +24,16 @@ [![Coverage](https://sonarcloud.io/api/project_badges/measure?project=mathuo_dockview&metric=coverage)](https://sonarcloud.io/summary/overall?id=mathuo_dockview)

- Simple splitviews, nested splitviews (i.e. gridviews) supporting full layout managment with
dockable and tabular views
- Extensive API support at the component level and view level
- Themable and customizable
- Serialization / deserialization support
- Tabular docking and Drag and Drop support
- Floating groups, customized header bars and tab
- Documentation and examples
- Serialization / deserialization with full layout management
- Support for split-views, grid-views and 'dockable' views
- Themeable and customizable
- Tab and Group docking / Drag n' Drop
- Popout Windows
- Floating Groups
- Extensive API
- Supports Shadow DOMs
- High test coverage
- Documentation website with live examples
- Transparent builds and Code Analysis
- Security at mind - verifed publishing and builds through GitHub Actions
Want to inspect the latest deployment? Go to https://unpkg.com/browse/dockview@latest/
Want to verify our builds? Go [here](https://www.npmjs.com/package/dockview#Provenance).

@@ -35,0 +40,0 @@ ## Quick start

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc