@alfadocs/ui-kit 0.50.1 → 0.51.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 (139) hide show
  1. package/dist/_chunks/{agenda-card-BaSfVfrL.js → agenda-card-Bl-SBiCh.js} +55 -45
  2. package/dist/_chunks/agenda-tray-DA6qj8BL.js +203 -0
  3. package/dist/_chunks/{ai-consent-banner-F2md5JD3.js → ai-consent-banner-DBKV27je.js} +2 -2
  4. package/dist/_chunks/ai-tools-rail-7tC3GT4h.js +340 -0
  5. package/dist/_chunks/{alert-CUTxnym2.js → alert-_mUKLmwA.js} +54 -44
  6. package/dist/_chunks/{audio-recorder-DVJXV7_k.js → audio-recorder-D6OVfNiZ.js} +2 -2
  7. package/dist/_chunks/{booking-DljH0JkS.js → booking-BUV9fspj.js} +2 -2
  8. package/dist/_chunks/{document-scanner-Cxqvq7GR.js → document-scanner-biBS_f6c.js} +2 -2
  9. package/dist/_chunks/dropdown-menu-DwwPovMZ.js +354 -0
  10. package/dist/_chunks/{editable-currency-cell-renderer-Bh48OHRv.js → editable-currency-cell-renderer-D5C5tCfu.js} +3 -3
  11. package/dist/_chunks/{freemium-paywall-BWaLWje-.js → freemium-paywall-gHGA44dW.js} +2 -2
  12. package/dist/_chunks/{header-settings-Bx0Biimh.js → header-settings-D5Z2B_Yz.js} +3 -3
  13. package/dist/_chunks/{marketplace-app-shell-UKSLx9K_.js → marketplace-app-shell-Dmo1S9av.js} +6 -6
  14. package/dist/_chunks/{patient-search-BJOmTmDA.js → patient-search-CArmRKeg.js} +3 -3
  15. package/dist/_chunks/{patient-shell-DUmhXnFq.js → patient-shell-c2YixkQw.js} +4 -4
  16. package/dist/_chunks/{payment-form-xmeCkxas.js → payment-form-DJ9vnzrT.js} +2 -2
  17. package/dist/_chunks/{pdf-viewer-q1D3Uion.js → pdf-viewer-4odMFuFW.js} +2 -2
  18. package/dist/_chunks/{practice-results-Cq1y8JFD.js → practice-results-CtfciF2v.js} +3 -3
  19. package/dist/_chunks/{pregnancy-dating-DT_244bG.js → pregnancy-dating-BA37LSkF.js} +15 -15
  20. package/dist/_chunks/{recaptcha-widget-CFYyLSEX.js → recaptcha-widget-BCNHsgqt.js} +2 -2
  21. package/dist/_chunks/{sidebar-h78cTNLh.js → sidebar-DPEHzxLZ.js} +397 -346
  22. package/dist/_chunks/{sign-document-CZkAf28g.js → sign-document-Bzld9jVM.js} +2 -2
  23. package/dist/_chunks/{task-card-CPyQ5AXC.js → task-card-BwY9jaV1.js} +48 -42
  24. package/dist/_chunks/task-tray-Cb_hK4yb.js +234 -0
  25. package/dist/_chunks/{theme-toggle-ClATnY4Q.js → theme-toggle-DAW7uC0B.js} +3 -3
  26. package/dist/_chunks/use-edge-resize-ZnGG7gyO.js +139 -0
  27. package/dist/_chunks/use-theme-CAuo6EYT.js +159 -0
  28. package/dist/_chunks/{warning-stack-CXfoAT-_.js → warning-stack-Cv4fr5zo.js} +2 -2
  29. package/dist/_chunks/{workflow-map-DzX_LI4y.js → workflow-map-BJDUNYlX.js} +3 -3
  30. package/dist/agent-catalog.json +1 -1
  31. package/dist/components/agenda-card/agenda-card.d.ts +19 -2
  32. package/dist/components/agenda-card/index.js +1 -1
  33. package/dist/components/agenda-tray/agenda-tray.d.ts +24 -1
  34. package/dist/components/agenda-tray/index.js +1 -1
  35. package/dist/components/ai-consent-banner/index.js +1 -1
  36. package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +8 -0
  37. package/dist/components/ai-tools-rail/index.js +1 -1
  38. package/dist/components/alert/index.js +1 -1
  39. package/dist/components/audio-recorder/index.js +1 -1
  40. package/dist/components/booking/index.js +1 -1
  41. package/dist/components/button-group/button-group.d.ts +1 -1
  42. package/dist/components/checkbox-group/checkbox-group.d.ts +1 -1
  43. package/dist/components/data-table/index.js +1 -1
  44. package/dist/components/document-scanner/index.js +1 -1
  45. package/dist/components/dropdown-menu/dropdown-menu.d.ts +2 -0
  46. package/dist/components/dropdown-menu/index.js +1 -1
  47. package/dist/components/form-field/form-field.d.ts +1 -1
  48. package/dist/components/freemium-paywall/index.js +1 -1
  49. package/dist/components/header-settings/index.js +1 -1
  50. package/dist/components/icon-button-group/icon-button-group.d.ts +15 -15
  51. package/dist/components/key-value-pair/key-value-pair.d.ts +1 -1
  52. package/dist/components/patient-search/index.js +1 -1
  53. package/dist/components/payment-form/index.js +1 -1
  54. package/dist/components/pdf-viewer/index.js +1 -1
  55. package/dist/components/practice-results/index.js +1 -1
  56. package/dist/components/pregnancy-dating/index.js +1 -1
  57. package/dist/components/radio-group/radio-group.d.ts +1 -1
  58. package/dist/components/recaptcha-widget/index.js +1 -1
  59. package/dist/components/separator/separator.d.ts +1 -1
  60. package/dist/components/sidebar/index.js +1 -1
  61. package/dist/components/sidebar/sidebar.d.ts +8 -0
  62. package/dist/components/sign-document/index.js +1 -1
  63. package/dist/components/tabs/tabs.d.ts +2 -2
  64. package/dist/components/task-card/index.js +1 -1
  65. package/dist/components/task-card/task-card.d.ts +15 -1
  66. package/dist/components/task-tray/index.js +1 -1
  67. package/dist/components/task-tray/task-tray.d.ts +24 -1
  68. package/dist/components/theme-toggle/index.js +1 -1
  69. package/dist/components/warning-stack/index.js +1 -1
  70. package/dist/components/workflow/index.js +1 -1
  71. package/dist/components/workflow/workflow-map.d.ts +1 -1
  72. package/dist/hooks/index.d.ts +1 -0
  73. package/dist/hooks/index.js +12 -10
  74. package/dist/hooks/use-edge-resize.d.ts +78 -0
  75. package/dist/i18n/locales/ar.d.ts +4 -0
  76. package/dist/i18n/locales/ar.js +7 -3
  77. package/dist/i18n/locales/de.d.ts +4 -0
  78. package/dist/i18n/locales/de.js +7 -3
  79. package/dist/i18n/locales/el.d.ts +4 -0
  80. package/dist/i18n/locales/el.js +7 -3
  81. package/dist/i18n/locales/en.d.ts +4 -0
  82. package/dist/i18n/locales/en.js +7 -3
  83. package/dist/i18n/locales/es.d.ts +4 -0
  84. package/dist/i18n/locales/es.js +7 -3
  85. package/dist/i18n/locales/fr.d.ts +4 -0
  86. package/dist/i18n/locales/fr.js +7 -3
  87. package/dist/i18n/locales/hi.d.ts +4 -0
  88. package/dist/i18n/locales/hi.js +7 -3
  89. package/dist/i18n/locales/it.d.ts +4 -0
  90. package/dist/i18n/locales/it.js +7 -3
  91. package/dist/i18n/locales/ja.d.ts +4 -0
  92. package/dist/i18n/locales/ja.js +7 -3
  93. package/dist/i18n/locales/nl.d.ts +4 -0
  94. package/dist/i18n/locales/nl.js +7 -3
  95. package/dist/i18n/locales/pl.d.ts +4 -0
  96. package/dist/i18n/locales/pl.js +7 -3
  97. package/dist/i18n/locales/pt.d.ts +4 -0
  98. package/dist/i18n/locales/pt.js +7 -3
  99. package/dist/i18n/locales/ro.d.ts +4 -0
  100. package/dist/i18n/locales/ro.js +7 -3
  101. package/dist/i18n/locales/ru.d.ts +4 -0
  102. package/dist/i18n/locales/ru.js +7 -3
  103. package/dist/i18n/locales/sq.d.ts +4 -0
  104. package/dist/i18n/locales/sq.js +7 -3
  105. package/dist/i18n/locales/sv.d.ts +4 -0
  106. package/dist/i18n/locales/sv.js +7 -3
  107. package/dist/i18n/locales/tr.d.ts +4 -0
  108. package/dist/i18n/locales/tr.js +7 -3
  109. package/dist/i18n/locales/zh.d.ts +4 -0
  110. package/dist/i18n/locales/zh.js +7 -3
  111. package/dist/index.js +27 -27
  112. package/dist/locales/ar.json +7 -3
  113. package/dist/locales/de.json +7 -3
  114. package/dist/locales/el.json +7 -3
  115. package/dist/locales/en.json +7 -3
  116. package/dist/locales/es.json +7 -3
  117. package/dist/locales/fr.json +7 -3
  118. package/dist/locales/hi.json +7 -3
  119. package/dist/locales/it.json +7 -3
  120. package/dist/locales/ja.json +7 -3
  121. package/dist/locales/nl.json +7 -3
  122. package/dist/locales/pl.json +7 -3
  123. package/dist/locales/pt.json +7 -3
  124. package/dist/locales/ro.json +7 -3
  125. package/dist/locales/ru.json +7 -3
  126. package/dist/locales/sq.json +7 -3
  127. package/dist/locales/sv.json +7 -3
  128. package/dist/locales/tr.json +7 -3
  129. package/dist/locales/zh.json +7 -3
  130. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  131. package/dist/patterns/patient-shell/index.js +1 -1
  132. package/dist/tokens.css +1 -1
  133. package/package.json +1 -1
  134. package/dist/_chunks/agenda-tray-DQayYmQ0.js +0 -165
  135. package/dist/_chunks/ai-tools-rail-CYLWrRmm.js +0 -280
  136. package/dist/_chunks/circle-arrow-up-CC_85SuH.js +0 -16
  137. package/dist/_chunks/dropdown-menu-CUEXqKis.js +0 -299
  138. package/dist/_chunks/task-tray-B8jFv5FV.js +0 -196
  139. package/dist/_chunks/use-theme-C2dHKUAN.js +0 -145
