@godxjp/ui 18.1.0 → 18.2.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.
Files changed (98) hide show
  1. package/dist/app/app-provider.d.ts +2 -1
  2. package/dist/components/charts/area-chart.d.ts +1 -1
  3. package/dist/components/charts/bar-chart.d.ts +1 -1
  4. package/dist/components/charts/chart-cartesian.d.ts +1 -1
  5. package/dist/components/charts/chart-frame.d.ts +1 -1
  6. package/dist/components/charts/line-chart.d.ts +1 -1
  7. package/dist/components/charts/pie-chart.d.ts +1 -1
  8. package/dist/components/data-display/badge.d.ts +1 -1
  9. package/dist/components/data-display/card.d.ts +1 -1
  10. package/dist/components/data-display/credential-reveal.d.ts +2 -0
  11. package/dist/components/data-display/credential-reveal.js +5 -0
  12. package/dist/components/data-display/data-table.d.ts +10 -10
  13. package/dist/components/data-display/descriptions.d.ts +2 -2
  14. package/dist/components/data-display/empty-state.d.ts +1 -1
  15. package/dist/components/data-display/index.d.ts +2 -0
  16. package/dist/components/data-display/index.js +2 -0
  17. package/dist/components/data-display/popover.d.ts +6 -6
  18. package/dist/components/data-display/progress.d.ts +2 -1
  19. package/dist/components/data-display/timeline.d.ts +1 -1
  20. package/dist/components/data-display/tree-list.d.ts +1 -1
  21. package/dist/components/data-entry/calendar.d.ts +1 -1
  22. package/dist/components/data-entry/cascader.d.ts +2 -1
  23. package/dist/components/data-entry/checkbox-group.d.ts +2 -1
  24. package/dist/components/data-entry/color-picker.d.ts +2 -1
  25. package/dist/components/data-entry/date-picker.d.ts +2 -1
  26. package/dist/components/data-entry/date-range-picker.d.ts +2 -1
  27. package/dist/components/data-entry/field.d.ts +2 -1
  28. package/dist/components/data-entry/form-field.d.ts +2 -1
  29. package/dist/components/data-entry/month-picker.d.ts +2 -1
  30. package/dist/components/data-entry/month-range-picker.d.ts +2 -1
  31. package/dist/components/data-entry/password-strength.d.ts +1 -1
  32. package/dist/components/data-entry/radio.d.ts +1 -1
  33. package/dist/components/data-entry/search-input.d.ts +1 -1
  34. package/dist/components/data-entry/search-select.d.ts +2 -1
  35. package/dist/components/data-entry/select.d.ts +3 -3
  36. package/dist/components/data-entry/time-picker.d.ts +2 -1
  37. package/dist/components/data-entry/transfer.d.ts +2 -1
  38. package/dist/components/data-entry/tree-select.d.ts +2 -1
  39. package/dist/components/data-entry/upload-crop-dialog.d.ts +2 -1
  40. package/dist/components/data-entry/upload.d.ts +2 -1
  41. package/dist/components/feedback/alert.d.ts +1 -1
  42. package/dist/components/feedback/dialog.d.ts +21 -14
  43. package/dist/components/feedback/dialog.js +43 -11
  44. package/dist/components/feedback/sheet.d.ts +7 -7
  45. package/dist/components/feedback/skeleton.d.ts +5 -5
  46. package/dist/components/feedback/sonner.d.ts +2 -1
  47. package/dist/components/feedback/tooltip.d.ts +2 -2
  48. package/dist/components/general/button.js +1 -1
  49. package/dist/components/general/reveal.d.ts +1 -1
  50. package/dist/components/layout/app-shell.d.ts +2 -1
  51. package/dist/components/layout/app-shell.js +1 -1
  52. package/dist/components/layout/auth-shell.d.ts +1 -1
  53. package/dist/components/layout/breadcrumb.d.ts +1 -1
  54. package/dist/components/layout/centered-shell.d.ts +1 -1
  55. package/dist/components/layout/flex.d.ts +1 -1
  56. package/dist/components/layout/page-container.d.ts +2 -2
  57. package/dist/components/layout/resizable.d.ts +3 -3
  58. package/dist/components/layout/responsive-grid.d.ts +1 -1
  59. package/dist/components/layout/sidebar.d.ts +4 -4
  60. package/dist/components/layout/split-pane.d.ts +1 -1
  61. package/dist/components/layout/topbar.d.ts +1 -1
  62. package/dist/components/navigation/context-menu.d.ts +2 -2
  63. package/dist/components/navigation/dropdown-menu.d.ts +7 -7
  64. package/dist/components/navigation/filter-bar.d.ts +2 -2
  65. package/dist/components/navigation/filter-bar.js +8 -2
  66. package/dist/components/navigation/menubar.d.ts +3 -3
  67. package/dist/components/navigation/pagination.d.ts +2 -2
  68. package/dist/components/navigation/steps.d.ts +2 -1
  69. package/dist/components/navigation/tabs.d.ts +1 -1
  70. package/dist/components/query/data-state.d.ts +2 -1
  71. package/dist/components/query/infinite-query-state.d.ts +2 -1
  72. package/dist/components/query/mutation-feedback.d.ts +1 -1
  73. package/dist/components/query/prefetch-link.d.ts +2 -1
  74. package/dist/components/query/query-refetch-button.d.ts +1 -1
  75. package/dist/components/ui/credential-reveal.d.ts +12 -0
  76. package/dist/components/ui/credential-reveal.js +160 -0
  77. package/dist/components/ui/hover-card.d.ts +1 -1
  78. package/dist/form/form-field-control.d.ts +1 -1
  79. package/dist/form/form-root.d.ts +1 -1
  80. package/dist/i18n/messages/en.json +14 -1
  81. package/dist/i18n/messages/ja.json +14 -1
  82. package/dist/i18n/messages/vi.json +14 -1
  83. package/dist/lib/permission-grid.d.ts +59 -0
  84. package/dist/lib/permission-grid.js +32 -0
  85. package/dist/props/components/data-display.prop.d.ts +49 -1
  86. package/dist/props/components/feedback.prop.d.ts +4 -0
  87. package/dist/props/components/navigation.prop.d.ts +8 -1
  88. package/dist/props/registry.d.ts +19 -1
  89. package/dist/props/registry.js +35 -1
  90. package/dist/props/vocabulary/data.prop.d.ts +6 -0
  91. package/dist/props/vocabulary/index.d.ts +1 -1
  92. package/dist/styles/control.css +9 -1
  93. package/dist/styles/data-display-layout.css +50 -0
  94. package/dist/styles/layout.css +10 -0
  95. package/dist/styles/shell-layout.css +19 -11
  96. package/dist/tokens/components/navigation.css +7 -0
  97. package/dist/tokens/foundation.css +8 -4
  98. package/package.json +55 -46
