@alfadocs/ui-kit 0.70.0 → 0.71.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 (304) hide show
  1. package/dist/_chunks/address-fields-CPbFJ8e8.js +246 -0
  2. package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js → ai-prompt-input-V4DdOeqv.js} +2 -2
  3. package/dist/_chunks/{alia-sidebar-B47qRQb5.js → alia-sidebar-DvIUzIX9.js} +107 -106
  4. package/dist/_chunks/{anatomy-scheme-CJB6dI6p.js → anatomy-scheme-CXSk11UJ.js} +2 -2
  5. package/dist/_chunks/{app-frame-BYx1gcV7.js → app-frame-DIEMIC5V.js} +67 -56
  6. package/dist/_chunks/{appointment-card-C06aZqA7.js → appointment-card-DVaeJNVB.js} +82 -98
  7. package/dist/_chunks/{appointment-timeline-BJM0S_Fg.js → appointment-timeline-PJgnrjFb.js} +159 -157
  8. package/dist/_chunks/{appointment-tray-DRRw5ROi.js → appointment-tray-B16QPGbm.js} +2 -2
  9. package/dist/_chunks/{audio-recorder-Cpdk5qpQ.js → audio-recorder-DNDsOLqO.js} +2 -2
  10. package/dist/_chunks/{autocomplete-DOeGouCL.js → autocomplete-BrONKN8l.js} +168 -146
  11. package/dist/_chunks/{bishop-score-DnYWtZa_.js → bishop-score-Cym_TeQY.js} +2 -2
  12. package/dist/_chunks/{booking-DUBI0oqt.js → booking-C7do4vaR.js} +4 -4
  13. package/dist/_chunks/{button-group-Ciq6J4IW.js → button-group-CvEnVzY7.js} +32 -35
  14. package/dist/_chunks/{care-plan-card-C5sTfY9G.js → care-plan-card-DzPDYgtK.js} +3 -3
  15. package/dist/_chunks/{care-plan-entry-card-CXnxGCWA.js → care-plan-entry-card-CEnQy7YP.js} +3 -3
  16. package/dist/_chunks/care-plan-header-DcXFXWit.js +198 -0
  17. package/dist/_chunks/{chat-message-3V54YipB.js → chat-message-DzpcJR-q.js} +25 -23
  18. package/dist/_chunks/city-input-Dkgaak7I.js +169 -0
  19. package/dist/_chunks/clipboard-list-S7s-MXQq.js +25 -0
  20. package/dist/_chunks/{combobox-Clum7gJ1.js → combobox-DnqSF0IH.js} +131 -114
  21. package/dist/_chunks/connection-status-CY1HV8Wg.js +108 -0
  22. package/dist/_chunks/control-room-rail-FAQZrGVL.js +333 -0
  23. package/dist/_chunks/country-select-BwUZQvTa.js +709 -0
  24. package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js +410 -0
  25. package/dist/_chunks/{entity-card-9_62gY7l.js → entity-card-DmrgYSEX.js} +4 -4
  26. package/dist/_chunks/entity-summary-CaM1Y-xE.js +291 -0
  27. package/dist/_chunks/field-array-siUZzfYe.js +146 -0
  28. package/dist/_chunks/{field-value-NXYczdpO.js → field-value-3jMM0uDx.js} +2 -2
  29. package/dist/_chunks/{gestational-age-calculator-CF2ISaYQ.js → gestational-age-calculator-DKzEV5Qi.js} +2 -2
  30. package/dist/_chunks/iban-input-B0TWzR1R.js +436 -0
  31. package/dist/_chunks/icon-picker-0B7KhrF1.js +272 -0
  32. package/dist/_chunks/image-cropper-D9jqJy19.js +367 -0
  33. package/dist/_chunks/{link-cell-renderer-CTXqtXV-.js → link-cell-renderer-De_SLjSq.js} +262 -261
  34. package/dist/_chunks/list-checks-BUs75d_o.js +18 -0
  35. package/dist/_chunks/{marketplace-app-shell-Skhfp6vK.js → marketplace-app-shell-BGqkywsi.js} +3 -3
  36. package/dist/_chunks/message-card-DsHFFiL1.js +319 -0
  37. package/dist/_chunks/{message-tray-DwrBLJlf.js → message-tray-C0a6CL1_.js} +172 -135
  38. package/dist/_chunks/{multi-select-BdHHDrRN.js → multi-select-WE4S9FIF.js} +75 -63
  39. package/dist/_chunks/nav-grid-9xphY3FM.js +169 -0
  40. package/dist/_chunks/notes-panel-DXiMfuvp.js +320 -0
  41. package/dist/_chunks/notification-card-BMqNzCIt.js +290 -0
  42. package/dist/_chunks/{notification-tray-AEun6DN2.js → notification-tray-BmUlCx3g.js} +201 -166
  43. package/dist/_chunks/{operator-hero-CR0Rqh4-.js → operator-hero-BO8TqzX2.js} +2 -2
  44. package/dist/_chunks/panel-header-D313n_9-.js +105 -0
  45. package/dist/_chunks/{patient-details-Dlhqb5ig.js → patient-details-DgfTJimE.js} +280 -196
  46. package/dist/_chunks/{patient-search-Be6cLrHR.js → patient-search-CSWQKOSP.js} +2 -2
  47. package/dist/_chunks/{patient-shell-DV3XEtIB.js → patient-shell-BMwsIKlW.js} +3 -3
  48. package/dist/_chunks/{patient-summary-card-WySCMwwA.js → patient-summary-card-D4NdgYJB.js} +27 -12
  49. package/dist/_chunks/{patient-table-CHxf3Oqk.js → patient-table-CERknpd8.js} +3 -3
  50. package/dist/_chunks/{payment-request-card-BcZJwu9z.js → payment-request-card-Blf-MFNY.js} +2 -2
  51. package/dist/_chunks/permission-matrix-Bw5oexUt.js +174 -0
  52. package/dist/_chunks/position-grid-CcvqHaKN.js +169 -0
  53. package/dist/_chunks/postal-code-input-UCOYuRY2.js +192 -0
  54. package/dist/_chunks/{practice-results-C6qDfxos.js → practice-results-El5Z-oVp.js} +2 -2
  55. package/dist/_chunks/{pregnancy-dating-CRVWswD-.js → pregnancy-dating-CunHrOpO.js} +2 -2
  56. package/dist/_chunks/{product-hub-panel-e6pW220e.js → product-hub-panel-DtU7KXxm.js} +257 -217
  57. package/dist/_chunks/province-select-D_TZvix3.js +261 -0
  58. package/dist/_chunks/{public-header.agent-DqkqA-ca.js → public-header.agent-TxmC_x1I.js} +2 -2
  59. package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js +553 -0
  60. package/dist/_chunks/reviews-panel-DxkSrgMl.js +559 -0
  61. package/dist/_chunks/rich-text-editor-C8tyGjfb.js +2621 -0
  62. package/dist/_chunks/{scroll-area-5wNK0Cyz.js → scroll-area-BZOvUhwQ.js} +2 -2
  63. package/dist/_chunks/{select-DMLG44F5.js → select-KsyRr8WH.js} +114 -102
  64. package/dist/_chunks/{sheet-BxsE7eQm.js → sheet-umkfZjF6.js} +53 -42
  65. package/dist/_chunks/{sidebar-DY9jGjgt.js → sidebar-QCp9wHNP.js} +125 -113
  66. package/dist/_chunks/{tabs-BxcOziCo.js → tabs-CYZVKKDl.js} +2 -2
  67. package/dist/_chunks/task-card-DCdsI0ZT.js +189 -0
  68. package/dist/_chunks/{task-tray-qOEQflu4.js → task-tray-DNVejijD.js} +2 -2
  69. package/dist/_chunks/tasks-panel-C9odmawT.js +757 -0
  70. package/dist/_chunks/token-insert-menu-CFQqTe_n.js +147 -0
  71. package/dist/_chunks/{ai-tools-rail-B5NEghsp.js → tool-rail-BZx0-yIr.js} +152 -139
  72. package/dist/_chunks/{tooth-scheme-BhQoPNBD.js → tooth-scheme-DJZtzfeY.js} +470 -468
  73. package/dist/_chunks/{transcript-panel-3THQX6nJ.js → transcript-panel-CHGHHHdT.js} +95 -83
  74. package/dist/_chunks/{unit-converter-YEpD9evj.js → unit-converter-CwlZbfdn.js} +2 -2
  75. package/dist/_chunks/{workflow-map-Dy8mLCqF.js → workflow-map-M8MBBHQm.js} +106 -118
  76. package/dist/agent-catalog.json +2062 -226
  77. package/dist/agent-i18n/en.json +206 -8
  78. package/dist/components/_shared/option.d.ts +2 -0
  79. package/dist/components/_shared/patient-fields.d.ts +1 -1
  80. package/dist/components/address-fields/address-fields.agent.d.ts +9 -0
  81. package/dist/components/address-fields/address-fields.d.ts +29 -0
  82. package/dist/components/address-fields/index.d.ts +5 -0
  83. package/dist/components/address-fields/index.js +6 -0
  84. package/dist/components/ai-prompt-input/index.js +1 -1
  85. package/dist/components/anatomy-scheme/index.js +1 -1
  86. package/dist/components/app-frame/app-frame.d.ts +2 -2
  87. package/dist/components/app-frame/index.js +1 -1
  88. package/dist/components/appointment-card/index.js +2 -2
  89. package/dist/components/appointment-timeline/index.js +1 -1
  90. package/dist/components/audio-recorder/index.js +1 -1
  91. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  92. package/dist/components/autocomplete/index.js +1 -1
  93. package/dist/components/bishop-score/index.js +1 -1
  94. package/dist/components/booking/index.js +1 -1
  95. package/dist/components/button-group/index.js +1 -1
  96. package/dist/components/care-plan-card/index.js +1 -1
  97. package/dist/components/care-plan-entry-card/index.js +1 -1
  98. package/dist/components/care-plan-header/care-plan-header.d.ts +16 -5
  99. package/dist/components/care-plan-header/index.js +1 -1
  100. package/dist/components/chat-message/index.js +1 -1
  101. package/dist/components/city-input/city-input.agent.d.ts +8 -0
  102. package/dist/components/city-input/city-input.d.ts +57 -0
  103. package/dist/components/city-input/index.d.ts +5 -0
  104. package/dist/components/city-input/index.js +6 -0
  105. package/dist/components/combobox/combobox.d.ts +17 -0
  106. package/dist/components/combobox/index.js +1 -1
  107. package/dist/components/connection-status/connection-status.agent.d.ts +4 -0
  108. package/dist/components/connection-status/connection-status.d.ts +36 -0
  109. package/dist/components/connection-status/index.d.ts +4 -0
  110. package/dist/components/connection-status/index.js +6 -0
  111. package/dist/components/control-room-rail/control-room-context.d.ts +5 -5
  112. package/dist/components/control-room-rail/control-room-rail.agent.d.ts +4 -0
  113. package/dist/components/control-room-rail/control-room-rail.d.ts +5 -5
  114. package/dist/components/control-room-rail/index.d.ts +1 -0
  115. package/dist/components/control-room-rail/index.js +4 -3
  116. package/dist/components/counter/counter.d.ts +1 -1
  117. package/dist/components/country-select/country-select.agent.d.ts +8 -0
  118. package/dist/components/country-select/country-select.d.ts +51 -0
  119. package/dist/components/country-select/index.d.ts +6 -0
  120. package/dist/components/country-select/index.js +9 -0
  121. package/dist/components/country-select/iso-3166.d.ts +15 -0
  122. package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts +34 -0
  123. package/dist/components/data-table/index.d.ts +2 -0
  124. package/dist/components/data-table/index.js +13 -11
  125. package/dist/components/entity-summary/entity-summary.agent.d.ts +4 -0
  126. package/dist/components/entity-summary/entity-summary.d.ts +53 -4
  127. package/dist/components/entity-summary/index.js +1 -1
  128. package/dist/components/field-array/field-array.agent.d.ts +4 -0
  129. package/dist/components/field-array/field-array.d.ts +45 -0
  130. package/dist/components/field-array/index.d.ts +4 -0
  131. package/dist/components/field-array/index.js +6 -0
  132. package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
  133. package/dist/components/gestational-age-calculator/index.js +1 -1
  134. package/dist/components/iban-input/iban-input.agent.d.ts +4 -0
  135. package/dist/components/iban-input/iban-input.d.ts +51 -0
  136. package/dist/components/iban-input/index.d.ts +5 -0
  137. package/dist/components/iban-input/index.js +13 -0
  138. package/dist/components/iban-input/is-valid-iban.d.ts +31 -0
  139. package/dist/components/icon-picker/icon-picker.agent.d.ts +4 -0
  140. package/dist/components/icon-picker/icon-picker.d.ts +41 -0
  141. package/dist/components/icon-picker/index.d.ts +4 -0
  142. package/dist/components/icon-picker/index.js +6 -0
  143. package/dist/components/image-cropper/crop-geometry.d.ts +30 -0
  144. package/dist/components/image-cropper/image-cropper.agent.d.ts +4 -0
  145. package/dist/components/image-cropper/image-cropper.d.ts +32 -0
  146. package/dist/components/image-cropper/index.d.ts +5 -0
  147. package/dist/components/image-cropper/index.js +11 -0
  148. package/dist/components/index.d.ts +16 -1
  149. package/dist/components/message-card/index.js +1 -1
  150. package/dist/components/message-card/message-card.d.ts +14 -0
  151. package/dist/components/message-tray/index.js +1 -1
  152. package/dist/components/message-tray/message-tray.d.ts +4 -0
  153. package/dist/components/multi-select/index.js +1 -1
  154. package/dist/components/nav-grid/index.d.ts +4 -0
  155. package/dist/components/nav-grid/index.js +7 -0
  156. package/dist/components/nav-grid/nav-grid.agent.d.ts +4 -0
  157. package/dist/components/nav-grid/nav-grid.d.ts +41 -0
  158. package/dist/components/notes-panel/index.js +1 -1
  159. package/dist/components/notes-panel/notes-panel.agent.d.ts +4 -0
  160. package/dist/components/notes-panel/notes-panel.d.ts +30 -0
  161. package/dist/components/notification-card/index.js +1 -1
  162. package/dist/components/notification-card/notification-card.d.ts +15 -0
  163. package/dist/components/notification-tray/index.js +1 -1
  164. package/dist/components/notification-tray/notification-tray.d.ts +4 -0
  165. package/dist/components/operator-hero/index.js +1 -1
  166. package/dist/components/panel-header/index.d.ts +3 -0
  167. package/dist/components/panel-header/index.js +7 -0
  168. package/dist/components/panel-header/panel-header.d.ts +41 -0
  169. package/dist/components/patient-details/index.js +1 -1
  170. package/dist/components/patient-search/index.js +1 -1
  171. package/dist/components/patient-summary-card/index.js +1 -1
  172. package/dist/components/patient-table/index.js +1 -1
  173. package/dist/components/payment-card/index.js +1 -1
  174. package/dist/components/permission-matrix/index.d.ts +4 -0
  175. package/dist/components/permission-matrix/index.js +7 -0
  176. package/dist/components/permission-matrix/permission-matrix.agent.d.ts +4 -0
  177. package/dist/components/permission-matrix/permission-matrix.d.ts +47 -0
  178. package/dist/components/position-grid/index.d.ts +4 -0
  179. package/dist/components/position-grid/index.js +7 -0
  180. package/dist/components/position-grid/position-grid.agent.d.ts +4 -0
  181. package/dist/components/position-grid/position-grid.d.ts +39 -0
  182. package/dist/components/postal-code-input/index.d.ts +5 -0
  183. package/dist/components/postal-code-input/index.js +6 -0
  184. package/dist/components/postal-code-input/postal-code-input.agent.d.ts +8 -0
  185. package/dist/components/postal-code-input/postal-code-input.d.ts +27 -0
  186. package/dist/components/practice-results/index.js +1 -1
  187. package/dist/components/pregnancy-dating/index.js +1 -1
  188. package/dist/components/product-hub-tray/index.js +1 -1
  189. package/dist/components/product-hub-tray/product-hub-tray.d.ts +13 -1
  190. package/dist/components/province-select/index.d.ts +6 -0
  191. package/dist/components/province-select/index.js +7 -0
  192. package/dist/components/province-select/it-provinces.d.ts +8 -0
  193. package/dist/components/province-select/province-select.agent.d.ts +8 -0
  194. package/dist/components/province-select/province-select.d.ts +38 -0
  195. package/dist/components/public-footer/public-footer.d.ts +1 -1
  196. package/dist/components/public-header/index.js +1 -1
  197. package/dist/components/radiograph-panel/index.js +1 -1
  198. package/dist/components/reviews-panel/index.js +1 -1
  199. package/dist/components/rich-text-editor/editor-toolbar.d.ts +17 -0
  200. package/dist/components/rich-text-editor/index.js +1 -1
  201. package/dist/components/scroll-area/index.js +1 -1
  202. package/dist/components/select/index.js +1 -1
  203. package/dist/components/select/select.d.ts +8 -2
  204. package/dist/components/sheet/index.js +1 -1
  205. package/dist/components/sidebar/index.js +1 -1
  206. package/dist/components/skeleton/skeleton.d.ts +1 -1
  207. package/dist/components/tabs/index.js +1 -1
  208. package/dist/components/task-card/index.js +1 -1
  209. package/dist/components/task-card/task-card.d.ts +14 -6
  210. package/dist/components/task-tray/index.js +1 -1
  211. package/dist/components/tasks-panel/index.d.ts +4 -0
  212. package/dist/components/tasks-panel/index.js +6 -0
  213. package/dist/components/tasks-panel/tasks-panel.agent.d.ts +4 -0
  214. package/dist/components/tasks-panel/tasks-panel.d.ts +152 -0
  215. package/dist/components/token-insert-menu/index.d.ts +4 -0
  216. package/dist/components/token-insert-menu/index.js +6 -0
  217. package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts +4 -0
  218. package/dist/components/token-insert-menu/token-insert-menu.d.ts +33 -0
  219. package/dist/components/tool-rail/index.d.ts +4 -0
  220. package/dist/components/tool-rail/index.js +6 -0
  221. package/dist/components/tool-rail/tool-rail.agent.d.ts +4 -0
  222. package/dist/components/{ai-tools-rail/ai-tools-rail.d.ts → tool-rail/tool-rail.d.ts} +29 -12
  223. package/dist/components/tooth-scheme/index.js +1 -1
  224. package/dist/components/tooth-scheme/tooth-scheme.d.ts +9 -0
  225. package/dist/components/transcript-panel/index.js +1 -1
  226. package/dist/components/transcript-panel/transcript-panel.d.ts +2 -2
  227. package/dist/components/unit-converter/index.js +1 -1
  228. package/dist/components/workflow/index.js +1 -1
  229. package/dist/hooks/use-edge-resize.d.ts +2 -2
  230. package/dist/i18n/locales/ar.d.ts +167 -2
  231. package/dist/i18n/locales/ar.js +157 -5
  232. package/dist/i18n/locales/de.d.ts +167 -2
  233. package/dist/i18n/locales/de.js +159 -5
  234. package/dist/i18n/locales/el.d.ts +167 -2
  235. package/dist/i18n/locales/el.js +164 -5
  236. package/dist/i18n/locales/en.d.ts +167 -2
  237. package/dist/i18n/locales/en.js +170 -5
  238. package/dist/i18n/locales/es.d.ts +167 -2
  239. package/dist/i18n/locales/es.js +156 -5
  240. package/dist/i18n/locales/fr.d.ts +167 -2
  241. package/dist/i18n/locales/fr.js +159 -5
  242. package/dist/i18n/locales/hi.d.ts +167 -2
  243. package/dist/i18n/locales/hi.js +155 -5
  244. package/dist/i18n/locales/it.d.ts +167 -2
  245. package/dist/i18n/locales/it.js +159 -5
  246. package/dist/i18n/locales/ja.d.ts +167 -2
  247. package/dist/i18n/locales/ja.js +160 -5
  248. package/dist/i18n/locales/nl.d.ts +167 -2
  249. package/dist/i18n/locales/nl.js +152 -5
  250. package/dist/i18n/locales/pl.d.ts +167 -2
  251. package/dist/i18n/locales/pl.js +160 -5
  252. package/dist/i18n/locales/pt.d.ts +167 -2
  253. package/dist/i18n/locales/pt.js +164 -5
  254. package/dist/i18n/locales/ro.d.ts +167 -2
  255. package/dist/i18n/locales/ro.js +164 -5
  256. package/dist/i18n/locales/ru.d.ts +167 -2
  257. package/dist/i18n/locales/ru.js +157 -5
  258. package/dist/i18n/locales/sq.d.ts +167 -2
  259. package/dist/i18n/locales/sq.js +161 -5
  260. package/dist/i18n/locales/sv.d.ts +167 -2
  261. package/dist/i18n/locales/sv.js +159 -5
  262. package/dist/i18n/locales/tr.d.ts +167 -2
  263. package/dist/i18n/locales/tr.js +157 -5
  264. package/dist/i18n/locales/zh.d.ts +167 -2
  265. package/dist/i18n/locales/zh.js +152 -5
  266. package/dist/index.js +823 -755
  267. package/dist/locales/ar.json +170 -5
  268. package/dist/locales/de.json +170 -5
  269. package/dist/locales/el.json +170 -5
  270. package/dist/locales/en.json +170 -5
  271. package/dist/locales/es.json +170 -5
  272. package/dist/locales/fr.json +170 -5
  273. package/dist/locales/hi.json +170 -5
  274. package/dist/locales/it.json +170 -5
  275. package/dist/locales/ja.json +170 -5
  276. package/dist/locales/nl.json +170 -5
  277. package/dist/locales/pl.json +170 -5
  278. package/dist/locales/pt.json +170 -5
  279. package/dist/locales/ro.json +170 -5
  280. package/dist/locales/ru.json +170 -5
  281. package/dist/locales/sq.json +170 -5
  282. package/dist/locales/sv.json +170 -5
  283. package/dist/locales/tr.json +170 -5
  284. package/dist/locales/zh.json +170 -5
  285. package/dist/patterns/alia-assistant/alia-types.d.ts +9 -0
  286. package/dist/patterns/alia-assistant/index.js +1 -1
  287. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  288. package/dist/patterns/patient-shell/index.js +1 -1
  289. package/dist/tokens.css +9 -1
  290. package/package.json +65 -5
  291. package/dist/_chunks/care-plan-header-BUwqDTtz.js +0 -206
  292. package/dist/_chunks/control-room-rail-Y8ryLYsP.js +0 -229
  293. package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js +0 -328
  294. package/dist/_chunks/entity-summary-BxRjFh_4.js +0 -138
  295. package/dist/_chunks/message-card-Bx4GmLvf.js +0 -277
  296. package/dist/_chunks/notes-panel-ay8_lPrA.js +0 -158
  297. package/dist/_chunks/notification-card-D2jiKSJJ.js +0 -259
  298. package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js +0 -558
  299. package/dist/_chunks/reviews-panel-Dq7LMDcH.js +0 -555
  300. package/dist/_chunks/rich-text-editor-DlCqPixb.js +0 -2158
  301. package/dist/_chunks/task-card-BwY9jaV1.js +0 -124
  302. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +0 -4
  303. package/dist/components/ai-tools-rail/index.d.ts +0 -4
  304. package/dist/components/ai-tools-rail/index.js +0 -6
