@danxbot/ui 15.2.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 +111 -99
- 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/InvitationsList.d.ts +13 -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;
|
|
@@ -6,6 +6,19 @@ export interface InvitationsListItem {
|
|
|
6
6
|
status: InvitationStatus;
|
|
7
7
|
createdAt: string;
|
|
8
8
|
invitedByName?: string;
|
|
9
|
+
/**
|
|
10
|
+
* The MOST RECENT send attempt's outcome for this invitation (create or a
|
|
11
|
+
* later resend), when the consumer's read surfaced one. `undefined` means
|
|
12
|
+
* the consumer's data source has no send-history correlation — the list
|
|
13
|
+
* renders no delivery indicator at all in that case (never assumed "sent"
|
|
14
|
+
* from absence). Omit `lastEmailBounced`/`lastEmailComplained` the same
|
|
15
|
+
* way when unknown, rather than defaulting to `false`.
|
|
16
|
+
*/
|
|
17
|
+
lastEmailStatus?: "sent" | "failed" | "suppressed";
|
|
18
|
+
/** A LATER async bounce notification arrived for the most recent send. */
|
|
19
|
+
lastEmailBounced?: boolean;
|
|
20
|
+
/** A LATER async complaint notification arrived for the most recent send. */
|
|
21
|
+
lastEmailComplained?: boolean;
|
|
9
22
|
}
|
|
10
23
|
export interface InvitationsListProps {
|
|
11
24
|
invitations: InvitationsListItem[];
|
|
@@ -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;
|