@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolkrabbi/kol-shell",
3
- "version": "0.1.0",
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-component": "^0.38.0",
24
- "@kolkrabbi/kol-icons": "^0.16.0",
25
- "@kolkrabbi/kol-framework": "^0.20.0",
26
- "@kolkrabbi/kol-theme": "^0.41.0"
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",
@@ -143,7 +143,7 @@ const ContentFilters = ({
143
143
  return (
144
144
  <div key={value} onClick={() => toggleFilter(group.key, value)}>
145
145
  <Tag
146
- size="md"
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)}
@@ -7,7 +7,9 @@
7
7
  export default function PageHeader({ title, subtitle }) {
8
8
  return (
9
9
  <>
10
- <h1 className="text-fg-96 kol-heading-sm">{title}</h1>
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
  )