@kolkrabbi/kol-shell 0.44.0 → 0.45.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-shell",
3
- "version": "0.44.0",
3
+ "version": "0.45.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,9 +20,9 @@
20
20
  "react-dom": "^18.3.0 || ^19.0.0"
21
21
  },
22
22
  "devDependencies": {
23
- "@kolkrabbi/kol-component": "^0.176.0",
24
- "@kolkrabbi/kol-framework": "^0.41.0",
25
23
  "@kolkrabbi/kol-icons": "^0.25.0",
24
+ "@kolkrabbi/kol-framework": "^0.41.0",
25
+ "@kolkrabbi/kol-component": "^0.176.0",
26
26
  "@kolkrabbi/kol-theme": "^0.136.0"
27
27
  },
28
28
  "files": [
@@ -50,6 +50,7 @@ import WalkthroughPanel from './WalkthroughPanel.jsx'
50
50
  * framework container — the site tier, so a brand book adopting this page keeps its geometry
51
51
  * @param {ReactNode} trailingActions the header's RIGHT slot (ContentFilters' — MediaLibrary's SELECT / FLAT); never empty beside the divider
52
52
  * @param {number} minColumn the grid track's floor in px (default 160); a shelf of three decks passes 280 — the six-track ceiling still applies
53
+ * @param {'catalog'|'file'} rowVariant the list row (default `catalog`, the 36px no-thumb row); `file` = the 48px thumb row, for a catalog whose grid shows a cover
53
54
  * @param {ElementType} iconComponent icon renderer seam for ContentFilters
54
55
  * @param {boolean} showCountOnlyWhenFiltering (default true)
55
56
  * @param {Object} filtersProps spread onto ContentFilters last — e.g. `{ mutuallyExclusiveFilters: ['category', 'u_label'] }`
@@ -96,6 +97,12 @@ export default function CatalogPage({
96
97
  /* the grid track's floor. 160 is a 26-tile catalog's; a shelf of three decks
97
98
  wants ~280 so the cards read at all. A ceiling of 6 tracks still applies. */
98
99
  minColumn = 160,
100
+ /* the LIST row's variant. `catalog` (default) is the 36px GridCard row — title
101
+ and detail on one line, no thumb — which is what every app-tier list was
102
+ ruled on (CatalogPageMonitorParity). A catalog whose grid shows a cover
103
+ passes `file`: the 48px thumb row, so the list shows the same cover small
104
+ (kol-client-olina 2026-09-03; user, on the bare row: "ugly ugly ugly"). */
105
+ rowVariant = 'catalog',
99
106
  iconComponent,
100
107
  showCountOnlyWhenFiltering = true,
101
108
  filtersProps,
@@ -147,7 +154,7 @@ export default function CatalogPage({
147
154
  const c = cards[i]
148
155
  const key = c.key ?? item.key ?? item.id ?? item.name ?? i
149
156
  return layout === 'list'
150
- ? <ContentRow key={key} variant="catalog" media={c.media} ratio={c.ratio} title={c.title} detail={c.detail} actions={c.actions} onClick={c.onClick} href={c.href} onNavigate={c.onNavigate} />
157
+ ? <ContentRow key={key} variant={rowVariant} media={c.media} ratio={c.ratio} title={c.title} detail={c.detail} actions={c.actions} onClick={c.onClick} href={c.href} onNavigate={c.onNavigate} />
151
158
  : <ContentCard key={key} variant="catalog" fit={c.fit ?? 'cover'} ratio={c.ratio} title={c.title} detail={c.detail} media={c.media} actions={c.actions} onClick={c.onClick} href={c.href} onNavigate={c.onNavigate} expanded={c.expanded} expandedContent={c.expandedContent} />
152
159
  })}
153
160
  </div>