react-dockable-desktop 3.1.0 → 3.2.0

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.
Files changed (2) hide show
  1. package/README.md +27 -6
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -146,6 +146,10 @@ Call these inside any component within the `DockableDesktopProvider` tree:
146
146
  | `usePanelContext()` | `{ publish, subscribe }` | Inter-panel typed event bus |
147
147
  | `useFormContainer()` | `FormContainerContract` | Dirty state, close guards, dynamic panel title/icon |
148
148
  | `usePanelId()` | `string` | The panel's own instance ID — no prop drilling needed |
149
+ | `useToolbar()` | `ToolbarContextValue` | Read/write Toolbar state (active tool, modifiers) from any panel |
150
+ | `useSidebar()` | `SidebarContextValue` | Open/close Sidebar tabs from any component in the Sidebar tree |
151
+ | `useSidebarTab()` | `SidebarTabContext` | Self-control for content inside a Sidebar tab |
152
+ | `usePanelContextMenu(items)` | `void` | Inject dynamic context menu items into this panel's right-click menu |
149
153
  | `useRegistry()` | `PanelRegistryClass` | The scoped panel registry for the current provider |
150
154
  | `useFormatMessage()` | `MessageFormatter` | i18n formatter matching the current provider's locale |
151
155
 
@@ -281,19 +285,36 @@ workspace.setDirection('rtl');
281
285
  <WindowManager skin="tokyo" />
282
286
  ```
283
287
 
284
- **Built-in skins:** `vscode` · `macos` · `chrome` · `slate` · `nord` · `obsidian` · `tokyo`
288
+ | Skin | Character | Active state (Sidebar & Toolbar) |
289
+ |------|-----------|----------------------------------|
290
+ | `vscode` | VS Code dark (default) | Transparent fill, 2 px accent bar |
291
+ | `macos` | Glass Chip — accent fill, rounded corners | 36 px floating chip, white inner ring |
292
+ | `chrome` | Google Chrome tab geometry | Sidebar: half-pill bridge. Toolbar: 2 px bar |
293
+ | `slate` | Fluent Slate — deep navy | Floating 36 px accent-tinted pill |
294
+ | `nord` | Arctic Frost — muted Nord palette | Short horizontal line below icon |
295
+ | `obsidian` | Vercel Midnight — pure black/white | Deep glow + icon drop-shadow |
296
+ | `tokyo` | Tokyo Night — purple accent | Neon glow + vivid icon drop-shadow |
285
297
 
286
- Create your own skin by overriding CSS custom properties under a `[data-workspace-skin="myskin"]` selector. See the [Theming Guide](https://felipecarrillo100.github.io/react-dockable-desktop/guide/theming) for the full variable reference.
298
+ All built-in skins include dark and light variants. Create your own skin by overriding CSS custom properties under a `[data-workspace-skin="myskin"]` selector. See the [Theming Guide](https://felipecarrillo100.github.io/react-dockable-desktop/guide/theming) for the full variable reference and the [Per-skin active state guide](https://felipecarrillo100.github.io/react-dockable-desktop/guide/theming#per-skin-active-state-design-language) to customise the Sidebar/Toolbar active indicator in your own skin.
287
299
 
288
300
  ---
289
301
 
290
302
  ## What's New
291
303
 
304
+ ### v3.2.0
305
+ - **Per-skin active state design language** — Sidebar tabs and Toolbar buttons now use a per-skin visual pattern (transparent bar, floating chip, pill, line, neon glow), driven by new CSS design tokens — fully overridable in custom skins. CSS-only, no API changes.
306
+ - **Documentation overhaul** — All guides updated to cover the full v3.1.0 API surface.
307
+
292
308
  ### v3.1.0
293
- - **Full touch & iPad/Android support** Pointer Events API migration; long-press (300ms) activates tab drag; all drag/resize surfaces work with finger and Apple Pencil
294
- - **8-direction resize handles** floating windows now have N, NE, E, SE, S, SW, W, NW resize handles
295
- - **Smart resizer hit areas** — horizontal resizer extends only upward into the safe content zone, preventing accidental activation when clicking tabs directly below
296
- - **Cursor bug fix**cursor orientation during active resize drag now matches the visual handle correctly
309
+ - **`<Toolbar>` component** Vertical/horizontal strip hosting `action`, `radio`, `toggle`, `group`, and `separator` items. `useToolbar()` reads/writes state from any panel. `ToolbarGroupItem` adds a collapsed tool-family flyout with controlled mode support.
310
+ - **`<WindowManager taskbarVisibility>`**Three modes: `'always'` (permanent bar, new default), `'compact'` (shows only with minimized panels), `'autohide'` (overlay bar with 8 px peek strip).
311
+ - **Sidebar resizable drawer** — Drag the drawer edge to resize. Props: `defaultWidth` (px), `minWidth`, `maxWidth`, `onWidthChange`. `drawerWidth` (string) deprecated.
312
+ - **Sidebar `visible` / `stripVisible`** `visible` collapses the entire sidebar; `stripVisible` collapses only the activity bar. New handle methods: `showStrip()`, `hideStrip()`, `setWidth(px)`, `getWidth()`.
313
+ - **`useSidebar()` / `useSidebarTab()` hooks** — Programmatic Sidebar control from any component in the tree.
314
+ - **`usePanelContextMenu()` hook** — Inject dynamic right-click context menu items from inside a panel component.
315
+ - **Touch & iPad/Android support** — Pointer Events migration; long-press (300 ms) activates tab drag; taskbar chips support hover preview and long-press context menu on touch.
316
+ - **8-direction resize handles** — Floating windows now have N, NE, E, SE, S, SW, W, NW resize handles.
317
+ - **Skin scope fix** — `data-workspace-skin` now applied to `document.documentElement` so Toolbar and Sidebar always inherit the correct skin.
297
318
 
298
319
  ### v3.0.0
299
320
  - **`DockableDesktopProvider`** — single composite provider replaces the manual `WindowManagerProvider + PanelProvider` nesting
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-dockable-desktop",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "A premium, state-of-the-art window manager and dockable layout engine for React. Supports fluid grid splits, tabbed groups, floating resizable windows, zero-unmount state preservation, context menus, and internationalization.",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",