@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 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 colour ride the element as utilities
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.45.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-component": "^0.228.0",
25
- "@kolkrabbi/kol-icons": "^0.29.0"
24
+ "@kolkrabbi/kol-icons": "^0.29.1",
25
+ "@kolkrabbi/kol-component": "^0.230.0"
26
26
  },
27
27
  "files": [
28
28
  "src",
@@ -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 colour (e.g. `'var(--kol-fg-02)'`)
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 }) {
@@ -136,7 +136,7 @@ export default function ShellHeader({
136
136
  </>
137
137
  )}
138
138
  {onMenuClick && (
139
- <Tooltip label="Open navigation menu">
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="Toggle navigation sidebar">
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="Toggle table of contents sidebar">
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 colour utilities ride the element. */
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
@@ -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
- const tip = `Switch to ${next} mode${resetHint}`
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) ── */