@@ -9,7 +9,7 @@ import { type VariantProps } from 'class-variance-authority';
9
9
  * note in the user story (layout/separator.mdx).
10
10
  */
11
11
  declare const separatorVariants: (props?: ({
12
- orientation?: "horizontal" | "vertical" | null | undefined;
12
+ orientation?: "vertical" | "horizontal" | null | undefined;
13
13
  intensity?: "strong" | "subtle" | null | undefined;
14
14
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
15
  export interface SeparatorProps extends Omit<HTMLAttributes<HTMLDivElement>, 'role' | 'aria-orientation'>, VariantProps<typeof separatorVariants> {
@@ -1,4 +1,4 @@
1
- import { S as r, a as i, b as s, c as d, d as S, e as b, f as t, g as o, h as m, i as n, j as p, k as l, l as c, m as g, n as u, o as I, p as P, q as f, s as h, u as B } from "../../_chunks/sidebar-h78cTNLh.js";
1
+ import { S as r, a as i, b as s, c as d, d as S, e as b, f as t, g as o, h as m, i as n, j as p, k as l, l as c, m as g, n as u, o as I, p as P, q as f, s as h, u as B } from "../../_chunks/sidebar-DPEHzxLZ.js";
2
2
  import { u as k } from "../../_chunks/use-persistent-state-i23OWy6G.js";
3
3
  export {
4
4
  r as Sidebar,
@@ -27,6 +27,14 @@ export interface SidebarProps extends ComponentPropsWithoutRef<'nav'> {
27
27
  open?: boolean;
28
28
  /** Overlay-only: fires when the dialog opens/closes. */
29
29
  onOpenChange?: (open: boolean) => void;
30
+ /**
31
+ * Opt-in drag handle on the inline-end edge (expanded mode only).
32
+ * Dragging or arrow keys write the committed width to the
33
+ * `--sidebar-modern-expanded-size` custom property on the root;
34
+ * Enter / double-click resets to the token default (248px).
35
+ * @default false
36
+ */
37
+ resizable?: boolean;
30
38
  /** Override the nav aria-label. */
31
39
  'aria-label'?: string;
32
40
  }
@@ -1,4 +1,4 @@
1
- import { S as o, s } from "../../_chunks/sign-document-CZkAf28g.js";
1
+ import { S as o, s } from "../../_chunks/sign-document-Bzld9jVM.js";
2
2
  export {
3
3
  o as SignDocument,
4
4
  s as signDocumentAgent
@@ -3,12 +3,12 @@ import * as TabsPrimitive from '@radix-ui/react-tabs';
3
3
  import { type VariantProps } from 'class-variance-authority';
4
4
  export declare const tabsListVariants: (props?: ({
5
5
  variant?: "default" | "underlined" | "pills" | null | undefined;
6
- orientation?: "horizontal" | "vertical" | null | undefined;
6
+ orientation?: "vertical" | "horizontal" | null | undefined;
7
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
8
  export declare const tabsTriggerVariants: (props?: ({
9
9
  variant?: "default" | "underlined" | "pills" | null | undefined;
10
10
  size?: "sm" | "md" | "lg" | null | undefined;
11
- orientation?: "horizontal" | "vertical" | null | undefined;
11
+ orientation?: "vertical" | "horizontal" | null | undefined;
12
12
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
13
13
  type TabsOverflow = 'dropdown' | 'select';
14
14
  export interface TabsHandle {
@@ -1,4 +1,4 @@
1
- import { T as s, i as t } from "../../_chunks/task-card-CPyQ5AXC.js";
1
+ import { T as s, i as t } from "../../_chunks/task-card-BwY9jaV1.js";
2
2
  import { t as o } from "../../_chunks/task-card.agent-CUPKYd7w.js";
3
3
  export {
4
4
  s as TaskCard,
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  export type TaskStatus = 'open' | 'in-progress' | 'done';
4
4
  export type TaskPriority = 'low' | 'normal' | 'high';
@@ -15,6 +15,14 @@ export interface TaskItem {
15
15
  * the localised string.
16
16
  */
17
17
  dueLabel?: string;
18
+ /**
19
+ * Linked-entity line (the patient / company / operator the task points
20
+ * at). Rendered as an eyebrow under the description; localised by the
21
+ * consumer (e.g. "Patient: Mario Rossi").
22
+ */
23
+ linkedLabel?: string;
24
+ /** Free-text note attached to the task — muted body line, clamped. */
25
+ note?: string;
18
26
  /** Lifecycle state — drives the leading icon. */
19
27
  status?: TaskStatus;
20
28
  /** Priority — `high` colours the leading icon as `--destructive`. */
@@ -29,6 +37,12 @@ export interface TaskCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onC
29
37
  size?: 'sm' | 'md';
30
38
  /** Fires when the row is activated (click / Enter / Space). */
31
39
  onActivate?: (item: TaskItem) => void;
40
+ /**
41
+ * Trailing per-row action toolbar (icon buttons: mark done, schedule,
42
+ * edit, …). Rendered above the stretched-link overlay so the controls
43
+ * stay clickable inside an interactive row.
44
+ */
45
+ actions?: ReactNode;
32
46
  }
33
47
  declare const taskCardVariants: (props?: ({
34
48
  size?: "sm" | "md" | null | undefined;
@@ -1,4 +1,4 @@
1
- import { T as s, t } from "../../_chunks/task-tray-B8jFv5FV.js";
1
+ import { T as s, t } from "../../_chunks/task-tray-Cb_hK4yb.js";
2
2
  export {
3
3
  s as TaskTray,
4
4
  t as taskTrayAgent
@@ -1,4 +1,4 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  import { type TaskItem } from '../task-card';
4
4
  declare const taskTrayVariants: (props?: ({
@@ -45,6 +45,29 @@ export interface TaskTrayProps extends Omit<HTMLAttributes<HTMLElement>, 'onClic
45
45
  /** Render an empty state when `items` is empty and `loading` is false. */
46
46
  emptyTitle?: string;
47
47
  emptyDescription?: string;
48
+ /** Optional CTA wired into the empty state (EmptyState primaryAction). */
49
+ emptyAction?: {
50
+ label: string;
51
+ onClick: () => void;
52
+ };
53
+ /**
54
+ * Pinned footer link (e.g. "All my undone tasks (12)"). Localised by
55
+ * the consumer; rendered after the list, before the section closes.
56
+ */
57
+ viewAllLabel?: string;
58
+ /** Fires when the footer link is activated. Required to render it. */
59
+ onViewAll?: () => void;
60
+ /**
61
+ * Per-row trailing action toolbar, forwarded to each TaskCard's
62
+ * `actions` slot.
63
+ */
64
+ renderItemActions?: (item: TaskItem) => ReactNode;
65
+ /**
66
+ * Constrain the list to the tray's own height and scroll inside it —
67
+ * pair with a height/max-height on `className`. The scroll region is
68
+ * keyboard-focusable so it stays operable without a pointer.
69
+ */
70
+ scrollable?: boolean;
48
71
  }
49
72
  export declare const TaskTray: import("react").ForwardRefExoticComponent<TaskTrayProps & import("react").RefAttributes<HTMLElement>>;
50
73
  export {};
@@ -1,4 +1,4 @@
1
- import { T as o, t } from "../../_chunks/theme-toggle-ClATnY4Q.js";
1
+ import { T as o, t } from "../../_chunks/theme-toggle-DAW7uC0B.js";
2
2
  export {
3
3
  o as ThemeToggle,
4
4
  t as themeToggleAgent
@@ -1,4 +1,4 @@
1
- import { W as n } from "../../_chunks/warning-stack-CXfoAT-_.js";
1
+ import { W as n } from "../../_chunks/warning-stack-Cv4fr5zo.js";
2
2
  export {
3
3
  n as WarningStack
4
4
  };
@@ -1,4 +1,4 @@
1
- import { C as r, W as e, a as s, b as d, c as w, i as t, l as f, m as l, r as i, w as k, d as n, e as A, f as C } from "../../_chunks/workflow-map-DzX_LI4y.js";
1
+ import { C as r, W as e, a as s, b as d, c as w, i as t, l as f, m as l, r as i, w as k, d as n, e as A, f as C } from "../../_chunks/workflow-map-BJDUNYlX.js";
2
2
  export {
3
3
  r as CORE_PATIENT_FIELDS,
4
4
  e as WorkflowCard,
@@ -1,7 +1,7 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
2
  import { type EnrollmentCriteria, type WorkflowGraph } from './workflow-types';
3
3
  declare const rootVariants: (props?: ({
4
- orientation?: "horizontal" | "vertical" | null | undefined;
4
+ orientation?: "vertical" | "horizontal" | null | undefined;
5
5
  compact?: boolean | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  export interface WorkflowMapProps extends VariantProps<typeof rootVariants> {
@@ -17,4 +17,5 @@ export { useDirection, useDocumentDirection, type Direction, } from './use-direc
17
17
  export { usePersistentState } from './use-persistent-state';
18
18
  export { useIsomorphicLayoutEffect } from './use-isomorphic-layout-effect';
19
19
  export { useWebOtp, type UseWebOtpOptions } from './use-web-otp';
20
+ export { useEdgeResize, type UseEdgeResizeOptions, type UseEdgeResizeReturn, type EdgeResizeSeparatorProps, } from './use-edge-resize';
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1,17 +1,18 @@
1
1
  import { u as v } from "../_chunks/use-prefers-reduced-motion-BMwIQRjB.js";
2
2
  import { u as D } from "../_chunks/use-media-query-CcAx5SMM.js";
3
3
  import { u as _ } from "../_chunks/use-scroll-to-first-error-4Za-u5Nw.js";
4
- import { u as O } from "../_chunks/use-count-up-BLLetaZ8.js";
5
- import { u as k } from "../_chunks/use-locale-BkCIHujH.js";
6
- import { A as K, T as R, a as H, r as M, t as Y, u as q } from "../_chunks/use-theme-C2dHKUAN.js";
4
+ import { u as I } from "../_chunks/use-count-up-BLLetaZ8.js";
5
+ import { u as R } from "../_chunks/use-locale-BkCIHujH.js";
6
+ import { A as w, T as K, a as H, r as M, t as Y, u as q } from "../_chunks/use-theme-CAuo6EYT.js";
7
7
  import { u as G } from "../_chunks/use-controllable-state-BiY4xTzM.js";
8
8
  import { u as U } from "../_chunks/use-copy-to-clipboard-Cyfc_dlv.js";
9
9
  import { u as j } from "../_chunks/use-debounced-callback-BisrB-Fq.js";
10
10
  import { useState as x, useRef as b, useEffect as E } from "react";
11
- import { u as W, a as z } from "../_chunks/use-direction-Dp8h70PP.js";
11
+ import { u as Q, a as W } from "../_chunks/use-direction-Dp8h70PP.js";
12
12
  import { u as N } from "../_chunks/use-persistent-state-i23OWy6G.js";
13
13
  import { u as Z } from "../_chunks/use-isomorphic-layout-effect-BGfaCOP1.js";
14
14
  import { u as ee } from "../_chunks/use-web-otp-D_utzp6S.js";
15
+ import { u as re } from "../_chunks/use-edge-resize-ZnGG7gyO.js";
15
16
  function S(e, o) {
16
17
  const [t, c] = x(e), u = b(null);
17
18
  return E(() => {
@@ -82,21 +83,22 @@ function C(e, o = {}) {
82
83
  }, [t, c, u, e]);
83
84
  }
84
85
  export {
85
- K as ACCESSIBILITY_STORAGE_KEY,
86
- R as THEME_CLASS,
86
+ w as ACCESSIBILITY_STORAGE_KEY,
87
+ K as THEME_CLASS,
87
88
  H as THEME_STORAGE_KEY,
88
89
  M as resolveTheme,
89
90
  Y as themeClassList,
90
91
  G as useControllableState,
91
92
  U as useCopyToClipboard,
92
- O as useCountUp,
93
+ I as useCountUp,
93
94
  j as useDebouncedCallback,
94
95
  S as useDebouncedValue,
95
- W as useDirection,
96
- z as useDocumentDirection,
96
+ Q as useDirection,
97
+ W as useDocumentDirection,
98
+ re as useEdgeResize,
97
99
  C as useFocusTrap,
98
100
  Z as useIsomorphicLayoutEffect,
99
- k as useLocale,
101
+ R as useLocale,
100
102
  D as useMediaQuery,
101
103
  N as usePersistentState,
102
104
  v as usePrefersReducedMotion,
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Pixel-based edge-resize for fixed-width chrome surfaces (the Sidebar's
3
+ * inline-end edge, the AiToolsRail panel's inner edge). Mirrors the
4
+ * separator semantics of `Resizable`'s Handle — `role="separator"`,
5
+ * arrow keys with RTL flip, Shift for coarse steps, Home/End to the
6
+ * extremes, Enter or double-click to reset — but sizes a single target
7
+ * element in pixels instead of distributing percentages across a panel
8
+ * group.
9
+ *
10
+ * The hook owns the interaction and writes the resolved width to a CSS
11
+ * custom property on the target element (the same property the
12
+ * component's width classes already read), so the component keeps its
13
+ * `var(--…)`-driven classes and no inline `width` ever appears. Reset
14
+ * removes the override entirely, returning the surface to its
15
+ * token-driven default.
16
+ */
17
+ import { type KeyboardEvent, type PointerEvent as ReactPointerEvent, type RefObject } from 'react';
18
+ export interface UseEdgeResizeOptions {
19
+ /**
20
+ * Which logical edge of the target carries the handle. `inline-end`
21
+ * for a start-docked surface (Sidebar); `inline-start` for an
22
+ * end-docked one (AiToolsRail panel with `side="end"`).
23
+ */
24
+ edge: 'inline-start' | 'inline-end';
25
+ /** The element being resized. The width override lands on its style. */
26
+ targetRef: RefObject<HTMLElement | null>;
27
+ /**
28
+ * CSS custom property the target's width classes read
29
+ * (e.g. `--sidebar-modern-expanded-size`). Written as `<px>px` on
30
+ * resize, removed on reset.
31
+ */
32
+ cssProperty: string;
33
+ /** Clamp floor, px. */
34
+ minSize: number;
35
+ /** Clamp ceiling, px. */
36
+ maxSize: number;
37
+ /**
38
+ * Nominal default width, px — used for `aria-valuenow` before the
39
+ * element has been measured (SSR / jsdom) and as the reset target.
40
+ */
41
+ defaultSize: number;
42
+ /** Disables the interaction (handlers no-op, `aria-disabled` set). */
43
+ disabled?: boolean;
44
+ /** Fired with the committed px width; `null` means reset-to-default. */
45
+ onResize?: (size: number | null) => void;
46
+ }
47
+ export interface EdgeResizeSeparatorProps {
48
+ role: 'separator';
49
+ tabIndex: number;
50
+ 'aria-orientation': 'vertical';
51
+ 'aria-valuemin': number;
52
+ 'aria-valuemax': number;
53
+ 'aria-valuenow': number;
54
+ 'aria-valuetext': string;
55
+ 'aria-disabled': boolean | undefined;
56
+ onPointerDown: (event: ReactPointerEvent<HTMLElement>) => void;
57
+ onPointerMove: (event: ReactPointerEvent<HTMLElement>) => void;
58
+ onPointerUp: (event: ReactPointerEvent<HTMLElement>) => void;
59
+ onPointerCancel: (event: ReactPointerEvent<HTMLElement>) => void;
60
+ onKeyDown: (event: KeyboardEvent<HTMLElement>) => void;
61
+ onDoubleClick: () => void;
62
+ }
63
+ export interface UseEdgeResizeReturn {
64
+ /**
65
+ * Spread onto the handle element (a plain `<div>`). Add `aria-label`,
66
+ * and give the handle a `ds:touch-none` class — touch browsers decide
67
+ * scroll-vs-drag at gesture start, before any pointer handler runs.
68
+ */
69
+ separatorProps: EdgeResizeSeparatorProps;
70
+ /** True while a pointer drag is in flight — suppress width transitions. */
71
+ isResizing: boolean;
72
+ /** True once the user has overridden the token-driven default. */
73
+ isResized: boolean;
74
+ /** Programmatic reset to the token-driven default width. */
75
+ reset: () => void;
76
+ }
77
+ export declare function useEdgeResize({ edge, targetRef, cssProperty, minSize, maxSize, defaultSize, disabled, onResize, }: UseEdgeResizeOptions): UseEdgeResizeReturn;
78
+ //# sourceMappingURL=use-edge-resize.d.ts.map
@@ -333,6 +333,7 @@ export declare const arUi: {
333
333
  readonly resizable: {
334
334
  readonly resizeLabel: "تغيير حجم الأجزاء";
335
335
  readonly sizeAnnounce: "{{percent}} من المساحة المتاحة";
336
+ readonly widthAnnounce: "{{width}} بكسل";
336
337
  };
337
338
  readonly tag: {
338
339
  readonly remove: "إزالة {{label}}";
@@ -612,6 +613,7 @@ export declare const arUi: {
612
613
  readonly confirmed: "مؤكد";
613
614
  readonly pending: "قيد الانتظار";
614
615
  readonly cancelled: "ملغى";
616
+ readonly absent: "غائب";
615
617
  };
616
618
  };
617
619
  readonly agendaTray: {
@@ -699,6 +701,7 @@ export declare const arUi: {
699
701
  readonly unpinItem: "إلغاء تثبيت {{label}}";
700
702
  readonly reorderHandle: "إعادة ترتيب {{label}}. اضغط Alt + أعلى أو Alt + أسفل للنقل.";
701
703
  readonly reorderAnnounce: "تم نقل {{label}} إلى الموضع {{to}} من {{total}}";
704
+ readonly resize: "تغيير حجم الشريط الجانبي للتنقل";
702
705
  };
703
706
  readonly header: {
704
707
  readonly label: "رأس الصفحة";
@@ -2560,6 +2563,7 @@ export declare const arUi: {
2560
2563
  readonly aiToolsRail: {
2561
2564
  readonly railLabel: "AI tools";
2562
2565
  readonly panelLabel: "{{tool}} panel";
2566
+ readonly resizePanel: "تغيير حجم لوحة الأداة";
2563
2567
  readonly badgeCountOverflow: "99+";
2564
2568
  readonly toolWithCount_zero: "{{tool}}, {{count}} updates";
2565
2569
  readonly toolWithCount_one: "{{tool}}, {{count}} update";
@@ -325,7 +325,8 @@ const e = {
325
325
  },
326
326
  resizable: {
327
327
  resizeLabel: "تغيير حجم الأجزاء",
328
- sizeAnnounce: "{{percent}} من المساحة المتاحة"
328
+ sizeAnnounce: "{{percent}} من المساحة المتاحة",
329
+ widthAnnounce: "{{width}} بكسل"
329
330
  },
330
331
  tag: {
331
332
  remove: "إزالة {{label}}",
@@ -604,7 +605,8 @@ const e = {
604
605
  status: {
605
606
  confirmed: "مؤكد",
606
607
  pending: "قيد الانتظار",
607
- cancelled: "ملغى"
608
+ cancelled: "ملغى",
609
+ absent: "غائب"
608
610
  }
609
611
  },
610
612
  agendaTray: {
@@ -691,7 +693,8 @@ const e = {
691
693
  pinItem: "تثبيت {{label}}",
692
694
  unpinItem: "إلغاء تثبيت {{label}}",
693
695
  reorderHandle: "إعادة ترتيب {{label}}. اضغط Alt + أعلى أو Alt + أسفل للنقل.",
694
- reorderAnnounce: "تم نقل {{label}} إلى الموضع {{to}} من {{total}}"
696
+ reorderAnnounce: "تم نقل {{label}} إلى الموضع {{to}} من {{total}}",
697
+ resize: "تغيير حجم الشريط الجانبي للتنقل"
695
698
  },
696
699
  header: {
697
700
  label: "رأس الصفحة"
@@ -2536,6 +2539,7 @@ const e = {
2536
2539
  aiToolsRail: {
2537
2540
  railLabel: "AI tools",
2538
2541
  panelLabel: "{{tool}} panel",
2542
+ resizePanel: "تغيير حجم لوحة الأداة",
2539
2543
  badgeCountOverflow: "99+",
2540
2544
  toolWithCount_zero: "{{tool}}, {{count}} updates",
2541
2545
  toolWithCount_one: "{{tool}}, {{count}} update",
@@ -333,6 +333,7 @@ export declare const deUi: {
333
333
  readonly resizable: {
334
334
  readonly resizeLabel: "Bereiche anpassen";
335
335
  readonly sizeAnnounce: "{{percent}} des verfügbaren Platzes";
336
+ readonly widthAnnounce: "{{width}} Pixel";
336
337
  };
337
338
  readonly tag: {
338
339
  readonly remove: "{{label}} entfernen";
@@ -612,6 +613,7 @@ export declare const deUi: {
612
613
  readonly confirmed: "Bestätigt";
613
614
  readonly pending: "Ausstehend";
614
615
  readonly cancelled: "Storniert";
616
+ readonly absent: "Abwesend";
615
617
  };
616
618
  };
617
619
  readonly agendaTray: {
@@ -699,6 +701,7 @@ export declare const deUi: {
699
701
  readonly unpinItem: "{{label}} lösen";
700
702
  readonly reorderHandle: "{{label}} neu anordnen. Drücken Sie Alt + Oben oder Alt + Unten, um zu verschieben.";
701
703
  readonly reorderAnnounce: "{{label}} an Position {{to}} von {{total}} verschoben";
704
+ readonly resize: "Größe der Navigationsseitenleiste ändern";
702
705
  };
703
706
  readonly header: {
704
707
  readonly label: "Seitenkopf";
@@ -2560,6 +2563,7 @@ export declare const deUi: {
2560
2563
  readonly aiToolsRail: {
2561
2564
  readonly railLabel: "AI tools";
2562
2565
  readonly panelLabel: "{{tool}} panel";
2566
+ readonly resizePanel: "Größe des Tool-Bereichs ändern";
2563
2567
  readonly badgeCountOverflow: "99+";
2564
2568
  readonly toolWithCount_zero: "{{tool}}, {{count}} updates";
2565
2569
  readonly toolWithCount_one: "{{tool}}, {{count}} update";
@@ -325,7 +325,8 @@ const e = {
325
325
  },
326
326
  resizable: {
327
327
  resizeLabel: "Bereiche anpassen",
328
- sizeAnnounce: "{{percent}} des verfügbaren Platzes"
328
+ sizeAnnounce: "{{percent}} des verfügbaren Platzes",
329
+ widthAnnounce: "{{width}} Pixel"
329
330
  },
330
331
  tag: {
331
332
  remove: "{{label}} entfernen",
@@ -604,7 +605,8 @@ const e = {
604
605
  status: {
605
606
  confirmed: "Bestätigt",
606
607
  pending: "Ausstehend",
607
- cancelled: "Storniert"
608
+ cancelled: "Storniert",
609
+ absent: "Abwesend"
608
610
  }
609
611
  },
610
612
  agendaTray: {
@@ -691,7 +693,8 @@ const e = {
691
693
  pinItem: "{{label}} anheften",
692
694
  unpinItem: "{{label}} lösen",
693
695
  reorderHandle: "{{label}} neu anordnen. Drücken Sie Alt + Oben oder Alt + Unten, um zu verschieben.",
694
- reorderAnnounce: "{{label}} an Position {{to}} von {{total}} verschoben"
696
+ reorderAnnounce: "{{label}} an Position {{to}} von {{total}} verschoben",
697
+ resize: "Größe der Navigationsseitenleiste ändern"
695
698
  },
696
699
  header: {
697
700
  label: "Seitenkopf"
@@ -2535,6 +2538,7 @@ const e = {
2535
2538
  aiToolsRail: {
2536
2539
  railLabel: "AI tools",
2537
2540
  panelLabel: "{{tool}} panel",
2541
+ resizePanel: "Größe des Tool-Bereichs ändern",
2538
2542
  badgeCountOverflow: "99+",
2539
2543
  toolWithCount_zero: "{{tool}}, {{count}} updates",
2540
2544
  toolWithCount_one: "{{tool}}, {{count}} update",
@@ -330,6 +330,7 @@ export declare const elUi: {
330
330
  readonly resizable: {
331
331
  readonly resizeLabel: "Αλλαγή μεγέθους πάνελ";
332
332
  readonly sizeAnnounce: "{{percent}} του διαθέσιμου χώρου";
333
+ readonly widthAnnounce: "{{width}} εικονοστοιχεία";
333
334
  };
334
335
  readonly tag: {
335
336
  readonly remove: "Αφαίρεση {{label}}";
@@ -609,6 +610,7 @@ export declare const elUi: {
609
610
  readonly confirmed: "Επιβεβαιωμένο";
610
611
  readonly pending: "Εκκρεμεί";
611
612
  readonly cancelled: "Ακυρωμένο";
613
+ readonly absent: "Απών";
612
614
  };
613
615
  };
614
616
  readonly agendaTray: {
@@ -696,6 +698,7 @@ export declare const elUi: {
696
698
  readonly unpinItem: "Αφαίρεση {{label}} από τα καρφιτσωμένα";
697
699
  readonly reorderHandle: "Αναδιάταξη {{label}}. Πατήστε Alt + Πάνω ή Alt + Κάτω για μετακίνηση.";
698
700
  readonly reorderAnnounce: "{{label}} μετακινήθηκε στη θέση {{to}} από {{total}}";
701
+ readonly resize: "Αλλαγή μεγέθους πλευρικής μπάρας πλοήγησης";
699
702
  };
700
703
  readonly header: {
701
704
  readonly label: "Κεφαλίδα σελίδας";
@@ -2557,6 +2560,7 @@ export declare const elUi: {
2557
2560
  readonly aiToolsRail: {
2558
2561
  readonly railLabel: "AI tools";
2559
2562
  readonly panelLabel: "{{tool}} panel";
2563
+ readonly resizePanel: "Αλλαγή μεγέθους πάνελ εργαλείου";
2560
2564
  readonly badgeCountOverflow: "99+";
2561
2565
  readonly toolWithCount_zero: "{{tool}}, {{count}} updates";
2562
2566
  readonly toolWithCount_one: "{{tool}}, {{count}} update";
@@ -325,7 +325,8 @@ const e = {
325
325
  },
326
326
  resizable: {
327
327
  resizeLabel: "Αλλαγή μεγέθους πάνελ",
328
- sizeAnnounce: "{{percent}} του διαθέσιμου χώρου"
328
+ sizeAnnounce: "{{percent}} του διαθέσιμου χώρου",
329
+ widthAnnounce: "{{width}} εικονοστοιχεία"
329
330
  },
330
331
  tag: {
331
332
  remove: "Αφαίρεση {{label}}",
@@ -604,7 +605,8 @@ const e = {
604
605
  status: {
605
606
  confirmed: "Επιβεβαιωμένο",
606
607
  pending: "Εκκρεμεί",
607
- cancelled: "Ακυρωμένο"
608
+ cancelled: "Ακυρωμένο",
609
+ absent: "Απών"
608
610
  }
609
611
  },
610
612
  agendaTray: {
@@ -691,7 +693,8 @@ const e = {
691
693
  pinItem: "Καρφίτσωμα {{label}}",
692
694
  unpinItem: "Αφαίρεση {{label}} από τα καρφιτσωμένα",
693
695
  reorderHandle: "Αναδιάταξη {{label}}. Πατήστε Alt + Πάνω ή Alt + Κάτω για μετακίνηση.",
694
- reorderAnnounce: "{{label}} μετακινήθηκε στη θέση {{to}} από {{total}}"
696
+ reorderAnnounce: "{{label}} μετακινήθηκε στη θέση {{to}} από {{total}}",
697
+ resize: "Αλλαγή μεγέθους πλευρικής μπάρας πλοήγησης"
695
698
  },
696
699
  header: {
697
700
  label: "Κεφαλίδα σελίδας"
@@ -2536,6 +2539,7 @@ const e = {
2536
2539
  aiToolsRail: {
2537
2540
  railLabel: "AI tools",
2538
2541
  panelLabel: "{{tool}} panel",
2542
+ resizePanel: "Αλλαγή μεγέθους πάνελ εργαλείου",
2539
2543
  badgeCountOverflow: "99+",
2540
2544
  toolWithCount_zero: "{{tool}}, {{count}} updates",
2541
2545
  toolWithCount_one: "{{tool}}, {{count}} update",
@@ -330,6 +330,7 @@ export declare const enUi: {
330
330
  readonly resizable: {
331
331
  readonly resizeLabel: "Resize panels";
332
332
  readonly sizeAnnounce: "{{percent}} of available space";
333
+ readonly widthAnnounce: "{{width}} pixels";
333
334
  };
334
335
  readonly tag: {
335
336
  readonly remove: "Remove {{label}}";
@@ -609,6 +610,7 @@ export declare const enUi: {
609
610
  readonly confirmed: "Confirmed";
610
611
  readonly pending: "Pending";
611
612
  readonly cancelled: "Cancelled";
613
+ readonly absent: "Absent";
612
614
  };
613
615
  };
614
616
  readonly agendaTray: {
@@ -696,6 +698,7 @@ export declare const enUi: {
696
698
  readonly unpinItem: "Unpin {{label}}";
697
699
  readonly reorderHandle: "Reorder {{label}}. Press Alt + Up or Alt + Down to move.";
698
700
  readonly reorderAnnounce: "{{label}} moved to position {{to}} of {{total}}";
701
+ readonly resize: "Resize navigation sidebar";
699
702
  };
700
703
  readonly header: {
701
704
  readonly label: "Page header";
@@ -2557,6 +2560,7 @@ export declare const enUi: {
2557
2560
  readonly aiToolsRail: {
2558
2561
  readonly railLabel: "AI tools";
2559
2562
  readonly panelLabel: "{{tool}} panel";
2563
+ readonly resizePanel: "Resize tool panel";
2560
2564
  readonly badgeCountOverflow: "99+";
2561
2565
  readonly toolWithCount_zero: "{{tool}}, {{count}} updates";
2562
2566
  readonly toolWithCount_one: "{{tool}}, {{count}} update";
@@ -305,7 +305,8 @@ const e = {
305
305
  },
306
306
  resizable: {
307
307
  resizeLabel: "Resize panels",
308
- sizeAnnounce: "{{percent}} of available space"
308
+ sizeAnnounce: "{{percent}} of available space",
309
+ widthAnnounce: "{{width}} pixels"
309
310
  },
310
311
  tag: {
311
312
  remove: "Remove {{label}}",
@@ -587,7 +588,8 @@ const e = {
587
588
  status: {
588
589
  confirmed: "Confirmed",
589
590
  pending: "Pending",
590
- cancelled: "Cancelled"
591
+ cancelled: "Cancelled",
592
+ absent: "Absent"
591
593
  }
592
594
  },
593
595
  agendaTray: {
@@ -674,7 +676,8 @@ const e = {
674
676
  pinItem: "Pin {{label}}",
675
677
  unpinItem: "Unpin {{label}}",
676
678
  reorderHandle: "Reorder {{label}}. Press Alt + Up or Alt + Down to move.",
677
- reorderAnnounce: "{{label}} moved to position {{to}} of {{total}}"
679
+ reorderAnnounce: "{{label}} moved to position {{to}} of {{total}}",
680
+ resize: "Resize navigation sidebar"
678
681
  },
679
682
  header: {
680
683
  label: "Page header"
@@ -2535,6 +2538,7 @@ const e = {
2535
2538
  aiToolsRail: {
2536
2539
  railLabel: "AI tools",
2537
2540
  panelLabel: "{{tool}} panel",
2541
+ resizePanel: "Resize tool panel",
2538
2542
  badgeCountOverflow: "99+",
2539
2543
  toolWithCount_zero: "{{tool}}, {{count}} updates",
2540
2544
  toolWithCount_one: "{{tool}}, {{count}} update",
@@ -330,6 +330,7 @@ export declare const esUi: {
330
330
  readonly resizable: {
331
331
  readonly resizeLabel: "Redimensionar paneles";
332
332
  readonly sizeAnnounce: "{{percent}} del espacio disponible";
333
+ readonly widthAnnounce: "{{width}} píxeles";
333
334
  };
334
335
  readonly tag: {
335
336
  readonly remove: "Eliminar {{label}}";
@@ -609,6 +610,7 @@ export declare const esUi: {
609
610
  readonly confirmed: "Confirmado";
610
611
  readonly pending: "Pendiente";
611
612
  readonly cancelled: "Cancelado";
613
+ readonly absent: "Ausente";
612
614
  };
613
615
  };
614
616
  readonly agendaTray: {
@@ -696,6 +698,7 @@ export declare const esUi: {
696
698
  readonly unpinItem: "Desanclar {{label}} de los fijados";
697
699
  readonly reorderHandle: "Reordenar {{label}}. Pulse Alt + Arriba o Alt + Abajo para mover.";
698
700
  readonly reorderAnnounce: "{{label}} movido a la posición {{to}} de {{total}}";
701
+ readonly resize: "Redimensionar barra lateral de navegación";
699
702
  };
700
703
  readonly header: {
701
704
  readonly label: "Encabezado de página";
@@ -2557,6 +2560,7 @@ export declare const esUi: {
2557
2560
  readonly aiToolsRail: {
2558
2561
  readonly railLabel: "AI tools";
2559
2562
  readonly panelLabel: "{{tool}} panel";
2563
+ readonly resizePanel: "Redimensionar panel de herramientas";
2560
2564
  readonly badgeCountOverflow: "99+";
2561
2565
  readonly toolWithCount_zero: "{{tool}}, {{count}} updates";
2562
2566
  readonly toolWithCount_one: "{{tool}}, {{count}} update";