@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,757 @@
1
+ import { jsx as a, jsxs as k, Fragment as ke } from "react/jsx-runtime";
2
+ import { forwardRef as pt, useId as ge, useMemo as V, useState as h, useCallback as f, useRef as O, useImperativeHandle as ut } from "react";
3
+ import { c as ft } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as mt } from "react-i18next";
5
+ import { B as kt } from "./badge-DCOqV9mI.js";
6
+ import { B as ae } from "./button-DD_0Xdmr.js";
7
+ import { I as $ } from "./icon-button-LqoiKcUN.js";
8
+ import { B as he } from "./button-group-CvEnVzY7.js";
9
+ import { P as gt } from "./panel-header-D313n_9-.js";
10
+ import { S as ve } from "./select-KsyRr8WH.js";
11
+ import { S as ht } from "./switch-OILsBLWo.js";
12
+ import { S as vt } from "./skeleton-CZbwyJAA.js";
13
+ import { E as ne } from "./empty-state-BLy7tigq.js";
14
+ import { T as yt } from "./task-card-DCdsI0ZT.js";
15
+ import { u as ye } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
16
+ import { u as bt } from "./registry-DvAUVLHh.js";
17
+ import { P as Pt } from "./plus-CYKNmfuA.js";
18
+ import { L as wt } from "./list-checks-BUs75d_o.js";
19
+ import { S as xt } from "./square-check-big-Jr-0202D.js";
20
+ import { S as St } from "./square-CZoGU14v.js";
21
+ import { P as _t } from "./pencil-CfQX-0Qc.js";
22
+ import { X as Nt } from "./x-CCcI3eJp.js";
23
+ import { c as G } from "./createLucideIcon-CrFbzy84.js";
24
+ /**
25
+ * @license lucide-react v1.8.0 - ISC
26
+ *
27
+ * This source code is licensed under the ISC license.
28
+ * See the LICENSE file in the root directory of this source tree.
29
+ */
30
+ const zt = [
31
+ ["path", { d: "M13.744 17.736a6 6 0 1 1-7.48-7.48", key: "bq4yh3" }],
32
+ ["path", { d: "M15 6h1v4", key: "11y1tn" }],
33
+ ["path", { d: "m6.134 14.768.866-.5 2 3.464", key: "17snzx" }],
34
+ ["circle", { cx: "16", cy: "8", r: "6", key: "14bfc9" }]
35
+ ], Rt = G("coins", zt);
36
+ /**
37
+ * @license lucide-react v1.8.0 - ISC
38
+ *
39
+ * This source code is licensed under the ISC license.
40
+ * See the LICENSE file in the root directory of this source tree.
41
+ */
42
+ const It = [
43
+ ["path", { d: "M10.5 3 8 9l4 13 4-13-2.5-6", key: "b3dvk1" }],
44
+ [
45
+ "path",
46
+ {
47
+ d: "M17 3a2 2 0 0 1 1.6.8l3 4a2 2 0 0 1 .013 2.382l-7.99 10.986a2 2 0 0 1-3.247 0l-7.99-10.986A2 2 0 0 1 2.4 7.8l2.998-3.997A2 2 0 0 1 7 3z",
48
+ key: "7w4byz"
49
+ }
50
+ ],
51
+ ["path", { d: "M2 9h20", key: "16fsjt" }]
52
+ ], Bt = G("gem", It);
53
+ /**
54
+ * @license lucide-react v1.8.0 - ISC
55
+ *
56
+ * This source code is licensed under the ISC license.
57
+ * See the LICENSE file in the root directory of this source tree.
58
+ */
59
+ const Dt = [
60
+ [
61
+ "path",
62
+ {
63
+ d: "M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z",
64
+ key: "q8bfy3"
65
+ }
66
+ ],
67
+ ["path", { d: "M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14", key: "1853fq" }],
68
+ ["path", { d: "M8 6v8", key: "15ugcq" }]
69
+ ], Et = G("megaphone", Dt);
70
+ /**
71
+ * @license lucide-react v1.8.0 - ISC
72
+ *
73
+ * This source code is licensed under the ISC license.
74
+ * See the LICENSE file in the root directory of this source tree.
75
+ */
76
+ const jt = [
77
+ [
78
+ "path",
79
+ {
80
+ d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",
81
+ key: "vktsd0"
82
+ }
83
+ ],
84
+ ["circle", { cx: "7.5", cy: "7.5", r: ".5", fill: "currentColor", key: "kqv944" }]
85
+ ], be = G("tag", jt), qt = {
86
+ id: "tasks-panel",
87
+ // 'pick' backs select_item (non-persisting activation, matching
88
+ // AppointmentTimeline); 'dismiss' backs dismiss; 'scroll' backs
89
+ // jump_to_overdue (re-anchors the viewport); 'filter' backs set_filter (the
90
+ // status / type / assignee / overdue filter bar is genuinely stateful);
91
+ // 'view_change' backs change_scope (the patient ↔ mine segment); 'paginate'
92
+ // backs load_more (append the next page of tasks).
93
+ capabilities: [
94
+ "pick",
95
+ "dismiss",
96
+ "scroll",
97
+ "filter",
98
+ "view_change",
99
+ "paginate"
100
+ ],
101
+ state: {
102
+ items: {
103
+ type: "Array<{ id: string; status: string }>",
104
+ descriptionKey: "ui.agent.tasksPanel.state.items",
105
+ description: "Currently-rendered tasks. Ids + status only — never task note / patient.",
106
+ read: (s) => s.getItems()
107
+ }
108
+ },
109
+ actions: {
110
+ select_item: {
111
+ safety: "read",
112
+ argsType: "{ id: string }",
113
+ argsSchema: {
114
+ type: "object",
115
+ properties: { id: { type: "string" } },
116
+ required: ["id"]
117
+ },
118
+ idempotent: !0,
119
+ descriptionKey: "ui.agent.tasksPanel.actions.selectItem",
120
+ description: "Activate the task with the given id.",
121
+ invoke: (s, o) => {
122
+ s.selectItem(o.id);
123
+ }
124
+ },
125
+ toggle_done: {
126
+ safety: "write",
127
+ argsType: "{ id: string }",
128
+ argsSchema: {
129
+ type: "object",
130
+ properties: { id: { type: "string" } },
131
+ required: ["id"]
132
+ },
133
+ descriptionKey: "ui.agent.tasksPanel.actions.toggleDone",
134
+ description: "Request the host to toggle the done state of a task.",
135
+ invoke: (s, o) => {
136
+ s.toggleDone(o.id);
137
+ }
138
+ },
139
+ dismiss: {
140
+ safety: "destructive",
141
+ argsType: "{ id: string }",
142
+ argsSchema: {
143
+ type: "object",
144
+ properties: { id: { type: "string" } },
145
+ required: ["id"]
146
+ },
147
+ idempotent: !0,
148
+ descriptionKey: "ui.agent.tasksPanel.actions.dismiss",
149
+ description: "Request the host to dismiss / remove the task with the given id.",
150
+ invoke: (s, o) => {
151
+ s.dismiss(o.id);
152
+ }
153
+ },
154
+ jump_to_overdue: {
155
+ safety: "read",
156
+ idempotent: !0,
157
+ descriptionKey: "ui.agent.tasksPanel.actions.jumpToOverdue",
158
+ description: "Re-anchor the panel scroll on the overdue tasks.",
159
+ invoke: (s) => {
160
+ s.jumpToOverdue();
161
+ }
162
+ },
163
+ set_filter: {
164
+ safety: "read",
165
+ argsType: "{ status?: 'todo' | 'done' | 'all'; type?: string | null; assignee?: string | null; overdueOnly?: boolean }",
166
+ argsSchema: {
167
+ type: "object",
168
+ properties: {
169
+ status: { type: "string", enum: ["todo", "done", "all"] },
170
+ type: { type: ["string", "null"] },
171
+ assignee: { type: ["string", "null"] },
172
+ overdueOnly: { type: "boolean" }
173
+ }
174
+ },
175
+ idempotent: !0,
176
+ descriptionKey: "ui.agent.tasksPanel.actions.setFilter",
177
+ description: "Set the task filters (status segment, type, assignee, overdue-only). Omitted keys are left unchanged.",
178
+ invoke: (s, o) => {
179
+ s.setFilter(o);
180
+ }
181
+ },
182
+ change_scope: {
183
+ safety: "read",
184
+ argsType: "{ scope: 'patient' | 'mine' }",
185
+ argsSchema: {
186
+ type: "object",
187
+ properties: { scope: { type: "string", enum: ["patient", "mine"] } },
188
+ required: ["scope"]
189
+ },
190
+ idempotent: !0,
191
+ descriptionKey: "ui.agent.tasksPanel.actions.changeScope",
192
+ description: "Switch the task scope segment between this patient ('patient') and the operator's own tasks ('mine'). The host re-feeds the items.",
193
+ invoke: (s, o) => {
194
+ s.changeScope(o.scope);
195
+ }
196
+ },
197
+ load_more: {
198
+ safety: "read",
199
+ // Requests the host to append the next page — not idempotent (each call
200
+ // advances the page) and reaches the host data source.
201
+ openWorld: !0,
202
+ descriptionKey: "ui.agent.tasksPanel.actions.loadMore",
203
+ description: "Request the host to append the next page of tasks.",
204
+ invoke: (s) => {
205
+ s.loadMore();
206
+ }
207
+ }
208
+ },
209
+ domHooks: {
210
+ root: {
211
+ attr: "data-component",
212
+ value: "tasks-panel",
213
+ description: "Marks the TasksPanel wrapper."
214
+ },
215
+ instanceId: {
216
+ attr: "data-component-id",
217
+ sourceProp: "id",
218
+ description: "Sourced from the id prop. Required to address a specific panel from the agent."
219
+ },
220
+ item: {
221
+ attr: "data-task-id",
222
+ description: "Stable task id emitted on each rendered TaskCard inside the panel."
223
+ }
224
+ }
225
+ }, At = 96, Ht = ft(
226
+ [
227
+ "ds:flex ds:flex-col ds:h-full ds:min-h-0",
228
+ "ds:bg-[color:var(--card)] ds:text-[color:var(--card-foreground)]"
229
+ ].join(" "),
230
+ {
231
+ variants: { size: { xs: "", sm: "", md: "" } },
232
+ defaultVariants: { size: "xs" }
233
+ }
234
+ ), Tt = [
235
+ "ds:flex-1 ds:min-h-0 ds:overflow-y-auto",
236
+ "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
237
+ "ds:px-[var(--spacing-sm)] ds:py-[var(--spacing-xs)]",
238
+ "ds:[--tpl-mask-top:black] ds:[--tpl-mask-bottom:black]",
239
+ "ds:data-[fade-top=true]:[--tpl-mask-top:transparent]",
240
+ "ds:data-[fade-bottom=true]:[--tpl-mask-bottom:transparent]",
241
+ "ds:[mask-image:linear-gradient(to_bottom,var(--tpl-mask-top)_0,black_var(--tpl-fade-distance,var(--spacing-lg)),black_calc(100%-var(--tpl-fade-distance,var(--spacing-lg))),var(--tpl-mask-bottom)_100%)]",
242
+ "ds:motion-reduce:[mask-image:none]",
243
+ "ds:[.theme-accessible_&]:[mask-image:none]",
244
+ "ds:forced-colors:[mask-image:none]",
245
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
246
+ "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:[outline-offset:-2px]",
247
+ "ds:forced-colors:focus-visible:outline-[CanvasText]"
248
+ ].join(" "), Wt = "ds:shadow-[var(--shadow-sm)] ds:bg-[color:var(--card)]", Kt = {
249
+ recall: { variant: "info", Icon: Et },
250
+ payment: { variant: "warning", Icon: Bt },
251
+ collection: { variant: "error", Icon: Rt },
252
+ other: { variant: "neutral", Icon: be }
253
+ }, Mt = [
254
+ "overdue",
255
+ "today",
256
+ "tomorrow",
257
+ "thisWeek",
258
+ "later",
259
+ "done"
260
+ ];
261
+ function Vt(s) {
262
+ return new Date(s.getFullYear(), s.getMonth(), s.getDate());
263
+ }
264
+ function Pe(s) {
265
+ const o = Vt(s), c = new Date(o);
266
+ c.setDate(o.getDate() + 1);
267
+ const p = new Date(o);
268
+ p.setDate(o.getDate() + 2);
269
+ const d = (o.getDay() + 6) % 7, r = new Date(o);
270
+ return r.setDate(o.getDate() + (7 - d)), {
271
+ startOfToday: +o,
272
+ startOfTomorrow: +c,
273
+ startOfDayAfter: +p,
274
+ startOfNextWeek: +r
275
+ };
276
+ }
277
+ function Ot(s, o) {
278
+ if (s.status === "done") return "done";
279
+ const { startOfToday: c, startOfTomorrow: p, startOfDayAfter: d, startOfNextWeek: r } = Pe(o), l = +new Date(s.dueIso);
280
+ return l < c ? "overdue" : l < p ? "today" : l < d ? "tomorrow" : l < r ? "thisWeek" : "later";
281
+ }
282
+ function $t(s, o) {
283
+ return s.status === "done" ? !1 : +new Date(s.dueIso) < Pe(o).startOfTomorrow;
284
+ }
285
+ function Gt(s, o) {
286
+ const c = /* @__PURE__ */ new Map();
287
+ for (const d of s) {
288
+ const r = Ot(d, o), l = c.get(r);
289
+ l ? l.push(d) : c.set(r, [d]);
290
+ }
291
+ const p = [];
292
+ for (const d of Mt) {
293
+ const r = c.get(d);
294
+ !r || r.length === 0 || (r.sort((l, R) => +new Date(l.dueIso) - +new Date(R.dueIso)), p.push({ key: d, items: r }));
295
+ }
296
+ return p;
297
+ }
298
+ const Yt = pt(
299
+ ({
300
+ id: s,
301
+ items: o,
302
+ nowIso: c,
303
+ title: p,
304
+ size: d = "xs",
305
+ onOpenTask: r,
306
+ onToggleDone: l,
307
+ onEditTask: R,
308
+ onDismissTask: v,
309
+ onAddTask: oe,
310
+ readOnly: Y = !1,
311
+ renderItemActions: U,
312
+ scope: C,
313
+ defaultScope: we,
314
+ onScopeChange: I,
315
+ availableScopes: g,
316
+ onLoadMore: u,
317
+ hasMore: xe,
318
+ loadingMore: B = !1,
319
+ loading: X = !1,
320
+ error: P = !1,
321
+ showFilters: re = !0,
322
+ statusFilter: J,
323
+ defaultStatusFilter: Se,
324
+ onStatusFilterChange: D,
325
+ typeOptions: Q,
326
+ typeFilter: E,
327
+ onTypeFilterChange: j,
328
+ assigneeOptions: Z,
329
+ assigneeFilter: q,
330
+ onAssigneeFilterChange: A,
331
+ overdueOnly: L,
332
+ defaultOverdueOnly: _e,
333
+ onOverdueOnlyChange: H,
334
+ emptyTitle: Ne,
335
+ emptyDescription: ze,
336
+ emptyAction: Re,
337
+ className: Ie,
338
+ "aria-label": ie,
339
+ ...Be
340
+ }, De) => {
341
+ const { t: n } = mt(), le = ge(), Ee = ge(), je = p ?? n("tasksPanel.title"), qe = {
342
+ todo: n("tasksPanel.status.todo"),
343
+ done: n("tasksPanel.status.done"),
344
+ all: n("tasksPanel.status.all")
345
+ }, Ae = {
346
+ patient: n("tasksPanel.scope.patient"),
347
+ mine: n("tasksPanel.scope.mine")
348
+ }, He = {
349
+ overdue: n("tasksPanel.buckets.overdue"),
350
+ today: n("tasksPanel.buckets.today"),
351
+ tomorrow: n("tasksPanel.buckets.tomorrow"),
352
+ thisWeek: n("tasksPanel.buckets.thisWeek"),
353
+ later: n("tasksPanel.buckets.later"),
354
+ done: n("tasksPanel.buckets.done")
355
+ }, Te = {
356
+ recall: n("tasksPanel.types.recall"),
357
+ payment: n("tasksPanel.types.payment"),
358
+ collection: n("tasksPanel.types.collection"),
359
+ other: n("tasksPanel.types.other")
360
+ }, T = V(
361
+ () => c ? new Date(c) : /* @__PURE__ */ new Date(),
362
+ [c]
363
+ ), [We, Ke] = h(
364
+ we ?? (g == null ? void 0 : g[0]) ?? "patient"
365
+ ), Me = C ?? We, F = f(
366
+ (e) => {
367
+ C === void 0 && Ke(e), I == null || I(e);
368
+ },
369
+ [C, I]
370
+ ), [Ve, Oe] = h(
371
+ Se ?? "todo"
372
+ ), W = J ?? Ve, w = f(
373
+ (e) => {
374
+ J === void 0 && Oe(e), D == null || D(e);
375
+ },
376
+ [J, D]
377
+ ), [$e, Ge] = h(null), K = E !== void 0 ? E : $e, x = f(
378
+ (e) => {
379
+ E === void 0 && Ge(e), j == null || j(e);
380
+ },
381
+ [E, j]
382
+ ), [Ye, Ue] = h(null), M = q !== void 0 ? q : Ye, S = f(
383
+ (e) => {
384
+ q === void 0 && Ue(e), A == null || A(e);
385
+ },
386
+ [q, A]
387
+ ), [Ce, Xe] = h(
388
+ _e ?? !1
389
+ ), ee = L ?? Ce, _ = f(
390
+ (e) => {
391
+ L === void 0 && Xe(e), H == null || H(e);
392
+ },
393
+ [L, H]
394
+ ), Je = f(() => {
395
+ w("todo"), x(null), S(null), _(!1);
396
+ }, [w, x, S, _]), te = V(() => o.filter((e) => {
397
+ const t = e.status === "done";
398
+ return !(W === "todo" && t || W === "done" && !t || K && e.type !== K || M && (e.assignee ?? "") !== M || ee && !$t(e, T));
399
+ }), [
400
+ o,
401
+ W,
402
+ K,
403
+ M,
404
+ ee,
405
+ T
406
+ ]), ce = V(
407
+ () => Gt(te, T),
408
+ [te, T]
409
+ ), N = O(null), de = O(null), [Qe, Ze] = h(!1), [Le, Fe] = h(!1), y = f(() => {
410
+ const e = N.current;
411
+ if (!e) return;
412
+ const { scrollTop: t, scrollHeight: i, clientHeight: m } = e;
413
+ Ze(t > 1), Fe(t + m < i - 1);
414
+ }, []);
415
+ ye(() => {
416
+ y();
417
+ }, [ce, y]), ye(() => {
418
+ const e = N.current;
419
+ if (!e || typeof ResizeObserver > "u") return;
420
+ const t = new ResizeObserver(y);
421
+ return t.observe(e), () => t.disconnect();
422
+ }, [y]);
423
+ const se = xe ?? !!u, et = f(() => {
424
+ y();
425
+ const e = N.current;
426
+ if (!e) return;
427
+ const { scrollTop: t, scrollHeight: i, clientHeight: m } = e;
428
+ u && se && !B && i - t - m <= At && u();
429
+ }, [y, u, se, B]), pe = f(() => {
430
+ const e = N.current, t = de.current;
431
+ if (!e || !t) {
432
+ e == null || e.scrollTo({ top: 0 });
433
+ return;
434
+ }
435
+ const i = t.getBoundingClientRect().top - e.getBoundingClientRect().top;
436
+ e.scrollTo({ top: e.scrollTop + i });
437
+ }, []), z = O(o);
438
+ z.current = o;
439
+ const ue = O(null);
440
+ ut(De, () => ue.current, []);
441
+ const tt = V(
442
+ () => ({
443
+ getItems: () => z.current.map((e) => ({
444
+ id: e.id,
445
+ status: e.status ?? "open"
446
+ })),
447
+ selectItem: (e) => {
448
+ const t = z.current.find((i) => i.id === e);
449
+ t && (r == null || r(t));
450
+ },
451
+ toggleDone: (e) => {
452
+ const t = z.current.find((i) => i.id === e);
453
+ t && (l == null || l(t));
454
+ },
455
+ dismiss: (e) => {
456
+ const t = z.current.find((i) => i.id === e);
457
+ t && (v == null || v(t));
458
+ },
459
+ jumpToOverdue: pe,
460
+ setFilter: (e) => {
461
+ e.status !== void 0 && w(e.status), e.type !== void 0 && x(e.type), e.assignee !== void 0 && S(e.assignee), e.overdueOnly !== void 0 && _(e.overdueOnly);
462
+ },
463
+ changeScope: F,
464
+ loadMore: () => u == null ? void 0 : u()
465
+ }),
466
+ [
467
+ r,
468
+ l,
469
+ v,
470
+ pe,
471
+ w,
472
+ x,
473
+ S,
474
+ _,
475
+ F,
476
+ u
477
+ ]
478
+ );
479
+ bt(qt, tt, s);
480
+ const st = (e) => {
481
+ if (!e.type) return null;
482
+ const t = Kt[e.type], i = (t == null ? void 0 : t.variant) ?? "neutral", m = (t == null ? void 0 : t.Icon) ?? be, dt = e.typeLabel ?? Te[e.type] ?? e.type;
483
+ return /* @__PURE__ */ a(
484
+ kt,
485
+ {
486
+ variant: i,
487
+ size: "sm",
488
+ leading: /* @__PURE__ */ a(m, { "aria-hidden": "true" }),
489
+ children: dt
490
+ }
491
+ );
492
+ }, at = (e) => {
493
+ if (Y) return null;
494
+ const t = e.status === "done";
495
+ return /* @__PURE__ */ k(ke, { children: [
496
+ l ? /* @__PURE__ */ a(
497
+ $,
498
+ {
499
+ icon: t ? /* @__PURE__ */ a(xt, {}) : /* @__PURE__ */ a(St, {}),
500
+ intent: "ghost",
501
+ size: "sm",
502
+ "aria-label": n(
503
+ t ? "tasksPanel.markNotDone" : "tasksPanel.markDone"
504
+ ),
505
+ onClick: () => l(e)
506
+ }
507
+ ) : null,
508
+ R ? /* @__PURE__ */ a(
509
+ $,
510
+ {
511
+ icon: /* @__PURE__ */ a(_t, {}),
512
+ intent: "ghost",
513
+ size: "sm",
514
+ "aria-label": n("tasksPanel.edit"),
515
+ onClick: () => R(e)
516
+ }
517
+ ) : null,
518
+ v ? /* @__PURE__ */ a(
519
+ $,
520
+ {
521
+ icon: /* @__PURE__ */ a(Nt, {}),
522
+ intent: "ghost",
523
+ size: "sm",
524
+ "aria-label": n("tasksPanel.dismiss"),
525
+ onClick: () => v(e)
526
+ }
527
+ ) : null
528
+ ] });
529
+ }, nt = (e) => {
530
+ const i = (Y ? null : U == null ? void 0 : U(e)) ?? at(e), m = st(e);
531
+ if (!(!m && !i))
532
+ return /* @__PURE__ */ k(ke, { children: [
533
+ m,
534
+ i
535
+ ] });
536
+ }, ot = !X && !P && o.length === 0, rt = !X && !P && o.length > 0 && te.length === 0, fe = (e) => /* @__PURE__ */ a(
537
+ "div",
538
+ {
539
+ "aria-hidden": "true",
540
+ className: "ds:px-[var(--spacing-sm)] ds:py-[var(--spacing-xs)]",
541
+ children: /* @__PURE__ */ a(vt, { variant: "rectangular", height: "3.5rem" })
542
+ },
543
+ e
544
+ );
545
+ let b;
546
+ P ? b = /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-h-0 ds:p-[var(--spacing-md)]", children: typeof P == "boolean" ? /* @__PURE__ */ a(
547
+ ne,
548
+ {
549
+ variant: "error",
550
+ size: "sm",
551
+ title: n("tasksPanel.error.title"),
552
+ description: n("tasksPanel.error.description")
553
+ }
554
+ ) : P }) : X ? b = /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-h-0 ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [0, 1, 2, 3].map((e) => fe(`skeleton-${e}`)) }) : ot ? b = /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-h-0 ds:p-[var(--spacing-md)]", children: /* @__PURE__ */ a(
555
+ ne,
556
+ {
557
+ variant: "first-use",
558
+ size: "sm",
559
+ title: Ne ?? n("tasksPanel.empty.title"),
560
+ description: ze ?? n("tasksPanel.empty.description"),
561
+ primaryAction: Re
562
+ }
563
+ ) }) : rt ? b = /* @__PURE__ */ a("div", { className: "ds:flex-1 ds:min-h-0 ds:p-[var(--spacing-md)]", children: /* @__PURE__ */ a(
564
+ ne,
565
+ {
566
+ variant: "no-results",
567
+ size: "sm",
568
+ title: n("tasksPanel.filteredEmpty.title"),
569
+ description: n("tasksPanel.filteredEmpty.description"),
570
+ primaryAction: {
571
+ label: n("tasksPanel.filteredEmpty.clear"),
572
+ onClick: Je
573
+ }
574
+ }
575
+ ) }) : b = /* @__PURE__ */ k(
576
+ "div",
577
+ {
578
+ ref: N,
579
+ tabIndex: 0,
580
+ onScroll: et,
581
+ "data-fade-top": Qe ? "true" : void 0,
582
+ "data-fade-bottom": Le ? "true" : void 0,
583
+ className: Tt,
584
+ children: [
585
+ /* @__PURE__ */ a("ol", { className: "ds:m-0 ds:flex ds:list-none ds:flex-col ds:gap-[var(--spacing-md)] ds:p-0", children: ce.map((e) => /* @__PURE__ */ k(
586
+ "li",
587
+ {
588
+ className: "ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]",
589
+ children: [
590
+ /* @__PURE__ */ a(
591
+ Ut,
592
+ {
593
+ bucketKey: e.key,
594
+ count: e.items.length,
595
+ label: He[e.key],
596
+ headerRef: e.key === "overdue" ? de : void 0
597
+ }
598
+ ),
599
+ /* @__PURE__ */ a("ul", { className: "ds:m-0 ds:flex ds:list-none ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-0", children: e.items.map((t) => /* @__PURE__ */ a(
600
+ yt,
601
+ {
602
+ item: t,
603
+ size: d,
604
+ onActivate: r ? () => r(t) : void 0,
605
+ actions: nt(t),
606
+ className: Wt,
607
+ "data-task-id": t.id
608
+ },
609
+ t.id
610
+ )) })
611
+ ]
612
+ },
613
+ e.key
614
+ )) }),
615
+ B ? fe("loading-more") : null,
616
+ !B && se && u ? /* @__PURE__ */ a("div", { className: "ds:flex ds:justify-center ds:py-[var(--spacing-sm)]", children: /* @__PURE__ */ a(ae, { intent: "ghost", size: "sm", onClick: u, children: n("tasksPanel.loadMore") }) }) : null
617
+ ]
618
+ }
619
+ );
620
+ const me = ((g == null ? void 0 : g.length) ?? 0) > 1, it = ["todo", "done", "all"], lt = oe && !Y ? /* @__PURE__ */ a(
621
+ $,
622
+ {
623
+ icon: /* @__PURE__ */ a(Pt, {}),
624
+ intent: "outline",
625
+ size: "sm",
626
+ "aria-label": n("tasksPanel.add"),
627
+ onClick: oe
628
+ }
629
+ ) : void 0, ct = me || re ? /* @__PURE__ */ k("div", { className: "ds:flex ds:w-full ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
630
+ me ? /* @__PURE__ */ a(he, { label: n("tasksPanel.scope.label"), children: g.map((e) => {
631
+ const t = Me === e;
632
+ return /* @__PURE__ */ a(
633
+ ae,
634
+ {
635
+ intent: t ? "primary" : "outline",
636
+ size: "sm",
637
+ "aria-pressed": t,
638
+ onClick: () => F(e),
639
+ children: Ae[e]
640
+ },
641
+ e
642
+ );
643
+ }) }) : null,
644
+ re ? /* @__PURE__ */ k("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-sm)]", children: [
645
+ /* @__PURE__ */ a(he, { label: n("tasksPanel.status.label"), children: it.map((e) => {
646
+ const t = W === e;
647
+ return /* @__PURE__ */ a(
648
+ ae,
649
+ {
650
+ intent: t ? "primary" : "outline",
651
+ size: "sm",
652
+ "aria-pressed": t,
653
+ onClick: () => w(e),
654
+ children: qe[e]
655
+ },
656
+ e
657
+ );
658
+ }) }),
659
+ Q && Q.length > 0 ? /* @__PURE__ */ a(
660
+ ve,
661
+ {
662
+ size: "sm",
663
+ clearable: !0,
664
+ "aria-label": n("tasksPanel.type.label"),
665
+ placeholder: n("tasksPanel.type.placeholder"),
666
+ options: Q,
667
+ value: K ?? "",
668
+ onValueChange: (e) => x(e || null)
669
+ }
670
+ ) : null,
671
+ Z && Z.length > 0 ? /* @__PURE__ */ a(
672
+ ve,
673
+ {
674
+ size: "sm",
675
+ clearable: !0,
676
+ "aria-label": n("tasksPanel.assignee.label"),
677
+ placeholder: n("tasksPanel.assignee.placeholder"),
678
+ options: Z,
679
+ value: M ?? "",
680
+ onValueChange: (e) => S(e || null)
681
+ }
682
+ ) : null,
683
+ /* @__PURE__ */ a(
684
+ ht,
685
+ {
686
+ id: Ee,
687
+ size: "sm",
688
+ label: n("tasksPanel.overdueOnly"),
689
+ checked: ee,
690
+ onCheckedChange: _
691
+ }
692
+ )
693
+ ] }) : null
694
+ ] }) : void 0;
695
+ return /* @__PURE__ */ k(
696
+ "section",
697
+ {
698
+ ref: ue,
699
+ "data-component": "tasks-panel",
700
+ "data-component-id": s,
701
+ "aria-labelledby": ie ? void 0 : le,
702
+ "aria-label": ie,
703
+ className: Ht({ size: d, className: Ie }),
704
+ ...Be,
705
+ children: [
706
+ /* @__PURE__ */ a(
707
+ gt,
708
+ {
709
+ title: je,
710
+ icon: /* @__PURE__ */ a(wt, {}),
711
+ headingId: le,
712
+ actions: lt,
713
+ filters: ct
714
+ }
715
+ ),
716
+ b
717
+ ]
718
+ }
719
+ );
720
+ }
721
+ );
722
+ Yt.displayName = "TasksPanel";
723
+ function Ut({
724
+ bucketKey: s,
725
+ count: o,
726
+ label: c,
727
+ headerRef: p
728
+ }) {
729
+ return /* @__PURE__ */ k(
730
+ "div",
731
+ {
732
+ ref: p,
733
+ "data-bucket": s,
734
+ className: [
735
+ "ds:sticky ds:top-0 ds:z-[2] ds:bg-[color:var(--card)] ds:py-[var(--spacing-2xs)]",
736
+ "ds:flex ds:items-center ds:gap-[var(--spacing-2xs)] type-eyebrow",
737
+ s === "overdue" ? "ds:text-[color:var(--destructive)] ds:font-semibold" : s === "today" ? "ds:text-[color:var(--primary)] ds:font-semibold" : "ds:text-[color:var(--muted-foreground)]"
738
+ ].join(" "),
739
+ children: [
740
+ s === "today" ? /* @__PURE__ */ a(
741
+ "span",
742
+ {
743
+ "aria-hidden": "true",
744
+ className: "ds:size-1.5 ds:shrink-0 ds:rounded-[var(--radius-full)] ds:bg-[color:var(--primary)]"
745
+ }
746
+ ) : null,
747
+ c,
748
+ /* @__PURE__ */ a("span", { className: "ds:text-[color:var(--muted-foreground)]", children: `(${o})` })
749
+ ]
750
+ }
751
+ );
752
+ }
753
+ export {
754
+ Yt as T,
755
+ qt as t
756
+ };
757
+ //# sourceMappingURL=tasks-panel-C9odmawT.js.map