@alfadocs/ui-kit-debug 1.78.0 → 1.80.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 (214) hide show
  1. package/dist/_chunks/{address-fields-BUPRs3n-.js → address-fields-GnoSkvh6.js} +2 -2
  2. package/dist/_chunks/{address-fields-BUPRs3n-.js.map → address-fields-GnoSkvh6.js.map} +1 -1
  3. package/dist/_chunks/{anamnesis-summary-rows-vNDyE5HW.js → anamnesis-summary-rows-lONg-zja.js} +2 -2
  4. package/dist/_chunks/{anamnesis-summary-rows-vNDyE5HW.js.map → anamnesis-summary-rows-lONg-zja.js.map} +1 -1
  5. package/dist/_chunks/{bishop-score-CdbU9Nl4.js → bishop-score-C5di6oAV.js} +2 -2
  6. package/dist/_chunks/{bishop-score-CdbU9Nl4.js.map → bishop-score-C5di6oAV.js.map} +1 -1
  7. package/dist/_chunks/{bmi-calculator-DnfiDh4Q.js → bmi-calculator-BIExHBZV.js} +2 -2
  8. package/dist/_chunks/{bmi-calculator-DnfiDh4Q.js.map → bmi-calculator-BIExHBZV.js.map} +1 -1
  9. package/dist/_chunks/{booking-Cz_QjIJe.js → booking-By4I_1A-.js} +1766 -1749
  10. package/dist/_chunks/booking-By4I_1A-.js.map +1 -0
  11. package/dist/_chunks/{calendar-appointment-editor-dialog-cvUpUjj-.js → calendar-appointment-editor-dialog-DhTTWgXw.js} +3 -3
  12. package/dist/_chunks/{calendar-appointment-editor-dialog-cvUpUjj-.js.map → calendar-appointment-editor-dialog-DhTTWgXw.js.map} +1 -1
  13. package/dist/_chunks/{cycle-calculator-HO3s5InI.js → cycle-calculator-CQkjVSD2.js} +2 -2
  14. package/dist/_chunks/{cycle-calculator-HO3s5InI.js.map → cycle-calculator-CQkjVSD2.js.map} +1 -1
  15. package/dist/_chunks/{due-date-calculator-CDWTSblh.js → due-date-calculator-NjTlmoFK.js} +2 -2
  16. package/dist/_chunks/{due-date-calculator-CDWTSblh.js.map → due-date-calculator-NjTlmoFK.js.map} +1 -1
  17. package/dist/_chunks/{fetal-weight-CrtBFJl-.js → fetal-weight-Brl3n4LN.js} +2 -2
  18. package/dist/_chunks/{fetal-weight-CrtBFJl-.js.map → fetal-weight-Brl3n4LN.js.map} +1 -1
  19. package/dist/_chunks/{forgot-password-form-BSOZVrZG.js → forgot-password-form-BQPvDS7i.js} +2 -2
  20. package/dist/_chunks/{forgot-password-form-BSOZVrZG.js.map → forgot-password-form-BQPvDS7i.js.map} +1 -1
  21. package/dist/_chunks/form-field-CyHfOVKF.js +185 -0
  22. package/dist/_chunks/form-field-CyHfOVKF.js.map +1 -0
  23. package/dist/_chunks/{gestational-age-calculator-CTHeJJdb.js → gestational-age-calculator-Dr9hdDta.js} +2 -2
  24. package/dist/_chunks/{gestational-age-calculator-CTHeJJdb.js.map → gestational-age-calculator-Dr9hdDta.js.map} +1 -1
  25. package/dist/_chunks/{hcg-doubling-BBk-a33g.js → hcg-doubling-K41Wy7LB.js} +2 -2
  26. package/dist/_chunks/{hcg-doubling-BBk-a33g.js.map → hcg-doubling-K41Wy7LB.js.map} +1 -1
  27. package/dist/_chunks/{help-me-write-templates-Ds1FY-WY.js → help-me-write-templates-BJSf24xS.js} +2 -2
  28. package/dist/_chunks/{help-me-write-templates-Ds1FY-WY.js.map → help-me-write-templates-BJSf24xS.js.map} +1 -1
  29. package/dist/_chunks/key-round-DIgsnJSg.js +21 -0
  30. package/dist/_chunks/key-round-DIgsnJSg.js.map +1 -0
  31. package/dist/_chunks/{kit-extensions-sNTZWkoo.js → kit-extensions-a0G4COFH.js} +6 -6
  32. package/dist/_chunks/{kit-extensions-sNTZWkoo.js.map → kit-extensions-a0G4COFH.js.map} +1 -1
  33. package/dist/_chunks/login-dev-card-CvLHj-_N.js +353 -0
  34. package/dist/_chunks/login-dev-card-CvLHj-_N.js.map +1 -0
  35. package/dist/_chunks/{practice-results-BnY2EkzI.js → practice-results-CtOanuzZ.js} +659 -615
  36. package/dist/_chunks/practice-results-CtOanuzZ.js.map +1 -0
  37. package/dist/_chunks/{pregnancy-dating-JBAUbM40.js → pregnancy-dating-BHvfDxz4.js} +2 -2
  38. package/dist/_chunks/{pregnancy-dating-JBAUbM40.js.map → pregnancy-dating-BHvfDxz4.js.map} +1 -1
  39. package/dist/_chunks/{pregnancy-weight-gain--Bqv6AWu.js → pregnancy-weight-gain-BeQRxwdP.js} +2 -2
  40. package/dist/_chunks/{pregnancy-weight-gain--Bqv6AWu.js.map → pregnancy-weight-gain-BeQRxwdP.js.map} +1 -1
  41. package/dist/_chunks/{radiograph-panel.agent-DQh2SX8G.js → radiograph-panel.agent-BQ95uFCd.js} +2 -2
  42. package/dist/_chunks/{radiograph-panel.agent-DQh2SX8G.js.map → radiograph-panel.agent-BQ95uFCd.js.map} +1 -1
  43. package/dist/_chunks/registration-form-CNBfUduG.js +1337 -0
  44. package/dist/_chunks/registration-form-CNBfUduG.js.map +1 -0
  45. package/dist/_chunks/reset-password-form-Cf9QPEJu.js +367 -0
  46. package/dist/_chunks/reset-password-form-Cf9QPEJu.js.map +1 -0
  47. package/dist/_chunks/{send-registration-link-form-__DWY62q.js → send-registration-link-form-vTn1HxjA.js} +2 -2
  48. package/dist/_chunks/{send-registration-link-form-__DWY62q.js.map → send-registration-link-form-vTn1HxjA.js.map} +1 -1
  49. package/dist/_chunks/{task-editor-CRhfwP9T.js → task-editor-Cpw-NmND.js} +2 -2
  50. package/dist/_chunks/{task-editor-CRhfwP9T.js.map → task-editor-Cpw-NmND.js.map} +1 -1
  51. package/dist/_chunks/{unit-converter-D59L-gkf.js → unit-converter-BH5ueIhT.js} +2 -2
  52. package/dist/_chunks/{unit-converter-D59L-gkf.js.map → unit-converter-BH5ueIhT.js.map} +1 -1
  53. package/dist/_chunks/{voice-control-panel-DQJwe6_Q.js → voice-control-panel-BziKE-KK.js} +2 -2
  54. package/dist/_chunks/{voice-control-panel-DQJwe6_Q.js.map → voice-control-panel-BziKE-KK.js.map} +1 -1
  55. package/dist/_chunks/{workflow-webhook-action-BvVPZVpG.js → workflow-webhook-action-DulCpCRz.js} +96 -111
  56. package/dist/_chunks/workflow-webhook-action-DulCpCRz.js.map +1 -0
  57. package/dist/agent-catalog.json +91 -5
  58. package/dist/agent-i18n/en.json +11 -2
  59. package/dist/components/address-fields/index.js +1 -1
  60. package/dist/components/bishop-score/index.js +1 -1
  61. package/dist/components/bmi-calculator/index.js +1 -1
  62. package/dist/components/booking/booking-types.d.ts +16 -1
  63. package/dist/components/booking/booking-types.d.ts.map +1 -1
  64. package/dist/components/booking/booking.d.ts.map +1 -1
  65. package/dist/components/booking/cascade.d.ts +3 -0
  66. package/dist/components/booking/cascade.d.ts.map +1 -1
  67. package/dist/components/booking/details-form.d.ts +2 -0
  68. package/dist/components/booking/details-form.d.ts.map +1 -1
  69. package/dist/components/booking/index.js +1 -1
  70. package/dist/components/cycle-calculator/index.js +1 -1
  71. package/dist/components/due-date-calculator/index.js +1 -1
  72. package/dist/components/fetal-weight/index.js +1 -1
  73. package/dist/components/form-field/form-field.d.ts +6 -0
  74. package/dist/components/form-field/form-field.d.ts.map +1 -1
  75. package/dist/components/form-field/index.js +1 -1
  76. package/dist/components/gestational-age-calculator/index.js +1 -1
  77. package/dist/components/hcg-doubling/index.js +1 -1
  78. package/dist/components/index.d.ts +1 -0
  79. package/dist/components/index.d.ts.map +1 -1
  80. package/dist/components/practice-results/index.js +1 -1
  81. package/dist/components/practice-results/practice-results.d.ts +19 -2
  82. package/dist/components/practice-results/practice-results.d.ts.map +1 -1
  83. package/dist/components/pregnancy-dating/index.js +1 -1
  84. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  85. package/dist/components/radiograph-panel/index.js +1 -1
  86. package/dist/components/rich-text-editor/index.js +1 -1
  87. package/dist/components/task-editor/index.js +1 -1
  88. package/dist/components/unit-converter/index.js +1 -1
  89. package/dist/components/voice-control-panel/index.js +1 -1
  90. package/dist/i18n/locales/ar.d.ts +28 -0
  91. package/dist/i18n/locales/ar.d.ts.map +1 -1
  92. package/dist/i18n/locales/ar.js +30 -2
  93. package/dist/i18n/locales/ar.js.map +1 -1
  94. package/dist/i18n/locales/de.d.ts +28 -0
  95. package/dist/i18n/locales/de.d.ts.map +1 -1
  96. package/dist/i18n/locales/de.js +30 -2
  97. package/dist/i18n/locales/de.js.map +1 -1
  98. package/dist/i18n/locales/el.d.ts +28 -0
  99. package/dist/i18n/locales/el.d.ts.map +1 -1
  100. package/dist/i18n/locales/el.js +30 -2
  101. package/dist/i18n/locales/el.js.map +1 -1
  102. package/dist/i18n/locales/en.d.ts +28 -0
  103. package/dist/i18n/locales/en.d.ts.map +1 -1
  104. package/dist/i18n/locales/en.js +29 -1
  105. package/dist/i18n/locales/en.js.map +1 -1
  106. package/dist/i18n/locales/es.d.ts +28 -0
  107. package/dist/i18n/locales/es.d.ts.map +1 -1
  108. package/dist/i18n/locales/es.js +30 -2
  109. package/dist/i18n/locales/es.js.map +1 -1
  110. package/dist/i18n/locales/fr.d.ts +28 -0
  111. package/dist/i18n/locales/fr.d.ts.map +1 -1
  112. package/dist/i18n/locales/fr.js +30 -2
  113. package/dist/i18n/locales/fr.js.map +1 -1
  114. package/dist/i18n/locales/hi.d.ts +28 -0
  115. package/dist/i18n/locales/hi.d.ts.map +1 -1
  116. package/dist/i18n/locales/hi.js +30 -2
  117. package/dist/i18n/locales/hi.js.map +1 -1
  118. package/dist/i18n/locales/it.d.ts +28 -0
  119. package/dist/i18n/locales/it.d.ts.map +1 -1
  120. package/dist/i18n/locales/it.js +30 -2
  121. package/dist/i18n/locales/it.js.map +1 -1
  122. package/dist/i18n/locales/ja.d.ts +28 -0
  123. package/dist/i18n/locales/ja.d.ts.map +1 -1
  124. package/dist/i18n/locales/ja.js +30 -2
  125. package/dist/i18n/locales/ja.js.map +1 -1
  126. package/dist/i18n/locales/nl.d.ts +28 -0
  127. package/dist/i18n/locales/nl.d.ts.map +1 -1
  128. package/dist/i18n/locales/nl.js +30 -2
  129. package/dist/i18n/locales/nl.js.map +1 -1
  130. package/dist/i18n/locales/pl.d.ts +28 -0
  131. package/dist/i18n/locales/pl.d.ts.map +1 -1
  132. package/dist/i18n/locales/pl.js +30 -2
  133. package/dist/i18n/locales/pl.js.map +1 -1
  134. package/dist/i18n/locales/pt.d.ts +28 -0
  135. package/dist/i18n/locales/pt.d.ts.map +1 -1
  136. package/dist/i18n/locales/pt.js +30 -2
  137. package/dist/i18n/locales/pt.js.map +1 -1
  138. package/dist/i18n/locales/ro.d.ts +28 -0
  139. package/dist/i18n/locales/ro.d.ts.map +1 -1
  140. package/dist/i18n/locales/ro.js +30 -2
  141. package/dist/i18n/locales/ro.js.map +1 -1
  142. package/dist/i18n/locales/ru.d.ts +28 -0
  143. package/dist/i18n/locales/ru.d.ts.map +1 -1
  144. package/dist/i18n/locales/ru.js +30 -2
  145. package/dist/i18n/locales/ru.js.map +1 -1
  146. package/dist/i18n/locales/sq.d.ts +28 -0
  147. package/dist/i18n/locales/sq.d.ts.map +1 -1
  148. package/dist/i18n/locales/sq.js +30 -2
  149. package/dist/i18n/locales/sq.js.map +1 -1
  150. package/dist/i18n/locales/sv.d.ts +28 -0
  151. package/dist/i18n/locales/sv.d.ts.map +1 -1
  152. package/dist/i18n/locales/sv.js +30 -2
  153. package/dist/i18n/locales/sv.js.map +1 -1
  154. package/dist/i18n/locales/tr.d.ts +28 -0
  155. package/dist/i18n/locales/tr.d.ts.map +1 -1
  156. package/dist/i18n/locales/tr.js +30 -2
  157. package/dist/i18n/locales/tr.js.map +1 -1
  158. package/dist/i18n/locales/zh.d.ts +28 -0
  159. package/dist/i18n/locales/zh.d.ts.map +1 -1
  160. package/dist/i18n/locales/zh.js +30 -2
  161. package/dist/i18n/locales/zh.js.map +1 -1
  162. package/dist/index.js +90 -87
  163. package/dist/index.js.map +1 -1
  164. package/dist/locales/ar.json +30 -2
  165. package/dist/locales/de.json +30 -2
  166. package/dist/locales/el.json +30 -2
  167. package/dist/locales/en.json +29 -1
  168. package/dist/locales/es.json +30 -2
  169. package/dist/locales/fr.json +30 -2
  170. package/dist/locales/hi.json +30 -2
  171. package/dist/locales/it.json +30 -2
  172. package/dist/locales/ja.json +30 -2
  173. package/dist/locales/nl.json +30 -2
  174. package/dist/locales/pl.json +30 -2
  175. package/dist/locales/pt.json +30 -2
  176. package/dist/locales/ro.json +30 -2
  177. package/dist/locales/ru.json +30 -2
  178. package/dist/locales/sq.json +30 -2
  179. package/dist/locales/sv.json +30 -2
  180. package/dist/locales/tr.json +30 -2
  181. package/dist/locales/zh.json +30 -2
  182. package/dist/patterns/_shared/password-policy.d.ts +3 -0
  183. package/dist/patterns/_shared/password-policy.d.ts.map +1 -0
  184. package/dist/patterns/anamnesis/index.js +1 -1
  185. package/dist/patterns/calendar/index.js +1 -1
  186. package/dist/patterns/forgot-password-form/index.js +1 -1
  187. package/dist/patterns/help-me-write-templates/index.js +1 -1
  188. package/dist/patterns/login-form/index.js +1 -1
  189. package/dist/patterns/login-form/login-form.d.ts +24 -7
  190. package/dist/patterns/login-form/login-form.d.ts.map +1 -1
  191. package/dist/patterns/registration-form/index.d.ts +1 -1
  192. package/dist/patterns/registration-form/index.d.ts.map +1 -1
  193. package/dist/patterns/registration-form/index.js +1 -1
  194. package/dist/patterns/registration-form/registration-form.d.ts +27 -0
  195. package/dist/patterns/registration-form/registration-form.d.ts.map +1 -1
  196. package/dist/patterns/reset-password-form/index.d.ts +3 -0
  197. package/dist/patterns/reset-password-form/index.d.ts.map +1 -0
  198. package/dist/patterns/reset-password-form/index.js +6 -0
  199. package/dist/patterns/reset-password-form/index.js.map +1 -0
  200. package/dist/patterns/reset-password-form/reset-password-form.d.ts +108 -0
  201. package/dist/patterns/reset-password-form/reset-password-form.d.ts.map +1 -0
  202. package/dist/patterns/send-registration-link-form/index.js +1 -1
  203. package/dist/patterns/workflow-webhook-action/index.js +1 -1
  204. package/dist/tokens.css +1 -1
  205. package/package.json +5 -1
  206. package/dist/_chunks/booking-Cz_QjIJe.js.map +0 -1
  207. package/dist/_chunks/form-field-Ani72sVY.js +0 -176
  208. package/dist/_chunks/form-field-Ani72sVY.js.map +0 -1
  209. package/dist/_chunks/login-dev-card-DRxTPkE9.js +0 -332
  210. package/dist/_chunks/login-dev-card-DRxTPkE9.js.map +0 -1
  211. package/dist/_chunks/practice-results-BnY2EkzI.js.map +0 -1
  212. package/dist/_chunks/registration-form-xORq2s4p.js +0 -1310
  213. package/dist/_chunks/registration-form-xORq2s4p.js.map +0 -1
  214. package/dist/_chunks/workflow-webhook-action-BvVPZVpG.js.map +0 -1
