├── .gitignore
├── .travis.yml
├── CHANGELOG.md
├── LICENSE
├── README.md
├── appveyor.yml
├── package.json
├── rollup.config.js
├── src
├── Divider.html
├── Pane.html
├── Subdivide.html
├── constants.js
├── elements.js
└── utils.js
└── test
├── public
└── index.html
├── runner.js
└── src
└── index.js
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | yarn.lock
4 | yarn-error.log
5 | package-lock.json
6 | index.mjs
7 | index.js
8 | test/public/bundle.js
9 | !test/src/index.js
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - "stable"
4 |
5 | env:
6 | global:
7 | - BUILD_TIMEOUT=10000
8 |
9 | before_install:
10 | - sudo apt-get update
11 | - sudo apt-get install -y xsel
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # svelte-subdivide changelog
2 |
3 | ## 2.2.0
4 |
5 | * Fire `open`, `close` and `layout` events ([#20](https://github.com/sveltejs/svelte-subdivide/issues/20))
6 | * Indicate when pane will be closed via custom cursor
7 |
8 | ## 2.1.0
9 |
10 | * Expose `layout` property for implementing save and restore ([#17](https://github.com/sveltejs/svelte-subdivide/pull/17))
11 | * Use unique IDs, rather than sequential ones ([#19](https://github.com/sveltejs/svelte-subdivide/pull/19))
12 |
13 | ## 2.0.0
14 |
15 | * Replace `spacing` parameter with `thickness` and `padding`
16 | * Add visual indicators for dragging and splitting
17 | * Prevent text selection during dragging
18 | * Use ctrl key in non-Mac environments
19 | * Fix broken relationships when dragging twice from left/top edge of a pane
20 |
21 | ## 1.0.0
22 |
23 | * First release
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2018 Rich Harris
2 |
3 | Permission is hereby granted by the authors of this software, to any person, to use the software for any purpose, free of charge, including the rights to run, read, copy, change, distribute and sell it, and including usage rights to any patents the authors may hold on it, subject to the following conditions:
4 |
5 | This license, or a link to its text, must be included with all copies of the software and any derivative works.
6 |
7 | Any modification to the software submitted to the authors may be incorporated into the software under the terms of this license.
8 |
9 | The software is provided "as is", without warranty of any kind, including but not limited to the warranties of title, fitness, merchantability and non-infringement. The authors have no obligation to provide support or updates for the software, and may not be held liable for any damages, claims or other liability arising from its use.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # svelte-subdivide ([demo](https://svelte.technology/repl?version=2.6.3&gist=972edea66f74521601771be19e192c72))
2 |
3 | A component for building Blender-style layouts in Svelte apps.
4 |
5 | 
6 |
7 |
8 | ## Installation
9 |
10 | ```bash
11 | yarn add @sveltejs/svelte-subdivide
12 | ```
13 |
14 |
15 | ## Usage
16 |
17 | ```html
18 |
19 |
20 |
34 | ```
35 |
36 | The component constructor you supply to `` will be instantiated for each cell of your layout. Typically, it would be a component that allows the user to select from a variety of different panes.
37 |
38 | ```html
39 |
40 |