react-dockable-desktop 5.3.5 → 6.0.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.
package/dist/styles.css CHANGED
@@ -103,6 +103,27 @@
103
103
  --rdd-panel-float-title-color-active: var(--rdd-window-text, #f8f9fa);
104
104
  }
105
105
 
106
+ /* Every element the library renders carries an rdd- prefixed class (see
107
+ CLAUDE.md's prefix convention) — this targets exactly those elements
108
+ directly, never their descendants, so a consumer's own content nested
109
+ inside (tab renderContent, panel/modal body content) is never touched.
110
+ Without this, several rules combining padding with a fixed/percentage
111
+ min-height/max-height/height (e.g. .rdd-side-panel-header,
112
+ .rdd-toolbar-strip) render at a size that depends on whatever box-sizing
113
+ the host page happens to set globally — MUI's CssBaseline and Bootstrap's
114
+ reboot both reset it via a bare `*` selector, but a plain page with no
115
+ such reset leaves the browser default (content-box) in effect, so the
116
+ exact same CSS renders at a visibly different size purely depending on
117
+ which app it's dropped into. Deliberately no !important: this selector's
118
+ specificity (0,1,0) already beats an accidental bare `*` reset (both
119
+ examples above are (0,0,0)) unconditionally, regardless of stylesheet
120
+ load order, while still losing — via source order at the resulting tie —
121
+ to a consumer's own deliberate, equally-specific override of a specific
122
+ rdd- class, which normally loads after this stylesheet. */
123
+ [class*="rdd-"] {
124
+ box-sizing: border-box;
125
+ }
126
+
106
127
  /* Sizing only — margin/overflow/height/width, no cosmetic properties. This is a
107
128
  structural requirement, not a style choice: `.full-viewport-layout` and every
108
129
  percentage-height element the workspace nests inside (including WindowManager's
@@ -636,25 +657,34 @@ body.rdd-resizing-col-active * {
636
657
  }
637
658
 
638
659
  /* Cross-browser scrollbar styling (Firefox standard) — scoped to the library's
639
- own workspace subtree, never the consumer's page. */
640
- .rdd-workspace * {
660
+ own workspace subtree, never the consumer's page. .rdd-sidebar-drawer-body is
661
+ included explicitly alongside it: <Sidebar> mounts as a sibling of
662
+ <WindowManager>, not a descendant of .rdd-workspace, so it needs its own
663
+ entry here to pick up the same treatment — keep both in sync if this block
664
+ ever changes. */
665
+ .rdd-workspace *,
666
+ .rdd-sidebar-drawer-body {
641
667
  scrollbar-width: thin;
642
668
  scrollbar-color: var(--rdd-scrollbar-thumb) var(--rdd-scrollbar-track);
643
669
  }
644
670
 
645
671
  /* WebKit (Chrome, Safari, Edge) scrollbar styling */
646
- .rdd-workspace ::-webkit-scrollbar {
672
+ .rdd-workspace ::-webkit-scrollbar,
673
+ .rdd-sidebar-drawer-body::-webkit-scrollbar {
647
674
  width: 6px;
648
675
  height: 6px;
649
676
  }
650
- .rdd-workspace ::-webkit-scrollbar-track {
677
+ .rdd-workspace ::-webkit-scrollbar-track,
678
+ .rdd-sidebar-drawer-body::-webkit-scrollbar-track {
651
679
  background: var(--rdd-scrollbar-track);
652
680
  }
653
- .rdd-workspace ::-webkit-scrollbar-thumb {
681
+ .rdd-workspace ::-webkit-scrollbar-thumb,
682
+ .rdd-sidebar-drawer-body::-webkit-scrollbar-thumb {
654
683
  background: var(--rdd-scrollbar-thumb);
655
684
  border-radius: 4px;
656
685
  }
657
- .rdd-workspace ::-webkit-scrollbar-thumb:hover {
686
+ .rdd-workspace ::-webkit-scrollbar-thumb:hover,
687
+ .rdd-sidebar-drawer-body::-webkit-scrollbar-thumb:hover {
658
688
  background: var(--rdd-scrollbar-thumb-hover);
659
689
  }
660
690
 
@@ -1857,11 +1887,6 @@ body.rdd-dragging-active {
1857
1887
  height: 100%;
1858
1888
  }
1859
1889
 
1860
- /* Suppress all drawer transitions during pointer-drag resize */
1861
- .rdd-sidebar-resizing .rdd-sidebar-content-drawer {
1862
- transition: none !important;
1863
- }
1864
-
1865
1890
  /* Position-specific drawer border and shadow alignment */
1866
1891
  .rdd-sidebar-content-drawer.rdd-left {
1867
1892
  border-right: 1px solid var(--sidebar-border) !important;
@@ -2177,7 +2202,7 @@ html.rdd-no-animations [class*="rdd-"]::after {
2177
2202
  }
2178
2203
 
2179
2204
  .rdd-modal-body {
2180
- padding: 10px;
2205
+ padding: 0;
2181
2206
  overflow-y: auto;
2182
2207
  max-height: calc(90vh - 70px);
2183
2208
  }
@@ -2295,7 +2320,7 @@ html.rdd-no-animations [class*="rdd-"]::after {
2295
2320
  .rdd-side-panel-body {
2296
2321
  flex-grow: 1;
2297
2322
  overflow-y: auto;
2298
- padding: 10px;
2323
+ padding: 0;
2299
2324
  }
2300
2325
 
2301
2326
  .rdd-side-panel-left.rdd-side-panel-visible {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-dockable-desktop",
3
- "version": "5.3.5",
3
+ "version": "6.0.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",
@@ -34,6 +34,7 @@
34
34
  "dev": "vite demo",
35
35
  "dev:ria": "vite demo-luciadria --host",
36
36
  "dev:oldria": "vite demo-oldria --host",
37
+ "dev:sidebar": "vite demo-sidebar --host",
37
38
  "build": "tsup && node -e \"require('fs').copyFileSync('src/index.css', 'dist/styles.css')\"",
38
39
  "demo:build": "vite build --base /react-dockable-desktop/demo/",
39
40
  "docs:dev": "vitepress dev docs-site",