@kolkrabbi/kol-shell 0.27.0 → 0.28.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/package.json +3 -3
  2. package/src/AppShell.jsx +14 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-shell",
3
- "version": "0.27.0",
3
+ "version": "0.28.0",
4
4
  "private": false,
5
5
  "description": "KOL application shell — fixed 48px NavRail + AppShell layout root, PageShell/PageHeader scaffolds, ContentFilters catalog organism, GridCard, SettingsScaffold, WalkthroughPanel, ShortcutsOverlay. App chrome (kol-framework owns site chrome). Nav items, content, shortcuts and settings are consumer-injected. Sits above @kolkrabbi/kol-{theme,component,framework}.",
6
6
  "license": "MIT",
@@ -20,10 +20,10 @@
20
20
  "react-dom": "^18.3.0 || ^19.0.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@kolkrabbi/kol-component": "^0.136.0",
24
23
  "@kolkrabbi/kol-icons": "^0.25.0",
24
+ "@kolkrabbi/kol-component": "^0.137.0",
25
25
  "@kolkrabbi/kol-framework": "^0.35.0",
26
- "@kolkrabbi/kol-theme": "^0.106.0"
26
+ "@kolkrabbi/kol-theme": "^0.108.0"
27
27
  },
28
28
  "files": [
29
29
  "src",
package/src/AppShell.jsx CHANGED
@@ -155,6 +155,20 @@ export default function AppShell({
155
155
 
156
156
  /* the rail comes back on every route change */
157
157
  useEffect(() => { setNavHidden(false) }, [currentPath])
158
+
159
+ /* THE WASH ALSO GOES ON THE ROOT (2026-08-30). It is set on the content
160
+ * wrapper below, which every page inherits — but a PORTALLED surface does
161
+ * not: `.kol-dd-panel` renders at document.body, so it read the fallback
162
+ * `transparent` while its own trigger, inside the shell, took the wash. The
163
+ * two halves of one connected control rendered at different values, which is
164
+ * exactly what the user saw. Anything floating over the page is still ON the
165
+ * page as far as this film is concerned. */
166
+ useEffect(() => {
167
+ const root = document.documentElement
168
+ if (pageWash == null) { root.style.removeProperty('--kol-shell-page-wash'); return undefined }
169
+ root.style.setProperty('--kol-shell-page-wash', pageWash)
170
+ return () => root.style.removeProperty('--kol-shell-page-wash')
171
+ }, [pageWash])
158
172
  /* one key toggles the rail — never while typing in a field */
159
173
  useEffect(() => {
160
174
  if (!railToggleKey) return undefined