@danxbot/ui 15.3.0 → 15.4.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/dist/index.js +49 -47
- package/dist/index.js.map +1 -1
- package/dist/types/components/AppShell.d.ts +9 -1
- package/dist/types/components/rbac/Brand.d.ts +8 -0
- package/dist/types/components/rbac/DangerZone.d.ts +8 -0
- package/dist/types/components/rbac/TeamSettingsForm.d.ts +20 -0
- package/dist/types/components/rbac/index.d.ts +3 -0
- package/package.json +1 -1
|
@@ -46,6 +46,14 @@ export type NavSection = {
|
|
|
46
46
|
export interface AppShellProps {
|
|
47
47
|
/** Brand mark, top of the sidebar. */
|
|
48
48
|
brand?: ReactNode;
|
|
49
|
+
/**
|
|
50
|
+
* DX-3412 — an alternate, narrower brand mark shown in place of `brand`
|
|
51
|
+
* when the sidebar is COLLAPSED (`data-collapsed`) — a logo-only mark that
|
|
52
|
+
* fits the 56px collapsed rail (`w-14`), where the full `brand` (typically
|
|
53
|
+
* a logo + team name) would overflow. Omit to render nothing in the
|
|
54
|
+
* collapsed rail's brand row, the pre-DX-3412 behavior.
|
|
55
|
+
*/
|
|
56
|
+
brandCollapsed?: ReactNode;
|
|
49
57
|
sections: NavSection[];
|
|
50
58
|
activeId?: string;
|
|
51
59
|
/** Pinned to the bottom of the sidebar — account, version, help. */
|
|
@@ -153,4 +161,4 @@ export interface AppShellProps {
|
|
|
153
161
|
children: ReactNode;
|
|
154
162
|
className?: string;
|
|
155
163
|
}
|
|
156
|
-
export declare function AppShell({ brand, sections, activeId, sidebarFooter, header, contentLandmark, navLabel, scroll, scrollResetKey, persistId, children, className, }: AppShellProps): import("react").JSX.Element;
|
|
164
|
+
export declare function AppShell({ brand, brandCollapsed, sections, activeId, sidebarFooter, header, contentLandmark, navLabel, scroll, scrollResetKey, persistId, children, className, }: AppShellProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface BrandProps {
|
|
2
|
+
name: string;
|
|
3
|
+
logoUrl?: string | null;
|
|
4
|
+
/** Logo only, no team name — the collapsed-rail / icon-only rendering. */
|
|
5
|
+
compact?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function Brand({ name, logoUrl, compact, className }: BrandProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export interface DangerZoneProps {
|
|
3
|
+
title?: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function DangerZone({ title, description, children, className }: DangerZoneProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface TeamSettingsFormTeam {
|
|
2
|
+
name: string;
|
|
3
|
+
logoUrl?: string | null;
|
|
4
|
+
}
|
|
5
|
+
export interface TeamSettingsFormSaveInput {
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
export interface TeamSettingsFormProps {
|
|
9
|
+
team: TeamSettingsFormTeam;
|
|
10
|
+
onSave: (input: TeamSettingsFormSaveInput) => Promise<void>;
|
|
11
|
+
onUploadLogo: (file: File) => Promise<string>;
|
|
12
|
+
/** Fired the moment a new logo finishes uploading (or is removed) — see
|
|
13
|
+
* the module header for why the logo has no separate Save step. */
|
|
14
|
+
onLogoChange?: (logoUrl: string | null) => void;
|
|
15
|
+
/** The viewer lacks `team.update` — every control renders disabled. */
|
|
16
|
+
readOnly?: boolean;
|
|
17
|
+
saveLabel?: string;
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function TeamSettingsForm({ team, onSave, onUploadLogo, onLogoChange, readOnly, saveLabel, className, }: TeamSettingsFormProps): import("react").JSX.Element;
|