@alfadocs/ui-kit-debug 1.90.1 → 1.90.2

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 (151) hide show
  1. package/dist/_chunks/address-autocomplete-DR4Xn23Z.js +519 -0
  2. package/dist/_chunks/address-autocomplete-DR4Xn23Z.js.map +1 -0
  3. package/dist/_chunks/{address-fields-CfnXK8RT.js → address-fields-qxQkGwPf.js} +5 -5
  4. package/dist/_chunks/{address-fields-CfnXK8RT.js.map → address-fields-qxQkGwPf.js.map} +1 -1
  5. package/dist/_chunks/{ai-permission-notice-CoW22jx1.js → ai-permission-notice-VNh3W57L.js} +2 -2
  6. package/dist/_chunks/{ai-permission-notice-CoW22jx1.js.map → ai-permission-notice-VNh3W57L.js.map} +1 -1
  7. package/dist/_chunks/{anamnesis-summary-rows-fbEQwcuW.js → anamnesis-summary-rows-EKPfVCmh.js} +2 -2
  8. package/dist/_chunks/{anamnesis-summary-rows-fbEQwcuW.js.map → anamnesis-summary-rows-EKPfVCmh.js.map} +1 -1
  9. package/dist/_chunks/autocomplete-BXMcNoa3.js +562 -0
  10. package/dist/_chunks/autocomplete-BXMcNoa3.js.map +1 -0
  11. package/dist/_chunks/{balance-badge-cell-C4FYwmrZ.js → balance-badge-cell-D9VhFp0L.js} +3 -3
  12. package/dist/_chunks/{balance-badge-cell-C4FYwmrZ.js.map → balance-badge-cell-D9VhFp0L.js.map} +1 -1
  13. package/dist/_chunks/{booking-C0FoW8Yx.js → booking-CcE_oviI.js} +1896 -1859
  14. package/dist/_chunks/booking-CcE_oviI.js.map +1 -0
  15. package/dist/_chunks/{calendar-appointment-editor-dialog-C1v2MNE4.js → calendar-appointment-editor-dialog-CiAGAX2t.js} +7 -7
  16. package/dist/_chunks/{calendar-appointment-editor-dialog-C1v2MNE4.js.map → calendar-appointment-editor-dialog-CiAGAX2t.js.map} +1 -1
  17. package/dist/_chunks/{checkbox-BjDv-r3o.js → checkbox-a7Sh-dXb.js} +32 -31
  18. package/dist/_chunks/checkbox-a7Sh-dXb.js.map +1 -0
  19. package/dist/_chunks/{checkbox-group-Cw2H5qaq.js → checkbox-group-eGdv9fZc.js} +2 -2
  20. package/dist/_chunks/{checkbox-group-Cw2H5qaq.js.map → checkbox-group-eGdv9fZc.js.map} +1 -1
  21. package/dist/_chunks/{city-input-CJVGswxp.js → city-input-CA59CjnV.js} +2 -2
  22. package/dist/_chunks/{city-input-CJVGswxp.js.map → city-input-CA59CjnV.js.map} +1 -1
  23. package/dist/_chunks/{combobox-CDPm_n0p.js → combobox-D-gpgEDy.js} +314 -294
  24. package/dist/_chunks/combobox-D-gpgEDy.js.map +1 -0
  25. package/dist/_chunks/{country-select-DQ8q7ypA.js → country-select-BfmX9y5i.js} +2 -2
  26. package/dist/_chunks/{country-select-DQ8q7ypA.js.map → country-select-BfmX9y5i.js.map} +1 -1
  27. package/dist/_chunks/{data-table-B_IcS0Ke.js → data-table-CqQgoNsU.js} +2 -2
  28. package/dist/_chunks/{data-table-B_IcS0Ke.js.map → data-table-CqQgoNsU.js.map} +1 -1
  29. package/dist/_chunks/{face-scheme-BgJGFDTa.js → face-scheme-BKSE98bo.js} +2 -2
  30. package/dist/_chunks/{face-scheme-BgJGFDTa.js.map → face-scheme-BKSE98bo.js.map} +1 -1
  31. package/dist/_chunks/{file-manager-C9YOT-Dn.js → file-manager-BnI1ZWZu.js} +2 -2
  32. package/dist/_chunks/{file-manager-C9YOT-Dn.js.map → file-manager-BnI1ZWZu.js.map} +1 -1
  33. package/dist/_chunks/{header-settings-BVhjndtV.js → header-settings-BeA2fnol.js} +24 -23
  34. package/dist/_chunks/header-settings-BeA2fnol.js.map +1 -0
  35. package/dist/_chunks/{heatmap-HTz3Jvzy.js → heatmap-fCxwNz2o.js} +2 -2
  36. package/dist/_chunks/{heatmap-HTz3Jvzy.js.map → heatmap-fCxwNz2o.js.map} +1 -1
  37. package/dist/_chunks/{link-cell-renderer-C0ynDik7.js → link-cell-renderer-CnCgudvq.js} +3 -3
  38. package/dist/_chunks/{link-cell-renderer-C0ynDik7.js.map → link-cell-renderer-CnCgudvq.js.map} +1 -1
  39. package/dist/_chunks/{login-dev-card-DYwbL5sD.js → login-dev-card-BZBR58mu.js} +2 -2
  40. package/dist/_chunks/{login-dev-card-DYwbL5sD.js.map → login-dev-card-BZBR58mu.js.map} +1 -1
  41. package/dist/_chunks/{map-view-Bvi06RVh.js → map-view-UrNgxBy3.js} +260 -237
  42. package/dist/_chunks/map-view-UrNgxBy3.js.map +1 -0
  43. package/dist/_chunks/{index.modern-BeRXQVdc.js → maps-core-gate-DkNqGkm3.js} +360 -319
  44. package/dist/_chunks/maps-core-gate-DkNqGkm3.js.map +1 -0
  45. package/dist/_chunks/{marketplace-app-shell-x_abo_ye.js → marketplace-app-shell-CmZx0Oam.js} +2 -2
  46. package/dist/_chunks/{marketplace-app-shell-x_abo_ye.js.map → marketplace-app-shell-CmZx0Oam.js.map} +1 -1
  47. package/dist/_chunks/{notes-panel-CZO1qsD-.js → notes-panel-Dywo6R55.js} +2 -2
  48. package/dist/_chunks/{notes-panel-CZO1qsD-.js.map → notes-panel-Dywo6R55.js.map} +1 -1
  49. package/dist/_chunks/{patient-details-D0P5eog5.js → patient-details-BUr7Oemx.js} +2 -2
  50. package/dist/_chunks/{patient-details-D0P5eog5.js.map → patient-details-BUr7Oemx.js.map} +1 -1
  51. package/dist/_chunks/{patient-field-row-R73dZJY6.js → patient-field-row-bJk8Q_qr.js} +5 -5
  52. package/dist/_chunks/{patient-field-row-R73dZJY6.js.map → patient-field-row-bJk8Q_qr.js.map} +1 -1
  53. package/dist/_chunks/patient-search-Ca9j5cWb.js +1306 -0
  54. package/dist/_chunks/patient-search-Ca9j5cWb.js.map +1 -0
  55. package/dist/_chunks/{patient-summary-card-6U74-ivO.js → patient-summary-card-CCQZ8X37.js} +2 -2
  56. package/dist/_chunks/{patient-summary-card-6U74-ivO.js.map → patient-summary-card-CCQZ8X37.js.map} +1 -1
  57. package/dist/_chunks/{periodontal-diagnosis-B9YmmVmM.js → periodontal-diagnosis-DD3hrg9X.js} +2 -2
  58. package/dist/_chunks/{periodontal-diagnosis-B9YmmVmM.js.map → periodontal-diagnosis-DD3hrg9X.js.map} +1 -1
  59. package/dist/_chunks/{permission-matrix-BoQjENGV.js → permission-matrix-BJ6sg3Zp.js} +3 -3
  60. package/dist/_chunks/{permission-matrix-BoQjENGV.js.map → permission-matrix-BJ6sg3Zp.js.map} +1 -1
  61. package/dist/_chunks/{practice-results-B61krlwu.js → practice-results-DQuOfqej.js} +2 -2
  62. package/dist/_chunks/{practice-results-B61krlwu.js.map → practice-results-DQuOfqej.js.map} +1 -1
  63. package/dist/_chunks/{province-select-CPdTwEob.js → province-select-D64whw0m.js} +2 -2
  64. package/dist/_chunks/{province-select-CPdTwEob.js.map → province-select-D64whw0m.js.map} +1 -1
  65. package/dist/_chunks/{registration-form-DmP3YUfp.js → registration-form-CRm6DaB9.js} +2 -2
  66. package/dist/_chunks/{registration-form-DmP3YUfp.js.map → registration-form-CRm6DaB9.js.map} +1 -1
  67. package/dist/_chunks/{reviews-panel-UzQQLb-z.js → reviews-panel-B7InBORU.js} +42 -41
  68. package/dist/_chunks/reviews-panel-B7InBORU.js.map +1 -0
  69. package/dist/_chunks/{rich-text-editor-BZTyxQBd.js → rich-text-editor-BfEu57dk.js} +3 -3
  70. package/dist/_chunks/{rich-text-editor-BZTyxQBd.js.map → rich-text-editor-BfEu57dk.js.map} +1 -1
  71. package/dist/_chunks/{slot-grid-Bb13H9Rl.js → slot-grid-DrwynKeN.js} +91 -89
  72. package/dist/_chunks/{slot-grid-Bb13H9Rl.js.map → slot-grid-DrwynKeN.js.map} +1 -1
  73. package/dist/_chunks/{task-editor-BOETWbjU.js → task-editor-CI1SKUNc.js} +2 -2
  74. package/dist/_chunks/{task-editor-BOETWbjU.js.map → task-editor-CI1SKUNc.js.map} +1 -1
  75. package/dist/_chunks/{use-appointment-details-read-CWN-nJCZ.js → use-appointment-details-read-BytPq3Ux.js} +2 -2
  76. package/dist/_chunks/{use-appointment-details-read-CWN-nJCZ.js.map → use-appointment-details-read-BytPq3Ux.js.map} +1 -1
  77. package/dist/_chunks/{voice-control-panel-BziKE-KK.js → voice-control-panel-BP0otrID.js} +2 -2
  78. package/dist/_chunks/{voice-control-panel-BziKE-KK.js.map → voice-control-panel-BP0otrID.js.map} +1 -1
  79. package/dist/_chunks/{workflow-webhook-action-DulCpCRz.js → workflow-webhook-action-B_nBJ_ht.js} +2 -2
  80. package/dist/_chunks/{workflow-webhook-action-DulCpCRz.js.map → workflow-webhook-action-B_nBJ_ht.js.map} +1 -1
  81. package/dist/agent-catalog.json +2 -2
  82. package/dist/agent-i18n/en.json +1 -1
  83. package/dist/components/_shared/maps-core-gate.d.ts +18 -0
  84. package/dist/components/_shared/maps-core-gate.d.ts.map +1 -0
  85. package/dist/components/address-autocomplete/address-autocomplete.d.ts.map +1 -1
  86. package/dist/components/address-autocomplete/index.js +1 -1
  87. package/dist/components/address-fields/index.js +1 -1
  88. package/dist/components/ai-permission-notice/index.js +1 -1
  89. package/dist/components/appointment-details-panel/index.js +1 -1
  90. package/dist/components/autocomplete/autocomplete.agent.d.ts.map +1 -1
  91. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
  92. package/dist/components/autocomplete/index.js +1 -1
  93. package/dist/components/booking/booking.d.ts.map +1 -1
  94. package/dist/components/booking/details-form.d.ts.map +1 -1
  95. package/dist/components/booking/index.js +1 -1
  96. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  97. package/dist/components/checkbox/index.js +1 -1
  98. package/dist/components/checkbox-group/index.js +1 -1
  99. package/dist/components/city-input/index.js +1 -1
  100. package/dist/components/combobox/combobox.d.ts.map +1 -1
  101. package/dist/components/combobox/index.js +1 -1
  102. package/dist/components/country-select/index.js +1 -1
  103. package/dist/components/data-table/index.js +2 -2
  104. package/dist/components/face-scheme/index.js +1 -1
  105. package/dist/components/file-manager/index.js +1 -1
  106. package/dist/components/header-settings/header-settings.d.ts +2 -1
  107. package/dist/components/header-settings/header-settings.d.ts.map +1 -1
  108. package/dist/components/header-settings/index.js +1 -1
  109. package/dist/components/heatmap/index.js +1 -1
  110. package/dist/components/map-view/index.js +1 -1
  111. package/dist/components/map-view/map-view.d.ts.map +1 -1
  112. package/dist/components/notes-panel/index.js +1 -1
  113. package/dist/components/patient-details/index.js +1 -1
  114. package/dist/components/patient-search/index.js +1 -1
  115. package/dist/components/patient-search/patient-search.d.ts.map +1 -1
  116. package/dist/components/patient-summary-card/index.js +1 -1
  117. package/dist/components/patient-table/index.js +1 -1
  118. package/dist/components/periodontal-diagnosis/index.js +1 -1
  119. package/dist/components/permission-matrix/index.js +1 -1
  120. package/dist/components/practice-results/index.js +1 -1
  121. package/dist/components/province-select/index.js +1 -1
  122. package/dist/components/reviews-panel/index.js +1 -1
  123. package/dist/components/reviews-panel/reviews-panel.d.ts.map +1 -1
  124. package/dist/components/rich-text-editor/index.js +1 -1
  125. package/dist/components/slot-grid/index.js +1 -1
  126. package/dist/components/slot-grid/slot-grid.d.ts.map +1 -1
  127. package/dist/components/task-editor/index.js +1 -1
  128. package/dist/components/voice-control-panel/index.js +1 -1
  129. package/dist/host-compat.css +1 -10
  130. package/dist/index.js +37 -37
  131. package/dist/patterns/anamnesis/index.js +1 -1
  132. package/dist/patterns/calendar/index.js +1 -1
  133. package/dist/patterns/login-form/index.js +1 -1
  134. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  135. package/dist/patterns/registration-form/index.js +1 -1
  136. package/dist/patterns/workflow-webhook-action/index.js +1 -1
  137. package/dist/tokens.css +1 -1
  138. package/package.json +1 -1
  139. package/dist/_chunks/address-autocomplete-bPR2mNBt.js +0 -498
  140. package/dist/_chunks/address-autocomplete-bPR2mNBt.js.map +0 -1
  141. package/dist/_chunks/autocomplete-CnB1mHGc.js +0 -539
  142. package/dist/_chunks/autocomplete-CnB1mHGc.js.map +0 -1
  143. package/dist/_chunks/booking-C0FoW8Yx.js.map +0 -1
  144. package/dist/_chunks/checkbox-BjDv-r3o.js.map +0 -1
  145. package/dist/_chunks/combobox-CDPm_n0p.js.map +0 -1
  146. package/dist/_chunks/header-settings-BVhjndtV.js.map +0 -1
  147. package/dist/_chunks/index.modern-BeRXQVdc.js.map +0 -1
  148. package/dist/_chunks/map-view-Bvi06RVh.js.map +0 -1
  149. package/dist/_chunks/patient-search-CCOUZABE.js +0 -1196
  150. package/dist/_chunks/patient-search-CCOUZABE.js.map +0 -1
  151. package/dist/_chunks/reviews-panel-UzQQLb-z.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete-BXMcNoa3.js","sources":["../../src/components/autocomplete/autocomplete.agent.ts","../../src/components/autocomplete/autocomplete.tsx"],"sourcesContent":["/* -------------------------------------------------------------------- */\n/* Agent adapter — Autocomplete. */\n/* */\n/* Single-choice combobox with a free-text filter. The committed value */\n/* persists (value state slot + set_value) so the choice is `select_single`*/\n/* rather than a non-persisting `pick`. Filtering, open, and close are */\n/* pure view state. */\n/* -------------------------------------------------------------------- */\n\nimport type { AgentAdapter } from '../../agent/types';\nimport type { AutocompleteHandle } from './autocomplete';\n\nexport const autocompleteAgent: AgentAdapter<AutocompleteHandle> = {\n id: 'autocomplete',\n capabilities: ['select_single', 'filter', 'open', 'close'],\n state: {\n value: {\n type: 'string | null',\n descriptionKey: 'ui.agent.autocomplete.state.value',\n description:\n 'Currently-selected option value, or null when nothing is committed.',\n read: (handle) => handle.getValue(),\n },\n query: {\n type: 'string',\n descriptionKey: 'ui.agent.autocomplete.state.query',\n description: 'Current free-text query in the input.',\n read: (handle) => handle.getQuery(),\n },\n isOpen: {\n type: 'boolean',\n descriptionKey: 'ui.agent.autocomplete.state.isOpen',\n description:\n 'True when the suggestion popup is visible. Open with no suggestions to show reads false.',\n read: (handle) => handle.getIsOpen(),\n },\n },\n actions: {\n set_value: {\n safety: 'write',\n argsType: '{ value: string | null }',\n argsSchema: {\n type: 'object',\n properties: { value: { type: ['string', 'null'] } },\n required: ['value'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.autocomplete.actions.setValue',\n description: 'Set the committed value programmatically.',\n invoke: (handle, args: { value: string | null }) => {\n handle.setValue(args.value);\n },\n },\n apply_filter: {\n safety: 'read',\n argsType: '{ query: string }',\n argsSchema: {\n type: 'object',\n properties: { query: { type: 'string' } },\n required: ['query'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.autocomplete.actions.applyFilter',\n description: 'Set the input query, which filters the suggestion list.',\n invoke: (handle, args: { query: string }) => {\n handle.setQuery(args.query);\n },\n },\n clear: {\n safety: 'destructive',\n idempotent: true,\n descriptionKey: 'ui.agent.autocomplete.actions.clear',\n description:\n 'Clear the committed value and the query. Discards the typed input.',\n invoke: (handle) => {\n handle.clear();\n },\n },\n open: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.autocomplete.actions.open',\n description: 'Open the suggestion list.',\n invoke: (handle) => {\n handle.open();\n },\n },\n close: {\n safety: 'read',\n idempotent: true,\n descriptionKey: 'ui.agent.autocomplete.actions.close',\n description: 'Close the suggestion list.',\n invoke: (handle) => {\n handle.close();\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'autocomplete' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n item: {\n attr: 'data-option-id',\n description: 'Each suggestion emits its value as data-option-id.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type CompositionEvent,\n type FocusEvent,\n type KeyboardEvent,\n type MouseEvent,\n type Ref,\n type ReactElement,\n type ReactNode,\n} from 'react';\nimport { Command } from 'cmdk';\nimport * as Popover from '@radix-ui/react-popover';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { Spinner } from '../spinner/spinner';\nimport {\n useFormField,\n useFormFieldControlRef,\n} from '../form-field/form-field-context';\nimport { useControllableState } from '../../hooks/use-controllable-state';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\nimport { useDebouncedCallback } from '../_shared/use-debounced-callback';\nimport type { OptionShape } from '../_shared/option';\nimport { groupOptions } from '../_shared/group-options';\nimport { MENU_ROW_HIGHLIGHT } from '../_shared/menu-row';\nimport {\n INPUT_SURFACE_CHROME,\n INPUT_SURFACE_HEIGHT,\n INPUT_SURFACE_TEXT,\n INPUT_SURFACE_TONE,\n} from '../_shared/input-surface';\nimport { useAgentRegistration } from '../../agent';\nimport { autocompleteAgent } from './autocomplete.agent';\n\n// ---------------------------------------------------------------------------\n// CVA — sizing / chrome tokens come from _shared/input-surface so the four\n// input surfaces (TextInput, Autocomplete, Combobox, MultiSelect) cannot drift.\n// ---------------------------------------------------------------------------\n\nconst autocompleteVariants = cva(\n ['ds:flex ds:w-full ds:items-center', INPUT_SURFACE_CHROME].join(' '),\n {\n variants: {\n size: {\n sm: `${INPUT_SURFACE_HEIGHT.sm} ${INPUT_SURFACE_TEXT.sm}`,\n md: `${INPUT_SURFACE_HEIGHT.md} ${INPUT_SURFACE_TEXT.md}`,\n lg: `${INPUT_SURFACE_HEIGHT.lg} ${INPUT_SURFACE_TEXT.lg}`,\n },\n tone: INPUT_SURFACE_TONE,\n },\n defaultVariants: { size: 'md', tone: 'default' },\n },\n);\n\nconst inputVariants = cva(\n [\n 'ds:flex-1 ds:min-w-0 ds:bg-transparent ds:text-foreground',\n 'ds:placeholder:text-muted-foreground',\n 'ds:outline-none ds:focus:outline-none ds:focus-visible:outline-none',\n 'ds:disabled:cursor-not-allowed',\n 'ds:read-only:cursor-default',\n ].join(' '),\n {\n variants: {\n hasStart: { true: 'ds:ps-2', false: 'ds:ps-3' },\n hasEnd: { true: 'ds:pe-2', false: 'ds:pe-3' },\n },\n defaultVariants: { hasStart: false, hasEnd: false },\n },\n);\n\nconst contentVariants = cva(\n [\n 'ds:z-[var(--z-dropdown)] ds:overflow-hidden',\n 'ds:rounded-[var(--radius-sm)] ds:border ds:border-border ds:bg-background',\n 'ds:shadow-[var(--shadow-md)]',\n 'ds:w-[var(--radix-popover-trigger-width)]',\n 'ds:animate-in ds:fade-in ds:zoom-in-95',\n 'ds:motion-reduce:animate-none',\n ].join(' '),\n);\n\nconst itemVariants = cva(\n [\n 'ds:relative ds:flex ds:items-center ds:gap-[var(--spacing-sm)]',\n 'ds:ps-3 ds:pe-3 ds:py-2 ds:text-[length:var(--font-size-sm)] ds:text-foreground',\n 'ds:rounded-[var(--radius-sm)] ds:select-none ds:cursor-pointer',\n 'ds:data-[disabled=true]:pointer-events-none ds:data-[disabled=true]:opacity-50',\n // cmdk moves the selection on pointer move, so hover needs no tint.\n MENU_ROW_HIGHLIGHT.selected,\n ].join(' '),\n);\n\nconst groupClasses = [\n 'ds:[&_[cmdk-group-heading]]:ps-3',\n 'ds:[&_[cmdk-group-heading]]:pe-3',\n 'ds:[&_[cmdk-group-heading]]:py-1.5',\n 'ds:[&_[cmdk-group-heading]]:type-eyebrow',\n 'ds:[&_[cmdk-group-heading]]:text-muted-foreground',\n].join(' ');\n\nconst adornmentBase =\n 'ds:inline-flex ds:items-center ds:shrink-0 ds:text-muted-foreground ds:[&_svg]:size-4';\n\n// ---------------------------------------------------------------------------\n// Agent handle — curated surface for agent-readiness adapter.\n//\n// The autocomplete `forwardRef` exposes the underlying `HTMLInputElement` for\n// form integration; the agent handle is a separate, structural contract\n// referenced by `autocomplete.agent.ts`. Consumers wire it via the platform\n// registry — it is not the component's React ref.\n// ---------------------------------------------------------------------------\n\nexport interface AutocompleteHandle {\n getValue: () => string | null;\n getQuery: () => string;\n getIsOpen: () => boolean;\n setValue: (value: string | null) => void;\n setQuery: (query: string) => void;\n clear: () => void;\n open: () => void;\n close: () => void;\n}\n\n// ---------------------------------------------------------------------------\n// Props\n// ---------------------------------------------------------------------------\n\ntype CVAProps = VariantProps<typeof autocompleteVariants>;\n\nexport interface AutocompleteProps<T extends string = string> extends Pick<\n CVAProps,\n 'size' | 'tone'\n> {\n loadOptions: (\n query: string,\n opts: { signal: AbortSignal; locale: string },\n ) => Promise<OptionShape<T>[]>;\n debounceMs?: number;\n\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n onSelect?: (option: OptionShape<T>) => void;\n\n recents?: OptionShape<T>[];\n onRecentSelect?: (option: OptionShape<T>) => void;\n\n snapOnBlur?: boolean;\n\n startAdornment?: ReactNode;\n endAdornment?: ReactNode;\n placeholder?: string;\n\n disabled?: boolean;\n readOnly?: boolean;\n required?: boolean;\n name?: string;\n id?: string;\n className?: string;\n 'aria-label'?: string;\n /**\n * Invalid-state fallback for use OUTSIDE a `<FormField>` (e.g. an inline\n * editor). Inside a FormField the context wins.\n */\n 'aria-invalid'?: boolean;\n /**\n * Error-message id fallback for use OUTSIDE a `<FormField>`. Inside a\n * FormField the context's `describedBy` wins.\n */\n 'aria-describedby'?: string;\n /**\n * The input's HTML `autocomplete` token (e.g. `address-level2`), so the\n * browser can fill the field from a saved address. Text filled in while\n * the user is in another field is taken as the value without opening\n * the list or asking for suggestions. Default: `off`.\n */\n autoComplete?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Implementation\n// ---------------------------------------------------------------------------\n\nfunction itemIdFor(idPrefix: string, kind: 'recent' | 'option', value: string) {\n return `${idPrefix}-${kind}-${value}`;\n}\n\nfunction cmdkValueFor(kind: 'recent' | 'option', value: string) {\n return `${kind}:${value}`;\n}\n\nconst AutocompleteImpl = forwardRef<HTMLInputElement, AutocompleteProps>(\n function Autocomplete(\n {\n loadOptions,\n debounceMs = 250,\n value,\n defaultValue,\n onChange,\n onSelect,\n recents,\n onRecentSelect,\n snapOnBlur = false,\n size = 'md',\n tone = 'default',\n startAdornment,\n endAdornment,\n placeholder,\n disabled,\n readOnly,\n required,\n name,\n id,\n className,\n 'aria-label': ariaLabel,\n 'aria-invalid': ariaInvalid,\n 'aria-describedby': ariaDescribedBy,\n autoComplete,\n },\n ref,\n ) {\n const { t, i18n } = useTranslation('ui');\n const ctx = useFormField();\n\n const reactId = useId();\n const idPrefix = id ?? ctx.id ?? reactId;\n const listId = `${idPrefix}-listbox`;\n const liveRegionId = `${idPrefix}-live`;\n\n const effectiveDisabled = Boolean(ctx.disabled || disabled);\n const effectiveRequired = Boolean(ctx.required || required);\n const effectiveInvalid = ctx.invalid || Boolean(ariaInvalid);\n const effectiveTone: 'default' | 'error' = effectiveInvalid\n ? 'error'\n : (tone ?? 'default');\n const describedBy = ctx.describedBy || ariaDescribedBy || undefined;\n\n const [currentValueRaw, commitValueRaw] = useControllableState<string>({\n value,\n defaultValue: defaultValue ?? '',\n onChange,\n });\n const currentValue = currentValueRaw ?? '';\n\n const [open, setOpen] = useState(false);\n const [suggestions, setSuggestions] = useState<OptionShape[]>([]);\n const [loading, setLoading] = useState(false);\n const [cmdkValue, setCmdkValue] = useState<string>('');\n\n const composingRef = useRef(false);\n const abortRef = useRef<AbortController | null>(null);\n const latestQueryRef = useRef<string>(currentValue);\n const suggestionsByValueRef = useRef<Map<string, OptionShape>>(new Map());\n const recentsByValueRef = useRef<Map<string, OptionShape>>(new Map());\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n /* cmdk writes its own id on the input, so the field's label follows\n that id. */\n useFormFieldControlRef(ctx, inputRef);\n const autofillToken =\n autoComplete && autoComplete !== 'off' ? autoComplete : undefined;\n /* cmdk writes autocomplete=\"off\" over the prop on every render. */\n useIsomorphicLayoutEffect(() => {\n if (autofillToken)\n inputRef.current?.setAttribute('autocomplete', autofillToken);\n });\n const setRefs = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) ref.current = node;\n },\n [ref],\n );\n\n const locale = i18n.language;\n\n useEffect(() => {\n const map = new Map<string, OptionShape>();\n for (const option of suggestions) map.set(option.value, option);\n suggestionsByValueRef.current = map;\n }, [suggestions]);\n\n useEffect(() => {\n const map = new Map<string, OptionShape>();\n if (recents) for (const option of recents) map.set(option.value, option);\n recentsByValueRef.current = map;\n }, [recents]);\n\n const runFetch = useCallback(\n (query: string) => {\n if (effectiveDisabled || readOnly) return;\n if (composingRef.current) return;\n abortRef.current?.abort();\n const controller = new AbortController();\n abortRef.current = controller;\n latestQueryRef.current = query;\n setLoading(true);\n loadOptions(query, { signal: controller.signal, locale })\n .then((results) => {\n if (controller.signal.aborted) return;\n if (latestQueryRef.current !== query) return;\n setSuggestions(results);\n setLoading(false);\n })\n .catch((error: unknown) => {\n if (controller.signal.aborted) return;\n if (\n error &&\n typeof error === 'object' &&\n 'name' in error &&\n (error as { name?: string }).name === 'AbortError'\n ) {\n return;\n }\n if (latestQueryRef.current !== query) return;\n setSuggestions([]);\n setLoading(false);\n });\n },\n [effectiveDisabled, readOnly, loadOptions, locale],\n );\n\n const debouncedFetch = useDebouncedCallback(runFetch, debounceMs);\n\n useEffect(() => {\n return () => {\n debouncedFetch.cancel();\n abortRef.current?.abort();\n };\n }, [debouncedFetch]);\n\n const commitValue = useCallback(\n (next: string) => {\n commitValueRaw(next);\n },\n [commitValueRaw],\n );\n\n const resolveCmdkValue = useCallback(\n (\n raw: string,\n ): { kind: 'recent' | 'option'; option: OptionShape } | null => {\n const [kind, val] = raw.split(':');\n if (!val || (kind !== 'recent' && kind !== 'option')) return null;\n const lookup =\n kind === 'recent'\n ? recentsByValueRef.current\n : suggestionsByValueRef.current;\n const option = lookup.get(val);\n return option ? { kind, option } : null;\n },\n [],\n );\n\n const handleInputValueChange = (next: string) => {\n commitValue(next);\n if (effectiveDisabled || readOnly) return;\n /* Filled in by the browser from another field: the text is the\n value, and no list opens over a field the user is not in. */\n if (autofillToken && document.activeElement !== inputRef.current) return;\n if (!open) setOpen(true);\n if (composingRef.current) return;\n debouncedFetch(next);\n };\n\n const handleCompositionStart = (\n _event: CompositionEvent<HTMLInputElement>,\n ) => {\n composingRef.current = true;\n };\n\n const handleCompositionEnd = (\n event: CompositionEvent<HTMLInputElement>,\n ) => {\n composingRef.current = false;\n const next = event.currentTarget.value;\n debouncedFetch(next);\n };\n\n const handleFocus = (_event: FocusEvent<HTMLInputElement>) => {\n if (effectiveDisabled || readOnly) return;\n setOpen(true);\n if (currentValue) debouncedFetch(currentValue);\n };\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n const next = event.relatedTarget as Node | null;\n // Focus moved into the popover — keep listbox open (pointer-down on item\n // moves focus into the portal but we treat that as \"still interacting\").\n if (next && contentRef.current && contentRef.current.contains(next)) {\n return;\n }\n if (snapOnBlur && cmdkValue) {\n const resolved = resolveCmdkValue(cmdkValue);\n if (resolved) {\n commitValue(resolved.option.label);\n onSelect?.(resolved.option);\n }\n }\n setOpen(false);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.nativeEvent.isComposing) return;\n if (event.key === 'Escape') {\n if (open) {\n event.preventDefault();\n event.stopPropagation();\n setOpen(false);\n }\n return;\n }\n if (event.key === 'ArrowDown' && !open) {\n event.preventDefault();\n setOpen(true);\n if (currentValue) debouncedFetch(currentValue);\n return;\n }\n if (event.key === 'Tab' && open && cmdkValue) {\n const resolved = resolveCmdkValue(cmdkValue);\n if (resolved) {\n commitValue(resolved.option.label);\n onSelect?.(resolved.option);\n setOpen(false);\n }\n }\n };\n\n const handleItemSelect = (\n kind: 'recent' | 'option',\n option: OptionShape,\n ) => {\n commitValue(option.label);\n if (kind === 'recent') onRecentSelect?.(option);\n else onSelect?.(option);\n setOpen(false);\n inputRef.current?.focus();\n };\n\n // Prevent input blur when clicking an item — keeps focus management predictable.\n const preventBlur = (event: MouseEvent<HTMLElement>) => {\n event.preventDefault();\n };\n\n const showRecents =\n Boolean(recents && recents.length > 0) && currentValue.length === 0;\n const groupedSuggestions = useMemo(\n () => groupOptions(suggestions),\n [suggestions],\n );\n\n const hasStart = Boolean(startAdornment);\n const hasEnd = Boolean(endAdornment) || loading;\n\n const wrapperClass = autocompleteVariants({\n size,\n tone: effectiveTone,\n className,\n });\n\n const activeDescendant = useMemo(() => {\n if (!cmdkValue) return undefined;\n const [kind, val] = cmdkValue.split(':');\n if (!val || (kind !== 'recent' && kind !== 'option')) return undefined;\n return itemIdFor(idPrefix, kind, val);\n }, [cmdkValue, idPrefix]);\n\n const hasSuggestions = suggestions.length > 0;\n const showEmpty =\n !showRecents && !hasSuggestions && !loading && currentValue.length > 0;\n const showLoadingRow = loading && !hasSuggestions;\n // Suppress the popover when there is nothing to render — prevents an empty\n // 1-line strip appearing under the input on focus with no query + no recents.\n const hasPopoverContent =\n showRecents || hasSuggestions || showEmpty || showLoadingRow;\n const popoverOpen =\n open && !effectiveDisabled && !readOnly && hasPopoverContent;\n\n // cmdk assumes its list is always mounted and overwrites these props.\n // Match the actual popup before paint, using cmdk's generated list id.\n const syncPopoverAria = useCallback(() => {\n const input = inputRef.current;\n if (!input) return;\n input.setAttribute('aria-expanded', String(popoverOpen));\n const list = contentRef.current?.querySelector('[cmdk-list]');\n if (popoverOpen && list?.id) {\n input.setAttribute('aria-controls', list.id);\n } else if (!popoverOpen) {\n input.removeAttribute('aria-controls');\n input.removeAttribute('aria-activedescendant');\n }\n }, [popoverOpen]);\n useIsomorphicLayoutEffect(syncPopoverAria);\n // The portal mounts after its parent layout effect. Synchronise again\n // when its list is attached, including when opening cached recents.\n const setContentRef = useCallback(\n (node: HTMLDivElement | null) => {\n contentRef.current = node;\n syncPopoverAria();\n },\n [syncPopoverAria],\n );\n\n // Agent handle — refs mirror state for fresh reads from the memoized handle.\n const valueRefAgent = useRef<string>(currentValue);\n useEffect(() => {\n valueRefAgent.current = currentValue;\n }, [currentValue]);\n const openRefAgent = useRef<boolean>(popoverOpen);\n useEffect(() => {\n openRefAgent.current = popoverOpen;\n }, [popoverOpen]);\n\n const agentHandle = useMemo<AutocompleteHandle>(\n () => ({\n getValue: () => valueRefAgent.current || null,\n getQuery: () => valueRefAgent.current,\n getIsOpen: () => openRefAgent.current,\n setValue: (next) => {\n commitValue(next ?? '');\n },\n setQuery: (query) => {\n commitValue(query);\n },\n clear: () => {\n commitValue('');\n },\n open: () => {\n setOpen(true);\n },\n close: () => {\n setOpen(false);\n },\n }),\n [commitValue],\n );\n useAgentRegistration(autocompleteAgent, agentHandle, id);\n\n const resultCount = suggestions.length;\n const liveMessage = loading\n ? t('common.loading', 'Loading…')\n : open && currentValue.length > 0\n ? t('inputs.autocomplete.results', {\n count: resultCount,\n defaultValue: '{{count}} results',\n })\n : '';\n\n return (\n <Command\n shouldFilter={false}\n value={cmdkValue}\n onValueChange={setCmdkValue}\n // cmdk's hidden label names the input: the caller's `aria-label`,\n // else the FormField's label, else the placeholder.\n label={ariaLabel ?? (ctx.label || placeholder)}\n className=\"ds:w-full\"\n >\n <Popover.Root open={popoverOpen}>\n <Popover.Anchor asChild>\n <div\n className={wrapperClass}\n data-component=\"autocomplete\"\n data-component-id={id}\n data-disabled={effectiveDisabled || undefined}\n >\n {startAdornment ? (\n <span aria-hidden=\"true\" className={`${adornmentBase} ds:ps-3`}>\n {startAdornment}\n </span>\n ) : null}\n <Command.Input\n ref={setRefs}\n id={idPrefix}\n name={name}\n placeholder={placeholder}\n value={currentValue}\n onValueChange={handleInputValueChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n disabled={effectiveDisabled}\n readOnly={readOnly}\n required={effectiveRequired}\n role=\"combobox\"\n aria-autocomplete=\"both\"\n aria-expanded={popoverOpen}\n // Only advertise aria-controls while the listbox is mounted\n // — Command.List lives inside the Popover.Content and only\n // renders when `open` is true. Pointing aria-controls at a\n // non-existent id fails axe's aria-valid-attr-value rule.\n aria-controls={popoverOpen ? listId : undefined}\n aria-activedescendant={activeDescendant}\n aria-describedby={describedBy}\n aria-invalid={effectiveInvalid || undefined}\n // The fallback when cmdk's hidden label is empty: no\n // `aria-label`, no FormField label and no placeholder.\n aria-label={\n ariaLabel ?? (ctx.label || t('inputs.autocomplete.ariaLabel'))\n }\n autoComplete=\"off\"\n className={inputVariants({ hasStart, hasEnd })}\n />\n {loading ? (\n <span className={`${adornmentBase} ds:pe-3`} aria-hidden=\"true\">\n <Spinner variant=\"pulse\" size=\"sm\" />\n </span>\n ) : endAdornment ? (\n <span aria-hidden=\"true\" className={`${adornmentBase} ds:pe-3`}>\n {endAdornment}\n </span>\n ) : null}\n <span\n id={liveRegionId}\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n className=\"ds:sr-only\"\n >\n {liveMessage}\n </span>\n </div>\n </Popover.Anchor>\n {popoverOpen ? (\n <Popover.Portal>\n <Popover.Content\n ref={setContentRef}\n role=\"presentation\"\n side=\"bottom\"\n align=\"start\"\n sideOffset={4}\n onOpenAutoFocus={(event) => event.preventDefault()}\n onCloseAutoFocus={(event) => event.preventDefault()}\n onPointerDownOutside={(event) => {\n const target = event.target as Node | null;\n if (target && inputRef.current?.contains(target)) {\n event.preventDefault();\n return;\n }\n setOpen(false);\n }}\n onEscapeKeyDown={() => setOpen(false)}\n onMouseDown={preventBlur}\n className={contentVariants()}\n >\n <Command.List\n id={listId}\n // cmdk names the listbox \"Suggestions\" in English otherwise.\n label={\n ariaLabel ??\n (ctx.label ||\n placeholder ||\n t('inputs.autocomplete.ariaLabel'))\n }\n className=\"ds:max-h-[min(24rem,var(--radix-popover-content-available-height))] ds:overflow-auto ds:p-1\"\n >\n {showRecents ? (\n <Command.Group\n heading={t('inputs.autocomplete.recent', 'Recent')}\n className={groupClasses}\n >\n {(recents ?? []).map((option) => (\n <Command.Item\n key={`recent-${option.value}`}\n id={itemIdFor(idPrefix, 'recent', option.value)}\n data-option-id={option.value}\n value={cmdkValueFor('recent', option.value)}\n disabled={option.disabled}\n onSelect={() => handleItemSelect('recent', option)}\n onMouseDown={preventBlur}\n className={itemVariants()}\n >\n {option.startAdornment ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:items-center ds:shrink-0\"\n >\n {option.startAdornment}\n </span>\n ) : null}\n <span className=\"ds:flex-1 ds:truncate\">\n {option.label}\n </span>\n {option.endContent ? (\n // Deliberately NOT aria-hidden — unlike\n // `startAdornment`, this slot carries meaning\n // and must reach the option's accessible name.\n <span className=\"ds:inline-flex ds:items-center ds:ms-auto ds:shrink-0\">\n {option.endContent}\n </span>\n ) : null}\n </Command.Item>\n ))}\n </Command.Group>\n ) : null}\n {showEmpty ? (\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n className=\"ds:ps-3 ds:pe-3 ds:py-2 type-body-sm ds:text-muted-foreground\"\n >\n {t('inputs.autocomplete.noResults', 'No results')}\n </div>\n ) : null}\n {showLoadingRow ? (\n <div\n role=\"option\"\n aria-disabled=\"true\"\n aria-selected=\"false\"\n className=\"ds:flex ds:items-center ds:gap-[var(--spacing-sm)] ds:ps-3 ds:pe-3 ds:py-2 type-body-sm ds:text-muted-foreground\"\n >\n <Spinner variant=\"pulse\" size=\"sm\" />\n <span>{t('common.loading', 'Loading…')}</span>\n </div>\n ) : null}\n {!showRecents && hasSuggestions\n ? groupedSuggestions.map((group, index) => {\n const body = group.items.map((option) => (\n <Command.Item\n key={`option-${option.value}`}\n id={itemIdFor(idPrefix, 'option', option.value)}\n data-option-id={option.value}\n value={cmdkValueFor('option', option.value)}\n disabled={option.disabled}\n onSelect={() => handleItemSelect('option', option)}\n onMouseDown={preventBlur}\n className={itemVariants()}\n >\n {option.startAdornment ? (\n <span\n aria-hidden=\"true\"\n className=\"ds:inline-flex ds:items-center ds:shrink-0\"\n >\n {option.startAdornment}\n </span>\n ) : null}\n <span className=\"ds:flex-1 ds:truncate\">\n {option.label}\n </span>\n {option.endContent ? (\n // Deliberately NOT aria-hidden — unlike\n // `startAdornment`, this slot carries meaning\n // and must reach the option's accessible name.\n <span className=\"ds:inline-flex ds:items-center ds:ms-auto ds:shrink-0\">\n {option.endContent}\n </span>\n ) : null}\n </Command.Item>\n ));\n if (!group.group) {\n return (\n <Command.Group key={`group-${index}`}>\n {body}\n </Command.Group>\n );\n }\n return (\n <Command.Group\n key={`group-${group.group}`}\n heading={group.group}\n className={groupClasses}\n >\n {body}\n </Command.Group>\n );\n })\n : null}\n </Command.List>\n </Popover.Content>\n </Popover.Portal>\n ) : null}\n </Popover.Root>\n </Command>\n );\n },\n);\n\ninterface AutocompleteComponent {\n <T extends string = string>(\n props: AutocompleteProps<T> & { ref?: Ref<HTMLInputElement> },\n ): ReactElement | null;\n displayName?: string;\n}\n\nexport const Autocomplete =\n AutocompleteImpl as unknown as AutocompleteComponent;\n(Autocomplete as { displayName?: string }).displayName = 'Autocomplete';\n\nexport { autocompleteVariants };\n"],"names":["autocompleteAgent","handle","args","autocompleteVariants","cva","INPUT_SURFACE_CHROME","INPUT_SURFACE_HEIGHT","INPUT_SURFACE_TEXT","INPUT_SURFACE_TONE","inputVariants","contentVariants","itemVariants","MENU_ROW_HIGHLIGHT","groupClasses","adornmentBase","itemIdFor","idPrefix","kind","value","cmdkValueFor","AutocompleteImpl","forwardRef","loadOptions","debounceMs","defaultValue","onChange","onSelect","recents","onRecentSelect","snapOnBlur","size","tone","startAdornment","endAdornment","placeholder","disabled","readOnly","required","name","id","className","ariaLabel","ariaInvalid","ariaDescribedBy","autoComplete","ref","t","i18n","useTranslation","ctx","useFormField","reactId","useId","listId","liveRegionId","effectiveDisabled","effectiveRequired","effectiveInvalid","effectiveTone","describedBy","currentValueRaw","commitValueRaw","useControllableState","currentValue","open","setOpen","useState","suggestions","setSuggestions","loading","setLoading","cmdkValue","setCmdkValue","composingRef","useRef","abortRef","latestQueryRef","suggestionsByValueRef","recentsByValueRef","inputRef","contentRef","useFormFieldControlRef","autofillToken","useIsomorphicLayoutEffect","_a","setRefs","useCallback","node","locale","useEffect","map","option","runFetch","query","controller","results","error","debouncedFetch","useDebouncedCallback","commitValue","next","resolveCmdkValue","raw","val","handleInputValueChange","handleCompositionStart","_event","handleCompositionEnd","event","handleFocus","handleBlur","resolved","handleKeyDown","handleItemSelect","preventBlur","showRecents","groupedSuggestions","useMemo","groupOptions","hasStart","hasEnd","wrapperClass","activeDescendant","hasSuggestions","showEmpty","showLoadingRow","popoverOpen","syncPopoverAria","input","list","setContentRef","valueRefAgent","openRefAgent","agentHandle","useAgentRegistration","resultCount","liveMessage","jsx","Command","jsxs","Popover","Spinner","target","group","index","body","Autocomplete"],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as C, jsxs as M } from "react/jsx-runtime";
2
2
  import { createElement as G, useRef as k, useEffect as ae, useCallback as K, forwardRef as be, useState as ie, useImperativeHandle as ge, useMemo as X } from "react";
3
3
  import { useTranslation as Y } from "react-i18next";
4
- import { a as b, T as g, D as S, d as Ce } from "./data-table-B_IcS0Ke.js";
4
+ import { a as b, T as g, D as S, d as Ce } from "./data-table-CqQgoNsU.js";
5
5
  import { A as ve, a as re } from "./actions-cell-renderer-B1yaOfQM.js";
6
6
  import { S as Te } from "./select-4S-eYZUf.js";
7
7
  import { u as we } from "./registry-DvAUVLHh.js";
8
- import { I as Ne, L as Fe, b as z, a as H, c as $, N as j, d as w, S as N, T as le, D as Q, g as Re, f as Ie, U as ye, e as Pe, h as Se } from "./link-cell-renderer-C0ynDik7.js";
8
+ import { I as Ne, L as Fe, b as z, a as H, c as $, N as j, d as w, S as N, T as le, D as Q, g as Re, f as Ie, U as ye, e as Pe, h as Se } from "./link-cell-renderer-CnCgudvq.js";
9
9
  import { T as We } from "./transaction-chip-CohY6sTA.js";
10
10
  import { B as oe } from "./badge-BUk4RjTS.js";
11
11
  import { c as Ae } from "./index-D2ZczOXr.js";
@@ -1179,4 +1179,4 @@ export {
1179
1179
  se as g,
1180
1180
  nt as u
1181
1181
  };
1182
- //# sourceMappingURL=balance-badge-cell-C4FYwmrZ.js.map
1182
+ //# sourceMappingURL=balance-badge-cell-D9VhFp0L.js.map