Skip to content

Commit 2dffa28

Browse files
rbbydotdevclaude
andcommitted
Initial commit: better-resizable-panels
Pixel-accurate resizable panels for React, distributed as a shadcn registry component. Zero runtime dependencies beyond React and Tailwind. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
0 parents  commit 2dffa28

23 files changed

Lines changed: 2773 additions & 0 deletions

.github/workflows/pages.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: [master]
6+
7+
permissions:
8+
contents: read
9+
pages: write
10+
id-token: write
11+
12+
concurrency:
13+
group: pages
14+
cancel-in-progress: true
15+
16+
jobs:
17+
deploy:
18+
runs-on: ubuntu-latest
19+
environment:
20+
name: github-pages
21+
url: ${{ steps.deployment.outputs.page_url }}
22+
steps:
23+
- uses: actions/checkout@v4
24+
- uses: actions/configure-pages@v5
25+
- uses: actions/upload-pages-artifact@v3
26+
with:
27+
path: .
28+
- id: deployment
29+
uses: actions/deploy-pages@v4

CONTRIBUTING.md

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Contributing
2+
3+
Contributions are welcome. This project is intentionally small (two source files), so most contributions will be bug fixes or small improvements.
4+
5+
## Development Setup
6+
7+
```bash
8+
git clone https://github.com/rbbydotdev/better-resizable-panels.git
9+
cd better-resizable-panels
10+
bun install
11+
```
12+
13+
## Project Structure
14+
15+
```
16+
better-resizable-panels/
17+
index.html # Demo site (GitHub Pages)
18+
registry/better-resizable-panels/
19+
resizable-panels.tsx # Main component + useResizable hook
20+
use-local-storage.ts # localStorage sync hook
21+
registry.json # shadcn registry definition
22+
r/ # Built registry output
23+
```
24+
25+
## Making Changes
26+
27+
1. Fork the repository
28+
2. Create a branch: `git checkout -b fix/description`
29+
3. Edit files in `registry/better-resizable-panels/`
30+
4. Test by installing into a local shadcn project:
31+
```bash
32+
npx shadcn@latest add ./r/resizable-panels.json
33+
```
34+
5. Rebuild the registry: `bun run build:registry`
35+
6. Open a pull request
36+
37+
## Code Style
38+
39+
- TypeScript with strict mode
40+
- Tailwind CSS for styling
41+
- No runtime dependencies beyond React and Tailwind
42+
- Keep the component in a single file
43+
44+
## Reporting Issues
45+
46+
Open an issue with:
47+
- What happened vs. what was expected
48+
- Browser and React version
49+
- Minimal reproduction if possible

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 rbbydotdev
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)