@@ -241,25 +241,54 @@ function AlertDialog({
241
241
  cancelLabel,
242
242
  variant = "default",
243
243
  confirmPhrase,
244
+ challenge,
244
245
  onConfirm,
246
+ stepUp,
245
247
  keepOpenOnConfirm = false,
246
248
  pending = false
247
249
  }) {
248
250
  const { t } = useTranslation();
249
251
  const [typed, setTyped] = React.useState("");
252
+ const [verifying, setVerifying] = React.useState(false);
253
+ const [stepUpFailed, setStepUpFailed] = React.useState(false);
250
254
  const inputId = React.useId();
251
- const needsPhrase = confirmPhrase != null && confirmPhrase.length > 0;
252
- const phraseMatches = !needsPhrase || typed === confirmPhrase;
255
+ const stepErrorId = React.useId();
256
+ const phrase = confirmPhrase ?? challenge;
257
+ const needsPhrase = phrase != null && phrase.length > 0;
258
+ const phraseMatches = !needsPhrase || typed === phrase;
253
259
  const effectiveVariant = needsPhrase ? "destructive" : variant;
260
+ const headerTone = effectiveVariant === "destructive" ? "destructive" : "default";
254
261
  const resolvedConfirm = confirmLabel ?? (needsPhrase ? t("common.delete") : t("common.continue"));
255
262
  const resolvedCancel = cancelLabel ?? t("common.cancel");
256
- const handleOpenChange = (next) => {
263
+ const busy = pending || verifying;
264
+ const confirmLabelText = verifying ? t("feedback.alert.verifying") : pending ? t("common.working") : resolvedConfirm;
265
+ const reset = () => {
257
266
  setTyped("");
267
+ setVerifying(false);
268
+ setStepUpFailed(false);
269
+ };
270
+ const handleOpenChange = (next) => {
271
+ reset();
258
272
  onOpenChange(next);
259
273
  };
260
274
  const handleConfirm = () => {
261
- if (!phraseMatches) return;
275
+ if (!phraseMatches || busy) return;
262
276
  void (async () => {
277
+ if (stepUp) {
278
+ setStepUpFailed(false);
279
+ setVerifying(true);
280
+ let ok = false;
281
+ try {
282
+ ok = await stepUp();
283
+ } catch {
284
+ ok = false;
285
+ }
286
+ setVerifying(false);
287
+ if (!ok) {
288
+ setStepUpFailed(true);
289
+ return;
290
+ }
291
+ }
263
292
  await onConfirm();
264
293
  if (!keepOpenOnConfirm) onOpenChange(false);
265
294
  })();
@@ -278,12 +307,12 @@ function AlertDialog({
278
307
  "data-slot": "dialog-content",
279
308
  className: "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 duration-200 outline-none",
280
309
  children: [
281
- /* @__PURE__ */ jsxs(DialogHeader, { children: [
310
+ /* @__PURE__ */ jsxs(DialogHeader, { tone: headerTone, children: [
282
311
  /* @__PURE__ */ jsx(AlertDialogPrimitive.Title, { "data-slot": "dialog-title", children: title }),
283
312
  description ? /* @__PURE__ */ jsx(AlertDialogPrimitive.Description, { "data-slot": "dialog-description", children: description }) : null
284
313
  ] }),
285
314
  needsPhrase && /* @__PURE__ */ jsxs("div", { className: "ui-stack-xs", children: [
286
- /* @__PURE__ */ jsx(Label, { htmlFor: inputId, className: "text-sm", children: t("common.typeToConfirm", { phrase: confirmPhrase }) }),
315
+ /* @__PURE__ */ jsx(Label, { htmlFor: inputId, className: "text-sm", children: t("common.typeToConfirm", { phrase }) }),
287
316
  /* @__PURE__ */ jsx(
288
317
  Input,
289
318
  {
@@ -294,20 +323,23 @@ function AlertDialog({
294
323
  },
295
324
  autoComplete: "off",
296
325
  spellCheck: false,
297
- placeholder: confirmPhrase,
298
- "aria-required": "true"
326
+ placeholder: phrase,
327
+ "aria-required": "true",
328
+ disabled: busy
299
329
  }
300
330
  )
301
331
  ] }),
332
+ stepUpFailed && /* @__PURE__ */ jsx("p", { id: stepErrorId, role: "alert", className: "text-destructive text-sm", children: t("feedback.alert.stepUpFailed") }),
302
333
  /* @__PURE__ */ jsxs(DialogFooter, { children: [
303
- /* @__PURE__ */ jsx(DialogCancel, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "ghost", disabled: pending, children: resolvedCancel }) }),
334
+ /* @__PURE__ */ jsx(DialogCancel, { asChild: true, children: /* @__PURE__ */ jsx(Button, { variant: "ghost", disabled: busy, children: resolvedCancel }) }),
304
335
  /* @__PURE__ */ jsx(
305
336
  Button,
306
337
  {
307
338
  variant: effectiveVariant === "destructive" ? "destructive" : "default",
308
339
  onClick: handleConfirm,
309
- disabled: pending || !phraseMatches,
310
- children: pending ? t("common.working") : resolvedConfirm
340
+ disabled: busy || !phraseMatches,
341
+ "aria-describedby": stepUpFailed ? stepErrorId : void 0,
342
+ children: confirmLabelText
311
343
  }
312
344
  )
313
345
  ] })
@@ -2,10 +2,10 @@ import * as React from "react";
2
2
  import * as DialogPrimitive from "@radix-ui/react-dialog";
3
3
  import { type VariantProps } from "class-variance-authority";
4
4
  import type { ToneProp, WidthProp } from "../../props/vocabulary/index.js";
5
- export declare function Sheet(props: React.ComponentProps<typeof DialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
6
- export declare function SheetTrigger(props: React.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
7
- export declare function SheetClose(props: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
8
- export declare function SheetPortal(props: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
5
+ export declare function Sheet(props: React.ComponentProps<typeof DialogPrimitive.Root>): React.JSX.Element;
6
+ export declare function SheetTrigger(props: React.ComponentProps<typeof DialogPrimitive.Trigger>): React.JSX.Element;
7
+ export declare function SheetClose(props: React.ComponentProps<typeof DialogPrimitive.Close>): React.JSX.Element;
8
+ export declare function SheetPortal(props: React.ComponentProps<typeof DialogPrimitive.Portal>): React.JSX.Element;
9
9
  export declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
10
  declare const sheetVariants: (props?: ({
11
11
  side?: "left" | "right" | "top" | "bottom" | null | undefined;
@@ -30,9 +30,9 @@ export interface SheetHeaderProps extends Omit<React.HTMLAttributes<HTMLDivEleme
30
30
  /** Soft semantic background band for the header. `default` = no band. */
31
31
  tone?: ToneProp;
32
32
  }
33
- export declare const SheetHeader: ({ className, title, subtitle, extra, tone, children, ...props }: SheetHeaderProps) => import("react/jsx-runtime").JSX.Element;
34
- export declare const SheetBody: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
35
- export declare const SheetFooter: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
33
+ export declare const SheetHeader: ({ className, title, subtitle, extra, tone, children, ...props }: SheetHeaderProps) => React.JSX.Element;
34
+ export declare const SheetBody: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => React.JSX.Element;
35
+ export declare const SheetFooter: ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => React.JSX.Element;
36
36
  export declare const SheetTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
37
37
  export declare const SheetDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
38
38
  export {};
@@ -1,17 +1,17 @@
1
1
  import * as React from "react";
2
2
  export type SkeletonProps = React.HTMLAttributes<HTMLDivElement>;
3
- export declare function Skeleton({ className, ...props }: SkeletonProps): import("react/jsx-runtime").JSX.Element;
3
+ export declare function Skeleton({ className, ...props }: SkeletonProps): React.JSX.Element;
4
4
  interface SkeletonRowsProps {
5
5
  rows?: number;
6
6
  columns?: number;
7
7
  className?: string;
8
8
  }
9
9
  /** Skeleton for a flat list of rows (use inside a Card or section). */
10
- export declare function SkeletonRows({ rows, columns, className }: SkeletonRowsProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function SkeletonRows({ rows, columns, className }: SkeletonRowsProps): React.JSX.Element;
11
11
  /** Skeleton matching the DataTable layout — header row + N body rows. */
12
- export declare function SkeletonTable({ rows, columns }: SkeletonRowsProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function SkeletonTable({ rows, columns }: SkeletonRowsProps): React.JSX.Element;
13
13
  /** Skeleton matching a Card detail layout — title + 6 metadata rows. */
14
- export declare function SkeletonDetail(): import("react/jsx-runtime").JSX.Element;
14
+ export declare function SkeletonDetail(): React.JSX.Element;
15
15
  /** Skeleton matching a stat card / dashboard tile. */
16
- export declare function SkeletonStat(): import("react/jsx-runtime").JSX.Element;
16
+ export declare function SkeletonStat(): React.JSX.Element;
17
17
  export {};
@@ -1,3 +1,4 @@
1
+ import * as React from "react";
1
2
  import { type ToasterProps } from "sonner";
2
- declare function Toaster({ ...props }: ToasterProps): import("react/jsx-runtime").JSX.Element;
3
+ declare function Toaster({ ...props }: ToasterProps): React.JSX.Element;
3
4
  export { Toaster };
@@ -1,10 +1,10 @@
1
1
  import * as React from "react";
2
2
  import * as TooltipPrimitive from "@radix-ui/react-tooltip";
3
3
  /** Opt-in provider for tuning delay across a subtree. Each <Tooltip> already self-provides. */
4
- export declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>): import("react/jsx-runtime").JSX.Element;
4
+ export declare function TooltipProvider({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>): React.JSX.Element;
5
5
  /** Self-contained tooltip — no app-level provider needed. Controllable via `open`/`onOpenChange`. */
6
6
  export declare function Tooltip({ delayDuration, ...props }: React.ComponentProps<typeof TooltipPrimitive.Root> & {
7
7
  delayDuration?: number;
8
- }): import("react/jsx-runtime").JSX.Element;
8
+ }): React.JSX.Element;
9
9
  export declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
10
10
  export declare const TooltipContent: React.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -19,7 +19,7 @@ const buttonVariants = cva("ui-button", {
19
19
  variants: {
20
20
  variant: {
21
21
  default: "ui-button--default bg-primary text-primary-foreground hover:bg-primary/90",
22
- destructive: "ui-button--destructive bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:ring-destructive/20",
22
+ destructive: "ui-button--destructive bg-destructive text-destructive-foreground focus-visible:ring-destructive/20",
23
23
  outline: "ui-button--outline border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",
24
24
  dashed: "ui-button--dashed border border-dashed bg-background hover:bg-accent hover:text-accent-foreground",
25
25
  secondary: "ui-button--secondary bg-secondary text-secondary-foreground hover:bg-secondary/80",
@@ -11,4 +11,4 @@ export type { RevealProp, RevealProp as RevealProps } from "../../props/componen
11
11
  * Pure/server-safe: no hooks, no effects. Pass `asChild` to merge the reveal onto the single child
12
12
  * element (no wrapper `<div>`) when an extra box would break a grid/flex layout.
13
13
  */
14
- export declare function Reveal({ children, delay, asChild, className, ...props }: RevealProp): import("react/jsx-runtime").JSX.Element;
14
+ export declare function Reveal({ children, delay, asChild, className, ...props }: RevealProp): import("react").JSX.Element;
@@ -1,3 +1,4 @@
1
+ import * as React from "react";
1
2
  import type { AppShellProp } from "../../props/components/layout.prop.js";
2
3
  export type { AppShellProp, AppShellProp as AppShellProps, } from "../../props/components/layout.prop.js";
3
- export declare function AppShell({ sidebar, topbar, topbarLeft, topbarRight, logo, breadcrumb, footer, children, sidebarCollapsed, mobileNav, mobileNavLabel, mobileNavOpen, onMobileNavOpenChange, }: AppShellProp): import("react/jsx-runtime").JSX.Element;
4
+ export declare function AppShell({ sidebar, topbar, topbarLeft, topbarRight, logo, breadcrumb, footer, children, sidebarCollapsed, mobileNav, mobileNavLabel, mobileNavOpen, onMobileNavOpenChange, }: AppShellProp): React.JSX.Element;
@@ -49,7 +49,7 @@ function AppShell({
49
49
  type: "button",
50
50
  variant: "ghost",
51
51
  size: "sm",
52
- className: "app-mobile-nav-trigger",
52
+ className: "app-mobile-nav-trigger hidden max-lg:inline-flex",
53
53
  "aria-label": t("layout.appShell.openNav"),
54
54
  "aria-haspopup": "dialog",
55
55
  children: /* @__PURE__ */ jsx(Menu, { className: "size-5", "aria-hidden": "true" })
@@ -8,4 +8,4 @@ export type { AuthShellProp, AuthShellProp as AuthShellProps, } from "../../prop
8
8
  * consumer's `.auth-shell-*` / `.ui-auth-scope` classes. Motion is delegated to `Reveal` (wrap the
9
9
  * card) so `prefers-reduced-motion` is honoured in one place.
10
10
  */
11
- export declare function AuthShell({ brand, footer, children, className }: AuthShellProp): import("react/jsx-runtime").JSX.Element;
11
+ export declare function AuthShell({ brand, footer, children, className }: AuthShellProp): import("react").JSX.Element;
@@ -10,4 +10,4 @@ export type BreadcrumbProps = {
10
10
  */
11
11
  ariaLabel?: string;
12
12
  };
13
- export declare function Breadcrumb({ items, linkComponent: LinkComponent, ariaLabel, }: BreadcrumbProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function Breadcrumb({ items, linkComponent: LinkComponent, ariaLabel, }: BreadcrumbProps): import("react").JSX.Element;
@@ -19,4 +19,4 @@ export type { CenteredShellProp, CenteredShellProp as CenteredShellProps, } from
19
19
  * footgun). Layout-only: delegate motion to `Reveal` (wrap a section) so `prefers-reduced-motion`
20
20
  * is honoured in one place.
21
21
  */
22
- export declare function CenteredShell({ topbar, footer, children, width, className, }: CenteredShellProp): import("react/jsx-runtime").JSX.Element;
22
+ export declare function CenteredShell({ topbar, footer, children, width, className, }: CenteredShellProp): import("react").JSX.Element;
@@ -1,3 +1,3 @@
1
1
  import type { FlexProp } from "../../props/components/layout.prop.js";
2
2
  export type { FlexAlignProp, FlexDirectionProp, FlexJustifyProp, FlexProp, FlexProp as FlexProps, } from "../../props/components/layout.prop.js";
3
- export declare function Flex({ direction, gap, align, justify, wrap, className, children, ...props }: FlexProp): import("react/jsx-runtime").JSX.Element;
3
+ export declare function Flex({ direction, gap, align, justify, wrap, className, children, ...props }: FlexProp): import("react").JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import type { PageContainerProp, PageInsetProp } from "../../props/components/layout.prop.js";
2
2
  export type { PageContainerProp, PageContainerProp as PageContainerProps, } from "../../props/components/layout.prop.js";
3
3
  export type { BreadcrumbItemProp, BreadcrumbItemProp as BreadcrumbItem, } from "../../props/vocabulary/navigation.prop.js";
4
- export declare function PageContainerInset({ className, children, ...props }: PageInsetProp): import("react/jsx-runtime").JSX.Element;
5
- declare function PageContainerRoot({ title, subtitle, extra, footer, breadcrumb, breadcrumbLabel, breadcrumbAriaLabel, linkComponent: LinkComponent, density, variant, stickyFooter, footerReveal, fill, children, className, }: PageContainerProp): import("react/jsx-runtime").JSX.Element;
4
+ export declare function PageContainerInset({ className, children, ...props }: PageInsetProp): import("react").JSX.Element;
5
+ declare function PageContainerRoot({ title, subtitle, extra, footer, breadcrumb, breadcrumbLabel, breadcrumbAriaLabel, linkComponent: LinkComponent, density, variant, stickyFooter, footerReveal, fill, children, className, }: PageContainerProp): import("react").JSX.Element;
6
6
  export declare const PageContainer: typeof PageContainerRoot & {
7
7
  Inset: typeof PageContainerInset;
8
8
  };
@@ -1,14 +1,14 @@
1
1
  import * as React from "react";
2
2
  import * as ResizablePrimitive from "react-resizable-panels";
3
3
  export declare const ResizablePanelGroup: {
4
- ({ className, ...props }: React.ComponentPropsWithoutRef<typeof ResizablePrimitive.Group>): import("react/jsx-runtime").JSX.Element;
4
+ ({ className, ...props }: React.ComponentPropsWithoutRef<typeof ResizablePrimitive.Group>): React.JSX.Element;
5
5
  displayName: string;
6
6
  };
7
7
  export declare const ResizablePanel: {
8
- ({ className, ...props }: React.ComponentPropsWithoutRef<typeof ResizablePrimitive.Panel>): import("react/jsx-runtime").JSX.Element;
8
+ ({ className, ...props }: React.ComponentPropsWithoutRef<typeof ResizablePrimitive.Panel>): React.JSX.Element;
9
9
  displayName: string;
10
10
  };
11
11
  export declare const ResizableHandle: {
12
- ({ className, ...props }: React.ComponentPropsWithoutRef<typeof ResizablePrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
12
+ ({ className, ...props }: React.ComponentPropsWithoutRef<typeof ResizablePrimitive.Separator>): React.JSX.Element;
13
13
  displayName: string;
14
14
  };
@@ -4,4 +4,4 @@ export type ResponsiveGridProps = {
4
4
  columns?: ResponsiveGridColumnsProp;
5
5
  children: ReactNode;
6
6
  };
7
- export declare function ResponsiveGrid({ columns, children }: ResponsiveGridProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function ResponsiveGrid({ columns, children }: ResponsiveGridProps): import("react").JSX.Element;
@@ -15,7 +15,7 @@ type SidebarItemProps = {
15
15
  onActivate?: (id: string) => void;
16
16
  renderItem?: RenderItem;
17
17
  };
18
- export declare function SidebarHeader({ children, className, ...props }: SidebarHeaderProps): import("react/jsx-runtime").JSX.Element;
19
- export declare function SidebarSection({ label, collapsed, children, className, ...props }: SidebarSectionProps & React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
20
- export declare function SidebarItem({ item, active, sub, onActivate, renderItem, children, ...props }: SidebarItemProps & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onClick">): import("react/jsx-runtime").JSX.Element;
21
- export declare function Sidebar({ ariaLabel: ariaLabelCamel, activeId, onSelect, sections, product, onProductClick, brand, collapsed, children, renderItem, footer, "aria-label": ariaLabel, }: SidebarProp): import("react/jsx-runtime").JSX.Element;
18
+ export declare function SidebarHeader({ children, className, ...props }: SidebarHeaderProps): React.JSX.Element;
19
+ export declare function SidebarSection({ label, collapsed, children, className, ...props }: SidebarSectionProps & React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
20
+ export declare function SidebarItem({ item, active, sub, onActivate, renderItem, children, ...props }: SidebarItemProps & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onClick">): React.JSX.Element;
21
+ export declare function Sidebar({ ariaLabel: ariaLabelCamel, activeId, onSelect, sections, product, onProductClick, brand, collapsed, children, renderItem, footer, "aria-label": ariaLabel, }: SidebarProp): React.JSX.Element;
@@ -6,4 +6,4 @@ export type SplitPaneProps = {
6
6
  /** Accessible complementary landmark name; required when multiple panes share a document. */
7
7
  asideLabel?: string;
8
8
  };
9
- export declare function SplitPane({ children, aside, asideWidth, asideLabel }: SplitPaneProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function SplitPane({ children, aside, asideWidth, asideLabel }: SplitPaneProps): import("react").JSX.Element;
@@ -17,4 +17,4 @@ export type { TopbarProp, TopbarProp as TopbarProps } from "../../props/componen
17
17
  * Use it as `AppShell`'s `topbar` slot, or place it directly. For full custom content, pass
18
18
  * `children` instead of the three slots.
19
19
  */
20
- export declare function Topbar({ start, center, end, className, children, ...props }: TopbarProp): import("react/jsx-runtime").JSX.Element;
20
+ export declare function Topbar({ start, center, end, className, children, ...props }: TopbarProp): import("react").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import * as ContextMenuPrimitive from "@radix-ui/react-context-menu";
3
3
  export declare const ContextMenu: React.FC<ContextMenuPrimitive.ContextMenuProps>;
4
- export declare function ContextMenuTrigger(props: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
4
+ export declare function ContextMenuTrigger(props: React.ComponentProps<typeof ContextMenuPrimitive.Trigger>): React.JSX.Element;
5
5
  export declare const ContextMenuPortal: React.FC<ContextMenuPrimitive.ContextMenuPortalProps>;
6
6
  export declare const ContextMenuContent: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
7
  export declare const ContextMenuItem: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
@@ -15,7 +15,7 @@ export declare const ContextMenuLabel: React.ForwardRefExoticComponent<Omit<Cont
15
15
  inset?: boolean;
16
16
  } & React.RefAttributes<HTMLDivElement>>;
17
17
  export declare const ContextMenuSeparator: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
18
- export declare const ContextMenuShortcut: ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const ContextMenuShortcut: ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => React.JSX.Element;
19
19
  export declare const ContextMenuSub: React.FC<ContextMenuPrimitive.ContextMenuSubProps>;
20
20
  export declare const ContextMenuSubTrigger: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
21
21
  export declare const ContextMenuSubContent: React.ForwardRefExoticComponent<Omit<ContextMenuPrimitive.ContextMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,11 +1,11 @@
1
1
  import * as React from "react";
2
2
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
3
- export declare function DropdownMenu(props: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
- export declare function DropdownMenuTrigger(props: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
- export declare function DropdownMenuPortal(props: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
- export declare function DropdownMenuGroup(props: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
7
- export declare function DropdownMenuRadioGroup(props: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
8
- export declare function DropdownMenuSub(props: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function DropdownMenu(props: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): React.JSX.Element;
4
+ export declare function DropdownMenuTrigger(props: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): React.JSX.Element;
5
+ export declare function DropdownMenuPortal(props: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): React.JSX.Element;
6
+ export declare function DropdownMenuGroup(props: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): React.JSX.Element;
7
+ export declare function DropdownMenuRadioGroup(props: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): React.JSX.Element;
8
+ export declare function DropdownMenuSub(props: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): React.JSX.Element;
9
9
  export declare const DropdownMenuContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
10
  export declare const DropdownMenuItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
11
11
  inset?: boolean;
@@ -21,4 +21,4 @@ export declare const DropdownMenuSubTrigger: React.ForwardRefExoticComponent<Omi
21
21
  inset?: boolean;
22
22
  } & React.RefAttributes<HTMLDivElement>>;
23
23
  export declare const DropdownMenuSubContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
24
- export declare const DropdownMenuShortcut: ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => import("react/jsx-runtime").JSX.Element;
24
+ export declare const DropdownMenuShortcut: ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => React.JSX.Element;
@@ -1,4 +1,4 @@
1
1
  import type { ToolbarGroupProp, ToolbarProp } from "../../props/components/navigation.prop.js";
2
2
  export type { ToolbarGroupProp, ToolbarGroupProp as ToolbarGroupProps, ToolbarProp, ToolbarProp as ToolbarProps, } from "../../props/components/navigation.prop.js";
3
- export declare function Toolbar({ onClear, hasActiveFilters, className, children }: ToolbarProp): import("react/jsx-runtime").JSX.Element;
4
- export declare function ToolbarGroup({ label, className, children }: ToolbarGroupProp): import("react/jsx-runtime").JSX.Element;
3
+ export declare function Toolbar({ onClear, hasActiveFilters, sticky, className, children, }: ToolbarProp): import("react").JSX.Element;
4
+ export declare function ToolbarGroup({ label, className, children }: ToolbarGroupProp): import("react").JSX.Element;
@@ -5,14 +5,20 @@ import { X } from "lucide-react";
5
5
  import { useTranslation } from "../../i18n/use-translation.js";
6
6
  import { Button } from "../general/button.js";
7
7
  import { cn } from "../../lib/utils.js";
8
- function Toolbar({ onClear, hasActiveFilters = true, className, children }) {
8
+ function Toolbar({
9
+ onClear,
10
+ hasActiveFilters = true,
11
+ sticky = false,
12
+ className,
13
+ children
14
+ }) {
9
15
  const { t } = useTranslation();
10
16
  return /* @__PURE__ */ jsxs(
11
17
  "div",
12
18
  {
13
19
  role: "toolbar",
14
20
  "aria-label": t("navigation.toolbar.ariaLabel"),
15
- className: cn("ui-toolbar", className),
21
+ className: cn("ui-toolbar", sticky && "ui-toolbar-sticky", className),
16
22
  children: [
17
23
  children,
18
24
  onClear && hasActiveFilters && /* @__PURE__ */ jsxs(Button, { variant: "ghost", size: "sm", onClick: onClear, className: "ui-toolbar-clear", children: [
@@ -4,10 +4,10 @@ export declare const Menubar: React.ForwardRefExoticComponent<MenubarPrimitive.M
4
4
  export declare const MenubarMenu: {
5
5
  (props: MenubarPrimitive.MenubarMenuProps & {
6
6
  __scopeMenubar?: import("@radix-ui/react-context").Scope;
7
- }): import("react/jsx-runtime").JSX.Element;
7
+ }): React.JSX.Element;
8
8
  displayName: string;
9
9
  };
10
- export declare function MenubarTrigger(props: React.ComponentProps<typeof MenubarPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
10
+ export declare function MenubarTrigger(props: React.ComponentProps<typeof MenubarPrimitive.Trigger>): React.JSX.Element;
11
11
  export declare const MenubarContent: React.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
12
  export declare const MenubarItem: React.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
13
13
  inset?: boolean;
@@ -18,7 +18,7 @@ export declare const MenubarRadioGroup: React.ForwardRefExoticComponent<Omit<Men
18
18
  export declare const MenubarRadioItem: React.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
19
19
  export declare const MenubarLabel: React.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
20
20
  export declare const MenubarSeparator: React.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
21
- export declare const MenubarShortcut: ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => import("react/jsx-runtime").JSX.Element;
21
+ export declare const MenubarShortcut: ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => React.JSX.Element;
22
22
  export declare const MenubarSub: React.FC<MenubarPrimitive.MenubarSubProps>;
23
23
  export declare const MenubarSubTrigger: React.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
24
24
  export declare const MenubarSubContent: React.ForwardRefExoticComponent<Omit<MenubarPrimitive.MenubarSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -9,7 +9,7 @@ declare const PaginationLink: React.ForwardRefExoticComponent<Omit<Omit<React.De
9
9
  href?: string;
10
10
  } & React.RefAttributes<HTMLButtonElement>>;
11
11
  declare const PaginationEllipsis: {
12
- ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
12
+ ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
13
13
  displayName: string;
14
14
  };
15
15
  declare const PaginationPrevious: React.ForwardRefExoticComponent<Omit<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "type"> & {
@@ -22,5 +22,5 @@ declare const PaginationNext: React.ForwardRefExoticComponent<Omit<Omit<React.De
22
22
  disabled?: boolean;
23
23
  href?: string;
24
24
  } & React.RefAttributes<HTMLButtonElement>>;
25
- export declare function Pagination({ ariaLabel, value, total, pageSize, pageSizeOptions, showSizeChanger, showTotal, hideOnSinglePage, simple, disabled, className, onValueChange, }: PaginationProp): import("react/jsx-runtime").JSX.Element | null;
25
+ export declare function Pagination({ ariaLabel, value, total, pageSize, pageSizeOptions, showSizeChanger, showTotal, hideOnSinglePage, simple, disabled, className, onValueChange, }: PaginationProp): React.JSX.Element | null;
26
26
  export { PaginationContent, PaginationItem, PaginationLink, PaginationEllipsis, PaginationPrevious, PaginationNext, };
@@ -1,3 +1,4 @@
1
+ import * as React from "react";
1
2
  import type { StepsProp } from "../../props/components/navigation.prop.js";
2
3
  export type { StepsProp, StepsProp as StepsProps, StepItemProp, StepStatusProp, } from "../../props/components/navigation.prop.js";
3
- export declare function Steps({ items, value: current, defaultValue, status: currentStatus, orientation, type, size, titlePlacement, onValueChange, className, }: StepsProp): import("react/jsx-runtime").JSX.Element;
4
+ export declare function Steps({ items, value: current, defaultValue, status: currentStatus, orientation, type, size, titlePlacement, onValueChange, className, }: StepsProp): React.JSX.Element;
@@ -12,7 +12,7 @@ export type TabsProps = React.ComponentProps<typeof TabsPrimitive.Root> & {
12
12
  listClassName?: string;
13
13
  contentClassName?: string;
14
14
  };
15
- export declare function Tabs({ className, orientation, items, value, defaultValue, variant, listClassName, contentClassName, ...props }: TabsProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function Tabs({ className, orientation, items, value, defaultValue, variant, listClassName, contentClassName, ...props }: TabsProps): React.JSX.Element;
16
16
  export declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
17
17
  variant?: "default" | "line";
18
18
  } & React.RefAttributes<HTMLDivElement>>;
@@ -1,7 +1,8 @@
1
+ import * as React from "react";
1
2
  import type { DataStateProp } from "../../props/components/query.prop.js";
2
3
  export type { DataStateProp, DataStateProp as DataStateProps, } from "../../props/components/query.prop.js";
3
4
  /**
4
5
  * Query lifecycle widget — orchestrates skeleton / error / empty / success for one `useQuery` block.
5
6
  * Not a visual component; prefer `@godxjp/ui/query`. Apps may also import via `@godxjp/ui/admin`.
6
7
  */
7
- export declare function DataState<T>({ query, skeleton, prerequisite, empty, isEmpty, errorRenderer, showRetry, onRetry, onAuthError, children, }: DataStateProp<T>): import("react/jsx-runtime").JSX.Element;
8
+ export declare function DataState<T>({ query, skeleton, prerequisite, empty, isEmpty, errorRenderer, showRetry, onRetry, onAuthError, children, }: DataStateProp<T>): React.JSX.Element;
@@ -1,3 +1,4 @@
1
+ import * as React from "react";
1
2
  import type { InfiniteQueryStateProp } from "../../props/components/query.prop.js";
2
3
  export type { InfiniteQueryStateProp, InfiniteQueryStateProp as InfiniteQueryStateProps, } from "../../props/components/query.prop.js";
3
4
  /** Flatten `{ pages: [{ items }] }` — default GODX paginated API shape. */
@@ -10,4 +11,4 @@ export declare function flattenItemPages<TItem, TPage extends {
10
11
  * `useInfiniteQuery` lifecycle widget — flatten pages, load-more footer.
11
12
  * Cursor / activity feeds where user accumulates pages (vs DataTable cursor buttons).
12
13
  */
13
- export declare function InfiniteQueryState<TPage, TFlat>({ query, skeleton, empty, flatten, isEmpty, errorRenderer, showRetry, onRetry, onAuthError, loadingMore, loadMore, showLoadMore, children, }: InfiniteQueryStateProp<TPage, TFlat>): import("react/jsx-runtime").JSX.Element;
14
+ export declare function InfiniteQueryState<TPage, TFlat>({ query, skeleton, empty, flatten, isEmpty, errorRenderer, showRetry, onRetry, onAuthError, loadingMore, loadMore, showLoadMore, children, }: InfiniteQueryStateProp<TPage, TFlat>): React.JSX.Element;
@@ -4,4 +4,4 @@ export type { AlertMutationFeedbackProp, AlertMutationFeedbackProp as AlertMutat
4
4
  * Inline mutation error — renders nothing when idle/success.
5
5
  * Prefer toast for transient saves; use this for blocking form sections (SimulatorPage).
6
6
  */
7
- export declare function AlertMutationFeedback({ mutation, onRetry, showRetry, pending, className, }: AlertMutationFeedbackProp): import("react/jsx-runtime").JSX.Element | null;
7
+ export declare function AlertMutationFeedback({ mutation, onRetry, showRetry, pending, className, }: AlertMutationFeedbackProp): import("react").JSX.Element | null;
@@ -1,7 +1,8 @@
1
+ import * as React from "react";
1
2
  import type { PrefetchLinkProp } from "../../props/components/query.prop.js";
2
3
  export type { PrefetchLinkProp, PrefetchLinkProp as PrefetchLinkProps, } from "../../props/components/query.prop.js";
3
4
  /**
4
5
  * React Router `Link` + `queryClient.prefetchQuery` on hover/focus.
5
6
  * Detail routes feel instant when list rows are hovered.
6
7
  */
7
- export declare function PrefetchLink({ queryKey, queryFn, prefetchOn, staleTime, onMouseEnter, onFocus, ...linkProps }: PrefetchLinkProp): import("react/jsx-runtime").JSX.Element;
8
+ export declare function PrefetchLink({ queryKey, queryFn, prefetchOn, staleTime, onMouseEnter, onFocus, ...linkProps }: PrefetchLinkProp): React.JSX.Element;
@@ -1,4 +1,4 @@
1
1
  import type { ButtonRefetchProp } from "../../props/components/query.prop.js";
2
2
  export type { ButtonRefetchProp, ButtonRefetchProp as ButtonRefetchProps, } from "../../props/components/query.prop.js";
3
3
  /** Page-header Refresh — spins while `query.isFetching`, calls `query.refetch()`. */
4
- export declare function ButtonRefetch({ query, label, children, variant, size, className, ...props }: ButtonRefetchProp): import("react/jsx-runtime").JSX.Element;
4
+ export declare function ButtonRefetch({ query, label, children, variant, size, className, ...props }: ButtonRefetchProp): import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import type { CredentialRevealProp } from "../../props/components/data-display.prop.js";
3
+ export type { CredentialRevealProp, CredentialRevealProp as CredentialRevealProps, CredentialRevealTone, } from "../../props/components/data-display.prop.js";
4
+ /**
5
+ * CredentialReveal — one-time secret surface (device credential / API key / service-account
6
+ * secret). Masked by default with a show/hide toggle, a copy button that confirms the copy, an
7
+ * optional download, and an optional acknowledge action to pair with a Dialog. Composed only from
8
+ * real @godxjp/ui primitives (Alert · Button · Text). Reveal is a controlled boolean triad
9
+ * (`revealed` / `defaultRevealed` / `onRevealedChange`); everything user-facing is routed through
10
+ * `t()`, and the copy confirmation is announced via an `aria-live` region.
11
+ */
12
+ export declare const CredentialReveal: React.ForwardRefExoticComponent<CredentialRevealProp & React.RefAttributes<HTMLDivElement>>;