@alfadocs/ui-kit-debug 1.75.1 → 1.77.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 (200) hide show
  1. package/dist/_chunks/{balance-badge-cell-B49xgL6H.js → balance-badge-cell-Dzd-Z_5W.js} +2 -2
  2. package/dist/_chunks/{balance-badge-cell-B49xgL6H.js.map → balance-badge-cell-Dzd-Z_5W.js.map} +1 -1
  3. package/dist/_chunks/booking-Cz_QjIJe.js +4051 -0
  4. package/dist/_chunks/booking-Cz_QjIJe.js.map +1 -0
  5. package/dist/_chunks/{breadcrumb-Boan-5n8.js → breadcrumb-Bn29NCnf.js} +8 -8
  6. package/dist/_chunks/breadcrumb-Bn29NCnf.js.map +1 -0
  7. package/dist/_chunks/{calendar-appointment-editor-dialog-B4My4eiB.js → calendar-appointment-editor-dialog-cvUpUjj-.js} +4 -4
  8. package/dist/_chunks/{calendar-appointment-editor-dialog-B4My4eiB.js.map → calendar-appointment-editor-dialog-cvUpUjj-.js.map} +1 -1
  9. package/dist/_chunks/{control-room-rail-CKZ2nemY.js → control-room-rail-DcJpHbp4.js} +2 -2
  10. package/dist/_chunks/{control-room-rail-CKZ2nemY.js.map → control-room-rail-DcJpHbp4.js.map} +1 -1
  11. package/dist/_chunks/{data-table-DTKGWUQm.js → data-table-BlONA1rP.js} +2 -2
  12. package/dist/_chunks/{data-table-DTKGWUQm.js.map → data-table-BlONA1rP.js.map} +1 -1
  13. package/dist/_chunks/{file-manager-Ct5QpZZI.js → file-manager-C9iJjDZt.js} +3 -3
  14. package/dist/_chunks/{file-manager-Ct5QpZZI.js.map → file-manager-C9iJjDZt.js.map} +1 -1
  15. package/dist/_chunks/{header-settings-Coh1r41O.js → header-settings-BYpVmLip.js} +2 -2
  16. package/dist/_chunks/{header-settings-Coh1r41O.js.map → header-settings-BYpVmLip.js.map} +1 -1
  17. package/dist/_chunks/{heatmap-Ba9cgfSY.js → heatmap-C2Rg-SV_.js} +2 -2
  18. package/dist/_chunks/{heatmap-Ba9cgfSY.js.map → heatmap-C2Rg-SV_.js.map} +1 -1
  19. package/dist/_chunks/{marketplace-app-shell-Ck5NVJcO.js → marketplace-app-shell-mS7Q2-81.js} +3 -3
  20. package/dist/_chunks/{marketplace-app-shell-Ck5NVJcO.js.map → marketplace-app-shell-mS7Q2-81.js.map} +1 -1
  21. package/dist/_chunks/{notes-panel-CxjMovCh.js → notes-panel-CZO1qsD-.js} +2 -2
  22. package/dist/_chunks/{notes-panel-CxjMovCh.js.map → notes-panel-CZO1qsD-.js.map} +1 -1
  23. package/dist/_chunks/{otp-input-CGMu30_e.js → otp-input-BgEZi0py.js} +54 -53
  24. package/dist/_chunks/otp-input-BgEZi0py.js.map +1 -0
  25. package/dist/_chunks/{practice-results-B4Z5q46r.js → practice-results-By2BZFCz.js} +820 -783
  26. package/dist/_chunks/practice-results-By2BZFCz.js.map +1 -0
  27. package/dist/_chunks/{recaptcha-widget-CsvwlYTE.js → recaptcha-widget-iglUBIF3.js} +2 -2
  28. package/dist/_chunks/{recaptcha-widget-CsvwlYTE.js.map → recaptcha-widget-iglUBIF3.js.map} +1 -1
  29. package/dist/_chunks/{registration-form-DeK2QiJu.js → registration-form-xORq2s4p.js} +3 -3
  30. package/dist/_chunks/{registration-form-DeK2QiJu.js.map → registration-form-xORq2s4p.js.map} +1 -1
  31. package/dist/_chunks/signature-request-DjY-X62H.js +2448 -0
  32. package/dist/_chunks/signature-request-DjY-X62H.js.map +1 -0
  33. package/dist/_chunks/{tasks-panel-Cmr0oMvc.js → tasks-panel-BkjtgjQ8.js} +2 -2
  34. package/dist/_chunks/{tasks-panel-Cmr0oMvc.js.map → tasks-panel-BkjtgjQ8.js.map} +1 -1
  35. package/dist/_chunks/{theme-toggle-DTrUzIBG.js → theme-toggle-DKpzb0-M.js} +2 -2
  36. package/dist/_chunks/{theme-toggle-DTrUzIBG.js.map → theme-toggle-DKpzb0-M.js.map} +1 -1
  37. package/dist/_chunks/{tool-rail-C_9lm0TC.js → tool-rail-Kup1b7xI.js} +2 -2
  38. package/dist/_chunks/{tool-rail-C_9lm0TC.js.map → tool-rail-Kup1b7xI.js.map} +1 -1
  39. package/dist/_chunks/use-theme-CYGyzFgZ.js +196 -0
  40. package/dist/_chunks/use-theme-CYGyzFgZ.js.map +1 -0
  41. package/dist/agent-catalog.json +46 -10
  42. package/dist/agent-i18n/en.json +5 -4
  43. package/dist/components/booking/booking-types.d.ts +22 -1
  44. package/dist/components/booking/booking-types.d.ts.map +1 -1
  45. package/dist/components/booking/booking.agent.d.ts.map +1 -1
  46. package/dist/components/booking/booking.d.ts +1 -1
  47. package/dist/components/booking/booking.d.ts.map +1 -1
  48. package/dist/components/booking/code-step.d.ts +6 -0
  49. package/dist/components/booking/code-step.d.ts.map +1 -0
  50. package/dist/components/booking/index.d.ts +1 -1
  51. package/dist/components/booking/index.d.ts.map +1 -1
  52. package/dist/components/booking/index.js +1 -1
  53. package/dist/components/booking/step-focus.d.ts +9 -0
  54. package/dist/components/booking/step-focus.d.ts.map +1 -0
  55. package/dist/components/booking/use-booking-payment.d.ts +6 -3
  56. package/dist/components/booking/use-booking-payment.d.ts.map +1 -1
  57. package/dist/components/breadcrumb/index.js +1 -1
  58. package/dist/components/control-room-rail/index.js +1 -1
  59. package/dist/components/data-table/index.js +1 -1
  60. package/dist/components/file-manager/index.js +1 -1
  61. package/dist/components/header-settings/index.js +1 -1
  62. package/dist/components/heatmap/index.js +1 -1
  63. package/dist/components/index.d.ts +1 -1
  64. package/dist/components/index.d.ts.map +1 -1
  65. package/dist/components/notes-panel/index.js +1 -1
  66. package/dist/components/otp-input/index.js +1 -1
  67. package/dist/components/otp-input/otp-input.d.ts +1 -0
  68. package/dist/components/otp-input/otp-input.d.ts.map +1 -1
  69. package/dist/components/patient-table/index.js +1 -1
  70. package/dist/components/practice-results/index.d.ts +1 -1
  71. package/dist/components/practice-results/index.d.ts.map +1 -1
  72. package/dist/components/practice-results/index.js +1 -1
  73. package/dist/components/practice-results/practice-results.agent.d.ts.map +1 -1
  74. package/dist/components/practice-results/practice-results.d.ts +4 -0
  75. package/dist/components/practice-results/practice-results.d.ts.map +1 -1
  76. package/dist/components/recaptcha-widget/index.js +1 -1
  77. package/dist/components/tasks-panel/index.js +1 -1
  78. package/dist/components/theme-toggle/index.js +1 -1
  79. package/dist/components/tool-rail/index.js +1 -1
  80. package/dist/hooks/index.d.ts +1 -1
  81. package/dist/hooks/index.d.ts.map +1 -1
  82. package/dist/hooks/index.js +88 -86
  83. package/dist/hooks/use-theme.d.ts +9 -0
  84. package/dist/hooks/use-theme.d.ts.map +1 -1
  85. package/dist/host-compat.css +4 -1
  86. package/dist/i18n/locales/ar.d.ts +29 -0
  87. package/dist/i18n/locales/ar.d.ts.map +1 -1
  88. package/dist/i18n/locales/ar.js +30 -1
  89. package/dist/i18n/locales/ar.js.map +1 -1
  90. package/dist/i18n/locales/de.d.ts +29 -0
  91. package/dist/i18n/locales/de.d.ts.map +1 -1
  92. package/dist/i18n/locales/de.js +30 -1
  93. package/dist/i18n/locales/de.js.map +1 -1
  94. package/dist/i18n/locales/el.d.ts +29 -0
  95. package/dist/i18n/locales/el.d.ts.map +1 -1
  96. package/dist/i18n/locales/el.js +30 -1
  97. package/dist/i18n/locales/el.js.map +1 -1
  98. package/dist/i18n/locales/en.d.ts +29 -0
  99. package/dist/i18n/locales/en.d.ts.map +1 -1
  100. package/dist/i18n/locales/en.js +30 -1
  101. package/dist/i18n/locales/en.js.map +1 -1
  102. package/dist/i18n/locales/es.d.ts +29 -0
  103. package/dist/i18n/locales/es.d.ts.map +1 -1
  104. package/dist/i18n/locales/es.js +30 -1
  105. package/dist/i18n/locales/es.js.map +1 -1
  106. package/dist/i18n/locales/fr.d.ts +29 -0
  107. package/dist/i18n/locales/fr.d.ts.map +1 -1
  108. package/dist/i18n/locales/fr.js +30 -1
  109. package/dist/i18n/locales/fr.js.map +1 -1
  110. package/dist/i18n/locales/hi.d.ts +29 -0
  111. package/dist/i18n/locales/hi.d.ts.map +1 -1
  112. package/dist/i18n/locales/hi.js +30 -1
  113. package/dist/i18n/locales/hi.js.map +1 -1
  114. package/dist/i18n/locales/it.d.ts +29 -0
  115. package/dist/i18n/locales/it.d.ts.map +1 -1
  116. package/dist/i18n/locales/it.js +30 -1
  117. package/dist/i18n/locales/it.js.map +1 -1
  118. package/dist/i18n/locales/ja.d.ts +29 -0
  119. package/dist/i18n/locales/ja.d.ts.map +1 -1
  120. package/dist/i18n/locales/ja.js +30 -1
  121. package/dist/i18n/locales/ja.js.map +1 -1
  122. package/dist/i18n/locales/nl.d.ts +29 -0
  123. package/dist/i18n/locales/nl.d.ts.map +1 -1
  124. package/dist/i18n/locales/nl.js +30 -1
  125. package/dist/i18n/locales/nl.js.map +1 -1
  126. package/dist/i18n/locales/pl.d.ts +29 -0
  127. package/dist/i18n/locales/pl.d.ts.map +1 -1
  128. package/dist/i18n/locales/pl.js +30 -1
  129. package/dist/i18n/locales/pl.js.map +1 -1
  130. package/dist/i18n/locales/pt.d.ts +29 -0
  131. package/dist/i18n/locales/pt.d.ts.map +1 -1
  132. package/dist/i18n/locales/pt.js +30 -1
  133. package/dist/i18n/locales/pt.js.map +1 -1
  134. package/dist/i18n/locales/ro.d.ts +29 -0
  135. package/dist/i18n/locales/ro.d.ts.map +1 -1
  136. package/dist/i18n/locales/ro.js +30 -1
  137. package/dist/i18n/locales/ro.js.map +1 -1
  138. package/dist/i18n/locales/ru.d.ts +29 -0
  139. package/dist/i18n/locales/ru.d.ts.map +1 -1
  140. package/dist/i18n/locales/ru.js +30 -1
  141. package/dist/i18n/locales/ru.js.map +1 -1
  142. package/dist/i18n/locales/sq.d.ts +29 -0
  143. package/dist/i18n/locales/sq.d.ts.map +1 -1
  144. package/dist/i18n/locales/sq.js +30 -1
  145. package/dist/i18n/locales/sq.js.map +1 -1
  146. package/dist/i18n/locales/sv.d.ts +29 -0
  147. package/dist/i18n/locales/sv.d.ts.map +1 -1
  148. package/dist/i18n/locales/sv.js +30 -1
  149. package/dist/i18n/locales/sv.js.map +1 -1
  150. package/dist/i18n/locales/tr.d.ts +29 -0
  151. package/dist/i18n/locales/tr.d.ts.map +1 -1
  152. package/dist/i18n/locales/tr.js +30 -1
  153. package/dist/i18n/locales/tr.js.map +1 -1
  154. package/dist/i18n/locales/zh.d.ts +29 -0
  155. package/dist/i18n/locales/zh.d.ts.map +1 -1
  156. package/dist/i18n/locales/zh.js +30 -1
  157. package/dist/i18n/locales/zh.js.map +1 -1
  158. package/dist/index.js +1209 -1207
  159. package/dist/locales/ar.json +30 -1
  160. package/dist/locales/de.json +30 -1
  161. package/dist/locales/el.json +30 -1
  162. package/dist/locales/en.json +30 -1
  163. package/dist/locales/es.json +30 -1
  164. package/dist/locales/fr.json +30 -1
  165. package/dist/locales/hi.json +30 -1
  166. package/dist/locales/it.json +30 -1
  167. package/dist/locales/ja.json +30 -1
  168. package/dist/locales/nl.json +30 -1
  169. package/dist/locales/pl.json +30 -1
  170. package/dist/locales/pt.json +30 -1
  171. package/dist/locales/ro.json +30 -1
  172. package/dist/locales/ru.json +30 -1
  173. package/dist/locales/sq.json +30 -1
  174. package/dist/locales/sv.json +30 -1
  175. package/dist/locales/tr.json +30 -1
  176. package/dist/locales/zh.json +30 -1
  177. package/dist/patterns/calendar/index.js +1 -1
  178. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  179. package/dist/patterns/registration-form/index.js +1 -1
  180. package/dist/patterns/signature-request/channel-meta.d.ts +8 -2
  181. package/dist/patterns/signature-request/channel-meta.d.ts.map +1 -1
  182. package/dist/patterns/signature-request/index.js +1 -1
  183. package/dist/patterns/signature-request/minor-patient.d.ts +41 -0
  184. package/dist/patterns/signature-request/minor-patient.d.ts.map +1 -0
  185. package/dist/patterns/signature-request/required-documents.d.ts +4 -3
  186. package/dist/patterns/signature-request/required-documents.d.ts.map +1 -1
  187. package/dist/patterns/signature-request/signature-request.d.ts +62 -12
  188. package/dist/patterns/signature-request/signature-request.d.ts.map +1 -1
  189. package/dist/theme-boot.js +26 -0
  190. package/dist/tokens.css +1 -1
  191. package/package.json +4 -2
  192. package/dist/_chunks/booking-D2r19Lia.js +0 -3901
  193. package/dist/_chunks/booking-D2r19Lia.js.map +0 -1
  194. package/dist/_chunks/breadcrumb-Boan-5n8.js.map +0 -1
  195. package/dist/_chunks/otp-input-CGMu30_e.js.map +0 -1
  196. package/dist/_chunks/practice-results-B4Z5q46r.js.map +0 -1
  197. package/dist/_chunks/signature-request-ldmXj2X6.js +0 -2221
  198. package/dist/_chunks/signature-request-ldmXj2X6.js.map +0 -1
  199. package/dist/_chunks/use-theme-CAuo6EYT.js +0 -159
  200. package/dist/_chunks/use-theme-CAuo6EYT.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { jsx as n, jsxs as z } from "react/jsx-runtime";
