@kolkrabbi/kol-framework 0.45.0 → 0.46.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/kol-framework.css +1 -1
- package/package.json +3 -3
- package/src/PageLayout.jsx +1 -1
- package/src/ShellHeader.jsx +3 -3
- package/src/SideNav.jsx +1 -1
- package/src/ThemeToggle.jsx +4 -2
package/kol-framework.css
CHANGED
|
@@ -177,7 +177,7 @@ body {
|
|
|
177
177
|
}
|
|
178
178
|
/* A nested route GROUP's header (sidenav-nested-groups, kol-studio
|
|
179
179
|
* 2026-08-26): a non-routing label sitting where a leaf sits, its rows one
|
|
180
|
-
* step further in. Type and
|
|
180
|
+
* step further in. Type and color ride the element as utilities
|
|
181
181
|
* (kol-helper-10; text-subtle, text-emphasis when a leaf beneath it is the
|
|
182
182
|
* route); the box lives here. No text-transform — the retired fork's
|
|
183
183
|
* `uppercase` does not return (type law: only the display voice carries one). */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-framework",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.0",
|
|
4
4
|
"description": "KOL app shell — sidenav, layout, theme toggle, footer, heroes + brand color layer. SideNav takes nav data as props so the tree stays app-local.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"react-router-dom": "^6.0.0 || ^7.0.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
|
-
"@kolkrabbi/kol-
|
|
25
|
-
"@kolkrabbi/kol-
|
|
24
|
+
"@kolkrabbi/kol-icons": "^0.29.1",
|
|
25
|
+
"@kolkrabbi/kol-component": "^0.230.0"
|
|
26
26
|
},
|
|
27
27
|
"files": [
|
|
28
28
|
"src",
|
package/src/PageLayout.jsx
CHANGED
|
@@ -55,7 +55,7 @@ export const ShellTocCollapsedContext = createContext(null)
|
|
|
55
55
|
* @param {ReactNode} footer below the outlet on the plane
|
|
56
56
|
* @param {ReactNode} defaultTocContent the TOC rail's content when no page registers one
|
|
57
57
|
* @param {object} sideNav every SideNav prop this layout does not own, spread onto the rail
|
|
58
|
-
* @param {string} pageWash the plane's wash, a CSS
|
|
58
|
+
* @param {string} pageWash the plane's wash, a CSS color (e.g. `'var(--kol-fg-02)'`)
|
|
59
59
|
* @param {boolean} bare plane + outlet only (default false)
|
|
60
60
|
*/
|
|
61
61
|
export default function PageLayout({ navTree = [], header, footer, defaultTocContent, sideNav, pageWash, bare = false }) {
|
package/src/ShellHeader.jsx
CHANGED
|
@@ -136,7 +136,7 @@ export default function ShellHeader({
|
|
|
136
136
|
</>
|
|
137
137
|
)}
|
|
138
138
|
{onMenuClick && (
|
|
139
|
-
<Tooltip label="
|
|
139
|
+
<Tooltip label="Menu">
|
|
140
140
|
{/* IconFrame, not Button (user ruling 2026-08-01). Header
|
|
141
141
|
* chrome takes a click but must not light up; the frame has
|
|
142
142
|
* no state rules at all, which is the property Button can
|
|
@@ -193,7 +193,7 @@ export default function ShellHeader({
|
|
|
193
193
|
{(onNavToggle || onTocToggle) && (
|
|
194
194
|
<div className="hidden lg:flex items-center gap-1 pb-2">
|
|
195
195
|
{onNavToggle && (
|
|
196
|
-
<Tooltip label="
|
|
196
|
+
<Tooltip label="Navigation">
|
|
197
197
|
{/* The collapsed tint is a VARIANT SWAP, not a state:
|
|
198
198
|
* `ghost` rests at oq-48, `nav` at oq-64, and both are
|
|
199
199
|
* static classes with no rules to fire. That is the only
|
|
@@ -211,7 +211,7 @@ export default function ShellHeader({
|
|
|
211
211
|
</Tooltip>
|
|
212
212
|
)}
|
|
213
213
|
{onTocToggle && (
|
|
214
|
-
<Tooltip label="
|
|
214
|
+
<Tooltip label="Contents">
|
|
215
215
|
<IconFrame
|
|
216
216
|
name="panel-right"
|
|
217
217
|
variant={tocCollapsed ? 'ghost' : 'nav'}
|
package/src/SideNav.jsx
CHANGED
|
@@ -398,7 +398,7 @@ function SideNavInner({
|
|
|
398
398
|
* the aside's position/height/stack live in .kol-sidenav
|
|
399
399
|
* (kol-framework.css). `sticky … h-dvh z-20` here outranked the 767px
|
|
400
400
|
* drawer rule's `position: fixed`, so every consumer page opened one
|
|
401
|
-
* viewport down on phones. Only
|
|
401
|
+
* viewport down on phones. Only color utilities ride the element. */
|
|
402
402
|
className={`kol-sidenav${background ? ' bg-surface-primary' : ''}${hairline ? ' border-r border-fg-08' : ''}${collapsed ? ' is-collapsed' : ''}${drawerOpen ? ' is-drawer-open' : ''}`}
|
|
403
403
|
>
|
|
404
404
|
{/* NO chip Button in either state (user build order 2026-08-09 — "MAKE
|
package/src/ThemeToggle.jsx
CHANGED
|
@@ -155,9 +155,11 @@ export default function ThemeToggle({
|
|
|
155
155
|
const shared = {
|
|
156
156
|
type: 'button',
|
|
157
157
|
onClick,
|
|
158
|
-
'aria-label': `Switch to ${next} mode`,
|
|
158
|
+
'aria-label': `Switch to ${next} mode${resetHint}`,
|
|
159
159
|
}
|
|
160
|
-
|
|
160
|
+
/* ONE WORD (2026-09-30, open questions Round 1 Q4 — ruled many times); the alt-click hint
|
|
161
|
+
* stays in the aria-label and the S sheet, not the tooltip */
|
|
162
|
+
const tip = 'Theme'
|
|
161
163
|
const wrap = (node) => (tooltip ? <Tooltip label={tip}>{node}</Tooltip> : node)
|
|
162
164
|
|
|
163
165
|
/* ── DEPRECATED aliases — old chrome verbatim (0.6.x) ── */
|