@olwiba/ui 0.2.5 → 0.2.6

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": "@olwiba/ui",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -110,6 +110,15 @@ export interface AppShellProps {
110
110
  sidebarPosition?: 'viewport' | 'contained';
111
111
  /** Which side the sidebar sits on. @default "left" */
112
112
  side?: 'left' | 'right';
113
+ /**
114
+ * Class applied to the content wrapper around `children`, between the
115
+ * header and the page content. Every consuming page otherwise has to
116
+ * remember its own padding — some do, some don't, and the ones that don't
117
+ * end up flush against the sidebar/header chrome. Override to `''` for a
118
+ * genuinely edge-to-edge page (a full-width table, a map/canvas).
119
+ * @default "p-6"
120
+ */
121
+ contentClassName?: string;
113
122
  }
114
123
 
115
124
  // ─── Internal sub-components ──────────────────────────────────────────────────
@@ -377,6 +386,7 @@ export function AppShell({
377
386
  collapsible = 'icon',
378
387
  sidebarPosition = 'viewport',
379
388
  side = 'left',
389
+ contentClassName = 'p-6',
380
390
  children,
381
391
  }: AppShellProps = {}) {
382
392
  const isContained = sidebarPosition === 'contained';
@@ -398,7 +408,7 @@ export function AppShell({
398
408
  />
399
409
  <SidebarInset className={isContained ? undefined : 'overflow-y-auto'}>
400
410
  <ShellHeader pageTitle={pageTitle} headerStart={headerStart} headerEnd={headerEnd} />
401
- {children}
411
+ <div className={contentClassName}>{children}</div>
402
412
  </SidebarInset>
403
413
  </SidebarProvider>
404
414
  );