@kolkrabbi/kol-shell 0.1.0 → 0.1.1
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 +5 -5
- package/src/ContentFilters.jsx +14 -13
- package/src/PageHeader.jsx +3 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kolkrabbi/kol-shell",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
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-
|
|
24
|
-
"@kolkrabbi/kol-icons": "^0.
|
|
25
|
-
"@kolkrabbi/kol-
|
|
26
|
-
"@kolkrabbi/kol-
|
|
23
|
+
"@kolkrabbi/kol-framework": "^0.20.1",
|
|
24
|
+
"@kolkrabbi/kol-icons": "^0.17.0",
|
|
25
|
+
"@kolkrabbi/kol-theme": "^0.42.2",
|
|
26
|
+
"@kolkrabbi/kol-component": "^0.43.0"
|
|
27
27
|
},
|
|
28
28
|
"files": [
|
|
29
29
|
"src",
|
package/src/ContentFilters.jsx
CHANGED
|
@@ -143,7 +143,7 @@ const ContentFilters = ({
|
|
|
143
143
|
return (
|
|
144
144
|
<div key={value} onClick={() => toggleFilter(group.key, value)}>
|
|
145
145
|
<Tag
|
|
146
|
-
size="
|
|
146
|
+
size="sm"
|
|
147
147
|
variant="default"
|
|
148
148
|
className={isActive ? 'border-fg-32' : 'border-fg-08'}
|
|
149
149
|
>
|
|
@@ -231,6 +231,19 @@ const ContentFilters = ({
|
|
|
231
231
|
{viewModeOptions && (
|
|
232
232
|
<TabStrip options={viewModeOptions} value={viewMode} onChange={handleViewModeChange} tracked />
|
|
233
233
|
)}
|
|
234
|
+
{/* Layout toggle sits at the divider level, right-aligned — below the
|
|
235
|
+
groups it got pushed down the page whenever they expanded
|
|
236
|
+
(ShellHeaderFilterRefinements, 2026-08-15) */}
|
|
237
|
+
{layoutOptions && (
|
|
238
|
+
<TabStrip
|
|
239
|
+
options={layoutOptions}
|
|
240
|
+
value={layout}
|
|
241
|
+
onChange={setLayout}
|
|
242
|
+
size={12}
|
|
243
|
+
tracked
|
|
244
|
+
className="gap-4"
|
|
245
|
+
/>
|
|
246
|
+
)}
|
|
234
247
|
</div>
|
|
235
248
|
</div>
|
|
236
249
|
|
|
@@ -251,18 +264,6 @@ const ContentFilters = ({
|
|
|
251
264
|
</div>
|
|
252
265
|
)}
|
|
253
266
|
|
|
254
|
-
{/* Layout toggle */}
|
|
255
|
-
{layoutOptions && (
|
|
256
|
-
<TabStrip
|
|
257
|
-
options={layoutOptions}
|
|
258
|
-
value={layout}
|
|
259
|
-
onChange={setLayout}
|
|
260
|
-
size={12}
|
|
261
|
-
tracked
|
|
262
|
-
className="justify-end gap-4 mt-4"
|
|
263
|
-
/>
|
|
264
|
-
)}
|
|
265
|
-
|
|
266
267
|
{/* Render filtered items */}
|
|
267
268
|
<div className="mt-8" style={{ display: 'flex', flexDirection: 'column', flex: 1 }}>
|
|
268
269
|
{renderItem(filteredItems, viewMode, layout)}
|
package/src/PageHeader.jsx
CHANGED
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
export default function PageHeader({ title, subtitle }) {
|
|
8
8
|
return (
|
|
9
9
|
<>
|
|
10
|
-
|
|
10
|
+
{/* gap inline, never in kol-heading-sm — margin in a shared type class
|
|
11
|
+
leaks estate-wide (ShellHeaderFilterRefinements, 2026-08-15) */}
|
|
12
|
+
<h1 className="text-fg-96 kol-heading-sm" style={{ marginBottom: 8 }}>{title}</h1>
|
|
11
13
|
<p className="text-fg-48 kol-mono-14" style={{ marginBottom: 40 }}>{subtitle}</p>
|
|
12
14
|
</>
|
|
13
15
|
)
|