redux-devtools/packages/react-dock
Nathan Bierema c379a62081
Imprrove ability to tree-shake libraries (#1050)
* Revert "Remove React from page bundle (#1031)"

This reverts commit fdfbc1942e.

* redux-devtools

* d3-state-visualizer

* d3tooltip

* map2tree

* react-base16-styling

* react-dock and react-json-tree

* redux-devtools-app

* redux-devtools-chart-monitor

* redux-devtools-dock-monitor

* redux-devtools-extension

* redux-devtools-inspector-monitor-test-tab

* redux-devtools-inspector-monitor-trace-tab

* redux-devtools-instrument

* redux-devtools-log-monitor and redux-devtools-remote

* redux-devtools-rtk-query-monitor

* redux-devtools-serialize

* redux-devtools-slider-monitor

* redux-devtools-ui

* redux-devtools-utils

* Fix build

* Fix storybook build

Storybook loads the babel.config.json but not .babelrc.json. We actually don't want to load the babel config because it uses @babel/runtime which can't be resolved with Yarn PnP.
2022-01-24 02:11:46 +00:00
..
demo chore(deps): update all non-major dependencies (#1022) 2022-01-22 23:00:06 +00:00
src Add ESM builds (#997) 2022-01-10 15:41:53 +00:00
test Use types in tscnofig to explicitly define global types (#1045) 2022-01-22 21:51:27 +00:00
.eslintignore Imprrove ability to tree-shake libraries (#1050) 2022-01-24 02:11:46 +00:00
.eslintrc.js Use types in tscnofig to explicitly define global types (#1045) 2022-01-22 21:51:27 +00:00
babel.config.esm.json Imprrove ability to tree-shake libraries (#1050) 2022-01-24 02:11:46 +00:00
babel.config.json Imprrove ability to tree-shake libraries (#1050) 2022-01-24 02:11:46 +00:00
CHANGELOG.md chore(*): run prettier 2021-03-06 10:51:16 -05:00
jest.config.js Use types in tscnofig to explicitly define global types (#1045) 2022-01-22 21:51:27 +00:00
LICENSE Add react-dock (#590) 2020-08-15 17:27:22 -04:00
package.json Imprrove ability to tree-shake libraries (#1050) 2022-01-24 02:11:46 +00:00
README.md chore(*): add prettier check to CI (#598) 2020-08-19 10:07:30 -04:00
tsconfig.json Imprrove ability to tree-shake libraries (#1050) 2022-01-24 02:11:46 +00:00
tsconfig.test.json Use types in tscnofig to explicitly define global types (#1045) 2022-01-22 21:51:27 +00:00

react-dock

Resizable dockable react component.

Demo

http://alexkuz.github.io/react-dock/demo/

Install

$ npm i -S react-dock

Example

render() {
  return (
    <Dock position='right' isVisible={this.state.isVisible}>
      {/* you can pass a function as a child here */}
      <div onClick={() => this.setState({ isVisible: !this.state.isVisible })}>X</div>
    </Dock>
  );
}

Dock Props

Prop Name Description
position Side to dock (left, right, top or bottom). Default is left.
fluid If true, resize dock proportionally on window resize.
size Size of dock panel (width or height, depending on position). If this prop is set, Dock is considered as a controlled component, so you need to use onSizeChange to track dock resizing. Value is a fraction of window width/height, if fluid is true, or pixels otherwise
defaultSize Default size of dock panel (used for uncontrolled Dock component)
isVisible If true, dock is visible
dimMode If none - content is not dimmed, if transparent - pointer events are disabled (so you can click through it), if opaque - click on dim area closes the dock. Default is opaque
duration Animation duration. Should be synced with transition animation in style properties
dimStyle Style for dim area
dockStyle Style for dock
zIndex Z-index for wrapper
onVisibleChange Fires when Dock wants to change isVisible (when opaque dim is clicked, in particular)
onSizeChange Fires when Dock wants to change size
children Dock content - react elements or function that returns an element. Function receives an object with these state values: { position, isResizing, size, isVisible }