@@ -0,0 +1,367 @@
1
+ import { jsxs as C, jsx as h } from "react/jsx-runtime";
2
+ import { forwardRef as te, useId as oe, useRef as w, useState as re, useCallback as X, useMemo as ie } from "react";
3
+ import { c as Y } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as se } from "react-i18next";
5
+ import { c as ne } from "./compose-refs-C0k0tdqF.js";
6
+ import { u as ae } from "./registry-DvAUVLHh.js";
7
+ import { B as ce } from "./button-DD_0Xdmr.js";
8
+ import { R as de } from "./rotate-ccw-BWANpitO.js";
9
+ const le = {
10
+ type: "object",
11
+ properties: {
12
+ x: { type: "number", minimum: 0, maximum: 1 },
13
+ y: { type: "number", minimum: 0, maximum: 1 },
14
+ width: { type: "number", minimum: 0, maximum: 1 },
15
+ height: { type: "number", minimum: 0, maximum: 1 }
16
+ },
17
+ required: ["x", "y", "width", "height"]
18
+ }, pe = {
19
+ id: "image-cropper",
20
+ capabilities: ["range_pick"],
21
+ state: {
22
+ crop: {
23
+ type: "object",
24
+ descriptionKey: "ui.agent.imageCropper.state.crop",
25
+ description: "Current crop rectangle in normalised [0,1] coordinates: { x, y, width, height }.",
26
+ read: (o) => o.getCrop()
27
+ }
28
+ },
29
+ actions: {
30
+ set_crop: {
31
+ safety: "write",
32
+ argsType: "{ x: number; y: number; width: number; height: number }",
33
+ argsSchema: le,
34
+ idempotent: !0,
35
+ descriptionKey: "ui.agent.imageCropper.actions.setCrop",
36
+ description: "Set the crop rectangle (normalised [0,1]). Values are clamped to the image bounds and the minimum crop size.",
37
+ invoke: (o, c) => {
38
+ o.setCrop(c);
39
+ }
40
+ },
41
+ reset: {
42
+ safety: "write",
43
+ idempotent: !0,
44
+ descriptionKey: "ui.agent.imageCropper.actions.reset",
45
+ description: "Reset the crop to the centred default for the current aspect.",
46
+ invoke: (o) => {
47
+ o.reset();
48
+ }
49
+ }
50
+ },
51
+ domHooks: {
52
+ root: {
53
+ attr: "data-component",
54
+ value: "image-cropper",
55
+ description: "Marks the ImageCropper wrapper."
56
+ },
57
+ instanceId: {
58
+ attr: "data-component-id",
59
+ sourceProp: "id",
60
+ description: "Sourced from the id prop."
61
+ }
62
+ }
63
+ }, De = (o) => Math.min(1, Math.max(0, o));
64
+ function M(o, c) {
65
+ const n = Math.min(1, Math.max(c, o.width)), s = Math.min(1, Math.max(c, o.height)), d = Math.min(1 - n, Math.max(0, o.x)), y = Math.min(1 - s, Math.max(0, o.y));
66
+ return { x: d, y, width: n, height: s };
67
+ }
68
+ function B(o, c, n, s) {
69
+ if (!c || c <= 0 || n <= 0 || s <= 0) return o;
70
+ const d = o.width * n / c / s;
71
+ return { ...o, height: d };
72
+ }
73
+ function D(o, c, n) {
74
+ const d = B({ x: 0.1, y: 0.1, width: 0.8, height: 0.8 }, o, c, n);
75
+ return M(
76
+ {
77
+ ...d,
78
+ // Re-centre vertically after the aspect coercion.
79
+ y: Math.max(0, (1 - d.height) / 2)
80
+ },
81
+ 0.05
82
+ );
83
+ }
84
+ function ue(o) {
85
+ return {
86
+ x: Math.round(o.x * 100),
87
+ y: Math.round(o.y * 100),
88
+ width: Math.round(o.width * 100),
89
+ height: Math.round(o.height * 100)
90
+ };
91
+ }
92
+ const me = Y(
93
+ ["ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]"].join(" ")
94
+ ), he = Y(
95
+ "ds:relative ds:inline-block ds:max-w-full ds:overflow-hidden ds:rounded-[var(--radius-md)] ds:bg-[var(--muted)] ds:select-none ds:touch-none",
96
+ {
97
+ variants: {
98
+ disabled: {
99
+ true: "ds:opacity-60 ds:pointer-events-none",
100
+ false: ""
101
+ }
102
+ },
103
+ defaultVariants: { disabled: !1 }
104
+ }
105
+ ), fe = "ds:block ds:max-w-full ds:h-auto ds:pointer-events-none", ge = [
106
+ "ds:absolute ds:box-border ds:cursor-move",
107
+ "ds:border-2 ds:border-[color:var(--ring)]",
108
+ "ds:shadow-[var(--shadow-md)]",
109
+ "ds:[inset-inline-start:var(--ic-x)] ds:[inset-block-start:var(--ic-y)]",
110
+ "ds:[inline-size:var(--ic-w)] ds:[block-size:var(--ic-h)]",
111
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
112
+ "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
113
+ ].join(" "), we = "ds:absolute ds:size-[var(--spacing-md)] ds:rounded-full ds:bg-[var(--ring)] ds:border-2 ds:border-[color:var(--background)]", ye = [
114
+ {
115
+ corner: "top-start",
116
+ cls: "ds:[inset-block-start:0] ds:[inset-inline-start:0]"
117
+ },
118
+ {
119
+ corner: "top-end",
120
+ cls: "ds:[inset-block-start:0] ds:[inset-inline-end:0]"
121
+ },
122
+ {
123
+ corner: "bottom-start",
124
+ cls: "ds:[inset-block-end:0] ds:[inset-inline-start:0]"
125
+ },
126
+ {
127
+ corner: "bottom-end",
128
+ cls: "ds:[inset-block-end:0] ds:[inset-inline-end:0]"
129
+ }
130
+ ];
131
+ function be(o, c, n, s) {
132
+ switch (c) {
133
+ case "top-start":
134
+ return {
135
+ x: o.x + n,
136
+ y: o.y + s,
137
+ width: o.width - n,
138
+ height: o.height - s
139
+ };
140
+ case "top-end":
141
+ return {
142
+ x: o.x,
143
+ y: o.y + s,
144
+ width: o.width + n,
145
+ height: o.height - s
146
+ };
147
+ case "bottom-start":
148
+ return {
149
+ x: o.x + n,
150
+ y: o.y,
151
+ width: o.width - n,
152
+ height: o.height + s
153
+ };
154
+ case "bottom-end":
155
+ default:
156
+ return {
157
+ x: o.x,
158
+ y: o.y,
159
+ width: o.width + n,
160
+ height: o.height + s
161
+ };
162
+ }
163
+ }
164
+ const xe = te(
165
+ function({
166
+ src: c,
167
+ alt: n,
168
+ aspect: s,
169
+ value: d,
170
+ defaultValue: y,
171
+ onChange: p,
172
+ minSize: b = 0.1,
173
+ keyboardStep: T = 0.02,
174
+ disabled: u,
175
+ id: H,
176
+ className: S,
177
+ "aria-label": W
178
+ }, E) {
179
+ const { t: x } = se(), $ = oe(), j = `${$}-instructions`, N = `${$}-live`, z = w(null), U = w(null), V = ne(E, U), R = w(null), v = w(null), I = w(!1), m = d !== void 0, [_, A] = re(
180
+ () => M(y ?? D(s, 0, 0), b)
181
+ ), r = m ? M(d, b) : _, f = X(
182
+ (e) => {
183
+ I.current = !0;
184
+ const t = M(e, b);
185
+ m || A(t), p == null || p(t);
186
+ },
187
+ [m, b, p]
188
+ ), g = () => {
189
+ var t;
190
+ const e = (t = z.current) == null ? void 0 : t.getBoundingClientRect();
191
+ return { w: (e == null ? void 0 : e.width) ?? 0, h: (e == null ? void 0 : e.height) ?? 0 };
192
+ }, q = () => {
193
+ if (I.current || m || y) return;
194
+ const { w: e, h: t } = g();
195
+ A(D(s, e, t));
196
+ }, K = (e) => {
197
+ var a;
198
+ v.current = null;
199
+ const t = e.currentTarget;
200
+ (a = t.hasPointerCapture) != null && a.call(t, e.pointerId) && t.releasePointerCapture(e.pointerId);
201
+ }, F = (e) => {
202
+ var l, i;
203
+ if (u) return;
204
+ const { w: t, h: a } = g();
205
+ v.current = {
206
+ mode: "move",
207
+ pointerX: e.clientX,
208
+ pointerY: e.clientY,
209
+ start: r,
210
+ boxW: t,
211
+ boxH: a
212
+ }, (i = (l = e.currentTarget).setPointerCapture) == null || i.call(l, e.pointerId);
213
+ }, G = (e, t) => {
214
+ var i, L;
215
+ if (u) return;
216
+ e.stopPropagation();
217
+ const { w: a, h: l } = g();
218
+ v.current = {
219
+ mode: "resize",
220
+ corner: t,
221
+ pointerX: e.clientX,
222
+ pointerY: e.clientY,
223
+ start: r,
224
+ boxW: a,
225
+ boxH: l
226
+ }, (L = (i = R.current) == null ? void 0 : i.setPointerCapture) == null || L.call(i, e.pointerId);
227
+ }, J = (e) => {
228
+ const t = v.current;
229
+ if (!t || t.boxW <= 0 || t.boxH <= 0) return;
230
+ const a = (e.clientX - t.pointerX) / t.boxW, l = (e.clientY - t.pointerY) / t.boxH;
231
+ if (t.mode === "move")
232
+ f({ ...t.start, x: t.start.x + a, y: t.start.y + l });
233
+ else if (t.corner) {
234
+ const i = be(t.start, t.corner, a, l);
235
+ f(B(i, s, t.boxW, t.boxH));
236
+ }
237
+ }, O = (e) => {
238
+ if (u) return;
239
+ const t = T, { w: a, h: l } = g();
240
+ let i = null;
241
+ e.shiftKey ? (e.key === "ArrowRight" ? i = { ...r, width: r.width + t } : e.key === "ArrowLeft" ? i = { ...r, width: r.width - t } : e.key === "ArrowDown" ? i = { ...r, height: r.height + t } : e.key === "ArrowUp" && (i = { ...r, height: r.height - t }), i && (i = B(i, s, a, l))) : e.key === "ArrowRight" ? i = { ...r, x: r.x + t } : e.key === "ArrowLeft" ? i = { ...r, x: r.x - t } : e.key === "ArrowDown" ? i = { ...r, y: r.y + t } : e.key === "ArrowUp" && (i = { ...r, y: r.y - t }), i && (e.preventDefault(), f(i));
242
+ }, P = X(() => {
243
+ const { w: e, h: t } = g();
244
+ I.current = !1;
245
+ const a = D(s, e, t);
246
+ m || A(a), p == null || p(a);
247
+ }, [s, m, p]), Q = ie(
248
+ () => ({
249
+ getCrop: () => r,
250
+ setCrop: (e) => f(e),
251
+ reset: P,
252
+ focus: () => {
253
+ var e;
254
+ return (e = R.current) == null ? void 0 : e.focus();
255
+ }
256
+ }),
257
+ [r, f, P]
258
+ );
259
+ ae(pe, Q, H);
260
+ const k = ue(r), Z = {
261
+ // Inline style — permitted per 23-constraints §Runtime-computed dimensions
262
+ // (CSS custom-property setters; the position/size rules live in CVA).
263
+ "--ic-x": `${r.x * 100}%`,
264
+ "--ic-y": `${r.y * 100}%`,
265
+ "--ic-w": `${r.width * 100}%`,
266
+ "--ic-h": `${r.height * 100}%`
267
+ }, ee = W ?? x("imageCropper.cropRegion");
268
+ return /* @__PURE__ */ C(
269
+ "div",
270
+ {
271
+ ref: V,
272
+ className: me({ className: S }),
273
+ "data-component": "image-cropper",
274
+ "data-component-id": H,
275
+ children: [
276
+ /* @__PURE__ */ C(
277
+ "div",
278
+ {
279
+ ref: z,
280
+ dir: "ltr",
281
+ className: he({ disabled: !!u }),
282
+ children: [
283
+ /* @__PURE__ */ h(
284
+ "img",
285
+ {
286
+ src: c,
287
+ alt: n,
288
+ className: fe,
289
+ onLoad: q
290
+ }
291
+ ),
292
+ /* @__PURE__ */ h(
293
+ "div",
294
+ {
295
+ ref: R,
296
+ role: "group",
297
+ tabIndex: u ? -1 : 0,
298
+ "aria-label": ee,
299
+ "aria-describedby": j,
300
+ "aria-disabled": u || void 0,
301
+ className: ge,
302
+ style: Z,
303
+ onPointerDown: F,
304
+ onPointerMove: J,
305
+ onPointerUp: K,
306
+ onPointerCancel: K,
307
+ onKeyDown: O,
308
+ children: ye.map(({ corner: e, cls: t }) => /* @__PURE__ */ h(
309
+ "span",
310
+ {
311
+ "aria-hidden": "true",
312
+ className: `${we} ${t}`,
313
+ onPointerDown: (a) => G(a, e)
314
+ },
315
+ e
316
+ ))
317
+ }
318
+ )
319
+ ]
320
+ }
321
+ ),
322
+ /* @__PURE__ */ C("div", { className: "ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
323
+ /* @__PURE__ */ h(
324
+ "p",
325
+ {
326
+ id: j,
327
+ className: "type-body-sm ds:text-muted-foreground",
328
+ children: x("imageCropper.instructions")
329
+ }
330
+ ),
331
+ /* @__PURE__ */ C(
332
+ ce,
333
+ {
334
+ type: "button",
335
+ intent: "outline",
336
+ size: "sm",
337
+ disabled: u,
338
+ onClick: P,
339
+ children: [
340
+ /* @__PURE__ */ h(de, { "aria-hidden": "true", className: "ds:size-4" }),
341
+ x("imageCropper.reset")
342
+ ]
343
+ }
344
+ )
345
+ ] }),
346
+ /* @__PURE__ */ h("p", { id: N, role: "status", "aria-live": "polite", className: "ds:sr-only", children: x("imageCropper.announcement", {
347
+ x: k.x,
348
+ y: k.y,
349
+ width: k.width,
350
+ height: k.height
351
+ }) })
352
+ ]
353
+ }
354
+ );
355
+ }
356
+ );
357
+ xe.displayName = "ImageCropper";
358
+ export {
359
+ xe as I,
360
+ B as a,
361
+ M as b,
362
+ De as c,
363
+ D as d,
364
+ pe as i,
365
+ ue as t
366
+ };
367
+ //# sourceMappingURL=image-cropper-D9jqJy19.js.map