@@ -7,7 +7,7 @@ import { P as U } from "./province-select-CDjs5obD.js";
7
7
  import { P as W } from "./postal-code-input-CfZOnIkW.js";
8
8
  import { C as Y } from "./city-input-3J3bz9EO.js";
9
9
  import { T as z } from "./text-input-CaG9ApoE.js";
10
- import { F as y } from "./form-field-Ani72sVY.js";
10
+ import { F as y } from "./form-field-CyHfOVKF.js";
11
11
  import { A as G } from "./address-autocomplete-bPR2mNBt.js";
12
12
  import { u as J } from "./registry-DvAUVLHh.js";
13
13
  const Q = {
@@ -295,4 +295,4 @@ export {
295
295
  te as A,
296
296
  X as a
297
297
  };
298
- //# sourceMappingURL=address-fields-BUPRs3n-.js.map
298
+ //# sourceMappingURL=address-fields-GnoSkvh6.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"address-fields-BUPRs3n-.js","sources":["../../src/components/address-fields/address-fields.agent.ts","../../src/components/address-fields/address-fields.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { StructuredAddress } from '../address-autocomplete';\n\nexport interface AddressFieldsHandle {\n getValue: () => StructuredAddress;\n setValue: (value: StructuredAddress) => void;\n setField: (field: keyof StructuredAddress, value: string) => void;\n}\n\nconst ADDRESS_PROPERTIES = {\n street: { type: 'string' },\n city: { type: 'string' },\n postcode: { type: 'string' },\n province: { type: 'string', description: 'UPPERCASED province code.' },\n country: { type: 'string', description: 'ISO alpha-2, lowercased.' },\n formatted: { type: 'string' },\n} as const;\n\nexport const addressFieldsAgent: AgentAdapter<AddressFieldsHandle> = {\n id: 'address-fields',\n // `set_value` only — a structured address form sets discrete fields; it does\n // no granular in-place rich-text editing, so `edit_inline` does not apply.\n capabilities: ['set_value'],\n state: {\n value: {\n type: 'object',\n descriptionKey: 'ui.agent.addressFields.state.value',\n description:\n 'The current structured address: { street, city, postcode, province, country, formatted }.',\n read: (handle) => handle.getValue(),\n },\n },\n actions: {\n set_value: {\n safety: 'write',\n argsType: '{ value: StructuredAddress }',\n argsSchema: {\n type: 'object',\n properties: {\n value: { type: 'object', properties: ADDRESS_PROPERTIES },\n },\n required: ['value'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.addressFields.actions.setValue',\n description: 'Replace the entire address.',\n invoke: (handle, args: { value: StructuredAddress }) => {\n handle.setValue(args.value);\n },\n },\n set_field: {\n // Contact-data write (street/city/postcode/etc.), not clinical PHI —\n // consistent with PhoneInput / EmailInput / FiscalCodeInput, which all\n // treat identifying contact data as `write`.\n safety: 'write',\n argsType:\n \"{ field: 'street' | 'city' | 'postcode' | 'province' | 'country'; value: string }\",\n argsSchema: {\n type: 'object',\n properties: {\n field: {\n type: 'string',\n enum: ['street', 'city', 'postcode', 'province', 'country'],\n },\n value: { type: 'string' },\n },\n required: ['field', 'value'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.addressFields.actions.setField',\n description:\n 'Set a single address field. Setting `country` also clears the now-stale province.',\n examples: [\n {\n args: { field: 'country', value: 'it' },\n note: 'Set the country to Italy.',\n },\n ],\n invoke: (\n handle,\n args: { field: keyof StructuredAddress; value: string },\n ) => {\n handle.setField(args.field, args.value);\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'address-fields' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type ChangeEvent,\n type ReactNode,\n} from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { CountrySelect } from '../country-select/country-select';\nimport { ProvinceSelect } from '../province-select/province-select';\nimport { PostalCodeInput } from '../postal-code-input/postal-code-input';\nimport { CityInput, type CityLoaderContext } from '../city-input/city-input';\nimport { TextInput } from '../text-input';\nimport { FormField } from '../form-field/form-field';\nimport {\n AddressAutocomplete,\n type GetSuggestions,\n type StructuredAddress,\n} from '../address-autocomplete';\nimport type { OptionShape } from '../_shared/option';\nimport { useAgentRegistration } from '../../agent';\nimport {\n addressFieldsAgent,\n type AddressFieldsHandle,\n} from './address-fields.agent';\n\n/* ------------------------------------------------------------------ */\n/* Public API */\n/* */\n/* A shippable composite that wires the address fields together and */\n/* emits a single StructuredAddress. Country drives the rest: it re-keys */\n/* the province dataset, swaps the postcode rule, and re-orders the */\n/* fields. An optional \"find address\" bar fans an AddressAutocomplete */\n/* selection out into the individual fields. */\n/* ------------------------------------------------------------------ */\n\nexport type AddressFieldKey = 'street' | 'city' | 'postcode' | 'province';\n\nconst EMPTY_ADDRESS: StructuredAddress = {\n street: '',\n city: '',\n postcode: '',\n province: '',\n country: '',\n formatted: '',\n};\n\n// Minimal country-keyed field-order map — NOT a libaddressinput port.\n// Extend with another entry when a country needs a different order.\nconst FIELD_ORDER: Record<string, AddressFieldKey[]> = {\n it: ['street', 'postcode', 'city', 'province'],\n};\nconst DEFAULT_ORDER: AddressFieldKey[] = [\n 'street',\n 'city',\n 'postcode',\n 'province',\n];\n\n// Fields that span the full width in the grid layout.\nconst WIDE_CELLS = new Set<string>(['findbar', 'country', 'street']);\n\nconst layoutVariants = cva('', {\n variants: {\n layout: {\n stacked: 'ds:flex ds:flex-col ds:gap-[var(--spacing-md)]',\n grid: 'ds:grid ds:grid-cols-2 ds:gap-[var(--spacing-md)]',\n },\n },\n defaultVariants: { layout: 'stacked' },\n});\n\nexport interface AddressFieldsProps {\n /** The controlled address value. */\n value?: StructuredAddress;\n /** Fires with the next full address on any field change. */\n onChange?: (next: StructuredAddress) => void;\n /**\n * Which address-line fields to render, in order. The country picker\n * always renders first. Default resolves from the selected country.\n */\n fields?: AddressFieldKey[];\n /** Async city suggestion loader, forwarded to CityInput. */\n loadCities?: (\n query: string,\n ctx: CityLoaderContext,\n ) => Promise<OptionShape[]>;\n /** Float these countries to the top of the country picker. */\n popularCountries?: string[];\n /** Enable the \"find address\" bar — provide a Places API key… */\n apiKey?: string;\n /** …or a mock/real suggestion injector (wins over apiKey, like AddressAutocomplete). */\n getSuggestions?: GetSuggestions;\n layout?: 'stacked' | 'grid';\n /** Marks fields as required: `true` for every field shown, or a list\n * of the ones that are (a province is mandatory in some countries\n * only). The host still validates. */\n required?: boolean | readonly (AddressFieldKey | 'country')[];\n /** An error message per field, shown under it. The host validates and\n * decides when to show each one. */\n errors?: Partial<Record<AddressFieldKey | 'country', string>>;\n /** Whether a field's message raises `role=\"alert\"`, per field; each\n * does unless set to `false`. Turn it off for messages shown together,\n * such as by a refused submit, so they are not all announced at once. */\n announceErrors?: Partial<Record<AddressFieldKey | 'country', boolean>>;\n disabled?: boolean;\n id?: string;\n className?: string;\n}\n\nexport const AddressFields = forwardRef<HTMLDivElement, AddressFieldsProps>(\n function AddressFields(\n {\n value,\n onChange,\n fields,\n loadCities,\n popularCountries,\n apiKey,\n getSuggestions,\n layout = 'stacked',\n required,\n errors,\n announceErrors,\n disabled,\n id,\n className,\n },\n ref,\n ) {\n const { t } = useTranslation('ui');\n const address = value ?? EMPTY_ADDRESS;\n const country = address.country;\n\n const valueRef = useRef(address);\n useEffect(() => {\n valueRef.current = address;\n }, [address]);\n\n const update = useCallback(\n (patch: Partial<StructuredAddress>) => {\n /* A browser fills every field in one go, faster than the host\n re-renders: each change must build on the one before it. */\n const next = { ...valueRef.current, ...patch };\n valueRef.current = next;\n onChange?.(next);\n },\n [onChange],\n );\n\n // Find-bar selection fans the looked-up address out into every field.\n const handleFind = useCallback(\n (found: StructuredAddress) =>\n onChange?.({ ...valueRef.current, ...found }),\n [onChange],\n );\n\n const agentHandle = useMemo<AddressFieldsHandle>(\n () => ({\n getValue: () => valueRef.current,\n setValue: (next) => onChange?.(next),\n setField: (field, fieldValue) => {\n const patch: Partial<StructuredAddress> = { [field]: fieldValue };\n // Mirror the UI path: changing country re-keys the stale province.\n if (field === 'country') patch.province = '';\n onChange?.({ ...valueRef.current, ...patch });\n },\n }),\n [onChange],\n );\n useAgentRegistration(addressFieldsAgent, agentHandle, id);\n\n const order =\n fields ?? FIELD_ORDER[country?.toLowerCase() ?? ''] ?? DEFAULT_ORDER;\n\n const isRequired = (key: AddressFieldKey | 'country'): boolean =>\n required === true || (Array.isArray(required) && required.includes(key));\n\n const showFindBar = Boolean(apiKey || getSuggestions);\n\n // The composite's own adapter (`address-fields`) is the agent-addressable\n // surface; the child inputs below are deliberately rendered without an\n // `id`, so they register un-scoped rather than competing for handles.\n const fieldNode = (key: AddressFieldKey | 'country'): ReactNode => {\n switch (key) {\n case 'country':\n return (\n <FormField\n label={t('inputs.addressFields.country', 'Country')}\n required={isRequired('country')}\n error={errors?.country}\n announceError={announceErrors?.country ?? true}\n >\n <CountrySelect\n // cmdk names its input itself, so the label is passed too.\n aria-label={t('inputs.addressFields.country', 'Country')}\n value={country}\n // Country drives the rest — re-key province on change.\n onValueChange={(next) =>\n update({ country: next, province: '' })\n }\n popularCountries={popularCountries}\n disabled={disabled}\n />\n </FormField>\n );\n case 'street':\n return (\n <FormField\n label={t('inputs.addressFields.street', 'Street')}\n required={isRequired('street')}\n error={errors?.street}\n announceError={announceErrors?.street ?? true}\n >\n <TextInput\n value={address.street}\n onChange={(event: ChangeEvent<HTMLInputElement>) =>\n update({ street: event.target.value })\n }\n autoComplete=\"address-line1\"\n disabled={disabled}\n />\n </FormField>\n );\n case 'city':\n return (\n <FormField\n label={t('inputs.addressFields.city', 'City')}\n required={isRequired('city')}\n error={errors?.city}\n announceError={announceErrors?.city ?? true}\n >\n <CityInput\n value={address.city}\n onValueChange={(next) => update({ city: next })}\n loadCities={loadCities}\n country={country}\n province={address.province}\n disabled={disabled}\n />\n </FormField>\n );\n case 'postcode':\n return (\n <FormField\n label={t('inputs.addressFields.postcode', 'Postcode')}\n required={isRequired('postcode')}\n error={errors?.postcode}\n announceError={announceErrors?.postcode ?? true}\n >\n <PostalCodeInput\n value={address.postcode}\n onValueChange={(next) => update({ postcode: next })}\n country={country}\n disabled={disabled}\n />\n </FormField>\n );\n case 'province':\n return (\n <FormField\n label={t('inputs.addressFields.province', 'Province')}\n required={isRequired('province')}\n error={errors?.province}\n announceError={announceErrors?.province ?? true}\n >\n <ProvinceSelect\n aria-label={t('inputs.addressFields.province', 'Province')}\n value={address.province}\n onValueChange={(next) => update({ province: next })}\n country={country}\n disabled={disabled}\n />\n </FormField>\n );\n }\n };\n\n const cell = (key: string, node: ReactNode): ReactNode =>\n layout === 'grid' ? (\n <div\n key={key}\n data-address-field={key}\n className={WIDE_CELLS.has(key) ? 'ds:col-span-2' : undefined}\n >\n {node}\n </div>\n ) : (\n <div key={key} data-address-field={key}>\n {node}\n </div>\n );\n\n const children: ReactNode[] = [];\n if (showFindBar) {\n children.push(\n cell(\n 'findbar',\n <FormField label={t('inputs.addressFields.find', 'Find address')}>\n <AddressAutocomplete\n apiKey={apiKey}\n getSuggestions={getSuggestions}\n regionCodes={country ? [country] : undefined}\n disabled={disabled}\n onSelect={handleFind}\n />\n </FormField>,\n ),\n );\n }\n children.push(cell('country', fieldNode('country')));\n for (const key of order) children.push(cell(key, fieldNode(key)));\n\n return (\n <div\n ref={ref}\n data-component=\"address-fields\"\n data-component-id={id}\n className={[layoutVariants({ layout }), className]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </div>\n );\n },\n);\n\nAddressFields.displayName = 'AddressFields';\n"],"names":["ADDRESS_PROPERTIES","addressFieldsAgent","handle","args","EMPTY_ADDRESS","FIELD_ORDER","DEFAULT_ORDER","WIDE_CELLS","layoutVariants","cva","AddressFields","forwardRef","value","onChange","fields","loadCities","popularCountries","apiKey","getSuggestions","layout","required","errors","announceErrors","disabled","id","className","ref","t","useTranslation","address","country","valueRef","useRef","useEffect","update","useCallback","patch","next","handleFind","found","agentHandle","useMemo","field","fieldValue","useAgentRegistration","order","isRequired","key","showFindBar","fieldNode","jsx","FormField","CountrySelect","TextInput","event","CityInput","PostalCodeInput","ProvinceSelect","cell","node","children","AddressAutocomplete"],"mappings":"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"}
1
+ {"version":3,"file":"address-fields-GnoSkvh6.js","sources":["../../src/components/address-fields/address-fields.agent.ts","../../src/components/address-fields/address-fields.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { StructuredAddress } from '../address-autocomplete';\n\nexport interface AddressFieldsHandle {\n getValue: () => StructuredAddress;\n setValue: (value: StructuredAddress) => void;\n setField: (field: keyof StructuredAddress, value: string) => void;\n}\n\nconst ADDRESS_PROPERTIES = {\n street: { type: 'string' },\n city: { type: 'string' },\n postcode: { type: 'string' },\n province: { type: 'string', description: 'UPPERCASED province code.' },\n country: { type: 'string', description: 'ISO alpha-2, lowercased.' },\n formatted: { type: 'string' },\n} as const;\n\nexport const addressFieldsAgent: AgentAdapter<AddressFieldsHandle> = {\n id: 'address-fields',\n // `set_value` only — a structured address form sets discrete fields; it does\n // no granular in-place rich-text editing, so `edit_inline` does not apply.\n capabilities: ['set_value'],\n state: {\n value: {\n type: 'object',\n descriptionKey: 'ui.agent.addressFields.state.value',\n description:\n 'The current structured address: { street, city, postcode, province, country, formatted }.',\n read: (handle) => handle.getValue(),\n },\n },\n actions: {\n set_value: {\n safety: 'write',\n argsType: '{ value: StructuredAddress }',\n argsSchema: {\n type: 'object',\n properties: {\n value: { type: 'object', properties: ADDRESS_PROPERTIES },\n },\n required: ['value'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.addressFields.actions.setValue',\n description: 'Replace the entire address.',\n invoke: (handle, args: { value: StructuredAddress }) => {\n handle.setValue(args.value);\n },\n },\n set_field: {\n // Contact-data write (street/city/postcode/etc.), not clinical PHI —\n // consistent with PhoneInput / EmailInput / FiscalCodeInput, which all\n // treat identifying contact data as `write`.\n safety: 'write',\n argsType:\n \"{ field: 'street' | 'city' | 'postcode' | 'province' | 'country'; value: string }\",\n argsSchema: {\n type: 'object',\n properties: {\n field: {\n type: 'string',\n enum: ['street', 'city', 'postcode', 'province', 'country'],\n },\n value: { type: 'string' },\n },\n required: ['field', 'value'],\n },\n idempotent: true,\n descriptionKey: 'ui.agent.addressFields.actions.setField',\n description:\n 'Set a single address field. Setting `country` also clears the now-stale province.',\n examples: [\n {\n args: { field: 'country', value: 'it' },\n note: 'Set the country to Italy.',\n },\n ],\n invoke: (\n handle,\n args: { field: keyof StructuredAddress; value: string },\n ) => {\n handle.setField(args.field, args.value);\n },\n },\n },\n domHooks: {\n root: { attr: 'data-component', value: 'address-fields' },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n};\n","import {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type ChangeEvent,\n type ReactNode,\n} from 'react';\nimport { cva } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { CountrySelect } from '../country-select/country-select';\nimport { ProvinceSelect } from '../province-select/province-select';\nimport { PostalCodeInput } from '../postal-code-input/postal-code-input';\nimport { CityInput, type CityLoaderContext } from '../city-input/city-input';\nimport { TextInput } from '../text-input';\nimport { FormField } from '../form-field/form-field';\nimport {\n AddressAutocomplete,\n type GetSuggestions,\n type StructuredAddress,\n} from '../address-autocomplete';\nimport type { OptionShape } from '../_shared/option';\nimport { useAgentRegistration } from '../../agent';\nimport {\n addressFieldsAgent,\n type AddressFieldsHandle,\n} from './address-fields.agent';\n\n/* ------------------------------------------------------------------ */\n/* Public API */\n/* */\n/* A shippable composite that wires the address fields together and */\n/* emits a single StructuredAddress. Country drives the rest: it re-keys */\n/* the province dataset, swaps the postcode rule, and re-orders the */\n/* fields. An optional \"find address\" bar fans an AddressAutocomplete */\n/* selection out into the individual fields. */\n/* ------------------------------------------------------------------ */\n\nexport type AddressFieldKey = 'street' | 'city' | 'postcode' | 'province';\n\nconst EMPTY_ADDRESS: StructuredAddress = {\n street: '',\n city: '',\n postcode: '',\n province: '',\n country: '',\n formatted: '',\n};\n\n// Minimal country-keyed field-order map — NOT a libaddressinput port.\n// Extend with another entry when a country needs a different order.\nconst FIELD_ORDER: Record<string, AddressFieldKey[]> = {\n it: ['street', 'postcode', 'city', 'province'],\n};\nconst DEFAULT_ORDER: AddressFieldKey[] = [\n 'street',\n 'city',\n 'postcode',\n 'province',\n];\n\n// Fields that span the full width in the grid layout.\nconst WIDE_CELLS = new Set<string>(['findbar', 'country', 'street']);\n\nconst layoutVariants = cva('', {\n variants: {\n layout: {\n stacked: 'ds:flex ds:flex-col ds:gap-[var(--spacing-md)]',\n grid: 'ds:grid ds:grid-cols-2 ds:gap-[var(--spacing-md)]',\n },\n },\n defaultVariants: { layout: 'stacked' },\n});\n\nexport interface AddressFieldsProps {\n /** The controlled address value. */\n value?: StructuredAddress;\n /** Fires with the next full address on any field change. */\n onChange?: (next: StructuredAddress) => void;\n /**\n * Which address-line fields to render, in order. The country picker\n * always renders first. Default resolves from the selected country.\n */\n fields?: AddressFieldKey[];\n /** Async city suggestion loader, forwarded to CityInput. */\n loadCities?: (\n query: string,\n ctx: CityLoaderContext,\n ) => Promise<OptionShape[]>;\n /** Float these countries to the top of the country picker. */\n popularCountries?: string[];\n /** Enable the \"find address\" bar — provide a Places API key… */\n apiKey?: string;\n /** …or a mock/real suggestion injector (wins over apiKey, like AddressAutocomplete). */\n getSuggestions?: GetSuggestions;\n layout?: 'stacked' | 'grid';\n /** Marks fields as required: `true` for every field shown, or a list\n * of the ones that are (a province is mandatory in some countries\n * only). The host still validates. */\n required?: boolean | readonly (AddressFieldKey | 'country')[];\n /** An error message per field, shown under it. The host validates and\n * decides when to show each one. */\n errors?: Partial<Record<AddressFieldKey | 'country', string>>;\n /** Whether a field's message raises `role=\"alert\"`, per field; each\n * does unless set to `false`. Turn it off for messages shown together,\n * such as by a refused submit, so they are not all announced at once. */\n announceErrors?: Partial<Record<AddressFieldKey | 'country', boolean>>;\n disabled?: boolean;\n id?: string;\n className?: string;\n}\n\nexport const AddressFields = forwardRef<HTMLDivElement, AddressFieldsProps>(\n function AddressFields(\n {\n value,\n onChange,\n fields,\n loadCities,\n popularCountries,\n apiKey,\n getSuggestions,\n layout = 'stacked',\n required,\n errors,\n announceErrors,\n disabled,\n id,\n className,\n },\n ref,\n ) {\n const { t } = useTranslation('ui');\n const address = value ?? EMPTY_ADDRESS;\n const country = address.country;\n\n const valueRef = useRef(address);\n useEffect(() => {\n valueRef.current = address;\n }, [address]);\n\n const update = useCallback(\n (patch: Partial<StructuredAddress>) => {\n /* A browser fills every field in one go, faster than the host\n re-renders: each change must build on the one before it. */\n const next = { ...valueRef.current, ...patch };\n valueRef.current = next;\n onChange?.(next);\n },\n [onChange],\n );\n\n // Find-bar selection fans the looked-up address out into every field.\n const handleFind = useCallback(\n (found: StructuredAddress) =>\n onChange?.({ ...valueRef.current, ...found }),\n [onChange],\n );\n\n const agentHandle = useMemo<AddressFieldsHandle>(\n () => ({\n getValue: () => valueRef.current,\n setValue: (next) => onChange?.(next),\n setField: (field, fieldValue) => {\n const patch: Partial<StructuredAddress> = { [field]: fieldValue };\n // Mirror the UI path: changing country re-keys the stale province.\n if (field === 'country') patch.province = '';\n onChange?.({ ...valueRef.current, ...patch });\n },\n }),\n [onChange],\n );\n useAgentRegistration(addressFieldsAgent, agentHandle, id);\n\n const order =\n fields ?? FIELD_ORDER[country?.toLowerCase() ?? ''] ?? DEFAULT_ORDER;\n\n const isRequired = (key: AddressFieldKey | 'country'): boolean =>\n required === true || (Array.isArray(required) && required.includes(key));\n\n const showFindBar = Boolean(apiKey || getSuggestions);\n\n // The composite's own adapter (`address-fields`) is the agent-addressable\n // surface; the child inputs below are deliberately rendered without an\n // `id`, so they register un-scoped rather than competing for handles.\n const fieldNode = (key: AddressFieldKey | 'country'): ReactNode => {\n switch (key) {\n case 'country':\n return (\n <FormField\n label={t('inputs.addressFields.country', 'Country')}\n required={isRequired('country')}\n error={errors?.country}\n announceError={announceErrors?.country ?? true}\n >\n <CountrySelect\n // cmdk names its input itself, so the label is passed too.\n aria-label={t('inputs.addressFields.country', 'Country')}\n value={country}\n // Country drives the rest — re-key province on change.\n onValueChange={(next) =>\n update({ country: next, province: '' })\n }\n popularCountries={popularCountries}\n disabled={disabled}\n />\n </FormField>\n );\n case 'street':\n return (\n <FormField\n label={t('inputs.addressFields.street', 'Street')}\n required={isRequired('street')}\n error={errors?.street}\n announceError={announceErrors?.street ?? true}\n >\n <TextInput\n value={address.street}\n onChange={(event: ChangeEvent<HTMLInputElement>) =>\n update({ street: event.target.value })\n }\n autoComplete=\"address-line1\"\n disabled={disabled}\n />\n </FormField>\n );\n case 'city':\n return (\n <FormField\n label={t('inputs.addressFields.city', 'City')}\n required={isRequired('city')}\n error={errors?.city}\n announceError={announceErrors?.city ?? true}\n >\n <CityInput\n value={address.city}\n onValueChange={(next) => update({ city: next })}\n loadCities={loadCities}\n country={country}\n province={address.province}\n disabled={disabled}\n />\n </FormField>\n );\n case 'postcode':\n return (\n <FormField\n label={t('inputs.addressFields.postcode', 'Postcode')}\n required={isRequired('postcode')}\n error={errors?.postcode}\n announceError={announceErrors?.postcode ?? true}\n >\n <PostalCodeInput\n value={address.postcode}\n onValueChange={(next) => update({ postcode: next })}\n country={country}\n disabled={disabled}\n />\n </FormField>\n );\n case 'province':\n return (\n <FormField\n label={t('inputs.addressFields.province', 'Province')}\n required={isRequired('province')}\n error={errors?.province}\n announceError={announceErrors?.province ?? true}\n >\n <ProvinceSelect\n aria-label={t('inputs.addressFields.province', 'Province')}\n value={address.province}\n onValueChange={(next) => update({ province: next })}\n country={country}\n disabled={disabled}\n />\n </FormField>\n );\n }\n };\n\n const cell = (key: string, node: ReactNode): ReactNode =>\n layout === 'grid' ? (\n <div\n key={key}\n data-address-field={key}\n className={WIDE_CELLS.has(key) ? 'ds:col-span-2' : undefined}\n >\n {node}\n </div>\n ) : (\n <div key={key} data-address-field={key}>\n {node}\n </div>\n );\n\n const children: ReactNode[] = [];\n if (showFindBar) {\n children.push(\n cell(\n 'findbar',\n <FormField label={t('inputs.addressFields.find', 'Find address')}>\n <AddressAutocomplete\n apiKey={apiKey}\n getSuggestions={getSuggestions}\n regionCodes={country ? [country] : undefined}\n disabled={disabled}\n onSelect={handleFind}\n />\n </FormField>,\n ),\n );\n }\n children.push(cell('country', fieldNode('country')));\n for (const key of order) children.push(cell(key, fieldNode(key)));\n\n return (\n <div\n ref={ref}\n data-component=\"address-fields\"\n data-component-id={id}\n className={[layoutVariants({ layout }), className]\n .filter(Boolean)\n .join(' ')}\n >\n {children}\n </div>\n );\n },\n);\n\nAddressFields.displayName = 'AddressFields';\n"],"names":["ADDRESS_PROPERTIES","addressFieldsAgent","handle","args","EMPTY_ADDRESS","FIELD_ORDER","DEFAULT_ORDER","WIDE_CELLS","layoutVariants","cva","AddressFields","forwardRef","value","onChange","fields","loadCities","popularCountries","apiKey","getSuggestions","layout","required","errors","announceErrors","disabled","id","className","ref","t","useTranslation","address","country","valueRef","useRef","useEffect","update","useCallback","patch","next","handleFind","found","agentHandle","useMemo","field","fieldValue","useAgentRegistration","order","isRequired","key","showFindBar","fieldNode","jsx","FormField","CountrySelect","TextInput","event","CityInput","PostalCodeInput","ProvinceSelect","cell","node","children","AddressAutocomplete"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { I as de } from "./icon-button-S8_weU3g.js";
6
6
  import { C as le } from "./card-BA4Ig_kn.js";
7
7
  import { C as Zt, b as Yt, a as Jt } from "./collapsible-DVPM46bq.js";
8
8
  import { E as Xe } from "./empty-state-DwJ5YNzz.js";
9
- import { F as M } from "./form-field-Ani72sVY.js";
9
+ import { F as M } from "./form-field-CyHfOVKF.js";
10
10
  import { M as ln } from "./multi-select-BOad3za9.js";
11
11
  import { N as ga } from "./number-input-CVwI1ltI.js";
12
12
  import { R as ze } from "./radio-BZQs6_36.js";
@@ -20928,4 +20928,4 @@ export {
20928
20928
  Vi as t,
20929
20929
  ld as u
20930
20930
  };
20931
- //# sourceMappingURL=anamnesis-summary-rows-vNDyE5HW.js.map
20931
+ //# sourceMappingURL=anamnesis-summary-rows-lONg-zja.js.map