@danxbot/ui 15.32.5 → 15.33.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.
@@ -0,0 +1,14 @@
1
+ export interface CopyValueProps {
2
+ /** What is shown, in a monospace readout. */
3
+ value: string;
4
+ /** What lands on the clipboard. Defaults to `value`. */
5
+ copyValue?: string;
6
+ /** Names the copy action for assistive tech and the tooltip, e.g. "sign-up link" → "Copy sign-up link". Required: an icon-only control has no other name. */
7
+ label: string;
8
+ /** Fires after a successful copy, with the text that was copied. */
9
+ onCopied?: (copied: string) => void;
10
+ /** Fires when the browser refused the clipboard, with the underlying error. */
11
+ onCopyError?: (error: unknown) => void;
12
+ className?: string;
13
+ }
14
+ export declare function CopyValue({ value, copyValue, label, onCopied, onCopyError, className }: CopyValueProps): import("react").JSX.Element;
@@ -355,7 +355,7 @@ interface ProgressRingBase extends VariantProps<typeof ring> {
355
355
  */
356
356
  showValue?: boolean;
357
357
  /**
358
- * DX-4062 � opt-in done state: at 100% or more the centre shows a green check
358
+ * DX-4062 — opt-in done state: at 100% or more the centre shows a green check
359
359
  * (the library's `check` icon) instead of "100%". Below 100% nothing changes.
360
360
  * Off by default so no existing ring changes; it takes the place of the
361
361
  * number, so it has no effect with `showValue={false}`.
@@ -94,14 +94,14 @@ export interface DataTableProps<TData> {
94
94
  getRowClassName?: (row: TData, index: number) => string | undefined;
95
95
  onRowClick?: (row: TData) => void;
96
96
  /**
97
- * DX-4062 � opt-in column span. Called for every body cell with its row and
97
+ * DX-4062 — opt-in column span. Called for every body cell with its row and
98
98
  * column id; return how many columns the cell covers (including its own) and
99
99
  * the table renders it with that `colSpan` and drops the cells it covers.
100
100
  * Return `undefined` or `1` for an ordinary cell. A span past the last column
101
101
  * is clamped to it.
102
102
  *
103
- * For a row that says one thing across several columns � "None yet" under
104
- * both Person and Agent � which a per-column cell cannot express. Header
103
+ * For a row that says one thing across several columns — "None yet" under
104
+ * both Person and Agent — which a per-column cell cannot express. Header
105
105
  * cells are not affected. Off by default: no existing table changes.
106
106
  */
107
107
  getCellSpan?: (row: TData, columnId: string) => number | undefined;
@@ -111,7 +111,7 @@ export interface DataTableProps<TData> {
111
111
  getRowId?: (row: TData, index: number) => string;
112
112
  }
113
113
  /**
114
- * DX-4062 � the cells a row actually renders once spans are applied: a cell
114
+ * DX-4062 — the cells a row actually renders once spans are applied: a cell
115
115
  * with span N is kept (carrying N) and the N-1 cells after it are dropped.
116
116
  * Exported for its test only; not part of the public surface.
117
117
  */
@@ -1,4 +1,16 @@
1
+ import type { ReactNode } from "react";
2
+ /** DX-4067 — one titled block inside the menu, drawn exactly like the built-in "Your access" block so a consumer's extra section cannot look foreign. */
3
+ export declare function AccountMenuSection({ title, children }: {
4
+ title: string;
5
+ children: ReactNode;
6
+ }): import("react").JSX.Element;
1
7
  export interface AccountMenuProps {
8
+ /** DX-4067 — a mark beside the person's name in the header (a "Beta" badge). Presentational: the menu only places it. */
9
+ nameBadge?: ReactNode;
10
+ /** DX-4067 — extra blocks, drawn after "Your access". Wrap each in `AccountMenuSection`. */
11
+ sections?: ReactNode;
12
+ /** DX-4067 — a muted line at the very bottom (the running version). Omitted → no footer. */
13
+ footer?: ReactNode;
2
14
  onNavigateProfile?: () => void;
3
15
  onNavigateRoles?: () => void;
4
16
  /** Where the role line leads — the page listing every granted permission. Omitted → the line is plain text. */
@@ -7,4 +19,4 @@ export interface AccountMenuProps {
7
19
  onSignOut?: () => void;
8
20
  className?: string;
9
21
  }
10
- export declare function AccountMenu({ onNavigateProfile, onNavigateRoles, onNavigateAccess, onSwitchTeam, onSignOut, className, }: AccountMenuProps): import("react").JSX.Element;
22
+ export declare function AccountMenu({ nameBadge, sections, footer, onNavigateProfile, onNavigateRoles, onNavigateAccess, onSwitchTeam, onSignOut, className, }: AccountMenuProps): import("react").JSX.Element;
@@ -123,6 +123,7 @@ export { ContextMeter, ChatStatus, type ContextMeterProps, type ContextSegment,
123
123
  export { cn } from "./lib/cn";
124
124
  export { formatBytes, formatTokens, formatCompactNumber } from "./lib/format";
125
125
  export { copyText } from "./lib/clipboard";
126
+ export { CopyValue, type CopyValueProps } from "./components/CopyValue";
126
127
  export { formatDate, parseDate, formatDateTime, parseDateTime, type FormatDateTimeOptions, type ParseDateTimeOptions, formatCurrency, parseCurrency, formatNumber, parseNumber, type FormatNumberOptions, formatBoolean, parseBoolean, type FormatBooleanOptions, } from "./lib/values";
127
128
  export { COMPONENT_GUIDANCE, type ComponentGuidanceRule } from "./lib/component-guidance";
128
129
  export { useFillHeight } from "./lib/use-fill-height";
@@ -140,7 +141,7 @@ export { cellLabel, eventLabel, formatDateRange, longDate, monthTitle, timeOfDay
140
141
  export { initialFocusDay, isInMonth, nextDayForKey, useGridNavigation, type GridNavigation, type GridNavigationOptions, } from "./components/calendar/use-grid-navigation";
141
142
  export { AmbiguousTimeError, addDays, addDuration, addMonths, atMidnight, atTime, comparePlainDate, dayFraction, dayLengthMs, dayOfWeek, daysBetween, daysInMonth, endOfMonth, hoursInDay, instantAtFraction, instantToPlainDate, instantToPlainDateTime, isSameDate, isoDateString, isoDateTimeString, monthGridDays, nextDay, offsetAt, parsePlainDate, plainDateTimeToInstant, relativeAge, startOfDay, startOfMonth, startOfWeek, weekDays, type CalendarDuration, type Disambiguation, type Instant, type PlainDate, type PlainDateTime, type TimeZone, } from "./lib/time";
142
143
  export { allDayBandSegment, dayKey, daySlots, isAllDay, packBand, packLanes, snapFractionToInstant, timeSegments, timedBandSegment, type AllDayEvent, type BandInput, type BandOptions, type BandPlacement, type BandResult, type BandSegment, type CalendarEvent, type CalendarEventId, type CalendarView, type DaySlot, type DragKind, type EventDraft, type EventPalette, type LaneInput, type LaneOptions, type LanePlacement, type PaletteEntry, type TimeSegment, type TimedEvent, type VisibleRange, } from "./lib/calendar";
143
- export { RBACProvider, useRBAC, Can, useHasPermission, AccountMenu, TeamSwitcher, DevToolsPopover, RolePermissionMatrix, RoleEditorDialog, ProfileForm, ProfilePage, RolesPermissionsPage, MembersPanel, ChangePasswordForm, SessionsList, ApiTokensPanel, InvitationsList, InviteMembersDialog, Brand, TeamSettingsForm, DangerZone, type RBACProviderProps, type RBACHookResult, type CanProps, type AccountMenuProps, type TeamSwitcherProps, type DevToolsPopoverProps, type RolePermissionMatrixProps, type RoleEditorDialogProps, type RoleEditorDialogSubmitInput, type ProfileFormProps, type ProfileFormAccount, type ProfileFormSaveInput, type ProfilePageProps, type RolesPermissionsPageProps, type MembersPanelProps, type MembersPanelMember, type ChangePasswordFormProps, type SessionsListProps, type Session, type ApiTokensPanelProps, type ApiToken, type InvitationsListProps, type InvitationsListItem, type InvitationStatus, type InviteMembersDialogProps, type Permission, type Role, type User, type Team, type TeamMembership, type BrandProps, type TeamSettingsFormProps, type TeamSettingsFormTeam, type TeamSettingsFormSaveInput, type DangerZoneProps, } from "./components/rbac";
144
+ export { RBACProvider, useRBAC, Can, useHasPermission, AccountMenu, AccountMenuSection, TeamSwitcher, DevToolsPopover, RolePermissionMatrix, RoleEditorDialog, ProfileForm, ProfilePage, RolesPermissionsPage, MembersPanel, ChangePasswordForm, SessionsList, ApiTokensPanel, InvitationsList, InviteMembersDialog, Brand, TeamSettingsForm, DangerZone, type RBACProviderProps, type RBACHookResult, type CanProps, type AccountMenuProps, type TeamSwitcherProps, type DevToolsPopoverProps, type RolePermissionMatrixProps, type RoleEditorDialogProps, type RoleEditorDialogSubmitInput, type ProfileFormProps, type ProfileFormAccount, type ProfileFormSaveInput, type ProfilePageProps, type RolesPermissionsPageProps, type MembersPanelProps, type MembersPanelMember, type ChangePasswordFormProps, type SessionsListProps, type Session, type ApiTokensPanelProps, type ApiToken, type InvitationsListProps, type InvitationsListItem, type InvitationStatus, type InviteMembersDialogProps, type Permission, type Role, type User, type Team, type TeamMembership, type BrandProps, type TeamSettingsFormProps, type TeamSettingsFormTeam, type TeamSettingsFormSaveInput, type DangerZoneProps, } from "./components/rbac";
144
145
  export { AuthLayout, AcceptInvitationCard, SignupCard, TermsAcceptance, LoginForm, ForgotPasswordForm, ResetPasswordForm, type AuthLayoutProps, type AcceptInvitationCardProps, type SignupCardProps, type TermsAcceptanceProps, type LoginFormProps, type ForgotPasswordFormProps, type ResetPasswordFormProps, } from "./components/auth";
145
146
  export { UseCaseCard, RoadmapItemCard, RoadmapSwimlaneBoard, UseCaseLedgerPage, RoadmapPage, PhaseManager, TrackManager, deriveRoadmapItemStatus, isFullyBuilt, isUnbuilt, trackIds, trackProgress, toneForIndex, CATEGORY_TONES, type Domain, type Phase, type Track, type RoadmapItem, type RoadmapItemStatus, type UseCase, type UseCaseStatus, type UseCaseDecision, type UseCaseCardProps, type RoadmapItemCardProps, type RoadmapSwimlaneBoardProps, type UseCaseLedgerPageProps, type RoadmapPageProps, type PhaseManagerProps, type TrackManagerProps, } from "./components/roadmap";
146
147
  export { ProvenanceDisclosure, ProvenanceDetail, ProvenanceBadge, ConfidenceReadout, ConfidenceMeter, ConfidenceBar, provenanceStateLabel, confidenceBand, confidenceScore, scoredConfidence, ratedConfidence, type ProvenanceRecord, type ProvenanceState, type ProvenanceSource, type ProvenanceCheck, type ProvenanceCall, type ProvenanceSignoff, type ConfidenceBand, type ConfidenceScore, type ProvenanceConfidence, type ConfidenceReadoutProps, type ConfidenceBarProps, type ConfidenceBarSize, type ProvenanceDisclosureProps, type ProvenanceDetailProps, type ProvenanceDetailTitleAs, type ProvenanceTriggerBadge, type ProvenanceBadgeProps, type ProvenanceBadgeAppearance, type ConfidenceMeterProps, } from "./components/provenance";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danxbot/ui",
3
- "version": "15.32.5",
3
+ "version": "15.33.0",
4
4
  "type": "module",
5
5
  "description": "Danxbot — a domain-agnostic React design system with motion as a first-class primitive.",
6
6
  "license": "MIT",