1
+ import { jsx as n, jsxs as E } from "react/jsx-runtime";
2
2
  import { forwardRef as y, useMemo as P, useRef as $, useImperativeHandle as q, Children as b, isValidElement as x, cloneElement as N, useContext as A, createContext as M } from "react";
3
3
  import * as j from "@radix-ui/react-dropdown-menu";
4
4
  import { Slot as V } from "@radix-ui/react-slot";
@@ -162,8 +162,8 @@ const J = [
162
162
  }), p.push(
163
163
  /* @__PURE__ */ n(I, { children: /* @__PURE__ */ n(T, { hiddenItems: m }) }, "ellipsis")
164
164
  ), p.push(f(!0, "ellipsis-sep")), u.forEach((g, v) => {
165
- const E = v === u.length - 1;
166
- p.push(w(g, E, `a-${v}`)), p.push(f(!E, `a-sep-${v}`));
165
+ const z = v === u.length - 1;
166
+ p.push(w(g, z, `a-${v}`)), p.push(f(!z, `a-sep-${v}`));
167
167
  });
168
168
  }
169
169
  return /* @__PURE__ */ n(
@@ -179,8 +179,8 @@ const J = [
179
179
  );
180
180
  S.displayName = "BreadcrumbList";
181
181
  const Q = [
182
- "ds:inline-flex ds:items-center",
183
- "ds:[max-inline-size:16rem]",
182
+ "ds:inline-flex ds:flex-wrap ds:items-center",
183
+ "ds:[min-inline-size:0] ds:[max-inline-size:100%]",
184
184
  "ds:min-h-[var(--min-target-size)]",
185
185
  "ds:py-[var(--spacing-xs)]"
186
186
  ].join(" "), I = y(
@@ -327,8 +327,8 @@ const Z = [
327
327
  "ds:outline-none"
328
328
  ].join(" "), T = y(({ className: r, hiddenItems: a = [], ...l }, e) => {
329
329
  const { t: s } = k("ui"), t = s("navigation.breadcrumb.showPath");
330
- return /* @__PURE__ */ z(j.Root, { children: [
331
- /* @__PURE__ */ n(j.Trigger, { asChild: !0, children: /* @__PURE__ */ z(
330
+ return /* @__PURE__ */ E(j.Root, { children: [
331
+ /* @__PURE__ */ n(j.Trigger, { asChild: !0, children: /* @__PURE__ */ E(
332
332
  "button",
333
333
  {
334
334
  ref: e,
@@ -391,4 +391,4 @@ export {
391
391
  H as e,
392
392
  U as f
393
393
  };
394
- //# sourceMappingURL=breadcrumb-Boan-5n8.js.map
394
+ //# sourceMappingURL=breadcrumb-Bn29NCnf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb-Bn29NCnf.js","sources":["../../src/components/breadcrumb/breadcrumb.agent.ts","../../src/components/breadcrumb/breadcrumb.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — Breadcrumb. */\n/* */\n/* Breadcrumb is a navigation trail. Items expose their stable route id */\n/* + href ONLY — labels can contain patient names or other PHI and MUST */\n/* NOT be exposed on `data-*` or in adapter state (see PRS §26 §6.1). */\n/* */\n/* See `src/docs/26-agent-readiness.mdx` for the full contract. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { BreadcrumbHandle } from './breadcrumb';\n\nexport interface BreadcrumbAgentItem {\n id: string;\n href?: string;\n}\n\nexport const breadcrumbAgent: AgentAdapter<BreadcrumbHandle> = {\n id: 'breadcrumb',\n capabilities: ['navigate'],\n state: {\n items: {\n type: 'Array<{ id: string, href?: string }>',\n descriptionKey: 'ui.agent.breadcrumb.state.items',\n description:\n 'Ordered list of crumb ids + hrefs in display order. Labels are intentionally excluded — they may contain PHI.',\n read: (handle) => handle.getItems(),\n },\n },\n actions: {\n navigate_to: {\n safety: 'read',\n argsType: '{ id: string }',\n argsSchema: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'Stable opaque crumb id (from getItems).',\n },\n },\n required: ['id'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.breadcrumb.actions.navigateTo',\n description:\n 'Activate the crumb with the given id — equivalent to clicking the link.',\n examples: [\n { args: { id: '/patients' }, note: 'Navigate to the patients crumb.' },\n ],\n invoke: (handle, args: { id: string }) => {\n handle.navigateTo(args.id);\n },\n },\n },\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'breadcrumb',\n description: 'Marks the Breadcrumb root `<nav>`.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n item: {\n attr: 'data-crumb-id',\n description:\n 'Stable opaque id of a crumb. Labels are NEVER carried in data-* — they may contain PHI.',\n },\n },\n};\n","import {\n Children,\n cloneElement,\n createContext,\n forwardRef,\n isValidElement,\n useContext,\n useImperativeHandle,\n useMemo,\n useRef,\n type AnchorHTMLAttributes,\n type ComponentPropsWithoutRef,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport * as DropdownMenu from '@radix-ui/react-dropdown-menu';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { ChevronRight, Ellipsis } from 'lucide-react';\nimport { MENU_ROW_HIGHLIGHT } from '../_shared/menu-row';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { breadcrumbAgent } from './breadcrumb.agent';\n\n/* -------------------------------------------------------------------- */\n/* Context — shares separator variant between siblings */\n/* -------------------------------------------------------------------- */\n\ntype SeparatorVariant = 'chevron' | 'slash';\n\ninterface BreadcrumbContextValue {\n separator: SeparatorVariant;\n}\n\nconst BreadcrumbContext = createContext<BreadcrumbContextValue>({\n separator: 'chevron',\n});\n\n/* -------------------------------------------------------------------- */\n/* Root — <nav aria-label> wrapper + truncation engine */\n/* -------------------------------------------------------------------- */\n\nexport interface BreadcrumbProps extends Omit<\n ComponentPropsWithoutRef<'nav'>,\n 'id'\n> {\n /** Override the default `aria-label` (falls back to translated `ui.navigation.breadcrumb.label`). */\n 'aria-label'?: string;\n /** Separator glyph between items. @default 'chevron' */\n separator?: SeparatorVariant;\n /** Maximum number of visible crumbs before collapsing. @default 4 */\n maxItems?: number;\n /** Items kept visible at the start. @default 1 */\n itemsBeforeCollapse?: number;\n /** Items kept visible at the end. @default 1 */\n itemsAfterCollapse?: number;\n /** If true, disables collapse behaviour. */\n disableCollapse?: boolean;\n /**\n * Consumer-supplied instance id, surfaced as `data-component-id` so an\n * agent / UI bridge can address this instance.\n */\n id?: string;\n}\n\n/**\n * Imperative handle for agent-readiness.\n *\n * Items expose their stable id (`BreadcrumbItem` `id` prop, falling back\n * to the `BreadcrumbLink` href) and href — never their visible label,\n * which may contain PHI (see PRS §26 §6.1).\n */\nexport interface BreadcrumbHandle {\n getItems: () => Array<{ id: string; href?: string }>;\n navigateTo: (id: string) => void;\n}\n\nconst Breadcrumb = forwardRef<HTMLElement, BreadcrumbProps>(\n (\n {\n children,\n className,\n 'aria-label': ariaLabel,\n separator = 'chevron',\n maxItems = 4,\n itemsBeforeCollapse = 1,\n itemsAfterCollapse = 1,\n disableCollapse = false,\n id,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation('ui');\n\n const items = useMemo(() => extractAgentItems(children), [children]);\n\n const handle = useMemo<BreadcrumbHandle>(\n () => ({\n getItems: () => items,\n navigateTo: (targetId: string) => {\n const hit = items.find((i) => i.id === targetId);\n if (!hit?.href) return;\n if (typeof window === 'undefined') return;\n // Same allow-list as the BreadcrumbLink renderer — never honour\n // `javascript:` / `data:` URLs.\n const trimmed = hit.href.trim();\n if (/^\\s*javascript:/i.test(trimmed)) return;\n window.location.assign(trimmed);\n },\n }),\n [items],\n );\n const innerRef = useRef<HTMLElement>(null);\n useImperativeHandle(ref, () => innerRef.current as HTMLElement, []);\n useAgentRegistration(breadcrumbAgent, handle, id);\n\n return (\n <BreadcrumbContext.Provider value={{ separator }}>\n <nav\n ref={innerRef}\n id={id}\n aria-label={ariaLabel ?? t('navigation.breadcrumb.label')}\n data-component=\"breadcrumb\"\n data-component-id={id}\n className={className}\n {...rest}\n >\n <BreadcrumbList\n maxItems={maxItems}\n itemsBeforeCollapse={itemsBeforeCollapse}\n itemsAfterCollapse={itemsAfterCollapse}\n disableCollapse={disableCollapse}\n >\n {children}\n </BreadcrumbList>\n </nav>\n </BreadcrumbContext.Provider>\n );\n },\n);\nBreadcrumb.displayName = 'Breadcrumb';\n\n/**\n * Walks the Breadcrumb children to collect `{ id, href }` for the agent\n * handle. The id is taken from the BreadcrumbItem's `id` prop, falling\n * back to the inner BreadcrumbLink's href (or an index string as a last\n * resort). Labels are never read — they may contain PHI.\n */\nfunction extractAgentItems(\n children: ReactNode,\n): Array<{ id: string; href?: string }> {\n const out: Array<{ id: string; href?: string }> = [];\n let index = 0;\n Children.forEach(children, (child) => {\n if (!isValidElement(child)) return;\n // Only collect Items. Anything else (separators, custom wrappers) is\n // skipped — the agent contract addresses crumbs, not chrome.\n if (child.type !== BreadcrumbItem) return;\n const itemProps = child.props as BreadcrumbItemProps & {\n id?: string;\n children?: ReactNode;\n };\n let href: string | undefined;\n Children.forEach(itemProps.children, (grandchild) => {\n if (href) return;\n if (!isValidElement(grandchild)) return;\n if (grandchild.type !== BreadcrumbLink) return;\n const linkProps = grandchild.props as BreadcrumbLinkProps;\n if (typeof linkProps.href === 'string') href = linkProps.href;\n });\n const id = itemProps.id ?? href ?? String(index);\n out.push({ id, href });\n index += 1;\n });\n return out;\n}\n\n/* -------------------------------------------------------------------- */\n/* List — walks its children, injects separators & ellipsis */\n/* -------------------------------------------------------------------- */\n\nconst listClasses = [\n 'ds:flex ds:flex-wrap ds:items-center',\n 'ds:gap-[var(--spacing-xs)]',\n 'ds:text-[var(--font-size-sm)] ds:text-[var(--muted-foreground)]',\n 'ds:ps-0 ds:m-0',\n 'ds:list-none',\n].join(' ');\n\nexport interface BreadcrumbListProps extends ComponentPropsWithoutRef<'ol'> {\n maxItems?: number;\n itemsBeforeCollapse?: number;\n itemsAfterCollapse?: number;\n disableCollapse?: boolean;\n}\n\nconst BreadcrumbList = forwardRef<HTMLOListElement, BreadcrumbListProps>(\n (\n {\n children,\n className,\n maxItems = 4,\n itemsBeforeCollapse = 1,\n itemsAfterCollapse = 1,\n disableCollapse = false,\n ...rest\n },\n ref,\n ) => {\n const arr = Children.toArray(children).filter((c) =>\n isValidElement(c),\n ) as ReactElement[];\n const total = arr.length;\n\n const shouldCollapse =\n !disableCollapse &&\n total > maxItems &&\n itemsBeforeCollapse + itemsAfterCollapse < total;\n\n // `isCurrent` only goes to components (BreadcrumbItem or a host wrapper\n // that takes it). A plain DOM child such as an `<li>` would pass it to\n // the DOM and React would warn about an unknown prop.\n const renderItem = (child: ReactElement, isLast: boolean, key: string) =>\n typeof child.type === 'string'\n ? cloneElement(child, { key })\n : cloneElement(child, {\n isCurrent: (child.props as BreadcrumbItemProps).isCurrent ?? isLast,\n key,\n } as Partial<BreadcrumbItemProps>);\n\n const renderSeparatorIf = (condition: boolean, key: string) =>\n condition ? <BreadcrumbSeparator key={key} /> : null;\n\n const nodes: ReactNode[] = [];\n if (!shouldCollapse) {\n arr.forEach((child, i) => {\n const isLast = i === total - 1;\n nodes.push(renderItem(child, isLast, `item-${i}`));\n nodes.push(renderSeparatorIf(!isLast, `sep-${i}`));\n });\n } else {\n const before = arr.slice(0, itemsBeforeCollapse);\n const after = arr.slice(total - itemsAfterCollapse);\n const hidden = arr.slice(itemsBeforeCollapse, total - itemsAfterCollapse);\n\n before.forEach((child, i) => {\n nodes.push(renderItem(child, false, `b-${i}`));\n nodes.push(renderSeparatorIf(true, `b-sep-${i}`));\n });\n\n nodes.push(\n <BreadcrumbItem key=\"ellipsis\">\n <BreadcrumbEllipsis hiddenItems={hidden} />\n </BreadcrumbItem>,\n );\n nodes.push(renderSeparatorIf(true, 'ellipsis-sep'));\n\n after.forEach((child, i) => {\n const isLast = i === after.length - 1;\n nodes.push(renderItem(child, isLast, `a-${i}`));\n nodes.push(renderSeparatorIf(!isLast, `a-sep-${i}`));\n });\n }\n\n return (\n <ol\n ref={ref}\n className={[listClasses, className].filter(Boolean).join(' ')}\n {...rest}\n >\n {nodes}\n </ol>\n );\n },\n);\nBreadcrumbList.displayName = 'BreadcrumbList';\n\n/* -------------------------------------------------------------------- */\n/* Item — <li> marks current when `isCurrent` */\n/* -------------------------------------------------------------------- */\n\nconst itemClasses = [\n 'ds:inline-flex ds:flex-wrap ds:items-center',\n 'ds:[min-inline-size:0] ds:[max-inline-size:100%]',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:py-[var(--spacing-xs)]',\n].join(' ');\n\nexport interface BreadcrumbItemProps extends ComponentPropsWithoutRef<'li'> {\n /** Set automatically by `BreadcrumbList` on the final item. */\n isCurrent?: boolean;\n}\n\nconst BreadcrumbItem = forwardRef<HTMLLIElement, BreadcrumbItemProps>(\n ({ children, className, isCurrent = false, id, ...rest }, ref) => {\n // Derive an agent crumb id: explicit `id` prop, else the inner link's\n // href. Labels are never used — they may contain PHI (PRS §26 §6.1).\n let derived: string | undefined = id;\n if (!derived) {\n Children.forEach(children, (child) => {\n if (derived) return;\n if (!isValidElement(child)) return;\n if (child.type !== BreadcrumbLink) return;\n const linkProps = child.props as BreadcrumbLinkProps;\n if (typeof linkProps.href === 'string') derived = linkProps.href;\n });\n }\n return (\n <li\n ref={ref}\n id={id}\n data-crumb-id={derived}\n className={[itemClasses, className].filter(Boolean).join(' ')}\n {...rest}\n >\n {Children.map(children, (child) =>\n isValidElement(child) &&\n (child.type === BreadcrumbLink ||\n (child.props as { _link?: boolean })?._link)\n ? cloneElement(child as ReactElement<BreadcrumbLinkProps>, {\n isCurrent,\n })\n : child,\n )}\n </li>\n );\n },\n);\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n\n/* -------------------------------------------------------------------- */\n/* Link — renders <a>, or plain text when current */\n/* -------------------------------------------------------------------- */\n\nconst linkClasses = [\n 'ds:inline-flex ds:items-center',\n 'ds:[max-inline-size:16rem]',\n 'ds:overflow-hidden ds:text-ellipsis ds:whitespace-nowrap',\n 'ds:break-normal',\n 'ds:text-[var(--muted-foreground)] ds:no-underline',\n 'ds:hover:text-[var(--foreground)] ds:hover:underline',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n 'ds:min-h-[var(--min-target-size)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]',\n].join(' ');\n\nconst currentClasses = [\n 'ds:inline-flex ds:items-center',\n 'ds:[max-inline-size:16rem]',\n 'ds:overflow-hidden ds:text-ellipsis ds:whitespace-nowrap',\n 'ds:break-normal',\n 'ds:text-[var(--foreground)] ds:font-[var(--font-weight-semibold)]',\n 'ds:min-h-[var(--min-target-size)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]',\n].join(' ');\n\nexport interface BreadcrumbLinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {\n /** Use Radix `Slot` so consumers can pass a router link. */\n asChild?: boolean;\n /** Set by the parent Item when this is the current page. */\n isCurrent?: boolean;\n}\n\nconst BreadcrumbLink = forwardRef<HTMLAnchorElement, BreadcrumbLinkProps>(\n (\n { asChild = false, isCurrent = false, className, children, ...rest },\n ref,\n ) => {\n const { t } = useTranslation('ui');\n\n if (isCurrent) {\n return (\n <span\n aria-current=\"page\"\n aria-label={\n (rest['aria-label'] as string | undefined) ??\n t('navigation.breadcrumb.current')\n }\n className={[currentClasses, className].filter(Boolean).join(' ')}\n >\n {children}\n </span>\n );\n }\n\n if (asChild) {\n return (\n <Slot\n ref={ref}\n className={[linkClasses, className].filter(Boolean).join(' ')}\n {...rest}\n >\n {children}\n </Slot>\n );\n }\n\n return (\n <a\n ref={ref}\n className={[linkClasses, className].filter(Boolean).join(' ')}\n {...rest}\n >\n {children}\n </a>\n );\n },\n);\nBreadcrumbLink.displayName = 'BreadcrumbLink';\n\n/* -------------------------------------------------------------------- */\n/* Separator */\n/* -------------------------------------------------------------------- */\n\nconst separatorVariants = cva(\n [\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:text-[var(--muted-foreground)]',\n 'ds:ms-[var(--spacing-xs)] ds:me-[var(--spacing-xs)]',\n 'ds:select-none',\n ].join(' '),\n {\n variants: {\n variant: {\n chevron: '',\n slash: '',\n },\n },\n defaultVariants: { variant: 'chevron' },\n },\n);\n\nexport interface BreadcrumbSeparatorProps\n extends\n Omit<ComponentPropsWithoutRef<'li'>, 'children'>,\n VariantProps<typeof separatorVariants> {\n children?: ReactNode;\n}\n\nconst BreadcrumbSeparator = forwardRef<HTMLLIElement, BreadcrumbSeparatorProps>(\n ({ className, variant, children, ...rest }, ref) => {\n const ctx = useContext(BreadcrumbContext);\n const resolved = variant ?? ctx.separator;\n const defaultGlyph =\n resolved === 'slash' ? (\n <span aria-hidden=\"true\">/</span>\n ) : (\n <ChevronRight\n aria-hidden=\"true\"\n className=\"ds:size-4 ds:rtl:-scale-x-100\"\n />\n );\n return (\n <li\n ref={ref}\n aria-hidden=\"true\"\n role=\"presentation\"\n className={separatorVariants({ variant: resolved, className })}\n {...rest}\n >\n {children ?? defaultGlyph}\n </li>\n );\n },\n);\nBreadcrumbSeparator.displayName = 'BreadcrumbSeparator';\n\n/* -------------------------------------------------------------------- */\n/* Ellipsis — opens a Radix DropdownMenu with hidden crumbs */\n/* -------------------------------------------------------------------- */\n\nconst ellipsisTriggerClasses = [\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:min-w-[var(--min-target-size)] ds:min-h-[var(--min-target-size)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:text-[var(--muted-foreground)]',\n 'ds:hover:text-[var(--foreground)]',\n 'ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid',\n 'ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]',\n 'ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none',\n].join(' ');\n\nconst ellipsisContentClasses = [\n 'ds:z-[var(--z-dropdown)] ds:min-w-[12rem] ds:overflow-hidden',\n 'ds:rounded-[var(--radius-md)] ds:border ds:border-[var(--border)]',\n 'ds:bg-[var(--background)] ds:text-[var(--foreground)]',\n 'ds:shadow-[var(--shadow-lg)]',\n 'ds:p-[var(--spacing-xs)]',\n 'ds:animate-in ds:fade-in ds:zoom-in-95 ds:motion-reduce:animate-none',\n].join(' ');\n\nconst ellipsisItemClasses = [\n 'ds:flex ds:items-center',\n 'ds:min-h-[var(--min-target-size)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-sm)]',\n 'ds:text-[var(--foreground)] ds:cursor-pointer ds:select-none',\n MENU_ROW_HIGHLIGHT.highlighted,\n 'ds:outline-none',\n].join(' ');\n\nexport interface BreadcrumbEllipsisProps extends ComponentPropsWithoutRef<'button'> {\n /** Hidden crumb elements rendered inside the dropdown menu. */\n hiddenItems?: ReactElement[];\n}\n\nconst BreadcrumbEllipsis = forwardRef<\n HTMLButtonElement,\n BreadcrumbEllipsisProps\n>(({ className, hiddenItems = [], ...rest }, ref) => {\n const { t } = useTranslation('ui');\n const showPath = t('navigation.breadcrumb.showPath');\n return (\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <button\n ref={ref}\n type=\"button\"\n aria-label={showPath}\n className={[ellipsisTriggerClasses, className]\n .filter(Boolean)\n .join(' ')}\n {...rest}\n >\n <Ellipsis aria-hidden=\"true\" className=\"ds:size-4\" />\n <span className=\"ds:sr-only\">{showPath}</span>\n </button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Portal>\n <DropdownMenu.Content\n className={ellipsisContentClasses}\n align=\"start\"\n sideOffset={6}\n >\n {hiddenItems.map((item, i) => {\n // Extract the anchor inside the hidden BreadcrumbItem (if any)\n const linkChild = extractLink(item);\n return (\n <DropdownMenu.Item\n key={`hidden-${i}`}\n asChild\n className={ellipsisItemClasses}\n >\n {linkChild ?? <span>{item}</span>}\n </DropdownMenu.Item>\n );\n })}\n </DropdownMenu.Content>\n </DropdownMenu.Portal>\n </DropdownMenu.Root>\n );\n});\nBreadcrumbEllipsis.displayName = 'BreadcrumbEllipsis';\n\n/**\n * Walks a `BreadcrumbItem` to find the first child whose type is\n * `BreadcrumbLink` and returns the link rendered as a plain `<a>` so the\n * dropdown item can adopt its navigational behaviour.\n */\nfunction extractLink(item: ReactElement): ReactElement | null {\n let found: ReactElement | null = null;\n const itemChildren = (item.props as { children?: ReactNode }).children;\n Children.forEach(itemChildren, (child) => {\n if (found) return;\n if (!isValidElement(child)) return;\n if (child.type === BreadcrumbLink) {\n const linkProps = child.props as BreadcrumbLinkProps & {\n children?: ReactNode;\n };\n const href =\n typeof linkProps.href === 'string' ? linkProps.href : undefined;\n const safeHref = href && /^\\s*javascript:/i.test(href) ? undefined : href;\n found = (\n <a\n href={safeHref}\n onClick={\n linkProps.onClick as AnchorHTMLAttributes<HTMLAnchorElement>['onClick']\n }\n >\n {linkProps.children}\n </a>\n );\n }\n });\n return found;\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"names":["breadcrumbAgent","handle","args","BreadcrumbContext","createContext","Breadcrumb","forwardRef","children","className","ariaLabel","separator","maxItems","itemsBeforeCollapse","itemsAfterCollapse","disableCollapse","id","rest","ref","t","useTranslation","items","useMemo","extractAgentItems","targetId","hit","i","trimmed","innerRef","useRef","useImperativeHandle","useAgentRegistration","jsx","BreadcrumbList","out","index","Children","child","isValidElement","BreadcrumbItem","itemProps","href","grandchild","BreadcrumbLink","linkProps","listClasses","arr","total","shouldCollapse","renderItem","isLast","key","cloneElement","renderSeparatorIf","condition","BreadcrumbSeparator","nodes","before","after","hidden","BreadcrumbEllipsis","itemClasses","isCurrent","derived","_a","linkClasses","currentClasses","asChild","Slot","separatorVariants","cva","variant","ctx","useContext","resolved","defaultGlyph","ChevronRight","ellipsisTriggerClasses","ellipsisContentClasses","ellipsisItemClasses","MENU_ROW_HIGHLIGHT","hiddenItems","showPath","jsxs","DropdownMenu","Ellipsis","item","linkChild","extractLink","found","itemChildren","safeHref"],"mappings":"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"}
@@ -10,7 +10,7 @@ import { S as Hn, C as Ci } from "./skeleton-tTWJpvAq.js";
10
10
  import { S as Sr } from "./stethoscope-sZXGC43m.js";
11
11
  import { A as Gs, a as Ni } from "./entity-card-fpm-KUKc.js";
12
12
  import { T as Oo, P as Ro, E as xi, S as Mo } from "./task-editor-CRhfwP9T.js";
13
- import { C as Wo, a as Po, u as Di, d as Bo } from "./control-room-rail-CKZ2nemY.js";
13
+ import { C as Wo, a as Po, u as Di, d as Bo } from "./control-room-rail-DcJpHbp4.js";
14
14
  import { S as ms } from "./scroll-area-CY5SLYNw.js";
15
15
  import { d as vt, c as qs, b as ra } from "./toast-BNoN8Qjh.js";
16
16
  import { T as Ga, a as Si } from "./tooltip-uEBdD1-5.js";
@@ -74,12 +74,12 @@ import { createPortal as lc } from "react-dom";
74
74
  import { G as Ya, h as Js, c as uc, A as hc, C as _i } from "./color-picker-AcaWuKah.js";
75
75
  import { s as mc, S as pc } from "./signature-status-chip-pIoQjvH8.js";
76
76
  import { b as gc } from "./appointment-workflow-status-DMjuIK90.js";
77
- import { N as vc } from "./notes-panel-CxjMovCh.js";
77
+ import { N as vc } from "./notes-panel-CZO1qsD-.js";
78
78
  import { C as vs } from "./combobox-vF9O-QoG.js";
79
79
  import { S as fc } from "./state-backed-text-input-Cgh4ms3p.js";
80
80
  import { N as ns } from "./number-input-CVwI1ltI.js";
81
81
  import { T as bc } from "./time-picker-DVfyAR81.js";
82
- import { D as kc } from "./data-table-DTKGWUQm.js";
82
+ import { D as kc } from "./data-table-BlONA1rP.js";
83
83
  import { T as fs } from "./timestamp-DPLDWdxA.js";
84
84
  import { I as Zs } from "./icon-button-group-CRKFR48b.js";
85
85
  import { C as Ic, b as yc, a as Cc } from "./collapsible-DVPM46bq.js";
@@ -10983,4 +10983,4 @@ export {
10983
10983
  hp as r,
10984
10984
  Vn as u
10985
10985
  };
10986
- //# sourceMappingURL=calendar-appointment-editor-dialog-B4My4eiB.js.map
10986
+ //# sourceMappingURL=calendar-appointment-editor-dialog-cvUpUjj-.js.map